summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2014-04-17dra7xx_evm: Add QSPI_4 support, qspiboot build targetTom Rini
We previously only supported QSPI_1 (single) support. Add QSPI_4 (quad) read support as well. This means we can be given one of two boot device values, but don't care which it is, so perform a fixup on the QSPI_4 value. We add a qspiboot build target to better show how you would use QSPI as a boot device in deployment. When we boot from QSPI, we can check the environment for 'boot_os' to control Falcon Mode. Signed-off-by: Sourav Poddar <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2014-04-17am335x_evm: Drop SPI SPL support from the default buildTom Rini
This is only useful with the _spiboot build target anyhow, so only include it then. Drop CONFIG_SPL_OS_BOOT support then as the flash is small and didn't include a spot for the device tree already. Signed-off-by: Tom Rini <[email protected]>
2014-04-17TI:armv7: Change Falcon Mode DT load addressTom Rini
In general, we want to load the DT at base+128MB, so that we ahve sufficient room for the kernel and a larger device tree. In the case of OMAP3, use 64MB instead as we have a number of boards with 128MB DDR. Signed-off-by: Tom Rini <[email protected]>
2014-04-17TI:omap5: Move CONFIG_ENV_SIZE to board config filesTom Rini
The size of the environment depends on the backing store, move this to the board config files. Signed-off-by: Tom Rini <[email protected]>
2014-04-17am43xx_evm: Update the ramdisk args, we pass things in just fine via DTTom Rini
Signed-off-by: Tom Rini <[email protected]>
2014-04-17am335x_evm: Update the ramdisk args, we pass things in just fine via DTTom Rini
Signed-off-by: Tom Rini <[email protected]>
2014-04-17TI: Add, use a DEFAULT_LINUX_BOOT_ENV environment stringTom Rini
To deal with a reoccurring problem properly we need to specify addresses for the Linux kernel, Flatted Device Tree and ramdisk that obey the constraints within the kernel's Documentation/arm/Booting file but also make sure that we relocate things within a valid address range. It is possible with these addresses to also set fdt_high and initrd_high to the value of 0xffffffff. We don't do this by default to allow for the most likely success of people using custom addresses however. Signed-off-by: Tom Rini <[email protected]>
2014-04-17mtd: Add a CONFIG_SPL_MTD_SUPPORT for a more full NAND subsystem in SPLTom Rini
This mainly converts the am335x_spl_bch driver to the "normal" format which means a slight change to nand_info within the driver. Acked-by: Scott Wood <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2014-04-17floppy: delete unused filesMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]>
2014-04-17mtd: delete unused filesMasahiro Yamada
Signed-off-by: Masahiro Yamada <[email protected]> Cc: Scott Wood <[email protected]>
2014-04-17Merge branch 'next'Tom Rini
2014-04-17ARM: tegra: add Jetson TK1 boardStephen Warren
Jetson TK1 is an NVIDIA Tegra124 reference board, which shares much of its design with Venice2. Signed-off-by: Stephen Warren <[email protected]> Signed-off-by: Tom Warren <[email protected]>
2014-04-15RiOTboard and MarSBoard: add new boards supportEric Benard
RiOTboard is produced by Embest/Element 14 and is based on i.MX6 Solo The following features are tested : - UART2 (console) - eMMC - SDCard - uSDCard - Ethernet - USB Host (through 4 ports hub) - HDMI output - I2C 1/2/3 - LVDS TFT with LCD8000-97C from Embest/Element 14 Boot on eMMC and through USB loader are tested. For more informations on this board : http://www.riotboard.org/ MarSBoard is produced by Embest/Element 14 and is based on i.MX6 Dual The following features are tested : - UART2 (console) - eMMC - uSDCard - Ethernet - USB Host (through 2 ports hub) - HDMI output - I2C 1/2 - SPI NOR Flash - LVDS TFT with LCD8000-97C from Embest/Element 14 Boot on SPI NOR and through USB loader are tested. For more informations on this board : http://www.embest-tech.com/shop/star/marsboard.html Both boards are supported by the same code base as they are based on a common trunk of schematics. Signed-off-by: Eric Bénard <[email protected]> Acked-by: Stefano Babic <[email protected]>
2014-04-15mx6sabresd: use common board_video_skipEric Benard
Signed-off-by: Eric Bénard <[email protected]>
2014-04-15nitrogen6x: use common board_video_skipEric Benard
Signed-off-by: Eric Bénard <[email protected]> Acked-by: Eric Nelson <[email protected]>
2014-04-14arm: kzm9g: Add CONFIG_SYS_GENERIC_BOARDTetsuyuki Kobayashi
Add CONFIG_SYS_GENERIC_BOARD to use common/board_[fr].c for kzm9g. Signed-off-by: Tetsuyuki Kobayashi <[email protected]> Acked-by: Heiko Schocher <[email protected]> Signed-off-by: Nobuhiro Iwamatsu <[email protected]>
2014-04-11board:tricorder: fixup SPL OOB layoutAndreas Bießmann
Commit d016dc42cedbf6102e100fa9ecb58462edfb14f8 changed the layout of BCH8 SW on omap3 boards. We need to adopt the ecc layout for the nand_spl_simle driver to avoid wrong ecc errors. Signed-off-by: Andreas Bießmann <[email protected]> Cc: Thomas Weber <[email protected]> Signed-off-by: Andreas Bießmann <[email protected]>
2014-04-11board:tricorder: enable omap_gpio clocksAndreas Bießmann
Signed-off-by: Andreas Bießmann <[email protected]> Cc: Thomas Weber <[email protected]> Signed-off-by: Andreas Bießmann <[email protected]>
2014-04-08Merge branch 'u-boot/master' into 'u-boot-arm/master'Albert ARIBAUD
Conflicts: arch/arm/cpu/arm926ejs/mxs/Makefile include/configs/trats.h include/configs/trats2.h include/mmc.h
2014-04-08arm64 patch: gicv3 supportDavid Feng
This patch add gicv3 support to uboot armv8 platform. Changes for v2: - rename arm/cpu/armv8/gic.S with arm/lib/gic_64.S - move smp_kick_all_cpus() from gic.S to start.S, it would be implementation dependent. - Each core initialize it's own ReDistributor instead of master initializeing all ReDistributors. This is advised by arnab.basu <[email protected]>. Signed-off-by: David Feng <[email protected]>
2014-04-07Merge branch 'u-boot-imx/master' into 'u-boot-arm/master'Albert ARIBAUD
2014-04-07MX6: Enable ARM errata workaround 794072 and 761320Nitin Garg
Since MX6 is Cortex-A9 r2p10, enable software workaround for errata 794072 and 761320. Signed-off-by: Nitin Garg <[email protected]>
2014-04-07socfpga: Adding Clock Manager driverChin Liang See
Clock Manager driver will be called to reconfigure all the clocks setting based on user input. The input are passed to Preloader through handoff files Signed-off-by: Chin Liang See <[email protected]> Cc: Albert Aribaud <[email protected]> Cc: Tom Rini <[email protected]> Cc: Wolfgang Denk <[email protected]> CC: Pavel Machek <[email protected]> Cc: Dinh Nguyen <[email protected]> Acked-by: Pavel Machek <[email protected]>
2014-04-04Merge branch 'master' of git://git.denx.de/u-boot-arm into masterStefano Babic
Conflicts: arch/arm/cpu/arm926ejs/mxs/mxsimage.mx23.cfg arch/arm/cpu/arm926ejs/mxs/mxsimage.mx28.cfg Signed-off-by: Stefano Babic <[email protected]>
2014-04-02trats/trats2: enable CONFIG_RANDOM_UUIDPrzemyslaw Marczak
This change enables automatically uuid generation by command gpt. In case of updating partitions layout user don't need to care about generate uuid manually. Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Minkyu Kang <[email protected]> Cc: Piotr Wilczek <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Lukasz Majewski <[email protected]> Cc: [email protected]
2014-04-02new commands: uuid and guid - generate random unique identifierPrzemyslaw Marczak
Those commands basis on implementation of random UUID generator version 4 which is described in RFC4122. The same algorithm is used for generation both ids but string representation is different as below. char: 0 9 14 19 24 36 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx UUID: be be be be be GUID: le le le be be Commands usage: - uuid [<varname>] - guid [<varname>] The result is saved in environment as a "varname" variable if argument is given, if not then it is printed. New config: - CONFIG_CMD_UUID Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Lukasz Majewski <[email protected]> Cc: [email protected]
2014-04-02lib: uuid: add functions to generate UUID version 4Przemyslaw Marczak
This patch adds support to generate UUID (Universally Unique Identifier) in version 4 based on RFC4122, which is randomly. Source: https://www.ietf.org/rfc/rfc4122.txt Changes: - new configs: - CONFIG_LIB_UUID for compile lib/uuid.c - CONFIG_RANDOM_UUID for functions gen_rand_uuid() and gen_rand_uuid_str() - add configs dependency to include/config_fallbacks.h for lib uuid. lib/uuid.c: - add gen_rand_uuid() - this function writes 16 bytes len binary representation of UUID v4 to the memory at given address. - add gen_rand_uuid_str() - this function writes 37 bytes len hexadecimal ASCII string representation of UUID v4 to the memory at given address. Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Lukasz Majewski <[email protected]> [trini: Add CONFIG_EFI_PARTITION to fallbacks] Signed-off-by: Tom Rini <[email protected]>
2014-04-02lib: uuid: code refactor for proper maintain between uuid bin and stringPrzemyslaw Marczak
Changes in lib/uuid.c to: - uuid_str_to_bin() - uuid_bin_to_str() New parameter is added to specify input/output string format in listed functions This change allows easy recognize which UUID type is or should be stored in given string array. Binary data of UUID and GUID is always stored in big endian, only string representations are different as follows. String byte: 0 36 String char: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx string UUID: be be be be be string GUID: le le le be be This patch also updates functions calls and declarations in a whole code. Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Lukasz Majewski <[email protected]> Cc: [email protected]
2014-04-02part_efi: move uuid<->string conversion functions into lib/uuid.cPrzemyslaw Marczak
This commit introduces cleanup for uuid library. Changes: - move uuid<->string conversion functions into lib/uuid.c so they can be used by code outside part_efi.c. - rename uuid_string() to uuid_bin_to_str() for consistency with existing uuid_str_to_bin() - add an error return code to uuid_str_to_bin() - update existing code to the new library functions. Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Stephen Warren <[email protected]> Cc: Lukasz Majewski <[email protected]> Cc: [email protected]
2014-04-02config:trats2: Change u-boot's TEXT_BASE from 0x78100000 to 0x43e00000Łukasz Majewski
The u-boot's image TEXT_BASE needs to be changed to 0x43e00000 from 0x78100000. This change provides compatibility with other trats2 (RD_PQ) devices (http://download.tizen.org/releases/system/). Signed-off-by: Lukasz Majewski <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2014-04-02mmc: Add 'mmc rst-function' sub-commandTom Rini
Some eMMC chips may need the RST_n_FUNCTION bit set to a non-zero value in order for warm reset of the system to work. Details on this being required will be part of the eMMC datasheet. Also add using this command to the dra7xx README. * Whitespace fix by panto Signed-off-by: Tom Rini <[email protected]> Acked-by: Pantelis Antoniou <[email protected]>
2014-04-02mx6: add example DTB for mx6qsabreautoStefano Babic
Signed-off-by: Stefano Babic <[email protected]> CC: Fabio Estevam <[email protected]>
2014-03-31arm: mx5: Avoid hardcoding memory sizes on M53EVKMarek Vasut
The DRAM size can be easily detected at runtime on i.MX53. Implement such detection on M53EVK and adjust the rest of the macros accordingly to use the detected values. An important thing to note here is that we had to override the function for trimming the effective DRAM address, get_effective_memsize(). That is because the function uses CONFIG_MAX_MEM_MAPPED as the upper bound of the available DRAM and we don't have gd->bd->bi_dram[0].size set up at the time the function is called, thus we cannot put this into the macro CONFIG_MAX_MEM_MAPPED . Instead, we use custom override where we use the size of the first DRAM block which we just detected. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Wolfgang Denk <[email protected]>
2014-03-31arm: mx5: Fix memory slowness on M53EVKMarek Vasut
Fix memory access slowness on i.MX53 M53EVK board. Let us inspect the issue: First of all, the i.MX53 CPU has two memory banks mapped at 0x7000_0000 and 0xb000_0000 and each of those can hold up to 1GiB of DRAM memory. Notice that the memory area is not continuous. On M53EVK, each of the banks contain 512MiB of DRAM, which makes a total of 1GiB of memory available to the system. The problem is how the relocation of U-Boot is treated on i.MX53 . The U-Boot is placed at the ((start of first DRAM partition) + (gd->ram_size)) . This in turn poses a problem, since in our case, the gd->ram_size is 1GiB, the first DRAM bank starts at 0x7000_0000 and contains 512MiB of memory. Thus, with this algorithm, U-Boot is placed at offset: 0x7000_0000 + 1GiB - sizeof(u-boot and some small margin) This is past the DRAM available in the first bank on M53EVK, but is still within the address range of the first DRAM bank. Because of the memory wrap-around, the data can still be read and written to this area, but the access is much slower. There were two ideas how to solve this problem, first was to map both of the available DRAM chunks next to one another by using MMU, second was to define CONFIG_VERY_BIG_RAM and CONFIG_MAX_MEM_MAPPED to size of the memory in the first DRAM bank. We choose the later because it turns out the former is not applicable afterall. The former cannot be used in case Linux kernel was loaded into the second DRAM bank area, which would be remapped and one would try booting the kernel, since at some point before the kernel is started, the MMU would be turned off, which would destroy the mapping and hang the system. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Wolfgang Denk <[email protected]>
2014-03-31arm: mx5: Avoid hardcoding memory sizes on MX53QSBMarek Vasut
The DRAM size can be easily detected at runtime on i.MX53. Implement such detection on MX53QSB and adjust the rest of the macros accordingly to use the detected values. An important thing to note here is that we had to override the function for trimming the effective DRAM address, get_effective_memsize(). That is because the function uses CONFIG_MAX_MEM_MAPPED as the upper bound of the available DRAM and we don't have gd->bd->bi_dram[0].size set up at the time the function is called, thus we cannot put this into the macro CONFIG_MAX_MEM_MAPPED . Instead, we use custom override where we use the size of the first DRAM block which we just detected. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Wolfgang Denk <[email protected]>
2014-03-31arm: mx5: Fix memory slowness on MX53QSBMarek Vasut
Fix memory access slowness on i.MX53 MX53QSB board. Let us inspect the issue: First of all, the i.MX53 CPU has two memory banks mapped at 0x7000_0000 and 0xb000_0000 and each of those can hold up to 1GiB of DRAM memory. Notice that the memory area is not continuous. On MX53QSB, each of the banks contain 512MiB of DRAM, which makes a total of 1GiB of memory available to the system. The problem is how the relocation of U-Boot is treated on i.MX53 . The U-Boot is placed at the ((start of first DRAM partition) + (gd->ram_size)) . This in turn poses a problem, since in our case, the gd->ram_size is 1GiB, the first DRAM bank starts at 0x7000_0000 and contains 512MiB of memory. Thus, with this algorithm, U-Boot is placed at offset: 0x7000_0000 + 1GiB - sizeof(u-boot and some small margin) This is past the DRAM available in the first bank on MX53QSB, but is still within the address range of the first DRAM bank. Because of the memory wrap-around, the data can still be read and written to this area, but the access is much slower. There were two ideas how to solve this problem, first was to map both of the available DRAM chunks next to one another by using MMU, second was to define CONFIG_VERY_BIG_RAM and CONFIG_MAX_MEM_MAPPED to size of the memory in the first DRAM bank. We choose the later because it turns out the former is not applicable afterall. The former cannot be used in case Linux kernel was loaded into the second DRAM bank area, which would be remapped and one would try booting the kernel, since at some point before the kernel is started, the MMU would be turned off, which would destroy the mapping and hang the system. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Wolfgang Denk <[email protected]>
2014-03-31ARM: mx6: Add PCIe on SabreSDPMarek Vasut
Add support for PCIe on MX6 SabreSDP board and enable the support in the config file. Signed-off-by: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Liu Ying <[email protected]>
2014-03-31ARM: mx6: Disable PCIe on SABRE Lite/Nitrogen6xEric Nelson
Use of PCIe on SABRE Lite and Nitrogen6x boards is atypical and requires the use of custom daughter boards. Use in U-Boot is even rarer, so this patch removes it from the standard configuration. Signed-off-by: Eric Nelson <[email protected]> Acked-by: Marek Vasut <[email protected]>
2014-03-31woodburn_sd: Remove CONFIG_BOOT_INTERNALFabio Estevam
CONFIG_BOOT_INTERNAL is not used anywhere, so let's remove it. Signed-off-by: Fabio Estevam <[email protected]> Acked-by: Stefano Babic <[email protected]>
2014-03-31ARM: mxs: Add OCOTP driverMarek Vasut
Add yet another OCOTP driver for this i.MX family. This time, it's a driver for the OCOTP variant found in the i.MX23 and i.MX28. This version of OCOTP is too different from the i.MX6 one that I could not use the mxc_ocotp.c driver without making it into a big pile of #ifdef . This driver implements the regular fuse command interface, but due to the IP blocks' limitation, we support only READ and PROG functions. Signed-off-by: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]>
2014-03-31arm: mxs: Adjust the load address of U-Boot and SPL for HABMarek Vasut
When using HAB, there are additional special requirements on the placement of U-Boot and the U-Boot SPL in memory. To fullfill these, this patch moves the U-Boot binary a little further from the begining of the DRAM, so the HAB CST and IVT can be placed in front of the U-Boot binary. This is necessary, since both the U-Boot and the IVT must be contained in single CST signature. To make things worse, the IVT must be concatenated with one more entry at it's end, that is the length of the entire CST signature, IVT and U-Boot binary in memory. By placing the blocks in this order -- CST, IVT, U-Boot, we can easily align them all and then produce the length field as needed. As for the SPL, on i.MX23/i.MX28, the SPL size is limited to 32 KiB, thus we place the IVT at 0x8000 offset, CST right past IVT and claim the size is correct. The HAB library accepts this setup. Finally, to make sure the vectoring in SPL still works even after moving the SPL from 0x0 to 0x1000, we add a small function which copies the vectoring code and tables to 0x0. This is fine, since the vectoring code is position independent. Signed-off-by: Marek Vasut <[email protected]> Cc: Stefano Babic <[email protected]>
2014-03-31board: enable 32kHz RTC OSC at B&R boardsHannes Petermaier
Since RTC-Clock is needed on all B&R boards, the OSC will be enabled wihtin SPL-stage. Signed-off-by: Hannes Petermaier <[email protected]>
2014-03-28blackfin: mmc: Correct mmc_host_is_spi and bfin_sdh.cTom Rini
In the recent mmc cleanup, the mmc_host_is_spi macro was broken and bfin_sdh.c had mmc->bus_width turned into mmc_bus_width(mmc), both of which were incorrect. Signed-off-by: Tom Rini <[email protected]>
2014-03-28am335x_evm: Drop CONFIG_SPL_ETH_SUPPORT from default buildTom Rini
On the boards this target supports this option is either non possible without hardware mods (Beaglebone White/Black) or not supported due to board design. Drop this and regain some space. Signed-off-by: Tom Rini <[email protected]>
2014-03-28trats/trats2: enable exynos ace sha subsystem and hardware based lib randPrzemyslaw Marczak
This allows to use exynos random number generator by enabling configs: - CONFIG_EXYNOS_ACE_SHA - CONFIG_LIB_HW_RAND Signed-off-by: Przemyslaw Marczak <[email protected]> Acked-by: Lukasz Majewski <[email protected]> cc: Piotr Wilczek <[email protected]> cc: Minkyu Kang <[email protected]>
2014-03-28lib: rand: introduce new configs: CONFIG_LIB_RAND and CONFIG_LIB_HW_RANDPrzemyslaw Marczak
New configs: - CONFIG_LIB_RAND - to enable implementation of rand library in lib/rand.c - CONFIG_LIB_HW_RAND - to enable hardware based implementations of lib rand Other changes: - add CONFIG_LIB_RAND to boards configs which needs rand() - put only one rand.o dependency in lib/Makefile CONFIG_LIB_HW_RAND should be defined for drivers which implements rand library (declared in include/common.h): - void srand(unsigned int seed) - unsigned int rand(void) - unsigned int rand_r(unsigned int *seedp) Signed-off-by: Przemyslaw Marczak <[email protected]> Cc: Michael Walle <[email protected]> Cc: Tom Rini <[email protected]> Cc: Masahiro Yamada <[email protected]>
2014-03-28Merge branch 'master' of git://git.denx.de/u-boot-mmcTom Rini
2014-03-28Merge branch 'master' of git://git.denx.de/u-boot-usbTom Rini
2014-03-25Merge branch 'u-boot/master' into 'u-boot-arm/master'Albert ARIBAUD
Trivial merge conflict, needed to manually remove local_info as per commit 41364f0f. Conflicts: board/samsung/common/board.c
2014-03-24mmc: Split mmc struct, rework mmc initialization (v2)Pantelis Antoniou
The way that struct mmc was implemented was a bit of a mess; configuration and internal state all jumbled up in a single structure. On top of that the way initialization is done with mmc_register leads to a lot of duplicated code in drivers. Typically the initialization got something like this in every driver. struct mmc *mmc = malloc(sizeof(struct mmc)); memset(mmc, 0, sizeof(struct mmc); /* fill in fields of mmc struct */ /* store private data pointer */ mmc_register(mmc); By using the new mmc_create call one just passes an mmc config struct and an optional private data pointer like this: struct mmc = mmc_create(&cfg, priv); All in tree drivers have been updated to the new form, and expect mmc_register to go away before long. Changes since v1: * Use calloc instead of manually calling memset. * Mark mmc_register as deprecated. Signed-off-by: Pantelis Antoniou <[email protected]>