aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2024-02-07Merge tag 'u-boot-rockchip-20240207' of ↵WIP/07Feb2024Tom Rini63-349/+1272
https://source.denx.de/u-boot/custodians/u-boot-rockchip - Add board: rv1126 Sonoff iHost board - rv1126 ddr4 support; - Enable BOOTSTD_FULL for RK3399 and RK3588; - rk3036 spl stack addr fix; - dts sync from linux v6.8-rc1 for rk356x, rk3588, rv1126; - Enable eMMC HS200 mode by default for rk3568 and rk3588;
2024-02-07arm: dts: rockpro64: Add RockPro64 smbiosShantur Rathore1-0/+22
Add smbios information for Pine64 RockPro64 board and enable in config Signed-off-by: Shantur Rathore <i@shantur.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-02-05Merge tag 'rpi-next-2024.04' of ↵Tom Rini6-17/+74
https://source.denx.de/u-boot/custodians/u-boot-raspberrypi Add RaspberryPi5 basic support. Acked-by: Peter Robinson <pbrobinson@gmail.com>
2024-02-05rockchip: rk3568-generic: Enable eMMC HS200 modeJonas Karlman2-1/+12
Writing to eMMC using HS200 mode work more reliably then other modes on RK356x boards. Add device tree props and enable Kconfig options for eMMC HS200 mode on the generic RK3566/RK3568 board. Also enable the pinctrl driver in SPL and add missing rk3568-generic.dtb to Makefile. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-05rockchip: rk35xx: Enable eMMC HS200 mode by defaultJonas Karlman1-0/+4
Testing has shown that writing to eMMC using a slower mode then HS200 typically generate an ERROR on first attempt on RK3588. # Rescan using MMC legacy mode => mmc rescan 0 # Write a single block to sector 0x4000 fails with ERROR => mmc write 20000000 4000 1 # Write a single block to sector 0x4000 now works => mmc write 20000000 4000 1 With the MMC_SPEED_MODE_SET Kconfig option enabled. Writing to eMMC using HS200 mode work more reliably than slower modes on RK35xx boards. Enable MMC_HS200_SUPPORT Kconfig option by default to prefer use of HS200 mode on RK356x and RK3588. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-05rockchip: rk35xx: Remove use of eMMC DDR52 modeJonas Karlman12-12/+0
Testing has shown that writing to eMMC using DDR52 mode does not seem to work on RK356x and RK3588 boards. A simple test of writing a single block to e.g. sector 0x4000 fails: # Rescan using DDR52 mode => mmc rescan 4 # Write a single block to sector 0x4000 fails with ERROR => mmc write 20000000 4000 1 With the MMC_SPEED_MODE_SET Kconfig option enabled. Fix this by removing the mmc-ddr-1_8v prop from sdhci nodes in affected board u-boot.dtsi files. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-04rockchip: rk35xx: Remove unnecessary status propsJonas Karlman3-14/+1
Remove unnecessary status props from rk35xx u-boot.dtsi files, regular device tree files or default value already enable the affected nodes. Also reorder bootph-pre-ram and clock-frequency props alphabetically in rk3588s-u-boot.dtsi uart2 node. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-04rockchip: rk3588: Add default u-boot,spl-boot-order propJonas Karlman7-34/+4
Add a default u-boot,spl-boot-order prop to rk3588s-u-boot.dtsi and remove the prop from board u-boot.dtsi files using the default value. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Eugen Hristev <eugen.hristev@collabora.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-04rockchip: rk3588: Sync device tree from linux v6.8-rc1Jonas Karlman13-36/+247
Sync rk3588 device tree from linux v6.8-rc1. Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
2024-02-04rockchip: rk3588: Sync device tree with linux v6.7Jonas Karlman7-34/+47
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 <jonas@kwiboo.se>
2024-02-04rockchip: rk356x: Move common uart2 props to rk356x-u-boot.dtsiJonas Karlman14-156/+5
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 <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-04rockchip: rk356x: Sync device tree from linux v6.8-rc1Jonas Karlman6-3/+16
Sync rk356x device tree from linux v6.8-rc1. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-04rockchip: rk356x: Sync device tree from linux v6.7Jonas Karlman12-48/+47
Sync rk356x device tree from linux v6.7. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-04arch: arm: mach-rockchip: Kconfig: Enable BOOTSTD_FULL for RK3399 and RK3588Shantur Rathore1-0/+2
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 <sjg@chromium.org> Signed-off-by: Shantur Rathore <i@shantur.com>
2024-02-04rockchip: rv1126: select SPL_OPTEE_IMAGETim Lunn1-0/+1
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 <tim@feathertop.org> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-04board: rockchip: Add Sonoff iHost boardTim Lunn2-0/+21
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 <tim@feathertop.org> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-04arm: dts: rockchip: Sync rv1126 dts from linux 6.8-rc1Tim Lunn6-10/+835
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 <tim@feathertop.org> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-04rockchip: sdram: fix LPDDR5 bank info for sys_reg version 3YouMin Chen1-1/+8
This patch add support for additional bank info used by LPDDR5. Series-version: 2 Signed-off-by: YouMin Chen <cym@rock-chips.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
2024-02-01Merge tag 'u-boot-amlogic-fixes-20240201' of ↵Tom Rini1-10/+0
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 Rini1-9/+65
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 Cao1-0/+5
Add the axp15060 regulator device. OpenSBI uses this device to perform board reset and shutdown. Signed-off-by: Nam Cao <namcao@linutronix.de> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-01-31riscv: dts: jh7110: add power management unit controller nodeNam Cao1-0/+6
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 <namcao@linutronix.de> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-01-31riscv: sophgo: milkv_duo: initial support addedKongyang Liu1-0/+4
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 <seashell11234455@gmail.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-01-31riscv: dts: sophgo: add basic device tree for Milk-V Duo boardKongyang Liu4-0/+249
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 <seashell11234455@gmail.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-01-31riscv: Support building with Clangkleines Filmröllchen1-1/+1
The -ffixed-gp option of GCC has an exact equivalent of -ffixed-x3 in Clang. Signed-off-by: kleines Filmröllchen <filmroellchen@serenityos.org> Reviewed-by: Tom Rini <trini@konsulko.com>
2024-01-31cmd: sbi: add support for Debug Trigger ExtensionHeinrich Schuchardt1-0/+1
Detect and show if the SBI implements the Debug Trigger Extension. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-01-31board: sifive: spl: Initialized the PWM setting in the SPL stageVincent Chen1-0/+15
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 <vincent.chen@sifive.com> Co-developed-by: Nylon Chen <nylon.chen@sifive.com> Signed-off-by: Nylon Chen <nylon.chen@sifive.com> Co-developed-by: Zong Li <zong.li@sifve.com> Signed-off-by: Zong Li <zong.li@sifve.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-01-30rpi5: Use devicetree as alternative way to read IO base addressesDmitry Malkin6-17/+43
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 <dmitry@bedrocksystems.com> Reviewed-by: Matthias Brugger <mbrugger@suse.com> Tested-by: Jens Maus <mail@jens-maus.de> Tested-by: Darko Alavanja <darko.alavanja@konsulko.com> Signed-off-by: Ivan T. Ivanov <iivanov@suse.de> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
2024-01-30rpi5: add initial memory map for bcm2712Dmitry Malkin1-0/+31
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 <dmitry@bedrocksystems.com> Tested-by: Jens Maus <mail@jens-maus.de> Tested-by: Darko Alavanja <darko.alavanja@konsulko.com> Signed-off-by: Ivan T. Ivanov <iivanov@suse.de> Signed-off-by: Matthias Brugger <mbrugger@suse.com>
2024-01-30ARM: meson: stop printing board model after sysinfo updateNeil Armstrong1-10/+0
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/20240124-u-boot-model-print-fix-v1-1-484960069623@linaro.org Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
2024-01-29treewide: Remove clk_freeSean Anderson6-20/+2
This function is a no-op. Remove it. Signed-off-by: Sean Anderson <seanga2@gmail.com> Link: https://lore.kernel.org/r/20231216193843.2463779-3-seanga2@gmail.com
2024-01-29clk: Remove rfreeSean Anderson1-8/+0
Nothing uses this function. Remove it. Since clk_free no longer does anything, just stub it out. Signed-off-by: Sean Anderson <seanga2@gmail.com> Link: https://lore.kernel.org/r/20231216193843.2463779-2-seanga2@gmail.com
2024-01-29Merge tag 'efi-2024-04-rc1-4' of ↵Tom Rini3-30/+61
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 Rini1-5/+12
Devarsh Thakkar <devarsht@ti.com> 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 Thakkar1-5/+12
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 <devarsht@ti.com> Reviewed-by: Nikhil M Jain <n-jain1@ti.com>
2024-01-29sunxi: binman: Support FIT generation for 32-bit SoCsSamuel Holland1-5/+20
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 <samuel@sholland.org> [Andre: filter U-Boot entry point property] Reviewed-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-01-29sunxi: binman: Move BL31 and SCP firmware addresses to KconfigSamuel Holland2-17/+24
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 <samuel@sholland.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Andre Przywara <andre.przywara@arm.com>
2024-01-29sunxi: add Transpeed 8K618-T board supportNick Alilovic1-0/+1
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 <nickalilovic@gmail.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com>
2024-01-29sunxi: dts: update devicetree files from Linux-v6.8-rc1Andre Przywara9-0/+893
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 <andre.przywara@arm.com>
2024-01-29riscv: separate .data and .text sections of EFI binariesHeinrich Schuchardt3-23/+58
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 <heinrich.schuchardt@canonical.com>
2024-01-29riscv: page align EFI binary sectionHeinrich Schuchardt1-1/+1
Change the alignment of the relocation code in EFI binaries to match page boundaries. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-01-29riscv: conflicting SPDX license linker scriptsHeinrich Schuchardt2-6/+2
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 <heinrich.schuchardt@canonical.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2024-01-29sunxi: simplify U-Boot proper only buildsAndre Przywara2-10/+10
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 <andre.przywara@arm.com>
2024-01-29sunxi: remove common.h inclusionAndre Przywara24-24/+3
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 <andre.przywara@arm.com>
2024-01-29sunxi: sun9i: remove unneeded base addresses from headerAndre Przywara1-41/+0
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 <andre.przywara@arm.com>
2024-01-29sunxi: sun4i: remove unneeded base addresses from headerAndre Przywara1-47/+0
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 <andre.przywara@arm.com>
2024-01-29sunxi: sun50i-h6: remove unneeded base addresses from headerAndre Przywara1-21/+0
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 <andre.przywara@arm.com>
2024-01-24arm: mach-k3: am62: provide more soc feature info accessorsMax Krummenacher1-0/+16
Add two functions, one which returns the SoC speed grade and one which returns the SoC operating temperature range. Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2024-01-24arm: mach-k3: am62: move device identification accessor functions to headerMax Krummenacher2-23/+23
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 <max.krummenacher@toradex.com>
2024-01-22mtd: Make CONFIG_MTD be the gate symbol for the menuTom Rini8-1/+23
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 <trini@konsulko.com>