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 <andersson@kernel.org> 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 # Select all nodes which have SoC-based compatibles, but not the root 26 # "/" node, because its front compatibles do not follow any SoC patterns 27 $nodename: 28 pattern: "[^/]" 29 compatible: 30 contains: 31 oneOf: 32 - pattern: "^qcom,.*(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sar|sc|sd[amx]|sm|x1[ep])[0-9]+.*$" 33 - pattern: "^qcom,.*(eliza|kaanapali|glymur|hawi|mahua|maili|milos|nord|shikra).*$" 34 required: 35 - compatible 36 37properties: 38 compatible: 39 contains: 40 anyOf: 41 # Preferred naming style for compatibles of SoC components: 42 - pattern: "^qcom,(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+(pro)?-.*$" 43 - pattern: "^qcom,sar[0-9]+[a-z]?-.*$" 44 - pattern: "^qcom,(sa|sc)8[0-9]+[a-z][a-z]?-.*$" 45 - pattern: "^qcom,(eliza|kaanapali|glymur|hawi|mahua|maili|milos|nord|shikra)-.+$" 46 47 # Legacy namings - variations of existing patterns/compatibles are OK, 48 # but do not add completely new entries to these: 49 - pattern: "^qcom,[ak]pss-wdt-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+.*$" 50 - pattern: "^qcom,apss-wdt-[a-z]+$" # Codenames variant 51 - pattern: "^qcom,kpss-gcc-(apq|ipq|mdm|msm)[0-9]+.*$" 52 - pattern: "^qcom,gcc-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$" 53 - pattern: "^qcom,mmcc-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$" 54 - pattern: "^qcom,pcie-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+.*$" 55 - pattern: "^qcom,rpm-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$" 56 - pattern: "^qcom,rpmcc-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm)[0-9]+.*$" 57 - pattern: "^qcom,rpm(cc)?-[a-z]+$" # Codenames variant 58 - pattern: "^qcom,scm-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sar?|sc|sd[amx]|sm|x1[ep])[0-9]+.*$" 59 - pattern: "^qcom,scm-[a-z]+$" # Codenames variant 60 - pattern: "^qcom,tcsr-(apq|ipq|mdm|msm)[0-9]+.*$" 61 - pattern: "^qcom,usb-hs-phy-(apq|ipq|mdm|msm|qcm|qcs|q[dr]u|sa|sc|sd[amx]|sm|x1[ep])[0-9]+.*$" 62 - enum: 63 - qcom,dsi-ctrl-6g-qcm2290 64 - qcom,gpucc-sdm630 65 - qcom,gpucc-sdm660 66 - qcom,lcc-apq8064 67 - qcom,lcc-ipq8064 68 - qcom,lcc-mdm9615 69 - qcom,lcc-msm8960 70 - qcom,lpass-cpu-apq8016 71 - qcom,usb-hs-ipq4019-phy 72 - qcom,usb-hsic-phy-mdm9615 73 - qcom,usb-hsic-phy-msm8974 74 - qcom,usb-ss-ipq4019-phy 75 - qcom,vqmmc-ipq4019-regulator 76 77 # Legacy compatibles with wild-cards - list cannot grow with new bindings: 78 - enum: 79 - qcom,ipq806x-ahci 80 - qcom,ipq806x-gmac 81 - qcom,ipq806x-nand 82 - qcom,ipq806x-sata-phy 83 - qcom,ipq806x-usb-phy-ss 84 - qcom,ipq806x-usb-phy-hs 85 86 # In general non-SoC Qualcomm devices do not need to be listed here, 87 # however in a few cases they got selected by patterns in "select": 88 - pattern: "^qcom,wsa[0-9]+$" 89 90additionalProperties: true 91