diff mbox series

[v1,1/5] dt-bindings: arm: ti: add toradex,verdin-am62 et al.

Message ID 20230524143631.42471-2-francesco@dolcini.it
State Superseded, archived
Headers show
Series Add Toradex Verdin AM62 | expand

Checks

Context Check Description
robh/checkpatch success
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Francesco Dolcini May 24, 2023, 2:36 p.m. UTC
From: Francesco Dolcini <francesco.dolcini@toradex.com>

Add toradex,verdin-am62 for Toradex Verdin AM62 SoM, its
nonwifi and wifi variants and the carrier boards (Dahlia,
Verdin Development Board and Yavia) they may be mated in.

Link: https://developer.toradex.com/hardware/verdin-som-family/modules/verdin-am62/
Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
---
 .../devicetree/bindings/arm/ti/k3.yaml        | 20 +++++++++++++++++++
 1 file changed, 20 insertions(+)

Comments

Andrew Davis May 24, 2023, 5:48 p.m. UTC | #1
On 5/24/23 9:36 AM, Francesco Dolcini wrote:
> From: Francesco Dolcini <francesco.dolcini@toradex.com>
> 
> Add toradex,verdin-am62 for Toradex Verdin AM62 SoM, its
> nonwifi and wifi variants and the carrier boards (Dahlia,
> Verdin Development Board and Yavia) they may be mated in.
> 
> Link: https://developer.toradex.com/hardware/verdin-som-family/modules/verdin-am62/
> Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> ---
>   .../devicetree/bindings/arm/ti/k3.yaml        | 20 +++++++++++++++++++
>   1 file changed, 20 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentation/devicetree/bindings/arm/ti/k3.yaml
> index e1183f90bb06..e3aee191d403 100644
> --- a/Documentation/devicetree/bindings/arm/ti/k3.yaml
> +++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml
> @@ -33,6 +33,26 @@ properties:
>                 - ti,am62-lp-sk
>             - const: ti,am625
>   
> +      - description: K3 AM62x SoC Toradex Verdin Modules and Carrier Boards
> +        items:
> +          - enum:
> +              - toradex,verdin-am62-nonwifi-dahlia # Verdin AM62 Module on Dahlia
> +              - toradex,verdin-am62-nonwifi-dev    # Verdin AM62 Module on Verdin Development Board
> +              - toradex,verdin-am62-nonwifi-yavia  # Verdin AM62 Module on Yavia
> +          - const: toradex,verdin-am62-nonwifi     # Verdin AM62 Module without Wi-Fi / BT

Does this add anything? Not sure we need to split compatibles based on this, things
like wifi vs nowifi can be described in DT, same for different memory size models, etc..

In fact I'm not sure we get much value at all out of top level whole-SoC compatible
strings. Maybe we did when there was matching in kernel to do device specific fixups,
but that isn't really used much in ARM64.

Andrew

> +          - const: toradex,verdin-am62             # Verdin AM62 Module
> +          - const: ti,am625
> +
> +      - description: K3 AM62x SoC Toradex Verdin Modules and Carrier Boards with Wi-Fi / BT
> +        items:
> +          - enum:
> +              - toradex,verdin-am62-wifi-dahlia # Verdin AM62 Wi-Fi / BT Module on Dahlia
> +              - toradex,verdin-am62-wifi-dev    # Verdin AM62 Wi-Fi / BT M. on Verdin Development B.
> +              - toradex,verdin-am62-wifi-yavia  # Verdin AM62 Wi-Fi / BT Module on Yavia
> +          - const: toradex,verdin-am62-wifi     # Verdin AM62 Wi-Fi / BT Module
> +          - const: toradex,verdin-am62          # Verdin AM62 Module
> +          - const: ti,am625
> +
>         - description: K3 AM642 SoC
>           items:
>             - enum:
Nishanth Menon May 24, 2023, 7:10 p.m. UTC | #2
On 12:48-20230524, Andrew Davis wrote:

[..]

> In fact I'm not sure we get much value at all out of top level whole-SoC compatible
> strings. Maybe we did when there was matching in kernel to do device specific fixups,
> but that isn't really used much in ARM64.

If you are arguing about const: ti,am625 - there is a bunch more other
S/w systems that use compatibles for various purposes in addition to
usage in userspace (test systems etc) that benefit. Unless there is a
ARM64 wide trend to drop it, I don't see a reason to have a discussion
on that.
Conor Dooley May 24, 2023, 7:15 p.m. UTC | #3
On Wed, May 24, 2023 at 04:36:27PM +0200, Francesco Dolcini wrote:
> From: Francesco Dolcini <francesco.dolcini@toradex.com>
> 
> Add toradex,verdin-am62 for Toradex Verdin AM62 SoM, its
> nonwifi and wifi variants and the carrier boards (Dahlia,
> Verdin Development Board and Yavia) they may be mated in.
> 
> Link: https://developer.toradex.com/hardware/verdin-som-family/modules/verdin-am62/
> Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>

