svn commit: r224634 - head/sys/dev/ath/ath_hal/ar9002

Adrian Chadd adrian at FreeBSD.org
Wed Aug 3 13:39:12 UTC 2011


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",


More information about the svn-src-head mailing list