From d3e832d6fda8a39e7ec262994f75dac67353dcae Mon Sep 17 00:00:00 2001 From: DENG Qingfang Date: Tue, 23 Jul 2019 20:12:48 +0800 Subject: [PATCH] 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 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/ firmware` 5. reboot Known bug: - SD slot does not work (See PR 1500) Signed-off-by: DENG Qingfang --- .../ramips/base-files/etc/board.d/01_leds | 1 + .../ramips/base-files/etc/board.d/02_network | 2 + .../ramips/dts/mt7628an_hiwifi_hc5761a.dts | 56 +++++++++++++++++++ target/linux/ramips/image/mt76x8.mk | 9 +++ 4 files changed, 68 insertions(+) create mode 100644 target/linux/ramips/dts/mt7628an_hiwifi_hc5761a.dts diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds index 4b72156621..d5ea201279 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -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" ;; diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network index 2f9a02256e..5fe61c31de 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -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 index 0000000000..a8b9049391 --- /dev/null +++ b/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>; + }; +}; diff --git a/target/linux/ramips/image/mt76x8.mk b/target/linux/ramips/image/mt76x8.mk index edf9a67645..d560a2aab0 100644 --- a/target/linux/ramips/image/mt76x8.mk +++ b/target/linux/ramips/image/mt76x8.mk @@ -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 -- 2.30.2