mbox series

[RFC,0/2] Convert omap.txt to DT schema

Message ID 20230216153339.19987-1-afd@ti.com
Headers show
Series Convert omap.txt to DT schema | expand

Message

Andrew Davis Feb. 16, 2023, 3:33 p.m. UTC
Hello all,

I saw there was some more talk on the lists about converting
the omap.txt over to DT schema. I remembered that I had made
an attempt at this and wanted to post it as a WIP example.
It is not perfect or even very good, but might serve as
a base for someone.

Thanks,
Andrew

Andrew Davis (2):
  ARM: dts: omap: Drop ti,omap36xx compatible
  WIP: dt-bindings: omap: Convert omap.txt to yaml

 .../devicetree/bindings/arm/omap/omap.yaml    | 174 ++++++++++++++++++
 arch/arm/boot/dts/omap3-beagle-xm.dts         |   2 +-
 arch/arm/boot/dts/omap3-cm-t3730.dts          |   2 +-
 arch/arm/boot/dts/omap3-igep0020-rev-f.dts    |   2 +-
 arch/arm/boot/dts/omap3-igep0020.dts          |   2 +-
 arch/arm/boot/dts/omap3-igep0030-rev-g.dts    |   2 +-
 arch/arm/boot/dts/omap3-igep0030.dts          |   2 +-
 arch/arm/boot/dts/omap3-lilly-dbb056.dts      |   2 +-
 arch/arm/boot/dts/omap3-n9.dts                |   2 +-
 arch/arm/boot/dts/omap3-n950.dts              |   2 +-
 .../arm/boot/dts/omap3-overo-storm-alto35.dts |   2 +-
 .../boot/dts/omap3-overo-storm-chestnut43.dts |   2 +-
 .../boot/dts/omap3-overo-storm-gallop43.dts   |   2 +-
 .../arm/boot/dts/omap3-overo-storm-palo35.dts |   2 +-
 .../arm/boot/dts/omap3-overo-storm-palo43.dts |   2 +-
 .../arm/boot/dts/omap3-overo-storm-summit.dts |   2 +-
 arch/arm/boot/dts/omap3-overo-storm-tobi.dts  |   2 +-
 .../boot/dts/omap3-overo-storm-tobiduo.dts    |   2 +-
 arch/arm/boot/dts/omap3-pandora-1ghz.dts      |   2 +-
 arch/arm/boot/dts/omap3-sbc-t3730.dts         |   2 +-
 arch/arm/boot/dts/omap3-sniper.dts            |   2 +-
 arch/arm/boot/dts/omap3-zoom3.dts             |   2 +-
 22 files changed, 195 insertions(+), 21 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/arm/omap/omap.yaml

Comments

H. Nikolaus Schaller Feb. 16, 2023, 4:08 p.m. UTC | #1
Hi,

> Am 16.02.2023 um 16:33 schrieb Andrew Davis <afd@ti.com>:
> 
> Signed-off-by: Andrew Davis <afd@ti.com>
> ---
> .../devicetree/bindings/arm/omap/omap.yaml    | 174 ++++++++++++++++++
> 1 file changed, 174 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/arm/omap/omap.yaml
> 
> diff --git a/Documentation/devicetree/bindings/arm/omap/omap.yaml b/Documentation/devicetree/bindings/arm/omap/omap.yaml
> new file mode 100644
> index 0000000000000..cf07a7a7df279
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/omap/omap.yaml
> @@ -0,0 +1,174 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/omap/omap.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments OMAP SoC architecture device tree bindings
> +
> +maintainers:
> +  - Tony Lindgren <tony@atomide.com>
> +
> +description: |
> +  Platforms based on Texas Instruments OMAP SoC architecture.
> +
> +properties:
> +  $nodename:
> +    const: '/'
> +  compatible:
> +    oneOf:
> +
> +      - description: TI OMAP2420 SoC based platforms
> +        items:
> +          - enum:
> +              - ti,omap2420-h4 # TI OMAP2420 H4 board
> +              - nokia,n800 # Nokia N800
> +              - nokia,n810 # Nokia N810
> +              - nokia,n810-wimax # Nokia N810 WiMax
> +          - const: ti,omap2420
> +          - const: ti,omap2
> +
> +      - description: TI OMAP2430 SoC based platforms
> +        items:
> +          - enum:
> +              - ti,omap2430-sdp # TI OMAP2430 SDP
> +          - const: ti,omap2430
> +          - const: ti,omap2
> +
> +      - description: TI OMAP3430 SoC based platforms
> +        items:
> +          - enum:
> +              - logicpd,dm3730-som-lv-devkit # LogicPD Zoom OMAP35xx SOM-LV Development Kit
> +              - logicpd,dm3730-torpedo-devkit # LogicPD Zoom OMAP35xx Torpedo Development Kit
> +              - ti,omap3430-sdp # TI OMAP3430 SDP
> +              - ti,omap3-beagle # TI OMAP3 BeagleBoard
> +              - compulab,omap3-cm-t3530 # CompuLab CM-T3530
> +              - timll,omap3-devkit8000 # TimLL OMAP3 Devkit8000
> +              - ti,omap3-evm # TI OMAP35XX EVM (TMDSEVM3530)
> +              - ti,omap3-ldp # TI OMAP3430 LDP (Zoom1 Labrador)
> +              - nokia,omap3-n900 # Nokia N900
> +          - const: ti,omap3430
> +          - const: ti,omap3
> +
> +      - description: TI OMAP3630 SoC based platforms
> +        items:
> +          - enum:
> +              - logicpd,dm3730-som-lv-devkit # LogicPD Zoom DM3730 SOM-LV Development Kit
> +              - logicpd,dm3730-torpedo-devkit # LogicPD Zoom DM3730 Torpedo + Wireless Development Kit
> +              - ti,omap3-beagle-xm # TI OMAP3 BeagleBoard xM
> +              - compulab,omap3-cm-t3730 # CompuLab CM-T3730
> +              - amazon,omap3-echo # Amazon Echo (first generation)
> +              - ti,omap3-evm-37xx # TI OMAP37XX EVM (TMDSEVM3730)
> +              - ti,omap3-gta04 # OMAP3 GTA04

