diff options
author | Tomasz Figa <t.figa@samsung.com> | 2013-06-25 10:08:10 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-06-30 17:30:04 -0400 |
commit | ee999fb3f17faa3af6028bf7130707fe0d4157a4 (patch) | |
tree | 9cbadb66c7a3f84c265fd2f7f10801385a7ea50b /Documentation/devicetree | |
parent | 4280e0b42bd590316a048d66ea356e78c5d0464e (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.txt | 119 |
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 | |||
3 | The Maxim MAX8998 is a multi-function device which includes voltage/current | ||
4 | regulators, real time clock, battery charging controller and several | ||
5 | other sub-blocks. It is interfaced using an I2C interface. Each sub-block | ||
6 | is addressed by the host system using different i2c slave address. | ||
7 | |||
8 | PMIC sub-block | ||
9 | -------------- | ||
10 | |||
11 | The PMIC sub-block contains a number of voltage and current regulators, | ||
12 | with controllable parameters and dynamic voltage scaling capability. | ||
13 | In addition, it includes a real time clock and battery charging controller | ||
14 | as well. It is accessible at I2C address 0x66. | ||
15 | |||
16 | Required 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 | |||
22 | Optional 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 | |||
45 | Additional 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 | |||
49 | Additional 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 | |||
53 | Regulators: All the regulators of MAX8998 to be instantiated shall be | ||
54 | listed in a child node named 'regulators'. Each regulator is represented | ||
55 | by a child node of the 'regulators' node. | ||
56 | |||
57 | regulator-name { | ||
58 | /* standard regulator bindings here */ | ||
59 | }; | ||
60 | |||
61 | Following regulators of the MAX8998 PMIC block are supported. Note that | ||
62 | the 'n' in regulator name, as in LDOn or BUCKn, represents the LDO or BUCK | ||
63 | number 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 | |||
78 | Standard regulator bindings are used inside regulator subnodes. Check | ||
79 | Documentation/devicetree/bindings/regulator/regulator.txt | ||
80 | for more details. | ||
81 | |||
82 | Example: | ||
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 | }; | ||