From df3295f50e54909090846de12f7deb3ff8de6557 Mon Sep 17 00:00:00 2001 From: "L. D. Pinney" Date: Fri, 4 Aug 2017 04:09:06 +0800 Subject: [PATCH] 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 Tested by: Noble Pepper --- .../ramips/base-files/etc/board.d/01_leds | 3 + .../ramips/base-files/etc/board.d/02_network | 3 +- target/linux/ramips/base-files/etc/diag.sh | 3 + target/linux/ramips/base-files/lib/ramips.sh | 3 + .../ramips/base-files/lib/upgrade/platform.sh | 1 + target/linux/ramips/dts/VOCORE2.dts | 51 +---------------- target/linux/ramips/dts/VOCORE2.dtsi | 49 +++++++++++++++++ target/linux/ramips/dts/VOCORE2LITE.dts | 55 +++++++++++++++++++ target/linux/ramips/image/mt7688.mk | 8 +++ 9 files changed, 125 insertions(+), 51 deletions(-) create mode 100644 target/linux/ramips/dts/VOCORE2.dtsi create mode 100644 target/linux/ramips/dts/VOCORE2LITE.dts 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 02f4b913d599..a2d5c2e7dec5 100644 --- a/target/linux/ramips/base-files/etc/board.d/01_leds +++ b/target/linux/ramips/base-files/etc/board.d/01_leds @@ -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" 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 37984a81af03..2f001134a2b2 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -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" ;; diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index c57a2a598769..5278830eb734 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -240,6 +240,9 @@ get_status_led() { vocore2) status_led="$board:fuchsia:status" ;; + vocore2lite) + status_led="$board:green:status" + ;; w306r-v20|\ witi|\ zbt-wr8305rt) diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 0087f2003bb8..a3f376e6accc 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -523,6 +523,9 @@ ramips_board_detect() { *"VoCore2") name="vocore2" ;; + *"VoCore2-Lite") + name="vocore2lite" + ;; *"VR500") name="vr500" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 085bf94aacc0..8977381c86d0 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -149,6 +149,7 @@ platform_check_image() { vocore-8M|\ vocore-16M|\ vocore2|\ + vocore2lite|\ vr500|\ w150m|\ w2914nsv2|\ diff --git a/target/linux/ramips/dts/VOCORE2.dts b/target/linux/ramips/dts/VOCORE2.dts index a2799e80f63b..43f8475856e9 100644 --- a/target/linux/ramips/dts/VOCORE2.dts +++ b/target/linux/ramips/dts/VOCORE2.dts @@ -1,23 +1,13 @@ /dts-v1/; -#include "mt7628an.dtsi" +#include "VOCORE2.dtsi" #include -#include / { 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"; @@ -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 { 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"; -}; diff --git a/target/linux/ramips/dts/VOCORE2.dtsi b/target/linux/ramips/dts/VOCORE2.dtsi new file mode 100644 index 000000000000..dff9e544f9d5 --- /dev/null +++ b/target/linux/ramips/dts/VOCORE2.dtsi @@ -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 index 000000000000..8e87c1d519f0 --- /dev/null +++ b/target/linux/ramips/dts/VOCORE2LITE.dts @@ -0,0 +1,55 @@ +/dts-v1/; + +#include "VOCORE2.dtsi" + +#include + +/ { + 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>; + }; + }; +}; diff --git a/target/linux/ramips/image/mt7688.mk b/target/linux/ramips/image/mt7688.mk index 4a50275a8dfc..2c181fc846e9 100644 --- a/target/linux/ramips/image/mt7688.mk +++ b/target/linux/ramips/image/mt7688.mk @@ -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) -- 2.30.2