Re: [PATCH v2 5/5] dt-bindings: soc: qcom: convert non-smd RPM bindings to dt-schema

From: Rob Herring
Date: Mon Oct 17 2022 - 10:51:52 EST


On Mon, Oct 17, 2022 at 12:23:09PM +0200, Neil Armstrong wrote:
> Convert the non-SMD RPM node bindings to dt-schema, the old txt bindings
> are now removed since all bindings were converted.
>
> Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
> ---
> Documentation/devicetree/bindings/mfd/qcom-rpm.txt | 283 ---------------------
> .../devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml | 99 +++++++
> 2 files changed, 99 insertions(+), 283 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..4e9df94ecd44
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/soc/qcom/qcom,ipc-rpm.yaml
> @@ -0,0 +1,99 @@
> +# 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: |

Don't need '|' if no formatting to preserve.

> + 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@xxxxxxxxxx>
> +
> +properties:
> + compatible:
> + enum:
> + - qcom,rpm-apq8064
> + - qcom,rpm-msm8660
> + - qcom,rpm-msm8960
> + - qcom,rpm-ipq8064
> + - qcom,rpm-mdm9615
> +
> + reg: true

Need to define how many entries.

> +
> + interrupts:
> + minItems: 3

maxItems 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.
> +
> +patternProperties:
> + "(regulators|-regulators)$":

Can be simplified to this:

'-?regulators$'

However, as there is no constraint as to what comes before the r or -,
the '-?' doesn't do anything. Either drop it or try to define the
preceeding part. Perhaps '^([a-z]+-)?regulators$' is what you wanted if
just 'regulators' is one case?


> + type: object
> + $ref: /schemas/regulator/qcom,ipc-rpm-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>
> + #include <dt-bindings/mfd/qcom-rpm.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";
> +
> + regulators {
> + compatible = "qcom,rpm-pm8921-regulators";
> + vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
> +
> + s1 {
> + regulator-min-microvolt = <1225000>;
> + regulator-max-microvolt = <1225000>;
> +
> + bias-pull-down;
> +
> + qcom,switch-mode-frequency = <3200000>;
> + };
> +
> + pm8921_s4: s4 {
> + regulator-min-microvolt = <1800000>;
> + regulator-max-microvolt = <1800000>;
> +
> + qcom,switch-mode-frequency = <1600000>;
> + bias-pull-down;
> +
> + qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
> + };
> + };
> + };
>
> --
> b4 0.10.1
>