Просмотр исходного кода

ramips: add support for HiWiFi HC5761A

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 [email protected]`, 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 <[email protected]>
DENG Qingfang 6 лет назад
Родитель
Сommit
d3e832d6fd

+ 1 - 0
target/linux/ramips/base-files/etc/board.d/01_leds

@@ -208,6 +208,7 @@ hiwifi,hc5661)
 	set_wifi_led "$boardname:blue:wlan2g"
 	set_wifi_led "$boardname:blue:wlan2g"
 	;;
 	;;
 hiwifi,hc5661a|\
 hiwifi,hc5661a|\
+hiwifi,hc5761a|\
 xzwifi,creativebox-v1)
 xzwifi,creativebox-v1)
 	ucidef_set_led_switch "internet" "internet" "$boardname:blue:internet" "switch0" "0x10"
 	ucidef_set_led_switch "internet" "internet" "$boardname:blue:internet" "switch0" "0x10"
 	;;
 	;;

+ 2 - 0
target/linux/ramips/base-files/etc/board.d/02_network

@@ -57,6 +57,7 @@ ramips_setup_interfaces()
 	firefly,firewrt|\
 	firefly,firewrt|\
 	hilink,hlk-rm04|\
 	hilink,hlk-rm04|\
 	hiwifi,hc5661a|\
 	hiwifi,hc5661a|\
+	hiwifi,hc5761a|\
 	hiwifi,hc5962|\
 	hiwifi,hc5962|\
 	mediatek,ap-mt7621a-v60|\
 	mediatek,ap-mt7621a-v60|\
 	mediatek,mt7621-eval-board|\
 	mediatek,mt7621-eval-board|\
@@ -597,6 +598,7 @@ ramips_setup_macs()
 	hiwifi,hc5661|\
 	hiwifi,hc5661|\
 	hiwifi,hc5661a|\
 	hiwifi,hc5661a|\
 	hiwifi,hc5761|\
 	hiwifi,hc5761|\
+	hiwifi,hc5761a|\
 	hiwifi,hc5861|\
 	hiwifi,hc5861|\
 	hiwifi,hc5861b|\
 	hiwifi,hc5861b|\
 	hiwifi,hc5962)
 	hiwifi,hc5962)

+ 56 - 0
target/linux/ramips/dts/mt7628an_hiwifi_hc5761a.dts

@@ -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>;
+	};
+};

+ 9 - 0
target/linux/ramips/image/mt76x8.mk

@@ -102,6 +102,15 @@ define Device/hiwifi_hc5661a
 endef
 endef
 TARGET_DEVICES += hiwifi_hc5661a
 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
 define Device/hiwifi_hc5861b
   MTK_SOC := mt7628an
   MTK_SOC := mt7628an
   IMAGE_SIZE := 15808k
   IMAGE_SIZE := 15808k