[OpenWrt-Devel] [PATCH 1/2] oxnas: add support for Akitio MyCloud mini
Daniel Golle
daniel at makrotopia.org
Tue Apr 19 08:29:53 EDT 2016
Signed-off-by: Daniel Golle <daniel at makrotopia.org>
---
package/boot/uboot-envtools/files/oxnas | 1 +
target/linux/oxnas/base-files/etc/board.d/01_leds | 3 +
target/linux/oxnas/base-files/etc/diag.sh | 3 +
target/linux/oxnas/base-files/lib/oxnas.sh | 3 +
.../oxnas/files/arch/arm/boot/dts/ox820-akitio.dts | 132 +++++++++++++++++++++
target/linux/oxnas/image/Makefile | 6 +-
.../linux/oxnas/patches-4.4/900-more-boards.patch | 5 +-
target/linux/oxnas/profiles/akitio.mk | 17 +++
8 files changed, 167 insertions(+), 3 deletions(-)
create mode 100644 target/linux/oxnas/files/arch/arm/boot/dts/ox820-akitio.dts
create mode 100644 target/linux/oxnas/profiles/akitio.mk
diff --git a/package/boot/uboot-envtools/files/oxnas b/package/boot/uboot-envtools/files/oxnas
index 063ffa0..e560e22 100644
--- a/package/boot/uboot-envtools/files/oxnas
+++ b/package/boot/uboot-envtools/files/oxnas
@@ -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/target/linux/oxnas/base-files/etc/board.d/01_leds b/target/linux/oxnas/base-files/etc/board.d/01_leds
index af565d7..b4b598c 100755
--- a/target/linux/oxnas/base-files/etc/board.d/01_leds
+++ b/target/linux/oxnas/base-files/etc/board.d/01_leds
@@ -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"
diff --git a/target/linux/oxnas/base-files/etc/diag.sh b/target/linux/oxnas/base-files/etc/diag.sh
index 5aec796..51771f3 100644
--- a/target/linux/oxnas/base-files/etc/diag.sh
+++ b/target/linux/oxnas/base-files/etc/diag.sh
@@ -6,6 +6,9 @@
get_status_led() {
case $(oxnas_board_name) in
+ akitio)
+ status_led="akitio:red:status"
+ ;;
stg212)
status_led="zyxel:blue:status"
;;
diff --git a/target/linux/oxnas/base-files/lib/oxnas.sh b/target/linux/oxnas/base-files/lib/oxnas.sh
index 8ae5fbb..991f927 100755
--- a/target/linux/oxnas/base-files/lib/oxnas.sh
+++ b/target/linux/oxnas/base-files/lib/oxnas.sh
@@ -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
index 0000000..5da4fa4
--- /dev/null
+++ b/target/linux/oxnas/files/arch/arm/boot/dts/ox820-akitio.dts
@@ -0,0 +1,132 @@
+/*
+ * Copyright (C) 2016 Daniel Golle <daniel at 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 at 47C00000 {
+ status = "disabled";
+ };
+
+ uart at 44200000 {
+ status = "okay";
+ };
+
+ sata at 45900000 {
+ status = "okay";
+ nr-ports = <2>;
+ };
+
+ nand at 41000000 {
+ status = "okay";
+
+ partition at 0 {
+ label = "boot";
+ reg = <0x0 0x26c0000>;
+ };
+
+ partition at 26c0000 {
+ label = "ubi";
+ reg = <0x26c0000 0xd940000>;
+ };
+ };
+
+ ethernet at 40400000 {
+ status = "okay";
+ };
+
+ ehci at 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 at 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 */
+ };
+ };
+ };
+};
diff --git a/target/linux/oxnas/image/Makefile b/target/linux/oxnas/image/Makefile
index ae1050e..27da2da 100644
--- a/target/linux/oxnas/image/Makefile
+++ b/target/linux/oxnas/image/Makefile
@@ -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
diff --git a/target/linux/oxnas/patches-4.4/900-more-boards.patch b/target/linux/oxnas/patches-4.4/900-more-boards.patch
index 19e1e82..f41fa86 100644
--- a/target/linux/oxnas/patches-4.4/900-more-boards.patch
+++ b/target/linux/oxnas/patches-4.4/900-more-boards.patch
@@ -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
index 0000000..a108601
--- /dev/null
+++ b/target/linux/oxnas/profiles/akitio.mk
@@ -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))
--
2.8.0
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list