summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2024-02-04rockchip: rk3588: Sync device tree from linux v6.8-rc1Jonas Karlman
Sync rk3588 device tree from linux v6.8-rc1. Signed-off-by: Jonas Karlman <[email protected]>
2024-02-04rockchip: rk3588: Sync device tree with linux v6.7Jonas Karlman
Sync rk3588 device tree from linux v6.7. Also drop the rockchip,rk3568-dwc3 compatible now that dwc3-generic driver support the rockchip,rk3588-dwc3 compatible. Signed-off-by: Jonas Karlman <[email protected]>
2024-02-04rockchip: rk356x: Move common uart2 props to rk356x-u-boot.dtsiJonas Karlman
Move uart2 bootph-pre-ram and clock-frequency props from board to SoC u-boot.dtsi. Regular board device tree already enables the uart2 node, so status prop is dropped from u-boot.dtsi file. Also remove unnecessary stdout-path = &uart2, regular board device tree already provide a stdout-path = "serial2:" value. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-02-04rockchip: rk356x: Sync device tree from linux v6.8-rc1Jonas Karlman
Sync rk356x device tree from linux v6.8-rc1. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-02-04rockchip: rk356x: Sync device tree from linux v6.7Jonas Karlman
Sync rk356x device tree from linux v6.7. Signed-off-by: Jonas Karlman <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-02-04arch: arm: mach-rockchip: Kconfig: Enable BOOTSTD_FULL for RK3399 and RK3588Shantur Rathore
Rockchip RK3399 and RK3588 SoCs can support wide range of bootflows. Without full bootflow commands, it can be difficult to figure out issues if any, hence enable by default. Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Shantur Rathore <[email protected]>
2024-02-04rockchip: rv1126: select SPL_OPTEE_IMAGETim Lunn
rv1126 requires OPTEE as it provides pcsi support. Mainline Linux kernel will fail to boot without this. Select SPL_OPTEE_IMAGE when building FIT image. TEE must be provided when building. Signed-off-by: Tim Lunn <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-02-04board: rockchip: Add Sonoff iHost boardTim Lunn
Sonoff iHost is gateway device designed to provide a Smart Home Hub, it is based on Rockchip RV1126. There is also a version with 2GB RAM based off the RV1109 dual core SoC however this works with the same config as the RV1126 for uboot purposes. Features: - Rockchip RV1126 - 4GB DDR4 - 8GB eMMC - microSD slot - RMII Ethernet PHY - 1x USB 2.0 Host - 1x USB 2.0 OTG - Realtek RTL8723DS WiFi/BT - EFR32MG21 Silabs Zigbee radio - Speaker/Microphone Signed-off-by: Tim Lunn <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-02-04arm: dts: rockchip: Sync rv1126 dts from linux 6.8-rc1Tim Lunn
Sync linux dts files for rv1126 boards from linux v6.8-rc1 tag. Includes the newly added dts for Sonoff iHost. Signed-off-by: Tim Lunn <[email protected]> Reviewed-by: Kever Yang <[email protected]>
2024-02-04rockchip: sdram: fix LPDDR5 bank info for sys_reg version 3YouMin Chen
This patch add support for additional bank info used by LPDDR5. Series-version: 2 Signed-off-by: YouMin Chen <[email protected]> Signed-off-by: Kever Yang <[email protected]>
2024-02-01Merge tag 'u-boot-amlogic-fixes-20240201' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-amlogic - stop printing board model twice after sysinfo update
2024-01-31Merge tag 'u-boot-at91-2024.04-a' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-at91 First set of u-boot-at91 features for the 2024.04 cycle: This set includes some DT alignments and solves a compile issue for custom nand defconfigs.
2024-01-31riscv: dts: starfive: add regulator deviceNam Cao
Add the axp15060 regulator device. OpenSBI uses this device to perform board reset and shutdown. Signed-off-by: Nam Cao <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-01-31riscv: dts: jh7110: add power management unit controller nodeNam Cao
JH7110 has a power management unit controller node. Add this node. This device is used by OpenSBI during board reset/shutdown. Signed-off-by: Nam Cao <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-01-31riscv: sophgo: milkv_duo: initial support addedKongyang Liu
Add support for Sophgo's Milk-V Duo board, only minimal device tree and serial console are enabled, and it can boot via vendor first stage bootloader. Signed-off-by: Kongyang Liu <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-01-31riscv: dts: sophgo: add basic device tree for Milk-V Duo boardKongyang Liu
Import device tree from Linux kernel to add basic support for CPU, PLIC, UART and Timer. The name cv1800b in the filename represent the chip used on Milk-V Duo board. Signed-off-by: Kongyang Liu <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-01-31riscv: Support building with Clangkleines Filmröllchen
The -ffixed-gp option of GCC has an exact equivalent of -ffixed-x3 in Clang. Signed-off-by: kleines Filmröllchen <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-01-31cmd: sbi: add support for Debug Trigger ExtensionHeinrich Schuchardt
Detect and show if the SBI implements the Debug Trigger Extension. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-01-31board: sifive: spl: Initialized the PWM setting in the SPL stageVincent Chen
LEDs and multiple fans can be controlled by SPL. This patch ensures that all fans have been enabled in the SPL stage. In addition, the LED's color will be set to yellow. Signed-off-by: Vincent Chen <[email protected]> Co-developed-by: Nylon Chen <[email protected]> Signed-off-by: Nylon Chen <[email protected]> Co-developed-by: Zong Li <[email protected]> Signed-off-by: Zong Li <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2024-01-30rpi5: Use devicetree as alternative way to read IO base addressesDmitry Malkin
MBOX and Watchdog on RPi5/bcm2712 have a different base IO offsets. Find them via devicetree blob passed by bootloader. Signed-off-by: Dmitry Malkin <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Tested-by: Jens Maus <[email protected]> Tested-by: Darko Alavanja <[email protected]> Signed-off-by: Ivan T. Ivanov <[email protected]> Signed-off-by: Matthias Brugger <[email protected]>
2024-01-30rpi5: add initial memory map for bcm2712Dmitry Malkin
This includes: * 1GB of RAM (from 4GB or 8GB total) * AXI ranges (main peripherals) When HDMI cable is plugged in at boot time firmware will insert "simple-framebuffer" device into devicetree and will shrink first memory region to 0x3f800000UL. Board setup then will properly reserve framebuffer region. When no HDMI cable is plugged in the size of the region will be 0x3fc00000UL. Signed-off-by: Dmitry Malkin <[email protected]> Tested-by: Jens Maus <[email protected]> Tested-by: Darko Alavanja <[email protected]> Signed-off-by: Ivan T. Ivanov <[email protected]> Signed-off-by: Matthias Brugger <[email protected]>
2024-01-30ARM: meson: stop printing board model after sysinfo updateNeil Armstrong
After the sysinfo update, Model is printed twice, remove the now duplicate Model print from mach-meson/board-info. Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Neil Armstrong <[email protected]>
2024-01-29treewide: Remove clk_freeSean Anderson
This function is a no-op. Remove it. Signed-off-by: Sean Anderson <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2024-01-29clk: Remove rfreeSean Anderson
Nothing uses this function. Remove it. Since clk_free no longer does anything, just stub it out. Signed-off-by: Sean Anderson <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2024-01-29Merge tag 'efi-2024-04-rc1-4' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2024-04-rc1-4 Documentation: * uefi: remove ".py" suffix for pytest.py command * correct date in migration plan for CONFIG_DM UEFI: * fix conflicting SPDX license in RISC-V EFI linker scripts * page align EFI binary section in RISC-V EFI binaries * separate .data and .text sections of RISC-V EFI binaries * use common function to get EFI configuration table
2024-01-29Merge patch series "Move framebuffer reservation for SPL to RAM end"Tom Rini
Devarsh Thakkar <[email protected]> says: Move video memory reservation for SPL at end of RAM so that it does not interefere with reservations for next stage so that the next stage need not have holes in between for passed regions and instead it can maintain continuity in reservations. Also catch the bloblist before starting reservations to avoid the same problem. While at it, also fill missing fields in video handoff struct before passing it to next stage. This is as per discussions at : For moving SPL framebuffer reservation at end of RAM: https://lore.kernel.org/all/CAPnjgZ3xSoe_G3yrqwuAvoiVjUfZ+YQgkOR0ZTVXGT9VK8TwJg@mail.gmail.com/ For filling missing video handoff fields : https://lore.kernel.org/all/CAPnjgZ1Hs0rNf0JDirp6YPsOQ5=QqQSP9g9qRwLoOASUV8a4cw@mail.gmail.com/
2024-01-29arm: mach-k3: common: Reserve video memory from end of the RAMDevarsh Thakkar
Setup video memory before page table reservation using "spl_reserve_video_from_ram_top" which ensures framebuffer memory gets reserved from the end of RAM. This is done to enable the next stage to directly skip the pre-reserved area from previous stage right from the end of RAM without having to make any gaps/holes to accommodate those regions which was the case before as previous stage reserved region not from the end of RAM. Use gd->ram_top instead of local ram_top and update gd->reloc_addr after each reservation to ensure further regions are reserved properly. Signed-off-by: Devarsh Thakkar <[email protected]> Reviewed-by: Nikhil M Jain <[email protected]>
2024-01-29sunxi: binman: Support FIT generation for 32-bit SoCsSamuel Holland
Some 32-bit SoCs can use SCP firmware to implement additional PSCI functionality, such as system suspend. In order to load this firmware from SPL, we need to generate and use a FIT instead of a legacy image. Adjust the binman FIT definition so it does not rely on TF-A BL31, as this is not used on 32-bit SoCs. Instead, after loading the firmware, U-Boot proper is executed directly. This requires to provide an entry point property for the U-Boot image node, which confuses some loaders like sunxi-fel, so protect that to only be used if we have no BL31. Signed-off-by: Samuel Holland <[email protected]> [Andre: filter U-Boot entry point property] Reviewed-by: Andre Przywara <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-01-29sunxi: binman: Move BL31 and SCP firmware addresses to KconfigSamuel Holland
This is easier to read than the #ifdef staircase, provides better visibility into the memory map (alongside the other Kconfig definitions), and allows these addresses to be reused from code. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2024-01-29sunxi: add Transpeed 8K618-T board supportNick Alilovic
This is a Chinese TV box based on Allwinner H618 SoC. The DRAM parameters were derived from the values found in a firmware update. Signed-off-by: Nick Alilovic <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2024-01-29sunxi: dts: update devicetree files from Linux-v6.8-rc1Andre Przywara
Sync the devicetree files from the official Linux kernel tree, v6.8-rc1. This time only small changes in the existing files, but five new boards got added, which opens the door for their respective defconfig files. As before, this omits the non-backwards compatible changes to the R_INTC controller, to remain compatible with older kernels. Signed-off-by: Andre Przywara <[email protected]>
2024-01-29riscv: separate .data and .text sections of EFI binariesHeinrich Schuchardt
EFI binaries should not contain sections that are both writable and executable. Separate the RX .text section from the RW .data section Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-01-29riscv: page align EFI binary sectionHeinrich Schuchardt
Change the alignment of the relocation code in EFI binaries to match page boundaries. Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-01-29riscv: conflicting SPDX license linker scriptsHeinrich Schuchardt
Fix conflicting SPDX license information in linker scripts introduced by commit 7215787c4ea4 ("SPDX: Convert single license tags to Linux Kernel style"). Fixes: 7215787c4ea4 ("SPDX: Convert single license tags to Linux Kernel style") Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-01-29sunxi: simplify U-Boot proper only buildsAndre Przywara
At the moment every Allwinner board builds and requires an SPL, even though we select this individually in each _defconfig file. For experiments and for early bringup of new SoCs it would be beneficial to only build U-Boot proper, for instance to postpone a tedious SPL port (including DRAM support) in the initial phase. Protect some SPL related symbols that we unconditionally select at the moment with "if SPL", to avoid Kconfig conflicts when CONFIG_SPL is disabled. This alone does not cleanly build U-Boot proper only yet, but gets it far enough so that the binary can be harvested. Signed-off-by: Andre Przywara <[email protected]>
2024-01-29sunxi: remove common.h inclusionAndre Przywara
The usage of the common.h include file is deprecated, and has already been removed from several files. Get rid of all inclusions in the arch/arm/mach-sunxi directory. Most files actually don't need the header at all, for the few others just include the headers that we actually require. Signed-off-by: Andre Przywara <[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-24arm: mach-k3: am62: provide more soc feature info accessorsMax Krummenacher
Add two functions, one which returns the SoC speed grade and one which returns the SoC operating temperature range. Signed-off-by: Max Krummenacher <[email protected]>
2024-01-24arm: mach-k3: am62: move device identification accessor functions to headerMax Krummenacher
mach-k3/am625_fdt.c does fdt fixup depending on fields in the device identification register. Move the accessors to the device identification register as inline functions into the am62_hardware.h header, so that they can be used for other functionality. Signed-off-by: Max Krummenacher <[email protected]>
2024-01-24board: samsung: Add support for E850-96 boardSam Protsenko
Add support for WinLink E850-96 board [1]. It's based on Exynos850 SoC and follows 96boards specification, so it's compatible with 96boards mezzanine boards [2]. This patch enables next features: * Serial console * USI * PMU (muxing AP UART path) * Pinctrl * Clocks * Timer (ARMv8 architected) * Reset control It's quite a minimal enablement. Features like MMC, USB and Ethernet will be enabled later. The rationale for config values is as follows: * TEXT_BASE = 0xf8800000 That's where BL2 loads the U-Boot payload, so TEXT_BASE must be exactly this value. Overall the memory map is designed in a way to keep the bootloader in the upper 128 MiB area of RAM, which is 0xf8000000..0xffffffff. That includes bootloader's code, stack, data, heap, MMU tables, etc. All the memory below that 128 MiB chunk can be used for storing boot images (0x80000000..0xf8000000). * CUSTOM_SYS_INIT_SP_ADDR = 0xf8c00000 Just 4 MiB above the TEXT_BASE address, to leave enough space for U-Boot code and stack itself (grows downwards). * SYS_LOAD_ADDR = 0x80000000 The beginning of RAM. That's where Linux kernel image must be loaded. * SYS_MALLOC_LEN = 0x81f000 8 MiB for malloc() + ENV_SIZE (128 KiB) * SYS_MALLOC_F_LEN = 0x4000 Increase malloc() pool size available before relocation from 8 KiB (default) to 16 KiB. Otherwise "alloc space exhausted" message appears in U-Boot log during board_init_f() stage. There are next reasons for doing so: 1. Having "bootph-all" flags in some dts nodes leads to binding those during pre-relocation stage, and binding (DM) uses dynamic memory allocation 2. clk-exynos850 driver uses CCF clocks, which in turn use dynamic memory allocation Device tree file was imported from Linux kernel. All nodes and boot phase flags added in exynos850-e850-96-u-boot.dtsi are only needed to enable serial console: * oscclk -> cmu_top -> cmu_peri: generate UART/USI clocks * pinctrl_alive and uart1_pins: needed to mux UART pins * pmu_system_controller: configures AP UART path to uart1_pins * usi_uart: configures USI block to operate as a UART protocol * serial_0: enables serial console (UART) [1] https://www.96boards.org/product/e850-96b/ [2] https://www.96boards.org/products/mezzanine/ Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-24arm: exynos: Add Exynos850 SoC supportSam Protsenko
Samsung Exynos850 is ARMv8-based mobile-oriented SoC. It features Cortex-A55 CPU (8 cores) and it's built using 8nm process. Add Exynos850 support by enabling next features: * Import Exynos850 SoC dtsi files from Linux kernel * Add Exynos850 MMU memory map * Introduce ARCH_EXYNOS9 platform config option Signed-off-by: Sam Protsenko <[email protected]> Signed-off-by: Minkyu Kang <[email protected]>
2024-01-22mtd: Make CONFIG_MTD be the gate symbol for the menuTom Rini
The help for CONFIG_MTD explains that it needs to be enabled for various things like NAND, etc to be available. It however then doesn't enforce this dependency and so if you have none of these systems present you still need to disable a number of options. Fix this by making places that select/imply one type of flash, but did not do the same, also do this for "MTD". Make boards which hadn't been enabling MTD already but need it now, do so. In a few places, disable CONFIG_CMD_MTDPARTS as it wasn't previously enabled but was now being implied. Signed-off-by: Tom Rini <[email protected]>
2024-01-22omap3: Make SPL_OMAP3_ID_NAND depend on NAND_OMAP_GPMCTom Rini
This specific bit logic is used to determine what NAND chip is present on a board in order to then know what revision of the board we have and so what DDR chips are present. We can only do this if we have a NAND chip, and so we will have NAND_OMAP_GPMC enabled. Signed-off-by: Tom Rini <[email protected]>
2024-01-22Merge tag 'u-boot-imx-master-20240122' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx - Allow i.MX8M Plus DHCOM to operate in overdrive mode. - Allow i.MX8M Plus eDM SBC to operate in overdrive mode. - Enable the 'kaslrseed' command on DH i.MX8M Plus DHCOM. - Select LTO by default on i.MX8M. - Convert pico-dwarf/hobbit-imx6ul to CONFIG_DM_SERIAL. - Fix 'reset' command on wandboard.
2024-01-22wandboard: Convert to watchdog driver modelFabio Estevam
Commit 68dcbdd594d4 ("ARM: imx: Add weak default reset_cpu()") caused the 'reset' command in U-Boot to not cause a board reset. Fix it by switching to the watchdog driver model via sysreset, which is the preferred method for implementing the watchdog reset. Signed-off-by: Fabio Estevam <[email protected]>
2024-01-22imx8m: Enable LTO by defaultFabio Estevam
In an attempt to select ARMV8_SPL_EXCEPTION_VECTORS, the SPL size could not fit into the internal SRAM of some imx8m targets: aarch64: + imx8mm_phg +aarch64-linux-ld.bfd: u-boot-spl section `__u_boot_list' will not fit in region `.sram' +aarch64-linux-ld.bfd: region `.sram' overflowed by 1824 bytes Select LTO to prevent that. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2024-01-22arm: dts: agilex: Increase reserved memory size to 32MBDinesh Maniyam
The reserved space is extended to 32MB in Linux kernel because additional space is needed for authorization execution of JIC/RBF file. U-Boot required to align with Linux. Signed-off-by: Dinesh Maniyam <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2024-01-22arm: socfpga: stratix10: SPI clock supportDinesh Maniyam
This patch is to add SPI clock support for stratix10. Get clock rate function always returning 0 because the DW-SPI driver get the rate from clock node in dts but Stratix10 does not support device tree clock node.To overcome this spi will get the clock_rate directly from spi clock controller override the weaker function. Signed-off-by: Dinesh Maniyam <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>