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