ramips: add support for VoCore2

This patch adds support for the VoCore VoCore2 and its complementary
"ultimate" dock.

Specifications:
- SoC: MediaTek MT7628AN (580MHz, ramips)
- RAM: 128MB DDR2 166MHz
- Storage: 16MB NOR SPI flash onboard + microSD slot on dock
- Wireless: Built into MT7628AN (mt76) with 1T1R firmware on VoCore2
            boards with onboard 1x chip antenna
- Ethernet: 1x100M (port0) on dock, 1x100M (port2) on PCB header
- Dock hardware:
  - USB 2.0 socket
  - MicroSD socket
  - 100Mbps Ethernet x1
  - 3.5mm headphone jack (TRRS) connected to Everest Semi ES8388 I2S
    DAC/ADC (support WIP)
  - Micro USB for power and console (UART2)

Initial installation:
- VoCore2 comes preinstalled with a fork of OpenWrt CC and AP on
  SSID "VoCore2"
- Connect to VoCore2 by Ethernet or Wi-Fi
- `ssh root@192.168.1.1` (password is "vocore")
- scp/wget/etc. LEDE sysupgrade.bin to VoCore2
- `sysupgrade -n <your image>.bin` (don't keep old config, as the
  original firmware uses Ralink SDK Wi-Fi drivers and not
  mt76+mac80211)
- after sysupgrade completes, Wi-Fi will be disabled by default so use
  Ethernet or the micro USB console to configure Wi-Fi again

Signed-off-by: Andrew Yong <me@ndoo.sg>
This commit is contained in:
Andrew Yong 2017-01-08 14:30:10 +08:00 committed by Mathias Kresin
parent d7fd1a0f8d
commit 3f31029b19
7 changed files with 146 additions and 0 deletions

View file

@ -311,6 +311,9 @@ vocore)
ucidef_set_led_netdev "eth" "ETH" "$board:orange:eth" "eth0"
set_wifi_led "$board:green:status"
;;
vocore2)
set_wifi_led "$board:fuchsia:status"
;;
w502u)
set_usb_led "$board:blue:usb"
set_wifi_led "rt2800pci-phy0::radio"

View file

@ -249,6 +249,10 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
;;
vocore2)
ucidef_add_switch "switch0" \
"0:lan" "2:lan" "6t@eth0"
;;
f5d8235-v1|\
tew-714tru|\
v11st-fe|\

View file

@ -206,6 +206,9 @@ get_status_led() {
v22rw-2x2)
status_led="$board:green:security"
;;
vocore2)
status_led="$board:fuchsia:status"
;;
w306r-v20|\
witi|\
zbt-wr8305rt)

View file

@ -475,6 +475,9 @@ ramips_board_detect() {
*"VoCore (16M)")
name="vocore-16M"
;;
*"VoCore2")
name="vocore2"
;;
*"VR500")
name="vr500"
;;

View file

@ -133,6 +133,7 @@ platform_check_image() {
ur-336un|\
v22rw-2x2|\
vocore|\
vocore2|\
vr500|\
w150m|\
w2914nsv2|\

View file

@ -0,0 +1,123 @@
/dts-v1/;
#include "mt7628an.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "vocore,VoCore2", "mediatek,mt7628an-soc";
model = "VoCore2";
chosen {
bootargs = "console=ttyS2,115200";
};
memory@0 {
device_type = "memory";
reg = <0x0 0x4000000>;
};
gpio-leds {
compatible = "gpio-leds";
status {
label = "vocore2:fuchsia:status";
gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
};
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "refclk", "gpio";
ralink,function = "gpio";
};
agpio {
ralink,group = "agpio";
ralink,function = "uart2";
};
};
uart1_pins: uart1 {
uart1 {
ralink,group = "uart1";
ralink,function = "uart1";
};
};
uart2_pins: uart2 {
uart2 {
ralink,group = "spis";
ralink,function = "pwm";
};
};
};
&wmac {
status = "okay";
ralink,mtd-eeprom = <&factory 0x4>;
};
&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 0xfb0000>;
};
};
};
&esw {
mediatek,portmap = <0x7>;
mediatek,portdisable = <0x3a>;
};
&i2s {
status = "okay";
};
&gdma {
status = "okay";
};
&pwm {
status = "okay";
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};

View file

@ -19,6 +19,15 @@ define Device/miwifi-nano
endef
TARGET_DEVICES += miwifi-nano
define Device/vocore2
DTS := VOCORE2
IMAGE_SIZE := $(ralink_default_fw_size_16M)
DEVICE_TITLE := VoCore VoCore2
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-usb-ledtrig-usbport \
kmod-sdhci kmod-sdhci-mt7620
endef
TARGET_DEVICES += vocore2
define Device/wl-wn575a3
DTS := WL-WN575A3
IMAGE_SIZE := $(ralink_default_fw_size_8M)