[PATCH v3 00/11] 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 same support is intended for the Codina, Codina TMO, Gavini, Golden, Kyle and Skomer device trees, while Janice remains the default for now. A single Stemmy device tree cannot describe all boards: external SD supply and level-shifter GPIOs differ, as do the MMCI signal-direction settings. External SD boot therefore requires per-device U-Boot binaries built with each board's unique device tree. 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 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 (11): 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 MAINTAINERS | 2 + arch/arm/Kconfig | 5 + 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 + configs/stemmy_defconfig | 11 +- 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 +- 18 files changed, 505 insertions(+), 1225 deletions(-) --- base-commit: 0b581a9612e46310ee52bf8359165950d38b2a2b change-id: 20260813-ux500-external-sdcard-a49778d77b21 Best regards, -- Linus Walleij <[email protected]>