Author: adrian
Date: Wed Aug  3 13:39:11 2011
New Revision: 224634
URL: http://svn.freebsd.org/changeset/base/224634

Log:
  Add in a dirty hack that allows for AR9280/AR9285/AR9287 embedded
  systems, in the same way that AR9130 embedded systems work.
  
  This isn't -everything- that is required - the PCI glue still
  needs to be taught about the eepromdata hint, along the same
  lines as the AHB glue.
  
  Approved by:  re (kib, blanket)

Modified:
  head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c
  head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c
  head/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c

Modified: head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c     Wed Aug  3 13:36:14 
2011        (r224633)
+++ head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c     Wed Aug  3 13:39:11 
2011        (r224634)
@@ -28,6 +28,8 @@
 #include "ar5416/ar5416reg.h"
 #include "ar5416/ar5416phy.h"
 
+#include "ar9001/ar9130_eeprom.h"
+
 #include "ar9002/ar9280v1.ini"
 #include "ar9002/ar9280v2.ini"
 #include "ar9002/ar9280_olc.h"
@@ -191,6 +193,12 @@ ar9280Attach(uint16_t devid, HAL_SOFTC s
        AH5416(ah)->ah_rx_chainmask     = AR9280_DEFAULT_RXCHAINMASK;
        AH5416(ah)->ah_tx_chainmask     = AR9280_DEFAULT_TXCHAINMASK;
 
+       if (eepromdata) {
+               AH_PRIVATE((ah))->ah_eepromRead = ar9130EepromRead;
+               AH_PRIVATE((ah))->ah_eepromWrite = NULL;
+               ah->ah_eepromdata = eepromdata;
+       }
+
        if (!ar5416SetResetReg(ah, HAL_RESET_POWER_ON)) {
                /* reset chip */
                HALDEBUG(ah, HAL_DEBUG_ANY, "%s: couldn't reset chip\n",

Modified: head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c     Wed Aug  3 13:36:14 
2011        (r224633)
+++ head/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c     Wed Aug  3 13:39:11 
2011        (r224634)
@@ -29,6 +29,8 @@
 #include "ar5416/ar5416reg.h"
 #include "ar5416/ar5416phy.h"
 
+#include "ar9001/ar9130_eeprom.h"
+
 #include "ar9002/ar9285.ini"
 #include "ar9002/ar9285v2.ini"
 #include "ar9002/ar9280v2.ini"         /* XXX ini for tx/rx gain */
@@ -153,7 +155,13 @@ ar9285Attach(uint16_t devid, HAL_SOFTC s
        AH5416(ah)->ah_writeIni         = ar9285WriteIni;
        AH5416(ah)->ah_rx_chainmask     = AR9285_DEFAULT_RXCHAINMASK;
        AH5416(ah)->ah_tx_chainmask     = AR9285_DEFAULT_TXCHAINMASK;
-       
+
+       if (eepromdata) {
+               AH_PRIVATE((ah))->ah_eepromRead = ar9130EepromRead;
+               AH_PRIVATE((ah))->ah_eepromWrite = NULL;
+               ah->ah_eepromdata = eepromdata;
+       }
+
        ahp->ah_maxTxTrigLev            = MAX_TX_FIFO_THRESHOLD >> 1;
 
        if (!ar5416SetResetReg(ah, HAL_RESET_POWER_ON)) {

Modified: head/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c     Wed Aug  3 13:36:14 
2011        (r224633)
+++ head/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c     Wed Aug  3 13:39:11 
2011        (r224634)
@@ -30,6 +30,8 @@
 #include "ar5416/ar5416reg.h"
 #include "ar5416/ar5416phy.h"
 
+#include "ar9001/ar9130_eeprom.h"
+
 #include "ar9002/ar9287_cal.h"
 #include "ar9002/ar9287_reset.h"
 #include "ar9002/ar9287_olc.h"
@@ -168,6 +170,12 @@ ar9287Attach(uint16_t devid, HAL_SOFTC s
        AH5416(ah)->ah_rx_chainmask     = AR9287_DEFAULT_RXCHAINMASK;
        AH5416(ah)->ah_tx_chainmask     = AR9287_DEFAULT_TXCHAINMASK;
 
+       if (eepromdata) {
+               AH_PRIVATE((ah))->ah_eepromRead = ar9130EepromRead;
+               AH_PRIVATE((ah))->ah_eepromWrite = NULL;
+               ah->ah_eepromdata = eepromdata;
+       }
+
        if (!ar5416SetResetReg(ah, HAL_RESET_POWER_ON)) {
                /* reset chip */
                HALDEBUG(ah, HAL_DEBUG_ANY, "%s: couldn't reset chip\n",
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to