// SPDX-License-Identifier: GPL-2.0-or-later OR MIT #include "qcom-ipq8064-v2.0.dtsi" #include #include / { model = "Linksys E8350 V1 WiFi Router"; compatible = "linksys,e8350-v1", "qcom,ipq8064"; memory@0 { reg = <0x42000000 0x1e000000>; device_type = "memory"; }; aliases { serial0 = &gsbi4_serial; led-boot = &led_power; led-failsafe = &led_power; led-running = &led_power; led-upgrade = &led_power; }; keys { compatible = "gpio-keys"; pinctrl-0 = <&button_pins>; pinctrl-names = "default"; reset { label = "reset"; gpios = <&qcom_pinmux 68 GPIO_ACTIVE_LOW>; linux,code = ; }; wps { label = "wps"; gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>; linux,code = ; }; wifi { label = "wifi"; gpios = <&qcom_pinmux 67 GPIO_ACTIVE_LOW>; linux,code = ; }; }; nand-controller@1ac00000 { compatible = "qcom,ipq806x-nand"; reg = <0x1ac00000 0x800>; clocks = <&gcc EBI2_CLK>, <&gcc EBI2_AON_CLK>; clock-names = "core", "aon"; dmas = <&adm_dma 3>; dma-names = "rxtx"; qcom,cmd-crci = <15>; qcom,data-crci = <3>; nand@0 { reg = <0>; nand-ecc-strength = <4>; nand-bus-width = <8>; partitions { compatible = "fixed-partitions"; partition@0 { label = "ubi"; reg = <0 0x4000000>; }; partition@4000000 { label = "extra"; reg = <0x4000000 0x4000000>; }; }; }; }; leds { compatible = "gpio-leds"; pinctrl-0 = <&led_pins>; pinctrl-names = "default"; led_power: power { label = "e8350-v1:green:power"; gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>; default-state = "keep"; }; wps { label = "e8350-v1:green:wps"; gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>; }; wifi { label = "e8350-v1:green:wifi"; gpios = <&qcom_pinmux 54 GPIO_ACTIVE_HIGH>; }; }; }; &qcom_pinmux { button_pins: button_pins { mux { pins = "gpio68","gpio65", "gpio67"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; }; led_pins: led_pins { mux { pins = "gpio26","gpio53", "gpio54"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; }; }; &gsbi4 { qcom,mode = ; status = "okay"; serial@16340000 { status = "okay"; }; /* * The i2c device on gsbi4 should not be enabled. * On ipq806x designs gsbi4 i2c is meant for exclusive * RPM usage. Turning this on in kernel manifests as * i2c failure for the RPM. */ }; &gsbi5 { qcom,mode = ; status = "okay"; spi5: spi@1a280000 { status = "okay"; pinctrl-0 = <&spi_pins>; pinctrl-names = "default"; cs-gpios = <&qcom_pinmux 20 GPIO_ACTIVE_HIGH>; m25p80@0 { compatible = "jedec,spi-nor"; spi-max-frequency = <51200000>; reg = <0>; partitions { compatible = "qcom,smem"; }; }; }; }; &sata_phy { status = "okay"; }; &sata { status = "okay"; }; &usb3_0 { clocks = <&gcc USB30_1_MASTER_CLK>; status = "okay"; }; &usb3_1 { clocks = <&gcc USB30_0_MASTER_CLK>; status = "okay"; }; &pcie0 { status = "okay"; }; &pcie1 { status = "okay"; }; &pcie2 { status = "okay"; }; &mdio0 { status = "okay"; pinctrl-0 = <&mdio0_pins>; pinctrl-names = "default"; phy0: ethernet-phy@0 { reg = <0>; qca,ar8327-initvals = < 0x00004 0x7600000 /* PAD0_MODE */ 0x00008 0x1000000 /* PAD5_MODE */ 0x0000c 0x80 /* PAD6_MODE */ 0x00010 0x2613a0 /* PWS_REG */ 0x000e4 0x6a545 /* MAC_POWER_SEL */ 0x000e0 0xc74164de /* SGMII_CTRL */ 0x0007c 0x4e /* PORT0_STATUS */ 0x00094 0x4e /* PORT6_STATUS */ >; }; phy4: ethernet-phy@4 { reg = <4>; }; }; &gmac1 { status = "okay"; compatible = "qcom,nss-gmac"; reg = <0x37200000 0x200000>; interrupts = ; phy-mode = "rgmii"; qcom,id = <1>; qcom,pcs-chanid = <0>; qcom,phy-mdio-addr = <0>; qcom,poll-required = <0>; qcom,rgmii-delay = <1>; qcom,phy_mii_type = <0>; qcom,emulation = <0>; qcom,forced-speed = <1000>; qcom,forced-duplex = <1>; qcom,socver = <0>; qcom,irq = <255>; mdiobus = <&mdio0>; pinctrl-0 = <&rgmii2_pins>; pinctrl-names = "default"; fixed-link { speed = <1000>; full-duplex; }; }; &gmac2 { status = "okay"; compatible = "qcom,nss-gmac"; reg = <0x37400000 0x200000>; interrupts = ; phy-mode = "sgmii"; qcom,id = <2>; qcom,pcs-chanid = <1>; qcom,phy-mdio-addr = <4>; qcom,poll-required = <0>; /* no polling */ qcom,rgmii-delay = <0>; qcom,phy_mii_type = <1>; qcom,emulation = <0>; qcom,forced-speed = <1000>; qcom,forced-duplex = <1>; qcom,socver = <0>; qcom,irq = <258>; mdiobus = <&mdio0>; fixed-link { speed = <1000>; full-duplex; }; }; &tcsr { qcom,usb-ctrl-select = ; compatible = "qcom,tcsr"; }; &adm_dma { status = "okay"; };