From 6dc6d56e65153c9b3020b66778fe5b847eda4a21 Mon Sep 17 00:00:00 2001 From: hauke Date: Sun, 6 Jun 2010 10:51:52 +0000 Subject: orion: Update Orion in trunk to kernel 2.6.34. Was flashed on WRT350Nv2, booted and is running for several days. Closes #7405 Thank you maddes for your patch. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21682 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../090-wrt350nv2_gpio_leds_buttons.patch | 102 +++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 target/linux/orion/patches-2.6.32/090-wrt350nv2_gpio_leds_buttons.patch (limited to 'target/linux/orion/patches-2.6.32/090-wrt350nv2_gpio_leds_buttons.patch') diff --git a/target/linux/orion/patches-2.6.32/090-wrt350nv2_gpio_leds_buttons.patch b/target/linux/orion/patches-2.6.32/090-wrt350nv2_gpio_leds_buttons.patch new file mode 100644 index 000000000..30f75fc8a --- /dev/null +++ b/target/linux/orion/patches-2.6.32/090-wrt350nv2_gpio_leds_buttons.patch @@ -0,0 +1,102 @@ +--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c ++++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c +@@ -15,6 +15,9 @@ + #include + #include + #include ++#include ++#include ++#include + #include + #include + #include +@@ -24,6 +27,80 @@ + #include "common.h" + #include "mpp.h" + ++/* ++ * LEDs attached to GPIO ++ */ ++static struct gpio_led wrt350n_v2_led_pins[] = { ++ { ++ .name = "wrt350nv2:green:power", ++ .gpio = 0, ++ .active_low = 1, ++ }, { ++ .name = "wrt350nv2:green:security", ++ .gpio = 1, ++ .active_low = 1, ++ }, { ++ .name = "wrt350nv2:orange:power", ++ .gpio = 5, ++ .active_low = 1, ++ }, { ++ .name = "wrt350nv2:green:usb", ++ .gpio = 6, ++ .active_low = 1, ++ }, { ++ .name = "wrt350nv2:green:wireless", ++ .gpio = 7, ++ .active_low = 1, ++ }, ++}; ++ ++static struct gpio_led_platform_data wrt350n_v2_led_data = { ++ .leds = wrt350n_v2_led_pins, ++ .num_leds = ARRAY_SIZE(wrt350n_v2_led_pins), ++}; ++ ++static struct platform_device wrt350n_v2_leds = { ++ .name = "leds-gpio", ++ .id = -1, ++ .dev = { ++ .platform_data = &wrt350n_v2_led_data, ++ }, ++}; ++ ++/* ++ * Buttons attached to GPIO ++ */ ++static struct gpio_keys_button wrt350n_v2_buttons[] = { ++ { ++ .code = KEY_RESTART, ++ .gpio = 3, ++ .desc = "Reset Button", ++ .active_low = 1, ++ }, { ++ .code = KEY_WLAN, ++ .gpio = 2, ++ .desc = "WPS Button", ++ .active_low = 1, ++ }, ++}; ++ ++static struct gpio_keys_platform_data wrt350n_v2_button_data = { ++ .buttons = wrt350n_v2_buttons, ++ .nbuttons = ARRAY_SIZE(wrt350n_v2_buttons), ++}; ++ ++static struct platform_device wrt350n_v2_button_device = { ++ .name = "gpio-keys", ++ .id = -1, ++ .num_resources = 0, ++ .dev = { ++ .platform_data = &wrt350n_v2_button_data, ++ }, ++}; ++ ++/* ++ * General setup ++ */ + static struct orion5x_mpp_mode wrt350n_v2_mpp_modes[] __initdata = { + { 0, MPP_GPIO }, /* Power LED green (0=on) */ + { 1, MPP_GPIO }, /* Security LED (0=on) */ +@@ -140,6 +217,8 @@ static void __init wrt350n_v2_init(void) + orion5x_setup_dev_boot_win(WRT350N_V2_NOR_BOOT_BASE, + WRT350N_V2_NOR_BOOT_SIZE); + platform_device_register(&wrt350n_v2_nor_flash); ++ platform_device_register(&wrt350n_v2_button_device); ++ platform_device_register(&wrt350n_v2_leds); + } + + static int __init wrt350n_v2_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) -- cgit v1.2.3