summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtarget/linux/ramips/base-files/etc/diag.sh3
-rwxr-xr-xtarget/linux/ramips/base-files/etc/uci-defaults/01_leds3
-rwxr-xr-xtarget/linux/ramips/base-files/etc/uci-defaults/02_network4
-rwxr-xr-xtarget/linux/ramips/base-files/lib/ramips.sh3
-rwxr-xr-xtarget/linux/ramips/base-files/lib/upgrade/platform.sh1
-rw-r--r--target/linux/ramips/dts/MLW221.dts119
-rw-r--r--target/linux/ramips/image/Makefile2
7 files changed, 135 insertions, 0 deletions
diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
index 908547e..0887606 100755
--- a/target/linux/ramips/base-files/etc/diag.sh
+++ b/target/linux/ramips/base-files/etc/diag.sh
@@ -73,6 +73,9 @@ get_status_led() {
m4)
status_led="m4:blue:status"
;;
+ mlw221)
+ status_led="kingston:green:status"
+ ;;
mofi3500-3gn)
status_led="mofi3500-3gn:green:status"
;;
diff --git a/target/linux/ramips/base-files/etc/uci-defaults/01_leds b/target/linux/ramips/base-files/etc/uci-defaults/01_leds
index 19ec4f5..359281e 100755
--- a/target/linux/ramips/base-files/etc/uci-defaults/01_leds
+++ b/target/linux/ramips/base-files/etc/uci-defaults/01_leds
@@ -113,6 +113,9 @@ case $board in
hw550-3g)
set_usb_led "hw550-3g:green:usb"
;;
+ mlw221)
+ set_wifi_led "kingston:blue:wifi"
+ ;;
mofi3500-3gn)
set_usb_led "mofi3500-3gn:green:usb"
;;
diff --git a/target/linux/ramips/base-files/etc/uci-defaults/02_network b/target/linux/ramips/base-files/etc/uci-defaults/02_network
index f65388f..40c60fe 100755
--- a/target/linux/ramips/base-files/etc/uci-defaults/02_network
+++ b/target/linux/ramips/base-files/etc/uci-defaults/02_network
@@ -51,6 +51,10 @@ ramips_setup_interfaces()
;;
3g-6200nl | \
+ mlw221)
+ ucidef_set_interface_lan "eth0.2"
+ ;;
+
wl-330n | \
wmr300)
ucidef_set_interface_lan "eth0.1"
diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
index ff3c2a5..f7e04b7 100755
--- a/target/linux/ramips/base-files/lib/ramips.sh
+++ b/target/linux/ramips/base-files/lib/ramips.sh
@@ -160,6 +160,9 @@ ramips_board_detect() {
*"HAME MPR-A2")
name="mpr-a2"
;;
+ *"Kingston MLW221")
+ name="mlw221"
+ ;;
*"Planex MZK-750DHP")
name="mzk-750dhp"
;;
diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
index 1ab3ab5..4a70691 100755
--- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
@@ -55,6 +55,7 @@ platform_check_image() {
ip2202 | \
m3 | \
m4 | \
+ mlw221 | \
mofi3500-3gn | \
mpr-a1 | \
mpr-a2 | \
diff --git a/target/linux/ramips/dts/MLW221.dts b/target/linux/ramips/dts/MLW221.dts
new file mode 100644
index 0000000..f220e97
--- /dev/null
+++ b/target/linux/ramips/dts/MLW221.dts
@@ -0,0 +1,119 @@
+/dts-v1/;
+
+/include/ "mt7620n.dtsi"
+
+/ {
+ compatible = "mlw221", "ralink,mt7620n-soc";
+ model = "Kingston MLW221";
+
+ palmbus@10000000 {
+ gpio0: gpio@600 {
+ status = "okay";
+ };
+
+ gpio2: gpio@660 {
+ status = "okay";
+ };
+
+ gpio3: gpio@688 {
+ status = "okay";
+ };
+
+ spi@b00 {
+ status = "okay";
+
+ m25p80@0 {
+ #address-cells = <1>;
+ #size-cells = <1>;
+ compatible = "s25fl129p1";
+ reg = <0 0>;
+ linux,modalias = "m25p80", "s25fl129p1";
+ spi-max-frequency = <10000000>;
+
+ 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;
+ };
+
+ partition@50000 {
+ label = "firmware";
+ reg = <0x50000 0xf60000>;
+ };
+
+ partition@fb0000 {
+ label = "user-config";
+ reg = <0xfb0000 0x50000>;
+
+ };
+ };
+ };
+ };
+
+ ehci@101c0000 {
+ status = "okay";
+ };
+
+ ohci@101c1000 {
+ status = "okay";
+ };
+
+ ethernet@10100000 {
+ mtd-mac-address = <&factory 0x4>;
+ ralink,port-map = "wllll";
+ };
+
+ wmac@10180000 {
+ ralink,mtd-eeprom = <&factory 0>;
+ };
+
+ pinctrl {
+ state_default: pinctrl0 {
+ default {
+ ralink,group = "i2c", "ephy", "wled";
+ ralink,function = "gpio";
+ };
+ };
+ };
+
+ gpio-leds {
+ compatible = "gpio-leds";
+ system {
+ label = "kingston:blue:system";
+ gpios = <&gpio2 3 1>;
+ };
+ wifi {
+ label = "kingston:blue:wifi";
+ gpios = <&gpio3 0 1>;
+ };
+ };
+
+ gpio-keys-polled {
+ compatible = "gpio-keys-polled";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ poll-interval = <20>;
+ reset {
+ label = "reset";
+ gpios = <&gpio0 1 1>;
+ linux,code = <0x198>;
+ };
+ system {
+ label = "system";
+ gpios = <&gpio0 2 1>;
+ linux,code = <0x211>;
+ };
+ };
+};
diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile
index ef019ef..62992cd 100644
--- a/target/linux/ramips/image/Makefile
+++ b/target/linux/ramips/image/Makefile
@@ -738,6 +738,7 @@ endif
# MT7620N Profiles
#
+Image/Build/Profile/MLW221=$(call BuildFirmware/Default16M/$(1),$(1),mlw221,MLW221)
Image/Build/Profile/WMR300=$(call BuildFirmware/Default8M/$(1),$(1),wmr-300,WMR300)
Image/Build/Profile/RT-N14U=$(call BuildFirmware/Default8M/$(1),$(1),rt-n14u,RT-N14U)
Image/Build/Profile/WR8305RT=$(call BuildFirmware/Default8M/$(1),$(1),wr8305rt,WR8305RT)
@@ -746,6 +747,7 @@ Image/Build/Profile/ZBT-WA05=$(call BuildFirmware/Default8M/$(1),$(1),zbt-wa05,Z
ifeq ($(SUBTARGET),mt7620n)
define Image/Build/Profile/Default
+ $(call Image/Build/Profile/MLW221,$(1))
$(call Image/Build/Profile/WMR300,$(1))
$(call Image/Build/Profile/RT-N14U,$(1))
$(call Image/Build/Profile/WR8305RT,$(1))