# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/fsl.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale i.MX Platforms Device Tree Bindings

maintainers:
  - Shawn Guo <shawnguo@kernel.org>
  - Li Yang <leoyang.li@nxp.com>

properties:
  $nodename:
    const: '/'
  compatible:
    oneOf:
      - description: i.MX1 based Boards
        items:
          - enum:
              - armadeus,imx1-apf9328
              - fsl,imx1ads
          - const: fsl,imx1

      - description: i.MX23 based Boards
        items:
          - enum:
              - fsl,imx23-evk
              - olimex,imx23-olinuxino
          - const: fsl,imx23

      - description: i.MX25 Product Development Kit
        items:
          - enum:
              - fsl,imx25-pdk
              - karo,imx25-tx25
          - const: fsl,imx25

      - description: i.MX25 Eukrea CPUIMX25 Boards
        items:
          - enum:
              - eukrea,mbimxsd25-baseboard   # Eukrea MBIMXSD25
          - const: eukrea,cpuimx25
          - const: fsl,imx25

      - description: i.MX25 Eukrea MBIMXSD25 Boards
        items:
          - enum:
              - eukrea,mbimxsd25-baseboard-cmo-qvga
              - eukrea,mbimxsd25-baseboard-dvi-svga
              - eukrea,mbimxsd25-baseboard-dvi-vga
          - const: eukrea,mbimxsd25-baseboard
          - const: eukrea,cpuimx25
          - const: fsl,imx25

      - description: i.MX27 based Boards
        items:
          - enum:
              - armadeus,imx27-apf27      # APF27 SoM
              - fsl,imx27-pdk
          - const: fsl,imx27

      - description: i.MX27 APF27 SoM Board
        items:
          - const: armadeus,imx27-apf27dev
          - const: armadeus,imx27-apf27
          - const: fsl,imx27

      - description: i.MX27 Eukrea CPUIMX27 SoM Board
        items:
          - const: eukrea,mbimxsd27-baseboard
          - const: eukrea,cpuimx27
          - const: fsl,imx27

      - description: i.MX27 Phytec pca100 Board
        items:
          - const: phytec,imx27-pca100-rdk
          - const: phytec,imx27-pca100
          - const: fsl,imx27

      - description: i.MX27 Phytec pcm970 Board
        items:
          - const: phytec,imx27-pcm970
          - const: phytec,imx27-pcm038
          - const: fsl,imx27

      - description: i.MX28 based Boards
        items:
          - enum:
              - armadeus,imx28-apf28      # APF28 SoM
              - armadeus,imx28-apf28dev   # APF28 SoM on APF28Dev board
              - fsl,imx28-evk
              - i2se,duckbill
              - i2se,duckbill-2
              - technologic,imx28-ts4600
          - const: fsl,imx28
      - description: i.MX28 Duckbill 2 based Boards
        items:
          - enum:
              - i2se,duckbill-2-485
              - i2se,duckbill-2-enocean
              - i2se,duckbill-2-spi
          - const: i2se,duckbill-2
          - const: fsl,imx28

      - description: i.MX31 based Boards
        items:
          - enum:
              - buglabs,imx31-bug
              - logicpd,imx31-lite
          - const: fsl,imx31

      - description: i.MX35 based Boards
        items:
          - enum:
              - fsl,imx35-pdk
          - const: fsl,imx35

      - description: i.MX35 Eukrea CPUIMX35 Board
        items:
          - const: eukrea,mbimxsd35-baseboard
          - const: eukrea,cpuimx35
          - const: fsl,imx35

      - description: i.MX50 based Boards
        items:
          - enum:
              - fsl,imx50-evk
              - kobo,aura
          - const: fsl,imx50

      - description: i.MX51 based Boards
        items:
          - enum:
              - armadeus,imx51-apf51      # Armadeus Systems APF51 module
              - fsl,imx51-babbage
              - technologic,imx51-ts4800
              - zii,imx51-scu3-esb
              - zii,imx51-scu2-mezz
              - zii,imx51-rdu1
          - const: fsl,imx51

      - description: i.MX51 based Armadeus Systems APF51Dev Board
        items:
          - const: armadeus,imx51-apf51dev
          - const: armadeus,imx51-apf51
          - const: fsl,imx51

      - description: i.MX51 based Digi ConnectCore CC(W)-MX51 JSK Board
        items:
          - const: digi,connectcore-ccxmx51-jsk
          - const: digi,connectcore-ccxmx51-som
          - const: fsl,imx51

      - description: i.MX51 based Eukrea CPUIMX51 Board
        items:
          - const: eukrea,mbimxsd51
          - const: eukrea,cpuimx51
          - const: fsl,imx51

      - description: i.MX53 based Boards
        items:
          - enum:
              - bhf,cx9020
              - fsl,imx53-ard
              - fsl,imx53-evk
              - fsl,imx53-qsb
              - fsl,imx53-qsrb                # Freescale i.MX53 Quick Start-R Board
              - fsl,imx53-smd
              - ge,imx53-cpuvo                # General Electric CS ONE
              - inversepath,imx53-usbarmory   # Inverse Path USB armory
              - karo,tx53                     # Ka-Ro electronics TX53 module
              - kiebackpeter,imx53-ddc        # K+P imx53 DDC
              - kiebackpeter,imx53-hsc        # K+P imx53 HSC
              - menlo,m53menlo
              - voipac,imx53-dmm-668          # Voipac i.MX53 X53-DMM-668
          - const: fsl,imx53

      - description: i.MX53 based Aries/DENX M53EVK Board
        items:
          - const: aries,imx53-m53evk
          - const: denx,imx53-m53evk
          - const: fsl,imx53

      - description: i.MX53 based TQ MBa53 Board
        items:
          - const: tq,mba53
          - const: tq,tqma53
          - const: fsl,imx53

      - description: i.MX6Q based Boards
        items:
          - enum:
              - auvidea,h100              # Auvidea H100
              - boundary,imx6q-nitrogen6_max
              - boundary,imx6q-nitrogen6_som2
              - boundary,imx6q-nitrogen6x
              - compulab,cm-fx6           # CompuLab CM-FX6
              - dmo,imx6q-edmqmx6         # Data Modul eDM-QMX6 Board
              - ds,imx6q-sbc              # Da Sheng COM-9XX Modules
              - embest,imx6q-marsboard    # Embest MarS Board i.MX6Dual
              - emtrion,emcon-mx6         # emCON-MX6D or emCON-MX6Q SoM
              - emtrion,emcon-mx6-avari   # emCON-MX6D or emCON-MX6Q SoM on Avari Base
              - engicam,imx6-icore        # Engicam i.CoreM6 Starter Kit
              - engicam,imx6-icore-rqs    # Engicam i.CoreM6 RQS Starter Kit
              - fsl,imx6q-arm2
              - fsl,imx6q-sabreauto
              - fsl,imx6q-sabrelite
              - fsl,imx6q-sabresd
              - karo,imx6q-tx6q           # Ka-Ro electronics TX6Q Modules
              - kiebackpeter,imx6q-tpc    # K+P i.MX6 Quad TPC Board
              - kontron,imx6q-samx6i      # Kontron i.MX6 Dual/Quad SMARC Module
              - kosagi,imx6q-novena       # Kosagi Novena Dual/Quad
              - kvg,vicut1q               # Kverneland UT1Q board
              - logicpd,imx6q-logicpd
              - lwn,display5              # Liebherr Display5 i.MX6 Quad Board
              - lwn,mccmon6               # Liebherr Monitor6 i.MX6 Quad Board
              - nutsboard,imx6q-pistachio # NutsBoard i.MX6 Quad Pistachio
              - microsys,sbc6x            # MicroSys sbc6x board
              - poslab,imx6q-savageboard  # Poslab SavageBoard Quad
              - prt,prti6q                # Protonic PRTI6Q board
              - prt,prtwd2                # Protonic WD2 board
              - rex,imx6q-rex-pro         # Rex Pro i.MX6 Quad Board
              - skov,imx6q-skov-revc-lt2  # SKOV IMX6 CPU QuadCore lt2
              - skov,imx6q-skov-revc-lt6  # SKOV IMX6 CPU QuadCore lt6
              - skov,imx6q-skov-reve-mi1010ait-1cp1 # SKOV IMX6 CPU QuadCore mi1010ait-1cp1
              - solidrun,cubox-i/q        # SolidRun Cubox-i Dual/Quad
              - solidrun,hummingboard/q
              - solidrun,hummingboard2/q
              - solidrun,solidsense/q     # SolidRun SolidSense Dual/Quad
              - tbs,imx6q-tbs2910         # TBS2910 Matrix ARM mini PC
              - technexion,imx6q-pico-dwarf   # TechNexion i.MX6Q Pico-Dwarf
              - technexion,imx6q-pico-hobbit  # TechNexion i.MX6Q Pico-Hobbit
              - technexion,imx6q-pico-nymph   # TechNexion i.MX6Q Pico-Nymph
              - technexion,imx6q-pico-pi      # TechNexion i.MX6Q Pico-Pi
              - technologic,imx6q-ts4900
              - technologic,imx6q-ts7970
              - toradex,apalis_imx6q      # Apalis iMX6 Module
              - udoo,imx6q-udoo           # Udoo i.MX6 Quad Board
              - uniwest,imx6q-evi         # Uniwest Evi
              - variscite,dt6customboard
              - wand,imx6q-wandboard      # Wandboard i.MX6 Quad Board
              - zealz,imx6q-gk802         # Zealz GK802
              - zii,imx6q-zii-rdu2        # ZII RDU2 Board
          - const: fsl,imx6q

      - description: i.MX6Q Advantech DMS-BA16 Boards
        items:
          - enum:
              - advantech,imx6q-dms-ba16  # Advantech DMS-BA16
              - ge,imx6q-b450v3           # General Electric B450v3
              - ge,imx6q-b650v3           # General Electric B650v3
              - ge,imx6q-b850v3           # General Electric B850v3
          - const: advantech,imx6q-ba16
          - const: fsl,imx6q

      - description: i.MX6Q Armadeus APF6 Boards
        items:
          - const: armadeus,imx6q-apf6dev
          - const: armadeus,imx6q-apf6
          - const: fsl,imx6q

      - description: i.MX6Q CompuLab Utilite Pro Board
        items:
          - const: compulab,utilite-pro
          - const: compulab,cm-fx6
          - const: fsl,imx6q

      - description: i.MX6Q DFI FS700-M60-6QD Board
        items:
          - const: dfi,fs700-m60-6qd
          - const: dfi,fs700e-m60
          - const: fsl,imx6q

      - description: i.MX6Q DHCOM Premium Developer Kit Board
        items:
          - const: dh,imx6q-dhcom-pdk2
          - const: dh,imx6q-dhcom-som
          - const: fsl,imx6q

      - description: i.MX6Q Gateworks Ventana Boards
        items:
          - enum:
              - gw,imx6q-gw51xx
              - gw,imx6q-gw52xx
              - gw,imx6q-gw53xx
              - gw,imx6q-gw5400-a
              - gw,imx6q-gw54xx
              - gw,imx6q-gw551x
              - gw,imx6q-gw552x
              - gw,imx6q-gw553x
              - gw,imx6q-gw560x
              - gw,imx6q-gw5903
              - gw,imx6q-gw5904
              - gw,imx6q-gw5907
              - gw,imx6q-gw5910
              - gw,imx6q-gw5912
              - gw,imx6q-gw5913
          - const: gw,ventana
          - const: fsl,imx6q

      - description: i.MX6Q PHYTEC phyBOARD-Mira
        items:
          - enum:
              - phytec,imx6q-pbac06-emmc  # PHYTEC phyBOARD-Mira eMMC RDK
              - phytec,imx6q-pbac06-nand  # PHYTEC phyBOARD-Mira NAND RDK
          - const: phytec,imx6q-pbac06    # PHYTEC phyBOARD-Mira
          - const: phytec,imx6qdl-pcm058  # PHYTEC phyCORE-i.MX6
          - const: fsl,imx6q

      - description: i.MX6Q PHYTEC phyFLEX-i.MX6
        items:
          - const: phytec,imx6q-pbab01    # PHYTEC phyFLEX carrier board
          - const: phytec,imx6q-pfla02    # PHYTEC phyFLEX-i.MX6 Quad
          - const: fsl,imx6q

      - description: i.MX6Q Boards with Toradex Apalis iMX6Q/D Module
        items:
          - enum:
              - toradex,apalis_imx6q-ixora  # Apalis iMX6Q/D Module on Ixora Carrier Board
              - toradex,apalis_imx6q-eval   # Apalis iMX6Q/D Module on Apalis Evaluation Board
          - const: toradex,apalis_imx6q
          - const: fsl,imx6q

      - description: i.MX6Q Toradex Apalis iMX6Q/D Module on Ixora Carrier Board V1.1
        items:
          - const: toradex,apalis_imx6q-ixora-v1.1
          - const: toradex,apalis_imx6q-ixora
          - const: toradex,apalis_imx6q
          - const: fsl,imx6q

      - description: i.MX6QP based Boards
        items:
          - enum:
              - boundary,imx6qp-nitrogen6_max
              - boundary,imx6qp-nitrogen6_som2
              - fsl,imx6qp-sabreauto      # i.MX6 Quad Plus SABRE Automotive Board
              - fsl,imx6qp-sabresd        # i.MX6 Quad Plus SABRE Smart Device Board
              - karo,imx6qp-tx6qp         # Ka-Ro electronics TX6QP-8037 Module
              - kvg,vicutp                # Kverneland UT1P board
              - prt,prtwd3                # Protonic WD3 board
              - wand,imx6qp-wandboard     # Wandboard i.MX6 QuadPlus Board
              - zii,imx6qp-zii-rdu2       # ZII RDU2+ Board
          - const: fsl,imx6qp

      - description: i.MX6QP PHYTEC phyBOARD-Mira
        items:
          - const: phytec,imx6qp-pbac06-nand
          - const: phytec,imx6qp-pbac06   # PHYTEC phyBOARD-Mira
          - const: phytec,imx6qdl-pcm058  # PHYTEC phyCORE-i.MX6
          - const: fsl,imx6qp

      - description: i.MX6DL based Boards
        items:
          - enum:
              - abb,aristainetos-imx6dl-4     # aristainetos i.MX6 Dual Lite Board 4
              - abb,aristainetos-imx6dl-7     # aristainetos i.MX6 Dual Lite Board 7
              - abb,aristainetos2-imx6dl-4    # aristainetos2 i.MX6 Dual Lite Board 4
              - abb,aristainetos2-imx6dl-7    # aristainetos2 i.MX6 Dual Lite Board 7
              - alt,alti6p                    # Altesco I6P Board
              - boundary,imx6dl-nit6xlite     # Boundary Devices Nitrogen6 Lite
              - boundary,imx6dl-nitrogen6x    # Boundary Devices Nitrogen6x
              - bticino,imx6dl-mamoj      # BTicino i.MX6DL Mamoj
              - eckelmann,imx6dl-ci4x10
              - emtrion,emcon-mx6         # emCON-MX6S or emCON-MX6DL SoM
              - emtrion,emcon-mx6-avari   # emCON-MX6S or emCON-MX6DL SoM on Avari Base
              - engicam,imx6-icore        # Engicam i.CoreM6 Starter Kit
              - engicam,imx6-icore-rqs    # Engicam i.CoreM6 RQS Starter Kit
              - fsl,imx6dl-sabreauto      # i.MX6 DualLite/Solo SABRE Automotive Board
              - fsl,imx6dl-sabrelite      # i.MX6 DualLite SABRE Lite Board
              - fsl,imx6dl-sabresd        # i.MX6 DualLite SABRE Smart Device Board
              - karo,imx6dl-tx6dl         # Ka-Ro electronics TX6U Modules
              - kontron,imx6dl-samx6i     # Kontron i.MX6 Solo SMARC Module
              - kvg,victgo                # Kverneland TGO
              - kvg,vicut1                # Kverneland UT1 board
              - ply,plybas                # Plymovent BAS board
              - ply,plym2m                # Plymovent M2M board
              - poslab,imx6dl-savageboard # Poslab SavageBoard Dual
              - prt,prtmvt                # Protonic MVT board
              - prt,prtrvt                # Protonic RVT board
              - prt,prtvt7                # Protonic VT7 board
              - rex,imx6dl-rex-basic      # Rex Basic i.MX6 Dual Lite Board
              - riot,imx6s-riotboard      # RIoTboard i.MX6S
              - skov,imx6dl-skov-revc-lt2 # SKOV IMX6 CPU SoloCore lt2
              - skov,imx6dl-skov-revc-lt6 # SKOV IMX6 CPU SoloCore lt6
              - solidrun,cubox-i/dl            # SolidRun Cubox-i Solo/DualLite
              - solidrun,hummingboard/dl
              - solidrun,hummingboard2/dl      # SolidRun HummingBoard2 Solo/DualLite
              - solidrun,solidsense/dl         # SolidRun SolidSense Solo/DualLite
              - technexion,imx6dl-pico-dwarf   # TechNexion i.MX6DL Pico-Dwarf
              - technexion,imx6dl-pico-hobbit  # TechNexion i.MX6DL Pico-Hobbit
              - technexion,imx6dl-pico-nymph   # TechNexion i.MX6DL Pico-Nymph
              - technexion,imx6dl-pico-pi      # TechNexion i.MX6DL Pico-Pi
              - technologic,imx6dl-ts4900
              - technologic,imx6dl-ts7970
              - udoo,imx6dl-udoo          # Udoo i.MX6 Dual-lite Board
              - vdl,lanmcu                # Van der Laan LANMCU board
              - wand,imx6dl-wandboard     # Wandboard i.MX6 Dual Lite Board
              - ysoft,imx6dl-yapp4-draco  # i.MX6 DualLite Y Soft IOTA Draco board
              - ysoft,imx6dl-yapp4-hydra  # i.MX6 DualLite Y Soft IOTA Hydra board
              - ysoft,imx6dl-yapp4-orion  # i.MX6 DualLite Y Soft IOTA Orion board
              - ysoft,imx6dl-yapp4-ursa   # i.MX6 Solo Y Soft IOTA Ursa board
          - const: fsl,imx6dl

      - description: i.MX6DL based Armadeus AFP6 Board
        items:
          - const: armadeus,imx6dl-apf6dev
          - const: armadeus,imx6dl-apf6         # APF6 (Solo) SoM
          - const: fsl,imx6dl

      - description: i.MX6DL based congatec QMX6 Boards
        items:
          - enum:
              - ge,imx6dl-b105v2          # General Electric B105v2
              - ge,imx6dl-b105pv2         # General Electric B105Pv2
              - ge,imx6dl-b125v2          # General Electric B125v2
              - ge,imx6dl-b125pv2         # General Electric B125Pv2
              - ge,imx6dl-b155v2          # General Electric B155v2
          - const: congatec,qmx6
          - const: fsl,imx6dl

      - description: i.MX6DL based DFI FS700-M60-6DL Board
        items:
          - const: dfi,fs700-m60-6dl
          - const: dfi,fs700e-m60
          - const: fsl,imx6dl

      - description: i.MX6DL DHCOM PicoITX Board
        items:
          - const: dh,imx6dl-dhcom-picoitx
          - const: dh,imx6dl-dhcom-som
          - const: fsl,imx6dl

      - description: i.MX6DL Gateworks Ventana Boards
        items:
          - enum:
              - gw,imx6dl-gw51xx
              - gw,imx6dl-gw52xx
              - gw,imx6dl-gw53xx
              - gw,imx6dl-gw54xx
              - gw,imx6dl-gw551x
              - gw,imx6dl-gw552x
              - gw,imx6dl-gw553x
              - gw,imx6dl-gw560x
              - gw,imx6dl-gw5903
              - gw,imx6dl-gw5904
              - gw,imx6dl-gw5907
              - gw,imx6dl-gw5910
              - gw,imx6dl-gw5912
              - gw,imx6dl-gw5913
          - const: gw,ventana
          - const: fsl,imx6dl

      - description: i.MX6DL PHYTEC phyBOARD-Mira
        items:
          - enum:
              - phytec,imx6dl-pbac06-emmc # PHYTEC phyBOARD-Mira eMMC RDK
              - phytec,imx6dl-pbac06-nand # PHYTEC phyBOARD-Mira NAND RDK
          - const: phytec,imx6dl-pbac06   # PHYTEC phyBOARD-Mira
          - const: phytec,imx6qdl-pcm058  # PHYTEC phyCORE-i.MX6
          - const: fsl,imx6dl

      - description: i.MX6DL PHYTEC phyFLEX-i.MX6
        items:
          - const: phytec,imx6dl-pbab01   # PHYTEC phyFLEX carrier board
          - const: phytec,imx6dl-pfla02   # PHYTEC phyFLEX-i.MX6 Quad
          - const: fsl,imx6dl

      - description: i.MX6DL Toradex Colibri iMX6 Module on Colibri
                     Evaluation Board V3
        items:
          - const: toradex,colibri_imx6dl-eval-v3
          - const: toradex,colibri_imx6dl          # Colibri iMX6 Module
          - const: fsl,imx6dl

      - description: i.MX6DL Toradex Colibri iMX6 Module V1.1 on Colibri
                     Evaluation Board V3
        items:
          - const: toradex,colibri_imx6dl-v1_1-eval-v3
          - const: toradex,colibri_imx6dl-v1_1     # Colibri iMX6 Module V1.1
          - const: toradex,colibri_imx6dl-eval-v3
          - const: toradex,colibri_imx6dl          # Colibri iMX6 Module
          - const: fsl,imx6dl

      - description: i.MX6S DHCOM DRC02 Board
        items:
          - const: dh,imx6s-dhcom-drc02
          - const: dh,imx6s-dhcom-som
          - const: fsl,imx6dl

      - description: i.MX6SL based Boards
        items:
          - enum:
              - fsl,imx6sl-evk            # i.MX6 SoloLite EVK Board
              - kobo,tolino-shine2hd
              - kobo,tolino-shine3
              - revotics,imx6sl-warp      # Revotics WaRP Board
          - const: fsl,imx6sl

      - description: i.MX6SLL based Boards
        items:
          - enum:
              - fsl,imx6sll-evk
              - kobo,clarahd
          - const: fsl,imx6sll

      - description: i.MX6SX based Boards
        items:
          - enum:
              - boundary,imx6sx-nitrogen6sx
              - fsl,imx6sx-sabreauto      # i.MX6 SoloX Sabre Auto Board
              - fsl,imx6sx-sdb            # i.MX6 SoloX SDB Board
              - fsl,imx6sx-sdb-reva       # i.MX6 SoloX SDB Rev-A Board
              - samtec,imx6sx-vining-2000 # Softing VIN|ING 2000 Board
              - udoo,neobasic             # UDOO Neo Basic Board
              - udoo,neoextended          # UDOO Neo Extended
              - udoo,neofull              # UDOO Neo Full
          - const: fsl,imx6sx

      - description: i.MX6UL based Boards
        items:
          - enum:
              - engicam,imx6ul-geam       # Engicam GEAM6UL Starter Kit
              - engicam,imx6ul-isiot      # Engicam Is.IoT MX6UL eMMC/NAND Starter kit
              - fsl,imx6ul-14x14-evk      # i.MX6 UltraLite 14x14 EVK Board
              - karo,imx6ul-tx6ul         # Ka-Ro electronics TXUL-0010 Module
              - kontron,imx6ul-n6310-som  # Kontron N6310 SOM
              - kontron,imx6ul-n6311-som  # Kontron N6311 SOM
              - prt,prti6g                # Protonic PRTI6G Board
              - technexion,imx6ul-pico-dwarf   # TechNexion i.MX6UL Pico-Dwarf
              - technexion,imx6ul-pico-hobbit  # TechNexion i.MX6UL Pico-Hobbit
              - technexion,imx6ul-pico-pi      # TechNexion i.MX6UL Pico-Pi
          - const: fsl,imx6ul

      - description: i.MX6UL Armadeus Systems OPOS6UL SoM Board
        items:
          - const: armadeus,imx6ul-opos6uldev   # OPOS6UL (i.MX6UL) SoM on OPOS6ULDev board
          - const: armadeus,imx6ul-opos6ul      # OPOS6UL (i.MX6UL) SoM
          - const: fsl,imx6ul

      - description: i.MX6UL Digi International ConnectCore 6UL Boards
        items:
          - enum:
              - digi,ccimx6ulsbcexpress   # Digi International ConnectCore 6UL SBC Express
              - digi,ccimx6ulsbcpro       # Digi International ConnectCore 6UL SBC Pro
          - const: digi,ccimx6ulsom
          - const: fsl,imx6ul

      - description: i.MX6UL Grinn liteBoard
        items:
          - const: grinn,imx6ul-liteboard
          - const: grinn,imx6ul-litesom
          - const: fsl,imx6ul

      - description: i.MX6UL PHYTEC phyBOARD-Segin
        items:
          - enum:
              - phytec,imx6ul-pbacd10-emmc
              - phytec,imx6ul-pbacd10-nand
          - const: phytec,imx6ul-pbacd10  # PHYTEC phyBOARD-Segin with i.MX6 UL
          - const: phytec,imx6ul-pcl063   # PHYTEC phyCORE-i.MX 6UL
          - const: fsl,imx6ul

      - description: Kontron N6310 S Board
        items:
          - const: kontron,imx6ul-n6310-s
          - const: kontron,imx6ul-n6310-som
          - const: fsl,imx6ul

      - description: Kontron N6311 S Board
        items:
          - const: kontron,imx6ul-n6311-s
          - const: kontron,imx6ul-n6311-som
          - const: fsl,imx6ul

      - description: Kontron N6310 S 43 Board
        items:
          - const: kontron,imx6ul-n6310-s-43
          - const: kontron,imx6ul-n6310-s
          - const: kontron,imx6ul-n6310-som
          - const: fsl,imx6ul

      - description: i.MX6ULL based Boards
        items:
          - enum:
              - fsl,imx6ull-14x14-evk     # i.MX6 UltraLiteLite 14x14 EVK Board
              - kontron,imx6ull-n6411-som # Kontron N6411 SOM
              - myir,imx6ull-mys-6ulx-eval # MYiR Tech iMX6ULL Evaluation Board
              - toradex,colibri-imx6ull-eval      # Colibri iMX6ULL Module on Colibri Eval Board
              - toradex,colibri-imx6ull-wifi-eval # Colibri iMX6ULL Wi-Fi / BT Module on Colibri Eval Board
          - const: fsl,imx6ull

      - description: i.MX6ULL Armadeus Systems OPOS6ULDev Board
        items:
          - const: armadeus,imx6ull-opos6uldev  # OPOS6UL (i.MX6ULL) SoM on OPOS6ULDev board
          - const: armadeus,imx6ull-opos6ul     # OPOS6UL (i.MX6ULL) SoM
          - const: fsl,imx6ull

      - description: i.MX6ULL PHYTEC phyBOARD-Segin
        items:
          - enum:
              - phytec,imx6ull-pbacd10-emmc
              - phytec,imx6ull-pbacd10-nand
          - const: phytec,imx6ull-pbacd10 # PHYTEC phyBOARD-Segin with i.MX6 ULL
          - const: phytec,imx6ull-pcl063  # PHYTEC phyCORE-i.MX 6ULL
          - const: fsl,imx6ull

      - description: Kontron N6411 S Board
        items:
          - const: kontron,imx6ull-n6411-s
          - const: kontron,imx6ull-n6411-som
          - const: fsl,imx6ull

      - description: i.MX6ULZ based Boards
        items:
          - enum:
              - fsl,imx6ulz-14x14-evk     # i.MX6 ULZ 14x14 EVK Board
          - const: fsl,imx6ull # This seems odd. Should be last?
          - const: fsl,imx6ulz

      - description: i.MX7S based Boards
        items:
          - enum:
              - element14,imx7s-warp      # Element14 Warp i.MX7 Board
          - const: fsl,imx7s

      - description: i.MX7S Boards with Toradex Colibri iMX7S Module
        items:
          - enum:
              - toradex,colibri-imx7s-aster     # Module on Aster Carrier Board
              - toradex,colibri-imx7s-eval-v3   # Module on Colibri Evaluation Board V3
          - const: toradex,colibri-imx7s
          - const: fsl,imx7s

      - description: TQ-Systems TQMa7S SoM on MBa7x board
        items:
          - const: tq,imx7s-mba7
          - const: tq,imx7s-tqma7
          - const: fsl,imx7s

      - description: i.MX7D based Boards
        items:
          - enum:
              - boundary,imx7d-nitrogen7
              - compulab,cl-som-imx7      # CompuLab CL-SOM-iMX7
              - fsl,imx7d-sdb             # i.MX7 SabreSD Board
              - fsl,imx7d-sdb-reva        # i.MX7 SabreSD Rev-A Board
              - kam,imx7d-flex-concentrator       # Kamstrup OMNIA Flex Concentrator
              - kam,imx7d-flex-concentrator-mfg   # Kamstrup OMNIA Flex Concentrator in manufacturing mode
              - novtech,imx7d-meerkat96   # i.MX7 Meerkat96 Board
              - remarkable,imx7d-remarkable2  # i.MX7D ReMarkable 2 E-Ink Tablet
              - technexion,imx7d-pico-dwarf   # TechNexion i.MX7D Pico-Dwarf
              - technexion,imx7d-pico-hobbit  # TechNexion i.MX7D Pico-Hobbit
              - technexion,imx7d-pico-nymph   # TechNexion i.MX7D Pico-Nymph
              - technexion,imx7d-pico-pi      # TechNexion i.MX7D Pico-Pi
              - toradex,colibri-imx7d                   # Colibri iMX7 Dual Module
              - toradex,colibri-imx7d-aster             # Colibri iMX7 Dual Module on Aster Carrier Board
              - toradex,colibri-imx7d-emmc              # Colibri iMX7 Dual 1GB (eMMC) Module
              - toradex,colibri-imx7d-emmc-aster        # Colibri iMX7 Dual 1GB (eMMC) Module on
                                                        #  Aster Carrier Board
              - toradex,colibri-imx7d-emmc-eval-v3      # Colibri iMX7 Dual 1GB (eMMC) Module on
                                                        #  Colibri Evaluation Board V3
              - toradex,colibri-imx7d-eval-v3           # Colibri iMX7 Dual Module on
                                                        #  Colibri Evaluation Board V3
              - zii,imx7d-rmu2            # ZII RMU2 Board
              - zii,imx7d-rpu2            # ZII RPU2 Board
          - const: fsl,imx7d

      - description: TQ-Systems TQMa7D SoM on MBa7x board
        items:
          - const: tq,imx7d-mba7
          - const: tq,imx7d-tqma7
          - const: fsl,imx7d

      - description:
          Compulab SBC-iMX7 is a single board computer based on the
          Freescale i.MX7 system-on-chip. SBC-iMX7 is implemented with
          the CL-SOM-iMX7 System-on-Module providing most of the functions,
          and SB-SOM-iMX7 carrier board providing additional peripheral
          functions and connectors.
        items:
          - const: compulab,sbc-imx7
          - const: compulab,cl-som-imx7
          - const: fsl,imx7d

      - description: i.MX7D Boards with Toradex Colibri i.MX7D Module
        items:
          - enum:
              - toradex,colibri-imx7d-aster   # Module on Aster Carrier Board
              - toradex,colibri-imx7d-eval-v3 # Module on Colibri Evaluation Board V3
          - const: toradex,colibri-imx7d
          - const: fsl,imx7d

      - description: i.MX7D Boards with Toradex Colibri i.MX7D eMMC Module
        items:
          - enum:
              - toradex,colibri-imx7d-emmc-aster    # Module on Aster Carrier Board
              - toradex,colibri-imx7d-emmc-eval-v3  # Module on Colibri Evaluation Board V3
          - const: toradex,colibri-imx7d-emmc
          - const: fsl,imx7d

      - description: i.MX7ULP based Boards
        items:
          - enum:
              - ea,imx7ulp-com           # i.MX7ULP Embedded Artists COM Board
              - fsl,imx7ulp-evk           # i.MX7ULP Evaluation Kit
          - const: fsl,imx7ulp

      - description: i.MX8MM based Boards
        items:
          - enum:
              - beacon,imx8mm-beacon-kit  # i.MX8MM Beacon Development Kit
              - boundary,imx8mm-nitrogen8mm  # i.MX8MM Nitrogen Board
              - fsl,imx8mm-ddr4-evk       # i.MX8MM DDR4 EVK Board
              - fsl,imx8mm-evk            # i.MX8MM EVK Board
              - gw,imx8mm-gw71xx-0x       # i.MX8MM Gateworks Development Kit
              - gw,imx8mm-gw72xx-0x       # i.MX8MM Gateworks Development Kit
              - gw,imx8mm-gw73xx-0x       # i.MX8MM Gateworks Development Kit
              - gw,imx8mm-gw7901          # i.MX8MM Gateworks Board
              - gw,imx8mm-gw7902          # i.MX8MM Gateworks Board
              - kontron,imx8mm-n801x-som  # i.MX8MM Kontron SL (N801X) SOM
              - variscite,var-som-mx8mm   # i.MX8MM Variscite VAR-SOM-MX8MM module
          - const: fsl,imx8mm

      - description: Engicam i.Core MX8M Mini SoM based boards
        items:
          - enum:
              - engicam,icore-mx8mm-ctouch2        # i.MX8MM Engicam i.Core MX8M Mini C.TOUCH 2.0
              - engicam,icore-mx8mm-edimm2.2       # i.MX8MM Engicam i.Core MX8M Mini EDIMM2.2 Starter Kit
          - const: engicam,icore-mx8mm             # i.MX8MM Engicam i.Core MX8M Mini SoM
          - const: fsl,imx8mm

      - description: Kontron BL i.MX8MM (N801X S) Board
        items:
          - const: kontron,imx8mm-n801x-s
          - const: kontron,imx8mm-n801x-som
          - const: fsl,imx8mm

      - description: Variscite VAR-SOM-MX8MM based boards
        items:
          - const: variscite,var-som-mx8mm-symphony
          - const: variscite,var-som-mx8mm
          - const: fsl,imx8mm

      - description: i.MX8MN based Boards
        items:
          - enum:
              - beacon,imx8mn-beacon-kit  # i.MX8MN Beacon Development Kit
              - fsl,imx8mn-ddr4-evk       # i.MX8MN DDR4 EVK Board
              - fsl,imx8mn-evk            # i.MX8MN LPDDR4 EVK Board
              - gw,imx8mn-gw7902          # i.MX8MM Gateworks Board
          - const: fsl,imx8mn

      - description: Variscite VAR-SOM-MX8MN based boards
        items:
          - const: variscite,var-som-mx8mn-symphony
          - const: variscite,var-som-mx8mn
          - const: fsl,imx8mn

      - description: i.MX8MP based Boards
        items:
          - enum:
              - fsl,imx8mp-evk            # i.MX8MP EVK Board
          - const: fsl,imx8mp

      - description: PHYTEC phyCORE-i.MX8MP SoM based boards
        items:
          - const: phytec,imx8mp-phyboard-pollux-rdk # phyBOARD-Pollux RDK
          - const: phytec,imx8mp-phycore-som         # phyCORE-i.MX8MP SoM
          - const: fsl,imx8mp

      - description: i.MX8MQ based Boards
        items:
          - enum:
              - boundary,imx8mq-nitrogen8m # i.MX8MQ NITROGEN Board
              - boundary,imx8mq-nitrogen8m-som # i.MX8MQ NITROGEN SoM
              - einfochips,imx8mq-thor96  # i.MX8MQ Thor96 Board
              - fsl,imx8mq-evk            # i.MX8MQ EVK Board
              - google,imx8mq-phanbell    # Google Coral Edge TPU
              - kontron,pitx-imx8m        # Kontron pITX-imx8m Board
              - mntre,reform2             # MNT Reform2 Laptop
              - purism,librem5-devkit     # Purism Librem5 devkit
              - solidrun,hummingboard-pulse # SolidRun Hummingboard Pulse
              - technexion,pico-pi-imx8m  # TechNexion PICO-PI-8M evk
          - const: fsl,imx8mq

      - description: Purism Librem5 phones
        items:
          - enum:
              - purism,librem5r2          # Purism Librem5 phone "Chestnut"
              - purism,librem5r3          # Purism Librem5 phone "Dogwood"
              - purism,librem5r4          # Purism Librem5 phone "Evergreen"
          - const: purism,librem5
          - const: fsl,imx8mq

      - description: Zodiac Inflight Innovations Ultra Boards
        items:
          - enum:
              - zii,imx8mq-ultra-rmb3
              - zii,imx8mq-ultra-zest
          - const: zii,imx8mq-ultra
          - const: fsl,imx8mq

      - description: i.MX8QM based Boards
        items:
          - enum:
              - fsl,imx8qm-mek           # i.MX8QM MEK Board
          - const: fsl,imx8qm

      - description: i.MX8QXP based Boards
        items:
          - enum:
              - einfochips,imx8qxp-ai_ml  # i.MX8QXP AI_ML Board
              - fsl,imx8qxp-mek           # i.MX8QXP MEK Board
              - toradex,colibri-imx8x         # Colibri iMX8X Module
          - const: fsl,imx8qxp

      - description: Toradex Colibri i.MX8 Evaluation Board
        items:
          - enum:
              - toradex,colibri-imx8x-eval-v3 # Colibri iMX8X Module on Colibri Evaluation Board V3
          - const: toradex,colibri-imx8x
          - const: fsl,imx8qxp

      - description:
          Freescale Vybrid Platform Device Tree Bindings

          For the Vybrid SoC familiy all variants with DDR controller are supported,
          which is the VF5xx and VF6xx series. Out of historical reasons, in most
          places the kernel uses vf610 to refer to the whole familiy.
          The compatible string "fsl,vf610m4" is used for the secondary Cortex-M4
          core support.
        items:
          - enum:
              - fsl,vf500
              - fsl,vf510
              - fsl,vf600
              - fsl,vf610
              - fsl,vf610m4

      - description: Toradex Colibri VF50 Module on Colibri Evaluation Board
        items:
          - const: toradex,vf500-colibri_vf50-on-eval
          - const: toradex,vf500-colibri_vf50
          - const: fsl,vf500

      - description: VF610 based Boards
        items:
          - enum:
              - lwn,bk4                   # Liebherr BK4 controller
              - phytec,vf610-cosmic       # PHYTEC Cosmic/Cosmic+ Board
              - fsl,vf610-twr             # VF610 Tower Board
          - const: fsl,vf610

      - description: Toradex Colibri VF61 Module on Colibri Evaluation Board
        items:
          - const: toradex,vf610-colibri_vf61-on-eval
          - const: toradex,vf610-colibri_vf61
          - const: fsl,vf610

      - description: ZII's VF610 based Boards
        items:
          - enum:
              - zii,vf610cfu1      # ZII VF610 CFU1 Board
              - zii,vf610dev-c     # ZII VF610 Development Board, Rev C
              - zii,vf610dev-b     # ZII VF610 Development Board, Rev B
              - zii,vf610scu4-aib  # ZII VF610 SCU4 AIB
              - zii,vf610dtu       # ZII VF610 SSMB DTU Board
              - zii,vf610spu3      # ZII VF610 SSMB SPU3 Board
              - zii,vf610spb4      # ZII VF610 SPB4 Board
          - const: zii,vf610dev
          - const: fsl,vf610

      - description: LS1012A based Boards
        items:
          - enum:
              - ebs-systart,oxalis
              - fsl,ls1012a-rdb
              - fsl,ls1012a-frdm
              - fsl,ls1012a-frwy
              - fsl,ls1012a-qds
          - const: fsl,ls1012a

      - description: LS1021A based Boards
        items:
          - enum:
              - fsl,ls1021a-moxa-uc-8410a
              - fsl,ls1021a-qds
              - fsl,ls1021a-twr
          - const: fsl,ls1021a

      - description: LS1028A based Boards
        items:
          - enum:
              - fsl,ls1028a-qds
              - fsl,ls1028a-rdb
          - const: fsl,ls1028a

      - description: Kontron KBox A-230-LS
        items:
          - const: kontron,kbox-a-230-ls
          - const: kontron,sl28-var4
          - const: kontron,sl28
          - const: fsl,ls1028a
      - description:
          Kontron SMARC-sAL28 board on the SMARC Eval Carrier 2.0
        items:
          - enum:
              - kontron,sl28-var1-ads2
              - kontron,sl28-var2-ads2
              - kontron,sl28-var3-ads2
              - kontron,sl28-var4-ads2
          - enum:
              - kontron,sl28-var1
              - kontron,sl28-var2
              - kontron,sl28-var3
              - kontron,sl28-var4
          - const: kontron,sl28
          - const: fsl,ls1028a

      - description:
          Kontron SMARC-sAL28 board (on a generic/undefined carrier)
        items:
          - enum:
              - kontron,sl28-var1
              - kontron,sl28-var2
              - kontron,sl28-var3
              - kontron,sl28-var4
          - const: kontron,sl28
          - const: fsl,ls1028a

      - description:
          Kontron SMARC-sAL28 board (base). This is used in the base device
          tree which is compatible with the overlays provided by the
          vendor.
        items:
          - const: kontron,sl28
          - const: fsl,ls1028a

      - description: LS1043A based Boards
        items:
          - enum:
              - fsl,ls1043a-rdb
              - fsl,ls1043a-qds
          - const: fsl,ls1043a

      - description: LS1046A based Boards
        items:
          - enum:
              - fsl,ls1046a-frwy
              - fsl,ls1046a-qds
              - fsl,ls1046a-rdb
          - const: fsl,ls1046a

      - description: LS1088A based Boards
        items:
          - enum:
              - fsl,ls1088a-qds
              - fsl,ls1088a-rdb
          - const: fsl,ls1088a

      - description: LS2080A based Boards
        items:
          - enum:
              - fsl,ls2080a-simu
              - fsl,ls2080a-qds
              - fsl,ls2080a-rdb
          - const: fsl,ls2080a

      - description: LS2088A based Boards
        items:
          - enum:
              - fsl,ls2088a-qds
              - fsl,ls2088a-rdb
          - const: fsl,ls2088a

      - description: LX2160A based Boards
        items:
          - enum:
              - fsl,lx2160a-qds
              - fsl,lx2160a-rdb
              - fsl,lx2162a-qds
          - const: fsl,lx2160a

      - description: SolidRun LX2160A based Boards
        items:
          - enum:
              - solidrun,clearfog-cx
              - solidrun,honeycomb
          - const: solidrun,lx2160a-cex7
          - const: fsl,lx2160a

      - description: S32V234 based Boards
        items:
          - enum:
              - fsl,s32v234-evb           # S32V234-EVB2 Customer Evaluation Board
          - const: fsl,s32v234

      - description: Traverse LS1088A based Boards
        items:
          - enum:
              - traverse,ten64            # Ten64 Networking Appliance / Board
          - const: fsl,ls1088a

additionalProperties: true

...
