57b1e951b5
This patch increases available space from 20MB to 86MB. Netgrear OEM firmware contains a 'netgear' partition followed 'ubi', which can be used in openwrt for larger ubi space. (similar to Netgear R7800). original author (notmyrealhandle) tested this on R7500v2 and point that OEM firmware can auto rebuild this partition (if used by openwrt). Author: notmyrealhandle<22336358+notmyrealhandle@users.noreply.github.com> Signed-off-by: Wang Xin-yu (王昕宇) <comicfans44@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [minor touch-ups]
408 lines
7.4 KiB
Plaintext
408 lines
7.4 KiB
Plaintext
#include "qcom-ipq8064-v2.0.dtsi"
|
|
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
model = "Netgear Nighthawk X4 R7500v2";
|
|
compatible = "netgear,r7500v2", "qcom,ipq8064";
|
|
|
|
memory@0 {
|
|
reg = <0x42000000 0x1e000000>;
|
|
device_type = "memory";
|
|
};
|
|
|
|
reserved-memory {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
rsvd@41200000 {
|
|
reg = <0x41200000 0x300000>;
|
|
no-map;
|
|
};
|
|
|
|
rsvd@5fe00000 {
|
|
reg = <0x5fe00000 0x200000>;
|
|
reusable;
|
|
};
|
|
};
|
|
|
|
aliases {
|
|
serial0 = &gsbi4_serial;
|
|
mdio-gpio0 = &mdio0;
|
|
|
|
led-boot = &power;
|
|
led-failsafe = &power;
|
|
led-running = &power;
|
|
led-upgrade = &power;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "rootfstype=squashfs noinitrd";
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
|
|
soc {
|
|
pinmux@800000 {
|
|
button_pins: button_pins {
|
|
mux {
|
|
pins = "gpio6", "gpio54", "gpio65";
|
|
function = "gpio";
|
|
drive-strength = <2>;
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
i2c4_pins: i2c4_pinmux {
|
|
mux {
|
|
pins = "gpio12", "gpio13";
|
|
function = "gsbi4";
|
|
drive-strength = <12>;
|
|
bias-disable;
|
|
};
|
|
};
|
|
|
|
led_pins: led_pins {
|
|
mux {
|
|
pins = "gpio7", "gpio8", "gpio9", "gpio22", "gpio23",
|
|
"gpio24","gpio26", "gpio53", "gpio64";
|
|
function = "gpio";
|
|
drive-strength = <2>;
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
mdio0_pins: mdio0_pins {
|
|
mux {
|
|
pins = "gpio0", "gpio1";
|
|
function = "gpio";
|
|
drive-strength = <8>;
|
|
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;
|
|
};
|
|
};
|
|
|
|
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;
|
|
};
|
|
};
|
|
|
|
usb0_pwr_en_pins: usb0_pwr_en_pins {
|
|
mux {
|
|
pins = "gpio15";
|
|
function = "gpio";
|
|
drive-strength = <12>;
|
|
bias-pull-down;
|
|
output-high;
|
|
};
|
|
};
|
|
|
|
usb1_pwr_en_pins: usb1_pwr_en_pins {
|
|
mux {
|
|
pins = "gpio16", "gpio68";
|
|
function = "gpio";
|
|
drive-strength = <12>;
|
|
bias-pull-down;
|
|
output-high;
|
|
};
|
|
};
|
|
};
|
|
|
|
gsbi@16300000 {
|
|
qcom,mode = <GSBI_PROT_I2C_UART>;
|
|
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";
|
|
|
|
pinctrl-0 = <&usb0_pwr_en_pins>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
usb30@1 {
|
|
status = "ok";
|
|
|
|
pinctrl-0 = <&usb1_pwr_en_pins>;
|
|
pinctrl-names = "default";
|
|
};
|
|
|
|
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";
|
|
force_gen1 = <1>;
|
|
};
|
|
|
|
nand@1ac00000 {
|
|
status = "ok";
|
|
|
|
pinctrl-0 = <&nand_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
cs0 {
|
|
reg = <0>;
|
|
compatible = "qcom,nandcs";
|
|
|
|
nand-ecc-strength = <4>;
|
|
nand-bus-width = <8>;
|
|
nand-ecc-step-size = <512>;
|
|
|
|
partitions {
|
|
compatible = "fixed-partitions";
|
|
#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 0x0400000>;
|
|
};
|
|
|
|
ubi@1880000 {
|
|
label = "ubi";
|
|
reg = <0x1880000 0x6080000>;
|
|
};
|
|
|
|
reserve@7900000 {
|
|
label = "reserve";
|
|
reg = <0x7900000 0x0700000>;
|
|
read-only;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
mdio0: mdio {
|
|
compatible = "virtual,mdio-gpio";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
gpios = <&qcom_pinmux 1 GPIO_ACTIVE_HIGH &qcom_pinmux 0 GPIO_ACTIVE_HIGH>;
|
|
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 */
|
|
0x000e4 0xaa545 /* MAC_POWER_SEL */
|
|
0x000e0 0xc74164de /* SGMII_CTRL */
|
|
0x0007c 0x4e /* PORT0_STATUS */
|
|
0x00094 0x4e /* PORT6_STATUS */
|
|
>;
|
|
};
|
|
|
|
phy4: ethernet-phy@4 {
|
|
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;
|
|
};
|
|
};
|
|
};
|
|
|
|
keys {
|
|
compatible = "gpio-keys";
|
|
pinctrl-0 = <&button_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
wifi {
|
|
label = "wifi";
|
|
gpios = <&qcom_pinmux 6 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RFKILL>;
|
|
};
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&qcom_pinmux 54 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART>;
|
|
};
|
|
|
|
wps {
|
|
label = "wps";
|
|
gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_WPS_BUTTON>;
|
|
};
|
|
};
|
|
|
|
leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-0 = <&led_pins>;
|
|
pinctrl-names = "default";
|
|
|
|
usb1 {
|
|
label = "r7500v2:amber:usb1";
|
|
gpios = <&qcom_pinmux 7 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
usb3 {
|
|
label = "r7500v2:amber:usb3";
|
|
gpios = <&qcom_pinmux 8 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
status {
|
|
label = "r7500v2:amber:status";
|
|
gpios = <&qcom_pinmux 9 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
internet {
|
|
label = "r7500v2:white:internet";
|
|
gpios = <&qcom_pinmux 22 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
wan {
|
|
label = "r7500v2:white:wan";
|
|
gpios = <&qcom_pinmux 23 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
wps {
|
|
label = "r7500v2:white:wps";
|
|
gpios = <&qcom_pinmux 24 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
esata {
|
|
label = "r7500v2:white:esata";
|
|
gpios = <&qcom_pinmux 26 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
|
|
power: power {
|
|
label = "r7500v2:white:power";
|
|
gpios = <&qcom_pinmux 53 GPIO_ACTIVE_HIGH>;
|
|
default-state = "keep";
|
|
};
|
|
|
|
wifi {
|
|
label = "r7500v2:white:wifi";
|
|
gpios = <&qcom_pinmux 64 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&adm_dma {
|
|
status = "ok";
|
|
};
|