ipq806x: move common pinmux nodes to SoC DTSI
[openwrt/openwrt.git] / target / linux / ipq806x / files-5.4 / arch / arm / boot / dts / qcom-ipq8064-ap161.dts
1 #include "qcom-ipq8064-v1.0.dtsi"
2
3 / {
4 model = "Qualcomm IPQ8064/AP161";
5 compatible = "qcom,ipq8064-ap161", "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 rgmii2_pins: rgmii2_pins {
34 mux {
35 pins = "gpio27", "gpio28", "gpio29",
36 "gpio30", "gpio31", "gpio32",
37 "gpio51", "gpio52", "gpio59",
38 "gpio60", "gpio61", "gpio62",
39 "gpio2", "gpio66";
40 };
41 };
42 };
43
44 &gsbi4 {
45 qcom,mode = <GSBI_PROT_I2C_UART>;
46 status = "okay";
47 serial@16340000 {
48 status = "okay";
49 };
50
51 /*
52 * The i2c device on gsbi4 should not be enabled.
53 * On ipq806x designs gsbi4 i2c is meant for exclusive
54 * RPM usage. Turning this on in kernel manifests as
55 * i2c failure for the RPM.
56 */
57 };
58
59 &gsbi5 {
60 qcom,mode = <GSBI_PROT_SPI>;
61 status = "okay";
62
63 spi4: spi@1a280000 {
64 status = "okay";
65 spi-max-frequency = <50000000>;
66
67 pinctrl-0 = <&spi_pins>;
68 pinctrl-names = "default";
69
70 cs-gpios = <&qcom_pinmux 20 0>;
71
72 m25p80@0 {
73 compatible = "s25fl256s1";
74 #address-cells = <1>;
75 #size-cells = <1>;
76 spi-max-frequency = <50000000>;
77 reg = <0>;
78
79 partitions {
80 compatible = "qcom,smem";
81 };
82 };
83 };
84 };
85
86 &sata_phy {
87 status = "okay";
88 };
89
90 &sata {
91 status = "okay";
92 };
93
94 &usb3_0 {
95 status = "okay";
96 };
97
98 &usb3_1 {
99 status = "okay";
100 };
101
102 &pcie0 {
103 status = "okay";
104 };
105
106 &pcie1 {
107 status = "okay";
108 force_gen1 = <1>;
109 };
110
111 &pcie2 {
112 status = "okay";
113 };
114
115 &nand_controller {
116 status = "okay";
117
118 pinctrl-0 = <&nand_pins>;
119 pinctrl-names = "default";
120
121 nand@0 {
122 reg = <0>;
123 compatible = "qcom,nandcs";
124
125 nand-ecc-strength = <4>;
126 nand-bus-width = <8>;
127 nand-ecc-step-size = <512>;
128
129 partitions {
130 compatible = "qcom,smem";
131 };
132 };
133 };
134
135 &mdio0 {
136 status = "okay";
137
138 pinctrl-0 = <&mdio0_pins>;
139 pinctrl-names = "default";
140
141 phy0: ethernet-phy@0 {
142 reg = <0>;
143 qca,ar8327-initvals = <
144 0x00004 0x7600000 /* PAD0_MODE */
145 0x00008 0x1000000 /* PAD5_MODE */
146 0x0000c 0x20080 /* PAD6_MODE */
147 0x000e4 0x6a545 /* MAC_POWER_SEL */
148 0x000e0 0xc74164de /* SGMII_CTRL */
149 0x0007c 0x4e /* PORT0_STATUS */
150 0x00094 0x4e /* PORT6_STATUS */
151 >;
152 };
153
154 phy4: ethernet-phy@4 {
155 reg = <4>;
156 qca,phy-rgmii-en;
157 qca,txclk-delay-en;
158 qca,rxclk-delay-en;
159 };
160
161 phy3: ethernet-phy@3 {
162 device_type = "ethernet-phy";
163 reg = <3>;
164 };
165 };
166
167 &gmac0 {
168 status = "okay";
169 phy-mode = "rgmii";
170 qcom,id = <0>;
171
172 pinctrl-0 = <&rgmii2_pins>;
173 pinctrl-names = "default";
174 mdiobus = <&mdio0>;
175
176 fixed-link {
177 speed = <1000>;
178 full-duplex;
179 };
180 };
181
182 &gmac1 {
183 status = "okay";
184 phy-mode = "rgmii";
185 qcom,id = <1>;
186 mdiobus = <&mdio0>;
187
188 fixed-link {
189 speed = <1000>;
190 full-duplex;
191 };
192 };
193
194 &gmac2 {
195 status = "okay";
196 phy-mode = "sgmii";
197 qcom,id = <2>;
198 mdiobus = <&mdio0>;
199
200 fixed-link {
201 speed = <1000>;
202 full-duplex;
203 };
204 };
205
206 &adm_dma {
207 status = "okay";
208 };