[LEDE-DEV] Adding support for dlink dwr-512
Giuseppe Lippolis
giu.lippolis at gmail.com
Sat Oct 15 15:03:46 PDT 2016
Hi all,
I'm proceeding to finalize the support:
Now the wifi is enabled, the LEDs and the buttons are supported.
To complete the device support I need to:
1. enable the 3G modem
2. crack the header file to generate the factory image
Will take some time.
In the meantime, here the patch:
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 c8b57ca..719078c 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -71,6 +71,7 @@ ramips_setup_interfaces()
dir-320-b1|\
dir-610-a1|\
dir-615-h1|\
+ dwr-512-b|\
firewrt|\
hlk-rm04|\
mac1200rv2|\
diff --git a/target/linux/ramips/base-files/lib/ramips.sh
b/target/linux/ramips/base-files/lib/ramips.sh
index bb379f7..a0f041e 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -154,6 +154,9 @@ ramips_board_detect() {
*"DIR-860L B1")
name="dir-860l-b1"
;;
+ *"DWR-512 B")
+ name="dwr-512-b"
+ ;;
*"Dovado Tiny AC")
name="tiny-ac"
;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh
b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index 0ef2308..36ea469 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -50,6 +50,7 @@ platform_check_image() {
dir-620-a1|\
dir-620-d1|\
dir-810l|\
+ dwr-512-b|\
duzun-dm06|\
e1700|\
esr-9753|\
diff --git a/target/linux/ramips/dts/DWR-512-B.dts
b/target/linux/ramips/dts/DWR-512-B.dts
index e69de29..2a69ce7 100644
--- a/target/linux/ramips/dts/DWR-512-B.dts
+++ b/target/linux/ramips/dts/DWR-512-B.dts
@@ -0,0 +1,109 @@
+/dts-v1/;
+
+/include/ "rt5350.dtsi"
+
+/ {
+ compatible = "ralink,rt5350-soc";
+ model = "D-Link DWR-512 B";
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+
+ wps {
+ label = "wps";
+ gpios = <&gpio0 0 1>;
+ linux,code = <0x211>;
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+
+ sms {
+ label = "dwr-512-b:green:sms";
+ gpios = <&gpio0 8 1>;
+ };
+ status {
+ label = "dwr-512-b:green:status";
+ gpios = <&gpio0 9 1>;
+ };
+ 2g {
+ label = "dwr-512-b:green:2g";
+ gpios = <&gpio0 17 1>;
+ };
+ 3g {
+ label = "dwr-512-b:green:3g";
+ gpios = <&gpio0 19 1>;
+ };
+ sstrengthr {
+ label = "dwr-512-b:red:sigstrength";
+ gpios = <&gpio0 20 1>;
+ };
+ sstrengthg {
+ label = "dwr-512-b:green:sigstrength";
+ gpios = <&gpio0 21 1>;
+ };
+ };
+};
+
+&spi0 {
+ status = "okay";
+
+ mx25l6405d at 0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "macronix,mx25l6405d", "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <30000000>;
+ fast-read;
+
+ partition at 0 {
+ label = "bootloader";
+ reg = <0x0 0x10000>;
+ read-only;
+ };
+
+ partition at 10000 {
+ label = "Kernel";
+ reg = <0x10000 0x140000>;
+ read-only;
+ };
+
+ partition at 150000 {
+ label = "rootfs";
+ reg = <0x150000 0x200000>;
+ read-only;
+ };
+
+ partition at 350000 {
+ label = "rootfs_data";
+ reg = <0x350000 0x3c0000>;
+ };
+
+ partition at 710010 {
+ label = "ui";
+ reg = <0x710000 0xe0000>;
+ };
+
+ config: partition at 7f0000 {
+ label = "config";
+ reg = <0x7f0000 0x10000>;
+ };
+ };
+};
+
+&pinctrl {
+ state_default: pinctrl0 {
+ gpio {
+ ralink,group = "i2c", "jtag", "uartf";
+ ralink,function = "gpio";
+ };
+ };
+};
+
+&wmac {
+ ralink,mtd-eeprom = <&config 0xe07a>;
+};
diff --git a/target/linux/ramips/image/rt305x.mk
b/target/linux/ramips/image/rt305x.mk
index be21ac4..fbbabdb 100644
--- a/target/linux/ramips/image/rt305x.mk
+++ b/target/linux/ramips/image/rt305x.mk
@@ -168,6 +168,17 @@ endef
TARGET_DEVICES += dir-620-d1
+define Device/dwr-512-b
+ DTS := DWR-512-B
+ KERNEL := kernel-bin | patch-dtb | lzma
+ IMAGES += factory.bin
+ IMAGE/factory.bin := \
+ append-kernel
+ DEVICE_TITLE := D-Link DWR-512 B
+endef
+TARGET_DEVICES += dwr-512-b
+
+
define Device/esr-9753
DTS := ESR-9753
BLOCKSIZE := 64k
diff --git a/target/linux/ramips/rt305x/config-4.4
b/target/linux/ramips/rt305x/config-4.4
index b8f6cda..dcf318f 100644
--- a/target/linux/ramips/rt305x/config-4.4
+++ b/target/linux/ramips/rt305x/config-4.4
@@ -132,9 +132,8 @@ CONFIG_MTD_M25P80=y
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
-CONFIG_MTD_SPLIT_FIRMWARE=y
-CONFIG_MTD_SPLIT_SEAMA_FW=y
-CONFIG_MTD_SPLIT_UIMAGE_FW=y
+# CONFIG_MTD_SPLIT is not set
+# CONFIG_MTD_SPLIT_SQUASHFS_ROOT is not set
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_PER_CPU_KM=y
CONFIG_NET_MEDIATEK_ESW_RT3050=y
@@ -158,6 +157,7 @@ CONFIG_PHY_RALINK_USB=y
CONFIG_PINCTRL=y
CONFIG_PINCTRL_RT2880=y
# CONFIG_PINCTRL_SINGLE is not set
+CONFIG_PRINTK_TIME=y
CONFIG_RALINK=y
# CONFIG_RALINK_ILL_ACC is not set
CONFIG_RALINK_WDT=y
Bye.
More information about the Lede-dev
mailing list