ramips: Add support for VoCore

This is based and tested on VoCore Alpha, but other stuff like status/eth LEDs are present on the final board revision + VoDock.
All GPIOs are exported, except spi/i2c.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

Backport of r41939

git-svn-id: svn://svn.openwrt.org/openwrt/branches/barrier_breaker@42376 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
blogic 2014-09-01 13:21:49 +00:00
parent 5b5d939ca3
commit 854257b556
8 changed files with 256 additions and 0 deletions

View File

@ -129,6 +129,9 @@ get_status_led() {
v22rw-2x2)
status_led="v22rw-2x2:green:security"
;;
vocore)
status_led="vocore:green:status"
;;
w306r-v20)
status_led="w306r-v20:green:sys"
;;

View File

@ -154,6 +154,10 @@ case $board in
v11st-fe)
set_wifi_led "rt2800pci-phy0::radio"
;;
vocore)
ucidef_set_led_netdev "eth" "ETH" "vocore:orange:eth" "eth0"
set_wifi_led "vocore:green:status"
;;
w306r-v20)
set_wifi_led "rt2800pci-phy0::radio"
;;

View File

@ -163,6 +163,12 @@ ramips_setup_interfaces()
ucidef_add_switch_vlan "switch0" "2" "0t 5"
;;
vocore)
ucidef_set_interface_lan "eth0.1"
ucidef_add_switch "switch0" "1" "1"
ucidef_add_switch_vlan "switch0" "1" "0 4 6t"
;;
wcr-150gn)
ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2"
ucidef_add_switch "switch0" "1" "1"

View File

@ -238,6 +238,9 @@ ramips_board_detect() {
*"V22RW-2X2")
name="v22rw-2x2"
;;
*"VoCore")
name="vocore"
;;
*"W502U")
name="w502u"
;;

View File

