227 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---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 block8 9description:10 This binding describes the APCS "global" block found in various Qualcomm11 platforms.12 13maintainers:14 - Jassi Brar <jassisinghbrar@gmail.com>15 16properties:17 compatible:18 oneOf:19 - items:20 - enum:21 - qcom,ipq5018-apcs-apps-global22 - qcom,ipq5332-apcs-apps-global23 - qcom,ipq8074-apcs-apps-global24 - qcom,ipq9574-apcs-apps-global25 - const: qcom,ipq6018-apcs-apps-global26 - items:27 - enum:28 - qcom,qcs404-apcs-apps-global29 - const: qcom,msm8916-apcs-kpss-global30 - const: syscon31 - items:32 - enum:33 - qcom,msm8974-apcs-kpss-global34 - qcom,msm8976-apcs-kpss-global35 - const: qcom,msm8994-apcs-kpss-global36 - const: syscon37 - items:38 - enum:39 - qcom,msm8998-apcs-hmss-global40 - qcom,sdm660-apcs-hmss-global41 - qcom,sm4250-apcs-hmss-global42 - qcom,sm6115-apcs-hmss-global43 - qcom,sm6125-apcs-hmss-global44 - const: qcom,msm8994-apcs-kpss-global45 - items:46 - enum:47 - qcom,sc7180-apss-shared48 - qcom,sc8180x-apss-shared49 - qcom,sm8150-apss-shared50 - const: qcom,sdm845-apss-shared51 - items:52 - enum:53 - qcom,msm8916-apcs-kpss-global54 - qcom,msm8939-apcs-kpss-global55 - qcom,msm8953-apcs-kpss-global56 - qcom,msm8994-apcs-kpss-global57 - qcom,sdx55-apcs-gcc58 - const: syscon59 - enum:60 - qcom,ipq6018-apcs-apps-global61 - qcom,msm8996-apcs-hmss-global62 - qcom,qcm2290-apcs-hmss-global63 - qcom,sdm845-apss-shared64 65 reg:66 maxItems: 167 68 clocks:69 description: phandles to the parent clocks of the clock driver70 minItems: 271 maxItems: 372 73 '#mbox-cells':74 const: 175 76 '#clock-cells':77 enum: [0, 1]78 79 clock-names:80 minItems: 281 maxItems: 382 83required:84 - compatible85 - reg86 - '#mbox-cells'87 88additionalProperties: false89 90allOf:91 - if:92 properties:93 compatible:94 contains:95 enum:96 - qcom,msm8916-apcs-kpss-global97 then:98 properties:99 clocks:100 items:101 - description: primary pll parent of the clock driver102 - description: auxiliary parent103 clock-names:104 items:105 - const: pll106 - const: aux107 108 - if:109 properties:110 compatible:111 contains:112 enum:113 - qcom,msm8939-apcs-kpss-global114 then:115 properties:116 clocks:117 items:118 - description: primary pll parent of the clock driver119 - description: auxiliary parent120 - description: reference clock121 clock-names:122 items:123 - const: pll124 - const: aux125 - const: ref126 127 - if:128 properties:129 compatible:130 contains:131 enum:132 - qcom,sdx55-apcs-gcc133 then:134 properties:135 clocks:136 items:137 - description: reference clock138 - description: primary pll parent of the clock driver139 - description: auxiliary parent140 clock-names:141 items:142 - const: ref143 - const: pll144 - const: aux145 146 - if:147 properties:148 compatible:149 contains:150 enum:151 - qcom,ipq6018-apcs-apps-global152 then:153 properties:154 clocks:155 items:156 - description: primary pll parent of the clock driver157 - description: XO clock158 - description: GCC GPLL0 clock source159 clock-names:160 items:161 - const: pll162 - const: xo163 - const: gpll0164 165 - if:166 properties:167 compatible:168 enum:169 - qcom,msm8953-apcs-kpss-global170 - qcom,msm8994-apcs-kpss-global171 - qcom,msm8996-apcs-hmss-global172 - qcom,qcm2290-apcs-hmss-global173 - qcom,sdm845-apss-shared174 then:175 properties:176 clocks: false177 clock-names: false178 179 - if:180 properties:181 compatible:182 contains:183 enum:184 - qcom,ipq6018-apcs-apps-global185 then:186 properties:187 '#clock-cells':188 const: 1189 else:190 properties:191 '#clock-cells':192 const: 0193 194examples:195 196 # Example apcs with msm8996197 - |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 qcs404215 - |216 #define GCC_APSS_AHB_CLK_SRC 1217 #define GCC_GPLL0_AO_OUT_MAIN 123218 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