aboutsummaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2024-07-29omap3: sniper: Go for raw MMC1 boot when booting USB > MMC2Paul Kocialkowski
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
2024-07-29omap3: sniper: Enable MMC1 boot with crude LP8720 PMIC supportPaul Kocialkowski
Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
2024-07-29omap3: sniper: Convert to device-tree control and DM I2CPaul Kocialkowski
This converts the sniper board (LG P970) to device-tree control and DM I2C, both for SPL and U-Boot. Note that we lose the call to board_mmc_power_init to enable power for MMC2. This is now expected to take place through proper regulators, which are not yet available with the twl4030 driver. The call to twl4030_power_mmc_init is moved to spl_board_init for now. Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
2024-07-29am33xx: Use regular spl_board_init instead of am33xx_spl_board_initPaul Kocialkowski
The am33xx_spl_board_init function was introduced as a way to add board-specific SPL init for AM33xx devices since the spl_board_init function was already used for SoC-specific init. Now that the SoC-specific SPL init was moved to spl_soc_init, we can use spl_board_init for this purpose and get rid of am33xx_spl_board_init. Rename the function in board files and enable the related config option for concerned boards. Signed-off-by: Paul Kocialkowski <paulk@sys-base.io>
2024-07-29omap: Use spl_soc_init instead of spl_board_initPaul Kocialkowski
Both spl_board_init and spl_soc_init are available as ways to run specific code in the SPL's board_init_r. Use the former for init code that is specific to the SoC and leave spl_board_init available for boards to use. Signed-off-by: Paul Kocialkowski <paulk@sys-base.io>
2024-07-26Merge branch 'qcom-main' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-snapdragon * Qualcomm platforms >~2016 gain support for the RPMh (Resource Power Manager) peripheral which is used to control most regulators. The RB5 is now able to power up its USB VBUS regulator via the rpmh regulator driver. Git history from the original Linux driver is preserved for ease of maintenance. * IPQ40xx SoCs gain ethernet networking support via the new ESS EDMA driver.
2024-07-26arm: dts: add IPQ4019 ESS EDMA U-Boot additionsRobert Marko
IPQ4019 ESS EDMA support is not yet in upstream Linux, so for now lets use the latest pending Linux DTS node for wired networking. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2024-07-25Merge branch 'master' of https://gitlab.denx.de/u-boot/custodians/u-boot-samsungTom Rini
2024-07-24arm: exynos: Enable TRNG on E850-96 boardSam Protsenko
Enable True Random Number Generator (TRNG) on E850-96 board. To do so: 1. Enable DM_RNG and RNG_EXYNOS for TARGET_E850_96 2. Add TRNG node to E850-96 device tree 3. Enable 'rng' command support for easy TRNG testing TRNG node is already applied in Linux kernel device tree, but it hasn't appeared in upstream dts yet. Add it in U-Boot override dtsi file temporarily; it can be removed once it appears in upstream dts. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2024-07-23arm: Remove omap3_beagle boardTom Rini
This board has not been converted to CONFIG_DM_I2C by the deadline. Remove it. Acked-by: Robert Nelson <robertcnelson@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2024-07-23arm: Remove devkit3250 boardTom Rini
This board has not been converted to CONFIG_DM_I2C by the deadline. Remove it. Signed-off-by: Tom Rini <trini@konsulko.com>
2024-07-23arm: ti: Remove omap4 platform supportTom Rini
There are no longer any OMAP4 platforms in U-Boot, remove the related functionality. Signed-off-by: Tom Rini <trini@konsulko.com>
2024-07-23arm: Remove omap4_sdp4430 boardTom Rini
This board has not been converted to CONFIG_DM_I2C by the deadline. Remove it. Signed-off-by: Tom Rini <trini@konsulko.com>
2024-07-23arm: Remove omap4_panda boardTom Rini
This board has not been converted to CONFIG_DM_I2C by the deadline. Remove it. Acked-by: Robert Nelson <robertcnelson@gmail.com> Signed-off-by: Tom Rini <trini@konsulko.com>
2024-07-22Merge tag 'u-boot-imx-master-20240722' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/21728 - Conversions to DM_I2C and DM_SERIAL. - Support for I2C3 and PWM1 for the imx6q clock driver. - Improvements for udoo-neo - Describe the i.MX93 CPU clocks in the devicetree to fix CPU clock printing - Fix for SPI and NANC clk-imx8mn clock driver
2024-07-22udoo-neo: Convert to OF_UPSTREAMFabio Estevam
Instead of using the local imx6sx-udoo-neo devicetree copies from U-Boot, convert the imx6sx-udoo-neo boards to OF_UPSTREAM so that the upstream kernel devicetrees can be used instead. Tested on a imx6sx-udoo-neo-full board. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2024-07-22udoo_neo: 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. With the watchdog driver model in place, it is no longer needed to have board code to initialize the watchdog, so remove its related board code. Signed-off-by: Fabio Estevam <festevam@gmail.com>
2024-07-22imx93-u-boot: Describe the CPU clocks in the devicetreeFabio Estevam
Currently, there is an error when the i.MX93 CPU frequency is read: Could not read CPU frequency: -2 CPU: NXP i.MX93(52) Rev1.1 A55 at 0 MHz Fix it by describing the A55 clock nodes in the devicetree, like done on other i.MX SoCs. With this change, the CPU frequency error is gone and it can be correctly retrieved: CPU: NXP i.MX93(52) Rev1.1 A55 at 1700 MHz CPU: Industrial temperature grade (-40C to 105C) at 35C As the upstream imx93.dtsi does not describe the CPU clocks, keep the clock node in imx93-u-boot.dtsi for now. Signed-off-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
2024-07-22Revert "riscv: dts: jh7110: Enable PLL node in SPL"Leo Yu-Chi Liang
This patch breaks speed SD function on Milk-V Mars CM Lite (DFRobot mini router carrier). Revert this commit for now. Link: https://lore.kernel.org/u-boot/ZpZSmdrst4z_Q4JQ@swlinux02/T/#mbcd32d430fe58a1dd8161c9f3cc073052501b701 This reverts commit e6b7aeef3df206b9f2a47e715d643b735d18ae73. Reported-by: E Shattow <lucent@gmail.com> Signed-off-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-07-22riscv: semihosting: correct alignmentHeinrich Schuchardt
Commit 7400d34ba992 ("riscv: semihosting: replace inline assembly with assembly file") reduced the alignment of function smh_trap(). As described in the "RISC-V Semihosting" specification [1] the ssli, ebreak, and srai statements must all reside in the same memory page. [1] RISC-V Semihosting, Version 0.4, 12th June 2024 https://github.com/riscv-non-isa/riscv-semihosting Fixes: 7400d34ba992 ("riscv: semihosting: replace inline assembly with assembly file") Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-07-22riscv: add RISC-V fields to bdinfo commandHeinrich Schuchardt
The firmware invoking main U-Boot uses * a0 to pass the boot hart * a1 to pass a device-tree Let the bdinfo command print this information, e.g. boot hart = 0x000000000000001b firmware fdt= 0x0000000087e00000 The firmware fdt field will only be printed if it is non-zero. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-07-19bootstash: Do not provide a default address for allTom Rini
A valid memory location to stash bootstage information at will be architecture dependent. Move the existing defaults to the main Kconfig file for this option and set 0x0 as the default only for sandbox. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2024-07-18Merge patch series "bootstd: Add Android support"Tom Rini
Mattijs Korpershoek <mkorpershoek@baylibre.com> says: Android boot flow is a bit different than a regular Linux distro. Android relies on multiple partitions in order to boot. A typical boot flow would be: 1. Parse the Bootloader Control Block (BCB, misc partition) 2. If BCB requested bootonce-bootloader, start fastboot and wait. 3. If BCB requested recovery or normal android, run the following: a. Get slot (A/B) from BCB b. Run AVB (Android Verified Boot) on boot partitions c. Load boot and vendor_boot partitions d. Load device-tree, ramdisk and boot The AOSP documentation has more details at [1], [2], [3] This has been implemented via complex boot scripts such as [4]. However, these boot script are neither very maintainable nor generic. Moreover, DISTRO_DEFAULTS is being deprecated [5]. Add a generic Android bootflow implementation for bootstd. For this initial version, only boot image v4 is supported. This has been tested on sandbox using: $ ./test/py/test.py --bd sandbox --build -k test_ut This has also been tested on the AM62X SK EVM using TI's Android SDK[6] To test on TI board, the following (WIP) patch is needed as well: https://gitlab.baylibre.com/baylibre/ti/ti-u-boot/-/commit/84cceb912bccd7cdd7f9dd69bca0e5d987a1fd04 [1] https://source.android.com/docs/core/architecture/bootloader [2] https://source.android.com/docs/core/architecture/partitions [3] https://source.android.com/docs/core/architecture/partitions/generic-boot [4] https://source.denx.de/u-boot/u-boot/-/blob/master/include/configs/meson64_android.h [5] https://lore.kernel.org/r/all/20230914165615.1058529-17-sjg@chromium.org/ [6] https://software-dl.ti.com/processor-sdk-android/esd/AM62X/09_02_00/docs/android/Overview.html
2024-07-18Merge patch series "finish using .dtso for overlay source files"Tom Rini
Rasmus Villemoes <rasmus.villemoes@prevas.dk> says: This is a followup to the patches that landed in 2024.01 and nearly made sure that source files for producing .dtbo files use the .dtso extension. In the same release, a few new .dts files snuck in, and there was also some test code involving .dtbo -> .dtbo.S -> .dtbo.o I didn't really know how to handle at the time. This should finish the job, bring us in sync with linux (at least in this respect), and drop the .dts -> .dtbo build rule.
2024-07-18bootstd: Add test for bootmeth_androidMattijs Korpershoek
Add a unit test for testing the Android bootmethod. This requires another mmc image (mmc7) to contain the following partitions: - misc: contains the Bootloader Control Block (BCB) - boot_a: contains a fake generic kernel image - vendor_boot_a: contains a fake vendor_boot image Also add BOOTMETH_ANDROID as a dependency on sandbox so that we can test this with: $ ./test/py/test.py --bd sandbox --build -k test_ut # build the mmc7.img $ ./test/py/test.py --bd sandbox --build -k bootflow_android Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Reviewed-by: Julien Masson <jmasson@baylibre.com> Reviewed-by: Guillaume La Roque <glaroque@baylibre.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2024-07-18arm64: dts: imx8mp: rename DHCOM SoM overlays to .dtsoRasmus Villemoes
Distinguish more clearly between source files meant for producing .dtb from those meant for producing .dtbo. No functional change, as we currently have rules for producing a foo.dtbo from either foo.dts or foo.dtso. Note that in the linux tree, all device tree overlay sources have been renamed to .dtso, and the .dts->.dtbo rule is gone since v6.5 (commit 81d362732bac). So this is also a step towards staying closer to linux with respect to both Kbuild and device tree sources. Cc: Marek Vasut <marex@denx.de> Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Reviewed-by: Marek Vasut <marex@denx.de>
2024-07-18Merge tag 'u-boot-rockchip-20240718' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-rockchip - Add boards: rk3328: Radxa ROCK Pi E v3; rk3588s: FriendlyElec NanoPi R6C/S; - Remove board: Theobroma Systems RK3368 Lion; - Add rk3588 pcie support; - Misc updates for board and config; CI: https://source.denx.de/u-boot/custodians/u-boot-rockchip/-/pipelines/2163
2024-07-18verdin-am62: add DFU, USB and UUU fastboot supportVitor Soares
Enable USB host as well as USB gadget and DFU support for a53 and r5 configs. Also, enable UUU fastboot support to download files with the UUU tool from a53. Additionally, configure usb0 to peripheral mode and add extra environment for DFU use. Signed-off-by: Vitor Soares <vitor.soares@toradex.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2024-07-17configs: rockchip: imply OF_LIBFDT_OVERLAY for rk3308 and rk3328FUKAUMI Naoki
for rk3308, all defconfigs have CONFIG_OF_LIBFDT_OVERLAY=y, so enable it by default. for rk3328, any defconfig doesn't have it. but there is no strong reason not to enable it. at least it's required for ROCK Pi E. Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-07-17board: rockchip: Add FriendlyElec NanoPi R6SSebastian Kropatsch
The NanoPi R6S is a SBC by FriendlyElec based on the Rockchip RK3588s. It comes with 4GB or 8GB of RAM, a microSD card slot, 32GB eMMC storage, one RTL8211F 1GbE and two RTL8125 2.5GbE Ethernet ports, one USB 2.0 Type-A and one USB 3.0 Type-A port, a HDMI port, a 12-pin GPIO FPC connector, a fan connector, IR receiver as well as some buttons and LEDs. Add initial support for this board using the upstream devicetree sources. Kernel commit: f1b11f43b3e9 ("arm64: dts: rockchip: Add support for NanoPi R6S") Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Signed-off-by: Sebastian Kropatsch <seb-dev@mail.de>
2024-07-17board: rockchip: Add FriendlyElec NanoPi R6CSebastian Kropatsch
The NanoPi R6C is a SBC by FriendlyElec based on the Rockchip RK3588s. It comes with 4GB or 8GB of RAM, a microSD card slot, optional 32GB eMMC storage, one M.2 M-Key connector, one RTL8211F 1GbE and one RTL8125 2.5GbE Ethernet port, one USB 2.0 Type-A and one USB 3.0 Type-A port, a HDMI port, a 30-pin GPIO header as well as multiple buttons and LEDs. Add initial support for this board using the upstream devicetree sources. Tested in U-Boot proper: - Booting from eMMC works - 1GbE Ethernet works using the eth_eqos driver (tested by ping) - 2.5GbE Ethernet works using the eth_rtl8169 driver (tested by ping), but the status LEDs on this specific port currently aren't working - NVMe SSD in M.2 socket does get recognized (tested with `nvme scan` followed by `nvme details`) Kernel commit: d5f1d7437451 ("arm64: dts: rockchip: Add support for NanoPi R6C") Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Signed-off-by: Sebastian Kropatsch <seb-dev@mail.de>
2024-07-17rockchip: add support for Radxa ROCK Pi E v3.0FUKAUMI Naoki
ROCK Pi E v3.0 uses DDR4 SDRAM instead of DDR3 SDRAM used in v1.2x. prepare new rk3328-rock-pi-e-v3.dts in u-boot which just includes upstream rk3328-rock-pi-e.dts. defconfig still uses CONFIG_DEFAULT_FDT_FILE="rockchip/rk3328-rock-pi-e.dtb" because v3.0 and prior are compatible. Suggested-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-07-17rockchip: remove support for Theobroma Systems RK3368 LionQuentin Schulz
No meaningful changes were made to this SoM since February 2021. Nobody from Theobroma has booted anything recent on that product since July 2021 at the latest. The product isn't available to buy anymore and disappeared from our website. This product is therefore unmaintained and it would be disingenuous to say the opposite, so drop support for RK3368 Lion. If you're a user of Lion, feel free to revert this patch or contact our sales/support department. Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Acked-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-07-17rockchip: include cru_rk3588.h and define rockchip_cru for RK3588FUKAUMI Naoki
fix following error found by clang: CC arch/arm/mach-rockchip/cpu-info.o arch/arm/mach-rockchip/cpu-info.c:23:13: error: incomplete definition of type 'struct rockchip_cru' 23 | switch (cru->glb_rst_st) { | ~~~^ ./arch/arm/include/asm/arch-rockchip/clock.h:181:8: note: forward declaration of 'struct rockchip_cru' 181 | struct rockchip_cru; | ^ 1 error generated. Signed-off-by: FUKAUMI Naoki <naoki@radxa.com> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-07-17rockchip: rk3399: fix SPI-NOR flash not found in U-Boot pre-relocQuentin Schulz
In commit 100f489f58a6 ("rockchip: rk3399: Fix loading FIT from SD-card when booting from eMMC"), the spi1 bootph properties were mistakenly removed meaning, so re-add them back to fix SPI-NOR flash not being found in U-Boot pre-reloc as required for RK3399 Puma. Fixes: 100f489f58a6 ("rockchip: rk3399: Fix loading FIT from SD-card when booting from eMMC") Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-07-17rockchip: px30: bind sub-nodes for GRF (syscon)Quentin Schulz
There are some sub-nodes under the grf DT nodes, so add bind callback function in syscon_px30 driver to scan them recursively. Fixes: e9ccb2f526ed ("rockchip: add px30 architecture core") Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-07-17rockchip: px30: imply ARMV8_CRYPTOQuentin Schulz
PX30 supports ARMv8 Cryptography Extensions so let's enable it by default for all PX30 to make FIT verification when enabled much faster. While A35 shouldn't be impacted by ARMV8_SET_SMPEN cache coherency according to the Kconfig help text, let's enable it just in case since it exists in the documentation[1]. For u-boot part of the FIT image, it is now taking 5ms against currently 35ms. fdt-1 check lowered from 3ms to <1ms. atf-1 from 6ms to <1ms. [1] https://developer.arm.com/documentation/100236/0100/register-descriptions/aarch64-system-registers/cpu-extended-control-register--el1?lang=en Signed-off-by: Quentin Schulz <quentin.schulz@cherry.de> Reviewed-by: Kever Yang <kever.yang@rock-chips.com>
2024-07-16Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-sunxiTom Rini
Nothing really major here, some rework of the SPL PMIC drivers, adding support for the AXP717 on the way, which is showing up on newer boards now, most prominently some Anbernic handheld gaming devices. The rest is enabling Ethernet and SPI boot on the Allwinner V3s SoC, plus two fixes. This also updates the "traditional U-Boot" DTs to that of kernel v6.9. I will look into upgrading some SoCs to dts/upstream in the coming cycle, though this will not cover all SoCs for now, as we carry some non-mainline fix to improve compatibility with older kernels. Will see how it goes, but for now we stick with the "old way". The branch survived the gitlab CI run, and Linux boot testing on some selected boards.
2024-07-15sunxi: spl: h616: fix booting from high MMC offsetAndre Przywara
The BootROM in the Allwinner H616 tries to load the initial boot code from sector 16 (8KB) of an SD card or eMMC device, but also looks at sector 512 (256KB). This helps with GPT formatted cards. A "high" boot offset is also used on previous SoCs, but it's sector 256 (128KB) there instead. Extend the existing offset calculation code to consider the different sector offset when running on an H616 SoC. This allows to load U-Boot on any H616 device when the SPL is not located at 8KB. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Chen-Yu Tsai <wens@csie.org> Tested-by: Ryan Walklin <ryan@testtoast.com>
2024-07-15sunxi: SPL SPI: add support for the V3s SoCMichael Walle
The V3s is identical regarding register layout, clocks and resets to the sun6i variants. Therefore, we can just add the MACH_SUN8I_V3S to the sun6i compatible ones. SPI boot was tested on a custom board with a Gigadevice GD25Q64 8MiB SPI flash. Signed-off-by: Michael Walle <mwalle@kernel.org> Reviewed-by: Andre Przywara <andre.przywara@arm.com>
2024-07-15sunxi: dts: arm/arm64: update devicetree files from Linux-v6.9Andre Przywara
Sync the devicetree files from the official Linux kernel tree, v6.9. This is covering Allwinner SoCs with 32-bit and 64-bit ARM cores. Besides some cosmectic changes, this adds S/PDIF, DMA, and thermal support to the H616 .dtsi. Nothing that U-Boot needs for itself, but helpful to pass on to kernels. This also adds new devicetrees, for some LonganPi H616 board, and the Remix Mini PC. The latter will get a defconfig next. 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-07-15Merge patch series "api: Remove duplicate newlines"Tom Rini
This removes a number of duplicate newlines throughout the codebase.
2024-07-15xtensa: Remove duplicate newlinesMarek Vasut
Drop all duplicate newlines. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-07-15x86: Remove duplicate newlinesMarek Vasut
Drop all duplicate newlines. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-07-15sh: Remove duplicate newlinesMarek Vasut
Drop all duplicate newlines. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-07-15sandbox: Remove duplicate newlinesMarek Vasut
Drop all duplicate newlines. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-07-15ppc: Remove duplicate newlinesMarek Vasut
Drop all duplicate newlines. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-07-15nios2: Remove duplicate newlinesMarek Vasut
Drop all duplicate newlines. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-07-15mips: Remove duplicate newlinesMarek Vasut
Drop all duplicate newlines. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
2024-07-15microblaze: Remove duplicate newlinesMarek Vasut
Drop all duplicate newlines. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>