Here is the dts I extracted:
fdt.dts
/dts-v1/;
/ {
compatible = "econet,en7581";
interrupt-parent = <0x01>;
#address-cells = <0x02>;
#size-cells = <0x02>;
chosen {
bootargs = "root=/dev/mtdblock3 ro console=ttyS0,115200n8 earlycon init=/sbin/init";
stdout-path = "/serial@1fbf0000";
};
reserved-memory {
#address-cells = <0x02>;
#size-cells = <0x02>;
ranges;
atf-reserved-memory@80000000 {
compatible = "econet,ecnt-atf-reserved-memory";
no-map;
reg = <0x00 0x80000000 0x00 0x40000>;
};
npu_binary@84000000 {
no-map;
reg = <0x00 0x84000000 0x00 0x100000>;
phandle = <0x07>;
};
};
psci {
compatible = "arm,psci-0.2";
method = "smc";
};
cpus {
#address-cells = <0x01>;
#size-cells = <0x00>;
cpu-map {
cluster0 {
core0 {
cpu = <0x02>;
};
core1 {
cpu = <0x03>;
};
core2 {
cpu = <0x04>;
};
core3 {
cpu = <0x05>;
};
};
};
cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x00>;
enable-method = "psci";
clock-frequency = <0x4c4b400>;
next-level-cache = <0x06>;
phandle = <0x02>;
};
cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x01>;
enable-method = "psci";
clock-frequency = <0x4c4b400>;
next-level-cache = <0x06>;
phandle = <0x03>;
};
cpu@2 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x02>;
enable-method = "psci";
clock-frequency = <0x4c4b400>;
next-level-cache = <0x06>;
phandle = <0x04>;
};
cpu@3 {
device_type = "cpu";
compatible = "arm,cortex-a53";
reg = <0x03>;
enable-method = "psci";
clock-frequency = <0x4c4b400>;
next-level-cache = <0x06>;
phandle = <0x05>;
};
l2-cache0 {
compatible = "cache";
phandle = <0x06>;
};
};
interrupt-controller@09000000 {
compatible = "arm,gic-v3";
interrupt-controller;
#interrupt-cells = <0x03>;
#address-cells = <0x01>;
#size-cells = <0x01>;
reg = <0x00 0x9000000 0x00 0x20000 0x00 0x9080000 0x00 0x80000>;
interrupts = <0x01 0x09 0x08>;
phandle = <0x01>;
gic-its@09020000 {
compatible = "arm,gic-v3-its";
msi-controller;
#msi-cell = <0x01>;
reg = <0x00 0x90200000 0x00 0x20000>;
};
};
timer {
compatible = "arm,armv8-timer";
interrupt-parent = <0x01>;
interrupts = <0x01 0x0d 0xf08 0x01 0x0e 0xf08 0x01 0x0b 0xf08 0x01 0x0a 0xf08>;
clock-frequency = <0x17d7840>;
};
pmu {
compatible = "arm,cortex-a15-pmu";
interrupts = <0x01 0x07 0x04>;
};
npu@1e800000 {
compatible = "econet,ecnt-npu";
reg = <0x00 0x1e800000 0x00 0x78000 0x00 0x1e900000 0x00 0x313000>;
memory-region = <0x07>;
interrupts = <0x00 0x76 0x04 0x00 0x77 0x04 0x00 0x78 0x04 0x00 0x79 0x04 0x00 0x7a 0x04 0x00 0x7b 0x04 0x00 0x7d 0x04 0x00 0x67 0x04 0x00 0x6d 0x04 0x00 0x71 0x04 0x00 0x75 0x04 0x00 0x86 0x04 0x00 0x87 0x04 0x00 0x88 0x04 0x00 0x89 0x04>;
};
apb_timer1@1fbf0100 {
compatible = "econet,ecnt-timer";
reg = <0x00 0x1fbf0100 0x00 0x40>;
interrupts = <0x00 0x14 0x04 0x00 0x15 0x04 0x00 0x16 0x04 0x00 0x19 0x04>;
};
memory@80000000 {
device_type = "memory";
reg = <0x00 0x80000000 0x02 0x00>;
};
rbus@1fa00000 {
compatible = "econet,ecnt-rbus";
reg = <0x00 0x1fa00000 0x00 0x1000>;
};
sram@1fa40000 {
compatible = "econet,ecnt-sram";
reg = <0x00 0x1fa40000 0x00 0x8000 0x00 0x8000000 0x00 0x40000 0x00 0x1efc0000 0x00 0x40000 0x00 0x1e880000 0x00 0x40000 0x00 0x1fbe3000 0x00 0x200>;
};
scu@1fb00000 {
compatible = "econet,ecnt-scu";
reg = <0x00 0x1fb00000 0x00 0x960 0x00 0x1fa20000 0x00 0x360 0x00 0x1fa2ff30 0x00 0x10>;
interrupts = <0x00 0x2f 0x04>;
};
pcie0@1fc00000 {
device_type = "pci";
compatible = "ecnt,pcie-ecnt";
reg = <0x00 0x1fc00000 0x00 0x20000>;
reg-names = "pcie-mac";
#address-cells = <0x03>;
#size-cells = <0x02>;
interrupts = <0x00 0x27 0x04>;
bus-range = <0x00 0xff>;
ranges = <0x2000000 0x00 0x20000000 0x00 0x20000000 0x00 0x4000000>;
#interrupt-cells = <0x01>;
interrupt-map-mask = <0x00 0x00 0x00 0x07>;
interrupt-map = <0x00 0x00 0x00 0x01 0x08 0x01 0x00 0x00 0x00 0x02 0x08 0x02 0x00 0x00 0x00 0x03 0x08 0x03 0x00 0x00 0x00 0x04 0x08 0x04>;
interrupt-controller {
interrupt-controller;
#address-cells = <0x00>;
#interrupt-cells = <0x01>;
phandle = <0x08>;
};
};
pcie1@1fc20000 {
device_type = "pci";
compatible = "ecnt,pcie-ecnt";
reg = <0x00 0x1fc20000 0x00 0x20000>;
reg-names = "pcie-mac";
#address-cells = <0x03>;
#size-cells = <0x02>;
interrupts = <0x00 0x28 0x04>;
bus-range = <0x00 0xff>;
ranges = <0x2000000 0x00 0x24000000 0x00 0x24000000 0x00 0x4000000>;
#interrupt-cells = <0x01>;
interrupt-map-mask = <0x00 0x00 0x00 0x07>;
interrupt-map = <0x00 0x00 0x00 0x01 0x09 0x01 0x00 0x00 0x00 0x02 0x09 0x02 0x00 0x00 0x00 0x03 0x09 0x03 0x00 0x00 0x00 0x04 0x09 0x04>;
interrupt-controller {
interrupt-controller;
#address-cells = <0x00>;
#interrupt-cells = <0x01>;
phandle = <0x09>;
};
};
pcie2@1fc40000 {
device_type = "pci";
compatible = "ecnt,pcie-ecnt";
reg = <0x00 0x1fc40000 0x00 0x20000>;
reg-names = "pcie-mac";
#address-cells = <0x03>;
#size-cells = <0x02>;
interrupts = <0x00 0x29 0x04>;
bus-range = <0x00 0xff>;
ranges = <0x2000000 0x00 0x28000000 0x00 0x28000000 0x00 0x4000000>;
#interrupt-cells = <0x01>;
interrupt-map-mask = <0x00 0x00 0x00 0x07>;
interrupt-map = <0x00 0x00 0x00 0x01 0x0a 0x01 0x00 0x00 0x00 0x02 0x0a 0x02 0x00 0x00 0x00 0x03 0x0a 0x03 0x00 0x00 0x00 0x04 0x0a 0x04>;
interrupt-controller {
interrupt-controller;
#address-cells = <0x00>;
#interrupt-cells = <0x01>;
phandle = <0x0a>;
};
};
wdma {
compatible = "en751221,wdma";
reg = <0x00 0x1fa06000 0x00 0x400 0x00 0x1fa06400 0x00 0x400>;
interrupts = <0x00 0x45 0x04 0x00 0x46 0x04 0x00 0x47 0x04 0x00 0x48 0x04 0x00 0x49 0x04 0x00 0x4a 0x04>;
};
wed {
compatible = "en751221,wed";
wed_num = <0x02>;
pci_slot_map = <0x00 0x01>;
reg = <0x00 0x1fa02000 0x00 0xb00 0x00 0x1fa03000 0x00 0xb00>;
interrupts = <0x00 0x43 0x04 0x00 0x44 0x04>;
};
wed2 {
compatible = "en751221,wed2";
wed_num = <0x02>;
pci_slot_map = <0x00 0x01>;
reg = <0x00 0x1fa02000 0x00 0xb00 0x00 0x1fa03000 0x00 0xb00>;
interrupts = <0x00 0x43 0x04 0x00 0x44 0x04>;
};
wed_test {
compatible = "en751221,wed_test";
wed_num = <0x02>;
reg = <0x00 0x1fa02b00 0x00 0x100 0x00 0x1fa03b00 0x00 0x100>;
};
gdump@1fbf9000 {
compatible = "econet,ecnt-gdump";
reg = <0x00 0x1fbf9000 0x00 0x84>;
};
crypto_k@1fb70000 {
compatible = "econet,ecnt-crypto_k";
reg = <0x00 0x1fb70000 0x00 0x804>;
interrupts = <0x00 0x2c 0x04>;
};
trng@1faa1000 {
compatible = "econet,ecnt-trng";
reg = <0x00 0x1faa1000 0x00 0xc04>;
interrupts = <0x00 0x23 0x04>;
};
gdma@1fb30000 {
compatible = "econet,ecnt-gdma";
reg = <0x00 0x1fb30000 0x00 0x2b0>;
};
xsi@1fa04000 {
compatible = "econet,ecnt-xsi";
reg = <0x00 0x1fa08000 0x00 0x300 0x00 0x1fa04000 0x00 0x300 0x00 0x1fa05000 0x00 0x300 0x00 0x1fa07000 0x00 0x300 0x00 0x1fa09000 0x00 0x300>;
};
i2c_slave@1fbe3300 {
compatible = "econet,ecnt-i2c_slave";
reg = <0x00 0x1fbe3300 0x00 0x10>;
dev0_addr = <0x60>;
dev1_addr = <0x62>;
interrupts = <0x00 0x1c 0x04>;
};
pbus_monitor@1fbe3400 {
compatible = "econet,ecnt-pbus_monitor";
reg = <0x00 0x1fbe3400 0x00 0xfc>;
};
serial@1fbf0000 {
compatible = "econet,ecnt-uart1";
reg = <0x00 0x1fbf0000 0x00 0x30>;
interrupts = <0x00 0x12 0x04>;
};
serial@1fbf0300 {
compatible = "econet,ecnt-uart2";
reg = <0x00 0x1fbf0300 0x00 0x30 0x00 0x1fbe1000 0x00 0x40 0x00 0x1fbf0600 0x00 0x30 0x00 0x1fbf0700 0x00 0x30>;
interrupts = <0x00 0x20 0x04 0x00 0x36 0x04 0x00 0x3d 0x04 0x00 0x3e 0x04>;
};
spi_controller@1fa10000 {
compatible = "econet,ecnt-spi_ctrl";
reg = <0x00 0x1fa10000 0x00 0x140 0x00 0x00 0x00 0x1000>;
interrupts = <0x00 0x33 0x04>;
phandle = <0x0b>;
};
spi_spi2nfi@1fa11000 {
compatible = "econet,ecnt-spi2nfi";
reg = <0x00 0x1fa11000 0x00 0x160>;
phandle = <0x0c>;
};
spi_ecc@1fa12000 {
compatible = "econet,ecnt-spi_ecc";
reg = <0x00 0x1fa12000 0x00 0x150>;
phandle = <0x0d>;
};
frame_engine@1fb50000 {
compatible = "econet,ecnt-frame_engine";
reg = <0x00 0x1fb50000 0x00 0x2600 0x00 0x1fb54000 0x00 0x4000 0x00 0x1fb58000 0x00 0x8000>;
interrupts = <0x00 0x25 0x04 0x00 0x37 0x04 0x00 0x38 0x04 0x00 0x39 0x04 0x00 0x26 0x04 0x00 0x3a 0x04 0x00 0x3b 0x04 0x00 0x3c 0x04 0x00 0x31 0x04 0x00 0x40 0x04 0x00 0xcb 0x04 0x00 0xcc 0x04 0x00 0xcd 0x04 0x00 0xce 0x04 0x00 0xcf 0x04 0x00 0xd0 0x04 0x00 0xd1 0x04 0x00 0xd2 0x04>;
};
1588v2ptp@1fb5e000 {
compatible = "econet,ecnt-1588v2ptp";
reg = <0x00 0x1fb5e000 0x00 0xcc 0x00 0x1fa09500 0x00 0x200 0x00 0x1fa08500 0x00 0x200>;
interrupts = <0x00 0x1f 0x04 0x00 0x41 0x04 0x00 0x93 0x04>;
};
snor {
compatible = "econet,ecnt-snor";
spi-controller = <0x0b>;
};
nand@1fa10000 {
compatible = "econet,ecnt-nand";
spi-controller = <0x0b>;
spi2nfi = <0x0c>;
spi-ecc = <0x0d>;
};
dma-controller@1fa01800 {
compatible = "econet,ecnt-hsdma";
reg = <0x00 0x1fa01800 0x00 0x300>;
interrupts = <0x00 0x3f 0x04>;
#dma-cells = <0x01>;
dma-channels = <0x02>;
dma-requests = <0x02>;
};
cpu_top@1efb0000 {
compatible = "econet,ecnt-cpu_top";
reg = <0x00 0x1efbc800 0x00 0x10>;
};
xpon@1fb64000 {
compatible = "econet,ecnt-xpon";
reg = <0x00 0x1fb64000 0x00 0x3e8 0x00 0x1fb66000 0x00 0x23c 0x00 0x1fb65000 0x00 0xff8>;
interrupts = <0x00 0x2a 0x04 0x00 0x22 0x04>;
};
xhci@1fab0000 {
compatible = "econet,ecnt-xhci";
reg = <0x00 0x1fab0000 0x00 0x3e00 0x00 0x1fab3e00 0x00 0x100>;
interrupts = <0x00 0x21 0x04>;
};
xhci@1fad0000 {
compatible = "airoha,arht-xhci2";
reg = <0x00 0x1fad0000 0x00 0x3e00 0x00 0x1fad3e00 0x00 0x100>;
interrupts = <0x00 0x96 0x04>;
};
pon_phy@1faf0000 {
compatible = "econet,ecnt-pon_phy";
reg = <0x00 0x1faf0000 0x00 0x1fff 0x00 0x1fa2ff24 0x00 0x04 0x00 0x1faf3000 0x00 0xfff 0x00 0x1faf4000 0x00 0xfff>;
};
pcm@bfbd0000 {
compatible = "econet,ecnt-pcm";
reg = <0x00 0x1fbd0000 0x00 0x4fff>;
interrupts = <0x00 0x1b 0x04>;
};
i2s@1fbe2200 {
compatible = "econet,ecnt-i2s";
reg = <0x00 0x1fbe2200 0x00 0xfc 0x00 0x1fbe2e00 0x00 0x114>;
interrupts = <0x00 0x30 0x04>;
};
pcie_phy {
compatible = "econet,ecnt-pcie_phy";
};
serdes_common_phy@1fa5a000 {
compatible = "airoha,serdes_common_phy";
reg = <0x00 0x1fa5a000 0x00 0xfff 0x00 0x1fa5b000 0x00 0xfff 0x00 0x1fa5c000 0x00 0xfff 0x00 0x1fa7a000 0x00 0xfff 0x00 0x1fa7b000 0x00 0xfff 0x00 0x1fa8a000 0x00 0xfff 0x00 0x1fa8b000 0x00 0xfff 0x00 0x1fa84000 0x00 0x685>;
interrupts = <0x00 0x2b 0x04>;
int_name = "common_int";
};
p2l_usxgmii@1fa50000 {
compatible = "airoha,air-pcie2l_usxgmii";
reg = <0x00 0x1fa55900 0x00 0x334 0x00 0x1fa50a00 0x00 0x168 0x00 0x1fa50000 0x00 0x64 0x00 0x1fa56000 0x00 0xff 0x00 0x1fa54000 0x00 0x685 0x00 0x1fa65900 0x00 0x334 0x00 0x1fa60a00 0x00 0x168 0x00 0x1fa60000 0x00 0x64 0x00 0x1fa66000 0x00 0xff 0x00 0x1fa64000 0x00 0x685>;
interrupts = <0x00 0x97 0x04>;
int_name = "p2l_usxgmii";
int_id = <0x00>;
};
eth_usxgmii@1fa70000 {
compatible = "airoha,air-eth_usxgmii";
reg = <0x00 0x1fa75900 0x00 0x334 0x00 0x1fa70a00 0x00 0x168 0x00 0x1fa70000 0x00 0x64 0x00 0x1fa76000 0x00 0xff 0x00 0x1fa74000 0x00 0x685>;
interrupts = <0x00 0x42 0x04>;
int_name = "eth_usxgmii";
int_id = <0x00>;
};
xpon_usxgmii@1fa80000 {
compatible = "airoha,air-xpon_usxgmii";
reg = <0x00 0x1fa85900 0x00 0x334 0x00 0x1fa80a00 0x00 0x168 0x00 0x1fa80000 0x00 0x64 0x00 0x1fa86000 0x00 0xff>;
int_name = "xpon_usxgmii";
int_id = <0x00>;
};
sgmii_u0@1fa90000 {
compatible = "airoha,air-usb_xgmii";
reg = <0x00 0x1fa90a00 0x00 0x168 0x00 0x1fa90000 0x00 0x64 0x00 0x1fa96000 0x00 0xff 0x00 0x1fa9a000 0x00 0x401 0x00 0x1fa94000 0x00 0x401>;
interrupts = <0x00 0x99 0x04>;
int_name = "sgmii_usb0";
int_id = <0x00>;
};
ipsec@1fbfa000 {
compatible = "econet,ecnt-ipsec";
reg = <0x00 0x1fbfa000 0x00 0x268>;
interrupts = <0x00 0x4f 0x04>;
};
tod@1fbe2300 {
compatible = "econet,ecnt-tod";
reg = <0x00 0x1fbe2300 0x00 0xd0>;
interrupts = <0x00 0x4e 0x04>;
};
usb1_phy@1fac0000 {
compatible = "econet,ecnt-usb_phy";
reg = <0x00 0x1fac0000 0x00 0x400>;
};
ssusb1_phy@1fac0700 {
compatible = "econet,ecnt-usb_phy";
reg = <0x00 0x1fac0700 0x00 0x568>;
};
usb2_phy@1fae0000 {
compatible = "econet,ecnt-usb_phy";
reg = <0x00 0x1fae0000 0x00 0x400>;
};
ssusb2_phy@1fae0700 {
compatible = "econet,ecnt-ssusb2_phy";
reg = <0x00 0x1fae0700 0x00 0x568>;
};
mmc@1fa0e000 {
compatible = "mediatek,mt7622-mmc";
reg = <0x00 0x1fa0e000 0x00 0x1000 0x00 0x1fa0c000 0x00 0x60>;
interrupts = <0x00 0xaa 0x04>;
bus-width = <0x04>;
max-frequency = <0x3197500>;
disable-wp;
cap-mmc-highspeed;
non-removable;
};
thermal_phy@1efbd000 {
compatible = "econet,ecnt-thermal_phy";
reg = <0x00 0x1efbd000 0x00 0xfff>;
interrupts = <0x00 0x17 0x04>;
int_name = "ptp_therm";
};
mdio-bus {
compatible = "airoha,arht-mdio";
phy@13 {
reg = <0x0d>;
};
phy@14 {
reg = <0x0e>;
};
phy@15 {
reg = <0x0f>;
};
phy@5 {
compatible = "ethernet-phy-ieee802.3-c45";
reset-gpios = <0x0e 0x0e 0x01>;
reg = <0x05>;
status = "okay";
};
phy@8 {
compatible = "ethernet-phy-ieee802.3-c45";
reset-gpios = <0x0f 0x1f 0x01>;
reg = <0x08>;
status = "okay";
};
};
leds {
compatible = "gpio-leds";
led_green {
label = "sts_green";
gpios = <0x0f 0x11 0x01>;
linux,default-trigger = "none";
};
led_blue {
label = "sts_blue";
gpios = <0x0f 0x13 0x01>;
linux,default-trigger = "none";
};
led_white {
label = "sts_white";
gpios = <0x0f 0x14 0x01>;
linux,default-trigger = "none";
};
led_red {
label = "sts_red";
gpios = <0x0f 0x1d 0x01>;
linux,default-trigger = "none";
default-state = "on";
};
led4 {
label = "led4:green:LED0_LAN0";
gpios = <0x0f 0x09 0x01>;
linux,default-trigger = "none";
};
led5 {
label = "led5:yellow:LED1_LAN0";
gpios = <0x0f 0x0a 0x01>;
linux,default-trigger = "none";
};
led6 {
label = "led6:green:LED0_LAN1";
gpios = <0x0f 0x1b 0x01>;
linux,default-trigger = "none";
};
led7 {
label = "led7:yellow:LED1_LAN1";
gpios = <0x0f 0x1c 0x01>;
linux,default-trigger = "none";
};
};
gpio-keys-polled {
compatible = "gpio-keys-polled";
poll-interval = <0x64>;
BTN_O {
label = "BTN_0";
linux,code = <0x100>;
gpios = <0x0f 0x00 0x01>;
};
};
gpio@1fbf0200 {
compatible = "airoha,en7523-gpio";
reg = <0x00 0x1fbf0204 0x00 0x04 0x00 0x1fbf0200 0x00 0x04 0x00 0x1fbf0220 0x00 0x04 0x00 0x1fbf0214 0x00 0x04>;
gpio-controller;
#gpio-cells = <0x02>;
phandle = <0x0f>;
};
gpio@1fbf0270 {
compatible = "airoha,en7523-gpio";
reg = <0x00 0x1fbf0270 0x00 0x04 0x00 0x1fbf0260 0x00 0x04 0x00 0x1fbf0264 0x00 0x04 0x00 0x1fbf0278 0x00 0x04>;
gpio-controller;
#gpio-cells = <0x02>;
phandle = <0x0e>;
};
gpio@1fbf0224 {
compatible = "econet,ecnt-gpio";
reg = <0x00 0x1fbf0218 0x00 0x08 0x00 0x1fbf0224 0x00 0x10 0x00 0x1fbf0234 0x00 0x2c 0x00 0x1fbf0268 0x00 0x04 0x00 0x1fbf0208 0x00 0x0c 0x00 0x1fbf027c 0x00 0x1c 0x00 0x1fbf0298 0x00 0x28>;
};
partition@1fa10000 {
compatible = "econet,ecnt-partition";
#address-cells = <0x01>;
#size-cells = <0x01>;
partitions {
compatible = "fixed-partitions";
#address-cells = <0x01>;
#size-cells = <0x01>;
bootloader@0 {
label = "bootloader";
reg = <0x00 0x80000>;
};
tclinux@80000 {
label = "tclinux";
reg = <0x80000 0x2800000>;
};
tclinux_slave@2880000 {
label = "tclinux_slave";
reg = <0x2880000 0x2800000>;
};
rootfs_data@5080000 {
label = "rootfs_data";
reg = <0x5080000 0x800000>;
};
art@de80000 {
label = "art";
reg = <0xdd00000 0x300000>;
};
};
};
i2c@1fbf8000 {
compatible = "econet,ecnt-i2c";
reg = <0x00 0x1fbf8000 0x00 0x65>;
};
};