openwrt/target/linux/kirkwood/patches-5.4/203-blackarmor-nas220.patch

100 lines
2.0 KiB
Diff
Raw Normal View History

kirkwood: add support for Seagate BlackArmor NAS220 The Seagate BlackArmor NAS220 is a consumer NAS with two internal drive bays. The stock OS runs RAID 1 over the disks via mdadm. Device specification: - SoC: Marvell 88F6192 800 MHz - RAM: 128 MB - Flash: 32 MB - 2 x internal SATA II drives - Ethernet: 10/100/1000 Mbps (single port, no switch) - WLAN: None - LED: Power, Status, Sata Activity - Key: Power, Reset - Serial: 10 pin header, (115200,8,N,1), 3.3V TTL 9|x - x|10 7|x - x|8 5|x - GND|6 3|x - RX|4 1|TX - x|2 front of case - USB ports: 2 x USB 2.0 Flash instruction: NOTE: this process uses a serial connection. It will upgrade the bootloader and reset the bootloader environment variables TFTP server setup - Setup PC with TFTP server set the PC IP to 10.4.50.5 as TFTP server - Copy these files to TFTP server location - u-boot.kwb - seagate_blackarmor-nas220-initramfs-uImage - seagate_blackarmor-nas220-squashfs-sysupgrade.bin - seagate_blackarmor-nas220-squashfs-factory.bin Seagate NAS setup - Connect LAN cable between PC and seagate device - Connect to serial to seagate device Install u-boot - Boot seagate device and stop in bootloader by pressing any key - run 'printenv' from u-boot and save the values - tftpboot 0x2000000 u-boot.kwb - nand erase.part uboot - nand write 0x2000000 0x0 ${filesize} - reset Update MAC address in u-boot env - Stop in u-boot by pressing any key - Get your MAC address from your saved printenv. Is also on chassis - setenv ethaddr <your MAC> - saveenv Option 1 (recommended) - Install OpenWrt via initramfs and sysupgrade - tftpboot 0x2000000 seagate_blackarmor-nas220-initramfs-uImage - bootm 0x2000000 - *OpenWrt should be running now, however it is not written to flash yet* - From the running instance of OpenWrt use Luci's "flash image" feature from the web site or use sysupgrade from the console to write seagate_blackarmor-nas220-squashfs-sysupgrade.bin to flash Option 2 - Install OpenWrt by flashing factory image from u-boot - nand erase.part ubi - tftpboot 0x2000000 seagate_blackarmor-nas220-squashfs-factory.bin - nand write 0x2000000 ubi ${filesize} - reset Signed-off-by: Kip Porterfield <kip.porterfield@gmail.com>
2020-08-03 14:07:51 +00:00
--- a/arch/arm/boot/dts/kirkwood-blackarmor-nas220.dts
+++ b/arch/arm/boot/dts/kirkwood-blackarmor-nas220.dts
@@ -17,6 +17,13 @@
compatible = "seagate,blackarmor-nas220","marvell,kirkwood-88f6192",
"marvell,kirkwood";
+ aliases {
+ led-boot = &led_status_amber;
+ led-failsafe = &led_status_amber;
+ led-running = &led_status_blue;
+ led-upgrade = &led_status_amber;
+ };
+
memory { /* 128 MB */
device_type = "memory";
reg = <0x00000000 0x8000000>;
@@ -36,14 +43,14 @@
compatible = "gpio-keys";
reset {
- label = "Reset";
- linux,code = <KEY_POWER>;
+ label = "Reset Button";
+ linux,code = <KEY_RESTART>;
gpios = <&gpio0 29 GPIO_ACTIVE_HIGH>;
};
- button {
- label = "Power";
- linux,code = <KEY_SLEEP>;
+ power {
+ label = "Power Button";
+ linux,code = <KEY_POWER>;
gpios = <&gpio0 26 GPIO_ACTIVE_LOW>;
};
};
@@ -51,11 +58,27 @@
gpio-leds {
compatible = "gpio-leds";
- blue-power {
+ led_power_blue: power_blue {
label = "nas220:blue:power";
gpios = <&gpio0 12 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "default-on";
};
+
+ disk_blue {
+ label = "nas220:blue:disk";
+ gpios = <&gpio0 16 GPIO_ACTIVE_LOW>;
+ linux,default-trigger = "disk-activity";
+ };
+
+ led_status_blue: status_blue {
+ label = "nas220:blue:status";
+ gpios = <&gpio0 23 GPIO_ACTIVE_HIGH>;
+ };
+
+ led_status_amber: status_amber {
+ label = "nas220:amber:status";
+ gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>;
+ };
};
regulators {
@@ -153,6 +176,33 @@
&nand {
status = "okay";
+
+ partitions {
+ compatible = "fixed-partitions";
+
+ partition@0 {
+ label = "uboot";
+ reg = <0x0 0xa0000>;
+ read-only;
+ };
+
+ partition@a0000 {
+ label = "uboot-env";
+ reg = <0xa0000 0x10000>;
+ read-only;
+ };
+
+ partition@b0000 {
+ label = "reserved";
+ reg = <0xb0000 0x10000>;
+ read-only;
+ };
+
+ partition@c0000 {
+ label = "ubi";
+ reg = <0xc0000 0x1e80000>;
+ };
+ };
};
&mdio {