Ticket #8271: trunk_orion_wrt350nv2_2.6.32_gpio.patch

File trunk_orion_wrt350nv2_2.6.32_gpio.patch, 5.1 KB (added by maddes, 7 years ago)

-p0 patch for trunk, gpio for WRT350Nv2 (orion) with Backfire kernel 2.6.32

  • target/linux/orion/patches-2.6.32/090-wrt350nv2_gpio_leds_buttons.patch

     
    1010 #include <net/dsa.h> 
    1111 #include <asm/mach-types.h> 
    1212 #include <asm/gpio.h> 
    13 @@ -24,6 +27,80 @@ 
     13@@ -24,6 +27,82 @@ 
    1414 #include "common.h" 
    1515 #include "mpp.h" 
    1616  
     
    1919+ */ 
    2020+static struct gpio_led wrt350n_v2_led_pins[] = { 
    2121+       { 
    22 +               .name           = "wrt350nv2:green:power", 
    23 +               .gpio           = 0, 
    24 +               .active_low     = 1, 
     22+               .name           = "wrt350nv2:green:power", 
     23+               .gpio           = 0, 
     24+               .active_low     = 1, 
    2525+       }, { 
    26 +               .name           = "wrt350nv2:green:security", 
    27 +               .gpio           = 1, 
    28 +               .active_low     = 1, 
     26+               .name           = "wrt350nv2:green:security", 
     27+               .gpio           = 1, 
     28+               .active_low     = 1, 
    2929+       }, { 
    30 +               .name           = "wrt350nv2:orange:power", 
    31 +               .gpio           = 5, 
    32 +               .active_low     = 1, 
     30+               .name           = "wrt350nv2:orange:power", 
     31+               .gpio           = 5, 
     32+               .active_low     = 1, 
    3333+       }, { 
    34 +               .name           = "wrt350nv2:green:usb", 
    35 +               .gpio           = 6, 
    36 +               .active_low     = 1, 
     34+               .name           = "wrt350nv2:green:usb", 
     35+               .gpio           = 6, 
     36+               .active_low     = 1, 
    3737+       }, { 
    38 +               .name           = "wrt350nv2:green:wireless", 
    39 +               .gpio           = 7, 
    40 +               .active_low     = 1, 
     38+               .name           = "wrt350nv2:green:wireless", 
     39+               .gpio           = 7, 
     40+               .active_low     = 1, 
    4141+       }, 
    4242+}; 
    4343+ 
    4444+static struct gpio_led_platform_data wrt350n_v2_led_data = { 
    45 +       .leds           = wrt350n_v2_led_pins, 
    46 +       .num_leds       = ARRAY_SIZE(wrt350n_v2_led_pins), 
     45+       .leds           = wrt350n_v2_led_pins, 
     46+       .num_leds       = ARRAY_SIZE(wrt350n_v2_led_pins), 
    4747+}; 
    4848+ 
    4949+static struct platform_device wrt350n_v2_leds = { 
    50 +       .name   = "leds-gpio", 
    51 +       .id     = -1, 
    52 +       .dev    = { 
    53 +               .platform_data  = &wrt350n_v2_led_data, 
     50+       .name   = "leds-gpio", 
     51+       .id     = -1, 
     52+       .dev    = { 
     53+               .platform_data  = &wrt350n_v2_led_data, 
    5454+       }, 
    5555+}; 
    5656+ 
     
    5858+ * Buttons attached to GPIO 
    5959+ */ 
    6060+static struct gpio_keys_button wrt350n_v2_buttons[] = { 
    61 +        { 
    62 +                .code           = KEY_RESTART, 
    63 +                .gpio           = 3, 
    64 +                .desc           = "Reset Button", 
    65 +                .active_low     = 1, 
    66 +        }, { 
    67 +                .code           = KEY_WLAN, 
    68 +                .gpio           = 2, 
    69 +                .desc           = "WPS Button", 
    70 +                .active_low     = 1, 
    71 +        }, 
     61+       { 
     62+               .code           = KEY_RESTART, 
     63+               .gpio           = 3, 
     64+               .desc           = "Reset Button", 
     65+               .type           = EV_KEY, 
     66+               .active_low     = 1, 
     67+       }, { 
     68+               .code           = KEY_WPS_BUTTON, 
     69+               .gpio           = 2, 
     70+               .desc           = "WPS Button", 
     71+               .type           = EV_KEY, 
     72+               .active_low     = 1, 
     73+       }, 
    7274+}; 
    7375+ 
    7476+static struct gpio_keys_platform_data wrt350n_v2_button_data = { 
    75 +        .buttons        = wrt350n_v2_buttons, 
    76 +        .nbuttons       = ARRAY_SIZE(wrt350n_v2_buttons), 
     77+       .buttons        = wrt350n_v2_buttons, 
     78+       .nbuttons       = ARRAY_SIZE(wrt350n_v2_buttons), 
    7779+}; 
    7880+ 
    7981+static struct platform_device wrt350n_v2_button_device = { 
    80 +        .name           = "gpio-keys", 
    81 +        .id             = -1, 
    82 +        .num_resources  = 0, 
    83 +        .dev            = { 
    84 +                .platform_data  = &wrt350n_v2_button_data, 
    85 +        }, 
     82+       .name           = "gpio-keys", 
     83+       .id             = -1, 
     84+       .num_resources  = 0, 
     85+       .dev            = { 
     86+               .platform_data  = &wrt350n_v2_button_data, 
     87+       }, 
    8688+}; 
    8789+ 
    8890+/* 
     
    9193 static struct orion5x_mpp_mode wrt350n_v2_mpp_modes[] __initdata = { 
    9294        {  0, MPP_GPIO },               /* Power LED green (0=on) */ 
    9395        {  1, MPP_GPIO },               /* Security LED (0=on) */ 
    94 @@ -140,6 +217,8 @@ static void __init wrt350n_v2_init(void) 
     96@@ -140,6 +219,8 @@ static void __init wrt350n_v2_init(void) 
    9597        orion5x_setup_dev_boot_win(WRT350N_V2_NOR_BOOT_BASE, 
    9698                                   WRT350N_V2_NOR_BOOT_SIZE); 
    9799        platform_device_register(&wrt350n_v2_nor_flash); 
     100+       platform_device_register(&wrt350n_v2_leds); 
    98101+       platform_device_register(&wrt350n_v2_button_device); 
    99 +       platform_device_register(&wrt350n_v2_leds); 
    100102 } 
    101103  
    102104 static int __init wrt350n_v2_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin) 
  • target/linux/orion/patches-2.6.32/100-wrt350nv2_openwrt_partition_map.patch

     
    11--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c 
    22+++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c 
    3 @@ -135,11 +135,11 @@ static struct mtd_partition wrt350n_v2_n 
     3@@ -137,11 +137,11 @@ static struct mtd_partition wrt350n_v2_n 
    44        { 
    55                .name           = "kernel", 
    66                .offset         = 0x00000000, 
     
    1515        }, { 
    1616                .name           = "lang", 
    1717                .offset         = 0x00760000, 
    18 @@ -152,6 +152,14 @@ static struct mtd_partition wrt350n_v2_n 
     18@@ -154,6 +154,14 @@ static struct mtd_partition wrt350n_v2_n 
    1919                .name           = "u-boot", 
    2020                .offset         = 0x007c0000, 
    2121                .size           = 0x00040000,