summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2019-07-26board: ti: j721e: Add board support for j721e evmLokesh Vutla
Add board specific initialization for j721e evm Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2019-07-26armv8: K3: j721e: Add custom MMU supportSuman Anna
The A72 U-Boot code loads and boots a number of remote processors including the C71x DSP, both the C66_0 and C66_1 DSPs, and the various Main R5FSS Cores. Change the memory attributes for the DDR regions used by the remote processors so that the cores can see and execute the proper code. A separate table based on the current AM65x table is added for J721E SoCs, since the number of remote processors and their DDR usage will be different between the two SoC families. Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-26armv7R: K3: j721e: Load SYSFW binary and config from boot mediaAndreas Dannenberg
Use the System Firmware (SYSFW) loader framework to load and start the SYSFW as part of the J721E early initialization sequence. While at it also initialize the MCU_UART0 pinmux as it is used by SYSFW to print diagnostic messages. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-26armv7R: K3: j721e: Shut down R5 core after ATF startup on A72Lokesh Vutla
Populate the release_resources_for_core_shutdown() api with shutting down r5 cores so that it will by called just after jumping to ATF. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-26armv7R: K3: j721e: Store boot index from ROMAndreas Dannenberg
Obtain the boot index as left behind by the device boot ROM and store it in scratch pad SRAM for later use before it may get overwritten. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2019-07-26armv7R: K3: j721e: Unlock all applicable control MMR registersAndreas Dannenberg
To access various control MMR functionality the registers need to be unlocked. Do that for all control MMR regions in the MCU and MAIN domains. We may want to go back later and limit the unlocking that's being done. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
2019-07-26armv7R: K3: j721e: Add support for boot device detectionLokesh Vutla
J721E allows for booting from primary or backup boot media. Both media can be chosen individually based on switch settings. ROM looks for a valid image in primary boot media, if not found then looks in backup boot media. In order to pass this boot media information to boot loader, ROM stores a value at a particular address. Add support for reading this information and determining the boot media correctly. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-07-26arm: K3: j721e: Add basic support for J721E SoC definitionLokesh Vutla
The J721E SoC belongs to the K3 Multicore SoC architecture platform, providing advanced system integration to enable lower system costs of automotive applications such as infotainment, cluster, premium Audio, Gateway, industrial and a range of broad market applications. This SoC is designed around reducing the system cost by eliminating the need of an external system MCU and is targeted towards ASIL-B/C certification/requirements in addition to allowing complex software and system use-cases. Some highlights of this SoC are: * Dual Cortex-A72s in a single cluster, three clusters of lockstep capable dual Cortex-R5F MCUs, Deep-learning Matrix Multiply Accelerator(MMA), C7x floating point Vector DSP, Two C66x floating point DSPs. * 3D GPU PowerVR Rogue 8XE GE8430 * Vision Processing Accelerator (VPAC) with image signal processor and Depth and Motion Processing Accelerator (DMPAC) * Two Gigabit Industrial Communication Subsystems (ICSSG), each with dual PRUs and dual RTUs * Two CSI2.0 4L RX plus one CSI2.0 4L TX, one eDP/DP, One DSI Tx, and up to two DPI interfaces. * Integrated Ethernet switch supporting up to a total of 8 external ports in addition to legacy Ethernet switch of up to 2 ports. * System MMU (SMMU) Version 3.0 and advanced virtualisation capabilities. * Upto 4 PCIe-GEN3 controllers, 2 USB3.0 Dual-role device subsystems, 16 MCANs, 12 McASP, eMMC and SD, UFS, OSPI/HyperBus memory controller, QSPI, I3C and I2C, eCAP/eQEP, eHRPWM, MLB among other peripherals. * Two hardware accelerator block containing AES/DES/SHA/MD5 called SA2UL management. * Configurable L3 Cache and IO-coherent architecture with high data throughput capable distributed DMA architecture under NAVSS * Centralized System Controller for Security, Power, and Resource Management (DMSC) See J721E Technical Reference Manual (SPRUIL1, May 2019) for further details: http://www.ti.com/lit/pdf/spruil1 Add base support for J721E SoC Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com>
2019-07-26arm: dts: k3-am654: Update power-domains property for each nodeLokesh Vutla
Update the power-domain-cells to 2 and add the permissions to each node. Mark the following nodes accessed by r5 as shared: - DDR node - main uart 0 Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-26armv7R: k3: Release all the exclusive devicesLokesh Vutla
Release all the exclusive devices held by SPL. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-26armv7R: K3: am654: Shut down R5 core after ATF startup on A53Andreas Dannenberg
Rather than simply parking the R5 core in WFE after starting up ATF on A53 instead use SYSFW API to properly shut down the R5 CPU cores as well as associated timer resources that were pre-allocated. This allows software further downstream to properly and gracefully bring the R5 cores back online if desired. Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
2019-07-25net: davinci_emac: convert to using the driver modelBartosz Golaszewski
Now that we removed all legacy boards selecting TI_EMAC we can completely convert the driver code to using the driver model. This patch also updates all remaining users of davinci_emac. Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> Tested-by: Adam Ford <aford173@gmail.com> #am3517-evm & da850-evm Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
2019-07-25Add support for the NXP LS1021A-TSN boardJianchao Wang
The LS1021A-TSN is a development board built by VVDN/Argonboards in partnership with NXP. It features the LS1021A SoC and the first-generation SJA1105T Ethernet switch for prototyping implementations of a subset of IEEE 802.1 TSN standards. Supported boot media: microSD card (via SPL), QSPI flash. Rev. A of the board uses a Spansion S25FL512S_256K serial flash, which is 64 MB in size and has an erase sector size of 256KB (therefore, flashing the RCW would erase part of U-Boot). Rev. B and C of the board use a Spansion S25FL256S1 serial flash, which is only 32 MB in size but has an erase sector size of 64KB (therefore the RCW image can be flashed without erasing U-Boot). To avoid the problems above, the U-Boot base address has been selected at 0x100000 (the start of the 5th 256KB erase sector), which works for all board revisions. Actually 0x40000 would have been enough, but 0x100000 is common for all Layerscape devices. eTSEC3 is connecting directly to SJA1105 via an RGMII fixed-link, but SJA1105 is currently not supported by uboot. Therefore, eTSEC3 is disabled. Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com> Signed-off-by: Mingkai Hu <mingkai.hu@nxp.com> Signed-off-by: Jianchao Wang <jianchao.wang@nxp.com> Signed-off-by: Changming Huang <jerry.huang@nxp.com> Signed-off-by: Vladimir Oltean <olteanv@gmail.com> [Vladimir] Code taken from https://github.com/openil/u-boot (which itself is mostly copied from ls1021a-iot) and adapted with the following changes: - Add a008850 errata workaround - Converted eTSEC, MMC to DM to avoid all build warnings - Plugged in distro boot feature, including support for extlinux.conf - Added defconfig for QSPI boot - Added the board/freescale/ls1021atsn/README.rst for initial setup - Increased CONFIG_SYS_MONITOR_LEN so that the SPL malloc pool does not get overwritten during copying of the u-boot.bin payload from MMC to DDR. Acked-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2019-07-25arm: ls1021atwr: Convert to use driver model TSEC driverBin Meng
Now that we have added driver model support to the TSEC driver, convert ls1021atwr board to use it. This depends on previous DM series for ls1021atwr: http://patchwork.ozlabs.org/patch/561855/ Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Signed-off-by: Vladimir Oltean <olteanv@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com> [Vladimir] Made the following changes: - Added 'status = "disabled";' for all Ethernet ports in ls1021a.dtsi - Fixed the confusion between the SGMII/TBI PCS for enet0 and enet1 - a mistake ported over from Linux. Each SGMII PCS lies on the private MDIO bus of the interface (and the RGMII enet2 has no SGMII PCS). - Added CONFIG_DM_ETH to all ls1021atwr_* defconfigs - Completely removed non-DM_ETH support from ls1021atwr - Changed "compatible" string from "fsl,tsec-mdio" to "fsl,etsec2-mdio" and from "fsl,tsec" to "fsl,etsec2" to match Linux
2019-07-25arm: dts: ls1028a updates for network interfacesAlex Marginean
Defines LS1028A RDB SGMII port, QDS RGMII port. Signed-off-by: Alex Marginean <alexm.osslist@gmail.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
2019-07-24psci: Fix warnings when compiling with W=1Patrick Delaunay
This patch solves the following warnings: arch/arm/mach-stm32mp/psci.c: warning: no previous prototype for ‘psci_set_state’ [-Wmissing-prototypes] warning: no previous prototype for ‘psci_arch_cpu_entry’ [-Wmissing-prototypes] warning: no previous prototype for ‘psci_features’ [-Wmissing-prototypes] warning: no previous prototype for ‘psci_version’ [-Wmissing-prototypes] warning: no previous prototype for ‘psci_affinity_info’ [-Wmissing-prototypes] warning: no previous prototype for ‘psci_migrate_info_type’ [-Wmissing-prototypes] warning: no previous prototype for ‘psci_cpu_on’ [-Wmissing-prototypes] warning: no previous prototype for ‘psci_cpu_off’ [-Wmissing-prototypes] warning: no previous prototype for ‘psci_system_reset’ [-Wmissing-prototypes] warning: no previous prototype for ‘psci_system_off’ [-Wmissing-prototypes] Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2019-07-23Merge tag 'efi-2019-10-rc1-2' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-efi Pull request for UEFI sub-system for v2019.10-rc1 (2) * Implement the EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE event. * Address errors of type -Werror=address-of-packed-member when building with GCC9.1 * Fix an error when adding memory add addres 0x00000000. * Rework some code comments for Sphinx compliance.
2019-07-23Merge tag 'u-boot-stm32-20190723' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-stm - add rtc driver for stm32mp1 - add remoteproc driver for stm32mp1 - use kernel qspi compatible string for stm32
2019-07-23Merge tag 'rockchip-for-v2019.07-2' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip - rk3399 sdhci driver fixup - TPL BANNER fixup
2019-07-22rockchip: TPL banner should depend on CONFIG_TPL_BANNER_PRINTChris Webb
The generic code in common/spl/spl.c allows TPL/SPL banners to be silenced by unsetting CONFIG_TPL_BANNER_PRINT or CONFIG_SPL_BANNER_PRINT respectively. However, arch/arm/mach-rockchip/tpl.c prints this banner unconditionally. Fix the rockchip-specific tpl.c so that the TPL banner depends on CONFIG_TPL_BANNER_PRINT in the same way as the generic code. Signed-off-by: <chris@arachsys.com> Reviewed-by: Kever Yang <Kever.yang@rock-chips.com>
2019-07-22rockchip: Fix TPL build without CONFIG_TPL_SERIAL_SUPPORTChris Webb
If CONFIG_DEBUG_UART is set but CONFIG_TPL_SERIAL_SUPPORT is not, the serial output should be available in SPL and full U-Boot, but not built in TPL. However, the rockchip tpl.c instead fails to compile with undefined references to the debug UART. Instead, initialise the debug UART and print the TPL banner only if both CONFIG_DEBUG_UART and CONFIG_TPL_SERIAL_SUPPORT are set. Signed-off-by: <chris@arachsys.com> Reviewed-by: Kever Yang <Kever.yang@rock-chips.com>
2019-07-22ARM: dts: stm32: Use kernel qspi compatible string for ↵Patrice Chotard
stm32f469-disco-uboot.dtsi For STM32 QSPI driver, "st,stm32-qspi" compatible string was first introduced in U-boot. But later in kernel side, "st,stm32f469-qspi" was used. To simplify, align U-boot QSPI compatible string with kernel one. Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
2019-07-22ARM: dts: stm32: Use kernel qspi compatible string for stm32f7-uboot.dtsiPatrice Chotard
For STM32 QSPI driver, "st,stm32-qspi" compatible string was first introduced in U-boot. But later in kernel side, "st,stm32f469-qspi" was used. To simplify, align U-boot QSPI compatible string with kernel one. Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
2019-07-22dm: core: Introduce xxx_translate_dma_address()Fabien Dessenne
Add the following functions to translate DMA address to CPU address: - dev_translate_dma_address() - ofnode_translate_dma_address() - of_translate_dma_address() - fdt_translate_dma_address() These functions work the same way as xxx_translate_address(), with the difference that the translation relies on the "dma-ranges" property instead of the "ranges" property. Add related test. Test report: => ut dm fdt_translation Test: dm_test_fdt_translation: test-fdt.c Test: dm_test_fdt_translation: test-fdt.c (flat tree) Failures: 0 Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
2019-07-21Merge tag 'rockchip-for-v2019.07' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-rockchip - rk3399 lpddr4 support - rk3399-rock960 board support improvement - Eliminate pyelftools dependency by make_fit_atf.py - clean up rockchip dts to use -u-boot.dtsi - use ARM arch/generic timer instead of rk_timer - clean up Kconfig options for board support
2019-07-20rockchip: make_fit_atf.py: Eliminate pyelftools dependencyChris Webb
make_fit_aft.py depends on the non-standard library pyelftools to pull out PT_LOAD segments from ELF files. However, this is as easy to do manually, without imposing the extra dependency on users. Structures in the ELF file are unpacked into variables named to exactly match the ELF spec to ensure the destructuring code is reasonably self-documenting. Signed-off-by: Chris Webb <chris@arachsys.com> Reviewed-by: Andy Yan <andy.yan@rock-chips.com> Reviewed-by: Kever Yang <Kever.yang@rock-chips.com>
2019-07-20rockchip: enable rk322x TPL_BOOTROM_SUPPORT in KconfigKever Yang
The TPL_BOOTROM_SUPPORT is needed for boot from bootrom like other storages. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3399: use common TPL board fileKever Yang
Use common tpl.c instead of rk3399-board-tpl.c Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3399: remove TPL_BOARD_INITKever Yang
RK3399 TPL do not need a dedicate board init, print the firmware info when debug init instead. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3399: use common secure_timer_init() for spl/tplKever Yang
SPL/TPL share the same secure_timer_init(), update to use one copy source code and update to use CONFIG_ROCKCHIP_STIMER_BASE as base address and rename to function name to rockchip_stimer_init(). Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3368: use common TPL board fileKever Yang
Use common tpl.c instead of rk3368-board-tpl.c Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3288: use common TPL board fileKever Yang
Use Common tpl.c instead of rk3288-board-tpl.c Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk322x: use common TPL board fileKever Yang
Use Common tpl.c instead of rk322x-board-tpl.c Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: add common tpl board fileKever Yang
Rockchip SoCs have similar boot process, prefer to use TPL for DRAM init and back to bootrom, and SPL as Trust ATF/U-Boot loader. TPL common board is a basic TPL board init which can be shared for most of SoCs to avoid copy-pase for different SoCs. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: evb-px5: switch to use ARM generic timerKever Yang
Default to use ARM generic timer in ARM64, switch from rk timer to generic timer. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3368-lion: switch to use ARM generic timerKever Yang
Default to use ARM generic timer in ARM64, switch from rk timer to generic timer. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3368: enable stimer for rk3368Kever Yang
Add stimer_init() for spl/tpl so that we able to switch to use arch timer. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3368: move sgrf init to spl as arch_cpu_init()Kever Yang
The SoC related init will move to SPL and keep TPL clean, so that we can reuse the common TPL board file. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: remove rk_timerKever Yang
We have convert all SoC to use DM timer or ARM arch/generic timer, we can remove this rk_timer now. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: remove no use header file in board codeKever Yang
The timer.h is no use any more, remove it from the board files. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3128: use ARM arch timer instead of rk_timerKever Yang
We prefer to use ARM arch timer instead of rockchip timer, so that we are using the same timer for SPL, U-Boot and Kernel, which will make things simple and easy to track to boot time. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3288: use ARM arch timer instead of rk_timerKever Yang
We prefer to use ARM arch timer instead of rockchip timer, so that we are using the same timer for SPL, U-Boot and Kernel, which will make things simple and easy to track to boot time. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3036: use ARM arch timer instead of rk_timerKever Yang
We prefer to use ARM arch timer instead of rockchip timer, so that we are using the same timer for SPL, U-Boot and Kernel, which will make things simple and easy to track the boot time. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3036: sdram: use udelay instead of rockchip_udelayKever Yang
Use system api for udelay instead of vendor defined api, and rockchip_udelay() will be removed. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk322x: use ARM arch timer instead of rk_timerKever Yang
We prefer to use ARM arch timer instead of rockchip timer, so that we are using the same timer for SPL, U-Boot and Kernel, which will make things simple and easy to track to boot time. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3288: dts: enable spl-boot-orderKever Yang
We share the same default SPL boot order for all rk3288 boards, use dts instead of hard code in board file. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: spl-boot-order: update dependency to OF_LIBFDTKever Yang
The fdt interfaces are actuall depends on OF_LIBFDT instead of OF_CONTROL, some boards may enable OF_CONTROL while disable OF_LIBFDT. Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: popmetal-rk3288: add -u-boot.dtsiKever Yang
Move U-Boot relate dts node/property into -u-boot.dtsi Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: miqi-rk3288: add -u-boot.dtsiKever Yang
Move U-Boot relate dts node/property into -u-boot.dtsi Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2019-07-20rockchip: rk3288-firefly: sync sdmmc pinctrl from mainlineKever Yang
The rk3288-firefly board have different setting for sdmmc io, sync then from kernel mainline: 6fbc7275c7a9 Linux 5.2-rc7 Signed-off-by: Kever Yang <kever.yang@rock-chips.com>