[OpenWrt-Devel] [PATCH 2/2] ramips: Add support for VoCore
John Crispin
blogic at openwrt.org
Fri Aug 1 16:37:44 EDT 2014
Hi,
oh great, i just soldered my alpha version this morning and wanted to
port owrt to it tomorrow :)
John
On 01/08/2014 17:52, Álvaro Fernández Rojas wrote:
> 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 at gmail.com>
> ---
> diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh
> index 0887606..a96e66f 100755
> --- a/target/linux/ramips/base-files/etc/diag.sh
> +++ b/target/linux/ramips/base-files/etc/diag.sh
> @@ -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"
> ;;
> diff --git a/target/linux/ramips/base-files/etc/uci-defaults/01_leds b/target/linux/ramips/base-files/etc/uci-defaults/01_leds
> index 359281e..28b90c4 100755
> --- a/target/linux/ramips/base-files/etc/uci-defaults/01_leds
> +++ b/target/linux/ramips/base-files/etc/uci-defaults/01_leds
> @@ -149,6 +149,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"
> ;;
> diff --git a/target/linux/ramips/base-files/etc/uci-defaults/02_network b/target/linux/ramips/base-files/etc/uci-defaults/02_network
> index 40c60fe..335b27e 100755
> --- a/target/linux/ramips/base-files/etc/uci-defaults/02_network
> +++ b/target/linux/ramips/base-files/etc/uci-defaults/02_network
> @@ -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"
> diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh
> index f7e04b7..1c69498 100755
> --- a/target/linux/ramips/base-files/lib/ramips.sh
> +++ b/target/linux/ramips/base-files/lib/ramips.sh
> @@ -235,6 +235,9 @@ ramips_board_detect() {
> *"V22RW-2X2")
> name="v22rw-2x2"
> ;;
> + *"VoCore")
> + name="vocore"
> + ;;
> *"W502U")
> name="w502u"
> ;;
> diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh
> index 4a70691..a39596d 100755
> --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh
> @@ -80,6 +80,7 @@ platform_check_image() {
> w502u |\
> wr6202 |\
> v22rw-2x2 | \
> + vocore | \
> wl341v3 | \
> wl-330n | \
> wl-330n3g | \
> diff --git a/target/linux/ramips/dts/VOCORE.dts b/target/linux/ramips/dts/VOCORE.dts
> new file mode 100644
> index 0000000..e5df9ab
> --- /dev/null
> +++ b/target/linux/ramips/dts/VOCORE.dts
> @@ -0,0 +1,217 @@
> +/dts-v1/;
> +
> +/include/ "rt5350.dtsi"
> +
> +/ {
> + compatible = "VoCore", "ralink,rt5350-soc";
> + model = "VoCore";
> +
> + palmbus at 10000000 {
> + gpio1: gpio at 660 {
> + status = "okay";
> + };
> +
> + i2c at 900 {
> + status = "okay";
> + };
> +
> + spi at b00 {
> + status = "okay";
> +
> + m25p80 at 0 {
> + #address-cells = <1>;
> + #size-cells = <1>;
> + compatible = "s25fl064k";
> + reg = <0 0>;
> + linux,modalias = "m25p80", "s25fl064k";
> + spi-max-frequency = <10000000>;
> +
> + partition at 0 {
> + label = "uboot";
> + reg = <0x0 0x30000>;
> + read_only;
> + };
> +
> + partition at 30000 {
> + label = "uboot-env";
> + reg = <0x30000 0x10000>;
> + read-only;
> + };
> +
> + factory: partition at 40000 {
> + label = "factory";
> + reg = <0x40000 0x10000>;
> + read-only;
> + };
> +
> + partition at 50000 {
> + label = "firmware";
> + reg = <0x50000 0x7b0000>;
> + };
> + };
> + };
> + };
> +
> + pinctrl {
> + state_default: pinctrl0 {
> + gpio {
> + ralink,group = "jtag", "uartf", "led", "spi_cs1";
> + ralink,function = "gpio";
> + };
> + };
> + };
> +
> + ethernet at 10100000 {
> + mtd-mac-address = <&factory 0x4>;
> + };
> +
> + esw at 10110000 {
> + ralink,portmap = <0x17>;
> + };
> +
> + wmac at 10180000 {
> + ralink,mtd-eeprom = <&factory 0>;
> + };
> +
> + ehci at 101c0000 {
> + status = "okay";
> + };
> +
> + ohci at 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>;
> + };
> + };
> +};
> diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile
> index 62992cd..2a9c3ad 100644
> --- a/target/linux/ramips/image/Makefile
> +++ b/target/linux/ramips/image/Makefile
> @@ -473,6 +473,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)
> @@ -612,6 +614,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))
> diff --git a/target/linux/ramips/rt305x/profiles/vocore.mk b/target/linux/ramips/rt305x/profiles/vocore.mk
> new file mode 100644
> index 0000000..11fb634
> --- /dev/null
> +++ b/target/linux/ramips/rt305x/profiles/vocore.mk
> @@ -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))
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list