aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2013-07-04 06:14:12 -0400
committerMark Brown <broonie@linaro.org>2013-07-04 06:14:12 -0400
commitabca37cd2e12a898289f2392c1658e711005535b (patch)
tree60453bb7fa783e86abea7b89ece8ed4aea9fe6ca /Documentation
parent8d0509e9d6e1303acb40f53f5158fceec46e86e7 (diff)
parent1baa3b4e06f1e03f4fbbbc3734ea3b9a7a1134ec (diff)
Merge remote-tracking branch 'regulator/fix/s5m8767' into regulator-linus
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/devicetree/bindings/mfd/max77693.txt55
-rw-r--r--Documentation/devicetree/bindings/regulator/lp872x.txt160
-rw-r--r--Documentation/devicetree/bindings/regulator/max8973-regulator.txt21
-rw-r--r--Documentation/devicetree/bindings/regulator/regulator.txt1
-rw-r--r--Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt14
-rw-r--r--Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt128
6 files changed, 372 insertions, 7 deletions
diff --git a/Documentation/devicetree/bindings/mfd/max77693.txt b/Documentation/devicetree/bindings/mfd/max77693.txt
new file mode 100644
index 000000000000..11921cc417bf
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/max77693.txt
@@ -0,0 +1,55 @@
1Maxim MAX77693 multi-function device
2
3MAX77693 is a Multifunction device with the following submodules:
4- PMIC,
5- CHARGER,
6- LED,
7- MUIC,
8- HAPTIC
9
10It is interfaced to host controller using i2c.
11This document describes the bindings for the mfd device.
12
13Required properties:
14- compatible : Must be "maxim,max77693".
15- reg : Specifies the i2c slave address of PMIC block.
16- interrupts : This i2c device has an IRQ line connected to the main SoC.
17- interrupt-parent : The parent interrupt controller.
18
19Optional properties:
20- regulators : The regulators of max77693 have to be instantiated under subnod
21 named "regulators" using the following format.
22
23 regulators {
24 regualtor-compatible = ESAFEOUT1/ESAFEOUT2/CHARGER
25 standard regulator constratints[*].
26 };
27
28 [*] refer Documentation/devicetree/bindings/regulator/regulator.txt
29
30Example:
31 max77693@66 {
32 compatible = "maxim,max77693";
33 reg = <0x66>;
34 interrupt-parent = <&gpx1>;
35 interrupts = <5 2>;
36
37 regulators {
38 esafeout@1 {
39 regulator-compatible = "ESAFEOUT1";
40 regulator-name = "ESAFEOUT1";
41 regulator-boot-on;
42 };
43 esafeout@2 {
44 regulator-compatible = "ESAFEOUT2";
45 regulator-name = "ESAFEOUT2";
46 };
47 charger@0 {
48 regulator-compatible = "CHARGER";
49 regulator-name = "CHARGER";
50 regulator-min-microamp = <60000>;
51 regulator-max-microamp = <2580000>;
52 regulator-boot-on;
53 };
54 };
55 };
diff --git a/Documentation/devicetree/bindings/regulator/lp872x.txt b/Documentation/devicetree/bindings/regulator/lp872x.txt
new file mode 100644
index 000000000000..78183182dad9
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/lp872x.txt
@@ -0,0 +1,160 @@
1Binding for TI/National Semiconductor LP872x Driver
2
3Required properties:
4 - compatible: "ti,lp8720" or "ti,lp8725"
5 - reg: I2C slave address. 0x7d = LP8720, 0x7a = LP8725
6
7Optional properties:
8 - ti,general-config: the value of LP872X_GENERAL_CFG register (u8)
9 (LP8720)
10 bit[2]: BUCK output voltage control by external DVS pin or register
11 1 = external pin, 0 = bit7 of register 08h
12 bit[1]: sleep control by external DVS pin or register
13 1 = external pin, 0 = bit6 of register 08h
14 bit[0]: time step unit(usec). 1 = 25, 0 = 50
15
16 (LP8725)
17 bit[7:6]: time step unit(usec). 00 = 32, 01 = 64, 10 = 128, 11 = 256
18 bit[4]: BUCK2 enable control. 1 = enable, 0 = disable
19 bit[3]: BUCK2 output voltage register address. 1 = 0Ah, 0 = 0Bh
20 bit[2]: BUCK1 output voltage control by external DVS pin or register
21 1 = register 08h, 0 = DVS
22 bit[1]: LDO sleep control. 1 = sleep mode, 0 = normal
23 bit[0]: BUCK1 enable control, 1 = enable, 0 = disable
24
25 For more details, please see the datasheet.
26
27 - ti,update-config: define it when LP872X_GENERAL_CFG register should be set
28 - ti,dvs-gpio: GPIO specifier for external DVS pin control of LP872x devices.
29 - ti,dvs-vsel: DVS selector. 0 = SEL_V1, 1 = SEL_V2.
30 - ti,dvs-state: initial DVS pin state. 0 = DVS_LOW, 1 = DVS_HIGH.
31
32 Sub nodes for regulator_init_data
33 LP8720 has maximum 6 nodes. (child name: ldo1 ~ 5 and buck)
34 LP8725 has maximum 9 nodes. (child name: ldo1 ~ 5, lilo1,2 and buck1,2)
35 For more details, please see the following binding document.
36 (Documentation/devicetree/bindings/regulator/regulator.txt)
37
38Datasheet
39 - LP8720: http://www.ti.com/lit/ds/symlink/lp8720.pdf
40 - LP8725: http://www.ti.com/lit/ds/symlink/lp8725.pdf
41
42Example 1) LP8720
43
44lp8720@7d {
45 compatible = "ti,lp8720";
46 reg = <0x7d>;
47
48 /* external DVS pin used, timestep is 25usec */
49 ti,general-config = /bits/ 8 <0x03>;
50 ti,update-config;
51
52 /*
53 * The dvs-gpio depends on the processor environment.
54 * For example, following GPIO specifier means GPIO134 in OMAP4.
55 */
56 ti,dvs-gpio = <&gpio5 6 0>;
57 ti,dvs-vsel = /bits/ 8 <1>; /* SEL_V2 */
58 ti,dvs-state = /bits/ 8 <1>; /* DVS_HIGH */
59
60 vaf: ldo1 {
61 regulator-min-microvolt = <1200000>;
62 regulator-max-microvolt = <3300000>;
63 };
64
65 vmmc: ldo2 {
66 regulator-min-microvolt = <1200000>;
67 regulator-max-microvolt = <3300000>;
68 };
69
70 vcam_io: ldo3 {
71 regulator-min-microvolt = <1200000>;
72 regulator-max-microvolt = <3300000>;
73 regulator-boot-on;
74 };
75
76 vcam_core: ldo4 {
77 regulator-min-microvolt = <800000>;
78 regulator-max-microvolt = <2850000>;
79 regulator-boot-on;
80 };
81
82 vcam: ldo5 {
83 regulator-min-microvolt = <1200000>;
84 regulator-max-microvolt = <3300000>;
85 };
86
87 vcc: buck {
88 regulator-name = "VBUCK";
89 regulator-min-microvolt = <800000>;
90 regulator-max-microvolt = <2300000>;
91 };
92};
93
94Example 2) LP8725
95
96lp8725@7a {
97 compatible = "ti,lp8725";
98 reg = <0x7a>;
99
100 /* Enable BUCK1,2, no DVS, normal LDO mode, timestep is 256usec */
101 ti,general-config = /bits/ 8 <0xdd>;
102 ti,update-config;
103
104 vcam_io: ldo1 {
105 regulator-min-microvolt = <1200000>;
106 regulator-max-microvolt = <3300000>;
107 };
108
109 vcam_core: ldo2 {
110 regulator-min-microvolt = <1200000>;
111 regulator-max-microvolt = <3300000>;
112 };
113
114 vcam: ldo3 {
115 regulator-min-microvolt = <1200000>;
116 regulator-max-microvolt = <3300000>;
117 };
118
119 vcmmb_io: ldo4 {
120 regulator-min-microvolt = <1200000>;
121 regulator-max-microvolt = <3300000>;
122 regulator-boot-on;
123 };
124
125 vcmmb_core: ldo5 {
126 regulator-min-microvolt = <1200000>;
127 regulator-max-microvolt = <3300000>;
128 regulator-boot-on;
129 };
130
131 vaux1: lilo1 {
132 regulator-name = "VAUX1";
133 regulator-min-microvolt = <800000>;
134 regulator-max-microvolt = <3300000>;
135 };
136
137 vaux2: lilo2 {
138 regulator-name = "VAUX2";
139 regulator-min-microvolt = <800000>;
140 regulator-max-microvolt = <3300000>;
141 };
142
143 vcc1: buck1 {
144 regulator-name = "VBUCK1";
145 regulator-min-microvolt = <800000>;
146 regulator-max-microvolt = <3000000>;
147 regulator-min-microamp = <460000>;
148 regulator-max-microamp = <1370000>;
149 regulator-boot-on;
150 };
151
152 vcc2: buck2 {
153 regulator-name = "VBUCK2";
154 regulator-min-microvolt = <800000>;
155 regulator-max-microvolt = <3000000>;
156 regulator-min-microamp = <460000>;
157 regulator-max-microamp = <1370000>;
158 regulator-boot-on;
159 };
160};
diff --git a/Documentation/devicetree/bindings/regulator/max8973-regulator.txt b/Documentation/devicetree/bindings/regulator/max8973-regulator.txt
new file mode 100644
index 000000000000..4f15d8a1bfd0
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/max8973-regulator.txt
@@ -0,0 +1,21 @@
1* Maxim MAX8973 Voltage Regulator
2
3Required properties:
4
5- compatible: must be "maxim,max8973"
6- reg: the i2c slave address of the regulator. It should be 0x1b.
7
8Any standard regulator properties can be used to configure the single max8973
9DCDC.
10
11Example:
12
13 max8973@1b {
14 compatible = "maxim,max8973";
15 reg = <0x1b>;
16
17 regulator-min-microvolt = <935000>;
18 regulator-max-microvolt = <1200000>;
19 regulator-boot-on;
20 regulator-always-on;
21 };
diff --git a/Documentation/devicetree/bindings/regulator/regulator.txt b/Documentation/devicetree/bindings/regulator/regulator.txt
index ecfc6ccd67ef..48a3b8e5d6bd 100644
--- a/Documentation/devicetree/bindings/regulator/regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/regulator.txt
@@ -9,6 +9,7 @@ Optional properties:
9- regulator-max-microamp: largest current consumers may set 9- regulator-max-microamp: largest current consumers may set
10- regulator-always-on: boolean, regulator should never be disabled 10- regulator-always-on: boolean, regulator should never be disabled
11- regulator-boot-on: bootloader/firmware enabled regulator 11- regulator-boot-on: bootloader/firmware enabled regulator
12- regulator-allow-bypass: allow the regulator to go into bypass mode
12- <name>-supply: phandle to the parent supply/regulator node 13- <name>-supply: phandle to the parent supply/regulator node
13- regulator-ramp-delay: ramp delay for regulator(in uV/uS) 14- regulator-ramp-delay: ramp delay for regulator(in uV/uS)
14 15
diff --git a/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt b/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt
index a35ff99003a5..d1660a90fc06 100644
--- a/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/s5m8767-regulator.txt
@@ -1,6 +1,6 @@
1* Samsung S5M8767 Voltage and Current Regulator 1* Samsung S5M8767 Voltage and Current Regulator
2 2
3The Samsung S5M8767 is a multi-function device which includes volatage and 3The Samsung S5M8767 is a multi-function device which includes voltage and
4current regulators, rtc, charger controller and other sub-blocks. It is 4current regulators, rtc, charger controller and other sub-blocks. It is
5interfaced to the host controller using a i2c interface. Each sub-block is 5interfaced to the host controller using a i2c interface. Each sub-block is
6addressed by the host system using different i2c slave address. This document 6addressed by the host system using different i2c slave address. This document
@@ -103,13 +103,13 @@ Example:
103 103
104 s5m8767,pmic-buck-default-dvs-idx = <0>; 104 s5m8767,pmic-buck-default-dvs-idx = <0>;
105 105
106 s5m8767,pmic-buck-dvs-gpios = <&gpx0 0 1 0 0>, /* DVS1 */ 106 s5m8767,pmic-buck-dvs-gpios = <&gpx0 0 0>, /* DVS1 */
107 <&gpx0 1 1 0 0>, /* DVS2 */ 107 <&gpx0 1 0>, /* DVS2 */
108 <&gpx0 2 1 0 0>; /* DVS3 */ 108 <&gpx0 2 0>; /* DVS3 */
109 109
110 s5m8767,pmic-buck-ds-gpios = <&gpx2 3 1 0 0>, /* SET1 */ 110 s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>, /* SET1 */
111 <&gpx2 4 1 0 0>, /* SET2 */ 111 <&gpx2 4 0>, /* SET2 */
112 <&gpx2 5 1 0 0>; /* SET3 */ 112 <&gpx2 5 0>; /* SET3 */
113 113
114 s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>, 114 s5m8767,pmic-buck2-dvs-voltage = <1350000>, <1300000>,
115 <1250000>, <1200000>, 115 <1250000>, <1200000>,
diff --git a/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt b/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt
new file mode 100644
index 000000000000..2e57a33e9029
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/ti-abb-regulator.txt
@@ -0,0 +1,128 @@
1Adaptive Body Bias(ABB) SoC internal LDO regulator for Texas Instruments SoCs
2
3Required Properties:
4- compatible: Should be one of:
5 - "ti,abb-v1" for older SoCs like OMAP3
6 - "ti,abb-v2" for newer SoCs like OMAP4, OMAP5
7- reg: Address and length of the register set for the device. It contains
8 the information of registers in the same order as described by reg-names
9- reg-names: Should contain the reg names
10 - "base-address" - contains base address of ABB module
11 - "int-address" - contains address of interrupt register for ABB module
12 (also see Optional properties)
13- #address-cell: should be 0
14- #size-cell: should be 0
15- clocks: should point to the clock node used by ABB module
16- ti,settling-time: Settling time in uSecs from SoC documentation for ABB module
17 to settle down(target time for SR2_WTCNT_VALUE).
18- ti,clock-cycles: SoC specific data about count of system ti,clock-cycles used for
19 computing settling time from SoC Documentation for ABB module(clock
20 cycles for SR2_WTCNT_VALUE).
21- ti,tranxdone-status-mask: Mask to the int-register to write-to-clear mask
22 indicating LDO tranxdone (operation complete).
23- ti,abb_info: An array of 6-tuples u32 items providing information about ABB
24 configuration needed per operational voltage of the device.
25 Each item consists of the following in the same order:
26 volt: voltage in uV - Only used to index ABB information.
27 ABB mode: one of the following:
28 0-bypass
29 1-Forward Body Bias(FBB)
30 3-Reverse Body Bias(RBB)
31 efuse: (see Optional properties)
32 RBB enable efuse Mask: (See Optional properties)
33 FBB enable efuse Mask: (See Optional properties)
34 Vset value efuse Mask: (See Optional properties)
35
36 NOTE: If more than 1 entry is present, then regulator is setup to change
37 voltage, allowing for various modes to be selected indexed off
38 the regulator. Further, ABB LDOs are considered always-on by
39 default.
40
41Optional Properties:
42- reg-names: In addition to the required properties, the following are optional
43 - "efuse-address" - Contains efuse base address used to pick up ABB info.
44 - "ldo-address" - Contains address of ABB LDO overide register address.
45 "efuse-address" is required for this.
46- ti,ldovbb-vset-mask - Required if ldo-address is set, mask for LDO override
47 register to provide override vset value.
48- ti,ldovbb-override-mask - Required if ldo-address is set, mask for LDO
49 override register to enable override vset value.
50- ti,abb_opp_sel: Addendum to the description in required properties
51 efuse: Mandatory if 'efuse-address' register is defined. Provides offset
52 from efuse-address to pick up ABB characteristics. Set to 0 if
53 'efuse-address' is not defined.
54 RBB enable efuse Mask: Optional if 'efuse-address' register is defined.
55 'ABB mode' is force set to RBB mode if value at "efuse-address"
56 + efuse maps to RBB mask. Set to 0 to ignore this.
57 FBB enable efuse Mask: Optional if 'efuse-address' register is defined.
58 'ABB mode' is force set to FBB mode if value at "efuse-address"
59 + efuse maps to FBB mask (valid only if RBB mask does not match)
60 Set to 0 to ignore this.
61 Vset value efuse Mask: Mandatory if ldo-address is set. Picks up from
62 efuse the value to set in 'ti,ldovbb-vset-mask' at ldo-address.
63
64Example #1: Simplest configuration (no efuse data, hard coded ABB table):
65abb_x: regulator-abb-x {
66 compatible = "ti,abb-v1";
67 regulator-name = "abb_x";
68 #address-cell = <0>;
69 #size-cells = <0>;
70 reg = <0x483072f0 0x8>, <0x48306818 0x4>;
71 reg-names = "base-address", "int-address";
72 ti,tranxdone-status-mask = <0x4000000>;
73 clocks = <&sysclk>;
74 ti,settling-time = <30>;
75 ti,clock-cycles = <8>;
76 ti,abb_info = <
77 /* uV ABB efuse rbb_m fbb_m vset_m */
78 1012500 0 0 0 0 0 /* Bypass */
79 1200000 3 0 0 0 0 /* RBB mandatory */
80 1320000 1 0 0 0 0 /* FBB mandatory */
81 >;
82};
83
84Example #2: Efuse bits contain ABB mode setting (no LDO override capability)
85abb_y: regulator-abb-y {
86 compatible = "ti,abb-v2";
87 regulator-name = "abb_y";
88 #address-cell = <0>;
89 #size-cells = <0>;
90 reg = <0x4a307bd0 0x8>, <0x4a306014 0x4>, <0x4A002268 0x8>;
91 reg-names = "base-address", "int-address", "efuse-address";
92 ti,tranxdone-status-mask = <0x4000000>;
93 clocks = <&sysclk>;
94 ti,settling-time = <50>;
95 ti,clock-cycles = <16>;
96 ti,abb_info = <
97 /* uV ABB efuse rbb_m fbb_m vset_m */
98 975000 0 0 0 0 0 /* Bypass */
99 1012500 0 0 0x40000 0 0 /* RBB optional */
100 1200000 0 0x4 0 0x40000 0 /* FBB optional */
101 1320000 1 0 0 0 0 /* FBB mandatory */
102 >;
103};
104
105Example #3: Efuse bits contain ABB mode setting and LDO override capability
106abb_z: regulator-abb-z {
107 compatible = "ti,abb-v2";
108 regulator-name = "abb_z";
109 #address-cell = <0>;
110 #size-cells = <0>;
111 reg = <0x4ae07ce4 0x8>, <0x4ae06010 0x4>,
112 <0x4a002194 0x8>, <0x4ae0C314 0x4>;
113 reg-names = "base-address", "int-address",
114 "efuse-address", "ldo-address";
115 ti,tranxdone-status-mask = <0x8000000>;
116 /* LDOVBBMM_MUX_CTRL */
117 ti,ldovbb-override-mask = <0x400>;
118 /* LDOVBBMM_VSET_OUT */
119 ti,ldovbb-vset-mask = <0x1F>;
120 clocks = <&sysclk>;
121 ti,settling-time = <50>;
122 ti,clock-cycles = <16>;
123 ti,abb_info = <
124 /* uV ABB efuse rbb_m fbb_m vset_m */
125 975000 0 0 0 0 0 /* Bypass */
126 1200000 0 0x4 0 0x40000 0x1f00 /* FBB optional, vset */
127 >;
128};