aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorPawel Dembicki <paweldembicki@gmail.com>2018-03-19 19:15:29 +0100
committerPetr Štetiar <ynezz@true.cz>2019-03-24 01:44:24 +0100
commit67fced9ba336dd69c5a35aec3157db4b158a9e2d (patch)
tree1203504bb73e691a34c91a686dc051d88f17f913 /target
parent1f149fcad38677cc917d249e32b4b791cde95702 (diff)
downloadupstream-67fced9ba336dd69c5a35aec3157db4b158a9e2d.tar.gz
upstream-67fced9ba336dd69c5a35aec3157db4b158a9e2d.tar.bz2
upstream-67fced9ba336dd69c5a35aec3157db4b158a9e2d.zip
ramips: add support for DLINK DIR-510L
The DIR-510L Wireless Router are based on the MT7620A SoC. Specification: -MediaTek MT7620A (580 Mhz) -128 MB of RAM -16 MB of FLASH -802.11bgn radio -1x 10/100 Mbps Ethernet -2x internal, non-detachable antennas -UART (J3) header on PCB (57600 8n1) -1x bi-color LED (GPIO-controlled), 2x button -JBOOT bootloader Known issues: -Ethernet port is used as LAN -No communication with charger IC. (uart bitbang needed) 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: Pawel Dembicki <paweldembicki@gmail.com> [fixed whitespace issue in 10-rt2x00-eeprom] Signed-off-by: Petr Štetiar <ynezz@true.cz>
Diffstat (limited to 'target')
-rwxr-xr-xtarget/linux/ramips/base-files/etc/board.d/02_network2
-rwxr-xr-xtarget/linux/ramips/base-files/etc/board.d/03_gpio_switches4
-rw-r--r--target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom1
-rw-r--r--target/linux/ramips/dts/DIR-510L.dts142
-rw-r--r--target/linux/ramips/image/mt7620.mk12
5 files changed, 161 insertions, 0 deletions
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 bf71aef5ec..bb5ff483c4 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -365,6 +365,7 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \
"0:lan:4" "1:lan:3" "2:lan:2" "3:lan:1" "5:wan" "6@eth0"
;;
+ dlink,dir-510l|\
re350-v1)
ucidef_add_switch "switch0" \
"0:lan" "6@eth0"
@@ -513,6 +514,7 @@ ramips_setup_macs()
lan_mac=$(mtd_get_mac_ascii factory lanmac)
wan_mac=$(mtd_get_mac_ascii factory wanmac)
;;
+ dlink,dir-510l|\
dlink,dwr-116-a1|\
dlink,dwr-118-a1|\
dlink,dwr-118-a2|\
diff --git a/target/linux/ramips/base-files/etc/board.d/03_gpio_switches b/target/linux/ramips/base-files/etc/board.d/03_gpio_switches
index a5f9124d12..80e3c4c41f 100755
--- a/target/linux/ramips/base-files/etc/board.d/03_gpio_switches
+++ b/target/linux/ramips/base-files/etc/board.d/03_gpio_switches
@@ -7,6 +7,10 @@ board_config_update
board=$(board_name)
case "$board" in
+dlink,dir-510l)
+ ucidef_add_gpio_switch "usb_enable1" "USB 1A enable" "12" "0"
+ ucidef_add_gpio_switch "usb_enable05" "USB 0.5A enable" "13" "1"
+ ;;
mikrotik,rb750gr3)
ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "17"
;;
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 96a2397191..fc044c123e 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,6 +54,7 @@ board=$(board_name)
case "$FIRMWARE" in
"soc_wmac.eeprom")
case $board in
+ dlink,dir-510l|\
dlink,dwr-116-a1|\
dlink,dwr-118-a1|\
dlink,dwr-118-a2|\
diff --git a/target/linux/ramips/dts/DIR-510L.dts b/target/linux/ramips/dts/DIR-510L.dts
new file mode 100644
index 0000000000..885e64f9f2
--- /dev/null
+++ b/target/linux/ramips/dts/DIR-510L.dts
@@ -0,0 +1,142 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/dts-v1/;
+
+#include "mt7620a.dtsi"
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+ compatible = "dlink,dir-510l", "ralink,mt7620a-soc";
+ model = "D-Link DIR-510L";
+
+ aliases {
+ led-boot = &led_status;
+ led-failsafe = &led_status;
+ led-running = &led_status;
+ led-upgrade = &led_status;
+ };
+
+ chosen {
+ bootargs = "console=ttyS1,57600";
+ };
+
+ keys {
+ compatible = "gpio-keys-polled";
+ poll-interval = <20>;
+
+ reset {
+ label = "reset";
+ gpios = <&gpio0 1 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_RESTART>;
+ };
+
+ wps {
+ label = "wps";
+ gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
+ linux,code = <KEY_WPS_BUTTON>;
+ };
+ };
+
+ leds {
+ compatible = "gpio-leds";
+
+ led_status: status {
+ label = "dir-510l:green:status";
+ gpios = <&gpio0 14 GPIO_ACTIVE_HIGH>;
+ };
+
+ status-red {
+ label = "dir-510l:red:status";
+ gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>;
+ };
+
+ };
+};
+
+&ethernet {
+ mediatek,portmap = "llllw";
+};
+
+&uart {
+ status = "okay";
+};
+
+&gpio0 {
+ status = "okay";
+};
+
+&spi0 {
+ status = "okay";
+
+ flash@0 {
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <50000000>;
+
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ label = "jboot";
+ reg = <0x0 0x10000>;
+ read-only;
+ };
+
+ partition@10000 {
+ label = "recovery";
+ reg = <0x10000 0x200000>;
+ read-only;
+ };
+
+ partition@210000 {
+ compatible = "amit,jimage";
+ label = "firmware";
+ reg = <0x210000 0xde0000>;
+ };
+
+ config: partition@ff0000 {
+ label = "config";
+ reg = <0xff0000 0x10000>;
+ read-only;
+ };
+ };
+ };
+};
+
+&ehci {
+ status = "okay";
+};
+
+&ohci {
+ status = "okay";
+};
+
+&pcie {
+ status = "okay";
+};
+
+&pcie0 {
+ mt76x0e@0,0 {
+ reg = <0x0000 0 0 0 0>;
+ mtd-mac-address = <&config 0xe490>;
+ mtd-mac-address-increment = <(2)>;
+ mediatek,mtd-eeprom = <&config 0xe05d>;
+ };
+};
+
+&gsw {
+ mediatek,port4 = "ephy";
+};
+
+&pinctrl {
+ state_default: pinctrl0 {
+ default {
+ ralink,group = "i2c", "uartf";
+ ralink,function = "gpio";
+ };
+ };
+};
+
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index 234b6df098..da90568df0 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -190,6 +190,18 @@ define Device/dir-810l
endef
TARGET_DEVICES += dir-810l
+define Device/dlink_dir-510l
+ $(Device/amit_jboot)
+ DTS := DIR-510L
+ DEVICE_TITLE := D-Link DIR-510L
+ DEVICE_PACKAGES += kmod-mt76x0e
+ DLINK_ROM_ID := DLK6E3805001
+ DLINK_FAMILY_MEMBER := 0x6E38
+ DLINK_FIRMWARE_SIZE := 0xDE0000
+ DLINK_IMAGE_OFFSET := 0x210000
+endef
+TARGET_DEVICES += dlink_dir-510l
+
define Device/dlink_dwr-116-a1
$(Device/amit_jboot)
DTS := DWR-116-A1