hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi
....@@ -31,6 +31,40 @@
3131 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
3232 };
3333
34
+ sound {
35
+ compatible = "audio-graph-card";
36
+ label = "Analog";
37
+ dais = <&i2s0_p0>;
38
+ };
39
+
40
+ sound-dit {
41
+ compatible = "audio-graph-card";
42
+ label = "SPDIF";
43
+ dais = <&spdif_p0>;
44
+ };
45
+
46
+ spdif-dit {
47
+ compatible = "linux,spdif-dit";
48
+ #sound-dai-cells = <0>;
49
+
50
+ port {
51
+ dit_p0_0: endpoint {
52
+ remote-endpoint = <&spdif_p0_0>;
53
+ };
54
+ };
55
+ };
56
+
57
+ vbus_typec: vbus-typec-regulator {
58
+ compatible = "regulator-fixed";
59
+ enable-active-high;
60
+ gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
61
+ pinctrl-names = "default";
62
+ pinctrl-0 = <&vcc5v0_typec_en>;
63
+ regulator-name = "vbus_typec";
64
+ regulator-always-on;
65
+ vin-supply = <&vcc5v0_sys>;
66
+ };
67
+
3468 vcc12v_dcin: dc-12v {
3569 compatible = "regulator-fixed";
3670 regulator-name = "vcc12v_dcin";
....@@ -40,23 +74,13 @@
4074 regulator-max-microvolt = <12000000>;
4175 };
4276
43
- vcc5v0_sys: vcc-sys {
77
+ vcc3v3_lan: vcc3v3-lan-regulator {
4478 compatible = "regulator-fixed";
45
- regulator-name = "vcc5v0_sys";
79
+ regulator-name = "vcc3v3_lan";
4680 regulator-always-on;
4781 regulator-boot-on;
48
- regulator-min-microvolt = <5000000>;
49
- regulator-max-microvolt = <5000000>;
50
- vin-supply = <&vcc12v_dcin>;
51
- };
52
-
53
- vcc_0v9: vcc-0v9 {
54
- compatible = "regulator-fixed";
55
- regulator-name = "vcc_0v9";
56
- regulator-always-on;
57
- regulator-boot-on;
58
- regulator-min-microvolt = <900000>;
59
- regulator-max-microvolt = <900000>;
82
+ regulator-min-microvolt = <3300000>;
83
+ regulator-max-microvolt = <3300000>;
6084 vin-supply = <&vcc3v3_sys>;
6185 };
6286
....@@ -93,28 +117,24 @@
93117 vin-supply = <&vcc5v0_sys>;
94118 };
95119
96
- vcc5v0_typec: vcc5v0-typec-regulator {
120
+ vcc5v0_sys: vcc-sys {
97121 compatible = "regulator-fixed";
98
- enable-active-high;
99
- gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
100
- pinctrl-names = "default";
101
- pinctrl-0 = <&vcc5v0_typec_en>;
102
- regulator-name = "vcc5v0_typec";
103
- regulator-always-on;
104
- vin-supply = <&vcc5v0_sys>;
105
- };
106
-
107
- vcc_lan: vcc3v3-phy-regulator {
108
- compatible = "regulator-fixed";
109
- regulator-name = "vcc_lan";
122
+ regulator-name = "vcc5v0_sys";
110123 regulator-always-on;
111124 regulator-boot-on;
112
- regulator-min-microvolt = <3300000>;
113
- regulator-max-microvolt = <3300000>;
125
+ regulator-min-microvolt = <5000000>;
126
+ regulator-max-microvolt = <5000000>;
127
+ vin-supply = <&vcc12v_dcin>;
128
+ };
114129
115
- regulator-state-mem {
116
- regulator-off-in-suspend;
117
- };
130
+ vcc_0v9: vcc-0v9 {
131
+ compatible = "regulator-fixed";
132
+ regulator-name = "vcc_0v9";
133
+ regulator-always-on;
134
+ regulator-boot-on;
135
+ regulator-min-microvolt = <900000>;
136
+ regulator-max-microvolt = <900000>;
137
+ vin-supply = <&vcc3v3_sys>;
118138 };
119139
120140 vdd_log: vdd-log {
....@@ -161,7 +181,7 @@
161181 assigned-clocks = <&cru SCLK_RMII_SRC>;
162182 assigned-clock-parents = <&clkin_gmac>;
163183 clock_in_out = "input";
164
- phy-supply = <&vcc_lan>;
184
+ phy-supply = <&vcc3v3_lan>;
165185 phy-mode = "rgmii";
166186 pinctrl-names = "default";
167187 pinctrl-0 = <&rgmii_pins>;
....@@ -266,8 +286,8 @@
266286 };
267287 };
268288
269
- vcc1v8_codec: LDO_REG1 {
270
- regulator-name = "vcc1v8_codec";
289
+ vcca1v8_codec: LDO_REG1 {
290
+ regulator-name = "vcca1v8_codec";
271291 regulator-always-on;
272292 regulator-boot-on;
273293 regulator-min-microvolt = <1800000>;
....@@ -277,8 +297,8 @@
277297 };
278298 };
279299
280
- vcc1v8_hdmi: LDO_REG2 {
281
- regulator-name = "vcc1v8_hdmi";
300
+ vcca1v8_hdmi: LDO_REG2 {
301
+ regulator-name = "vcca1v8_hdmi";
282302 regulator-always-on;
283303 regulator-boot-on;
284304 regulator-min-microvolt = <1800000>;
....@@ -335,8 +355,8 @@
335355 };
336356 };
337357
338
- vcc0v9_hdmi: LDO_REG7 {
339
- regulator-name = "vcc0v9_hdmi";
358
+ vcca0v9_hdmi: LDO_REG7 {
359
+ regulator-name = "vcca0v9_hdmi";
340360 regulator-always-on;
341361 regulator-boot-on;
342362 regulator-min-microvolt = <900000>;
....@@ -362,8 +382,6 @@
362382 regulator-name = "vcc_cam";
363383 regulator-always-on;
364384 regulator-boot-on;
365
- regulator-min-microvolt = <3300000>;
366
- regulator-max-microvolt = <3300000>;
367385 regulator-state-mem {
368386 regulator-off-in-suspend;
369387 };
....@@ -373,8 +391,6 @@
373391 regulator-name = "vcc_mipi";
374392 regulator-always-on;
375393 regulator-boot-on;
376
- regulator-min-microvolt = <3300000>;
377
- regulator-max-microvolt = <3300000>;
378394 regulator-state-mem {
379395 regulator-off-in-suspend;
380396 };
....@@ -425,6 +441,20 @@
425441 i2c-scl-rising-time-ns = <300>;
426442 i2c-scl-falling-time-ns = <15>;
427443 status = "okay";
444
+
445
+ es8316: codec@11 {
446
+ compatible = "everest,es8316";
447
+ reg = <0x11>;
448
+ clocks = <&cru SCLK_I2S_8CH_OUT>;
449
+ clock-names = "mclk";
450
+ #sound-dai-cells = <0>;
451
+
452
+ port {
453
+ es8316_p0_0: endpoint {
454
+ remote-endpoint = <&i2s0_p0_0>;
455
+ };
456
+ };
457
+ };
428458 };
429459
430460 &i2c3 {
....@@ -443,6 +473,14 @@
443473 rockchip,playback-channels = <8>;
444474 rockchip,capture-channels = <8>;
445475 status = "okay";
476
+
477
+ i2s0_p0: port {
478
+ i2s0_p0_0: endpoint {
479
+ dai-format = "i2s";
480
+ mclk-fs = <256>;
481
+ remote-endpoint = <&es8316_p0_0>;
482
+ };
483
+ };
446484 };
447485
448486 &i2s1 {
....@@ -455,21 +493,10 @@
455493 };
456494
457495 &io_domains {
458
- status = "okay";
459
-
496
+ audio-supply = <&vcca1v8_codec>;
460497 bt656-supply = <&vcc_3v0>;
461
- audio-supply = <&vcc1v8_codec>;
462
- sdmmc-supply = <&vcc_sdio>;
463498 gpio1830-supply = <&vcc_3v0>;
464
-};
465
-
466
-&pmu_io_domains {
467
- status = "okay";
468
-
469
- pmu1830-supply = <&vcc_3v0>;
470
-};
471
-
472
-&pcie_phy {
499
+ sdmmc-supply = <&vcc_sdio>;
473500 status = "okay";
474501 };
475502
....@@ -482,6 +509,10 @@
482509 vpcie0v9-supply = <&vcc_0v9>;
483510 vpcie1v8-supply = <&vcc_1v8>;
484511 vpcie3v3-supply = <&vcc3v3_pcie>;
512
+ status = "okay";
513
+};
514
+
515
+&pcie_phy {
485516 status = "okay";
486517 };
487518
....@@ -506,6 +537,20 @@
506537 };
507538 };
508539
540
+ pmic {
541
+ pmic_int_l: pmic-int-l {
542
+ rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
543
+ };
544
+
545
+ vsel1_pin: vsel1-pin {
546
+ rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
547
+ };
548
+
549
+ vsel2_pin: vsel2-pin {
550
+ rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
551
+ };
552
+ };
553
+
509554 sdio0 {
510555 sdio0_bus4: sdio0-bus4 {
511556 rockchip,pins = <2 RK_PC4 1 &pcfg_pull_up_20ma>,
....@@ -520,20 +565,6 @@
520565
521566 sdio0_clk: sdio0-clk {
522567 rockchip,pins = <2 RK_PD1 1 &pcfg_pull_none_20ma>;
523
- };
524
- };
525
-
526
- pmic {
527
- pmic_int_l: pmic-int-l {
528
- rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
529
- };
530
-
531
- vsel1_pin: vsel1-pin {
532
- rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
533
- };
534
-
535
- vsel2_pin: vsel2-pin {
536
- rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
537568 };
538569 };
539570
....@@ -560,6 +591,11 @@
560591 };
561592 };
562593
594
+&pmu_io_domains {
595
+ pmu1830-supply = <&vcc_3v0>;
596
+ status = "okay";
597
+};
598
+
563599 &pwm2 {
564600 status = "okay";
565601 };
....@@ -568,6 +604,14 @@
568604 status = "okay";
569605
570606 vref-supply = <&vcc_1v8>;
607
+};
608
+
609
+&sdhci {
610
+ max-frequency = <150000000>;
611
+ bus-width = <8>;
612
+ mmc-hs200-1_8v;
613
+ non-removable;
614
+ status = "okay";
571615 };
572616
573617 &sdio0 {
....@@ -597,12 +641,13 @@
597641 status = "okay";
598642 };
599643
600
-&sdhci {
601
- bus-width = <8>;
602
- mmc-hs400-1_8v;
603
- mmc-hs400-enhanced-strobe;
604
- non-removable;
605
- status = "okay";
644
+&spdif {
645
+
646
+ spdif_p0: port {
647
+ spdif_p0_0: endpoint {
648
+ remote-endpoint = <&dit_p0_0>;
649
+ };
650
+ };
606651 };
607652
608653 &tcphy0 {
....@@ -677,15 +722,15 @@
677722 status = "okay";
678723 };
679724
680
-&usbdrd_dwc3_0 {
681
- status = "okay";
682
- dr_mode = "otg";
683
-};
684
-
685725 &usbdrd3_1 {
686726 status = "okay";
687727 };
688728
729
+&usbdrd_dwc3_0 {
730
+ status = "okay";
731
+ dr_mode = "host";
732
+};
733
+
689734 &usbdrd_dwc3_1 {
690735 status = "okay";
691736 dr_mode = "host";