mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-03-03 16:04:49 +01:00
econet: en7528: split DASAN H660GM-A into Airtel and Generic variants
The DASAN H660GM-A GPON ONT exists in two hardware variants, one
distributed by ISPs and one sold directly by the manufacturer [1].
Split the single DTS into a shared dtsi and per-variant DTS files
with the correct GPIO mappings, flash layout, and LED definitions.
Variant comparison:
Feature | Airtel | Generic
---------------+---------------------------+-------------------------
Supplied by | Airtel Xstream Fiber | Retail
Flash | Micron MT29F2G01ABAGD | Micron MT29F1G01ABAFD
| 256 MB | 128 MB
Known P/N | DPW-G-P-66GMAZ-A3 | DPW:G-P-660GMAY-G0
| (some units unlabelled) | DPW:G-P-660GMAY-G3
WPS LED | Yes | No
WLAN button | No | Yes
USB LED | No | Yes
LAN LEDs | Green only | Green + Amber
[1] https://dasanns.com/en/solution/detail.php?mode=view&cat_no=32&offset=&idx=122
Tested-by: Arif Rahman Hakim <arif2785id@gmail.com>
Signed-off-by: Ahmed Naseef <naseefkm@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/22095
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
55c01365de
commit
7ee18e84dc
5 changed files with 188 additions and 65 deletions
|
|
@ -138,7 +138,8 @@ main() {
|
|||
code_openwrt=30
|
||||
code_factory=31
|
||||
;;
|
||||
dasan,h660gm-a)
|
||||
dasan,h660gm-a-airtel|\
|
||||
dasan,h660gm-a-generic)
|
||||
# bootflag stored in dzs partition at offset 0x49
|
||||
part=$(part_named '"dzs"')
|
||||
offset_blocks=0
|
||||
|
|
|
|||
70
target/linux/econet/dts/en7528_dasan_h660gm-a-airtel.dts
Normal file
70
target/linux/econet/dts/en7528_dasan_h660gm-a-airtel.dts
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
/dts-v1/;
|
||||
|
||||
#include "en7528_dasan_h660gm-a.dtsi"
|
||||
|
||||
/ {
|
||||
model = "DASAN H660GM-A (Airtel)";
|
||||
compatible = "dasan,h660gm-a-airtel", "econet,en7528";
|
||||
|
||||
leds {
|
||||
led_wps: wps {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WPS;
|
||||
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_lan1: lan1 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_lan2: lan2 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_lan3: lan3 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <3>;
|
||||
gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_lan4: lan4 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <4>;
|
||||
gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&partitions {
|
||||
partition@60c0000 {
|
||||
label = "unknown";
|
||||
reg = <0x60c0000 0x7d00000>;
|
||||
};
|
||||
|
||||
partition@ddc0000 {
|
||||
label = "reservearea";
|
||||
reg = <0xddc0000 0x240000>;
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
eeprom_reservearea_40000: eeprom@40000 {
|
||||
reg = <0x40000 0x400>;
|
||||
};
|
||||
|
||||
eeprom_reservearea_1c0000: eeprom@1c0000 {
|
||||
reg = <0x1c0000 0x1000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
101
target/linux/econet/dts/en7528_dasan_h660gm-a-generic.dts
Normal file
101
target/linux/econet/dts/en7528_dasan_h660gm-a-generic.dts
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
/dts-v1/;
|
||||
|
||||
#include "en7528_dasan_h660gm-a.dtsi"
|
||||
|
||||
/ {
|
||||
model = "DASAN H660GM-A (Generic)";
|
||||
compatible = "dasan,h660gm-a-generic", "econet,en7528";
|
||||
|
||||
keys {
|
||||
key-wlan {
|
||||
label = "wlan";
|
||||
gpios = <&gpio0 22 GPIO_ACTIVE_LOW>;
|
||||
linux,code = <KEY_RFKILL>;
|
||||
};
|
||||
};
|
||||
|
||||
leds {
|
||||
led_usb: usb {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_USB;
|
||||
gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan1-green {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan1-amber {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
gpios = <&gpio0 23 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan2-green {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan2-amber {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
gpios = <&gpio0 24 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan3-green {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <3>;
|
||||
gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan3-amber {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <3>;
|
||||
gpios = <&gpio0 25 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan4-green {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <4>;
|
||||
gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led-lan4-amber {
|
||||
color = <LED_COLOR_ID_AMBER>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <4>;
|
||||
gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&partitions {
|
||||
partition@6dc0000 {
|
||||
label = "reservearea";
|
||||
reg = <0x6dc0000 0x240000>;
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
eeprom_reservearea_40000: eeprom@40000 {
|
||||
reg = <0x40000 0x400>;
|
||||
};
|
||||
|
||||
eeprom_reservearea_1c0000: eeprom@1c0000 {
|
||||
reg = <0x1c0000 0x1000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
/dts-v1/;
|
||||
|
||||
#include "en7528.dtsi"
|
||||
|
||||
|
|
@ -8,9 +7,6 @@
|
|||
#include <dt-bindings/leds/common.h>
|
||||
|
||||
/ {
|
||||
model = "DASAN H660GM-A";
|
||||
compatible = "dasan,h660gm-a", "econet,en7528";
|
||||
|
||||
aliases {
|
||||
led-boot = &led_power;
|
||||
led-failsafe = &led_power;
|
||||
|
|
@ -66,40 +62,6 @@
|
|||
gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_wps: wps {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WPS;
|
||||
gpios = <&gpio0 7 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_lan1: lan1 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <1>;
|
||||
gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_lan2: lan2 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <2>;
|
||||
gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_lan3: lan3 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <3>;
|
||||
gpios = <&gpio1 1 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_lan4: lan4 {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_LAN;
|
||||
function-enumerator = <4>;
|
||||
gpios = <&gpio0 31 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
|
||||
led_wlan24: wlan2g {
|
||||
color = <LED_COLOR_ID_GREEN>;
|
||||
function = LED_FUNCTION_WLAN_2GHZ;
|
||||
|
|
@ -186,7 +148,7 @@
|
|||
econet,bmt;
|
||||
econet,bbt-table-size = <250>;
|
||||
|
||||
partitions {
|
||||
partitions: partitions {
|
||||
compatible = "fixed-partitions";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
|
@ -239,28 +201,5 @@
|
|||
label = "rwfs";
|
||||
reg = <0x40c0000 0x2000000>;
|
||||
};
|
||||
|
||||
partition@60c0000 {
|
||||
label = "unknown";
|
||||
reg = <0x60c0000 0x7d00000>;
|
||||
};
|
||||
|
||||
partition@ddc0000 {
|
||||
label = "reservearea";
|
||||
reg = <0xddc0000 0x240000>;
|
||||
nvmem-layout {
|
||||
compatible = "fixed-layout";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
eeprom_reservearea_40000: eeprom@40000 {
|
||||
reg = <0x40000 0x400>;
|
||||
};
|
||||
|
||||
eeprom_reservearea_1c0000: eeprom@1c0000 {
|
||||
reg = <0x1c0000 0x1000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
@ -10,10 +10,22 @@ TARGET_DEVICES += en7528_generic
|
|||
define Device/dasan_h660gm-a
|
||||
DEVICE_VENDOR := DASAN
|
||||
DEVICE_MODEL := H660GM-A
|
||||
DEVICE_DTS := en7528_dasan_h660gm-a
|
||||
DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap
|
||||
TRX_MODEL := Dewberry
|
||||
IMAGES := tclinux.trx
|
||||
IMAGE/tclinux.trx := append-kernel | lzma | tclinux-trx
|
||||
endef
|
||||
TARGET_DEVICES += dasan_h660gm-a
|
||||
|
||||
define Device/dasan_h660gm-a-airtel
|
||||
$(Device/dasan_h660gm-a)
|
||||
DEVICE_VARIANT := Airtel
|
||||
DEVICE_DTS := en7528_dasan_h660gm-a-airtel
|
||||
endef
|
||||
TARGET_DEVICES += dasan_h660gm-a-airtel
|
||||
|
||||
define Device/dasan_h660gm-a-generic
|
||||
$(Device/dasan_h660gm-a)
|
||||
DEVICE_VARIANT := Generic
|
||||
DEVICE_DTS := en7528_dasan_h660gm-a-generic
|
||||
endef
|
||||
TARGET_DEVICES += dasan_h660gm-a-generic
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue