aboutsummaryrefslogtreecommitdiff
path: root/arch/arm
AgeCommit message (Collapse)Author
2017-06-23atmel, at91: fix corvus boardHeiko Schocher
since commit: f8b7fff1d5c5 "serial: atmel_usart: Add clk support" corvus board comes not up anymore. Fix it. Signed-off-by: Heiko Schocher <hs@denx.de>
2017-06-23ARM: dts: OMAP5+: Update spl specific dtsLokesh Vutla
Now that we can specify DT nodes that can be used in spl, mark all necessary nodes as u-boot,dm-spl. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-06-23ARM: dts: am43xx: Update spl specific dtsLokesh Vutla
Now that we can specify DT nodes that can be used in spl, mark all necessary nodes as u-boot,dm-spl. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2017-06-23ti816x: Add additional boot device detection logicTom Rini
It has been observed that between PG1.0 and PG2.0/2.1 depending on which device we boot from, we may see a different value here than is documented in the TRM. Update the values for NAND and MMC1 based on real life usage on each revision. Signed-off-by: Tom Rini <trini@konsulko.com>
2017-06-21Merge branch 'master' of git://git.denx.de/u-boot-samsungTom Rini
2017-06-21Merge tag 'xilinx-for-v2017.07' of git://www.denx.de/git/u-boot-microblazeTom Rini
Xilinx changes for v2017.07 ZynqMP: - config cleanup - SD LS mode support - psu_init* cleanup - unmap OCM - Support for SMC Zynq: - add ddrc to Kconfig - add topic-miamilite board support
2017-06-21sunxi: Correct select's of SPL_STACK_R and SPL_SYS_MALLOC_SIMPLETom Rini
On ARCH_SUNXI we've been selecting these targets for a long time if SUPPORT_SPL is set. However, Lichee Pi Zero is the first platform we've added that does support SPL but does not build SPL and has exposed a latent bug. Both of these symbols depend on SPL not SUPPORT_SPL, so we need to update our select here otherwise we get a Kconfig warning. Fixes: f02abb0608fe ("sunxi: add support for Lichee Pi Zero") Signed-off-by: Tom Rini <trini@konsulko.com>
2017-06-20ARM: dts: omap3: Fix dts->dtb typoMarek Vasut
Trivial, fix typo. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Tom Rini <trini@konsulko.com>
2017-06-20arm: zynq: Add support for the topic-miamilite system-on-moduleMike Looijmans
The topic-miamilite SoM contains a Zynq xc7z010 SoC, 1GB DDR3L RAM, 64MB dual-parallel QSPI NOR flash and clock sources. Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2017-06-20arm64: zynqmp: Check pmufw versionMichal Simek
If PMUFW version is not v0.3 then panic. ZynqMP switch to CCF based clock driver which requires PMUFW to be present at certain version. This patch ensure that you use correct and tested PMUFW binary. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2017-06-20arm64: zynqmp: Define routines for mmio write and readSiva Durga Prasad Paladugu
Define routines of mmio write and read functionalities for zynqmp platform. Also do not call SMC from SPL because SPL is running before ATF in EL3 that's why SMCs can't be called because there is nothing to call. zynqmp_mmio*() are doing direct read/write accesses and this patch does the same. PMUFW is up and running at this time and there is a way to talk to pmufw via IPI but there is no reason to implement IPI stuff in SPL if we need just simple read for getting clock driver to work. Also make invoke_smc as global so that it can be reused in multile places where ever possible. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2017-06-20arm: zynq: Add Kconfig option for any DDR specific initializationSiva Durga Prasad Paladugu
Add Kconfig option for ddr init as this might be required in cases like ddr less systems where we want to skip ddrc init and this option is useful for it. Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2017-06-20arm64: zynqmp: Do not map unused OCM/TCM regionMichal Simek
When OCM or TCM is protected this mapping still exist and it is causing access violation. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2017-06-20arm64: zynqmp: Add comment about level shifter mode v1Michal Simek
Silicon v1 didn't support SD boot mode with level shifter. Because system can't boot any error message is not shown that's why comment is just a record if someone tries to debug it. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2017-06-19arm64: zynqmp: spl: use given boot_device instead of fetching it againJean-Francois Dagenais
The boot_device argument to spl_boot_mode was massively added without actually modifying the existing functions. This commit actually makes use of the handed value, which is the same. Signed-off-by: Jean-Francois Dagenais <jeff.dagenais@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2017-06-19arm64: zynqmp: spl: fix dual SD controller supportJean-Francois Dagenais
When enabling both SDHCI controllers, spl_mmc.c would actually choose device sdhci0 even if booted from sdhci1 (boot_device). This is because spl_mmc_get_device_index(boot_device) expects BOOT_DEVICE_MMC2[_2] in order to return index 1 instead of 0. The #if defined(...) statement is copied from board/xilinx/zynqmp/zynqmp.c So the key to properly enabling both controllers as boot sources is defining both CONFIG_ZYNQ_SDHCI0 and CONFIG_ZYNQ_SDHCI1 in your board's include/configs/*.h. Signed-off-by: Jean-Francois Dagenais <jeff.dagenais@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2017-06-19arm64: zynqmp: Wire SD1 level shifter mode to SPLMichal Simek
Add missing SD boot mode to SPL. zcu102-rev1.0 is supporting this boot mode. Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2017-06-19Merge branch 'master' of git://git.denx.de/u-boot-sunxiTom Rini
2017-06-16arm: mach-omap2: Generate MLO file from SD boot capable targetsAndrew F. Davis
Secure boot targets that can be loaded from an SD card FAT partition need to be called "MLO" on the filesystem, make a copy with this name to clarify the correct image for SD card booting. Signed-off-by: Andrew F. Davis <afd@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>
2017-06-14Merge branch 'master' of git://git.denx.de/u-boot-tegraTom Rini
2017-06-14sun50i: h5: Add initial NanoPi NEO2 supportJagan Teki
NanoPi NEO2 is designed and developed by FriendlyElec using the Allwinner 64-bit H5 SOC. NanoPi Neo2 key features - Allwinner H5, Quad-core 64-bit Cortex-A53 - 512MB DDR3 RAM - microSD slot - 10/100/1000M Ethernet - Serial Debug Port - 5V 2A DC MicroUSB power-supply Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Tested-by: Jagan Teki <jagan@amarulasolutions.com>
2017-06-14Revert "ARM: fixed relocation using proper alignment"Tom Rini
It turns out this change was not intended to be merged and as such, revert it. This reverts commit cdde7de0364ffa505d631b342f1a2fa729e8e67d. Reported-by: Manfred Schlaegl <manfred.schlaegl@ginzinger.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2017-06-14sun50i: a64: Add initial Orangepi Win/WinPlus supportJagan Teki
Orangepi Win/WinPlus is an open-source single-board computer using the Allwinner A64 SOC. A64 Orangepi Win/WinPlus has - A64 Quad-core Cortex-A53 64bit - 1GB(Win)/2GB(Win Plus) DDR3 SDRAM - Debug TTL UART - Four USB 2.0 - HDMI - LCD - Audio and MIC - Wifi + BT - IR receiver - 5V DC power supply Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Tested-by: Jagan Teki <jagan@amarulasolutions.com>
2017-06-14sun50i: h5: Add initial Orangepi Zero Plus 2 supportJagan Teki
Orangepi Zero Plus 2 is an open-source single-board computer using the Allwinner h5 SOC. H5 Orangepi Zero Plus 2 has - Quad-core Cortex-A53 - 512MB DDR3 - micrSD slot and 8GB eMMC - Debug TTL UART - HDMI - Wifi + BT - OTG+power supply Signed-off-by: Jagan Teki <jagan@amarulasolutions.com> Tested-by: Jagan Teki <jagan@amarulasolutions.com>
2017-06-12ARM: tegra: remove Whistler supportStephen Warren
Whistler is an ancient Tegra 2 reference board. I may have been the only person who ever used it with upstream software, and I've just recycled the board hardware. Hence, it makes sense to remove support from software. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
2017-06-12ARM: dts: keystone-k2hk-evm: Add U-boot specific dtsi fileCooper Jr., Franklin
With Davinci I2C switching to device model, K2HK requires U-boot specific device tree entries. This is only required for I2C 1 which is needed extremely early during the boot process. Fixes: 1743d040b1df ("ARM: keystone: Enable DM_I2C by default") Reported-by: Yan Liu <yan-liu@ti.com> Signed-off-by: Franklin S Cooper Jr <fcooper@ti.com>
2017-06-12ARM: provide a valid exception stack address for startup codeLothar Waßmann
Create exception stack in IRAM if available to facilitate debugging of pre-relocation code by catching exceptions rather than stopping dead. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
2017-06-12arm: adjust PC displayed in exception handlers to point to the failing ↵Lothar Waßmann
instruction Adjust the program counter register to point to the failing instruction depending on the exeption type. This makes it easier to localize the offending instruction leading to a fatal exception. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
2017-06-12ARM: remove bogus cp_delay() functionLothar Waßmann
The cp_delay() function was introduced because of a missing 'volatile' attribute to the 'asm' statement in get_cr() which led to the 'mrc' instruction in get_cr() being optimised out eventually. This has been fixed in commit 53fd4b8c22bb ("arm: mmu: Add missing volatile for reading SCTLR register") but the bogus cp_delay() function which was introduced as a workaround for the malfunctioning get_cr() was never removed. Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
2017-06-12serial: stm32x7: align compatible with kernel onePatrice Chotard
stm32x7.c driver is dedicated for STM32F7. In kernel, "st,stm32-usart" and "st,stm32-uart" compatible strings are dedicated for STM32F4. To keep U-boot and kernel aligned, replace the serial compatible string from "st,stm32-usart", "st,stm32-uart" to "st,stm32f7-usart", "st,stm32f7-uart" specific for STM32F7. Signed-off-by: Patrice Chotard <patrice.chotard@st.com> Reviewed-by: Christophe KERELLO <christophe.kerello@st.com> Reviewed-by: Patrick DELAUNAY <patrick.delaunay@st.com> Acked-by: Vikas MANOCHA <vikas.manocha@st.com>
2017-06-12omap: Add routine for setting fastboot variablesSemen Protsenko
This patch reuses new option, which allows us to expose variables from environment to "fastboot getvar" command. Those variables must be of "fastboot.%s" format. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org>
2017-06-12ARM: fixed relocation using proper alignmentManfred Schlaegl
Using u-boot-2017.05 on i.MX6UL we ran into following problem: Initially U-Boot could be started normally. If we added one random command in configuration, the newly generated image hung at startup (last output was DRAM: 256 MiB). We tracked this down to a data abort within relocation (relocated_code). relocated_code in arch/arm/lib/relocate.S copies 8 bytes per loop iteration until the source pointer is equal to __image_copy_end. In a good case __image_copy_end was aligned to 8 bytes, so the loop stopped as suggested, but in an errornous case __image_copy_end was not aligned to 8 bytes, so the loop ran out of bounds and caused a data abort exception. This patches solves the issue by aligning __image_copy_end to 8 byte using the linker script related to arm. I don't know if it's the correct way to solve this, so some review would be very appreciated.
2017-06-12sunxi: psci: Move entry address setting to separate functionChen-Yu Tsai
Currently we set the entry address in the psci_cpu_on function. However R40 has a different register for this. This resulted in an #ifdef / #else block in psci_cpu_on, which we avoided having in the first place. Move this part into a separate function, defined differently for the R40 as opposed to the other single cluster platforms. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
2017-06-10Merge git://git.denx.de/u-boot-dmTom Rini
2017-06-10Merge branch 'master' of git://git.denx.de/u-boot-videoTom Rini
2017-06-10Merge branch 'master' of git://git.denx.de/u-boot-mmcTom Rini
2017-06-09armv7m: Disable D-cache when booting nommu(ARMv7M) Linux kerneltnishinaga.dev@gmail.com
Disable D-Cache is required when booting nommu Linux kernel. (please see Linux kernel source "arch/arm/kernel/head-nommu.S") U-Boot is enabled D-cache and I-Cache at startup. However, it does not disable D-Cache before booting nommu Linux kernel. Therefore, I call dcache_disable() when the CPU is ARMv7M to fix this problem. Signed-off-by: Toshifumi NISHINAGA <tnishinaga.dev@gmail.com>
2017-06-09arm: omap: Unify get_device_type() functionSemen Protsenko
Refactor OMAP3/4/5 code so that we have only one get_device_type() function for all platforms. Details: - Add ctrl variable for AM33xx and OMAP3 platforms (like it's done for OMAP4/5), so we can obtain status register in common way - For now ctrl structure for AM33xx/OMAP3 contains only status register address - Run hw_data_init() in order to assign ctrl to proper structure - Remove DEVICE_MASK and DEVICE_GP definitions as they are not used (DEVICE_TYPE_MASK and GP_DEVICE are used instead) - Guard structs in omap_common.h with #ifdefs, because otherwise including omap_common.h on non-omap4/5 board files breaks compilation Buildman script was run for all OMAP boards. Result output: arm: (for 38/616 boards) all +352.5 bss -1.4 data +3.5 rodata +300.0 spl/u-boot-spl:all +284.7 spl/u-boot-spl:data +2.2 spl/u-boot-spl:rodata +252.0 spl/u-boot-spl:text +30.5 text +50.4 (no errors to report) Tested on AM57x EVM and BeagleBoard xM. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> [trini: Rework the guards as to not break TI81xx] Signed-off-by: Tom Rini <trini@konsulko.com>
2017-06-09am33xx: Finish migration of CONFIG_AM33XX/AM43XXTom Rini
Almost all users of CONFIG_AM33XX/AM43XX have been migrated. Finish moving the last few over to Kconfig, and put all of the boards under the appropriate Kconfig chocie now. This board choice is non-optional, so remove that keyword on am33xx. Signed-off-by: Tom Rini <trini@konsulko.com>
2017-06-09rockchip: rk3288: Allow setting up clocks in U-Boot properSimon Glass
If U-Boot is chain-loaded from a previous boot loader we must set up the clocks the way U-Boot wants them. Add code for this. It will do nothing if SPL has already done the job. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-09rockchip: rk3288: Convert clock driver to use shifted masksSimon Glass
Shifted masks are the standard approach with rockchip since it allows use of the mask without shifting it each time. Update the definitions and the driver to match. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-09rockchip: rk3288: Add error debugging to veyron_init()Simon Glass
Add a debug() statement so we can see when something goes wrong with the regulator. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-09rockchip: Fix regualtor typo in veyronSimon Glass
This typo doesn't actually cause any problems, but is wrong. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-09tegra: clock: Avoid a divide-by-zero errorSimon Glass
The clock fix-up for tegra is still present in the code. It causes a divide-by-zero bug after relocation when chain-loading U-Boot from coreboot. Fix this by adding a check. Signed-off-by: Simon Glass <sjg@chromium.org> Fixes: 7468676 (ARM: tegra: fix clock_get_periph_rate() for UART clocks)
2017-06-09tegra: dts: Add cros-ec SPI settingsSimon Glass
At present the interrupt does not work and the SPI bus runs much less quickly than it should. Add settings to fix this. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-09tegra: Init clocks even when SPL did not runSimon Glass
At present early clock init happens in SPL. If SPL did not run (because for example U-Boot is chain-loaded from another boot loader) then the clocks are not set as U-Boot expects. Add a function to detect this and call the early clock init in U-Boot proper. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-09arm: Disable LPAE if not enabledSimon Glass
If CONFIG_ARMV7_LPAE is not defined we should make sure that the feature is disabled. This can happen if U-Boot is chain-loaded from another boot loader which does enable LPAE. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-09arm: Don't try to support CONFIG_ARMV7_LPAE on ARMv4TSimon Glass
At present if CONFIG_ARMV7_LPAE is defined then mmu_setup() will use instructions which are invalid on ARMv4T. This happens on Tegra since it has an ARMv4T boot CPU. Add a check for the architecture version to allow the code to be built. It will not actually be executed by the boot CPU, but needs to compile. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-09arm: Rename HCTR to HTCRSimon Glass
This appears to be a typo. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org>
2017-06-09arm: arm720t: Support CONFIG_SKIP_LOWLEVEL_INIT_ONLYSimon Glass
This option allows skipping the call to lowlevel() while still performing CP15 init. Support this on ARM720T so it can be used with Tegra. Signed-off-by: Simon Glass <sjg@chromium.org>