diff mbox series

[1/2] dt-bindings: mmc: arasan,sdci: Add Xilinx Versal Net compatible

Message ID 20230324073630.3194724-2-sai.krishna.potthuri@amd.com (mailing list archive)
State New, archived
Headers show
Series mmc: sdhci-of-arasan: Add eMMC5.1 support for Xilinx Versal Net | expand

Commit Message

Potthuri, Sai Krishna March 24, 2023, 7:36 a.m. UTC
Add Xilinx Versal Net compatible to support eMMC 5.1 PHY.

Signed-off-by: Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
---
 Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Krzysztof Kozlowski March 24, 2023, 11:44 a.m. UTC | #1
On 24/03/2023 08:36, Sai Krishna Potthuri wrote:
> Add Xilinx Versal Net compatible to support eMMC 5.1 PHY.
> 
> Signed-off-by: Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
> ---
>  Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
> index 8296c34cfa00..cf44a4b988a7 100644
> --- a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
> +++ b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
> @@ -27,6 +27,7 @@ allOf:
>              enum:
>                - xlnx,zynqmp-8.9a
>                - xlnx,versal-8.9a
> +              - xlnx,versal-net-5.1-emmc

v5.1 is eMMC standard or Versal block version? If the first, it's not
suitable for compatibles.

Also, what's the difference from xlnx,versal-8.9a?

>      then:
>        properties:
>          clock-output-names:
> @@ -62,6 +63,11 @@ properties:
>          description:
>            For this device it is strongly suggested to include
>            clock-output-names and '#clock-cells'.
> +      - items:
> +          - const: xlnx,versal-net-5.1-emmc     # Versal Net eMMC PHY
> +        description:

Best regards,
Krzysztof
Potthuri, Sai Krishna March 27, 2023, 9:58 a.m. UTC | #2
Hi Krzysztof,

> -----Original Message-----
> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Sent: Friday, March 24, 2023 5:14 PM
> To: Potthuri, Sai Krishna <sai.krishna.potthuri@amd.com>; Ulf Hansson
> <ulf.hansson@linaro.org>; Rob Herring <robh+dt@kernel.org>; Krzysztof
> Kozlowski <krzysztof.kozlowski+dt@linaro.org>; Michal Simek
> <michal.simek@xilinx.com>; Adrian Hunter <adrian.hunter@intel.com>
> Cc: linux-mmc@vger.kernel.org; linux-kernel@vger.kernel.org;
> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; git (AMD-
> Xilinx) <git@amd.com>; saikrishna12468@gmail.com
> Subject: Re: [PATCH 1/2] dt-bindings: mmc: arasan,sdci: Add Xilinx Versal Net
> compatible
> 
> On 24/03/2023 08:36, Sai Krishna Potthuri wrote:
> > Add Xilinx Versal Net compatible to support eMMC 5.1 PHY.
> >
> > Signed-off-by: Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
> > ---
> >  Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml | 6 ++++++
> >  1 file changed, 6 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
> > b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
> > index 8296c34cfa00..cf44a4b988a7 100644
> > --- a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
> > +++ b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
> > @@ -27,6 +27,7 @@ allOf:
> >              enum:
> >                - xlnx,zynqmp-8.9a
> >                - xlnx,versal-8.9a
> > +              - xlnx,versal-net-5.1-emmc
> 
> v5.1 is eMMC standard or Versal block version? If the first, it's not suitable for
> compatibles.
> 
> Also, what's the difference from xlnx,versal-8.9a?
V5.1 is an eMMC standard and this compatible is defined based on sdhci arasan
eMMC5.1 Host Controller(arasan,sdhci-5.1), where as in Versal, it’s a different
controller and it is based on 4.51 Host Controller(arasan,sdhci-8.9a).
Versal Net Compatible is defined it this way to make it inline with the other
existing SoC compatibles like "intel,keembay-sdhci-5.1-emmc".
Please suggest if the compatible need to be renamed to "xlnx,versal-net-emmc"?

