2023-10-30 19:37:35

by Artur Weber

[permalink] [raw]
Subject: [PATCH 1/6] dt-bindings: mfd: brcm,bcm59056: Convert to YAML

Convert devicetree bindings for the Broadcom BCM59056 PMU MFD from
TXT to YAML format. This patch does not change any functionality;
the bindings remain the same.

Signed-off-by: Artur Weber <[email protected]>
---
.../devicetree/bindings/mfd/brcm,bcm59056.txt | 39 ----------
.../devicetree/bindings/mfd/brcm,bcm59056.yaml | 91 ++++++++++++++++++++++
2 files changed, 91 insertions(+), 39 deletions(-)

diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt
deleted file mode 100644
index be51a15e05f9..000000000000
--- a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt
+++ /dev/null
@@ -1,39 +0,0 @@
--------------------------------
-BCM590xx Power Management Units
--------------------------------
-
-Required properties:
-- compatible: "brcm,bcm59056"
-- reg: I2C slave address
-- interrupts: interrupt for the PMU. Generic interrupt client node bindings
- are described in interrupt-controller/interrupts.txt
-
-------------------
-Voltage Regulators
-------------------
-
-Optional child nodes:
-- regulators: container node for regulators following the generic
- regulator binding in regulator/regulator.txt
-
- The valid regulator node names for BCM59056 are:
- rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo,
- mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo,
- csr, iosr1, iosr2, msr, sdsr1, sdsr2, vsr,
- gpldo1, gpldo2, gpldo3, gpldo4, gpldo5, gpldo6,
- vbus
-
-Example:
- pmu: bcm59056@8 {
- compatible = "brcm,bcm59056";
- reg = <0x08>;
- interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
- regulators {
- rfldo_reg: rfldo {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <3300000>;
- };
-
- ...
- };
- };
diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
new file mode 100644
index 000000000000..6d6acc9fd312
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
@@ -0,0 +1,91 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/mfd/brcm,bcm59056.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: BCM590xx Power Management Unit MFD
+
+maintainers:
+ - Artur Weber <[email protected]>
+
+properties:
+ compatible:
+ enum:
+ - "brcm,bcm59056"
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ maxItems: 1
+
+ regulators:
+ type: object
+ description: Container node for regulators.
+
+ # The valid regulator node names for BCM59056 are:
+ # rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo,
+ # mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo,
+ # csr, iosr1, iosr2, msr, sdsr1, sdsr2, vsr,
+ # gpldo1, gpldo2, gpldo3, gpldo4, gpldo5, gpldo6,
+ # vbus
+ patternProperties:
+ "^(cam|sim|mmc)ldo[1-2]$":
+ type: object
+ $ref: /schemas/regulator/regulator.yaml#
+ unevaluatedProperties: false
+
+ "^(rf|sd|sdx|aud|mic|usb|vib)ldo$":
+ type: object
+ $ref: /schemas/regulator/regulator.yaml#
+ unevaluatedProperties: false
+
+ "^(c|m|v)sr$":
+ type: object
+ $ref: /schemas/regulator/regulator.yaml#
+ unevaluatedProperties: false
+
+ "^(io|sd)sr[1-2]$":
+ type: object
+ $ref: /schemas/regulator/regulator.yaml#
+ unevaluatedProperties: false
+
+ "^gpldo[1-6]$":
+ type: object
+ $ref: /schemas/regulator/regulator.yaml#
+ unevaluatedProperties: false
+
+ properties:
+ "vbus":
+ type: object
+ $ref: /schemas/regulator/regulator.yaml#
+ unevaluatedProperties: false
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/irq.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmu: bcm59056@8 {
+ compatible = "brcm,bcm59056";
+ reg = <0x08>;
+ interrupts = <0 215 IRQ_TYPE_LEVEL_HIGH>;
+ regulators {
+ rfldo_reg: rfldo {
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <3300000>;
+ };
+ };
+ };
+ };

--
2.42.0


2023-10-31 05:53:09

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: mfd: brcm,bcm59056: Convert to YAML

On 30/10/2023 20:36, Artur Weber wrote:
> Convert devicetree bindings for the Broadcom BCM59056 PMU MFD from
> TXT to YAML format. This patch does not change any functionality;
> the bindings remain the same.
>
> Signed-off-by: Artur Weber <[email protected]>
> ---
> .../devicetree/bindings/mfd/brcm,bcm59056.txt | 39 ----------
> .../devicetree/bindings/mfd/brcm,bcm59056.yaml | 91 ++++++++++++++++++++++
> 2 files changed, 91 insertions(+), 39 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt
> deleted file mode 100644
> index be51a15e05f9..000000000000
> --- a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.txt
> +++ /dev/null
> @@ -1,39 +0,0 @@
> --------------------------------
> -BCM590xx Power Management Units
> --------------------------------
> -
> -Required properties:
> -- compatible: "brcm,bcm59056"
> -- reg: I2C slave address
> -- interrupts: interrupt for the PMU. Generic interrupt client node bindings
> - are described in interrupt-controller/interrupts.txt
> -
> -------------------
> -Voltage Regulators
> -------------------
> -
> -Optional child nodes:
> -- regulators: container node for regulators following the generic
> - regulator binding in regulator/regulator.txt
> -
> - The valid regulator node names for BCM59056 are:
> - rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo,
> - mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo,
> - csr, iosr1, iosr2, msr, sdsr1, sdsr2, vsr,
> - gpldo1, gpldo2, gpldo3, gpldo4, gpldo5, gpldo6,
> - vbus
> -
> -Example:
> - pmu: bcm59056@8 {
> - compatible = "brcm,bcm59056";
> - reg = <0x08>;
> - interrupts = <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>;
> - regulators {
> - rfldo_reg: rfldo {
> - regulator-min-microvolt = <1200000>;
> - regulator-max-microvolt = <3300000>;
> - };
> -
> - ...
> - };
> - };
> diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
> new file mode 100644
> index 000000000000..6d6acc9fd312
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/mfd/brcm,bcm59056.yaml
> @@ -0,0 +1,91 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/mfd/brcm,bcm59056.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: BCM590xx Power Management Unit MFD

