[PATCH RFC 1/2] dt-bindings: mmc: sdhci-pxa: add state_uhs pinctrl

Duje Mihanović posted 2 patches 2 months, 2 weeks ago
There is a newer version of this series
[PATCH RFC 1/2] dt-bindings: mmc: sdhci-pxa: add state_uhs pinctrl
Posted by Duje Mihanović 2 months, 2 weeks ago
On the pxav3 controller, increasing the drive strength of the data pins
might be required to maintain stability on fast bus clocks (above 100
MHz). Add a state_uhs pinctrl to allow this.

The existing state_cmd_gpio pinctrl is changed to apply only on pxav1 as
it's unneeded on the other controllers.

Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
---
 .../devicetree/bindings/mmc/sdhci-pxa.yaml         | 45 +++++++++++++++++-----
 1 file changed, 35 insertions(+), 10 deletions(-)

diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml b/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml
index 4869ddef36fd89265a1bfe96bb9663b553ac5084..7a9e2a63ac4351aea10b2763ca250ce4889df1eb 100644
--- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml
+++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml
@@ -30,6 +30,39 @@ allOf:
           maxItems: 1
         reg-names:
           maxItems: 1
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: mrvl,pxav1-mmc
+    then:
+      properties:
+        pinctrl-names:
+          description:
+            Optional for supporting PXA168 SDIO IRQ errata to switch CMD pin between
+            SDIO CMD and GPIO mode.
+          items:
+            - const: default
+            - const: state_cmd_gpio
+        pinctrl-1:
+          description:
+            Should switch CMD pin to GPIO mode as a high output.
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: mrvl,pxav3-mmc
+    then:
+      properties:
+        pinctrl-names:
+          description:
+            Optional for increasing stability of the controller at fast bus clocks.
+          items:
+            - const: default
+            - const: state_uhs
+        pinctrl-1:
+          description:
+            Should switch the drive strength of the data pins to high.
 
 properties:
   compatible:
@@ -62,21 +95,13 @@ properties:
       - const: io
       - const: core
 
-  pinctrl-names:
-    description:
-      Optional for supporting PXA168 SDIO IRQ errata to switch CMD pin between
-      SDIO CMD and GPIO mode.
-    items:
-      - const: default
-      - const: state_cmd_gpio
+  pinctrl-names: true
 
   pinctrl-0:
     description:
       Should contain default pinctrl.
 
-  pinctrl-1:
-    description:
-      Should switch CMD pin to GPIO mode as a high output.
+  pinctrl-1: true
 
   mrvl,clk-delay-cycles:
     description: Specify a number of cycles to delay for tuning.

-- 
2.50.1

Re: [PATCH RFC 1/2] dt-bindings: mmc: sdhci-pxa: add state_uhs pinctrl
Posted by Rob Herring 2 months, 2 weeks ago
On Fri, Jul 18, 2025 at 11:12:38PM +0200, Duje Mihanović wrote:
> On the pxav3 controller, increasing the drive strength of the data pins
> might be required to maintain stability on fast bus clocks (above 100
> MHz). Add a state_uhs pinctrl to allow this.
> 
> The existing state_cmd_gpio pinctrl is changed to apply only on pxav1 as
> it's unneeded on the other controllers.
> 
> Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
> ---
>  .../devicetree/bindings/mmc/sdhci-pxa.yaml         | 45 +++++++++++++++++-----
>  1 file changed, 35 insertions(+), 10 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml b/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml
> index 4869ddef36fd89265a1bfe96bb9663b553ac5084..7a9e2a63ac4351aea10b2763ca250ce4889df1eb 100644
> --- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml
> +++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml
> @@ -30,6 +30,39 @@ allOf:
>            maxItems: 1
>          reg-names:
>            maxItems: 1
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: mrvl,pxav1-mmc
> +    then:
> +      properties:
> +        pinctrl-names:
> +          description:
> +            Optional for supporting PXA168 SDIO IRQ errata to switch CMD pin between
> +            SDIO CMD and GPIO mode.
> +          items:
> +            - const: default
> +            - const: state_cmd_gpio

blank line

> +        pinctrl-1:
> +          description:
> +            Should switch CMD pin to GPIO mode as a high output.
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: mrvl,pxav3-mmc
> +    then:
> +      properties:
> +        pinctrl-names:
> +          description:
> +            Optional for increasing stability of the controller at fast bus clocks.
> +          items:
> +            - const: default
> +            - const: state_uhs

blank line

> +        pinctrl-1:
> +          description:
> +            Should switch the drive strength of the data pins to high.
>  
>  properties:
>    compatible:
> @@ -62,21 +95,13 @@ properties:
>        - const: io
>        - const: core
>  
> -  pinctrl-names:
> -    description:
> -      Optional for supporting PXA168 SDIO IRQ errata to switch CMD pin between
> -      SDIO CMD and GPIO mode.
> -    items:
> -      - const: default
> -      - const: state_cmd_gpio
> +  pinctrl-names: true
>  
>    pinctrl-0:
>      description:
>        Should contain default pinctrl.
>  
> -  pinctrl-1:
> -    description:
> -      Should switch CMD pin to GPIO mode as a high output.
> +  pinctrl-1: true
>  
>    mrvl,clk-delay-cycles:
>      description: Specify a number of cycles to delay for tuning.
> 
> -- 
> 2.50.1
> 
Re: [PATCH RFC 1/2] dt-bindings: mmc: sdhci-pxa: add state_uhs pinctrl
Posted by Duje Mihanović 2 months, 2 weeks ago
On Monday, 21 July 2025 16:35:41 Central European Summer Time Rob Herring 
wrote:
> On Fri, Jul 18, 2025 at 11:12:38PM +0200, Duje Mihanović wrote:
> > On the pxav3 controller, increasing the drive strength of the data pins
> > might be required to maintain stability on fast bus clocks (above 100
> > MHz). Add a state_uhs pinctrl to allow this.
> > 
> > The existing state_cmd_gpio pinctrl is changed to apply only on pxav1 as
> > it's unneeded on the other controllers.
> > 
> > Signed-off-by: Duje Mihanović <duje@dujemihanovic.xyz>
> > ---
> > 
> >  .../devicetree/bindings/mmc/sdhci-pxa.yaml         | 45
> >  +++++++++++++++++----- 1 file changed, 35 insertions(+), 10 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml
> > b/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml index
> > 
4869ddef36fd89265a1bfe96bb9663b553ac5084..7a9e2a63ac4351aea10b2763ca250ce48
> > 89df1eb 100644 --- a/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml
> > +++ b/Documentation/devicetree/bindings/mmc/sdhci-pxa.yaml
> > 
> > @@ -30,6 +30,39 @@ allOf:
> >            maxItems: 1
> >          
> >          reg-names:
> >            maxItems: 1
> > 
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: mrvl,pxav1-mmc
> > +    then:
> > +      properties:
> > +        pinctrl-names:
> > +          description:
> > +            Optional for supporting PXA168 SDIO IRQ errata to switch CMD
> > pin between +            SDIO CMD and GPIO mode.
> > +          items:
> > +            - const: default
> > +            - const: state_cmd_gpio
> 
> blank line

While at it, should I do the same with the properties: blocks in the existing 
if: block?

Regards,
--
Duje