precisely the GTA04 was not a TI product, but from Golden Delicious Computers.
It got this compatible because it originally shared a lot of device tree with the ti,omap3-beagle-xm.
Well, we could add a vendor prefix ("goldelico") and update the device trees to "goldelico,gta04".

Generally, there is also the OpenPandora with both OMAP3 variants (3430 and 3630):

compatible = "openpandora,omap3-pandora-600mhz", "ti,omap3430", "ti,omap3";
compatible = "openpandora,omap3-pandora-1ghz", "ti,omap3630", "ti,omap36xx", "ti,omap3";

But it is also missing a vendor prefix. Should I send a patch for both topics?
Before the scheme is merged or afterwards?

> +              - nokia,omap3-n9 # Nokia N9
> +              - nokia,omap3-n950 # Nokia N950
> +              - lg,omap3-sniper # LG Optimus Black
> +              - ti,omap3-zoom3 # TI Zoom3
> +          - const: ti,omap3630
> +          - const: ti,omap3
> +
> +      - description: TI AM35 SoC based platforms
> +        items:
> +          - enum:
> +              - teejet,mt_ventoux # TeeJet Mt.Ventoux
> +              - ti,am3517-craneboard # TI AM3517 CraneBoard (TMDSEVM3517)
> +              - ti,am3517-evm # TI AM3517 EVM (AM3517/05 TMDSEVM3517)
> +              - compulab,omap3-sbc-t3517 # CompuLab SBC-T3517 with CM-T3517
> +          - const: ti,am3517
> +          - const: ti,omap3
> +
> +      - description: TI OMAP4430 SoC based platforms
> +        items:
> +          - enum:
> +              - motorola,droid4 # Motorola Droid 4 XT894
> +              - motorola,droid-bionic # Motorola Droid Bionic XT875
> +              - amazon,omap4-kc1 # Amazon Kindle Fire (first generation)
> +              - ti,omap4-panda # TI OMAP4 PandaBoard
> +              - ti,omap4-sdp # TI OMAP4 SDP board
> +          - const: ti,omap4430
> +          - const: ti,omap4
> +
> +      - description: TI OMAP4460 SoC based platforms
> +        items:
> +          - enum:
> +              - ti,omap4-panda-es # TI OMAP4 PandaBoard-ES
> +          - const: ti,omap4460
> +          - const: ti,omap4
> +
> +      - description: TI OMAP543 SoC based platforms

s/TI OMAP543 SoC/TI OMAP5 SoC/

> +        items:
> +          - enum:
> +              - compulab,omap5-cm-t54 # CompuLab CM-T54
> +              - isee,omap5-igep0050 # IGEPv5
> +              - ti,omap5-uevm # TI OMAP5 uEVM board
> +          - const: ti,omap5
> +
> +      - description: TI AM33 SoC based platforms
> +        items:
> +          - enum:
> +              - ti,am335x-bone # TI AM335x BeagleBone
> +              - compulab,cm-t335 # CompuLab CM-T335
> +              - ti,am335x-evm # TI AM335x EVM
> +              - ti,am335x-evmsk # TI AM335x EVM-SK
> +              - bosch,am335x-guardian # Bosch AM335x Guardian
> +              - ti,am3359-icev2 # TI AM3359 ICE-V2
> +              - novatech,am335x-lxm # NovaTech OrionLXm
> +              - moxa,uc-2101 # Moxa UC-2101
> +              - moxa,uc-8100-me-t # Moxa UC-8100-ME-T
> +              - gumstix,am335x-pepper # Gumstix Pepper
> +              - tcl,am335x-sl50 # Toby Churchill SL50 Series
> +          - pattern: '^ti,am33(5[1246789]|xx)$' # ti,am33xx is legacy please use full SoC name
> +
> +      - description: TI AM43 SoC based platforms
> +        items:
> +          - enum:
> +              - compulab,am437x-cm-t43 # CompuLab CM-T43
> +              - ti,am437x-gp-evm # TI AM437x GP EVM
> +              - ti,am437x-idk-evm # TI AM437x Industrial Development Kit
> +              - ti,am437x-sk-evm # TI AM437x SK EVM
> +          - pattern: '^ti,am4372[26789]$'
> +          - const: ti,am43
> +
> +      - description: TI AM57 SoC based platforms
> +        items:
> +          - enum:
> +              - beagle,am5729-beagleboneai # BeagleBoard.org BeagleBone AI
> +              - compulab,cl-som-am57x # CompuLab CL-SOM-AM57x
> +              - ti,am5718-idk # TI AM5718 IDK
> +              - ti,am5728-idk # TI AM5728 IDK
> +              - ti,am5748-idk # TI AM5748 IDK
> +          - pattern: '^ti,am57[0124][689]$'
> +          - const: ti,am57
> +
> +      - description: TI DRA7 SoC based platforms
> +        items:
> +          - enum:
> +              - ti,dra718-evm # TI DRA718 EVM
> +              - ti,dra722-evm # TI DRA722 EVM
> +              - ti,dra742-evm # TI DRA742 EVM
> +              - ti,dra762-evm # TI DRA762 EVM
> +          - pattern: '^ti,dra7[12456][024568p]$'
> +          - const: ti,dra7
> +
> +additionalProperties: true
> +
> +examples:
> +  - |
> +    / {
> +        model = "TI OMAP2430 SDP (Software Development Board)";
> +        compatible = "ti,omap2430-sdp", "ti,omap2430", "ti,omap2";
> +
> +        #address-cells = <1>;
> +        #size-cells = <1>;
> +    };
> +
> +  - |
> +    / {
> +        model = "TI DRA762 EVM";
> +        compatible = "ti,dra762-evm", "ti,dra762", "ti,dra7";
> +
> +        #address-cells = <1>;
> +        #size-cells = <1>;
> +    };
> +
> +...
> -- 
> 2.39.1
> 

