Openwrt/target/linux/ath79/dts/ar9344_netgear_wndr.dtsi
Davy Hollevoet 394f54ee62 ath79/nand: add support for Netgear WNDR4300TN
This patch adds support for the WNDR4300TN, marketed by Belgian ISP
Telenet. The hardware is the same as the WNDR4300 v1, without the
fifth ethernet port (WAN) and the USB port. The circuit board has
the traces, but the components are missing.

Specifications:
* SoC: Atheros AR9344
* RAM: 128 MB
* Flash: 128 MB NAND flash
* WiFi: Atheros AR9580 (5 GHz) and AR9344 (2.4 GHz)
* Ethernet: 4x 1000Base-T
* LED: Power, LAN, WiFi 2.4GHz, WiFi 5GHz, WPS
* UART: on board, to the right of the RF shield at the top of the board

Installation:

* Flashing through the OEM web interface:
  + Connect your computer to the router with an ethernet cable and browse
    to http://192.168.0.51/
  + Log in with the default credentials are admin:password
  + Browse to Advanced > Administration > Firmware Upgrade in the Telenet
    interface
  + Upload the Openwrt firmware: openwrt-ath79-nand-netgear_wndr4300tn-squashfs-factory.img
  + Proceed with the firmware installation and give the device a few
    minutes to finish and reboot.

* Flashing through TFTP:
  + Configure your wired client with a static IP in the 192.168.1.x range,
    e.g. 192.168.1.10 and netmask 255.255.255.0.
  + Power off the router.
  + Press and hold the RESET button (the factory reset button on the bottom
    of the device, with the gray circle around it, next to the Telenet logo)
    and turn the router on while keeping the button pressed.
  + The power LED will start flashing orange. You can release the button
    once it switches to flashing green.
  + Transfer the image over TFTP:
    $ tftp 192.168.1.1 -m binary -c put openwrt-ath79-nand-netgear_wndr4300tn-squashfs-factory.img

Signed-off-by: Davy Hollevoet <github@natox.be>
[use DT label reference for adding LEDs in DTSI files]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-08-06 16:56:07 +02:00

264 lines
4.2 KiB
Plaintext

// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "ar9344.dtsi"
/ {
chosen {
bootargs = "console=ttyS0,115200n8";
};
aliases {
led-boot = &led_power_amber;
led-failsafe = &led_power_amber;
led-running = &led_power_green;
led-upgrade = &led_power_amber;
label-mac-device = &eth0;
};
keys {
compatible = "gpio-keys";
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 12 GPIO_ACTIVE_LOW>;
};
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
};
rfkill {
label = "rfkill";
linux,code = <KEY_RFKILL>;
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
};
leds: leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&enable_gpio_11>;
led_power_green: power_green {
label = "netgear:green:power";
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
};
led_power_amber: power_amber {
label = "netgear:amber:power";
gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
default-state = "keep";
};
wlan2g_green {
label = "netgear:green:wlan2g";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wlan5g_blue {
label = "netgear:blue:wlan5g";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
wps_green {
label = "netgear:green:wps";
gpios = <&gpio 16 GPIO_ACTIVE_LOW>;
};
wps_amber {
label = "netgear:amber:wps";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
};
ubi-concat {
compatible = "mtd-concat";
devices = <&ubipart0 &ubipart1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
ubi@ac0000 {
label = "ubi";
reg = <0x0 0x7500000>;
};
};
};
};
&pinmux {
enable_gpio_11: pinmux_enable_gpio_11 {
pinctrl-single,bits = <0x8 0x0 0xff000000>;
};
};
&nand {
status = "okay";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "u-boot";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "u-boot-env";
reg = <0x40000 0x40000>;
};
caldata: partition@80000 {
label = "caldata";
reg = <0x80000 0x40000>;
read-only;
};
partition@c0000 {
label = "pot";
reg = <0xc0000 0x80000>;
};
partition@140000 {
label = "language";
reg = <0x140000 0x200000>;
};
partition@340000 {
label = "config";
reg = <0x340000 0x80000>;
};
partition@3c0000 {
label = "traffic_meter";
reg = <0x3c0000 0x300000>;
};
kernel@6c0000 {
label = "kernel";
reg = <0x6c0000 0x400000>;
};
ubipart0: partition@ac0000 {
label = "ubipart0";
reg = <0xac0000 0x1500000>;
};
partition@6c0000 {
label = "firmware";
reg = <0x6c0000 0x1900000>;
compatible = "netgear,uimage";
};
partition@1fc0000 {
label = "caldata_backup";
reg = <0x1fc0000 0x40000>;
read-only;
};
ubipart1: partition@2000000 {
label = "ubipart1";
reg = <0x2000000 0x6000000>;
};
};
};
&ref {
clock-frequency = <40000000>;
};
&builtin_switch {
resets = <&rst 8>, <&rst 12>;
reset-names = "switch", "switch-analog";
};
&mdio0 {
status = "okay";
phy-mask = <0>;
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
qca,mib-poll-interval = <500>;
qca,ar8327-initvals = <
0x04 0x07600000
0x0c 0x01000000
0x10 0xc1000000
0x50 0xcc35cc35
0x54 0xcb37cb37
0x58 0x00000000
0x5c 0x00f3cf00
0x7c 0x0000007e
0x94 0x0000007e
>;
};
};
&eth0 {
status = "okay";
/* default for ar934x, except for 1000M */
pll-data = <0x06000000 0x00000101 0x00001616>;
mtd-mac-address = <&caldata 0x0>;
phy-mode = "rgmii";
phy-handle = <&phy0>;
};
&gpio {
lna0 {
gpio-hog;
line-name = "netgear:ext:lna0";
gpios = <18 GPIO_ACTIVE_HIGH>;
output-high;
};
lna1 {
gpio-hog;
line-name = "netgear:ext:lna1";
gpios = <19 GPIO_ACTIVE_HIGH>;
output-high;
};
};
&wmac {
status = "okay";
mtd-mac-address = <&caldata 0x0>;
qca,no-eeprom;
};
&pcie {
status = "okay";
ath9k: wifi@0,0 {
compatible = "pci168c,0033";
reg = <0x0000 0 0 0 0>;
mtd-mac-address = <&caldata 0xc>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&uart {
status = "okay";
};