0ddcbee261
The command-line arguments provided by the boot loader will be appended to a new device tree property: bootloader-args. If there is a property "append-rootblock" in DT under /chosen and a root= option in bootloaders command line it will be parsed and added to DT bootargs with the form: <append-rootblock>XX. Only command line ATAG will be processed, the rest of the ATAGs sent by bootloader will be ignored. This is usefull in dual boot systems, to get the current root partition without afecting the rest of the system. Signed-off-by: Adrian Panella <ianchi74@outlook.com>
381 lines
6.8 KiB
Text
381 lines
6.8 KiB
Text
#include "qcom-ipq8064-v1.0.dtsi"
|
|
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
model = "Linksys EA8500 WiFi Router";
|
|
compatible = "linksys,ea8500", "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;
|
|
};
|
|
};
|
|
|
|
aliases {
|
|
serial0 = &uart4;
|
|
mdio-gpio0 = &mdio0;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "console=ttyMSM0,115200n8";
|
|
linux,stdout-path = "serial0:115200n8";
|
|
append-rootblock = "ubi.mtd="; /* append to bootargs adding the root deviceblock nbr from bootloader */
|
|
};
|
|
|
|
soc {
|
|
pinmux@800000 {
|
|
i2c4_pins: i2c4_pinmux {
|
|
pins = "gpio12", "gpio13";
|
|
function = "gsbi4";
|
|
bias-disable;
|
|
};
|
|
|
|
spi_pins: spi_pins {
|
|
mux {
|
|
pins = "gpio18", "gpio19", "gpio21";
|
|
function = "gsbi5";
|
|
drive-strength = <10>;
|
|
bias-none;
|
|
};
|
|
};
|
|
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 = <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";
|
|
};
|
|
|
|
usb30@1 {
|
|
status = "ok";
|
|
};
|
|
|
|
pcie0: pci@1b500000 {
|
|
status = "ok";
|
|
phy-tx0-term-offset = <7>;
|
|
};
|
|
|
|
pcie1: pci@1b700000 {
|
|
status = "ok";
|
|
phy-tx0-term-offset = <7>;
|
|
};
|
|
|
|
pcie2: pci@1b900000 {
|
|
status = "ok";
|
|
phy-tx0-term-offset = <7>;
|
|
};
|
|
|
|
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>;
|
|
|
|
SBL1@0 {
|
|
label = "SBL1";
|
|
reg = <0x0000000 0x0040000>;
|
|
read-only;
|
|
};
|
|
|
|
MIBIB@40000 {
|
|
label = "MIBIB";
|
|
reg = <0x0040000 0x0140000>;
|
|
read-only;
|
|
};
|
|
|
|
SBL2@180000 {
|
|
label = "SBL2";
|
|
reg = <0x0180000 0x0140000>;
|
|
read-only;
|
|
};
|
|
|
|
SBL3@2c0000 {
|
|
label = "SBL3";
|
|
reg = <0x02c0000 0x0280000>;
|
|
read-only;
|
|
};
|
|
|
|
DDRCONFIG@540000 {
|
|
label = "DDRCONFIG";
|
|
reg = <0x0540000 0x0120000>;
|
|
read-only;
|
|
};
|
|
|
|
SSD@660000 {
|
|
label = "SSD";
|
|
reg = <0x0660000 0x0120000>;
|
|
read-only;
|
|
};
|
|
|
|
TZ@780000 {
|
|
label = "TZ";
|
|
reg = <0x0780000 0x0280000>;
|
|
read-only;
|
|
};
|
|
|
|
RPM@a00000 {
|
|
label = "RPM";
|
|
reg = <0x0a00000 0x0280000>;
|
|
read-only;
|
|
};
|
|
|
|
art: art@c80000 {
|
|
label = "art";
|
|
reg = <0x0c80000 0x0140000>;
|
|
read-only;
|
|
};
|
|
|
|
APPSBL@dc0000 {
|
|
label = "APPSBL";
|
|
reg = <0x0dc0000 0x0100000>;
|
|
read-only;
|
|
};
|
|
|
|
u_env@ec0000 {
|
|
label = "u_env";
|
|
reg = <0x0ec0000 0x0040000>;
|
|
};
|
|
|
|
s_env@f00000 {
|
|
label = "s_env";
|
|
reg = <0x0f00000 0x0040000>;
|
|
};
|
|
|
|
devinfo@f40000 {
|
|
label = "devinfo";
|
|
reg = <0x0f40000 0x0040000>;
|
|
};
|
|
|
|
linux@f80000 {
|
|
label = "kernel1";
|
|
reg = <0x0f80000 0x2800000>; /* 3 MB spill to rootfs*/
|
|
};
|
|
|
|
rootfs@1280000 {
|
|
label = "rootfs1";
|
|
reg = <0x1280000 0x2500000>;
|
|
};
|
|
|
|
linux2@3780000 {
|
|
label = "kernel2";
|
|
reg = <0x3780000 0x2800000>;
|
|
};
|
|
|
|
rootfs2@3a80000 {
|
|
label = "rootfs2";
|
|
reg = <0x3a80000 0x2500000>;
|
|
};
|
|
|
|
syscfg@5f80000 {
|
|
label = "syscfg";
|
|
reg = <0x5f80000 0x2080000>;
|
|
};
|
|
|
|
};
|
|
|
|
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>;
|
|
qcom,phy_mdio_addr = <4>;
|
|
qcom,poll_required = <1>;
|
|
qcom,rgmii_delay = <0>;
|
|
qcom,emulation = <0>;
|
|
pinctrl-0 = <&rgmii2_pins>;
|
|
pinctrl-names = "default";
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
//lan
|
|
gmac2: ethernet@37400000 {
|
|
status = "ok";
|
|
phy-mode = "sgmii";
|
|
qcom,id = <2>;
|
|
qcom,phy_mdio_addr = <0>; /* none */
|
|
qcom,poll_required = <0>; /* no polling */
|
|
qcom,rgmii_delay = <0>;
|
|
qcom,emulation = <0>;
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
};
|
|
};
|
|
|
|
adm_dma: dma@18300000 {
|
|
status = "ok";
|
|
};
|
|
|
|
};
|
|
|
|
gpio-keys {
|
|
compatible = "gpio-keys";
|
|
|
|
rfkill {
|
|
label = "rfkill"; /* WIFI on-off*/
|
|
gpios = <&qcom_pinmux 67 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RFKILL>;
|
|
};
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&qcom_pinmux 68 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART >;
|
|
};
|
|
|
|
wps {
|
|
label = "wps";
|
|
gpios = <&qcom_pinmux 65 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_WPS_BUTTON>;
|
|
};
|
|
|
|
};
|
|
|
|
gpio-leds {
|
|
compatible = "gpio-leds";
|
|
|
|
wps {
|
|
label = "ea8500:green:wps";
|
|
gpios = <&qcom_pinmux 53 0>;
|
|
default-state = "off";
|
|
};
|
|
|
|
power {
|
|
label = "ea8500:white:power";
|
|
gpios = <&qcom_pinmux 6 1>;
|
|
default-state = "off";
|
|
linux,default-trigger = "heartbeat";
|
|
};
|
|
|
|
wifi {
|
|
label = "ea8500:green:wifi";
|
|
gpios = <&qcom_pinmux 54 0>;
|
|
default-state = "off";
|
|
};
|
|
};
|
|
};
|