1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/mailbox/qcom,apcs-kpss-global.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm APCS global block 8 9description: 10 This binding describes the APCS "global" block found in various Qualcomm 11 platforms. 12 13maintainers: 14 - Jassi Brar <[email protected]> 15 16properties: 17 compatible: 18 oneOf: 19 - items: 20 - enum: 21 - qcom,ipq5018-apcs-apps-global 22 - qcom,ipq5332-apcs-apps-global 23 - qcom,ipq5424-apcs-apps-global 24 - qcom,ipq8074-apcs-apps-global 25 - qcom,ipq9574-apcs-apps-global 26 - const: qcom,ipq6018-apcs-apps-global 27 - items: 28 - enum: 29 - qcom,qcs404-apcs-apps-global 30 - const: qcom,msm8916-apcs-kpss-global 31 - const: syscon 32 - items: 33 - enum: 34 - qcom,msm8974-apcs-kpss-global 35 - qcom,msm8976-apcs-kpss-global 36 - const: qcom,msm8994-apcs-kpss-global 37 - const: syscon 38 - items: 39 - enum: 40 - qcom,msm8998-apcs-hmss-global 41 - qcom,sdm660-apcs-hmss-global 42 - qcom,sm4250-apcs-hmss-global 43 - qcom,sm6115-apcs-hmss-global 44 - qcom,sm6125-apcs-hmss-global 45 - const: qcom,msm8994-apcs-kpss-global 46 - items: 47 - enum: 48 - qcom,qcs615-apss-shared 49 - qcom,sc7180-apss-shared 50 - qcom,sc8180x-apss-shared 51 - qcom,sm8150-apss-shared 52 - const: qcom,sdm845-apss-shared 53 - items: 54 - enum: 55 - qcom,msm8916-apcs-kpss-global 56 - qcom,msm8939-apcs-kpss-global 57 - qcom,msm8953-apcs-kpss-global 58 - qcom,msm8994-apcs-kpss-global 59 - qcom,sdx55-apcs-gcc 60 - const: syscon 61 - enum: 62 - qcom,ipq6018-apcs-apps-global 63 - qcom,msm8996-apcs-hmss-global 64 - qcom,qcm2290-apcs-hmss-global 65 - qcom,sdm845-apss-shared 66 67 reg: 68 maxItems: 1 69 70 clocks: 71 description: phandles to the parent clocks of the clock driver 72 minItems: 2 73 maxItems: 3 74 75 '#mbox-cells': 76 const: 1 77 78 '#clock-cells': 79 enum: [0, 1] 80 81 clock-names: 82 minItems: 2 83 maxItems: 3 84 85required: 86 - compatible 87 - reg 88 - '#mbox-cells' 89 90additionalProperties: false 91 92allOf: 93 - if: 94 properties: 95 compatible: 96 contains: 97 enum: 98 - qcom,msm8916-apcs-kpss-global 99 then: 100 properties: 101 clocks: 102 items: 103 - description: primary pll parent of the clock driver 104 - description: auxiliary parent 105 clock-names: 106 items: 107 - const: pll 108 - const: aux 109 110 - if: 111 properties: 112 compatible: 113 contains: 114 enum: 115 - qcom,msm8939-apcs-kpss-global 116 then: 117 properties: 118 clocks: 119 items: 120 - description: primary pll parent of the clock driver 121 - description: auxiliary parent 122 - description: reference clock 123 clock-names: 124 items: 125 - const: pll 126 - const: aux 127 - const: ref 128 129 - if: 130 properties: 131 compatible: 132 contains: 133 enum: 134 - qcom,sdx55-apcs-gcc 135 then: 136 properties: 137 clocks: 138 items: 139 - description: reference clock 140 - description: primary pll parent of the clock driver 141 - description: auxiliary parent 142 clock-names: 143 items: 144 - const: ref 145 - const: pll 146 - const: aux 147 148 - if: 149 properties: 150 compatible: 151 contains: 152 enum: 153 - qcom,ipq6018-apcs-apps-global 154 then: 155 properties: 156 clocks: 157 items: 158 - description: primary pll parent of the clock driver 159 - description: XO clock 160 - description: GCC GPLL0 clock source 161 clock-names: 162 items: 163 - const: pll 164 - const: xo 165 - const: gpll0 166 167 - if: 168 properties: 169 compatible: 170 contains: 171 enum: 172 - qcom,msm8953-apcs-kpss-global 173 - qcom,msm8994-apcs-kpss-global 174 - qcom,msm8996-apcs-hmss-global 175 - qcom,qcm2290-apcs-hmss-global 176 - qcom,sdm845-apss-shared 177 then: 178 properties: 179 clocks: false 180 clock-names: false 181 182 - if: 183 properties: 184 compatible: 185 contains: 186 enum: 187 - qcom,ipq6018-apcs-apps-global 188 then: 189 properties: 190 '#clock-cells': 191 const: 1 192 else: 193 properties: 194 '#clock-cells': 195 const: 0 196 197examples: 198 199 # Example apcs with msm8996 200 - | 201 #include <dt-bindings/interrupt-controller/arm-gic.h> 202 apcs_glb: mailbox@9820000 { 203 compatible = "qcom,msm8996-apcs-hmss-global"; 204 reg = <0x9820000 0x1000>; 205 206 #mbox-cells = <1>; 207 #clock-cells = <0>; 208 }; 209 210 rpm-glink { 211 compatible = "qcom,glink-rpm"; 212 interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 213 qcom,rpm-msg-ram = <&rpm_msg_ram>; 214 mboxes = <&apcs_glb 0>; 215 }; 216 217 # Example apcs with qcs404 218 - | 219 #define GCC_APSS_AHB_CLK_SRC 1 220 #define GCC_GPLL0_AO_OUT_MAIN 123 221 apcs: mailbox@b011000 { 222 compatible = "qcom,qcs404-apcs-apps-global", 223 "qcom,msm8916-apcs-kpss-global", "syscon"; 224 reg = <0x0b011000 0x1000>; 225 #mbox-cells = <1>; 226 clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>; 227 clock-names = "pll", "aux"; 228 #clock-cells = <0>; 229 }; 230