aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree
diff options
context:
space:
mode:
authorTomasz Figa <t.figa@samsung.com>2013-06-25 10:08:10 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2013-06-30 17:30:04 -0400
commitee999fb3f17faa3af6028bf7130707fe0d4157a4 (patch)
tree9cbadb66c7a3f84c265fd2f7f10801385a7ea50b /Documentation/devicetree
parent4280e0b42bd590316a048d66ea356e78c5d0464e (diff)
mfd: max8998: Add support for Device Tree
This patch adds Device Tree support to max8998 driver. Signed-off-by: Tomasz Figa <t.figa@samsung.com> Acked-by: Mark Brown <broonie@linaro.org> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'Documentation/devicetree')
-rw-r--r--Documentation/devicetree/bindings/mfd/max8998.txt119
1 files changed, 119 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/mfd/max8998.txt b/Documentation/devicetree/bindings/mfd/max8998.txt
new file mode 100644
index 000000000000..23a3650ff2a2
--- /dev/null
+++ b/Documentation/devicetree/bindings/mfd/max8998.txt
@@ -0,0 +1,119 @@
1* Maxim MAX8998, National/TI LP3974 multi-function device
2
3The Maxim MAX8998 is a multi-function device which includes voltage/current
4regulators, real time clock, battery charging controller and several
5other sub-blocks. It is interfaced using an I2C interface. Each sub-block
6is addressed by the host system using different i2c slave address.
7
8PMIC sub-block
9--------------
10
11The PMIC sub-block contains a number of voltage and current regulators,
12with controllable parameters and dynamic voltage scaling capability.
13In addition, it includes a real time clock and battery charging controller
14as well. It is accessible at I2C address 0x66.
15
16Required properties:
17- compatible: Should be one of the following:
18 - "maxim,max8998" for Maxim MAX8998
19 - "national,lp3974" or "ti,lp3974" for National/TI LP3974.
20- reg: Specifies the i2c slave address of the pmic block. It should be 0x66.
21
22Optional properties:
23- interrupt-parent: Specifies the phandle of the interrupt controller to which
24 the interrupts from MAX8998 are routed to.
25- interrupts: Interrupt specifiers for two interrupt sources.
26 - First interrupt specifier is for main interrupt.
27 - Second interrupt specifier is for power-on/-off interrupt.
28- max8998,pmic-buck1-dvs-gpios: GPIO specifiers for two host gpios used
29 for buck 1 dvs. The format of the gpio specifier depends on the gpio
30 controller.
31- max8998,pmic-buck2-dvs-gpio: GPIO specifier for host gpio used
32 for buck 2 dvs. The format of the gpio specifier depends on the gpio
33 controller.
34- max8998,pmic-buck1-default-dvs-idx: Default voltage setting selected from
35 the possible 4 options selectable by the dvs gpios. The value of this
36 property should be 0, 1, 2 or 3. If not specified or out of range,
37 a default value of 0 is taken.
38- max8998,pmic-buck2-default-dvs-idx: Default voltage setting selected from
39 the possible 2 options selectable by the dvs gpios. The value of this
40 property should be 0 or 1. If not specified or out of range, a default
41 value of 0 is taken.
42- max8998,pmic-buck-voltage-lock: If present, disallows changing of
43 preprogrammed buck dvfs voltages.
44
45Additional properties required if max8998,pmic-buck1-dvs-gpios is defined:
46- max8998,pmic-buck1-dvs-voltage: An array of 4 voltage values in microvolts
47 for buck1 regulator that can be selected using dvs gpio.
48
49Additional properties required if max8998,pmic-buck2-dvs-gpio is defined:
50- max8998,pmic-buck2-dvs-voltage: An array of 2 voltage values in microvolts
51 for buck2 regulator that can be selected using dvs gpio.
52
53Regulators: All the regulators of MAX8998 to be instantiated shall be
54listed in a child node named 'regulators'. Each regulator is represented
55by a child node of the 'regulators' node.
56
57 regulator-name {
58 /* standard regulator bindings here */
59 };
60
61Following regulators of the MAX8998 PMIC block are supported. Note that
62the 'n' in regulator name, as in LDOn or BUCKn, represents the LDO or BUCK
63number as described in MAX8998 datasheet.
64
65 - LDOn
66 - valid values for n are 2 to 17
67 - Example: LDO2, LDO10, LDO17
68 - BUCKn
69 - valid values for n are 1 to 4.
70 - Example: BUCK1, BUCK2, BUCK3, BUCK4
71
72 - ENVICHG: Battery Charging Current Monitor Output. This is a fixed
73 voltage type regulator
74
75 - ESAFEOUT1: (ldo19)
76 - ESAFEOUT2: (ld020)
77
78Standard regulator bindings are used inside regulator subnodes. Check
79 Documentation/devicetree/bindings/regulator/regulator.txt
80for more details.
81
82Example:
83
84 pmic@66 {
85 compatible = "maxim,max8998-pmic";
86 reg = <0x66>;
87 interrupt-parent = <&wakeup_eint>;
88 interrupts = <4 0>, <3 0>;
89
90 /* Buck 1 DVS settings */
91 max8998,pmic-buck1-default-dvs-idx = <0>;
92 max8998,pmic-buck1-dvs-gpios = <&gpx0 0 1 0 0>, /* SET1 */
93 <&gpx0 1 1 0 0>; /* SET2 */
94 max8998,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
95 <1000000>, <950000>;
96
97 /* Buck 2 DVS settings */
98 max8998,pmic-buck2-default-dvs-idx = <0>;
99 max8998,pmic-buck2-dvs-gpio = <&gpx0 0 3 0 0>; /* SET3 */
100 max8998,pmic-buck2-dvs-voltage = <1350000>, <1300000>;
101
102 /* Regulators to instantiate */
103 regulators {
104 ldo2_reg: LDO2 {
105 regulator-name = "VDD_ALIVE_1.1V";
106 regulator-min-microvolt = <1100000>;
107 regulator-max-microvolt = <1100000>;
108 regulator-always-on;
109 };
110
111 buck1_reg: BUCK1 {
112 regulator-name = "VDD_ARM_1.2V";
113 regulator-min-microvolt = <950000>;
114 regulator-max-microvolt = <1350000>;
115 regulator-always-on;
116 regulator-boot-on;
117 };
118 };
119 };