openwrt/target/linux/ath79/dts/qca9558_zyxel_nbg6716.dts
Adrian Schmutzler d0cb6e995b ath79: further fixes for ZyXEL NBG6716
This applies further fixes to the DTS of ZyXEL NBG6716 based on
what is found in ar71xx (mach-nbg6716.c):

- use WiFi label names as in ar71xx
- fix WPS gpio number
- fix GPIO_ACTIVE_HIGH and mode for WiFi switch
- add codes for USB eject buttons
- fix node name for "internet" LED

This device has separate LEDs for WAN and "Internet". As the WAN-LED
(and the four LAN-LEDs) are driven independent of the setup in
DT/01_leds, the "internet" LED is left unassigned (in contrast to
ar71xx, where it was set up effectively as a second WAN LED)

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-04-14 12:03:57 +02:00

308 lines
4.8 KiB
Plaintext

// 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"
/ {
compatible = "zyxel,nbg6716", "qca,qca9558";
model = "ZyXEL NBG6716";
chosen {
bootargs = "console=ttyS0,115200n8";
};
aliases {
led-boot = &led_power;
led-failsafe = &led_power;
led-running = &led_power;
led-upgrade = &led_power;
};
leds {
compatible = "gpio-leds";
led_power: power {
label = "nbg6716:white:power";
gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
};
internet {
label = "nbg6716:white:internet";
gpios = <&gpio 18 GPIO_ACTIVE_LOW>;
};
usb1 {
label = "nbg6716:white:usb1";
gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
linux,default-trigger = "usbport";
trigger-sources = <&hub_port1>;
};
usb2 {
label = "nbg6716:white:usb2";
gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
linux,default-trigger = "usbport";
trigger-sources = <&hub_port0>;
};
wifi2g {
label = "nbg6716:white:wifi2g";
gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy1tpt";
};
wifi5g {
label = "nbg6716:white:wifi5g";
gpios = <&gpio 17 GPIO_ACTIVE_LOW>;
linux,default-trigger = "phy0tpt";
};
wps {
label = "nbg6716:white:wps";
gpios = <&gpio 21 GPIO_ACTIVE_LOW>;
};
};
keys {
compatible = "gpio-keys";
reset {
label = "reset";
linux,code = <KEY_RESTART>;
gpios = <&gpio 23 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
wifi {
label = "WiFi button";
linux,code = <KEY_RFKILL>;
linux,input-type = <EV_SW>;
gpios = <&gpio 1 GPIO_ACTIVE_HIGH>;
debounce-interval = <60>;
};
usb1 {
label = "USB1 eject button";
linux,code = <BTN_1>;
gpios = <&gpio 0 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
usb2 {
label = "USB2 eject button";
linux,code = <BTN_2>;
gpios = <&gpio 14 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
wps {
label = "WPS button";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
debounce-interval = <60>;
};
};
};
&gpio {
usb_power {
gpio-hog;
gpios = <16 0>;
output-high;
line-name = "nbg6716:power:usb";
};
};
&uart {
status = "okay";
};
&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;
};
uboot_env: partition@40000 {
label = "u-boot-env";
reg = <0x040000 0x010000>;
};
art: partition@50000 {
label = "art";
reg = <0x050000 0x010000>;
read-only;
};
partition@60000 {
label = "nbu";
reg = <0x060000 0xfa0000>;
};
};
};
};
&nand {
status = "okay";
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "zyxel_rfsd";
reg = <0x0 0x200000>;
};
partition@200000 {
label = "romd";
reg = <0x200000 0x200000>;
};
partition@400000 {
label = "header";
reg = <0x400000 0x100000>;
};
firmware@500000 {
label = "firmware";
reg = <0x500000 0x7b00000>;
};
partition@500000 {
label = "kernel";
reg = <0x500000 0x400000>;
};
partition@900000 {
label = "ubi";
reg = <0x900000 0x7700000>;
};
};
};
&mdio0 {
status = "okay";
phy17: ethernet-phy@11 {
reg = <0x11>;
phy-mode = "rgmii-id";
};
switch0@1f {
compatible = "qca,ar8327";
reg = <0x1f>;
qca,ar8327-initvals = <
0x04 0x87600000 /* PORT0 PAD MODE CTRL */
0x0c 0x00080080 /* PORT6 PAD MODE CTRL */
0x10 0x81000080 /* POWER_ON_STRIP */
0x50 0xffb7ffb7 /* LED_CTRL0 */
0x54 0xffb7ffb7 /* LED_CTRL1 */
0x58 0xffb7ffb7 /* LED_CTRL2 */
0x5c 0x03ffff00 /* LED_CTRL3 */
0x7c 0x0000007e /* PORT0_STATUS */
0x94 0x0000007e /* PORT6 STATUS */
>;
};
};
&mdio1 {
status = "okay";
phy1: ethernet-phy@1 {
reg = <1>;
phy-mode = "sgmii";
};
};
&eth0 {
status = "okay";
pll-data = <0xa6000000 0x00000101 0x00001616>;
phy-handle = <&phy17>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
&eth1 {
status = "okay";
pll-data = <0x03000101 0x00000101 0x00001616>;
phy-handle = <&phy1>;
fixed-link {
speed = <1000>;
full-duplex;
};
};
&gpio {
status = "okay";
};
&wmac {
status = "okay";
mtd-cal-data = <&art 0x1000>;
};
&pcie1 {
status = "okay";
wifi@0,0 {
compatible = "qcom,ath10k";
reg = <0 0 0 0 0>;
qcom,ath10k-calibration-variant = "ZyXEL-NBG6716";
};
};
&usb_phy0 {
status = "okay";
};
&usb_phy1 {
status = "okay";
};
&usb0 {
status = "okay";
hub_port0: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};
&usb1 {
status = "okay";
hub_port1: port@1 {
reg = <1>;
#trigger-source-cells = <0>;
};
};