1
1
openwrt/target/linux/econet/dts/en751627_zyxel_ex3301-t0.dts
Caleb James DeLisle b33959a668 econet: add EN751627 subtarget and Zyxel EX3301-T0 board
The EN751627 EcoNet subtarget consists of the EN7516 DSL SoC and the
(rare) EN7527 xPON SoC.

We currently support pci / wifi, usb and flash, but the EN751221 eth
driver is not portable to this family right now.

Zyxel EX3301-T0 is a wifi router based on the EN7516, it is a DSL SoC
but lacks the DSL port.

Installation instructions:
1. Serial access is required, stop the Zyxel bootloader.
2. Use ATENv3 https://github.com/cjdelisle/ATENv3 to unlock bootloader
3. "ATLD x" on the prompt to start a TFTP server
4. Connect ethernet cable from any lan (yellow) port on modem to a
device.
5. On your device, configure network to 192.168.1.2/30
6. On your device, send TRX file to 192.168.1.1 with name x, i.e.
tftp -p -l ./econet/tclinux -r x 192.168.1.1
7. On modem, you should see a line like this:
"Total 8022324 (0x7A6934) bytes received" note the hex value
8. "ATGU" to enter econet bootloader
9. "flash 80000 80020000 <the hex number without 0x>"
For example: flash 80000 80020000 7A6934
10. "reboot 1" -- start the system

If it boots back into the factory OS, you need to switch OS, from the
ZHAL prompt:

1. "ATCB" -- load data from flash
2. "ATCF 0" -- switch to OS 0
3. "ATBT 1" -- enable flash write
4. "ATSB" -- save data
5. "ATSR 1" -- reboot system

Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
Link: https://github.com/openwrt/openwrt/pull/22945
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-05-14 21:12:46 +02:00

118 lines
1.8 KiB
Plaintext

// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/dts-v1/;
#include "en751627.dtsi"
/ {
model = "Zyxel EX3301-T0";
compatible = "zyxel,ex3301-t0", "econet,en751627";
memory@0 {
device_type = "memory";
reg = <0x00000000 0x10000000>;
};
chosen {
stdout-path = "/serial@1fbf0000:115200";
};
};
&nand {
status = "okay";
econet,bmt;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0all {
label = "all_of_flash";
reg = <0x0 0x8000000>;
read-only;
};
partition@0 {
label = "bootloader";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "romfile";
reg = <0x40000 0x40000>;
read-only;
};
partition@80000 {
label = "tclinux";
reg = <0x80000 0x2800000>;
read-only;
econet,enable-remap;
};
/* Nested inside of tclinux */
partition@480000 {
label = "rootfs";
reg = <0x480000 0x2400000>;
linux,rootfs;
read-only;
};
partition@2880000 {
label = "tclinux_alt";
reg = <0x2880000 0x2620000>;
};
partition@4ea0000 {
label = "wwan";
reg = <0x4ea0000 0x100000>;
};
partition@4fa0000 {
label = "factory_data";
reg = <0x4fa0000 0x400000>;
};
partition@53a0000 {
label = "rom-d";
reg = <0x53a0000 0x100000>;
};
partition@54a0000 {
label = "misc";
reg = <0x54a0000 0x2000000>;
};
factory: partition@74a0000 {
label = "factory";
reg = <0x74a0000 0x80000>;
};
partition@7520000 {
label = "reservearea";
reg = <0x7520000 0xc0000>;
};
};
};
&pcie0 {
status = "okay";
};
&slot0 {
status = "okay";
wifi@0,0 {
compatible = "mediatek,mt76";
reg = <0x0000 0 0 0 0>;
mediatek,mtd-eeprom = <&factory 0x0000>;
big-endian;
};
};
&pcie1 {
status = "okay";
/* Slot 1 is a second link to the same wifi chip */
};