GNU Linux-libre 6.8.9-gnu
[releases.git] / Documentation / devicetree / bindings / arm / qcom-soc.yaml
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
7 title: Qualcomm SoC compatibles naming convention
8
9 maintainers:
10   - Bjorn Andersson <andersson@kernel.org>
11
12 description: |
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
23 select:
24   properties:
25     compatible:
26       pattern: "^qcom,.*(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1e)[0-9]+.*$"
27   required:
28     - compatible
29
30 properties:
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|x1e)[0-9]+(pro)?-.*$"
35       - pattern: "^qcom,(sa|sc)8[0-9]+[a-z][a-z]?-.*$"
36
37       # Legacy namings - variations of existing patterns/compatibles are OK,
38       # but do not add completely new entries to these:
39       - pattern: "^qcom,[ak]pss-wdt-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$"
40       - pattern: "^qcom,gcc-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$"
41       - pattern: "^qcom,mmcc-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$"
42       - pattern: "^qcom,pcie-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1e)[0-9]+.*$"
43       - pattern: "^qcom,rpm-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$"
44       - pattern: "^qcom,scm-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1e)[0-9]+.*$"
45       - enum:
46           - qcom,dsi-ctrl-6g-qcm2290
47           - qcom,gpucc-sdm630
48           - qcom,gpucc-sdm660
49           - qcom,lcc-apq8064
50           - qcom,lcc-ipq8064
51           - qcom,lcc-mdm9615
52           - qcom,lcc-msm8960
53           - qcom,lpass-cpu-apq8016
54           - qcom,usb-ss-ipq4019-phy
55           - qcom,usb-hs-ipq4019-phy
56           - qcom,vqmmc-ipq4019-regulator
57
58       # Legacy compatibles with wild-cards - list cannot grow with new bindings:
59       - enum:
60           - qcom,ipq806x-gmac
61           - qcom,ipq806x-nand
62           - qcom,ipq806x-sata-phy
63           - qcom,ipq806x-usb-phy-ss
64           - qcom,ipq806x-usb-phy-hs
65
66 additionalProperties: true