summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-04-28power: regulator: Add a driver for the AXP PMIC drivevbusSamuel Holland
AXP PMICs have a pin which can either report the USB VBUS state, or driving a regulator that supplies USB VBUS. Add a regulator driver for controlling this pin. The selection between input and output is done via the x-powers,drive-vbus-en pin on the PMIC (parent) node. Signed-off-by: Samuel Holland <[email protected]> Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]>
2025-04-28sunxi: enable MMU_PGPROT proper page table protectionAndre Przywara
Select the new MMU_PGPROT Kconfig symbol for all Allwinner board builds, to use a write-protected .rodata, non-executable .data and .rodata sections, and non-writable .text sections. This might trigger runtime exceptions in misbehaving drivers, which should then be fixed. Signed-off-by: Andre Przywara <[email protected]> Acked-by: Jernej Skrabec <[email protected]>
2025-04-28sunxi: h616: defconfigs: enable eMMCAndre Przywara
Now that eMMC is working properly on H616 devices, it became apparent that some boards were missing the right defconfig bits to enable eMMC access. Add the eMMC device number to the Tanix TX1 and the X96 Mate defconfig, also the eMMC boot option to the TX1. Oddly enough the X96 Mate had just this bit already. Signed-off-by: Andre Przywara <[email protected]> Reviewed-by: Jernej Skrabec <[email protected]>
2025-04-28sunxi: h6/h616: Reuse common DRAM infrastructureJernej Skrabec
H616 rank and size detection code is superior to the H6. Nevertheless, they are structurally the same. Split functions from H616 into new file and reuse them in H6 DRAM driver too. This should also fix some bugs for H6 too, like incorrect DRAM size detection. Signed-off-by: Jernej Skrabec <[email protected]> [Andre: back out panic if test fails to allow 2^11 columns] Reviewed-by: Andre Przywara <[email protected]> Signed-off-by: Andre Przywara <[email protected]>
2025-04-28sunxi: h6: dram: split dram_para structJernej Skrabec
This change is same as in commit 78aa00c38e86 ("sunxi: H616: dram: split struct dram_para"), but for H6. This is needed in order to extract common code between H6 and H616 later. Signed-off-by: Jernej Skrabec <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2025-04-28sunxi: H6: DRAM: Constify function parametersJernej Skrabec
Constify parameters for two reasons: - Allow more compile time optimizations - It will allow later sharing of common code with H616 (when it will be rearranged some more) Commit does same kind of changes as commit 457e2cd665bd ("sunxi: H616: dram: const-ify DRAM function parameters") Signed-off-by: Jernej Skrabec <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2025-04-28env: point fdt address to the fdt in a bloblistRaymond Mao
Point fdt_addr to the fdt embedded in the bloblist since fdt_addr is a default address for bootefi, bootm and booti to look for the device tree when launching the kernel. Signed-off-by: Raymond Mao <[email protected]>
2025-04-28bloblist: fix the overriding of fdt from bloblistRaymond Mao
When a bloblist is valid and contains fdt, it explicitly means a previous boot stage is passing transfer list compliant with Firmware Handoff specification, thus the fdt from bloblist should not be overridden with the ones from board or env variables. Fixes: 70fe23859437 ("fdt: Allow the devicetree to come from a bloblist") Signed-off-by: Raymond Mao <[email protected]> Reviewed-by: Caleb Connolly <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-04-28Merge tag 'u-boot-stm32-20250428' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/25970 - Add OF_UPSTREAM flag support for STi, STM32 MCU and MPU platforms. - Add ETZPC as system bus for STM32MP1 platforms - Add RIFSC as sytem bus for STM32MP2 platforms - Update STM32MP2 board/machine support: - update cmd_stm32key. - update cmd_stm32prog. - update STM32MP25 configs. - add leds and buttons support. - add boot_mode support (USB/PXE/MMC/NOR/NAND). - add bootcmd support. - enable MMC support.
2025-04-28siemens: imx8qxp: remove unused config fileHeiko Schocher
include/configs/giedi.h is not longer used after siemens imx8qxp cleanup series, so remove it. Signed-off-by: Heiko Schocher <[email protected]>
2025-04-28arm: imx8qxp: capricorn: move env offset settingsHeiko Schocher
move the ENV_OFFSET settings from common config settings file configs/imx8qxp_capricorn.config to defconfig file for the cxg3 board, as other imx8qxp based boards from siemens has the environment on other offsets. Signed-off-by: Heiko Schocher <[email protected]>
2025-04-28siemens: capricorn: defconfig updatesWalter Schweizer
add ahab command as secure boot is used on this boards, and enable watchdog, so U-Boot triggers it. Signed-off-by: Walter Schweizer <[email protected]> for respelling commit subject and message: Signed-off-by: Heiko Schocher <[email protected]>
2025-04-28siemens: capricorn: enable text based default environmentWalter Schweizer
enable text based default U-Boot Environment by enabling CONFIG_ENV_SOURCE_FILE and adding default environment file: board/siemens/capricorn/capricorn_cxg3.env Signed-off-by: Heiko Schocher <[email protected]> Signed-off-by: Walter Schweizer <[email protected]>
2025-04-28imx8qxp: capricorn defconfig: collect common Kconfig optionsHeiko Schocher
Siemens have some defconfigs for different hardware versions, all based on mainline cxg3 board. For easier updating the downstream defconfigs, move common settings into new file. configs/imx8qxp_capricorn.config Signed-off-by: Heiko Schocher <[email protected]> Signed-off-by: Walter Schweizer <[email protected]>
2025-04-28clk: imx: Pass CCM udevice into clk_register_composite()Marek Vasut
Pass the clock controller udevice into clk_register_composite(), so it can be passed further to any registered composite clocks and used for look up of parent clock referenced in DT "clocks" and "clock-names" properties by phandle and name pair. Use the clock controller udevice in imx8m_clk_mux_set_parent() to perform accurate look up of parent clock referenced in the CCM driver by name. If the clock name that is being looked up matches one of the names listed in the clock controller DT node "clock-names" array property, then the offset of the name is looked up in the "clocks" DT property and the phandle at that offset is resolved to the parent clock udevice. The test to determine whether a particular driver instance registered with clock uclass matches the parent clock is done by comparing the OF nodes of the clock registered with clock uclass and parent clock resolved from the phandle. Example: drivers/clk/imx/clk-imx8mm.c: static const char * const imx8mm_a53_sels[] = {"osc_24m", "arm_pll_out", ... _____________| arch/arm/dts/imx8mm.dtsi: | clk: clock-controller@30380000 { v clock-names = "osc_32k", "osc_24m", ... | v clocks = <&osc_32k>, <&osc_24m>, ... }; _______________________| ... | / { v osc_24m: clock-osc-24m { compatible = "fixed-clock"; ... }; Signed-off-by: Marek Vasut <[email protected]> Reported-by: Francesco Dolcini <[email protected]> Tested-by: Fabio Estevam <[email protected]> Tested-by: Adam Ford <[email protected]> # imx8mp-beacon
2025-04-28arm64: dts: imx8mm: Make osc_32k available in SPLFabio Estevam
Since commit b4734c9c333b ("clk: imx: Convert clock-osc-* back to osc_*") SPL takes a long time to load U-Boot proper on an imx8mm-evk board. The reason for the long delay is because the osc_32k clock is not available in the SPL phase. Fix this problem by passing the 'bootph-all' and 'bootph-pre-ram' properties to make the osc_32k clock available in SPL. This also aligns with imx8mn and imx8mp-u-boot.dtsi files. Fixes: b4734c9c333b ("clk: imx: Convert clock-osc-* back to osc_*") Suggested-by: Marek Vasut <[email protected]> Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Adam Ford <[email protected]>
2025-04-28imx: power-domain: Enable refcounting on imx8mpMiquel Raynal
Prevent enabling/disabling multiple times the same power domain to avoid breakages due to the same power domains being referenced several times by different device nodes. Signed-off-by: Miquel Raynal <[email protected]>
2025-04-28power-domain: Add support for refcounting (again)Miquel Raynal
It is very surprising that such an uclass, specifically designed to handle resources that may be shared by different devices, is not keeping the count of the number of times a power domain has been enabled/disabled to avoid shutting it down unexpectedly or disabling it several times. Doing this causes troubles on eg. i.MX8MP because disabling power domains can be done in recursive loops were the same power domain disabled up to 4 times in a row. PGCs seem to have tight FSM internal timings to respect and it is easy to produce a race condition that puts the power domains in an unstable state, leading to ADB400 errors and later crashes in Linux. Some drivers implement their own mechanism for that, but it is probably best to add this feature in the uclass and share the common code across drivers. In order to avoid breaking existing drivers, refcounting is only enabled if the number of subdomains a device node supports is explicitly set in the probe function. ->xlate() callbacks will return the power domain ID which is then being used as the array index to reach the correct refcounter. As we do not want to break existing users while stile getting interesting error codes, the implementation is split between: - a low-level helper reporting error codes if the requested transition could not be operated, - a higher-level helper ignoring the "non error" codes, like EALREADY and EBUSY. CI tests using power domains are slightly updated to make sure the count of on/off calls is even and the results match what we *now* expect. They are also extended to test the low-level functions. Signed-off-by: Miquel Raynal <[email protected]>
2025-04-27board: starfive: visionfive2: Order board detection logic to match configE Shattow
Fixup previous merge resolution of this series. Intent is to ease code readability and logic to match ordering in CONFIG_OF_LIST - Remove "starfive/" string math - Remove redundant local cache of calls to get_*_from_eeprom() - Match name before EEPROM product_id in board_fit_config_name_match() - Remove single-consumer FDTFILE_* defines - Do not set fdtfile for visionfive-2-* when unknown model revision Fixes: 5a0a93a76848 ("Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-riscv") Signed-off-by: E Shattow <[email protected]>
2025-04-26sunxi: H6: Remove useless DRAM timings parameterJernej Skrabec
This is just cosmetic fix for later easier rework. Signed-off-by: Jernej Skrabec <[email protected]> Reviewed-by: Andre Przywara <[email protected]>
2025-04-25Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-riscvTom Rini
CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/25940 - riscv: lib: Simplify FDT retrieving process - board: k1: pinctrl: Add pinctrl support for bananapi-f3 - binman: riscv: Fix binman_sym functionality - board: starfive: visionfive2: Reorder board detection logic - board: starfive: Add DeepComputing FML13V01 support
2025-04-25Merge tag 'efi-2025-07-rc1-3' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi Pull request efi-2025-07-rc1-3 Documentation: * add documentation for the DeepComputing FML13V01 * fix typos UEFI: * build with HII configuration protocol * print image load address in StartImage Boards: * qemu-riscv raise CONFIG_NR_DRAM_BANKS * add support for the DeepComputing FML13V01 board via starfive_visionfive2_defconfig * add UNIT_TESTS to big-endian Malta boards
2025-04-25configs: add UNIT_TESTS to big-endian Malta boardsHeinrich Schuchardt
We currently only run the unit tests on low-endian boards. We should run them on big-endian, too. Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Daniel Schwierzeck <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-25doc: jh7110: describe debug UARTHeinrich Schuchardt
Provide the settings for using the debug UART in SPL. Reviewed-by: E Shattow <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-25doc: starfive: use jh7110_common.rstHeinrich Schuchardt
To avoid duplicate maintenance just include jh7110_common.rst to describe the usage of the different boot sources. Reviewed-by: E Shattow <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-25doc: starfive: use consistent formattingHeinrich Schuchardt
Always use ---- for the H2 level. Reviewed-by: E Shattow <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-25doc: add DeepComputing FML13V01 documentationHeinrich Schuchardt
Describe building U-Boot for the board and booting. Carve out common information for JH7110 boards into an include. Reviewed-by: E Shattow <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-25board: starfive: spl: support DeepComputing FML13V01Heinrich Schuchardt
On the DeepComputing Framework motherboard (FML13V01) choose the matching FIT configuration. Reviewed-by: Hal Feng <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Reviewed-by: E Shattow <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-25board: starfive: DeepComputing FML13V01 fdt selectionHeinrich Schuchardt
We support all JH7110 boards with starfive_visionfive2_defconfig. The relevant device-tree is selected at runtime based on EEPROM data. Support setting $fdtfile to the file name of the DeepComputing Framework motherboard (FML13V01) device-tree. Reviewed-by: Hal Feng <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Reviewed-by: E Shattow <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-25riscv: dts: jh7110: add DeepComputing FML13V01 device-treeHeinrich Schuchardt
Add the u-boot device-tree include needed to support the DeepComputing Framework motherboard (FML13V01). Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Hal Feng <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Reviewed-by: E Shattow <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-25configs: add jh7110-deepcomputing-fml13v01 to VF2 defconfigHeinrich Schuchardt
The DeepComputing Framework motherboard is a JH7110 device support by the upstream kernel. Add its device-tree to the list of device-trees to be included into the starfive_visionfive_defconfig. Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Hal Feng <[email protected]> Reviewed-by: Matthias Brugger <[email protected]> Reviewed-by: E Shattow <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-25configs: qemu-riscv raise CONFIG_NR_DRAM_BANKSHeinrich Schuchardt
The number of memory banks in QEMU is not bounded by 1. In this example we have two banks: qemu-system-riscv64 \ -machine virt \ -nographic \ -m 8192 \ -smp 8,sockets=2,cores=4,threads=1 \ -numa node,cpus=0-3,mem=4096 \ -numa node,cpus=4-7,mem=4096 \ -kernel u-boot As we will see RISC-V NUMA systems using U-Boot we should be able to emulate these. Use the default value defined in /Kconfig as 4. Reviewed-by: Leo Yu-Chi Liang <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-04-25doc: fix typo 'to'Aristo Chen
Fix typo from "to" to "do" Signed-off-by: Aristo Chen <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2025-04-25doc: fix typo commnadAristo Chen
fix typo from "commnad" to "command" Signed-off-by: Aristo Chen <[email protected]>
2025-04-25doc: arch: arm64: fix typosAristo Chen
Fix typo from "recommened" to "recommended" Signed-off-by: Aristo Chen <[email protected]>
2025-04-25doc: remove duplicated "commands"Aristo Chen
The "commands" are duplicated, so remove one of them Signed-off-by: Aristo Chen <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2025-04-25efi_loader: print image load address in StartImageHeinrich Schuchardt
When starting image add the image load address to the debug output. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-04-25efi_loader: build with HII configuration protocolHeinrich Schuchardt
Without the HII configuration protocol the debug version of the UEFI shell cannot be used. Signed-off-by: Heinrich Schuchardt <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2025-04-25configs: stm32mp25: enable DISTRO_DEFAULT and BOOTCOMMANDPatrice Chotard
Enable DISTRO_DEFAULT and BOOTCOMMAND flags for stm32mp25 Signed-off-by: Patrice Chotard <[email protected]> Cover-letter: arm: stm32mp: STM32MP25 machine update This series is updating STM32MP25 machine/board support: _ update cmd_stm32key. _ update cmd_stm32prog. _ update STM32MP25 configs. _ add leds and buttons support. _ add boot_mode support (USB/PXE/MMC/NOR/NAND). _ add bootcmd support. _ enable MMC support. Currently, it misses clock,reset and regulator support for STM32MP25 which will be added in a next step due to dependencies with OP-TEE. For example, due to OP-TEE dependencies, all MMC support is ready but not functional. END Series-version: 2 Series-changes: 2 - Enable DISTRO_DEFAULT and BOOTCOMMAND flags
2025-04-25arm: stm32mp: stm32prog: add support rootfs-a for OTAPatrick Delaunay
Add support of "rootfs-a" name to allow support of A/B mechanism for OTA on rootfs. Signed-off-by: Patrick Delaunay <[email protected]> Signed-off-by: Patrice Chotard <[email protected]>
2025-04-25arm: stm32mp: stm32prog: PTA BSEC is not supported on closed devicePatrick Delaunay
On closed device the PTA BSEC is never supported and the current check if PTA BSEC is supported cause a OP-TEE error: E/TC tee_ta_open_session This patch removed this warning on closed device, because the check is skipped. Signed-off-by: Patrick Delaunay <[email protected]> Signed-off-by: Patrice Chotard <[email protected]>
2025-04-25arm: stm32mp: add helper function stm32mp_is_closed()Patrick Delaunay
Add the helper function stm32mp_is_closed() to check the "closed" state in product life cycle, when product secrets have been provisioned into the device, by "secure secret provisioning" tools (SSP) for example. Signed-off-by: Patrick Delaunay <[email protected]> Signed-off-by: Patrice Chotard <[email protected]>
2025-04-25arm: stm32mp: cmd_stm32key: update command for stm32mp25xPatrice Chotard
Update key table for stm32mp25 platform. Signed-off-by: Lionel Debieve <[email protected]> Signed-off-by: Thomas Bourgoin <[email protected]> Signed-off-by: Patrice Chotard <[email protected]>
2025-04-25arm: stm32mp: fix package IDs for stm32mp25Patrice Chotard
Fix package IDs for stm32mp25. Signed-off-by: Patrice Chotard <[email protected]>
2025-04-25arm: stm32mp: implement new STM32MP25 revision ID systemPatrick Delaunay
The STM32MP25 revision ID are now defined with the OTP102, this patch implements this new system. Signed-off-by: Patrick Delaunay <[email protected]> Signed-off-by: Patrice CHOTARD <[email protected]>
2025-04-25arm: stm32mp: disable console for UART serial bootPatrice Chotard
For UART serial boot, the console need to be deactivated to avoid issue with tools STM32CubeProgrammer. This patch adds also the missing dependency for CMD_STM32PROG_SERIAL, to allow the silent and disable console. This avoid to add is on board level for STM32MP15 (with TARGET_ST_STM32MP15X or TARGET_ST_STM32MP13X) Signed-off-by: Patrick Delaunay <[email protected]> Signed-off-by: Patrice Chotard <[email protected]>
2025-04-25arm: stm32mp: increase EARLY_TLB_SIZE to 0x10000Patrice Chotard
Depending on Soc (STM32MP25 vs STM32MP21), the memory map can be different and it generates a different TLB page table configuration/size. Increase EARLY_TLB_SIZE to 0x10000 to fix following error message and panic: "Insufficient RAM for page table: 0xb000 > 0xa000. Please increase the size in get_page_table_size()" Signed-off-by: Patrice Chotard <[email protected]>
2025-04-25ARM: dts: stm32: add sdmmc1 fixed clock for stm32mp257f-ev1-u-bootPatrice Chotard
Add sdmmc1 temporary fixed clock for stm32mp257f-ev1-u-boot Signed-off-by: Patrice Chotard <[email protected]>
2025-04-25configs: stm32mp25: add PXE boot supportPatrice Chotard
Configure the required configuration to allow PXE boot, without autoload support by default. Signed-off-by: Patrick Delaunay <[email protected]> Signed-off-by: Patrice Chotard <[email protected]>
2025-04-25configs: stm32mp25: add USB host boot supportPatrice Chotard
Add support for booting from USB pen drive, since USB host port is available on the STM32MP2. Signed-off-by: Patrice Chotard <[email protected]>