From patchwork Thu Jan 15 21:47:19 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Lamparter X-Patchwork-Id: 429587 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from arrakis.dune.hu (arrakis.dune.hu [78.24.191.176]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 2D3C2140275 for ; Fri, 16 Jan 2015 08:47:38 +1100 (AEDT) Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 4E4B5289C4A; Thu, 15 Jan 2015 22:45:16 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on arrakis.dune.hu X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID autolearn=unavailable version=3.3.2 Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id DD853289C4A for ; Thu, 15 Jan 2015 22:45:08 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 CL_IP_EQ_HELO_IP=-2 (check from: .googlemail. - helo: .mail-we0-f181.google. - helo-domain: .google.) FROM/MX_MATCHES_HELO(DOMAIN)=-2; rate: -8.5 Received: from mail-we0-f181.google.com (mail-we0-f181.google.com [74.125.82.181]) by arrakis.dune.hu (Postfix) with ESMTPS for ; Thu, 15 Jan 2015 22:45:08 +0100 (CET) Received: by mail-we0-f181.google.com with SMTP id q58so17170598wes.12 for ; Thu, 15 Jan 2015 13:47:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:to:cc:subject:date:message-id:user-agent:mime-version :content-transfer-encoding:content-type; bh=bKmO1cyoxUsOgvbPFlhFdAQsfkJCSD4WoAm7C4bzjfg=; b=x6aZFilA0LP3N9YSlqNCBd+jVv7q4ix51HtTArsmFCawblvlPEfkp3G+3/flA/4oym OsWxVScUrG6nU+CmlLRdcf7BtASJAY0qHJdcJ0yzxkzsuG5UZuT1GgbhzCmYy3EAjj2o JmeqYlarWdzub0X1h5+rMNSYfJWZTaZE5Ugth2cR8lu/KRluoadxzw2AIcHwzQGIeABt zFXQs1qfm4W2rVE69idJyfVN2Xq5Xvi+BO+W6sGHlfQkjZ6l/bFfSvWvEsLSmBo2r6zn 5cTcTmJHysGPruS/TychYCnvDFMMN/zFgfsa/B7tO7YBiGcoUowYjcRn5o5cK3WwuGUh DkOw== X-Received: by 10.181.27.199 with SMTP id ji7mr36928wid.76.1421358443188; Thu, 15 Jan 2015 13:47:23 -0800 (PST) Received: from debian64.daheim (p5B2E7E68.dip0.t-ipconnect.de. [91.46.126.104]) by mx.google.com with ESMTPSA id jr4sm3630488wjc.20.2015.01.15.13.47.21 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 15 Jan 2015 13:47:22 -0800 (PST) Received: from localhost.daheim ([127.0.0.1] helo=debian64.localnet) by debian64.daheim with esmtps (TLS1.0:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84) (envelope-from ) id 1YBsG8-0006wu-Vn; Thu, 15 Jan 2015 22:47:21 +0100 From: Christian Lamparter To: openwrt-devel@lists.openwrt.org Date: Thu, 15 Jan 2015 22:47:19 +0100 Message-ID: <2766551.4pBuPnbTJq@debian64> User-Agent: KMail/4.14.2 (Linux/3.19.0-rc2-wl+; KDE/4.14.2; x86_64; ; ) MIME-Version: 1.0 Subject: [OpenWrt-Devel] [PATCH] ramips: add support for Intenso Memory 2 Move USB 3.0 X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: openwrt-devel-bounces@lists.openwrt.org Sender: "openwrt-devel" This adds support for a rt5350-based "portable nas" solution from Intenso. The board comes with 32M RAM and 8M Flash, the built-in HDD is connected/accessible via a usb3.0<->sata bridge VLI VL701. The device has 1 Ethernet port (100M/10M), 1 micro b usb 3.0 socket (for charging the battery, or accessing the hdd directly). Wireless connectivity is provided by the rt5350 SoC [i.e.: 802.11n 1x1 2.4 GHz with a pcb antenna.] Serial, leds, wifi, ethernet and usb are tested and as far as I can tell: they are working fine (tm). Signed-off-by: Christian Lamparter --- Any comments/suggestions or wishes? Most of the work is based/taken from other devices. So apart from some non-obvious stuff, it should all be fine too. What is a bit unique: the way of flashing the device. This will require a tftp server [hardcoded to 192.168.1.201] and a few cables to the uart. I'll write a "how to flash openwrt on a m2m" once this patch [or a better version] is accepted. Regards, Christian --- target/linux/ramips/base-files/etc/board.d/01_leds | 4 + .../linux/ramips/base-files/etc/board.d/02_network | 5 + 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/M2M.dts | 113 +++++++++++++++++++++ target/linux/ramips/image/Makefile | 3 + target/linux/ramips/rt305x/profiles/m2m.mk | 21 ++++ 8 files changed, 153 insertions(+) create mode 100644 target/linux/ramips/dts/M2M.dts create mode 100644 target/linux/ramips/rt305x/profiles/m2m.mk 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 405a6c0..7b29ac0 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -148,6 +148,10 @@ case $board in nw718) set_usb_led "nw718:amber:usb" ;; + m2m) + set_wifi_led "m2m:blue:wifi" + ucidef_set_led_netdev "eth" "Ethernet" "m2m:green:wan" "eth0" + ;; omni-emb-hpm) ucidef_set_led_default "power" "POWER" "emb:orange:power" "1" ucidef_set_led_netdev "eth" "ETH" "emb:green:eth" "eth0" 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 a86466e..e425510 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -62,6 +62,11 @@ ramips_setup_interfaces() ucidef_set_interface_lan "eth0.2" ;; + m2m) + ucidef_add_switch "switch0" "4" + ucidef_set_interface_lan "eth0" + ;; + wizard8800 | \ wl-330n | \ wmr300) diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 103dfcd..c43cb54 100755 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -79,6 +79,9 @@ get_status_led() { hw550-3g) status_led="hw550-3g:green:status" ;; + m2m) + status_led="m2m:blue:wifi" + ;; m3) status_led="m3:blue:status" ;; diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 540da33..f783065 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -211,6 +211,9 @@ ramips_board_detect() { *"NW718") name="nw718" ;; + *"Intenso Memory 2 Move") + name="m2m" + ;; *"Omnima EMB HPM") name="omni-emb-hpm" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 95cad63..2d48192 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() { ht-tm02 | \ hw550-3g | \ ip2202 | \ + m2m | \ m3 | \ m4 | \ mlw221 | \ diff --git a/target/linux/ramips/dts/M2M.dts b/target/linux/ramips/dts/M2M.dts new file mode 100644 index 0000000..aa98991 --- /dev/null +++ b/target/linux/ramips/dts/M2M.dts @@ -0,0 +1,113 @@ +/dts-v1/; + +/include/ "rt5350.dtsi" + +/ { + compatible = "M2M", "ralink,rt5350-soc"; + model = "Intenso Memory 2 Move"; + + chosen { + bootargs = "console=ttyS1,57600n8 root=/dev/mtdblock5"; + }; + + palmbus@10000000 { + uart@500 { + status = "okay"; + }; + + spi@b00 { + status = "okay"; + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "mx25l6405d"; + reg = <0 0>; + linux,modalias = "m25p80", "mx25l6405d"; + spi-max-frequency = <10000000>; + + partition@0 { + label = "Bootloader"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "Config"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "Factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x7b0000>; + }; + }; + }; + }; + + pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "i2c", "jtag", "uartf"; + ralink,function = "gpio"; + }; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + wifi { + label = "m2m:blue:wifi"; + gpios = <&gpio0 7 1>; + }; + wan { + label = "m2m:green:wan"; + gpios = <&gpio0 12 1>; + }; + }; + + gpio-keys-polled { + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + power { + label = "power"; + gpios = <&gpio0 1 1>; + linux,code = <0x116>; + }; + reset { + label = "reset"; + gpios = <&gpio0 10 1>; + linux,code = <0x198>; + }; + }; + }; + + ethernet@10100000 { + mtd-mac-address = <&factory 0x28>; + }; + + esw@10110000 { + ralink,portmap = <0x2f>; + }; + + ehci@101c0000 { + status = "okay"; + }; + + ohci@101c1000 { + status = "okay"; + }; + + wmac@10180000 { + ralink,mtd-eeprom = <&factory 0x0>; + }; +}; diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 82cadd7..e385966 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -546,6 +546,8 @@ Image/Build/Profile/NCS601W=$(call BuildFirmware/Default8M/$(1),$(1),ncs601W,NCS nw718_mtd_size=3801088 Image/Build/Profile/NW718=$(call BuildFirmware/CustomFlashFactory/$(1),$(1),nw718m,NW718,$(nw718_mtd_size),ARA1B4NCRNW718;1,factory) +Image/Build/Profile/M2M=$(call BuildFirmware/Default8M/$(1),$(1),m2m,M2M,Linux Kernel Image) + Image/Build/Profile/OMNI-EMB=$(call BuildFirmware/Default8M/$(1),$(1),omni-emb,OMNI-EMB) Image/Build/Profile/OMNI-PLUG=$(call BuildFirmware/Default8M/$(1),$(1),omni-plug,OMNI-PLUG) @@ -694,6 +696,7 @@ define Image/Build/Profile/Default $(call Image/Build/Profile/HT-TM02,$(1)) $(call Image/Build/Profile/HW550-3G,$(1)) $(call Image/Build/Profile/IP2202,$(1)) + $(call Image/Build/Profile/M2M,$(1)) $(call Image/Build/Profile/M3,$(1)) $(call Image/Build/Profile/M4,$(1)) $(call Image/Build/Profile/MOFI3500-3GN,$(1)) diff --git a/target/linux/ramips/rt305x/profiles/m2m.mk b/target/linux/ramips/rt305x/profiles/m2m.mk new file mode 100644 index 0000000..e5cb6b8 --- /dev/null +++ b/target/linux/ramips/rt305x/profiles/m2m.mk @@ -0,0 +1,20 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +define Profile/M2M + NAME:=Intenso Memory 2 Move + PACKAGES:=\ + kmod-ledtrig-netdev kmod-ledtrig-timer kmod-leds-gpio \ + kmod-usb-core kmod-usb2 kmod-usb-storage kmod-scsi-core \ + kmod-fs-ext4 kmod-fs-vfat block-mount +endef + +define Profile/M2M/Description + Package set for Intenso Memory 2 Move USB 3.0 +endef + +$(eval $(call Profile,M2M))