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