mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
mac80211: add initial support for AR9330
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27084 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
index 05c2ba2..ade8655 100644
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
|
||||
@@ -251,6 +251,15 @@ static void ath9k_hw_read_revisions(struct ath_hw *ah)
|
||||
case AR5416_AR9100_DEVID:
|
||||
ah->hw_version.macVersion = AR_SREV_VERSION_9100;
|
||||
break;
|
||||
+ case AR9300_DEVID_AR9330:
|
||||
+ ah->hw_version.macVersion = AR_SREV_VERSION_9330;
|
||||
+ if (ah->get_mac_revision) {
|
||||
+ ah->hw_version.macRev = ah->get_mac_revision();
|
||||
+ } else {
|
||||
+ val = REG_READ(ah, AR_SREV);
|
||||
+ ah->hw_version.macRev = MS(val, AR_SREV_REVISION2);
|
||||
+ }
|
||||
+ return;
|
||||
case AR9300_DEVID_AR9340:
|
||||
ah->hw_version.macVersion = AR_SREV_VERSION_9340;
|
||||
val = REG_READ(ah, AR_SREV);
|
||||
diff --git a/drivers/net/wireless/ath/ath9k/hw.h b/drivers/net/wireless/ath/ath9k/hw.h
|
||||
index 9f23451..8d9ac49 100644
|
||||
--- a/drivers/net/wireless/ath/ath9k/hw.h
|
||||
+++ b/drivers/net/wireless/ath/ath9k/hw.h
|
||||
@@ -863,6 +863,7 @@ struct ath_hw {
|
||||
u32 ent_mode;
|
||||
|
||||
bool is_clk_25mhz;
|
||||
+ int (*get_mac_revision)(void);
|
||||
};
|
||||
|
||||
struct ath_bus_ops {
|
||||
diff --git a/drivers/net/wireless/ath/ath9k/init.c b/drivers/net/wireless/ath/ath9k/init.c
|
||||
index 45c585a..c2defa2 100644
|
||||
--- a/drivers/net/wireless/ath/ath9k/init.c
|
||||
+++ b/drivers/net/wireless/ath/ath9k/init.c
|
||||
@@ -575,6 +575,7 @@ static int ath9k_init_softc(u16 devid, struct ath_softc *sc, u16 subsysid,
|
||||
sc->sc_ah->gpio_val = pdata->gpio_val;
|
||||
sc->sc_ah->led_pin = pdata->led_pin;
|
||||
ah->is_clk_25mhz = pdata->is_clk_25mhz;
|
||||
+ ah->get_mac_revision = pdata->get_mac_revision;
|
||||
}
|
||||
|
||||
common = ath9k_hw_common(ah);
|
||||
diff --git a/include/linux/ath9k_platform.h b/include/linux/ath9k_platform.h
|
||||
index 60a7c49..c207607 100644
|
||||
--- a/include/linux/ath9k_platform.h
|
||||
+++ b/include/linux/ath9k_platform.h
|
||||
@@ -30,6 +30,7 @@ struct ath9k_platform_data {
|
||||
u32 gpio_val;
|
||||
|
||||
bool is_clk_25mhz;
|
||||
+ int (*get_mac_revision)(void);
|
||||
};
|
||||
|
||||
#endif /* _LINUX_ATH9K_PLATFORM_H */
|
||||
|
||||
Reference in New Issue
Block a user