openwrt/target/linux/ramips/dts/WLR-6000.dts
Mathias Kresin f9b8328d79 ramips: fix pci/pcie related dtc warnings
Add the ranges property to the PCI bridges where missing. Add the unit
address to PCI bridge where missing.

Rework the complete rt3883 pci node. Drop the PCI unit nodes from the
dtsi. They are not used by any dts file and should be rather in the dts
than in the SoC dtsi. Express the PCI-PCI bridge in a clean devicetree
syntax. The ralink,pci-slot isn't used by any driver, drop it. Move the
pci interrupt controller out of the pci node. It doesn't share the same
reg and therefore should be an independent/SoC child node.

Move the pci related rt3883 pinctrl setting to the dtsi instead of
defining the very same for each rt3883 board.

If the device_type property is used for PCI units, the unit is treated
as pci bridge which it isn't. Drop it for PCI units.

Reference pci-bridges or the pci node defined in the dtsi instead of
recreating the whole node hierarchy. It allows to change the referenced
node in the dtsi without the need to touch all dts.

Fix the PCI(e) wireless unit addresses. All our PCI(e) wireless chips
are the first device on the bus. The unit address has to be the bus
address instead of the PCI vendor/device id.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2018-08-04 08:39:35 +02:00

181 lines
2.9 KiB
Plaintext

/dts-v1/;
#include "rt3883.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "sitecom,wlr-6000", "ralink,rt3883-soc";
model = "Sitecom WLR-6000";
aliases {
led-status = &led_power;
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
#size-cells = <0>;
poll-interval = <20>;
reset {
label = "reset";
gpios = <&gpio1 2 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
gpio-leds {
compatible = "gpio-leds";
led_power: power {
label = "wlr-6000:red:power";
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
};
ops {
label = "wlr-6000:white:ops";
gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
};
};
gpio_export {
compatible = "gpio-export";
#size-cells = <0>;
usb {
gpio-export,name = "usb";
gpio-export,output = <1>;
gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
};
};
};
&gpio1 {
status = "okay";
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "i2c", "jtag", "uartf";
ralink,function = "gpio";
};
};
};
&ethernet {
status = "okay";
mtd-mac-address = <&factory 0x8004>;
mtd-mac-address-increment = <1>;
port@0 {
phy-handle = <&phy0>;
phy-mode = "rgmii";
};
mdio-bus {
status = "okay";
phy0: ethernet-phy@0 {
reg = <0>;
phy-mode = "rgmii";
qca,ar8327-initvals = <
0x04 0x07600000 /* PORT0 PAD MODE CTRL */
0x0c 0x07600000 /* PORT6 PAD MODE CTRL */
0x10 0x40000000 /* Power-on Strapping: 176-pin interface configuration */
0x50 0xc437c437 /* LED Control Register 0 */
0x54 0xc337c337 /* LED Control Register 1 */
0x58 0x00000000 /* LED Control Register 2 */
0x5c 0x03ffff00 /* LED Control Register 3 */
0x7c 0x0000007e /* PORT0_STATUS */
0x94 0x0000007e /* PORT6 STATUS */
>;
};
};
};
&spi0 {
status = "okay";
m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <8600000>;
m25p,fast-read;
partition@0 {
label = "u-boot";
reg = <0x0 0x30000>;
read-only;
};
partition@30000 {
label = "u-boot-env";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
label = "firmware";
reg = <0x50000 0x713000>;
};
partition@763000 {
label = "manufacture";
reg = <0x763000 0x7D000>;
read-only;
};
partition@7E0000 {
label = "backup";
reg = <0x7E0000 0x10000>;
read-only;
};
partition@7F0000 {
label = "storage";
reg = <0x7F0000 0x10000>;
read-only;
};
};
};
&pci {
status = "okay";
};
&pci1 {
status = "okay";
wifi@0,0 {
compatible = "pci1814,3091";
reg = <0x10000 0 0 0 0>;
ralink,mtd-eeprom = <&factory 0x8000>;
};
};
&wmac {
status = "okay";
ralink,2ghz = <0>;
ralink,mtd-eeprom = <&factory 0x0>;
};
&ehci {
status = "okay";
};
&ohci {
status = "okay";
};