lin
2025-01-04 be45768b193281917003531c55e9ebda9d2c2f99
feat(build): add build lunch k5c and k5 support

Signed-off-by: lin <lin@kickpi.com>
4 files added
4 files modified
3059 ■■■■■ changed files
.gitignore 1 ●●●● patch | view | raw | blame | history
build.sh 113 ●●●●● patch | view | raw | blame | history
longan/build/mkcmd.sh 6 ●●●● patch | view | raw | blame | history
longan/build/pack 23 ●●●●● patch | view | raw | blame | history
longan/device/config/chips/a133/configs/c3/BoardConfig-a133-kickpi-k5.mk 1 ●●●● patch | view | raw | blame | history
longan/device/config/chips/a133/configs/c3/BoardConfig-a133-kickpi-k5c.mk 1 ●●●● patch | view | raw | blame | history
longan/device/config/chips/a133/configs/c3/kickpi-k5.dts 1445 ●●●●● patch | view | raw | blame | history
longan/device/config/chips/a133/configs/c3/kickpi-k5c.dts 1469 ●●●●● patch | view | raw | blame | history
.gitignore
....@@ -4,3 +4,4 @@
44 longan/out/
55 android/device/softwinner/ceres-c3/fstab.sun50iw10p1.noverify
66
7
+longan/device/.BoardConfig.mk
build.sh
....@@ -1,46 +1,83 @@
11 #!/bin/bash
22
3
-if [ x"$1" == "xuboot" ] || [ x"$1" == "xu" ] || [ x"$1" == "x" ] ;then
4
- echo "Start build uboot"
5
- cd longan/brandy/brandy-2.0 && ./build.sh -p sun50iw10p1 && cd -
6
- if [ $? -eq 0 ]; then
7
- echo "Build uboot ok!"
8
- else
9
- echo "Build uboot failed!"
10
- exit 1
11
- fi
12
-fi
3
+BOARD_CONFIG_DIR=longan/device/config/chips/
4
+BOARD_CONFIG_FILE=longan/device/.BoardConfig.mk
135
14
-if [ x"$1" == "xkernel" ] || [ x"$1" == "xk" ] || [ x"$1" == "x" ] ;then
15
- echo "Start build kernel"
16
- cd longan && ./build.sh autoconfig -o android -i a133 -b c3 && ./build.sh && cd -
17
- if [ $? -eq 0 ]; then
18
- echo "Build kernel ok!"
19
- else
20
- echo "Build kernel failed!"
21
- exit 1
22
- fi
23
-fi
6
+function build_lunch()
7
+{
8
+ TARGET_BOARD_PATH_ARRAY=( $(find $BOARD_CONFIG_DIR -name "BoardConfig-a133*.mk" ) )
9
+ TARGET_BOARD_ARRAY=( $(find $BOARD_CONFIG_DIR -name "BoardConfig-a133*.mk" | sed 's#.*/##' | sort) )
10
+ echo "======you are building a133 android======"
11
+ echo "${TARGET_BOARD_ARRAY[@]}" |xargs -n 1 | sed "=" | sed "N;s/\n/. /"
2412
25
-# android envsetup
26
-cd android
27
-. ./build/envsetup.sh
28
-lunch ceres_c3-userdebug
29
-extract-bsp
30
-cd -
13
+ while true; do
14
+ read -p "which board would you like (1-${#TARGET_BOARD_ARRAY[@]}): " INDEX
15
+ if [[ "$INDEX" =~ ^[0-9]+$ ]] && ((INDEX >= 1 && INDEX <= ${#TARGET_BOARD_ARRAY[@]})); then
16
+ INDEX=$(($INDEX - 1))
17
+ BUILD_TARGET_BOARD="${TARGET_BOARD_PATH_ARRAY[$INDEX]}"
3118
32
-if [ x"$1" == "xandroid" ] || [ x"$1" == "xa" ] || [ x"$1" == "x" ] ;then
33
- echo "Start build Android"
34
- cd android
35
- make installclean
36
- make BUILD_NUMBER=ido-a133 -j32
37
- cd -
38
-fi
19
+ break
20
+ else
21
+ echo "Invalid input. Please enter a number between 1 and ${#TARGET_BOARD_ARRAY[@]}."
22
+ fi
23
+ done
3924
40
-# pack image
41
-echo "Start pack image"
42
-cd android
43
-pack
44
-cd -
25
+ cp -f $BUILD_TARGET_BOARD $BOARD_CONFIG_FILE
4526
27
+ echo -e "build target board configuration: $BUILD_TARGET_BOARD\n"
28
+ #select partition table
29
+ source $BOARD_CONFIG_FILE
30
+ echo "you board is ${DTS_NAME}"
4631
32
+ source $BOARD_CONFIG_FILE
33
+ longan/build/mkcommon.sh autoconfig -i a133 -o android -b c3
34
+}
35
+
36
+if [ "x$1" == "xlunch" ];then
37
+ build_lunch && exit 0
38
+else
39
+ source $BOARD_CONFIG_FILE
40
+ if [ x"$1" == "xuboot" ] || [ x"$1" == "xu" ] || [ x"$1" == "x" ] ;then
41
+ echo "Start build uboot"
42
+ cd longan/brandy/brandy-2.0 && ./build.sh -p sun50iw10p1 && cd -
43
+ if [ $? -eq 0 ]; then
44
+ echo "Build uboot ok!"
45
+ else
46
+ echo "Build uboot failed!"
47
+ exit 1
48
+ fi
49
+ fi
50
+
51
+ if [ x"$1" == "xkernel" ] || [ x"$1" == "xk" ] || [ x"$1" == "x" ] ;then
52
+ echo "Start build kernel"
53
+ cd longan && ./build.sh autoconfig -o android -i a133 -b c3 && ./build.sh && cd -
54
+ if [ $? -eq 0 ]; then
55
+ echo "Build kernel ok!"
56
+ else
57
+ echo "Build kernel failed!"
58
+ exit 1
59
+ fi
60
+ fi
61
+
62
+ # android envsetup
63
+ cd android
64
+ . ./build/envsetup.sh
65
+ lunch ceres_c3-userdebug
66
+ extract-bsp
67
+ cd -
68
+
69
+ if [ x"$1" == "xandroid" ] || [ x"$1" == "xa" ] || [ x"$1" == "x" ] ;then
70
+ echo "Start build Android"
71
+ cd android
72
+ make installclean
73
+ make BUILD_NUMBER=ido-a133 -j32
74
+ cd -
75
+ fi
76
+
77
+ # pack image
78
+ echo "Start pack image"
79
+ cd android
80
+ pack
81
+ cd -
82
+
83
+fi
longan/build/mkcmd.sh
....@@ -1113,7 +1113,11 @@
11131113 {
11141114 # mark kernel .config belong to which platform
11151115 local config_mark="${KERNEL_BUILD_OUT_DIR}/.config.mark"
1116
- local board_dts="$LICHEE_BOARD_CONFIG_DIR/board.dts"
1116
+ if [ -n ${DTS_NAME} ]; then
1117
+ local board_dts="$LICHEE_BOARD_CONFIG_DIR/${DTS_NAME}.dts"
1118
+ else
1119
+ local board_dts="$LICHEE_BOARD_CONFIG_DIR/board.dts"
1120
+ fi
11171121
11181122 # In linux-5.4 (and later), fex file is no longer supported.
11191123 # Which means, sys_config.fex is no longer used.
longan/build/pack
....@@ -995,15 +995,22 @@
995995 fi
996996
997997 dragon image.cfg sys_partition.fex
998
- if [ $? -eq 0 ]; then
999
- if [ -e ${IMG_NAME} ]; then
1000
- mv ${IMG_NAME} $LICHEE_OUT_DIR/${IMG_NAME}
1001
- echo '----------image is at----------'
1002
- echo -e '\033[0;31;1m'
1003
- echo ${LICHEE_OUT_DIR}/${IMG_NAME}
1004
- echo -e '\033[0m'
998
+ if [ $? -eq 0 ]; then
999
+ if [ -e ${IMG_NAME} ]; then
1000
+ echo '----------image is at----------'
1001
+ if [ -n ${DTS_NAME} ]; then
1002
+ mv ${IMG_NAME} $LICHEE_OUT_DIR/${DTS_NAME}_${IMG_NAME}
1003
+ echo -e '\033[0;31;1m'
1004
+ echo $LICHEE_OUT_DIR/${DTS_NAME}_${IMG_NAME}
1005
+ echo -e '\033[0m'
1006
+ else
1007
+ mv ${IMG_NAME} $LICHEE_OUT_DIR/${IMG_NAME}
1008
+ echo -e '\033[0;31;1m'
1009
+ echo ${LICHEE_OUT_DIR}/*${IMG_NAME}
1010
+ echo -e '\033[0m'
1011
+ fi
1012
+ fi
10051013 fi
1006
- fi
10071014 cd ..
10081015
10091016 if [ "x${PACK_PROGRAMMER}" = "xprogrammer" ]; then
longan/device/config/chips/a133/configs/c3/BoardConfig-a133-kickpi-k5.mk
....@@ -0,0 +1 @@
1
+export DTS_NAME=kickpi-k5
longan/device/config/chips/a133/configs/c3/BoardConfig-a133-kickpi-k5c.mk
....@@ -0,0 +1 @@
1
+export DTS_NAME=kickpi-k5c
longan/device/config/chips/a133/configs/c3/kickpi-k5.dts
....@@ -0,0 +1,1445 @@
1
+/*
2
+ * Allwinner Technology CO., Ltd. sun50iw10p1 soc board.
3
+ *
4
+ * soc board support.
5
+ */
6
+
7
+/dts-v1/;
8
+#include "sun50iw10p1.dtsi"
9
+#include "dt-bindings/input/linux-event-codes.h"
10
+
11
+/{
12
+ model = "sun50iw10";
13
+ compatible = "allwinner,a133", "arm,sun50iw10p1";
14
+
15
+ aliases {
16
+ pmu0 = &pmu0;
17
+ standby_param = &standby_param;
18
+ };
19
+
20
+ reg_usb1_vbus: usb1-vbus {
21
+ compatible = "regulator-fixed";
22
+ gpio = <&r_pio PL 8 1 2 0 1>;
23
+ regulator-name = "usb1-vbus";
24
+ regulator-min-microvolt = <5000000>;
25
+ regulator-max-microvolt = <5000000>;
26
+ regulator-enable-ramp-delay = <1000>;
27
+ enable-active-high;
28
+ };
29
+
30
+ soc: soc@03000000 {
31
+
32
+ r_pio: pinctrl@07022000 {
33
+
34
+ s_twi0_pins_a: s_twi0@0 {
35
+ allwinner,pins = "PL0", "PL1";
36
+ allwinner,pname = "s_twi0_scl", "s_twi0_sda";
37
+ allwinner,function = "s_twi0";
38
+ allwinner,muxsel = <2>;
39
+ allwinner,drive = <1>;
40
+ allwinner,pull = <1>;
41
+ };
42
+
43
+ s_twi0_pins_b: s_twi0@1 {
44
+ allwinner,pins = "PL0", "PL1";
45
+ allwinner,function = "io_disabled";
46
+ allwinner,muxsel = <7>;
47
+ allwinner,drive = <1>;
48
+ allwinner,pull = <0>;
49
+ };
50
+ };
51
+ pio: pinctrl@0300b000 {
52
+ twi0_pins_a: twi0@0 {
53
+ allwinner,pins = "PD22", "PD23";
54
+ allwinner,pname = "twi0_scl", "twi0_sda";
55
+ allwinner,function = "twi0";
56
+ allwinner,muxsel = <4>;
57
+ allwinner,drive = <1>;
58
+ allwinner,pull = <0>;
59
+ };
60
+
61
+ twi0_pins_b: twi0@1 {
62
+ allwinner,pins = "PD22", "PD23";
63
+ allwinner,function = "io_disabled";
64
+ allwinner,muxsel = <7>;
65
+ allwinner,drive = <1>;
66
+ allwinner,pull = <0>;
67
+ };
68
+
69
+ twi1_pins_a: twi1@0 {
70
+ allwinner,pins = "PB4", "PB5";
71
+ allwinner,pname = "twi1_scl", "twi1_sda";
72
+ allwinner,function = "twi1";
73
+ allwinner,muxsel = <2>;
74
+ allwinner,drive = <1>;
75
+ allwinner,pull = <0>;
76
+ };
77
+
78
+ twi1_pins_b: twi1@1 {
79
+ allwinner,pins = "PB4", "PB5";
80
+ allwinner,function = "io_disabled";
81
+ allwinner,muxsel = <7>;
82
+ allwinner,drive = <1>;
83
+ allwinner,pull = <0>;
84
+ };
85
+
86
+ twi2_pins_a: twi2@0 {
87
+ allwinner,pins = "PE1", "PE2";
88
+ allwinner,pname = "twi2_scl", "twi2_sda";
89
+ allwinner,function = "twi2";
90
+ allwinner,muxsel = <2>;
91
+ allwinner,drive = <1>;
92
+ allwinner,pull = <0>;
93
+ };
94
+
95
+ twi2_pins_b: twi2@1 {
96
+ allwinner,pins = "PE1", "PE2";
97
+ allwinner,function = "io_disabled";
98
+ allwinner,muxsel = <7>;
99
+ allwinner,drive = <1>;
100
+ allwinner,pull = <0>;
101
+ };
102
+
103
+ twi3_pins_a: twi3@0 {
104
+ allwinner,pins = "PH12", "PH13";
105
+ allwinner,pname = "twi3_scl", "twi3_sda";
106
+ allwinner,function = "twi3";
107
+ allwinner,muxsel = <3>;
108
+ allwinner,drive = <1>;
109
+ allwinner,pull = <1>;
110
+ };
111
+
112
+ twi3_pins_b: twi3@1 {
113
+ allwinner,pins = "PH12", "PH13";
114
+ allwinner,function = "io_disabled";
115
+ allwinner,muxsel = <7>;
116
+ allwinner,drive = <1>;
117
+ allwinner,pull = <0>;
118
+ };
119
+/*
120
+ pwm0_pin_a: pwm0@0 {
121
+ //allwinner,pins = "PD23";
122
+ allwinner,function = "pwm0";
123
+ allwinner,muxsel = <0x02>;
124
+ allwinner,drive = <0x2>;
125
+ allwinner,pull = <0>;
126
+ allwinner,data = <0xffffffff>;
127
+ };
128
+
129
+ pwm0_pin_b: pwm0@1 {
130
+ //allwinner,pins = "PD23";
131
+ allwinner,function = "io_disabled";
132
+ allwinner,muxsel = <0x07>;
133
+ allwinner,drive = <0x2>;
134
+ allwinner,pull = <0>;
135
+ allwinner,data = <0xffffffff>;
136
+ };
137
+
138
+ pwm1_pin_a: pwm1@0 {
139
+ //allwinner,pins = "PD22";
140
+ allwinner,function = "pwm1";
141
+ allwinner,muxsel = <0x02>;
142
+ allwinner,drive = <0x2>;
143
+ allwinner,pull = <0>;
144
+ allwinner,data = <0xffffffff>;
145
+ };
146
+
147
+ pwm1_pin_b: pwm1@1 {
148
+ //allwinner,pins = "PD22";
149
+ allwinner,function = "io_disabled";
150
+ allwinner,muxsel = <0x07>;
151
+ allwinner,drive = <0x2>;
152
+ allwinner,pull = <0>;
153
+ allwinner,data = <0xffffffff>;
154
+ };
155
+*/
156
+ pwm2_pin_a: pwm2@0 {
157
+ allwinner,pins = "PD20";
158
+ allwinner,function = "pwm2";
159
+ allwinner,muxsel = <0x03>;
160
+ allwinner,drive = <0x2>;
161
+ allwinner,pull = <0>;
162
+ allwinner,data = <0xffffffff>;
163
+ };
164
+
165
+ pwm2_pin_b: pwm2@1 {
166
+ allwinner,pins = "PD20";
167
+ allwinner,function = "io_disabled";
168
+ allwinner,muxsel = <0x07>;
169
+ allwinner,drive = <0x2>;
170
+ allwinner,pull = <0>;
171
+ allwinner,data = <0xffffffff>;
172
+ };
173
+/*
174
+ pwm3_pin_a: pwm3@0 {
175
+ allwinner,pins = "PD21";
176
+ allwinner,function = "pwm3";
177
+ allwinner,muxsel = <0x03>;
178
+ allwinner,drive = <0x2>;
179
+ allwinner,pull = <0>;
180
+ allwinner,data = <0xffffffff>;
181
+ };
182
+
183
+ pwm3_pin_b: pwm3@1 {
184
+ allwinner,pins = "PD21";
185
+ allwinner,function = "io_disabled";
186
+ allwinner,muxsel = <0x07>;
187
+ allwinner,drive = <0x2>;
188
+ allwinner,pull = <0>;
189
+ allwinner,data = <0xffffffff>;
190
+ };
191
+*/
192
+ spi0_pins_a: spi0@0 {
193
+ // allwinner,pins = "PC2", "PC4", "PC12", "PC15", "PC16";
194
+ allwinner,pins = "PC2", "PC4", "PC12";
195
+ // allwinner,pname = "spi0_mosi", "spi0_miso",
196
+ // "spi0_sclk", "spi0_wp", "spi0_hold";
197
+ allwinner,pname = "spi0_mosi", "spi0_miso", "spi0_sclk";
198
+ allwinner,function = "spi0";
199
+ allwinner,muxsel = <4>;
200
+ allwinner,drive = <1>;
201
+ allwinner,pull = <0>;
202
+ };
203
+
204
+ spi0_pins_b: spi0@1 {
205
+ allwinner,pins = "PC3", "PC7";
206
+ allwinner,pname = "spi0_cs0", "spi0_cs1";
207
+ allwinner,function = "spi0";
208
+ allwinner,muxsel = <4>;
209
+ allwinner,drive = <1>;
210
+ allwinner,pull = <1>; /* only CS should be pulled up */
211
+ };
212
+
213
+ spi0_pins_c: spi0@2 {
214
+ // allwinner,pins = "PC2", "PC3", "PC4", "PC7", "PC12", "PC15", "PC16";
215
+ allwinner,pins = "PC2", "PC3", "PC4", "PC7", "PC12";
216
+ allwinner,function = "io_disabled";
217
+ allwinner,muxsel = <7>;
218
+ allwinner,drive = <1>;
219
+ allwinner,pull = <0>;
220
+ };
221
+/*
222
+ spi1_pins_a: spi1@0 {
223
+ allwinner,pins = "PD11", "PD12", "PD13";
224
+ allwinner,pname = "spi1_sclk", "spi1_mosi",
225
+ "spi1_miso";
226
+ allwinner,function = "spi1";
227
+ allwinner,muxsel = <4>;
228
+ allwinner,drive = <1>;
229
+ allwinner,pull = <0>;
230
+ };
231
+
232
+ spi1_pins_b: spi1@1 {
233
+ allwinner,pins = "PD10";
234
+ allwinner,pname = "spi1_cs0";
235
+ allwinner,function = "spi1";
236
+ allwinner,muxsel = <4>;
237
+ allwinner,drive = <1>;
238
+ allwinner,pull = <1>; // only CS should be pulled up
239
+ };
240
+
241
+ spi1_pins_c: spi1@2 {
242
+ allwinner,pins = "PD10", "PD11", "PD12", "PD13";
243
+ allwinner,function = "io_disabled";
244
+ allwinner,muxsel = <7>;
245
+ allwinner,drive = <1>;
246
+ allwinner,pull = <0>;
247
+ };
248
+
249
+ uart3_pins_a: uart3@0 {
250
+ allwinner,pins = "PD14", "PD15";
251
+ allwinner,pname = "uart3_tx", "uart3_rx";
252
+ allwinner,function = "uart3";
253
+ allwinner,muxsel = <4>;
254
+ allwinner,drive = <1>;
255
+ allwinner,pull = <1>;
256
+ };
257
+
258
+ uart3_pins_b: uart3@1 {
259
+ allwinner,pins = "PD14", "PD15";
260
+ allwinner,function = "io_disabled";
261
+ allwinner,muxsel = <7>;
262
+ allwinner,drive = <1>;
263
+ allwinner,pull = <0>;
264
+ };
265
+
266
+ uart4_pins_a: uart4@0 {
267
+ allwinner,pins = "PD18", "PD19";
268
+ allwinner,pname = "uart4_tx", "uart4_rx";
269
+ allwinner,function = "uart4";
270
+ allwinner,muxsel = <4>;
271
+ allwinner,drive = <1>;
272
+ allwinner,pull = <1>;
273
+ };
274
+
275
+ uart4_pins_b: uart4@1 {
276
+ allwinner,pins = "PD18", "PD19";
277
+ allwinner,pins = "PD18", "PD19";
278
+ allwinner,function = "io_disabled";
279
+ allwinner,muxsel = <7>;
280
+ allwinner,drive = <1>;
281
+ allwinner,pull = <0>;
282
+ };
283
+*/
284
+ };
285
+
286
+ twi0: twi@0x05002000{
287
+ clock-frequency = <400000>;
288
+ pinctrl-0 = <&twi0_pins_a>;
289
+ pinctrl-1 = <&twi0_pins_b>;
290
+ status = "okay";
291
+ ctp {
292
+ compatible = "gt9xx_ts";
293
+ ctp_used = <1>;
294
+ device_type = "ctp";
295
+ status = "okay";
296
+ ctp_twi_id = <0x0>;
297
+ ctp_name = "gt9xx";
298
+ reg = <0x5D>;
299
+ ctp_screen_max_x = <1024>;
300
+ ctp_screen_max_y = <600>;
301
+ ctp_revert_x_flag = <0x1>;
302
+ ctp_revert_y_flag = <0x1>;
303
+ ctp_exchange_x_y_flag = <0x0>;
304
+ ctp_int_port = <&pio PE 3 6 0xffffffff 0xffffffff 0>;
305
+ ctp_wakeup = <&pio PE 4 1 0xffffffff 0xffffffff 1>;
306
+ ctp_power_ldo = <3300>;
307
+ ctp_power_ldo_vol = <3300>;
308
+ ctp_power = <3300>;
309
+ };
310
+ };
311
+
312
+ spi0: spi@05010000 {
313
+ #address-cells = <1>;
314
+ #size-cells = <0>;
315
+ compatible = "allwinner,sun50i-spi";
316
+ device_type = "spi0";
317
+ reg = <0x0 0x05010000 0x0 0x1000>;
318
+ interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
319
+ clocks = <&clk_pll_periph0>, <&clk_spi0>;
320
+ clock-frequency = <100000000>;
321
+ pinctrl-names = "default", "sleep";
322
+ pinctrl-0 = <&spi0_pins_a &spi0_pins_b>;
323
+ pinctrl-1 = <&spi0_pins_c>;
324
+ spi0_cs_number = <1>;
325
+ spi0_cs_bitmap = <1>;
326
+ spi_slave_mode = <0>;
327
+ //status = "okay";
328
+ status = "disabled";
329
+ /*
330
+ spi_uart {
331
+ compatible = "wkmic,wk2124spi";
332
+ reg = <0>;
333
+ spi-max-frequency = <10000000>;
334
+ //irq_gpio = <&pio PH 11 6 0xffffffff 0xffffffff 0>;
335
+ };
336
+ */
337
+
338
+ dh2228@2 {
339
+ compatible = "rohm,dh2228fv";
340
+ reg = <0>;
341
+ spi-max-frequency = <100000>;
342
+ };
343
+
344
+ };
345
+/*
346
+ pwm3: pwm3@0300a000 {
347
+ pinctrl-names = "active", "sleep";
348
+ pinctrl-0 = <&pwm3_pin_a>;
349
+ pinctrl-1 = <&pwm3_pin_b>;
350
+ status = "disabled";
351
+ };
352
+*/
353
+ pwm2: pwm2@0300a000 {
354
+ pinctrl-names = "active", "sleep";
355
+ pinctrl-0 = <&pwm2_pin_a>;
356
+ pinctrl-1 = <&pwm2_pin_b>;
357
+ status = "okay";
358
+ };
359
+
360
+ twi1: twi@0x05002400{
361
+ clock-frequency = <200000>;
362
+ pinctrl-0 = <&twi1_pins_a>;
363
+ pinctrl-1 = <&twi1_pins_b>;
364
+ status = "okay";
365
+ // EXTEND GPIO
366
+ };
367
+
368
+ twi2: twi@0x05002800{
369
+ clock-frequency = <200000>;
370
+ pinctrl-0 = <&twi2_pins_a>;
371
+ pinctrl-1 = <&twi2_pins_b>;
372
+ twi-supply = <&reg_dldo2>;
373
+ status = "okay";
374
+ // CAMERA1
375
+
376
+ // CAMERA2
377
+ };
378
+
379
+ twi3: twi@0x05002c00{
380
+ clock-frequency = <200000>;
381
+ pinctrl-0 = <&twi3_pins_a>;
382
+ pinctrl-1 = <&twi3_pins_b>;
383
+ status = "okay";
384
+ // RTC
385
+ pcf8563@51 {
386
+ compatible = "haoyu,hym8563";
387
+ reg = <0x51>;
388
+ interrupt-parent = <&pio>;
389
+ interrupts = <PB 8 IRQ_TYPE_LEVEL_LOW>;
390
+ status = "okay";
391
+ wakeup-source;
392
+ };
393
+ };
394
+
395
+ twi6: s_twi@0x07081400{
396
+ clock-frequency = <200000>;
397
+ pinctrl-0 = <&s_twi0_pins_a>;
398
+ pinctrl-1 = <&s_twi0_pins_b>;
399
+ twi_drv_used = <1>;
400
+ status = "okay";
401
+ no_suspend = <1>;
402
+
403
+ pmu0: pmu@34 {
404
+ compatible = "x-powers,axp803";
405
+ reg = <0x34>;
406
+ status = "okay";
407
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
408
+ interrupt-parent = <&nmi_intc>;
409
+ x-powers,drive-vbus-en;
410
+ pmu_reset = <0>;
411
+ pmu_irq_wakeup = <1>;
412
+ pmu_hot_shutdown = <1>;
413
+
414
+ wakeup-source;
415
+
416
+ ac_power_supply: ac-power-supply {
417
+ compatible = "x-powers,axp803-ac-power-supply";
418
+ status = "okay";
419
+
420
+ pmu_ac_vol = <4600>;
421
+ pmu_ac_cur = <3000>;
422
+
423
+ wakeup_ac_in;
424
+ wakeup_ac_out;
425
+ };
426
+
427
+ usb_power_supply: usb_power_supply {
428
+ compatible = "x-powers,axp803-usb-power-supply";
429
+ status = "okay";
430
+
431
+ pmu_usbpc_vol = <4600>;
432
+ pmu_usbpc_cur = <3000>;
433
+ pmu_usbad_vol = <4600>;
434
+ pmu_usbad_cur = <2500>;
435
+
436
+ wakeup_usb_in;
437
+ wakeup_usb_out;
438
+ };
439
+
440
+ battery_power_supply: battery-power-supply {
441
+ compatible = "x-powers,axp803-battery-power-supply";
442
+ status = "disabled";
443
+
444
+ pmu_chg_ic_temp = <0>;
445
+ pmu_battery_rdc= <93>;
446
+ pmu_battery_cap = <5067>;
447
+ pmu_runtime_chgcur = <1000>;
448
+ pmu_suspend_chgcur = <2000>;
449
+ pmu_shutdown_chgcur = <2000>;
450
+ pmu_init_chgvol = <4200>;
451
+ pmu_battery_warning_level1 = <15>;
452
+ pmu_battery_warning_level2 = <0>;
453
+ pmu_chgled_func = <0>;
454
+ pmu_chgled_type = <0>;
455
+ ocv_coulumb_100 = <1>;
456
+ pmu_bat_para1 = <0>;
457
+ pmu_bat_para2 = <0>;
458
+ pmu_bat_para3 = <0>;
459
+ pmu_bat_para4 = <0>;
460
+ pmu_bat_para5 = <6>;
461
+ pmu_bat_para6 = <8>;
462
+ pmu_bat_para7 = <9>;
463
+ pmu_bat_para8 = <10>;
464
+ pmu_bat_para9 = <11>;
465
+ pmu_bat_para10 = <12>;
466
+ pmu_bat_para11 = <13>;
467
+ pmu_bat_para12 = <15>;
468
+ pmu_bat_para13 = <18>;
469
+ pmu_bat_para14 = <23>;
470
+ pmu_bat_para15 = <29>;
471
+ pmu_bat_para16 = <44>;
472
+ pmu_bat_para17 = <50>;
473
+ pmu_bat_para18 = <58>;
474
+ pmu_bat_para19 = <65>;
475
+ pmu_bat_para20 = <70>;
476
+ pmu_bat_para21 = <75>;
477
+ pmu_bat_para22 = <80>;
478
+ pmu_bat_para23 = <83>;
479
+ pmu_bat_para24 = <84>;
480
+ pmu_bat_para25 = <86>;
481
+ pmu_bat_para26 = <90>;
482
+ pmu_bat_para27 = <94>;
483
+ pmu_bat_para28 = <97>;
484
+ pmu_bat_para29 = <99>;
485
+ pmu_bat_para30 = <100>;
486
+ pmu_bat_para31 = <100>;
487
+ pmu_bat_para32 = <100>;
488
+
489
+ pmu_bat_temp_enable = <0>;
490
+ pmu_bat_charge_ltf = <1105>;
491
+ pmu_bat_charge_htf = <121>;
492
+ pmu_bat_shutdown_ltf = <1381>;
493
+ pmu_bat_shutdown_htf = <89>;
494
+ pmu_bat_temp_para1 = <2814>;
495
+ pmu_bat_temp_para2 = <2202>;
496
+ pmu_bat_temp_para3 = <1737>;
497
+ pmu_bat_temp_para4 = <1381>;
498
+ pmu_bat_temp_para5 = <1105>;
499
+ pmu_bat_temp_para6 = <890>;
500
+ pmu_bat_temp_para7 = <722>;
501
+ pmu_bat_temp_para8 = <484>;
502
+ pmu_bat_temp_para9 = <332>;
503
+ pmu_bat_temp_para10 = <233>;
504
+ pmu_bat_temp_para11 = <196>;
505
+ pmu_bat_temp_para12 = <166>;
506
+ pmu_bat_temp_para13 = <141>;
507
+ pmu_bat_temp_para14 = <121>;
508
+ pmu_bat_temp_para15 = <89>;
509
+ pmu_bat_temp_para16 = <66>;
510
+
511
+ wakeup_bat_out;
512
+ /* wakeup_bat_in; */
513
+ /* wakeup_bat_charging; */
514
+ /* wakeup_bat_charge_over; */
515
+ /* wakeup_low_warning1; */
516
+ /* wakeup_low_warning2; */
517
+ /* wakeup_bat_untemp_work; */
518
+ /* wakeup_bat_ovtemp_work; */
519
+ /* wakeup_bat_untemp_chg; */
520
+ /* wakeup_bat_ovtemp_chg; */
521
+ };
522
+
523
+ powerkey0: powerkey@0 {
524
+ status = "okay";
525
+ compatible = "x-powers,axp2101-pek";
526
+ pmu_powkey_off_time = <6000>;
527
+ pmu_powkey_off_func = <0>;
528
+ pmu_powkey_off_en = <1>;
529
+ pmu_powkey_long_time = <1500>;
530
+ pmu_powkey_on_time = <512>;
531
+ wakeup_rising;
532
+ wakeup_falling;
533
+ };
534
+
535
+ regulator0: regulators@0 {
536
+ reg_dcdc1: dcdc1 {
537
+ regulator-name = "axp803-dcdc1";
538
+ regulator-min-microvolt = <1600000>;
539
+ regulator-max-microvolt = <3400000>;
540
+ regulator-ramp-delay = <250>;
541
+ regulator-enable-ramp-delay = <1000>;
542
+ regulator-boot-on;
543
+ regulator-always-on;
544
+ };
545
+ reg_dcdc2: dcdc2 {
546
+ regulator-name = "axp803-dcdc2";
547
+ regulator-min-microvolt = <500000>;
548
+ regulator-max-microvolt = <1300000>;
549
+ regulator-ramp-delay = <250>;
550
+ regulator-enable-ramp-delay = <1000>;
551
+ regulator-boot-on;
552
+ regulator-always-on;
553
+ };
554
+ reg_dcdc3: dcdc3 {
555
+ regulator-name = "axp803-dcdc3";
556
+ regulator-min-microvolt = <500000>;
557
+ regulator-max-microvolt = <1300000>;
558
+ regulator-ramp-delay = <250>;
559
+ regulator-enable-ramp-delay = <1000>;
560
+ regulator-boot-on;
561
+ regulator-always-on;
562
+ };
563
+ reg_dcdc4: dcdc4 {
564
+ regulator-name = "axp803-dcdc4";
565
+ regulator-min-microvolt = <500000>;
566
+ regulator-max-microvolt = <1300000>;
567
+ regulator-ramp-delay = <250>;
568
+ regulator-enable-ramp-delay = <1000>;
569
+ regulator-boot-on;
570
+ regulator-always-on;
571
+ };
572
+ reg_dcdc5: dcdc5 {
573
+ regulator-name = "axp803-dcdc5";
574
+ regulator-min-microvolt = <800000>;
575
+ regulator-max-microvolt = <1840000>;
576
+ regulator-ramp-delay = <250>;
577
+ regulator-enable-ramp-delay = <1000>;
578
+ regulator-always-on;
579
+ };
580
+ reg_dcdc6: dcdc6 {
581
+ regulator-name = "axp803-dcdc6";
582
+ regulator-min-microvolt = <600000>;
583
+ regulator-max-microvolt = <1520000>;
584
+ regulator-ramp-delay = <250>;
585
+ regulator-enable-ramp-delay = <1000>;
586
+ };
587
+ reg_dcdc7: dcdc7 {
588
+ regulator-name = "axp803-dcdc7";
589
+ regulator-min-microvolt = <600000>;
590
+ regulator-max-microvolt = <1520000>;
591
+ regulator-ramp-delay = <250>;
592
+ regulator-enable-ramp-delay = <1000>;
593
+ };
594
+ reg_rtcldo: rtcldo {
595
+ /* RTC_LDO is a fixed, always-on regulator */
596
+ regulator-name = "axp803-rtcldo";
597
+ regulator-min-microvolt = <1800000>;
598
+ regulator-max-microvolt = <1800000>;
599
+ regulator-boot-on;
600
+ regulator-always-on;
601
+ };
602
+ reg_aldo1: aldo1 {
603
+ regulator-name = "axp803-aldo1";
604
+ regulator-min-microvolt = <700000>;
605
+ regulator-max-microvolt = <3300000>;
606
+ regulator-enable-ramp-delay = <1000>;
607
+ regulator-boot-on;
608
+ regulator-always-on;
609
+ };
610
+ reg_aldo2: aldo2 {
611
+ regulator-name = "axp803-aldo2";
612
+ regulator-min-microvolt = <700000>;
613
+ regulator-max-microvolt = <3300000>;
614
+ regulator-enable-ramp-delay = <1000>;
615
+ regulator-always-on;
616
+ };
617
+ reg_aldo3: aldo3 {
618
+ regulator-name = "axp803-aldo3";
619
+ regulator-min-microvolt = <700000>;
620
+ regulator-max-microvolt = <3300000>;
621
+ regulator-enable-ramp-delay = <1000>;
622
+ regulator-always-on;
623
+ regulator-boot-on;
624
+ };
625
+ reg_dldo1: dldo1 {
626
+ regulator-name = "axp803-dldo1";
627
+ regulator-min-microvolt = <1800000>;
628
+ regulator-max-microvolt = <1900000>;
629
+ regulator-enable-ramp-delay = <1000>;
630
+ regulator-always-on;
631
+ regulator-boot-on;
632
+ };
633
+ reg_dldo2: dldo2 {
634
+ regulator-name = "axp803-dldo2";
635
+ regulator-min-microvolt = <700000>;
636
+ regulator-max-microvolt = <4200000>;
637
+ regulator-enable-ramp-delay = <1000>;
638
+ regulator-always-on;
639
+ regulator-boot-on;
640
+ // kickpi
641
+ };
642
+ reg_dldo3: dldo3 {
643
+ regulator-name = "axp803-dldo3";
644
+ regulator-min-microvolt = <700000>;
645
+ regulator-max-microvolt = <3300000>;
646
+ regulator-enable-ramp-delay = <1000>;
647
+ };
648
+ reg_dldo4: dldo4 {
649
+ regulator-name = "axp803-dldo4";
650
+ regulator-min-microvolt = <700000>;
651
+ regulator-max-microvolt = <3300000>;
652
+ regulator-enable-ramp-delay = <1000>;
653
+ };
654
+ reg_eldo1: eldo1 {
655
+ regulator-name = "axp803-eldo1";
656
+ regulator-min-microvolt = <700000>;
657
+ regulator-max-microvolt = <1900000>;
658
+ regulator-enable-ramp-delay = <1000>;
659
+ };
660
+ reg_eldo2: eldo2 {
661
+ regulator-name = "axp803-eldo2";
662
+ regulator-min-microvolt = <700000>;
663
+ regulator-max-microvolt = <1900000>;
664
+ regulator-enable-ramp-delay = <1000>;
665
+ };
666
+ reg_eldo3: eldo3 {
667
+ regulator-name = "axp803-eldo3";
668
+ regulator-min-microvolt = <700000>;
669
+ regulator-max-microvolt = <1900000>;
670
+ regulator-enable-ramp-delay = <1000>;
671
+ regulator-always-on;
672
+ regulator-boot-on;
673
+ // kickpi
674
+ };
675
+ reg_fldo1: fldo1 {
676
+ regulator-name = "axp803-fldo1";
677
+ regulator-min-microvolt = <700000>;
678
+ regulator-max-microvolt = <1450000>;
679
+ regulator-enable-ramp-delay = <1000>;
680
+ regulator-always-on;
681
+ };
682
+ reg_fldo2: fldo2 {
683
+ regulator-name = "axp803-fldo2";
684
+ regulator-min-microvolt = <700000>;
685
+ regulator-max-microvolt = <1450000>;
686
+ regulator-enable-ramp-delay = <1000>;
687
+ };
688
+ reg_ldoio0: ldoio0 {
689
+ regulator-name = "axp803-ldoio0";
690
+ regulator-min-microvolt = <700000>;
691
+ regulator-max-microvolt = <3300000>;
692
+ regulator-enable-ramp-delay = <1000>;
693
+ regulator-boot-on;
694
+ regulator-always-on;
695
+ };
696
+ reg_ldoio1: ldoio1 {
697
+ regulator-name = "axp803-ldoio1";
698
+ regulator-min-microvolt = <700000>;
699
+ regulator-max-microvolt = <3300000>;
700
+ regulator-enable-ramp-delay = <1000>;
701
+ };
702
+ reg_dc1sw: dc1sw {
703
+ regulator-name = "axp803-dc1sw";
704
+ regulator-enable-ramp-delay = <1000>;
705
+ };
706
+ reg_drivevbus: drivevbus {
707
+ regulator-name = "axp803-drivevbus";
708
+ regulator-enable-ramp-delay = <1000>;
709
+ };
710
+ };
711
+
712
+ virtual-dcdc1 {
713
+ compatible = "xpower-vregulator,dcdc1";
714
+ dcdc1-supply = <&reg_dcdc1>;
715
+ };
716
+ virtual-dcdc2 {
717
+ compatible = "xpower-vregulator,dcdc2";
718
+ dcdc2-supply = <&reg_dcdc2>;
719
+ };
720
+ virtual-dcdc3 {
721
+ compatible = "xpower-vregulator,dcdc3";
722
+ dcdc3-supply = <&reg_dcdc3>;
723
+ };
724
+ virtual-dcdc4 {
725
+ compatible = "xpower-vregulator,dcdc4";
726
+ dcdc4-supply = <&reg_dcdc4>;
727
+ };
728
+ virtual-dcdc5 {
729
+ compatible = "xpower-vregulator,dcdc5";
730
+ dcdc5-supply = <&reg_dcdc5>;
731
+ };
732
+ virtual-dcdc6 {
733
+ compatible = "xpower-vregulator,dcdc6";
734
+ dcdc6-supply = <&reg_dcdc6>;
735
+ };
736
+ virtual-dcdc7 {
737
+ compatible = "xpower-vregulator,dcdc7";
738
+ dcdc7-supply = <&reg_dcdc7>;
739
+ };
740
+ virtual-rtcldo {
741
+ compatible = "xpower-vregulator,rtcldo";
742
+ rtcldo-supply = <&reg_rtcldo>;
743
+ };
744
+ virtual-aldo1 {
745
+ compatible = "xpower-vregulator,aldo1";
746
+ aldo1-supply = <&reg_aldo1>;
747
+ };
748
+ virtual-aldo2 {
749
+ compatible = "xpower-vregulator,aldo2";
750
+ aldo2-supply = <&reg_aldo2>;
751
+ };
752
+ virtual-aldo3 {
753
+ compatible = "xpower-vregulator,aldo3";
754
+ aldo3-supply = <&reg_aldo3>;
755
+ };
756
+ virtual-dldo1 {
757
+ compatible = "xpower-vregulator,dldo1";
758
+ dldo1-supply = <&reg_dldo1>;
759
+ };
760
+ virtual-dldo2 {
761
+ compatible = "xpower-vregulator,dldo2";
762
+ dldo2-supply = <&reg_dldo2>;
763
+ };
764
+ virtual-dldo3 {
765
+ compatible = "xpower-vregulator,dldo3";
766
+ dldo3-supply = <&reg_dldo3>;
767
+ };
768
+ virtual-dldo4 {
769
+ compatible = "xpower-vregulator,dldo4";
770
+ dldo4-supply = <&reg_dldo4>;
771
+ };
772
+ virtual-eldo1 {
773
+ compatible = "xpower-vregulator,eldo1";
774
+ eldo1-supply = <&reg_eldo1>;
775
+ };
776
+ virtual-eldo2 {
777
+ compatible = "xpower-vregulator,eldo2";
778
+ eldo2-supply = <&reg_eldo2>;
779
+ };
780
+ virtual-eldo3 {
781
+ compatible = "xpower-vregulator,eldo3";
782
+ eldo3-supply = <&reg_eldo3>;
783
+ };
784
+ virtual-fldo1 {
785
+ compatible = "xpower-vregulator,fldo1";
786
+ fldo1-supply = <&reg_fldo1>;
787
+ };
788
+ virtual-fldo2 {
789
+ compatible = "xpower-vregulator,fldo2";
790
+ fldo2-supply = <&reg_fldo2>;
791
+ };
792
+ virtual-ldoio0 {
793
+ compatible = "xpower-vregulator,ldoio0";
794
+ ldoio0-supply = <&reg_ldoio0>;
795
+ };
796
+ virtual-ldoio1 {
797
+ compatible = "xpower-vregulator,ldoio1";
798
+ ldoio1-supply = <&reg_ldoio1>;
799
+ };
800
+ virtual-dc1sw {
801
+ compatible = "xpower-vregulator,dc1sw";
802
+ dc1sw-supply = <&reg_dc1sw>;
803
+ };
804
+ virtual-drivevbus {
805
+ compatible = "xpower-vregulator,drivevbus";
806
+ drivevbus-supply = <&reg_drivevbus>;
807
+ };
808
+
809
+ axp_gpio0: axp_gpio@0 {
810
+ gpio-controller;
811
+ #size-cells = <0>;
812
+ #gpio-cells = <6>;
813
+ status = "disabled";
814
+ };
815
+ };
816
+ };
817
+
818
+ standby_param: standby_param {
819
+ vdd-cpu = <0x00000006>;
820
+ vdd-sys = <0x00000008>;
821
+ vcc-pll = <0x00000100>;
822
+
823
+ osc24m-on = <0x1>;
824
+ };
825
+/*
826
+ pwm0: pwm0@0300a000 {
827
+ pinctrl-names = "active", "sleep";
828
+ pinctrl-0 = <&pwm0_pin_a>;
829
+ pinctrl-1 = <&pwm0_pin_b>;
830
+ };
831
+
832
+ spi1: spi@05011000 {
833
+ pinctrl-0 = <&spi1_pins_a &spi1_pins_b>;
834
+ pinctrl-1 = <&spi1_pins_c>;
835
+ spi_slave_mode = <0>;
836
+ status = "disabled";
837
+ };
838
+
839
+ spi2: spi@05012000 {
840
+ pinctrl-0 = <&spi2_pins_a &spi2_pins_b>;
841
+ pinctrl-1 = <&spi2_pins_c>;
842
+ spi_slave_mode = <0>;
843
+ status = "disabled";
844
+ };
845
+*/
846
+ gpadc:gpadc{
847
+ channel_num = <1>;
848
+ channel_select = <0x01>;
849
+ channel_data_select = <0>;
850
+ channel_compare_select = <0x01>;
851
+ channel_cld_select = <0x01>;
852
+ channel_chd_select = <0>;
853
+ channel0_compare_lowdata = <1700000>;
854
+ channel0_compare_higdata = <1200000>;
855
+ status = "disabled";
856
+ };
857
+
858
+ sdc2: sdmmc@04022000 {
859
+ non-removable;
860
+ bus-width = <8>;
861
+ mmc-ddr-1_8v;
862
+ mmc-hs200-1_8v;
863
+ mmc-hs400-1_8v;
864
+ no-sdio;
865
+ no-sd;
866
+ ctl-spec-caps = <0x308>;
867
+ cap-mmc-highspeed;
868
+ sunxi-power-save-mode;
869
+ sunxi-dis-signal-vol-sw;
870
+ max-frequency = <100000000>;
871
+ vmmc-supply = <&reg_dcdc1>;
872
+ /*emmc io vol 3.3v*/
873
+ /*vqmmc-supply = <&reg_aldo1>;*/
874
+ /*emmc io vol 1.8v*/
875
+ vqmmc-supply = <&reg_eldo1>;
876
+ status = "disabled";
877
+ };
878
+
879
+ sdc0: sdmmc@04020000 {
880
+ bus-width = <4>;
881
+ /*non-removable;*/
882
+ /*broken-cd;*/
883
+ /*cd-inverted*/
884
+ /*data3-detect;*/
885
+ cd-used-24M;
886
+ cd-gpios = <&pio PF 6 6 1 3 0xffffffff>;
887
+ cap-sd-highspeed;
888
+ sd-uhs-sdr50;
889
+ sd-uhs-ddr50;
890
+ sd-uhs-sdr104;
891
+ no-sdio;
892
+ no-mmc;
893
+ sunxi-power-save-mode;
894
+ /*sunxi-dis-signal-vol-sw;*/
895
+ max-frequency = <150000000>;
896
+ ctl-spec-caps = <0x8>;
897
+ vmmc-supply = <&reg_dcdc1>;
898
+ vqmmc33sw-supply = <&reg_dcdc1>;
899
+ vdmmc33sw-supply = <&reg_dcdc1>;
900
+ vqmmc18sw-supply = <&reg_eldo1>;
901
+ vdmmc18sw-supply = <&reg_eldo1>;
902
+ status = "okay";
903
+ };
904
+
905
+/*
906
+ *usb_port_type: usb mode. 0-device, 1-host, 2-otg.
907
+ *usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect.
908
+ *usb_id_gpio: gpio for id detect.
909
+ *usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl";
910
+ *usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY.
911
+ */
912
+ usbc0:usbc0@0 {
913
+ device_type = "usbc0";
914
+ usb_port_type = <0x0>;
915
+ usb_detect_type = <0x1>;
916
+ usb_id_gpio = <&r_pio PL 9 0 0 0xffffffff 0xffffffff>;
917
+ usb_det_vbus_gpio = "axp_ctrl";
918
+ usb_regulator_io = "nocare";
919
+ det_vbus_supply = <&usb_power_supply>;
920
+ usb_wakeup_suspend = <1>;
921
+ usb_serial_unique = <0>;
922
+ usb_serial_number = "20080411";
923
+ rndis_wceis = <1>;
924
+ status = "okay";
925
+ };
926
+
927
+ udc:udc-controller@0x05100000 {
928
+ det_vbus_supply = <&usb_power_supply>;
929
+ };
930
+
931
+ ehci0:ehci0-controller@0x05101000 {
932
+ drvvbus-supply = <&reg_drivevbus>;
933
+ };
934
+
935
+ ohci0:ohci0-controller@0x05101400 {
936
+ drvvbus-supply = <&reg_drivevbus>;
937
+ };
938
+
939
+ usbc1:usbc1@0 {
940
+ device_type = "usbc1";
941
+ usb_regulator_io = "nocare";
942
+ usb_wakeup_suspend = <0>;
943
+ status = "okay";
944
+ };
945
+
946
+ ehci1:ehci1-controller@0x05200000 {
947
+ drvvbus-supply = <&reg_usb1_vbus>;
948
+ };
949
+
950
+ ohci1:ohci1-controller@0x05200400 {
951
+ drvvbus-supply = <&reg_usb1_vbus>;
952
+ };
953
+
954
+ sdc1: sdmmc@04021000 {
955
+ bus-width = <4>;
956
+ no-mmc;
957
+ no-sd;
958
+ cap-sd-highspeed;
959
+ /*sd-uhs-sdr12*/
960
+ /*sd-uhs-sdr25*/
961
+ sd-uhs-sdr50;
962
+ sd-uhs-ddr50;
963
+ sd-uhs-sdr104;
964
+ // kickpi
965
+ //sunxi-power-save-mode;
966
+ /*sunxi-dis-signal-vol-sw;*/
967
+ sdio-used-1v8;
968
+ cap-sdio-irq;
969
+ keep-power-in-suspend;
970
+ ignore-pm-notify;
971
+ max-frequency = <50000000>;
972
+ ctl-spec-caps = <0x8>;
973
+ status = "okay";
974
+
975
+ };
976
+
977
+ /* gpio-spk will output 0x00 when playing audio */
978
+ /* Audio Driver Modules */
979
+ codec:codec@0x05096000 {
980
+ /* MIC and headphone gain setting */
981
+ mic1gain = <0x1F>;
982
+ mic2gain = <0x1F>;
983
+ /* ADC/DAC DRC/HPF func enabled */
984
+ /* 0x1:DAP_HP_EN; 0x2:DAP_SPK_EN; 0x3:DAP_HPSPK_EN */
985
+ adcdrc_cfg = <0x2>;
986
+ adchpf_cfg = <0x1>;
987
+ dacdrc_cfg = <0x2>;
988
+ dachpf_cfg = <0x0>;
989
+ /* Volume about */
990
+ digital_vol = <0x00>;
991
+ lineout_vol = <0x1a>;
992
+ headphonegain = <0x00>;
993
+ /* Pa enabled about */
994
+ pa_level = <0x00>;
995
+ pa_msleep_time = <0x78>;
996
+ //gpio-spk = <&pio PB 7 1 1 1 1>;
997
+ /* regulator about */
998
+ avcc-supply = <&reg_aldo1>;
999
+ cpvin-supply = <&reg_eldo1>;
1000
+ status = "okay";
1001
+ };
1002
+
1003
+ sndcodec:sound@0 {
1004
+ noheadphonemic = <1>;
1005
+ status = "okay";
1006
+ };
1007
+
1008
+ spdif:spdif-controller@0x05094000{
1009
+ status = "okay";
1010
+ };
1011
+
1012
+ sndspdif:sound@1{
1013
+ status = "okay";
1014
+ };
1015
+
1016
+ dmic:dmic-controller@0x05095000{
1017
+ status = "disabled";
1018
+ };
1019
+
1020
+ snddmic:sound@2{
1021
+ status = "disabled";
1022
+ };
1023
+
1024
+ daudio0:daudio@0x05090000 {
1025
+ mclk_div = <0x01>;
1026
+ frametype = <0x00>;
1027
+ tdm_config = <0x01>;
1028
+ sign_extend = <0x00>;
1029
+ tx_data_mode = <0x00>;
1030
+ rx_data_mode = <0x00>;
1031
+ msb_lsb_first = <0x00>;
1032
+ pcm_lrck_period = <0x80>;
1033
+ audio_format = <0x01>;
1034
+ daudio_master = <0x04>;
1035
+ signal_inversion = <0x01>;
1036
+ slot_width_select = <0x20>;
1037
+ status = "okay";
1038
+ };
1039
+
1040
+ snddaudio0:sound@3 {
1041
+/* sunxi,snddaudio-codec = "ac108.1-003b";
1042
+ sunxi,snddaudio-codec-dai = "ac108-pcm0";*/
1043
+
1044
+/* sunxi,snddaudio-codec = "ac107.1-0036";
1045
+ sunxi,snddaudio-codec-dai = "ac107-pcm0"; */
1046
+ status = "okay";
1047
+ };
1048
+
1049
+ daudio1:daudio@0x05091000 {
1050
+ mclk_div = <0x01>;
1051
+ frametype = <0x00>;
1052
+ tdm_config = <0x01>;
1053
+ sign_extend = <0x00>;
1054
+ tx_data_mode = <0x00>;
1055
+ rx_data_mode = <0x00>;
1056
+ msb_lsb_first = <0x00>;
1057
+ pcm_lrck_period = <0x80>;
1058
+ audio_format = <0x01>;
1059
+ daudio_master = <0x04>;
1060
+ signal_inversion = <0x01>;
1061
+ slot_width_select = <0x20>;
1062
+ status = "disabled";
1063
+ };
1064
+
1065
+ snddaudio1:sound@4 {
1066
+ status = "disabled";
1067
+ };
1068
+
1069
+ daudio2:daudio@0x05092000 {
1070
+ mclk_div = <0x01>;
1071
+ frametype = <0x00>;
1072
+ tdm_config = <0x01>;
1073
+ sign_extend = <0x00>;
1074
+ tx_data_mode = <0x00>;
1075
+ rx_data_mode = <0x00>;
1076
+ msb_lsb_first = <0x00>;
1077
+ pcm_lrck_period = <0x80>;
1078
+ audio_format = <0x01>;
1079
+ daudio_master = <0x04>;
1080
+ signal_inversion = <0x01>;
1081
+ slot_width_select = <0x20>;
1082
+ status = "disabled";
1083
+ };
1084
+
1085
+ snddaudio2:sound@5 {
1086
+ status = "disabled";
1087
+ };
1088
+
1089
+ daudio3:daudio@0x05093000 {
1090
+ mclk_div = <0x01>;
1091
+ frametype = <0x00>;
1092
+ tdm_config = <0x01>;
1093
+ sign_extend = <0x00>;
1094
+ tx_data_mode = <0x00>;
1095
+ rx_data_mode = <0x00>;
1096
+ msb_lsb_first = <0x00>;
1097
+ pcm_lrck_period = <0x80>;
1098
+ audio_format = <0x01>;
1099
+ daudio_master = <0x04>;
1100
+ signal_inversion = <0x01>;
1101
+ slot_width_select = <0x20>;
1102
+ status = "disabled";
1103
+ };
1104
+
1105
+ snddaudio3:sound@6 {
1106
+ status = "disabled";
1107
+ };
1108
+
1109
+ vind0:vind@0 {
1110
+ vind0_clk = <336000000>;
1111
+ vind0_isp = <300000000>;
1112
+ status = "disabled";
1113
+
1114
+ actuator0:actuator@0 {
1115
+ device_type = "actuator0";
1116
+ actuator0_name = "ad5820_act";
1117
+ actuator0_slave = <0x18>;
1118
+ actuator0_af_pwdn = <>;
1119
+ actuator0_afvdd = "afvcc-csi";
1120
+ actuator0_afvdd_vol = <2800000>;
1121
+ status = "disabled";
1122
+ };
1123
+ flash0:flash@0 {
1124
+ device_type = "flash0";
1125
+ flash0_type = <2>;
1126
+ flash0_en = <&r_pio PL 11 1 0 1 0>;
1127
+ flash0_mode = <>;
1128
+ flash0_flvdd = "";
1129
+ flash0_flvdd_vol = <>;
1130
+ device_id = <0>;
1131
+ status = "disabled";
1132
+ };
1133
+ sensor0:sensor@0 {
1134
+ device_type = "sensor0";
1135
+ sensor1_mname = "ov8858_r2a_4lane";
1136
+ sensor0_twi_cci_id = <2>;
1137
+ sensor0_twi_addr = <0x6c>;
1138
+ //sensor0_twi_addr = <0x20>;
1139
+
1140
+ sensor0_mclk_id = <0>;
1141
+ sensor0_pos = "rear";
1142
+ sensor0_isp_used = <1>;
1143
+ sensor0_fmt = <1>;
1144
+ sensor0_stby_mode = <0>;
1145
+ sensor0_vflip = <0>;
1146
+ sensor0_hflip = <0>;
1147
+ sensor0_iovdd-supply = <&reg_dldo2>;
1148
+ sensor0_iovdd_vol = <1800000>;
1149
+ sensor0_avdd-supply = <&reg_dldo3>;
1150
+ sensor0_avdd_vol = <2800000>;
1151
+ sensor0_dvdd-supply = <&reg_eldo2>;
1152
+ sensor0_dvdd_vol = <1200000>;
1153
+ sensor0_power_en = <>;
1154
+ sensor0_reset = <&pio PE 6 1 0 1 0>;
1155
+ sensor0_pwdn = <&pio PE 7 1 0 1 0>;
1156
+ status = "okay";
1157
+ };
1158
+ sensor1:sensor@1 {
1159
+ device_type = "sensor1";
1160
+ sensor1_mname = "ov5648_mipi";
1161
+ sensor1_twi_cci_id = <3>;
1162
+ sensor1_twi_addr = <0x6c>;
1163
+ sensor1_mclk_id = <1>;
1164
+ sensor1_pos = "front";
1165
+ sensor1_isp_used = <1>;
1166
+ sensor1_fmt = <1>;
1167
+ sensor1_stby_mode = <0>;
1168
+ sensor1_vflip = <0>;
1169
+ sensor1_hflip = <0>;
1170
+ sensor1_iovdd-supply = <&reg_dldo2>;
1171
+ sensor1_iovdd_vol = <1800000>;
1172
+ sensor1_avdd-supply = <&reg_dldo3>;
1173
+ sensor1_avdd_vol = <2800000>;
1174
+ sensor1_dvdd-supply = <&reg_eldo2>;
1175
+ sensor1_dvdd_vol = <1500000>;
1176
+ sensor1_power_en = <>;
1177
+ sensor1_reset = <&pio PE 8 1 0 1 0>;
1178
+ sensor1_pwdn = <&pio PE 9 1 0 1 0>;
1179
+ status = "okay";
1180
+ };
1181
+
1182
+ vinc0:vinc@0 {
1183
+ vinc0_csi_sel = <0>;
1184
+ vinc0_mipi_sel = <0>;
1185
+ vinc0_isp_sel = <0>;
1186
+ vinc0_isp_tx_ch = <0>;
1187
+ vinc0_tdm_rx_sel = <0xff>;
1188
+ vinc0_rear_sensor_sel = <0>;
1189
+ vinc0_front_sensor_sel = <1>;
1190
+ vinc0_sensor_list = <0>;
1191
+ status = "okay";
1192
+ };
1193
+ vinc1:vinc@1 {
1194
+ vinc1_csi_sel = <0>;
1195
+ vinc1_mipi_sel = <0>;
1196
+ vinc1_isp_sel = <0>;
1197
+ vinc1_isp_tx_ch = <0>;
1198
+ vinc1_tdm_rx_sel = <0xff>;
1199
+ vinc1_rear_sensor_sel = <0>;
1200
+ vinc1_front_sensor_sel = <1>;
1201
+ vinc1_sensor_list = <0>;
1202
+ status = "okay";
1203
+ };
1204
+ vinc2:vinc@2 {
1205
+ vinc2_csi_sel = <1>;
1206
+ vinc2_mipi_sel = <1>;
1207
+ vinc2_isp_sel = <0>;
1208
+ vinc2_isp_tx_ch = <0>;
1209
+ vinc2_tdm_rx_sel = <0xff>;
1210
+ vinc2_rear_sensor_sel = <0>;
1211
+ vinc2_front_sensor_sel = <1>;
1212
+ vinc2_sensor_list = <0>;
1213
+ status = "okay";
1214
+ };
1215
+ vinc3:vinc@3 {
1216
+ vinc3_csi_sel = <1>;
1217
+ vinc3_mipi_sel = <1>;
1218
+ vinc3_isp_sel = <0>;
1219
+ vinc3_isp_tx_ch = <0>;
1220
+ vinc3_tdm_rx_sel = <0xff>;
1221
+ vinc3_rear_sensor_sel = <0>;
1222
+ vinc3_front_sensor_sel = <1>;
1223
+ vinc3_sensor_list = <0>;
1224
+ status = "okay";
1225
+ };
1226
+ };
1227
+
1228
+/*
1229
+ hall_para {
1230
+ hall_name = "MH248";
1231
+ status = "disabled";
1232
+ hall_int_port = <&r_pio PL 9 6 1 0xffffffff 0xffffffff>;
1233
+ };
1234
+*/
1235
+ keyboard {
1236
+ compatible = "allwinner,keyboard_1350mv";
1237
+ status = "okay";
1238
+ key_cnt = <1>;
1239
+ key0 = <590 KEY_RESERVED>;
1240
+ //key0 = <475 0x7372>;
1241
+ //key1 = <646 0x73>;
1242
+ //key2 = <897 0x72>;
1243
+ };
1244
+
1245
+ wlan: wlan@0 {
1246
+ compatible = "allwinner,sunxi-wlan";
1247
+ clocks;
1248
+ pinctrl-0;
1249
+ pinctrl-names;
1250
+ wlan_busnum = <0x1>;
1251
+ wlan_power = "axp803-dldo1";
1252
+ wlan_io_regulator;
1253
+ wlan_regon = <&pio PG 10 1 0xffffffff 0xffffffff 1>;
1254
+ wlan_hostwake = <&pio PG 13 6 0xffffffff 0xffffffff 0>;
1255
+ //chip_en;
1256
+ //power_en = <&pio PG 10 1 0xffffffff 0xffffffff 0>;
1257
+ status = "okay";
1258
+ };
1259
+
1260
+ bt: bt@0 {
1261
+ compatible = "allwinner,sunxi-bt";
1262
+ clocks = <&clk_losc_out>, <&clk_dcxo_out>;
1263
+ bt_power = "axp803-dldo1";
1264
+ bt_io_regulator;
1265
+ bt_rst_n = <&r_pio PH 11 1 0xffffffff 0xffffffff 0>;
1266
+ status = "okay";
1267
+ };
1268
+
1269
+ btlpm: btlpm@0 {
1270
+ compatible = "allwinner,sunxi-btlpm";
1271
+ uart_index = <0x1>;
1272
+ bt_wake = <&pio PG 12 1 0xffffffff 0xffffffff 1>;
1273
+ bt_hostwake = <&pio PG 11 6 0xffffffff 0xffffffff 1>;
1274
+ status = "okay";
1275
+ };
1276
+
1277
+/*
1278
+ wlan: wlan@0 {
1279
+ compatible = "allwinner,sunxi-wlan";
1280
+ clocks = <&clk_losc_out>, <&clk_dcxo_out>;
1281
+ pinctrl-0;
1282
+ pinctrl-names;
1283
+ wlan_busnum = <0x1>;
1284
+ wlan_power = "axp803-dldo1";
1285
+ wlan_io_regulator;
1286
+ wlan_regon = <&pio PG 10 1 0xffffffff 0xffffffff 0>;
1287
+ wlan_hostwake = <&pio PG 13 6 0xffffffff 0xffffffff 0>;
1288
+ chip_en;
1289
+ power_en;
1290
+ status = "okay";
1291
+ };
1292
+
1293
+ bt: bt@0 {
1294
+ compatible = "allwinner,sunxi-bt";
1295
+ clocks = <&clk_losc_out>, <&clk_dcxo_out>;
1296
+ bt_power = "axp803-dldo1";
1297
+ //bt_power = "axp803-dldo1";
1298
+ bt_io_regulator;
1299
+ //bt_rst_n = <&r_pio PL 2 1 0xffffffff 0xffffffff 0>;
1300
+ status = "okay";
1301
+ };
1302
+
1303
+ btlpm: btlpm@0 {
1304
+ compatible = "allwinner,sunxi-btlpm";
1305
+ uart_index = <0x1>;
1306
+ bt_wake = <&pio PG 11 1 0xffffffff 0xffffffff 1>;
1307
+ bt_hostwake = <&pio PG 12 6 0xffffffff 0xffffffff 1>;
1308
+ status = "okay";
1309
+ };
1310
+*/
1311
+ addr_mgt: addr_mgt@0 {
1312
+ compatible = "allwinner,sunxi-addr_mgt";
1313
+ type_addr_wifi = <0x0>;
1314
+ type_addr_bt = <0x0>;
1315
+ type_addr_eth = <0x0>;
1316
+ status = "okay";
1317
+ };
1318
+ uart0: uart@05000000 {
1319
+ uart-supply = <&reg_dcdc1>;
1320
+ };
1321
+
1322
+ uart1: uart@05000400 {
1323
+ status = "okay";
1324
+ };
1325
+
1326
+ uart2: uart@05000800 {
1327
+ status = "okay";
1328
+ };
1329
+
1330
+ uart3: uart@05000c00 {
1331
+ status = "okay";
1332
+ };
1333
+
1334
+ uart4: uart@05001000 {
1335
+ status = "okay";
1336
+ };
1337
+ };
1338
+ gpu: gpu@0x01800000 {
1339
+ gpu_idle = <1>;/*ic version ctrl*/
1340
+ dvfs_status = <1>;
1341
+ pll_rate = <504000>;
1342
+ independent_power = <0>;
1343
+ operating-points = <
1344
+ /* KHz uV */
1345
+ 504000 950000
1346
+ 472500 950000
1347
+ 441000 950000
1348
+ 252000 950000
1349
+ >;
1350
+ gpu-supply = <&reg_dcdc4>;
1351
+ };
1352
+
1353
+ leds {
1354
+ compatible = "gpio-leds";
1355
+ pinctrl-names = "default";
1356
+ status = "okay";
1357
+
1358
+ sysled {
1359
+ label = "sysled";
1360
+ gpios = <&r_pio PL 10 1 0 1 1>;
1361
+ linux,default_trigger = "heartbeat";
1362
+ };
1363
+
1364
+ spk_en {
1365
+ label = "spk_en";
1366
+ gpios = <&pio PB 7 1 0 1 0>;
1367
+ linux,default_trigger = "default-on";
1368
+ };
1369
+
1370
+ fan_en {
1371
+ label = "fan_en";
1372
+ gpios = <&r_pio PL 7 1 0 1 0>;
1373
+ linux,default_trigger = "default-on";
1374
+ };
1375
+
1376
+ PH8 {
1377
+ label = "PH8";
1378
+ gpios = <&pio PH 8 1 0 1 0>;
1379
+ linux,default_trigger = "default-on";
1380
+ };
1381
+
1382
+ PC2 {
1383
+ label = "PC2";
1384
+ gpios = <&pio PC 2 1 0 1 0>;
1385
+ linux,default_trigger = "default-on";
1386
+ };
1387
+
1388
+ PC3 {
1389
+ label = "PC3";
1390
+ gpios = <&pio PC 3 1 0 1 0>;
1391
+ linux,default_trigger = "default-on";
1392
+ };
1393
+
1394
+ PC4 {
1395
+ label = "PC4";
1396
+ gpios = <&pio PC 4 1 0 1 0>;
1397
+ linux,default_trigger = "default-on";
1398
+ };
1399
+
1400
+ PC7 {
1401
+ label = "PC7";
1402
+ gpios = <&pio PC 7 1 0 1 0>;
1403
+ linux,default_trigger = "default-on";
1404
+ };
1405
+
1406
+ PC12 {
1407
+ label = "PC12";
1408
+ gpios = <&pio PC 12 1 0 1 0>;
1409
+ linux,default_trigger = "default-on";
1410
+ };
1411
+
1412
+ };
1413
+};
1414
+
1415
+&cpu0 {
1416
+ cpu-supply = <&reg_dcdc2>;
1417
+};
1418
+
1419
+&s_cir0 {
1420
+ status = "okay";
1421
+
1422
+ pinctrl-names = "default", "sleep";
1423
+ pinctrl-0 = <&s_cir0_pins_a>;
1424
+ pinctrl-1 = <&s_cir0_pins_a>;
1425
+
1426
+ s_cir0_used = <1>;
1427
+ ir_power_key_code0 = <0x4d>;
1428
+ ir_addr_code0 = <0x4040>;
1429
+ ir_power_key_code1 = <0x51>;
1430
+ ir_addr_code1 = <0x7f80>;
1431
+ ir_power_key_code2 = <0x1c>;
1432
+ ir_addr_code2 = <0xdf00>;
1433
+ wakeup-source;
1434
+};
1435
+
1436
+
1437
+&gmac0 {
1438
+ /delete-property/ phy-rst;
1439
+ rx-delay = <7>;
1440
+};
1441
+
1442
+
1443
+//#include "lcd-lvds-21-1920-1080.dtsi"
1444
+#include "lcd-lvds-7-1024-600.dtsi"
1445
+//#include "lcd-mipi-10-800-1280.dtsi"
longan/device/config/chips/a133/configs/c3/kickpi-k5c.dts
....@@ -0,0 +1,1469 @@
1
+/*
2
+ * Allwinner Technology CO., Ltd. sun50iw10p1 soc board.
3
+ *
4
+ * soc board support.
5
+ */
6
+
7
+/dts-v1/;
8
+#include "sun50iw10p1.dtsi"
9
+#include "dt-bindings/input/linux-event-codes.h"
10
+
11
+/{
12
+ model = "sun50iw10";
13
+ compatible = "allwinner,a133", "arm,sun50iw10p1";
14
+
15
+ aliases {
16
+ pmu0 = &pmu0;
17
+ standby_param = &standby_param;
18
+ };
19
+
20
+ reg_usb1_vbus: usb1-vbus {
21
+ compatible = "regulator-fixed";
22
+ gpio = <&r_pio PL 8 1 2 0 1>;
23
+ regulator-name = "usb1-vbus";
24
+ regulator-min-microvolt = <5000000>;
25
+ regulator-max-microvolt = <5000000>;
26
+ regulator-enable-ramp-delay = <1000>;
27
+ enable-active-high;
28
+ };
29
+
30
+ soc: soc@03000000 {
31
+
32
+ r_pio: pinctrl@07022000 {
33
+
34
+ s_twi0_pins_a: s_twi0@0 {
35
+ allwinner,pins = "PL0", "PL1";
36
+ allwinner,pname = "s_twi0_scl", "s_twi0_sda";
37
+ allwinner,function = "s_twi0";
38
+ allwinner,muxsel = <2>;
39
+ allwinner,drive = <1>;
40
+ allwinner,pull = <1>;
41
+ };
42
+
43
+ s_twi0_pins_b: s_twi0@1 {
44
+ allwinner,pins = "PL0", "PL1";
45
+ allwinner,function = "io_disabled";
46
+ allwinner,muxsel = <7>;
47
+ allwinner,drive = <1>;
48
+ allwinner,pull = <0>;
49
+ };
50
+ };
51
+ pio: pinctrl@0300b000 {
52
+ twi0_pins_a: twi0@0 {
53
+ allwinner,pins = "PD22", "PD23";
54
+ allwinner,pname = "twi0_scl", "twi0_sda";
55
+ allwinner,function = "twi0";
56
+ allwinner,muxsel = <4>;
57
+ allwinner,drive = <1>;
58
+ allwinner,pull = <0>;
59
+ };
60
+
61
+ twi0_pins_b: twi0@1 {
62
+ allwinner,pins = "PD22", "PD23";
63
+ allwinner,function = "io_disabled";
64
+ allwinner,muxsel = <7>;
65
+ allwinner,drive = <1>;
66
+ allwinner,pull = <0>;
67
+ };
68
+
69
+ twi1_pins_a: twi1@0 {
70
+ allwinner,pins = "PB4", "PB5";
71
+ allwinner,pname = "twi1_scl", "twi1_sda";
72
+ allwinner,function = "twi1";
73
+ allwinner,muxsel = <2>;
74
+ allwinner,drive = <1>;
75
+ allwinner,pull = <0>;
76
+ };
77
+
78
+ twi1_pins_b: twi1@1 {
79
+ allwinner,pins = "PB4", "PB5";
80
+ allwinner,function = "io_disabled";
81
+ allwinner,muxsel = <7>;
82
+ allwinner,drive = <1>;
83
+ allwinner,pull = <0>;
84
+ };
85
+
86
+ twi2_pins_a: twi2@0 {
87
+ allwinner,pins = "PE1", "PE2";
88
+ allwinner,pname = "twi2_scl", "twi2_sda";
89
+ allwinner,function = "twi2";
90
+ allwinner,muxsel = <2>;
91
+ allwinner,drive = <1>;
92
+ allwinner,pull = <0>;
93
+ };
94
+
95
+ twi2_pins_b: twi2@1 {
96
+ allwinner,pins = "PE1", "PE2";
97
+ allwinner,function = "io_disabled";
98
+ allwinner,muxsel = <7>;
99
+ allwinner,drive = <1>;
100
+ allwinner,pull = <0>;
101
+ };
102
+
103
+ twi3_pins_a: twi3@0 {
104
+ allwinner,pins = "PH12", "PH13";
105
+ allwinner,pname = "twi3_scl", "twi3_sda";
106
+ allwinner,function = "twi3";
107
+ allwinner,muxsel = <3>;
108
+ allwinner,drive = <1>;
109
+ allwinner,pull = <1>;
110
+ };
111
+
112
+ twi3_pins_b: twi3@1 {
113
+ allwinner,pins = "PH12", "PH13";
114
+ allwinner,function = "io_disabled";
115
+ allwinner,muxsel = <7>;
116
+ allwinner,drive = <1>;
117
+ allwinner,pull = <0>;
118
+ };
119
+/*
120
+ pwm0_pin_a: pwm0@0 {
121
+ //allwinner,pins = "PD23";
122
+ allwinner,function = "pwm0";
123
+ allwinner,muxsel = <0x02>;
124
+ allwinner,drive = <0x2>;
125
+ allwinner,pull = <0>;
126
+ allwinner,data = <0xffffffff>;
127
+ };
128
+
129
+ pwm0_pin_b: pwm0@1 {
130
+ //allwinner,pins = "PD23";
131
+ allwinner,function = "io_disabled";
132
+ allwinner,muxsel = <0x07>;
133
+ allwinner,drive = <0x2>;
134
+ allwinner,pull = <0>;
135
+ allwinner,data = <0xffffffff>;
136
+ };
137
+
138
+ pwm1_pin_a: pwm1@0 {
139
+ //allwinner,pins = "PD22";
140
+ allwinner,function = "pwm1";
141
+ allwinner,muxsel = <0x02>;
142
+ allwinner,drive = <0x2>;
143
+ allwinner,pull = <0>;
144
+ allwinner,data = <0xffffffff>;
145
+ };
146
+
147
+ pwm1_pin_b: pwm1@1 {
148
+ //allwinner,pins = "PD22";
149
+ allwinner,function = "io_disabled";
150
+ allwinner,muxsel = <0x07>;
151
+ allwinner,drive = <0x2>;
152
+ allwinner,pull = <0>;
153
+ allwinner,data = <0xffffffff>;
154
+ };
155
+*/
156
+ pwm2_pin_a: pwm2@0 {
157
+ allwinner,pins = "PD20";
158
+ allwinner,function = "pwm2";
159
+ allwinner,muxsel = <0x03>;
160
+ allwinner,drive = <0x2>;
161
+ allwinner,pull = <0>;
162
+ allwinner,data = <0xffffffff>;
163
+ };
164
+
165
+ pwm2_pin_b: pwm2@1 {
166
+ allwinner,pins = "PD20";
167
+ allwinner,function = "io_disabled";
168
+ allwinner,muxsel = <0x07>;
169
+ allwinner,drive = <0x2>;
170
+ allwinner,pull = <0>;
171
+ allwinner,data = <0xffffffff>;
172
+ };
173
+/*
174
+ pwm3_pin_a: pwm3@0 {
175
+ allwinner,pins = "PD21";
176
+ allwinner,function = "pwm3";
177
+ allwinner,muxsel = <0x03>;
178
+ allwinner,drive = <0x2>;
179
+ allwinner,pull = <0>;
180
+ allwinner,data = <0xffffffff>;
181
+ };
182
+
183
+ pwm3_pin_b: pwm3@1 {
184
+ allwinner,pins = "PD21";
185
+ allwinner,function = "io_disabled";
186
+ allwinner,muxsel = <0x07>;
187
+ allwinner,drive = <0x2>;
188
+ allwinner,pull = <0>;
189
+ allwinner,data = <0xffffffff>;
190
+ };
191
+*/
192
+ spi0_pins_a: spi0@0 {
193
+ // allwinner,pins = "PC2", "PC4", "PC12", "PC15", "PC16";
194
+ allwinner,pins = "PC2", "PC4", "PC12";
195
+ // allwinner,pname = "spi0_mosi", "spi0_miso",
196
+ // "spi0_sclk", "spi0_wp", "spi0_hold";
197
+ allwinner,pname = "spi0_mosi", "spi0_miso", "spi0_sclk";
198
+ allwinner,function = "spi0";
199
+ allwinner,muxsel = <4>;
200
+ allwinner,drive = <1>;
201
+ allwinner,pull = <0>;
202
+ };
203
+
204
+ spi0_pins_b: spi0@1 {
205
+ allwinner,pins = "PC3", "PC7";
206
+ allwinner,pname = "spi0_cs0", "spi0_cs1";
207
+ allwinner,function = "spi0";
208
+ allwinner,muxsel = <4>;
209
+ allwinner,drive = <1>;
210
+ allwinner,pull = <1>; /* only CS should be pulled up */
211
+ };
212
+
213
+ spi0_pins_c: spi0@2 {
214
+ // allwinner,pins = "PC2", "PC3", "PC4", "PC7", "PC12", "PC15", "PC16";
215
+ allwinner,pins = "PC2", "PC3", "PC4", "PC7", "PC12";
216
+ allwinner,function = "io_disabled";
217
+ allwinner,muxsel = <7>;
218
+ allwinner,drive = <1>;
219
+ allwinner,pull = <0>;
220
+ };
221
+/*
222
+ spi1_pins_a: spi1@0 {
223
+ allwinner,pins = "PD11", "PD12", "PD13";
224
+ allwinner,pname = "spi1_sclk", "spi1_mosi",
225
+ "spi1_miso";
226
+ allwinner,function = "spi1";
227
+ allwinner,muxsel = <4>;
228
+ allwinner,drive = <1>;
229
+ allwinner,pull = <0>;
230
+ };
231
+
232
+ spi1_pins_b: spi1@1 {
233
+ allwinner,pins = "PD10";
234
+ allwinner,pname = "spi1_cs0";
235
+ allwinner,function = "spi1";
236
+ allwinner,muxsel = <4>;
237
+ allwinner,drive = <1>;
238
+ allwinner,pull = <1>; // only CS should be pulled up
239
+ };
240
+
241
+ spi1_pins_c: spi1@2 {
242
+ allwinner,pins = "PD10", "PD11", "PD12", "PD13";
243
+ allwinner,function = "io_disabled";
244
+ allwinner,muxsel = <7>;
245
+ allwinner,drive = <1>;
246
+ allwinner,pull = <0>;
247
+ };
248
+
249
+ uart3_pins_a: uart3@0 {
250
+ allwinner,pins = "PD14", "PD15";
251
+ allwinner,pname = "uart3_tx", "uart3_rx";
252
+ allwinner,function = "uart3";
253
+ allwinner,muxsel = <4>;
254
+ allwinner,drive = <1>;
255
+ allwinner,pull = <1>;
256
+ };
257
+
258
+ uart3_pins_b: uart3@1 {
259
+ allwinner,pins = "PD14", "PD15";
260
+ allwinner,function = "io_disabled";
261
+ allwinner,muxsel = <7>;
262
+ allwinner,drive = <1>;
263
+ allwinner,pull = <0>;
264
+ };
265
+
266
+ uart4_pins_a: uart4@0 {
267
+ allwinner,pins = "PD18", "PD19";
268
+ allwinner,pname = "uart4_tx", "uart4_rx";
269
+ allwinner,function = "uart4";
270
+ allwinner,muxsel = <4>;
271
+ allwinner,drive = <1>;
272
+ allwinner,pull = <1>;
273
+ };
274
+
275
+ uart4_pins_b: uart4@1 {
276
+ allwinner,pins = "PD18", "PD19";
277
+ allwinner,pins = "PD18", "PD19";
278
+ allwinner,function = "io_disabled";
279
+ allwinner,muxsel = <7>;
280
+ allwinner,drive = <1>;
281
+ allwinner,pull = <0>;
282
+ };
283
+*/
284
+ };
285
+
286
+ twi0: twi@0x05002000{
287
+ clock-frequency = <400000>;
288
+ pinctrl-0 = <&twi0_pins_a>;
289
+ pinctrl-1 = <&twi0_pins_b>;
290
+ status = "okay";
291
+ ctp {
292
+ compatible = "gt9xx_ts";
293
+ ctp_used = <1>;
294
+ device_type = "ctp";
295
+ status = "okay";
296
+ ctp_twi_id = <0x0>;
297
+ ctp_name = "gt9xx";
298
+ reg = <0x5D>;
299
+ ctp_screen_max_x = <1024>;
300
+ ctp_screen_max_y = <600>;
301
+ ctp_revert_x_flag = <0x1>;
302
+ ctp_revert_y_flag = <0x1>;
303
+ ctp_exchange_x_y_flag = <0x0>;
304
+ ctp_int_port = <&pio PE 3 6 0xffffffff 0xffffffff 0>;
305
+ ctp_wakeup = <&pio PE 4 1 0xffffffff 0xffffffff 1>;
306
+ ctp_power_ldo = <3300>;
307
+ ctp_power_ldo_vol = <3300>;
308
+ ctp_power = <3300>;
309
+ };
310
+ };
311
+
312
+ spi0: spi@05010000 {
313
+ #address-cells = <1>;
314
+ #size-cells = <0>;
315
+ compatible = "allwinner,sun50i-spi";
316
+ device_type = "spi0";
317
+ reg = <0x0 0x05010000 0x0 0x1000>;
318
+ interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
319
+ clocks = <&clk_pll_periph0>, <&clk_spi0>;
320
+ clock-frequency = <100000000>;
321
+ pinctrl-names = "default", "sleep";
322
+ pinctrl-0 = <&spi0_pins_a &spi0_pins_b>;
323
+ pinctrl-1 = <&spi0_pins_c>;
324
+ spi0_cs_number = <1>;
325
+ spi0_cs_bitmap = <1>;
326
+ spi_slave_mode = <0>;
327
+ //status = "okay";
328
+ status = "disabled";
329
+ /*
330
+ spi_uart {
331
+ compatible = "wkmic,wk2124spi";
332
+ reg = <0>;
333
+ spi-max-frequency = <10000000>;
334
+ //irq_gpio = <&pio PH 11 6 0xffffffff 0xffffffff 0>;
335
+ };
336
+ */
337
+
338
+ dh2228@2 {
339
+ compatible = "rohm,dh2228fv";
340
+ reg = <0>;
341
+ spi-max-frequency = <100000>;
342
+ };
343
+
344
+ };
345
+/*
346
+ pwm3: pwm3@0300a000 {
347
+ pinctrl-names = "active", "sleep";
348
+ pinctrl-0 = <&pwm3_pin_a>;
349
+ pinctrl-1 = <&pwm3_pin_b>;
350
+ status = "disabled";
351
+ };
352
+*/
353
+ pwm2: pwm2@0300a000 {
354
+ pinctrl-names = "active", "sleep";
355
+ pinctrl-0 = <&pwm2_pin_a>;
356
+ pinctrl-1 = <&pwm2_pin_b>;
357
+ status = "okay";
358
+ };
359
+
360
+ twi1: twi@0x05002400{
361
+ clock-frequency = <200000>;
362
+ pinctrl-0 = <&twi1_pins_a>;
363
+ pinctrl-1 = <&twi1_pins_b>;
364
+ status = "okay";
365
+ // EXTEND GPIO
366
+ };
367
+
368
+ twi2: twi@0x05002800{
369
+ clock-frequency = <200000>;
370
+ pinctrl-0 = <&twi2_pins_a>;
371
+ pinctrl-1 = <&twi2_pins_b>;
372
+ twi-supply = <&reg_dldo2>;
373
+ status = "okay";
374
+ // CAMERA1
375
+
376
+ // CAMERA2
377
+ };
378
+
379
+ twi3: twi@0x05002c00{
380
+ clock-frequency = <200000>;
381
+ pinctrl-0 = <&twi3_pins_a>;
382
+ pinctrl-1 = <&twi3_pins_b>;
383
+ status = "okay";
384
+ // RTC
385
+ pcf8563@51 {
386
+ compatible = "haoyu,hym8563";
387
+ reg = <0x51>;
388
+ interrupt-parent = <&pio>;
389
+ interrupts = <PB 8 IRQ_TYPE_LEVEL_LOW>;
390
+ status = "okay";
391
+ wakeup-source;
392
+ };
393
+ };
394
+
395
+ twi6: s_twi@0x07081400{
396
+ clock-frequency = <200000>;
397
+ pinctrl-0 = <&s_twi0_pins_a>;
398
+ pinctrl-1 = <&s_twi0_pins_b>;
399
+ twi_drv_used = <1>;
400
+ status = "okay";
401
+ no_suspend = <1>;
402
+
403
+ pmu0: pmu@34 {
404
+ compatible = "x-powers,axp803";
405
+ reg = <0x34>;
406
+ status = "okay";
407
+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
408
+ interrupt-parent = <&nmi_intc>;
409
+ x-powers,drive-vbus-en;
410
+ pmu_reset = <0>;
411
+ pmu_irq_wakeup = <1>;
412
+ pmu_hot_shutdown = <1>;
413
+
414
+ wakeup-source;
415
+
416
+ ac_power_supply: ac-power-supply {
417
+ compatible = "x-powers,axp803-ac-power-supply";
418
+ status = "okay";
419
+
420
+ pmu_ac_vol = <4600>;
421
+ pmu_ac_cur = <3000>;
422
+
423
+ wakeup_ac_in;
424
+ wakeup_ac_out;
425
+ };
426
+
427
+ usb_power_supply: usb_power_supply {
428
+ compatible = "x-powers,axp803-usb-power-supply";
429
+ status = "disabled";
430
+
431
+ pmu_usbpc_vol = <4600>;
432
+ pmu_usbpc_cur = <3000>;
433
+ pmu_usbad_vol = <4600>;
434
+ pmu_usbad_cur = <2500>;
435
+
436
+ wakeup_usb_in;
437
+ wakeup_usb_out;
438
+ };
439
+
440
+ battery_power_supply: battery-power-supply {
441
+ compatible = "x-powers,axp803-battery-power-supply";
442
+ status = "okay";
443
+
444
+ pmu_chg_ic_temp = <0>;
445
+ pmu_battery_rdc= <93>;
446
+ pmu_battery_cap = <5067>;
447
+ pmu_runtime_chgcur = <1000>;
448
+ pmu_suspend_chgcur = <2000>;
449
+ pmu_shutdown_chgcur = <2000>;
450
+ pmu_init_chgvol = <4200>;
451
+ pmu_battery_warning_level1 = <15>;
452
+ pmu_battery_warning_level2 = <0>;
453
+ pmu_chgled_func = <0>;
454
+ pmu_chgled_type = <0>;
455
+ ocv_coulumb_100 = <1>;
456
+ pmu_bat_para1 = <0>;
457
+ pmu_bat_para2 = <0>;
458
+ pmu_bat_para3 = <0>;
459
+ pmu_bat_para4 = <0>;
460
+ pmu_bat_para5 = <6>;
461
+ pmu_bat_para6 = <8>;
462
+ pmu_bat_para7 = <9>;
463
+ pmu_bat_para8 = <10>;
464
+ pmu_bat_para9 = <11>;
465
+ pmu_bat_para10 = <12>;
466
+ pmu_bat_para11 = <13>;
467
+ pmu_bat_para12 = <15>;
468
+ pmu_bat_para13 = <18>;
469
+ pmu_bat_para14 = <23>;
470
+ pmu_bat_para15 = <29>;
471
+ pmu_bat_para16 = <44>;
472
+ pmu_bat_para17 = <50>;
473
+ pmu_bat_para18 = <58>;
474
+ pmu_bat_para19 = <65>;
475
+ pmu_bat_para20 = <70>;
476
+ pmu_bat_para21 = <75>;
477
+ pmu_bat_para22 = <80>;
478
+ pmu_bat_para23 = <83>;
479
+ pmu_bat_para24 = <84>;
480
+ pmu_bat_para25 = <86>;
481
+ pmu_bat_para26 = <90>;
482
+ pmu_bat_para27 = <94>;
483
+ pmu_bat_para28 = <97>;
484
+ pmu_bat_para29 = <99>;
485
+ pmu_bat_para30 = <100>;
486
+ pmu_bat_para31 = <100>;
487
+ pmu_bat_para32 = <100>;
488
+
489
+ pmu_bat_temp_enable = <0>;
490
+ pmu_bat_charge_ltf = <1105>;
491
+ pmu_bat_charge_htf = <121>;
492
+ pmu_bat_shutdown_ltf = <1381>;
493
+ pmu_bat_shutdown_htf = <89>;
494
+ pmu_bat_temp_para1 = <2814>;
495
+ pmu_bat_temp_para2 = <2202>;
496
+ pmu_bat_temp_para3 = <1737>;
497
+ pmu_bat_temp_para4 = <1381>;
498
+ pmu_bat_temp_para5 = <1105>;
499
+ pmu_bat_temp_para6 = <890>;
500
+ pmu_bat_temp_para7 = <722>;
501
+ pmu_bat_temp_para8 = <484>;
502
+ pmu_bat_temp_para9 = <332>;
503
+ pmu_bat_temp_para10 = <233>;
504
+ pmu_bat_temp_para11 = <196>;
505
+ pmu_bat_temp_para12 = <166>;
506
+ pmu_bat_temp_para13 = <141>;
507
+ pmu_bat_temp_para14 = <121>;
508
+ pmu_bat_temp_para15 = <89>;
509
+ pmu_bat_temp_para16 = <66>;
510
+
511
+ wakeup_bat_out;
512
+ /* wakeup_bat_in; */
513
+ /* wakeup_bat_charging; */
514
+ /* wakeup_bat_charge_over; */
515
+ /* wakeup_low_warning1; */
516
+ /* wakeup_low_warning2; */
517
+ /* wakeup_bat_untemp_work; */
518
+ /* wakeup_bat_ovtemp_work; */
519
+ /* wakeup_bat_untemp_chg; */
520
+ /* wakeup_bat_ovtemp_chg; */
521
+ };
522
+
523
+ powerkey0: powerkey@0 {
524
+ status = "okay";
525
+ compatible = "x-powers,axp2101-pek";
526
+ pmu_powkey_off_time = <6000>;
527
+ pmu_powkey_off_func = <0>;
528
+ pmu_powkey_off_en = <1>;
529
+ pmu_powkey_long_time = <1500>;
530
+ pmu_powkey_on_time = <512>;
531
+ wakeup_rising;
532
+ wakeup_falling;
533
+ };
534
+
535
+ regulator0: regulators@0 {
536
+ reg_dcdc1: dcdc1 {
537
+ regulator-name = "axp803-dcdc1";
538
+ regulator-min-microvolt = <1600000>;
539
+ regulator-max-microvolt = <3400000>;
540
+ regulator-ramp-delay = <250>;
541
+ regulator-enable-ramp-delay = <1000>;
542
+ regulator-boot-on;
543
+ regulator-always-on;
544
+ };
545
+ reg_dcdc2: dcdc2 {
546
+ regulator-name = "axp803-dcdc2";
547
+ regulator-min-microvolt = <500000>;
548
+ regulator-max-microvolt = <1300000>;
549
+ regulator-ramp-delay = <250>;
550
+ regulator-enable-ramp-delay = <1000>;
551
+ regulator-boot-on;
552
+ regulator-always-on;
553
+ };
554
+ reg_dcdc3: dcdc3 {
555
+ regulator-name = "axp803-dcdc3";
556
+ regulator-min-microvolt = <500000>;
557
+ regulator-max-microvolt = <1300000>;
558
+ regulator-ramp-delay = <250>;
559
+ regulator-enable-ramp-delay = <1000>;
560
+ regulator-boot-on;
561
+ regulator-always-on;
562
+ };
563
+ reg_dcdc4: dcdc4 {
564
+ regulator-name = "axp803-dcdc4";
565
+ regulator-min-microvolt = <500000>;
566
+ regulator-max-microvolt = <1300000>;
567
+ regulator-ramp-delay = <250>;
568
+ regulator-enable-ramp-delay = <1000>;
569
+ regulator-boot-on;
570
+ regulator-always-on;
571
+ };
572
+ reg_dcdc5: dcdc5 {
573
+ regulator-name = "axp803-dcdc5";
574
+ regulator-min-microvolt = <800000>;
575
+ regulator-max-microvolt = <1840000>;
576
+ regulator-ramp-delay = <250>;
577
+ regulator-enable-ramp-delay = <1000>;
578
+ regulator-always-on;
579
+ };
580
+ reg_dcdc6: dcdc6 {
581
+ regulator-name = "axp803-dcdc6";
582
+ regulator-min-microvolt = <600000>;
583
+ regulator-max-microvolt = <1520000>;
584
+ regulator-ramp-delay = <250>;
585
+ regulator-enable-ramp-delay = <1000>;
586
+ };
587
+ reg_dcdc7: dcdc7 {
588
+ regulator-name = "axp803-dcdc7";
589
+ regulator-min-microvolt = <600000>;
590
+ regulator-max-microvolt = <1520000>;
591
+ regulator-ramp-delay = <250>;
592
+ regulator-enable-ramp-delay = <1000>;
593
+ };
594
+ reg_rtcldo: rtcldo {
595
+ /* RTC_LDO is a fixed, always-on regulator */
596
+ regulator-name = "axp803-rtcldo";
597
+ regulator-min-microvolt = <1800000>;
598
+ regulator-max-microvolt = <1800000>;
599
+ regulator-boot-on;
600
+ regulator-always-on;
601
+ };
602
+ reg_aldo1: aldo1 {
603
+ regulator-name = "axp803-aldo1";
604
+ regulator-min-microvolt = <700000>;
605
+ regulator-max-microvolt = <3300000>;
606
+ regulator-enable-ramp-delay = <1000>;
607
+ regulator-boot-on;
608
+ regulator-always-on;
609
+ };
610
+ reg_aldo2: aldo2 {
611
+ regulator-name = "axp803-aldo2";
612
+ regulator-min-microvolt = <700000>;
613
+ regulator-max-microvolt = <3300000>;
614
+ regulator-enable-ramp-delay = <1000>;
615
+ regulator-always-on;
616
+ };
617
+ reg_aldo3: aldo3 {
618
+ regulator-name = "axp803-aldo3";
619
+ regulator-min-microvolt = <700000>;
620
+ regulator-max-microvolt = <3300000>;
621
+ regulator-enable-ramp-delay = <1000>;
622
+ regulator-always-on;
623
+ regulator-boot-on;
624
+ };
625
+ reg_dldo1: dldo1 {
626
+ regulator-name = "axp803-dldo1";
627
+ regulator-min-microvolt = <1800000>;
628
+ regulator-max-microvolt = <1900000>;
629
+ regulator-enable-ramp-delay = <1000>;
630
+ regulator-always-on;
631
+ regulator-boot-on;
632
+ };
633
+ reg_dldo2: dldo2 {
634
+ regulator-name = "axp803-dldo2";
635
+ regulator-min-microvolt = <700000>;
636
+ regulator-max-microvolt = <4200000>;
637
+ regulator-enable-ramp-delay = <1000>;
638
+ regulator-always-on;
639
+ regulator-boot-on;
640
+ // kickpi
641
+ };
642
+ reg_dldo3: dldo3 {
643
+ regulator-name = "axp803-dldo3";
644
+ regulator-min-microvolt = <700000>;
645
+ regulator-max-microvolt = <3300000>;
646
+ regulator-enable-ramp-delay = <1000>;
647
+ };
648
+ reg_dldo4: dldo4 {
649
+ regulator-name = "axp803-dldo4";
650
+ regulator-min-microvolt = <700000>;
651
+ regulator-max-microvolt = <3300000>;
652
+ regulator-enable-ramp-delay = <1000>;
653
+ };
654
+ reg_eldo1: eldo1 {
655
+ regulator-name = "axp803-eldo1";
656
+ regulator-min-microvolt = <700000>;
657
+ regulator-max-microvolt = <1900000>;
658
+ regulator-enable-ramp-delay = <1000>;
659
+ };
660
+ reg_eldo2: eldo2 {
661
+ regulator-name = "axp803-eldo2";
662
+ regulator-min-microvolt = <700000>;
663
+ regulator-max-microvolt = <1900000>;
664
+ regulator-enable-ramp-delay = <1000>;
665
+ };
666
+ reg_eldo3: eldo3 {
667
+ regulator-name = "axp803-eldo3";
668
+ regulator-min-microvolt = <700000>;
669
+ regulator-max-microvolt = <1900000>;
670
+ regulator-enable-ramp-delay = <1000>;
671
+ regulator-always-on;
672
+ regulator-boot-on;
673
+ // kickpi
674
+ };
675
+ reg_fldo1: fldo1 {
676
+ regulator-name = "axp803-fldo1";
677
+ regulator-min-microvolt = <700000>;
678
+ regulator-max-microvolt = <1450000>;
679
+ regulator-enable-ramp-delay = <1000>;
680
+ regulator-always-on;
681
+ };
682
+ reg_fldo2: fldo2 {
683
+ regulator-name = "axp803-fldo2";
684
+ regulator-min-microvolt = <700000>;
685
+ regulator-max-microvolt = <1450000>;
686
+ regulator-enable-ramp-delay = <1000>;
687
+ };
688
+ reg_ldoio0: ldoio0 {
689
+ regulator-name = "axp803-ldoio0";
690
+ regulator-min-microvolt = <700000>;
691
+ regulator-max-microvolt = <3300000>;
692
+ regulator-enable-ramp-delay = <1000>;
693
+ regulator-boot-on;
694
+ regulator-always-on;
695
+ };
696
+ reg_ldoio1: ldoio1 {
697
+ regulator-name = "axp803-ldoio1";
698
+ regulator-min-microvolt = <700000>;
699
+ regulator-max-microvolt = <3300000>;
700
+ regulator-enable-ramp-delay = <1000>;
701
+ };
702
+ reg_dc1sw: dc1sw {
703
+ regulator-name = "axp803-dc1sw";
704
+ regulator-enable-ramp-delay = <1000>;
705
+ };
706
+ reg_drivevbus: drivevbus {
707
+ regulator-name = "axp803-drivevbus";
708
+ regulator-enable-ramp-delay = <1000>;
709
+ };
710
+ };
711
+
712
+ virtual-dcdc1 {
713
+ compatible = "xpower-vregulator,dcdc1";
714
+ dcdc1-supply = <&reg_dcdc1>;
715
+ };
716
+ virtual-dcdc2 {
717
+ compatible = "xpower-vregulator,dcdc2";
718
+ dcdc2-supply = <&reg_dcdc2>;
719
+ };
720
+ virtual-dcdc3 {
721
+ compatible = "xpower-vregulator,dcdc3";
722
+ dcdc3-supply = <&reg_dcdc3>;
723
+ };
724
+ virtual-dcdc4 {
725
+ compatible = "xpower-vregulator,dcdc4";
726
+ dcdc4-supply = <&reg_dcdc4>;
727
+ };
728
+ virtual-dcdc5 {
729
+ compatible = "xpower-vregulator,dcdc5";
730
+ dcdc5-supply = <&reg_dcdc5>;
731
+ };
732
+ virtual-dcdc6 {
733
+ compatible = "xpower-vregulator,dcdc6";
734
+ dcdc6-supply = <&reg_dcdc6>;
735
+ };
736
+ virtual-dcdc7 {
737
+ compatible = "xpower-vregulator,dcdc7";
738
+ dcdc7-supply = <&reg_dcdc7>;
739
+ };
740
+ virtual-rtcldo {
741
+ compatible = "xpower-vregulator,rtcldo";
742
+ rtcldo-supply = <&reg_rtcldo>;
743
+ };
744
+ virtual-aldo1 {
745
+ compatible = "xpower-vregulator,aldo1";
746
+ aldo1-supply = <&reg_aldo1>;
747
+ };
748
+ virtual-aldo2 {
749
+ compatible = "xpower-vregulator,aldo2";
750
+ aldo2-supply = <&reg_aldo2>;
751
+ };
752
+ virtual-aldo3 {
753
+ compatible = "xpower-vregulator,aldo3";
754
+ aldo3-supply = <&reg_aldo3>;
755
+ };
756
+ virtual-dldo1 {
757
+ compatible = "xpower-vregulator,dldo1";
758
+ dldo1-supply = <&reg_dldo1>;
759
+ };
760
+ virtual-dldo2 {
761
+ compatible = "xpower-vregulator,dldo2";
762
+ dldo2-supply = <&reg_dldo2>;
763
+ };
764
+ virtual-dldo3 {
765
+ compatible = "xpower-vregulator,dldo3";
766
+ dldo3-supply = <&reg_dldo3>;
767
+ };
768
+ virtual-dldo4 {
769
+ compatible = "xpower-vregulator,dldo4";
770
+ dldo4-supply = <&reg_dldo4>;
771
+ };
772
+ virtual-eldo1 {
773
+ compatible = "xpower-vregulator,eldo1";
774
+ eldo1-supply = <&reg_eldo1>;
775
+ };
776
+ virtual-eldo2 {
777
+ compatible = "xpower-vregulator,eldo2";
778
+ eldo2-supply = <&reg_eldo2>;
779
+ };
780
+ virtual-eldo3 {
781
+ compatible = "xpower-vregulator,eldo3";
782
+ eldo3-supply = <&reg_eldo3>;
783
+ };
784
+ virtual-fldo1 {
785
+ compatible = "xpower-vregulator,fldo1";
786
+ fldo1-supply = <&reg_fldo1>;
787
+ };
788
+ virtual-fldo2 {
789
+ compatible = "xpower-vregulator,fldo2";
790
+ fldo2-supply = <&reg_fldo2>;
791
+ };
792
+ virtual-ldoio0 {
793
+ compatible = "xpower-vregulator,ldoio0";
794
+ ldoio0-supply = <&reg_ldoio0>;
795
+ };
796
+ virtual-ldoio1 {
797
+ compatible = "xpower-vregulator,ldoio1";
798
+ ldoio1-supply = <&reg_ldoio1>;
799
+ };
800
+ virtual-dc1sw {
801
+ compatible = "xpower-vregulator,dc1sw";
802
+ dc1sw-supply = <&reg_dc1sw>;
803
+ };
804
+ virtual-drivevbus {
805
+ compatible = "xpower-vregulator,drivevbus";
806
+ drivevbus-supply = <&reg_drivevbus>;
807
+ };
808
+
809
+ axp_gpio0: axp_gpio@0 {
810
+ gpio-controller;
811
+ #size-cells = <0>;
812
+ #gpio-cells = <6>;
813
+ status = "disabled";
814
+ };
815
+ };
816
+ };
817
+
818
+ standby_param: standby_param {
819
+ vdd-cpu = <0x00000006>;
820
+ vdd-sys = <0x00000008>;
821
+ vcc-pll = <0x00000100>;
822
+
823
+ osc24m-on = <0x1>;
824
+ };
825
+/*
826
+ pwm0: pwm0@0300a000 {
827
+ pinctrl-names = "active", "sleep";
828
+ pinctrl-0 = <&pwm0_pin_a>;
829
+ pinctrl-1 = <&pwm0_pin_b>;
830
+ };
831
+
832
+ spi1: spi@05011000 {
833
+ pinctrl-0 = <&spi1_pins_a &spi1_pins_b>;
834
+ pinctrl-1 = <&spi1_pins_c>;
835
+ spi_slave_mode = <0>;
836
+ status = "disabled";
837
+ };
838
+
839
+ spi2: spi@05012000 {
840
+ pinctrl-0 = <&spi2_pins_a &spi2_pins_b>;
841
+ pinctrl-1 = <&spi2_pins_c>;
842
+ spi_slave_mode = <0>;
843
+ status = "disabled";
844
+ };
845
+*/
846
+ gpadc:gpadc{
847
+ channel_num = <1>;
848
+ channel_select = <0x01>;
849
+ channel_data_select = <0>;
850
+ channel_compare_select = <0x01>;
851
+ channel_cld_select = <0x01>;
852
+ channel_chd_select = <0>;
853
+ channel0_compare_lowdata = <1700000>;
854
+ channel0_compare_higdata = <1200000>;
855
+ status = "disabled";
856
+ };
857
+
858
+ sdc2: sdmmc@04022000 {
859
+ non-removable;
860
+ bus-width = <8>;
861
+ mmc-ddr-1_8v;
862
+ mmc-hs200-1_8v;
863
+ mmc-hs400-1_8v;
864
+ no-sdio;
865
+ no-sd;
866
+ ctl-spec-caps = <0x308>;
867
+ cap-mmc-highspeed;
868
+ sunxi-power-save-mode;
869
+ sunxi-dis-signal-vol-sw;
870
+ max-frequency = <100000000>;
871
+ vmmc-supply = <&reg_dcdc1>;
872
+ /*emmc io vol 3.3v*/
873
+ /*vqmmc-supply = <&reg_aldo1>;*/
874
+ /*emmc io vol 1.8v*/
875
+ vqmmc-supply = <&reg_eldo1>;
876
+ status = "disabled";
877
+ };
878
+
879
+ sdc0: sdmmc@04020000 {
880
+ bus-width = <4>;
881
+ /*non-removable;*/
882
+ /*broken-cd;*/
883
+ /*cd-inverted*/
884
+ /*data3-detect;*/
885
+ cd-used-24M;
886
+ cd-gpios = <&pio PF 6 6 1 3 0xffffffff>;
887
+ cap-sd-highspeed;
888
+ sd-uhs-sdr50;
889
+ sd-uhs-ddr50;
890
+ sd-uhs-sdr104;
891
+ no-sdio;
892
+ no-mmc;
893
+ sunxi-power-save-mode;
894
+ /*sunxi-dis-signal-vol-sw;*/
895
+ max-frequency = <150000000>;
896
+ ctl-spec-caps = <0x8>;
897
+ vmmc-supply = <&reg_dcdc1>;
898
+ vqmmc33sw-supply = <&reg_dcdc1>;
899
+ vdmmc33sw-supply = <&reg_dcdc1>;
900
+ vqmmc18sw-supply = <&reg_eldo1>;
901
+ vdmmc18sw-supply = <&reg_eldo1>;
902
+ status = "okay";
903
+ };
904
+
905
+/*
906
+ *usb_port_type: usb mode. 0-device, 1-host, 2-otg.
907
+ *usb_detect_type: usb hotplug detect mode. 0-none, 1-vbus/id detect, 2-id/dpdm detect.
908
+ *usb_id_gpio: gpio for id detect.
909
+ *usb_det_vbus_gpio: gpio for id detect. gpio or "axp_ctrl";
910
+ *usb_wakeup_suspend:0-SUPER_STANDBY, 1-USB_STANDBY.
911
+ */
912
+ usbc0:usbc0@0 {
913
+ device_type = "usbc0";
914
+ usb_port_type = <0x0>;
915
+ usb_detect_type = <0x1>;
916
+ usb_id_gpio = <&r_pio PL 9 0 0 0xffffffff 0xffffffff>;
917
+ usb_det_vbus_gpio = "axp_ctrl";
918
+ usb_regulator_io = "nocare";
919
+ det_vbus_supply = <&usb_power_supply>;
920
+ usb_wakeup_suspend = <1>;
921
+ usb_serial_unique = <0>;
922
+ usb_serial_number = "20080411";
923
+ rndis_wceis = <1>;
924
+ status = "okay";
925
+ };
926
+
927
+ udc:udc-controller@0x05100000 {
928
+ det_vbus_supply = <&usb_power_supply>;
929
+ };
930
+
931
+ ehci0:ehci0-controller@0x05101000 {
932
+ drvvbus-supply = <&reg_drivevbus>;
933
+ };
934
+
935
+ ohci0:ohci0-controller@0x05101400 {
936
+ drvvbus-supply = <&reg_drivevbus>;
937
+ };
938
+
939
+ usbc1:usbc1@0 {
940
+ device_type = "usbc1";
941
+ usb_regulator_io = "nocare";
942
+ usb_wakeup_suspend = <0>;
943
+ status = "okay";
944
+ };
945
+
946
+ ehci1:ehci1-controller@0x05200000 {
947
+ drvvbus-supply = <&reg_usb1_vbus>;
948
+ };
949
+
950
+ ohci1:ohci1-controller@0x05200400 {
951
+ drvvbus-supply = <&reg_usb1_vbus>;
952
+ };
953
+
954
+ sdc1: sdmmc@04021000 {
955
+ bus-width = <4>;
956
+ no-mmc;
957
+ no-sd;
958
+ cap-sd-highspeed;
959
+ /*sd-uhs-sdr12*/
960
+ /*sd-uhs-sdr25*/
961
+ sd-uhs-sdr50;
962
+ sd-uhs-ddr50;
963
+ sd-uhs-sdr104;
964
+ // kickpi
965
+ //sunxi-power-save-mode;
966
+ /*sunxi-dis-signal-vol-sw;*/
967
+ sdio-used-1v8;
968
+ cap-sdio-irq;
969
+ keep-power-in-suspend;
970
+ ignore-pm-notify;
971
+ max-frequency = <50000000>;
972
+ ctl-spec-caps = <0x8>;
973
+ status = "okay";
974
+
975
+ };
976
+
977
+ /* gpio-spk will output 0x00 when playing audio */
978
+ /* Audio Driver Modules */
979
+ codec:codec@0x05096000 {
980
+ /* MIC and headphone gain setting */
981
+ mic1gain = <0x1F>;
982
+ mic2gain = <0x1F>;
983
+ /* ADC/DAC DRC/HPF func enabled */
984
+ /* 0x1:DAP_HP_EN; 0x2:DAP_SPK_EN; 0x3:DAP_HPSPK_EN */
985
+ adcdrc_cfg = <0x2>;
986
+ adchpf_cfg = <0x1>;
987
+ dacdrc_cfg = <0x2>;
988
+ dachpf_cfg = <0x0>;
989
+ /* Volume about */
990
+ digital_vol = <0x00>;
991
+ lineout_vol = <0x1a>;
992
+ headphonegain = <0x00>;
993
+ /* Pa enabled about */
994
+ pa_level = <0x00>;
995
+ pa_msleep_time = <0x78>;
996
+ //gpio-spk = <&pio PB 7 1 1 1 1>;
997
+ /* regulator about */
998
+ avcc-supply = <&reg_aldo1>;
999
+ cpvin-supply = <&reg_eldo1>;
1000
+ status = "okay";
1001
+ };
1002
+
1003
+ sndcodec:sound@0 {
1004
+ noheadphonemic = <1>;
1005
+ status = "okay";
1006
+ };
1007
+
1008
+ spdif:spdif-controller@0x05094000{
1009
+ status = "okay";
1010
+ };
1011
+
1012
+ sndspdif:sound@1{
1013
+ status = "okay";
1014
+ };
1015
+
1016
+ dmic:dmic-controller@0x05095000{
1017
+ status = "disabled";
1018
+ };
1019
+
1020
+ snddmic:sound@2{
1021
+ status = "disabled";
1022
+ };
1023
+
1024
+ daudio0:daudio@0x05090000 {
1025
+ mclk_div = <0x01>;
1026
+ frametype = <0x00>;
1027
+ tdm_config = <0x01>;
1028
+ sign_extend = <0x00>;
1029
+ tx_data_mode = <0x00>;
1030
+ rx_data_mode = <0x00>;
1031
+ msb_lsb_first = <0x00>;
1032
+ pcm_lrck_period = <0x80>;
1033
+ audio_format = <0x01>;
1034
+ daudio_master = <0x04>;
1035
+ signal_inversion = <0x01>;
1036
+ slot_width_select = <0x20>;
1037
+ status = "okay";
1038
+ };
1039
+
1040
+ snddaudio0:sound@3 {
1041
+/* sunxi,snddaudio-codec = "ac108.1-003b";
1042
+ sunxi,snddaudio-codec-dai = "ac108-pcm0";*/
1043
+
1044
+/* sunxi,snddaudio-codec = "ac107.1-0036";
1045
+ sunxi,snddaudio-codec-dai = "ac107-pcm0"; */
1046
+ status = "okay";
1047
+ };
1048
+
1049
+ daudio1:daudio@0x05091000 {
1050
+ mclk_div = <0x01>;
1051
+ frametype = <0x00>;
1052
+ tdm_config = <0x01>;
1053
+ sign_extend = <0x00>;
1054
+ tx_data_mode = <0x00>;
1055
+ rx_data_mode = <0x00>;
1056
+ msb_lsb_first = <0x00>;
1057
+ pcm_lrck_period = <0x80>;
1058
+ audio_format = <0x01>;
1059
+ daudio_master = <0x04>;
1060
+ signal_inversion = <0x01>;
1061
+ slot_width_select = <0x20>;
1062
+ status = "disabled";
1063
+ };
1064
+
1065
+ snddaudio1:sound@4 {
1066
+ status = "disabled";
1067
+ };
1068
+
1069
+ daudio2:daudio@0x05092000 {
1070
+ mclk_div = <0x01>;
1071
+ frametype = <0x00>;
1072
+ tdm_config = <0x01>;
1073
+ sign_extend = <0x00>;
1074
+ tx_data_mode = <0x00>;
1075
+ rx_data_mode = <0x00>;
1076
+ msb_lsb_first = <0x00>;
1077
+ pcm_lrck_period = <0x80>;
1078
+ audio_format = <0x01>;
1079
+ daudio_master = <0x04>;
1080
+ signal_inversion = <0x01>;
1081
+ slot_width_select = <0x20>;
1082
+ status = "disabled";
1083
+ };
1084
+
1085
+ snddaudio2:sound@5 {
1086
+ status = "disabled";
1087
+ };
1088
+
1089
+ daudio3:daudio@0x05093000 {
1090
+ mclk_div = <0x01>;
1091
+ frametype = <0x00>;
1092
+ tdm_config = <0x01>;
1093
+ sign_extend = <0x00>;
1094
+ tx_data_mode = <0x00>;
1095
+ rx_data_mode = <0x00>;
1096
+ msb_lsb_first = <0x00>;
1097
+ pcm_lrck_period = <0x80>;
1098
+ audio_format = <0x01>;
1099
+ daudio_master = <0x04>;
1100
+ signal_inversion = <0x01>;
1101
+ slot_width_select = <0x20>;
1102
+ status = "disabled";
1103
+ };
1104
+
1105
+ snddaudio3:sound@6 {
1106
+ status = "disabled";
1107
+ };
1108
+
1109
+ vind0:vind@0 {
1110
+ vind0_clk = <336000000>;
1111
+ vind0_isp = <300000000>;
1112
+ status = "disabled";
1113
+
1114
+ actuator0:actuator@0 {
1115
+ device_type = "actuator0";
1116
+ actuator0_name = "ad5820_act";
1117
+ actuator0_slave = <0x18>;
1118
+ actuator0_af_pwdn = <>;
1119
+ actuator0_afvdd = "afvcc-csi";
1120
+ actuator0_afvdd_vol = <2800000>;
1121
+ status = "disabled";
1122
+ };
1123
+ flash0:flash@0 {
1124
+ device_type = "flash0";
1125
+ flash0_type = <2>;
1126
+ flash0_en = <&r_pio PL 11 1 0 1 0>;
1127
+ flash0_mode = <>;
1128
+ flash0_flvdd = "";
1129
+ flash0_flvdd_vol = <>;
1130
+ device_id = <0>;
1131
+ status = "disabled";
1132
+ };
1133
+ sensor0:sensor@0 {
1134
+ device_type = "sensor0";
1135
+ sensor1_mname = "ov8858_r2a_4lane";
1136
+ sensor0_twi_cci_id = <2>;
1137
+ sensor0_twi_addr = <0x6c>;
1138
+ //sensor0_twi_addr = <0x20>;
1139
+
1140
+ sensor0_mclk_id = <0>;
1141
+ sensor0_pos = "rear";
1142
+ sensor0_isp_used = <1>;
1143
+ sensor0_fmt = <1>;
1144
+ sensor0_stby_mode = <0>;
1145
+ sensor0_vflip = <0>;
1146
+ sensor0_hflip = <0>;
1147
+ sensor0_iovdd-supply = <&reg_dldo2>;
1148
+ sensor0_iovdd_vol = <1800000>;
1149
+ sensor0_avdd-supply = <&reg_dldo3>;
1150
+ sensor0_avdd_vol = <2800000>;
1151
+ sensor0_dvdd-supply = <&reg_eldo2>;
1152
+ sensor0_dvdd_vol = <1200000>;
1153
+ sensor0_power_en = <>;
1154
+ sensor0_reset = <&pio PE 6 1 0 1 0>;
1155
+ sensor0_pwdn = <&pio PE 7 1 0 1 0>;
1156
+ status = "okay";
1157
+ };
1158
+ sensor1:sensor@1 {
1159
+ device_type = "sensor1";
1160
+ sensor1_mname = "ov5648_mipi";
1161
+ sensor1_twi_cci_id = <3>;
1162
+ sensor1_twi_addr = <0x6c>;
1163
+ sensor1_mclk_id = <1>;
1164
+ sensor1_pos = "front";
1165
+ sensor1_isp_used = <1>;
1166
+ sensor1_fmt = <1>;
1167
+ sensor1_stby_mode = <0>;
1168
+ sensor1_vflip = <0>;
1169
+ sensor1_hflip = <0>;
1170
+ sensor1_iovdd-supply = <&reg_dldo2>;
1171
+ sensor1_iovdd_vol = <1800000>;
1172
+ sensor1_avdd-supply = <&reg_dldo3>;
1173
+ sensor1_avdd_vol = <2800000>;
1174
+ sensor1_dvdd-supply = <&reg_eldo2>;
1175
+ sensor1_dvdd_vol = <1500000>;
1176
+ sensor1_power_en = <>;
1177
+ sensor1_reset = <&pio PE 8 1 0 1 0>;
1178
+ sensor1_pwdn = <&pio PE 9 1 0 1 0>;
1179
+ status = "okay";
1180
+ };
1181
+
1182
+ vinc0:vinc@0 {
1183
+ vinc0_csi_sel = <0>;
1184
+ vinc0_mipi_sel = <0>;
1185
+ vinc0_isp_sel = <0>;
1186
+ vinc0_isp_tx_ch = <0>;
1187
+ vinc0_tdm_rx_sel = <0xff>;
1188
+ vinc0_rear_sensor_sel = <0>;
1189
+ vinc0_front_sensor_sel = <1>;
1190
+ vinc0_sensor_list = <0>;
1191
+ status = "okay";
1192
+ };
1193
+ vinc1:vinc@1 {
1194
+ vinc1_csi_sel = <0>;
1195
+ vinc1_mipi_sel = <0>;
1196
+ vinc1_isp_sel = <0>;
1197
+ vinc1_isp_tx_ch = <0>;
1198
+ vinc1_tdm_rx_sel = <0xff>;
1199
+ vinc1_rear_sensor_sel = <0>;
1200
+ vinc1_front_sensor_sel = <1>;
1201
+ vinc1_sensor_list = <0>;
1202
+ status = "okay";
1203
+ };
1204
+ vinc2:vinc@2 {
1205
+ vinc2_csi_sel = <1>;
1206
+ vinc2_mipi_sel = <1>;
1207
+ vinc2_isp_sel = <0>;
1208
+ vinc2_isp_tx_ch = <0>;
1209
+ vinc2_tdm_rx_sel = <0xff>;
1210
+ vinc2_rear_sensor_sel = <0>;
1211
+ vinc2_front_sensor_sel = <1>;
1212
+ vinc2_sensor_list = <0>;
1213
+ status = "okay";
1214
+ };
1215
+ vinc3:vinc@3 {
1216
+ vinc3_csi_sel = <1>;
1217
+ vinc3_mipi_sel = <1>;
1218
+ vinc3_isp_sel = <0>;
1219
+ vinc3_isp_tx_ch = <0>;
1220
+ vinc3_tdm_rx_sel = <0xff>;
1221
+ vinc3_rear_sensor_sel = <0>;
1222
+ vinc3_front_sensor_sel = <1>;
1223
+ vinc3_sensor_list = <0>;
1224
+ status = "okay";
1225
+ };
1226
+ };
1227
+
1228
+/*
1229
+ hall_para {
1230
+ hall_name = "MH248";
1231
+ status = "disabled";
1232
+ hall_int_port = <&r_pio PL 9 6 1 0xffffffff 0xffffffff>;
1233
+ };
1234
+*/
1235
+ keyboard {
1236
+ compatible = "allwinner,keyboard_1350mv";
1237
+ status = "okay";
1238
+ key_cnt = <1>;
1239
+ key0 = <590 KEY_RESERVED>;
1240
+ //key0 = <475 0x7372>;
1241
+ //key1 = <646 0x73>;
1242
+ //key2 = <897 0x72>;
1243
+ };
1244
+
1245
+ wlan: wlan@0 {
1246
+ compatible = "allwinner,sunxi-wlan";
1247
+ clocks;
1248
+ pinctrl-0;
1249
+ pinctrl-names;
1250
+ wlan_busnum = <0x1>;
1251
+ wlan_power = "axp803-dldo1";
1252
+ wlan_io_regulator;
1253
+ wlan_regon = <&pio PG 10 1 0xffffffff 0xffffffff 1>;
1254
+ wlan_hostwake = <&pio PG 13 6 0xffffffff 0xffffffff 0>;
1255
+ //chip_en;
1256
+ //power_en = <&pio PG 10 1 0xffffffff 0xffffffff 0>;
1257
+ status = "okay";
1258
+ };
1259
+
1260
+ bt: bt@0 {
1261
+ compatible = "allwinner,sunxi-bt";
1262
+ clocks = <&clk_losc_out>, <&clk_dcxo_out>;
1263
+ bt_power = "axp803-dldo1";
1264
+ bt_io_regulator;
1265
+ bt_rst_n = <&r_pio PH 11 1 0xffffffff 0xffffffff 0>;
1266
+ status = "okay";
1267
+ };
1268
+
1269
+ btlpm: btlpm@0 {
1270
+ compatible = "allwinner,sunxi-btlpm";
1271
+ uart_index = <0x1>;
1272
+ bt_wake = <&pio PG 12 1 0xffffffff 0xffffffff 1>;
1273
+ bt_hostwake = <&pio PG 11 6 0xffffffff 0xffffffff 1>;
1274
+ status = "okay";
1275
+ };
1276
+
1277
+/*
1278
+ wlan: wlan@0 {
1279
+ compatible = "allwinner,sunxi-wlan";
1280
+ clocks = <&clk_losc_out>, <&clk_dcxo_out>;
1281
+ pinctrl-0;
1282
+ pinctrl-names;
1283
+ wlan_busnum = <0x1>;
1284
+ wlan_power = "axp803-dldo1";
1285
+ wlan_io_regulator;
1286
+ wlan_regon = <&pio PG 10 1 0xffffffff 0xffffffff 0>;
1287
+ wlan_hostwake = <&pio PG 13 6 0xffffffff 0xffffffff 0>;
1288
+ chip_en;
1289
+ power_en;
1290
+ status = "okay";
1291
+ };
1292
+
1293
+ bt: bt@0 {
1294
+ compatible = "allwinner,sunxi-bt";
1295
+ clocks = <&clk_losc_out>, <&clk_dcxo_out>;
1296
+ bt_power = "axp803-dldo1";
1297
+ //bt_power = "axp803-dldo1";
1298
+ bt_io_regulator;
1299
+ //bt_rst_n = <&r_pio PL 2 1 0xffffffff 0xffffffff 0>;
1300
+ status = "okay";
1301
+ };
1302
+
1303
+ btlpm: btlpm@0 {
1304
+ compatible = "allwinner,sunxi-btlpm";
1305
+ uart_index = <0x1>;
1306
+ bt_wake = <&pio PG 11 1 0xffffffff 0xffffffff 1>;
1307
+ bt_hostwake = <&pio PG 12 6 0xffffffff 0xffffffff 1>;
1308
+ status = "okay";
1309
+ };
1310
+*/
1311
+ addr_mgt: addr_mgt@0 {
1312
+ compatible = "allwinner,sunxi-addr_mgt";
1313
+ type_addr_wifi = <0x0>;
1314
+ type_addr_bt = <0x0>;
1315
+ type_addr_eth = <0x0>;
1316
+ status = "okay";
1317
+ };
1318
+ uart0: uart@05000000 {
1319
+ uart-supply = <&reg_dcdc1>;
1320
+ };
1321
+
1322
+ uart1: uart@05000400 {
1323
+ status = "okay";
1324
+ };
1325
+
1326
+ uart2: uart@05000800 {
1327
+ status = "okay";
1328
+ };
1329
+
1330
+ uart3: uart@05000c00 {
1331
+ status = "okay";
1332
+ };
1333
+
1334
+ uart4: uart@05001000 {
1335
+ status = "okay";
1336
+ };
1337
+ };
1338
+ gpu: gpu@0x01800000 {
1339
+ gpu_idle = <1>;/*ic version ctrl*/
1340
+ dvfs_status = <1>;
1341
+ pll_rate = <504000>;
1342
+ independent_power = <0>;
1343
+ operating-points = <
1344
+ /* KHz uV */
1345
+ 504000 950000
1346
+ 472500 950000
1347
+ 441000 950000
1348
+ 252000 950000
1349
+ >;
1350
+ gpu-supply = <&reg_dcdc4>;
1351
+ };
1352
+
1353
+ leds {
1354
+ compatible = "gpio-leds";
1355
+ pinctrl-names = "default";
1356
+ status = "okay";
1357
+
1358
+ sysled {
1359
+ label = "sysled";
1360
+ gpios = <&r_pio PL 10 1 0 1 1>;
1361
+ linux,default_trigger = "heartbeat";
1362
+ };
1363
+
1364
+ spk_en {
1365
+ label = "spk_en";
1366
+ gpios = <&pio PB 7 1 0 1 0>;
1367
+ linux,default_trigger = "default-on";
1368
+ };
1369
+
1370
+ fan_en {
1371
+ label = "fan_en";
1372
+ gpios = <&r_pio PL 7 1 0 1 0>;
1373
+ linux,default_trigger = "default-on";
1374
+ };
1375
+
1376
+ PH8 {
1377
+ label = "PH8";
1378
+ gpios = <&pio PH 8 1 0 1 0>;
1379
+ linux,default_trigger = "default-on";
1380
+ };
1381
+
1382
+ PC2 {
1383
+ label = "PC2";
1384
+ gpios = <&pio PC 2 1 0 1 0>;
1385
+ linux,default_trigger = "default-on";
1386
+ };
1387
+
1388
+ PC3 {
1389
+ label = "PC3";
1390
+ gpios = <&pio PC 3 1 0 1 0>;
1391
+ linux,default_trigger = "default-on";
1392
+ };
1393
+
1394
+ PC4 {
1395
+ label = "PC4";
1396
+ gpios = <&pio PC 4 1 0 1 0>;
1397
+ linux,default_trigger = "default-on";
1398
+ };
1399
+
1400
+ PC7 {
1401
+ label = "PC7";
1402
+ gpios = <&pio PC 7 1 0 1 0>;
1403
+ linux,default_trigger = "default-on";
1404
+ };
1405
+
1406
+ PC12 {
1407
+ label = "PC12";
1408
+ gpios = <&pio PC 12 1 0 1 0>;
1409
+ linux,default_trigger = "default-on";
1410
+ };
1411
+
1412
+ PL2 {
1413
+ label = "PL2";
1414
+ gpios = <&r_pio PL 2 1 0 1 0>;
1415
+ linux,default_trigger = "default-on";
1416
+ };
1417
+
1418
+ PL3 {
1419
+ label = "PL3";
1420
+ gpios = <&r_pio PL 3 1 0 1 0>;
1421
+ linux,default_trigger = "default-on";
1422
+ };
1423
+
1424
+ PL4 {
1425
+ label = "PL4";
1426
+ gpios = <&r_pio PL 4 1 0 1 0>;
1427
+ linux,default_trigger = "default-on";
1428
+ };
1429
+
1430
+ PL5 {
1431
+ label = "PL5";
1432
+ gpios = <&r_pio PL 5 1 0 1 0>;
1433
+ linux,default_trigger = "default-on";
1434
+ };
1435
+
1436
+ };
1437
+};
1438
+
1439
+&cpu0 {
1440
+ cpu-supply = <&reg_dcdc2>;
1441
+};
1442
+
1443
+&s_cir0 {
1444
+ status = "okay";
1445
+
1446
+ pinctrl-names = "default", "sleep";
1447
+ pinctrl-0 = <&s_cir0_pins_a>;
1448
+ pinctrl-1 = <&s_cir0_pins_a>;
1449
+
1450
+ s_cir0_used = <1>;
1451
+ ir_power_key_code0 = <0x4d>;
1452
+ ir_addr_code0 = <0x4040>;
1453
+ ir_power_key_code1 = <0x51>;
1454
+ ir_addr_code1 = <0x7f80>;
1455
+ ir_power_key_code2 = <0x1c>;
1456
+ ir_addr_code2 = <0xdf00>;
1457
+ wakeup-source;
1458
+};
1459
+
1460
+
1461
+&gmac0 {
1462
+ /delete-property/ phy-rst;
1463
+ rx-delay = <7>;
1464
+};
1465
+
1466
+
1467
+//#include "lcd-lvds-21-1920-1080.dtsi"
1468
+#include "lcd-lvds-7-1024-600.dtsi"
1469
+//#include "lcd-mipi-10-800-1280.dtsi"