ath79: add Netgear WNR612 v2

Netgear WNR612 v2:
 - cpu Atheros AR7240 (Python) @400MHz
 - flash 4MB
 - ram 32MB
 - ethernet 10/100: 1xwan + 2xlan (only two)
 - radio AR9285

As there is a rebranded WNR612v2 called ON Networks N150R, add
a dtsi which includes all device support, and add a separate dts
for the device only (with a separate one for the subsequent N150R).

Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
This commit is contained in:
Zoltan HERPAI 2018-06-20 16:21:07 +02:00 committed by John Crispin
parent 97da92b127
commit 51dd8ec62f
7 changed files with 189 additions and 0 deletions

View file

@ -22,6 +22,11 @@ case "$board" in
ucidef_set_led_oneshot "modbus" "Modbus" "$boardname:red:modbus" "100" "33"
ucidef_set_led_default "etactica" "etactica" "$boardname:red:etactica" "ignore"
;;
"netgear,wnr612-v2")
ucidef_set_led_netdev "wan" "WAN" "netgear:green:wan" "eth0"
ucidef_set_led_switch "lan1" "LAN1" "netgear:green:lan1" "switch0" "0x02" "0x0f"
ucidef_set_led_switch "lan2" "LAN2" "netgear:green:lan2" "switch0" "0x04" "0x0f"
;;
"tplink,tl-mr3020-v1")
ucidef_set_led_switch "lan" "LAN" "tp-link:green:lan" "switch0" "0x02"
;;

View file

@ -33,6 +33,12 @@ ath79_setup_interfaces()
ucidef_set_interfaces_lan_wan "eth1" "eth0"
;;
"netgear,wnr612-v2")
ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
ucidef_add_switch "switch0" \
"0@eth1" "1:lan" "2:lan" "3:lan:3" "4:lan:4"
;;
"tplink,tl-mr3020-v1")
ucidef_set_interface_lan "eth0.1"
ucidef_add_switch "switch0" "0@eth0" "1:lan"

View file

@ -54,6 +54,7 @@ case "$FIRMWARE" in
"tplink,tl-wdr4300")
ath9k_eeprom_extract "art" 20480 1088
;;
"netgear,wnr612-v2"|\
"tplink,tl-wr740n-v2"|\
"ubnt,unifi")
ath9k_eeprom_extract "art" 4096 2048

View file

@ -0,0 +1,10 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include "ar7240_netgear_wnr612-v2.dtsi"
/ {
model = "Netgear WNR612 v2";
compatible = "netgear,wnr612-v2";
};

View file

@ -0,0 +1,147 @@
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include "ar7240.dtsi"
/ {
compatible = "netgear,wnr612-v2", "qca,ar7240";
model = "Netgear WNR612 V2";
aliases {
led-status = &led_power;
};
memory@0 {
device_type = "memory";
reg = <0x0 0x2000000>;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&ath9k 7 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
gpio-leds {
compatible = "gpio-leds";
led_power: power {
label = "netgear:green:power";
gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
};
lan1 {
label = "netgear:green:lan1";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
};
lan2 {
label = "netgear:green:lan2";
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
};
wan {
label = "netgear:green:wan";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
};
wlan: wlan {
label = "netgear:green:wlan";
gpios = <&ath9k 1 GPIO_ACTIVE_LOW>;
default-state = "off";
linux,default-trigger = "phy0tpt";
};
};
};
&spi {
status = "okay";
num-cs = <1>;
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <25000000>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
uboot: partition@0 {
reg = <0x0 0x40000>;
label = "u-boot";
read-only;
};
partition@40000 {
reg = <0x40000 0x10000>;
label = "u-boot-env";
};
partition@50000 {
reg = <0x50000 0x3a0000>;
label = "firmware";
};
partition@3f0000 {
reg = <0x3f0000 0x10000>;
label = "art";
read-only;
};
};
};
};
&eth0 {
status = "okay";
phy-handle = <&phy4>;
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <(-1)>;
};
&eth1 {
status = "okay";
mtd-mac-address = <&uboot 0x1fc00>;
mtd-mac-address-increment = <1>;
};
&mdio0 {
status = "okay";
phy4: ethernet-phy@4 {
reg = <4>;
phy-mode = "mii";
};
};
&pcie {
status = "okay";
ath9k: wifi@168c,002b {
compatible = "pci168c,002b";
reg = <0x0000 0 0 0 0>;
qca,no-eeprom;
#gpio-cells = <2>;
gpio-controller;
};
};
&uart {
status = "okay";
};

View file

@ -75,6 +75,7 @@ ifeq ($(SUBTARGET),nand)
include ./nand.mk
endif
ifeq ($(SUBTARGET),tiny)
include ./tiny-netgear.mk
include ./tiny-tp-link.mk
endif
$(eval $(call BuildImage))

View file

@ -0,0 +1,19 @@
include ./common-netgear.mk
define Device/netgear_wnr612-v2
ATH_SOC := ar7240
DEVICE_TITLE := Netgear WNR612v2
DEVICE_DTS := ar7240_netgear_wnr612-v2
NETGEAR_KERNEL_MAGIC := 0x32303631
KERNEL := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma
KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma
NETGEAR_BOARD_ID := REALWNR612V2
IMAGE_SIZE := 3904k
IMAGES := sysupgrade.bin factory.img
IMAGE/default := append-kernel | pad-to $$$$(BLOCKSIZE) | netgear-squashfs | append-rootfs | pad-rootfs
IMAGE/sysupgrade.bin := $$(IMAGE/default) | append-metadata | check-size $$$$(IMAGE_SIZE)
IMAGE/factory.img := $$(IMAGE/default) | netgear-dni | check-size $$$$(IMAGE_SIZE)
SUPPORTED_DEVICES := netgear,wnr612-v2 wnr612-v2
endef
TARGET_DEVICES += netgear_wnr612-v2