summaryrefslogtreecommitdiff
path: root/arch/arm/include
AgeCommit message (Collapse)Author
2024-05-07arch: arm: Add Analog Devices SC5xx machine typeNathan Barrett-Morrison
Add support for the SC5xx machine type from Analog Devices. This includes support for the SC57x, SC58x, SC59x, and SC59x-64 SoCs, which have many common features such as common ADI IP blocks, and SHARC DSP cores. This commit introduces core functionality required for all boards using an SC5xx SoC, such as: - SPL configuration - Required CPU hooks such as reset - Boot ROM interaction to load the stage 2 bootloader in the reference configuration. Other options are possible but not officially supported at this time - SoC-common configuration expected to be reused by all boards - Early initialization for system clocks and DDR controller Co-developed-by: Greg Malysa <[email protected]> Signed-off-by: Greg Malysa <[email protected]> Co-developed-by: Ian Roberts <[email protected]> Signed-off-by: Ian Roberts <[email protected]> Signed-off-by: Vasileios Bimpikas <[email protected]> Signed-off-by: Utsav Agarwal <[email protected]> Signed-off-by: Arturs Artamonovs <[email protected]> Signed-off-by: Nathan Barrett-Morrison <[email protected]>
2024-05-07arm: sunxi: Add missing <linux/types.h>Tom Rini
These files have many "Linux" style types in them, add <linux/types.h> Signed-off-by: Tom Rini <[email protected]>
2024-05-07arm: aspeed: Add missing <linux/types.h>Tom Rini
The scu* files have many "Linux" style types in them, add <linux/types.h> Signed-off-by: Tom Rini <[email protected]>
2024-05-07board: rockchip: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from this board vendor directory and when needed add missing include files directly. Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-07board: nvidia: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from this board vendor directory and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-07board: freescale: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from this board vendor directory and when needed add missing include files directly. Acked-by: Jason Liu <[email protected]> Acked-by: Peng Fan <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-06global: Make <asm/global_data.h> include <asm/u-boot.h>Tom Rini
This follows the example of RISC-V where <asm/global_data.h> includes <asm/u-boot.h> directly as "gd" includes a reference to bd_info already and so the first must include the second anyhow. We then remove <asm/u-boot.h> from all of the places which include references to "gd" an so have <asm/global_data.h> already. Signed-off-by: Tom Rini <[email protected]>
2024-05-06arm: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from the remainder of the files under arch/arm and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-06arm: fsl-layerscape: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all fsl-layerscape related files and when needed add missing include files directly. Acked-by: Peng Fan <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-06arm: davinci: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all mach-davinci files and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-06arm: imx: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all mach-imx, CPU specific sub-directories and include/asm/arch-mx* files and when needed add missing include files directly. Acked-by: Peng Fan <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-06arm: omap2: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all mach-omap2 files and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-06arm: rockchip: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all mach-rockchip and include/asm/arch-rockchip files and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-05-06arm: tegra: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from all mach-tegra and include/asm/arch-tegra files and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-04-26rockchip: rk3308: Move cru and grf include files to arch-rockchipJonas Karlman
Move cru_rk3308.h and grf_rk3308.h to arch-rockchip to match path used for all other Rockchip SoCs. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-04-26clk: rockchip: rk3308: Add support for SCLK_RTC32K clockFinley Xiao
Add support to get and set the SCLK_RTC32K clock rate. Signed-off-by: Finley Xiao <[email protected]> [[email protected]: Update commit message] Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-04-26rockchip: bootrom: Sync bootsource id enum from bootromJason Zhu
Add more bootsource id: 1. BROM_BOOTSOURCE_UNKNOWN 2. BROM_BOOTSOURCE_I2C 3. BROM_BOOTSOURCE_SPI Signed-off-by: Jason Zhu <[email protected]> [[email protected]: Update commit message] Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Dragan Simic <[email protected]>
2024-04-22Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxiTom Rini
Not many and nothing really exciting this time: there are more patches in fly, but they are not ready yet. I will also send some DT updates and new board defconfig files later, once they have seen the list. I am aware of the USB rebasing repo efforts, but would like to see how this plays out, also we have one compatibility issue that I painstakingly work around in the U-Boot tree for the last three years or so. So for now I stick to the previous approach. So now just some easy changes: support for USB peripheral mode on the Allwinner F1C100s, T113-s3 SPI boot support, and some SPL cleanup patches. The branch passed the gitlab CI run, and brief boot testing on some boards didn't turn up any issues.
2024-04-22sunxi: sun9i: make more clock functions SPL onlyAndre Przywara
In clock_sun9i.c, responsible for (mostly early) clock setup on the Allwinner A80 SoC, many functions are only needed by the SPL, and are thus already guarded by CONFIG_SPL_BUILD. Over the years drivers like for the UART or I2C were converted to DM, and they care about clock setup themselves now, by using a proper DM clock driver. This means those devices need the clock setup functions here for the SPL only. Move some functions around, to group all SPL-only function within one #ifdef guard. Some functions were exported, but never used outside of this file, so remove their prototypes from the header file and mark them as static. This avoids unnecessary code in U-Boot proper and helps further refactoring. Add some comments on the way to help understanding of the file. Signed-off-by: Andre Przywara <[email protected]>
2024-04-22sunxi: move #ifdef guards around tzpc_init() to header fileAndre Przywara
Some later 32-bit SoCs require some setup of the Secure Peripherals Controller, which is handled in tzpc_init(). At the moment this is guarded in board.c by some #ifdefs selecting the SoCs that need it. Move those #ifdef guards into the header file, providing an empty stub function for all other SoCs, so that the #ifdefs can be removed from the .c file, to improve readability. Signed-off-by: Andre Przywara <[email protected]>
2024-04-21video: tegra20: dsi: add T114 supportSvyatoslav Ryhel
Existing Tegra DSI driver mostly fits T114 apart MIPI calibration which on T114 has dedicated driver. To resolve this MIPI calibration logic was split for pre-T114 and T114+ devices. Tested-by: Ion Agorria <[email protected]> # HTC One X Tested-by: Svyatoslav Ryhel <[email protected]> # Nvidia Tegratab T114 Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Thierry Reding <[email protected]>
2024-04-21video: tegra20: dc: parameterize V- and H-sync polaritiesSvyatoslav Ryhel
Based on Thierry Reding's Linux commit: 'commit 1716b1891e1de05e2c20ccafa9f58550f3539717 ("drm/tegra: rgb: Parameterize V- and H-sync polarities")' Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Thierry Reding <[email protected]>
2024-04-21video: tegra20: consolidate DC headerSvyatoslav Ryhel
Consolidate HD headers and place the result into video/tegra20 since it is used only by devices from this directory. Tested-by: Agneli <[email protected]> # Toshiba AC100 T20 Tested-by: Robert Eckelmann <[email protected]> # ASUS TF101 Tested-by: Andreas Westman Dorcsak <[email protected]> # ASUS Grouper E1565 Tested-by: Ion Agorria <[email protected]> # HTC One X Tested-by: Svyatoslav Ryhel <[email protected]> # Nvidia Tegratab T114 Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Thierry Reding <[email protected]>
2024-04-21video: tegra20: dc: diverge DC per-SOCSvyatoslav Ryhel
Diverge DC driver setup to better fit each of supported generations of Tegra SOC. Tested-by: Agneli <[email protected]> # Toshiba AC100 T20 Tested-by: Robert Eckelmann <[email protected]> # ASUS TF101 Tested-by: Andreas Westman Dorcsak <[email protected]> # ASUS Grouper E1565 Tested-by: Ion Agorria <[email protected]> # HTC One X Tested-by: Svyatoslav Ryhel <[email protected]> # Nvidia Tegratab T114 Signed-off-by: Svyatoslav Ryhel <[email protected]>
2024-04-21clk: rockchip: rk3328: Add VOP clk supportJagan Teki
VOP get and set clock would needed for VOP drivers. Add support for it. Signed-off-by: Jagan Teki <[email protected]>
2024-04-05arm: imx9: Correct imx9_probe_mu prototypeYe Li
Since the event callback imx9_probe_mu is re-defined, update its prototype. Signed-off-by: Ye Li <[email protected]>
2024-03-24imx: ele_ahab: Add ahab_commit command supportMathieu Othacehe
This message is used to commit into the fuses any new SRK revocation and FW version information that have been found into the NXP (ELE FW) and OEM containers. Signed-off-by: Mathieu Othacehe <[email protected]>
2024-03-19arm64: gic: Add power up sequence for GIC-600Venkatesh Yadav Abbarapu
Arm's GIC-600 features a Power Register (GICR_PWRR), which needs to be programmed to enable redistributor operation. Power on the redistributor and wait until the power on state is reflected by checking the bit GICR_PWRR.RDPD == 0. While running U-Boot in EL3 without enabling this register, GICR_WAKER.ChildrenAsleep bit is not getting cleared and loops infinitely. This register(GICR_PWRR) must be programmed to mark the frame as powered on, before accessing other registers in the frame. Rest of initialization sequence remains the same. ARM GIC-600 IP complies with ARM GICv3 architecture. Enable this config if GIC-600 IP present. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]>
2024-03-15Merge tag 'u-boot-rockchip-20240315' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip into next Please pull the updates for rockchip platform: - Add board: rk3588 Generic, Cool Pi CM5, Theobroma-Systems RK3588 Jaguar SBC, Toybrick TB-RK3588X; rk3588s Cool Pi 4B; rk3566 Pine64 PineTab2; - Add saradc v2 support; - Add PMIC RK806 support; - rk3588 disable force_jtag by default; - Migrate to use IO-domain driver for all boards; - Use common bss and stack addresses for rk33xx and rk35xx boards; - Other updates for driver, config and dts;
2024-03-13stv0991: Remove stv0991 board and architecture codeTom Rini
This architecture and related board are unmaintained currently and have been for a long time. Remove them. Signed-off-by: Tom Rini <[email protected]>
2024-03-13rockchip: include asm/io.h directly in asm/arch-rockchip/hardware.hQuentin Schulz
The different macros use writel which is defined in asm/io.h, so let's include the header so users of hardware.h do not need to include asm/io.h as well. While at it, remove asm/io.h includes wherever asm/arch-rockchip/hardware.h is included already. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-13rockchip: rk3588: add constants for some register address spacesQuentin Schulz
It's one thing to have the register mapped via a well-defined struct but it's another to be able to make use of it. For that to happen, one needs to cast the physical address memory of the beginning of the register address space with the struct. Since this cannot change, let's hardcode it in the include files so that users do not need to duplicate this line of code in their own implementation. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-13rockchip: rk3588: disable force_jtag by defaultQuentin Schulz
Rockchip SoCs can automatically switch between jtag and sdmmc based on the following rules: - all the SDMMC pins including SDMMC_DET set as SDMMC function in GRF, - force_jtag bit in GRF is 1, - SDMMC_DET is low (no card detected), Note that the BootROM may mux all SDMMC pins in their SDMMC function or not, depending on the boot medium that were tried. Because SDMMC_DET pin is not guaranteed to be used as an SD card card detect pin, it could be low at boot or even switch at runtime, which would enable the jtag function and render the SD card unusable. This is the case for RK3588 Jaguar for example which has an SD card connector without an SD card card detect signal and has SDMMC_DET connected to ground. Because enabling JTAG at runtime could be a security issue and also to make sure that we have a consistent behavior on all boards by default, let's disable this force_jtag feature. However, let's make it easy to reenable it for debugging purposes by hiding it behind a Kconfig symbol. Note that soc_con[0] is reserved. But considering that it's way more user-friendly to access soc_con1 from the TRM with soc_con[1] than soc_con[0], and that soc_con0 would actually be located at 4 bytes before soc_con1, let's just make soc_con0 part of the soc_con array. Cc: Quentin Schulz <[email protected]> Signed-off-by: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-03-13rockchip: transform rockchip_capsule_update_board_setup into a weak function ↵Quentin Schulz
symbol There's only one user of rockchip_capsule_update_board_setup, which is in board.c, and only one board defines it, so instead of having a header only for one function symbol, let's just use a weak symbol instead. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Reviewed-by: Dragan Simic <[email protected]> Reviewed-by: Peter Robinson <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-13rockchip: merge misc.c into board.cQuentin Schulz
The functions aren't used anywhere else than in board.c, therefore, let's not expose them anymore at all. This merges misc.c and board.c together and removes the functions from the misc.h header file. Cc: Quentin Schulz <[email protected]> Reviewed-by: Kever Yang <[email protected]> Signed-off-by: Quentin Schulz <[email protected]>
2024-03-05sunxi: reorganize mctl_mem_matches_* functionsAndrey Skvortsov
mctl_mem_matches and mctl_mem_matches_base identical functions. To avoid code duplication move them to dram_helpers and make mctl_mem_matches use generic mctl_mem_matches_base. Signed-off-by: Andrey Skvortsov <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2024-02-10imx93: Use a header for imx9_probe_mu declarationMathieu Othacehe
Put imx9_probe_mu declaration in a new mu.h header file. Signed-off-by: Mathieu Othacehe <[email protected]> Reviewed-by: Igor Opaniuk <[email protected]>
2024-01-29sunxi: sun9i: remove unneeded base addresses from headerAndre Przywara
The cpu_sun9i.h header file defined the base addresses for quite some peripherals of the Allwinner A80 CPU, even though we now only use a fraction of that. Most of the addresses are now either read from the DT, or were never used in U-Boot in the first place. Removed the ones that are not used in the whole of the U-Boot source. to make it clear that this file only contains addresses that are needed for the SPL operation. Signed-off-by: Andre Przywara <[email protected]>
2024-01-29sunxi: sun4i: remove unneeded base addresses from headerAndre Przywara
The cpu_sun4i.h header file defined the base addresses for quite some peripherals of earlier Allwinner CPUs, even though we now only use a fraction of that. Most of the addresses are now either read from the DT, or were never used in U-Boot in the first place. Removed the ones that are not used in the whole of the U-Boot source. to make it clear that this file only contains addresses that are needed for the SPL operation. Signed-off-by: Andre Przywara <[email protected]>
2024-01-29sunxi: sun50i-h6: remove unneeded base addresses from headerAndre Przywara
The cpu_sun50i_h6.h header file defined the base addresses for quite some peripherals of the Allwinner H6 and related CPUs, even though we now only use a fraction of that. Most of the addresses are now either read from the DT, or were never used in U-Boot in the first place. Removed the ones that are not used in the whole of the U-Boot source. to make it clear that this file only contains addresses that are needed for the SPL operation. Signed-off-by: Andre Przywara <[email protected]>
2024-01-19rockchip: rk3588: Fix boot from SPI flashJonas Karlman
The commit fd6e425be243 ("rockchip: rk3588-rock-5b: Enable boot from SPI NOR flash") added a new BROM_BOOTSOURCE_SPINOR_RK3588 with value 6. At the time the reason for this new bootsource id value 6 was unknown. We now know that the BootRom on RK3588 use different bootsource id values depending on the iomux used by the flash spi controller, and not by the type of spi nor or spi nand flash used. Add the following enum values and use them for RK3588 boot_devices. - BROM_BOOTSOURCE_FSPI_M0 = 3 - BROM_BOOTSOURCE_FSPI_M1 = 4 - BROM_BOOTSOURCE_FSPI_M2 = 6 Fixes: fd6e425be243 ("rockchip: rk3588-rock-5b: Enable boot from SPI NOR flash") Signed-off-by: Jonas Karlman <[email protected]> Tested-by: Slawomir Stepien <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-01-11Merge patch series "net fixes prior lwip"Tom Rini
Maxim Uvarov <[email protected]> says: Add small net fixes prior lwip patches.
2024-01-11omap3: use device specific naming for mem_initMaxim Uvarov
Use device specific naming for functions so as to not overlap with common function names. Signed-off-by: Maxim Uvarov <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-01-08Add imx93-var-som supportMathieu Othacehe
Add support for the Variscite VAR-SOM-IMX93 evaluation kit. The SoM consists of an NXP iMX93 dual A55 CPU. The SoM is mounted on a Variscite Symphony SBC. Signed-off-by: Mathieu Othacehe <[email protected]>
2024-01-07arm: add ACPI fields to global dataHeinrich Schuchardt
Add fields for the location of ACPI tables to the global data. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-01-03ARM: tegra114: expand MC register mapSvyatoslav Ryhel
This expansion is required for nonsecure detection to work correctly. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2024-01-02tegra114: clock: define MIPI calibration peripheral clockSvyatoslav Ryhel
TEGRA114_CLK_MIPI_CAL is a fixed child of PLLP and is used as clock source of the MIPI PHY calibration mechanism. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2023-12-21arm: Remove <asm/types.h> from asm/global_data.hTom Rini
We need and include <linux/types.h> and this in turn already includes <asm/types.h>, so drop it here. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2023-12-21arm: Partial cleanup and audit usage of <config.h>Tom Rini
We need to include <config.h> directly when a file needs to have something such as CFG_SYS_SDRAM_SIZE referenced as this file is not automatically globally included and is most commonly indirectly included via common.h. Remove most cases of arm including config.h directly, but add it where needed. This includes a few board-specific fixes. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2023-12-21global: Restrict use of '#include <linux/kconfig.h>'Tom Rini
In general terms, we -include include/linux/kconfig.h and so normal U-Boot code does not need to also #include it. However, for code which is shared with userspace we may need to add it so that either our full config is available or so that macros such as CONFIG_IS_ENABLED() can be evaluated. In this case make sure that we guard these includes with a test for USE_HOSTCC so that it clear as to why we're doing this. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Tom Rini <[email protected]>