BR,
Nikolaus
Andrew Davis Feb. 16, 2023, 4:19 p.m. UTC | #2
On 2/16/23 10:08 AM, H. Nikolaus Schaller wrote:
> Hi,
> 
>> Am 16.02.2023 um 16:33 schrieb Andrew Davis <afd@ti.com>:
>>
>> Signed-off-by: Andrew Davis <afd@ti.com>
>> ---
>> .../devicetree/bindings/arm/omap/omap.yaml    | 174 ++++++++++++++++++
>> 1 file changed, 174 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/arm/omap/omap.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/arm/omap/omap.yaml b/Documentation/devicetree/bindings/arm/omap/omap.yaml
>> new file mode 100644
>> index 0000000000000..cf07a7a7df279
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/arm/omap/omap.yaml
>> @@ -0,0 +1,174 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/arm/omap/omap.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Texas Instruments OMAP SoC architecture device tree bindings
>> +
>> +maintainers:
>> +  - Tony Lindgren <tony@atomide.com>
>> +
>> +description: |
>> +  Platforms based on Texas Instruments OMAP SoC architecture.
>> +
>> +properties:
>> +  $nodename:
>> +    const: '/'
>> +  compatible:
>> +    oneOf:
>> +
>> +      - description: TI OMAP2420 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - ti,omap2420-h4 # TI OMAP2420 H4 board
>> +              - nokia,n800 # Nokia N800
>> +              - nokia,n810 # Nokia N810
>> +              - nokia,n810-wimax # Nokia N810 WiMax
>> +          - const: ti,omap2420
>> +          - const: ti,omap2
>> +
>> +      - description: TI OMAP2430 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - ti,omap2430-sdp # TI OMAP2430 SDP
>> +          - const: ti,omap2430
>> +          - const: ti,omap2
>> +
>> +      - description: TI OMAP3430 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - logicpd,dm3730-som-lv-devkit # LogicPD Zoom OMAP35xx SOM-LV Development Kit
>> +              - logicpd,dm3730-torpedo-devkit # LogicPD Zoom OMAP35xx Torpedo Development Kit
>> +              - ti,omap3430-sdp # TI OMAP3430 SDP
>> +              - ti,omap3-beagle # TI OMAP3 BeagleBoard
>> +              - compulab,omap3-cm-t3530 # CompuLab CM-T3530
>> +              - timll,omap3-devkit8000 # TimLL OMAP3 Devkit8000
>> +              - ti,omap3-evm # TI OMAP35XX EVM (TMDSEVM3530)
>> +              - ti,omap3-ldp # TI OMAP3430 LDP (Zoom1 Labrador)
>> +              - nokia,omap3-n900 # Nokia N900
>> +          - const: ti,omap3430
>> +          - const: ti,omap3
>> +
>> +      - description: TI OMAP3630 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - logicpd,dm3730-som-lv-devkit # LogicPD Zoom DM3730 SOM-LV Development Kit
>> +              - logicpd,dm3730-torpedo-devkit # LogicPD Zoom DM3730 Torpedo + Wireless Development Kit
>> +              - ti,omap3-beagle-xm # TI OMAP3 BeagleBoard xM
>> +              - compulab,omap3-cm-t3730 # CompuLab CM-T3730
>> +              - amazon,omap3-echo # Amazon Echo (first generation)
>> +              - ti,omap3-evm-37xx # TI OMAP37XX EVM (TMDSEVM3730)
>> +              - ti,omap3-gta04 # OMAP3 GTA04
> 
> precisely the GTA04 was not a TI product, but from Golden Delicious Computers.
> It got this compatible because it originally shared a lot of device tree with the ti,omap3-beagle-xm.
> Well, we could add a vendor prefix ("goldelico") and update the device trees to "goldelico,gta04".
> 
> Generally, there is also the OpenPandora with both OMAP3 variants (3430 and 3630):
> 
> compatible = "openpandora,omap3-pandora-600mhz", "ti,omap3430", "ti,omap3";
> compatible = "openpandora,omap3-pandora-1ghz", "ti,omap3630", "ti,omap36xx", "ti,omap3";
> 
> But it is also missing a vendor prefix. Should I send a patch for both topics?
> Before the scheme is merged or afterwards?
> 

I'd suggest we get as many fixes into the actual DT files before the schemas
are solidified. Doing it after would mean changes in two places vs one.

