mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-02-02 16:41:07 +02:00
backfire: ar71xx: improve the wndr3700 quirks (backport of r23822, r23875)
- move most of the code out of ath9k and instead allow the platform device to specify gpio overrides - fixes 5ghz signal strength issues git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@24921 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
2cfc5db509
commit
e21f26857b
@ -17,7 +17,9 @@
|
||||
|
||||
#include "dev-ap91-pci.h"
|
||||
|
||||
static struct ath9k_platform_data ap91_wmac_data;
|
||||
static struct ath9k_platform_data ap91_wmac_data = {
|
||||
.led_pin = -1,
|
||||
};
|
||||
static char ap91_wmac_mac[6];
|
||||
static int ap91_pci_fixup_enabled;
|
||||
|
||||
|
@ -17,8 +17,12 @@
|
||||
|
||||
#include "dev-ap94-pci.h"
|
||||
|
||||
static struct ath9k_platform_data ap94_wmac0_data;
|
||||
static struct ath9k_platform_data ap94_wmac1_data;
|
||||
static struct ath9k_platform_data ap94_wmac0_data = {
|
||||
.led_pin = -1,
|
||||
};
|
||||
static struct ath9k_platform_data ap94_wmac1_data = {
|
||||
.led_pin = -1,
|
||||
};
|
||||
static char ap94_wmac0_mac[6];
|
||||
static char ap94_wmac1_mac[6];
|
||||
static int ap94_pci_fixup_enabled;
|
||||
@ -127,8 +131,17 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_ATHEROS, PCI_ANY_ID, ap94_pci_fixup);
|
||||
|
||||
void __init ap94_pci_enable_quirk_wndr3700(void)
|
||||
{
|
||||
ap94_wmac0_data.quirk_wndr3700 = 1;
|
||||
ap94_wmac1_data.quirk_wndr3700 = 1;
|
||||
/* WNDR3700 uses GPIO 6-9 for antenna configuration */
|
||||
|
||||
ap94_wmac0_data.led_pin = 5;
|
||||
ap94_wmac0_data.gpio_mask = (0xf << 6);
|
||||
/* 2.4 GHz uses the first fixed antenna group (0, 1, 0, 1) */
|
||||
ap94_wmac0_data.gpio_val = (10 << 6);
|
||||
|
||||
ap94_wmac1_data.led_pin = 5;
|
||||
ap94_wmac1_data.gpio_mask = (0xf << 6);
|
||||
/* 5 GHz uses the second fixed antenna group (0, 1, 1, 0) */
|
||||
ap94_wmac1_data.gpio_val = (6 << 6);
|
||||
}
|
||||
|
||||
void __init ap94_pci_init(u8 *cal_data0, u8 *mac_addr0,
|
||||
|
@ -22,7 +22,9 @@
|
||||
|
||||
#include "dev-ar913x-wmac.h"
|
||||
|
||||
static struct ath9k_platform_data ar913x_wmac_data;
|
||||
static struct ath9k_platform_data ar913x_wmac_data = {
|
||||
.led_pin = -1,
|
||||
};
|
||||
static char ar913x_wmac_mac[6];
|
||||
|
||||
static struct resource ar913x_wmac_resources[] = {
|
||||
|
@ -1,11 +1,19 @@
|
||||
/*
|
||||
* ath9k platform data defines
|
||||
* Copyright (c) 2008 Atheros Communications Inc.
|
||||
* Copyright (c) 2009 Gabor Juhos <juhosg@openwrt.org>
|
||||
* Copyright (c) 2009 Imre Kaloz <kaloz@openwrt.org>
|
||||
*
|
||||
* Copyright (C) 2008 Gabor Juhos <juhosg@openwrt.org>
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 as published
|
||||
* by the Free Software Foundation.
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_ATH9K_PLATFORM_H
|
||||
@ -17,7 +25,9 @@ struct ath9k_platform_data {
|
||||
u16 eeprom_data[ATH9K_PLAT_EEP_MAX_WORDS];
|
||||
u8 *macaddr;
|
||||
|
||||
unsigned long quirk_wndr3700:1;
|
||||
int led_pin;
|
||||
u32 gpio_mask;
|
||||
u32 gpio_val;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_ATH9K_PLATFORM_H */
|
||||
|
Loading…
x
Reference in New Issue
Block a user