diff mbox series

[v2,02/11] dt-bindings: marvell: convert Armada 37xx compatibles to YAML

Message ID 20220510124929.91000-2-robert.marko@sartura.hr (mailing list archive)
State New, archived
Headers show
Series [v2,01/11] dt-bindings: vendor-prefixes: add Methode Electronics | expand

Commit Message

Robert Marko May 10, 2022, 12:49 p.m. UTC
Convert the Armada 37xx SoC compatibles to YAML.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
---
 .../bindings/arm/marvell/armada-37xx.txt      | 26 ----------
 .../bindings/arm/marvell/armada-37xx.yaml     | 50 +++++++++++++++++++
 2 files changed, 50 insertions(+), 26 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml

Comments

Krzysztof Kozlowski May 11, 2022, 4:52 p.m. UTC | #1
On 10/05/2022 14:49, Robert Marko wrote:

Thank you for your patch. There is something to discuss/improve.

> -
> - - compatible: must contain "cznic,turris-mox"
> diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml
> new file mode 100644
> index 000000000000..3f41ef2c6f3e
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml
> @@ -0,0 +1,50 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/marvell/armada-37xx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Marvell Armada 37xx Platforms Device Tree Bindings
> +
> +maintainers:
> +  - Robert Marko <robert.marko@sartura.hr>
> +
> +properties:
> +  $nodename:
> +    const: '/'
> +  compatible:
> +    oneOf:
> +      - description: Armada 3710 SoC
> +        items:
> +          - const: marvell,armada3710

This does not look correct. The SoC usually cannot be used by itself,
it's always a part of some product, SoM, board.

> +
> +      - description: Armada 3720 SoC
> +        items:
> +          - enum:
> +              - marvell,armada-3720-db
> +              - globalscale,espressobin
> +              - cznic,turris-mox
> +              - methode,udpu

Order by name.

> +          - const: marvell,armada3720
> +          - const: marvell,armada3710
> +
> +      - description: Globalscale Espressobin boards
> +        items:
> +          - enum:
> +              - globalscale,espressobin-emmc
> +              - globalscale,espressobin-ultra
> +              - globalscale,espressobin-v7
> +          - const: globalscale,espressobin
> +          - const: marvell,armada3720
> +          - const: marvell,armada3710
> +
> +      - description: Globalscale Espressobin V7 boards
> +        items:
> +          - enum:
> +              - globalscale,espressobin-v7-emmc
> +          - const: globalscale,espressobin-v7
> +          - const: globalscale,espressobin
> +          - const: marvell,armada3720
> +          - const: marvell,armada3710
> +
> +additionalProperties: true


Best regards,
Krzysztof
Robert Marko May 12, 2022, 12:26 p.m. UTC | #2
On Wed, May 11, 2022 at 6:52 PM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 10/05/2022 14:49, Robert Marko wrote:
>
> Thank you for your patch. There is something to discuss/improve.
>
> > -
> > - - compatible: must contain "cznic,turris-mox"
> > diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml
> > new file mode 100644
> > index 000000000000..3f41ef2c6f3e
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml
> > @@ -0,0 +1,50 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/arm/marvell/armada-37xx.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Marvell Armada 37xx Platforms Device Tree Bindings
> > +
> > +maintainers:
> > +  - Robert Marko <robert.marko@sartura.hr>
> > +
> > +properties:
> > +  $nodename:
> > +    const: '/'
> > +  compatible:
> > +    oneOf:
> > +      - description: Armada 3710 SoC
> > +        items:
> > +          - const: marvell,armada3710
>
> This does not look correct. The SoC usually cannot be used by itself,
> it's always a part of some product, SoM, board.

Hi Krzysztof,
Currently, there are no Armada 3710 boards present in Linux, so I just
put the SoC compatible.
If that is not appropriate, I can drop it.

>
> > +
> > +      - description: Armada 3720 SoC
> > +        items:
> > +          - enum:
> > +              - marvell,armada-3720-db
> > +              - globalscale,espressobin
> > +              - cznic,turris-mox
> > +              - methode,udpu
>
> Order by name.
Will fixup in v3.

>
> > +          - const: marvell,armada3720
> > +          - const: marvell,armada3710
> > +
> > +      - description: Globalscale Espressobin boards
> > +        items:
> > +          - enum:
> > +              - globalscale,espressobin-emmc
> > +              - globalscale,espressobin-ultra
> > +              - globalscale,espressobin-v7
> > +          - const: globalscale,espressobin
> > +          - const: marvell,armada3720
> > +          - const: marvell,armada3710
Do these const compatibles also need to be in alphabetical ordering,
cause I ported them as they are meant to be used with the board and
then 3720 compatibles being in front of 3710 one as required by the current
text bindings.

