econet: en7528: add support for DASAN H660GM-A

DASAN H660GM-A is a GPON ONT.

Specification:
- SoC:      EcoNet EN7528
- RAM:      256 MB
- Flash:    256 MB SPI NAND
- Ethernet: 4x 1GbE
- FXS:      1 port
- GPON:     1 port
- USB:      1x USB 2.0

Install via OEM web UI:
1. Login to the factory web UI with username "superuser"
   and password "Dz$!A!r7".
2. Rename the OpenWrt image
   openwrt-econet-en7528-dasan_h660gm-a-squashfs-tclinux.trx
   to G_ONU_openwrt.bin.
3. Upload the renamed image via the firmware upgrade page
   at Maintenance > Firmware Upgrade in the factory web UI.

Signed-off-by: Ahmed Naseef <naseefkm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21326
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Ahmed Naseef 2025-12-30 12:24:43 +04:00 committed by Hauke Mehrtens
parent 9ba87609b8
commit 8440e79c9f
3 changed files with 98 additions and 0 deletions

View file

@ -138,6 +138,15 @@ main() {
code_openwrt=30
code_factory=31
;;
dasan,h660gm-a)
# bootflag stored in dzs partition at offset 0x49
part=$(part_named '"dzs"')
offset_blocks=0
block_size=$((1024 * 128))
code_offset=73
code_openwrt=0000
code_factory=0101
;;
*)
echo "Unsupported machine: $machine"
exit 1

View file

@ -0,0 +1,79 @@
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/dts-v1/;
#include "en7528.dtsi"
/ {
model = "DASAN H660GM-A";
compatible = "dasan,h660gm-a", "econet,en7528";
memory@0 {
device_type = "memory";
reg = <0x00000000 0x10000000>;
};
chosen {
stdout-path = "/serial@1fbf0000:115200";
linux,usable-memory-range = <0x00020000 0x0ffe0000>;
};
};
&nand {
status = "okay";
econet,bmt;
econet,bbt-table-size = <250>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "bootloader";
reg = <0x0 0x40000>;
read-only;
};
partition@40000 {
label = "dzs";
reg = <0x40000 0x40000>;
};
partition@80000 {
label = "tclinux";
reg = <0x80000 0x2000000>;
econet,enable-remap;
};
partition@480000 {
label = "rootfs";
reg = <0x480000 0x1c00000>;
linux,rootfs;
};
partition@2080000 {
label = "tclinux_slave";
reg = <0x2080000 0x2000000>;
};
partition@4080000 {
label = "romfile";
reg = <0x4080000 0x40000>;
};
partition@40c0000 {
label = "rwfs";
reg = <0x40c0000 0x2000000>;
};
partition@60c0000 {
label = "unknown";
reg = <0x60c0000 0x7d00000>;
};
partition@ddc0000 {
label = "reservearea";
reg = <0xddc0000 0x240000>;
};
};
};

View file

@ -6,3 +6,13 @@ define Device/en7528_generic
DEVICE_DTS := en7528_generic
endef
TARGET_DEVICES += en7528_generic
define Device/dasan_h660gm-a
DEVICE_VENDOR := DASAN
DEVICE_MODEL := H660GM-A
DEVICE_DTS := en7528_dasan_h660gm-a
TRX_MODEL := Dewberry
IMAGES := tclinux.trx
IMAGE/tclinux.trx := append-kernel | lzma | tclinux-trx
endef
TARGET_DEVICES += dasan_h660gm-a