hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
....@@ -89,31 +89,23 @@
8989 vga-dac {
9090 compatible = "corpro,gm7123", "adi,adv7123", "dumb-vga-dac";
9191 vdd-supply = <&reg_dcdc1>;
92
- #address-cells = <1>;
93
- #size-cells = <0>;
9492
9593 ports {
9694 #address-cells = <1>;
9795 #size-cells = <0>;
9896
9997 port@0 {
100
- #address-cells = <1>;
101
- #size-cells = <0>;
10298 reg = <0>;
10399
104
- vga_dac_in: endpoint@0 {
105
- reg = <0>;
100
+ vga_dac_in: endpoint {
106101 remote-endpoint = <&tcon0_out_vga>;
107102 };
108103 };
109104
110105 port@1 {
111
- #address-cells = <1>;
112
- #size-cells = <0>;
113106 reg = <1>;
114107
115
- vga_dac_out: endpoint@0 {
116
- reg = <0>;
108
+ vga_dac_out: endpoint {
117109 remote-endpoint = <&vga_con_in>;
118110 };
119111 };
....@@ -133,10 +125,25 @@
133125 status = "okay";
134126 };
135127
128
+&gmac {
129
+ pinctrl-names = "default";
130
+ pinctrl-0 = <&gmac_rgmii_pins>;
131
+ phy-handle = <&phy1>;
132
+ phy-mode = "rgmii-id";
133
+ phy-supply = <&reg_cldo1>;
134
+ status = "okay";
135
+};
136
+
136137 &i2c3 {
137138 pinctrl-names = "default";
138139 pinctrl-0 = <&i2c3_pins>;
139140 status = "okay";
141
+};
142
+
143
+&mdio {
144
+ phy1: ethernet-phy@1 {
145
+ reg = <1>;
146
+ };
140147 };
141148
142149 &mmc0 {
....@@ -183,8 +190,24 @@
183190 clocks = <&ac100_rtc 0>;
184191 };
185192
193
+&pio {
194
+ vcc-pa-supply = <&reg_ldo_io1>;
195
+ vcc-pb-supply = <&reg_aldo2>;
196
+ vcc-pc-supply = <&reg_dcdc1>;
197
+ vcc-pd-supply = <&reg_dc1sw>;
198
+ vcc-pe-supply = <&reg_eldo2>;
199
+ vcc-pf-supply = <&reg_dcdc1>;
200
+ vcc-pg-supply = <&reg_ldo_io0>;
201
+ vcc-ph-supply = <&reg_dcdc1>;
202
+};
203
+
186204 &r_ir {
187205 status = "okay";
206
+};
207
+
208
+&r_pio {
209
+ vcc-pl-supply = <&reg_dldo2>;
210
+ vcc-pm-supply = <&reg_eldo3>;
188211 };
189212
190213 &r_rsb {
....@@ -215,6 +238,10 @@
215238
216239 aldo3 {
217240 /* unused */
241
+ };
242
+
243
+ reg_dc1sw: dc1sw {
244
+ regulator-name = "vcc-pd";
218245 };
219246
220247 reg_dc5ldo: dc5ldo {
....@@ -271,7 +298,6 @@
271298 };
272299
273300 reg_dldo2: dldo2 {
274
- regulator-always-on;
275301 regulator-min-microvolt = <3000000>;
276302 regulator-max-microvolt = <3000000>;
277303 regulator-name = "vcc-pl";
....@@ -290,14 +316,12 @@
290316 };
291317
292318 reg_eldo3: eldo3 {
293
- regulator-always-on;
294319 regulator-min-microvolt = <3000000>;
295320 regulator-max-microvolt = <3000000>;
296321 regulator-name = "vcc-pm-codec-io1";
297322 };
298323
299324 reg_ldo_io0: ldo_io0 {
300
- regulator-always-on;
301325 regulator-min-microvolt = <3000000>;
302326 regulator-max-microvolt = <3000000>;
303327 regulator-name = "vcc-pg";
....@@ -385,6 +409,14 @@
385409 */
386410 regulator-min-microvolt = <3300000>;
387411 regulator-max-microvolt = <3300000>;
412
+ /*
413
+ * The PHY requires 20ms after all voltages
414
+ * are applied until core logic is ready and
415
+ * 30ms after the reset pin is de-asserted.
416
+ * Set a 100ms delay to account for PMIC
417
+ * ramp time and board traces.
418
+ */
419
+ regulator-enable-ramp-delay = <100000>;
388420 regulator-name = "vcc-gmac-phy";
389421 };
390422
....@@ -464,8 +496,7 @@
464496 };
465497
466498 &tcon0_out {
467
- tcon0_out_vga: endpoint@0 {
468
- reg = <0>;
499
+ tcon0_out_vga: endpoint {
469500 remote-endpoint = <&vga_dac_in>;
470501 };
471502 };