From c71c639c59b477c81a3399104476a239de643e31 Mon Sep 17 00:00:00 2001 From: ACwifidude Date: Fri, 18 Jun 2021 14:33:01 -0500 Subject: [PATCH] ipq806x: NSS Hardware Offloading Support ipq8064 Devices --- .../boot/dts/qcom-ipq8064-ad7200-c2600.dtsi | 32 +++++++++++++++- .../arch/arm/boot/dts/qcom-ipq8064-d7800.dts | 28 ++++++++++++++ .../arm/boot/dts/qcom-ipq8064-eax500.dtsi | 34 ++++++++++++++++- .../arch/arm/boot/dts/qcom-ipq8064-g10.dts | 38 +++++++++++++++++-- .../arch/arm/boot/dts/qcom-ipq8064-r7500.dts | 30 ++++++++++++++- .../arm/boot/dts/qcom-ipq8064-r7500v2.dts | 28 ++++++++++++++ 6 files changed, 181 insertions(+), 9 deletions(-) diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ad7200-c2600.dtsi b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ad7200-c2600.dtsi index cd6c0ea77d..ddc03a678e 100644 --- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ad7200-c2600.dtsi +++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-ad7200-c2600.dtsi @@ -288,8 +288,22 @@ &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 = <4>; + 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"; @@ -306,12 +320,26 @@ &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 = <0>; /* none */ + 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>; + nvmem-cells = <&macaddr_defaultmac_8>; nvmem-cell-names = "mac-address"; - + fixed-link { speed = <1000>; full-duplex; diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-d7800.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-d7800.dts index 6e022cece0..d3bd45189b 100644 --- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-d7800.dts +++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-d7800.dts @@ -291,8 +291,22 @@ &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 = <4>; + 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"; @@ -308,8 +322,22 @@ &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 = <0>; /* none */ + 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>; nvmem-cells = <&macaddr_art_0>; nvmem-cell-names = "mac-address"; diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi index 98c4b2d29d..86c9bee75e 100644 --- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi +++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-eax500.dtsi @@ -173,13 +173,30 @@ 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"; @@ -192,9 +209,22 @@ &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 = <0>; + 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>; diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-g10.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-g10.dts index 45efb2b46f..d1a3853bc4 100644 --- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-g10.dts +++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-g10.dts @@ -122,13 +122,26 @@ &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 = <4>; + 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"; - phy-mode = "rgmii"; - qcom,id = <1>; - fixed-link { speed = <1000>; full-duplex; @@ -137,9 +150,22 @@ &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 = <0>; + 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>; @@ -170,6 +196,10 @@ 0x00094 0x4e /* PORT6_STATUS */ >; }; + + ethernet-phy@4 { + reg = <4>; + }; }; &nand_controller { diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500.dts index c7d26a0772..471a0ad535 100644 --- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500.dts +++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500.dts @@ -1,4 +1,4 @@ -#include "qcom-ipq8064-v1.0.dtsi" +#include "qcom-ipq8064-v2.0.dtsi" #include #include @@ -263,8 +263,22 @@ &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 = <4>; + 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"; @@ -280,8 +294,22 @@ &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 = <0>; /* none */ + 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>; nvmem-cells = <&macaddr_art_0>; nvmem-cell-names = "mac-address"; diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts index 0f22480434..60165c0119 100644 --- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts +++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7500v2.dts @@ -293,8 +293,22 @@ &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 = <4>; + 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"; @@ -310,8 +324,22 @@ &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 = <0>; /* none */ + 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>; nvmem-cells = <&macaddr_art_0>; nvmem-cell-names = "mac-address";