Changeset 24649


Ignore:
Timestamp:
2010-12-17T18:10:19+01:00 (7 years ago)
Author:
juhosg
Message:

ar71xx: add helper function to setup ath9k LED/GPIO on the AP94 based boards

Location:
trunk/target/linux/ar71xx/files/arch/mips/ar71xx
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap94-pci.c

    r23975 r24649  
    5555} 
    5656 
    57 void __init ap94_pci_enable_quirk_wndr3700(void) 
     57__init void ap94_pci_setup_wmac_led_pin(unsigned wmac, int pin) 
    5858{ 
    59         /* WNDR3700 uses GPIO 6-9 for antenna configuration */ 
     59        switch (wmac) { 
     60        case 0: 
     61                ap94_wmac0_data.led_pin = pin; 
     62                break; 
     63        case 1: 
     64                ap94_wmac1_data.led_pin = pin; 
     65                break; 
     66        } 
     67} 
    6068 
    61         ap94_wmac0_data.led_pin = 5; 
    62         ap94_wmac0_data.gpio_mask = (0xf << 6); 
    63         /* 2.4 GHz uses the first fixed antenna group (0, 1, 0, 1) */ 
    64         ap94_wmac0_data.gpio_val = (10 << 6); 
    65  
    66         ap94_wmac1_data.led_pin = 5; 
    67         ap94_wmac1_data.gpio_mask = (0xf << 6); 
    68         /* 5 GHz uses the second fixed antenna group (0, 1, 1, 0) */ 
    69         ap94_wmac1_data.gpio_val = (6 << 6); 
     69__init void ap94_pci_setup_wmac_gpio(unsigned wmac, u32 mask, u32 val) 
     70{ 
     71        switch (wmac) { 
     72        case 0: 
     73                ap94_wmac0_data.gpio_mask = mask; 
     74                ap94_wmac0_data.gpio_val = val; 
     75                break; 
     76        case 1: 
     77                ap94_wmac1_data.gpio_mask = mask; 
     78                ap94_wmac1_data.gpio_val = val; 
     79                break; 
     80        } 
    7081} 
    7182 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/dev-ap94-pci.h

    r19565 r24649  
    1616                   u8 *cal_data1, u8 *mac_addr1) __init; 
    1717 
    18 void ap94_pci_enable_quirk_wndr3700(void) __init; 
     18void ap94_pci_setup_wmac_led_pin(unsigned wmac, int pin) __init; 
     19void ap94_pci_setup_wmac_gpio(unsigned wmac, u32 mask, u32 val) __init; 
    1920 
    2021#else 
     
    2223                                 u8 *cal_data1, u8 *mac_addr1) {} 
    2324 
    24 static inline void ap94_pci_enable_quirk_wndr3700(void) {} 
     25static inline void ap94_pci_setup_wmac_led_pin(unsigned wmac, int pin) {}; 
     26static inline void ap94_pci_setup_wmac_gpio(unsigned wmac, 
     27                                            u32 mask, u32 val) {}; 
    2528#endif 
    2629 
  • trunk/target/linux/ar71xx/files/arch/mips/ar71xx/mach-wndr3700.c

    r23975 r24649  
    204204        platform_device_register_simple("wndr3700-led-usb", -1, NULL, 0); 
    205205 
    206         ap94_pci_enable_quirk_wndr3700(); 
     206        ap94_pci_setup_wmac_led_pin(0, 5); 
     207        ap94_pci_setup_wmac_led_pin(1, 5); 
     208 
     209        /* 2.4 GHz uses the first fixed antenna group (1, 0, 1, 0) */ 
     210        ap94_pci_setup_wmac_gpio(0, (0xf << 6), (0xa << 6)); 
     211 
     212        /* 5 GHz uses the second fixed antenna group (0, 1, 1, 0) */ 
     213        ap94_pci_setup_wmac_gpio(1, (0xf << 6), (0x6 << 6)); 
     214 
    207215        ap94_pci_init(art + WNDR3700_CALDATA0_OFFSET, 
    208216                      art + WNDR3700_WMAC0_MAC_OFFSET, 
Note: See TracChangeset for help on using the changeset viewer.