Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: mailbox: Add YAML schemas for QCOM APCS global block

Qualcomm APCS global block provides a bunch of generic properties which
are required in a device tree. Add YAML schema for these properties.

Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Sivaprakash Murugesan <sivaprak@codeaurora.org>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>

authored by

Sivaprakash Murugesan and committed by
Jassi Brar
f3a1381e b7b2796b

+86 -88
-88
Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt
··· 1 - Binding for the Qualcomm APCS global block 2 - ========================================== 3 - 4 - This binding describes the APCS "global" block found in various Qualcomm 5 - platforms. 6 - 7 - - compatible: 8 - Usage: required 9 - Value type: <string> 10 - Definition: must be one of: 11 - "qcom,msm8916-apcs-kpss-global", 12 - "qcom,msm8996-apcs-hmss-global" 13 - "qcom,msm8998-apcs-hmss-global" 14 - "qcom,qcs404-apcs-apps-global" 15 - "qcom,sc7180-apss-shared" 16 - "qcom,sdm845-apss-shared" 17 - "qcom,sm8150-apss-shared" 18 - "qcom,ipq8074-apcs-apps-global" 19 - 20 - - reg: 21 - Usage: required 22 - Value type: <prop-encoded-array> 23 - Definition: must specify the base address and size of the global block 24 - 25 - - clocks: 26 - Usage: required if #clock-names property is present 27 - Value type: <phandle array> 28 - Definition: phandles to the two parent clocks of the clock driver. 29 - 30 - - #mbox-cells: 31 - Usage: required 32 - Value type: <u32> 33 - Definition: as described in mailbox.txt, must be 1 34 - 35 - - #clock-cells: 36 - Usage: optional 37 - Value type: <u32> 38 - Definition: as described in clock.txt, must be 0 39 - 40 - - clock-names: 41 - Usage: required if the platform data based clock driver needs to 42 - retrieve the parent clock names from device tree. 43 - This will requires two mandatory clocks to be defined. 44 - Value type: <string-array> 45 - Definition: must be "pll" and "aux" 46 - 47 - = EXAMPLE 48 - The following example describes the APCS HMSS found in MSM8996 and part of the 49 - GLINK RPM referencing the "rpm_hlos" doorbell therein. 50 - 51 - apcs_glb: mailbox@9820000 { 52 - compatible = "qcom,msm8996-apcs-hmss-global"; 53 - reg = <0x9820000 0x1000>; 54 - 55 - #mbox-cells = <1>; 56 - }; 57 - 58 - rpm-glink { 59 - compatible = "qcom,glink-rpm"; 60 - 61 - interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 62 - 63 - qcom,rpm-msg-ram = <&rpm_msg_ram>; 64 - 65 - mboxes = <&apcs_glb 0>; 66 - mbox-names = "rpm_hlos"; 67 - }; 68 - 69 - Below is another example of the APCS binding on MSM8916 platforms: 70 - 71 - apcs: mailbox@b011000 { 72 - compatible = "qcom,msm8916-apcs-kpss-global"; 73 - reg = <0xb011000 0x1000>; 74 - #mbox-cells = <1>; 75 - clocks = <&a53pll>; 76 - #clock-cells = <0>; 77 - }; 78 - 79 - Below is another example of the APCS binding on QCS404 platforms: 80 - 81 - apcs_glb: mailbox@b011000 { 82 - compatible = "qcom,qcs404-apcs-apps-global", "syscon"; 83 - reg = <0x0b011000 0x1000>; 84 - #mbox-cells = <1>; 85 - clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>; 86 - clock-names = "pll", "aux"; 87 - #clock-cells = <0>; 88 - };
+86
Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml
··· 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 + 7 + title: Qualcomm APCS global block bindings 8 + 9 + description: 10 + This binding describes the APCS "global" block found in various Qualcomm 11 + platforms. 12 + 13 + maintainers: 14 + - Sivaprakash Murugesan <sivaprak@codeaurora.org> 15 + 16 + properties: 17 + compatible: 18 + enum: 19 + - qcom,ipq8074-apcs-apps-global 20 + - qcom,msm8916-apcs-kpss-global 21 + - qcom,msm8996-apcs-hmss-global 22 + - qcom,msm8998-apcs-hmss-global 23 + - qcom,qcs404-apcs-apps-global 24 + - qcom,sc7180-apss-shared 25 + - qcom,sdm845-apss-shared 26 + - qcom,sm8150-apss-shared 27 + 28 + reg: 29 + maxItems: 1 30 + 31 + clocks: 32 + description: phandles to the parent clocks of the clock driver 33 + items: 34 + - description: primary pll parent of the clock driver 35 + - description: auxiliary parent 36 + 37 + '#mbox-cells': 38 + const: 1 39 + 40 + '#clock-cells': 41 + const: 0 42 + 43 + clock-names: 44 + items: 45 + - const: pll 46 + - const: aux 47 + 48 + required: 49 + - compatible 50 + - reg 51 + - '#mbox-cells' 52 + 53 + additionalProperties: false 54 + 55 + examples: 56 + 57 + # Example apcs with msm8996 58 + - | 59 + #include <dt-bindings/interrupt-controller/arm-gic.h> 60 + apcs_glb: mailbox@9820000 { 61 + compatible = "qcom,msm8996-apcs-hmss-global"; 62 + reg = <0x9820000 0x1000>; 63 + 64 + #mbox-cells = <1>; 65 + }; 66 + 67 + rpm-glink { 68 + compatible = "qcom,glink-rpm"; 69 + interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; 70 + qcom,rpm-msg-ram = <&rpm_msg_ram>; 71 + mboxes = <&apcs_glb 0>; 72 + mbox-names = "rpm_hlos"; 73 + }; 74 + 75 + # Example apcs with qcs404 76 + - | 77 + #define GCC_APSS_AHB_CLK_SRC 1 78 + #define GCC_GPLL0_AO_OUT_MAIN 123 79 + apcs: mailbox@b011000 { 80 + compatible = "qcom,qcs404-apcs-apps-global"; 81 + reg = <0x0b011000 0x1000>; 82 + #mbox-cells = <1>; 83 + clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>; 84 + clock-names = "pll", "aux"; 85 + #clock-cells = <0>; 86 + };