f9b8328d79
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>
209 lines
3.3 KiB
Text
209 lines
3.3 KiB
Text
/dts-v1/;
|
|
|
|
#include "mt7628an.dtsi"
|
|
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/input/input.h>
|
|
|
|
/ {
|
|
compatible = "zyxel,keenetic-extra-ii", "mediatek,mt7628an-soc";
|
|
model = "ZyXEL Keenetic Extra II";
|
|
|
|
aliases {
|
|
led-status = &led_power;
|
|
};
|
|
|
|
memory@0 {
|
|
device_type = "memory";
|
|
reg = <0x0 0x8000000>;
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "console=ttyS0,57600n8";
|
|
};
|
|
|
|
gpio-keys-polled {
|
|
compatible = "gpio-keys-polled";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
poll-interval = <20>;
|
|
|
|
reset {
|
|
label = "reset";
|
|
gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_RESTART>;
|
|
};
|
|
|
|
wps {
|
|
label = "wps";
|
|
gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
|
|
linux,code = <KEY_WPS_BUTTON>;
|
|
};
|
|
|
|
fn {
|
|
label = "fn";
|
|
gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
|
|
linux,code = <BTN_0>;
|
|
};
|
|
};
|
|
|
|
gpio-leds {
|
|
compatible = "gpio-leds";
|
|
|
|
led_power: power {
|
|
label = "keenetic-extra-ii:green:power";
|
|
gpios = <&gpio0 11 GPIO_ACTIVE_LOW>;
|
|
default-state = "keep";
|
|
};
|
|
|
|
internet {
|
|
label = "keenetic-extra-ii:green:internet";
|
|
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
wifi {
|
|
label = "keenetic-extra-ii:green:wifi";
|
|
gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
|
|
};
|
|
|
|
usb {
|
|
label = "keenetic-extra-ii:green:usb";
|
|
gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
|
|
};
|
|
};
|
|
|
|
gpio_export {
|
|
compatible = "gpio-export";
|
|
#size-cells = <0>;
|
|
|
|
usbpower {
|
|
gpio-export,name = "usbpower";
|
|
gpio-export,output = <1>;
|
|
gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&spi0 {
|
|
status = "okay";
|
|
|
|
m25p80@0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "jedec,spi-nor";
|
|
reg = <0>;
|
|
spi-max-frequency = <10000000>;
|
|
m25p,chunked-io = <32>;
|
|
|
|
partition@0 {
|
|
label = "u-boot";
|
|
reg = <0x0 0x30000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@30000 {
|
|
label = "u-config";
|
|
reg = <0x30000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
factory: partition@40000 {
|
|
label = "rf-eeprom";
|
|
reg = <0x40000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@50000 {
|
|
label = "firmware";
|
|
reg = <0x50000 0xe90000>;
|
|
};
|
|
|
|
partition@ee0000 {
|
|
label = "config_1";
|
|
reg = <0xee0000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@ef0000 {
|
|
label = "storage";
|
|
reg = <0xef0000 0x100000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@ff0000 {
|
|
label = "dump";
|
|
reg = <0xff0000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@1000000 {
|
|
label = "u-state";
|
|
reg = <0x1000000 0x30000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@1030000 {
|
|
label = "u-config_res";
|
|
reg = <0x1030000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@1040000 {
|
|
label = "rf-eeprom_res";
|
|
reg = <0x1040000 0x10000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@1050000 {
|
|
label = "firmware_2";
|
|
reg = <0x1050000 0xe90000>;
|
|
read-only;
|
|
};
|
|
|
|
partition@1ee0000 {
|
|
label = "config_2";
|
|
reg = <0x1ee0000 0x10000>;
|
|
read-only;
|
|
};
|
|
};
|
|
};
|
|
|
|
&ehci {
|
|
status = "okay";
|
|
};
|
|
|
|
&ohci {
|
|
status = "okay";
|
|
};
|
|
|
|
ðernet {
|
|
mtd-mac-address = <&factory 0x4>;
|
|
mediatek,portmap = "wllll";
|
|
};
|
|
|
|
&wmac {
|
|
status = "okay";
|
|
mediatek,mtd-eeprom = <&factory 0x0>;
|
|
};
|
|
|
|
&pcie {
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie0 {
|
|
mt76@0,0 {
|
|
reg = <0x0000 0 0 0 0>;
|
|
mediatek,mtd-eeprom = <&factory 0x8000>;
|
|
ieee80211-freq-limit = <5000000 6000000>;
|
|
mtd-mac-address = <&factory 0x8004>;
|
|
};
|
|
};
|
|
|
|
&pinctrl {
|
|
state_default: pinctrl0 {
|
|
gpio {
|
|
ralink,group = "gpio", "i2s", "refclk", "spi cs1", "uart1", "wled_an";
|
|
ralink,function = "gpio";
|
|
};
|
|
};
|
|
};
|