ramips: add support for HiWiFi HC5761A
authorDENG Qingfang <dengqf6@mail2.sysu.edu.cn>
Tue, 23 Jul 2019 12:12:48 +0000 (20:12 +0800)
committerChuanhong Guo <gch981213@gmail.com>
Thu, 8 Aug 2019 13:02:03 +0000 (21:02 +0800)
HiWiFi HC5761A is an "MT7628AN variant" of HC5761

Specifications:
- MediaTek MT7628AN 580MHz
- 128 MB DDR2 RAM
- 16 MB SPI Flash
- 2.4G MT7628AN 802.11bgn 2T2R 300Mbps
- 5G MT7610EN 802.11ac 433Mbps
- 3x 10/100 Mbps Ethernet

Flash instruction:
1. Get SSH access to the router
2. SSH to router with `ssh -p 1022 root@192.168.199.1`, The SSH password is the same as the webconfig one
3. Upload OpenWrt sysupgrade firmware into the router's `/tmp` folder with SCP
4. Run `mtd write /tmp/<filename> firmware`
5. reboot

Known bug:
- SD slot does not work (See PR 1500)

Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
target/linux/ramips/base-files/etc/board.d/01_leds
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/dts/mt7628an_hiwifi_hc5761a.dts [new file with mode: 0644]
target/linux/ramips/image/mt76x8.mk

index 4b72156621ae2324bc22d55c4f109439aaaf7402..d5ea20127951d50f26ca0e0b29afba03bceb9d87 100755 (executable)
@@ -208,6 +208,7 @@ hiwifi,hc5661)
        set_wifi_led "$boardname:blue:wlan2g"
        ;;
 hiwifi,hc5661a|\
+hiwifi,hc5761a|\
 xzwifi,creativebox-v1)
        ucidef_set_led_switch "internet" "internet" "$boardname:blue:internet" "switch0" "0x10"
        ;;
index 2f9a02256e31ee87cfad7c916db4aa16341c2698..5fe61c31deec50fd38dc29771c5fee529c1ec265 100755 (executable)
@@ -57,6 +57,7 @@ ramips_setup_interfaces()
        firefly,firewrt|\
        hilink,hlk-rm04|\
        hiwifi,hc5661a|\
+       hiwifi,hc5761a|\
        hiwifi,hc5962|\
        mediatek,ap-mt7621a-v60|\
        mediatek,mt7621-eval-board|\
@@ -597,6 +598,7 @@ ramips_setup_macs()
        hiwifi,hc5661|\
        hiwifi,hc5661a|\
        hiwifi,hc5761|\
+       hiwifi,hc5761a|\
        hiwifi,hc5861|\
        hiwifi,hc5861b|\
        hiwifi,hc5962)
diff --git a/target/linux/ramips/dts/mt7628an_hiwifi_hc5761a.dts b/target/linux/ramips/dts/mt7628an_hiwifi_hc5761a.dts
new file mode 100644 (file)
index 0000000..a8b9049
--- /dev/null
@@ -0,0 +1,56 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7628an_hiwifi_hc5x61a.dtsi"
+
+/ {
+       compatible = "hiwifi,hc5761a", "mediatek,mt7628an-soc";
+       model = "HiWiFi HC5761A";
+
+       leds {
+               compatible = "gpio-leds";
+
+               led_system: system {
+                       label = "hc5761a:blue:system";
+                       gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+               };
+
+               internet {
+                       label = "hc5761a:blue:internet";
+                       gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
+               };
+
+               wlan2g {
+                       label = "hc5761a:blue:wlan2g";
+                       gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "phy0tpt";
+               };
+
+               wlan5g {
+                       label = "hc5761a:blue:wlan5g";
+                       gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+                       linux,default-trigger = "phy1tpt";
+               };
+       };
+};
+
+&pinctrl {
+       state_default: pinctrl0 {
+               gpio {
+                       ralink,group = "i2c", "refclk", "wdt", "p3led_an", "wled_an";
+                       ralink,function = "gpio";
+               };
+       };
+};
+
+&pcie {
+       status = "okay";
+};
+
+&pcie0 {
+       wifi@0,0 {
+               reg = <0x0000 0 0 0 0>;
+               mediatek,mtd-eeprom = <&factory 0x8000>;
+               ieee80211-freq-limit = <5000000 6000000>;
+       };
+};
index edf9a676455bb7956e05feba097e45a0bcea1328..d560a2aab00707742aad6025628caa4c8ea4cb45 100644 (file)
@@ -102,6 +102,15 @@ define Device/hiwifi_hc5661a
 endef
 TARGET_DEVICES += hiwifi_hc5661a
 
+define Device/hiwifi_hc5761a
+  MTK_SOC := mt7628an
+  IMAGE_SIZE := 15808k
+  DEVICE_VENDOR := HiWiFi
+  DEVICE_MODEL := HC5761A
+  DEVICE_PACKAGES := kmod-mt76x0e kmod-usb2 kmod-usb-ohci
+endef
+TARGET_DEVICES += hiwifi_hc5761a
+
 define Device/hiwifi_hc5861b
   MTK_SOC := mt7628an
   IMAGE_SIZE := 15808k