ipq40xx: add support for AVM FRITZ!Repeater 1200
[openwrt/staging/luka.git] / target / linux / ipq40xx / files-4.19 / arch / arm / boot / dts / qcom-ipq4019-fritzrepeater-1200.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "qcom-ipq4019.dtsi"
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6 #include <dt-bindings/soc/qcom,tcsr.h>
7
8 / {
9 model = "AVM FRITZ!Repeater 1200";
10 compatible = "avm,fritzrepeater-1200";
11
12 aliases {
13 led-boot = &power_green;
14 led-failsafe = &power_red;
15 led-running = &power_green;
16 led-upgrade = &power_red;
17 label-mac-device = &wifi0;
18 };
19
20 soc {
21 rng@22000 {
22 status = "okay";
23 };
24
25 mdio@90000 {
26 status = "okay";
27 pinctrl-0 = <&mdio_pins>;
28 pinctrl-names = "default";
29 };
30
31 tcsr@1949000 {
32 compatible = "qcom,tcsr";
33 reg = <0x1949000 0x100>;
34 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
35 };
36
37 ess_tcsr@1953000 {
38 compatible = "qcom,tcsr";
39 reg = <0x1953000 0x1000>;
40 qcom,ess-interface-select = <TCSR_ESS_PSGMII_RGMII5>;
41 };
42
43 tcsr@1957000 {
44 compatible = "qcom,tcsr";
45 reg = <0x1957000 0x100>;
46 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
47 };
48
49 crypto@8e3a000 {
50 status = "okay";
51 };
52
53 watchdog@b017000 {
54 status = "okay";
55 };
56
57 ess-switch@c000000 {
58 switch_mac_mode = <0x3>; /* mac mode for RGMII RMII */
59 switch_lan_bmp = <0x0>; /* lan port bitmap */
60 switch_wan_bmp = <0x10>; /* wan port bitmap */
61 };
62
63 edma@c080000 {
64 status = "okay";
65 phy-mode = "rgmii-rxid";
66 qcom,num_gmac = <1>;
67 qcom,single-phy;
68 };
69 };
70
71 key {
72 compatible = "gpio-keys";
73
74 wps {
75 label = "WPS button";
76 gpios = <&tlmm 10 GPIO_ACTIVE_LOW>;
77 linux,code = <KEY_WPS_BUTTON>;
78 };
79 };
80
81 leds {
82 compatible = "gpio-leds";
83
84 power_red: power_red {
85 label = "fritzwlan-1200:red:power";
86 gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
87 };
88
89 power_green: power_green {
90 label = "fritzwlan-1200:green:power";
91 gpios = <&tlmm 45 GPIO_ACTIVE_HIGH>;
92 };
93
94 power_yellow {
95 label = "fritzwlan-1200:yellow:power";
96 gpios = <&tlmm 49 GPIO_ACTIVE_LOW>;
97 };
98 };
99 };
100
101 &tlmm {
102 serial_0_pins: serial_pinmux {
103 mux {
104 pins = "gpio16", "gpio17";
105 function = "blsp_uart0";
106 bias-disable;
107 };
108 };
109
110 nand_pins: nand_pins {
111 pullups {
112 pins = "gpio53", "gpio58", "gpio59";
113 function = "qpic";
114 bias-pull-up;
115 };
116
117 pulldowns {
118 pins = "gpio54", "gpio55", "gpio56",
119 "gpio57", "gpio60", "gpio61",
120 "gpio62", "gpio63", "gpio64",
121 "gpio65", "gpio66", "gpio67",
122 "gpio68", "gpio69";
123 function = "qpic";
124 bias-pull-down;
125 };
126 };
127
128 mdio_pins: mdio_pinmux {
129 mux_1 {
130 pins = "gpio6";
131 function = "mdio";
132 bias-pull-up;
133 };
134 mux_2 {
135 pins = "gpio7";
136 function = "mdc";
137 bias-pull-up;
138 };
139 };
140
141 phy-reset {
142 line-name = "PHY-reset";
143 gpios = <19 GPIO_ACTIVE_HIGH>;
144 gpio-hog;
145 output-high;
146 };
147
148 phy-reset-2 {
149 line-name = "PHY-reset-2";
150 gpios = <47 GPIO_ACTIVE_HIGH>;
151 gpio-hog;
152 output-high;
153 };
154 };
155
156 &nand {
157 pinctrl-0 = <&nand_pins>;
158 pinctrl-names = "default";
159 status = "okay";
160
161 nand@0 {
162 partitions {
163 compatible = "fixed-partitions";
164 #address-cells = <1>;
165 #size-cells = <1>;
166
167 partition@0 {
168 label = "SBL1";
169 reg = <0x0 0x80000>;
170 read-only;
171 };
172
173 partition@80000 {
174 label = "MIBIB";
175 reg = <0x80000 0x80000>;
176 read-only;
177 };
178
179 partition@100000 {
180 label = "QSEE";
181 reg = <0x100000 0x80000>;
182 read-only;
183 };
184
185 partition@180000 {
186 label = "CDT";
187 reg = <0x180000 0x40000>;
188 read-only;
189 };
190
191 partition@1c0000 {
192 label = "QSEE_B";
193 reg = <0x1c0000 0x80000>;
194 read-only;
195 };
196
197 partition@240000 {
198 label = "urlader0";
199 reg = <0x240000 0x40000>;
200 read-only;
201 };
202
203 partition@280000 {
204 label = "urlader1";
205 reg = <0x280000 0x40000>;
206 read-only;
207 };
208
209 partition@2c0000 {
210 label = "nand-tffs";
211 reg = <0x2c0000 0x840000>;
212 read-only;
213 };
214
215 partition@b00000 {
216 /* 'kernel1' in AVM firmware */
217 label = "uboot0";
218 reg = <0xb00000 0x400000>;
219 };
220
221 partition@f00000 {
222 /* 'kernel2' in AVM firmware */
223 label = "uboot1";
224 reg = <0xf00000 0x400000>;
225 };
226
227 partition@1300000 {
228 label = "ubi";
229 reg = <0x1300000 0x6d00000>;
230 };
231 };
232 };
233 };
234
235 &cryptobam {
236 status = "okay";
237 };
238
239 &blsp_dma {
240 status = "okay";
241 };
242
243 &blsp1_uart1 {
244 pinctrl-0 = <&serial_0_pins>;
245 pinctrl-names = "default";
246 status = "okay";
247 };
248
249 &qpic_bam {
250 status = "okay";
251 };
252
253 &wifi0 {
254 status = "okay";
255 qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-1200";
256 };
257
258 &wifi1 {
259 status = "okay";
260 qcom,ath10k-calibration-variant = "AVM-FRITZRepeater-1200";
261 };
262
263 &gmac0 {
264 qcom,phy_mdio_addr = <0>;
265 qcom,poll_required = <1>;
266 vlan_tag = <0 0x20>;
267 };