blob: f1705dbb088fa2f0631bf3b9994f49c24ffa36a2
1 | /* |
2 | * arch/arm64/boot/dts/amlogic/g12a_s905x2_u212_1g.dts |
3 | * |
4 | * Copyright (C) 2017 Amlogic, Inc. All rights reserved. |
5 | * |
6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by |
8 | * the Free Software Foundation; either version 2 of the License, or |
9 | * (at your option) any later version. |
10 | * |
11 | * This program is distributed in the hope that it will be useful, but WITHOUT |
12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for |
14 | * more details. |
15 | * |
16 | */ |
17 | |
18 | /dts-v1/; |
19 | |
20 | #include "mesong12a.dtsi" |
21 | #include "partition_mbox_normal_P_32.dtsi" |
22 | #include "mesong12a_skt-panel.dtsi" |
23 | |
24 | / { |
25 | model = "Amlogic"; |
26 | amlogic-dt-id = "g12a_s905x2_u212_1g"; |
27 | compatible = "amlogic, g12a"; |
28 | interrupt-parent = <&gic>; |
29 | #address-cells = <2>; |
30 | #size-cells = <2>; |
31 | |
32 | aliases { |
33 | serial0 = &uart_AO; |
34 | serial1 = &uart_A; |
35 | serial2 = &uart_B; |
36 | serial3 = &uart_C; |
37 | serial4 = &uart_AO_B; |
38 | tsensor0 = &p_tsensor; |
39 | tsensor1 = &d_tsensor; |
40 | i2c0 = &i2c0; |
41 | i2c1 = &i2c1; |
42 | i2c2 = &i2c2; |
43 | i2c3 = &i2c3; |
44 | i2c4 = &i2c_AO; |
45 | }; |
46 | |
47 | memory@00000000 { |
48 | device_type = "memory"; |
49 | linux,usable-memory = <0x0 0x100000 0x0 0x3ff00000>; |
50 | |
51 | }; |
52 | |
53 | reserved-memory { |
54 | #address-cells = <2>; |
55 | #size-cells = <2>; |
56 | ranges; |
57 | /* global autoconfigured region for contiguous allocations */ |
58 | ramoops@0x07400000 { |
59 | compatible = "ramoops"; |
60 | reg = <0x0 0x07400000 0x0 0x00100000>; |
61 | record-size = <0x8000>; |
62 | console-size = <0x8000>; |
63 | ftrace-size = <0x0>; |
64 | pmsg-size = <0x8000>; |
65 | }; |
66 | |
67 | secmon_reserved:linux,secmon { |
68 | compatible = "shared-dma-pool"; |
69 | reusable; |
70 | size = <0x0 0x400000>; |
71 | alignment = <0x0 0x400000>; |
72 | alloc-ranges = <0x0 0x05000000 0x0 0x400000>; |
73 | }; |
74 | secos_reserved:linux,secos { |
75 | status = "disable"; |
76 | compatible = "amlogic, aml_secos_memory"; |
77 | reg = <0x0 0x05300000 0x0 0x2000000>; |
78 | no-map; |
79 | }; |
80 | logo_reserved:linux,meson-fb { |
81 | compatible = "shared-dma-pool"; |
82 | reusable; |
83 | size = <0x0 0x800000>; |
84 | alignment = <0x0 0x400000>; |
85 | alloc-ranges = <0x0 0x3f800000 0x0 0x800000>; |
86 | }; |
87 | ion_cma_reserved:linux,ion-dev { |
88 | compatible = "shared-dma-pool"; |
89 | reusable; |
90 | size = <0x0 0x8000000>; |
91 | alignment = <0x0 0x400000>; |
92 | }; |
93 | //di_reserved:linux,di { |
94 | //compatible = "amlogic, di-mem"; |
95 | /* buffer_size = 3621952(yuv422 8bit) */ |
96 | /* 4179008(yuv422 10bit full pack mode) */ |
97 | /** 10x3621952=34.6M(0x23) support 8bit **/ |
98 | /** 10x4736064=45.2M(0x2e) support 12bit **/ |
99 | /** 10x4179008=40M(0x28) support 10bit **/ |
100 | //size = <0x0 0x2800000>; |
101 | //no-map; |
102 | //}; |
103 | /*di CMA pool */ |
104 | di_cma_reserved:linux,di_cma { |
105 | compatible = "shared-dma-pool"; |
106 | reusable; |
107 | /* buffer_size = 3621952(yuv422 8bit) |
108 | * | 4736064(yuv422 10bit) |
109 | * | 4074560(yuv422 10bit full pack mode) |
110 | * 10x3621952=34.6M(0x23) support 8bit |
111 | * 10x4736064=45.2M(0x2e) support 12bit |
112 | * 10x4074560=40M(0x28) support 10bit |
113 | */ |
114 | size = <0x0 0x02800000>; |
115 | alignment = <0x0 0x400000>; |
116 | }; |
117 | /* POST PROCESS MANAGER */ |
118 | ppmgr_reserved:linux,ppmgr { |
119 | compatible = "shared-dma-pool"; |
120 | size = <0x0 0x0>; |
121 | }; |
122 | |
123 | codec_mm_cma:linux,codec_mm_cma { |
124 | compatible = "shared-dma-pool"; |
125 | reusable; |
126 | /* ion_codec_mm max can alloc size 80M*/ |
127 | size = <0x0 0xC400000>; |
128 | alignment = <0x0 0x400000>; |
129 | linux,contiguous-region; |
130 | }; |
131 | /* codec shared reserved */ |
132 | codec_mm_reserved:linux,codec_mm_reserved { |
133 | compatible = "amlogic, codec-mm-reserved"; |
134 | size = <0x0 0x0>; |
135 | alignment = <0x0 0x100000>; |
136 | //no-map; |
137 | }; |
138 | /* vdin0 CMA pool */ |
139 | vdin0_cma_reserved:linux,vdin0_cma { |
140 | compatible = "shared-dma-pool"; |
141 | reusable; |
142 | /* 1920x1080x2x4 =16+4 M */ |
143 | size = <0x0 0x04000000>; |
144 | alignment = <0x0 0x400000>; |
145 | }; |
146 | /* vdin1 CMA pool */ |
147 | vdin1_cma_reserved:linux,vdin1_cma { |
148 | compatible = "shared-dma-pool"; |
149 | reusable; |
150 | /* 1920x1080x2x4 =16 M */ |
151 | size = <0x0 0x04000000>; |
152 | alignment = <0x0 0x400000>; |
153 | }; |
154 | }; |
155 | |
156 | gpioleds { |
157 | compatible = "gpio-leds"; |
158 | status = "okay"; |
159 | |
160 | net_red { |
161 | label="net_red"; |
162 | gpios=<&gpio GPIOA_14 GPIO_ACTIVE_LOW>; |
163 | default-state ="on"; |
164 | }; |
165 | |
166 | net_green { |
167 | label="net_green"; |
168 | gpios=<&gpio GPIOA_15 GPIO_ACTIVE_HIGH>; |
169 | default-state ="on"; |
170 | }; |
171 | |
172 | remote_led { |
173 | label = "remote_led"; |
174 | gpios = <&gpio_ao GPIOAO_10 GPIO_ACTIVE_LOW>; |
175 | default-state = "off"; |
176 | linux,default-trigger = "rc_feedback"; |
177 | }; |
178 | |
179 | sys_led { |
180 | label="sys_led"; |
181 | gpios=<&gpio_ao GPIOAO_11 GPIO_ACTIVE_LOW>; |
182 | default-state ="on"; |
183 | retain-state-suspended; |
184 | linux,default-trigger="cpu0"; |
185 | }; |
186 | }; |
187 | |
188 | cvbsout { |
189 | compatible = "amlogic, cvbsout-g12a"; |
190 | dev_name = "cvbsout"; |
191 | status = "okay"; |
192 | clocks = <&clkc CLKID_VCLK2_ENCI |
193 | &clkc CLKID_VCLK2_VENCI0 |
194 | &clkc CLKID_VCLK2_VENCI1 |
195 | &clkc CLKID_DAC_CLK>; |
196 | clock-names = "venci_top_gate", |
197 | "venci_0_gate", |
198 | "venci_1_gate", |
199 | "vdac_clk_gate"; |
200 | |
201 | /* performance: reg_address, reg_value */ |
202 | /* g12a */ |
203 | performance = <0x1bf0 0x9 |
204 | 0x1b56 0x343 |
205 | 0x1b12 0x0 |
206 | 0x1b05 0x9 |
207 | 0x1c59 0xfc48 |
208 | 0xffff 0x0>; /* ending flag */ |
209 | performance_telecom = <0x1bf0 0x9 |
210 | 0x1b56 0x333 |
211 | 0x1b12 0x8080 |
212 | 0x1b05 0xfd |
213 | 0x1c59 0xf850 |
214 | 0xffff 0x0>; /* ending flag */ |
215 | }; |
216 | |
217 | bt-dev{ |
218 | compatible = "amlogic, bt-dev"; |
219 | dev_name = "bt-dev"; |
220 | status = "okay"; |
221 | gpio_reset = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; |
222 | gpio_hostwake = <&gpio GPIOX_19 GPIO_ACTIVE_HIGH>; |
223 | }; |
224 | |
225 | wifi{ |
226 | compatible = "amlogic, aml_wifi"; |
227 | dev_name = "aml_wifi"; |
228 | status = "okay"; |
229 | interrupt_pin = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; |
230 | irq_trigger_type = "GPIO_IRQ_LOW"; |
231 | power_on_pin = <&gpio GPIOX_6 GPIO_ACTIVE_HIGH>; |
232 | dhd_static_buf; //if use bcm wifi, config dhd_static_buf |
233 | pinctrl-names = "default"; |
234 | pinctrl-0 = <&pwm_e_pins>; |
235 | pwm_config = <&wifi_pwm_conf>; |
236 | }; |
237 | |
238 | wifi_pwm_conf:wifi_pwm_conf{ |
239 | pwm_channel1_conf { |
240 | pwms = <&pwm_ef MESON_PWM_0 30040 0>; |
241 | duty-cycle = <15020>; |
242 | times = <10>; |
243 | }; |
244 | pwm_channel2_conf { |
245 | pwms = <&pwm_ef MESON_PWM_2 30030 0>; |
246 | duty-cycle = <15015>; |
247 | times = <12>; |
248 | }; |
249 | }; |
250 | |
251 | codec_mm { |
252 | compatible = "amlogic, codec, mm"; |
253 | memory-region = <&codec_mm_cma &codec_mm_reserved>; |
254 | dev_name = "codec_mm"; |
255 | status = "okay"; |
256 | }; |
257 | |
258 | ppmgr { |
259 | compatible = "amlogic, ppmgr"; |
260 | memory-region = <&ppmgr_reserved>; |
261 | dev_name = "ppmgr"; |
262 | status = "okay"; |
263 | }; |
264 | |
265 | deinterlace { |
266 | compatible = "amlogic, deinterlace"; |
267 | status = "okay"; |
268 | /* 0:use reserved; 1:use cma; 2:use cma as reserved */ |
269 | flag_cma = <1>; |
270 | //memory-region = <&di_reserved>; |
271 | memory-region = <&di_cma_reserved>; |
272 | interrupts = <0 46 1 |
273 | 0 40 1>; |
274 | interrupt-names = "pre_irq", "post_irq"; |
275 | clocks = <&clkc CLKID_VPU_CLKB_TMP_COMP>, |
276 | <&clkc CLKID_VPU_CLKB_COMP>; |
277 | clock-names = "vpu_clkb_tmp_composite", |
278 | "vpu_clkb_composite"; |
279 | clock-range = <334 667>; |
280 | /* buffer-size = <3621952>;(yuv422 8bit) */ |
281 | buffer-size = <4074560>;/*yuv422 fullpack*/ |
282 | /* reserve-iomap = "true"; */ |
283 | /* if enable nr10bit, set nr10bit-support to 1 */ |
284 | post-wr-support = <1>; |
285 | nr10bit-support = <1>; |
286 | nrds-enable = <1>; |
287 | pps-enable = <1>; |
288 | }; |
289 | ionvideo { |
290 | compatible = "amlogic, ionvideo"; |
291 | dev_name = "ionvideo"; |
292 | status = "okay"; |
293 | }; |
294 | dvb{ |
295 | compatible = "amlogic, dvb"; |
296 | dev_name = "dvb"; |
297 | status = "ok"; |
298 | /*"parallel","serial","disable"*/ |
299 | ts2 = "parallel"; |
300 | ts2_control = <0>; |
301 | ts2_invert = <0>; |
302 | }; |
303 | unifykey{ |
304 | compatible = "amlogic, unifykey"; |
305 | status = "ok"; |
306 | unifykey-num = <15>; |
307 | unifykey-index-0 = <&keysn_0>; |
308 | unifykey-index-1 = <&keysn_1>; |
309 | unifykey-index-2 = <&keysn_2>; |
310 | unifykey-index-3 = <&keysn_3>; |
311 | unifykey-index-4 = <&keysn_4>; |
312 | unifykey-index-5 = <&keysn_5>; |
313 | unifykey-index-6 = <&keysn_6>; |
314 | unifykey-index-7 = <&keysn_7>; |
315 | unifykey-index-8 = <&keysn_8>; |
316 | unifykey-index-9 = <&keysn_9>; |
317 | unifykey-index-10= <&keysn_10>; |
318 | unifykey-index-11= <&keysn_11>; |
319 | unifykey-index-12= <&keysn_12>; |
320 | unifykey-index-13= <&keysn_13>; |
321 | unifykey-index-14= <&keysn_14>; |
322 | |
323 | keysn_0: key_0{ |
324 | key-name = "usid"; |
325 | key-device = "normal"; |
326 | key-permit = "read","write","del"; |
327 | }; |
328 | keysn_1:key_1{ |
329 | key-name = "mac"; |
330 | key-device = "normal"; |
331 | key-permit = "read","write","del"; |
332 | }; |
333 | keysn_2:key_2{ |
334 | key-name = "hdcp"; |
335 | key-device = "secure"; |
336 | key-type = "sha1"; |
337 | key-permit = "read","write","del"; |
338 | }; |
339 | keysn_3:key_3{ |
340 | key-name = "secure_boot_set"; |
341 | key-device = "efuse"; |
342 | key-permit = "write"; |
343 | }; |
344 | keysn_4:key_4{ |
345 | key-name = "mac_bt"; |
346 | key-device = "normal"; |
347 | key-permit = "read","write","del"; |
348 | key-type = "mac"; |
349 | }; |
350 | keysn_5:key_5{ |
351 | key-name = "mac_wifi"; |
352 | key-device = "normal"; |
353 | key-permit = "read","write","del"; |
354 | key-type = "mac"; |
355 | }; |
356 | keysn_6:key_6{ |
357 | key-name = "hdcp2_tx"; |
358 | key-device = "normal"; |
359 | key-permit = "read","write","del"; |
360 | }; |
361 | keysn_7:key_7{ |
362 | key-name = "hdcp2_rx"; |
363 | key-device = "normal"; |
364 | key-permit = "read","write","del"; |
365 | }; |
366 | keysn_8:key_8{ |
367 | key-name = "widevinekeybox"; |
368 | key-device = "secure"; |
369 | key-permit = "read","write","del"; |
370 | }; |
371 | keysn_9:key_9{ |
372 | key-name = "deviceid"; |
373 | key-device = "normal"; |
374 | key-permit = "read","write","del"; |
375 | }; |
376 | keysn_10:key_10{ |
377 | key-name = "hdcp22_fw_private"; |
378 | key-device = "secure"; |
379 | key-permit = "read","write","del"; |
380 | }; |
381 | keysn_11:key_11{ |
382 | key-name = "PlayReadykeybox25"; |
383 | key-device = "secure"; |
384 | key-permit = "read","write","del"; |
385 | }; |
386 | keysn_12:key_12{ |
387 | key-name = "prpubkeybox";// PlayReady |
388 | key-device = "secure"; |
389 | key-permit = "read","write","del"; |
390 | }; |
391 | keysn_13:key_13{ |
392 | key-name = "prprivkeybox";// PlayReady |
393 | key-device = "secure"; |
394 | key-permit = "read","write","del"; |
395 | }; |
396 | keysn_14:key_14{ |
397 | key-name = "attestationkeybox";// attestation key |
398 | key-device = "secure"; |
399 | key-permit = "read","write","del"; |
400 | }; |
401 | };//End unifykey |
402 | |
403 | efusekey:efusekey{ |
404 | keynum = <4>; |
405 | key0 = <&key_0>; |
406 | key1 = <&key_1>; |
407 | key2 = <&key_2>; |
408 | key3 = <&key_3>; |
409 | key_0:key_0{ |
410 | keyname = "mac"; |
411 | offset = <0>; |
412 | size = <6>; |
413 | }; |
414 | key_1:key_1{ |
415 | keyname = "mac_bt"; |
416 | offset = <6>; |
417 | size = <6>; |
418 | }; |
419 | key_2:key_2{ |
420 | keyname = "mac_wifi"; |
421 | offset = <12>; |
422 | size = <6>; |
423 | }; |
424 | key_3:key_3{ |
425 | keyname = "usid"; |
426 | offset = <18>; |
427 | size = <16>; |
428 | }; |
429 | };//End efusekey |
430 | |
431 | amlvecm { |
432 | compatible = "amlogic, vecm"; |
433 | dev_name = "aml_vecm"; |
434 | status = "okay"; |
435 | gamma_en = <0>;/*1:enabel ;0:disable*/ |
436 | wb_en = <0>;/*1:enabel ;0:disable*/ |
437 | cm_en = <0>;/*1:enabel ;0:disable*/ |
438 | }; |
439 | |
440 | amdolby_vision { |
441 | compatible = "amlogic, dolby_vision_g12a"; |
442 | dev_name = "aml_amdolby_vision_driver"; |
443 | status = "okay"; |
444 | tv_mode = <0>;/*1:enabel ;0:disable*/ |
445 | }; |
446 | |
447 | /* Audio Related start */ |
448 | pdm_codec:dummy{ |
449 | #sound-dai-cells = <0>; |
450 | compatible = "amlogic, pdm_dummy_codec"; |
451 | status = "okay"; |
452 | }; |
453 | dummy_codec:dummy{ |
454 | #sound-dai-cells = <0>; |
455 | compatible = "amlogic, aml_dummy_codec"; |
456 | status = "okay"; |
457 | }; |
458 | amlogic_codec:t9015{ |
459 | #sound-dai-cells = <0>; |
460 | compatible = "amlogic, aml_codec_T9015"; |
461 | reg = <0x0 0xFF632000 0x0 0x2000>; |
462 | is_auge_used = <1>; /* meson or auge chipset used */ |
463 | tdmout_index = <1>; |
464 | status = "okay"; |
465 | }; |
466 | audio_effect:eqdrc{ |
467 | /*eq_enable = <1>;*/ |
468 | /*drc_enable = <1>;*/ |
469 | /* |
470 | * 0:tdmout_a |
471 | * 1:tdmout_b |
472 | * 2:tdmout_c |
473 | * 3:spdifout |
474 | * 4:spdifout_b |
475 | */ |
476 | eqdrc_module = <1>; |
477 | /* max 0xf, each bit for one lane, usually one lane */ |
478 | lane_mask = <0x1>; |
479 | /* max 0xff, each bit for one channel */ |
480 | channel_mask = <0x3>; |
481 | }; |
482 | auge_sound { |
483 | compatible = "amlogic, g12a-sound-card"; |
484 | aml-audio-card,name = "AML-AUGESOUND"; |
485 | |
486 | aml-audio-card,loopback = <&aml_loopback>; |
487 | aml-audio-card,aux-devs = <&amlogic_codec>; |
488 | /*avout mute gpio*/ |
489 | avout_mute-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; |
490 | /*for audio effect ,eqdrc */ |
491 | aml-audio-card,effect = <&audio_effect>; |
492 | |
493 | aml-audio-card,dai-link@0 { |
494 | format = "dsp_a"; |
495 | mclk-fs = <512>; |
496 | //continuous-clock; |
497 | //bitclock-inversion; |
498 | //frame-inversion; |
499 | //bitclock-master = <&tdmacodec>; |
500 | //frame-master = <&tdmacodec>; |
501 | /* suffix-name, sync with android audio hal |
502 | * what's the dai link used for |
503 | */ |
504 | suffix-name = "alsaPORT-pcm"; |
505 | tdmacpu: cpu { |
506 | sound-dai = <&aml_tdma>; |
507 | dai-tdm-slot-tx-mask = |
508 | <1 1 1 1 1 1 1 1>; |
509 | dai-tdm-slot-rx-mask = |
510 | <1 1 1 1 1 1 1 1>; |
511 | dai-tdm-slot-num = <8>; |
512 | dai-tdm-slot-width = <32>; |
513 | system-clock-frequency = <24576000>; |
514 | }; |
515 | tdmacodec: codec { |
516 | sound-dai = <&dummy_codec &dummy_codec>; |
517 | }; |
518 | }; |
519 | |
520 | aml-audio-card,dai-link@1 { |
521 | format = "i2s";// "dsp_a"; |
522 | mclk-fs = <256>; |
523 | //continuous-clock; |
524 | //bitclock-inversion; |
525 | //frame-inversion; |
526 | bitclock-master = <&aml_tdmb>; |
527 | frame-master = <&aml_tdmb>; |
528 | //bitclock-master = <&tdmbcodec>; |
529 | //frame-master = <&tdmbcodec>; |
530 | /* suffix-name, sync with android audio hal |
531 | * what's the dai link used for |
532 | */ |
533 | suffix-name = "alsaPORT-i2s"; |
534 | cpu { |
535 | sound-dai = <&aml_tdmb>; |
536 | dai-tdm-slot-tx-mask = <1 1>; |
537 | dai-tdm-slot-rx-mask = <1 1>; |
538 | dai-tdm-slot-num = <2>; |
539 | /* |
540 | * dai-tdm-slot-tx-mask = |
541 | * <1 1 1 1 1 1 1 1>; |
542 | * dai-tdm-slot-rx-mask = |
543 | * <1 1 1 1 1 1 1 1>; |
544 | * dai-tdm-slot-num = <8>; |
545 | */ |
546 | dai-tdm-slot-width = <32>; |
547 | system-clock-frequency = <12288000>; |
548 | }; |
549 | tdmbcodec: codec { |
550 | sound-dai = <&dummy_codec &dummy_codec |
551 | &amlogic_codec>; |
552 | }; |
553 | }; |
554 | |
555 | aml-audio-card,dai-link@2 { |
556 | format = "i2s"; |
557 | mclk-fs = <256>; |
558 | //continuous-clock; |
559 | //bitclock-inversion; |
560 | //frame-inversion; |
561 | bitclock-master = <&aml_tdmc>; |
562 | frame-master = <&aml_tdmc>; |
563 | /* suffix-name, sync with android audio hal |
564 | * what's the dai link used for |
565 | */ |
566 | //suffix-name = "alsaPORT-tdm"; |
567 | cpu { |
568 | sound-dai = <&aml_tdmc>; |
569 | dai-tdm-slot-tx-mask = <1 1>; |
570 | dai-tdm-slot-rx-mask = <1 1>; |
571 | dai-tdm-slot-num = <2>; |
572 | dai-tdm-slot-width = <32>; |
573 | system-clock-frequency = <12288000>; |
574 | }; |
575 | codec { |
576 | sound-dai = <&dummy_codec &dummy_codec>; |
577 | }; |
578 | }; |
579 | |
580 | aml-audio-card,dai-link@3 { |
581 | mclk-fs = <64>; |
582 | /* suffix-name, sync with android audio hal |
583 | * what's the dai link used for |
584 | */ |
585 | suffix-name = "alsaPORT-pdm"; |
586 | cpu { |
587 | sound-dai = <&aml_pdm>; |
588 | }; |
589 | codec { |
590 | sound-dai = <&pdm_codec>; |
591 | }; |
592 | }; |
593 | |
594 | aml-audio-card,dai-link@4 { |
595 | mclk-fs = <128>; |
596 | continuous-clock; |
597 | /* suffix-name, sync with android audio hal |
598 | * what's the dai link used for |
599 | */ |
600 | suffix-name = "alsaPORT-spdifb2hdmi"; |
601 | cpu { |
602 | sound-dai = <&aml_spdif>; |
603 | system-clock-frequency = <6144000>; |
604 | }; |
605 | codec { |
606 | sound-dai = <&dummy_codec>; |
607 | }; |
608 | }; |
609 | /* spdif_b to hdmi, only playback */ |
610 | aml-audio-card,dai-link@5 { |
611 | mclk-fs = <128>; |
612 | continuous-clock; |
613 | /* suffix-name, sync with android audio hal |
614 | * what's the dai link used for |
615 | */ |
616 | suffix-name = "alsaPORT-spdif"; |
617 | cpu { |
618 | sound-dai = <&aml_spdif_b>; |
619 | system-clock-frequency = <6144000>; |
620 | }; |
621 | codec { |
622 | sound-dai = <&dummy_codec>; |
623 | }; |
624 | }; |
625 | /* |
626 | * dai link for i2s to hdmix, |
627 | * Notice to select a tdm lane not used by hw |
628 | */ |
629 | /* |
630 | * aml-audio-card,dai-link@6 { |
631 | * format = "i2s"; |
632 | * mclk-fs = <256>; |
633 | * //continuous-clock; |
634 | * //bitclock-inversion; |
635 | * //frame-inversion; |
636 | * bitclock-master = <&aml_i2s2hdmi>; |
637 | * frame-master = <&aml_i2s2hdmi>; |
638 | * suffix-name = "alsaPORT-i2s2hdmi"; |
639 | * cpu { |
640 | * sound-dai = <&aml_i2s2hdmi>; |
641 | * dai-tdm-slot-tx-mask = <1 1>; |
642 | * dai-tdm-slot-num = <2>; |
643 | * dai-tdm-slot-width = <32>; |
644 | * system-clock-frequency = <12288000>; |
645 | * }; |
646 | * codec { |
647 | * sound-dai = <&dummy_codec>; |
648 | * }; |
649 | * }; |
650 | */ |
651 | }; |
652 | audiolocker: locker { |
653 | compatible = "amlogic, audiolocker"; |
654 | clocks = <&clkaudio CLKID_AUDIO_LOCKER_OUT |
655 | &clkaudio CLKID_AUDIO_LOCKER_IN |
656 | &clkaudio CLKID_AUDIO_MCLK_D |
657 | &clkaudio CLKID_AUDIO_MCLK_E |
658 | &clkc CLKID_MPLL1 |
659 | &clkc CLKID_MPLL2>; |
660 | clock-names = "lock_out", "lock_in", "out_src", |
661 | "in_src", "out_calc", "in_ref"; |
662 | interrupts = <GIC_SPI 1 IRQ_TYPE_EDGE_RISING>; |
663 | interrupt-names = "irq"; |
664 | frequency = <49000000>; /* pll */ |
665 | dividor = <49>; /* locker's parent */ |
666 | status = "okay"; |
667 | }; |
668 | /* Audio Related end */ |
669 | |
670 | cpu_opp_table0: cpu_opp_table0 { |
671 | compatible = "operating-points-v2"; |
672 | opp-shared; |
673 | |
674 | opp00 { |
675 | opp-hz = /bits/ 64 <100000000>; |
676 | opp-microvolt = <731000>; |
677 | }; |
678 | opp01 { |
679 | opp-hz = /bits/ 64 <250000000>; |
680 | opp-microvolt = <731000>; |
681 | }; |
682 | opp02 { |
683 | opp-hz = /bits/ 64 <500000000>; |
684 | opp-microvolt = <731000>; |
685 | }; |
686 | opp03 { |
687 | opp-hz = /bits/ 64 <667000000>; |
688 | opp-microvolt = <731000>; |
689 | }; |
690 | opp04 { |
691 | opp-hz = /bits/ 64 <1000000000>; |
692 | opp-microvolt = <731000>; |
693 | }; |
694 | opp05 { |
695 | opp-hz = /bits/ 64 <1200000000>; |
696 | opp-microvolt = <761000>; |
697 | }; |
698 | opp06 { |
699 | opp-hz = /bits/ 64 <1398000000>; |
700 | opp-microvolt = <791000>; |
701 | }; |
702 | opp07 { |
703 | opp-hz = /bits/ 64 <1512000000>; |
704 | opp-microvolt = <831000>; |
705 | }; |
706 | opp08 { |
707 | opp-hz = /bits/ 64 <1608000000>; |
708 | opp-microvolt = <871000>; |
709 | }; |
710 | opp09 { |
711 | opp-hz = /bits/ 64 <1704000000>; |
712 | opp-microvolt = <921000>; |
713 | }; |
714 | opp10 { |
715 | opp-hz = /bits/ 64 <1896000000>; |
716 | opp-microvolt = <1011000>; |
717 | }; |
718 | }; |
719 | |
720 | cpufreq-meson { |
721 | compatible = "amlogic, cpufreq-meson"; |
722 | pinctrl-names = "default"; |
723 | pinctrl-0 = <&pwm_ao_d_pins3>; |
724 | status = "okay"; |
725 | }; |
726 | |
727 | }; /* end of / */ |
728 | |
729 | &meson_fb { |
730 | status = "okay"; |
731 | display_size_default = <1920 1080 1920 2160 32>; |
732 | mem_size = <0x00800000 0x1980000 0x100000 0x100000 0x800000>; |
733 | logo_addr = "0x3f800000"; |
734 | mem_alloc = <0>; |
735 | pxp_mode = <0>; /** 0:normal mode 1:pxp mode */ |
736 | }; |
737 | |
738 | &pwm_AO_cd { |
739 | status = "okay"; |
740 | }; |
741 | |
742 | &i2c0 { |
743 | status = "okay"; |
744 | pinctrl-names="default"; |
745 | pinctrl-0=<&i2c0_master_pins2>; |
746 | clock-frequency = <400000>; |
747 | |
748 | gt9xx@5d { |
749 | compatible = "goodix,gt9xx"; |
750 | status = "disabled"; |
751 | reg = <0x5d>; |
752 | reset-gpio = <&gpio GPIOZ_9 0x00>; |
753 | irq-gpio = <&gpio GPIOZ_3 0x00>; |
754 | }; |
755 | |
756 | ftxx@38 { |
757 | compatible = "focaltech,fts"; |
758 | status = "disabled"; |
759 | reg = <0x38>; |
760 | reset-gpio = <&gpio GPIOZ_9 0x00>; |
761 | irq-gpio = <&gpio GPIOZ_3 0x00>; |
762 | x_max = <600>; |
763 | y_max = <1024>; |
764 | max-touch-number = <10>; |
765 | }; |
766 | }; |
767 | |
768 | &i2c3 { |
769 | status = "disabled"; |
770 | pinctrl-names="default"; |
771 | pinctrl-0=<&i2c3_master_pins2>; |
772 | clock-frequency = <100000>; /* default 100k */ |
773 | |
774 | /* for ref board */ |
775 | ad82584f_62: ad82584f_62@62 { |
776 | compatible = "ESMT, ad82584f"; |
777 | #sound-dai-cells = <0>; |
778 | reg = <0x31>; |
779 | status = "disabled"; |
780 | reset_pin = <&gpio GPIOA_5 0>; |
781 | }; |
782 | |
783 | tas5707_36: tas5707_36@36 { |
784 | compatible = "ti,tas5707"; |
785 | #sound-dai-cells = <0>; |
786 | reg = <0x1b>; |
787 | status = "disabled"; |
788 | reset_pin = <&gpio GPIOA_5 0>; |
789 | }; |
790 | |
791 | bl_extern_i2c { |
792 | compatible = "amlogic, bl_extern_i2c"; |
793 | status = "disabled"; |
794 | reg = <0x2c>; /*reg_address for lp8556*/ |
795 | dev_name = "lp8556"; |
796 | }; |
797 | }; |
798 | |
799 | &audiobus { |
800 | aml_tdma: tdma { |
801 | compatible = "amlogic, g12a-snd-tdma"; |
802 | #sound-dai-cells = <0>; |
803 | dai-tdm-lane-slot-mask-in = <0 1>; |
804 | dai-tdm-oe-lane-slot-mask-out = <1 0>; |
805 | dai-tdm-clk-sel = <0>; |
806 | clocks = <&clkaudio CLKID_AUDIO_MCLK_A |
807 | &clkc CLKID_MPLL0>; |
808 | clock-names = "mclk", "clk_srcpll"; |
809 | pinctrl-names = "tdm_pins"; |
810 | pinctrl-0 = <&tdmout_a &tdmin_a>; |
811 | }; |
812 | |
813 | aml_tdmb: tdmb { |
814 | compatible = "amlogic, g12a-snd-tdmb"; |
815 | #sound-dai-cells = <0>; |
816 | dai-tdm-lane-slot-mask-in = <0 1 0 0>; |
817 | dai-tdm-lane-slot-mask-out = <1 0 0 0>; |
818 | dai-tdm-clk-sel = <1>; |
819 | clocks = <&clkaudio CLKID_AUDIO_MCLK_B |
820 | &clkc CLKID_MPLL1 |
821 | &clkc CLKID_MPLL0>; |
822 | clock-names = "mclk", "clk_srcpll", "samesource_sysclk"; |
823 | pinctrl-names = "tdm_pins"; |
824 | pinctrl-0 = <&tdmb_mclk &tdmout_b &tdmin_b>; |
825 | /* |
826 | * 0: tdmout_a; |
827 | * 1: tdmout_b; |
828 | * 2: tdmout_c; |
829 | * 3: spdifout; |
830 | * 4: spdifout_b; |
831 | */ |
832 | samesource_sel = <3>; |
833 | }; |
834 | |
835 | aml_tdmc: tdmc { |
836 | compatible = "amlogic, g12a-snd-tdmc"; |
837 | #sound-dai-cells = <0>; |
838 | dai-tdm-lane-slot-mask-in = <0 1 0 0>; |
839 | #dai-tdm-lane-slot-mask-out = <1 0 1 1>; |
840 | #dai-tdm-lane-oe-slot-mask-in = <0 0 0 0>; |
841 | dai-tdm-lane-oe-slot-mask-out = <1 0 0 0>; |
842 | dai-tdm-clk-sel = <2>; |
843 | clocks = <&clkaudio CLKID_AUDIO_MCLK_C |
844 | &clkc CLKID_MPLL2>; |
845 | clock-names = "mclk", "clk_srcpll"; |
846 | pinctrl-names = "tdm_pins"; |
847 | pinctrl-0 = <&tdmc_mclk &tdmout_c &tdmin_c>; |
848 | }; |
849 | |
850 | /* copy a useless tdm to output for hdmi, no pinmux */ |
851 | aml_i2s2hdmi: i2s2hdmi { |
852 | compatible = "amlogic, g12a-snd-tdmc"; |
853 | #sound-dai-cells = <0>; |
854 | dai-tdm-lane-slot-mask-out = <1 1 1 1>; |
855 | dai-tdm-clk-sel = <2>; |
856 | clocks = <&clkaudio CLKID_AUDIO_MCLK_C |
857 | &clkc CLKID_MPLL2>; |
858 | clock-names = "mclk", "clk_srcpll"; |
859 | |
860 | i2s2hdmi = <1>; |
861 | |
862 | status = "disabled"; |
863 | }; |
864 | |
865 | aml_spdif: spdif { |
866 | compatible = "amlogic, g12a-snd-spdif-a"; |
867 | #sound-dai-cells = <0>; |
868 | clocks = <&clkc CLKID_MPLL0 |
869 | &clkc CLKID_FCLK_DIV4 |
870 | &clkaudio CLKID_AUDIO_SPDIFIN |
871 | &clkaudio CLKID_AUDIO_SPDIFOUT |
872 | &clkaudio CLKID_AUDIO_SPDIFIN_CTRL |
873 | &clkaudio CLKID_AUDIO_SPDIFOUT_CTRL>; |
874 | clock-names = "sysclk", "fixed_clk", "gate_spdifin", |
875 | "gate_spdifout", "clk_spdifin", "clk_spdifout"; |
876 | interrupts = |
877 | <GIC_SPI 151 IRQ_TYPE_EDGE_RISING>; |
878 | |
879 | interrupt-names = "irq_spdifin"; |
880 | pinctrl-names = "spdif_pins"; |
881 | pinctrl-0 = <&spdifout>; |
882 | status = "okay"; |
883 | }; |
884 | aml_spdif_b: spdif_b { |
885 | compatible = "amlogic, g12a-snd-spdif-b"; |
886 | #sound-dai-cells = <0>; |
887 | clocks = <&clkc CLKID_MPLL0 /*CLKID_HIFI_PLL*/ |
888 | &clkaudio CLKID_AUDIO_SPDIFOUTB |
889 | &clkaudio CLKID_AUDIO_SPDIFOUTB_CTRL>; |
890 | clock-names = "sysclk", |
891 | "gate_spdifout", "clk_spdifout"; |
892 | status = "okay"; |
893 | }; |
894 | aml_pdm: pdm { |
895 | compatible = "amlogic, g12a-snd-pdm"; |
896 | #sound-dai-cells = <0>; |
897 | clocks = <&clkaudio CLKID_AUDIO_PDM |
898 | &clkc CLKID_FCLK_DIV3 |
899 | &clkc CLKID_MPLL3 |
900 | &clkaudio CLKID_AUDIO_PDMIN0 |
901 | &clkaudio CLKID_AUDIO_PDMIN1>; |
902 | clock-names = "gate", |
903 | "sysclk_srcpll", |
904 | "dclk_srcpll", |
905 | "pdm_dclk", |
906 | "pdm_sysclk"; |
907 | pinctrl-names = "pdm_pins"; |
908 | pinctrl-0 = <&pdmin>; |
909 | filter_mode = <1>; /* mode 0~4, defalut:1 */ |
910 | status = "okay"; |
911 | }; |
912 | aml_loopback: loopback { |
913 | compatible = "amlogic, snd-loopback"; |
914 | /* |
915 | * 0: out rate = in data rate; |
916 | * 1: out rate = loopback data rate; |
917 | */ |
918 | lb_mode = <0>; |
919 | |
920 | /* datain src |
921 | * 0: tdmin_a; |
922 | * 1: tdmin_b; |
923 | * 2: tdmin_c; |
924 | * 3: spdifin; |
925 | * 4: pdmin; |
926 | */ |
927 | datain_src = <4>; |
928 | datain_chnum = <8>; |
929 | datain_chmask = <0x3f>; |
930 | |
931 | /* tdmin_lb src |
932 | * 0: tdmoutA |
933 | * 1: tdmoutB |
934 | * 2: tdmoutC |
935 | * 3: PAD_tdminA |
936 | * 4: PAD_tdminB |
937 | * 5: PAD_tdminC |
938 | */ |
939 | datalb_src = <2>; |
940 | datalb_chnum = <8>; |
941 | datalb_chmask = <0x3>; |
942 | |
943 | status = "okay"; |
944 | }; |
945 | |
946 | audioresample: resample { |
947 | compatible = "amlogic, g12a-resample"; |
948 | clocks = <&clkc CLKID_MPLL3 |
949 | &clkaudio CLKID_AUDIO_MCLK_F |
950 | &clkaudio CLKID_AUDIO_RESAMPLE_CTRL>; |
951 | clock-names = "resample_pll", "resample_src", "resample_clk"; |
952 | /*same with toddr_src |
953 | * TDMIN_A, 0 |
954 | * TDMIN_B, 1 |
955 | * TDMIN_C, 2 |
956 | * SPDIFIN, 3 |
957 | * PDMIN, 4 |
958 | * NONE, |
959 | * TDMIN_LB, 6 |
960 | * LOOPBACK, 7 |
961 | */ |
962 | resample_module = <4>; |
963 | status = "okay"; |
964 | }; |
965 | aml_pwrdet: pwrdet { |
966 | compatible = "amlogic, g12a-power-detect"; |
967 | |
968 | interrupts = <GIC_SPI 155 IRQ_TYPE_EDGE_RISING>; |
969 | interrupt-names = "pwrdet_irq"; |
970 | |
971 | /* pwrdet source sel |
972 | * 7: loopback; |
973 | * 6: tdmin_lb; |
974 | * 5: reserved; |
975 | * 4: pdmin; |
976 | * 3: spdifin; |
977 | * 2: tdmin_c; |
978 | * 1: tdmin_b; |
979 | * 0: tdmin_a; |
980 | */ |
981 | pwrdet_src = <4>; |
982 | |
983 | hi_th = <0x70000>; |
984 | lo_th = <0x16000>; |
985 | |
986 | status = "okay"; |
987 | }; |
988 | }; /* end of audiobus */ |
989 | |
990 | &pinctrl_periphs { |
991 | tdmout_a: tdmout_a { |
992 | mux { /* GPIOX_11, GPIOX_10, GPIOX_9 */ |
993 | groups = "tdma_sclk", |
994 | "tdma_fs", |
995 | "tdma_dout0"; |
996 | function = "tdma_out"; |
997 | }; |
998 | }; |
999 | |
1000 | tdmin_a: tdmin_a { |
1001 | mux { /* GPIOX_8 */ |
1002 | groups = "tdma_din1"; |
1003 | function = "tdma_in"; |
1004 | }; |
1005 | }; |
1006 | |
1007 | tdmb_mclk: tdmb_mclk { |
1008 | mux { |
1009 | groups = "mclk0_a"; |
1010 | function = "mclk0"; |
1011 | drive-strength = <2>; |
1012 | }; |
1013 | }; |
1014 | tdmout_b: tdmout_b { |
1015 | mux { /* GPIOA_1, GPIOA_2, GPIOA_3 */ |
1016 | groups = "tdmb_sclk", |
1017 | "tdmb_fs", |
1018 | "tdmb_dout0"; |
1019 | function = "tdmb_out"; |
1020 | drive-strength = <2>; |
1021 | }; |
1022 | }; |
1023 | |
1024 | tdmin_b:tdmin_b { |
1025 | mux { /* GPIOA_4 */ |
1026 | groups = "tdmb_din1" |
1027 | /*,"tdmb_slv_sclk", "tdmb_slv_fs"*/; |
1028 | function = "tdmb_in"; |
1029 | drive-strength = <2>; |
1030 | }; |
1031 | }; |
1032 | |
1033 | tdmc_mclk: tdmc_mclk { |
1034 | mux { /* GPIOA_11 */ |
1035 | groups = "mclk1_a"; |
1036 | function = "mclk1"; |
1037 | }; |
1038 | }; |
1039 | |
1040 | tdmout_c:tdmout_c { |
1041 | mux { /* GPIOA_12, GPIOA_13, GPIOA_10, GPIOA_8, GPIOA_7*/ |
1042 | groups = "tdmc_sclk_a", |
1043 | "tdmc_fs_a", |
1044 | "tdmc_dout0_a" |
1045 | /*, "tdmc_dout2", |
1046 | * "tdmc_dout3" |
1047 | */; |
1048 | function = "tdmc_out"; |
1049 | }; |
1050 | }; |
1051 | |
1052 | tdmin_c:tdmin_c { |
1053 | mux { /* GPIOA_9 */ |
1054 | groups = "tdmc_din1_a"; |
1055 | function = "tdmc_in"; |
1056 | }; |
1057 | }; |
1058 | |
1059 | spdifin: spdifin { |
1060 | mux {/* GPIOH_5 */ |
1061 | groups = "spdif_in_h"; |
1062 | function = "spdif_in"; |
1063 | }; |
1064 | }; |
1065 | |
1066 | /* GPIOH_4 */ |
1067 | spdifout: spdifout { |
1068 | mux { |
1069 | groups = "spdif_out_h"; |
1070 | function = "spdif_out"; |
1071 | }; |
1072 | }; |
1073 | |
1074 | pdmin: pdmin { |
1075 | mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/ |
1076 | groups = "pdm_din0_a", |
1077 | /*"pdm_din1_a",*/ |
1078 | "pdm_din2_a", |
1079 | /*"pdm_din3_a",*/ |
1080 | "pdm_dclk_a"; |
1081 | function = "pdm"; |
1082 | }; |
1083 | }; |
1084 | |
1085 | |
1086 | }; /* end of pinctrl_periphs */ |
1087 | &pinctrl_aobus { |
1088 | /*gpiao_10*/ |
1089 | /*spdifout: spdifout { */ |
1090 | /* mux { */ |
1091 | /* groups = "spdif_out_ao"; */ |
1092 | /* function = "spdif_out_ao";*/ |
1093 | /* }; */ |
1094 | /*}; */ |
1095 | }; /* end of pinctrl_aobus */ |
1096 | |
1097 | &audio_data { |
1098 | status = "okay"; |
1099 | }; |
1100 | |
1101 | /* Audio Related End */ |
1102 | |
1103 | &pwm_ef { |
1104 | status = "okay"; |
1105 | }; |
1106 | |
1107 | &dwc3 { |
1108 | status = "okay"; |
1109 | }; |
1110 | |
1111 | &usb2_phy_v2 { |
1112 | status = "okay"; |
1113 | portnum = <2>; |
1114 | }; |
1115 | |
1116 | &usb3_phy_v2 { |
1117 | status = "okay"; |
1118 | portnum = <1>; |
1119 | otg = <0>; |
1120 | }; |
1121 | |
1122 | &dwc2_a { |
1123 | status = "okay"; |
1124 | /** 0: normal, 1: otg+dwc3 host only, 2: otg+dwc3 device only*/ |
1125 | controller-type = <1>; |
1126 | }; |
1127 | ðmac { |
1128 | status = "okay"; |
1129 | pinctrl-names = "internal_eth_pins"; |
1130 | pinctrl-0 = <&internal_eth_pins>; |
1131 | mc_val = <0x4be04>; |
1132 | |
1133 | internal_phy=<1>; |
1134 | }; |
1135 | |
1136 | &uart_A { |
1137 | status = "okay"; |
1138 | }; |
1139 | |
1140 | /*if you want to use vdin just modify status to "ok"*/ |
1141 | &vdin0 { |
1142 | memory-region = <&vdin0_cma_reserved>; |
1143 | status = "okay"; |
1144 | /*vdin write mem color depth support: |
1145 | *bit0:support 8bit |
1146 | *bit1:support 9bit |
1147 | *bit2:support 10bit |
1148 | *bit3:support 12bit |
1149 | *bit4:support yuv422 10bit full pack mode (from txl new add) |
1150 | */ |
1151 | tv_bit_mode = <0x15>; |
1152 | }; |
1153 | &vdin1 { |
1154 | memory-region = <&vdin1_cma_reserved>; |
1155 | status = "okay"; |
1156 | /*vdin write mem color depth support: |
1157 | *bit0:support 8bit |
1158 | *bit1:support 9bit |
1159 | *bit2:support 10bit |
1160 | *bit3:support 12bit |
1161 | */ |
1162 | tv_bit_mode = <1>; |
1163 | }; |
1164 | |
1165 | |
1166 | &sd_emmc_c { |
1167 | status = "okay"; |
1168 | emmc { |
1169 | caps = "MMC_CAP_8_BIT_DATA", |
1170 | "MMC_CAP_MMC_HIGHSPEED", |
1171 | "MMC_CAP_SD_HIGHSPEED", |
1172 | "MMC_CAP_NONREMOVABLE", |
1173 | /* "MMC_CAP_1_8V_DDR", */ |
1174 | "MMC_CAP_HW_RESET", |
1175 | "MMC_CAP_ERASE", |
1176 | "MMC_CAP_CMD23"; |
1177 | caps2 = "MMC_CAP2_HS200"; |
1178 | /* "MMC_CAP2_HS400";*/ |
1179 | f_min = <400000>; |
1180 | f_max = <200000000>; |
1181 | }; |
1182 | }; |
1183 | |
1184 | &sd_emmc_b1 { |
1185 | status = "disabled"; |
1186 | sd { |
1187 | caps = "MMC_CAP_4_BIT_DATA", |
1188 | "MMC_CAP_MMC_HIGHSPEED", |
1189 | "MMC_CAP_SD_HIGHSPEED"; |
1190 | f_min = <400000>; |
1191 | f_max = <50000000>; |
1192 | }; |
1193 | }; |
1194 | |
1195 | &sd_emmc_b2 { |
1196 | status = "disabled"; |
1197 | sd { |
1198 | caps = "MMC_CAP_4_BIT_DATA", |
1199 | "MMC_CAP_MMC_HIGHSPEED", |
1200 | "MMC_CAP_SD_HIGHSPEED"; |
1201 | f_min = <400000>; |
1202 | f_max = <50000000>; |
1203 | }; |
1204 | |
1205 | sdio { |
1206 | caps = "MMC_CAP_4_BIT_DATA", |
1207 | "MMC_CAP_MMC_HIGHSPEED", |
1208 | "MMC_CAP_SD_HIGHSPEED", |
1209 | "MMC_CAP_NONREMOVABLE", |
1210 | "MMC_CAP_UHS_SDR12", |
1211 | "MMC_CAP_UHS_SDR25", |
1212 | "MMC_CAP_UHS_SDR50", |
1213 | "MMC_CAP_UHS_SDR104", |
1214 | "MMC_PM_KEEP_POWER", |
1215 | "MMC_CAP_SDIO_IRQ"; |
1216 | |
1217 | f_min = <400000>; |
1218 | f_max = <200000000>; |
1219 | }; |
1220 | }; |
1221 | |
1222 | &sd_emmc_a { |
1223 | status = "disabled"; |
1224 | sdio { |
1225 | caps = "MMC_CAP_4_BIT_DATA", |
1226 | "MMC_CAP_MMC_HIGHSPEED", |
1227 | "MMC_CAP_SD_HIGHSPEED", |
1228 | "MMC_CAP_NONREMOVABLE", |
1229 | "MMC_CAP_UHS_SDR12", |
1230 | "MMC_CAP_UHS_SDR25", |
1231 | "MMC_CAP_UHS_SDR50", |
1232 | "MMC_CAP_UHS_SDR104", |
1233 | "MMC_PM_KEEP_POWER", |
1234 | "MMC_CAP_SDIO_IRQ"; |
1235 | f_min = <400000>; |
1236 | f_max = <200000000>; |
1237 | }; |
1238 | }; |
1239 | |
1240 | &nand { |
1241 | status = "disabled"; |
1242 | plat-names = "bootloader","nandnormal"; |
1243 | plat-num = <2>; |
1244 | plat-part-0 = <&bootloader>; |
1245 | plat-part-1 = <&nandnormal>; |
1246 | bootloader: bootloader{ |
1247 | enable_pad ="ce0"; |
1248 | busy_pad = "rb0"; |
1249 | timming_mode = "mode5"; |
1250 | bch_mode = "bch8_1k"; |
1251 | t_rea = <20>; |
1252 | t_rhoh = <15>; |
1253 | chip_num = <1>; |
1254 | part_num = <0>; |
1255 | rb_detect = <1>; |
1256 | }; |
1257 | nandnormal: nandnormal{ |
1258 | enable_pad ="ce0"; |
1259 | busy_pad = "rb0"; |
1260 | timming_mode = "mode5"; |
1261 | bch_mode = "bch8_1k"; |
1262 | plane_mode = "twoplane"; |
1263 | t_rea = <20>; |
1264 | t_rhoh = <15>; |
1265 | chip_num = <2>; |
1266 | part_num = <3>; |
1267 | partition = <&nand_partitions>; |
1268 | rb_detect = <1>; |
1269 | }; |
1270 | nand_partitions:nand_partition{ |
1271 | /* |
1272 | * if bl_mode is 1, tpl size was generate by |
1273 | * fip_copies * fip_size which |
1274 | * will not skip bad when calculating |
1275 | * the partition size; |
1276 | * |
1277 | * if bl_mode is 0, |
1278 | * tpl partition must be comment out. |
1279 | */ |
1280 | tpl{ |
1281 | offset=<0x0 0x0>; |
1282 | size=<0x0 0x0>; |
1283 | }; |
1284 | logo{ |
1285 | offset=<0x0 0x0>; |
1286 | size=<0x0 0x200000>; |
1287 | }; |
1288 | recovery{ |
1289 | offset=<0x0 0x0>; |
1290 | size=<0x0 0x1000000>; |
1291 | }; |
1292 | boot{ |
1293 | offset=<0x0 0x0>; |
1294 | size=<0x0 0x1000000>; |
1295 | }; |
1296 | system{ |
1297 | offset=<0x0 0x0>; |
1298 | size=<0x0 0x4000000>; |
1299 | }; |
1300 | data{ |
1301 | offset=<0xffffffff 0xffffffff>; |
1302 | size=<0x0 0x0>; |
1303 | }; |
1304 | }; |
1305 | }; |
1306 | |
1307 | &pcie_A { |
1308 | reset-gpio = <&gpio GPIOX_7 GPIO_ACTIVE_HIGH>; |
1309 | status = "disable"; |
1310 | }; |
1311 | |
1312 | &meson_cooldev { |
1313 | status = "okay"; |
1314 | }; |
1315 | |
1316 | &saradc { |
1317 | status = "disabled"; |
1318 | }; |
1319 |