oxnas: add support for Akitio MyCloud mini

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 49197
This commit is contained in:
Hauke Mehrtens 2016-04-19 20:12:41 +00:00
parent d1005862c2
commit 012da658a4
9 changed files with 329 additions and 3 deletions

View File

@ -14,6 +14,7 @@ touch /etc/config/ubootenv
board=$(oxnas_board_name) board=$(oxnas_board_name)
case "$board" in case "$board" in
akitio | \
stg212 | \ stg212 | \
kd20) kd20)
ubootenv_add_uci_config "/dev/ubi0_0" "0x0" "0x4000" "0x1F000" "1" ubootenv_add_uci_config "/dev/ubi0_0" "0x0" "0x4000" "0x1F000" "1"

View File

@ -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

View File

@ -7,6 +7,9 @@ board=$(oxnas_board_name)
board_config_update board_config_update
case $board in case $board in
akitio)
ucidef_set_led_default "status" "status" "akitio:red:status" "0"
;;
stg212) stg212)
ucidef_set_led_default "power" "power" "zyxel:blue:status" "1" ucidef_set_led_default "power" "power" "zyxel:blue:status" "1"
ucidef_set_led_usbdev "usb" "USB" "zyxel:orange:copy" "1-1" ucidef_set_led_usbdev "usb" "USB" "zyxel:orange:copy" "1-1"

View File

@ -6,6 +6,9 @@
get_status_led() { get_status_led() {
case $(oxnas_board_name) in case $(oxnas_board_name) in
akitio)
status_led="akitio:red:status"
;;
stg212) stg212)
status_led="zyxel:blue:status" status_led="zyxel:blue:status"
;; ;;

View File

@ -13,6 +13,9 @@ oxnas_board_detect() {
machine=$(cat /proc/device-tree/model) machine=$(cat /proc/device-tree/model)
case "$machine" in case "$machine" in
*"Akitio MyCloud mini"*)
name="akitio"
;;
*"MitraStar Technology Corp. STG-212"*) *"MitraStar Technology Corp. STG-212"*)
name="stg212" name="stg212"
;; ;;

View File

@ -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 */
};
};
};
};

View File

@ -18,7 +18,7 @@ DEVICE_VARS += DEVICE_DTS KERNEL_SIZE PAGESIZE BLOCKSIZE SUBPAGESIZE
DEVICE_VARS += KERNEL_IN_UBI UBOOTENV_IN_UBI UBIFS_OPTS DEVICE_VARS += KERNEL_IN_UBI UBOOTENV_IN_UBI UBIFS_OPTS
KERNEL_LOADADDR := 0x60008000 KERNEL_LOADADDR := 0x60008000
TARGET_DEVICES = kd20 pogoplug-pro pogoplug-v3 stg212 TARGET_DEVICES = akitio kd20 pogoplug-pro pogoplug-v3 stg212
define Device/Default define Device/Default
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts) KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
@ -38,6 +38,10 @@ define Device/Default
UBOOTENV_IN_UBI := 1 UBOOTENV_IN_UBI := 1
endef endef
define Device/akitio
PROFILES := Default AKITIO
DEVICE_DTS := ox820-akitio
endef
define Device/kd20 define Device/kd20
PROFILES := Default KD20 PROFILES := Default KD20

View File

@ -1,11 +1,12 @@
--- a/arch/arm/boot/dts/Makefile --- a/arch/arm/boot/dts/Makefile
+++ b/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-lswsgl.dtb \
orion5x-maxtor-shared-storage-2.dtb \ orion5x-maxtor-shared-storage-2.dtb \
orion5x-rd88f5182-nas.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-pogoplug-pro.dtb \ +dtb-$(CONFIG_ARCH_OXNAS) += ox820-akitio.dtb \
+ ox820-pogoplug-pro.dtb \
+ ox820-pogoplug-v3.dtb \ + ox820-pogoplug-v3.dtb \
+ ox820-stg212.dtb \ + ox820-stg212.dtb \
+ ox820-kd20.dtb + ox820-kd20.dtb

View File

@ -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))