ramips: rt305x: add support for the UR-336UN board
Patch-by: Lebedev Dmitry <lebedev@trendnet.ru> SVN-Revision: 31451
This commit is contained in:
		| @@ -102,6 +102,9 @@ get_status_led() { | |||||||
| 	wr512-3gn) | 	wr512-3gn) | ||||||
| 		status_led="wr512:green:wps" | 		status_led="wr512:green:wps" | ||||||
| 		;; | 		;; | ||||||
|  | 	ur-336un) | ||||||
|  | 		status_led="ur336:green:wps" | ||||||
|  | 		;; | ||||||
| 	xdxrn502j) | 	xdxrn502j) | ||||||
| 		status_led="xdxrn502j:green:power" | 		status_led="xdxrn502j:green:power" | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -32,6 +32,10 @@ ramips_setup_interfaces() | |||||||
|  |  | ||||||
| 	f5d8235-v1 | \ | 	f5d8235-v1 | \ | ||||||
| 	f5d8235-v2 | \ | 	f5d8235-v2 | \ | ||||||
|  | 	ur-336un) | ||||||
|  | 		ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" | ||||||
|  | 		;; | ||||||
|  |  | ||||||
| 	v11st-fe) | 	v11st-fe) | ||||||
| 		ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" | 		ucidef_set_interfaces_lan_wan "eth0.1" "eth0.2" | ||||||
| 		ucidef_add_switch "switch0" "1" "1" | 		ucidef_add_switch "switch0" "1" "1" | ||||||
| @@ -110,6 +114,11 @@ ramips_setup_macs() | |||||||
| 		;; | 		;; | ||||||
|  |  | ||||||
| 	esr-9753 | \ | 	esr-9753 | \ | ||||||
|  | 	ur-336un) | ||||||
|  | 		lan_mac=$(ramips_get_mac_binary devdata 16388) | ||||||
|  | 		wan_mac=$(/usr/sbin/maccalc add "$lan_mac" 1) | ||||||
|  | 		;; | ||||||
|  |  | ||||||
| 	nbg-419n | \ | 	nbg-419n | \ | ||||||
| 	wcr-150gn) | 	wcr-150gn) | ||||||
|                 lan_mac=$(ramips_get_mac_binary factory 4) |                 lan_mac=$(ramips_get_mac_binary factory 4) | ||||||
|   | |||||||
| @@ -152,6 +152,9 @@ ramips_board_name() { | |||||||
| 	*"WR512-3GN-like router") | 	*"WR512-3GN-like router") | ||||||
| 		name="wr512-3gn" | 		name="wr512-3gn" | ||||||
| 		;; | 		;; | ||||||
|  | 	*"UR-336UN Wireless N router") | ||||||
|  | 		name="ur-336un" | ||||||
|  | 		;; | ||||||
| 	*"AWB WR6202") | 	*"AWB WR6202") | ||||||
| 		name="wr6202" | 		name="wr6202" | ||||||
| 		;; | 		;; | ||||||
|   | |||||||
| @@ -40,6 +40,7 @@ platform_check_image() { | |||||||
| 	wl-330n | \ | 	wl-330n | \ | ||||||
| 	wli-tx4-ag300n | \ | 	wli-tx4-ag300n | \ | ||||||
| 	whr-g300n |\ | 	whr-g300n |\ | ||||||
|  | 	ur-336un |\ | ||||||
| 	wr512-3gn) | 	wr512-3gn) | ||||||
| 		[ "$magic" != "2705" ] && { | 		[ "$magic" != "2705" ] && { | ||||||
| 			echo "Invalid image type." | 			echo "Invalid image type." | ||||||
|   | |||||||
| @@ -55,6 +55,7 @@ enum ramips_mach_type { | |||||||
| 	RAMIPS_MACH_WR512_3GN,		/* SH-WR512NU/WS-WR512N1-like 3GN*/ | 	RAMIPS_MACH_WR512_3GN,		/* SH-WR512NU/WS-WR512N1-like 3GN*/ | ||||||
| 	RAMIPS_MACH_WR6202,		/* Accton WR6202 */ | 	RAMIPS_MACH_WR6202,		/* Accton WR6202 */ | ||||||
| 	RAMIPS_MACH_XDXRN502J,          /* unknown XDX-RN502J */ | 	RAMIPS_MACH_XDXRN502J,          /* unknown XDX-RN502J */ | ||||||
|  | 	RAMIPS_MACH_UR_336UN,		/* UPVEL ROUTER */ | ||||||
|  |  | ||||||
| 	/* RT3662 based machines */ | 	/* RT3662 based machines */ | ||||||
| 	RAMIPS_MACH_RT_N56U,		/* Asus RT-N56U */ | 	RAMIPS_MACH_RT_N56U,		/* Asus RT-N56U */ | ||||||
|   | |||||||
| @@ -84,6 +84,11 @@ config RT305X_MACH_WR512_3GN | |||||||
| 	select RALINK_DEV_GPIO_BUTTONS | 	select RALINK_DEV_GPIO_BUTTONS | ||||||
| 	select RALINK_DEV_GPIO_LEDS | 	select RALINK_DEV_GPIO_LEDS | ||||||
|  |  | ||||||
|  | config RT305X_MACH_UR_336UN | ||||||
|  | 	bool "UR-336UN Wireless N router" | ||||||
|  | 	select RALINK_DEV_GPIO_BUTTONS | ||||||
|  | 	select RALINK_DEV_GPIO_LEDS | ||||||
|  |  | ||||||
| config RT305X_MACH_NW718 | config RT305X_MACH_NW718 | ||||||
| 	bool "Netcore NW718" | 	bool "Netcore NW718" | ||||||
| 	select RALINK_DEV_GPIO_BUTTONS | 	select RALINK_DEV_GPIO_BUTTONS | ||||||
|   | |||||||
| @@ -34,6 +34,7 @@ obj-$(CONFIG_RT305X_MACH_W502U)		+= mach-w502u.o | |||||||
| obj-$(CONFIG_RT305X_MACH_WCR150GN)	+= mach-wcr150gn.o | obj-$(CONFIG_RT305X_MACH_WCR150GN)	+= mach-wcr150gn.o | ||||||
| obj-$(CONFIG_RT305X_MACH_WHR_G300N)	+= mach-whr-g300n.o | obj-$(CONFIG_RT305X_MACH_WHR_G300N)	+= mach-whr-g300n.o | ||||||
| obj-$(CONFIG_RT305X_MACH_WR512_3GN)	+= mach-wr512-3gn.o | obj-$(CONFIG_RT305X_MACH_WR512_3GN)	+= mach-wr512-3gn.o | ||||||
|  | obj-$(CONFIG_RT305X_MACH_UR_336UN)	+= mach-ur-336un.o | ||||||
| obj-$(CONFIG_RT305X_MACH_WL_330N)	+= mach-wl-330n.o | obj-$(CONFIG_RT305X_MACH_WL_330N)	+= mach-wl-330n.o | ||||||
| obj-$(CONFIG_RT305X_MACH_WL_330N3G)	+= mach-wl-330n3g.o | obj-$(CONFIG_RT305X_MACH_WL_330N3G)	+= mach-wl-330n3g.o | ||||||
| obj-$(CONFIG_RT305X_MACH_WL341V3)	+= mach-wl341v3.o | obj-$(CONFIG_RT305X_MACH_WL341V3)	+= mach-wl341v3.o | ||||||
|   | |||||||
| @@ -0,0 +1,92 @@ | |||||||
|  | #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" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | #define UR_336UN_GPIO_LED_3G		9 | ||||||
|  | #define UR_336UN_GPIO_LED_GATEWAY	11 | ||||||
|  | #define UR_336UN_GPIO_LED_AP		12 | ||||||
|  | #define UR_336UN_GPIO_LED_STATION	13 | ||||||
|  | #define UR_336UN_GPIO_LED_WPS		14 | ||||||
|  |  | ||||||
|  | #define UR_336UN_GPIO_BUTTON_RESET	10 | ||||||
|  | #define UR_336UN_GPIO_BUTTON_CONNECT	7 | ||||||
|  | #define UR_336UN_GPIO_BUTTON_WPS	0 | ||||||
|  | #define UR_336UN_GPIO_BUTTON_WPS2	8 | ||||||
|  |  | ||||||
|  | #define UR_336UN_KEYS_POLL_INTERVAL	20 | ||||||
|  | #define UR_336UN_KEYS_DEBOUNCE_INTERVAL (3 * UR_336UN_KEYS_POLL_INTERVAL) | ||||||
|  |  | ||||||
|  | static struct gpio_led UR_336UN_leds_gpio[] __initdata = { | ||||||
|  | 	{ | ||||||
|  | 		.name		= "ur336:green:3g", | ||||||
|  | 		.gpio		= UR_336UN_GPIO_LED_3G, | ||||||
|  | 		.active_low	= 1, | ||||||
|  | 	}, { | ||||||
|  | 		.name		= "ur336:green:gateway", | ||||||
|  | 		.gpio		= UR_336UN_GPIO_LED_GATEWAY, | ||||||
|  | 		.active_low	= 1, | ||||||
|  | 	}, { | ||||||
|  | 		.name		= "ur336:green:ap", | ||||||
|  | 		.gpio		= UR_336UN_GPIO_LED_AP, | ||||||
|  | 		.active_low	= 1, | ||||||
|  | 	}, { | ||||||
|  | 		.name		= "ur336:green:wps", | ||||||
|  | 		.gpio		= UR_336UN_GPIO_LED_WPS, | ||||||
|  | 		.active_low	= 1, | ||||||
|  | 	}, { | ||||||
|  | 		.name		= "ur336:green:station", | ||||||
|  | 		.gpio		= UR_336UN_GPIO_LED_STATION, | ||||||
|  | 		.active_low	= 1, | ||||||
|  | 	} | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | static struct gpio_keys_button UR_336UN_gpio_buttons[] __initdata = { | ||||||
|  | 	{ | ||||||
|  | 		.desc		= "reset_wps", | ||||||
|  | 		.type		= EV_KEY, | ||||||
|  | 		.code		= KEY_RESTART, | ||||||
|  | 		.debounce_interval = UR_336UN_KEYS_DEBOUNCE_INTERVAL, | ||||||
|  | 		.gpio		= UR_336UN_GPIO_BUTTON_RESET, | ||||||
|  | 		.active_low	= 1, | ||||||
|  | 	}, { | ||||||
|  | 		.desc		= "mode", | ||||||
|  | 		.type		= EV_KEY, | ||||||
|  | 		.code		= KEY_M, | ||||||
|  | 		.debounce_interval = UR_336UN_KEYS_DEBOUNCE_INTERVAL, | ||||||
|  | 		.gpio		= UR_336UN_GPIO_BUTTON_CONNECT, | ||||||
|  | 		.active_low	= 1, | ||||||
|  | 	} | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | #define UR_336UN_GPIO_MODE \ | ||||||
|  | 	((RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT) | \ | ||||||
|  | 	 RT305X_GPIO_MODE_MDIO) | ||||||
|  |  | ||||||
|  | static void __init UR_336UN_init(void) | ||||||
|  | { | ||||||
|  | 	rt305x_gpio_init(UR_336UN_GPIO_MODE); | ||||||
|  |  | ||||||
|  | 	rt305x_register_flash(0); | ||||||
|  |  | ||||||
|  | 	rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_LLLLW; | ||||||
|  | 	rt305x_register_ethernet(); | ||||||
|  | 	ramips_register_gpio_leds(-1, ARRAY_SIZE(UR_336UN_leds_gpio), | ||||||
|  | 				  UR_336UN_leds_gpio); | ||||||
|  | 	ramips_register_gpio_buttons(-1, UR_336UN_KEYS_POLL_INTERVAL, | ||||||
|  | 				     ARRAY_SIZE(UR_336UN_gpio_buttons), | ||||||
|  | 				     UR_336UN_gpio_buttons); | ||||||
|  | 	rt305x_register_wifi(); | ||||||
|  | 	rt305x_register_wdt(); | ||||||
|  | 	rt305x_register_usb(); | ||||||
|  | } | ||||||
|  |  | ||||||
|  | MIPS_MACHINE(RAMIPS_MACH_UR_336UN, "UR-336UN", "UR-336UN Wireless N router", | ||||||
|  | 	      UR_336UN_init); | ||||||
| @@ -412,6 +412,11 @@ define Image/Build/Profile/WR5123GN | |||||||
| 	$(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_8M,wr512-3gn-8M,WR512-3GN,ttyS1,57600,phys) | 	$(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_8M,wr512-3gn-8M,WR512-3GN,ttyS1,57600,phys) | ||||||
| endef | endef | ||||||
|  |  | ||||||
|  |  | ||||||
|  | define Image/Build/Profile/UPVEL | ||||||
|  | 	$(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_4M,ur-336un,UR-336UN,ttyS1,57600,phys) | ||||||
|  | endef | ||||||
|  |  | ||||||
| define Image/Build/Profile/WR6202 | define Image/Build/Profile/WR6202 | ||||||
| 	$(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_8M,wr6202,WR6202,ttyS1,115200,phys) | 	$(call Image/Build/Template/$(fs_squash)/$(1),GENERIC_8M,wr6202,WR6202,ttyS1,115200,phys) | ||||||
| endef | endef | ||||||
|   | |||||||
| @@ -113,6 +113,7 @@ CONFIG_RT305X_MACH_PWH2004=y | |||||||
| CONFIG_RT305X_MACH_RT_G32_REVB=y | CONFIG_RT305X_MACH_RT_G32_REVB=y | ||||||
| CONFIG_RT305X_MACH_RT_N10_PLUS=y | CONFIG_RT305X_MACH_RT_N10_PLUS=y | ||||||
| CONFIG_RT305X_MACH_SL_R7205=y | CONFIG_RT305X_MACH_SL_R7205=y | ||||||
|  | CONFIG_RT305X_MACH_UR_336UN=y | ||||||
| CONFIG_RT305X_MACH_V22RW_2X2=y | CONFIG_RT305X_MACH_V22RW_2X2=y | ||||||
| CONFIG_RT305X_MACH_W306R_V20=y | CONFIG_RT305X_MACH_W306R_V20=y | ||||||
| CONFIG_RT305X_MACH_W502U=y | CONFIG_RT305X_MACH_W502U=y | ||||||
|   | |||||||
							
								
								
									
										18
									
								
								target/linux/ramips/rt305x/profiles/upvel.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								target/linux/ramips/rt305x/profiles/upvel.mk
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | # | ||||||
|  | # Copyright (C) 2012 OpenWrt.org | ||||||
|  | # | ||||||
|  | # This is free software, licensed under the GNU General Public License v2. | ||||||
|  | # See /LICENSE for more information. | ||||||
|  | # | ||||||
|  |  | ||||||
|  | define Profile/UPVEL | ||||||
|  | 	NAME:=UPVEL UR-336UN | ||||||
|  | 	PACKAGES:=\ | ||||||
|  | 		kmod-usb-core kmod-usb-rt305x-dwc_otg \ | ||||||
|  | 		kmod-ledtrig-usbdev | ||||||
|  | endef | ||||||
|  |  | ||||||
|  | define Profile/UPVEL/Description | ||||||
|  | 	Default package set compatible with URVEL router board. | ||||||
|  | endef | ||||||
|  | $(eval $(call Profile,UPVEL)) | ||||||
		Reference in New Issue
	
	Block a user
	 Gabor Juhos
					Gabor Juhos