summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2021-03-02stm32mp: update MMU config before the relocationPatrick Delaunay
Mark the top of ram, used for relocated U-Boot as a normal memory (cacheable and executable) to avoid permission access issue when U-Boot jumps to this relocated code. When MMU is activated in pre-reloc stage; only the beginning of DDR is marked executable. This patch avoids access issue when DACR is correctly managed. Signed-off-by: Patrick Delaunay <[email protected]>
2021-03-02reset: Remove addr parameter from reset_cpu()Harald Seiler
Historically, the reset_cpu() function had an `addr` parameter which was meant to pass in an address of the reset vector location, where the CPU should reset to. This feature is no longer used anywhere in U-Boot as all reset_cpu() implementations now ignore the passed value. Generic code has been added which always calls reset_cpu() with `0` which means this feature can no longer be used easily anyway. Over time, many implementations seem to have "misunderstood" the existence of this parameter as a way to customize/parameterize the reset (e.g. COLD vs WARM resets). As this is not properly supported, the code will almost always not do what it is intended to (because all call-sites just call reset_cpu() with 0). To avoid confusion and to clean up the codebase from unused left-overs of the past, remove the `addr` parameter entirely. Code which intends to support different kinds of resets should be rewritten as a sysreset driver instead. This transformation was done with the following coccinelle patch: @@ expression argvalue; @@ - reset_cpu(argvalue) + reset_cpu() @@ identifier argname; type argtype; @@ - reset_cpu(argtype argname) + reset_cpu(void) { ... } Signed-off-by: Harald Seiler <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-03-02Revert "lpc32xx: cpu: add support for soft reset"Harald Seiler
This reverts commit 576007aec9a4a5f4f3dd1f690fb26a8c05ceb75f. The parameter passed to reset_cpu() no longer holds a meaning as all call-sites now pass the value 0. Thus, branching on it is essentially dead code and will just confuse future readers. Revert soft-reset support and just always perform a hard-reset for now. This is a preparation for removal of the reset_cpu() parameter across the entire tree in a later patch. Fixes: 576007aec9a4 ("lpc32xx: cpu: add support for soft reset") Cc: Sylvain Lemieux <[email protected]> Signed-off-by: Harald Seiler <[email protected]>
2021-03-02nds32: Remove dead reset_cpu() implementationHarald Seiler
nds32 is one of the only architectures which still have a reset_cpu() implementation that makes use of the `addr` parameter. The rest of U-Boot now ignores it and passes 0 everywhere. It turns out that even here, reset_cpu() is no longer referenced anywhere; reset is either not implemented (e.g. ae3xx) or realized using a WDT (e.g. ag101). Remove this left-over implementation in preparation for the removal of the `addr` parameter in the entire tree. Cc: Rick Chen <[email protected]> Signed-off-by: Harald Seiler <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Rick Chen <[email protected]>
2021-03-02pinctrl: at91-pio4: add support for slew-rateClaudiu Beznea
SAMA7G5 supports slew rate configuration. Adapt the driver for this. For switching frequencies lower than 50MHz the slew rate needs to be enabled. Since most of the pins on SAMA7G5 fall into this category enabled the slew rate by default. Signed-off-by: Claudiu Beznea <[email protected]>
2021-03-01ARM: imx: Include u-boot.img in u-boot-with-spl.imx if OF_SEPARATE=yMarek Vasut
The u-boot-with-spl.imx is a concatenation of SPL and u-boot.uim. The u-boot.uim is u-boot.bin wrapped in uImage. In case OF_SEPARATE is enabled, the u-boot.bin does not contain control DT for U-Boot, and so u-boot.uim does not contain the DT, and so u-boot-with-spl.imx does not contain the DT, and a system where u-boot-with-spl.imx is written to offset 1024B to the start of storage no longer boots, as it is missing DT. In case OF_SEPARATE is enabled, u-boot.img contains both u-boot.bin and the necessary DTs. Therefore, use u-boot.img instead of u-boot.uim to generate u-boot-with-spl.imx when OF_SEPARATE is enabled. Signed-off-by: Marek Vasut <[email protected]> Cc: Christoph Niedermaier <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Peng Fan <[email protected]> Cc: Simon Glass <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Ye Li <[email protected]> Cc: uboot-imx <[email protected]>
2021-03-01ARM: imx: Do not hard-code MX8M MMU table DRAM entry offsetMarek Vasut
Instead of hard-coding the offset of DRAM entries in MMU table all over the code, auto-detect the offset. This removes error-prone code which would break e.g. in case the MMU table is modified. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Cc: Ye Li <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-03-01ARM: dts: imx8mq-evk: Remove u-boot,off-on-delay-us propertyFabio Estevam
Commit 247bbeb74c18 ("ARM: dts: imx8m: increase off-on delay on the SD Vcc regulator") caused the imx8mq-evk board to not be able to store the environment variables in the SD card. Remove the u-boot,off-on-delay-us property to fix the regression. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Andrey Zhizhikin <[email protected]>
2021-03-01arm: dts: imx8mp-evk: Add FEC PHY reset timingYe Li
Add phy-reset-duration and phy-reset-post-delay to FEC node for PHY reset, otherwise the PHY does not work correctly. Signed-off-by: Ye Li <[email protected]>
2021-03-01ARM: imx: Add missing FEC ethernet quirk for MX8MMarek Vasut
The MX8M also contains a gigabit MAC, so define FEC_QUIRK_ENET_MAC. Signed-off-by: Marek Vasut <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Peng Fan <[email protected]> Cc: Stefano Babic <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-03-01mx23evk: Convert to driver modelFabio Estevam
Make the conversion to driver model as it is mandatory. Successfully tested booting Linux from the SD card. Dropped splash screen support as this needs to be properly converted to DM and tested. Signed-off-by: Fabio Estevam <[email protected]>
2021-03-01mx23-evk: Import devicetree file from LinuxFabio Estevam
Import the imx23-evk devicetree files from Linux kernel version 5.11. This is in preparation for converting the mx23evk_defconfig target to driver model. Signed-off-by: Fabio Estevam <[email protected]>
2021-03-01mx51evk: Convert to driver modelFabio Estevam
Make the conversion to driver model as it is mandatory. Tested booting the Linux kernel from the SD card. Signed-off-by: Fabio Estevam <[email protected]>
2021-03-01imx51-babbage: Import devicetree files from LinuxFabio Estevam
Import the imx51-babbage devicetree files from Linux kernel version 5.11-rc7. This is in preparation for converting the mx51evk_defconfig target to driver model. Signed-off-by: Fabio Estevam <[email protected]>
2021-03-01ARM: dts: imx53-qsb: Describe the esdhc1 card detect pinFabio Estevam
The micro SD card slot uses GPIO3_13 as card detect pin, so describe it in the devicetree. This was noticed when converting imx53-qsb board to driver model in U-Boot as the micro SD card was not getting detected. After this change it is possible to load the dtb and zImage from the SD card and boot Linux. Signed-off-by: Fabio Estevam <[email protected]>
2021-03-01mx53loco: Convert to driver modelFabio Estevam
Make the conversion to driver model as it is mandatory. Remove the SATA support for now as the i.MX53 support has not been added yet. Signed-off-by: Fabio Estevam <[email protected]>
2021-03-01imx53-qsb: Import devicetree files from LinuxFabio Estevam
Import the imx53-qsb devicetree files from Linux kernel version 5.11-rc7. This is in preparation for converting the mx53loco_defconfig target to driver model. Signed-off-by: Fabio Estevam <[email protected]>
2021-03-01board: toradex: move RGMII delays to PHY sideOleksandr Suvorov
The RGMII link delays can be set on either MAC or PHY side. Set the rgmii-id PHY mode for FEC and remove FEC_ENET_ENABLE_.XC_DELAY setting, so that these definitions aren't used anymore throughout the U-Boot. Signed-off-by: Oleksandr Suvorov <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-03-01ARM: imx8: Add missing FEC ENET quirk for i.MX8/i.MX8XOleksandr Suvorov
Both NXP SoCs i.MX8 and i.MX8X have ENET gigabit MAC. Define FEC_QUIRK_ENET_MAC for the imx8 platform and remove this definition from configs of boards, based on MX8/MX8X. Signed-off-by: Oleksandr Suvorov <[email protected]> Acked-by: Marek Vasut <[email protected]> Reviewed-By: Ramon Fried <[email protected]> Acked-by: Oliver Graute <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-03-01ARM: mx6: Add function to set serial#Sean Anderson
The serial number OTP is similar to the imx7 version, except that the register names are different. This also sets serial# directly, instead of providing board_get_serial. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2021-02-26Merge tag 'u-boot-stm32-20210226' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-stm - Add USB host boot support in stm32mp1 config - Enable uefi related commands for STMicroelectronics STM32MP15 boards - Remove duplicate uart nodes in stm32mp15 device tree
2021-02-26arm: dts: stm32mp15: remove duplicate uart nodesPatrick Delaunay
Remove duplicated uart nodes introduced with commit 62f95af92a3f ("ARM: dts: stm32mp1: DT alignment with Linux kernel v5.9-rc4"), because the uart nodes wasn't correctly ordered in alphabetic order. Only cosmetic: the generated device tree don't change. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2021-02-26Merge https://gitlab.denx.de/u-boot/custodians/u-boot-marvellTom Rini
- turris_mox: Enhancements, mostlly defconfig changes (Pali) - pci-aardvark: Set Max Payload Size and Max Read Request Size to 512 bytes (Pali) - pci_mvebu: Minor cleanup and refactoring (Marek) - Upgrade A38x DDR3 training to version 14.0.0 (Marek)
2021-02-26Merge https://gitlab.denx.de/u-boot/custodians/u-boot-riscvTom Rini
2021-02-26ARM: dts: armada-385-turris-omnia: rename node in -u-boot.dtsi fileMarek Behún
The SPI NOR flash node name in main device tree for Turris Omnia is called `spi-nor@0`. Rename node spi-flash@0 in Turris Omnia's -u-boot.dtsi file to spi-nor@0 so that U-Boot does not try to probe the same SPI NOR device multiple times. Signed-off-by: Marek Behún <[email protected]> Cc: Stefan Roese <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Pali Rohár <[email protected]>
2021-02-25ppc: Remove MPC8569MDS boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. As this is the last ARCH_MPC8569 board, remove that support as well. Cc: Priyanka Jain <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-02-25arm: Remove sksimx6 boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Stefano Babic <[email protected]> Signed-off-by: Tom Rini <[email protected]> Acked-by: Stefano Babic <[email protected]>
2021-02-25arm: Remove mx53smd boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Fabio Estevam <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-02-25arm: Remove mx53ard boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Fabio Estevam <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-02-25arm: Remove mx25pdk boardTom Rini
This board has not been converted to CONFIG_DM_MMC by the deadline. Remove it. Cc: Fabio Estevam <[email protected]> Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2021-02-25riscv: k210: Enable QSPI for spi3Sean Anderson
This device has four IOs connected to the SPI flash. Add the appropriate bindings. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Bin Meng <[email protected]> Reviewed-by: Leo Liang <[email protected]>
2021-02-24common: Add "ifndef __ASSEMBLY__" in asm/global_data.hSiew Chin Lim
Commit "common: Drop asm/global_data.h from common header" added asm/global_data.h into secure.h. However, secure.h will be included by psci.S. Adding asm/global_data.h has caused compilation failure in pcsi.S. Add "ifndef __ASSEMBLY__" in asm/global_data.h. Signed-off-by: Siew Chin Lim <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-02-23Merge tag 'xilinx-for-v2021.04-rc3' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze Xilinx changes for v2021.04-rc3 qspi: - Support for dual/quad mode - Fix speed handling clk: - Add clock enable function for zynq/zynqmp/versal gem: - Enable clock for Versal - Fix error path - Fix mdio deregistration path fpga: - Fix buffer alignment for ZynqMP xilinx: - Fix reset reason clearing in ZynqMP - Show silicon version in SPL for Zynq/ZynqMP - Fix DTB selection for ZynqMP - Rename zc1275 to zcu1275 to match DT name
2021-02-22Merge tag 'u-boot-amlogic-20210222' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-amlogic - adds adc-keys button driver - fix meson-saradc driver to get reference voltage - add adc-keys test for sandbox - enable adc-keys for VIM3 & VIM3L boards - fix button.h build
2021-02-22Merge tag 'ti-v2021.04-rc3' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-ti - Fix ethernet on J721e - Sync am335x DT nodes from Linux 5.9-rc7 - Minor Clock fixes
2021-02-22arch: sandbox: fix typo in clk.hDario Binacchi
Fix the 'devivce' typo in arch/sandbox/include/asm/clk.h. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2021-02-22arm: dts: sync am33xx-clocks with Linux 5.9-rc7Dario Binacchi
The commit 6337d53fdf45 ("arm: dts: sync am33xx with Linux 5.9-rc7") synchronized the am33xx-clocks.dtsi file with Linux 5.9-rc7 with the exception of two nodes. I think I was wrong and it is better to keep the two files similar and possibly make changes to the *-u-boot.dtsi files. Signed-off-by: Dario Binacchi <[email protected]>
2021-02-21mpc8379erdb: Add device treeSinan Akman
Signed-off-by: Sinan Akman <[email protected]>
2021-02-21dm: i2c: use CONFIG_IS_ENABLED macro for DM_I2C/DM_I2C_GPIOIgor Opaniuk
Use CONFIG_IS_ENABLED() macro, which provides more convenient way to check $(SPL)DM_I2C/$(SPL)DM_I2C_GPIO configs for both SPL and U-Boot proper. CONFIG_IS_ENABLED(DM_I2C) expands to: - 1 if CONFIG_SPL_BUILD is undefined and CONFIG_DM_I2C is set to 'y', - 1 if CONFIG_SPL_BUILD is defined and CONFIG_SPL_DM_I2C is set to 'y', - 0 otherwise. All occurences were replaced automatically using these bash cmds: $ find . -type f -exec sed -i 's/ifndef CONFIG_DM_I2C/if !CONFIG_IS_ENABLED(DM_I2C)/g' {} + $ find . -type f -exec sed -i 's/ifdef CONFIG_DM_I2C/if CONFIG_IS_ENABLED(DM_I2C)/g' {} + $ find . -type f -exec sed -i 's/defined(CONFIG_DM_I2C)/CONFIG_IS_ENABLED(DM_I2C)/g' {} + $ find . -type f -exec sed -i 's/ifndef CONFIG_DM_I2C_GPIO/if !CONFIG_IS_ENABLED(DM_I2C_GPIO)/g' {} + $ find . -type f -exec sed -i 's/ifdef CONFIG_DM_I2C_GPIO/if CONFIG_IS_ENABLED(DM_I2C_GPIO)/g' {} + $ find . -type f -exec sed -i 's/defined(CONFIG_DM_I2C_GPIO)/CONFIG_IS_ENABLED(DM_I2C_GPIO)/g' {} + Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Igor Opaniuk <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Priyanka Jain <[email protected]>
2021-02-19sunxi: support boot console on uart1 for sun8iTobias Schramm
The A23, A33, H3, H5, A83T, V3 and Sochip S3 sun8i SoCs can mux uart1 on GPIOs PG6 and PG7. This patch adds support for using uart1 on those pins as boot console. Signed-off-by: Tobias Schramm <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-02-19sunxi: spl: Fix H616 clock initializationJernej Skrabec
It turns out that there is a magic bit in PRCM region which seemingly makes PLLs work if it's enabled. Sadly, there is no documentation what it does exactly, so we'll just mimick BSP boot0 behaviour and enable it before any clock is set up. Fixes: b18bd53d6cde ("sunxi: introduce support for H616 clocks") Signed-off-by: Jernej Skrabec <[email protected]> Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2021-02-19Merge tag 'mmc-2021-2-19' of https://gitlab.denx.de/u-boot/custodians/u-boot-mmcTom Rini
- mmc_spi improvement - added mmc-pwrseq to remove duplicated code - fix response timeout after switch command - sdhci: skip cache invalidation if DMA is not used
2021-02-19ARM: mach-meson: select MMC_PWRSEQ configJaehoon Chung
Before time, PWRSEQ is selected since below commit. commit 262d34363373 ("board: amlogic: select PWRSEQ for all amlogic platform") Select MMC_PWRSEQ config because of introducing CONFIG_MMC_PWRSEQ for only eMMC module. Signed-off-by: Jaehoon Chung <[email protected]>
2021-02-18Merge branch '2021-02-18-SPL-FIT-OP-TEE-Linux-improvements'Tom Rini
- Improve interactions between SPL / OP-TEE and Linux in FIT images
2021-02-18dm: test: Add test case for dev->dma_offsetNicolas Saenz Julienne
Add test to validate dev->dma_offset is properly set on devices. Signed-off-by: Nicolas Saenz Julienne <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Peter Robinson <[email protected]> Signed-off-by: Matthias Brugger <[email protected]>
2021-02-18dm: test: Add test case for dev_get_dma_ranges()Nicolas Saenz Julienne
Introduce some new nodes in sandbox's test device-tree and dm tests in order to validate dev_get_dma_range(). Signed-off-by: Nicolas Saenz Julienne <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Peter Robinson <[email protected]> Signed-off-by: Matthias Brugger <[email protected]>
2021-02-18test: add a simple test for the adc-keys button driverMarek Szyprowski
Add adc-keys device to the sandbox/test.dts and connect it to the channel #3 of the sandbox_adc driver. The default values sampled by sandbox_adc driver determines that button3 and button4 are released and button5 is pressed. Signed-off-by: Marek Szyprowski <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Neil Armstrong <[email protected]>
2021-02-17spl: fit: Drop 'length' argument to board_spl_fit_post_load()Alexandru Gagniuc
The size is derived from the FIT image itself. Any alignment requirements are machine-specific and known by the board code. Thus the total length can be derived from the FIT image and knowledge of the platform. The 'length' argument is redundant. Remove it. Signed-off-by: Alexandru Gagniuc <[email protected]> Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Simon Glass <[email protected]> CC: Matt Porter <[email protected]>
2021-02-16arm: dts: ls1028a: Add Ethernet switch node and dependenciesAlex Marginean
The definition follows the DSA binding in kernel and describes the switch, its ports and PHYs. The switch node has the same structure as in Linux and this patch enables it (and relevant ports) for the LS1028A RDB board. ENETC PF6 is the 2nd Eth controller linked to the switch on LS1028A, it is not used in U-Boot and was disabled. Ethernet port aliases were also added to better manage the multitude of ports available now. Signed-off-by: Alex Marginean <[email protected]> Signed-off-by: Claudiu Manoil <[email protected]> Signed-off-by: Vladimir Oltean <[email protected]> Reviewed-by: Michael Walle <[email protected]>
2021-02-16arm: dts: sync am33xx gpio nodes with Linux 5.9-rc7Dario Binacchi
Move gpio controller nodes from am33xx.dtsi to am33xx-l4.dtsi. Now both files are more similar to those found in Linux 5.9-rc7. To be fully operational as before it was also necessary to fix the am33xx-clock.dtsi file. It too is now almost the same as the Linux kernel. Signed-off-by: Dario Binacchi <[email protected]>