Regards,
Robert
> > +
> > +      - description: Globalscale Espressobin V7 boards
> > +        items:
> > +          - enum:
> > +              - globalscale,espressobin-v7-emmc
> > +          - const: globalscale,espressobin-v7
> > +          - const: globalscale,espressobin
> > +          - const: marvell,armada3720
> > +          - const: marvell,armada3710
> > +
> > +additionalProperties: true
>
>
> Best regards,
> Krzysztof
Krzysztof Kozlowski May 12, 2022, 12:36 p.m. UTC | #3
On 12/05/2022 14:26, Robert Marko wrote:
> On Wed, May 11, 2022 at 6:52 PM Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org> wrote:
>>
>> On 10/05/2022 14:49, Robert Marko wrote:
>>
>> Thank you for your patch. There is something to discuss/improve.
>>
>>> -
>>> - - compatible: must contain "cznic,turris-mox"
>>> diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml
>>> new file mode 100644
>>> index 000000000000..3f41ef2c6f3e
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml
>>> @@ -0,0 +1,50 @@
>>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/arm/marvell/armada-37xx.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Marvell Armada 37xx Platforms Device Tree Bindings
>>> +
>>> +maintainers:
>>> +  - Robert Marko <robert.marko@sartura.hr>
>>> +
>>> +properties:
>>> +  $nodename:
>>> +    const: '/'
>>> +  compatible:
>>> +    oneOf:
>>> +      - description: Armada 3710 SoC
>>> +        items:
>>> +          - const: marvell,armada3710
>>
>> This does not look correct. The SoC usually cannot be used by itself,
>> it's always a part of some product, SoM, board.
> 
> Hi Krzysztof,
> Currently, there are no Armada 3710 boards present in Linux, so I just
> put the SoC compatible.
> If that is not appropriate, I can drop it.

Yes, please drop it.

It seems several Marvel boards and bindings use wrong convention for
compatibles. We discussed it here:
https://lore.kernel.org/all/1ed03960-77f6-1a9e-2378-07a6c51f42f7@linaro.org/
AC5 and CN9130 have the same wrong patterns.

> 
>>
>>> +
>>> +      - description: Armada 3720 SoC
>>> +        items:
>>> +          - enum:
>>> +              - marvell,armada-3720-db
>>> +              - globalscale,espressobin
>>> +              - cznic,turris-mox
>>> +              - methode,udpu
>>
>> Order by name.
> Will fixup in v3.
> 
>>
>>> +          - const: marvell,armada3720
>>> +          - const: marvell,armada3710
>>> +
>>> +      - description: Globalscale Espressobin boards
>>> +        items:
>>> +          - enum:
>>> +              - globalscale,espressobin-emmc
>>> +              - globalscale,espressobin-ultra
>>> +              - globalscale,espressobin-v7
>>> +          - const: globalscale,espressobin
>>> +          - const: marvell,armada3720
>>> +          - const: marvell,armada3710
> Do these const compatibles also need to be in alphabetical ordering,
> cause I ported them as they are meant to be used with the board and
> then 3720 compatibles being in front of 3710 one as required by the current
> text bindings.

Entries in enum should be ordered alphabetically. Then the entire set "-
description: Globalscale Espressobin boards" should have some logical
order, not necessarily by name.

Anyway this is not a requirement but rather suggestion because having
things ordered reduces amount of conflicts when two people add new
boards (because they add it not at the end, but somewhere in the middle
following some order).


