mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-19 07:39:45 +02:00
ar71xx: add helper function to setup ath9k LED/GPIO on the AP94 based boards
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24649 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
133f6e8495
commit
3e6bf9586d
@ -54,19 +54,30 @@ static int ap94_pci_plat_dev_init(struct pci_dev *dev)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init ap94_pci_enable_quirk_wndr3700(void)
|
__init void ap94_pci_setup_wmac_led_pin(unsigned wmac, int pin)
|
||||||
{
|
{
|
||||||
/* WNDR3700 uses GPIO 6-9 for antenna configuration */
|
switch (wmac) {
|
||||||
|
case 0:
|
||||||
|
ap94_wmac0_data.led_pin = pin;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
ap94_wmac1_data.led_pin = pin;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ap94_wmac0_data.led_pin = 5;
|
__init void ap94_pci_setup_wmac_gpio(unsigned wmac, u32 mask, u32 val)
|
||||||
ap94_wmac0_data.gpio_mask = (0xf << 6);
|
{
|
||||||
/* 2.4 GHz uses the first fixed antenna group (0, 1, 0, 1) */
|
switch (wmac) {
|
||||||
ap94_wmac0_data.gpio_val = (10 << 6);
|
case 0:
|
||||||
|
ap94_wmac0_data.gpio_mask = mask;
|
||||||
ap94_wmac1_data.led_pin = 5;
|
ap94_wmac0_data.gpio_val = val;
|
||||||
ap94_wmac1_data.gpio_mask = (0xf << 6);
|
break;
|
||||||
/* 5 GHz uses the second fixed antenna group (0, 1, 1, 0) */
|
case 1:
|
||||||
ap94_wmac1_data.gpio_val = (6 << 6);
|
ap94_wmac1_data.gpio_mask = mask;
|
||||||
|
ap94_wmac1_data.gpio_val = val;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void __init ap94_pci_init(u8 *cal_data0, u8 *mac_addr0,
|
void __init ap94_pci_init(u8 *cal_data0, u8 *mac_addr0,
|
||||||
|
@ -15,13 +15,16 @@
|
|||||||
void ap94_pci_init(u8 *cal_data0, u8 *mac_addr0,
|
void ap94_pci_init(u8 *cal_data0, u8 *mac_addr0,
|
||||||
u8 *cal_data1, u8 *mac_addr1) __init;
|
u8 *cal_data1, u8 *mac_addr1) __init;
|
||||||
|
|
||||||
void ap94_pci_enable_quirk_wndr3700(void) __init;
|
void ap94_pci_setup_wmac_led_pin(unsigned wmac, int pin) __init;
|
||||||
|
void ap94_pci_setup_wmac_gpio(unsigned wmac, u32 mask, u32 val) __init;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
static inline void ap94_pci_init(u8 *cal_data0, u8 *mac_addr0,
|
static inline void ap94_pci_init(u8 *cal_data0, u8 *mac_addr0,
|
||||||
u8 *cal_data1, u8 *mac_addr1) {}
|
u8 *cal_data1, u8 *mac_addr1) {}
|
||||||
|
|
||||||
static inline void ap94_pci_enable_quirk_wndr3700(void) {}
|
static inline void ap94_pci_setup_wmac_led_pin(unsigned wmac, int pin) {};
|
||||||
|
static inline void ap94_pci_setup_wmac_gpio(unsigned wmac,
|
||||||
|
u32 mask, u32 val) {};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _AR71XX_DEV_AP94_PCI_H */
|
#endif /* _AR71XX_DEV_AP94_PCI_H */
|
||||||
|
@ -203,7 +203,15 @@ static void __init wndr3700_setup(void)
|
|||||||
platform_device_register(&wndr3700_rtl8366s_device);
|
platform_device_register(&wndr3700_rtl8366s_device);
|
||||||
platform_device_register_simple("wndr3700-led-usb", -1, NULL, 0);
|
platform_device_register_simple("wndr3700-led-usb", -1, NULL, 0);
|
||||||
|
|
||||||
ap94_pci_enable_quirk_wndr3700();
|
ap94_pci_setup_wmac_led_pin(0, 5);
|
||||||
|
ap94_pci_setup_wmac_led_pin(1, 5);
|
||||||
|
|
||||||
|
/* 2.4 GHz uses the first fixed antenna group (1, 0, 1, 0) */
|
||||||
|
ap94_pci_setup_wmac_gpio(0, (0xf << 6), (0xa << 6));
|
||||||
|
|
||||||
|
/* 5 GHz uses the second fixed antenna group (0, 1, 1, 0) */
|
||||||
|
ap94_pci_setup_wmac_gpio(1, (0xf << 6), (0x6 << 6));
|
||||||
|
|
||||||
ap94_pci_init(art + WNDR3700_CALDATA0_OFFSET,
|
ap94_pci_init(art + WNDR3700_CALDATA0_OFFSET,
|
||||||
art + WNDR3700_WMAC0_MAC_OFFSET,
|
art + WNDR3700_WMAC0_MAC_OFFSET,
|
||||||
art + WNDR3700_CALDATA1_OFFSET,
|
art + WNDR3700_CALDATA1_OFFSET,
|
||||||
|
Loading…
Reference in New Issue
Block a user