About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / devicetree / bindings / mfd / s2mps11.txt




Custom Search

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

1	
2	* Samsung S2MPS11 and S2MPS14 Voltage and Current Regulator
3	
4	The Samsung S2MPS11 is a multi-function device which includes voltage and
5	current regulators, RTC, charger controller and other sub-blocks. It is
6	interfaced to the host controller using an I2C interface. Each sub-block is
7	addressed by the host system using different I2C slave addresses.
8	
9	Required properties:
10	- compatible: Should be "samsung,s2mps11-pmic" or "samsung,s2mps14-pmic".
11	- reg: Specifies the I2C slave address of the pmic block. It should be 0x66.
12	
13	Optional properties:
14	- interrupt-parent: Specifies the phandle of the interrupt controller to which
15	  the interrupts from s2mps11 are delivered to.
16	- interrupts: Interrupt specifiers for interrupt sources.
17	
18	Optional nodes:
19	- clocks: s2mps11 and s5m8767 provide three(AP/CP/BT) buffered 32.768 KHz
20	  outputs, so to register these as clocks with common clock framework
21	  instantiate a sub-node named "clocks". It uses the common clock binding
22	  documented in :
23	  [Documentation/devicetree/bindings/clock/clock-bindings.txt]
24	  The s2mps14 provides two (AP/BT) buffered 32.768 KHz outputs.
25	  - #clock-cells: should be 1.
26	
27	  - The following is the list of clocks generated by the controller. Each clock
28	    is assigned an identifier and client nodes use this identifier to specify
29	    the clock which they consume.
30	    Clock               ID           Devices
31	    ----------------------------------------------------------
32	    32KhzAP		0            S2MPS11, S2MPS14, S5M8767
33	    32KhzCP		1            S2MPS11, S5M8767
34	    32KhzBT		2            S2MPS11, S2MPS14, S5M8767
35	
36	  - compatible: Should be one of: "samsung,s2mps11-clk", "samsung,s2mps14-clk",
37			"samsung,s5m8767-clk"
38	
39	- regulators: The regulators of s2mps11 that have to be instantiated should be
40	included in a sub-node named 'regulators'. Regulator nodes included in this
41	sub-node should be of the format as listed below.
42	
43		regulator_name {
44			[standard regulator constraints....];
45		};
46	
47	 regulator-ramp-delay for BUCKs = [6250/12500/25000(default)/50000] uV/us
48	
49	 BUCK[2/3/4/6] supports disabling ramp delay on hardware, so explictly
50	 regulator-ramp-delay = <0> can be used for them to disable ramp delay.
51	 In the absence of the regulator-ramp-delay property, the default ramp
52	 delay will be used.
53	
54	NOTE: Some BUCKs share the ramp rate setting i.e. same ramp value will be set
55	for a particular group of BUCKs. So provide same regulator-ramp-delay<value>.
56	Grouping of BUCKs sharing ramp rate setting is as follow : BUCK[1, 6],
57	BUCK[3, 4], and BUCK[7, 8, 10]
58	
59	On S2MPS14 the LDO10, LDO11 and LDO12 can be configured to external control
60	over GPIO. To turn this feature on this property must be added to the regulator
61	sub-node:
62		- samsung,ext-control-gpios: GPIO specifier for one GPIO
63			controlling this regulator (enable/disable);
64	Example:
65		LDO12 {
66			regulator-name = "V_EMMC_2.8V";
67			regulator-min-microvolt = <2800000>;
68			regulator-max-microvolt = <2800000>;
69			samsung,ext-control-gpios = <&gpk0 2 0>;
70		};
71	
72	
73	The regulator constraints inside the regulator nodes use the standard regulator
74	bindings which are documented elsewhere.
75	
76	The following are the names of the regulators that the s2mps11 pmic block
77	supports. Note: The 'n' in LDOn and BUCKn represents the LDO or BUCK number
78	as per the datasheet of s2mps11.
79	
80		- LDOn
81			  - valid values for n are:
82				- S2MPS11: 1 to 38
83				- S2MPS14: 1 to 25
84			  - Example: LDO1, LD02, LDO28
85		- BUCKn
86			  - valid values for n are:
87				- S2MPS11: 1 to 10
88				- S2MPS14: 1 to 5
89			  - Example: BUCK1, BUCK2, BUCK9
90	
91	Example:
92	
93		s2mps11_pmic@66 {
94			compatible = "samsung,s2mps11-pmic";
95			reg = <0x66>;
96	
97			s2m_osc: clocks {
98				compatible = "samsung,s2mps11-clk";
99				#clock-cells = 1;
100				clock-output-names = "xx", "yy", "zz";
101			};
102	
103			regulators {
104				ldo1_reg: LDO1 {
105					regulator-name = "VDD_ABB_3.3V";
106					regulator-min-microvolt = <3300000>;
107					regulator-max-microvolt = <3300000>;
108				};
109	
110				ldo2_reg: LDO2 {
111					regulator-name = "VDD_ALIVE_1.1V";
112					regulator-min-microvolt = <1100000>;
113					regulator-max-microvolt = <1100000>;
114					regulator-always-on;
115				};
116	
117				buck1_reg: BUCK1 {
118					regulator-name = "vdd_mif";
119					regulator-min-microvolt = <950000>;
120					regulator-max-microvolt = <1350000>;
121					regulator-always-on;
122					regulator-boot-on;
123				};
124	
125				buck2_reg: BUCK2 {
126					regulator-name = "vdd_arm";
127					regulator-min-microvolt = <950000>;
128					regulator-max-microvolt = <1350000>;
129					regulator-always-on;
130					regulator-boot-on;
131					regulator-ramp-delay = <50000>;
132				};
133			};
134		};
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.