oxnas: add support for Akitio MyCloud mini
authorHauke Mehrtens <hauke@hauke-m.de>
Tue, 19 Apr 2016 20:12:41 +0000 (20:12 +0000)
committerHauke Mehrtens <hauke@hauke-m.de>
Tue, 19 Apr 2016 20:12:41 +0000 (20:12 +0000)
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
SVN-Revision: 49197

package/boot/uboot-envtools/files/oxnas
package/network/utils/curl/Config.in.orig [new file with mode: 0644]
target/linux/oxnas/base-files/etc/board.d/01_leds
target/linux/oxnas/base-files/etc/diag.sh
target/linux/oxnas/base-files/lib/oxnas.sh
target/linux/oxnas/files/arch/arm/boot/dts/ox820-akitio.dts [new file with mode: 0644]
target/linux/oxnas/image/Makefile
target/linux/oxnas/patches-4.4/900-more-boards.patch
target/linux/oxnas/profiles/akitio.mk [new file with mode: 0644]

index 063ffa0..e560e22 100644 (file)
@@ -14,6 +14,7 @@ touch /etc/config/ubootenv
 board=$(oxnas_board_name)
 
 case "$board" in
+akitio | \
 stg212 | \
 kd20)
        ubootenv_add_uci_config "/dev/ubi0_0" "0x0" "0x4000" "0x1F000" "1"
diff --git a/package/network/utils/curl/Config.in.orig b/package/network/utils/curl/Config.in.orig
new file mode 100644 (file)
index 0000000..7a46e4e
--- /dev/null
@@ -0,0 +1,162 @@
+if PACKAGE_libcurl
+
+comment "SSL support"
+
+choice
+       prompt "Selected SSL library"
+       default LIBCURL_POLARSSL
+
+       config LIBCURL_POLARSSL
+               bool "PolarSSL"
+
+       config LIBCURL_MBEDTLS
+               bool "mbed TLS"
+
+       config LIBCURL_CYASSL
+               bool "CyaSSL"
+
+       config LIBCURL_AXTLS
+               bool "axTLS"
+
+       config LIBCURL_OPENSSL
+               bool "OpenSSL"
+
+       config LIBCURL_GNUTLS
+               bool "GNUTLS"
+
+       config LIBCURL_NOSSL
+               bool "No SSL support"
+
+endchoice
+
+comment "Supported protocols"
+
+config LIBCURL_DICT
+       bool "DICT protocol"
+       default n
+
+config LIBCURL_FILE
+       bool "FILE protocol"
+       default y
+
+config LIBCURL_FTP
+       bool "FTP / FTPS protocol"
+       default y
+
+config LIBCURL_GOPHER
+       bool "Gopher protocol"
+       default n
+
+config LIBCURL_HTTP
+       bool "HTTP / HTTPS protocol"
+       default y
+
+config LIBCURL_COOKIES
+       bool "Enable Cookies support"
+       depends on LIBCURL_HTTP
+       default y
+
+config LIBCURL_IMAP
+       bool "IMAP / IMAPS protocol"
+       default n
+
+config LIBCURL_LDAP
+       bool "LDAP protocol"
+       default n
+
+config LIBCURL_LDAPS
+       bool "Enable LDAPS support"
+       depends on LIBCURL_LDAP && !LIBCURL_NOSSL
+       default y
+
+config LIBCURL_POP3
+       bool "POP3 / POP3S protocol"
+       default n
+
+config LIBCURL_RTSP
+       bool "RTSP protocol"
+       depends on LIBCURL_HTTP
+       default n
+config LIBCURL_NO_RTSP
+       string "RTSP require HTTP protocol"
+       depends on !LIBCURL_HTTP
+       default "!"
+
+config LIBCURL_SSH2
+       bool "SCP / SFTP protocol"
+       default n
+
+config LIBCURL_SMB
+       bool "SMB protocol (CIFS)"
+       depends on LIBCURL_CRYPTO_AUTH && (LIBCURL_GNUTLS || LIBCURL_OPENSSL)
+       default n
+config LIBCURL_NO_SMB
+       string "SMB require 'cryptographic authentication' and either 'GnuTLS' or 'OpenSSL'"
+       depends on !LIBCURL_CRYPTO_AUTH || (!LIBCURL_GNUTLS && !LIBCURL_OPENSSL)
+       default "!"
+
+config LIBCURL_SMTP
+       bool "SMTP / SMTPS protocol"
+       default n
+
+config LIBCURL_TELNET
+       bool "TELNET protocol"
+       default n
+
+config LIBCURL_TFTP
+       bool "TFTP protocol"
+       default n
+
+comment "Miscellaneous"
+
+config LIBCURL_PROXY
+       bool "Enable proxy support"
+       default y
+
+config LIBCURL_CRYPTO_AUTH
+       bool "Enable cryptographic authentication"
+       default n
+
+config LIBCURL_TLS_SRP
+       bool "Enable TLS-SRP authentication"
+       default n
+
+config LIBCURL_LIBIDN
+       bool "Enable IDN support"
+       default n
+
+config LIBCURL_THREADED_RESOLVER
+       bool "Enable threaded DNS resolver"
+       default n
+       help
+               Enable POSIX threaded asynchronous DNS resolution
+
+config LIBCURL_ZLIB
+       bool "Enable zlib support"
+       default n
+
+config LIBCURL_UNIX_SOCKETS
+       bool "Enable unix domain socket support"
+       default n
+       help
+               Enable HTTP over unix domain sockets.
+               To use this with the curl command line, you specify the socket path to the new --unix-domain option.
+               This feature is actually not limited to HTTP, you can do all the TCP-based protocols 
+               except FTP over the unix domain socket, but it is only HTTP that is regularly used this way. 
+               The reason FTP isn't supported is of course its use of two connections 
+               which would be even weirder to do like this.
+
+config LIBCURL_LIBCURL_OPTION
+       bool "Enable generation of C code"
+       default n
+
+config LIBCURL_VERBOSE
+       bool "Enable verbose error strings"
+       default n
+
+config LIBCURL_NTLM
+       bool "Enable NTLM support"
+       depends on LIBCURL_CRYPTO_AUTH && !LIBCURL_NOSSL
+       default n
+
+endif
index af565d7..b4b598c 100755 (executable)
@@ -7,6 +7,9 @@ board=$(oxnas_board_name)
 board_config_update
 
 case $board in
