dt-bindings: regulator: twl-regulator: convert to yaml

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>
Link: https://msgid.link/r/20240606111611.371463-1-andreas@kemnade.info
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Andreas Kemnade 2024-06-06 13:16:11 +02:00 committed by Mark Brown
parent 168ed1e8d0
commit 62e4f33961
No known key found for this signature in database
GPG Key ID: 24D68B725D5487D0
2 changed files with 164 additions and 82 deletions

View File

@ -22,6 +22,32 @@ allOf:
contains: contains:
const: ti,twl4030 const: ti,twl4030
then: 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: properties:
madc: madc:
type: object type: object
@ -50,13 +76,34 @@ allOf:
properties: properties:
compatible: compatible:
const: ti,twl4030-wdt const: ti,twl4030-wdt
- if: - if:
properties: properties:
compatible: compatible:
contains: contains:
const: ti,twl6030 const: ti,twl6030
then: 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: properties:
gpadc: gpadc:
type: object type: object
@ -69,6 +116,25 @@ allOf:
contains: contains:
const: ti,twl6032 const: ti,twl6032
then: 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: properties:
gpadc: gpadc:
type: object type: object
@ -112,6 +178,27 @@ properties:
interrupts: interrupts:
maxItems: 1 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 unevaluatedProperties: false
required: required:
@ -131,9 +218,84 @@ examples:
compatible = "ti,twl6030"; compatible = "ti,twl6030";
reg = <0x48>; reg = <0x48>;
interrupts = <39>; /* IRQ_SYS_1N cascaded to gic */ interrupts = <39>; /* IRQ_SYS_1N cascaded to gic */
interrupt-parent = <&gic>;
interrupt-controller; interrupt-controller;
#interrupt-cells = <1>; #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";
};
};
};
...

View File

@ -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.