From 99414dbcf1901a8f362e62febe562dacd4595c8e Mon Sep 17 00:00:00 2001 From: John Crispin Date: Wed, 16 Mar 2016 09:26:48 +0000 Subject: [PATCH] ramips: Add support for Xiaomi MiWiFi Nano Xiaomi MiWiFi Nano is based on Mediatek MT7628 with 64MB ram 16MB flash Signed-off-by: Noble Pepper v3 includes changes suggested by L. D. Pinney & Karl Palsson- Eliminate en25q64 (4MB) flash chip Alphabetization Remove hyphen in model Rename profile from miwifinano.mk to xiaomi.mk Add gpios that are attached to leds SVN-Revision: 49024 --- package/boot/uboot-envtools/files/ramips | 3 +- .../ramips/base-files/etc/board.d/02_network | 1 + target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/MIWIFI-NANO.dts | 99 +++++++++++++++++++ target/linux/ramips/image/Makefile | 4 + target/linux/ramips/mt7628/profiles/xiaomi.mk | 18 ++++ 7 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 target/linux/ramips/dts/MIWIFI-NANO.dts create mode 100644 target/linux/ramips/mt7628/profiles/xiaomi.mk diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips index 53cf9d3043..a759bcc597 100644 --- a/package/boot/uboot-envtools/files/ramips +++ b/package/boot/uboot-envtools/files/ramips @@ -23,7 +23,8 @@ linkits7688 | \ linkits7688d | \ wsr-600 | \ wsr-1166 | \ -br6425) +br6425 | \ +miwifi-nano) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x10000" ;; esac 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 dc9b5b2b94..4b65d36b98 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -68,6 +68,7 @@ ramips_setup_interfaces() firewrt|\ hlk-rm04|\ miwifi-mini|\ + miwifi-nano|\ mt7621|\ mt7628|\ mzk-750dhp|\ diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 815765a75e..5f1df7b83f 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -250,6 +250,9 @@ ramips_board_detect() { *"MiWiFi Mini") name="miwifi-mini" ;; + *"MiWiFi Nano") + name="miwifi-nano" + ;; *"MLW221") name="mlw221" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index b1d23471d9..c329dce4f7 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -78,6 +78,7 @@ platform_check_image() { miniembplug|\ miniembwifi|\ miwifi-mini|\ + miwifi-nano|\ mlw221|\ mlwg2|\ mofi3500-3gn|\ diff --git a/target/linux/ramips/dts/MIWIFI-NANO.dts b/target/linux/ramips/dts/MIWIFI-NANO.dts new file mode 100644 index 0000000000..ea7b27035a --- /dev/null +++ b/target/linux/ramips/dts/MIWIFI-NANO.dts @@ -0,0 +1,99 @@ +/dts-v1/; + +/include/ "mt7628an.dtsi" + +/ { + compatible = "xiaomi,MiWifi Nano", "mediatek,mt7628an-soc"; + model = "MiWiFi Nano"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x4000000>; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "gpio"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-export { + compatible = "gpio-export"; + #size-cells = <0>; + + gpio11 { + /* blue led */ + gpio-export,name = "gpio11"; + gpio-export,direction_may_change = <1>; + gpio-export,output = <1>; + gpios = <&gpio0 11 0>; + }; + + gpio37 { + /* red led */ + gpio-export,name = "gpio37"; + gpio-export,direction_may_change = <1>; + gpio-export,output = <1>; + gpios = <&gpio1 5 0>; + }; + + gpio44 { + /* yellow led */ + gpio-export,name = "gpio44"; + gpio-export,direction_may_change = <1>; + gpio-export,output = <1>; + gpios = <&gpio1 12 0>; + }; + }; + + + wmac@10300000 { + status = "okay"; + }; + + palmbus@10000000 { + spi@b00 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0 0>; + linux,modalias = "m25p80"; + spi-max-frequency = <10000000>; + m25p,chunked-io = <32>; + + 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 0x7b0000>; + }; + }; + }; + }; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index bc42d148ad..45cb22b09c 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -1148,6 +1148,7 @@ endef # MT7628 Profiles # +Image/Build/Profile/MIWIFI-NANO=$(call BuildFirmware/Default16M/$(1),$(1),miwifi-nano,MIWIFI-NANO) Image/Build/Profile/MT7628=$(call BuildFirmware/Default4M/$(1),$(1),mt7628,MT7628) Image/Build/Profile/WRTNODE2P=$(call BuildFirmware/Default16M/$(1),$(1),wrtnode2p,WRTNODE2P) @@ -1156,6 +1157,9 @@ define Image/Build/Profile/Default $(call Image/Build/Profile/MT7628,$(1)) $(call Image/Build/Profile/WRTNODE2P,$(1)) endef +define Image/Build/Profile/MiwifiNano + $(call Image/Build/Profile/MIWIFI-NANO,$(1)) +endef endif diff --git a/target/linux/ramips/mt7628/profiles/xiaomi.mk b/target/linux/ramips/mt7628/profiles/xiaomi.mk new file mode 100644 index 0000000000..18e53c44b7 --- /dev/null +++ b/target/linux/ramips/mt7628/profiles/xiaomi.mk @@ -0,0 +1,18 @@ +# +# Copyright (C) 2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/MiwifiNano + NAME:=Xiaomi MiWiFi Nano + PACKAGES:=\ + kmod-usb-core kmod-usb2 kmod-usb-ohci \ + kmod-ledtrig-usbdev +endef + +define Profile/Default/Description + Image for Xiaomi MiWiFi Nano +endef +$(eval $(call Profile,MiwifiNano))