From 6838692737e3a3bd5cb1cf3df370dbd6d28abaf8 Mon Sep 17 00:00:00 2001 From: Roman Yeryomin Date: Fri, 19 Aug 2016 13:54:07 +0300 Subject: ipq806x: Netgear R7800 is ipq8065, rename dts Signed-off-by: Roman Yeryomin --- .../files/arch/arm/boot/dts/qcom-ipq8064-r7800.dts | 372 --------------------- .../files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts | 372 +++++++++++++++++++++ 2 files changed, 372 insertions(+), 372 deletions(-) delete mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7800.dts create mode 100644 target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts (limited to 'target') diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7800.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7800.dts deleted file mode 100644 index 498624325d..0000000000 --- a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8064-r7800.dts +++ /dev/null @@ -1,372 +0,0 @@ -#include "qcom-ipq8065-v1.0.dtsi" - -#include - -/ { - model = "Netgear Nighthawk X4S R7800"; - compatible = "netgear,r7800", "qcom,ipq8065"; - - memory@0 { - reg = <0x42000000 0x1e000000>; - device_type = "memory"; - }; - - reserved-memory { - #address-cells = <1>; - #size-cells = <1>; - ranges; - rsvd@41200000 { - reg = <0x41200000 0x300000>; - no-map; - }; - }; - - aliases { - serial0 = &uart4; - mdio-gpio0 = &mdio0; - }; - - chosen { - bootargs = "rootfstype=squashfs noinitrd"; - linux,stdout-path = "serial0:115200n8"; - }; - - soc { - pinmux@800000 { - i2c4_pins: i2c4_pinmux { - pins = "gpio12", "gpio13"; - function = "gsbi4"; - bias-disable; - }; - - pcie0_pins: pcie0_pinmux { - mux { - pins = "gpio3"; - function = "pcie1_rst"; - drive-strength = <12>; - bias-disable; - }; - }; - - pcie1_pins: pcie1_pinmux { - mux { - pins = "gpio48"; - function = "pcie2_rst"; - drive-strength = <12>; - bias-disable; - }; - }; - - nand_pins: nand_pins { - mux { - pins = "gpio34", "gpio35", "gpio36", - "gpio37", "gpio38", "gpio39", - "gpio40", "gpio41", "gpio42", - "gpio43", "gpio44", "gpio45", - "gpio46", "gpio47"; - function = "nand"; - drive-strength = <10>; - bias-disable; - }; - pullups { - pins = "gpio39"; - bias-pull-up; - }; - hold { - pins = "gpio40", "gpio41", "gpio42", - "gpio43", "gpio44", "gpio45", - "gpio46", "gpio47"; - bias-bus-hold; - }; - }; - - mdio0_pins: mdio0_pins { - mux { - pins = "gpio0", "gpio1"; - function = "gpio"; - drive-strength = <8>; - bias-disable; - }; - }; - - rgmii2_pins: rgmii2_pins { - mux { - pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32", - "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62" ; - function = "rgmii2"; - drive-strength = <8>; - bias-disable; - }; - }; - }; - - gsbi@16300000 { - qcom,mode = ; - status = "ok"; - serial@16340000 { - status = "ok"; - }; - /* - * 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. - */ - }; - - sata-phy@1b400000 { - status = "ok"; - }; - - sata@29000000 { - status = "ok"; - }; - - phy@100f8800 { /* USB3 port 1 HS phy */ - status = "ok"; - }; - - phy@100f8830 { /* USB3 port 1 SS phy */ - status = "ok"; - }; - - phy@110f8800 { /* USB3 port 0 HS phy */ - status = "ok"; - }; - - phy@110f8830 { /* USB3 port 0 SS phy */ - status = "ok"; - }; - - usb30@0 { - status = "ok"; - }; - - usb30@1 { - status = "ok"; - }; - - pcie0: pci@1b500000 { - status = "ok"; - reset-gpio = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>; - pinctrl-0 = <&pcie0_pins>; - pinctrl-names = "default"; - }; - - pcie1: pci@1b700000 { - status = "ok"; - reset-gpio = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>; - pinctrl-0 = <&pcie1_pins>; - pinctrl-names = "default"; - }; - - nand@1ac00000 { - status = "ok"; - - pinctrl-0 = <&nand_pins>; - pinctrl-names = "default"; - - nand-ecc-strength = <4>; - nand-bus-width = <8>; - - #address-cells = <1>; - #size-cells = <1>; - - qcadata@0 { - label = "qcadata"; - reg = <0x0000000 0x0c80000>; - read-only; - }; - - APPSBL@c80000 { - label = "APPSBL"; - reg = <0x0c80000 0x0500000>; - read-only; - }; - - APPSBLENV@1180000 { - label = "APPSBLENV"; - reg = <0x1180000 0x0080000>; - read-only; - }; - - art: art@1200000 { - label = "art"; - reg = <0x1200000 0x0140000>; - read-only; - }; - - artbak: art@1340000 { - label = "artbak"; - reg = <0x1340000 0x0140000>; - read-only; - }; - - kernel@1480000 { - label = "kernel"; - reg = <0x1480000 0x0200000>; - }; - - ubi@1680000 { - label = "ubi"; - reg = <0x1680000 0x1E00000>; - }; - - netgear@3480000 { - label = "netgear"; - reg = <0x3480000 0x4480000>; - read-only; - }; - - reserve@7900000 { - label = "reserve"; - reg = <0x7900000 0x0700000>; - read-only; - }; - - firmware@1480000 { - label = "firmware"; - reg = <0x1480000 0x2000000>; - }; - - }; - - mdio0: mdio { - compatible = "virtual,mdio-gpio"; - #address-cells = <1>; - #size-cells = <0>; - gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>; - pinctrl-0 = <&mdio0_pins>; - pinctrl-names = "default"; - - phy0: ethernet-phy@0 { - device_type = "ethernet-phy"; - reg = <0>; - qca,ar8327-initvals = < - 0x00004 0x7600000 /* PAD0_MODE */ - 0x00008 0x1000000 /* PAD5_MODE */ - 0x0000c 0x80 /* PAD6_MODE */ - 0x000e4 0xaa545 /* MAC_POWER_SEL */ - 0x000e0 0xc74164de /* SGMII_CTRL */ - 0x0007c 0x4e /* PORT0_STATUS */ - 0x00094 0x4e /* PORT6_STATUS */ - >; - }; - - phy4: ethernet-phy@4 { - device_type = "ethernet-phy"; - reg = <4>; - }; - }; - - gmac1: ethernet@37200000 { - status = "ok"; - phy-mode = "rgmii"; - qcom,id = <1>; - - pinctrl-0 = <&rgmii2_pins>; - pinctrl-names = "default"; - - mtd-mac-address = <&art 6>; - - fixed-link { - speed = <1000>; - full-duplex; - }; - }; - - gmac2: ethernet@37400000 { - status = "ok"; - phy-mode = "sgmii"; - qcom,id = <2>; - - mtd-mac-address = <&art 0>; - - fixed-link { - speed = <1000>; - full-duplex; - }; - }; - }; - - gpio-keys { - compatible = "gpio-keys"; - - wifi { - label = "wifi"; - gpios = <&qcom_pinmux 6 1>; - linux,code = ; - }; - - reset { - label = "reset"; - gpios = <&qcom_pinmux 54 1>; - linux,code = ; - }; - - wps { - label = "wps"; - gpios = <&qcom_pinmux 65 1>; - linux,code = ; - }; - }; - - gpio-leds { - compatible = "gpio-leds"; - - usb1 { - label = "r7800:amber:usb1"; - gpios = <&qcom_pinmux 7 0>; - }; - - usb3 { - label = "r7800:amber:usb3"; - gpios = <&qcom_pinmux 8 0>; - }; - - status { - label = "r7800:amber:status"; - gpios = <&qcom_pinmux 9 0>; - }; - - internet { - label = "r7800:white:internet"; - gpios = <&qcom_pinmux 22 0>; - }; - - wan { - label = "r7800:white:wan"; - gpios = <&qcom_pinmux 23 0>; - }; - - wps { - label = "r7800:white:wps"; - gpios = <&qcom_pinmux 24 0>; - }; - - esata { - label = "r7800:white:esata"; - gpios = <&qcom_pinmux 26 0>; - }; - - power { - label = "r7800:white:power"; - gpios = <&qcom_pinmux 53 0>; - default-state = "on"; - }; - - rfkill { - label = "r7800:white:rfkill"; - gpios = <&qcom_pinmux 64 0>; - }; - - wifi { - label = "r7800:white:wifi"; - gpios = <&qcom_pinmux 67 0>; - }; - }; -}; - -&adm_dma { - status = "ok"; -}; diff --git a/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts new file mode 100644 index 0000000000..498624325d --- /dev/null +++ b/target/linux/ipq806x/files/arch/arm/boot/dts/qcom-ipq8065-r7800.dts @@ -0,0 +1,372 @@ +#include "qcom-ipq8065-v1.0.dtsi" + +#include + +/ { + model = "Netgear Nighthawk X4S R7800"; + compatible = "netgear,r7800", "qcom,ipq8065"; + + memory@0 { + reg = <0x42000000 0x1e000000>; + device_type = "memory"; + }; + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + rsvd@41200000 { + reg = <0x41200000 0x300000>; + no-map; + }; + }; + + aliases { + serial0 = &uart4; + mdio-gpio0 = &mdio0; + }; + + chosen { + bootargs = "rootfstype=squashfs noinitrd"; + linux,stdout-path = "serial0:115200n8"; + }; + + soc { + pinmux@800000 { + i2c4_pins: i2c4_pinmux { + pins = "gpio12", "gpio13"; + function = "gsbi4"; + bias-disable; + }; + + pcie0_pins: pcie0_pinmux { + mux { + pins = "gpio3"; + function = "pcie1_rst"; + drive-strength = <12>; + bias-disable; + }; + }; + + pcie1_pins: pcie1_pinmux { + mux { + pins = "gpio48"; + function = "pcie2_rst"; + drive-strength = <12>; + bias-disable; + }; + }; + + nand_pins: nand_pins { + mux { + pins = "gpio34", "gpio35", "gpio36", + "gpio37", "gpio38", "gpio39", + "gpio40", "gpio41", "gpio42", + "gpio43", "gpio44", "gpio45", + "gpio46", "gpio47"; + function = "nand"; + drive-strength = <10>; + bias-disable; + }; + pullups { + pins = "gpio39"; + bias-pull-up; + }; + hold { + pins = "gpio40", "gpio41", "gpio42", + "gpio43", "gpio44", "gpio45", + "gpio46", "gpio47"; + bias-bus-hold; + }; + }; + + mdio0_pins: mdio0_pins { + mux { + pins = "gpio0", "gpio1"; + function = "gpio"; + drive-strength = <8>; + bias-disable; + }; + }; + + rgmii2_pins: rgmii2_pins { + mux { + pins = "gpio27", "gpio28", "gpio29", "gpio30", "gpio31", "gpio32", + "gpio51", "gpio52", "gpio59", "gpio60", "gpio61", "gpio62" ; + function = "rgmii2"; + drive-strength = <8>; + bias-disable; + }; + }; + }; + + gsbi@16300000 { + qcom,mode = ; + status = "ok"; + serial@16340000 { + status = "ok"; + }; + /* + * 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. + */ + }; + + sata-phy@1b400000 { + status = "ok"; + }; + + sata@29000000 { + status = "ok"; + }; + + phy@100f8800 { /* USB3 port 1 HS phy */ + status = "ok"; + }; + + phy@100f8830 { /* USB3 port 1 SS phy */ + status = "ok"; + }; + + phy@110f8800 { /* USB3 port 0 HS phy */ + status = "ok"; + }; + + phy@110f8830 { /* USB3 port 0 SS phy */ + status = "ok"; + }; + + usb30@0 { + status = "ok"; + }; + + usb30@1 { + status = "ok"; + }; + + pcie0: pci@1b500000 { + status = "ok"; + reset-gpio = <&qcom_pinmux 3 GPIO_ACTIVE_LOW>; + pinctrl-0 = <&pcie0_pins>; + pinctrl-names = "default"; + }; + + pcie1: pci@1b700000 { + status = "ok"; + reset-gpio = <&qcom_pinmux 48 GPIO_ACTIVE_LOW>; + pinctrl-0 = <&pcie1_pins>; + pinctrl-names = "default"; + }; + + nand@1ac00000 { + status = "ok"; + + pinctrl-0 = <&nand_pins>; + pinctrl-names = "default"; + + nand-ecc-strength = <4>; + nand-bus-width = <8>; + + #address-cells = <1>; + #size-cells = <1>; + + qcadata@0 { + label = "qcadata"; + reg = <0x0000000 0x0c80000>; + read-only; + }; + + APPSBL@c80000 { + label = "APPSBL"; + reg = <0x0c80000 0x0500000>; + read-only; + }; + + APPSBLENV@1180000 { + label = "APPSBLENV"; + reg = <0x1180000 0x0080000>; + read-only; + }; + + art: art@1200000 { + label = "art"; + reg = <0x1200000 0x0140000>; + read-only; + }; + + artbak: art@1340000 { + label = "artbak"; + reg = <0x1340000 0x0140000>; + read-only; + }; + + kernel@1480000 { + label = "kernel"; + reg = <0x1480000 0x0200000>; + }; + + ubi@1680000 { + label = "ubi"; + reg = <0x1680000 0x1E00000>; + }; + + netgear@3480000 { + label = "netgear"; + reg = <0x3480000 0x4480000>; + read-only; + }; + + reserve@7900000 { + label = "reserve"; + reg = <0x7900000 0x0700000>; + read-only; + }; + + firmware@1480000 { + label = "firmware"; + reg = <0x1480000 0x2000000>; + }; + + }; + + mdio0: mdio { + compatible = "virtual,mdio-gpio"; + #address-cells = <1>; + #size-cells = <0>; + gpios = <&qcom_pinmux 1 0 &qcom_pinmux 0 0>; + pinctrl-0 = <&mdio0_pins>; + pinctrl-names = "default"; + + phy0: ethernet-phy@0 { + device_type = "ethernet-phy"; + reg = <0>; + qca,ar8327-initvals = < + 0x00004 0x7600000 /* PAD0_MODE */ + 0x00008 0x1000000 /* PAD5_MODE */ + 0x0000c 0x80 /* PAD6_MODE */ + 0x000e4 0xaa545 /* MAC_POWER_SEL */ + 0x000e0 0xc74164de /* SGMII_CTRL */ + 0x0007c 0x4e /* PORT0_STATUS */ + 0x00094 0x4e /* PORT6_STATUS */ + >; + }; + + phy4: ethernet-phy@4 { + device_type = "ethernet-phy"; + reg = <4>; + }; + }; + + gmac1: ethernet@37200000 { + status = "ok"; + phy-mode = "rgmii"; + qcom,id = <1>; + + pinctrl-0 = <&rgmii2_pins>; + pinctrl-names = "default"; + + mtd-mac-address = <&art 6>; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + + gmac2: ethernet@37400000 { + status = "ok"; + phy-mode = "sgmii"; + qcom,id = <2>; + + mtd-mac-address = <&art 0>; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; + }; + + gpio-keys { + compatible = "gpio-keys"; + + wifi { + label = "wifi"; + gpios = <&qcom_pinmux 6 1>; + linux,code = ; + }; + + reset { + label = "reset"; + gpios = <&qcom_pinmux 54 1>; + linux,code = ; + }; + + wps { + label = "wps"; + gpios = <&qcom_pinmux 65 1>; + linux,code = ; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + usb1 { + label = "r7800:amber:usb1"; + gpios = <&qcom_pinmux 7 0>; + }; + + usb3 { + label = "r7800:amber:usb3"; + gpios = <&qcom_pinmux 8 0>; + }; + + status { + label = "r7800:amber:status"; + gpios = <&qcom_pinmux 9 0>; + }; + + internet { + label = "r7800:white:internet"; + gpios = <&qcom_pinmux 22 0>; + }; + + wan { + label = "r7800:white:wan"; + gpios = <&qcom_pinmux 23 0>; + }; + + wps { + label = "r7800:white:wps"; + gpios = <&qcom_pinmux 24 0>; + }; + + esata { + label = "r7800:white:esata"; + gpios = <&qcom_pinmux 26 0>; + }; + + power { + label = "r7800:white:power"; + gpios = <&qcom_pinmux 53 0>; + default-state = "on"; + }; + + rfkill { + label = "r7800:white:rfkill"; + gpios = <&qcom_pinmux 64 0>; + }; + + wifi { + label = "r7800:white:wifi"; + gpios = <&qcom_pinmux 67 0>; + }; + }; +}; + +&adm_dma { + status = "ok"; +}; -- cgit v1.2.3 From 5a17ceb0ab6cdc554adc3a3bf1a59429f900a9c7 Mon Sep 17 00:00:00 2001 From: Roman Yeryomin Date: Fri, 19 Aug 2016 13:56:26 +0300 Subject: ipq806x: fix ipq8065 s2a/s2b regulator frequency (fixes ethernet performance) Signed-off-by: Roman Yeryomin --- target/linux/ipq806x/patches-4.4/168-ARM-qcom-add-smb208-DT.patch | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'target') diff --git a/target/linux/ipq806x/patches-4.4/168-ARM-qcom-add-smb208-DT.patch b/target/linux/ipq806x/patches-4.4/168-ARM-qcom-add-smb208-DT.patch index 0ad0508a9d..17596b451a 100644 --- a/target/linux/ipq806x/patches-4.4/168-ARM-qcom-add-smb208-DT.patch +++ b/target/linux/ipq806x/patches-4.4/168-ARM-qcom-add-smb208-DT.patch @@ -127,7 +127,7 @@ Signed-off-by: Adrian Panella - smb208_s2b: smb208-s2b { - compatible = "qcom,rpm-smb208"; - reg = ; -+ qcom,switch-mode-frequency = <1400000>; ++ qcom,switch-mode-frequency = <1200000>; + }; - regulator-min-microvolt = < 800000>; @@ -137,7 +137,7 @@ Signed-off-by: Adrian Panella + regulator-max-microvolt = <1275000>; - qcom,switch-mode-frequency = <1400000>; -+ qcom,switch-mode-frequency = <1400000>; ++ qcom,switch-mode-frequency = <1200000>; + }; }; -- cgit v1.2.3 From 31fa21bcdc751ea52b937b07c9d8ff00cd3246d2 Mon Sep 17 00:00:00 2001 From: Roman Yeryomin Date: Sat, 20 Aug 2016 13:31:43 +0300 Subject: ipq806x: forgotten r7800 dts rename in patch Signed-off-by: Roman Yeryomin --- target/linux/ipq806x/patches-4.4/800-devicetree.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'target') diff --git a/target/linux/ipq806x/patches-4.4/800-devicetree.patch b/target/linux/ipq806x/patches-4.4/800-devicetree.patch index 39f59d36c8..92ecc95ce9 100644 --- a/target/linux/ipq806x/patches-4.4/800-devicetree.patch +++ b/target/linux/ipq806x/patches-4.4/800-devicetree.patch @@ -21,7 +21,7 @@ Signed-off-by: Jonas Gorski qcom-ipq8064-db149.dtb \ + qcom-ipq8064-ea8500.dtb \ + qcom-ipq8064-r7500.dtb \ -+ qcom-ipq8064-r7800.dtb \ ++ qcom-ipq8065-r7800.dtb \ qcom-msm8660-surf.dtb \ qcom-msm8960-cdp.dtb \ qcom-msm8974-sony-xperia-honami.dtb -- cgit v1.2.3