>> +              - nokia,omap3-n9 # Nokia N9
>> +              - nokia,omap3-n950 # Nokia N950
>> +              - lg,omap3-sniper # LG Optimus Black
>> +              - ti,omap3-zoom3 # TI Zoom3
>> +          - const: ti,omap3630
>> +          - const: ti,omap3
>> +
>> +      - description: TI AM35 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - teejet,mt_ventoux # TeeJet Mt.Ventoux
>> +              - ti,am3517-craneboard # TI AM3517 CraneBoard (TMDSEVM3517)
>> +              - ti,am3517-evm # TI AM3517 EVM (AM3517/05 TMDSEVM3517)
>> +              - compulab,omap3-sbc-t3517 # CompuLab SBC-T3517 with CM-T3517
>> +          - const: ti,am3517
>> +          - const: ti,omap3
>> +
>> +      - description: TI OMAP4430 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - motorola,droid4 # Motorola Droid 4 XT894
>> +              - motorola,droid-bionic # Motorola Droid Bionic XT875
>> +              - amazon,omap4-kc1 # Amazon Kindle Fire (first generation)
>> +              - ti,omap4-panda # TI OMAP4 PandaBoard
>> +              - ti,omap4-sdp # TI OMAP4 SDP board
>> +          - const: ti,omap4430
>> +          - const: ti,omap4
>> +
>> +      - description: TI OMAP4460 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - ti,omap4-panda-es # TI OMAP4 PandaBoard-ES
>> +          - const: ti,omap4460
>> +          - const: ti,omap4
>> +
>> +      - description: TI OMAP543 SoC based platforms
> 
> s/TI OMAP543 SoC/TI OMAP5 SoC/
> 

ACK

Andrew

>> +        items:
>> +          - enum:
>> +              - compulab,omap5-cm-t54 # CompuLab CM-T54
>> +              - isee,omap5-igep0050 # IGEPv5
>> +              - ti,omap5-uevm # TI OMAP5 uEVM board
>> +          - const: ti,omap5
>> +
>> +      - description: TI AM33 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - ti,am335x-bone # TI AM335x BeagleBone
>> +              - compulab,cm-t335 # CompuLab CM-T335
>> +              - ti,am335x-evm # TI AM335x EVM
>> +              - ti,am335x-evmsk # TI AM335x EVM-SK
>> +              - bosch,am335x-guardian # Bosch AM335x Guardian
>> +              - ti,am3359-icev2 # TI AM3359 ICE-V2
>> +              - novatech,am335x-lxm # NovaTech OrionLXm
>> +              - moxa,uc-2101 # Moxa UC-2101
>> +              - moxa,uc-8100-me-t # Moxa UC-8100-ME-T
>> +              - gumstix,am335x-pepper # Gumstix Pepper
>> +              - tcl,am335x-sl50 # Toby Churchill SL50 Series
>> +          - pattern: '^ti,am33(5[1246789]|xx)$' # ti,am33xx is legacy please use full SoC name
>> +
>> +      - description: TI AM43 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - compulab,am437x-cm-t43 # CompuLab CM-T43
>> +              - ti,am437x-gp-evm # TI AM437x GP EVM
>> +              - ti,am437x-idk-evm # TI AM437x Industrial Development Kit
>> +              - ti,am437x-sk-evm # TI AM437x SK EVM
>> +          - pattern: '^ti,am4372[26789]$'
>> +          - const: ti,am43
>> +
>> +      - description: TI AM57 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - beagle,am5729-beagleboneai # BeagleBoard.org BeagleBone AI
>> +              - compulab,cl-som-am57x # CompuLab CL-SOM-AM57x
>> +              - ti,am5718-idk # TI AM5718 IDK
>> +              - ti,am5728-idk # TI AM5728 IDK
>> +              - ti,am5748-idk # TI AM5748 IDK
>> +          - pattern: '^ti,am57[0124][689]$'
>> +          - const: ti,am57
>> +
>> +      - description: TI DRA7 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - ti,dra718-evm # TI DRA718 EVM
>> +              - ti,dra722-evm # TI DRA722 EVM
>> +              - ti,dra742-evm # TI DRA742 EVM
>> +              - ti,dra762-evm # TI DRA762 EVM
>> +          - pattern: '^ti,dra7[12456][024568p]$'
>> +          - const: ti,dra7
>> +
>> +additionalProperties: true
>> +
>> +examples:
>> +  - |
>> +    / {
>> +        model = "TI OMAP2430 SDP (Software Development Board)";
>> +        compatible = "ti,omap2430-sdp", "ti,omap2430", "ti,omap2";
>> +
>> +        #address-cells = <1>;
>> +        #size-cells = <1>;
>> +    };
>> +
>> +  - |
>> +    / {
>> +        model = "TI DRA762 EVM";
>> +        compatible = "ti,dra762-evm", "ti,dra762", "ti,dra7";
>> +
>> +        #address-cells = <1>;
>> +        #size-cells = <1>;
>> +    };
>> +
>> +...
>> -- 
>> 2.39.1
>>
> 
> BR,
> Nikolaus
>
Rob Herring Feb. 16, 2023, 4:41 p.m. UTC | #3
On Thu, Feb 16, 2023 at 9:34 AM Andrew Davis <afd@ti.com> wrote:
>
> Signed-off-by: Andrew Davis <afd@ti.com>

Thanks for posting this!

> ---
>  .../devicetree/bindings/arm/omap/omap.yaml    | 174 ++++++++++++++++++
>  1 file changed, 174 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/arm/omap/omap.yaml

Move this to arm/ti,omap.yaml or arm/ti.yaml. The rest of omap/ dir
should get moved elsewhere eventually.

>
> diff --git a/Documentation/devicetree/bindings/arm/omap/omap.yaml b/Documentation/devicetree/bindings/arm/omap/omap.yaml
> new file mode 100644
> index 0000000000000..cf07a7a7df279
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/omap/omap.yaml
> @@ -0,0 +1,174 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/arm/omap/omap.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Texas Instruments OMAP SoC architecture device tree bindings

Drop 'device tree bindings'

> +
> +maintainers:
> +  - Tony Lindgren <tony@atomide.com>
> +
> +description: |

Drop '|'

