X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/1a883422c6be1bf3bf5fb4b2cd64b6371eec3683..HEAD:/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-pwh2004.c diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-pwh2004.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-pwh2004.c index 090a79768..5baf32a49 100644 --- a/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-pwh2004.c +++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/mach-pwh2004.c @@ -10,9 +10,6 @@ #include #include -#include -#include -#include #include #include @@ -25,43 +22,8 @@ #define PWH2004_GPIO_BUTTON_WPS 12 #define PWH2004_GPIO_LED_POWER 9 #define PWH2004_GPIO_LED_WIFI 14 -#define PWH2004_BUTTONS_POLL_INTERVAL 20 - -#ifdef CONFIG_MTD_PARTITIONS -static struct mtd_partition pwh2004_partitions[] = { - { - .name = "u-boot", - .offset = 0, - .size = 0x030000, - .mask_flags = MTD_WRITEABLE, - }, { - .name = "config", - .offset = 0x030000, - .size = 0x010000, - .mask_flags = MTD_WRITEABLE, - }, { - .name = "factory", - .offset = 0x040000, - .size = 0x010000, - .mask_flags = MTD_WRITEABLE, - }, { - .name = "kernel", - .offset = 0x050000, - .size = 0x7b0000, - }, { - .name = "openwrt", - .offset = 0x050000, - .size = 0x7b0000, - } -}; -#endif /* CONFIG_MTD_PARTITIONS */ - -static struct physmap_flash_data pwh2004_flash_data = { -#ifdef CONFIG_MTD_PARTITIONS - .nr_parts = ARRAY_SIZE(pwh2004_partitions), - .parts = pwh2004_partitions, -#endif -}; +#define PWH2004_KEYS_POLL_INTERVAL 20 +#define PWH2004_KEYS_DEBOUNCE_INTERVAL (3 * PWH2004_KEYS_POLL_INTERVAL) static struct gpio_led pwh2004_leds_gpio[] __initdata = { { @@ -75,12 +37,12 @@ static struct gpio_led pwh2004_leds_gpio[] __initdata = { } }; -static struct gpio_button pwh2004_gpio_buttons[] __initdata = { +static struct gpio_keys_button pwh2004_gpio_buttons[] __initdata = { { .desc = "wps", .type = EV_KEY, .code = KEY_RESTART, - .threshold = 3, + .debounce_interval = PWH2004_KEYS_DEBOUNCE_INTERVAL, .gpio = PWH2004_GPIO_BUTTON_WPS, .active_low = 1, } @@ -89,14 +51,18 @@ static struct gpio_button pwh2004_gpio_buttons[] __initdata = { static void __init pwh2004_init(void) { rt305x_gpio_init(RT305X_GPIO_MODE_GPIO << RT305X_GPIO_MODE_UART0_SHIFT); - rt305x_register_flash(0, &pwh2004_flash_data); + + rt305x_register_flash(0); + ramips_register_gpio_leds(-1, ARRAY_SIZE(pwh2004_leds_gpio), pwh2004_leds_gpio); - ramips_register_gpio_buttons(-1, PWH2004_BUTTONS_POLL_INTERVAL, + ramips_register_gpio_buttons(-1, PWH2004_KEYS_POLL_INTERVAL, ARRAY_SIZE(pwh2004_gpio_buttons), pwh2004_gpio_buttons); + rt305x_esw_data.vlan_config = RT305X_ESW_VLAN_CONFIG_LLLLW; rt305x_register_ethernet(); rt305x_register_wifi(); + rt305x_register_wdt(); } MIPS_MACHINE(RAMIPS_MACH_PWH2004, "PWH2004", "Prolink PWH2004",