ramips: add support for the VoCore2 Lite
authorL. D. Pinney <ldpinney@gmail.com>
Thu, 3 Aug 2017 20:09:06 +0000 (04:09 +0800)
committerMathias Kresin <dev@kresin.me>
Fri, 11 Aug 2017 16:12:56 +0000 (18:12 +0200)
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>

target/linux/ramips/base-files/etc/board.d/01_leds
target/linux/ramips/base-files/etc/board.d/02_network
target/linux/ramips/base-files/etc/diag.sh
target/linux/ramips/base-files/lib/ramips.sh
target/linux/ramips/base-files/lib/upgrade/platform.sh
target/linux/ramips/dts/VOCORE2.dts
target/linux/ramips/dts/VOCORE2.dtsi [new file with mode: 0644]
target/linux/ramips/dts/VOCORE2LITE.dts [new file with mode: 0644]
target/linux/ramips/image/mt7688.mk

index 02f4b913d59936fadd0922454d64644f3f58713d..a2d5c2e7dec5d082c68943b9307f0bf7e67a4afd 100644 (file)
@@ -361,6 +361,9 @@ vocore-16M)
 vocore2)
        set_wifi_led "$board:fuchsia:status"
        ;;
+vocore2lite)
+       set_wifi_led "$board:green:status"
+       ;;
 w502u)
        set_usb_led "$board:blue:usb"
        set_wifi_led "rt2800pci-phy0::radio"
index 37984a81af03ff7ed5be9f7e62dd1a0a6c6d4693..2f001134a2b2ac2153e67ffa7e904b7da4242470 100755 (executable)
@@ -302,7 +302,8 @@ ramips_setup_interfaces()
                ucidef_add_switch "switch0" \
                        "1:lan" "2:lan" "3:lan" "4:lan" "5:wan" "0@eth0"
                ;;
-       vocore2)
+       vocore2|\
+       vocore2lite)
                ucidef_add_switch "switch0" \
                        "0:lan" "2:lan" "6t@eth0"
                ;;
index c57a2a59876998eec6ae99d484fe0c51a7ca32ce..5278830eb7348d27229de33773bf58a97ffa0224 100644 (file)
@@ -240,6 +240,9 @@ get_status_led() {
        vocore2)
                status_led="$board:fuchsia:status"
                ;;
+       vocore2lite)
+               status_led="$board:green:status"
+               ;;
        w306r-v20|\
        witi|\
        zbt-wr8305rt)
index 0087f2003bb802b83c95670004a963d5517a423c..a3f376e6accca0dd25ddbdb292c575b98fa730df 100755 (executable)
@@ -523,6 +523,9 @@ ramips_board_detect() {
        *"VoCore2")
                name="vocore2"
                ;;
+       *"VoCore2-Lite")
+               name="vocore2lite"
+               ;;
        *"VR500")
                name="vr500"
                ;;
index 085bf94aacc08bb5bb500bac9c9b2c898a123ae4..8977381c86d00d3e10394c43f3fe7b9474191e76 100755 (executable)
@@ -149,6 +149,7 @@ platform_check_image() {
        vocore-8M|\
        vocore-16M|\
        vocore2|\
+       vocore2lite|\
        vr500|\
        w150m|\
        w2914nsv2|\
index a2799e80f63b621ccb93082a8d069d35eb146f06..43f8475856e92f86609ef82d858af55b9d2a5ea0 100644 (file)
@@ -1,23 +1,13 @@
 /dts-v1/;
 
-#include "mt7628an.dtsi"
+#include "VOCORE2.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 0x8000000>;
-       };
-
        gpio-leds {
                compatible = "gpio-leds";
 
        };
 };
 
-&pinctrl {
-       state_default: pinctrl0 {
-               gpio {
-                       ralink,group = "wled_an", "perst", "wdt";
-                       ralink,function = "gpio";
-               };
-       };
-};
-
-&wmac {
-       status = "okay";
-       ralink,mtd-eeprom = <&factory 0x4>;
-};
-
 &spi0 {
        status = "okay";
 
                };
        };
 };
-
-&esw {
-       mediatek,portmap = <0x7>;
-       mediatek,portdisable = <0x3a>;
-};
-
-&i2s {
-       status = "okay";
-};
-
-&gdma {
-       status = "okay";
-};
-
-&pwm {
-       status = "okay";
-};
-
-&uart1 {
-       status = "okay";
-};
-
-&uart2 {
-       status = "okay";
-};
diff --git a/target/linux/ramips/dts/VOCORE2.dtsi b/target/linux/ramips/dts/VOCORE2.dtsi
new file mode 100644 (file)
index 0000000..dff9e54
--- /dev/null
@@ -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";
+};
diff --git a/target/linux/ramips/dts/VOCORE2LITE.dts b/target/linux/ramips/dts/VOCORE2LITE.dts
new file mode 100644 (file)
index 0000000..8e87c1d
--- /dev/null
@@ -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>;
+               };
+       };
+};
index 4a50275a8dfcd0220bb2c3763c0845dcd041b21a..2c181fc846e9943be240d91a1779a6fa0141f9fa 100644 (file)
@@ -19,6 +19,14 @@ define Device/pbr-d1
 endef
 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
   DTS := WRTNODE2R
   IMAGE_SIZE := $(ralink_default_fw_size_16M)