Seems fine to me, provided the platform maintainers are okay with it!
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>

Thanks,
Conor.

> ---
>  .../devicetree/bindings/arm/ti/k3.yaml        | 20 +++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentation/devicetree/bindings/arm/ti/k3.yaml
> index e1183f90bb06..e3aee191d403 100644
> --- a/Documentation/devicetree/bindings/arm/ti/k3.yaml
> +++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml
> @@ -33,6 +33,26 @@ properties:
>                - ti,am62-lp-sk
>            - const: ti,am625
>  
> +      - description: K3 AM62x SoC Toradex Verdin Modules and Carrier Boards
> +        items:
> +          - enum:
> +              - toradex,verdin-am62-nonwifi-dahlia # Verdin AM62 Module on Dahlia
> +              - toradex,verdin-am62-nonwifi-dev    # Verdin AM62 Module on Verdin Development Board
> +              - toradex,verdin-am62-nonwifi-yavia  # Verdin AM62 Module on Yavia
> +          - const: toradex,verdin-am62-nonwifi     # Verdin AM62 Module without Wi-Fi / BT
> +          - const: toradex,verdin-am62             # Verdin AM62 Module
> +          - const: ti,am625
> +
> +      - description: K3 AM62x SoC Toradex Verdin Modules and Carrier Boards with Wi-Fi / BT
> +        items:
> +          - enum:
> +              - toradex,verdin-am62-wifi-dahlia # Verdin AM62 Wi-Fi / BT Module on Dahlia
> +              - toradex,verdin-am62-wifi-dev    # Verdin AM62 Wi-Fi / BT M. on Verdin Development B.
> +              - toradex,verdin-am62-wifi-yavia  # Verdin AM62 Wi-Fi / BT Module on Yavia
> +          - const: toradex,verdin-am62-wifi     # Verdin AM62 Wi-Fi / BT Module
> +          - const: toradex,verdin-am62          # Verdin AM62 Module
> +          - const: ti,am625
> +
>        - description: K3 AM642 SoC
>          items:
>            - enum:
> -- 
> 2.25.1
>
Francesco Dolcini May 24, 2023, 7:20 p.m. UTC | #4
Hello Andrew,

On Wed, May 24, 2023 at 12:48:34PM -0500, Andrew Davis wrote:
> On 5/24/23 9:36 AM, Francesco Dolcini wrote:
> > From: Francesco Dolcini <francesco.dolcini@toradex.com>
> > 
> > Add toradex,verdin-am62 for Toradex Verdin AM62 SoM, its
> > nonwifi and wifi variants and the carrier boards (Dahlia,
> > Verdin Development Board and Yavia) they may be mated in.
> > 
> > Link: https://developer.toradex.com/hardware/verdin-som-family/modules/verdin-am62/
> > Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
> > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> > ---
> >   .../devicetree/bindings/arm/ti/k3.yaml        | 20 +++++++++++++++++++
> >   1 file changed, 20 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentation/devicetree/bindings/arm/ti/k3.yaml
> > index e1183f90bb06..e3aee191d403 100644
> > --- a/Documentation/devicetree/bindings/arm/ti/k3.yaml
> > +++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml
> > @@ -33,6 +33,26 @@ properties:
> >                 - ti,am62-lp-sk
> >             - const: ti,am625
> > +      - description: K3 AM62x SoC Toradex Verdin Modules and Carrier Boards
> > +        items:
> > +          - enum:
> > +              - toradex,verdin-am62-nonwifi-dahlia # Verdin AM62 Module on Dahlia
> > +              - toradex,verdin-am62-nonwifi-dev    # Verdin AM62 Module on Verdin Development Board
> > +              - toradex,verdin-am62-nonwifi-yavia  # Verdin AM62 Module on Yavia
> > +          - const: toradex,verdin-am62-nonwifi     # Verdin AM62 Module without Wi-Fi / BT
> 
> Does this add anything? Not sure we need to split compatibles based on this, things
> like wifi vs nowifi can be described in DT, same for different memory size models, etc..
>
> In fact I'm not sure we get much value at all out of top level whole-SoC compatible
> strings. Maybe we did when there was matching in kernel to do device specific fixups,
> but that isn't really used much in ARM64.

This is useful, as an example, once you add DT overlays to the mix and
you use the compatible to match for "compatibility". An overlay could be
compatible with the SoC, with the SoM (module + SoC) or with the
complete board (Soc + SoM + carrier board).

Our system is modular and this is described with this multiple layer of
DT compatibles and with a similar layering of dtsi includes.

