ramips: add support for HiWiFi HC5611
authorSenis John <thank243@gmail.com>
Sat, 19 Nov 2022 03:30:54 +0000 (11:30 +0800)
committerChuanhong Guo <gch981213@gmail.com>
Sun, 4 Dec 2022 07:21:12 +0000 (15:21 +0800)
CPU: MediaTek MT7628AN @ 575 MHz
Flash: 16 MB
RAM: 128 MB
Ethernet: 10/100Mbps x 1
Wlan: 300 Mbps
USB: USB 2.0 x 1
LED: red/green x 1
Button: reset x 1

1. Open https://www.hiwifi.wtf/, Get Cloud token and unlock ssh
2. Upload the openwrt firmware to the router via SCP
3. Login the router via SSH
4. Run `mtd -r write path_to_firmware.bin firmware`

I have tested on my device.
- The LED will display RED on power-on, After system start completed, trun GREEN
- Reset button working now. Long press after 5s will reset factory. Short press less 1s will reboot the device
- USB can working under official u-boot

Signed-off-by: Senis John <thank243@gmail.com>
target/linux/ramips/dts/mt7628an_hiwifi_hc5611.dts [new file with mode: 0644]
target/linux/ramips/image/mt76x8.mk
target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds
target/linux/ramips/mt76x8/base-files/etc/board.d/02_network
target/linux/ramips/mt76x8/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac

diff --git a/target/linux/ramips/dts/mt7628an_hiwifi_hc5611.dts b/target/linux/ramips/dts/mt7628an_hiwifi_hc5611.dts
new file mode 100644 (file)
index 0000000..17de299
--- /dev/null
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+
+#include "mt7628an_hiwifi_hc5x61a.dtsi"
+
+/ {
+       compatible = "hiwifi,hc5611", "mediatek,mt7628an-soc";
+       model = "HiWiFi HC5611";
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_system: system {
+                       label = "green:system";
+                       gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
+                       default-state = "on";
+               };
+
+               internet {
+                       label = "red:internet";
+                       gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
+               };
+       };
+};
+
+&state_default {
+       gpio {
+               groups = "gpio", "spi cs1", "wdt";
+               function = "gpio";
+       };
+};
index 5e8d05b04283f5a560fbaa7818b0f77541bd96b0..1b7e786b52b887a1e71a4004ef1a4f567624f269 100644 (file)
@@ -243,6 +243,14 @@ define Device/hilink_hlk-7688a
 endef
 TARGET_DEVICES += hilink_hlk-7688a
 
+define Device/hiwifi_hc5611
+  IMAGE_SIZE := 15808k
+  DEVICE_VENDOR := HiWiFi
+  DEVICE_MODEL := HC5611
+  DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci
+endef
+TARGET_DEVICES += hiwifi_hc5611
+
 define Device/hiwifi_hc5661a
   IMAGE_SIZE := 15808k
   DEVICE_VENDOR := HiWiFi
index 8a21756225acfe2c9a364b80f89bf94312d7ebf4..66628cea09f8d8752a63b5fd39b514132f972b33 100644 (file)
@@ -46,6 +46,9 @@ skylab,skw92a)
 hilink,hlk-7688a)
        ucidef_set_led_wlan "wlan" "WLAN" "green:wlan" "phy0tpt"
        ;;
+hiwifi,hc5611)
+       ucidef_set_led_netdev "internet" "internet" "red:internet" "br-lan" "tx rx"
+       ;;
 hiwifi,hc5661a|\
 hiwifi,hc5761a)
        ucidef_set_led_switch "internet" "internet" "blue:internet" "switch0" "0x10"
index 38ff38bac5feafdc70441a0ea3624bef2b788189..d85cdf3db7fac1e490513790bcf6d23345bba1f1 100644 (file)
@@ -14,6 +14,7 @@ ramips_setup_interfaces()
        glinet,microuter-n300|\
        glinet,vixmini|\
        hak5,wifi-pineapple-mk7|\
+       hiwifi,hc5611|\
        mediatek,linkit-smart-7688|\
        minew,g1-c|\
        onion,omega2p|\
@@ -226,6 +227,7 @@ ramips_setup_macs()
        zyxel,keenetic-extra-ii)
                wan_mac=$(macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1)
                ;;
+       hiwifi,hc5611|\
        hiwifi,hc5661a|\
        hiwifi,hc5761a|\
        hiwifi,hc5861b)
index b8f8faee9ca28425355793251e434b7a8bd63ca9..c9e205a0fc143b4bfea4095ad6c96e06d1d5b475 100644 (file)
@@ -10,6 +10,7 @@ PHYNBR=${DEVPATH##*/phy}
 board=$(board_name)
 
 case "$board" in
+       hiwifi,hc5611|\
        hiwifi,hc5661a|\
        hiwifi,hc5761a|\
        hiwifi,hc5861b)