[PATCH v2 1/2] dt-bindings: mmc: Document no-mmc-sleep property
Kamal Dasu <[email protected]> Fri, 17 Jul 2026 14:05:35 -0400
| Newsgroups | org.kernel.vger.linux-mmc,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Some (e)MMC devices cannot reliably resume from the SLEEP (CMD5) state within their advertised S_A_TIMEOUT, which can be problematic on systems that resume from Suspend-to-DRAM by first pulling boot code from eMMC using hard wired logic that is not field updatable. Add a no-mmc-sleep flag property so affected boards can tell the mmc core to never put the card to sleep. Signed-off-by: Kamal Dasu <[email protected]> --- Changes in v2: - New patch. v1 used a card-level MMC_QUIRK_BROKEN_SLEEP quirk instead of a DT property; this documents the DT property backing the host capability added in patch 2, per Ulf's suggestion. - Reworded the rationale in the commit message and the binding description per Florian's review. .../devicetree/bindings/mmc/mmc-controller-common.yaml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Documentation/devicetree/bindings/mmc/mmc-controller-common.yaml b/Documentation/devicetree/bindings/mmc/mmc-controller-common.yaml index 3d7195e9461c..11df0524530c 100644 --- a/Documentation/devicetree/bindings/mmc/mmc-controller-common.yaml +++ b/Documentation/devicetree/bindings/mmc/mmc-controller-common.yaml @@ -232,6 +232,14 @@ properties: description: All eMMC HS400 modes are not supported. + no-mmc-sleep: + $ref: /schemas/types.yaml#/definitions/flag + description: + The attached (e)MMC card cannot reliably resume from the SLEEP + (CMD5) state within its advertised S_A_TIMEOUT, so the + controller must not put it to sleep during suspend or power + off. + dsr: description: Value the card Driver Stage Register (DSR) should be programmed -- 2.34.1