Message ID | 4f5ad877f44df35a3b2c7f336647f057c4e6377d.1730299760.git.matthias.schiffer@ew.tq-group.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | TQ-Systems TQMa62xx SoM and MBa62xx board | expand |
On Mon, Nov 04, 2024 at 10:47:25AM +0100, Matthias Schiffer wrote: > The TQMa62xx is a SoM family with a pluggable connector. The MBa62xx is > the matching reference/starterkit carrier board. Why all the wildcards? Why isn't there a compatible per device in the family? > > Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> > --- > Documentation/devicetree/bindings/arm/ti/k3.yaml | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentation/devicetree/bindings/arm/ti/k3.yaml > index b0be02f9d1253..d8b52b95fba7b 100644 > --- a/Documentation/devicetree/bindings/arm/ti/k3.yaml > +++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml > @@ -73,6 +73,13 @@ properties: > - const: toradex,verdin-am62 # Verdin AM62 Module > - const: ti,am625 > > + - description: K3 AM625 SoC on TQ-Systems TQMa62xx SoM > + items: > + - enum: > + - tq,am625-tqma6254-mba62xx # MBa62xx base board > + - const: tq,am625-tqma6254 > + - const: ti,am625 > + > - description: K3 AM642 SoC > items: > - enum: > -- > TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany > Amtsgericht München, HRB 105018 > Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider > https://www.tq-group.com/ >
On Mon, 2024-11-04 at 18:47 +0000, Conor Dooley wrote: > On Mon, Nov 04, 2024 at 10:47:25AM +0100, Matthias Schiffer wrote: > > The TQMa62xx is a SoM family with a pluggable connector. The MBa62xx is > > the matching reference/starterkit carrier board. > > Why all the wildcards? Why isn't there a compatible per device in the > family? For the compatible string we've chosen the TQMa6254 as the representative for the TQMa62xx family. MBa62xx is the proper name of the baseboard; this board can be combined with any TQMa62xx family SOM. Best, Matthias > > > > > Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> > > --- > > Documentation/devicetree/bindings/arm/ti/k3.yaml | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentation/devicetree/bindings/arm/ti/k3.yaml > > index b0be02f9d1253..d8b52b95fba7b 100644 > > --- a/Documentation/devicetree/bindings/arm/ti/k3.yaml > > +++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml > > @@ -73,6 +73,13 @@ properties: > > - const: toradex,verdin-am62 # Verdin AM62 Module > > - const: ti,am625 > > > > + - description: K3 AM625 SoC on TQ-Systems TQMa62xx SoM > > + items: > > + - enum: > > + - tq,am625-tqma6254-mba62xx # MBa62xx base board > > + - const: tq,am625-tqma6254 > > + - const: ti,am625 > > + > > - description: K3 AM642 SoC > > items: > > - enum: > > -- > > TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany > > Amtsgericht München, HRB 105018 > > Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider > > https://www.tq-group.com/ > > > Achtung externe E-Mail: Öffnen Sie Anhänge und Links nur, wenn Sie wissen, dass diese aus einer sicheren Quelle stammen und sicher sind. Leiten Sie die E-Mail im Zweifelsfall zur Prüfung an den IT-Helpdesk weiter. > Attention external email: Open attachments and links only if you know that they are from a secure source and are safe. In doubt forward the email to the IT-Helpdesk to check it. > >
On Tue, Nov 05, 2024 at 11:40:20AM +0100, Matthias Schiffer wrote: > On Mon, 2024-11-04 at 18:47 +0000, Conor Dooley wrote: > > On Mon, Nov 04, 2024 at 10:47:25AM +0100, Matthias Schiffer wrote: > > > The TQMa62xx is a SoM family with a pluggable connector. The MBa62xx is > > > the matching reference/starterkit carrier board. > > > > Why all the wildcards? Why isn't there a compatible per device in the > > family? > > For the compatible string we've chosen the TQMa6254 as the representative for the TQMa62xx family. And all the boards in the family are the exact same? > > MBa62xx is the proper name of the baseboard; this board can be combined with any TQMa62xx family > SOM. Then that one is fine.
On Tue, 2024-11-05 at 18:55 +0000, Conor Dooley wrote: > On Tue, Nov 05, 2024 at 11:40:20AM +0100, Matthias Schiffer wrote: > > On Mon, 2024-11-04 at 18:47 +0000, Conor Dooley wrote: > > > On Mon, Nov 04, 2024 at 10:47:25AM +0100, Matthias Schiffer wrote: > > > > The TQMa62xx is a SoM family with a pluggable connector. The MBa62xx is > > > > the matching reference/starterkit carrier board. > > > > > > Why all the wildcards? Why isn't there a compatible per device in the > > > family? Because all variants use the same Device Tree. There is also only one compatible and one (main) DTSI for the AM62 SoC family, which our Device Trees are based on. > > > > For the compatible string we've chosen the TQMa6254 as the representative for the TQMa62xx family. > > And all the boards in the family are the exact same? There is a single TQMa62xx PCB, which has some AM62 family SoC installed (AM6254 in the case of the TQMa6254, but all AM62 are possible). TQMa62xx is also the name used for marketing when not talking about a specific SoC variant: https://www.tq-group.com/en/products/tq-embedded/arm-architecture/tqma62xx/ Some SoM variants with different RAM/eMMC/SPI-NOR/... do exist, but they don't have separate device trees (firmware may patch some variant information into the DTB however, like the correct RAM size). Choosing one representative for the family including the SoC variant number, but not distinguishing minor variants matches the level of detail used for our other SOMs already supported by mainline Linux (like the TQMa64xxL and various i.MX-based platforms). Best, Matthias > > > > > MBa62xx is the proper name of the baseboard; this board can be combined with any TQMa62xx family > > SOM. > > Then that one is fine. >
On Wed, Nov 06, 2024 at 01:03:08PM +0100, Matthias Schiffer wrote: > On Tue, 2024-11-05 at 18:55 +0000, Conor Dooley wrote: > > On Tue, Nov 05, 2024 at 11:40:20AM +0100, Matthias Schiffer wrote: > > > On Mon, 2024-11-04 at 18:47 +0000, Conor Dooley wrote: > > > > On Mon, Nov 04, 2024 at 10:47:25AM +0100, Matthias Schiffer wrote: > > > > > The TQMa62xx is a SoM family with a pluggable connector. The MBa62xx is > > > > > the matching reference/starterkit carrier board. > > > > > > > > Why all the wildcards? Why isn't there a compatible per device in the > > > > family? > > Because all variants use the same Device Tree. There is also only one compatible and one (main) DTSI > for the AM62 SoC family, which our Device Trees are based on. So what varies between the members of the family? > > > For the compatible string we've chosen the TQMa6254 as the representative for the TQMa62xx family. > > > > And all the boards in the family are the exact same? > > There is a single TQMa62xx PCB, which has some AM62 family SoC installed (AM6254 in the case of the > TQMa6254, but all AM62 are possible). TQMa62xx is also the name used for marketing when not talking > about a specific SoC variant: > https://www.tq-group.com/en/products/tq-embedded/arm-architecture/tqma62xx/ > > Some SoM variants with different RAM/eMMC/SPI-NOR/... do exist, but they don't have separate device > trees (firmware may patch some variant information into the DTB however, like the correct RAM size). > > Choosing one representative for the family including the SoC variant number, but not distinguishing > minor variants matches the level of detail used for our other SOMs already supported by mainline > Linux (like the TQMa64xxL and various i.MX-based platforms). I don't like any of this wildcard stuff at all, who is to say that the next soc you put on your SoM won't be an am62a7, which has a specific compatible in the kernel? Your fallback then would be ti,am62a7 not ti,am625. Probably someone will say "that's the am62a family not the am62 family" - but that exact thing is why I hate all of this wildcarding. It's barely any more effort to have a tqm6231 and a tqm6254 compatible than what you're doing with wildcard but it is unambiguous.
On Wed, 2024-11-06 at 16:40 +0000, Conor Dooley wrote: > On Wed, Nov 06, 2024 at 01:03:08PM +0100, Matthias Schiffer wrote: > > On Tue, 2024-11-05 at 18:55 +0000, Conor Dooley wrote: > > > On Tue, Nov 05, 2024 at 11:40:20AM +0100, Matthias Schiffer wrote: > > > > On Mon, 2024-11-04 at 18:47 +0000, Conor Dooley wrote: > > > > > On Mon, Nov 04, 2024 at 10:47:25AM +0100, Matthias Schiffer wrote: > > > > > > The TQMa62xx is a SoM family with a pluggable connector. The MBa62xx is > > > > > > the matching reference/starterkit carrier board. > > > > > > > > > > Why all the wildcards? Why isn't there a compatible per device in the > > > > > family? > > > > Because all variants use the same Device Tree. There is also only one compatible and one (main) DTSI > > for the AM62 SoC family, which our Device Trees are based on. > > So what varies between the members of the family? There are currently 6 SoCs in the family: - AM6254 - AM6252 - AM6251 - AM6234 - AM6232 - AM6231 They differ in: - Existence of GPU (AM625 vs AM623) - Number of Cortex-A53 cores (last digit) All of these use ti,am625 as their SoC-level compatible. The differences are currently handled by U- Boot, which checks various feature flags in the SoC registers and patches the OS DTB accordingly by removing CPU nodes and disabling the GPU node if necessary. > > > > > For the compatible string we've chosen the TQMa6254 as the representative for the TQMa62xx family. > > > > > > And all the boards in the family are the exact same? > > > > There is a single TQMa62xx PCB, which has some AM62 family SoC installed (AM6254 in the case of the > > TQMa6254, but all AM62 are possible). TQMa62xx is also the name used for marketing when not talking > > about a specific SoC variant: > > https://www.tq-group.com/en/products/tq-embedded/arm-architecture/tqma62xx/ > > > > Some SoM variants with different RAM/eMMC/SPI-NOR/... do exist, but they don't have separate device > > trees (firmware may patch some variant information into the DTB however, like the correct RAM size). > > > > Choosing one representative for the family including the SoC variant number, but not distinguishing > > minor variants matches the level of detail used for our other SOMs already supported by mainline > > Linux (like the TQMa64xxL and various i.MX-based platforms). > > I don't like any of this wildcard stuff at all, who is to say that the > next soc you put on your SoM won't be an am62a7, which has a specific > compatible in the kernel? Your fallback then would be ti,am62a7 not > ti,am625. Probably someone will say "that's the am62a family not the > am62 family" - but that exact thing is why I hate all of this > wildcarding. It's barely any more effort to have a tqm6231 and a tqm6254 > compatible than what you're doing with wildcard but it is unambiguous. Our intention here is to have one SOM compatible string for each SoC compatible string. As all SoC variants use the same compatible ti,am625, we've chosen to do the same (using tq,am625-tqma6254 as the representative.) A hypothetical SOM using a ti,am62a7 would obviously not use the tq,am625-tqma6254 compatible string. At no point we're including wildcards in our compatible strings - we're reusing a specific compatible string for multiple compatible variants. Or is what you're taking issue with the wildcard in the description string in the YAML? That one I don't have much of an opinion on. Best, Matthias > > >
On Mon, Nov 11, 2024 at 10:58:57AM +0100, Matthias Schiffer wrote: > On Wed, 2024-11-06 at 16:40 +0000, Conor Dooley wrote: > > On Wed, Nov 06, 2024 at 01:03:08PM +0100, Matthias Schiffer wrote: > > > On Tue, 2024-11-05 at 18:55 +0000, Conor Dooley wrote: > > > > On Tue, Nov 05, 2024 at 11:40:20AM +0100, Matthias Schiffer wrote: > > > > > On Mon, 2024-11-04 at 18:47 +0000, Conor Dooley wrote: > > > > > > On Mon, Nov 04, 2024 at 10:47:25AM +0100, Matthias Schiffer wrote: > > > > > > > The TQMa62xx is a SoM family with a pluggable connector. The MBa62xx is > > > > > > > the matching reference/starterkit carrier board. > > > > > > > > > > > > Why all the wildcards? Why isn't there a compatible per device in the > > > > > > family? > > > > > > Because all variants use the same Device Tree. There is also only one compatible and one (main) DTSI > > > for the AM62 SoC family, which our Device Trees are based on. > > > > So what varies between the members of the family? > > There are currently 6 SoCs in the family: > - AM6254 > - AM6252 > - AM6251 > - AM6234 > - AM6232 > - AM6231 > > They differ in: > - Existence of GPU (AM625 vs AM623) > - Number of Cortex-A53 cores (last digit) > > All of these use ti,am625 as their SoC-level compatible. The differences are currently handled by U- > Boot, which checks various feature flags in the SoC registers and patches the OS DTB accordingly by > removing CPU nodes and disabling the GPU node if necessary. That's how it should be. Most likely, those are all the same die. Different die are expensive and it takes a high volume to justify the cost. Rob
On Mon, 04 Nov 2024 10:47:25 +0100, Matthias Schiffer wrote: > The TQMa62xx is a SoM family with a pluggable connector. The MBa62xx is > the matching reference/starterkit carrier board. > > Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> > --- > Documentation/devicetree/bindings/arm/ti/k3.yaml | 7 +++++++ > 1 file changed, 7 insertions(+) > Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
diff --git a/Documentation/devicetree/bindings/arm/ti/k3.yaml b/Documentation/devicetree/bindings/arm/ti/k3.yaml index b0be02f9d1253..d8b52b95fba7b 100644 --- a/Documentation/devicetree/bindings/arm/ti/k3.yaml +++ b/Documentation/devicetree/bindings/arm/ti/k3.yaml @@ -73,6 +73,13 @@ properties: - const: toradex,verdin-am62 # Verdin AM62 Module - const: ti,am625 + - description: K3 AM625 SoC on TQ-Systems TQMa62xx SoM + items: + - enum: + - tq,am625-tqma6254-mba62xx # MBa62xx base board + - const: tq,am625-tqma6254 + - const: ti,am625 + - description: K3 AM642 SoC items: - enum:
The TQMa62xx is a SoM family with a pluggable connector. The MBa62xx is the matching reference/starterkit carrier board. Signed-off-by: Matthias Schiffer <matthias.schiffer@ew.tq-group.com> --- Documentation/devicetree/bindings/arm/ti/k3.yaml | 7 +++++++ 1 file changed, 7 insertions(+)