Drop "MFD". That's Linux term.

> +
> +maintainers:
> + - Artur Weber <[email protected]>
> +
> +properties:
> + compatible:
> + enum:
> + - "brcm,bcm59056"

No quotes. Please copy some existing DT schema as your template. None of
them use such syntax.

> +
> + reg:
> + maxItems: 1
> +
> + interrupts:
> + maxItems: 1
> +

There is no other feature here, so this should go to regulators directory.

> + regulators:
> + type: object
> + description: Container node for regulators.
> +
> + # The valid regulator node names for BCM59056 are:
> + # rfldo, camldo1, camldo2, simldo1, simldo2, sdldo, sdxldo,
> + # mmcldo1, mmcldo2, audldo, micldo, usbldo, vibldo,
> + # csr, iosr1, iosr2, msr, sdsr1, sdsr2, vsr,
> + # gpldo1, gpldo2, gpldo3, gpldo4, gpldo5, gpldo6,
> + # vbus
> + patternProperties:
> + "^(cam|sim|mmc)ldo[1-2]$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> + "^(rf|sd|sdx|aud|mic|usb|vib)ldo$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> + "^(c|m|v)sr$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> + "^(io|sd)sr[1-2]$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> + "^gpldo[1-6]$":
> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> + properties:
> + "vbus":

Drop quotes

> + type: object
> + $ref: /schemas/regulator/regulator.yaml#
> + unevaluatedProperties: false
> +
> +required:
> + - compatible
> + - reg
> + - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + #include <dt-bindings/interrupt-controller/irq.h>
> +
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + pmu: bcm59056@8 {

Generic node names, so "pmic". You can also drop unused label.


> + compatible = "brcm,bcm59056";
> + reg = <0x08>;
> + interrupts = <0 215 IRQ_TYPE_LEVEL_HIGH>;

Does 0 stand for some GIC flag?

> + regulators {
> + rfldo_reg: rfldo {
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <3300000>;
> + };
> + };
> + };
> + };
>

Best regards,
Krzysztof

2023-10-31 09:36:37

by Artur Weber

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: mfd: brcm,bcm59056: Convert to YAML



On 31.10.2023 06:52, Krzysztof Kozlowski wrote:
> On 30/10/2023 20:36, Artur Weber wrote:
>> Convert devicetree bindings for the Broadcom BCM59056 PMU MFD from
>> TXT to YAML format. This patch does not change any functionality;
>> the bindings remain the same.
>> ...
>> +
>> + reg:
>> + maxItems: 1
>> +
>> + interrupts:
>> + maxItems: 1
>> +
>
> There is no other feature here, so this should go to regulators directory.

There are no other features *yet*, but the driver will eventually be
expanded to support the other features of the PMIC (charger, fuel gauge,
rtc, etc.).

In that case, should I move the bindings to regulators for now, and move
them back when the other features are added, or would it be fine to keep
it in mfd?

Best regards
Artur

2023-10-31 13:54:40

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH 1/6] dt-bindings: mfd: brcm,bcm59056: Convert to YAML

On 31/10/2023 10:36, Artur Weber wrote:
>
>
> On 31.10.2023 06:52, Krzysztof Kozlowski wrote:
>> On 30/10/2023 20:36, Artur Weber wrote:
>>> Convert devicetree bindings for the Broadcom BCM59056 PMU MFD from
>>> TXT to YAML format. This patch does not change any functionality;
>>> the bindings remain the same.
>>> ...
>>> +
>>> + reg:
>>> + maxItems: 1
>>> +
>>> + interrupts:
>>> + maxItems: 1
>>> +
>>
>> There is no other feature here, so this should go to regulators directory.
>
> There are no other features *yet*, but the driver will eventually be
> expanded to support the other features of the PMIC (charger, fuel gauge,
> rtc, etc.).

The bindings should be complete regardless of driver support, but if
things are missing then it's okay. It can be in MFD.

>
> In that case, should I move the bindings to regulators for now, and move
> them back when the other features are added, or would it be fine to keep
> it in mfd?
Best regards,
Krzysztof