diff options
author | Rosen Penev <rosenp@gmail.com> | 2018-02-04 16:24:15 -0800 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2018-02-13 10:01:52 +0100 |
commit | c60a21532bc903ab86d971b478752152d4476ef8 (patch) | |
tree | 4c1a4b49aef72a50d4ef72ef3215be1aa96713f4 | |
parent | 2d27ebbb9338c114b3b5403cd4eb6fc05ef1ed6a (diff) | |
download | upstream-c60a21532bc903ab86d971b478752152d4476ef8.tar.gz upstream-c60a21532bc903ab86d971b478752152d4476ef8.tar.bz2 upstream-c60a21532bc903ab86d971b478752152d4476ef8.zip |
ramips: Add support for the GnuBee Personal Cloud Two
The GnuBee Personal Cloud Two crowdfunded on https://www.crowdsupply.com
It is a low-cost, low-power, network-attached storage device.
Specifications:
- SoC: MediaTek MT7621AT
- RAM: DDR3 512 MB
- Flash: 32 MB
- Six SATA ports for 3.5" Drives
- One SDcard
- One USB 3.0
- Two USB 2.0
- Gigabit Ethernet: Three Ports
- UART 3.5mm Audio Jack or 3 pin header - 57600 8N1
- Three GPIOs available on a pin header
Flash instructions:
The GnuBee Personal Cloud Two ships with libreCMC installed.
libreCMC is a Free Software Foundation approved fork of LEDE/OpenWrt.
As such one can upgrade using the webinterface or sysupgrade.
Das U-Boot has multiple options for recovery or updates including :
- USB
- http
- tftp
Errata:
- While there are three ethernet ports, the third requires support for
the second GMAC. This will come in kernel 4.14.
- The first hard drive slot has a clearance issue with the two fan
headers. Workaround is to pull the headers out and connect the pins to
jumper wires.
- Using this device as a NAS is problematic with the 4.9 kernel as many
/dev/sdX reads throw silent errors. The current theory behind this is
some kind of unhandled DMA mapping error in the kernel. This is not an
issue with kernel 4.4.
Signed-off-by: L. D. Pinney <ldpinney@gmail.com>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
-rwxr-xr-x | target/linux/ramips/base-files/etc/board.d/01_leds | 6 | ||||
-rwxr-xr-x | target/linux/ramips/base-files/etc/board.d/02_network | 4 | ||||
-rw-r--r-- | target/linux/ramips/base-files/etc/diag.sh | 1 | ||||
-rwxr-xr-x | target/linux/ramips/base-files/lib/ramips.sh | 3 | ||||
-rwxr-xr-x | target/linux/ramips/base-files/lib/upgrade/platform.sh | 1 | ||||
-rw-r--r-- | target/linux/ramips/dts/GB-PC2.dts | 137 | ||||
-rw-r--r-- | target/linux/ramips/image/mt7621.mk | 8 |
7 files changed, 160 insertions, 0 deletions
diff --git a/target/linux/ramips/base-files/etc/board.d/01_leds b/target/linux/ramips/base-files/etc/board.d/01_leds index 677bf95a27..573dd31c64 100755 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -191,6 +191,12 @@ gb-pc1) ucidef_set_led_switch "lan1" "lan1" "$boardname:green:lan1" "switch0" "0x01" ucidef_set_led_switch "lan2" "lan2" "$boardname:green:lan2" "switch0" "0x10" ;; +gb-pc2) + ucidef_set_led_switch "lan" "lan" "$board:green:lan" "switch0" "0x01" + ucidef_set_led_switch "wan" "wan" "$board:green:wan" "switch0" "0x10" + ucidef_set_led_netdev "eth1-g" "eth1-g" "$board:green:eth1-g" "eth1" + ucidef_set_led_netdev "eth1-y" "eth1-y" "$board:green:eth1-y" "eth1" + ;; gl-mt300a|\ gl-mt300n|\ gl-mt750) diff --git a/target/linux/ramips/base-files/etc/board.d/02_network b/target/linux/ramips/base-files/etc/board.d/02_network index d064bfef3b..1ccff892b1 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -206,6 +206,10 @@ ramips_setup_interfaces() ucidef_add_switch "switch0" \ "0:lan" "4:lan" "6@eth0" ;; + gb-pc2) + ucidef_add_switch "switch0" \ + "4:lan" "0:wan" "6@eth0" + ;; gl-mt300n-v2) ucidef_add_switch "switch0" \ "1:lan" "0:wan" "6@eth0" diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 6b11fb2872..e38311d5e5 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -91,6 +91,7 @@ get_status_led() { dir-620-d1|\ dwr-512-b|\ gb-pc1|\ + gb-pc2|\ hpm|\ hw550-3g|\ mac1200rv2|\ diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 75474fbc6d..74ed5913b8 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -205,6 +205,9 @@ ramips_board_detect() { *"GB-PC1") name="gb-pc1" ;; + *"GB-PC2") + name="gb-pc2" + ;; *"GL-MT300A") name="gl-mt300a" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 45e141de02..ab538db108 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -61,6 +61,7 @@ platform_check_image() { fonera20n|\ freestation5|\ gb-pc1|\ + gb-pc2|\ gl-mt300a|\ gl-mt300n|\ gl-mt750|\ diff --git a/target/linux/ramips/dts/GB-PC2.dts b/target/linux/ramips/dts/GB-PC2.dts new file mode 100644 index 0000000000..f31ac2b843 --- /dev/null +++ b/target/linux/ramips/dts/GB-PC2.dts @@ -0,0 +1,137 @@ +/dts-v1/; + +#include "mt7621.dtsi" + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> + +/ { + compatible = "gnubee,gb-pc2", "mediatek,mt7621-soc"; + model = "GB-PC2"; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x1c000000>, <0x20000000 0x4000000>; + }; + + chosen { + bootargs = "console=ttyS0,57600"; + }; + + palmbus: palmbus@1E000000 { + i2c@900 { + status = "okay"; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + reset { + label = "reset"; + gpios = <&gpio0 18 GPIO_ACTIVE_HIGH>; + linux,code = <KEY_RESTART>; + }; + }; + + gpio-leds { + compatible = "gpio-leds"; + + system { + label = "gb-pc2:green:system"; + gpios = <&gpio0 6 GPIO_ACTIVE_LOW>; + }; + + status { + label = "gb-pc2:green:status"; + gpios = <&gpio0 8 GPIO_ACTIVE_LOW>; + }; + + lan { + label = "gb-pc2:green:lan"; + gpios = <&gpio0 24 GPIO_ACTIVE_LOW>; + }; + + wan { + label = "gb-pc2:green:wan"; + gpios = <&gpio0 25 GPIO_ACTIVE_LOW>; + }; + + eth1-y { + label = "gb-pc2:yellow:eth1-y"; + gpios = <&gpio0 13 GPIO_ACTIVE_LOW>; + }; + + eth1-g { + label = "gb-pc2:green:eth1-g"; + gpios = <&gpio0 15 GPIO_ACTIVE_LOW>; + }; + + }; +}; + +&sdhci { + status = "okay"; +}; + +&spi0 { + status = "okay"; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0>; + spi-max-frequency = <10000000>; + m25p,chunked-io = <32>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + read-only; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x1fb0000>; + }; + }; +}; + +&cpuclock { + compatible = "fixed-clock"; + clock-frequency = <900000000>; +}; + +&pcie { + status = "okay"; +}; + +ðernet { + mtd-mac-address = <&factory 0xe000>; +}; + +&pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "uart3"; + ralink,function = "gpio"; + }; + }; +}; + diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 8ba65a1af2..f0b5a8444f 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -83,6 +83,14 @@ define Device/gb-pc1 endef TARGET_DEVICES += gb-pc1 +define Device/gb-pc2 + DTS := GB-PC2 + DEVICE_TITLE := GnuBee Personal Cloud Two + DEVICE_PACKAGES := kmod-ata-core kmod-ata-ahci kmod-usb3 kmod-sdhci-mt7620 + IMAGE_SIZE := $(ralink_default_fw_size_32M) +endef +TARGET_DEVICES += gb-pc2 + define Device/hc5962 DTS := HC5962 BLOCKSIZE := 128k |