[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