About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / mfd / max8998.txt




Custom Search

Based on kernel version 3.16. Page generated on 2014-08-06 21:37 EST.

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		};
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.