diff --git a/target/linux/ramips/dts/mt7621_huasifei_mt7621dtu.dts b/target/linux/ramips/dts/mt7621_huasifei_mt7621dtu.dts new file mode 100644 index 000000000..7ef72e07f --- /dev/null +++ b/target/linux/ramips/dts/mt7621_huasifei_mt7621dtu.dts @@ -0,0 +1,180 @@ +#include "mt7621.dtsi" + +#include +#include + +/ { + compatible = "huasifei,mt7621dtu", "mediatek,mt7621-soc"; + model = "Huasifei MT7621 DTU"; + + aliases { + led-boot = &led_status; + led-failsafe = &led_status; + led-running = &led_status; + led-upgrade = &led_status; + label-mac-device = &gmac0; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + keys { + compatible = "gpio-keys"; + + button-reset { + label = "Reset"; + gpios = <&gpio 18 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_status: led-status { + label = "green:status"; + gpios = <&gpio 12 GPIO_ACTIVE_LOW>; + }; + + led-cellular-4g { + label = "green:wwan4g"; + gpios = <&gpio 8 GPIO_ACTIVE_LOW>; + }; + + led-cellular-5g { + label = "green:wwan5g"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + }; + + led-cellular-l2 { + label = "green:wwan-l2"; + gpios = <&gpio 5 GPIO_ACTIVE_LOW>; + }; + + led-cellular-l3 { + label = "green:wwan-l3"; + gpios = <&gpio 11 GPIO_ACTIVE_HIGH>; + }; + }; + + gpio-export { + compatible = "gpio-export"; + #size-cells = <0>; + + modem_enable { + gpio-export,name = "modem_enable"; + gpio-export,output = <1>; + gpios = <&gpio 4 GPIO_ACTIVE_HIGH>; + }; + + modem_reset { + gpio-export,name = "modem_reset"; + gpio-export,output = <0>; + gpios = <&gpio 6 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&sdhci { + status = "okay"; +}; + +&spi0 { + status = "okay"; + + flash@0 { + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + + compatible = "nvmem-cells"; + #address-cells = <1>; + #size-cells = <1>; + + macaddr_factory_e000: macaddr@e000 { + reg = <0xe000 0x6>; + }; + }; + + partition@50000 { + compatible = "denx,uimage"; + reg = <0x50000 0x1fb0000>; + label = "firmware"; + }; + }; + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie0 { + wifi@0,0 { + compatible = "pci14c3,7603"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0000>; + }; +}; + +&pcie1 { + wifi@0,0 { + compatible = "pci14c3,7662"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x8000>; + ieee80211-freq-limit = <5000000 6000000>; + + led { + led-sources = <2>; + }; + }; +}; + +&gmac0 { + mtd-mac-address = <&factory 0xe000>; +}; + +&gmac1 { + mtd-mac-address = <&factory 0xe006>; + status = "okay"; +}; + +&gsw { + mediatek,portmap = "llllw"; + status = "okay"; +}; + +&hnat { + mtketh-wan = "eth1"; + mtketh-ppd = "eth0"; + mtketh-lan = "eth0"; + mtketh-max-gmac = <2>; + /delete-property/ mtkdsa-wan-port; +}; + +&switch0 { + status = "disabled"; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index cb3382f7f..9b403b91a 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -851,6 +851,18 @@ define Device/ht-jsh_0211 endef TARGET_DEVICES += ht-jsh_0211 +define Device/huasifei_mt7621dtu + $(Device/dsa-migration) + $(Device/uimage-lzma-loader) + IMAGE_SIZE := 32448k + DEVICE_VENDOR := Huasifei + DEVICE_MODEL := MT7621 DTU + DEVICE_PACKAGES := kmod-ata-ahci kmod-mt7603 kmod-mt76x2 kmod-sdhci-mt7620 \ + kmod-usb3 kmod-usb-net-cdc-mbim kmod-usb-net-qmi-wwan \ + kmod-usb-serial-option luci-proto-qmi +endef +TARGET_DEVICES += huasifei_mt7621dtu + define Device/huasifei_ws1208v2 $(Device/dsa-migration) $(Device/uimage-lzma-loader) diff --git a/target/linux/ramips/mt7621/base-files/etc/init.d/modem-enable b/target/linux/ramips/mt7621/base-files/etc/init.d/modem-enable new file mode 100755 index 000000000..664be1527 --- /dev/null +++ b/target/linux/ramips/mt7621/base-files/etc/init.d/modem-enable @@ -0,0 +1,11 @@ +#!/bin/sh /etc/rc.common + +START=99 + +boot() { + case $(board_name) in + huasifei,ws1208v2) + echo 1 > /sys/class/gpio/modem_reset/value + ;; + esac +}