Commit 8c5e461d authored by Laxman Dewangan's avatar Laxman Dewangan Committed by Mark Brown

regulator: dt: add policy to have property "regulator-compatible"

Add the policy for regulator DT such that if device have multiple
regulator and its binding contains a child node that describes each
regulator then each regulator child node must have the property
"regulator-compatible" which matches with regulator name of their
hardware counterparts.
Modify the DT documentation of regulator devices to reflect this
policy.
Signed-off-by: default avatarLaxman Dewangan <ldewangan@nvidia.com>
Acked-by: default avatarStephen Warren <swarren@wwwdotorg.org>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent 6dc027c9
...@@ -17,8 +17,9 @@ Required properties: ...@@ -17,8 +17,9 @@ Required properties:
device need to be present. The definition for each of these nodes is defined device need to be present. The definition for each of these nodes is defined
using the standard binding for regulators found at using the standard binding for regulators found at
Documentation/devicetree/bindings/regulator/regulator.txt. Documentation/devicetree/bindings/regulator/regulator.txt.
The regulator is matched with the regulator-compatible.
The valid names for regulators are: The valid regulator-compatible values are:
tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1, tps65910: vrtc, vio, vdd1, vdd2, vdd3, vdig1, vdig2, vpll, vdac, vaux1,
vaux2, vaux33, vmmc vaux2, vaux33, vmmc
tps65911: vrtc, vio, vdd1, vdd3, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5, tps65911: vrtc, vio, vdd1, vdd3, vddctrl, ldo1, ldo2, ldo3, ldo4, ldo5,
...@@ -57,73 +58,100 @@ Example: ...@@ -57,73 +58,100 @@ Example:
ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>; ti,en-gpio-sleep = <0 0 1 0 0 0 0 0 0>;
regulators { regulators {
vdd1_reg: vdd1 { #address-cells = <1>;
#size-cells = <0>;
vdd1_reg: regulator@0 {
regulator-compatible = "vdd1";
reg = <0>;
regulator-min-microvolt = < 600000>; regulator-min-microvolt = < 600000>;
regulator-max-microvolt = <1500000>; regulator-max-microvolt = <1500000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
ti,regulator-ext-sleep-control = <0>; ti,regulator-ext-sleep-control = <0>;
}; };
vdd2_reg: vdd2 { vdd2_reg: regulator@1 {
regulator-compatible = "vdd2";
reg = <1>;
regulator-min-microvolt = < 600000>; regulator-min-microvolt = < 600000>;
regulator-max-microvolt = <1500000>; regulator-max-microvolt = <1500000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
ti,regulator-ext-sleep-control = <4>; ti,regulator-ext-sleep-control = <4>;
}; };
vddctrl_reg: vddctrl { vddctrl_reg: regulator@2 {
regulator-compatible = "vddctrl";
reg = <2>;
regulator-min-microvolt = < 600000>; regulator-min-microvolt = < 600000>;
regulator-max-microvolt = <1400000>; regulator-max-microvolt = <1400000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
ti,regulator-ext-sleep-control = <0>; ti,regulator-ext-sleep-control = <0>;
}; };
vio_reg: vio { vio_reg: regulator@3 {
regulator-compatible = "vio";
reg = <3>;
regulator-min-microvolt = <1500000>; regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1800000>; regulator-max-microvolt = <1800000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
ti,regulator-ext-sleep-control = <1>; ti,regulator-ext-sleep-control = <1>;
}; };
ldo1_reg: ldo1 { ldo1_reg: regulator@4 {
regulator-compatible = "ldo1";
reg = <4>;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
ti,regulator-ext-sleep-control = <0>; ti,regulator-ext-sleep-control = <0>;
}; };
ldo2_reg: ldo2 { ldo2_reg: regulator@5 {
regulator-compatible = "ldo2";
reg = <5>;
regulator-min-microvolt = <1050000>; regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>; regulator-max-microvolt = <1050000>;
ti,regulator-ext-sleep-control = <0>; ti,regulator-ext-sleep-control = <0>;
}; };
ldo3_reg: ldo3 { ldo3_reg: regulator@6 {
regulator-compatible = "ldo3";
reg = <6>;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
ti,regulator-ext-sleep-control = <0>; ti,regulator-ext-sleep-control = <0>;
}; };
ldo4_reg: ldo4 { ldo4_reg: regulator@7 {
regulator-compatible = "ldo4";
reg = <7>;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
regulator-always-on; regulator-always-on;
ti,regulator-ext-sleep-control = <0>; ti,regulator-ext-sleep-control = <0>;
}; };
ldo5_reg: ldo5 { ldo5_reg: regulator@8 {
regulator-compatible = "ldo5";
reg = <8>;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
ti,regulator-ext-sleep-control = <0>; ti,regulator-ext-sleep-control = <0>;
}; };
ldo6_reg: ldo6 { ldo6_reg: regulator@9 {
regulator-compatible = "ldo6";
reg = <9>;
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
ti,regulator-ext-sleep-control = <0>; ti,regulator-ext-sleep-control = <0>;
}; };
ldo7_reg: ldo7 { ldo7_reg: regulator@10 {
regulator-compatible = "ldo7";
reg = <10>;
regulator-min-microvolt = <1200000>; regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>; regulator-max-microvolt = <1200000>;
regulator-always-on; regulator-always-on;
regulator-boot-on; regulator-boot-on;
ti,regulator-ext-sleep-control = <1>; ti,regulator-ext-sleep-control = <1>;
}; };
ldo8_reg: ldo8 { ldo8_reg: regulator@11 {
regulator-compatible = "ldo8";
reg = <11>;
regulator-min-microvolt = <1000000>; regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
regulator-always-on; regulator-always-on;
......
...@@ -11,6 +11,10 @@ Optional properties: ...@@ -11,6 +11,10 @@ Optional properties:
- regulator-boot-on: bootloader/firmware enabled regulator - regulator-boot-on: bootloader/firmware enabled regulator
- <name>-supply: phandle to the parent supply/regulator node - <name>-supply: phandle to the parent supply/regulator node
- regulator-ramp-delay: ramp delay for regulator(in uV/uS) - regulator-ramp-delay: ramp delay for regulator(in uV/uS)
- regulator-compatible: If a regulator chip contains multiple
regulators, and if the chip's binding contains a child node that
describes each regulator, then this property indicates which regulator
this child node is intended to configure.
Example: Example:
......
...@@ -6,8 +6,9 @@ Required properties: ...@@ -6,8 +6,9 @@ Required properties:
- interrupts: the interrupt outputs of the controller - interrupts: the interrupt outputs of the controller
- #gpio-cells: number of cells to describe a GPIO - #gpio-cells: number of cells to describe a GPIO
- gpio-controller: mark the device as a GPIO controller - gpio-controller: mark the device as a GPIO controller
- regulators: list of regulators provided by this controller, must be named - regulators: list of regulators provided by this controller, must have
after their hardware counterparts: sm[0-2], ldo[0-9] and ldo_rtc property "regulator-compatible" to match their hardware counterparts:
sm[0-2], ldo[0-9] and ldo_rtc
Each regulator is defined using the standard binding for regulators. Each regulator is defined using the standard binding for regulators.
...@@ -22,74 +23,103 @@ Example: ...@@ -22,74 +23,103 @@ Example:
gpio-controller; gpio-controller;
regulators { regulators {
sm0_reg: sm0 { #address-cells = <1>;
#size-cells = <0>;
sm0_reg: regulator@0 {
reg = <0>;
regulator-compatible = "sm0";
regulator-min-microvolt = < 725000>; regulator-min-microvolt = < 725000>;
regulator-max-microvolt = <1500000>; regulator-max-microvolt = <1500000>;
regulator-boot-on; regulator-boot-on;
regulator-always-on; regulator-always-on;
}; };
sm1_reg: sm1 { sm1_reg: regulator@1 {
reg = <1>;
regulator-compatible = "sm1";
regulator-min-microvolt = < 725000>; regulator-min-microvolt = < 725000>;
regulator-max-microvolt = <1500000>; regulator-max-microvolt = <1500000>;
regulator-boot-on; regulator-boot-on;
regulator-always-on; regulator-always-on;
}; };
sm2_reg: sm2 { sm2_reg: regulator@2 {
reg = <2>;
regulator-compatible = "sm2";
regulator-min-microvolt = <3000000>; regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <4550000>; regulator-max-microvolt = <4550000>;
regulator-boot-on; regulator-boot-on;
regulator-always-on; regulator-always-on;
}; };
ldo0_reg: ldo0 { ldo0_reg: regulator@3 {
reg = <3>;
regulator-compatible = "ldo0";
regulator-name = "PCIE CLK"; regulator-name = "PCIE CLK";
regulator-min-microvolt = <3300000>; regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
ldo1_reg: ldo1 { ldo1_reg: regulator@4 {
reg = <4>;
regulator-compatible = "ldo1";
regulator-min-microvolt = < 725000>; regulator-min-microvolt = < 725000>;
regulator-max-microvolt = <1500000>; regulator-max-microvolt = <1500000>;
}; };
ldo2_reg: ldo2 { ldo2_reg: regulator@5 {
reg = <5>;
regulator-compatible = "ldo2";
regulator-min-microvolt = < 725000>; regulator-min-microvolt = < 725000>;
regulator-max-microvolt = <1500000>; regulator-max-microvolt = <1500000>;
}; };
ldo3_reg: ldo3 { ldo3_reg: regulator@6 {
reg = <6>;
regulator-compatible = "ldo3";
regulator-min-microvolt = <1250000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
ldo4_reg: ldo4 { ldo4_reg: regulator@7 {
reg = <7>;
regulator-compatible = "ldo4";
regulator-min-microvolt = <1700000>; regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <2475000>; regulator-max-microvolt = <2475000>;
}; };
ldo5_reg: ldo5 { ldo5_reg: regulator@8 {
reg = <8>;
regulator-compatible = "ldo5";
regulator-min-microvolt = <1250000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
ldo6_reg: ldo6 { ldo6_reg: regulator@9 {
reg = <9>;
regulator-compatible = "ldo6";
regulator-min-microvolt = <1250000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
ldo7_reg: ldo7 { ldo7_reg: regulator@10 {
reg = <10>;
regulator-compatible = "ldo7";
regulator-min-microvolt = <1250000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
ldo8_reg: ldo8 { ldo8_reg: regulator@11 {
reg = <11>;
regulator-compatible = "ldo8";
regulator-min-microvolt = <1250000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
ldo9_reg: ldo9 { ldo9_reg: regulator@12 {
reg = <12>;
regulator-compatible = "ldo9";
regulator-min-microvolt = <1250000>; regulator-min-microvolt = <1250000>;
regulator-max-microvolt = <3300000>; regulator-max-microvolt = <3300000>;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment