Просмотр исходного кода

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 <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21326
Signed-off-by: Hauke Mehrtens <[email protected]>
Ahmed Naseef 1 месяц назад
Родитель
Сommit
8440e79c9f

+ 9 - 0
target/linux/econet/base-files/sbin/en75_chboot

@@ -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

+ 79 - 0
target/linux/econet/dts/en7528_dasan_h660gm-a.dts

@@ -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>;
+		};
+	};
+};

+ 10 - 0
target/linux/econet/image/en7528.mk

@@ -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