> +  Platforms based on Texas Instruments OMAP SoC architecture.
> +
> +properties:
> +  $nodename:
> +    const: '/'
> +  compatible:
> +    oneOf:
> +
> +      - description: TI OMAP2420 SoC based platforms
> +        items:
> +          - enum:
> +              - ti,omap2420-h4 # TI OMAP2420 H4 board
> +              - nokia,n800 # Nokia N800
> +              - nokia,n810 # Nokia N810
> +              - nokia,n810-wimax # Nokia N810 WiMax

A bit more whitespace before the comments would be nice. Personally I
don't see much value in pretty names that just reformat the compatible
string, but either way is fine.

> +          - const: ti,omap2420
> +          - const: ti,omap2
> +
> +      - description: TI OMAP2430 SoC based platforms
> +        items:
> +          - enum:
> +              - ti,omap2430-sdp # TI OMAP2430 SDP
> +          - const: ti,omap2430
> +          - const: ti,omap2
> +
> +      - description: TI OMAP3430 SoC based platforms
> +        items:
> +          - enum:
> +              - logicpd,dm3730-som-lv-devkit # LogicPD Zoom OMAP35xx SOM-LV Development Kit
> +              - logicpd,dm3730-torpedo-devkit # LogicPD Zoom OMAP35xx Torpedo Development Kit
> +              - ti,omap3430-sdp # TI OMAP3430 SDP
> +              - ti,omap3-beagle # TI OMAP3 BeagleBoard
> +              - compulab,omap3-cm-t3530 # CompuLab CM-T3530
> +              - timll,omap3-devkit8000 # TimLL OMAP3 Devkit8000
> +              - ti,omap3-evm # TI OMAP35XX EVM (TMDSEVM3530)
> +              - ti,omap3-ldp # TI OMAP3430 LDP (Zoom1 Labrador)
> +              - nokia,omap3-n900 # Nokia N900
> +          - const: ti,omap3430
> +          - const: ti,omap3
> +
> +      - description: TI OMAP3630 SoC based platforms
> +        items:
> +          - enum:
> +              - logicpd,dm3730-som-lv-devkit # LogicPD Zoom DM3730 SOM-LV Development Kit
> +              - logicpd,dm3730-torpedo-devkit # LogicPD Zoom DM3730 Torpedo + Wireless Development Kit
> +              - ti,omap3-beagle-xm # TI OMAP3 BeagleBoard xM
> +              - compulab,omap3-cm-t3730 # CompuLab CM-T3730
> +              - amazon,omap3-echo # Amazon Echo (first generation)
> +              - ti,omap3-evm-37xx # TI OMAP37XX EVM (TMDSEVM3730)
> +              - ti,omap3-gta04 # OMAP3 GTA04
> +              - nokia,omap3-n9 # Nokia N9
> +              - nokia,omap3-n950 # Nokia N950
> +              - lg,omap3-sniper # LG Optimus Black
> +              - ti,omap3-zoom3 # TI Zoom3
> +          - const: ti,omap3630
> +          - const: ti,omap3
> +
> +      - description: TI AM35 SoC based platforms
> +        items:
> +          - enum:
> +              - teejet,mt_ventoux # TeeJet Mt.Ventoux
> +              - ti,am3517-craneboard # TI AM3517 CraneBoard (TMDSEVM3517)
> +              - ti,am3517-evm # TI AM3517 EVM (AM3517/05 TMDSEVM3517)
> +              - compulab,omap3-sbc-t3517 # CompuLab SBC-T3517 with CM-T3517
> +          - const: ti,am3517
> +          - const: ti,omap3
> +
> +      - description: TI OMAP4430 SoC based platforms
> +        items:
> +          - enum:
> +              - motorola,droid4 # Motorola Droid 4 XT894
> +              - motorola,droid-bionic # Motorola Droid Bionic XT875
> +              - amazon,omap4-kc1 # Amazon Kindle Fire (first generation)
> +              - ti,omap4-panda # TI OMAP4 PandaBoard
> +              - ti,omap4-sdp # TI OMAP4 SDP board
> +          - const: ti,omap4430
> +          - const: ti,omap4
> +
> +      - description: TI OMAP4460 SoC based platforms
> +        items:
> +          - enum:
> +              - ti,omap4-panda-es # TI OMAP4 PandaBoard-ES
> +          - const: ti,omap4460
> +          - const: ti,omap4
> +
> +      - description: TI OMAP543 SoC based platforms
> +        items:
> +          - enum:
> +              - compulab,omap5-cm-t54 # CompuLab CM-T54
> +              - isee,omap5-igep0050 # IGEPv5
> +              - ti,omap5-uevm # TI OMAP5 uEVM board
> +          - const: ti,omap5
> +
> +      - description: TI AM33 SoC based platforms
> +        items:
> +          - enum:
> +              - ti,am335x-bone # TI AM335x BeagleBone
> +              - compulab,cm-t335 # CompuLab CM-T335
> +              - ti,am335x-evm # TI AM335x EVM
> +              - ti,am335x-evmsk # TI AM335x EVM-SK
> +              - bosch,am335x-guardian # Bosch AM335x Guardian
> +              - ti,am3359-icev2 # TI AM3359 ICE-V2
> +              - novatech,am335x-lxm # NovaTech OrionLXm
> +              - moxa,uc-2101 # Moxa UC-2101
> +              - moxa,uc-8100-me-t # Moxa UC-8100-ME-T
> +              - gumstix,am335x-pepper # Gumstix Pepper
> +              - tcl,am335x-sl50 # Toby Churchill SL50 Series
> +          - pattern: '^ti,am33(5[1246789]|xx)$' # ti,am33xx is legacy please use full SoC name
> +
> +      - description: TI AM43 SoC based platforms
> +        items:
> +          - enum:
> +              - compulab,am437x-cm-t43 # CompuLab CM-T43
> +              - ti,am437x-gp-evm # TI AM437x GP EVM
> +              - ti,am437x-idk-evm # TI AM437x Industrial Development Kit
> +              - ti,am437x-sk-evm # TI AM437x SK EVM
> +          - pattern: '^ti,am4372[26789]$'
> +          - const: ti,am43
> +
> +      - description: TI AM57 SoC based platforms
> +        items:
> +          - enum:
> +              - beagle,am5729-beagleboneai # BeagleBoard.org BeagleBone AI
> +              - compulab,cl-som-am57x # CompuLab CL-SOM-AM57x
> +              - ti,am5718-idk # TI AM5718 IDK
> +              - ti,am5728-idk # TI AM5728 IDK
> +              - ti,am5748-idk # TI AM5748 IDK
> +          - pattern: '^ti,am57[0124][689]$'
> +          - const: ti,am57
> +
> +      - description: TI DRA7 SoC based platforms
> +        items:
> +          - enum:
> +              - ti,dra718-evm # TI DRA718 EVM
> +              - ti,dra722-evm # TI DRA722 EVM
> +              - ti,dra742-evm # TI DRA742 EVM
> +              - ti,dra762-evm # TI DRA762 EVM
> +          - pattern: '^ti,dra7[12456][024568p]$'
> +          - const: ti,dra7
> +
> +additionalProperties: true
> +
> +examples:
> +  - |
> +    / {
> +        model = "TI OMAP2430 SDP (Software Development Board)";
> +        compatible = "ti,omap2430-sdp", "ti,omap2430", "ti,omap2";
> +
> +        #address-cells = <1>;
> +        #size-cells = <1>;
> +    };
> +
> +  - |
> +    / {

You can't have 2 root node examples. Well, you can, but they are just
merged together...

We normally don't have examples for these either.

> +        model = "TI DRA762 EVM";
> +        compatible = "ti,dra762-evm", "ti,dra762", "ti,dra7";
> +
> +        #address-cells = <1>;
> +        #size-cells = <1>;
> +    };
> +
> +...
> --
> 2.39.1
>
H. Nikolaus Schaller Feb. 16, 2023, 4:43 p.m. UTC | #4
Hi Andrew,

