aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/dts
diff options
context:
space:
mode:
authorDaniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us>2018-09-13 21:08:51 -0700
committerPetr Štetiar <ynezz@true.cz>2019-04-09 11:09:26 +0200
commitf61e754522996d1557691f945518b69a14d0446c (patch)
tree1dac436c2947895045fd0ce654785a2170701ce9 /target/linux/ath79/dts
parentd75d4837fc714284042210f0704cf495f0d0c956 (diff)
downloadupstream-f61e754522996d1557691f945518b69a14d0446c.tar.gz
upstream-f61e754522996d1557691f945518b69a14d0446c.tar.bz2
upstream-f61e754522996d1557691f945518b69a14d0446c.zip
ath79: add support for Netgear EX6400 and EX7300
This is sold as a dual-band 802.11ac range extender. It has a sliding switch for Extender mode or Access Point mode, a WPS button, a recessed Reset button, a hard-power button, and a multitude of LED's, some multiplexed via an NXP 74AHC164D chip. The internal serial header pinout is Vcc, Tx, Rx, GND, with GND closest to the corner of the board. You may connect at 115200 bps, 8 data bits, no parity, 1 stop bit. Specification: - System-On-Chip: QCA9558 - CPU/Speed: 720 MHz - Flash-Chip: Winbond 25Q128FVSG - Flash size: 16 MiB - RAM: 128 MiB - Wireless No1: QCA9558 on-chip 2.4GHz 802.11bgn, 3x3 - Wireless No2: QCA99x0 chip 5GHz 802.11an+ac, 4x4 - PHY: Atheros AR8035-A Installation: If you can get to the stock firmware's firmware upgrade option, just feed it the factory.img and boot as usual. As an alternative, TFTP the factory.img to the bootloader. Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> [whitespace fix in DTS and reorder of make variables] Signed-off-by: Petr Štetiar <ynezz@true.cz>
Diffstat (limited to 'target/linux/ath79/dts')
-rw-r--r--target/linux/ath79/dts/qca9558_netgear_ex6400.dts9
-rw-r--r--target/linux/ath79/dts/qca9558_netgear_ex7300.dts9
-rw-r--r--target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi222
3 files changed, 240 insertions, 0 deletions
diff --git a/target/linux/ath79/dts/qca9558_netgear_ex6400.dts b/target/linux/ath79/dts/qca9558_netgear_ex6400.dts
new file mode 100644
index 0000000000..8b61331f96
--- /dev/null
+++ b/target/linux/ath79/dts/qca9558_netgear_ex6400.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "qca9558_netgear_ex7300.dtsi"
+
+/ {
+ model = "Netgear EX6400";
+ compatible = "netgear,ex6400", "qca,qca9558";
+};
diff --git a/target/linux/ath79/dts/qca9558_netgear_ex7300.dts b/target/linux/ath79/dts/qca9558_netgear_ex7300.dts
new file mode 100644
index 0000000000..23102bf93c
--- /dev/null
+++ b/target/linux/ath79/dts/qca9558_netgear_ex7300.dts
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "qca9558_netgear_ex7300.dtsi"
+
+/ {
+ model = "Netgear EX7300";
+ compatible = "netgear,ex7300", "qca,qca9558";
+};
diff --git a/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi b/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi
new file mode 100644
index 0000000000..21c25a5717
--- /dev/null
+++ b/target/linux/ath79/dts/qca9558_netgear_ex7300.dtsi
@@ -0,0 +1,222 @@
+// 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 "qca9557.dtsi"
+
+/ {
+ chosen {
+ bootargs = "console=ttyS0,115200n8";
+ };
+
+ aliases {
+ led-boot = &power_green;
+ led-failsafe = &power_amber;
+ led-running = &power_green;
+ led-upgrade = &power_amber;
+ };
+
+ led_spi {
+ compatible = "spi-gpio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gpio-sck = <&gpio 18 GPIO_ACTIVE_HIGH>;
+ gpio-mosi = <&gpio 15 GPIO_ACTIVE_HIGH>;
+ num-chipselects = <0>;
+
+ led_gpio: led_gpio@0 {
+ compatible = "nxp,74lvc594";
+ reg = <0>;
+ gpio-controller;
+ #gpio-cells = <2>;
+ registers-number = <1>;
+ lines-initial-states = /bits/ 8 <0xff>;
+ spi-max-frequency = <500000>;
+
+ gpio_latch_bit {
+ gpio-hog;
+ gpios = <4 GPIO_ACTIVE_HIGH>;
+ output-high;
+ line-name = "gpio-latch-bit";
+ };
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ power_green: power_green {
+ label = "netgear:green:power";
+ gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
+ };
+
+ power_amber: power_amber {
+ label = "netgear:amber:power";
+ gpios = <&gpio 20 GPIO_ACTIVE_LOW>;
+ };
+
+ left_blue {
+ label = "netgear:blue:left";
+ gpios = <&led_gpio 7 GPIO_ACTIVE_LOW>;
+ };
+
+ right_blue {
+ label = "netgear:blue:right";
+ gpios = <&led_gpio 6 GPIO_ACTIVE_LOW>;
+ };
+
+ wps_green {
+ label = "netgear:green:wps";
+ gpios = <&led_gpio 5 GPIO_ACTIVE_LOW>;
+ };
+
+ client_red {
+ label = "netgear:red:client";
+ gpios = <&led_gpio 3 GPIO_ACTIVE_LOW>;
+ };
+
+ client_green {
+ label = "netgear:green:client";
+ gpios = <&led_gpio 2 GPIO_ACTIVE_LOW>;
+ };
+
+ router_red {
+ label = "netgear:red:router";
+ gpios = <&led_gpio 1 GPIO_ACTIVE_LOW>;
+ };
+
+ router_green {
+ label = "netgear:green:router";
+ gpios = <&led_gpio 0 GPIO_ACTIVE_LOW>;
+ };
+ };
+
+ keys {
+ compatible = "gpio-keys";
+
+ reset {
+ label = "Reset button";
+ linux,code = <KEY_RESTART>;
+ gpios = <&gpio 11 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+
+ wps {
+ label = "WPS button";
+ linux,code = <KEY_WPS_BUTTON>;
+ gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
+ debounce-interval = <60>;
+ };
+
+ extender_apmode {
+ label = "EXTENDER/APMODE switch";
+ gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
+ linux,code = <BTN_0>;
+ linux,input-type = <EV_SW>;
+ debounce-interval = <60>;
+ };
+ };
+};
+
+&pcie0 {
+ status = "okay";
+};
+
+&uart {
+ status = "okay";
+};
+
+&pll {
+ clocks = <&extosc>;
+};
+
+&spi {
+ status = "okay";
+ num-cs = <1>;
+
+ 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 0x040000>;
+ read-only;
+ };
+
+ partition@40000 {
+ label = "u-boot-env";
+ reg = <0x040000 0x010000>;
+ };
+
+ caldata: partition@50000 {
+ label = "caldata";
+ reg = <0x050000 0x010000>;
+ read-only;
+ };
+
+ partition@60000 {
+ label = "caldata-backup";
+ reg = <0x060000 0x010000>;
+ read-only;
+ };
+
+ partition@70000 {
+ label = "config";
+ reg = <0x070000 0x010000>;
+ };
+
+ partition@80000 {
+ label = "pot";
+ reg = <0x080000 0x010000>;
+ };
+
+ partition@90000 {
+ label = "firmware";
+ reg = <0x090000 0xf30000>;
+ compatible = "denx,uimage";
+ };
+
+ partition@fc0000 {
+ label = "language";
+ reg = <0xfc0000 0x040000>;
+ };
+ };
+ };
+};
+
+&wmac {
+ status = "okay";
+
+ mtd-cal-data = <&caldata 0x1000>;
+ mtd-mac-address = <&caldata 0x06>;
+};
+
+&mdio0 {
+ status = "okay";
+
+ phy4: ethernet-phy@4 {
+ reg = <4>;
+ phy-mode = "rgmii";
+ };
+};
+
+&eth0 {
+ status = "okay";
+
+ mtd-mac-address = <&caldata 0x00>;
+
+ phy-handle = <&phy4>;
+ phy-mode = "rgmii";
+
+ pll-data = <0x83000000 0x80000101 0x80001313>;
+};