ipq806x: move mdio node to ipq8064 dts
[openwrt/openwrt.git] / target / linux / ipq806x / files-5.4 / arch / arm / boot / dts / qcom-ipq8064-ap148.dts
1 #include "qcom-ipq8064-v1.0.dtsi"
2
3 / {
4 model = "Qualcomm Technologies, Inc. IPQ8064/AP-148";
5 compatible = "qcom,ipq8064-ap148", "qcom,ipq8064";
6
7 memory@0 {
8 reg = <0x42000000 0x1e000000>;
9 device_type = "memory";
10 };
11
12 reserved-memory {
13 #address-cells = <1>;
14 #size-cells = <1>;
15 ranges;
16 rsvd@41200000 {
17 reg = <0x41200000 0x300000>;
18 no-map;
19 };
20 };
21
22 aliases {
23 serial0 = &gsbi4_serial;
24 mdio-gpio0 = &mdio0;
25 };
26
27 chosen {
28 stdout-path = "serial0:115200n8";
29 };
30 };
31
32 &qcom_pinmux {
33 i2c4_pins: i2c4_pinmux {
34 pins = "gpio12", "gpio13";
35 function = "gsbi4";
36 bias-disable;
37 };
38
39 nand_pins: nand_pins {
40 disable {
41 pins = "gpio34", "gpio35", "gpio36",
42 "gpio37", "gpio38";
43 function = "nand";
44 drive-strength = <10>;
45 bias-disable;
46 };
47
48 pullups {
49 pins = "gpio39";
50 function = "nand";
51 drive-strength = <10>;
52 bias-pull-up;
53 };
54
55 hold {
56 pins = "gpio40", "gpio41", "gpio42",
57 "gpio43", "gpio44", "gpio45",
58 "gpio46", "gpio47";
59 function = "nand";
60 drive-strength = <10>;
61 bias-bus-hold;
62 };
63 };
64
65 mdio0_pins: mdio0_pins {
66 mux {
67 pins = "gpio0", "gpio1";
68 function = "mdio";
69 drive-strength = <8>;
70 bias-disable;
71 };
72 };
73
74 rgmii2_pins: rgmii2_pins {
75 mux {
76 pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32",
77 "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62" ;
78 function = "rgmii2";
79 drive-strength = <8>;
80 bias-disable;
81 };
82 };
83 };
84
85 &adm_dma {
86 status = "okay";
87 };
88
89 &gsbi4 {
90 qcom,mode = <GSBI_PROT_I2C_UART>;
91 status = "okay";
92
93 serial@16340000 {
94 status = "okay";
95 };
96
97 /*
98 * The i2c device on gsbi4 should not be enabled.
99 * On ipq806x designs gsbi4 i2c is meant for exclusive
100 * RPM usage. Turning this on in kernel manifests as
101 * i2c failure for the RPM.
102 */
103 };
104
105 &gsbi5 {
106 qcom,mode = <GSBI_PROT_SPI>;
107 status = "okay";
108
109 spi4: spi@1a280000 {
110 status = "okay";
111 spi-max-frequency = <50000000>;
112
113 pinctrl-0 = <&spi_pins>;
114 pinctrl-names = "default";
115
116 cs-gpios = <&qcom_pinmux 20 0>;
117
118 m25p80@0 {
119 compatible = "s25fl256s1";
120 #address-cells = <1>;
121 #size-cells = <1>;
122 spi-max-frequency = <50000000>;
123 reg = <0>;
124
125 partitions {
126 compatible = "qcom,smem";
127 };
128 };
129 };
130 };
131
132 &usb3_0 {
133 status = "okay";
134 };
135
136 &usb3_1 {
137 status = "okay";
138 };
139
140 &pcie0 {
141 status = "okay";
142 };
143
144 &pcie1 {
145 status = "okay";
146 force_gen1 = <1>;
147 };
148
149 &nand_controller {
150 status = "okay";
151
152 pinctrl-0 = <&nand_pins>;
153 pinctrl-names = "default";
154
155 nand@0 {
156 reg = <0>;
157 compatible = "qcom,nandcs";
158
159 nand-ecc-strength = <4>;
160 nand-bus-width = <8>;
161 nand-ecc-step-size = <512>;
162
163 partitions {
164 compatible = "qcom,smem";
165 };
166 };
167 };
168
169 &mdio0 {
170 status = "okay";
171
172 pinctrl-0 = <&mdio0_pins>;
173 pinctrl-names = "default";
174
175 phy0: ethernet-phy@0 {
176 reg = <0>;
177 qca,ar8327-initvals = <
178 0x00004 0x7600000 /* PAD0_MODE */
179 0x00008 0x1000000 /* PAD5_MODE */
180 0x0000c 0x80 /* PAD6_MODE */
181 0x000e4 0x6a545 /* MAC_POWER_SEL */
182 0x000e0 0xc74164de /* SGMII_CTRL */
183 0x0007c 0x4e /* PORT0_STATUS */
184 0x00094 0x4e /* PORT6_STATUS */
185 >;
186 };
187
188 phy4: ethernet-phy@4 {
189 reg = <4>;
190 };
191 };
192
193 &gmac1 {
194 status = "okay";
195 phy-mode = "rgmii";
196 qcom,id = <1>;
197
198 pinctrl-0 = <&rgmii2_pins>;
199 pinctrl-names = "default";
200
201 fixed-link {
202 speed = <1000>;
203 full-duplex;
204 };
205 };
206
207 &gmac2 {
208 status = "okay";
209 phy-mode = "sgmii";
210 qcom,id = <2>;
211
212 fixed-link {
213 speed = <1000>;
214 full-duplex;
215 };
216 };
217
218 &sata_phy {
219 status = "okay";
220 };
221
222 &sata {
223 status = "okay";
224 };