ramips: add support for the VoCore2 Lite

The VoCore2 Lite uses the same PCB as the Vocore2.
This patch moves the common VoCore2 parts into dtsi.

Removed memory node in the device tree source file.
Memory is detected automatically.

http://vocore.io/
http://vonger.net/
http://vonger.cn/

Specifications:
- SoC: MediaTek MT7688AN
- RAM: 64MB DDR2 EtronTech EM68B16CWQH-25H
- Flash: 8MB NOR SPI Flash GigaDevice GD25Q64CWIG
- Wireless: Built into MT7688AN with onboard IPEX connector

Firmware installation:
- VoCore2-Lite ships with firmware forked from OpenWrt.
- Installation from the bootloader is recommended.
- If using luci/sysupgrade use the -n option (do not keep settings)
  original firmware uses a modified proprietary MediaTek wireless driver.
- The wireless is disabled by default in LEDE.
- If reverting to factory firmware using the bootloader is recommended.

Signed-off-by: L. D. Pinney <ldpinney@gmail.com>
Tested by: Noble Pepper <noblepepper@gmail.com>
This commit is contained in:
L. D. Pinney 2017-08-04 04:09:06 +08:00 committed by Mathias Kresin
parent 8c9f847a80
commit df3295f50e
9 changed files with 125 additions and 51 deletions

View file

@ -361,6 +361,9 @@ vocore-16M)
vocore2) vocore2)
set_wifi_led "$board:fuchsia:status" set_wifi_led "$board:fuchsia:status"
;; ;;
vocore2lite)
set_wifi_led "$board:green:status"
;;
w502u) w502u)
set_usb_led "$board:blue:usb" set_usb_led "$board:blue:usb"
set_wifi_led "rt2800pci-phy0::radio" set_wifi_led "rt2800pci-phy0::radio"

View file

@ -302,7 +302,8 @@ ramips_setup_interfaces()
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \
"1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0" "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
;; ;;
vocore2) vocore2|\
vocore2lite)
ucidef_add_switch "switch0" \ ucidef_add_switch "switch0" \
"0:lan" "2:lan" "6t@eth0" "0:lan" "2:lan" "6t@eth0"
;; ;;

View file

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

View file

@ -523,6 +523,9 @@ ramips_board_detect() {
*"VoCore2") *"VoCore2")
name="vocore2" name="vocore2"
;; ;;
*"VoCore2-Lite")
name="vocore2lite"
;;
*"VR500") *"VR500")
name="vr500" name="vr500"
;; ;;

View file

@ -149,6 +149,7 @@ platform_check_image() {
vocore-8M|\ vocore-8M|\
vocore-16M|\ vocore-16M|\
vocore2|\ vocore2|\
vocore2lite|\
vr500|\ vr500|\
w150m|\ w150m|\
w2914nsv2|\ w2914nsv2|\

View file

@ -1,23 +1,13 @@
/dts-v1/; /dts-v1/;
#include "mt7628an.dtsi" #include "VOCORE2.dtsi"
#include <dt-bindings/gpio/gpio.h> #include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ { / {
compatible = "vocore,vocore2", "mediatek,mt7628an-soc"; compatible = "vocore,vocore2", "mediatek,mt7628an-soc";
model = "VoCore2"; model = "VoCore2";
chosen {
bootargs = "console=ttyS2,115200";
};
memory@0 {
device_type = "memory";
reg = <0x0 0x8000000>;
};
gpio-leds { gpio-leds {
compatible = "gpio-leds"; compatible = "gpio-leds";
@ -28,20 +18,6 @@
}; };
}; };
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "wled_an", "perst", "wdt";
ralink,function = "gpio";
};
};
};
&wmac {
status = "okay";
ralink,mtd-eeprom = <&factory 0x4>;
};
&spi0 { &spi0 {
status = "okay"; status = "okay";
@ -77,28 +53,3 @@
}; };
}; };
}; };
&esw {
mediatek,portmap = <0x7>;
mediatek,portdisable = <0x3a>;
};
&i2s {
status = "okay";
};
&gdma {
status = "okay";
};
&pwm {
status = "okay";
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};

View file

@ -0,0 +1,49 @@
#include "mt7628an.dtsi"
/ {
compatible = "vocore,vocore2", "mediatek,mt7628an-soc";
chosen {
bootargs = "console=ttyS2,115200";
};
};
&pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "wled_an", "perst", "wdt";
ralink,function = "gpio";
};
};
};
&wmac {
status = "okay";
ralink,mtd-eeprom = <&factory 0x4>;
};
&esw {
mediatek,portmap = <0x7>;
mediatek,portdisable = <0x3a>;
};
&i2s {
status = "okay";
};
&gdma {
status = "okay";
};
&pwm {
status = "okay";
};
&uart1 {
status = "okay";
};
&uart2 {
status = "okay";
};

View file

@ -0,0 +1,55 @@
/dts-v1/;
#include "VOCORE2.dtsi"
#include <dt-bindings/gpio/gpio.h>
/ {
compatible = "vocore,vocore2lite", "vocore,vocore2", "mediatek,mt7628an-soc";
model = "VoCore2-Lite";
gpio-leds {
compatible = "gpio-leds";
status {
label = "vocore2lite:green:status";
gpios = <&gpio1 12 GPIO_ACTIVE_HIGH>;
};
};
};
&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 0x7b0000>;
};
};
};

View file

@ -19,6 +19,14 @@ define Device/pbr-d1
endef endef
TARGET_DEVICES += pbr-d1 TARGET_DEVICES += pbr-d1
define Device/vocore2lite
DTS := VOCORE2LITE
IMAGE_SIZE := $(ralink_default_fw_size_8M)
DEVICE_TITLE := VoCore VoCore2-Lite
DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci kmod-sdhci kmod-sdhci-mt7620
endef
TARGET_DEVICES += vocore2lite
define Device/wrtnode2r define Device/wrtnode2r
DTS := WRTNODE2R DTS := WRTNODE2R
IMAGE_SIZE := $(ralink_default_fw_size_16M) IMAGE_SIZE := $(ralink_default_fw_size_16M)