From e5244ce2303f6ef91cdcafea6740875e5dc7ab57 Mon Sep 17 00:00:00 2001 From: John Crispin Date: Sat, 17 Jan 2015 07:07:36 +0000 Subject: [PATCH] ralink: add support for Kingston MLWG2 This patch adds support for the Kingston Mobilelite Wireless G2 (MLWG2) http://wiki.openwrt.org/toh/kingston/mlwg2 https://github.com/gmacario/kingston-mlwg2-hack/wiki/Testing-OpenWrt-on-MLWG2 Tested-by: Gianpaolo Macario Signed-off-by: L. D. Pinney git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43990 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../ramips/base-files/etc/board.d/01_leds | 4 + .../ramips/base-files/etc/board.d/02_network | 3 + target/linux/ramips/base-files/etc/diag.sh | 3 + target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/MLWG2.dts | 118 ++++++++++++++++++ target/linux/ramips/image/Makefile | 2 + 7 files changed, 134 insertions(+) create mode 100644 target/linux/ramips/dts/MLWG2.dts 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 c42b31feb8..dfd0ca7049 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -130,6 +130,10 @@ case $board in set_wifi_led "kingston:blue:wifi" ucidef_set_led_default "system" "system" "kingston:blue:system" "1" ;; + mlwg2) + set_wifi_led "kingston:blue:wifi" + ucidef_set_led_default "system" "system" "kingston:blue:system" "1" + ;; mofi3500-3gn) set_usb_led "mofi3500-3gn:green:usb" ;; 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 a86466e5e7..aad119738b 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -61,6 +61,9 @@ ramips_setup_interfaces() mlw221) ucidef_set_interface_lan "eth0.2" ;; + mlwg2) + ucidef_set_interface_lan "eth0.1" + ;; wizard8800 | \ wl-330n | \ diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 103dfcd236..65ef0db96a 100755 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -88,6 +88,9 @@ get_status_led() { mlw221) status_led="kingston:blue:status" ;; + mlwg2) + status_led="kingston:blue:system" + ;; mofi3500-3gn) status_led="mofi3500-3gn:green:status" ;; diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 540da335c6..379713bf21 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -187,6 +187,9 @@ ramips_board_detect() { *"Kingston MLW221") name="mlw221" ;; + *"Kingston MLWG2") + name="mlwg2" + ;; *"Linksys E1700") name="e1700" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 95cad633a5..b5eecfc299 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -58,6 +58,7 @@ platform_check_image() { m3 | \ m4 | \ mlw221 | \ + mlwg2 | \ mofi3500-3gn | \ mpr-a1 | \ mpr-a2 | \ diff --git a/target/linux/ramips/dts/MLWG2.dts b/target/linux/ramips/dts/MLWG2.dts new file mode 100644 index 0000000000..c7ce14685d --- /dev/null +++ b/target/linux/ramips/dts/MLWG2.dts @@ -0,0 +1,118 @@ +/dts-v1/; + +/include/ "mt7620n.dtsi" + +/ { + compatible = "mlwG2", "ralink,mt7620n-soc"; + model = "Kingston MLWG2"; + + 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 = "mx25l12805d"; + reg = <0 0>; + linux,modalias = "m25p80"; + 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 82cadd742b..21c8a8ddc9 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -828,6 +828,7 @@ Image/Build/Profile/MZK-750DHP=$(call BuildFirmware/Default8M/$(1),$(1),mzk-750d Image/Build/Profile/Y1=$(call BuildFirmware/Default16M/$(1),$(1),Lenovo-y1,Y1) Image/Build/Profile/Y1S=$(call BuildFirmware/Default16M/$(1),$(1),Lenovo-y1s,Y1S) Image/Build/Profile/MLW221=$(call BuildFirmware/Default16M/$(1),$(1),mlw221,MLW221) +Image/Build/Profile/MLWG2=$(call BuildFirmware/Default16M/$(1),$(1),mlwg2,MLWG2) 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) @@ -855,6 +856,7 @@ define Image/Build/Profile/Default $(call Image/Build/Profile/Y1,$(1)) $(call Image/Build/Profile/Y1S,$(1)) $(call Image/Build/Profile/MLW221,$(1)) + $(call Image/Build/Profile/MLWG2,$(1)) $(call Image/Build/Profile/WMR300,$(1)) $(call Image/Build/Profile/RT-N14U,$(1)) $(call Image/Build/Profile/WR8305RT,$(1))