1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/arm/qcom-soc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Qualcomm SoC compatibles naming convention
maintainers:
- Bjorn Andersson <andersson@kernel.org>
description: |
Guidelines for new compatibles for SoC blocks/components.
When adding new compatibles in new bindings, use the format:
qcom,SoC-IP
For example:
qcom,sdm845-llcc-bwmon
When adding new compatibles to existing bindings, use the format in the
existing binding, even if it contradicts the above.
select:
properties:
# Select all nodes which have SoC-based compatibles, but not the root
# "/" node, because its front compatibles do not follow any SoC patterns
$nodename:
pattern: "[^/]"
compatible:
contains:
oneOf:
- pattern: "^qcom,.*(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sar|sc|sd[amx]|sm|x1[ep])[0-9]+.*$"
- pattern: "^qcom,.*(eliza|kaanapali|glymur|hawi|mahua|maili|milos|nord|shikra).*$"
required:
- compatible
properties:
compatible:
contains:
anyOf:
# Preferred naming style for compatibles of SoC components:
- pattern: "^qcom,(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+(pro)?-.*$"
- pattern: "^qcom,sar[0-9]+[a-z]?-.*$"
- pattern: "^qcom,(sa|sc)8[0-9]+[a-z][a-z]?-.*$"
- pattern: "^qcom,(eliza|kaanapali|glymur|hawi|mahua|maili|milos|nord|shikra)-.+$"
# Legacy namings - variations of existing patterns/compatibles are OK,
# but do not add completely new entries to these:
- pattern: "^qcom,[ak]pss-wdt-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+.*$"
- pattern: "^qcom,apss-wdt-[a-z]+$" # Codenames variant
- pattern: "^qcom,kpss-gcc-(apq|ipq|mdm|msm)[0-9]+.*$"
- pattern: "^qcom,gcc-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$"
- pattern: "^qcom,mmcc-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$"
- pattern: "^qcom,pcie-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+.*$"
- pattern: "^qcom,rpm-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$"
- pattern: "^qcom,rpmcc-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$"
- pattern: "^qcom,rpm(cc)?-[a-z]+$" # Codenames variant
- pattern: "^qcom,scm-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sar?|sc|sd[amx]|sm|x1[ep])[0-9]+.*$"
- pattern: "^qcom,scm-[a-z]+$" # Codenames variant
- pattern: "^qcom,tcsr-(apq|ipq|mdm|msm)[0-9]+.*$"
- pattern: "^qcom,usb-hs-phy-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+.*$"
- enum:
- qcom,dsi-ctrl-6g-qcm2290
- qcom,gpucc-sdm630
- qcom,gpucc-sdm660
- qcom,lcc-apq8064
- qcom,lcc-ipq8064
- qcom,lcc-mdm9615
- qcom,lcc-msm8960
- qcom,lpass-cpu-apq8016
- qcom,usb-hs-ipq4019-phy
- qcom,usb-hsic-phy-mdm9615
- qcom,usb-hsic-phy-msm8974
- qcom,usb-ss-ipq4019-phy
- qcom,vqmmc-ipq4019-regulator
# Legacy compatibles with wild-cards - list cannot grow with new bindings:
- enum:
- qcom,ipq806x-ahci
- qcom,ipq806x-gmac
- qcom,ipq806x-nand
- qcom,ipq806x-sata-phy
- qcom,ipq806x-usb-phy-ss
- qcom,ipq806x-usb-phy-hs
# In general non-SoC Qualcomm devices do not need to be listed here,
# however in a few cases they got selected by patterns in "select":
- pattern: "^qcom,wsa[0-9]+$"
additionalProperties: true
|