From b38296f2f6c362b81545b7e42eb25abe6ccebfb2 Mon Sep 17 00:00:00 2001 From: Yuan Chenmang <771992497@qq.com> Date: Sat, 28 May 2016 18:04:17 +0800 Subject: [PATCH] ramips: add Widora-NEO board support The Widora board is similar to the Linkit 7688 but features a larger flash capacity. Signed-off-by: Yuan Chenmang <771992497@qq.com> [Jo-Philipp Wich: Reword commit message, cleanup initial PR] Signed-off-by: Jo-Philipp Wich --- .../ramips/base-files/etc/board.d/02_network | 1 + 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/WIDORA-NEO.dts | 169 ++++++++++++++++++ target/linux/ramips/image/mt7688.mk | 8 + 6 files changed, 184 insertions(+), 1 deletion(-) create mode 100644 target/linux/ramips/dts/WIDORA-NEO.dts 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 bf31c2af93..4728c75312 100755 --- a/target/linux/ramips/base-files/etc/board.d/02_network +++ b/target/linux/ramips/base-files/etc/board.d/02_network @@ -50,6 +50,7 @@ ramips_setup_interfaces() mpr-a2|\ ncs601w|\ w150m|\ + widora-neo|\ wnce2001|\ zte-q7) ucidef_add_switch "switch0" diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh index 2988cd9ff5..7e5688642c 100644 --- a/target/linux/ramips/base-files/etc/diag.sh +++ b/target/linux/ramips/base-files/etc/diag.sh @@ -156,7 +156,8 @@ get_status_led() { re6500|\ whr-1166d|\ whr-300hp2|\ - whr-600d) + whr-600d|\ + widora-neo) status_led="$board:orange:wifi" ;; mzk-ex300np|\ diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index 9d5421b0a0..cbe455d77d 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -436,6 +436,9 @@ ramips_board_detect() { *"WHR-G300N") name="whr-g300n" ;; + *"Widora-NEO") + name="widora-neo" + ;; *"WiTi") name="witi" ;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index 6036f73074..91c999799f 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -129,6 +129,7 @@ platform_check_image() { whr-300hp2|\ whr-600d|\ whr-g300n|\ + widora-neo|\ witi|\ wizfi630a|\ wl-330n|\ diff --git a/target/linux/ramips/dts/WIDORA-NEO.dts b/target/linux/ramips/dts/WIDORA-NEO.dts new file mode 100644 index 0000000000..406b5ca099 --- /dev/null +++ b/target/linux/ramips/dts/WIDORA-NEO.dts @@ -0,0 +1,169 @@ +/dts-v1/; + +#include "mt7628an.dtsi" + +/ { + compatible = "mediatek,widora-neo", "mediatek,mt7628an-soc"; + model = "Widora-NEO"; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + memory@0 { + device_type = "memory"; + reg = <0x0 0x8000000>; + }; + + gpio-leds { + compatible = "gpio-leds"; + + wifi { + label = "widora:orange:wifi"; + gpios = <&wgpio 0 0>; + default-state = "on"; + }; + }; + + gpio-keys-polled { + compatible = "gpio-keys-polled"; + #address-cells = <1>; + #size-cells = <0>; + poll-interval = <20>; + + wps { + label = "reset"; + gpios = <&gpio1 6 1>; + linux,code = <0x211>; + }; + }; + + wgpio: gpio-wifi { + compatible = "mediatek,gpio-wifi"; + #address-cells = <1>; + #size-cells = <0>; + gpio-controller; + #gpio-cells = <2>; + }; +}; + +&pinctrl { + state_default: pinctrl0 { + gpio { + ralink,group = "gpio"; + ralink,function = "gpio"; + }; + + perst { + ralink,group = "perst"; + ralink,function = "gpio"; + }; + + refclk { + ralink,group = "refclk"; + ralink,function = "gpio"; + }; + + i2s { + ralink,group = "i2s"; + ralink,function = "gpio"; + }; + + spis { + ralink,group = "spis"; + ralink,function = "gpio"; + }; + + wled_kn { + ralink,group = "wled_kn"; + ralink,function = "gpio"; + }; + + wled_an { + ralink,group = "wled_an"; + ralink,function = "wled_an"; + }; + + wdt { + ralink,group = "wdt"; + ralink,function = "gpio"; + }; + }; +}; + + +&spi0 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&spi_pins>, <&spi_cs1_pins>; + + m25p80@0 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "jedec,spi-nor"; + reg = <0>; + linux,modalias = "m25p80", "w25q128"; + spi-max-frequency = <40000000>; + m25p,chunked-io = <31>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x30000>; + read-only; + }; + + partition@30000 { + label = "u-boot-env"; + reg = <0x30000 0x10000>; + }; + + factory: partition@40000 { + label = "factory"; + reg = <0x40000 0x10000>; + read-only; + }; + + partition@50000 { + label = "firmware"; + reg = <0x50000 0x0fb0000>; + }; + }; + + spidev@1 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "linux,spidev"; + reg = <1>; + spi-max-frequency = <40000000>; + }; +}; + +&i2c { + status = "okay"; +}; + +&uart1 { + status = "okay"; +}; + +&uart2 { + status = "okay"; +}; + +&pwm { + status = "okay"; +}; + +ðernet { + mtd-mac-address = <&factory 0x28>; +}; + +&sdhci { + status = "okay"; + mediatek,cd-low; +}; + +&wmac { + status = "okay"; +}; diff --git a/target/linux/ramips/image/mt7688.mk b/target/linux/ramips/image/mt7688.mk index b3860ef78a..ffd92d21c6 100644 --- a/target/linux/ramips/image/mt7688.mk +++ b/target/linux/ramips/image/mt7688.mk @@ -17,3 +17,11 @@ define Device/wrtnode2r DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci endef TARGET_DEVICES += wrtnode2r + +define Device/widora-neo + DTS := WIDORA-NEO + IMAGE_SIZE := $(ralink_default_fw_size_16M) + DEVICE_TITLE := Widora-NEO + DEVICE_PACKAGES := kmod-usb2 kmod-usb-ohci +endef +TARGET_DEVICES += widora-neo