On Fri, Dec 17, 2021 at 06:05:06PM +0100, Thierry Reding wrote: > From: Thierry Reding <treding@xxxxxxxxxx> > > Convert the Texas Instruments TPS6586x bindings from the free-form text > format to json-schema. > > Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> > --- > .../bindings/regulator/ti,tps6586x.yaml | 184 ++++++++++++++++++ > .../bindings/regulator/tps6586x.txt | 135 ------------- > 2 files changed, 184 insertions(+), 135 deletions(-) > create mode 100644 Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml > delete mode 100644 Documentation/devicetree/bindings/regulator/tps6586x.txt > > diff --git a/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml b/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml > new file mode 100644 > index 000000000000..c5ea7012c653 > --- /dev/null > +++ b/Documentation/devicetree/bindings/regulator/ti,tps6586x.yaml > @@ -0,0 +1,184 @@ > +# SPDX-License-Identifier: GPL-2.0-only > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/regulator/ti,tps6586x.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Texas Instruments TPS6586x family of voltage regulator > + > +maintainers: > + - Mark Brown <broonie@xxxxxxxxxx> > + > +properties: > + compatible: > + const: ti,tps6586x > + > + reg: > + maxItems: 1 > + > + interrupts: > + maxItems: 1 > + > + sys-supply: > + description: input supply for SYS > + > + vin-sm0-supply: > + description: input supply for SM0 > + > + vin-sm1-supply: > + description: input supply for SM1 > + > + vin-sm2-supply: > + description: input supply for SM2 > + > + vinldo01-supply: > + description: input supply for LDO0 and LDO1 > + > + vinldo23-supply: > + description: input supply for LDO2 and LDO3 > + > + vinldo4-supply: > + description: input supply for LDO4 > + > + vinldo678-supply: > + description: input supply for LDO6, LDO7 and LDO8 > + > + vinldo9-supply: > + description: input supply for LDO9 > + > + ti,system-power-controller: > + $ref: /schemas/types.yaml#/definitions/flag > + description: If this property exists, it specifies that this PMIC controls the system power. > + > + regulators: > + type: object > + description: | > + A node that houses a sub-node for each regulator within the device. Each sub-node is > + identified using the node's name (or the deprecated regulator-compatible property if > + present), with valid values listed below. The content of each sub-node is defined by the > + standard binding for regulators; see regulator.yaml. > + > + Note: LDO5 and LDO_RTC is supplied by SYS regulator internally and the operating system > + needs to take care of establishing the proper parent child relationships. > + > + patternProperties: > + "^sys|sm[0-2]|ldo[0-9]|ldo_rtc$": > + $ref: regulator.yaml > + > +allOf: > + - $ref: /schemas/gpio/gpio.yaml You need to define #gpio-cells value. Usually we don't reference gpio.yaml because of that and it's just 'gpio-controller' in addition. > + > +unevaluatedProperties: false > + > +required: > + - compatible > + - reg > + - interrupts > + > +examples: > + - | > + i2c { > + #address-cells = <1>; > + #size-cells = <0>; > + > + pmic@34 { > + compatible = "ti,tps6586x"; > + reg = <0x34>; > + interrupts = <0 88 0x4>; > + > + #gpio-cells = <2>; > + gpio-controller; > + > + ti,system-power-controller; > + > + sys-supply = <&dummy>; > + vin-sm0-supply = <&dummy>; > + vin-sm1-supply = <&dummy>; > + vin-sm2-supply = <&dummy>; > + vinldo01-supply = <&dummy>; > + vinldo23-supply = <&dummy>; > + vinldo4-supply = <&dummy>; > + vinldo678-supply = <&dummy>; > + vinldo9-supply = <&dummy>; > + > + regulators { > + sys { > + regulator-name = "vdd_sys"; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + sm0 { > + regulator-min-microvolt = < 725000>; > + regulator-max-microvolt = <1500000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + sm1 { > + regulator-min-microvolt = < 725000>; > + regulator-max-microvolt = <1500000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + sm2 { > + regulator-min-microvolt = <3000000>; > + regulator-max-microvolt = <4550000>; > + regulator-boot-on; > + regulator-always-on; > + }; > + > + ldo0 { > + regulator-name = "PCIE CLK"; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + ldo1 { > + regulator-min-microvolt = < 725000>; > + regulator-max-microvolt = <1500000>; > + }; > + > + ldo2 { > + regulator-min-microvolt = < 725000>; > + regulator-max-microvolt = <1500000>; > + }; > + > + ldo3 { > + regulator-min-microvolt = <1250000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + ldo4 { > + regulator-min-microvolt = <1700000>; > + regulator-max-microvolt = <2475000>; > + }; > + > + ldo5 { > + regulator-min-microvolt = <1250000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + ldo6 { > + regulator-min-microvolt = <1250000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + ldo7 { > + regulator-min-microvolt = <1250000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + ldo8 { > + regulator-min-microvolt = <1250000>; > + regulator-max-microvolt = <3300000>; > + }; > + > + ldo9 { > + regulator-min-microvolt = <1250000>; > + regulator-max-microvolt = <3300000>; > + }; > + }; > + }; > + }; > diff --git a/Documentation/devicetree/bindings/regulator/tps6586x.txt b/Documentation/devicetree/bindings/regulator/tps6586x.txt > deleted file mode 100644 > index 8b40cac24d93..000000000000 > --- a/Documentation/devicetree/bindings/regulator/tps6586x.txt > +++ /dev/null > @@ -1,135 +0,0 @@ > -TPS6586x family of regulators > - > -Required properties: > -- compatible: "ti,tps6586x" > -- reg: I2C slave address > -- interrupts: the interrupt outputs of the controller > -- #gpio-cells: number of cells to describe a GPIO > -- gpio-controller: mark the device as a GPIO controller > -- regulators: A node that houses a sub-node for each regulator within the > - device. Each sub-node is identified using the node's name (or the deprecated > - regulator-compatible property if present), with valid values listed below. > - The content of each sub-node is defined by the standard binding for > - regulators; see regulator.txt. > - sys, sm[0-2], ldo[0-9] and ldo_rtc > -- sys-supply: The input supply for SYS. > -- vin-sm0-supply: The input supply for the SM0. > -- vin-sm1-supply: The input supply for the SM1. > -- vin-sm2-supply: The input supply for the SM2. > -- vinldo01-supply: The input supply for the LDO1 and LDO2 > -- vinldo23-supply: The input supply for the LDO2 and LDO3 > -- vinldo4-supply: The input supply for the LDO4 > -- vinldo678-supply: The input supply for the LDO6, LDO7 and LDO8 > -- vinldo9-supply: The input supply for the LDO9 > - > -Optional properties: > -- ti,system-power-controller: Telling whether or not this pmic is controlling > - the system power. > - > -Each regulator is defined using the standard binding for regulators. > - > -Note: LDO5 and LDO_RTC is supplied by SYS regulator internally and driver > - take care of making proper parent child relationship. > - > -Example: > - > - pmu: tps6586x@34 { > - compatible = "ti,tps6586x"; > - reg = <0x34>; > - interrupts = <0 88 0x4>; > - > - #gpio-cells = <2>; > - gpio-controller; > - > - ti,system-power-controller; > - > - sys-supply = <&some_reg>; > - vin-sm0-supply = <&some_reg>; > - vin-sm1-supply = <&some_reg>; > - vin-sm2-supply = <&some_reg>; > - vinldo01-supply = <...>; > - vinldo23-supply = <...>; > - vinldo4-supply = <...>; > - vinldo678-supply = <...>; > - vinldo9-supply = <...>; > - > - regulators { > - sys_reg: sys { > - regulator-name = "vdd_sys"; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - sm0_reg: sm0 { > - regulator-min-microvolt = < 725000>; > - regulator-max-microvolt = <1500000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - sm1_reg: sm1 { > - regulator-min-microvolt = < 725000>; > - regulator-max-microvolt = <1500000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - sm2_reg: sm2 { > - regulator-min-microvolt = <3000000>; > - regulator-max-microvolt = <4550000>; > - regulator-boot-on; > - regulator-always-on; > - }; > - > - ldo0_reg: ldo0 { > - regulator-name = "PCIE CLK"; > - regulator-min-microvolt = <3300000>; > - regulator-max-microvolt = <3300000>; > - }; > - > - ldo1_reg: ldo1 { > - regulator-min-microvolt = < 725000>; > - regulator-max-microvolt = <1500000>; > - }; > - > - ldo2_reg: ldo2 { > - regulator-min-microvolt = < 725000>; > - regulator-max-microvolt = <1500000>; > - }; > - > - ldo3_reg: ldo3 { > - regulator-min-microvolt = <1250000>; > - regulator-max-microvolt = <3300000>; > - }; > - > - ldo4_reg: ldo4 { > - regulator-min-microvolt = <1700000>; > - regulator-max-microvolt = <2475000>; > - }; > - > - ldo5_reg: ldo5 { > - regulator-min-microvolt = <1250000>; > - regulator-max-microvolt = <3300000>; > - }; > - > - ldo6_reg: ldo6 { > - regulator-min-microvolt = <1250000>; > - regulator-max-microvolt = <3300000>; > - }; > - > - ldo7_reg: ldo7 { > - regulator-min-microvolt = <1250000>; > - regulator-max-microvolt = <3300000>; > - }; > - > - ldo8_reg: ldo8 { > - regulator-min-microvolt = <1250000>; > - regulator-max-microvolt = <3300000>; > - }; > - > - ldo9_reg: ldo9 { > - regulator-min-microvolt = <1250000>; > - regulator-max-microvolt = <3300000>; > - }; > - }; > - }; > -- > 2.34.1 > >