// SPDX-License-Identifier: GPL-2.0-or-later OR MIT /dts-v1/; #include #include #include "qca955x.dtsi" / { compatible = "zyxel,nbg6716", "qca,qca9558"; model = "ZyXEL NBG6716"; 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 = ; gpios = <&gpio 23 GPIO_ACTIVE_LOW>; debounce-interval = <60>; }; wifi { label = "WiFi button"; linux,code = ; linux,input-type = ; gpios = <&gpio 1 GPIO_ACTIVE_HIGH>; debounce-interval = <60>; }; usb1 { label = "USB1 eject button"; linux,code = ; gpios = <&gpio 0 GPIO_ACTIVE_LOW>; debounce-interval = <60>; }; usb2 { label = "USB2 eject button"; linux,code = ; gpios = <&gpio 14 GPIO_ACTIVE_LOW>; debounce-interval = <60>; }; wps { label = "WPS button"; linux,code = ; 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"; }; }; ð0 { status = "okay"; pll-data = <0xa6000000 0x00000101 0x00001616>; phy-handle = <&phy17>; fixed-link { speed = <1000>; full-duplex; }; }; ð1 { 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>; }; };