Re: [PATCH v4] dt-bindings: regulator: twl-regulator: convert to yaml

From: Rob Herring
Date: Tue Jun 11 2024 - 09:40:47 EST


On Thu, Jun 6, 2024 at 5:16 AM Andreas Kemnade <andreas@xxxxxxxxxxxx> wrote:
>
> Convert the regulator bindings to yaml.
>
> Drop one twl5030 compatible due to no documentation on mfd side and no
> users of the twl5030.
>
> Signed-off-by: Andreas Kemnade <andreas@xxxxxxxxxxxx>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
> ---
> Changes in v4:
> - remove a sentence in the commit message which only applies
> to v1 design
> - add R-by
>
> Changes in v3:
> - define regulator stuff in toplevel
> - simplified regulator-inital-mode
> - extended example to contain both regulator-initial-mode and
> retain-on-reset
>
> Changes in v2:
> - add regulators directly to ti,twl.yaml
> - less restrictions on regulator node name
>
> .../devicetree/bindings/mfd/ti,twl.yaml | 166 +++++++++++++++++-
> .../bindings/regulator/twl-regulator.txt | 80 ---------
> 2 files changed, 164 insertions(+), 82 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/regulator/twl-regulator.txt
>
> diff --git a/Documentation/devicetree/bindings/mfd/ti,twl.yaml b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> index c2357fecb56c..2cbdd238f48f 100644
> --- a/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> +++ b/Documentation/devicetree/bindings/mfd/ti,twl.yaml
> @@ -22,6 +22,32 @@ allOf:
> contains:
> const: ti,twl4030
> then:
> + patternProperties:
> + "^regulator-":
> + properties:
> + compatible:
> + enum:
> + - ti,twl4030-vaux1
> + - ti,twl4030-vaux2
> + - ti,twl4030-vaux3
> + - ti,twl4030-vaux4
> + - ti,twl4030-vmmc1
> + - ti,twl4030-vmmc2
> + - ti,twl4030-vpll1
> + - ti,twl4030-vpll2
> + - ti,twl4030-vsim
> + - ti,twl4030-vdac
> + - ti,twl4030-vintana2
> + - ti,twl4030-vio
> + - ti,twl4030-vdd1
> + - ti,twl4030-vdd2
> + - ti,twl4030-vintana1
> + - ti,twl4030-vintdig
> + - ti,twl4030-vusb1v5
> + - ti,twl4030-vusb1v8
> + - ti,twl4030-vusb3v1
> + ti,retain-on-reset: false
> +
> properties:
> madc:
> type: object
> @@ -50,13 +76,34 @@ allOf:
> properties:
> compatible:
> const: ti,twl4030-wdt
> -
> - if:
> properties:
> compatible:
> contains:
> const: ti,twl6030
> then:
> + patternProperties:
> + "^regulator-":
> + properties:
> + compatible:
> + enum:
> + - ti,twl6030-vaux1
> + - ti,twl6030-vaux2
> + - ti,twl6030-vaux3
> + - ti,twl6030-vmmc
> + - ti,twl6030-vpp
> + - ti,twl6030-vusim
> + - ti,twl6030-vana
> + - ti,twl6030-vcxio
> + - ti,twl6030-vdac
> + - ti,twl6030-vusb
> + - ti,twl6030-v1v8
> + - ti,twl6030-v2v1
> + - ti,twl6030-vdd1
> + - ti,twl6030-vdd2
> + - ti,twl6030-vdd3
> + regulator-initial-mode: false
> +
> properties:
> gpadc:
> type: object
> @@ -69,6 +116,25 @@ allOf:
> contains:
> const: ti,twl6032
> then:
> + patternProperties:
> + "^regulator-":
> + properties:
> + compatible:
> + enum:
> + - ti,twl6032-ldo1
> + - ti,twl6032-ldo2
> + - ti,twl6032-ldo3
> + - ti,twl6032-ldo4
> + - ti,twl6032-ldo5
> + - ti,twl6032-ldo6
> + - ti,twl6032-ldo7
> + - ti,twl6032-ldoln
> + - ti,twl6032-ldousb
> + - ti,twl6032-smps3
> + - ti,twl6032-smps4
> + - ti,twl6032-vio
> + regulator-initial-mode: false
> +
> properties:
> gpadc:
> type: object
> @@ -112,6 +178,27 @@ properties:
> interrupts:
> maxItems: 1
>
> +patternProperties:
> + "^regulator-":
> + type: object
> + unevaluatedProperties: false
> + $ref: /schemas/regulator/regulator.yaml
> + properties:
> + compatible: true
> + regulator-initial-mode:
> + enum:
> + - 0x08 # Sleep mode, the nominal output voltage is maintained
> + # with low power consumption with low load current capability
> + - 0x0e # Active mode, the regulator can deliver its nominal output
> + # voltage with full-load current capability
> + ti,retain-on-reset:
> + description:
> + Does not turn off the supplies during warm
> + reset. Could be needed for VMMC, as TWL6030
> + reset sequence for this signal does not comply
> + with the SD specification.
> + type: boolean
> +
> unevaluatedProperties: false
>
> required:
> @@ -131,9 +218,84 @@ examples:
> compatible = "ti,twl6030";
> reg = <0x48>;
> interrupts = <39>; /* IRQ_SYS_1N cascaded to gic */
> + interrupt-parent = <&gic>;
> interrupt-controller;
> #interrupt-cells = <1>;
> - interrupt-parent = <&gic>;
> +
> + gpadc {
> + compatible = "ti,twl6030-gpadc";
> + interrupts = <6>;

Now a warning in linux-next:

Documentation/devicetree/bindings/mfd/ti,twl.example.dtb: gpadc:
'#io-channel-cells' is a required property
from schema $id:
http://devicetree.org/schemas/iio/adc/ti,twl6030-gpadc.yaml#