Message ID | 1586832922-29191-2-git-send-email-sivaprak@codeaurora.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add APSS clock controller support for IPQ6018 | expand |
On Tue, Apr 14, 2020 at 08:25:15AM +0530, Sivaprakash Murugesan wrote: > Qualcomm APCS global block provides a bunch of generic properties which > are required in a device tree. Add YAML schema for these properties. > > Signed-off-by: Sivaprakash Murugesan <sivaprak@codeaurora.org> > --- > .../bindings/mailbox/qcom,apcs-kpss-global.txt | 88 ---------------------- > .../bindings/mailbox/qcom,apcs-kpss-global.yaml | 88 ++++++++++++++++++++++ > 2 files changed, 88 insertions(+), 88 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt > create mode 100644 Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml > > diff --git a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt > deleted file mode 100644 > index beec612..0000000 > --- a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt > +++ /dev/null > @@ -1,88 +0,0 @@ > -Binding for the Qualcomm APCS global block > -========================================== > - > -This binding describes the APCS "global" block found in various Qualcomm > -platforms. > - > -- compatible: > - Usage: required > - Value type: <string> > - Definition: must be one of: > - "qcom,msm8916-apcs-kpss-global", > - "qcom,msm8996-apcs-hmss-global" > - "qcom,msm8998-apcs-hmss-global" > - "qcom,qcs404-apcs-apps-global" > - "qcom,sc7180-apss-shared" > - "qcom,sdm845-apss-shared" > - "qcom,sm8150-apss-shared" > - "qcom,ipq8074-apcs-apps-global" > - > -- reg: > - Usage: required > - Value type: <prop-encoded-array> > - Definition: must specify the base address and size of the global block > - > -- clocks: > - Usage: required if #clock-names property is present > - Value type: <phandle array> > - Definition: phandles to the two parent clocks of the clock driver. > - > -- #mbox-cells: > - Usage: required > - Value type: <u32> > - Definition: as described in mailbox.txt, must be 1 > - > -- #clock-cells: > - Usage: optional > - Value type: <u32> > - Definition: as described in clock.txt, must be 0 > - > -- clock-names: > - Usage: required if the platform data based clock driver needs to > - retrieve the parent clock names from device tree. > - This will requires two mandatory clocks to be defined. > - Value type: <string-array> > - Definition: must be "pll" and "aux" > - > -= EXAMPLE > -The following example describes the APCS HMSS found in MSM8996 and part of the > -GLINK RPM referencing the "rpm_hlos" doorbell therein. > - > - apcs_glb: mailbox@9820000 { > - compatible = "qcom,msm8996-apcs-hmss-global"; > - reg = <0x9820000 0x1000>; > - > - #mbox-cells = <1>; > - }; > - > - rpm-glink { > - compatible = "qcom,glink-rpm"; > - > - interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; > - > - qcom,rpm-msg-ram = <&rpm_msg_ram>; > - > - mboxes = <&apcs_glb 0>; > - mbox-names = "rpm_hlos"; > - }; > - > -Below is another example of the APCS binding on MSM8916 platforms: > - > - apcs: mailbox@b011000 { > - compatible = "qcom,msm8916-apcs-kpss-global"; > - reg = <0xb011000 0x1000>; > - #mbox-cells = <1>; > - clocks = <&a53pll>; > - #clock-cells = <0>; > - }; > - > -Below is another example of the APCS binding on QCS404 platforms: > - > - apcs_glb: mailbox@b011000 { > - compatible = "qcom,qcs404-apcs-apps-global", "syscon"; > - reg = <0x0b011000 0x1000>; > - #mbox-cells = <1>; > - clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>; > - clock-names = "pll", "aux"; > - #clock-cells = <0>; > - }; > diff --git a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml > new file mode 100644 > index 0000000..b46474b > --- /dev/null > +++ b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml > @@ -0,0 +1,88 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/mailbox/qcom,apcs-kpss-global.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: Qualcomm APCS global block bindings > + > +description: > + This binding describes the APCS "global" block found in various Qualcomm > + platforms. > + > +maintainers: > + - Sivaprakash Murugesan <sivaprak@codeaurora.org> > + > +properties: > + compatible: > + enum: > + - qcom,ipq8074-apcs-apps-global > + - qcom,msm8916-apcs-kpss-global > + - qcom,msm8996-apcs-hmss-global > + - qcom,msm8998-apcs-hmss-global > + - qcom,qcs404-apcs-apps-global > + - qcom,sc7180-apss-shared > + - qcom,sdm845-apss-shared > + - qcom,sm8150-apss-shared > + > + reg: > + description: specifies the base address and size of the global block Can drop this. > + maxItems: 1 > + > + clocks: > + description: phandles to the parent clocks of the clock driver Need to define how many and what each one is. > + > + '#mbox-cells': > + const: 1 > + > + '#clock-cells': > + const: 0 > + > + clock-names: > + description: > + parent clock names, required if the platform data based clock driver > + needs to retrieve the parent clock names from device tree. Drop. > + maxItems: 2 Not needed as 'items' implies this. > + items: > + - const: pll > + - const: aux > + > +required: > + - compatible > + - reg > + - '#mbox-cells' > + > +additionalProperties: false > + > +examples: > + > + # Example apcs with msm8996 > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + apcs_glb: mailbox@9820000 { > + compatible = "qcom,msm8996-apcs-hmss-global"; > + reg = <0x9820000 0x1000>; > + > + #mbox-cells = <1>; > + }; > + > + rpm-glink { > + compatible = "qcom,glink-rpm"; > + interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; > + qcom,rpm-msg-ram = <&rpm_msg_ram>; > + mboxes = <&apcs_glb 0>; > + mbox-names = "rpm_hlos"; > + }; > + > + # Example apcs with qcs404 > + - | > + #define GCC_APSS_AHB_CLK_SRC 1 > + #define GCC_GPLL0_AO_OUT_MAIN 123 > + apcs: mailbox@b011000 { > + compatible = "qcom,qcs404-apcs-apps-global"; > + reg = <0x0b011000 0x1000>; > + #mbox-cells = <1>; > + clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>; > + clock-names = "pll", "aux"; > + #clock-cells = <0>; > + }; > -- > 2.7.4 >
On 4/21/2020 2:29 AM, Rob Herring wrote: > On Tue, Apr 14, 2020 at 08:25:15AM +0530, Sivaprakash Murugesan wrote: >> Qualcomm APCS global block provides a bunch of generic properties which >> are required in a device tree. Add YAML schema for these properties. >> >> Signed-off-by: Sivaprakash Murugesan <sivaprak@codeaurora.org> >> --- >> .../bindings/mailbox/qcom,apcs-kpss-global.txt | 88 ---------------------- >> .../bindings/mailbox/qcom,apcs-kpss-global.yaml | 88 ++++++++++++++++++++++ >> 2 files changed, 88 insertions(+), 88 deletions(-) >> delete mode 100644 Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt >> create mode 100644 Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml >> >> diff --git a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt >> deleted file mode 100644 >> index beec612..0000000 >> --- a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt >> +++ /dev/null >> @@ -1,88 +0,0 @@ >> -Binding for the Qualcomm APCS global block >> -========================================== >> - >> -This binding describes the APCS "global" block found in various Qualcomm >> -platforms. >> - >> -- compatible: >> - Usage: required >> - Value type: <string> >> - Definition: must be one of: >> - "qcom,msm8916-apcs-kpss-global", >> - "qcom,msm8996-apcs-hmss-global" >> - "qcom,msm8998-apcs-hmss-global" >> - "qcom,qcs404-apcs-apps-global" >> - "qcom,sc7180-apss-shared" >> - "qcom,sdm845-apss-shared" >> - "qcom,sm8150-apss-shared" >> - "qcom,ipq8074-apcs-apps-global" >> - >> -- reg: >> - Usage: required >> - Value type: <prop-encoded-array> >> - Definition: must specify the base address and size of the global block >> - >> -- clocks: >> - Usage: required if #clock-names property is present >> - Value type: <phandle array> >> - Definition: phandles to the two parent clocks of the clock driver. >> - >> -- #mbox-cells: >> - Usage: required >> - Value type: <u32> >> - Definition: as described in mailbox.txt, must be 1 >> - >> -- #clock-cells: >> - Usage: optional >> - Value type: <u32> >> - Definition: as described in clock.txt, must be 0 >> - >> -- clock-names: >> - Usage: required if the platform data based clock driver needs to >> - retrieve the parent clock names from device tree. >> - This will requires two mandatory clocks to be defined. >> - Value type: <string-array> >> - Definition: must be "pll" and "aux" >> - >> -= EXAMPLE >> -The following example describes the APCS HMSS found in MSM8996 and part of the >> -GLINK RPM referencing the "rpm_hlos" doorbell therein. >> - >> - apcs_glb: mailbox@9820000 { >> - compatible = "qcom,msm8996-apcs-hmss-global"; >> - reg = <0x9820000 0x1000>; >> - >> - #mbox-cells = <1>; >> - }; >> - >> - rpm-glink { >> - compatible = "qcom,glink-rpm"; >> - >> - interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; >> - >> - qcom,rpm-msg-ram = <&rpm_msg_ram>; >> - >> - mboxes = <&apcs_glb 0>; >> - mbox-names = "rpm_hlos"; >> - }; >> - >> -Below is another example of the APCS binding on MSM8916 platforms: >> - >> - apcs: mailbox@b011000 { >> - compatible = "qcom,msm8916-apcs-kpss-global"; >> - reg = <0xb011000 0x1000>; >> - #mbox-cells = <1>; >> - clocks = <&a53pll>; >> - #clock-cells = <0>; >> - }; >> - >> -Below is another example of the APCS binding on QCS404 platforms: >> - >> - apcs_glb: mailbox@b011000 { >> - compatible = "qcom,qcs404-apcs-apps-global", "syscon"; >> - reg = <0x0b011000 0x1000>; >> - #mbox-cells = <1>; >> - clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>; >> - clock-names = "pll", "aux"; >> - #clock-cells = <0>; >> - }; >> diff --git a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml >> new file mode 100644 >> index 0000000..b46474b >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml >> @@ -0,0 +1,88 @@ >> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: "http://devicetree.org/schemas/mailbox/qcom,apcs-kpss-global.yaml#" >> +$schema: "http://devicetree.org/meta-schemas/core.yaml#" >> + >> +title: Qualcomm APCS global block bindings >> + >> +description: >> + This binding describes the APCS "global" block found in various Qualcomm >> + platforms. >> + >> +maintainers: >> + - Sivaprakash Murugesan <sivaprak@codeaurora.org> >> + >> +properties: >> + compatible: >> + enum: >> + - qcom,ipq8074-apcs-apps-global >> + - qcom,msm8916-apcs-kpss-global >> + - qcom,msm8996-apcs-hmss-global >> + - qcom,msm8998-apcs-hmss-global >> + - qcom,qcs404-apcs-apps-global >> + - qcom,sc7180-apss-shared >> + - qcom,sdm845-apss-shared >> + - qcom,sm8150-apss-shared >> + >> + reg: >> + description: specifies the base address and size of the global block > Can drop this. ok. > >> + maxItems: 1 >> + >> + clocks: >> + description: phandles to the parent clocks of the clock driver > Need to define how many and what each one is. ok. > >> + >> + '#mbox-cells': >> + const: 1 >> + >> + '#clock-cells': >> + const: 0 >> + >> + clock-names: >> + description: >> + parent clock names, required if the platform data based clock driver >> + needs to retrieve the parent clock names from device tree. > Drop. ok. > >> + maxItems: 2 > Not needed as 'items' implies this. ok.
diff --git a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt deleted file mode 100644 index beec612..0000000 --- a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt +++ /dev/null @@ -1,88 +0,0 @@ -Binding for the Qualcomm APCS global block -========================================== - -This binding describes the APCS "global" block found in various Qualcomm -platforms. - -- compatible: - Usage: required - Value type: <string> - Definition: must be one of: - "qcom,msm8916-apcs-kpss-global", - "qcom,msm8996-apcs-hmss-global" - "qcom,msm8998-apcs-hmss-global" - "qcom,qcs404-apcs-apps-global" - "qcom,sc7180-apss-shared" - "qcom,sdm845-apss-shared" - "qcom,sm8150-apss-shared" - "qcom,ipq8074-apcs-apps-global" - -- reg: - Usage: required - Value type: <prop-encoded-array> - Definition: must specify the base address and size of the global block - -- clocks: - Usage: required if #clock-names property is present - Value type: <phandle array> - Definition: phandles to the two parent clocks of the clock driver. - -- #mbox-cells: - Usage: required - Value type: <u32> - Definition: as described in mailbox.txt, must be 1 - -- #clock-cells: - Usage: optional - Value type: <u32> - Definition: as described in clock.txt, must be 0 - -- clock-names: - Usage: required if the platform data based clock driver needs to - retrieve the parent clock names from device tree. - This will requires two mandatory clocks to be defined. - Value type: <string-array> - Definition: must be "pll" and "aux" - -= EXAMPLE -The following example describes the APCS HMSS found in MSM8996 and part of the -GLINK RPM referencing the "rpm_hlos" doorbell therein. - - apcs_glb: mailbox@9820000 { - compatible = "qcom,msm8996-apcs-hmss-global"; - reg = <0x9820000 0x1000>; - - #mbox-cells = <1>; - }; - - rpm-glink { - compatible = "qcom,glink-rpm"; - - interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; - - qcom,rpm-msg-ram = <&rpm_msg_ram>; - - mboxes = <&apcs_glb 0>; - mbox-names = "rpm_hlos"; - }; - -Below is another example of the APCS binding on MSM8916 platforms: - - apcs: mailbox@b011000 { - compatible = "qcom,msm8916-apcs-kpss-global"; - reg = <0xb011000 0x1000>; - #mbox-cells = <1>; - clocks = <&a53pll>; - #clock-cells = <0>; - }; - -Below is another example of the APCS binding on QCS404 platforms: - - apcs_glb: mailbox@b011000 { - compatible = "qcom,qcs404-apcs-apps-global", "syscon"; - reg = <0x0b011000 0x1000>; - #mbox-cells = <1>; - clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>; - clock-names = "pll", "aux"; - #clock-cells = <0>; - }; diff --git a/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml new file mode 100644 index 0000000..b46474b --- /dev/null +++ b/Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml @@ -0,0 +1,88 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/mailbox/qcom,apcs-kpss-global.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Qualcomm APCS global block bindings + +description: + This binding describes the APCS "global" block found in various Qualcomm + platforms. + +maintainers: + - Sivaprakash Murugesan <sivaprak@codeaurora.org> + +properties: + compatible: + enum: + - qcom,ipq8074-apcs-apps-global + - qcom,msm8916-apcs-kpss-global + - qcom,msm8996-apcs-hmss-global + - qcom,msm8998-apcs-hmss-global + - qcom,qcs404-apcs-apps-global + - qcom,sc7180-apss-shared + - qcom,sdm845-apss-shared + - qcom,sm8150-apss-shared + + reg: + description: specifies the base address and size of the global block + maxItems: 1 + + clocks: + description: phandles to the parent clocks of the clock driver + + '#mbox-cells': + const: 1 + + '#clock-cells': + const: 0 + + clock-names: + description: + parent clock names, required if the platform data based clock driver + needs to retrieve the parent clock names from device tree. + maxItems: 2 + items: + - const: pll + - const: aux + +required: + - compatible + - reg + - '#mbox-cells' + +additionalProperties: false + +examples: + + # Example apcs with msm8996 + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + apcs_glb: mailbox@9820000 { + compatible = "qcom,msm8996-apcs-hmss-global"; + reg = <0x9820000 0x1000>; + + #mbox-cells = <1>; + }; + + rpm-glink { + compatible = "qcom,glink-rpm"; + interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>; + qcom,rpm-msg-ram = <&rpm_msg_ram>; + mboxes = <&apcs_glb 0>; + mbox-names = "rpm_hlos"; + }; + + # Example apcs with qcs404 + - | + #define GCC_APSS_AHB_CLK_SRC 1 + #define GCC_GPLL0_AO_OUT_MAIN 123 + apcs: mailbox@b011000 { + compatible = "qcom,qcs404-apcs-apps-global"; + reg = <0x0b011000 0x1000>; + #mbox-cells = <1>; + clocks = <&apcs_hfpll>, <&gcc GCC_GPLL0_AO_OUT_MAIN>; + clock-names = "pll", "aux"; + #clock-cells = <0>; + };
Qualcomm APCS global block provides a bunch of generic properties which are required in a device tree. Add YAML schema for these properties. Signed-off-by: Sivaprakash Murugesan <sivaprak@codeaurora.org> --- .../bindings/mailbox/qcom,apcs-kpss-global.txt | 88 ---------------------- .../bindings/mailbox/qcom,apcs-kpss-global.yaml | 88 ++++++++++++++++++++++ 2 files changed, 88 insertions(+), 88 deletions(-) delete mode 100644 Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.txt create mode 100644 Documentation/devicetree/bindings/mailbox/qcom,apcs-kpss-global.yaml