+       akitio)
+               ucidef_set_led_default "status" "status" "akitio:red:status" "0"
+               ;;
        stg212)
                ucidef_set_led_default "power" "power" "zyxel:blue:status" "1"
                ucidef_set_led_usbdev "usb" "USB" "zyxel:orange:copy" "1-1"
index 5aec796..51771f3 100644 (file)
@@ -6,6 +6,9 @@
 
 get_status_led() {
        case $(oxnas_board_name) in
+       akitio)
+               status_led="akitio:red:status"
+               ;;
        stg212)
                status_led="zyxel:blue:status"
                ;;
index 8ae5fbb..991f927 100755 (executable)
@@ -13,6 +13,9 @@ oxnas_board_detect() {
        machine=$(cat /proc/device-tree/model)
 
        case "$machine" in
+       *"Akitio MyCloud mini"*)
+               name="akitio"
+               ;;
        *"MitraStar Technology Corp. STG-212"*)
                name="stg212"
                ;;
diff --git a/target/linux/oxnas/files/arch/arm/boot/dts/ox820-akitio.dts b/target/linux/oxnas/files/arch/arm/boot/dts/ox820-akitio.dts
new file mode 100644 (file)
index 0000000..5da4fa4
--- /dev/null
@@ -0,0 +1,132 @@
+/*
+ * Copyright (C) 2016 Daniel Golle <daniel@makrotopia.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+/dts-v1/;
+#include "ox820.dtsi"
+
+/ {
+       model = "Akitio MyCloud mini";
+
+       chosen {
+               bootargs = "console=ttyS0,115200n8 earlyprintk=serial";
+       };
+
+       pcie-controller@47C00000 {
+               status = "disabled";
+       };
+
+       uart@44200000 {
+               status = "okay";
+       };
+
+       sata@45900000 {
+               status = "okay";
+               nr-ports = <2>;
+       };
+
+       nand@41000000 {
+               status = "okay";
+
+               partition@0 {
+                       label = "boot";
+                       reg = <0x0 0x26c0000>;
+               };
+
+               partition@26c0000 {
+                       label = "ubi";
+                       reg = <0x26c0000 0xd940000>;
+               };
+       };
+
+       ethernet@40400000 {
+               status = "okay";
+       };
+
+       ehci@40200100 {
+               status = "okay";
+       };
+
+       i2c-gpio {
+               compatible = "i2c-gpio";
+               gpios = <&GPIOB 9 0 &GPIOB 10 0>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_i2c>;
+               i2c-gpio,delay-us = <10>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               ds1307: rtc@68 {
+                       compatible = "dallas,ds1307";
+                       reg = <0x68>;
+               };
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_buttons>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+               poll-interval = <100>;
+               power {
+                       label = "power";
+                       gpios = <&GPIOA 11 1>;
+                       linux,code = <116>;
+               }
+               reset {
+                       label = "reset";
+                       gpios = <&GPIOB 6 1>;
+                       linux,code = <0x198>;
+               };
+       };
+
+       gpio-leds {
+               compatible = "gpio-leds";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_leds>;
+               status {
+                       label = "akitio:red:status";
+                       gpios = <&GPIOA 29 0>;
+               };
+       };
+
+       gpio-poweroff {
+               compatible = "gpio-poweroff";
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_poweroff>;
+               gpios = <&GPIOB 13 2>;
+       };
+
+       pinctrl {
+               i2c {
+                       pinctrl_i2c: i2c-0 {
+                               plxtech,pins =
+                                       <1  9 0 4       /* MF_B9 GPIO debounce */
+                                        1 10 0 4>;     /* MF_B10 GPIO debounce */
+                       };
+               };
+               buttons {
+                       pinctrl_buttons: buttons-0 {
+                               plxtech,pins =
+                                       <0 11 0 0       /* MF_A11 GPIO */
+                                        1  6 0 0>;     /* MF_B6 GPIO */
+                       };
+               };
+               leds {
+                       pinctrl_leds: leds-0 {
+                               plxtech,pins =
+                                       <0 29 0 0>;     /* MF_A29 GPIO */
+                       };
+               };
+               poweroff {
+                       pinctrl_poweroff: poweroff-0 {
+                               plxtech,pins =
+                                       <1 13 0 0>;     /* MF_B13 GPIO */
+                       };
+               };
+       };
+};
index ae1050e..27da2da 100644 (file)
@@ -18,7 +18,7 @@ DEVICE_VARS += DEVICE_DTS KERNEL_SIZE PAGESIZE BLOCKSIZE SUBPAGESIZE
 DEVICE_VARS += KERNEL_IN_UBI UBOOTENV_IN_UBI UBIFS_OPTS
 
 KERNEL_LOADADDR := 0x60008000
