forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-01-04 1543e317f1da31b75942316931e8f491a8920811
kernel/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
....@@ -14,29 +14,90 @@
1414 compatible = "amlogic,meson-gxl";
1515
1616 soc {
17
- usb0: usb@c9000000 {
18
- status = "disabled";
19
- compatible = "amlogic,meson-gxl-dwc3";
17
+ usb: usb@d0078080 {
18
+ compatible = "amlogic,meson-gxl-usb-ctrl";
19
+ reg = <0x0 0xd0078080 0x0 0x20>;
20
+ interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
2021 #address-cells = <2>;
2122 #size-cells = <2>;
2223 ranges;
2324
24
- clocks = <&clkc CLKID_USB>;
25
- clock-names = "usb_general";
25
+ clocks = <&clkc CLKID_USB>, <&clkc CLKID_USB1_DDR_BRIDGE>;
26
+ clock-names = "usb_ctrl", "ddr";
2627 resets = <&reset RESET_USB_OTG>;
27
- reset-names = "usb_otg";
2828
29
- dwc3: dwc3@c9000000 {
29
+ dr_mode = "otg";
30
+
31
+ phys = <&usb2_phy0>, <&usb2_phy1>;
32
+ phy-names = "usb2-phy0", "usb2-phy1";
33
+
34
+ dwc2: usb@c9100000 {
35
+ compatible = "amlogic,meson-g12a-usb", "snps,dwc2";
36
+ reg = <0x0 0xc9100000 0x0 0x40000>;
37
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
38
+ clocks = <&clkc CLKID_USB1>;
39
+ clock-names = "otg";
40
+ phys = <&usb2_phy1>;
41
+ dr_mode = "peripheral";
42
+ g-rx-fifo-size = <192>;
43
+ g-np-tx-fifo-size = <128>;
44
+ g-tx-fifo-size = <128 128 16 16 16>;
45
+ };
46
+
47
+ dwc3: usb@c9000000 {
3048 compatible = "snps,dwc3";
3149 reg = <0x0 0xc9000000 0x0 0x100000>;
3250 interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
3351 dr_mode = "host";
3452 maximum-speed = "high-speed";
3553 snps,dis_u2_susphy_quirk;
36
- phys = <&usb3_phy>, <&usb2_phy0>, <&usb2_phy1>;
3754 };
3855 };
56
+
57
+ acodec: audio-controller@c8832000 {
58
+ compatible = "amlogic,t9015";
59
+ reg = <0x0 0xc8832000 0x0 0x14>;
60
+ #sound-dai-cells = <0>;
61
+ sound-name-prefix = "ACODEC";
62
+ clocks = <&clkc CLKID_ACODEC>;
63
+ clock-names = "pclk";
64
+ resets = <&reset RESET_ACODEC>;
65
+ status = "disabled";
66
+ };
67
+
68
+ crypto: crypto@c883e000 {
69
+ compatible = "amlogic,gxl-crypto";
70
+ reg = <0x0 0xc883e000 0x0 0x36>;
71
+ interrupts = <GIC_SPI 188 IRQ_TYPE_EDGE_RISING>,
72
+ <GIC_SPI 189 IRQ_TYPE_EDGE_RISING>;
73
+ clocks = <&clkc CLKID_BLKMV>;
74
+ clock-names = "blkmv";
75
+ status = "okay";
76
+ };
3977 };
78
+};
79
+
80
+&aiu {
81
+ compatible = "amlogic,aiu-gxl", "amlogic,aiu";
82
+ clocks = <&clkc CLKID_AIU_GLUE>,
83
+ <&clkc CLKID_I2S_OUT>,
84
+ <&clkc CLKID_AOCLK_GATE>,
85
+ <&clkc CLKID_CTS_AMCLK>,
86
+ <&clkc CLKID_MIXER_IFACE>,
87
+ <&clkc CLKID_IEC958>,
88
+ <&clkc CLKID_IEC958_GATE>,
89
+ <&clkc CLKID_CTS_MCLK_I958>,
90
+ <&clkc CLKID_CTS_I958>;
91
+ clock-names = "pclk",
92
+ "i2s_pclk",
93
+ "i2s_aoclk",
94
+ "i2s_mclk",
95
+ "i2s_mixer",
96
+ "spdif_pclk",
97
+ "spdif_aoclk",
98
+ "spdif_mclk",
99
+ "spdif_mclk_sel";
100
+ resets = <&reset RESET_AIU>;
40101 };
41102
42103 &apb {
....@@ -61,28 +122,18 @@
61122 reset-names = "phy";
62123 status = "okay";
63124 };
125
+};
64126
65
- usb3_phy: phy@78080 {
66
- compatible = "amlogic,meson-gxl-usb3-phy";
67
- #phy-cells = <0>;
68
- reg = <0x0 0x78080 0x0 0x20>;
69
- interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>;
70
- clocks = <&clkc CLKID_USB>, <&clkc_AO CLKID_AO_CEC_32K>;
71
- clock-names = "phy", "peripheral";
72
- resets = <&reset RESET_USB_OTG>, <&reset RESET_USB_OTG>;
73
- reset-names = "phy", "peripheral";
74
- status = "okay";
75
- };
127
+&efuse {
128
+ clocks = <&clkc CLKID_EFUSE>;
76129 };
77130
78131 &ethmac {
79
- reg = <0x0 0xc9410000 0x0 0x10000
80
- 0x0 0xc8834540 0x0 0x4>;
81
-
82132 clocks = <&clkc CLKID_ETH>,
83133 <&clkc CLKID_FCLK_DIV2>,
84
- <&clkc CLKID_MPLL2>;
85
- clock-names = "stmmaceth", "clkin0", "clkin1";
134
+ <&clkc CLKID_MPLL2>,
135
+ <&clkc CLKID_FCLK_DIV2>;
136
+ clock-names = "stmmaceth", "clkin0", "clkin1", "timing-adjustment";
86137
87138 mdio0: mdio {
88139 #address-cells = <1>;
....@@ -112,6 +163,7 @@
112163 mux {
113164 groups = "uart_tx_ao_a", "uart_rx_ao_a";
114165 function = "uart_ao";
166
+ bias-disable;
115167 };
116168 };
117169
....@@ -120,6 +172,7 @@
120172 groups = "uart_cts_ao_a",
121173 "uart_rts_ao_a";
122174 function = "uart_ao";
175
+ bias-disable;
123176 };
124177 };
125178
....@@ -127,6 +180,7 @@
127180 mux {
128181 groups = "uart_tx_ao_b", "uart_rx_ao_b";
129182 function = "uart_ao_b";
183
+ bias-disable;
130184 };
131185 };
132186
....@@ -134,6 +188,7 @@
134188 mux {
135189 groups = "uart_tx_ao_b_0", "uart_rx_ao_b_1";
136190 function = "uart_ao_b";
191
+ bias-disable;
137192 };
138193 };
139194
....@@ -142,6 +197,7 @@
142197 groups = "uart_cts_ao_b",
143198 "uart_rts_ao_b";
144199 function = "uart_ao_b";
200
+ bias-disable;
145201 };
146202 };
147203
....@@ -149,6 +205,7 @@
149205 mux {
150206 groups = "remote_input_ao";
151207 function = "remote_input_ao";
208
+ bias-disable;
152209 };
153210 };
154211
....@@ -157,6 +214,7 @@
157214 groups = "i2c_sck_ao",
158215 "i2c_sda_ao";
159216 function = "i2c_ao";
217
+ bias-disable;
160218 };
161219 };
162220
....@@ -164,6 +222,7 @@
164222 mux {
165223 groups = "pwm_ao_a_3";
166224 function = "pwm_ao_a";
225
+ bias-disable;
167226 };
168227 };
169228
....@@ -171,6 +230,7 @@
171230 mux {
172231 groups = "pwm_ao_a_8";
173232 function = "pwm_ao_a";
233
+ bias-disable;
174234 };
175235 };
176236
....@@ -178,6 +238,7 @@
178238 mux {
179239 groups = "pwm_ao_b";
180240 function = "pwm_ao_b";
241
+ bias-disable;
181242 };
182243 };
183244
....@@ -185,6 +246,7 @@
185246 mux {
186247 groups = "pwm_ao_b_6";
187248 function = "pwm_ao_b";
249
+ bias-disable;
188250 };
189251 };
190252
....@@ -192,6 +254,7 @@
192254 mux {
193255 groups = "i2s_out_ch23_ao";
194256 function = "i2s_out_ao";
257
+ bias-disable;
195258 };
196259 };
197260
....@@ -199,6 +262,7 @@
199262 mux {
200263 groups = "i2s_out_ch45_ao";
201264 function = "i2s_out_ao";
265
+ bias-disable;
202266 };
203267 };
204268
....@@ -206,6 +270,7 @@
206270 mux {
207271 groups = "spdif_out_ao_6";
208272 function = "spdif_out_ao";
273
+ bias-disable;
209274 };
210275 };
211276
....@@ -213,6 +278,7 @@
213278 mux {
214279 groups = "spdif_out_ao_9";
215280 function = "spdif_out_ao";
281
+ bias-disable;
216282 };
217283 };
218284
....@@ -220,6 +286,7 @@
220286 mux {
221287 groups = "ao_cec";
222288 function = "cec_ao";
289
+ bias-disable;
223290 };
224291 };
225292
....@@ -227,6 +294,7 @@
227294 mux {
228295 groups = "ee_cec";
229296 function = "cec_ao";
297
+ bias-disable;
230298 };
231299 };
232300 };
....@@ -239,6 +307,8 @@
239307
240308 &clkc_AO {
241309 compatible = "amlogic,meson-gxl-aoclkc", "amlogic,meson-gx-aoclkc";
310
+ clocks = <&xtal>, <&clkc CLKID_CLK81>;
311
+ clock-names = "xtal", "mpeg-clk";
242312 };
243313
244314 &gpio_intc {
....@@ -263,6 +333,8 @@
263333 clkc: clock-controller {
264334 compatible = "amlogic,gxl-clkc";
265335 #clock-cells = <1>;
336
+ clocks = <&xtal>;
337
+ clock-names = "xtal";
266338 };
267339 };
268340
....@@ -306,11 +378,17 @@
306378 };
307379
308380 emmc_pins: emmc {
309
- mux {
381
+ mux-0 {
310382 groups = "emmc_nand_d07",
311
- "emmc_cmd",
312
- "emmc_clk";
383
+ "emmc_cmd";
313384 function = "emmc";
385
+ bias-pull-up;
386
+ };
387
+
388
+ mux-1 {
389
+ groups = "emmc_clk";
390
+ function = "emmc";
391
+ bias-disable;
314392 };
315393 };
316394
....@@ -318,6 +396,7 @@
318396 mux {
319397 groups = "emmc_ds";
320398 function = "emmc";
399
+ bias-pull-down;
321400 };
322401 };
323402
....@@ -325,9 +404,6 @@
325404 mux {
326405 groups = "BOOT_8";
327406 function = "gpio_periphs";
328
- };
329
- cfg-pull-down {
330
- pins = "BOOT_8";
331407 bias-pull-down;
332408 };
333409 };
....@@ -339,6 +415,7 @@
339415 "nor_c",
340416 "nor_cs";
341417 function = "nor";
418
+ bias-disable;
342419 };
343420 };
344421
....@@ -348,6 +425,7 @@
348425 "spi_mosi",
349426 "spi_sclk";
350427 function = "spi";
428
+ bias-disable;
351429 };
352430 };
353431
....@@ -355,18 +433,25 @@
355433 mux {
356434 groups = "spi_ss0";
357435 function = "spi";
436
+ bias-disable;
358437 };
359438 };
360439
361440 sdcard_pins: sdcard {
362
- mux {
441
+ mux-0 {
363442 groups = "sdcard_d0",
364443 "sdcard_d1",
365444 "sdcard_d2",
366445 "sdcard_d3",
367
- "sdcard_cmd",
368
- "sdcard_clk";
446
+ "sdcard_cmd";
369447 function = "sdcard";
448
+ bias-pull-up;
449
+ };
450
+
451
+ mux-1 {
452
+ groups = "sdcard_clk";
453
+ function = "sdcard";
454
+ bias-disable;
370455 };
371456 };
372457
....@@ -374,22 +459,25 @@
374459 mux {
375460 groups = "CARD_2";
376461 function = "gpio_periphs";
377
- };
378
- cfg-pull-down {
379
- pins = "CARD_2";
380462 bias-pull-down;
381463 };
382464 };
383465
384466 sdio_pins: sdio {
385
- mux {
467
+ mux-0 {
386468 groups = "sdio_d0",
387469 "sdio_d1",
388470 "sdio_d2",
389471 "sdio_d3",
390
- "sdio_cmd",
391
- "sdio_clk";
472
+ "sdio_cmd";
392473 function = "sdio";
474
+ bias-pull-up;
475
+ };
476
+
477
+ mux-1 {
478
+ groups = "sdio_clk";
479
+ function = "sdio";
480
+ bias-disable;
393481 };
394482 };
395483
....@@ -397,9 +485,6 @@
397485 mux {
398486 groups = "GPIOX_4";
399487 function = "gpio_periphs";
400
- };
401
- cfg-pull-down {
402
- pins = "GPIOX_4";
403488 bias-pull-down;
404489 };
405490 };
....@@ -408,6 +493,7 @@
408493 mux {
409494 groups = "sdio_irq";
410495 function = "sdio";
496
+ bias-disable;
411497 };
412498 };
413499
....@@ -416,6 +502,7 @@
416502 groups = "uart_tx_a",
417503 "uart_rx_a";
418504 function = "uart_a";
505
+ bias-disable;
419506 };
420507 };
421508
....@@ -424,6 +511,7 @@
424511 groups = "uart_cts_a",
425512 "uart_rts_a";
426513 function = "uart_a";
514
+ bias-disable;
427515 };
428516 };
429517
....@@ -432,6 +520,7 @@
432520 groups = "uart_tx_b",
433521 "uart_rx_b";
434522 function = "uart_b";
523
+ bias-disable;
435524 };
436525 };
437526
....@@ -440,6 +529,7 @@
440529 groups = "uart_cts_b",
441530 "uart_rts_b";
442531 function = "uart_b";
532
+ bias-disable;
443533 };
444534 };
445535
....@@ -448,6 +538,7 @@
448538 groups = "uart_tx_c",
449539 "uart_rx_c";
450540 function = "uart_c";
541
+ bias-disable;
451542 };
452543 };
453544
....@@ -456,6 +547,7 @@
456547 groups = "uart_cts_c",
457548 "uart_rts_c";
458549 function = "uart_c";
550
+ bias-disable;
459551 };
460552 };
461553
....@@ -464,6 +556,7 @@
464556 groups = "i2c_sck_a",
465557 "i2c_sda_a";
466558 function = "i2c_a";
559
+ bias-disable;
467560 };
468561 };
469562
....@@ -472,6 +565,7 @@
472565 groups = "i2c_sck_b",
473566 "i2c_sda_b";
474567 function = "i2c_b";
568
+ bias-disable;
475569 };
476570 };
477571
....@@ -480,6 +574,16 @@
480574 groups = "i2c_sck_c",
481575 "i2c_sda_c";
482576 function = "i2c_c";
577
+ bias-disable;
578
+ };
579
+ };
580
+
581
+ i2c_c_dv18_pins: i2c_c_dv18 {
582
+ mux {
583
+ groups = "i2c_sck_c_dv19",
584
+ "i2c_sda_c_dv18";
585
+ function = "i2c_c";
586
+ bias-disable;
483587 };
484588 };
485589
....@@ -500,6 +604,7 @@
500604 "eth_txd2",
501605 "eth_txd3";
502606 function = "eth";
607
+ bias-disable;
503608 };
504609 };
505610
....@@ -507,6 +612,7 @@
507612 mux {
508613 groups = "eth_link_led";
509614 function = "eth_led";
615
+ bias-disable;
510616 };
511617 };
512618
....@@ -521,6 +627,7 @@
521627 mux {
522628 groups = "pwm_a";
523629 function = "pwm_a";
630
+ bias-disable;
524631 };
525632 };
526633
....@@ -528,6 +635,7 @@
528635 mux {
529636 groups = "pwm_b";
530637 function = "pwm_b";
638
+ bias-disable;
531639 };
532640 };
533641
....@@ -535,6 +643,7 @@
535643 mux {
536644 groups = "pwm_c";
537645 function = "pwm_c";
646
+ bias-disable;
538647 };
539648 };
540649
....@@ -542,6 +651,7 @@
542651 mux {
543652 groups = "pwm_d";
544653 function = "pwm_d";
654
+ bias-disable;
545655 };
546656 };
547657
....@@ -549,6 +659,7 @@
549659 mux {
550660 groups = "pwm_e";
551661 function = "pwm_e";
662
+ bias-disable;
552663 };
553664 };
554665
....@@ -556,6 +667,7 @@
556667 mux {
557668 groups = "pwm_f_clk";
558669 function = "pwm_f";
670
+ bias-disable;
559671 };
560672 };
561673
....@@ -563,6 +675,7 @@
563675 mux {
564676 groups = "pwm_f_x";
565677 function = "pwm_f";
678
+ bias-disable;
566679 };
567680 };
568681
....@@ -570,6 +683,7 @@
570683 mux {
571684 groups = "hdmi_hpd";
572685 function = "hdmi_hpd";
686
+ bias-disable;
573687 };
574688 };
575689
....@@ -577,6 +691,7 @@
577691 mux {
578692 groups = "hdmi_sda", "hdmi_scl";
579693 function = "hdmi_i2c";
694
+ bias-disable;
580695 };
581696 };
582697
....@@ -584,6 +699,7 @@
584699 mux {
585700 groups = "i2s_am_clk";
586701 function = "i2s_out";
702
+ bias-disable;
587703 };
588704 };
589705
....@@ -591,6 +707,7 @@
591707 mux {
592708 groups = "i2s_out_ao_clk";
593709 function = "i2s_out";
710
+ bias-disable;
594711 };
595712 };
596713
....@@ -598,6 +715,7 @@
598715 mux {
599716 groups = "i2s_out_lr_clk";
600717 function = "i2s_out";
718
+ bias-disable;
601719 };
602720 };
603721
....@@ -605,12 +723,14 @@
605723 mux {
606724 groups = "i2s_out_ch01";
607725 function = "i2s_out";
726
+ bias-disable;
608727 };
609728 };
610729 i2sout_ch23_z_pins: i2sout_ch23_z {
611730 mux {
612731 groups = "i2sout_ch23_z";
613732 function = "i2s_out";
733
+ bias-disable;
614734 };
615735 };
616736
....@@ -618,6 +738,7 @@
618738 mux {
619739 groups = "i2sout_ch45_z";
620740 function = "i2s_out";
741
+ bias-disable;
621742 };
622743 };
623744
....@@ -625,6 +746,7 @@
625746 mux {
626747 groups = "i2sout_ch67_z";
627748 function = "i2s_out";
749
+ bias-disable;
628750 };
629751 };
630752
....@@ -632,11 +754,12 @@
632754 mux {
633755 groups = "spdif_out_h";
634756 function = "spdif_out";
757
+ bias-disable;
635758 };
636759 };
637760 };
638761
639
- eth-phy-mux {
762
+ eth-phy-mux@55c {
640763 compatible = "mdio-mux-mmioreg", "mdio-mux";
641764 #address-cells = <1>;
642765 #size-cells = <0>;
....@@ -650,7 +773,7 @@
650773 #size-cells = <0>;
651774
652775 internal_phy: ethernet-phy@8 {
653
- compatible = "ethernet-phy-id0181.4400", "ethernet-phy-ieee802.3-c22";
776
+ compatible = "ethernet-phy-id0181.4400";
654777 interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
655778 reg = <8>;
656779 max-speed = <100>;
....@@ -665,7 +788,7 @@
665788 };
666789 };
667790
668
-&pwrc_vpu {
791
+&pwrc {
669792 resets = <&reset RESET_VIU>,
670793 <&reset RESET_VENC>,
671794 <&reset RESET_VCBUS>,
....@@ -678,6 +801,9 @@
678801 <&reset RESET_VDI6>,
679802 <&reset RESET_VENCL>,
680803 <&reset RESET_VID_LOCK>;
804
+ reset-names = "viu", "venc", "vcbus", "bt656",
805
+ "dvin", "rdma", "venci", "vencp",
806
+ "vdac", "vdi6", "vencl", "vid_lock";
681807 clocks = <&clkc CLKID_VPU>,
682808 <&clkc CLKID_VAPB>;
683809 clock-names = "vpu", "vapb";
....@@ -740,6 +866,12 @@
740866 resets = <&reset RESET_SD_EMMC_C>;
741867 };
742868
869
+&simplefb_hdmi {
870
+ clocks = <&clkc CLKID_HDMI_PCLK>,
871
+ <&clkc CLKID_CLK81>,
872
+ <&clkc CLKID_GCLK_VENCI_INT0>;
873
+};
874
+
743875 &spicc {
744876 clocks = <&clkc CLKID_SPICC>;
745877 clock-names = "core";
....@@ -778,5 +910,16 @@
778910
779911 &vpu {
780912 compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu";
781
- power-domains = <&pwrc_vpu>;
913
+ power-domains = <&pwrc PWRC_GXBB_VPU_ID>;
914
+};
915
+
916
+&vdec {
917
+ compatible = "amlogic,gxl-vdec", "amlogic,gx-vdec";
918
+ clocks = <&clkc CLKID_DOS_PARSER>,
919
+ <&clkc CLKID_DOS>,
920
+ <&clkc CLKID_VDEC_1>,
921
+ <&clkc CLKID_VDEC_HEVC>;
922
+ clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
923
+ resets = <&reset RESET_PARSER>;
924
+ reset-names = "esparser";
782925 };