summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2014-01-14lzma: fix buffer bound check errorAntonios Vamporakis
Variable uncompressedSize references the space available, while outSizeFull is the actual expected uncompressed size. Using the wrong value causes LzmaDecode to return SZ_ERROR_INPUT_EOF. Problem was introduced in commit afca294. While at it add additional debug message. Signed-off-by: Antonios Vamporakis <[email protected]> CC: Kees Cook <[email protected]> CC: Simon Glass <[email protected]> CC: Daniel Schwierzeck <[email protected]> CC: Luka Perkov <[email protected]>
2014-01-08Add crc8 routineSimon Glass
Add an implementation of the CRC8 algorithm. This is required by the TPM emulation, but is probably useful to U-Boot in general. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2013-12-13time: fix usec_to_tick()Stephen Warren
Commit 8dfafdde88eb ("Introduce common timer functions") created a common definition of usec_to_tick() which had a couple problems: static unsigned long long usec_to_tick(unsigned long usec) { uint64_t tick = usec * get_tbclk(); That likely overflows. usec *= get_tbclk(); That was an attempt to fix it by performing the multiply after the promotion of usec to 64-bit, but was applied to the wrong variable, which was never used. This patch fixes these issues. A user-visible symptom of the problem was the e.g. "dhcp zImage" using an ASIX USB Ethernet dongle would print: Waiting for Ethernet connection... unable to connect. ... with no delay before "unable to connect". There are likely other symptoms. Signed-off-by: Stephen Warren <[email protected]> Acked-by: Rob Herring <[email protected]>
2013-11-25Merge branch 'sandbox1' of http://git.denx.de/u-boot-x86Tom Rini
2013-11-25Makefile: move some libraries to lib/MakefileMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]>
2013-11-21sandbox: Correct data sizes and printf() strings in fdtdec.cSimon Glass
There are a few wwrnings in this file when building for sandbox. Addresses coming from the device tree need to be treated as ulong as elsewhere in U-Boot and we must use map_sysmem() to convert to a pointer when needed. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Hung-ying Tyan <[email protected]>
2013-11-17lib: descend into sub directories only when it is necessaryMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]>
2013-11-11time: fix gcc warnings on MIPS64Daniel Schwierzeck
Commit 8dfafdde88eb3e71d5569846396ae67a91017232 introduced new gcc warnings on MIPS64: time.c: In function 'tick_to_time': time.c:59:2: warning: comparison of distinct pointer types lacks a cast [enabled by default] time.c:59:2: warning: passing argument 1 of '__div64_32' from incompatible pointer type [enabled by default] In file included from time.c:10:0: ./u-boot-mips/include/div64.h:22:17: note: expected 'uint64_t *' but argument is of type 'long long unsigned int *' time.c: In function 'usec_to_tick': time.c:76:2: warning: comparison of distinct pointer types lacks a cast [enabled by default] time.c:76:2: warning: passing argument 1 of '__div64_32' from incompatible pointer type [enabled by default] In file included from time.c:10:0: ./u-boot-mips/include/div64.h:22:17: note: expected 'uint64_t *' but argument is of type 'long long unsigned int *' Signed-off-by: Daniel Schwierzeck <[email protected]>
2013-11-08time: add weak annotation to timer_read_counter declarationRob Herring
A weak annotation is needed in order to prevent link errors when get_ticks is overridden. This fixes sandbox build. Signed-off-by: Rob Herring <[email protected]>
2013-11-08env: fix the env export varnamePierre Aubert
The env export command doesn't export the first variable of the list since commit 5a31ea04c9ee5544fbb70ad7597ea4b294840eab "env grep" - reimplement command using hexport_r() Signed-off-by: Pierre Aubert <[email protected]>
2013-11-04Introduce common timer functionsRob Herring
Many platforms duplicate pretty much the same timer code yet they all have a 32-bit freerunning counter register. Create a common implementation that minimally requires 2 or 3 defines to add timer support: CONFIG_SYS_TIMER_RATE - Clock rate of the timer counter CONFIG_SYS_TIMER_COUNTER - Address of 32-bit counter CONFIG_SYS_TIMER_COUNTS_DOWN - Define if counter counts down All functions are weak or ifdef'ed so they can still be overriden by any platform. Signed-off-by: Rob Herring <[email protected]>
2013-11-04config: consolidate CONFIG_SYS_HZ definitionRob Herring
According to the README, CONFIG_SYS_HZ must be 1000 and most platforms follow that. In preparation to remove CONFIG_SYS_HZ from all these platforms, provide a common definition. The platforms which use a value other than 1000 will get build warning now. These configs are: include/configs/M5271EVB.h:#define CONFIG_SYS_HZ 1000000 include/configs/balloon3.h:#define CONFIG_SYS_HZ 3250000 /* Timer @ 3250000 Hz */ include/configs/idmr.h:#define CONFIG_SYS_HZ (50000000 / 64) include/configs/mini2440.h:#define CONFIG_SYS_HZ 1562500 include/configs/mx1ads.h:#define CONFIG_SYS_HZ 3686400 include/configs/omap3_zoom2.h:#define CONFIG_SYS_HZ ((V_SCLK) / (2 << CONFIG_SYS_PTV)) include/configs/omap730p2.h:#define CONFIG_SYS_HZ ((CONFIG_SYS_CLK_FREQ)/(2 << CONFIG_SYS_PTV)) include/configs/palmld.h:#define CONFIG_SYS_HZ 3250000 /* Timer @ 3250000 Hz */ include/configs/palmtc.h:#define CONFIG_SYS_HZ 3686400 /* Timer @ 3686400 Hz */ include/configs/rsk7203.h:#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / CMT_CLK_DIVIDER) include/configs/rsk7264.h:#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / CMT_CLK_DIVIDER) include/configs/rsk7269.h:#define CONFIG_SYS_HZ (CONFIG_SYS_CLK_FREQ / CMT_CLK_DIVIDER) include/configs/scb9328.h:#define CONFIG_SYS_HZ 3686400 /* incrementer freq: 3.6864 MHz */ include/configs/versatile.h:#define CONFIG_SYS_HZ (1000000 / 256) include/configs/zipitz2.h:#define CONFIG_SYS_HZ 3250000 /* Timer @ 3250000 Hz */ Signed-off-by: Rob Herring <[email protected]>
2013-10-31lib: convert makefiles to Kbuild styleMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]>
2013-10-20exynos5: dts: Add COMPAT string data for USB 3.0 PHY and XHCIVivek Gautam
Adding required compatible string for xHCI host controller as well as USB 3.0 PHY to enable dt support for usb 3.0 on exynos5. Signed-off-by: Vivek Gautam <[email protected]> Cc: Julius Werner <[email protected]> Cc: Simon Glass <[email protected]> Cc: Minkyu Kang <[email protected]> Cc: Dan Murphy <[email protected]> Cc: Marek Vasut <[email protected]>
2013-10-14Coding Style cleanup: remove trailing empty linesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]>
2013-10-14Coding Style cleanup: remove trailing white spaceWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]>
2013-09-20Cosmetic: Fix a number of typos, no functional changes.Robert P. J. Day
Fix various misspellings of things like "environment", "kernel", "default" and "volatile", and throw in a couple grammar fixes. Signed-off-by: Robert P. J. Day <[email protected]>
2013-09-03lzo: correctly bounds-check output bufferKees Cook
This checks the size of the output buffer and fails if it was going to overflow the buffer during lzo decompression. Signed-off-by: Kees Cook <[email protected]> Acked-by: Simon Glass <[email protected]>
2013-09-03lzma: correctly bounds-check output bufferKees Cook
The output buffer size must be correctly passed to the lzma decoder or there is a risk of overflowing memory during decompression. Switching to the LZMA_FINISH_END mode means nothing is left in an unknown state once the buffer becomes full. Signed-off-by: Kees Cook <[email protected]> Acked-by: Simon Glass <[email protected]>
2013-09-03gzip: correctly bounds-check output bufferKees Cook
The output buffer size must not be reset by the gzip decoder or there is a risk of overflowing memory during decompression. Signed-off-by: Kees Cook <[email protected]> Acked-by: Simon Glass <[email protected]>
2013-08-10libfdt: SPDX-License-Identifier: GPL-2.0+ BSD-2-ClauseRoger Meier
Signed-off-by: Roger Meier <[email protected]> Acked-by: Wolfgang Denk <[email protected]>
2013-07-24Merge branch 'master' of git://git.denx.de/u-boot-i2cTom Rini
The sandburst-specific i2c drivers have been deleted, conflict was just over the SPDX conversion. Conflicts: board/sandburst/common/ppc440gx_i2c.c board/sandburst/common/ppc440gx_i2c.h Signed-off-by: Tom Rini <[email protected]>
2013-07-24Add eCos-2.0 SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]>
2013-07-24Add LGPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]>
2013-07-24Add LGPL-2.1+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]>
2013-07-24Add GPL-2.0+ SPDX-License-Identifier to source filesWolfgang Denk
Signed-off-by: Wolfgang Denk <[email protected]> [trini: Fixup common/cmd_io.c] Signed-off-by: Tom Rini <[email protected]>
2013-07-23fdtdec: Add compatible string for High speed i2cnaveen krishna chatradhi
Adds a new COMPAT string exynos5-hsi2c for high speed i2c controller available on exynos5 SoCs from Samsung. Signed-off-by: Naveen Krishna Chatradhi <[email protected]>
2013-07-16tpm: add AUTH1 cmds for LoadKey2 and GetPubKeyReinhard Pfau
Extend the tpm library with support for single authorized (AUTH1) commands as specified in the TCG Main Specification 1.2. (The internally used helper functions are implemented in a way that they could also be used for double authorized commands if someone needs it.) Provide enums with the return codes from the TCG Main specification. For now only a single OIAP session is supported. OIAP authorized version of the commands TPM_LoadKey2 and TPM_GetPubKey are provided. Both features are available using the 'tpm' command, too. Authorized commands are enabled with CONFIG_TPM_AUTH_SESSIONS. (Note that this also requires CONFIG_SHA1 to be enabled.) Signed-off-by: Reinhard Pfau <[email protected]> Signed-off-by: Dirk Eibach <[email protected]> Acked-by: Che-Liang Chiou <[email protected]> Signed-off-by: Andy Fleming <[email protected]>
2013-07-12Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini
Fix a trivial conflict in arch/arm/dts/exynos5250.dtsi about gpio and serial. Conflicts: arch/arm/dts/exynos5250.dtsi Signed-off-by: Tom Rini <[email protected]>
2013-07-11ARM: Tegra: USB: EHCI: Add support for Tegra30/Tegra114Jim Lin
Tegra30 and Tegra114 are compatible except PLL parameters. Tested on Tegra30 Cardhu, and Tegra114 Dalmore platforms. All works well. Signed-off-by: Jim Lin <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2013-07-03lib/rsa/rsa-sig.c: compile on OS XAndreas Bießmann
Interfaces exposed by error.h seems not to be used in rsa-sig.c, remove it. This also fixes an compile error on OS X: ---8<--- u-boot/lib/rsa/rsa-sign.c:23:19: error: error.h: No such file or directory --->8--- Signed-off-by: Andreas Bießmann <[email protected]> Acked-by: Jeroen Hofstee <[email protected]> Tested-by: Lubomir Popov <[email protected]>
2013-06-26libfdt: Add fdt_find_regions()Simon Glass
Add a function to find regions in device tree given a list of nodes to include and properties to exclude. See the header file for full documentation. Signed-off-by: Simon Glass <[email protected]>
2013-06-26image: Add RSA support for image signingSimon Glass
RSA provides a public key encryption facility which is ideal for image signing and verification. Images are signed using a private key by mkimage. Then at run-time, the images are verified using a private key. This implementation uses openssl for the host part (mkimage). To avoid bringing large libraries into the U-Boot binary, the RSA public key is encoded using a simple numeric representation in the device tree. Signed-off-by: Simon Glass <[email protected]>
2013-06-26Add trace librarySimon Glass
Add a library which supports tracing of execution using built-in gcc features and a microsecond timer. This can be used to record a list of function which are executed, along with a timestamp for each. Later this information can be sent to the host for processing. Signed-off-by: Simon Glass <[email protected]>
2013-06-26Add function to print a number with grouped digitsSimon Glass
Move bootstage's numbering printing code into a generic place so that it can be used by tracing also. Signed-off-by: Simon Glass <[email protected]>
2013-06-26cros: adds cros_ec keyboard driverHung-ying Tyan
This patch adds the driver for keyboard that's controlled by ChromeOS EC. Signed-off-by: Randall Spangler <[email protected]> Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Vincent Palatin <[email protected]> Signed-off-by: Hung-ying Tyan <[email protected]> Acked-by: Simon Glass <[email protected]>
2013-06-26cros: add cros_ec driverHung-ying Tyan
This patch adds the cros_ec driver that implements the protocol for communicating with Google's ChromeOS embedded controller. Signed-off-by: Bernie Thompson <[email protected]> Signed-off-by: Bill Richardson <[email protected]> Signed-off-by: Che-Liang Chiou <[email protected]> Signed-off-by: Doug Anderson <[email protected]> Signed-off-by: Gabe Black <[email protected]> Signed-off-by: Hung-ying Tyan <[email protected]> Signed-off-by: Louis Yung-Chieh Lo <[email protected]> Signed-off-by: Randall Spangler <[email protected]> Signed-off-by: Sean Paul <[email protected]> Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Vincent Palatin <[email protected]> Acked-by: Simon Glass <[email protected]> Tested-by: Simon Glass <[email protected]>
2013-06-24EXYNOS5: FDT: Add compatible strings for SerialRajeshwari Shinde
Add required compatible information for s5p serial driver Signed-off-by: Abhilash Kesavan <[email protected]> Signed-off-by: Rajeshwari Shinde <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2013-06-22Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini
2013-06-20Makefile: move the common makefile line to public areaYing Zhang
Move the common makefile line shared by the SPL and non-SPL to the public area, so that we can avoid excessive SPL symbols. Some of them will be used by the SPL later. This patch is on top of the patch "common/Makefile: Add new symbol CONFIG_SPL_ENV_SUPPORT for environment in SPL". Signed-off-by: Ying Zhang <[email protected]> Acked-by: Tom Rini <[email protected]> Acked-by: Tom Rini <[email protected]> Signed-off-by: Andy Fleming <[email protected]>
2013-06-19Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'Albert ARIBAUD
Conflicts: spl/Makefile
2013-06-13FDT: Add compatible string for DWMMCAmar
Add required compatible information for DWMMC driver. Signed-off-by: Vivek Gautam <[email protected]> Signed-off-by: Amar <[email protected]> Acked-by: Jaehoon Chung <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2013-06-03tpm: Add support for new Infineon I2C TPM (SLB 9645 TT 1.2 I2C)Vincent Palatin
Add support for Infineon's new SLB 9645 TT 1.2 I2C TPMs, which supports clockstretching, combined reads and a bus speed of up to 400khz. The device also has a new device id. This is based on the kernel patch provided by Infineon : https://gerrit.chromium.org/gerrit/42332 Signed-off-by: Vincent Palatin <[email protected]> Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Luigi Semenzato <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Vincent Palatin <[email protected]> Tested-by: Tom Wai-Hong Tam <[email protected]> Tested-by: Vincent Palatin <[email protected]>
2013-05-31Merge branch 'master' of git://git.denx.de/u-boot-nand-flashTom Rini
2013-05-31mtd: resync with Linux-3.7.1Sergey Lapin
This patch is essentially an update of u-boot MTD subsystem to the state of Linux-3.7.1 with exclusion of some bits: - the update is concentrated on NAND, no onenand or CFI/NOR/SPI flashes interfaces are updated EXCEPT for API changes. - new large NAND chips support is there, though some updates have got in Linux-3.8.-rc1, (which will follow on top of this patch). To produce this update I used tag v3.7.1 of linux-stable repository. The update was made using application of relevant patches, with changes relevant to U-Boot-only stuff sticked together to keep bisectability. Then all changes were grouped together to this patch. Signed-off-by: Sergey Lapin <[email protected]> [[email protected]: some eccstrength and build fixes] Signed-off-by: Scott Wood <[email protected]>
2013-05-30Merge branch 'u-boot/master' into 'u-boot-arm/master'Albert ARIBAUD
Conflicts: common/cmd_fpga.c drivers/usb/host/ohci-at91.c
2013-05-14libfdt: Add fdt_next_subnode() to permit easy subnode iterationSimon Glass
Iterating through subnodes with libfdt is a little painful to write as we need something like this: for (depth = 0, count = 0, offset = fdt_next_node(fdt, parent_offset, &depth); (offset >= 0) && (depth > 0); offset = fdt_next_node(fdt, offset, &depth)) { if (depth == 1) { /* code body */ } } Using fdt_next_subnode() we can instead write this, which is shorter and easier to get right: for (offset = fdt_first_subnode(fdt, parent_offset); offset >= 0; offset = fdt_next_subnode(fdt, offset)) { /* code body */ } Also, it doesn't require two levels of indentation for the loop body. Signed-off-by: Simon Glass <[email protected]> (Cherry-picked from dtc commit 4e76ec79) Acked-by: Gerald Van Baren <[email protected]>
2013-05-10Export fdt_stringlist_contains()Simon Glass
This function is useful outside libfdt, so export it. Ref: DTC commit b7aa300e Signed-off-by: Simon Glass <[email protected]> Acked-by: David Gibson <[email protected]>
2013-05-09env: throw an error when an empty key is usedLucian Cojocar
If the environment contains an entry like "=value" "\0" we should throw an error when parsing the environment. Otherwise, U-Boot will enter in an infinite loop. Signed-off-by: Lucian Cojocar <[email protected]>
2013-05-05lib: import bitrev library from the linux kernelMike Dunn
This patch adds the bitrev library from the linux kernel. This is a simple algorithm that uses an 8 bit look-up table to reverse the bits in data types of 8, 16, or 32 bit widths. The docg4 nand flash driver uses it. [port from linux kernel v3.9 commit 7ee32a6d30d1c8a3b7a07a6269da8f0a08662927] [originally added: v2.6.20 by commit a5cfc1ec58a07074dacb6aa8c79eff864c966d12] Signed-off-by: Mike Dunn <[email protected]>