diff options
3 files changed, 54 insertions, 11 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 d8b35ae30..920c8a33a 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 @@ -55,7 +55,7 @@ case "$FIRMWARE" in  	nw718 | \  	rt-n15 | \  	v22rw-2x2 | \ -	wcr150gn | \ +	wcr-150gn | \  	whr-g300n | \  	wr512-3gn)  		rt2x00_eeprom_extract "factory" 0 272 diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-wcr150gn.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-wcr150gn.c index 984bab7b8..0da27359b 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-wcr150gn.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-wcr150gn.c @@ -22,6 +22,44 @@  #include "devices.h" +#define WCR150GN_GPIO_LED_USER                 12 +#define WCR150GN_GPIO_LED_POWER                        8 +#define WCR150GN_GPIO_BUTTON_WPS               10 +#define WCR150GN_GPIO_BUTTON_RESET             0 +#define WCR150GN_BUTTONS_POLL_INTERVAL         20 + +static struct gpio_led wcr150gn_leds_gpio[] __initdata = { +	{ +		.name       = "wcr150gn:amber:user", +		.gpio       = WCR150GN_GPIO_LED_USER, +		.active_low = 1, +	}, +	{ +		.name       = "wcr150gn:amber:power", +		.gpio       = WCR150GN_GPIO_LED_POWER, +		.active_low = 1, +	} +}; + +static struct gpio_button wcr150gn_gpio_buttons[] __initdata = { +	{ +		.desc       = "wps", +		.type       = EV_KEY, +		.code       = KEY_WPS_BUTTON, +		.threshold  = 3, +		.gpio       = WCR150GN_GPIO_BUTTON_WPS, +		.active_low = 1, +	}, +	{ +		.desc       = "reset", +		.type       = EV_KEY, +		.code       = KEY_RESTART, +		.threshold  = 10, +		.gpio       = WCR150GN_GPIO_BUTTON_RESET, +		.active_low = 1, +	} +}; +  #ifdef CONFIG_MTD_PARTITIONS  static struct mtd_partition wcr150gn_partitions[] = {  	{ @@ -33,18 +71,24 @@ static struct mtd_partition wcr150gn_partitions[] = {  		.name	= "config",  		.offset	= 0x030000,  		.size	= 0x040000, +		.mask_flags = MTD_WRITEABLE,  	}, {  		.name	= "factory",  		.offset	= 0x040000,  		.size	= 0x050000, +		.mask_flags = MTD_WRITEABLE,  	}, {  		.name	= "kernel",  		.offset	= 0x050000, -		.size	= 0x120000, +		.size   = 0x0d0000,  	}, {  		.name	= "rootfs",  		.offset	= 0x120000, -		.size	= 0x400000, +		.size   = 0x2e0000, +	}, { +		.name   = "firmware", +		.offset = 0x050000, +		.size   = 0x3b0000,  	}  };  #endif /* CONFIG_MTD_PARTITIONS */ @@ -60,10 +104,16 @@ static void __init wcr150gn_init(void)  {  	rt305x_gpio_init(RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT);  	rt305x_register_flash(0, &wcr150gn_flash_data); +	ramips_register_gpio_leds(-1, ARRAY_SIZE(wcr150gn_leds_gpio), +				  wcr150gn_leds_gpio); +	ramips_register_gpio_buttons(-1, WCR150GN_BUTTONS_POLL_INTERVAL, +				     ARRAY_SIZE(wcr150gn_gpio_buttons), +				     wcr150gn_gpio_buttons);  	rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_LLLLW;  	rt305x_register_ethernet();  	rt305x_register_wifi();  	rt305x_register_wdt(); +	rt305x_register_usb();  }  MIPS_MACHINE(RAMIPS_MACH_WCR150GN, "WCR150GN", "Sparklan WCR-150GN", diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 7d32155dc..7f0ef00e4 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -202,15 +202,8 @@ define Image/Build/Profile/MOFI35003GN  	$(call Image/Build/Template/GENERIC_8M,$(1),mofi3500-3gn,MOFI3500-3GN)  endef -mtdlayout_wcr150gn=mtdparts=physmap-flash.0:192k(bootloader)ro,64k(config),64k(factory),832k(kernel),2944k(rootfs),3776k@0x50000(firmware) -mtd_wcr150gn_kernel_part_size=851968 -mtd_wcr150gn_rootfs_part_size=3014656 -define Image/Build/Template/WCR150GN -	$(call BuildFirmware/Generic,$(1),$(2),board=$(3),mtdlayout_wcr150gn,$(mtd_wcr150gn_kernel_part_size),$(mtd_wcr150gn_rootfs_part_size)) -endef -  define Image/Build/Profile/WCR150GN -	$(call Image/Build/Template/WCR150GN,$(1),wcr150gn,WCR150GN) +	$(call Image/Build/Template/GENERIC_4M,$(1),wcr150gn,WCR150GN)  endef | 
