diff options
author | Giuseppe Lippolis <giu.lippolis@gmail.com> | 2018-03-10 10:34:38 +0100 |
---|---|---|
committer | Mathias Kresin <dev@kresin.me> | 2018-04-04 08:42:35 +0200 |
commit | 6525bffc0a7ee6fabfe331a4d9e3eeabdd3516ae (patch) | |
tree | 4d91984eefef92212b58ba195df91970e24f86bc /target/linux | |
parent | e9d5f8ebb25721c28a37390081fd4a08c3d0f8d4 (diff) | |
download | mtk-20170518-6525bffc0a7ee6fabfe331a4d9e3eeabdd3516ae.zip mtk-20170518-6525bffc0a7ee6fabfe331a4d9e3eeabdd3516ae.tar.gz mtk-20170518-6525bffc0a7ee6fabfe331a4d9e3eeabdd3516ae.tar.bz2 |
ramips: add support for DLINK DWR-921-C1
The DWR-921-C1 Wireless Routers with LTE embedded modem is based on the
MT7620N SoC.
Specification:
* MediaTek MT7620N (580 Mhz)
* 64 MB of RAM
* 16 MB of FLASH
* 802.11bgn radio
* 5x 10/100 Mbps Ethernet (1 WAN and 4 LAN)
* 2x external, detachable (LTE) antennas
* UART header on PCB (57600 8n1)
* 6x LED (GPIO-controlled)
* 1x bi-color Signal Strength LED (GPIO-controlled)
* 2x button
* JBOOT bootloader
The status led has been assigned to the dwr-921-c1:green:sigstrength (lte
signal strength) led. At the end of the boot it is switched off and is
available for lte operation. Work correctly also during sysupgrade
operation.
Installation:
Apply factory image via d-link http web-gui.
How to revert to OEM firmware:
1.) Push the reset button and turn on the power. Wait until LED start
blinking (~10sec.)
2.) Upload original factory image via JBOOT http (IP: 192.168.123.254)
3.) If http doesn't work, it can be done with curl command:
curl -F FN=@XXXXX.bin http://192.168.123.254/upg
where XXXXX.bin is name of firmware file.
Signed-off-by: Giuseppe Lippolis <giu.lippolis@gmail.com>
Diffstat (limited to 'target/linux')
-rwxr-xr-x | target/linux/ramips/base-files/etc/board.d/01_leds | 5 | ||||
-rwxr-xr-x | target/linux/ramips/base-files/etc/board.d/02_network | 4 | ||||
-rw-r--r-- | target/linux/ramips/base-files/etc/diag.sh | 3 | ||||
-rw-r--r-- | target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom | 3 | ||||
-rwxr-xr-x | target/linux/ramips/base-files/lib/upgrade/platform.sh | 3 | ||||
-rw-r--r-- | target/linux/ramips/dts/DWR-921-C1.dts | 144 | ||||
-rw-r--r-- | target/linux/ramips/image/mt7620.mk | 16 |
7 files changed, 175 insertions, 3 deletions
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 4b8242c..a34abbb 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -162,6 +162,11 @@ dlink,dwr-116-a1|\ mzk-ex300np) set_wifi_led "$boardname:green:wifi" ;; +dlink,dwr-921-c1) + set_wifi_led "$boardname:green:wifi" + ucidef_set_led_switch "lan" "lan" "$boardname:green:lan" "switch0" "0x0f" + ucidef_set_led_default "sigstrength" "Signal Strength" "$boardname:green:sigstrength" "0" + ;; dir-810l|\ mzk-750dhp|\ mzk-dp150n|\ 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 4441b22..8f3a95d 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -81,6 +81,7 @@ ramips_setup_interfaces() dir-610-a1|\ dir-615-h1|\ dlink,dwr-116-a1|\ + dlink,dwr-921-c1|\ ew1200|\ firewrt|\ hc5661a|\ @@ -434,7 +435,8 @@ ramips_setup_macs() lan_mac=$(mtd_get_mac_ascii factory lanmac) wan_mac=$(mtd_get_mac_ascii factory wanmac) ;; - dlink,dwr-116-a1) + dlink,dwr-116-a1|\ + dlink,dwr-921-c1) wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000) lan_mac=$(macaddr_add "$wan_mac" 1) ;; diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index d9f131b..7b90f6b 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -108,6 +108,9 @@ get_status_led() { zbt-wg2626) status_led="$boardname:green:status" ;; + dlink,dwr-921-c1) + status_led="$boardname:green:sigstrength" + ;; asl26555-8M|\ asl26555-16M) status_led="asl26555:green:power" diff --git a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom index 67c05c9..c0c6a3e 100644 --- a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom +++ b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom @@ -54,7 +54,8 @@ board=$(board_name) case "$FIRMWARE" in "soc_wmac.eeprom") case $board in - dlink,dwr-116-a1) + dlink,dwr-116-a1|\ + dlink,dwr-921-c1) wan_mac=$(jboot_config_read -m -i $(find_mtd_part "config") -o 0xE000) wifi_mac=$(macaddr_add "$wan_mac" 1) jboot_eeprom_extract "config" 0xE000 diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index b052cf8..44be484 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -271,7 +271,8 @@ platform_check_image() { } return 0 ;; - dlink,dwr-116-a1) + dlink,dwr-116-a1|\ + dlink,dwr-921-c1) [ "$magic" != "0404242b" ] && { echo "Invalid image type." return 1 diff --git a/target/linux/ramips/dts/DWR-921-C1.dts b/target/linux/ramips/dts/DWR-921-C1.dts new file mode 100644 index 0000000..dbcbc17 --- /dev/null +++ b/target/linux/ramips/dts/DWR-921-C1.dts @@ -0,0 +1,144 @@ +/dts-v1/; + +#include "mt7620n.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + compatible = "dlink,dwr-921-c1", "ralink,mt7620n-soc"; + model = "D-Link DWR-921 C1"; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "wps"; + gpios = <&gpio0 2 GPIO_ACTIVE_LOW>; + linux,code = <KEY_WPS_BUTTON>; + }; + + reset { + label = "reset"; + gpios = <&gpio0 1 GPIO_ACTIVE_LOW>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + sms { + label = "dwr-921-c1:green:sms"; + gpios = <&gpio1 14 GPIO_ACTIVE_LOW>; + }; + + lan { + label = "dwr-921-c1:green:lan"; + gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; + }; + + sstrengthg { + label = "dwr-921-c1:green:sigstrength"; + gpios = <&gpio2 0 GPIO_ACTIVE_LOW>; + }; + + sstrengthr { + label = "dwr-921-c1:red:sigstrength"; + gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; + }; + + 4g { + label = "dwr-921-c1:green:4g"; + gpios = <&gpio2 2 GPIO_ACTIVE_LOW>; + }; + + 3g { + label = "dwr-921-c1:green:3g"; + gpios = <&gpio2 3 GPIO_ACTIVE_LOW>; + }; + + wifi { + label = "dwr-921-c1:green:wifi"; + gpios = <&gpio3 0 GPIO_ACTIVE_LOW>; + }; + }; + + gpio_export { + compatible = "gpio-export"; + #size-cells = <0>; + + lte_modem_enable { + gpio-export,name = "lte_modem_enable"; + gpio-export,output = <1>; + gpios = <&gpio0 0 GPIO_ACTIVE_HIGH>; + }; + }; +}; + +&gpio1 { + status = "okay"; +}; + +&gpio2 { + status = "okay"; +}; + +&gpio3 { + status = "okay"; +}; + +&spi0 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + + partition@0 { + label = "jboot"; + reg = <0x0 0x10000>; + read-only; + }; + + partition@10000 { + label = "firmware"; + reg = <0x10000 0xfe0000>; + }; + + config: partition@ff0000 { + label = "config"; + reg = <0xff0000 0x10000>; + read-only; + }; + }; +}; + +&ehci { + status = "okay"; +}; + +&ohci { + status = "okay"; +}; + +ðernet { + port@4 { + status = "okay"; + }; +}; + +&pinctrl { + state_default: pinctrl0 { + default { + ralink,group = "spi refclk", "i2c", "ephy", "wled"; + ralink,function = "gpio"; + }; + }; +}; diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk index b352c54..185a081 100644 --- a/target/linux/ramips/image/mt7620.mk +++ b/target/linux/ramips/image/mt7620.mk @@ -162,6 +162,22 @@ define Device/dlink_dwr-116-a1 endef TARGET_DEVICES += dlink_dwr-116-a1 +define Device/dlink_dwr-921-c1 + DTS := DWR-921-C1 + IMAGE_SIZE := $(ralink_default_fw_size_16M) + DEVICE_TITLE := D-Link DWR-921 C1 + DLINK_ROM_ID := DLK6E2414001 + DLINK_FAMILY_MEMBER := 0x6E24 + DLINK_FIRMWARE_SIZE := 0xFE0000 + KERNEL := $(KERNEL_DTB) + IMAGES += factory.bin + IMAGE/sysupgrade.bin := mkdlinkfw | pad-rootfs | append-metadata + IMAGE/factory.bin := mkdlinkfw | pad-rootfs | mkdlinkfw-factory + DEVICE_PACKAGES := jboot-tools \ + kmod-usb2 kmod-usb-net-qmi-wwan kmod-usb-serial-option uqmi +endef +TARGET_DEVICES += dlink_dwr-921-c1 + define Device/e1700 DTS := E1700 IMAGES += factory.bin |