> Am 16.02.2023 um 17:19 schrieb Andrew Davis <afd@ti.com>:
> 
> On 2/16/23 10:08 AM, H. Nikolaus Schaller wrote:
>> Hi,
>>> Am 16.02.2023 um 16:33 schrieb Andrew Davis <afd@ti.com>:
>>> 
>>> Signed-off-by: Andrew Davis <afd@ti.com>
>>> ---
>>> .../devicetree/bindings/arm/omap/omap.yaml    | 174 ++++++++++++++++++
>>> 1 file changed, 174 insertions(+)
>>> create mode 100644 Documentation/devicetree/bindings/arm/omap/omap.yaml
>>> 
>>> diff --git a/Documentation/devicetree/bindings/arm/omap/omap.yaml b/Documentation/devicetree/bindings/arm/omap/omap.yaml
>>> new file mode 100644
>>> index 0000000000000..cf07a7a7df279
>>> --- /dev/null
>>> +++ b/Documentation/devicetree/bindings/arm/omap/omap.yaml
>>> @@ -0,0 +1,174 @@
>>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>>> +%YAML 1.2
>>> +---
>>> +$id: http://devicetree.org/schemas/arm/omap/omap.yaml#
>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>> +
>>> +title: Texas Instruments OMAP SoC architecture device tree bindings
>>> +
>>> +maintainers:
>>> +  - Tony Lindgren <tony@atomide.com>
>>> +
>>> +description: |
>>> +  Platforms based on Texas Instruments OMAP SoC architecture.
>>> +
>>> +properties:
>>> +  $nodename:
>>> +    const: '/'
>>> +  compatible:
>>> +    oneOf:
>>> +
>>> +      - description: TI OMAP2420 SoC based platforms
>>> +        items:
>>> +          - enum:
>>> +              - ti,omap2420-h4 # TI OMAP2420 H4 board
>>> +              - nokia,n800 # Nokia N800
>>> +              - nokia,n810 # Nokia N810
>>> +              - nokia,n810-wimax # Nokia N810 WiMax
>>> +          - const: ti,omap2420
>>> +          - const: ti,omap2
>>> +
>>> +      - description: TI OMAP2430 SoC based platforms
>>> +        items:
>>> +          - enum:
>>> +              - ti,omap2430-sdp # TI OMAP2430 SDP
>>> +          - const: ti,omap2430
>>> +          - const: ti,omap2
>>> +
>>> +      - description: TI OMAP3430 SoC based platforms
>>> +        items:
>>> +          - enum:
>>> +              - logicpd,dm3730-som-lv-devkit # LogicPD Zoom OMAP35xx SOM-LV Development Kit
>>> +              - logicpd,dm3730-torpedo-devkit # LogicPD Zoom OMAP35xx Torpedo Development Kit
>>> +              - ti,omap3430-sdp # TI OMAP3430 SDP
>>> +              - ti,omap3-beagle # TI OMAP3 BeagleBoard
>>> +              - compulab,omap3-cm-t3530 # CompuLab CM-T3530
>>> +              - timll,omap3-devkit8000 # TimLL OMAP3 Devkit8000
>>> +              - ti,omap3-evm # TI OMAP35XX EVM (TMDSEVM3530)
>>> +              - ti,omap3-ldp # TI OMAP3430 LDP (Zoom1 Labrador)
>>> +              - nokia,omap3-n900 # Nokia N900
>>> +          - const: ti,omap3430
>>> +          - const: ti,omap3
>>> +
>>> +      - description: TI OMAP3630 SoC based platforms
>>> +        items:
>>> +          - enum:
>>> +              - logicpd,dm3730-som-lv-devkit # LogicPD Zoom DM3730 SOM-LV Development Kit
>>> +              - logicpd,dm3730-torpedo-devkit # LogicPD Zoom DM3730 Torpedo + Wireless Development Kit
>>> +              - ti,omap3-beagle-xm # TI OMAP3 BeagleBoard xM
>>> +              - compulab,omap3-cm-t3730 # CompuLab CM-T3730
>>> +              - amazon,omap3-echo # Amazon Echo (first generation)
>>> +              - ti,omap3-evm-37xx # TI OMAP37XX EVM (TMDSEVM3730)
>>> +              - ti,omap3-gta04 # OMAP3 GTA04
>> precisely the GTA04 was not a TI product, but from Golden Delicious Computers.
>> It got this compatible because it originally shared a lot of device tree with the ti,omap3-beagle-xm.
>> Well, we could add a vendor prefix ("goldelico") and update the device trees to "goldelico,gta04".
>> Generally, there is also the OpenPandora with both OMAP3 variants (3430 and 3630):
>> compatible = "openpandora,omap3-pandora-600mhz", "ti,omap3430", "ti,omap3";
>> compatible = "openpandora,omap3-pandora-1ghz", "ti,omap3630", "ti,omap36xx", "ti,omap3";
>> But it is also missing a vendor prefix. Should I send a patch for both topics?
>> Before the scheme is merged or afterwards?
> 
> I'd suggest we get as many fixes into the actual DT files before the schemas
> are solidified. Doing it after would mean changes in two places vs one.

