162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/mailbox/qcom,apcs-kpss-global.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Qualcomm APCS global block 862306a36Sopenharmony_ci 962306a36Sopenharmony_cidescription: 1062306a36Sopenharmony_ci This binding describes the APCS "global" block found in various Qualcomm 1162306a36Sopenharmony_ci platforms. 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_cimaintainers: 1462306a36Sopenharmony_ci - Jassi Brar <jassisinghbrar@gmail.com> 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciproperties: 1762306a36Sopenharmony_ci compatible: 1862306a36Sopenharmony_ci oneOf: 1962306a36Sopenharmony_ci - items: 2062306a36Sopenharmony_ci - enum: 2162306a36Sopenharmony_ci - qcom,ipq5018-apcs-apps-global 2262306a36Sopenharmony_ci - qcom,ipq5332-apcs-apps-global 2362306a36Sopenharmony_ci - qcom,ipq8074-apcs-apps-global 2462306a36Sopenharmony_ci - qcom,ipq9574-apcs-apps-global 2562306a36Sopenharmony_ci - const: qcom,ipq6018-apcs-apps-global 2662306a36Sopenharmony_ci - items: 2762306a36Sopenharmony_ci - enum: 2862306a36Sopenharmony_ci - qcom,sc7180-apss-shared 2962306a36Sopenharmony_ci - qcom,sc8180x-apss-shared 3062306a36Sopenharmony_ci - qcom,sm8150-apss-shared 3162306a36Sopenharmony_ci - const: qcom,sdm845-apss-shared 3262306a36Sopenharmony_ci - items: 3362306a36Sopenharmony_ci - enum: 3462306a36Sopenharmony_ci - qcom,msm8916-apcs-kpss-global 3562306a36Sopenharmony_ci - qcom,msm8939-apcs-kpss-global 3662306a36Sopenharmony_ci - qcom,msm8953-apcs-kpss-global 3762306a36Sopenharmony_ci - qcom,msm8976-apcs-kpss-global 3862306a36Sopenharmony_ci - qcom,msm8994-apcs-kpss-global 3962306a36Sopenharmony_ci - qcom,qcs404-apcs-apps-global 4062306a36Sopenharmony_ci - qcom,sdx55-apcs-gcc 4162306a36Sopenharmony_ci - const: syscon 4262306a36Sopenharmony_ci - enum: 4362306a36Sopenharmony_ci - qcom,ipq6018-apcs-apps-global 4462306a36Sopenharmony_ci - qcom,ipq8074-apcs-apps-global 4562306a36Sopenharmony_ci - qcom,msm8996-apcs-hmss-global 4662306a36Sopenharmony_ci - qcom,msm8998-apcs-hmss-global 4762306a36Sopenharmony_ci - qcom,qcm2290-apcs-hmss-global 4862306a36Sopenharmony_ci - qcom,sdm660-apcs-hmss-global 4962306a36Sopenharmony_ci - qcom,sdm845-apss-shared 5062306a36Sopenharmony_ci - qcom,sm4250-apcs-hmss-global 5162306a36Sopenharmony_ci - qcom,sm6115-apcs-hmss-global 5262306a36Sopenharmony_ci - qcom,sm6125-apcs-hmss-global 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci reg: 5562306a36Sopenharmony_ci maxItems: 1 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci clocks: 5862306a36Sopenharmony_ci description: phandles to the parent clocks of the clock driver 5962306a36Sopenharmony_ci minItems: 2 6062306a36Sopenharmony_ci maxItems: 3 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci '#mbox-cells': 6362306a36Sopenharmony_ci const: 1 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci '#clock-cells': 6662306a36Sopenharmony_ci enum: [0, 1] 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ci clock-names: 6962306a36Sopenharmony_ci minItems: 2 7062306a36Sopenharmony_ci maxItems: 3 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_cirequired: 7362306a36Sopenharmony_ci - compatible 7462306a36Sopenharmony_ci - reg 7562306a36Sopenharmony_ci - '#mbox-cells' 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ciadditionalProperties: false 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ciallOf: 8062306a36Sopenharmony_ci - if: 8162306a36Sopenharmony_ci properties: 8262306a36Sopenharmony_ci compatible: 8362306a36Sopenharmony_ci enum: 8462306a36Sopenharmony_ci - qcom,msm8916-apcs-kpss-global 8562306a36Sopenharmony_ci - qcom,msm8939-apcs-kpss-global 8662306a36Sopenharmony_ci - qcom,qcs404-apcs-apps-global 8762306a36Sopenharmony_ci then: 8862306a36Sopenharmony_ci properties: 8962306a36Sopenharmony_ci clocks: 9062306a36Sopenharmony_ci items: 9162306a36Sopenharmony_ci - description: primary pll parent of the clock driver 9262306a36Sopenharmony_ci - description: auxiliary parent 9362306a36Sopenharmony_ci clock-names: 9462306a36Sopenharmony_ci items: 9562306a36Sopenharmony_ci - const: pll 9662306a36Sopenharmony_ci - const: aux 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ci - if: 9962306a36Sopenharmony_ci properties: 10062306a36Sopenharmony_ci compatible: 10162306a36Sopenharmony_ci contains: 10262306a36Sopenharmony_ci enum: 10362306a36Sopenharmony_ci - qcom,sdx55-apcs-gcc 10462306a36Sopenharmony_ci then: 10562306a36Sopenharmony_ci properties: 10662306a36Sopenharmony_ci clocks: 10762306a36Sopenharmony_ci items: 10862306a36Sopenharmony_ci - description: reference clock 10962306a36Sopenharmony_ci - description: primary pll parent of the clock driver 11062306a36Sopenharmony_ci - description: auxiliary parent 11162306a36Sopenharmony_ci clock-names: 11262306a36Sopenharmony_ci items: 11362306a36Sopenharmony_ci - const: ref 11462306a36Sopenharmony_ci - const: pll 11562306a36Sopenharmony_ci - const: aux 11662306a36Sopenharmony_ci - if: 11762306a36Sopenharmony_ci properties: 11862306a36Sopenharmony_ci compatible: 11962306a36Sopenharmony_ci contains: 12062306a36Sopenharmony_ci enum: 12162306a36Sopenharmony_ci - qcom,ipq6018-apcs-apps-global 12262306a36Sopenharmony_ci then: 12362306a36Sopenharmony_ci properties: 12462306a36Sopenharmony_ci clocks: 12562306a36Sopenharmony_ci items: 12662306a36Sopenharmony_ci - description: primary pll parent of the clock driver 12762306a36Sopenharmony_ci - description: XO clock 12862306a36Sopenharmony_ci clock-names: 12962306a36Sopenharmony_ci items: 13062306a36Sopenharmony_ci - const: pll 13162306a36Sopenharmony_ci - const: xo 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci - if: 13462306a36Sopenharmony_ci properties: 13562306a36Sopenharmony_ci compatible: 13662306a36Sopenharmony_ci enum: 13762306a36Sopenharmony_ci - qcom,msm8953-apcs-kpss-global 13862306a36Sopenharmony_ci - qcom,msm8976-apcs-kpss-global 13962306a36Sopenharmony_ci - qcom,msm8994-apcs-kpss-global 14062306a36Sopenharmony_ci - qcom,msm8996-apcs-hmss-global 14162306a36Sopenharmony_ci - qcom,msm8998-apcs-hmss-global 14262306a36Sopenharmony_ci - qcom,qcm2290-apcs-hmss-global 14362306a36Sopenharmony_ci - qcom,sdm660-apcs-hmss-global 14462306a36Sopenharmony_ci - qcom,sdm845-apss-shared 14562306a36Sopenharmony_ci - qcom,sm4250-apcs-hmss-global 14662306a36Sopenharmony_ci - qcom,sm6115-apcs-hmss-global 14762306a36Sopenharmony_ci - qcom,sm6125-apcs-hmss-global 14862306a36Sopenharmony_ci then: 14962306a36Sopenharmony_ci properties: 15062306a36Sopenharmony_ci clocks: false 15162306a36Sopenharmony_ci clock-names: false 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci - if: 15462306a36Sopenharmony_ci properties: 15562306a36Sopenharmony_ci compatible: 15662306a36Sopenharmony_ci contains: 15762306a36Sopenharmony_ci enum: 15862306a36Sopenharmony_ci - qcom,ipq6018-apcs-apps-global 15962306a36Sopenharmony_ci then: 16062306a36Sopenharmony_ci properties: 16162306a36Sopenharmony_ci '#clock-cells': 16262306a36Sopenharmony_ci const: 1 16362306a36Sopenharmony_ci else: 16462306a36Sopenharmony_ci properties: 16562306a36Sopenharmony_ci '#clock-cells': 16662306a36Sopenharmony_ci const: 0 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ciexamples: 16962306a36Sopenharmony_ci 17062306a36Sopenharmony_ci # Example apcs with msm8996 17162306a36Sopenharmony_ci - | 17262306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/arm-gic.h> 17362306a36Sopenharmony_ci apcs_glb: mailbox@9820000 { 17462306a36Sopenharmony_ci compatible = "qcom,msm8996-apcs-hmss-global"; 17562306a36Sopenharmony_ci reg = <0x9820000 0x1000>; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci #mbox-cells = <1>; 17862306a36Sopenharmony_ci #clock-cells = <0>; 17962306a36Sopenharmony_ci }; 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci rpm-glink { 18262306a36Sopenharmony_ci compatible = "qcom,glink-rpm"; 18362306a36Sopenharmony_ci interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 18462306a36Sopenharmony_ci qcom,rpm-msg-ram = <&rpm_msg_ram>; 18562306a36Sopenharmony_ci mboxes = <&apcs_glb 0>; 18662306a36Sopenharmony_ci }; 18762306a36Sopenharmony_ci 18862306a36Sopenharmony_ci # Example apcs with qcs404 18962306a36Sopenharmony_ci - | 19062306a36Sopenharmony_ci #define GCC_APSS_AHB_CLK_SRC 1 19162306a36Sopenharmony_ci #define GCC_GPLL0_AO_OUT_MAIN 123 19262306a36Sopenharmony_ci apcs: mailbox@b011000 { 19362306a36Sopenharmony_ci compatible = "qcom,qcs404-apcs-apps-global", "syscon"; 19462306a36Sopenharmony_ci reg = <0x0b011000 0x1000>; 19562306a36Sopenharmony_ci #mbox-cells = <1>; 19662306a36Sopenharmony_ci clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>; 19762306a36Sopenharmony_ci clock-names = "pll", "aux"; 19862306a36Sopenharmony_ci #clock-cells = <0>; 19962306a36Sopenharmony_ci }; 200