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

title: QCOM

maintainers:
  - Bjorn Andersson <bjorn.andersson@linaro.org>

description: |
  Some qcom based bootloaders identify the dtb blob based on a set of
  device properties like SoC and platform and revisions of those components.
  To support this scheme, we encode this information into the board compatible
  string.

  Each board must specify a top-level board compatible string with the following
  format:

  	compatible = "qcom,<SoC>[-<soc_version>][-<foundry_id>]-<board>[/<subtype>][-<board_version>]"

  The 'SoC' and 'board' elements are required. All other elements are optional.

  The 'SoC' element must be one of the following strings:

        apq8016
        apq8026
        apq8074
        apq8084
        apq8096
        ipq4018
        ipq5018
        ipq5332
        ipq6018
        ipq8074
        ipq9574
        mdm9615
        msm8226
        msm8916
        msm8939
        msm8953
        msm8956
        msm8960
        msm8974
        msm8976
        msm8992
        msm8994
        msm8996
        msm8998
        qcs404
        qcm2290
        qdu1000
        qrb2210
        qrb4210
        qru1000
        sa8155p
        sa8540p
        sa8775p
        sc7180
        sc7280
        sc8180x
        sc8280xp
        sda660
        sdm450
        sdm630
        sdm632
        sdm636
        sdm660
        sdm670
        sdm845
        sdx55
        sdx65
        sdx75
        sm4250
        sm4450
        sm6115
        sm6115p
        sm6125
        sm6350
        sm6375
        sm7225
        sm8150
        sm8250
        sm8350
        sm8450
        sm8550

  The 'board' element must be one of the following strings:

        adp
        ap-al02-c2
        ap-al02-c6
        ap-al02-c7
        ap-al02-c8
        ap-al02-c9
        ap-mi01.2
        ap-mi01.3
        ap-mi01.6
        ap-mi01.9
        cdp
        cp01-c1
        dragonboard
        hk01
        hk10-c1
        hk10-c2
        idp
        liquid
        rdp432-c2
        mtp
        qrd
        rb2
        ride
        sbc
        x100

  The 'soc_version' and 'board_version' elements take the form of v<Major>.<Minor>
  where the minor number may be omitted when it's zero, i.e.  v1.0 is the same
  as v1. If all versions of the 'board_version' elements match, then a
  wildcard '*' should be used, e.g. 'v*'.

  The 'foundry_id' and 'subtype' elements are one or more digits from 0 to 9.

  Examples:

  	"qcom,msm8916-v1-cdp-pm8916-v2.1"

  A CDP board with an msm8916 SoC, version 1 paired with a pm8916 PMIC of version
  2.1.

  	"qcom,apq8074-v2.0-2-dragonboard/1-v0.1"

  A dragonboard board v0.1 of subtype 1 with an apq8074 SoC version 2, made in
  foundry 2.

  There are many devices in the list below that run the standard ChromeOS
  bootloader setup and use the open source depthcharge bootloader to boot the
  OS. These devices do not use the scheme described above. For details, see:
  https://docs.kernel.org/arm/google/chromebook-boot-flow.html