On the wifi vs non-wifi topic, that is IMO the most conflicting one, the
main reason is that the SoM has different assembly options, and this
affects the pinmux and the functionality available to the carrier, up to
the SoM edge connector (this could make an overlay compatible only with
a board with/without-wifi). As an example there is a SDIO interface
that is used for the on-SoM Wi-Fi in the Wi-Fi/BT variant, or available
on the edge connector otherwise. An overlay using this SDIO interface
would be compatible only with the non-wifi variant. Additional GPIOs or
other signals might have the exact same situations.

On this last variant (wifi vs non-wifi) I am not sure how often is used,
we have the exact same approach with multiple NXP i.MX based boards and it
proved itself to work fine.

Francesco
Nishanth Menon May 30, 2023, 12:12 p.m. UTC | #5
On 16:36-20230524, Francesco Dolcini wrote:
> From: Francesco Dolcini <francesco.dolcini@toradex.com>
> 
> Add toradex,verdin-am62 for Toradex Verdin AM62 SoM, its
> nonwifi and wifi variants and the carrier boards (Dahlia,
> Verdin Development Board and Yavia) they may be mated in.
> 
> Link: https://developer.toradex.com/hardware/verdin-som-family/modules/verdin-am62/
> Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> ---
>  .../devicetree/bindings/arm/ti/k3.yaml        | 20 +++++++++++++++++++
>  1 file changed, 20 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentation/devicetree/bindings/arm/ti/k3.yaml
> index e1183f90bb06..e3aee191d403 100644
> --- a/Documentation/devicetree/bindings/arm/ti/k3.yaml
> +++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml
> @@ -33,6 +33,26 @@ properties:
>                - ti,am62-lp-sk
>            - const: ti,am625
>  
> +      - description: K3 AM62x SoC Toradex Verdin Modules and Carrier Boards
> +        items:
> +          - enum:
> +              - toradex,verdin-am62-nonwifi-dahlia # Verdin AM62 Module on Dahlia
> +              - toradex,verdin-am62-nonwifi-dev    # Verdin AM62 Module on Verdin Development Board
> +              - toradex,verdin-am62-nonwifi-yavia  # Verdin AM62 Module on Yavia

Does'nt one of these indicate the rest?

> +          - const: toradex,verdin-am62-nonwifi     # Verdin AM62 Module without Wi-Fi / BT
> +          - const: toradex,verdin-am62             # Verdin AM62 Module
> +          - const: ti,am625
> +
> +      - description: K3 AM62x SoC Toradex Verdin Modules and Carrier Boards with Wi-Fi / BT
> +        items:
> +          - enum:
> +              - toradex,verdin-am62-wifi-dahlia # Verdin AM62 Wi-Fi / BT Module on Dahlia
> +              - toradex,verdin-am62-wifi-dev    # Verdin AM62 Wi-Fi / BT M. on Verdin Development B.
> +              - toradex,verdin-am62-wifi-yavia  # Verdin AM62 Wi-Fi / BT Module on Yavia

Same?

> +          - const: toradex,verdin-am62-wifi     # Verdin AM62 Wi-Fi / BT Module
> +          - const: toradex,verdin-am62          # Verdin AM62 Module
> +          - const: ti,am625
> +
>        - description: K3 AM642 SoC
>          items:
>            - enum:
> -- 
> 2.25.1
>
Francesco Dolcini May 30, 2023, 4:58 p.m. UTC | #6
On Tue, May 30, 2023 at 07:12:31AM -0500, Nishanth Menon wrote:
> On 16:36-20230524, Francesco Dolcini wrote:
> > From: Francesco Dolcini <francesco.dolcini@toradex.com>
> > 
> > Add toradex,verdin-am62 for Toradex Verdin AM62 SoM, its
> > nonwifi and wifi variants and the carrier boards (Dahlia,
> > Verdin Development Board and Yavia) they may be mated in.
> > 
> > Link: https://developer.toradex.com/hardware/verdin-som-family/modules/verdin-am62/
> > Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
> > Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
> > ---
> >  .../devicetree/bindings/arm/ti/k3.yaml        | 20 +++++++++++++++++++
> >  1 file changed, 20 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentation/devicetree/bindings/arm/ti/k3.yaml
> > index e1183f90bb06..e3aee191d403 100644
> > --- a/Documentation/devicetree/bindings/arm/ti/k3.yaml
> > +++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml
> > @@ -33,6 +33,26 @@ properties:
> >                - ti,am62-lp-sk
> >            - const: ti,am625
> >  
> > +      - description: K3 AM62x SoC Toradex Verdin Modules and Carrier Boards
> > +        items:
> > +          - enum:
> > +              - toradex,verdin-am62-nonwifi-dahlia # Verdin AM62 Module on Dahlia
> > +              - toradex,verdin-am62-nonwifi-dev    # Verdin AM62 Module on Verdin Development Board
> > +              - toradex,verdin-am62-nonwifi-yavia  # Verdin AM62 Module on Yavia
> 
> Does'nt one of these indicate the rest?

