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