+/dts-v1/;
+
/ {
#address-cells = <1>;
#size-cells = <1>;
- compatible = "ralink,mtk7620a-soc";
+ compatible = "ralink,mt7620a-soc";
+
+ aliases {
+ spi0 = &spi0;
+ spi1 = &spi1;
+ serial0 = &uartlite;
+ };
cpus {
#address-cells = <1>;
compatible = "mti,cpu-interrupt-controller";
};
- aliases {
- spi0 = &spi0;
- spi1 = &spi1;
- serial0 = &uartlite;
- };
-
palmbus: palmbus@10000000 {
compatible = "palmbus";
reg = <0x10000000 0x200000>;
#address-cells = <1>;
#size-cells = <1>;
- sysc: sysc@0 {
- compatible = "ralink,mt7620a-sysc", "ralink,rt3050-sysc", "syscon";
+ sysc: syscon@0 {
+ compatible = "ralink,mt7620-sysc", "syscon";
reg = <0x0 0x100>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
};
timer: timer@100 {
compatible = "ralink,mt7620a-timer", "ralink,rt2880-timer";
reg = <0x100 0x20>;
+ clocks = <&sysc 5>;
+
interrupt-parent = <&intc>;
interrupts = <1>;
};
compatible = "ralink,mt7620a-wdt", "ralink,rt2880-wdt";
reg = <0x120 0x10>;
- resets = <&rstctrl 8>;
+ clocks = <&sysc 6>;
+
+ resets = <&sysc 8>;
reset-names = "wdt";
interrupt-parent = <&intc>;
compatible = "ralink,mt7620a-intc", "ralink,rt2880-intc";
reg = <0x200 0x100>;
- resets = <&rstctrl 19>;
- reset-names = "intc";
-
interrupt-controller;
#interrupt-cells = <1>;
compatible = "ralink,mt7620a-memc", "ralink,rt3050-memc";
reg = <0x300 0x100>;
- resets = <&rstctrl 20>;
- reset-names = "mc";
-
interrupt-parent = <&intc>;
interrupts = <3>;
};
compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a";
reg = <0x500 0x100>;
- resets = <&rstctrl 12>;
- reset-names = "uart";
+ clocks = <&sysc 7>;
+
+ resets = <&sysc 12>;
interrupt-parent = <&intc>;
interrupts = <5>;
compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
reg = <0x600 0x34>;
- resets = <&rstctrl 13>;
- reset-names = "pio";
-
interrupt-parent = <&intc>;
interrupts = <6>;
gpio-controller;
#gpio-cells = <2>;
+ ngpios = <24>;
ralink,gpio-base = <0>;
- ralink,num-gpios = <24>;
ralink,register-map = [ 00 04 08 0c
20 24 28 2c
30 34 ];
gpio-controller;
#gpio-cells = <2>;
+ ngpios = <16>;
ralink,gpio-base = <24>;
- ralink,num-gpios = <16>;
ralink,register-map = [ 00 04 08 0c
10 14 18 1c
20 24 ];
gpio-controller;
#gpio-cells = <2>;
+ ngpios = <32>;
ralink,gpio-base = <40>;
- ralink,num-gpios = <32>;
ralink,register-map = [ 00 04 08 0c
10 14 18 1c
20 24 ];
gpio-controller;
#gpio-cells = <2>;
+ ngpios = <1>;
ralink,gpio-base = <72>;
- ralink,num-gpios = <1>;
ralink,register-map = [ 00 04 08 0c
10 14 18 1c
20 24 ];
compatible = "ralink,rt2880-i2c";
reg = <0x900 0x100>;
- resets = <&rstctrl 16>;
+ clocks = <&sysc 8>;
+
+ resets = <&sysc 16>;
reset-names = "i2c";
#address-cells = <1>;
compatible = "mediatek,mt7620-i2s";
reg = <0xa00 0x100>;
- resets = <&rstctrl 17>;
+ clocks = <&sysc 9>;
+
+ resets = <&sysc 17>;
reset-names = "i2s";
interrupt-parent = <&intc>;
compatible = "ralink,mt7620a-spi", "ralink,rt2880-spi";
reg = <0xb00 0x40>;
- resets = <&rstctrl 18>;
+ clocks = <&sysc 10>;
+
+ resets = <&sysc 18>;
reset-names = "spi";
#address-cells = <1>;
compatible = "ralink,rt2880-spi";
reg = <0xb40 0x60>;
- resets = <&rstctrl 18>;
+ clocks = <&sysc 11>;
+
+ resets = <&sysc 18>;
reset-names = "spi";
#address-cells = <1>;
compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a";
reg = <0xc00 0x100>;
- resets = <&rstctrl 19>;
- reset-names = "uartl";
+ clocks = <&sysc 12>;
+
+ resets = <&sysc 19>;
interrupt-parent = <&intc>;
interrupts = <12>;
compatible = "ralink,mt7620a-systick", "ralink,cevt-systick";
reg = <0xd00 0x10>;
- resets = <&rstctrl 28>;
- reset-names = "intc";
-
interrupt-parent = <&cpuintc>;
interrupts = <7>;
};
compatible = "ralink,mt7620a-pcm";
reg = <0x2000 0x800>;
- resets = <&rstctrl 11>;
+ resets = <&sysc 11>;
reset-names = "pcm";
interrupt-parent = <&intc>;
compatible = "ralink,mt7620a-gdma", "ralink,rt3883-gdma";
reg = <0x2800 0x800>;
- resets = <&rstctrl 14>;
+ resets = <&sysc 14>;
reset-names = "dma";
interrupt-parent = <&intc>;
pcm_i2s_pins: pcm_i2s {
pcm_i2s {
- ralink,group = "uartf";
- ralink,function = "pcm i2s";
+ groups = "uartf";
+ function = "pcm i2s";
};
};
uartf_gpio_pins: uartf_gpio {
uartf_gpio {
- ralink,group = "uartf";
- ralink,function = "gpio uartf";
+ groups = "uartf";
+ function = "gpio uartf";
};
};
gpio_i2s_pins: gpio_i2s {
gpio_i2s {
- ralink,group = "uartf";
- ralink,function = "gpio i2s";
+ groups = "uartf";
+ function = "gpio i2s";
};
};
- spi_pins: spi {
- spi {
- ralink,group = "spi";
- ralink,function = "spi";
+ spi_pins: spi_pins {
+ spi_pins {
+ groups = "spi";
+ function = "spi";
};
};
spi_cs1: spi1 {
spi1 {
- ralink,group = "spi_cs1";
- ralink,function = "spi_cs1";
+ groups = "spi refclk";
+ function = "spi refclk";
};
};
- i2c_pins: i2c {
- i2c {
- ralink,group = "i2c";
- ralink,function = "i2c";
+ i2c_pins: i2c_pins {
+ i2c_pins {
+ groups = "i2c";
+ function = "i2c";
};
};
uartlite_pins: uartlite {
uart {
- ralink,group = "uartlite";
- ralink,function = "uartlite";
+ groups = "uartlite";
+ function = "uartlite";
};
};
mdio_pins: mdio {
mdio {
- ralink,group = "mdio";
- ralink,function = "mdio";
+ groups = "mdio";
+ function = "mdio";
};
};
mdio_refclk_pins: mdio_refclk {
mdio_refclk {
- ralink,group = "mdio";
- ralink,function = "refclk";
+ groups = "mdio";
+ function = "refclk";
};
};
ephy_pins: ephy {
ephy {
- ralink,group = "ephy";
- ralink,function = "ephy";
+ groups = "ephy";
+ function = "ephy";
};
};
wled_pins: wled {
wled {
- ralink,group = "wled";
- ralink,function = "wled";
+ groups = "wled";
+ function = "wled";
};
};
rgmii1_pins: rgmii1 {
rgmii1 {
- ralink,group = "rgmii1";
- ralink,function = "rgmii1";
+ groups = "rgmii1";
+ function = "rgmii1";
};
};
rgmii2_pins: rgmii2 {
rgmii2 {
- ralink,group = "rgmii2";
- ralink,function = "rgmii2";
+ groups = "rgmii2";
+ function = "rgmii2";
};
};
pcie_pins: pcie {
pcie {
- ralink,group = "pcie";
- ralink,function = "pcie rst";
+ groups = "pcie";
+ function = "pcie rst";
};
};
pa_pins: pa {
pa {
- ralink,group = "pa";
- ralink,function = "pa";
+ groups = "pa";
+ function = "pa";
};
};
- };
- rstctrl: rstctrl {
- compatible = "ralink,mt7620a-reset", "ralink,rt2880-reset";
- #reset-cells = <1>;
- };
+ pa_gpio_pins: pa_gpio {
+ pa {
+ groups = "pa";
+ function = "gpio";
+ };
+ };
- clkctrl: clkctrl {
- compatible = "ralink,rt2880-clock";
- #clock-cells = <1>;
+ sdhci_pins: sdhci {
+ sdhci {
+ groups = "nd_sd";
+ function = "sd";
+ };
+ };
};
usbphy: usbphy {
#phy-cells = <0>;
ralink,sysctl = <&sysc>;
- resets = <&rstctrl 22 &rstctrl 25>;
+ /* usb phy reset is only controled by RSTCTRL bit 25 */
+ resets = <&sysc 25>, <&sysc 22>;
reset-names = "host", "device";
-
- clocks = <&clkctrl 22 &clkctrl 25>;
- clock-names = "host", "device";
};
ethernet: ethernet@10100000 {
interrupt-parent = <&cpuintc>;
interrupts = <5>;
- resets = <&rstctrl 21 &rstctrl 23>;
+ resets = <&sysc 21>, <&sysc 23>;
reset-names = "fe", "esw";
mediatek,switch = <&gsw>;
compatible = "mediatek,mt7620-gsw";
reg = <0x10110000 0x8000>;
- resets = <&rstctrl 23>;
- reset-names = "esw";
+ resets = <&sysc 24>;
+ reset-names = "ephy";
interrupt-parent = <&intc>;
interrupts = <17>;
interrupt-parent = <&intc>;
interrupts = <14>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&sdhci_pins>;
+
status = "disabled";
};
ehci: ehci@101c0000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
compatible = "generic-ehci";
reg = <0x101c0000 0x1000>;
phy-names = "usb";
status = "disabled";
+
+ ehci_port1: port@1 {
+ reg = <1>;
+ #trigger-source-cells = <0>;
+ };
};
ohci: ohci@101c1000 {
+ #address-cells = <1>;
+ #size-cells = <0>;
compatible = "generic-ohci";
reg = <0x101c1000 0x1000>;
phy-names = "usb";
status = "disabled";
+
+ ohci_port1: port@1 {
+ reg = <1>;
+ #trigger-source-cells = <0>;
+ };
};
pcie: pcie@10140000 {
#address-cells = <3>;
#size-cells = <2>;
- resets = <&rstctrl 26>;
+ resets = <&sysc 26>;
reset-names = "pcie0";
- clocks = <&clkctrl 26>;
- clock-names = "pcie0";
-
interrupt-parent = <&cpuintc>;
interrupts = <4>;
status = "disabled";
- pcie-bridge {
+ pcie0: pcie@0,0 {
reg = <0x0000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
device_type = "pci";
+
+ ranges;
};
};
compatible = "ralink,rt7620-wmac", "ralink,rt2880-wmac";
reg = <0x10180000 0x40000>;
+ clocks = <&sysc 13>;
+
interrupt-parent = <&cpuintc>;
interrupts = <6>;