[PATCH v4 00/12] arm: u8500: Enable upstream DT based SD card boot
Linus Walleij <[email protected]>
| Newsgroups | org.u-boot-project.lists.u-boot |
|---|---|
| Message-ID | <[email protected]> |
Switch the U8500 Stemmy configuration to the upstream Samsung Janice device tree and enable booting an EFI system from the external SD card. Add compact DB8500 pinctrl support for applying the default states from the upstream device trees. Extend the PL180 driver to configure Ux500 signal direction and the SD card supply voltages. The upstream device trees describe the SD card supplies through the AB8500 or AB8505 PMIC. Add support for the AUX3 regulator used as vmmc-supply, using the existing AB8500 PMIC driver for register access. Enable fixed regulators for the vqmmc level shifters used on the other supported Samsung boards. Add a U-Boot overlay for Golden's duplicate regulator names. The seven supported device trees are packaged into a FIT appended to U-Boot. The Samsung firmware machine ID selects the matching tree at runtime. Codina TMO shares the Codina machine ID and is distinguished by board ID. This keeps the board-specific SD supplies, level-shifter GPIOs and MMCI signal-direction settings in their respective device trees while using a single U-Boot binary. This has been tested successfully to boot PostmarketOS using the EFI boot flow, with some minimal changes to the PostmarketOS to use systemd-boot and compile in the right kernel configs. Signed-off-by: Linus Walleij <[email protected]> --- Changes in v4: - Package all seven Stemmy device trees in an appended FIT. - Select the Stemmy device tree using the firmware machine and board IDs. - Print the firmware machine and board IDs for diagnostics. - Link to v3: https://patch.msgid.link/[email protected] Changes in v3: - Disable unsupported DDR mode on the internal eMMC controller. - Gate idle PL180 card clocks and honor clock-disable requests. - Shut down PL180 card supplies at OS handoff. - Skip global EFI boot entries when scanning the external SD card. - Disable the unused WLAN SDIO controller in U-Boot. - Remove the obsolete downstream Stemmy and DBx500 device trees. - Provide a fixed clock for the internal eMMC controller. - Enter fastboot when the volume-down button is held. - Use standard DM helpers to bind the AB8500 AUX3 regulator. - Select 3.3 V supplies for eMMC-only PL180 hosts. - Use Nomadik DT-binding macros in the pinctrl driver. - Link to v2: https://patch.msgid.link/[email protected] Changes in v2: - Use the new mailing list address, no other changes. - Link to v1: https://patch.msgid.link/[email protected] --- Linus Walleij (12): pinctrl: Add compact Nomadik pin controller mmc: arm_pl180: Configure Ux500 signal direction mmc: arm_pl180: Gate idle card clocks mmc: arm_pl180: Set initial supply voltages mmc: arm_pl180: Power down card supplies at OS handoff power: regulator: Add AB8500 AUX3 support arm: u8500: Enable SD card regulators configs: stemmy: Boot EFI from external SD card arm: u8500: Switch Stemmy to upstream Janice device tree arm: u8500: Give Golden panel regulators unique names arm: u8500: Enter fastboot with volume-down button arm: u8500: Package Stemmy device trees in FIT MAINTAINERS | 2 + arch/arm/Kconfig | 6 + arch/arm/dts/Makefile | 1 - arch/arm/dts/ste-dbx5x0-u-boot.dtsi | 38 - arch/arm/dts/ste-dbx5x0.dtsi | 1144 --------------------- arch/arm/dts/ste-ux500-samsung-golden-u-boot.dtsi | 15 + arch/arm/dts/ste-ux500-samsung-stemmy.dts | 36 - arch/arm/dts/u8500-u-boot.dtsi | 30 + board/ste/stemmy/Kconfig | 6 + board/ste/stemmy/stemmy.c | 76 +- configs/stemmy_defconfig | 10 +- drivers/mmc/arm_pl180_mmci.c | 90 +- drivers/pinctrl/Kconfig | 7 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/pinctrl-nomadik.c | 230 +++++ drivers/power/pmic/ab8500.c | 1 + drivers/power/regulator/Kconfig | 7 + drivers/power/regulator/Makefile | 1 + drivers/power/regulator/ab8500.c | 107 ++ include/configs/stemmy.h | 4 +- 20 files changed, 582 insertions(+), 1230 deletions(-) --- base-commit: 0b581a9612e46310ee52bf8359165950d38b2a2b change-id: 20260813-ux500-external-sdcard-a49778d77b21 Best regards, -- Linus Walleij <[email protected]>