-TARGET_DEVICES = kd20 pogoplug-pro pogoplug-v3 stg212
+TARGET_DEVICES = akitio kd20 pogoplug-pro pogoplug-v3 stg212
 
 define Device/Default
   KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
@@ -38,6 +38,10 @@ define Device/Default
   UBOOTENV_IN_UBI := 1
 endef
 
+define Device/akitio
+  PROFILES := Default AKITIO
+  DEVICE_DTS := ox820-akitio
+endef
 
 define Device/kd20
   PROFILES := Default KD20
index 19e1e82..f41fa86 100644 (file)
@@ -1,11 +1,12 @@
 --- a/arch/arm/boot/dts/Makefile
 +++ b/arch/arm/boot/dts/Makefile
-@@ -497,7 +497,10 @@ dtb-$(CONFIG_ARCH_ORION5X) += \
+@@ -497,7 +497,11 @@ dtb-$(CONFIG_ARCH_ORION5X) += \
        orion5x-lswsgl.dtb \
        orion5x-maxtor-shared-storage-2.dtb \
        orion5x-rd88f5182-nas.dtb
 -dtb-$(CONFIG_ARCH_OXNAS) += ox820-pogoplug-pro.dtb
-+dtb-$(CONFIG_ARCH_OXNAS) += ox820-pogoplug-pro.dtb \
++dtb-$(CONFIG_ARCH_OXNAS) += ox820-akitio.dtb \
++      ox820-pogoplug-pro.dtb \
 +      ox820-pogoplug-v3.dtb \
 +      ox820-stg212.dtb \
 +      ox820-kd20.dtb
diff --git a/target/linux/oxnas/profiles/akitio.mk b/target/linux/oxnas/profiles/akitio.mk
new file mode 100644 (file)
index 0000000..a108601
--- /dev/null
@@ -0,0 +1,17 @@
+# Copyright (C) 2016 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/AKITIO
+  NAME:=Akitio MyCloud mini / Silverstone DC01
+  PACKAGES:= \
+       kmod-usb-storage kmod-i2c-gpio kmod-rtc-ds1307
+endef
+
+define Profile/AKITIO/Description
+ Profile for the Akitio MyCloud mini aka. Silverstone DC01
+endef
+
+$(eval $(call Profile,AKITIO))