# 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

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
              - bluegiga,apx4devkit       # Bluegiga APx4 SoM on dev board
              - crystalfontz,cfa10036     # Crystalfontz CFA-10036 SoM
              - eukrea,mbmx28lc
              - fsl,imx28-evk
              - i2se,duckbill
              - i2se,duckbill-2
              - karo,tx28                 # Ka-Ro electronics TX28 module
              - lwn,imx28-xea
              - msr,m28cu3                # M28 SoM with custom base board
              - schulercontrol,imx28-sps1
              - technologic,imx28-ts4600
          - const: fsl,imx28

      - description: i.MX28 Aries M28 SoM Board
        items:
          - const: aries,m28
          - const: denx,m28
          - const: fsl,imx28

      - description: i.MX28 Aries M28EVK Board
        items:
          - const: aries,m28evk
          - const: denx,m28evk
          - const: fsl,imx28

      - description: i.MX28 Armadeus Systems APF28Dev Board
        items:
          - const: armadeus,imx28-apf28dev
          - const: armadeus,imx28-apf28
          - const: fsl,imx28

      - description: i.MX28 Crystalfontz CFA-10036 based Boards
        items:
          - enum:
              - crystalfontz,cfa10037
              - crystalfontz,cfa10049
              - crystalfontz,cfa10057
              - crystalfontz,cfa10058
          - const: crystalfontz,cfa10036
          - const: fsl,imx28

      - description: i.MX28 Crystalfontz CFA-10037 based Boards
        items:
          - enum:
              - crystalfontz,cfa10055
              - crystalfontz,cfa10056
          - const: crystalfontz,cfa10037
          - const: crystalfontz,cfa10036
          - 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.MX28 Eukrea Electromatique MBMX283LC Board
        items:
          - const: eukrea,mbmx283lc
          - const: eukrea,mbmx28lc
          - const: fsl,imx28

      - description: i.MX28 Eukrea Electromatique MBMX287LC Board
        items:
          - const: eukrea,mbmx287lc
          - const: eukrea,mbmx283lc
          - const: eukrea,mbmx28lc
          - 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                # i.MX53 Menlo board
              - starterkit,sk-imx53
              - 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
              - bosch,imx6q-acc           # Bosch ACC i.MX6 Dual
              - 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 Modules
              - udoo,imx6q-udoo           # Udoo i.MX6 Quad Board
              - uniwest,imx6q-evi         # Uniwest Evi
              - variscite,dt6customboard
              - wand,imx6q-wandboard      # Wandboard i.MX6 Quad Board
              - ysoft,imx6q-yapp4-crux    # i.MX6 Quad Y Soft IOTA Crux board
              - ysoft,imx6q-yapp4-pegasus # i.MX6 Quad Y Soft IOTA Pegasus 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 Modules
        items:
          - enum:
              - toradex,apalis_imx6q-ixora      # Apalis iMX6Q/D Module on Ixora Carrier Board
              - toradex,apalis_imx6q-ixora-v1.1 # Apalis iMX6Q/D Module on Ixora V1.1 Carrier Board
              - toradex,apalis_imx6q-ixora-v1.2 # Apalis iMX6Q/D Module on Ixora V1.2 Carrier Board
              - toradex,apalis_imx6q-eval       # Apalis iMX6Q/D Module on Apalis Evaluation Board
          - const: toradex,apalis_imx6q
          - const: fsl,imx6q

      - description: TQ-Systems TQMa6Q SoM (variant A) on MBa6x
        items:
          - const: tq,imx6q-mba6x-a
          - const: tq,mba6a               # Expected by bootloader, to be removed in the future
          - const: tq,imx6q-tqma6q-a
          - const: fsl,imx6q

      - description: TQ-Systems TQMa6Q SoM (variant B) on MBa6x
        items:
          - const: tq,imx6q-mba6x-b
          - const: tq,mba6b               # Expected by bootloader, to be removed in the future
          - const: tq,imx6q-tqma6q-b
          - 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
              - ysoft,imx6qp-yapp4-crux-plus  # i.MX6 Quad Plus Y Soft IOTA Crux+ board
              - ysoft,imx6qp-yapp4-pegasus-plus # i.MX6 Quad Plus Y Soft IOTA Pegasus+ 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: TQ-Systems TQMa6QP SoM on MBa6x
        items:
          - const: tq,imx6qp-mba6x-b
          - const: tq,mba6b               # Expected by bootloader, to be removed in the future
          - const: tq,imx6qp-tqma6qp-b
          - 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
              - toradex,colibri_imx6dl      # Colibri iMX6 Modules
              - 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 Solo Y Soft IOTA Draco board
              - ysoft,imx6dl-yapp4-hydra  # i.MX6 DualLite Y Soft IOTA Hydra board
              - ysoft,imx6dl-yapp4-lynx   # i.MX6 DualLite Y Soft IOTA Lynx board
              - ysoft,imx6dl-yapp4-orion  # i.MX6 DualLite Y Soft IOTA Orion board
              - ysoft,imx6dl-yapp4-phoenix  # i.MX6 DualLite Y Soft IOTA Phoenix 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 Boards with Toradex Colibri iMX6DL/S Modules
        items:
          - enum:
              - toradex,colibri_imx6dl-aster        # Colibri iMX6DL/S Module on Aster Board
              - toradex,colibri_imx6dl-eval-v3      # Colibri iMX6DL/S Module on Colibri Evaluation Board V3
              - toradex,colibri_imx6dl-iris         # Colibri iMX6DL/S Module on Iris Board
              - toradex,colibri_imx6dl-iris-v2      # Colibri iMX6DL/S Module on Iris Board V2
          - const: toradex,colibri_imx6dl           # Colibri iMX6DL/S 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: TQ-Systems TQMa6DL SoM (variant A) on MBa6x
        items:
          - const: tq,imx6dl-mba6x-a
          - const: tq,mba6a               # Expected by bootloader, to be removed in the future
          - const: tq,imx6dl-tqma6dl-a
          - const: fsl,imx6dl

      - description: TQ-Systems TQMa6DL SoM (variant B) on MBa6x
        items:
          - const: tq,imx6dl-mba6x-b
          - const: tq,mba6b               # Expected by bootloader, to be removed in the future
          - const: tq,imx6dl-tqma6dl-b
          - const: fsl,imx6dl

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

      - description: i.MX6SLL based Boards
        items:
          - enum:
              - fsl,imx6sll-evk
              - kobo,clarahd
              - kobo,librah2o
          - 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,sl-imx6ul         # Kontron SL i.MX6UL 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 BL i.MX6UL (N631X S) Board
        items:
          - const: kontron,bl-imx6ul       # Kontron BL i.MX6UL Carrier Board
          - const: kontron,sl-imx6ul       # Kontron SL i.MX6UL SoM
          - const: fsl,imx6ul

      - description: Kontron BL i.MX6UL 43 (N631X S 43) Board
        items:
          - const: kontron,bl-imx6ul-43    # Kontron BL i.MX6UL Carrier Board with 4.3" Display
          - const: kontron,bl-imx6ul       # Kontron BL i.MX6UL Carrier Board
          - const: kontron,sl-imx6ul       # Kontron SL i.MX6UL SoM
          - const: fsl,imx6ul

      - description: TQ-Systems TQMa6UL1 SoM on MBa6ULx board
        items:
          - enum:
              - tq,imx6ul-tqma6ul1-mba6ulx
          - const: tq,imx6ul-tqma6ul1      # MCIMX6G1
          - const: fsl,imx6ul

      - description: TQ-Systems TQMa6UL2 SoM on MBa6ULx board
        items:
          - enum:
              - tq,imx6ul-tqma6ul2-mba6ulx
          - const: tq,imx6ul-tqma6ul2      # MCIMX6G2
          - const: fsl,imx6ul

      - description: TQ-Systems TQMa6ULxL SoM on MBa6ULx[L] board
        items:
          - enum:
              - tq,imx6ul-tqma6ul2l-mba6ulx # using LGA adapter
              - tq,imx6ul-tqma6ul2l-mba6ulxl
          - const: tq,imx6ul-tqma6ul2l      # MCIMX6G2, LGA SoM variant
          - const: fsl,imx6ul

      - description: i.MX6ULL based Boards
        items:
          - enum:
              - fsl,imx6ull-14x14-evk     # i.MX6 UltraLiteLite 14x14 EVK Board
              - joz,jozacp                # JOZ Access Point
              - kontron,sl-imx6ull        # Kontron SL i.MX6ULL SoM
              - myir,imx6ull-mys-6ulx-eval # MYiR Tech iMX6ULL Evaluation Board
              - toradex,colibri-imx6ull      # Colibri iMX6ULL Modules
              - toradex,colibri-imx6ull-emmc # Colibri iMX6ULL 1GB (eMMC) Module
              - toradex,colibri-imx6ull-wifi # Colibri iMX6ULL Wi-Fi / BT Modules
          - 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 chargebyte Tarragon Boards
        items:
          - enum:
              - chargebyte,imx6ull-tarragon-master
              - chargebyte,imx6ull-tarragon-micro
              - chargebyte,imx6ull-tarragon-slave
              - chargebyte,imx6ull-tarragon-slavext
          - const: fsl,imx6ull

      - description: i.MX6ULL DHCOM SoM based Boards
        items:
          - enum:
              - dh,imx6ull-dhcom-drc02
              - dh,imx6ull-dhcom-pdk2
              - dh,imx6ull-dhcom-picoitx
          - const: dh,imx6ull-dhcom-som # The DHCOR is soldered on the DHCOM
          - const: dh,imx6ull-dhcor-som
          - const: fsl,imx6ull

      - description: i.MX6ULL DHCOR SoM based Boards
        items:
          - const: marantec,imx6ull-dhcor-maveo-box
          - const: dh,imx6ull-dhcor-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: i.MX6ULL PHYTEC phyGATE-Tauri
        items:
          - enum:
              - phytec,imx6ull-phygate-tauri-emmc
              - phytec,imx6ull-phygate-tauri-nand
          - const: phytec,imx6ull-phygate-tauri # PHYTEC phyGATE-Tauri with i.MX6 ULL
          - const: phytec,imx6ull-pcl063        # PHYTEC phyCORE-i.MX 6ULL
          - const: fsl,imx6ull

      - description: i.MX6ULL Boards with Toradex Colibri iMX6ULL Modules
        items:
          - enum:
              - toradex,colibri-imx6ull-aster     # Aster Carrier Board
              - toradex,colibri-imx6ull-eval      # Colibri Evaluation Board V3
              - toradex,colibri-imx6ull-iris      # Iris Carrier Board
              - toradex,colibri-imx6ull-iris-v2   # Iris V2 Carrier Board
          - const: toradex,colibri-imx6ull        # Colibri iMX6ULL Module
          - const: fsl,imx6ull

      - description: i.MX6ULL Boards with Toradex Colibri iMX6ULL 1GB (eMMC) Module
        items:
          - enum:
              - toradex,colibri-imx6ull-emmc-aster     # Aster Carrier Board
              - toradex,colibri-imx6ull-emmc-eval      # Colibri Evaluation B. V3
              - toradex,colibri-imx6ull-emmc-iris      # Iris Carrier Board
              - toradex,colibri-imx6ull-emmc-iris-v2   # Iris V2 Carrier Board
          - const: toradex,colibri-imx6ull-emmc        # Colibri iMX6ULL 1GB (eMMC) Module
          - const: fsl,imx6ull

      - description: i.MX6ULL Boards with Toradex Colibri iMX6ULL Wi-Fi / BT Modules
        items:
          - enum:
              - toradex,colibri-imx6ull-wifi-eval     # Colibri Eval. B. V3
              - toradex,colibri-imx6ull-wifi-aster    # Aster Carrier Board
              - toradex,colibri-imx6ull-wifi-iris     # Iris Carrier Board
              - toradex,colibri-imx6ull-wifi-iris-v2  # Iris V2 Carrier Board
          - const: toradex,colibri-imx6ull-wifi       # Colibri iMX6ULL Wi-Fi / BT Module
          - const: fsl,imx6ull

      - description: Kontron BL i.MX6ULL (N6411 S) Board
        items:
          - const: kontron,bl-imx6ull   # Kontron BL i.MX6ULL Carrier Board
          - const: kontron,sl-imx6ull   # Kontron SL i.MX6ULL SoM
          - const: fsl,imx6ull

      - description: TQ Systems TQMa6ULLx SoM on MBa6ULx board
        items:
          - enum:
              - tq,imx6ull-tqma6ull2-mba6ulx
          - const: tq,imx6ull-tqma6ull2      # MCIMX6Y2
          - const: fsl,imx6ull

      - description: TQ Systems TQMa6ULLxL SoM on MBa6ULx[L] board
        items:
          - enum:
              - tq,imx6ull-tqma6ull2l-mba6ulx # using LGA adapter
              - tq,imx6ull-tqma6ull2l-mba6ulxl
          - const: tq,imx6ull-tqma6ull2l      # MCIMX6Y2, LGA SoM variant
          - const: fsl,imx6ull

      - description: i.MX6ULZ based Boards
        items:
          - enum:
              - bsh,imx6ulz-bsh-smm-m2    # i.MX6 ULZ BSH SystemMaster
              - 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
              - toradex,colibri-imx7s     # Colibri iMX7S Module
          - 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
              - toradex,colibri-imx7s-iris      # Module on Iris Carrier Board
              - toradex,colibri-imx7s-iris-v2   # Module on Iris Carrier Board V2
          - 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
              - storopack,imx7d-smegw01       # Storopack i.MX7D SMEGW01
              - 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 iMX7D Module
              - toradex,colibri-imx7d-emmc    # Colibri iMX7D 1GB (eMMC) Module
              - 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   # Aster Carrier Board
              - toradex,colibri-imx7d-eval-v3 # Colibri Evaluation Board V3
              - toradex,colibri-imx7d-iris    # Iris Carrier Board
              - toradex,colibri-imx7d-iris-v2 # Iris Carrier Board V2
          - const: toradex,colibri-imx7d
          - const: fsl,imx7d

      - description: i.MX7D Boards with Toradex Colibri i.MX7D 1GB (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
              - toradex,colibri-imx7d-emmc-iris     # Module on Iris Carrier Board
              - toradex,colibri-imx7d-emmc-iris-v2  # Module on Iris Carrier Board V2
          - 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
              - dmo,imx8mm-data-modul-edm-sbc # i.MX8MM eDM SBC
              - emtrion,emcon-mx8mm-avari # emCON-MX8MM SoM on Avari Base
              - fsl,imx8mm-ddr4-evk       # i.MX8MM DDR4 EVK Board
              - fsl,imx8mm-evk            # i.MX8MM EVK Board
              - fsl,imx8mm-evkb           # i.MX8MM EVKB Board
              - gateworks,imx8mm-gw7904
              - gateworks,imx8mm-gw7905-0x # i.MX8MM Gateworks 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
              - gw,imx8mm-gw7903          # i.MX8MM Gateworks Board
              - innocomm,wb15-evk         # i.MX8MM Innocomm EVK board with WB15 SoM
              - kontron,imx8mm-sl         # i.MX8MM Kontron SL (N801X) SOM
              - kontron,imx8mm-osm-s      # i.MX8MM Kontron OSM-S (N802X) SOM
              - toradex,verdin-imx8mm     # Verdin iMX8M Mini Modules
              - toradex,verdin-imx8mm-nonwifi  # Verdin iMX8M Mini Modules without Wi-Fi / BT
              - toradex,verdin-imx8mm-wifi  # Verdin iMX8M Mini Wi-Fi / BT Modules
              - variscite,var-som-mx8mm   # i.MX8MM Variscite VAR-SOM-MX8MM module
              - prt,prt8mm                # i.MX8MM Protonic PRT8MM Board
          - const: fsl,imx8mm

      - description: Emtop i.MX8MM based Boards
        items:
          - const: ees,imx8mm-emtop-baseboard      # i.MX8MM Emtop SoM on i.MX8M Mini Baseboard V1
          - const: ees,imx8mm-emtop-som            # i.MX8MM Emtop SOM-IMX8MMLPD4 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-bl
          - const: kontron,imx8mm-sl
          - const: fsl,imx8mm

      - description: Kontron BL i.MX8MM OSM-S (N802X S) Board
        items:
          - const: kontron,imx8mm-bl-osm-s
          - const: kontron,imx8mm-osm-s
          - const: fsl,imx8mm

      - description: Toradex Boards with Verdin iMX8M Mini Modules
        items:
          - enum:
              - menlo,mx8menlo                       # Verdin iMX8M Mini Module on i.MX8MM Menlo board
              - toradex,verdin-imx8mm-nonwifi-dahlia # Verdin iMX8M Mini Module on Dahlia
              - toradex,verdin-imx8mm-nonwifi-dev    # Verdin iMX8M Mini Module on Verdin Development Board
              - toradex,verdin-imx8mm-nonwifi-yavia  # Verdin iMX8M Mini Module on Yavia
          - const: toradex,verdin-imx8mm-nonwifi     # Verdin iMX8M Mini Module without Wi-Fi / BT
          - const: toradex,verdin-imx8mm             # Verdin iMX8M Mini Module
          - const: fsl,imx8mm

      - description: Toradex Boards with Verdin iMX8M Mini Wi-Fi / BT Modules
        items:
          - enum:
              - toradex,verdin-imx8mm-wifi-dahlia # Verdin iMX8M Mini Wi-Fi / BT Module on Dahlia
              - toradex,verdin-imx8mm-wifi-dev    # Verdin iMX8M Mini Wi-Fi / BT M. on Verdin Development B.
              - toradex,verdin-imx8mm-wifi-yavia  # Verdin iMX8M Mini Wi-Fi / BT Module on Yavia
          - const: toradex,verdin-imx8mm-wifi     # Verdin iMX8M Mini Wi-Fi / BT Module
          - const: toradex,verdin-imx8mm          # Verdin iMX8M Mini Module
          - const: fsl,imx8mm

      - description: PHYTEC phyCORE-i.MX8MM SoM based boards
        items:
          - const: phytec,imx8mm-phyboard-polis-rdk # phyBOARD-Polis RDK
          - const: phytec,imx8mm-phycore-som        # phyCORE-i.MX8MM 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:
          TQMa8MxML is a series of SOM featuring NXP i.MX8MM system-on-chip
          variants. It is designed to be soldered on different carrier boards.
          All variants (TQMa8M[Q,D,S][L]ML) use the same device tree, hence only
          one compatible is needed.
        items:
          - enum:
              - cloos,imx8mm-phg           # i.MX8MM Cloos PHG Board
              - tq,imx8mm-tqma8mqml-mba8mx # TQ-Systems GmbH i.MX8MM TQMa8MQML SOM on MBa8Mx
          - const: tq,imx8mm-tqma8mqml     # TQ-Systems GmbH i.MX8MM TQMa8MQML SOM
          - const: fsl,imx8mm

      - description: i.MX8MN based Boards
        items:
          - enum:
              - beacon,imx8mn-beacon-kit  # i.MX8MN Beacon Development Kit
              - bsh,imx8mn-bsh-smm-s2     # i.MX8MN BSH SystemMaster S2
              - bsh,imx8mn-bsh-smm-s2pro  # i.MX8MN BSH SystemMaster S2 PRO
              - fsl,imx8mn-ddr3l-evk      # i.MX8MN DDR3L EVK Board
              - 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:
          TQMa8MxNL is a series of SOM featuring NXP i.MX8MN system-on-chip
          variants. It is designed to be soldered on different carrier boards.
          All variants (TQMa8M[Q,D,S][L]NL) use the same device tree, hence only
          one compatible is needed.
        items:
          - enum:
              - tq,imx8mn-tqma8mqnl-mba8mx # TQ-Systems GmbH i.MX8MN TQMa8MQNL SOM on MBa8Mx
          - const: tq,imx8mn-tqma8mqnl     # TQ-Systems GmbH i.MX8MN TQMa8MQNL SOM
          - const: fsl,imx8mn

      - description: i.MX8MP based Boards
        items:
          - enum:
              - beacon,imx8mp-beacon-kit  # i.MX8MP Beacon Development Kit
              - dmo,imx8mp-data-modul-edm-sbc # i.MX8MP eDM SBC
              - fsl,imx8mp-evk            # i.MX8MP EVK Board
              - gateworks,imx8mp-gw71xx-2x # i.MX8MP Gateworks Board
              - gateworks,imx8mp-gw72xx-2x # i.MX8MP Gateworks Board
              - gateworks,imx8mp-gw73xx-2x # i.MX8MP Gateworks Board
              - gateworks,imx8mp-gw74xx   # i.MX8MP Gateworks Board
              - gateworks,imx8mp-gw7905-2x # i.MX8MP Gateworks Board
              - toradex,verdin-imx8mp     # Verdin iMX8M Plus Modules
              - toradex,verdin-imx8mp-nonwifi  # Verdin iMX8M Plus Modules without Wi-Fi / BT
              - toradex,verdin-imx8mp-wifi  # Verdin iMX8M Plus Wi-Fi / BT Modules
          - const: fsl,imx8mp

      - description: Avnet (MSC Branded) Boards with SM2S i.MX8M Plus Modules
        items:
          - const: avnet,sm2s-imx8mp-14N0600E-ep1 # SM2S-IMX8PLUS-14N0600E on SM2-MB-EP1 Carrier Board
          - const: avnet,sm2s-imx8mp-14N0600E     # 14N0600E variant of SM2S-IMX8PLUS SoM
          - const: avnet,sm2s-imx8mp              # SM2S-IMX8PLUS SoM
          - const: fsl,imx8mp

      - description: i.MX8MP DHCOM based Boards
        items:
          - enum:
              - dh,imx8mp-dhcom-pdk2         # i.MX8MP DHCOM SoM on PDK2 board
              - dh,imx8mp-dhcom-pdk3         # i.MX8MP DHCOM SoM on PDK3 board
          - const: dh,imx8mp-dhcom-som       # i.MX8MP DHCOM SoM
          - const: fsl,imx8mp

      - description: Engicam i.Core MX8M Plus SoM based boards
        items:
          - enum:
              - engicam,icore-mx8mp-edimm2.2       # i.MX8MP Engicam i.Core MX8M Plus EDIMM2.2 Starter Kit
          - const: engicam,icore-mx8mp             # i.MX8MP Engicam i.Core MX8M Plus SoM
          - 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: Polyhex DEBIX i.MX8MP based SBCs
        items:
          - enum:
              - polyhex,imx8mp-debix-model-a        # Polyhex Debix Model A Board
          - const: polyhex,imx8mp-debix             # Polyhex i.MX8MP Debix SBCs
          - const: fsl,imx8mp

      - description: Polyhex DEBIX i.MX8MP SOM A based boards
        items:
          - enum:
              - polyhex,imx8mp-debix-som-a-bmb-08   # Polyhex Debix SOM A on SOM A I/O board
          - const: polyhex,imx8mp-debix-som-a       # Polyhex Debix SOM A
          - const: fsl,imx8mp

      - description: Toradex Boards with Verdin iMX8M Plus Modules
        items:
          - enum:
              - toradex,verdin-imx8mp-nonwifi-dahlia # Verdin iMX8M Plus Module on Dahlia
              - toradex,verdin-imx8mp-nonwifi-dev    # Verdin iMX8M Plus Module on Verdin Development Board
              - toradex,verdin-imx8mp-nonwifi-yavia  # Verdin iMX8M Plus Module on Yavia
          - const: toradex,verdin-imx8mp-nonwifi     # Verdin iMX8M Plus Module without Wi-Fi / BT
          - const: toradex,verdin-imx8mp             # Verdin iMX8M Plus Module
          - const: fsl,imx8mp

      - description: Toradex Boards with Verdin iMX8M Plus Wi-Fi / BT Modules
        items:
          - enum:
              - toradex,verdin-imx8mp-wifi-dahlia # Verdin iMX8M Plus Wi-Fi / BT Module on Dahlia
              - toradex,verdin-imx8mp-wifi-dev    # Verdin iMX8M Plus Wi-Fi / BT M. on Verdin Development B.
              - toradex,verdin-imx8mp-wifi-yavia  # Verdin iMX8M Plus Wi-Fi / BT Module on Yavia
          - const: toradex,verdin-imx8mp-wifi     # Verdin iMX8M Plus Wi-Fi / BT Module
          - const: toradex,verdin-imx8mp          # Verdin iMX8M Plus Module
          - const: fsl,imx8mp

      - description:
          TQMa8MPxL is a series of LGA SOM featuring NXP i.MX8MP system-on-chip
          variants. It is designed to be soldered on different carrier boards.
          All CPU variants use the same device tree hence only one compatible
          is needed. MBa8MPxL mainboard can be used as starterkit or in a boxed
          version as an industrial computing device.
        items:
          - enum:
              - tq,imx8mp-tqma8mpql-mba8mpxl # TQ-Systems GmbH i.MX8MP TQMa8MPQL SOM on MBa8MPxL
          - const: tq,imx8mp-tqma8mpql       # TQ-Systems GmbH i.MX8MP TQMa8MPQL 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
              - 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: i.MX8MQ NITROGEN SoM based Boards
        items:
          - const: mntre,reform2                  # MNT Reform2 Laptop
          - const: boundary,imx8mq-nitrogen8m-som # i.MX8MQ NITROGEN SoM
          - 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:
          TQMa8Mx is a series of SOM featuring NXP i.MX8MQ system-on-chip
          variants. It is designed to be clicked on different carrier boards.
        items:
          - enum:
              - tq,imx8mq-tqma8mq-mba8mx # TQ-Systems GmbH i.MX8MQ TQMa8Mx SOM on MBa8Mx
          - const: tq,imx8mq-tqma8mq     # TQ-Systems GmbH i.MX8MQ TQMa8Mx SOM
          - 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
              - toradex,apalis-imx8      # Apalis iMX8 Modules
              - toradex,apalis-imx8-v1.1 # Apalis iMX8 V1.1 Modules
          - const: fsl,imx8qm

      - description: i.MX8QM Boards with Toradex Apalis iMX8 Modules
        items:
          - enum:
              - toradex,apalis-imx8-eval            # Apalis iMX8 Module on Apalis Evaluation Board
              - toradex,apalis-imx8-ixora-v1.1      # Apalis iMX8 Module on Ixora V1.1 Carrier Board
          - const: toradex,apalis-imx8
          - const: fsl,imx8qm

      - description: i.MX8QM Boards with Toradex Apalis iMX8 V1.1 Modules
        items:
          - enum:
              - toradex,apalis-imx8-v1.1-eval       # Apalis iMX8 V1.1 Module on Apalis Eval. Board
              - toradex,apalis-imx8-v1.1-ixora-v1.1 # Apalis iMX8 V1.1 Module on Ixora V1.1 C. Board
              - toradex,apalis-imx8-v1.1-ixora-v1.2 # Apalis iMX8 V1.1 Module on Ixora V1.2 C. Board
          - const: toradex,apalis-imx8-v1.1
          - 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 Modules
          - const: fsl,imx8qxp

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

      - description: i.MX8QXP Boards with Toradex Colibri iMX8X Modules
        items:
          - enum:
              - toradex,colibri-imx8x-aster   # Colibri iMX8X Module on Aster Board
              - toradex,colibri-imx8x-eval-v3 # Colibri iMX8X Module on Colibri Evaluation Board V3
              - toradex,colibri-imx8x-iris    # Colibri iMX8X Module on Iris Board
              - toradex,colibri-imx8x-iris-v2 # Colibri iMX8X Module on Iris Board V2
          - const: toradex,colibri-imx8x
          - const: fsl,imx8qxp

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

      - description: i.MX93 based Boards
        items:
          - enum:
              - fsl,imx93-11x11-evk       # i.MX93 11x11 EVK Board
          - const: fsl,imx93

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

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

      - description:
          TQMa93xxLA and TQMa93xxCA are two series of feature compatible SOM
          using NXP i.MX93 SOC in 11x11 mm package.
          TQMa93xxLA is designed to be soldered on different carrier boards.
          TQMa93xxCA is a compatible variant using board to board connectors.
          All SOM and CPU variants use the same device tree hence only one
          compatible is needed. Bootloader disables all features not present
          in the assembled SOC.
          MBa93xxCA mainboard can be used as starterkit for the SOM
          soldered on an adapter board or for the connector variant
          MBa93xxLA mainboard is a single board computer using the solderable
          SOM variant
        items:
          - enum:
              - tq,imx93-tqma9352-mba93xxca # TQ-Systems GmbH i.MX93 TQMa93xxCA/LA SOM on MBa93xxCA
              - tq,imx93-tqma9352-mba93xxla # TQ-Systems GmbH i.MX93 TQMa93xxLA SOM on MBa93xxLA SBC
          - const: tq,imx93-tqma9352        # TQ-Systems GmbH i.MX93 TQMa93xxCA/LA SOM
          - const: fsl,imx93

      - description:
          Freescale Vybrid Platform Device Tree Bindings

          For the Vybrid SoC family 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 family.
          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:
              - fsl,vf610-twr             # VF610 Tower Board
              - lwn,bk4                   # Liebherr BK4 controller
              - phytec,vf610-cosmic       # PHYTEC Cosmic/Cosmic+ Board
              - toradex,vf610-colibri_vf61 # Colibri VF61 Modules
          - 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-iot
              - fsl,ls1021a-moxa-uc-8410a
              - fsl,ls1021a-qds
              - fsl,ls1021a-tsn
              - fsl,ls1021a-twr
          - const: fsl,ls1021a

      - description:
          TQ-Systems TQMLS102xA is a series of socketable SOM featuring
          LS102x system-on-chip variants. MBLS102xA mainboard can be used as
          starterkit.
        items:
          - enum:
              - tq,ls1021a-tqmls1021a-mbls102xa
          - const: tq,ls1021a-tqmls1021a
          - 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-bluebox3
              - fsl,lx2160a-bluebox3-rev-a
              - 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: S32G2 based Boards
        items:
          - enum:
              - nxp,s32g274a-evb
              - nxp,s32g274a-rdb2
          - const: nxp,s32g2

      - 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

...