2 * TP-Link TL-WDR4900 v1 Device Tree Source
4 * Copyright 2013 Gabor Juhos <juhosg@openwrt.org>
6 * This program is free software; you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation; either version 2 of the License, or (at your
9 * option) any later version.
12 #include <dt-bindings/input/input.h>
13 #include <dt-bindings/gpio/gpio.h>
15 /include/ "fsl/p1010si-pre.dtsi"
18 model = "TP-Link TL-WDR4900 v1";
19 compatible = "tplink,tl-wdr4900-v1";
22 bootargs = "console=ttyS0,115200";
24 stdout-path = "/soc@ffe00000/serial@4500";
30 led-boot = &system_green;
31 led-failsafe = &system_green;
32 led-running = &system_green;
33 led-upgrade = &system_green;
34 label-mac-device = &enet0;
38 device_type = "memory";
42 ranges = <0x0 0x0 0xffe00000 0x100000>;
46 compatible = "jedec,spi-nor";
48 spi-max-frequency = <25000000>;
51 compatible = "fixed-partitions";
56 reg = <0x0 0x0050000>;
61 compatible = "fixed-layout";
65 macaddr_uboot_4fc00: macaddr@4fc00 {
72 reg = <0x00050000 0x00010000>;
78 compatible = "tplink,firmware";
79 reg = <0x00060000 0x00f80000>;
84 reg = <0x00fe0000 0x00010000>;
90 reg = <0x00ff0000 0x00010000>;
98 gpio0: gpio-controller@fc00 {
129 compatible = "qca,qca8327";
133 #address-cells = <1>;
139 phy-mode = "rgmii-id";
150 phy-handle = <&phy_port1>;
156 phy-handle = <&phy_port2>;
162 phy-handle = <&phy_port3>;
168 phy-handle = <&phy_port4>;
174 phy-handle = <&phy_port5>;
188 enet0: ethernet@b0000 {
189 phy-connection-type = "rgmii-id";
190 nvmem-cells = <&macaddr_uboot_4fc00>;
191 nvmem-cell-names = "mac-address";
199 enet1: ethernet@b1000 {
203 enet2: ethernet@b2000 {
211 serial1: serial@4600 {
224 compatible = "fsl,etsec-ptp";
225 reg = <0xb0e00 0xb0>;
226 interrupts = <68 2 0 0 69 2 0 0 70 2 0 0>;
228 fsl,tclk-period = <5>;
230 fsl,tmr-add = <0xcccccccd>;
231 fsl,tmr-fiper1 = <0x3b9ac9fb>; /* 1PPS */
232 fsl,tmr-fiper2 = <0x00018696>;
233 fsl,max-adj = <249999999>;
237 pci0: pcie@ffe09000 {
238 reg = <0 0xffe09000 0 0x1000>;
239 ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000
240 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>;
242 ranges = <0x2000000 0x0 0xa0000000
243 0x2000000 0x0 0xa0000000
252 pci1: pcie@ffe0a000 {
253 reg = <0 0xffe0a000 0 0x1000>;
254 ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000
255 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>;
257 ranges = <0x2000000 0x0 0x80000000
258 0x2000000 0x0 0x80000000
272 compatible = "gpio-leds";
274 system_green: system {
275 gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
276 label = "tp-link:blue:system";
280 gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
281 label = "tp-link:green:usb1";
285 gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
286 label = "tp-link:green:usb2";
290 gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
291 label = "tp-link:usb:power";
296 compatible = "gpio-keys";
299 label = "Reset button";
300 gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
301 linux,code = <KEY_RESTART>;
305 label = "RFKILL switch";
306 gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
307 linux,code = <KEY_RFKILL>;
312 /include/ "fsl/p1010si-post.dtsi"
317 bus-frequency = <399999996>;
318 timebase-frequency = <49999999>;
319 clock-frequency = <799999992>;
324 reg = <0x0 0x0 0x0 0x8000000>;
328 bus-frequency = <399999996>;
331 clock-frequency = <399999996>;
335 clock-frequency = <399999996>;
339 clock-frequency = <399999996>;
345 * The TL-WDR4900 v1 uses the NXP (Freescale) P1014 SoC which is closely
346 * related to the P1010.
348 * NXP QP1010FS.pdf "QorIQ P1010 and P1014 Communications Processors"
349 * datasheet states that the P1014 does not include the accelerated crypto
350 * module (CAAM/SEC4) which is present in the P1010.
352 * NXP Appliation Note AN4938 Rev. 2 implies that some P1014 may contain the
353 * SEC4 module, but states that SoCs with System Version Register values
354 * 0x80F10110 or 0x80F10120 do not have the security feature.
356 * All v1.3 TL-WDR4900 tested have SVR == 0x80F10110 which AN4938 describes
357 * as: core rev 1.0, "P1014 (without security)".
359 * The SVR value is reported by uboot on the serial console.
364 /delete-node/ crypto@30000; /* Pulled in by p1010si-post */
369 * For the OpenWrt 22.03 release, since Linux 5.10.138 now uses
370 * aliases to determine PCI domain numbers, drop aliases so as not to
371 * change the sysfs path of our wireless netdevs.
376 /delete-property/ pci0;
377 /delete-property/ pci1;