xref: /openbmc/linux/arch/arm64/boot/dts/sprd/sc2731.dtsi (revision cd238eff)
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 = <1>;
17		#address-cells = <1>;
18		#size-cells = <0>;
19
20		charger@0 {
21			compatible = "sprd,sc2731-charger";
22			reg = <0x0>;
23			monitored-battery = <&bat>;
24		};
25
26		led-controller@200 {
27			compatible = "sprd,sc2731-bltc";
28			reg = <0x200>;
29			#address-cells = <1>;
30			#size-cells = <0>;
31
32			led@0 {
33				label = "red";
34				reg = <0x0>;
35			};
36
37			led@1 {
38				label = "green";
39				reg = <0x1>;
40			};
41
42			led@2 {
43				label = "blue";
44				reg = <0x2>;
45			};
46		};
47
48		rtc@280 {
49			compatible = "sprd,sc2731-rtc";
50			reg = <0x280>;
51			interrupt-parent = <&sc2731_pmic>;
52			interrupts = <2>;
53		};
54
55		pmic_eic: gpio@300 {
56			compatible = "sprd,sc2731-eic";
57			reg = <0x300>;
58			interrupt-parent = <&sc2731_pmic>;
59			interrupts = <5>;
60			gpio-controller;
61			#gpio-cells = <2>;
62			interrupt-controller;
63			#interrupt-cells = <2>;
64		};
65
66		efuse@380 {
67			compatible = "sprd,sc2731-efuse";
68			reg = <0x380>;
69			#address-cells = <1>;
70			#size-cells = <1>;
71			hwlocks = <&hwlock 12>;
72
73			fgu_calib: calib@6 {
74				reg = <0x6 0x2>;
75				bits = <0 9>;
76			};
77
78			adc_big_scale: calib@24 {
79				reg = <0x24 0x2>;
80			};
81
82			adc_small_scale: calib@26 {
83				reg = <0x26 0x2>;
84			};
85		};
86
87		pmic_adc: adc@480 {
88			compatible = "sprd,sc2731-adc";
89			reg = <0x480>;
90			interrupt-parent = <&sc2731_pmic>;
91			interrupts = <0>;
92			#io-channel-cells = <1>;
93			hwlocks = <&hwlock 4>;
94			nvmem-cell-names = "big_scale_calib", "small_scale_calib";
95			nvmem-cells = <&adc_big_scale>, <&adc_small_scale>;
96		};
97
98		fgu@a00 {
99			compatible = "sprd,sc2731-fgu";
100			reg = <0xa00>;
101			bat-detect-gpio = <&pmic_eic 9 GPIO_ACTIVE_HIGH>;
102			io-channels = <&pmic_adc 3>, <&pmic_adc 6>;
103			io-channel-names = "bat-temp", "charge-vol";
104			monitored-battery = <&bat>;
105			nvmem-cell-names = "fgu_calib";
106			nvmem-cells = <&fgu_calib>;
107			interrupt-parent = <&sc2731_pmic>;
108			interrupts = <4>;
109		};
110
111		vibrator@ec8 {
112			compatible = "sprd,sc2731-vibrator";
113			reg = <0xec8>;
114		};
115
116		regulators {
117			compatible = "sprd,sc2731-regulator";
118
119			vddarm0: BUCK_CPU0 {
120				regulator-name = "vddarm0";
121				regulator-min-microvolt = <400000>;
122				regulator-max-microvolt = <1996875>;
123				regulator-ramp-delay = <25000>;
124				regulator-always-on;
125			};
126
127			vddarm1: BUCK_CPU1 {
128				regulator-name = "vddarm1";
129				regulator-min-microvolt = <400000>;
130				regulator-max-microvolt = <1996875>;
131				regulator-ramp-delay = <25000>;
132				regulator-always-on;
133			};
134
135			dcdcrf: BUCK_RF {
136				regulator-name = "dcdcrf";
137				regulator-min-microvolt = <600000>;
138				regulator-max-microvolt = <2196875>;
139				regulator-ramp-delay = <25000>;
140				regulator-enable-ramp-delay = <100>;
141				regulator-always-on;
142			};
143
144			vddcama0: LDO_CAMA0 {
145				regulator-name = "vddcama0";
146				regulator-min-microvolt = <1200000>;
147				regulator-max-microvolt = <3750000>;
148				regulator-enable-ramp-delay = <100>;
149			};
150
151			vddcama1: LDO_CAMA1 {
152				regulator-name = "vddcama1";
153				regulator-min-microvolt = <1200000>;
154				regulator-max-microvolt = <3750000>;
155				regulator-enable-ramp-delay = <100>;
156				regulator-ramp-delay = <25000>;
157			};
158
159			vddcammot: LDO_CAMMOT {
160				regulator-name = "vddcammot";
161				regulator-min-microvolt = <1200000>;
162				regulator-max-microvolt = <3750000>;
163				regulator-enable-ramp-delay = <100>;
164				regulator-ramp-delay = <25000>;
165			};
166
167			vddvldo: LDO_VLDO {
168				regulator-name = "vddvldo";
169				regulator-min-microvolt = <1200000>;
170				regulator-max-microvolt = <3750000>;
171				regulator-enable-ramp-delay = <100>;
172				regulator-ramp-delay = <25000>;
173			};
174
175			vddemmccore: LDO_EMMCCORE {
176				regulator-name = "vddemmccore";
177				regulator-min-microvolt = <1200000>;
178				regulator-max-microvolt = <3750000>;
179				regulator-enable-ramp-delay = <100>;
180				regulator-ramp-delay = <25000>;
181				regulator-boot-on;
182			};
183
184			vddsdcore: LDO_SDCORE {
185				regulator-name = "vddsdcore";
186				regulator-min-microvolt = <1200000>;
187				regulator-max-microvolt = <3750000>;
188				regulator-enable-ramp-delay = <100>;
189				regulator-ramp-delay = <25000>;
190			};
191
192			vddsdio: LDO_SDIO {
193				regulator-name = "vddsdio";
194				regulator-min-microvolt = <1200000>;
195				regulator-max-microvolt = <3750000>;
196				regulator-enable-ramp-delay = <100>;
197				regulator-ramp-delay = <25000>;
198			};
199
200			vddwifipa: LDO_WIFIPA {
201				regulator-name = "vddwifipa";
202				regulator-min-microvolt = <1200000>;
203				regulator-max-microvolt = <3750000>;
204				regulator-enable-ramp-delay = <100>;
205				regulator-ramp-delay = <25000>;
206			};
207
208			vddusb33: LDO_USB33 {
209				regulator-name = "vddusb33";
210				regulator-min-microvolt = <1200000>;
211				regulator-max-microvolt = <3750000>;
212				regulator-enable-ramp-delay = <100>;
213				regulator-ramp-delay = <25000>;
214			};
215
216			vddcamd0: LDO_CAMD0 {
217				regulator-name = "vddcamd0";
218				regulator-min-microvolt = <1000000>;
219				regulator-max-microvolt = <1793750>;
220				regulator-enable-ramp-delay = <100>;
221				regulator-ramp-delay = <25000>;
222			};
223
224			vddcamd1: LDO_CAMD1 {
225				regulator-name = "vddcamd1";
226				regulator-min-microvolt = <1000000>;
227				regulator-max-microvolt = <1793750>;
228				regulator-enable-ramp-delay = <100>;
229				regulator-ramp-delay = <25000>;
230			};
231
232			vddcon: LDO_CON {
233				regulator-name = "vddcon";
234				regulator-min-microvolt = <1000000>;
235				regulator-max-microvolt = <1793750>;
236				regulator-enable-ramp-delay = <100>;
237				regulator-ramp-delay = <25000>;
238			};
239
240			vddcamio: LDO_CAMIO {
241				regulator-name = "vddcamio";
242				regulator-min-microvolt = <1000000>;
243				regulator-max-microvolt = <1793750>;
244				regulator-enable-ramp-delay = <100>;
245				regulator-ramp-delay = <25000>;
246			};
247
248			vddsram: LDO_SRAM {
249				regulator-name = "vddsram";
250				regulator-min-microvolt = <1000000>;
251				regulator-max-microvolt = <1793750>;
252				regulator-enable-ramp-delay = <100>;
253				regulator-ramp-delay = <25000>;
254				regulator-always-on;
255			};
256		};
257	};
258};
259