[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]>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.