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