[PATCH 1/3] dt-bindings: mmc: spacemit,sdhci: add reset support

Yixun Lan posted 3 patches 1 month, 2 weeks ago
There is a newer version of this series
[PATCH 1/3] dt-bindings: mmc: spacemit,sdhci: add reset support
Posted by Yixun Lan 1 month, 2 weeks ago
The SpacemiT SDHCI controller has two reset lines, one connect to AXI bus
which shared by all controllers, while another one connect to individual
controller separately.

Signed-off-by: Yixun Lan <dlan@gentoo.org>
---
 Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml b/Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml
index 13d9382058fb..322c69b056f4 100644
--- a/Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml
@@ -32,12 +32,24 @@ properties:
       - const: core
       - const: io
 
+  resets:
+    items:
+      - description: axi reset, connect to AXI bus, shared by all controllers
+      - description: sdh reset, connect to individual controller separately
+
+  reset-names:
+    items:
+      - const: axi
+      - const: sdh
+
 required:
   - compatible
   - reg
   - interrupts
   - clocks
   - clock-names
+  - resets
+  - reset-names
 
 unevaluatedProperties: false
 
@@ -50,4 +62,6 @@ examples:
       interrupt-parent = <&plic>;
       clocks = <&clk_apmu 10>, <&clk_apmu 13>;
       clock-names = "core", "io";
+      resets = <&syscon_apmu 2>, <&syscon_apmu 5>;
+      reset-names = "axi", "sdh";
     };

-- 
2.52.0
Re: [PATCH 1/3] dt-bindings: mmc: spacemit,sdhci: add reset support
Posted by Krzysztof Kozlowski 1 month, 2 weeks ago
On Sun, Dec 21, 2025 at 04:20:26PM +0800, Yixun Lan wrote:
> The SpacemiT SDHCI controller has two reset lines, one connect to AXI bus
> which shared by all controllers, while another one connect to individual
> controller separately.
> 
> Signed-off-by: Yixun Lan <dlan@gentoo.org>
> ---
>  Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml b/Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml
> index 13d9382058fb..322c69b056f4 100644
> --- a/Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml
> +++ b/Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml
> @@ -32,12 +32,24 @@ properties:
>        - const: core
>        - const: io
>  
> +  resets:
> +    items:
> +      - description: axi reset, connect to AXI bus, shared by all controllers
> +      - description: sdh reset, connect to individual controller separately
> +
> +  reset-names:
> +    items:
> +      - const: axi
> +      - const: sdh
> +
>  required:
>    - compatible
>    - reg
>    - interrupts
>    - clocks
>    - clock-names
> +  - resets
> +  - reset-names

This is an ABI break without mentioning in commit msg and without any
justification.

Best regards,
Krzysztof
Re: [PATCH 1/3] dt-bindings: mmc: spacemit,sdhci: add reset support
Posted by Yixun Lan 1 month, 2 weeks ago
Hi Krzysztof, 

On 16:09 Sun 21 Dec     , Krzysztof Kozlowski wrote:
> On Sun, Dec 21, 2025 at 04:20:26PM +0800, Yixun Lan wrote:
> > The SpacemiT SDHCI controller has two reset lines, one connect to AXI bus
> > which shared by all controllers, while another one connect to individual
> > controller separately.
> > 
> > Signed-off-by: Yixun Lan <dlan@gentoo.org>
> > ---
> >  Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml | 14 ++++++++++++++
> >  1 file changed, 14 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml b/Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml
> > index 13d9382058fb..322c69b056f4 100644
> > --- a/Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml
> > +++ b/Documentation/devicetree/bindings/mmc/spacemit,sdhci.yaml
> > @@ -32,12 +32,24 @@ properties:
> >        - const: core
> >        - const: io
> >  
> > +  resets:
> > +    items:
> > +      - description: axi reset, connect to AXI bus, shared by all controllers
> > +      - description: sdh reset, connect to individual controller separately
> > +
> > +  reset-names:
> > +    items:
> > +      - const: axi
> > +      - const: sdh
> > +
> >  required:
> >    - compatible
> >    - reg
> >    - interrupts
> >    - clocks
> >    - clock-names
> > +  - resets
> > +  - reset-names
> 
> This is an ABI break without mentioning in commit msg and without any
> justification.
> 
Indeed, this will introduce a breakage when combining new kernel + old dtb

Since in current case, the eMMC works fine without reset line operation,
I then would make this property optional (drop it from 'required' section)
and switch to use devm_reset_control_get_optional_xx() API in driver code

Does this looks good to you?

-- 
Yixun Lan (dlan)
Re: [PATCH 1/3] dt-bindings: mmc: spacemit,sdhci: add reset support
Posted by Krzysztof Kozlowski 1 month, 2 weeks ago
On 22/12/2025 03:12, Yixun Lan wrote:
>>>  required:
>>>    - compatible
>>>    - reg
>>>    - interrupts
>>>    - clocks
>>>    - clock-names
>>> +  - resets
>>> +  - reset-names
>>
>> This is an ABI break without mentioning in commit msg and without any
>> justification.
>>
> Indeed, this will introduce a breakage when combining new kernel + old dtb
> 
> Since in current case, the eMMC works fine without reset line operation,
> I then would make this property optional (drop it from 'required' section)
> and switch to use devm_reset_control_get_optional_xx() API in driver code
> 
> Does this looks good to you?
> 

Yes

Best regards,
Krzysztof