From 927a77ecffd791aa096faff609d6897f99673603 Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Mon, 25 Mar 2024 21:39:30 +0900 Subject: [PATCH] ramips: add support for ELECOM WMC-M1267GST2 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ELECOM WMC-M1267GST2 is a 2.4/5 GHz band 11ac (Wi-Fi 5) mesh router, based on MT7621A. Specification: - SoC : MediaTek MT7621A - RAM : DDR3 256 MiB (Nanya NT5CC128M16JR-EK) - Flash : SPI-NOR 32 MiB (Winbond W25Q256JVFIQ) - WLAN : 2.4/5 GHz 2T2R (MediaTek MT7615D) - Ethernet : 10/100/1000 Mbps x5 - switch : MediaTek MT7530 (SoC) - LEDs/Keys : 6x/6x - UART : through-hole on PCB ("J4") - arrangement: 3.3V, GND, TX, RX from tri-angle marking - settings : 57600n8 - Power : 12 VDC, 1 A Flash instruction using factory image: 1. Boot WMC-M1267GST2 normally with "Router" mode 2. Access to "http://192.168.2.1/" and open firmware update page ("ファームウェア更新") 3. Select the OpenWrt factory image and click apply ("適用") button 4. Wait ~120 seconds to complete flashing MAC addresses: LAN : 04:AB:18:xx:xx:61 (Factory, 0xFFF4 (hex)) WAN : 04:AB:18:xx:xx:62 (Factory, 0xFFFA (hex)) 2.4 GHz: 04:AB:18:xx:xx:63 5 GHz : 04:AB:18:xx:xx:64 (Factory, 0x4 (hex)) Signed-off-by: INAGAKI Hiroshi --- .../dts/mt7621_elecom_wmc-m1267gst2.dts | 77 +++++++++++++++++++ target/linux/ramips/image/mt7621.mk | 30 +++++--- 2 files changed, 96 insertions(+), 11 deletions(-) create mode 100644 target/linux/ramips/dts/mt7621_elecom_wmc-m1267gst2.dts diff --git a/target/linux/ramips/dts/mt7621_elecom_wmc-m1267gst2.dts b/target/linux/ramips/dts/mt7621_elecom_wmc-m1267gst2.dts new file mode 100644 index 00000000000..42517529afc --- /dev/null +++ b/target/linux/ramips/dts/mt7621_elecom_wmc-m1267gst2.dts @@ -0,0 +1,77 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621_elecom_wrc-gs-1pci.dtsi" + +/ { + compatible = "elecom,wmc-m1267gst2", "mediatek,mt7621-soc"; + model = "ELECOM WMC-M1267GST2"; +}; + +&gmac0 { + nvmem-cells = <&macaddr_factory_fff4>; + nvmem-cell-names = "mac-address"; +}; + +&gmac1 { + nvmem-cells = <&macaddr_factory_fffa>; + nvmem-cell-names = "mac-address"; +}; + +&partitions { + partition@50000 { + compatible = "denx,uimage"; + label = "firmware"; + reg = <0x50000 0x1800000>; + }; + + partition@1850000 { + label = "tm_pattern"; + reg = <0x1850000 0x400000>; + read-only; + }; + + partition@1c50000 { + label = "tm_key"; + reg = <0x1c50000 0x100000>; + read-only; + }; + + partition@1d50000 { + label = "nvram"; + reg = <0x1d50000 0xb0000>; + read-only; + }; + + partition@1e00000 { + label = "user_data"; + reg = <0x1e00000 0x200000>; + read-only; + }; +}; + +&wifi { + nvmem-cells = <&macaddr_factory_4 (-1)>; + nvmem-cell-names = "mac-address"; +}; + +&factory { + nvmem-layout { + compatible = "fixed-layout"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_4: macaddr@4 { + compatible = "mac-base"; + reg = <0x4 0x6>; + #nvmem-cell-cells = <1>; + }; + + macaddr_factory_fff4: macaddr@fff4 { + reg = <0xfff4 0x6>; + }; + + macaddr_factory_fffa: macaddr@fffa { + reg = <0xfffa 0x6>; + }; + }; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index cbaf6a9c599..a0b6fe9e5fb 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -979,6 +979,25 @@ define Device/edimax_rg21s endef TARGET_DEVICES += edimax_rg21s +define Device/elecom_wrc-gs + $(Device/dsa-migration) + $(Device/uimage-lzma-loader) + DEVICE_VENDOR := ELECOM + IMAGES += factory.bin + IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \ + elecom-wrc-gs-factory $$$$(ELECOM_HWNAME) 0.00 -N | \ + append-string MT7621_ELECOM_$$$$(ELECOM_HWNAME) + DEVICE_PACKAGES := kmod-mt7615-firmware -uboot-envtools +endef + +define Device/elecom_wmc-m1267gst2 + $(Device/elecom_wrc-gs) + IMAGE_SIZE := 24576k + DEVICE_MODEL := WMC-M1267GST2 + ELECOM_HWNAME := WMC-DLGST2 +endef +TARGET_DEVICES += elecom_wmc-m1267gst2 + define Device/elecom_wrc-1167ghbk2-s $(Device/dsa-migration) IMAGE_SIZE := 15488k @@ -991,17 +1010,6 @@ define Device/elecom_wrc-1167ghbk2-s endef TARGET_DEVICES += elecom_wrc-1167ghbk2-s -define Device/elecom_wrc-gs - $(Device/dsa-migration) - $(Device/uimage-lzma-loader) - DEVICE_VENDOR := ELECOM - IMAGES += factory.bin - IMAGE/factory.bin := $$(sysupgrade_bin) | check-size | \ - elecom-wrc-gs-factory $$$$(ELECOM_HWNAME) 0.00 -N | \ - append-string MT7621_ELECOM_$$$$(ELECOM_HWNAME) - DEVICE_PACKAGES := kmod-mt7615-firmware -uboot-envtools -endef - define Device/elecom_wrc-1167gs2-b $(Device/elecom_wrc-gs) IMAGE_SIZE := 11264k