Ok, I'll prepare and send a patch set asap.

BR and thanks,
Nikolaus
Andrew Davis Feb. 16, 2023, 5:30 p.m. UTC | #5
On 2/16/23 10:41 AM, Rob Herring wrote:
> On Thu, Feb 16, 2023 at 9:34 AM Andrew Davis <afd@ti.com> wrote:
>>
>> Signed-off-by: Andrew Davis <afd@ti.com>
> 
> Thanks for posting this!
> 
>> ---
>>   .../devicetree/bindings/arm/omap/omap.yaml    | 174 ++++++++++++++++++
>>   1 file changed, 174 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/arm/omap/omap.yaml
> 
> Move this to arm/ti,omap.yaml or arm/ti.yaml. The rest of omap/ dir
> should get moved elsewhere eventually.
> 

ACK

>>
>> diff --git a/Documentation/devicetree/bindings/arm/omap/omap.yaml b/Documentation/devicetree/bindings/arm/omap/omap.yaml
>> new file mode 100644
>> index 0000000000000..cf07a7a7df279
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/arm/omap/omap.yaml
>> @@ -0,0 +1,174 @@
>> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/arm/omap/omap.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Texas Instruments OMAP SoC architecture device tree bindings
> 
> Drop 'device tree bindings'
> 

ACK

>> +
>> +maintainers:
>> +  - Tony Lindgren <tony@atomide.com>
>> +
>> +description: |
> 
> Drop '|'
> 

ACK

>> +  Platforms based on Texas Instruments OMAP SoC architecture.
>> +
>> +properties:
>> +  $nodename:
>> +    const: '/'
>> +  compatible:
>> +    oneOf:
>> +
>> +      - description: TI OMAP2420 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - ti,omap2420-h4 # TI OMAP2420 H4 board
>> +              - nokia,n800 # Nokia N800
>> +              - nokia,n810 # Nokia N810
>> +              - nokia,n810-wimax # Nokia N810 WiMax
> 
> A bit more whitespace before the comments would be nice. Personally I
> don't see much value in pretty names that just reformat the compatible
> string, but either way is fine.
> 

I'm not a fan either, but this at least gives them all something to be consistent.
Will align them for v2.

>> +          - const: ti,omap2420
>> +          - const: ti,omap2
>> +
>> +      - description: TI OMAP2430 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - ti,omap2430-sdp # TI OMAP2430 SDP
>> +          - const: ti,omap2430
>> +          - const: ti,omap2
>> +
>> +      - description: TI OMAP3430 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - logicpd,dm3730-som-lv-devkit # LogicPD Zoom OMAP35xx SOM-LV Development Kit
>> +              - logicpd,dm3730-torpedo-devkit # LogicPD Zoom OMAP35xx Torpedo Development Kit
>> +              - ti,omap3430-sdp # TI OMAP3430 SDP
>> +              - ti,omap3-beagle # TI OMAP3 BeagleBoard
>> +              - compulab,omap3-cm-t3530 # CompuLab CM-T3530
>> +              - timll,omap3-devkit8000 # TimLL OMAP3 Devkit8000
>> +              - ti,omap3-evm # TI OMAP35XX EVM (TMDSEVM3530)
>> +              - ti,omap3-ldp # TI OMAP3430 LDP (Zoom1 Labrador)
>> +              - nokia,omap3-n900 # Nokia N900
>> +          - const: ti,omap3430
>> +          - const: ti,omap3
>> +
>> +      - description: TI OMAP3630 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - logicpd,dm3730-som-lv-devkit # LogicPD Zoom DM3730 SOM-LV Development Kit
>> +              - logicpd,dm3730-torpedo-devkit # LogicPD Zoom DM3730 Torpedo + Wireless Development Kit
>> +              - ti,omap3-beagle-xm # TI OMAP3 BeagleBoard xM
>> +              - compulab,omap3-cm-t3730 # CompuLab CM-T3730
>> +              - amazon,omap3-echo # Amazon Echo (first generation)
>> +              - ti,omap3-evm-37xx # TI OMAP37XX EVM (TMDSEVM3730)
>> +              - ti,omap3-gta04 # OMAP3 GTA04
>> +              - nokia,omap3-n9 # Nokia N9
>> +              - nokia,omap3-n950 # Nokia N950
>> +              - lg,omap3-sniper # LG Optimus Black
>> +              - ti,omap3-zoom3 # TI Zoom3
>> +          - const: ti,omap3630
>> +          - const: ti,omap3
>> +
>> +      - description: TI AM35 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - teejet,mt_ventoux # TeeJet Mt.Ventoux
>> +              - ti,am3517-craneboard # TI AM3517 CraneBoard (TMDSEVM3517)
>> +              - ti,am3517-evm # TI AM3517 EVM (AM3517/05 TMDSEVM3517)
>> +              - compulab,omap3-sbc-t3517 # CompuLab SBC-T3517 with CM-T3517
>> +          - const: ti,am3517
>> +          - const: ti,omap3
>> +
>> +      - description: TI OMAP4430 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - motorola,droid4 # Motorola Droid 4 XT894
>> +              - motorola,droid-bionic # Motorola Droid Bionic XT875
>> +              - amazon,omap4-kc1 # Amazon Kindle Fire (first generation)
>> +              - ti,omap4-panda # TI OMAP4 PandaBoard
>> +              - ti,omap4-sdp # TI OMAP4 SDP board
>> +          - const: ti,omap4430
>> +          - const: ti,omap4
>> +
>> +      - description: TI OMAP4460 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - ti,omap4-panda-es # TI OMAP4 PandaBoard-ES
>> +          - const: ti,omap4460
>> +          - const: ti,omap4
>> +
>> +      - description: TI OMAP543 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - compulab,omap5-cm-t54 # CompuLab CM-T54
>> +              - isee,omap5-igep0050 # IGEPv5
>> +              - ti,omap5-uevm # TI OMAP5 uEVM board
>> +          - const: ti,omap5
>> +
>> +      - description: TI AM33 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - ti,am335x-bone # TI AM335x BeagleBone
>> +              - compulab,cm-t335 # CompuLab CM-T335
>> +              - ti,am335x-evm # TI AM335x EVM
>> +              - ti,am335x-evmsk # TI AM335x EVM-SK
>> +              - bosch,am335x-guardian # Bosch AM335x Guardian
>> +              - ti,am3359-icev2 # TI AM3359 ICE-V2
>> +              - novatech,am335x-lxm # NovaTech OrionLXm
>> +              - moxa,uc-2101 # Moxa UC-2101
>> +              - moxa,uc-8100-me-t # Moxa UC-8100-ME-T
>> +              - gumstix,am335x-pepper # Gumstix Pepper
>> +              - tcl,am335x-sl50 # Toby Churchill SL50 Series
>> +          - pattern: '^ti,am33(5[1246789]|xx)$' # ti,am33xx is legacy please use full SoC name
>> +
>> +      - description: TI AM43 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - compulab,am437x-cm-t43 # CompuLab CM-T43
>> +              - ti,am437x-gp-evm # TI AM437x GP EVM
>> +              - ti,am437x-idk-evm # TI AM437x Industrial Development Kit
>> +              - ti,am437x-sk-evm # TI AM437x SK EVM
>> +          - pattern: '^ti,am4372[26789]$'
>> +          - const: ti,am43
>> +
>> +      - description: TI AM57 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - beagle,am5729-beagleboneai # BeagleBoard.org BeagleBone AI
>> +              - compulab,cl-som-am57x # CompuLab CL-SOM-AM57x
>> +              - ti,am5718-idk # TI AM5718 IDK
>> +              - ti,am5728-idk # TI AM5728 IDK
>> +              - ti,am5748-idk # TI AM5748 IDK
>> +          - pattern: '^ti,am57[0124][689]$'
>> +          - const: ti,am57
>> +
>> +      - description: TI DRA7 SoC based platforms
>> +        items:
>> +          - enum:
>> +              - ti,dra718-evm # TI DRA718 EVM
>> +              - ti,dra722-evm # TI DRA722 EVM
>> +              - ti,dra742-evm # TI DRA742 EVM
>> +              - ti,dra762-evm # TI DRA762 EVM
>> +          - pattern: '^ti,dra7[12456][024568p]$'
>> +          - const: ti,dra7
>> +
>> +additionalProperties: true
>> +
>> +examples:
>> +  - |
>> +    / {
>> +        model = "TI OMAP2430 SDP (Software Development Board)";
>> +        compatible = "ti,omap2430-sdp", "ti,omap2430", "ti,omap2";
>> +
>> +        #address-cells = <1>;
>> +        #size-cells = <1>;
>> +    };
>> +
>> +  - |
>> +    / {
> 
> You can't have 2 root node examples. Well, you can, but they are just
> merged together...
> 
> We normally don't have examples for these either.
> 

Added just for my personal testing, as testing on the real DTBs gives
far too many other errors :)

Will drop them for v2.

Thanks,
Andrew

>> +        model = "TI DRA762 EVM";
>> +        compatible = "ti,dra762-evm", "ti,dra762", "ti,dra7";
>> +
>> +        #address-cells = <1>;
>> +        #size-cells = <1>;
>> +    };
>> +
>> +...
>> --
>> 2.39.1
>>
Tony Lindgren Feb. 17, 2023, 5:48 a.m. UTC | #6
* Andrew Davis <afd@ti.com> [230216 15:33]:
> I saw there was some more talk on the lists about converting
> the omap.txt over to DT schema. I remembered that I had made
> an attempt at this and wanted to post it as a WIP example.
> It is not perfect or even very good, but might serve as
> a base for someone.

Hey that's great :)

Tony