# 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 device tree bindings

maintainers:
  - Stephen Boyd <sboyd@codeaurora.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
        ipq6018
        ipq8074
        mdm9615
        msm8226
        msm8916
        msm8974
        msm8992
        msm8994
        msm8996
        sa8155p
        sc7180
        sc7280
        sdm630
        sdm632
        sdm660
        sdm845
        sdx55
        sdx65
        sm7225
        sm8150
        sm8250
        sm8350
        sm8450

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

        adp
        cdp
        cp01-c1
        dragonboard
        hk01
        hk10-c1
        hk10-c2
        idp
        liquid
        mtp
        qrd
        sbc

  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.

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

      - items:
          - enum:
              - lg,lenok
          - 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:
              - qcom,msm8960-cdp
          - const: qcom,msm8960

      - items:
          - enum:
              - fairphone,fp2
              - lge,hammerhead
              - samsung,klte
              - sony,xperia-amami
              - sony,xperia-castor
              - sony,xperia-honami
          - const: qcom,msm8974

      - items:
          - enum:
              - alcatel,idol347
          - const: qcom,msm8916-mtp/1
          - const: qcom,msm8916-mtp
          - const: qcom,msm8916

      - items:
          - enum:
              - longcheer,l8150
              - samsung,a3u-eur
              - samsung,a5u-eur
          - const: qcom,msm8916

      - items:
          - enum:
              - sony,karin_windy
              - sony,karin-row
              - sony,satsuki-row
              - sony,sumire-row
              - sony,suzuran-row
              - qcom,msm8994
          - const: qcom,apq8094

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

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

      - 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,ipq8064-ap148
          - const: qcom,ipq8064

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

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

      - items:
          - enum:
              - qcom,sc7280-crd
              - qcom,sc7280-idp
              - qcom,sc7280-idp2
              - google,hoglin
              - google,piglin
              - google,senor
          - const: qcom,sc7280

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

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

      - 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,ipq6018-cp01
              - qcom,ipq6018-cp01-c1
          - const: qcom,ipq6018

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

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

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

      - items:
          - enum:
              - qcom,qrb5165-rb5
              - qcom,sm8250-mtp
          - const: qcom,sm8250

      - items:
          - enum:
              - qcom,sm8350-hdk
              - qcom,sm8350-mtp
          - const: qcom,sm8350

      - items:
          - enum:
              - qcom,sm8450-hdk
              - qcom,sm8450-qrd
          - const: qcom,sm8450

additionalProperties: true

...
