diff options
| author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-08-29 10:37:43 +0000 | 
|---|---|---|
| committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-08-29 10:37:43 +0000 | 
| commit | 0464c077a45816efde6382621cbe13a5bbee3474 (patch) | |
| tree | 4f4285db3e1d8ec2e34bb74e768a7c2c3b727d87 | |
| parent | 4cf75bc115fb5fd204611f581dd126a9d74c374e (diff) | |
ramips: Add support for 8devices Carambola dev board.
Add support for 8devices Carambola dev board.
The Carambola is a small RT3050-based development board with two
ethernet ports, on-board chip antenna, usb and plenty of accessible
gpio ports, sold by 8devices.
Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33303 3c298f89-4303-0410-b956-a3cf2f4a3e73
11 files changed, 62 insertions, 0 deletions
diff --git a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom index 5dadd7101..bb7f66284 100644 --- a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom +++ b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom @@ -58,6 +58,7 @@ case "$FIRMWARE" in  	all5002 | \  	argus-atp52b | \  	bc2 | \ +	carambola | \  	dir-615-h1 | \  	dir-620-a1 | \  	esr-9753 | \ diff --git a/target/linux/ramips/base-files/etc/uci-defaults/network b/target/linux/ramips/base-files/etc/uci-defaults/network index 6542d021e..d20b60af0 100755 --- a/target/linux/ramips/base-files/etc/uci-defaults/network +++ b/target/linux/ramips/base-files/etc/uci-defaults/network @@ -178,6 +178,7 @@ ramips_setup_macs()  		;;  	all0239-3g | \ +	carambola | \  	w502u)  		lan_mac=$(ramips_get_mac_binary factory 40)  		wan_mac=$(ramips_get_mac_binary factory 46) diff --git a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac index 8c2b03954..591c549d1 100644 --- a/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac +++ b/target/linux/ramips/base-files/lib/preinit/06_set_iface_mac @@ -37,6 +37,7 @@ preinit_set_mac_address() {  	all0239-3g |\  	all0256n |\  	all5002 |\ +	carambola |\  	dir-615-h1 |\  	fonera20n |\  	hw550-3g |\ diff --git a/target/linux/ramips/base-files/lib/ramips.sh b/target/linux/ramips/base-files/lib/ramips.sh index b07f4e946..90c28b7ab 100755 --- a/target/linux/ramips/base-files/lib/ramips.sh +++ b/target/linux/ramips/base-files/lib/ramips.sh @@ -47,6 +47,9 @@ ramips_board_name() {  	machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /proc/cpuinfo)  	case "$machine" in +	*"8devices Carambola") +		name="carambola" +		;;  	*"Edimax 3g-6200n")  		name="3g-6200n"  		;; diff --git a/target/linux/ramips/base-files/lib/upgrade/platform.sh b/target/linux/ramips/base-files/lib/upgrade/platform.sh index d7380f029..5ebf42a85 100755 --- a/target/linux/ramips/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/base-files/lib/upgrade/platform.sh @@ -19,6 +19,7 @@ platform_check_image() {  	all0256n | \  	all5002 | \  	bc2 | \ +	carambola | \  	dir-300-b1 | \  	dir-600-b1 | \  	dir-600-b2 | \ diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h index 89b437398..2d5a08f38 100644 --- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h +++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/machine.h @@ -23,6 +23,7 @@ enum ramips_mach_type {  	/* RT3050 based machines */  	RAMIPS_MACH_3G_6200N,		/* Edimax 3G-6200N */  	RAMIPS_MACH_ALL0256N,		/* Allnet ALL0256N */ +	RAMIPS_MACH_CARAMBOLA,		/* 8devices Carambola */  	RAMIPS_MACH_DIR_300_B1,		/* D-Link DIR-300 B1 */  	RAMIPS_MACH_DIR_600_B1,		/* D-Link DIR-600 B1 */  	RAMIPS_MACH_DIR_600_B2,		/* D-Link DIR-600 B2 */ diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig b/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig index 5837196f6..945639b97 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/Kconfig @@ -2,6 +2,11 @@ if RALINK_RT305X  menu "Ralink RT350x machine selection" +config RT305X_MACH_CARAMBOLA +	bool "8devices Carambola dev board support" +	select RALINK_DEV_GPIO_BUTTONS +	select RALINK_DEV_GPIO_LEDS +  config RT305X_MACH_3G_6200N  	bool "Edimax 3G-6200N board support"  	select RALINK_DEV_GPIO_BUTTONS diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile b/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile index 0dcb1f9e3..c7c27cb74 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/Makefile @@ -16,6 +16,7 @@ obj-$(CONFIG_RT305X_MACH_ARGUS_ATP52B)	+= mach-argus-atp52b.o  obj-$(CONFIG_RT305X_MACH_BC2)		+= mach-bc2.o  obj-$(CONFIG_RT305X_MACH_ALL0256N)	+= mach-all0256n.o  obj-$(CONFIG_RT305X_MACH_ALL5002)	+= mach-all5002.o +obj-$(CONFIG_RT305X_MACH_CARAMBOLA)	+= mach-carambola.o  obj-$(CONFIG_RT305X_MACH_DIR_300_REVB)	+= mach-dir-300-revb.o  obj-$(CONFIG_RT305X_MACH_DIR_615_H1)	+= mach-dir-615-h1.o  obj-$(CONFIG_RT305X_MACH_DAP_1350)	+= mach-dap-1350.o diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-carambola.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-carambola.c new file mode 100644 index 000000000..c24527a7b --- /dev/null +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-carambola.c @@ -0,0 +1,42 @@ +/* + *  8devices Carambola dev board support + * + *  Copyright (C) 2012 Tobias Diedrich <ranma+openwrt@tdiedrich.de> + * + *  This program is free software; you can redistribute it and/or modify it + *  under the terms of the GNU General Public License version 2 as published + *  by the Free Software Foundation. + */ + +#include <linux/init.h> +#include <linux/platform_device.h> + +#include <asm/mach-ralink/machine.h> +#include <asm/mach-ralink/dev-gpio-buttons.h> +#include <asm/mach-ralink/dev-gpio-leds.h> +#include <asm/mach-ralink/rt305x.h> +#include <asm/mach-ralink/rt305x_regs.h> + +#include "devices.h" + +static void __init carambola_init(void) +{ +	/* Ugh, inverted logic... +	 * This actually puts the pins into GPIO mode rather I2C, SPI, ... */ +	rt305x_gpio_init(RT305X_GPIO_MODE_UART0(RT305X_GPIO_MODE_GPIO) | +			 RT305X_GPIO_MODE_I2C | +			 RT305X_GPIO_MODE_SPI | +			 RT305X_GPIO_MODE_JTAG | +			 RT305X_GPIO_MODE_MDIO); + +	rt305x_register_flash(0); + +	rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_NONE; +	rt305x_register_ethernet(); +	rt305x_register_wifi(); +	rt305x_register_wdt(); +	rt305x_register_usb(); +} + +MIPS_MACHINE(RAMIPS_MACH_CARAMBOLA, "CARAMBOLA", "8devices Carambola", +	     carambola_init); diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index e43b501ee..d1204f3e2 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -403,6 +403,10 @@ define Image/Build/Profile/BC2  	$(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_8M,bc2,BC2,ttyS1,57600,phys)  endef +define Image/Build/Profile/CARAMBOLA +	$(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_8M,carambola,CARAMBOLA,ttyS1,115200,phys) +endef +  define Image/Build/Profile/DIR300B1  	$(call Image/Build/Template/$(fs_squash)/$(1),DIR300B1,dir-300-b1,DIR-300-B1,wrgn23_dlwbr_dir300b)  	$(call Image/Build/Template/$(fs_squash)/$(1),DIR300B1,dir-600-b1,DIR-600-B1,wrgn23_dlwbr_dir600b) @@ -538,6 +542,7 @@ define Image/Build/Profile/Default  	$(call Image/Build/Profile/ALL5002,$(1))  	$(call Image/Build/Profile/ARGUS_ATP52B,$(1))  	$(call Image/Build/Profile/BC2,$(1)) +	$(call Image/Build/Profile/CARAMBOLA,$(1))  	$(call Image/Build/Profile/DIR300B1,$(1))  	$(call Image/Build/Profile/DIR615H1,$(1))  	$(call Image/Build/Profile/DAP1350,$(1)) diff --git a/target/linux/ramips/rt305x/config-3.3 b/target/linux/ramips/rt305x/config-3.3 index 409bdbbbe..1e067fbdd 100644 --- a/target/linux/ramips/rt305x/config-3.3 +++ b/target/linux/ramips/rt305x/config-3.3 @@ -92,6 +92,7 @@ CONFIG_RT305X_MACH_ALL0256N=y  CONFIG_RT305X_MACH_ALL5002=y  CONFIG_RT305X_MACH_ARGUS_ATP52B=y  CONFIG_RT305X_MACH_BC2=y +CONFIG_RT305X_MACH_CARAMBOLA=y  CONFIG_RT305X_MACH_DIR_300_REVB=y  CONFIG_RT305X_MACH_DIR_615_H1=y  CONFIG_RT305X_MACH_DAP_1350=y  | 
