ar9160_attach.c (188973) | ar9160_attach.c (188979) |
---|---|
1/* 2 * Copyright (c) 2008 Sam Leffler, Errno Consulting 3 * Copyright (c) 2008 Atheros Communications, Inc. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 * | 1/* 2 * Copyright (c) 2008 Sam Leffler, Errno Consulting 3 * Copyright (c) 2008 Atheros Communications, Inc. 4 * 5 * Permission to use, copy, modify, and/or distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 * |
17 * $FreeBSD: head/sys/dev/ath/ath_hal/ar5416/ar9160_attach.c 188973 2009-02-24 00:03:14Z sam $ | 17 * $FreeBSD: head/sys/dev/ath/ath_hal/ar5416/ar9160_attach.c 188979 2009-02-24 01:07:06Z sam $ |
18 */ 19#include "opt_ah.h" 20 21#include "ah.h" 22#include "ah_internal.h" 23#include "ah_devid.h" 24 25#include "ar5416/ar5416.h" --- 117 unchanged lines hidden (view full) --- 143 HALDEBUG(ah, HAL_DEBUG_ATTACH, 144 "%s: ID 0x%x VERSION 0x%x TYPE 0x%x REVISION 0x%x\n", 145 __func__, MS(val, AR_XSREV_ID), MS(val, AR_XSREV_VERSION), 146 MS(val, AR_XSREV_TYPE), MS(val, AR_XSREV_REVISION)); 147 /* NB: include chip type to differentiate from pre-Sowl versions */ 148 AH_PRIVATE(ah)->ah_macVersion = 149 (val & AR_XSREV_VERSION) >> AR_XSREV_TYPE_S; 150 AH_PRIVATE(ah)->ah_macRev = MS(val, AR_XSREV_REVISION); | 18 */ 19#include "opt_ah.h" 20 21#include "ah.h" 22#include "ah_internal.h" 23#include "ah_devid.h" 24 25#include "ar5416/ar5416.h" --- 117 unchanged lines hidden (view full) --- 143 HALDEBUG(ah, HAL_DEBUG_ATTACH, 144 "%s: ID 0x%x VERSION 0x%x TYPE 0x%x REVISION 0x%x\n", 145 __func__, MS(val, AR_XSREV_ID), MS(val, AR_XSREV_VERSION), 146 MS(val, AR_XSREV_TYPE), MS(val, AR_XSREV_REVISION)); 147 /* NB: include chip type to differentiate from pre-Sowl versions */ 148 AH_PRIVATE(ah)->ah_macVersion = 149 (val & AR_XSREV_VERSION) >> AR_XSREV_TYPE_S; 150 AH_PRIVATE(ah)->ah_macRev = MS(val, AR_XSREV_REVISION); |
151 /* XXX extract pcie info */ | 151 AH_PRIVATE(ah)->ah_ispcie = (val & AR_XSREV_TYPE_HOST_MODE) == 0; |
152 153 /* setup common ini data; rf backends handle remainder */ 154 HAL_INI_INIT(&ahp->ah_ini_modes, ar9160Modes, 6); 155 HAL_INI_INIT(&ahp->ah_ini_common, ar9160Common, 2); 156 157 HAL_INI_INIT(&AH5416(ah)->ah_ini_bb_rfgain, ar9160BB_RfGain, 3); 158 HAL_INI_INIT(&AH5416(ah)->ah_ini_bank0, ar9160Bank0, 2); 159 HAL_INI_INIT(&AH5416(ah)->ah_ini_bank1, ar9160Bank1, 2); --- 5 unchanged lines hidden (view full) --- 165 HAL_INI_INIT(&AH5416(ah)->ah_ini_addac, ar9160Addac_1_1, 2); 166 else 167 HAL_INI_INIT(&AH5416(ah)->ah_ini_addac, ar9160Addac, 2); 168 169 ecode = ath_hal_v14EepromAttach(ah); 170 if (ecode != HAL_OK) 171 goto bad; 172 | 152 153 /* setup common ini data; rf backends handle remainder */ 154 HAL_INI_INIT(&ahp->ah_ini_modes, ar9160Modes, 6); 155 HAL_INI_INIT(&ahp->ah_ini_common, ar9160Common, 2); 156 157 HAL_INI_INIT(&AH5416(ah)->ah_ini_bb_rfgain, ar9160BB_RfGain, 3); 158 HAL_INI_INIT(&AH5416(ah)->ah_ini_bank0, ar9160Bank0, 2); 159 HAL_INI_INIT(&AH5416(ah)->ah_ini_bank1, ar9160Bank1, 2); --- 5 unchanged lines hidden (view full) --- 165 HAL_INI_INIT(&AH5416(ah)->ah_ini_addac, ar9160Addac_1_1, 2); 166 else 167 HAL_INI_INIT(&AH5416(ah)->ah_ini_addac, ar9160Addac, 2); 168 169 ecode = ath_hal_v14EepromAttach(ah); 170 if (ecode != HAL_OK) 171 goto bad; 172 |
173 HAL_INI_INIT(&AH5416(ah)->ah_ini_pcieserdes, ar9160PciePhy, 2); 174 ar5416AttachPCIE(ah); 175 |
|
173 if (!ar5416ChipReset(ah, AH_NULL)) { /* reset chip */ 174 HALDEBUG(ah, HAL_DEBUG_ANY, "%s: chip reset failed\n", __func__); 175 ecode = HAL_EIO; 176 goto bad; 177 } 178 179 AH_PRIVATE(ah)->ah_phyRev = OS_REG_READ(ah, AR_PHY_CHIP_ID); 180 --- 125 unchanged lines hidden --- | 176 if (!ar5416ChipReset(ah, AH_NULL)) { /* reset chip */ 177 HALDEBUG(ah, HAL_DEBUG_ANY, "%s: chip reset failed\n", __func__); 178 ecode = HAL_EIO; 179 goto bad; 180 } 181 182 AH_PRIVATE(ah)->ah_phyRev = OS_REG_READ(ah, AR_PHY_CHIP_ID); 183 --- 125 unchanged lines hidden --- |