Regards
Sai Krishna

> 
> >      then:
> >        properties:
> >          clock-output-names:
> > @@ -62,6 +63,11 @@ properties:
> >          description:
> >            For this device it is strongly suggested to include
> >            clock-output-names and '#clock-cells'.
> > +      - items:
> > +          - const: xlnx,versal-net-5.1-emmc     # Versal Net eMMC PHY
> > +        description:
> 
> Best regards,
> Krzysztof
Krzysztof Kozlowski March 28, 2023, 7:14 a.m. UTC | #3
On 27/03/2023 11:58, Potthuri, Sai Krishna wrote:
> Hi Krzysztof,
> 
>> -----Original Message-----
>> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>> Sent: Friday, March 24, 2023 5:14 PM
>> To: Potthuri, Sai Krishna <sai.krishna.potthuri@amd.com>; Ulf Hansson
>> <ulf.hansson@linaro.org>; Rob Herring <robh+dt@kernel.org>; Krzysztof
>> Kozlowski <krzysztof.kozlowski+dt@linaro.org>; Michal Simek
>> <michal.simek@xilinx.com>; Adrian Hunter <adrian.hunter@intel.com>
>> Cc: linux-mmc@vger.kernel.org; linux-kernel@vger.kernel.org;
>> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; git (AMD-
>> Xilinx) <git@amd.com>; saikrishna12468@gmail.com
>> Subject: Re: [PATCH 1/2] dt-bindings: mmc: arasan,sdci: Add Xilinx Versal Net
>> compatible
>>
>> On 24/03/2023 08:36, Sai Krishna Potthuri wrote:
>>> Add Xilinx Versal Net compatible to support eMMC 5.1 PHY.
>>>
>>> Signed-off-by: Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
>>> ---
>>>  Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml | 6 ++++++
>>>  1 file changed, 6 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
>>> b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
>>> index 8296c34cfa00..cf44a4b988a7 100644
>>> --- a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
>>> +++ b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
>>> @@ -27,6 +27,7 @@ allOf:
>>>              enum:
>>>                - xlnx,zynqmp-8.9a
>>>                - xlnx,versal-8.9a
>>> +              - xlnx,versal-net-5.1-emmc
>>
>> v5.1 is eMMC standard or Versal block version? If the first, it's not suitable for
>> compatibles.
>>
>> Also, what's the difference from xlnx,versal-8.9a?
> V5.1 is an eMMC standard and this compatible is defined based on sdhci arasan
> eMMC5.1 Host Controller(arasan,sdhci-5.1), where as in Versal, it’s a different
> controller and it is based on 4.51 Host Controller(arasan,sdhci-8.9a).

Mixing IP block versions and eMMC spec versions in one binding is a
great way to confuse.

> Versal Net Compatible is defined it this way to make it inline with the other
> existing SoC compatibles like "intel,keembay-sdhci-5.1-emmc".
> Please suggest if the compatible need to be renamed to "xlnx,versal-net-emmc"?

Is Versal Net uniquely identifying your SoC or IP block?

> 
> Regards
> Sai Krishna
> 
>>
>>>      then:
>>>        properties:
>>>          clock-output-names:
>>> @@ -62,6 +63,11 @@ properties:
>>>          description:
>>>            For this device it is strongly suggested to include
>>>            clock-output-names and '#clock-cells'.
>>> +      - items:
>>> +          - const: xlnx,versal-net-5.1-emmc     # Versal Net eMMC PHY

You do not have items here, so move it to respective place at beginning,
just like others are defined.


