[PATCH v2 0/6] mmc: sdhci-of-at91: add LAN969x support

From: Robert Marko

Date: Mon Sep 07 2026 - 09:45:43 EST


This series adds support for the two SDMMC controllers in the Microchip
LAN969x family. It also enables the onboard QSPI NOR and eMMC storage on
the EV23X71A evaluation board.

The LAN969x SDMMC controller uses the same internally generated base clock
layout as SAM9X60. However, gating its clocks during runtime suspend leaves
the controller unable to complete software resets or stabilise its internal
clock. Add a generic SoC data option for keeping clocks enabled, while
keeping capability and preset restoration independent from clock
enablement. LAN969x then selects this option through its match data.

Describe both controllers using the fabric clock for the bus interface and
their respective generated clocks for the controller core. Use clock rates
suitable for the supported SD and eMMC modes, including 8-bit eMMC DDR on
the EV23X71A.

The QSPI enablement is retained from v1 so both onboard non-volatile
storage devices are described by this series.

Tested on LAN969x hardware with an 8-bit eMMC operating in DDR mode.

Signed-off-by: Robert Marko <robert.marko@xxxxxxxxxx>

Changes in v2:
* Add driver support for the LAN969x SDMMC controller.
* Add a preparatory option for controllers that must keep clocks enabled.
* Restore capabilities and presets without unbalancing clock enable counts.
* Use the fabric clock for the SDMMC bus interface clock.
* Configure SDMMC1 with an exact 50 MHz generated clock.
* Keep the SDMMC nodes ordered by unit address.
* Remove the unnecessary maximum-frequency property.
* Retain Conor Dooley's Acked-by on the binding patch.
* Rebase onto next-20260904.

Robert Marko (6):
dt-bindings: mmc: atmel,sama5d2-sdhci: add LAN969x compatible
mmc: sdhci-of-at91: add option to keep clocks enabled
mmc: sdhci-of-at91: add LAN969x support
arm64: dts: microchip: lan969x: add SDMMC nodes
arm64: dts: microchip: ev23x71a: enable QSPI
arm64: dts: microchip: ev23x71a: enable eMMC

.../bindings/mmc/atmel,sama5d2-sdhci.yaml | 1 +
arch/arm64/boot/dts/microchip/lan9691.dtsi | 24 ++++++++++
.../boot/dts/microchip/lan9696-ev23x71a.dts | 25 ++++++++++
drivers/mmc/host/sdhci-of-at91.c | 47 ++++++++++++-------
4 files changed, 81 insertions(+), 16 deletions(-)

--
2.55.0