From: Thierry Reding <treding@xxxxxxxxxx> Convert the Texas Instruments TPS65090 bindings from the free-form text format to json-schema. Signed-off-by: Thierry Reding <treding@xxxxxxxxxx> --- .../bindings/regulator/ti,tps65090.yaml | 199 ++++++++++++++++++ .../bindings/regulator/tps65090.txt | 126 ----------- 2 files changed, 199 insertions(+), 126 deletions(-) create mode 100644 Documentation/devicetree/bindings/regulator/ti,tps65090.yaml delete mode 100644 Documentation/devicetree/bindings/regulator/tps65090.txt diff --git a/Documentation/devicetree/bindings/regulator/ti,tps65090.yaml b/Documentation/devicetree/bindings/regulator/ti,tps65090.yaml new file mode 100644 index 000000000000..9743746475a8 --- /dev/null +++ b/Documentation/devicetree/bindings/regulator/ti,tps65090.yaml @@ -0,0 +1,199 @@ +# SPDX-License-Identifier: GPL-2.0-only +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/regulator/ti,tps65090.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Texas Instruments TPS65090 voltage regulator + +maintainers: + - Mark Brown <broonie@xxxxxxxxxx> + +properties: + compatible: + const: ti,tps65090 + + reg: + maxItems: 1 + + interrupts: + maxItems: 1 + + vsys1-supply: + description: input supply for DCDC1 + + vsys2-supply: + description: input supply for DCDC2 + + vsys3-supply: + description: input supply for DCDC3 + + infet1-supply: + description: input supply for FET1 + + infet2-supply: + description: input supply for FET2 + + infet3-supply: + description: input supply for FET3 + + infet4-supply: + description: input supply for FET4 + + infet5-supply: + description: input supply for FET5 + + infet6-supply: + description: input supply for FET6 + + infet7-supply: + description: input supply for FET7 + + vsys-l1-supply: + description: input supply for LDO1 + + vsys-l2-supply: + description: input supply for LDO2 + + charger: + $ref: ../power/supply/tps65090-charger.yaml + + 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, with valid values listed below. The content of each + sub-node is defined by the standard binding for regulators; see regulator.txt. + + patternProperties: + "^dcdc[1-3]|fet[1-7]|ldo[1-2]$": + $ref: regulator.yaml + properties: + ti,enable-ext-control: + $ref: /schemas/types.yaml#/definitions/flag + description: This is applicable for DCDC1, DCDC2 and DCDC3. If DCDCs are externally + controlled then this property should be there. + + dcdc-ext-control-gpios: + $ref: /schemas/types.yaml#/definitions/phandle-array + description: This is applicable for DCDC1, DCDC2 and DCDC3. If DCDCs are externally + controlled and if it is from GPIO then GPIO number should be provided. If it is + externally controlled and no GPIO entry then driver will just configure this rails + as external control and will not provide any enable/disable APIs. + + ti,overcurrent-wait: + $ref: /schemas/types.yaml#/definitions/uint32 + description: This is applicable to FET registers, which have a poorly defined + "overcurrent wait" field. If this property is present it should be between 0 - 3. + If this property isn't present we won't touch the "overcurrent wait" field and we'll + leave it to the BIOS/EC to deal with. + enum: [ 0, 1, 2, 3 ] + +additionalProperties: false + +required: + - compatible + - reg + - interrupts + - regulators + +examples: + - | + i2c { + #address-cells = <1>; + #size-cells = <0>; + + pmic@48 { + compatible = "ti,tps65090"; + reg = <0x48>; + interrupts = <0 88 0x4>; + + vsys1-supply = <&some_reg>; + vsys2-supply = <&some_reg>; + vsys3-supply = <&some_reg>; + infet1-supply = <&some_reg>; + infet2-supply = <&some_reg>; + infet3-supply = <&some_reg>; + infet4-supply = <&some_reg>; + infet5-supply = <&some_reg>; + infet6-supply = <&some_reg>; + infet7-supply = <&some_reg>; + vsys-l1-supply = <&some_reg>; + vsys-l2-supply = <&some_reg>; + + regulators { + dcdc1 { + regulator-name = "dcdc1"; + regulator-boot-on; + regulator-always-on; + ti,enable-ext-control; + dcdc-ext-control-gpios = <&gpio 10 0>; + }; + + dcdc2 { + regulator-name = "dcdc2"; + regulator-boot-on; + regulator-always-on; + }; + + dcdc3 { + regulator-name = "dcdc3"; + regulator-boot-on; + regulator-always-on; + }; + + fet1 { + regulator-name = "fet1"; + regulator-boot-on; + regulator-always-on; + }; + + fet2 { + regulator-name = "fet2"; + regulator-boot-on; + regulator-always-on; + }; + + fet3 { + regulator-name = "fet3"; + regulator-boot-on; + regulator-always-on; + }; + + fet4 { + regulator-name = "fet4"; + regulator-boot-on; + regulator-always-on; + }; + + fet5 { + regulator-name = "fet5"; + regulator-boot-on; + regulator-always-on; + }; + + fet6 { + regulator-name = "fet6"; + regulator-boot-on; + regulator-always-on; + }; + + fet7 { + regulator-name = "fet7"; + regulator-boot-on; + regulator-always-on; + }; + + ldo1 { + regulator-name = "ldo1"; + regulator-boot-on; + regulator-always-on; + }; + + ldo2 { + regulator-name = "ldo2"; + regulator-boot-on; + regulator-always-on; + }; + }; + }; + }; diff --git a/Documentation/devicetree/bindings/regulator/tps65090.txt b/Documentation/devicetree/bindings/regulator/tps65090.txt deleted file mode 100644 index ae326f263597..000000000000 --- a/Documentation/devicetree/bindings/regulator/tps65090.txt +++ /dev/null @@ -1,126 +0,0 @@ -TPS65090 regulators - -Required properties: -- compatible: "ti,tps65090" -- reg: I2C slave address -- interrupts: the interrupt outputs of the 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, with valid - values listed below. The content of each sub-node is defined by the - standard binding for regulators; see regulator.txt. - dcdc[1-3], fet[1-7] and ldo[1-2] respectively. -- vsys[1-3]-supply: The input supply for DCDC[1-3] respectively. -- infet[1-7]-supply: The input supply for FET[1-7] respectively. -- vsys-l[1-2]-supply: The input supply for LDO[1-2] respectively. - -Optional properties: -- ti,enable-ext-control: This is applicable for DCDC1, DCDC2 and DCDC3. - If DCDCs are externally controlled then this property should be there. -- dcdc-ext-control-gpios: This is applicable for DCDC1, DCDC2 and DCDC3. - If DCDCs are externally controlled and if it is from GPIO then GPIO - number should be provided. If it is externally controlled and no GPIO - entry then driver will just configure this rails as external control - and will not provide any enable/disable APIs. -- ti,overcurrent-wait: This is applicable to FET registers, which have a - poorly defined "overcurrent wait" field. If this property is present it - should be between 0 - 3. If this property isn't present we won't touch the - "overcurrent wait" field and we'll leave it to the BIOS/EC to deal with. - -Each regulator is defined using the standard binding for regulators. - -Example: - - tps65090@48 { - compatible = "ti,tps65090"; - reg = <0x48>; - interrupts = <0 88 0x4>; - - vsys1-supply = <&some_reg>; - vsys2-supply = <&some_reg>; - vsys3-supply = <&some_reg>; - infet1-supply = <&some_reg>; - infet2-supply = <&some_reg>; - infet3-supply = <&some_reg>; - infet4-supply = <&some_reg>; - infet5-supply = <&some_reg>; - infet6-supply = <&some_reg>; - infet7-supply = <&some_reg>; - vsys-l1-supply = <&some_reg>; - vsys-l2-supply = <&some_reg>; - - regulators { - dcdc1 { - regulator-name = "dcdc1"; - regulator-boot-on; - regulator-always-on; - ti,enable-ext-control; - dcdc-ext-control-gpios = <&gpio 10 0>; - }; - - dcdc2 { - regulator-name = "dcdc2"; - regulator-boot-on; - regulator-always-on; - }; - - dcdc3 { - regulator-name = "dcdc3"; - regulator-boot-on; - regulator-always-on; - }; - - fet1 { - regulator-name = "fet1"; - regulator-boot-on; - regulator-always-on; - }; - - fet2 { - regulator-name = "fet2"; - regulator-boot-on; - regulator-always-on; - }; - - fet3 { - regulator-name = "fet3"; - regulator-boot-on; - regulator-always-on; - }; - - fet4 { - regulator-name = "fet4"; - regulator-boot-on; - regulator-always-on; - }; - - fet5 { - regulator-name = "fet5"; - regulator-boot-on; - regulator-always-on; - }; - - fet6 { - regulator-name = "fet6"; - regulator-boot-on; - regulator-always-on; - }; - - fet7 { - regulator-name = "fet7"; - regulator-boot-on; - regulator-always-on; - }; - - ldo1 { - regulator-name = "ldo1"; - regulator-boot-on; - regulator-always-on; - }; - - ldo2 { - regulator-name = "ldo2"; - regulator-boot-on; - regulator-always-on; - }; - }; - }; -- 2.34.1