properties:
  $nodename:
    const: "/"
  compatible:
    oneOf:
      - items:
          - enum:
              - qcom,apq8016-sbc
          - const: qcom,apq8016

      - items:
          - enum:
              - asus,sparrow
              - huawei,sturgeon
              - lg,lenok
              - samsung,matisse-wifi
          - const: qcom,apq8026

      - items:
          - enum:
              - asus,nexus7-flo
              - lg,nexus4-mako
              - sony,xperia-yuga
              - qcom,apq8064-cm-qs600
              - qcom,apq8064-ifc6410
          - const: qcom,apq8064

      - items:
          - enum:
              - qcom,apq8074-dragonboard
          - const: qcom,apq8074

      - items:
          - enum:
              - qcom,apq8060-dragonboard
              - qcom,msm8660-surf
          - const: qcom,msm8660

      - items:
          - enum:
              - qcom,apq8084-mtp
              - qcom,apq8084-sbc
          - const: qcom,apq8084

      - items:
          - enum:
              - samsung,s3ve3g
          - const: qcom,msm8226

      - items:
          - enum:
              - samsung,a7
              - sony,kanuti-tulip
              - square,apq8039-t2
          - const: qcom,msm8939

      - items:
          - enum:
              - sony,kugo-row
              - sony,suzu-row
          - const: qcom,msm8956

      - items:
          - enum:
              - qcom,msm8960-cdp
              - samsung,expressatt
          - const: qcom,msm8960

      - items:
          - enum:
              - lge,hammerhead
              - sony,xperia-amami
              - sony,xperia-honami
          - const: qcom,msm8974

      - items:
          - enum:
              - fairphone,fp2
              - oneplus,bacon
              - samsung,klte
              - sony,xperia-castor
          - const: qcom,msm8974pro
          - const: qcom,msm8974

      - items:
          - const: qcom,msm8916-mtp
          - const: qcom,msm8916-mtp/1
          - const: qcom,msm8916

      - items:
          - enum:
              - acer,a1-724
              - alcatel,idol347
              - asus,z00l
              - gplus,fl8005a
              - huawei,g7
              - longcheer,l8910
              - samsung,a3u-eur
              - samsung,a5u-eur
              - samsung,e5
              - samsung,e7
              - samsung,grandmax
              - samsung,gt510
              - samsung,gt58
              - samsung,j5
              - samsung,j5x
              - samsung,serranove
              - thwc,uf896
              - thwc,ufi001c
              - wingtech,wt88047
              - yiming,uz801-v3
          - const: qcom,msm8916

      - items:
          - const: longcheer,l8150
          - const: qcom,msm8916-v1-qrd/9-v1
          - const: qcom,msm8916

      - items:
          - enum:
              - motorola,potter
              - xiaomi,daisy
              - xiaomi,mido
              - xiaomi,tissot
              - xiaomi,vince
          - const: qcom,msm8953

      - items:
          - enum:
              - lg,bullhead
              - microsoft,talkman
              - xiaomi,libra
          - const: qcom,msm8992

      - items:
          - enum:
              - sony,karin_windy
          - const: qcom,apq8094

      - items:
          - enum:
              - huawei,angler
              - microsoft,cityman
              - sony,ivy-row
              - sony,karin-row
              - sony,satsuki-row
              - sony,sumire-row
              - sony,suzuran-row
          - const: qcom,msm8994

      - items:
          - enum:
              - arrow,apq8096-db820c
              - inforce,ifc6640
          - const: qcom,apq8096-sbc
          - const: qcom,apq8096

      - items:
          - enum:
              - oneplus,oneplus3
              - oneplus,oneplus3t
              - qcom,msm8996-mtp
              - sony,dora-row
              - sony,kagura-row
              - sony,keyaki-row
              - xiaomi,gemini
          - const: qcom,msm8996

      - items:
          - enum:
              - xiaomi,natrium
              - xiaomi,scorpio
          - const: qcom,msm8996pro
          - const: qcom,msm8996

      - items:
          - enum:
              - asus,novago-tp370ql
              - fxtec,pro1
              - hp,envy-x2
              - lenovo,miix-630
              - oneplus,cheeseburger
              - oneplus,dumpling
              - qcom,msm8998-mtp
              - sony,xperia-lilac
              - sony,xperia-maple
              - sony,xperia-poplar
              - xiaomi,sagit
          - const: qcom,msm8998

      - items:
          - enum:
              - 8dev,jalapeno
              - alfa-network,ap120c-ac
          - const: qcom,ipq4018

      - items:
          - enum:
              - qcom,ipq4019-ap-dk01.1-c1
              - qcom,ipq4019-ap-dk04.1-c3
              - qcom,ipq4019-ap-dk07.1-c1
              - qcom,ipq4019-ap-dk07.1-c2
              - qcom,ipq4019-dk04.1-c1
          - const: qcom,ipq4019

      - items:
          - enum:
              - qcom,ipq5018-rdp432-c2
          - const: qcom,ipq5018

      - items:
          - enum:
              - qcom,ipq5332-ap-mi01.2
              - qcom,ipq5332-ap-mi01.3
              - qcom,ipq5332-ap-mi01.6
              - qcom,ipq5332-ap-mi01.9
          - const: qcom,ipq5332

      - items:
          - enum:
              - mikrotik,rb3011
              - qcom,ipq8064-ap148
          - const: qcom,ipq8064

      - items:
          - enum:
              - qcom,ipq8074-hk01
              - qcom,ipq8074-hk10-c1
              - qcom,ipq8074-hk10-c2
          - const: qcom,ipq8074

      - items:
          - enum:
              - qcom,ipq9574-ap-al02-c2
              - qcom,ipq9574-ap-al02-c6
              - qcom,ipq9574-ap-al02-c7
              - qcom,ipq9574-ap-al02-c8
              - qcom,ipq9574-ap-al02-c9
          - const: qcom,ipq9574

      - description: Sierra Wireless MangOH Green with WP8548 Module
        items:
          - const: swir,mangoh-green-wp8548
          - const: swir,wp8548
          - const: qcom,mdm9615

      - description: Qualcomm Technologies, Inc. Robotics RB1
        items:
          - enum:
              - qcom,qrb2210-rb1
          - const: qcom,qrb2210
          - const: qcom,qcm2290

      - description: Qualcomm Technologies, Inc. Distributed Unit 1000 platform
        items:
          - enum:
              - qcom,qdu1000-idp
              - qcom,qdu1000-x100
          - const: qcom,qdu1000

      - description: Qualcomm Technologies, Inc. Radio Unit 1000 platform
        items:
          - enum:
              - qcom,qru1000-idp
          - const: qcom,qru1000

      - items:
          - enum:
              - acer,aspire1
              - qcom,sc7180-idp
          - const: qcom,sc7180

      - description: HP Chromebook x2 11c (rev1 - 2)
        items:
          - const: google,coachz-rev1
          - const: google,coachz-rev2
          - const: qcom,sc7180

      - description: HP Chromebook x2 11c (newest rev)
        items:
          - const: google,coachz
          - const: qcom,sc7180

      - description: HP Chromebook x2 11c with LTE (rev1 - 2)
        items:
          - const: google,coachz-rev1-sku0
          - const: google,coachz-rev2-sku0
          - const: qcom,sc7180

      - description: HP Chromebook x2 11c with LTE (newest rev)
        items:
          - const: google,coachz-sku0
          - const: qcom,sc7180

      - description: Lenovo Chromebook Duet 5 13 (rev2)
        items:
          - const: google,homestar-rev2
          - const: google,homestar-rev23
          - const: qcom,sc7180

      - description: Lenovo Chromebook Duet 5 13 (rev3)
        items:
          - const: google,homestar-rev3
          - const: qcom,sc7180

      - description: Lenovo Chromebook Duet 5 13 (newest rev)
        items:
          - const: google,homestar
          - const: qcom,sc7180

      - description: Google Kingoftown (rev0)
        items:
          - const: google,kingoftown-rev0
          - const: qcom,sc7180

      - description: Google Kingoftown (newest rev)
        items:
          - const: google,kingoftown
          - const: qcom,sc7180

      - description: Acer Chromebook Spin 513 (rev0)
        items:
          - const: google,lazor-rev0
          - const: qcom,sc7180

      - description: Acer Chromebook Spin 513 (rev1 - 2)
        items:
          - const: google,lazor-rev1
          - const: google,lazor-rev2
          - const: qcom,sc7180

      - description: Acer Chromebook Spin 513 (rev3 - 8)
        items:
          - const: google,lazor-rev3
          - const: google,lazor-rev4
          - const: google,lazor-rev5
          - const: google,lazor-rev6
          - const: google,lazor-rev7
          - const: google,lazor-rev8
          - const: qcom,sc7180

      - description: Acer Chromebook Spin 513 (newest rev)
        items:
          - const: google,lazor
          - const: qcom,sc7180

      - description: Acer Chromebook Spin 513 with KB Backlight (rev1 - 2)
        items:
          - const: google,lazor-rev1-sku2
          - const: google,lazor-rev2-sku2
          - const: qcom,sc7180

      - description: Acer Chromebook Spin 513 with KB Backlight (rev3 - 8)
        items:
          - const: google,lazor-rev3-sku2
          - const: google,lazor-rev4-sku2
          - const: google,lazor-rev5-sku2
          - const: google,lazor-rev6-sku2
          - const: google,lazor-rev7-sku2
          - const: google,lazor-rev8-sku2
          - const: qcom,sc7180

      - description: Acer Chromebook Spin 513 with KB Backlight (newest rev)
        items:
          - const: google,lazor-sku2
          - const: qcom,sc7180

      - description: Acer Chromebook Spin 513 with LTE (rev1 - 2)
        items:
          - const: google,lazor-rev1-sku0
          - const: google,lazor-rev2-sku0
          - const: qcom,sc7180

      - description: Acer Chromebook Spin 513 with LTE (rev3 - 8)
        items:
          - const: google,lazor-rev3-sku0
          - const: google,lazor-rev4-sku0
          - const: google,lazor-rev5-sku0
          - const: google,lazor-rev6-sku0
          - const: google,lazor-rev7-sku0
          - const: google,lazor-rev8-sku0
          - const: qcom,sc7180

      - description: Acer Chromebook Spin 513 with LTE (newest rev)
        items:
          - const: google,lazor-sku0
          - const: qcom,sc7180

      - description: Acer Chromebook 511 (rev4 - rev8)
        items:
          - const: google,lazor-rev4-sku4
          - const: google,lazor-rev5-sku4
          - const: google,lazor-rev6-sku4
          - const: google,lazor-rev7-sku4
          - const: google,lazor-rev8-sku4
          - const: qcom,sc7180

      - description: Acer Chromebook 511 (newest rev)
        items:
          - const: google,lazor-sku4
          - const: qcom,sc7180

      - description: Acer Chromebook 511 without Touchscreen (rev4)
        items:
          - const: google,lazor-rev4-sku5
          - const: qcom,sc7180

      - description: Acer Chromebook 511 without Touchscreen (rev5 - rev8)
        items:
          - const: google,lazor-rev5-sku5
          - const: google,lazor-rev5-sku6
          - const: google,lazor-rev6-sku6
          - const: google,lazor-rev7-sku6
          - const: google,lazor-rev8-sku6
          - const: qcom,sc7180

      - description: Acer Chromebook 511 without Touchscreen (newest rev)
        items:
          - const: google,lazor-sku6
          - const: qcom,sc7180

      - description: Google Mrbland with AUO panel (rev0)
        items:
          - const: google,mrbland-rev0-sku0
          - const: qcom,sc7180

      - description: Google Mrbland with AUO panel (newest rev)
        items:
          - const: google,mrbland-sku1536
          - const: qcom,sc7180

      - description: Google Mrbland with BOE panel (rev0)
        items:
          - const: google,mrbland-rev0-sku16
          - const: qcom,sc7180

      - description: Google Mrbland with BOE panel (newest rev)
        items:
          - const: google,mrbland-sku1024
          - const: google,mrbland-sku768
          - const: qcom,sc7180

      - description: Google Pazquel with Parade (newest rev)
        items:
          - const: google,pazquel-sku5
          - const: qcom,sc7180

      - description: Google Pazquel with TI (newest rev)
        items:
          - const: google,pazquel-sku1
          - const: qcom,sc7180

      - description: Google Pazquel with LTE and Parade (newest rev)
        items:
          - const: google,pazquel-sku6
          - const: google,pazquel-sku4
          - const: qcom,sc7180

      - description: Google Pazquel with LTE and TI (newest rev)
        items:
          - const: google,pazquel-sku0
          - const: google,pazquel-sku2
          - const: qcom,sc7180

      - description: Google Pazquel360 with LTE (newest rev)
        items:
          - const: google,pazquel-sku22
          - const: google,pazquel-sku20
          - const: qcom,sc7180

      - description: Google Pazquel360 with WiFi (newest rev)
        items:
          - const: google,pazquel-sku21
          - const: qcom,sc7180

      - description: Sharp Dynabook Chromebook C1 (rev1)
        items:
          - const: google,pompom-rev1
          - const: qcom,sc7180

      - description: Sharp Dynabook Chromebook C1 (rev2)
        items:
          - const: google,pompom-rev2
          - const: qcom,sc7180

      - description: Sharp Dynabook Chromebook C1 (newest rev)
        items:
          - const: google,pompom
          - const: qcom,sc7180

      - description: Sharp Dynabook Chromebook C1 with LTE (rev1)
        items:
          - const: google,pompom-rev1-sku0
          - const: qcom,sc7180

      - description: Sharp Dynabook Chromebook C1 with LTE (rev2)
        items:
          - const: google,pompom-rev2-sku0
          - const: qcom,sc7180

      - description: Sharp Dynabook Chromebook C1 with LTE (newest rev)
        items:
          - const: google,pompom-sku0
          - const: qcom,sc7180

      - description: Google Quackingstick (newest rev)
        items:
          - const: google,quackingstick-sku1537
          - const: qcom,sc7180

      - description: Google Quackingstick with LTE (newest rev)
        items:
          - const: google,quackingstick-sku1536
          - const: qcom,sc7180

      - description: Google Trogdor (newest rev)
        items:
          - const: google,trogdor
          - const: qcom,sc7180

      - description: Google Trogdor with LTE (newest rev)
        items:
          - const: google,trogdor-sku0
          - const: qcom,sc7180

      - description: Lenovo IdeaPad Chromebook Duet 3 with BOE panel (rev0)
        items:
          - const: google,wormdingler-rev0-sku16
          - const: qcom,sc7180

      - description: Lenovo IdeaPad Chromebook Duet 3 with BOE panel (newest rev)
        items:
          - const: google,wormdingler-sku1024
          - const: qcom,sc7180

      - description: Lenovo IdeaPad Chromebook Duet 3 with BOE panel and rt5682s (newest rev)
        items:
          - const: google,wormdingler-sku1025
          - const: qcom,sc7180

      - description: Lenovo IdeaPad Chromebook Duet 3 with INX panel (rev0)
        items:
          - const: google,wormdingler-rev0-sku0
          - const: qcom,sc7180

      - description: Lenovo IdeaPad Chromebook Duet 3 with INX panel (newest rev)
        items:
          - const: google,wormdingler-sku0
          - const: qcom,sc7180

      - description: Lenovo IdeaPad Chromebook Duet 3 with INX panel and rt5682s (newest rev)
        items:
          - const: google,wormdingler-sku1
          - const: qcom,sc7180

      - description: Qualcomm Technologies, Inc. sc7280 CRD platform (rev3 - 4)
        items:
          - const: qcom,sc7280-crd
          - const: google,hoglin-rev3
          - const: google,hoglin-rev4
          - const: google,piglin-rev3
          - const: google,piglin-rev4
          - const: qcom,sc7280

      - description: Qualcomm Technologies, Inc. sc7280 CRD platform (newest rev)
        items:
          - const: google,zoglin
          - const: google,hoglin
          - const: qcom,sc7280

      - description: Qualcomm Technologies, Inc. sc7280 CRD Pro platform (newest rev)
        items:
          - const: google,zoglin-sku1536
          - const: google,hoglin-sku1536
          - const: qcom,sc7280

      - description: Qualcomm Technologies, Inc. sc7280 IDP SKU1 platform
        items:
          - const: qcom,sc7280-idp
          - const: google,senor
          - const: qcom,sc7280

      - description: Qualcomm Technologies, Inc. sc7280 IDP SKU2 platform
        items:
          - const: qcom,sc7280-idp2
          - const: google,piglin
          - const: qcom,sc7280

      - description: Google Evoker (newest rev)
        items:
          - const: google,evoker
          - const: qcom,sc7280

      - description: Google Evoker with LTE (newest rev)
        items:
          - const: google,evoker-sku512
          - const: qcom,sc7280

      - description: Google Herobrine (newest rev)
        items:
          - const: google,herobrine
          - const: qcom,sc7280

      - description: Google Villager (rev0)
        items:
          - const: google,villager-rev0
          - const: qcom,sc7280

      - description: Google Villager (newest rev)
        items:
          - const: google,villager
          - const: qcom,sc7280

      - description: Google Villager with LTE (newest rev)
        items:
          - const: google,villager-sku512
          - const: qcom,sc7280

      - description: Google Zombie (newest rev)
        items:
          - const: google,zombie
          - const: qcom,sc7280

      - description: Google Zombie with LTE (newest rev)
        items:
          - const: google,zombie-sku512
          - const: qcom,sc7280

      - description: Google Zombie with NVMe (newest rev)
        items:
          - const: google,zombie-sku2
          - const: google,zombie-sku3
          - const: google,zombie-sku515
          - const: qcom,sc7280

      - description: Google Zombie with LTE and NVMe (newest rev)
        items:
          - const: google,zombie-sku514
          - const: qcom,sc7280

      - items:
          - enum:
              - lenovo,flex-5g
              - microsoft,surface-prox
              - qcom,sc8180x-primus
          - const: qcom,sc8180x

      - items:
          - enum:
              - lenovo,thinkpad-x13s
              - qcom,sc8280xp-crd
              - qcom,sc8280xp-qrd
          - const: qcom,sc8280xp

      - items:
          - enum:
              - motorola,ali
          - const: qcom,sdm450

      - items:
          - enum:
              - sony,discovery-row
              - sony,kirin-row
              - sony,pioneer-row
              - sony,voyager-row
          - const: qcom,sdm630

      - items:
          - enum:
              - inforce,ifc6560
          - const: qcom,sda660

      - items:
          - enum:
              - fairphone,fp3
              - motorola,ocean
          - const: qcom,sdm632

      - items:
          - enum:
              - sony,mermaid-row
          - const: qcom,sdm636

      - items:
          - enum:
              - xiaomi,lavender
          - const: qcom,sdm660

      - items:
          - enum:
              - google,sargo
          - const: qcom,sdm670

      - items:
          - enum:
              - qcom,sdx55-mtp
              - qcom,sdx55-telit-fn980-tlb
              - qcom,sdx55-t55
          - const: qcom,sdx55

      - items:
          - enum:
              - qcom,sdx65-mtp
          - const: qcom,sdx65

      - items:
          - enum:
              - qcom,sdx75-idp
          - const: qcom,sdx75

      - items:
          - enum:
              - qcom,ipq6018-cp01
              - qcom,ipq6018-cp01-c1
          - const: qcom,ipq6018

      - items:
          - enum:
              - qcom,qcs404-evb-1000
              - qcom,qcs404-evb-4000
          - const: qcom,qcs404-evb
          - const: qcom,qcs404

      - items:
          - enum:
              - qcom,sa8155p-adp
          - const: qcom,sa8155p

      - items:
          - enum:
              - qcom,sa8295p-adp
              - qcom,sa8540p-ride
          - const: qcom,sa8540p

      - items:
          - enum:
              - qcom,sa8775p-ride
          - const: qcom,sa8775p

      - items:
          - enum:
              - google,cheza
              - google,cheza-rev1
              - google,cheza-rev2
              - lenovo,yoga-c630
              - lg,judyln
              - lg,judyp
              - oneplus,enchilada
              - oneplus,fajita
              - qcom,sdm845-mtp
              - shift,axolotl
              - samsung,starqltechn
              - samsung,w737
              - sony,akari-row
              - sony,akatsuki-row
              - sony,apollo-row
              - thundercomm,db845c
              - xiaomi,beryllium
              - xiaomi,beryllium-ebbg
              - xiaomi,polaris
          - const: qcom,sdm845

      - items:
          - enum:
              - oneplus,billie2
          - const: qcom,sm4250

      - items:
          - enum:
              - qcom,qrb4210-rb2
          - const: qcom,qrb4210
          - const: qcom,sm4250

      - items:
          - enum:
              - qcom,sm4450-qrd
          - const: qcom,sm4450

      - items:
          - enum:
              - fxtec,pro1x
          - const: qcom,sm6115

      - items:
          - enum:
              - lenovo,j606f
          - const: qcom,sm6115p
          - const: qcom,sm6115

      - items:
          - enum:
              - sony,pdx201
              - xiaomi,laurel-sprout
          - const: qcom,sm6125

      - items:
          - enum:
              - sony,pdx213
          - const: qcom,sm6350

      - items:
          - enum:
              - sony,pdx225
          - const: qcom,sm6375

      - items:
          - enum:
              - fairphone,fp4
          - const: qcom,sm7225

      - items:
          - enum:
              - microsoft,surface-duo
              - qcom,sm8150-hdk
              - qcom,sm8150-mtp
              - sony,bahamut-generic
              - sony,griffin-generic
          - const: qcom,sm8150

      - items:
          - enum:
              - qcom,qrb5165-rb5
              - qcom,sm8250-hdk
              - qcom,sm8250-mtp
              - sony,pdx203-generic
              - sony,pdx206-generic
              - xiaomi,elish
          - const: qcom,sm8250

      - items:
          - enum:
              - microsoft,surface-duo2
              - qcom,sm8350-hdk
              - qcom,sm8350-mtp
              - sony,pdx214-generic
              - sony,pdx215-generic
          - const: qcom,sm8350

      - items:
          - enum:
              - qcom,sm8450-hdk
              - qcom,sm8450-qrd
              - sony,pdx223
              - sony,pdx224
          - const: qcom,sm8450

      - items:
          - enum:
              - qcom,sm8550-mtp
              - qcom,sm8550-qrd
          - const: qcom,sm8550

  # Board compatibles go above

  qcom,msm-id:
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    minItems: 1
    maxItems: 8
    items:
      items:
        - description: |
            MSM chipset ID - an exact match value consisting of two bitfields::
             - bits 0-15  - The unique MSM chipset ID
             - bits 16-31 - Reserved; should be 0
        - description: |
            Hardware revision ID - a chipset specific 32-bit ID representing
            the version of the chipset.  It is best a match value - the
            bootloader will look for the closest possible match.
    deprecated: true
    description:
      The MSM chipset and hardware revision used Qualcomm bootloaders.  It
      can optionally be an array of these to indicate multiple hardware that
      use the same device tree.  It is expected that the bootloader will use
      this information at boot-up to decide which device tree to use when given
      multiple device trees, some of which may not be compatible with the
      actual hardware.  It is the bootloader's responsibility to pass the
      correct device tree to the kernel.
      The property is deprecated.

  qcom,board-id:
    $ref: /schemas/types.yaml#/definitions/uint32-matrix
    minItems: 1
    maxItems: 8
    oneOf:
      - items:
          - items:
              - description: |
                  Board ID consisting of three bitfields::
                    - bits 31-24 - Unused
                    - bits 23-16 - Platform Version Major
                    - bits 15-8  - Platform Version Minor
                    - bits 7-0   - Platform Type
                  Platform Type field is an exact match value.  The
                  Platform Major/Minor field is a best match.  The bootloader will
                  look for the closest possible match.
              - description: |
                  Subtype ID unique to a Platform Type/Chipset ID.  For a given
                  Platform Type, there will typically only be a single board and the
                  subtype_id will be 0.  However in some cases board variants may
                  need to be distinguished by different subtype_id values.
      - items:
          # OnePlus uses a variant of board-id with four elements:
          - items:
              - const: 8
              - const: 0
              - description: OnePlus board ID
              - description: OnePlus subtype ID
    deprecated: true
    description:
      The board type and revision information.  It can optionally be an array
      of these to indicate multiple boards that use the same device tree.  It
      is expected that the bootloader will use this information at boot-up to
      decide which device tree to use when given multiple device trees, some of
      which may not be compatible with the actual hardware.  It is the
      bootloader's responsibility to pass the correct device tree to the
      kernel
      The property is deprecated.

