[source] ramips: add support for Loewe WMDR-143N
LEDE Commits
lede-commits at lists.infradead.org
Thu Jul 27 00:17:59 PDT 2017
mkresin pushed a commit to source.git, branch master:
https://git.lede-project.org/a92c64e8ae38f6a221823610c4a2f454c813c484
commit a92c64e8ae38f6a221823610c4a2f454c813c484
Author: Oliver Fleischmann <ogf at bnv-bamberg.de>
AuthorDate: Thu Jul 20 21:02:33 2017 +0200
ramips: add support for Loewe WMDR-143N
The WMDR-143N is a small module originally used as a Wifi client
in some Loewe smart TV sets. It is sold cheaply at german surplus
shops. The module contains a RT3662 SOC.
Specifications:
- 500 MHz CPU Clock
- 1x 10/100Mbps Ethernet (pin header)
- 32 MB of RAM
- 8 MB of FLASH
- 2T3R 2.4/5 GHz (SOC internal)
- 3 Antennas on PCB
- UART pads on PCB (J3: 1 = +3.3V, 2 = RX, 3 = TX, 4 = GND), TX
and RX are 3,3V only! The square hole is pin 1
- Power supply pads on PCB (J6: 1 and 2 = +5V, 3 and 4 = GND)
The square hole is pin 1
The original firmware has two identical kernel/rootfs images and
two "Factory" calibration data blocks in flash. The LEDE image
leaves only the first "Factory" block in place and uses both
"Kernel" blocks and the redundant "Factory" block together to gain
enough space for the jffs2 partition.
Flash instructions:
You need UART and Ethernet connections to flash the board. Use
the LEDE "sysupgrade.bin" image with tftp.
Apply power to the board and in the first 5 seconds, hit 2 to
select TFTP upload. The bootloader asks for board- and server IP
addresses and filename.
Alternate method: With the vendor firmware running, assign an IP
address to the ethernet port, tftp the firmware image to
/tmp and write to mtd4 ("KernelA").
Signed-off-by: Oliver Fleischmann <ogf at bnv-bamberg.de>
[remove pinctrl node from dts, no pin is used as GPIO]
Signed-off-by: Mathias Kresin <dev at kresin.me>
---
.../linux/ramips/base-files/etc/board.d/02_network | 4 +-
target/linux/ramips/base-files/lib/ramips.sh | 3 +
.../ramips/base-files/lib/upgrade/platform.sh | 1 +
target/linux/ramips/dts/WMDR-143N.dts | 64 ++++++++++++++++++++++
target/linux/ramips/image/rt3883.mk | 8 +++
5 files changed, 79 insertions(+), 1 deletion(-)
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 ee769b5..cd9e08a 100755
--- a/target/linux/ramips/base-files/etc/board.d/02_network
+++ b/target/linux/ramips/base-files/etc/board.d/02_network
@@ -230,6 +230,7 @@ ramips_setup_interfaces()
na930|\
pbr-d1|\
wli-tx4-ag300n|\
+ wmdr-143n|\
wmr-300|\
wn3000rpv3|\
wrh-300cr)
@@ -345,7 +346,8 @@ ramips_setup_macs()
case $board in
a5-v11|\
- ht-tm02)
+ ht-tm02|\
+ wmdr-143n)
lan_mac=$(cat /sys/class/net/eth0/address)
;;
all0239-3g|\
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index 685ba07..0267c9d 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -598,6 +598,9 @@ ramips_board_detect() {
*"WLR-6000")
name="wlr-6000"
;;
+ *"WMDR-143N")
+ name="wmdr-143n"
+ ;;
*"WMR-300")
name="wmr-300"
;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index b087d99..14f5ec2 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -170,6 +170,7 @@ platform_check_image() {
wl-wn575a3|\
wli-tx4-ag300n|\
wlr-6000|\
+ wmdr-143n|\
wmr-300|\
wn3000rpv3|\
wnce2001|\
diff --git a/target/linux/ramips/dts/WMDR-143N.dts b/target/linux/ramips/dts/WMDR-143N.dts
new file mode 100644
index 0000000..ccb1df3
--- /dev/null
+++ b/target/linux/ramips/dts/WMDR-143N.dts
@@ -0,0 +1,64 @@
+/dts-v1/;
+
+#include "rt3883.dtsi"
+
+/ {
+ compatible = "loewe,wmdr-143n", "ralink,rt3883-soc";
+ model = "Loewe WMDR-143N";
+};
+
+&spi0 {
+ status = "okay";
+
+ m25p80 at 0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "jedec,spi-nor";
+ reg = <0>;
+ spi-max-frequency = <25000000>;
+
+ partition at 0 {
+ label = "u-boot";
+ reg = <0x0 0x30000>;
+ read-only;
+ };
+
+ partition at 30000 {
+ label = "u-boot-env";
+ reg = <0x30000 0x00010000>;
+ read-only;
+ };
+
+ factory: partition at 40000 {
+ label = "factory";
+ reg = <0x40000 0x10000>;
+ read-only;
+ };
+
+ partition at 50000 {
+ label = "firmware";
+ reg = <0x50000 0x7b0000>;
+ };
+ };
+};
+
+ðernet {
+ port at 0 {
+ phy-handle = <&phy0>;
+ phy-mode = "mii";
+ };
+ mdio-bus {
+ status = "okay";
+
+ phy0: ethernet-phy at 0 {
+ reg = <0>;
+ phy-mode = "mii";
+ };
+ };
+};
+
+&wmac {
+ status = "okay";
+ ralink,mtd-eeprom = <&factory 0>;
+ mtd-mac-address = <&factory 0x4>;
+};
diff --git a/target/linux/ramips/image/rt3883.mk b/target/linux/ramips/image/rt3883.mk
index 2cd60f3..f90fc61 100644
--- a/target/linux/ramips/image/rt3883.mk
+++ b/target/linux/ramips/image/rt3883.mk
@@ -114,3 +114,11 @@ define Device/wlr-6000
DEVICE_PACKAGES := kmod-usb-core kmod-usb-ohci kmod-usb2 swconfig
endef
TARGET_DEVICES += wlr-6000
+
+
+define Device/wmdr-143n
+ DTS := WMDR-143N
+ BLOCKSIZE := 64k
+ DEVICE_TITLE := Loewe WMDR-143N
+endef
+TARGET_DEVICES += wmdr-143n
More information about the lede-commits
mailing list