Message ID | 20221005-mdm9615-pinctrl-yaml-v1-4-0cbc006e2a30@linaro.org |
---|---|
State | New |
Headers | show |
Series | arm: qcom: mdm9615: second round of bindings and DT fixes | expand |
On Thu, Oct 06, 2022 at 09:58:01AM +0000, Neil Armstrong wrote: > Convert the non-SMD RPM node bindings to dt-schema, the regulators subnode > refers to regulators,yaml until we have the proper bindings. > > Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> > --- > Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 39 +----------- > .../devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml | 73 ++++++++++++++++++++++ > 2 files changed, 74 insertions(+), 38 deletions(-) > diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml > new file mode 100644 > index 000000000000..d416950189d1 > --- /dev/null > +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml > @@ -0,0 +1,73 @@ > +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: "http://devicetree.org/schemas/soc/qcom/qcom,ipc-rpm.yaml#" > +$schema: "http://devicetree.org/meta-schemas/core.yaml#" > + > +title: Qualcomm Resource Power Manager (RPM) over IPC > + > +description: | > + This driver is used to interface with the Resource Power Manager (RPM) found > + in various Qualcomm platforms. The RPM allows each component in the system > + to vote for state of the system resources, such as clocks, regulators and bus > + frequencies. > + > +maintainers: > + - Bjorn Andersson <andersson@kernel.org> > + > +properties: > + compatible: > + enum: > + - qcom,rpm-apq8064 > + - qcom,rpm-msm8660 > + - qcom,rpm-msm8960 > + - qcom,rpm-ipq8064 > + - qcom,rpm-mdm9615 > + > + reg: true > + > + interrupts: > + minItems: 3 maxItems: 3 (Instead) > + > + interrupt-names: > + items: > + - const: ack > + - const: err > + - const: wakeup > + > + qcom,ipc: > + $ref: /schemas/types.yaml#/definitions/phandle-array > + items: > + - items: > + - description: phandle to a syscon node representing the APCS registers > + - description: u32 representing offset to the register within the syscon > + - description: u32 representing the ipc bit within the register > + description: > + Three entries specifying the outgoing ipc bit used for signaling the RPM. > + > + regulators: > + type: object > + $ref: /schemas/regulator/regulator.yaml# regulator.yaml applies to a single regulator, but 'regulators' sounds like a container node with multiple regulators. Would be good if the example showed... > + > +required: > + - compatible > + - reg > + - interrupts > + - interrupt-names > + - qcom,ipc > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/interrupt-controller/arm-gic.h> > + #include <dt-bindings/interrupt-controller/irq.h> > + > + rpm@108000 { > + compatible = "qcom,rpm-msm8960"; > + reg = <0x108000 0x1000>; > + qcom,ipc = <&apcs 0x8 2>; > + > + interrupts = <GIC_SPI 19 IRQ_TYPE_NONE>, <GIC_SPI 21 IRQ_TYPE_NONE>, <GIC_SPI 22 IRQ_TYPE_NONE>; > + interrupt-names = "ack", "err", "wakeup"; > + }; > > -- > b4 0.10.1 >
diff --git a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt index b823b8625243..b622359e73c2 100644 --- a/Documentation/devicetree/bindings/mfd/qcom-rpm.txt +++ b/Documentation/devicetree/bindings/mfd/qcom-rpm.txt @@ -5,44 +5,7 @@ various Qualcomm platforms. The RPM allows each component in the system to vote for state of the system resources, such as clocks, regulators and bus frequencies. -- compatible: - Usage: required - Value type: <string> - Definition: must be one of: - "qcom,rpm-apq8064" - "qcom,rpm-msm8660" - "qcom,rpm-msm8960" - "qcom,rpm-ipq8064" - "qcom,rpm-mdm9615" - -- reg: - Usage: required - Value type: <prop-encoded-array> - Definition: base address and size of the RPM's message ram - -- interrupts: - Usage: required - Value type: <prop-encoded-array> - Definition: three entries specifying the RPM's: - 1. acknowledgement interrupt - 2. error interrupt - 3. wakeup interrupt - -- interrupt-names: - Usage: required - Value type: <string-array> - Definition: must be the three strings "ack", "err" and "wakeup", in order - -- qcom,ipc: - Usage: required - Value type: <prop-encoded-array> - - Definition: three entries specifying the outgoing ipc bit used for - signaling the RPM: - - phandle to a syscon node representing the apcs registers - - u32 representing offset to the register within the syscon - - u32 representing the ipc bit within the register - +Please refer to soc/qcom/qcom,ipc-rpm.yaml = SUBNODES diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml new file mode 100644 index 000000000000..d416950189d1 --- /dev/null +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml @@ -0,0 +1,73 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/soc/qcom/qcom,ipc-rpm.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Qualcomm Resource Power Manager (RPM) over IPC + +description: | + This driver is used to interface with the Resource Power Manager (RPM) found + in various Qualcomm platforms. The RPM allows each component in the system + to vote for state of the system resources, such as clocks, regulators and bus + frequencies. + +maintainers: + - Bjorn Andersson <andersson@kernel.org> + +properties: + compatible: + enum: + - qcom,rpm-apq8064 + - qcom,rpm-msm8660 + - qcom,rpm-msm8960 + - qcom,rpm-ipq8064 + - qcom,rpm-mdm9615 + + reg: true + + interrupts: + minItems: 3 + + interrupt-names: + items: + - const: ack + - const: err + - const: wakeup + + qcom,ipc: + $ref: /schemas/types.yaml#/definitions/phandle-array + items: + - items: + - description: phandle to a syscon node representing the APCS registers + - description: u32 representing offset to the register within the syscon + - description: u32 representing the ipc bit within the register + description: + Three entries specifying the outgoing ipc bit used for signaling the RPM. + + regulators: + type: object + $ref: /schemas/regulator/regulator.yaml# + +required: + - compatible + - reg + - interrupts + - interrupt-names + - qcom,ipc + +additionalProperties: false + +examples: + - | + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/interrupt-controller/irq.h> + + rpm@108000 { + compatible = "qcom,rpm-msm8960"; + reg = <0x108000 0x1000>; + qcom,ipc = <&apcs 0x8 2>; + + interrupts = <GIC_SPI 19 IRQ_TYPE_NONE>, <GIC_SPI 21 IRQ_TYPE_NONE>, <GIC_SPI 22 IRQ_TYPE_NONE>; + interrupt-names = "ack", "err", "wakeup"; + };
Convert the non-SMD RPM node bindings to dt-schema, the regulators subnode refers to regulators,yaml until we have the proper bindings. Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org> --- Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 39 +----------- .../devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml | 73 ++++++++++++++++++++++ 2 files changed, 74 insertions(+), 38 deletions(-)