Best regards,
Krzysztof
Robert Marko May 12, 2022, 12:47 p.m. UTC | #4
On Thu, May 12, 2022 at 2:36 PM Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> wrote:
>
> On 12/05/2022 14:26, Robert Marko wrote:
> > On Wed, May 11, 2022 at 6:52 PM Krzysztof Kozlowski
> > <krzysztof.kozlowski@linaro.org> wrote:
> >>
> >> On 10/05/2022 14:49, Robert Marko wrote:
> >>
> >> Thank you for your patch. There is something to discuss/improve.
> >>
> >>> -
> >>> - - compatible: must contain "cznic,turris-mox"
> >>> diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml
> >>> new file mode 100644
> >>> index 000000000000..3f41ef2c6f3e
> >>> --- /dev/null
> >>> +++ b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml
> >>> @@ -0,0 +1,50 @@
> >>> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> >>> +%YAML 1.2
> >>> +---
> >>> +$id: http://devicetree.org/schemas/arm/marvell/armada-37xx.yaml#
> >>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> >>> +
> >>> +title: Marvell Armada 37xx Platforms Device Tree Bindings
> >>> +
> >>> +maintainers:
> >>> +  - Robert Marko <robert.marko@sartura.hr>
> >>> +
> >>> +properties:
> >>> +  $nodename:
> >>> +    const: '/'
> >>> +  compatible:
> >>> +    oneOf:
> >>> +      - description: Armada 3710 SoC
> >>> +        items:
> >>> +          - const: marvell,armada3710
> >>
> >> This does not look correct. The SoC usually cannot be used by itself,
> >> it's always a part of some product, SoM, board.
> >
> > Hi Krzysztof,
> > Currently, there are no Armada 3710 boards present in Linux, so I just
> > put the SoC compatible.
> > If that is not appropriate, I can drop it.
>
> Yes, please drop it.
>
> It seems several Marvel boards and bindings use wrong convention for
> compatibles. We discussed it here:
> https://lore.kernel.org/all/1ed03960-77f6-1a9e-2378-07a6c51f42f7@linaro.org/
> AC5 and CN9130 have the same wrong patterns.
>
> >
> >>
> >>> +
> >>> +      - description: Armada 3720 SoC
> >>> +        items:
> >>> +          - enum:
> >>> +              - marvell,armada-3720-db
> >>> +              - globalscale,espressobin
> >>> +              - cznic,turris-mox
> >>> +              - methode,udpu
> >>
> >> Order by name.
> > Will fixup in v3.
> >
> >>
> >>> +          - const: marvell,armada3720
> >>> +          - const: marvell,armada3710
> >>> +
> >>> +      - description: Globalscale Espressobin boards
> >>> +        items:
> >>> +          - enum:
> >>> +              - globalscale,espressobin-emmc
> >>> +              - globalscale,espressobin-ultra
> >>> +              - globalscale,espressobin-v7
> >>> +          - const: globalscale,espressobin
> >>> +          - const: marvell,armada3720
> >>> +          - const: marvell,armada3710
> > Do these const compatibles also need to be in alphabetical ordering,
> > cause I ported them as they are meant to be used with the board and
> > then 3720 compatibles being in front of 3710 one as required by the current
> > text bindings.
>
> Entries in enum should be ordered alphabetically. Then the entire set "-
> description: Globalscale Espressobin boards" should have some logical
> order, not necessarily by name.
>
> Anyway this is not a requirement but rather suggestion because having
> things ordered reduces amount of conflicts when two people add new
> boards (because they add it not at the end, but somewhere in the middle
> following some order).

Hi,
understood, will send a v3 soon.

Regards,
Robert
>
>
> Best regards,
> Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt
index f6d6642d81c0..29fa93dad52b 100644
--- a/Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt
+++ b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.txt
@@ -1,21 +1,3 @@ 
-Marvell Armada 37xx Platforms Device Tree Bindings
---------------------------------------------------
-
-Boards using a SoC of the Marvell Armada 37xx family must carry the
-following root node property:
-
- - compatible: must contain "marvell,armada3710"
-
-In addition, boards using the Marvell Armada 3720 SoC shall have the
-following property before the previous one:
-
- - compatible: must contain "marvell,armada3720"
-
-Example:
-
-compatible = "marvell,armada-3720-db", "marvell,armada3720", "marvell,armada3710";
-
-
 Power management
 ----------------
 
@@ -48,11 +30,3 @@  avs: avs@11500 {
 	compatible = "marvell,armada-3700-avs", "syscon";
 	reg = <0x11500 0x40>;
 }
-
-
-CZ.NIC's Turris Mox SOHO router Device Tree Bindings
-----------------------------------------------------
-
-Required root node property:
-
- - compatible: must contain "cznic,turris-mox"
diff --git a/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml
new file mode 100644
index 000000000000..3f41ef2c6f3e
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/marvell/armada-37xx.yaml
@@ -0,0 +1,50 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/arm/marvell/armada-37xx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Marvell Armada 37xx Platforms Device Tree Bindings
+
+maintainers:
+  - Robert Marko <robert.marko@sartura.hr>
+
+properties:
+  $nodename:
+    const: '/'
+  compatible:
+    oneOf:
+      - description: Armada 3710 SoC
+        items:
+          - const: marvell,armada3710
+
+      - description: Armada 3720 SoC
+        items:
+          - enum:
+              - marvell,armada-3720-db
+              - globalscale,espressobin
+              - cznic,turris-mox
+              - methode,udpu
+          - const: marvell,armada3720
+          - const: marvell,armada3710
+
+      - description: Globalscale Espressobin boards
+        items:
+          - enum:
+              - globalscale,espressobin-emmc
+              - globalscale,espressobin-ultra
+              - globalscale,espressobin-v7
+          - const: globalscale,espressobin
+          - const: marvell,armada3720
+          - const: marvell,armada3710
+
+      - description: Globalscale Espressobin V7 boards
+        items:
+          - enum:
+              - globalscale,espressobin-v7-emmc
+          - const: globalscale,espressobin-v7
+          - const: globalscale,espressobin
+          - const: marvell,armada3720
+          - const: marvell,armada3710
+
+additionalProperties: true