1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/mailbox/qcom,apcs-kpss-global.yaml# 5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: Qualcomm APCS global block 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotdescription: 10c66ec88fSEmmanuel Vadot This binding describes the APCS "global" block found in various Qualcomm 11c66ec88fSEmmanuel Vadot platforms. 12c66ec88fSEmmanuel Vadot 13c66ec88fSEmmanuel Vadotmaintainers: 148cc087a1SEmmanuel Vadot - Jassi Brar <jassisinghbrar@gmail.com> 15c66ec88fSEmmanuel Vadot 16c66ec88fSEmmanuel Vadotproperties: 17c66ec88fSEmmanuel Vadot compatible: 18b97ee269SEmmanuel Vadot oneOf: 19b97ee269SEmmanuel Vadot - items: 20b97ee269SEmmanuel Vadot - enum: 21f126890aSEmmanuel Vadot - qcom,ipq5018-apcs-apps-global 22cb7aa33aSEmmanuel Vadot - qcom,ipq5332-apcs-apps-global 23fac71e4eSEmmanuel Vadot - qcom,ipq8074-apcs-apps-global 24fac71e4eSEmmanuel Vadot - qcom,ipq9574-apcs-apps-global 25cb7aa33aSEmmanuel Vadot - const: qcom,ipq6018-apcs-apps-global 26cb7aa33aSEmmanuel Vadot - items: 27cb7aa33aSEmmanuel Vadot - enum: 28*8d13bc63SEmmanuel Vadot - qcom,qcs404-apcs-apps-global 29*8d13bc63SEmmanuel Vadot - const: qcom,msm8916-apcs-kpss-global 30*8d13bc63SEmmanuel Vadot - const: syscon 31*8d13bc63SEmmanuel Vadot - items: 32*8d13bc63SEmmanuel Vadot - enum: 33*8d13bc63SEmmanuel Vadot - qcom,msm8976-apcs-kpss-global 34*8d13bc63SEmmanuel Vadot - const: qcom,msm8994-apcs-kpss-global 35*8d13bc63SEmmanuel Vadot - const: syscon 36*8d13bc63SEmmanuel Vadot - items: 37*8d13bc63SEmmanuel Vadot - enum: 38*8d13bc63SEmmanuel Vadot - qcom,msm8998-apcs-hmss-global 39*8d13bc63SEmmanuel Vadot - qcom,sdm660-apcs-hmss-global 40*8d13bc63SEmmanuel Vadot - qcom,sm4250-apcs-hmss-global 41*8d13bc63SEmmanuel Vadot - qcom,sm6115-apcs-hmss-global 42*8d13bc63SEmmanuel Vadot - qcom,sm6125-apcs-hmss-global 43*8d13bc63SEmmanuel Vadot - const: qcom,msm8994-apcs-kpss-global 44*8d13bc63SEmmanuel Vadot - items: 45*8d13bc63SEmmanuel Vadot - enum: 46c66ec88fSEmmanuel Vadot - qcom,sc7180-apss-shared 475def4c47SEmmanuel Vadot - qcom,sc8180x-apss-shared 48c66ec88fSEmmanuel Vadot - qcom,sm8150-apss-shared 49fac71e4eSEmmanuel Vadot - const: qcom,sdm845-apss-shared 50b97ee269SEmmanuel Vadot - items: 51b97ee269SEmmanuel Vadot - enum: 52b97ee269SEmmanuel Vadot - qcom,msm8916-apcs-kpss-global 53b97ee269SEmmanuel Vadot - qcom,msm8939-apcs-kpss-global 54b97ee269SEmmanuel Vadot - qcom,msm8953-apcs-kpss-global 55b97ee269SEmmanuel Vadot - qcom,msm8994-apcs-kpss-global 56cb7aa33aSEmmanuel Vadot - qcom,sdx55-apcs-gcc 57b97ee269SEmmanuel Vadot - const: syscon 58fac71e4eSEmmanuel Vadot - enum: 59fac71e4eSEmmanuel Vadot - qcom,ipq6018-apcs-apps-global 60fac71e4eSEmmanuel Vadot - qcom,msm8996-apcs-hmss-global 61fac71e4eSEmmanuel Vadot - qcom,qcm2290-apcs-hmss-global 62fac71e4eSEmmanuel Vadot - qcom,sdm845-apss-shared 63fac71e4eSEmmanuel Vadot 64c66ec88fSEmmanuel Vadot reg: 65c66ec88fSEmmanuel Vadot maxItems: 1 66c66ec88fSEmmanuel Vadot 67c66ec88fSEmmanuel Vadot clocks: 68c66ec88fSEmmanuel Vadot description: phandles to the parent clocks of the clock driver 695def4c47SEmmanuel Vadot minItems: 2 707ef62cebSEmmanuel Vadot maxItems: 3 71c66ec88fSEmmanuel Vadot 72c66ec88fSEmmanuel Vadot '#mbox-cells': 73c66ec88fSEmmanuel Vadot const: 1 74c66ec88fSEmmanuel Vadot 75c66ec88fSEmmanuel Vadot '#clock-cells': 767ef62cebSEmmanuel Vadot enum: [0, 1] 77c66ec88fSEmmanuel Vadot 78c66ec88fSEmmanuel Vadot clock-names: 795def4c47SEmmanuel Vadot minItems: 2 807ef62cebSEmmanuel Vadot maxItems: 3 81c66ec88fSEmmanuel Vadot 82c66ec88fSEmmanuel Vadotrequired: 83c66ec88fSEmmanuel Vadot - compatible 84c66ec88fSEmmanuel Vadot - reg 85c66ec88fSEmmanuel Vadot - '#mbox-cells' 86c66ec88fSEmmanuel Vadot 87c66ec88fSEmmanuel VadotadditionalProperties: false 88c66ec88fSEmmanuel Vadot 895def4c47SEmmanuel VadotallOf: 905def4c47SEmmanuel Vadot - if: 915def4c47SEmmanuel Vadot properties: 925def4c47SEmmanuel Vadot compatible: 93*8d13bc63SEmmanuel Vadot contains: 945def4c47SEmmanuel Vadot enum: 955def4c47SEmmanuel Vadot - qcom,msm8916-apcs-kpss-global 965def4c47SEmmanuel Vadot then: 975def4c47SEmmanuel Vadot properties: 985def4c47SEmmanuel Vadot clocks: 997ef62cebSEmmanuel Vadot items: 1007ef62cebSEmmanuel Vadot - description: primary pll parent of the clock driver 1017ef62cebSEmmanuel Vadot - description: auxiliary parent 1027ef62cebSEmmanuel Vadot clock-names: 1037ef62cebSEmmanuel Vadot items: 1047ef62cebSEmmanuel Vadot - const: pll 1057ef62cebSEmmanuel Vadot - const: aux 106fac71e4eSEmmanuel Vadot 1075def4c47SEmmanuel Vadot - if: 1085def4c47SEmmanuel Vadot properties: 1095def4c47SEmmanuel Vadot compatible: 110fac71e4eSEmmanuel Vadot contains: 1115def4c47SEmmanuel Vadot enum: 112*8d13bc63SEmmanuel Vadot - qcom,msm8939-apcs-kpss-global 113*8d13bc63SEmmanuel Vadot then: 114*8d13bc63SEmmanuel Vadot properties: 115*8d13bc63SEmmanuel Vadot clocks: 116*8d13bc63SEmmanuel Vadot items: 117*8d13bc63SEmmanuel Vadot - description: primary pll parent of the clock driver 118*8d13bc63SEmmanuel Vadot - description: auxiliary parent 119*8d13bc63SEmmanuel Vadot - description: reference clock 120*8d13bc63SEmmanuel Vadot clock-names: 121*8d13bc63SEmmanuel Vadot items: 122*8d13bc63SEmmanuel Vadot - const: pll 123*8d13bc63SEmmanuel Vadot - const: aux 124*8d13bc63SEmmanuel Vadot - const: ref 125*8d13bc63SEmmanuel Vadot 126*8d13bc63SEmmanuel Vadot - if: 127*8d13bc63SEmmanuel Vadot properties: 128*8d13bc63SEmmanuel Vadot compatible: 129*8d13bc63SEmmanuel Vadot contains: 130*8d13bc63SEmmanuel Vadot enum: 1315def4c47SEmmanuel Vadot - qcom,sdx55-apcs-gcc 1325def4c47SEmmanuel Vadot then: 1335def4c47SEmmanuel Vadot properties: 1345def4c47SEmmanuel Vadot clocks: 1357ef62cebSEmmanuel Vadot items: 136fac71e4eSEmmanuel Vadot - description: reference clock 1377ef62cebSEmmanuel Vadot - description: primary pll parent of the clock driver 1387ef62cebSEmmanuel Vadot - description: auxiliary parent 1397ef62cebSEmmanuel Vadot clock-names: 1407ef62cebSEmmanuel Vadot items: 141fac71e4eSEmmanuel Vadot - const: ref 1427ef62cebSEmmanuel Vadot - const: pll 1437ef62cebSEmmanuel Vadot - const: aux 144*8d13bc63SEmmanuel Vadot 1457ef62cebSEmmanuel Vadot - if: 1467ef62cebSEmmanuel Vadot properties: 1477ef62cebSEmmanuel Vadot compatible: 148cb7aa33aSEmmanuel Vadot contains: 1497ef62cebSEmmanuel Vadot enum: 1507ef62cebSEmmanuel Vadot - qcom,ipq6018-apcs-apps-global 1517ef62cebSEmmanuel Vadot then: 1527ef62cebSEmmanuel Vadot properties: 1537ef62cebSEmmanuel Vadot clocks: 1547ef62cebSEmmanuel Vadot items: 1557ef62cebSEmmanuel Vadot - description: primary pll parent of the clock driver 1567ef62cebSEmmanuel Vadot - description: XO clock 15784943d6fSEmmanuel Vadot - description: GCC GPLL0 clock source 1587ef62cebSEmmanuel Vadot clock-names: 1597ef62cebSEmmanuel Vadot items: 1607ef62cebSEmmanuel Vadot - const: pll 1617ef62cebSEmmanuel Vadot - const: xo 16284943d6fSEmmanuel Vadot - const: gpll0 163cb7aa33aSEmmanuel Vadot 1647ef62cebSEmmanuel Vadot - if: 1657ef62cebSEmmanuel Vadot properties: 1667ef62cebSEmmanuel Vadot compatible: 1677ef62cebSEmmanuel Vadot enum: 168cb7aa33aSEmmanuel Vadot - qcom,msm8953-apcs-kpss-global 169cb7aa33aSEmmanuel Vadot - qcom,msm8994-apcs-kpss-global 170cb7aa33aSEmmanuel Vadot - qcom,msm8996-apcs-hmss-global 171cb7aa33aSEmmanuel Vadot - qcom,qcm2290-apcs-hmss-global 172cb7aa33aSEmmanuel Vadot - qcom,sdm845-apss-shared 173cb7aa33aSEmmanuel Vadot then: 174cb7aa33aSEmmanuel Vadot properties: 175cb7aa33aSEmmanuel Vadot clocks: false 176cb7aa33aSEmmanuel Vadot clock-names: false 177cb7aa33aSEmmanuel Vadot 178cb7aa33aSEmmanuel Vadot - if: 179cb7aa33aSEmmanuel Vadot properties: 180cb7aa33aSEmmanuel Vadot compatible: 181cb7aa33aSEmmanuel Vadot contains: 182cb7aa33aSEmmanuel Vadot enum: 1837ef62cebSEmmanuel Vadot - qcom,ipq6018-apcs-apps-global 1847ef62cebSEmmanuel Vadot then: 1857ef62cebSEmmanuel Vadot properties: 1867ef62cebSEmmanuel Vadot '#clock-cells': 1877ef62cebSEmmanuel Vadot const: 1 1887ef62cebSEmmanuel Vadot else: 1897ef62cebSEmmanuel Vadot properties: 1907ef62cebSEmmanuel Vadot '#clock-cells': 1917ef62cebSEmmanuel Vadot const: 0 1927ef62cebSEmmanuel Vadot 193c66ec88fSEmmanuel Vadotexamples: 194c66ec88fSEmmanuel Vadot 195c66ec88fSEmmanuel Vadot # Example apcs with msm8996 196c66ec88fSEmmanuel Vadot - | 197c66ec88fSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 198c66ec88fSEmmanuel Vadot apcs_glb: mailbox@9820000 { 199c66ec88fSEmmanuel Vadot compatible = "qcom,msm8996-apcs-hmss-global"; 200c66ec88fSEmmanuel Vadot reg = <0x9820000 0x1000>; 201c66ec88fSEmmanuel Vadot 202c66ec88fSEmmanuel Vadot #mbox-cells = <1>; 203cb7aa33aSEmmanuel Vadot #clock-cells = <0>; 204c66ec88fSEmmanuel Vadot }; 205c66ec88fSEmmanuel Vadot 206c66ec88fSEmmanuel Vadot rpm-glink { 207c66ec88fSEmmanuel Vadot compatible = "qcom,glink-rpm"; 208c66ec88fSEmmanuel Vadot interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 209c66ec88fSEmmanuel Vadot qcom,rpm-msg-ram = <&rpm_msg_ram>; 210c66ec88fSEmmanuel Vadot mboxes = <&apcs_glb 0>; 211c66ec88fSEmmanuel Vadot }; 212c66ec88fSEmmanuel Vadot 213c66ec88fSEmmanuel Vadot # Example apcs with qcs404 214c66ec88fSEmmanuel Vadot - | 215c66ec88fSEmmanuel Vadot #define GCC_APSS_AHB_CLK_SRC 1 216c66ec88fSEmmanuel Vadot #define GCC_GPLL0_AO_OUT_MAIN 123 217c66ec88fSEmmanuel Vadot apcs: mailbox@b011000 { 218*8d13bc63SEmmanuel Vadot compatible = "qcom,qcs404-apcs-apps-global", 219*8d13bc63SEmmanuel Vadot "qcom,msm8916-apcs-kpss-global", "syscon"; 220c66ec88fSEmmanuel Vadot reg = <0x0b011000 0x1000>; 221c66ec88fSEmmanuel Vadot #mbox-cells = <1>; 222c66ec88fSEmmanuel Vadot clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>; 223c66ec88fSEmmanuel Vadot clock-names = "pll", "aux"; 224c66ec88fSEmmanuel Vadot #clock-cells = <0>; 225c66ec88fSEmmanuel Vadot }; 226