Message ID | 20240606111611.371463-1-andreas@kemnade.info (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v4] dt-bindings: regulator: twl-regulator: convert to yaml | expand |
On Thu, 06 Jun 2024 13:16:11 +0200, Andreas Kemnade wrote: > Convert the regulator bindings to yaml. > > Drop one twl5030 compatible due to no documentation on mfd side and no > users of the twl5030. > > Applied to https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next Thanks! [1/1] dt-bindings: regulator: twl-regulator: convert to yaml commit: 62e4f339619701c4e16b47438ae7529532c28e23 All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark
On Thu, Jun 6, 2024 at 5:16 AM Andreas Kemnade <andreas@kemnade.info> 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@kemnade.info> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > --- > 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#
On Tue, 11 Jun 2024 07:39:25 -0600 Rob Herring <robh@kernel.org> wrote: > > + > > + 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# I sent a fix. It was not applied, maybe because subject does not contain regulator and so missing Mark's filter? Regards Andreas
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>; + }; + + rtc { + compatible = "ti,twl4030-rtc"; + interrupts = <8>; + }; + + regulator-vaux1 { + compatible = "ti,twl6030-vaux1"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <3000000>; + }; + + regulator-vmmc1 { + compatible = "ti,twl6030-vmmc"; + ti,retain-on-reset; + }; }; }; + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + pmic@48 { + compatible = "ti,twl4030"; + reg = <0x48>; + interrupts = <7>; /* SYS_NIRQ cascaded to intc */ + interrupt-parent = <&intc>; + interrupt-controller; + #interrupt-cells = <1>; + + bci { + compatible = "ti,twl4030-bci"; + interrupts = <9>, <2>; + bci3v1-supply = <&vusb3v1>; + io-channels = <&twl_madc 11>; + io-channel-names = "vac"; + }; + + twl_madc: madc { + compatible = "ti,twl4030-madc"; + interrupts = <3>; + #io-channel-cells = <1>; + }; + + pwrbutton { + compatible = "ti,twl4030-pwrbutton"; + interrupts = <8>; + }; + + rtc { + compatible = "ti,twl4030-rtc"; + interrupts = <11>; + }; + + regulator-vaux1 { + compatible = "ti,twl4030-vaux1"; + regulator-min-microvolt = <1000000>; + regulator-max-microvolt = <3000000>; + regulator-initial-mode = <0xe>; + }; + + vusb3v1: regulator-vusb3v1 { + compatible = "ti,twl4030-vusb3v1"; + }; + + watchdog { + compatible = "ti,twl4030-wdt"; + }; + }; + }; +... diff --git a/Documentation/devicetree/bindings/regulator/twl-regulator.txt b/Documentation/devicetree/bindings/regulator/twl-regulator.txt deleted file mode 100644 index 549f80436deb..000000000000 --- a/Documentation/devicetree/bindings/regulator/twl-regulator.txt +++ /dev/null @@ -1,80 +0,0 @@ -TWL family of regulators - -Required properties: -For twl6030 regulators/LDOs -- compatible: - - "ti,twl6030-vaux1" for VAUX1 LDO - - "ti,twl6030-vaux2" for VAUX2 LDO - - "ti,twl6030-vaux3" for VAUX3 LDO - - "ti,twl6030-vmmc" for VMMC LDO - - "ti,twl6030-vpp" for VPP LDO - - "ti,twl6030-vusim" for VUSIM LDO - - "ti,twl6030-vana" for VANA LDO - - "ti,twl6030-vcxio" for VCXIO LDO - - "ti,twl6030-vdac" for VDAC LDO - - "ti,twl6030-vusb" for VUSB LDO - - "ti,twl6030-v1v8" for V1V8 LDO - - "ti,twl6030-v2v1" for V2V1 LDO - - "ti,twl6030-vdd1" for VDD1 SMPS - - "ti,twl6030-vdd2" for VDD2 SMPS - - "ti,twl6030-vdd3" for VDD3 SMPS -For twl6032 regulators/LDOs -- compatible: - - "ti,twl6032-ldo1" for LDO1 LDO - - "ti,twl6032-ldo2" for LDO2 LDO - - "ti,twl6032-ldo3" for LDO3 LDO - - "ti,twl6032-ldo4" for LDO4 LDO - - "ti,twl6032-ldo5" for LDO5 LDO - - "ti,twl6032-ldo6" for LDO6 LDO - - "ti,twl6032-ldo7" for LDO7 LDO - - "ti,twl6032-ldoln" for LDOLN LDO - - "ti,twl6032-ldousb" for LDOUSB LDO - - "ti,twl6032-smps3" for SMPS3 SMPS - - "ti,twl6032-smps4" for SMPS4 SMPS - - "ti,twl6032-vio" for VIO SMPS -For twl4030 regulators/LDOs -- compatible: - - "ti,twl4030-vaux1" for VAUX1 LDO - - "ti,twl4030-vaux2" for VAUX2 LDO - - "ti,twl5030-vaux2" for VAUX2 LDO - - "ti,twl4030-vaux3" for VAUX3 LDO - - "ti,twl4030-vaux4" for VAUX4 LDO - - "ti,twl4030-vmmc1" for VMMC1 LDO - - "ti,twl4030-vmmc2" for VMMC2 LDO - - "ti,twl4030-vpll1" for VPLL1 LDO - - "ti,twl4030-vpll2" for VPLL2 LDO - - "ti,twl4030-vsim" for VSIM LDO - - "ti,twl4030-vdac" for VDAC LDO - - "ti,twl4030-vintana2" for VINTANA2 LDO - - "ti,twl4030-vio" for VIO LDO - - "ti,twl4030-vdd1" for VDD1 SMPS - - "ti,twl4030-vdd2" for VDD2 SMPS - - "ti,twl4030-vintana1" for VINTANA1 LDO - - "ti,twl4030-vintdig" for VINTDIG LDO - - "ti,twl4030-vusb1v5" for VUSB1V5 LDO - - "ti,twl4030-vusb1v8" for VUSB1V8 LDO - - "ti,twl4030-vusb3v1" for VUSB3V1 LDO - -Optional properties: -- Any optional property defined in bindings/regulator/regulator.txt -For twl4030 regulators/LDOs: - - regulator-initial-mode: - - 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. - -Example: - - xyz: regulator@0 { - compatible = "ti,twl6030-vaux1"; - regulator-min-microvolt = <1000000>; - regulator-max-microvolt = <3000000>; - }; - -For twl6030 regulators/LDOs: - - - ti,retain-on-reset: 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.