1/*
2 * Spreadtrum SC2731 PMIC dts file
3 *
4 * Copyright (C) 2018, Spreadtrum Communications Inc.
5 *
6 * SPDX-License-Identifier: (GPL-2.0+ OR MIT)
7 */
8
9&adi_bus {
10	sc2731_pmic: pmic@0 {
11		compatible = "sprd,sc2731";
12		reg = <0>;
13		spi-max-frequency = <26000000>;
14		interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
15		interrupt-controller;
16		#interrupt-cells = <2>;
17		#address-cells = <1>;
18		#size-cells = <0>;
19
20		led-controller@200 {
21			compatible = "sprd,sc27xx-bltc", "sprd,sc2731-bltc";
22			reg = <0x200>;
23			#address-cells = <1>;
24			#size-cells = <0>;
25
26			led@0 {
27				label = "red";
28				reg = <0x0>;
29			};
30
31			led@1 {
32				label = "green";
33				reg = <0x1>;
34			};
35
36			led@2 {
37				label = "blue";
38				reg = <0x2>;
39			};
40		};
41
42		rtc@280 {
43			compatible = "sprd,sc27xx-rtc", "sprd,sc2731-rtc";
44			reg = <0x280>;
45			interrupt-parent = <&sc2731_pmic>;
46			interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
47		};
48
49		pmic_eic: gpio@300 {
50			compatible = "sprd,sc27xx-eic";
51			reg = <0x300>;
52			interrupt-parent = <&sc2731_pmic>;
53			interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
54			gpio-controller;
55			#gpio-cells = <2>;
56			interrupt-controller;
57			#interrupt-cells = <2>;
58		};
59
60		efuse@380 {
61			compatible = "sprd,sc27xx-efuse", "sprd,sc2731-efuse";
62			reg = <0x380>;
63			#address-cells = <1>;
64			#size-cells = <1>;
65			hwlocks = <&hwlock 12>;
66		};
67
68		pmic_adc: adc@480 {
69			compatible = "sprd,sc27xx-adc", "sprd,sc2731-adc";
70			reg = <0x480>;
71			interrupt-parent = <&sc2731_pmic>;
72			interrupts = <0 IRQ_TYPE_LEVEL_HIGH>;
73			#io-channel-cells = <1>;
74			hwlocks = <&hwlock 4>;
75		};
76
77		vibrator@ec8 {
78			compatible = "sprd,sc27xx-vibrator", "sprd,sc2731-vibrator";
79			reg = <0xec8>;
80		};
81
82		regulators {
83			compatible = "sprd,sc27xx-regulator";
84
85			vddarm0: BUCK_CPU0 {
86				regulator-name = "vddarm0";
87				regulator-min-microvolt = <400000>;
88				regulator-max-microvolt = <1996875>;
89				regulator-ramp-delay = <25000>;
90				regulator-always-on;
91			};
92
93			vddarm1: BUCK_CPU1 {
94				regulator-name = "vddarm1";
95				regulator-min-microvolt = <400000>;
96				regulator-max-microvolt = <1996875>;
97				regulator-ramp-delay = <25000>;
98				regulator-always-on;
99			};
100
101			dcdcrf: BUCK_RF {
102				regulator-name = "dcdcrf";
103				regulator-min-microvolt = <600000>;
104				regulator-max-microvolt = <2196875>;
105				regulator-ramp-delay = <25000>;
106				regulator-enable-ramp-delay = <100>;
107				regulator-always-on;
108			};
109
110			vddcama0: LDO_CAMA0 {
111				regulator-name = "vddcama0";
112				regulator-min-microvolt = <1200000>;
113				regulator-max-microvolt = <3750000>;
114				regulator-enable-ramp-delay = <100>;
115			};
116
117			vddcama1: LDO_CAMA1 {
118				regulator-name = "vddcama1";
119				regulator-min-microvolt = <1200000>;
120				regulator-max-microvolt = <3750000>;
121				regulator-enable-ramp-delay = <100>;
122				regulator-ramp-delay = <25000>;
123			};
124
125			vddcammot: LDO_CAMMOT {
126				regulator-name = "vddcammot";
127				regulator-min-microvolt = <1200000>;
128				regulator-max-microvolt = <3750000>;
129				regulator-enable-ramp-delay = <100>;
130				regulator-ramp-delay = <25000>;
131			};
132
133			vddvldo: LDO_VLDO {
134				regulator-name = "vddvldo";
135				regulator-min-microvolt = <1200000>;
136				regulator-max-microvolt = <3750000>;
137				regulator-enable-ramp-delay = <100>;
138				regulator-ramp-delay = <25000>;
139			};
140
141			vddemmccore: LDO_EMMCCORE {
142				regulator-name = "vddemmccore";
143				regulator-min-microvolt = <1200000>;
144				regulator-max-microvolt = <3750000>;
145				regulator-enable-ramp-delay = <100>;
146				regulator-ramp-delay = <25000>;
147				regulator-boot-on;
148			};
149
150			vddsdcore: LDO_SDCORE {
151				regulator-name = "vddsdcore";
152				regulator-min-microvolt = <1200000>;
153				regulator-max-microvolt = <3750000>;
154				regulator-enable-ramp-delay = <100>;
155				regulator-ramp-delay = <25000>;
156			};
157
158			vddsdio: LDO_SDIO {
159				regulator-name = "vddsdio";
160				regulator-min-microvolt = <1200000>;
161				regulator-max-microvolt = <3750000>;
162				regulator-enable-ramp-delay = <100>;
163				regulator-ramp-delay = <25000>;
164			};
165
166			vddwifipa: LDO_WIFIPA {
167				regulator-name = "vddwifipa";
168				regulator-min-microvolt = <1200000>;
169				regulator-max-microvolt = <3750000>;
170				regulator-enable-ramp-delay = <100>;
171				regulator-ramp-delay = <25000>;
172			};
173
174			vddusb33: LDO_USB33 {
175				regulator-name = "vddusb33";
176				regulator-min-microvolt = <1200000>;
177				regulator-max-microvolt = <3750000>;
178				regulator-enable-ramp-delay = <100>;
179				regulator-ramp-delay = <25000>;
180			};
181
182			vddcamd0: LDO_CAMD0 {
183				regulator-name = "vddcamd0";
184				regulator-min-microvolt = <1000000>;
185				regulator-max-microvolt = <1793750>;
186				regulator-enable-ramp-delay = <100>;
187				regulator-ramp-delay = <25000>;
188			};
189
190			vddcamd1: LDO_CAMD1 {
191				regulator-name = "vddcamd1";
192				regulator-min-microvolt = <1000000>;
193				regulator-max-microvolt = <1793750>;
194				regulator-enable-ramp-delay = <100>;
195				regulator-ramp-delay = <25000>;
196			};
197
198			vddcon: LDO_CON {
199				regulator-name = "vddcon";
200				regulator-min-microvolt = <1000000>;
201				regulator-max-microvolt = <1793750>;
202				regulator-enable-ramp-delay = <100>;
203				regulator-ramp-delay = <25000>;
204			};
205
206			vddcamio: LDO_CAMIO {
207				regulator-name = "vddcamio";
208				regulator-min-microvolt = <1000000>;
209				regulator-max-microvolt = <1793750>;
210				regulator-enable-ramp-delay = <100>;
211				regulator-ramp-delay = <25000>;
212			};
213
214			vddsram: LDO_SRAM {
215				regulator-name = "vddsram";
216				regulator-min-microvolt = <1000000>;
217				regulator-max-microvolt = <1793750>;
218				regulator-enable-ramp-delay = <100>;
219				regulator-ramp-delay = <25000>;
220				regulator-always-on;
221			};
222		};
223	};
224};
225