@ -81,6 +81,7 @@ platform_check_image() {
w502u |\
wr6202 |\
v22rw-2x2 | \
vocore | \
wl341v3 | \
wl-330n | \
wl-330n3g | \

View File

@ -0,0 +1,217 @@
/dts-v1/;
/include/ "rt5350.dtsi"
/ {
compatible = "VoCore", "ralink,rt5350-soc";
model = "VoCore";
palmbus@10000000 {
gpio1: gpio@660 {
status = "okay";
};
i2c@900 {
status = "okay";
};
spi@b00 {
status = "okay";
m25p80@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "s25fl064k";
reg = <0 0>;
linux,modalias = "m25p80", "s25fl064k";
spi-max-frequency = <10000000>;
partition@0 {
label = "uboot";
reg = <0x0 0x30000>;
read_only;
};
partition@30000 {
label = "uboot-env";
reg = <0x30000 0x10000>;
read-only;
};
factory: partition@40000 {
label = "factory";
reg = <0x40000 0x10000>;
read-only;
};
partition@50000 {
label = "firmware";
reg = <0x50000 0x7b0000>;
};
};
};
};
pinctrl {
state_default: pinctrl0 {
gpio {
ralink,group = "jtag", "uartf", "led", "spi_cs1";
ralink,function = "gpio";
};
};
};
ethernet@10100000 {
mtd-mac-address = <&factory 0x4>;
};
esw@10110000 {
ralink,portmap = <0x17>;
};
wmac@10180000 {
ralink,mtd-eeprom = <&factory 0>;
};
ehci@101c0000 {
status = "okay";
};
ohci@101c1000 {
status = "okay";
};
gpio-export {
compatible = "gpio-export";
#size-cells = <0>;
gpio0 {
gpio-export,name = "gpio0";
gpio-export,direction_may_change = <1>;
gpios = <&gpio0 0 0>;
};
/* UARTF */
gpio7 {
/* UARTF_RTS_N */
gpio-export,name = "gpio7";
gpio-export,direction_may_change = <1>;
gpios = <&gpio0 7 0>;
};
gpio8 {
/* UARTF_TXD */
gpio-export,name = "gpio8";
gpio-export,direction_may_change = <1>;
gpios = <&gpio0 8 0>;
};
gpio9 {
/* UARTF_CTS_N */
gpio-export,name = "gpio9";
gpio-export,direction_may_change = <1>;
gpios = <&gpio0 9 0>;
};
gpio12 {
/* UARTF_DCD_N */
gpio-export,name = "gpio12";
gpio-export,direction_may_change = <1>;
gpios = <&gpio0 12 0>;
};
gpio13 {
/* UARTF_DSR_N */
gpio-export,name = "gpio13";
gpio-export,direction_may_change = <1>;
gpios = <&gpio0 13 0>;
};
gpio14 {
/* UARTF_RIN */
gpio-export,name = "gpio14";
gpio-export,direction_may_change = <1>;
gpios = <&gpio0 14 0>;
};
/* JTAG */
gpio17 {
/* JTAG_TDO */
gpio-export,name = "gpio17";
gpio-export,direction_may_change = <1>;
gpios = <&gpio0 17 0>;
};
gpio18 {
/* JTAG_TDI */
gpio-export,name = "gpio18";
gpio-export,direction_may_change = <1>;
gpios = <&gpio0 18 0>;
};
gpio19 {
/* JTAG_TMS */
gpio-export,name = "gpio19";
gpio-export,direction_may_change = <1>;
gpios = <&gpio0 19 0>;
};
gpio20 {
/* JTAG_TCLK */
gpio-export,name = "gpio20";
gpio-export,direction_may_change = <1>;
gpios = <&gpio0 20 0>;
};
gpio21 {
/* JTAG_TRST_N */
gpio-export,name = "gpio21";
gpio-export,direction_may_change = <1>;
gpios = <&gpio0 21 0>;
};
/* ETH LEDs */
gpio22 {
/* ETH0_LED */
gpio-export,name = "gpio22";
gpio-export,direction_may_change = <1>;
gpios = <&gpio1 0 0>;
};
gpio23 {
/* ETH1_LED */
gpio-export,name = "gpio23";
gpio-export,direction_may_change = <1>;
gpios = <&gpio1 1 0>;
};
gpio24 {
/* ETH2_LED */
gpio-export,name = "gpio24";
gpio-export,direction_may_change = <1>;
gpios = <&gpio1 2 0>;
};
gpio25 {
/* ETH3_LED */
gpio-export,name = "gpio25";
gpio-export,direction_may_change = <1>;
gpios = <&gpio1 3 0>;
};
gpio26 {
/* ETH4_LED */
gpio-export,name = "gpio26";
gpio-export,direction_may_change = <1>;
gpios = <&gpio1 4 0>;
};
/* SPI_CS1 */
gpio27 {
gpio-export,name = "gpio27";
gpio-export,direction_may_change = <1>;
gpios = <&gpio1 5 0>;
};
};
gpio-leds {
compatible = "gpio-leds";
status {
/* UARTF_RXD */
label = "vocore:green:status";
gpios = <&gpio0 10 0>;
};
eth {
/* UARTF_DTR_N */
label = "vocore:orange:eth";
gpios = <&gpio0 11 0>;
};
};
};

View File

@ -476,6 +476,8 @@ Image/Build/Profile/SL-R7205=$(call BuildFirmware/Default4M/$(1),$(1),sl-r7205,S
Image/Build/Profile/V22RW-2X2=$(call BuildFirmware/Default4M/$(1),$(1),v22rw-2x2,V22RW-2X2)
Image/Build/Profile/VOCORE=$(call BuildFirmware/Default8M/$(1),$(1),vocore,VOCORE)
Image/Build/Profile/W150M=$(call BuildFirmware/CustomFlashFactory/$(1),$(1),w150m,W150M,$(ralink_default_fw_size_4M),W150M Kernel Image,factory)
Image/Build/Profile/W306R_V20=$(call BuildFirmware/CustomFlashFactory/$(1),$(1),w306r-v20,W306R_V20,$(ralink_default_fw_size_4M),linkn Kernel Image,factory)
@ -617,6 +619,7 @@ define Image/Build/Profile/Default
$(call Image/Build/Profile/SL-R7205,$(1))
$(call Image/Build/Profile/UR-326N4G,$(1))
$(call Image/Build/Profile/V22RW-2X2,$(1))
$(call Image/Build/Profile/VOCORE,$(1))
$(call Image/Build/Profile/W150M,$(1))
$(call Image/Build/Profile/W306R_V20,$(1))
$(call Image/Build/Profile/W502U,$(1))

View File

@ -0,0 +1,19 @@
#
# Copyright (C) 2014 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
define Profile/VOCORE
NAME:=VoCore
PACKAGES:=\
kmod-usb-core kmod-usb-ohci kmod-usb2 \
kmod-i2c-core kmod-i2c-ralink
endef
define Profile/VOCORE/Description
Package set for VoCore board
endef
$(eval $(call Profile,VOCORE))