mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-01 11:36:49 +00:00
81bd10e4a2
Remove DTS_LEGACY put for claiming pin groups for the ethernet node from
the ethernet node. It's not an old kernel trait. These bindings need to be
there on the newer kernels as well.
Fixes: a3764ee29d
("ramips: add linux 5.15 support for mt7621")
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
693 lines
13 KiB
Plaintext
693 lines
13 KiB
Plaintext
/dts-v1/;
|
|
|
|
#include <dt-bindings/interrupt-controller/mips-gic.h>
|
|
#include <dt-bindings/clock/mt7621-clk.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
|
|
/ {
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
compatible = "mediatek,mt7621-soc";
|
|
|
|
aliases {
|
|
serial0 = &uartlite;
|
|
};
|
|
|
|
cpus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
cpu@0 {
|
|
device_type = "cpu";
|
|
compatible = "mips,mips1004Kc";
|
|
reg = <0>;
|
|
};
|
|
|
|
cpu@1 {
|
|
device_type = "cpu";
|
|
compatible = "mips,mips1004Kc";
|
|
reg = <1>;
|
|
};
|
|
};
|
|
|
|
cpuintc: cpuintc {
|
|
#address-cells = <0>;
|
|
#interrupt-cells = <1>;
|
|
interrupt-controller;
|
|
compatible = "mti,cpu-interrupt-controller";
|
|
};
|
|
|
|
chosen {
|
|
bootargs = "console=ttyS0,57600";
|
|
};
|
|
|
|
#ifdef DTS_LEGACY
|
|
pll: pll {
|
|
compatible = "mediatek,mt7621-pll", "syscon";
|
|
|
|
#clock-cells = <1>;
|
|
clock-output-names = "cpu", "bus";
|
|
};
|
|
#endif
|
|
|
|
sysclock: sysclock {
|
|
#clock-cells = <0>;
|
|
compatible = "fixed-clock";
|
|
|
|
/* FIXME: there should be way to detect this */
|
|
clock-frequency = <50000000>;
|
|
};
|
|
|
|
palmbus: palmbus@1e000000 {
|
|
compatible = "palmbus";
|
|
reg = <0x1e000000 0x100000>;
|
|
ranges = <0x0 0x1e000000 0x0fffff>;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
sysc: syscon@0 {
|
|
#ifdef DTS_LEGACY
|
|
compatible = "mtk,mt7621-sysc", "syscon";
|
|
#else
|
|
compatible = "mediatek,mt7621-sysc", "syscon";
|
|
#clock-cells = <1>;
|
|
ralink,memctl = <&memc>;
|
|
clock-output-names = "xtal", "cpu", "bus",
|
|
"50m", "125m", "150m",
|
|
"250m", "270m";
|
|
#endif
|
|
reg = <0x0 0x100>;
|
|
};
|
|
|
|
wdt: wdt@100 {
|
|
compatible = "mediatek,mt7621-wdt";
|
|
reg = <0x100 0x100>;
|
|
};
|
|
|
|
gpio: gpio@600 {
|
|
#gpio-cells = <2>;
|
|
#interrupt-cells = <2>;
|
|
compatible = "mediatek,mt7621-gpio";
|
|
gpio-controller;
|
|
gpio-ranges = <&pinctrl 0 0 95>;
|
|
interrupt-controller;
|
|
reg = <0x600 0x100>;
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SHARED 12 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
i2c: i2c@900 {
|
|
compatible = "mediatek,mt7621-i2c";
|
|
reg = <0x900 0x100>;
|
|
|
|
clocks = <&sysclock>;
|
|
|
|
resets = <&rstctrl 16>;
|
|
reset-names = "i2c";
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
status = "disabled";
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&i2c_pins>;
|
|
};
|
|
|
|
i2s: i2s@a00 {
|
|
compatible = "mediatek,mt7621-i2s";
|
|
reg = <0xa00 0x100>;
|
|
|
|
clocks = <&sysclock>;
|
|
|
|
resets = <&rstctrl 17>;
|
|
reset-names = "i2s";
|
|
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SHARED 16 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
txdma-req = <2>;
|
|
rxdma-req = <3>;
|
|
|
|
dmas = <&gdma 4>,
|
|
<&gdma 6>;
|
|
dma-names = "tx", "rx";
|
|
|
|
status = "disabled";
|
|
};
|
|
|
|
systick: systick@500 {
|
|
compatible = "ralink,mt7621-systick", "ralink,cevt-systick";
|
|
reg = <0x500 0x10>;
|
|
|
|
resets = <&rstctrl 28>;
|
|
reset-names = "intc";
|
|
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SHARED 5 IRQ_TYPE_LEVEL_HIGH>;
|
|
};
|
|
|
|
memc: syscon@5000 {
|
|
#ifdef DTS_LEGACY
|
|
compatible = "mtk,mt7621-memc", "syscon";
|
|
#else
|
|
compatible = "mediatek,mt7621-memc", "syscon";
|
|
#endif
|
|
reg = <0x5000 0x1000>;
|
|
};
|
|
|
|
uartlite: uartlite@c00 {
|
|
compatible = "ns16550a";
|
|
reg = <0xc00 0x100>;
|
|
|
|
clock-frequency = <50000000>;
|
|
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SHARED 26 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
reg-shift = <2>;
|
|
reg-io-width = <4>;
|
|
no-loopback-test;
|
|
};
|
|
|
|
uartlite2: uartlite2@d00 {
|
|
compatible = "ns16550a";
|
|
reg = <0xd00 0x100>;
|
|
|
|
clock-frequency = <50000000>;
|
|
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SHARED 27 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
reg-shift = <2>;
|
|
reg-io-width = <4>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart2_pins>;
|
|
|
|
status = "disabled";
|
|
};
|
|
|
|
uartlite3: uartlite3@e00 {
|
|
compatible = "ns16550a";
|
|
reg = <0xe00 0x100>;
|
|
|
|
clock-frequency = <50000000>;
|
|
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SHARED 28 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
reg-shift = <2>;
|
|
reg-io-width = <4>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&uart3_pins>;
|
|
|
|
status = "disabled";
|
|
};
|
|
|
|
spi0: spi@b00 {
|
|
status = "disabled";
|
|
|
|
compatible = "ralink,mt7621-spi";
|
|
reg = <0xb00 0x100>;
|
|
|
|
#ifdef DTS_LEGACY
|
|
clocks = <&pll MT7621_CLK_BUS>;
|
|
#else
|
|
clocks = <&sysc MT7621_CLK_BUS>;
|
|
#endif
|
|
|
|
resets = <&rstctrl 18>;
|
|
reset-names = "spi";
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&spi_pins>;
|
|
};
|
|
|
|
gdma: gdma@2800 {
|
|
compatible = "ralink,rt3883-gdma";
|
|
reg = <0x2800 0x800>;
|
|
|
|
resets = <&rstctrl 14>;
|
|
reset-names = "dma";
|
|
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
#dma-cells = <1>;
|
|
#dma-channels = <16>;
|
|
#dma-requests = <16>;
|
|
|
|
status = "disabled";
|
|
};
|
|
|
|
hsdma: hsdma@7000 {
|
|
compatible = "mediatek,mt7621-hsdma";
|
|
reg = <0x7000 0x1000>;
|
|
|
|
resets = <&rstctrl 5>;
|
|
reset-names = "hsdma";
|
|
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
#dma-cells = <1>;
|
|
#dma-channels = <1>;
|
|
#dma-requests = <1>;
|
|
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
pinctrl: pinctrl {
|
|
compatible = "ralink,rt2880-pinmux";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&state_default>;
|
|
|
|
state_default: pinctrl0 {
|
|
};
|
|
|
|
i2c_pins: i2c_pins {
|
|
i2c_pins {
|
|
groups = "i2c";
|
|
function = "i2c";
|
|
};
|
|
};
|
|
|
|
spi_pins: spi_pins {
|
|
spi_pins {
|
|
groups = "spi";
|
|
function = "spi";
|
|
};
|
|
};
|
|
|
|
uart1_pins: uart1 {
|
|
uart1 {
|
|
groups = "uart1";
|
|
function = "uart1";
|
|
};
|
|
};
|
|
|
|
uart2_pins: uart2 {
|
|
uart2 {
|
|
groups = "uart2";
|
|
function = "uart2";
|
|
};
|
|
};
|
|
|
|
uart3_pins: uart3 {
|
|
uart3 {
|
|
groups = "uart3";
|
|
function = "uart3";
|
|
};
|
|
};
|
|
|
|
rgmii1_pins: rgmii1 {
|
|
rgmii1 {
|
|
groups = "rgmii1";
|
|
function = "rgmii1";
|
|
};
|
|
};
|
|
|
|
rgmii2_pins: rgmii2 {
|
|
rgmii2 {
|
|
groups = "rgmii2";
|
|
function = "rgmii2";
|
|
};
|
|
};
|
|
|
|
mdio_pins: mdio {
|
|
mdio {
|
|
groups = "mdio";
|
|
function = "mdio";
|
|
};
|
|
};
|
|
|
|
pcie_pins: pcie {
|
|
pcie {
|
|
groups = "pcie";
|
|
function = "gpio";
|
|
};
|
|
};
|
|
|
|
nand_pins: nand {
|
|
spi-nand {
|
|
groups = "spi";
|
|
function = "nand1";
|
|
};
|
|
|
|
sdhci-nand {
|
|
groups = "sdhci";
|
|
function = "nand2";
|
|
};
|
|
};
|
|
|
|
sdhci_pins: sdhci {
|
|
sdhci {
|
|
groups = "sdhci";
|
|
function = "sdhci";
|
|
};
|
|
};
|
|
};
|
|
|
|
rstctrl: rstctrl {
|
|
compatible = "ralink,rt2880-reset";
|
|
#reset-cells = <1>;
|
|
};
|
|
|
|
clkctrl: clkctrl {
|
|
compatible = "ralink,rt2880-clock";
|
|
#clock-cells = <1>;
|
|
};
|
|
|
|
sdhci: sdhci@1e130000 {
|
|
status = "disabled";
|
|
|
|
compatible = "ralink,mt7620-sdhci";
|
|
reg = <0x1e130000 0x4000>;
|
|
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SHARED 20 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&sdhci_pins>;
|
|
};
|
|
|
|
xhci: xhci@1e1c0000 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
compatible = "mediatek,mt8173-xhci";
|
|
reg = <0x1e1c0000 0x1000
|
|
0x1e1d0700 0x0100>;
|
|
reg-names = "mac", "ippc";
|
|
|
|
clocks = <&sysclock>;
|
|
clock-names = "sys_ck";
|
|
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SHARED 22 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
/*
|
|
* Port 1 of both hubs is one usb slot and referenced here.
|
|
* The binding doesn't allow to address individual hubs.
|
|
* hub 1 - port 1 is ehci and ohci, hub 2 - port 1 is xhci.
|
|
*/
|
|
xhci_ehci_port1: port@1 {
|
|
reg = <1>;
|
|
#trigger-source-cells = <0>;
|
|
};
|
|
|
|
/*
|
|
* Only the second usb hub has a second port. That port serves
|
|
* ehci and ohci.
|
|
*/
|
|
ehci_port2: port@2 {
|
|
reg = <2>;
|
|
#trigger-source-cells = <0>;
|
|
};
|
|
};
|
|
|
|
gic: interrupt-controller@1fbc0000 {
|
|
compatible = "mti,gic";
|
|
reg = <0x1fbc0000 0x2000>;
|
|
|
|
interrupt-controller;
|
|
#interrupt-cells = <3>;
|
|
|
|
mti,reserved-cpu-vectors = <7>;
|
|
|
|
timer {
|
|
compatible = "mti,gic-timer";
|
|
interrupts = <GIC_LOCAL 1 IRQ_TYPE_NONE>;
|
|
#ifdef DTS_LEGACY
|
|
clocks = <&pll MT7621_CLK_CPU>;
|
|
#else
|
|
clocks = <&sysc MT7621_CLK_CPU>;
|
|
#endif
|
|
};
|
|
};
|
|
|
|
nficlock: nficlock {
|
|
#clock-cells = <0>;
|
|
compatible = "fixed-clock";
|
|
|
|
clock-frequency = <125000000>;
|
|
};
|
|
|
|
cpc: cpc@1fbf0000 {
|
|
compatible = "mti,mips-cpc";
|
|
reg = <0x1fbf0000 0x8000>;
|
|
};
|
|
|
|
mc: mc@1fbf8000 {
|
|
compatible = "mti,mips-cdmm";
|
|
reg = <0x1fbf8000 0x8000>;
|
|
};
|
|
|
|
nand: nand@1e003000 {
|
|
status = "disabled";
|
|
|
|
compatible = "mediatek,mt7621-nfc";
|
|
reg = <0x1e003000 0x800
|
|
0x1e003800 0x800>;
|
|
reg-names = "nfi", "ecc";
|
|
|
|
clocks = <&nficlock>;
|
|
clock-names = "nfi_clk";
|
|
};
|
|
|
|
ethernet: ethernet@1e100000 {
|
|
compatible = "mediatek,mt7621-eth";
|
|
reg = <0x1e100000 0x10000>;
|
|
|
|
#ifdef DTS_LEGACY
|
|
clocks = <&sysclock>;
|
|
clock-names = "ethif";
|
|
#else
|
|
clocks = <&sysc MT7621_CLK_FE>,
|
|
<&sysc MT7621_CLK_ETH>;
|
|
clock-names = "fe", "ethif";
|
|
#endif
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
resets = <&rstctrl 6>, <&rstctrl 23>;
|
|
reset-names = "fe", "eth";
|
|
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SHARED 3 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
mediatek,ethsys = <&sysc>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&mdio_pins>, <&rgmii1_pins>, <&rgmii2_pins>;
|
|
|
|
gmac0: mac@0 {
|
|
compatible = "mediatek,eth-mac";
|
|
reg = <0>;
|
|
phy-mode = "rgmii";
|
|
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
pause;
|
|
};
|
|
};
|
|
|
|
gmac1: mac@1 {
|
|
compatible = "mediatek,eth-mac";
|
|
reg = <1>;
|
|
status = "disabled";
|
|
phy-mode = "rgmii-rxid";
|
|
};
|
|
|
|
mdio: mdio-bus {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
switch0: switch@1f {
|
|
compatible = "mediatek,mt7621";
|
|
reg = <0x1f>;
|
|
mediatek,mcm;
|
|
resets = <&rstctrl 2>;
|
|
reset-names = "mcm";
|
|
interrupt-controller;
|
|
#interrupt-cells = <1>;
|
|
interrupts = <GIC_SHARED 23 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
status = "disabled";
|
|
reg = <0>;
|
|
label = "lan0";
|
|
};
|
|
|
|
port@1 {
|
|
status = "disabled";
|
|
reg = <1>;
|
|
label = "lan1";
|
|
};
|
|
|
|
port@2 {
|
|
status = "disabled";
|
|
reg = <2>;
|
|
label = "lan2";
|
|
};
|
|
|
|
port@3 {
|
|
status = "disabled";
|
|
reg = <3>;
|
|
label = "lan3";
|
|
};
|
|
|
|
port@4 {
|
|
status = "disabled";
|
|
reg = <4>;
|
|
label = "lan4";
|
|
};
|
|
|
|
port@6 {
|
|
reg = <6>;
|
|
label = "cpu";
|
|
ethernet = <&gmac0>;
|
|
phy-mode = "rgmii";
|
|
|
|
fixed-link {
|
|
speed = <1000>;
|
|
full-duplex;
|
|
pause;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
pcie: pcie@1e140000 {
|
|
compatible = "mediatek,mt7621-pci";
|
|
reg = <0x1e140000 0x100>, /* host-pci bridge registers */
|
|
<0x1e142000 0x100>, /* pcie port 0 RC control registers */
|
|
<0x1e143000 0x100>, /* pcie port 1 RC control registers */
|
|
<0x1e144000 0x100>; /* pcie port 2 RC control registers */
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pcie_pins>;
|
|
|
|
device_type = "pci";
|
|
|
|
#ifdef DTS_LEGACY
|
|
ranges = <0x02000000 0 0x00000000 0x60000000 0 0x10000000>, /* pci memory */
|
|
<0x01000000 0 0x00000000 0x1e160000 0 0x00010000>; /* io space */
|
|
#else
|
|
ranges = <0x02000000 0 0x60000000 0x60000000 0 0x10000000>, /* pci memory */
|
|
<0x01000000 0 0x00000000 0x1e160000 0 0x00010000>; /* io space */
|
|
#endif
|
|
|
|
status = "disabled";
|
|
|
|
#ifdef DTS_LEGACY
|
|
interrupt-parent = <&gic>;
|
|
interrupts = <GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH
|
|
GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH
|
|
GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>;
|
|
|
|
|
|
resets = <&rstctrl 24>, <&rstctrl 25>, <&rstctrl 26>;
|
|
reset-names = "pcie0", "pcie1", "pcie2";
|
|
clocks = <&clkctrl 24>, <&clkctrl 25>, <&clkctrl 26>;
|
|
clock-names = "pcie0", "pcie1", "pcie2";
|
|
phys = <&pcie0_phy 1>, <&pcie2_phy 0>;
|
|
phy-names = "pcie-phy0", "pcie-phy2";
|
|
#else
|
|
#interrupt-cells = <1>;
|
|
interrupt-map-mask = <0xF800 0 0 0>;
|
|
interrupt-map = <0x0000 0 0 0 &gic GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0x0800 0 0 0 &gic GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH>,
|
|
<0x1000 0 0 0 &gic GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>;
|
|
#endif
|
|
|
|
reset-gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
|
|
|
|
pcie0: pcie@0,0 {
|
|
reg = <0x0000 0 0 0 0>;
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
device_type = "pci";
|
|
ranges;
|
|
#ifndef DTS_LEGACY
|
|
#interrupt-cells = <1>;
|
|
interrupt-map-mask = <0 0 0 0>;
|
|
interrupt-map = <0 0 0 0 &gic GIC_SHARED 4 IRQ_TYPE_LEVEL_HIGH>;
|
|
resets = <&rstctrl 24>;
|
|
clocks = <&sysc MT7621_CLK_PCIE0>;
|
|
phys = <&pcie0_phy 1>;
|
|
phy-names = "pcie-phy0";
|
|
#endif
|
|
};
|
|
|
|
pcie1: pcie@1,0 {
|
|
reg = <0x0800 0 0 0 0>;
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
device_type = "pci";
|
|
ranges;
|
|
#ifndef DTS_LEGACY
|
|
#interrupt-cells = <1>;
|
|
interrupt-map-mask = <0 0 0 0>;
|
|
interrupt-map = <0 0 0 0 &gic GIC_SHARED 24 IRQ_TYPE_LEVEL_HIGH>;
|
|
resets = <&rstctrl 25>;
|
|
clocks = <&sysc MT7621_CLK_PCIE1>;
|
|
phys = <&pcie0_phy 1>;
|
|
phy-names = "pcie-phy1";
|
|
#endif
|
|
};
|
|
|
|
pcie2: pcie@2,0 {
|
|
reg = <0x1000 0 0 0 0>;
|
|
#address-cells = <3>;
|
|
#size-cells = <2>;
|
|
device_type = "pci";
|
|
ranges;
|
|
#ifndef DTS_LEGACY
|
|
#interrupt-cells = <1>;
|
|
interrupt-map-mask = <0 0 0 0>;
|
|
interrupt-map = <0 0 0 0 &gic GIC_SHARED 25 IRQ_TYPE_LEVEL_HIGH>;
|
|
resets = <&rstctrl 26>;
|
|
clocks = <&sysc MT7621_CLK_PCIE2>;
|
|
phys = <&pcie2_phy 0>;
|
|
phy-names = "pcie-phy2";
|
|
#endif
|
|
};
|
|
};
|
|
|
|
pcie0_phy: pcie-phy@1e149000 {
|
|
compatible = "mediatek,mt7621-pci-phy";
|
|
reg = <0x1e149000 0x0700>;
|
|
#ifndef DTS_LEGACY
|
|
clocks = <&sysc MT7621_CLK_XTAL>;
|
|
#endif
|
|
#phy-cells = <1>;
|
|
};
|
|
|
|
pcie2_phy: pcie-phy@1e14a000 {
|
|
compatible = "mediatek,mt7621-pci-phy";
|
|
reg = <0x1e14a000 0x0700>;
|
|
#ifndef DTS_LEGACY
|
|
clocks = <&sysc MT7621_CLK_XTAL>;
|
|
#endif
|
|
#phy-cells = <1>;
|
|
};
|
|
};
|