Best regards,
Krzysztof
Michal Simek March 28, 2023, 7:31 a.m. UTC | #4
On 3/28/23 09:14, Krzysztof Kozlowski wrote:
> On 27/03/2023 11:58, Potthuri, Sai Krishna wrote:
>> Hi Krzysztof,
>>
>>> -----Original Message-----
>>> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>> Sent: Friday, March 24, 2023 5:14 PM
>>> To: Potthuri, Sai Krishna <sai.krishna.potthuri@amd.com>; Ulf Hansson
>>> <ulf.hansson@linaro.org>; Rob Herring <robh+dt@kernel.org>; Krzysztof
>>> Kozlowski <krzysztof.kozlowski+dt@linaro.org>; Michal Simek
>>> <michal.simek@xilinx.com>; Adrian Hunter <adrian.hunter@intel.com>
>>> Cc: linux-mmc@vger.kernel.org; linux-kernel@vger.kernel.org;
>>> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; git (AMD-
>>> Xilinx) <git@amd.com>; saikrishna12468@gmail.com
>>> Subject: Re: [PATCH 1/2] dt-bindings: mmc: arasan,sdci: Add Xilinx Versal Net
>>> compatible
>>>
>>> On 24/03/2023 08:36, Sai Krishna Potthuri wrote:
>>>> Add Xilinx Versal Net compatible to support eMMC 5.1 PHY.
>>>>
>>>> Signed-off-by: Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
>>>> ---
>>>>   Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml | 6 ++++++
>>>>   1 file changed, 6 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
>>>> b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
>>>> index 8296c34cfa00..cf44a4b988a7 100644
>>>> --- a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
>>>> +++ b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
>>>> @@ -27,6 +27,7 @@ allOf:
>>>>               enum:
>>>>                 - xlnx,zynqmp-8.9a
>>>>                 - xlnx,versal-8.9a
>>>> +              - xlnx,versal-net-5.1-emmc
>>>
>>> v5.1 is eMMC standard or Versal block version? If the first, it's not suitable for
>>> compatibles.
>>>
>>> Also, what's the difference from xlnx,versal-8.9a?
>> V5.1 is an eMMC standard and this compatible is defined based on sdhci arasan
>> eMMC5.1 Host Controller(arasan,sdhci-5.1), where as in Versal, it’s a different
>> controller and it is based on 4.51 Host Controller(arasan,sdhci-8.9a).
> 
> Mixing IP block versions and eMMC spec versions in one binding is a
> great way to confuse.

What do you suggest then?

> 
>> Versal Net Compatible is defined it this way to make it inline with the other
>> existing SoC compatibles like "intel,keembay-sdhci-5.1-emmc".
>> Please suggest if the compatible need to be renamed to "xlnx,versal-net-emmc"?
> 
> Is Versal Net uniquely identifying your SoC or IP block?

Yes. versal-net is unique identifier for specific silicon with fixed set if IPs.

Can you please refresh my mind if we can introduce specific compatible strings 
for this SOC or should we used existing one if functionality is the same with 
previous SOC family?
There could be currently unknown issues related to SOC wiring out of specific IP 
version.

