summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* ARM: uniphier: move SBC and Support Card init code to U-Boot properMasahiro Yamada2017-01-18-27/+19
| | | | | | | | | | | | | | | Initialize SBC and Support Card in U-Boot proper instead of SPL. We may run different firmware (ex. ARM Trusted Firmware) before U-Boot, and basic SoC initialization may be done there. In that case, SPL may not be used. The motivation for preparing SBC and Support Card in SPL was to use LED for early debugging, but this is not mandatory to boot SoCs. With this commit, LED will be unavailable in SPL, but we can use a debug serial instead. So, this change will not be a big deal. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: uniphier: refactor spl_init_board()Masahiro Yamada2017-01-18-508/+250
| | | | | | | Merge init-*.c into a single file using a table of callbacks because the initialization flow is almost common among SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: uniphier: refactor board_init()Masahiro Yamada2017-01-18-95/+141
| | | | | | | The code here is cluttered due to the switch statement. Introduce a table of callbacks to clean up the initialization code across SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: uniphier: make BCU init into void functionMasahiro Yamada2017-01-17-10/+10
| | | | | | These functions never fail, so no need to return a value. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: uniphier: refactor Support Card init codeMasahiro Yamada2017-01-17-28/+8
| | | | | | | | | | | Splitting reset assertion (support_card_reset) and deassertion (support_card_init) is not adding much value any more. Handle all the initialization of Support Card in support_card_init(), then remove support_card_reset(). Also, detect_num_flash_banks() can have a static qualifier. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: uniphier: refactor SBC init codeMasahiro Yamada2017-01-17-110/+94
| | | | | | | Merge sbc-admulti.c and sbc-savepin.c into a single file to avoid code duplication. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: uniphier: refactor MEMCONF init codeMasahiro Yamada2017-01-17-259/+176
| | | | | | | | | | | | | | Currently, memconf-sld3.c and memconf-pxs2.c duplicate the code. There are 3 patterns in terms of MEMCONF init: - DRAM 2 channels: LD4, sLD8, Pro4, Pro5, LD11 - DRAM 3 channels: sLD3 - DRAM 3 channels (Ch2 is disable by MEMCONF[21]): Pxs2, LD20 All of them can be moved into a single file by a little more refactoring. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: uniphier: split out UMC clock enableMasahiro Yamada2017-01-17-69/+97
| | | | | | | | The clock enable bits for UMC are more SoC-specific than for the other hardware blocks. Separate the UMC clocks and the other clocks for better code reuse across SoCs. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: uniphier: remove unneeded argument of uniphier_ld20_pll_init()Masahiro Yamada2017-01-17-11/+3
| | | | | | | At first, we thought the LD20 PLL setting would be board dependent, but this argument turned out unneeded after all. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: dts: uniphier: add UniPhier specific compatible to eMMC nodeMasahiro Yamada2017-01-17-4/+2
| | | | | | | The "cdns,sd4hc" is a fallback of the IP. Add the SoC-specific compatible string. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* ARM: uniphier: enable Cadence eMMC controller for LD11/LD20Masahiro Yamada2017-01-17-1/+5
| | | | | | | | | Enable SDMA (Single Operation DMA) for LD11, but not for LD20. The SDMA does not work for LD20 boards because they are generally equipped with more memory than fits in the 32 bit physical address space supported by the SDMA. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* Merge branch 'master' of git://git.denx.de/u-boot-spiTom Rini2017-01-15-757/+0
|\
| * spi: Zap cf_qspi driver and related codeJagan Teki2017-01-15-372/+0
| | | | | | | | | | | | | | | | | | | | | | Dropped becuase - driver not used any board. - no dm conversion. Cc: Angelo Dureghello <angelo@sysam.it> Cc: Richard Retanubun <richardretanubun@ruggedcom.com> Signed-off-by: Jagan Teki <jagan@openedev.com> Acked-by: Angelo Dureghello <angelo@sysam.it>
| * spi: Zap ep93xx_spi driver and related codeJagan Teki2017-01-13-385/+0
| | | | | | | | | | | | | | | | | | | | Dropped becuase - driver and related configs not used any board. - no dm conversion. Cc: Heiko Schocher <hs@denx.de> Cc: Sergey Kostanbaev <sergey.kostanbaev@gmail.com> Signed-off-by: Jagan Teki <jagan@openedev.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-sunxiTom Rini2017-01-15-0/+188
|\ \
| * | sunxi: OrangePi Zero: defconfig: enable SPI flashAndre Przywara2017-01-15-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Newer OrangePi Zero boards all come with 16 Mib SPI flash soldered, from which the board can actually boot from. Enable the SPL support for the SPI controller and SPI flash to allow putting the SPL, the DT and U-Boot proper into there. This will let a board boot without an SD card inserted. The flash chip can be written with a version of the sunxi-fel tool. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Tested-by: Priit Laes <plaes@plaes.org> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
| * | sunxi: dts: OrangePi Zero: add Ethernet nodeAndre Przywara2017-01-15-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The OrangePi Zero can happily use the EMAC along with its integrated PHY to use Ethernet (for TFTP booting, for instance). Add the emac node to the board .dts by copying it from the OrangePi One DT. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
| * | sunxi: add orangepi zero defconfigIcenowy Zheng2017-01-15-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Orange Pi Zero is a board designed by Xunlong. It has an Allwinner H2+ SoC (similar to H3, which shares the same SoC ID), 256MB/512MB RAM, Allwinner XR819 SDIO Wi-Fi, a MicroUSB port which is used to power the board (also capable of OTG), a USB Type-A socket and a MicroSD slot. Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> Reviewed-by: Jagan Teki <jagan@openedev.com>
| * | sunxi: add proper device tree for Orange Pi Zero boardsIcenowy Zheng2017-01-15-0/+144
| | | | | | | | | | | | | | | | | | | | | | | | Add a proper device tree file for Orange Pi Zero boards from Xunlong, which come with a Allwinner H2+ SoC (similar to H3). Signed-off-by: Icenowy Zheng <icenowy@aosc.xyz> Reviewed-by: Jagan Teki <jagan@openedev.com>
| * | sunxi: enable H3 EMAC for the nanopi neoJelle van der Waa2017-01-15-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | The nanopi already had the CONFIG_SUN8I_EMAC=y enabled in it's defconfig file, but was missing the &emac the device tree entry. Signed-off-by: Jelle van der Waa <jelle@vdwaa.nl> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@openedev.com>
* | | rtc: pcf2127: Update Kconfig and code styleMeng Yi2017-01-14-21/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | Unfortunately version 2 of this patch was applied which was missing some changes. Fix this. Signed-off-by: Meng Yi <meng.yi@nxp.com> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
* | | igep00x0: Remove IGEP0020_NAND BOARD entry from MAINTAINERSLadislav Michl2017-01-14-6/+0
| | | | | | | | | | | | | | | | | | | | | Boards with NAND and OneNAND are supported by single configuration, thus remove now obsolete IGEP0020_NAND BOARD entry. Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
* | | igep00x0: enable CONFIG_FDT_FIXUP_PARTITIONSLadislav Michl2017-01-14-0/+23
| | | | | | | | | | | | | | | | | | | | | SPL partition size depends on sector size and we want kernel to use the same layout, so let U-Boot modify FDT accordingly. Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
* | | omap-gpmc: use SECTOR_BYTES instead of hardcoded valueLadislav Michl2017-01-14-4/+4
| | | | | | | | | | | | | | | | | | | | | Replace hardcoded value with defined constant SECTOR_BYTES. Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Reviewed-by: Tom Rini <trini@konsulko.com>
* | | omapl138_lcdk: remove empty ifdef blockFabien Parent2017-01-14-3/+0
| | | | | | | | | | | | | | | | | | | | | Small clean-up. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* | | omapl138_lcdk: enable SPL MMC supportFabien Parent2017-01-14-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Enable SPL MMC support in order to allow to build a single u-boot image that is able to boot from MMC and NAND devices. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* | | davinci: spl: use bootcfg to select boot deviceFabien Parent2017-01-14-11/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now the SPL is trying to load u-boot based on defines, i.e. one has to define CONFIG_SPL_NAND_SIMPLE to boot from NAND, or CONFIG_SPL_SPI_LOAD to boot from SPI FLASH, etc... This prevent us from having a single SPL image that is able to boot from all media, and one need to build an image for each medium. This commit is replacing the #ifdef that select the boot medium by reading the value of the boot pins (via the BOOTCFG register). Now a single SPL image will be able to read from the boot pin to know which device should be used to load u-boot. Signed-off-by: Fabien Parent <fparent@baylibre.com> Reviewed-by: Tom Rini <trini@konsulko.com>
* | | Avoid non-portable sed constructMark Kettenis2017-01-14-1/+1
| | | | | | | | | | | | | | | | | | | | | Using \n in a substitution is a GNU extension. Use the 'G" command instead to insert the desired line. Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
* | | Makefile: Make EFI build quietAndrew F. Davis2017-01-14-5/+11
| | | | | | | | | | | | | | | | | | | | | Make building EFI example less noisy. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | | mkimage: Add support for signing with pkcs11George McCollister2017-01-14-28/+408
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for signing with the pkcs11 engine. This allows FIT images to be signed with keys securely stored on a smartcard, hardware security module, etc without exposing the keys. Support for other engines can be added in the future by modifying rsa_engine_get_pub_key() and rsa_engine_get_priv_key() to construct correct key_id strings. Signed-off-by: George McCollister <george.mccollister@gmail.com>
* | | ti: am335x: mmc: Set CONFIG_SYS_MMC_MAX_DEVICEEmmanuel Vadot2017-01-14-0/+1
| | | | | | | | | | | | | | | | | | | | | Set CONFIG_SYS_MMC_MAX_DEVICE to 2 for am335x SoC. This define is needed in the API code. Signed-off-by: Emmanuel Vadot <manu@bidouilliste.com>
* | | ARM: omap3_logic: Use DEFAULT_LINUX_BOOT_ENV from ti_armv7_commonAdam Ford2017-01-14-19/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since we're including ti_armv7_common, let's pull in DEFAULT_LINUX_BOOT_ENV and remove unnecessary duplicative definitions. This patch also renames a few environmental variables to match what is inside ti_armv7_common. This should help future-proof any subsequent memory or memory location changes. Signed-off-by: Adam Ford <aford173@gmail.com>
* | | lib: net_utils: enforce '.' as octet separator in string_to_ipChris Packham2017-01-14-0/+4
| | | | | | | | | | | | | | | | | | | | | Ensure '.' is used to separate octets. If another character is seen reject the string outright and return 0.0.0.0. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* | | lib: net_utils: make string_to_ip stricterChris Packham2017-01-14-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously values greater than 255 were implicitly truncated. Add some stricter checking to reject addresses with components >255. With the input "1234192.168.1.1" the old behaviour would truncate the address to 192.168.1.1. New behaviour rejects the string outright and returns 0.0.0.0, which for the purposes of IP addresses can be considered an error. Signed-off-by: Chris Packham <judge.packham@gmail.com>
* | | Kconfig: Refactoring of top-level Kconfig fileRobert P. J. Day2017-01-14-65/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some refactoring of the top-level Kconfig file which includes: * using "if" to remove numerous identical dependency tests * reordering config entries to group related ones * spelling and grammar fixes There should be no functional changes, only aesthetic ones. Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
* | | armv8: release slave cores from CPU_RELEASE_ADDROded Gabbay2017-01-14-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using ARMv8 with ARMV8_SPIN_TABLE=y, we want the slave cores to wait on spin_table_cpu_release_addr, until the Linux kernel will "wake" them by writing to that location. The address of spin_table_cpu_release_addr is transferred to the kernel using the device tree that is updated by spin_table_update_dt(). However, if we also use SPL, then the slave cores are stuck at CPU_RELEASE_ADDR instead and as a result, never wake up. This patch releases the slave cores by writing spl_image->entry_point to CPU_RELEASE_ADDR location before the end of the SPL code (at jump_to_image_no_args()). That way, the slave cores will start to execute the u-boot and will get to the spin-table code and wait on the correct address (spin_table_cpu_release_addr). Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
* | | iopoll: import include/linux/iopoll.h from Linux 4.9Masahiro Yamada2017-01-14-0/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was imported from Linux 4.9 and adjusted for U-Boot. - Replace the license block with SPDX - Drop all *_atomic variants, which make no sense for U-Boot - Remove the sleep_us argument, which makes no sense for U-Boot Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* | | time: import time_after, time_before and friends from LinuxMasahiro Yamada2017-01-14-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is not safe to compare timer values directly. On 32-bit systems, for example, timer_get_us() wraps around every 72 min. (2 ^ 32 / 1000000 =~ 4295 sec =~ 72 min). Depending on the get_ticks() implementation, it may wrap more frequently. The 72 min might be possible on the use of U-Boot. Let's borrow time_after, time_before, and friends to solve the wrap-around problem. These macros were copied from include/linux/jiffies.h of Linux 4.9. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | | typecheck: import include/linux/typecheck.h from Linux 4.9Masahiro Yamada2017-01-14-0/+24
| | | | | | | | | | | | | | | | | | Copied from Linux 4.9. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
* | | time: move timer APIs to include/time.hMasahiro Yamada2017-01-14-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The include/common.h is a collection of unrelated declarations, macros, etc. It is horrible to include such a cluttered header just for some timer functions. Split out timer functions into include/time.h. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | | delay: collect {m, n, u}delay declarations to include/linux/delay.hMasahiro Yamada2017-01-14-13/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, mdelay() and udelay() are declared in include/common.h, while ndelay() in include/linux/compat.h. It would be nice to collect them into include/linux/delay.h like Linux. While we are here, fix the ndelay() implementation; I used the DIV_ROUND_UP() instead of (x)/1000 because it must wait *longer* than the given period of time. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | | armv8: fix #if around spin-table code in start.SOded Gabbay2017-01-14-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Using CONFIG_IS_ENABLED() doesn't work in SPL. This patch replaces the only occurrence of CONFIG_IS_ENABLED() in start.S to a regular #if defined(). It also adds "&& !defined(CONFIG_SPL_BUILD)" to that #if statement because the spin-table code can't currently work in SPL, and the spin-table file isn't even compiled in SPL. Signed-off-by: Oded Gabbay <oded.gabbay@gmail.com>
* | | spl: move RAM boot support in separate fileStefan Agner2017-01-14-60/+84
| | | | | | | | | | | | | | | | | | | | | | | | Add a new top-level config option so support booting an image stored in RAM. This allows to move the RAM boot support into a sparate file and having a single condition to compile that file. Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
* | | Convert CONFIG_SPL_RAM_DEVICE to defconfigStefan Agner2017-01-14-5/+9
| | | | | | | | | | | | | | | | | | | | | This converts the following to Kconfig: CONFIG_SPL_RAM_DEVICE Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
* | | arm: omap-common: add secure ROM signature verify index for AM33xxAndrew F. Davis2017-01-14-0/+4
| | | | | | | | | | | | | | | | | | | | | On AM33xx devices the secure ROM uses a different call index for signature verification, the function and arguments are the same. Signed-off-by: Andrew F. Davis <afd@ti.com>
* | | ti_armv7_common: env: Use FIT image configs by defaultAndrew F. Davis2017-01-14-2/+1
| | | | | | | | | | | | | | | | | | | | | This allows us to specify a FIT configuration that will automatically use the correct images from the FIT blob. Signed-off-by: Andrew F. Davis <afd@ti.com>
* | | MAINTAINERS: Add maintainer for TI security related filesAndrew F. Davis2017-01-14-0/+11
| | | | | | | | | | | | | | | | | | | | | Changes involving High-Security boards should be CC'd for additional assessment of the security implications. Signed-off-by: Andrew F. Davis <afd@ti.com>
* | | cmd: sata: fix init command return valueGary Bisson2017-01-14-2/+3
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit aa6ab905b2, sata_initialize returns -1 if init_sata or scan_sata fails. But this return value becomes the do_sata return value which is equivalent to CMD_RET_USAGE. In case one issues 'sata init' and that the hardware fails to initialize, there's no need to display the command usage. Instead the command shoud just return the CMD_RET_FAILURE value. Fixes: aa6ab905b2 (sata: fix sata command can not being executed bug) Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> Reviewed-by: Eric Nelson <eric@nelint.com> Reviewed-by: Simon Glass <sjg@chromium.org>
* | Kconfig: CONFIG_OF_PLATDATA doesn't really existTom Rini2017-01-14-3/+2
| | | | | | | | | | | | | | There is no CONFIG_OF_PLATDATA, only CONFIG_SPL_OF_PLATDATA, so rename the two references to CONFIG_OF_PLATDATA to CONFIG_SPL_OF_PLATDATA. Signed-off-by: Tom Rini <trini@konsulko.com>
* | arm: Re-sync asm/mach-types.h with Linux Kernel v4.9Tom Rini2017-01-14-14765/+486
| | | | | | | | | | | | | | | | | | | | | | | | This re-syncs the MACH_TYPE_xxx values from the Linux Kernel v4.9 release. In addition this removes all of the machine_arch_type and machine_is_xxx logic that is unused in U-Boot. This removal removes a large number of otherwise unused CONFIG values from the list to be converted. Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Tom Rini <trini@konsulko.com> Tested-by: Adam Ford <aford173@gmail.com>