// SPDX-License-Identifier: GPL-2.0-or-later OR MIT #include "qca955x.dtsi" #include #include / { compatible = "tplink,tl-wdr4900-v2", "qca,qca9558"; model = "TP-Link TL-WDR4900 v2"; aliases { led-boot = &led_system; led-failsafe = &led_system; led-running = &led_system; led-upgrade = &led_system; label-mac-device = ð1; }; leds { compatible = "gpio-leds"; led_system: system { label = "blue:system"; gpios = <&gpio 14 GPIO_ACTIVE_LOW>; default-state = "on"; }; usb1 { label = "green:usb1"; gpios = <&gpio 19 GPIO_ACTIVE_LOW>; trigger-sources = <&hub_port1>; linux,default-trigger = "usbport"; }; usb2 { label = "green:usb2"; gpios = <&gpio 18 GPIO_ACTIVE_LOW>; trigger-sources = <&hub_port0>; linux,default-trigger = "usbport"; }; wlan2g { label = "blue:wlan2g"; gpios = <&gpio 12 GPIO_ACTIVE_LOW>; linux,default-trigger = "phy0tpt"; }; qss { label = "blue:qss"; gpios = <&gpio 15 GPIO_ACTIVE_LOW>; }; }; ath9k-leds { compatible = "gpio-leds"; wlan5g { label = "blue:wlan5g"; gpios = <&ath9k 0 GPIO_ACTIVE_LOW>; linux,default-trigger = "phy1tpt"; }; }; keys { compatible = "gpio-keys"; reset { label = "Reset button"; linux,code = ; gpios = <&gpio 16 GPIO_ACTIVE_LOW>; debounce-interval = <60>; }; }; gpio-export { compatible = "gpio-export"; gpio_usb1_power { gpio-export,name = "tp-link:power:usb1"; gpio-export,output = <1>; gpios = <&gpio 21 GPIO_ACTIVE_HIGH>; }; gpio_usb2_power { gpio-export,name = "tp-link:power:usb2"; gpio-export,output = <1>; gpios = <&gpio 22 GPIO_ACTIVE_HIGH>; }; }; }; &pcie1 { status = "okay"; ath9k: wifi@0,0 { compatible = "pci168c,0033"; reg = <0x0000 0 0 0 0>; nvmem-cells = <&macaddr_uboot_1fc00 (-2)>, <&cal_ath9k_pci>; nvmem-cell-names = "mac-address", "calibration"; #gpio-cells = <2>; gpio-controller; }; }; &usb_phy0 { status = "okay"; }; &usb0 { status = "okay"; }; &usb_phy1 { status = "okay"; }; &usb1 { status = "okay"; }; &spi { status = "okay"; flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <25000000>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; uboot: partition@0 { label = "u-boot"; reg = <0x000000 0x020000>; read-only; nvmem-layout { compatible = "fixed-layout"; #address-cells = <1>; #size-cells = <1>; macaddr_uboot_1fc00: macaddr@1fc00 { compatible = "mac-base"; reg = <0x1fc00 0x6>; #nvmem-cell-cells = <1>; }; }; }; partition@20000 { compatible = "tplink,firmware"; label = "firmware"; reg = <0x020000 0x7d0000>; }; partition@7f0000 { label = "art"; reg = <0x7f0000 0x010000>; read-only; nvmem-layout { compatible = "fixed-layout"; #address-cells = <1>; #size-cells = <1>; cal_ath9k_soc: cal_ath9k@1000 { reg = <0x1000 0x440>; }; cal_ath9k_pci: cal_ath9k@5000 { reg = <0x5000 0x440>; }; }; }; }; }; }; &mdio0 { status = "okay"; phy0: ethernet-phy@0 { reg = <0>; qca,ar8327-initvals = < 0x04 0x00080080 /* PORT0 PAD MODE CTRL */ 0x0c 0x07600000 /* PORT6 PAD MODE CTRL */ 0x50 0xc737c737 /* LED_CTRL0 */ 0x54 0x00000000 /* LED_CTRL1 */ 0x58 0x00000000 /* LED_CTRL2 */ 0x5c 0x0030c300 /* LED_CTRL3 */ 0x7c 0x0000007e /* PORT0_STATUS */ 0x94 0x0000007e /* PORT6 STATUS */ >; }; }; ð0 { status = "okay"; nvmem-cells = <&macaddr_uboot_1fc00 1>; nvmem-cell-names = "mac-address"; phy-handle = <&phy0>; pll-data = <0x56000000 0x00000101 0x00001616>; gmac-config { device = <&gmac>; rgmii-enabled = <1>; }; }; ð1 { status = "okay"; nvmem-cells = <&macaddr_uboot_1fc00 0>; nvmem-cell-names = "mac-address"; pll-data = <0x03000101 0x00000101 0x00001616>; fixed-link { speed = <1000>; full-duplex; }; }; &wmac { status = "okay"; nvmem-cells = <&macaddr_uboot_1fc00 (-1)>, <&cal_ath9k_soc>; nvmem-cell-names = "mac-address", "calibration"; };