allOf:
  # Explicit allow-list for older SoCs. The legacy properties are not allowed
  # on newer SoCs.
  - if:
      properties:
        compatible:
          contains:
            enum:
              - qcom,apq8026
              - qcom,apq8094
              - qcom,apq8096
              - qcom,msm8939
              - qcom,msm8953
              - qcom,msm8956
              - qcom,msm8992
              - qcom,msm8994
              - qcom,msm8996
              - qcom,msm8998
              - qcom,sdm450
              - qcom,sdm630
              - qcom,sdm632
              - qcom,sdm636
              - qcom,sdm845
              - qcom,sdx55
              - qcom,sdx65
              - qcom,sdx75
              - qcom,sm4250
              - qcom,sm6115
              - qcom,sm6125
              - qcom,sm6350
              - qcom,sm7225
              - qcom,sm8150
              - qcom,sm8250
    then:
      properties:
        qcom,board-id: true
        qcom,msm-id: true
    else:
      properties:
        qcom,board-id: false
        qcom,msm-id: false

  - if:
      properties:
        compatible:
          contains:
            enum:
              - oneplus,cheeseburger
              - oneplus,dumpling
              - oneplus,enchilada
              - oneplus,fajita
              - oneplus,oneplus3
              - oneplus,oneplus3t
    then:
      properties:
        qcom,board-id:
          items:
            minItems: 4
    else:
      properties:
        qcom,board-id:
          items:
            maxItems: 2

additionalProperties: true

...