Thanks,
Michal
Krzysztof Kozlowski March 28, 2023, 7:37 a.m. UTC | #5
On 28/03/2023 09:31, Michal Simek wrote:
> 
> 
> On 3/28/23 09:14, Krzysztof Kozlowski wrote:
>> On 27/03/2023 11:58, Potthuri, Sai Krishna wrote:
>>> Hi Krzysztof,
>>>
>>>> -----Original Message-----
>>>> From: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>>> Sent: Friday, March 24, 2023 5:14 PM
>>>> To: Potthuri, Sai Krishna <sai.krishna.potthuri@amd.com>; Ulf Hansson
>>>> <ulf.hansson@linaro.org>; Rob Herring <robh+dt@kernel.org>; Krzysztof
>>>> Kozlowski <krzysztof.kozlowski+dt@linaro.org>; Michal Simek
>>>> <michal.simek@xilinx.com>; Adrian Hunter <adrian.hunter@intel.com>
>>>> Cc: linux-mmc@vger.kernel.org; linux-kernel@vger.kernel.org;
>>>> devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; git (AMD-
>>>> Xilinx) <git@amd.com>; saikrishna12468@gmail.com
>>>> Subject: Re: [PATCH 1/2] dt-bindings: mmc: arasan,sdci: Add Xilinx Versal Net
>>>> compatible
>>>>
>>>> On 24/03/2023 08:36, Sai Krishna Potthuri wrote:
>>>>> Add Xilinx Versal Net compatible to support eMMC 5.1 PHY.
>>>>>
>>>>> Signed-off-by: Sai Krishna Potthuri <sai.krishna.potthuri@amd.com>
>>>>> ---
>>>>>   Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml | 6 ++++++
>>>>>   1 file changed, 6 insertions(+)
>>>>>
>>>>> diff --git a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
>>>>> b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
>>>>> index 8296c34cfa00..cf44a4b988a7 100644
>>>>> --- a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
>>>>> +++ b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
>>>>> @@ -27,6 +27,7 @@ allOf:
>>>>>               enum:
>>>>>                 - xlnx,zynqmp-8.9a
>>>>>                 - xlnx,versal-8.9a
>>>>> +              - xlnx,versal-net-5.1-emmc
>>>>
>>>> v5.1 is eMMC standard or Versal block version? If the first, it's not suitable for
>>>> compatibles.
>>>>
>>>> Also, what's the difference from xlnx,versal-8.9a?
>>> V5.1 is an eMMC standard and this compatible is defined based on sdhci arasan
>>> eMMC5.1 Host Controller(arasan,sdhci-5.1), where as in Versal, it’s a different
>>> controller and it is based on 4.51 Host Controller(arasan,sdhci-8.9a).
>>
>> Mixing IP block versions and eMMC spec versions in one binding is a
>> great way to confuse.
> 
> What do you suggest then?

Stick to IP block versions or code names. The eMMC spec version would
only make sense if you had such possibility:

xlnx,versal-net-emmc-5.0
xlnx,versal-net-emmc-5.1
xlnx,versal-net-emmc-x.y

So exactly one device with different blocks inside. This is very
uncommon, but there such SoC (SunPlus IIRC).

> 
>>
>>> Versal Net Compatible is defined it this way to make it inline with the other
>>> existing SoC compatibles like "intel,keembay-sdhci-5.1-emmc".
>>> Please suggest if the compatible need to be renamed to "xlnx,versal-net-emmc"?
>>
>> Is Versal Net uniquely identifying your SoC or IP block?
> 
> Yes. versal-net is unique identifier for specific silicon with fixed set if IPs.

Then I suggest xlnx,versal-net-emmc.

> Can you please refresh my mind if we can introduce specific compatible strings 
> for this SOC or should we used existing one if functionality is the same with 
> previous SOC family?

It's regular case and recommendation is always (for every SoC) the same:
https://elixir.bootlin.com/linux/v6.1-rc1/source/Documentation/devicetree/bindings/writing-bindings.rst#L42

You should add new SoC specific compatible followed by existing one
(fallback).

> There could be currently unknown issues related to SOC wiring out of specific IP 
> version.

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
index 8296c34cfa00..cf44a4b988a7 100644
--- a/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
+++ b/Documentation/devicetree/bindings/mmc/arasan,sdhci.yaml
@@ -27,6 +27,7 @@  allOf:
             enum:
               - xlnx,zynqmp-8.9a
               - xlnx,versal-8.9a
+              - xlnx,versal-net-5.1-emmc
     then:
       properties:
         clock-output-names:
@@ -62,6 +63,11 @@  properties:
         description:
           For this device it is strongly suggested to include
           clock-output-names and '#clock-cells'.
+      - items:
+          - const: xlnx,versal-net-5.1-emmc     # Versal Net eMMC PHY
+        description:
+          For this device it is strongly suggested to include
+          clock-output-names and '#clock-cells'.
       - items:
           - const: intel,lgm-sdhci-5.1-emmc     # Intel LGM eMMC PHY
           - const: arasan,sdhci-5.1