Strictly speaking it does.

However it's convenient to have a tuple with more generic compatible
afterward.

I tried to explain some of the reasoning for that on this email [1].

More in general this tuple of compatible is matching how the actual system
is layered (SoC -> base SoM -> SoM variant -> carrier board) that is
also reflected on the dtsi include hierarchy.

FWIW, this is the standard approach you can see on fsl.yaml, where such
kind of modular system are pretty much standard.

[1] https://lore.kernel.org/all/ZG5jYV%2FNfGJvYkma@francesco-nb.int.toradex.com/

Francesco
Krzysztof Kozlowski May 31, 2023, 8:29 a.m. UTC | #7
On 24/05/2023 19:48, Andrew Davis wrote:
> On 5/24/23 9:36 AM, Francesco Dolcini wrote:
>> From: Francesco Dolcini <francesco.dolcini@toradex.com>
>>
>> Add toradex,verdin-am62 for Toradex Verdin AM62 SoM, its
>> nonwifi and wifi variants and the carrier boards (Dahlia,
>> Verdin Development Board and Yavia) they may be mated in.
>>
>> Link: https://developer.toradex.com/hardware/verdin-som-family/modules/verdin-am62/
>> Link: https://www.toradex.com/computer-on-modules/verdin-arm-family/ti-am62
>> Signed-off-by: Francesco Dolcini <francesco.dolcini@toradex.com>
>> ---
>>   .../devicetree/bindings/arm/ti/k3.yaml        | 20 +++++++++++++++++++
>>   1 file changed, 20 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentation/devicetree/bindings/arm/ti/k3.yaml
>> index e1183f90bb06..e3aee191d403 100644
>> --- a/Documentation/devicetree/bindings/arm/ti/k3.yaml
>> +++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml
>> @@ -33,6 +33,26 @@ properties:
>>                 - ti,am62-lp-sk
>>             - const: ti,am625
>>   
>> +      - description: K3 AM62x SoC Toradex Verdin Modules and Carrier Boards
>> +        items:
>> +          - enum:
>> +              - toradex,verdin-am62-nonwifi-dahlia # Verdin AM62 Module on Dahlia
>> +              - toradex,verdin-am62-nonwifi-dev    # Verdin AM62 Module on Verdin Development Board
>> +              - toradex,verdin-am62-nonwifi-yavia  # Verdin AM62 Module on Yavia
>> +          - const: toradex,verdin-am62-nonwifi     # Verdin AM62 Module without Wi-Fi / BT
> 
> Does this add anything? Not sure we need to split compatibles based on this, things
> like wifi vs nowifi can be described in DT, same for different memory size models, etc..
> 
> In fact I'm not sure we get much value at all out of top level whole-SoC compatible
> strings. Maybe we did when there was matching in kernel to do device specific fixups,
> but that isn't really used much in ARM64.

If I understand correctly, this is different SoM, so different hardware.
 It is fine to have different board compatibles, because you will have
two different DTS.

Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentation/devicetree/bindings/arm/ti/k3.yaml
index e1183f90bb06..e3aee191d403 100644
--- a/Documentation/devicetree/bindings/arm/ti/k3.yaml
+++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml
@@ -33,6 +33,26 @@  properties:
               - ti,am62-lp-sk
           - const: ti,am625
 
+      - description: K3 AM62x SoC Toradex Verdin Modules and Carrier Boards
+        items:
+          - enum:
+              - toradex,verdin-am62-nonwifi-dahlia # Verdin AM62 Module on Dahlia
+              - toradex,verdin-am62-nonwifi-dev    # Verdin AM62 Module on Verdin Development Board
+              - toradex,verdin-am62-nonwifi-yavia  # Verdin AM62 Module on Yavia
+          - const: toradex,verdin-am62-nonwifi     # Verdin AM62 Module without Wi-Fi / BT
+          - const: toradex,verdin-am62             # Verdin AM62 Module
+          - const: ti,am625
+
+      - description: K3 AM62x SoC Toradex Verdin Modules and Carrier Boards with Wi-Fi / BT
+        items:
+          - enum:
+              - toradex,verdin-am62-wifi-dahlia # Verdin AM62 Wi-Fi / BT Module on Dahlia
+              - toradex,verdin-am62-wifi-dev    # Verdin AM62 Wi-Fi / BT M. on Verdin Development B.
+              - toradex,verdin-am62-wifi-yavia  # Verdin AM62 Wi-Fi / BT Module on Yavia
+          - const: toradex,verdin-am62-wifi     # Verdin AM62 Wi-Fi / BT Module
+          - const: toradex,verdin-am62          # Verdin AM62 Module
+          - const: ti,am625
+
       - description: K3 AM642 SoC
         items:
           - enum: