From 7654ca01144206e5b60bac12ba02c64ae052310f Mon Sep 17 00:00:00 2001 From: Senis John Date: Sat, 19 Nov 2022 11:30:54 +0800 Subject: [PATCH] ramips: add support for HiWiFi HC5611 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 --- .../ramips/dts/mt7628an_hiwifi_hc5611.dts | 30 +++++++++++++++++++ target/linux/ramips/image/mt76x8.mk | 8 +++++ .../mt76x8/base-files/etc/board.d/01_leds | 3 ++ .../mt76x8/base-files/etc/board.d/02_network | 2 ++ 4 files changed, 43 insertions(+) create mode 100644 target/linux/ramips/dts/mt7628an_hiwifi_hc5611.dts diff --git a/target/linux/ramips/dts/mt7628an_hiwifi_hc5611.dts b/target/linux/ramips/dts/mt7628an_hiwifi_hc5611.dts new file mode 100644 index 000000000..17de299b3 --- /dev/null +++ b/target/linux/ramips/dts/mt7628an_hiwifi_hc5611.dts @@ -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"; + }; +}; diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index 3f6f842db..f6d32af66 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -171,6 +171,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 diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds index 683b829a6..d3091550e 100644 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/01_leds @@ -39,6 +39,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" diff --git a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network index 032d7e75b..549bfb452 100644 --- a/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt76x8/base-files/etc/board.d/02_network @@ -13,6 +13,7 @@ ramips_setup_interfaces() glinet,microuter-n300|\ glinet,vixmini|\ hak5,wifi-pineapple-mk7|\ + hiwifi,hc5611|\ mediatek,linkit-smart-7688|\ onion,omega2p|\ onion,omega2|\ @@ -193,6 +194,7 @@ ramips_setup_macs() wan_mac=$(mtd_get_mac_binary factory 0x22) label_mac=$wan_mac ;; + hiwifi,hc5611|\ hiwifi,hc5661a|\ hiwifi,hc5761a|\ hiwifi,hc5861b)