1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/arm/qcom-soc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm SoC compatibles naming convention
8
9maintainers:
10  - Bjorn Andersson <[email protected]>
11
12description: |
13  Guidelines for new compatibles for SoC blocks/components.
14  When adding new compatibles in new bindings, use the format::
15    qcom,SoC-IP
16
17  For example::
18   qcom,sdm845-llcc-bwmon
19
20  When adding new compatibles to existing bindings, use the format in the
21  existing binding, even if it contradicts the above.
22
23select:
24  properties:
25    compatible:
26      pattern: "^qcom,.*(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sar|sc|sd[amx]|sm|x1[ep])[0-9]+.*$"
27  required:
28    - compatible
29
30properties:
31  compatible:
32    oneOf:
33      # Preferred naming style for compatibles of SoC components:
34      - pattern: "^qcom,(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+(pro)?-.*$"
35      - pattern: "^qcom,sar[0-9]+[a-z]?-.*$"
36      - pattern: "^qcom,(sa|sc)8[0-9]+[a-z][a-z]?-.*$"
37
38      # Legacy namings - variations of existing patterns/compatibles are OK,
39      # but do not add completely new entries to these:
40      - pattern: "^qcom,[ak]pss-wdt-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$"
41      - pattern: "^qcom,gcc-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$"
42      - pattern: "^qcom,mmcc-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$"
43      - pattern: "^qcom,pcie-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+.*$"
44      - pattern: "^qcom,rpm-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$"
45      - pattern: "^qcom,scm-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+.*$"
46      - enum:
47          - qcom,dsi-ctrl-6g-qcm2290
48          - qcom,gpucc-sdm630
49          - qcom,gpucc-sdm660
50          - qcom,lcc-apq8064
51          - qcom,lcc-ipq8064
52          - qcom,lcc-mdm9615
53          - qcom,lcc-msm8960
54          - qcom,lpass-cpu-apq8016
55          - qcom,usb-ss-ipq4019-phy
56          - qcom,usb-hs-ipq4019-phy
57          - qcom,vqmmc-ipq4019-regulator
58
59      # Legacy compatibles with wild-cards - list cannot grow with new bindings:
60      - enum:
61          - qcom,ipq806x-gmac
62          - qcom,ipq806x-nand
63          - qcom,ipq806x-sata-phy
64          - qcom,ipq806x-usb-phy-ss
65          - qcom,ipq806x-usb-phy-hs
66
67additionalProperties: true
68