Home | History | Annotate | Line # | Download | only in ic
arn5416reg.h revision 1.1.4.2
      1  1.1.4.2  tls /*	$NetBSD: arn5416reg.h,v 1.1.4.2 2013/06/23 06:20:17 tls Exp $	*/
      2  1.1.4.2  tls /*	$OpenBSD: ar5416reg.h,v 1.5 2012/10/20 09:54:20 stsp Exp $	*/
      3  1.1.4.2  tls 
      4  1.1.4.2  tls /*-
      5  1.1.4.2  tls  * Copyright (c) 2009 Damien Bergamini <damien.bergamini (at) free.fr>
      6  1.1.4.2  tls  * Copyright (c) 2008-2009 Atheros Communications Inc.
      7  1.1.4.2  tls  *
      8  1.1.4.2  tls  * Permission to use, copy, modify, and/or distribute this software for any
      9  1.1.4.2  tls  * purpose with or without fee is hereby granted, provided that the above
     10  1.1.4.2  tls  * copyright notice and this permission notice appear in all copies.
     11  1.1.4.2  tls  *
     12  1.1.4.2  tls  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
     13  1.1.4.2  tls  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
     14  1.1.4.2  tls  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
     15  1.1.4.2  tls  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     16  1.1.4.2  tls  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
     17  1.1.4.2  tls  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
     18  1.1.4.2  tls  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     19  1.1.4.2  tls  */
     20  1.1.4.2  tls 
     21  1.1.4.2  tls #ifndef _ARN5416REG_H_
     22  1.1.4.2  tls #define _ARN5416REG_H_
     23  1.1.4.2  tls 
     24  1.1.4.2  tls #define AR5416_MAX_CHAINS	3
     25  1.1.4.2  tls 
     26  1.1.4.2  tls #define AR5416_PHY_CCA_MAX_GOOD_VALUE	( -85)
     27  1.1.4.2  tls 
     28  1.1.4.2  tls /*
     29  1.1.4.2  tls  * ROM layout used by AR5416, AR9160 and AR9280.
     30  1.1.4.2  tls  */
     31  1.1.4.2  tls #define AR5416_EEP_START_LOC		256
     32  1.1.4.2  tls #define AR5416_NUM_5G_CAL_PIERS		8
     33  1.1.4.2  tls #define AR5416_NUM_2G_CAL_PIERS		4
     34  1.1.4.2  tls #define AR5416_NUM_5G_20_TARGET_POWERS	8
     35  1.1.4.2  tls #define AR5416_NUM_5G_40_TARGET_POWERS	8
     36  1.1.4.2  tls #define AR5416_NUM_2G_CCK_TARGET_POWERS	3
     37  1.1.4.2  tls #define AR5416_NUM_2G_20_TARGET_POWERS	4
     38  1.1.4.2  tls #define AR5416_NUM_2G_40_TARGET_POWERS	4
     39  1.1.4.2  tls #define AR5416_NUM_CTLS			24
     40  1.1.4.2  tls #define AR5416_NUM_BAND_EDGES		8
     41  1.1.4.2  tls #define AR5416_NUM_PD_GAINS		4
     42  1.1.4.2  tls #define AR5416_PD_GAINS_IN_MASK		4
     43  1.1.4.2  tls #define AR5416_PD_GAIN_ICEPTS		5
     44  1.1.4.2  tls 
     45  1.1.4.2  tls struct ar5416_base_eep_header {
     46  1.1.4.2  tls 	uint16_t	length;
     47  1.1.4.2  tls 	uint16_t	checksum;
     48  1.1.4.2  tls 	uint16_t	version;
     49  1.1.4.2  tls 	uint8_t		opCapFlags;
     50  1.1.4.2  tls 	uint8_t		eepMisc;
     51  1.1.4.2  tls 	uint16_t	regDmn[2];
     52  1.1.4.2  tls 	uint8_t		macAddr[6];
     53  1.1.4.2  tls 	uint8_t		rxMask;
     54  1.1.4.2  tls 	uint8_t		txMask;
     55  1.1.4.2  tls 	uint16_t	rfSilent;
     56  1.1.4.2  tls 	uint16_t	blueToothOptions;
     57  1.1.4.2  tls 	uint16_t	deviceCap;
     58  1.1.4.2  tls 	uint32_t	binBuildNumber;
     59  1.1.4.2  tls 	uint8_t		deviceType;
     60  1.1.4.2  tls 	/* End of common header. */
     61  1.1.4.2  tls 	uint8_t		pwdclkind;
     62  1.1.4.2  tls 	uint8_t		fastClk5g;
     63  1.1.4.2  tls 	uint8_t		divChain;
     64  1.1.4.2  tls 	uint8_t		rxGainType;
     65  1.1.4.2  tls #define AR5416_EEP_RXGAIN_23DB_BACKOFF	0
     66  1.1.4.2  tls #define AR5416_EEP_RXGAIN_13DB_BACKOFF	1
     67  1.1.4.2  tls #define AR5416_EEP_RXGAIN_ORIG		2
     68  1.1.4.2  tls 
     69  1.1.4.2  tls 	uint8_t		dacHiPwrMode_5G;
     70  1.1.4.2  tls 	uint8_t		openLoopPwrCntl;
     71  1.1.4.2  tls 	uint8_t		dacLpMode;
     72  1.1.4.2  tls 	uint8_t		txGainType;
     73  1.1.4.2  tls 	uint8_t		rcChainMask;
     74  1.1.4.2  tls 	uint8_t		desiredScaleCCK;
     75  1.1.4.2  tls 	uint8_t		pwrTableOffset;
     76  1.1.4.2  tls 	uint8_t		frac_n_5g;
     77  1.1.4.2  tls 	uint8_t		futureBase[21];
     78  1.1.4.2  tls } __packed;
     79  1.1.4.2  tls 
     80  1.1.4.2  tls struct ar5416_modal_eep_header {
     81  1.1.4.2  tls 	uint32_t	antCtrlChain[AR5416_MAX_CHAINS];
     82  1.1.4.2  tls 	uint32_t	antCtrlCommon;
     83  1.1.4.2  tls 	uint8_t		antennaGainCh[AR5416_MAX_CHAINS];
     84  1.1.4.2  tls 	uint8_t		switchSettling;
     85  1.1.4.2  tls 	uint8_t		txRxAttenCh[AR5416_MAX_CHAINS];
     86  1.1.4.2  tls 	uint8_t		rxTxMarginCh[AR5416_MAX_CHAINS];
     87  1.1.4.2  tls 	uint8_t		adcDesiredSize;
     88  1.1.4.2  tls 	uint8_t		pgaDesiredSize;
     89  1.1.4.2  tls 	uint8_t		xlnaGainCh[AR5416_MAX_CHAINS];
     90  1.1.4.2  tls 	uint8_t		txEndToXpaOff;
     91  1.1.4.2  tls 	uint8_t		txEndToRxOn;
     92  1.1.4.2  tls 	uint8_t		txFrameToXpaOn;
     93  1.1.4.2  tls 	uint8_t		thresh62;
     94  1.1.4.2  tls 	uint8_t		noiseFloorThreshCh[AR5416_MAX_CHAINS];
     95  1.1.4.2  tls 	uint8_t		xpdGain;
     96  1.1.4.2  tls 	uint8_t		xpd;
     97  1.1.4.2  tls 	uint8_t		iqCalICh[AR5416_MAX_CHAINS];
     98  1.1.4.2  tls 	uint8_t		iqCalQCh[AR5416_MAX_CHAINS];
     99  1.1.4.2  tls 	uint8_t		pdGainOverlap;
    100  1.1.4.2  tls 	uint8_t		ob;
    101  1.1.4.2  tls 	uint8_t		db;
    102  1.1.4.2  tls 	uint8_t		xpaBiasLvl;
    103  1.1.4.2  tls 	uint8_t		pwrDecreaseFor2Chain;
    104  1.1.4.2  tls 	uint8_t		pwrDecreaseFor3Chain;
    105  1.1.4.2  tls 	uint8_t		txFrameToDataStart;
    106  1.1.4.2  tls 	uint8_t		txFrameToPaOn;
    107  1.1.4.2  tls 	uint8_t		ht40PowerIncForPdadc;
    108  1.1.4.2  tls 	uint8_t		bswAtten[AR5416_MAX_CHAINS];
    109  1.1.4.2  tls 	uint8_t		bswMargin[AR5416_MAX_CHAINS];
    110  1.1.4.2  tls 	uint8_t		swSettleHt40;
    111  1.1.4.2  tls 	uint8_t		xatten2Db[AR5416_MAX_CHAINS];
    112  1.1.4.2  tls 	uint8_t		xatten2Margin[AR5416_MAX_CHAINS];
    113  1.1.4.2  tls 	uint8_t		ob_ch1;
    114  1.1.4.2  tls 	uint8_t		db_ch1;
    115  1.1.4.2  tls 	uint8_t		flagBits;
    116  1.1.4.2  tls #define AR5416_EEP_FLAG_USEANT1		0x01
    117  1.1.4.2  tls #define AR5416_EEP_FLAG_FORCEXPAON	0x02
    118  1.1.4.2  tls #define AR5416_EEP_FLAG_LOCALBIAS	0x04
    119  1.1.4.2  tls #define AR5416_EEP_FLAG_FEMBANDSELECT	0x08
    120  1.1.4.2  tls #define AR5416_EEP_FLAG_XLNABUFIN	0x10
    121  1.1.4.2  tls #define AR5416_EEP_FLAG_XLNAISEL_M	0x60
    122  1.1.4.2  tls #define AR5416_EEP_FLAG_XLNAISEL_S	5
    123  1.1.4.2  tls #define AR5416_EEP_FLAG_XLNABUFMODE	0x80
    124  1.1.4.2  tls 
    125  1.1.4.2  tls 	uint8_t		miscBits;
    126  1.1.4.2  tls #define AR5416_EEP_MISC_TX_DAC_SCALE_CCK_M	0x03
    127  1.1.4.2  tls #define AR5416_EEP_MISC_TX_DAC_SCALE_CCK_S	0
    128  1.1.4.2  tls #define AR5416_EEP_MISC_TX_CLIP_M		0xfc
    129  1.1.4.2  tls #define AR5416_EEP_MISC_TX_CLIP_S		2
    130  1.1.4.2  tls 
    131  1.1.4.2  tls 	uint16_t	xpaBiasLvlFreq[3];
    132  1.1.4.2  tls 	uint8_t		futureModal[6];
    133  1.1.4.2  tls 	struct		ar_spur_chan spurChans[AR_EEPROM_MODAL_SPURS];
    134  1.1.4.2  tls } __packed;
    135  1.1.4.2  tls 
    136  1.1.4.2  tls struct ar5416_cal_data_per_freq {
    137  1.1.4.2  tls 	uint8_t	pwrPdg[AR5416_NUM_PD_GAINS][AR5416_PD_GAIN_ICEPTS];
    138  1.1.4.2  tls 	uint8_t	vpdPdg[AR5416_NUM_PD_GAINS][AR5416_PD_GAIN_ICEPTS];
    139  1.1.4.2  tls } __packed;
    140  1.1.4.2  tls 
    141  1.1.4.2  tls struct ar5416_cal_ctl_data {
    142  1.1.4.2  tls 	struct ar_cal_ctl_edges
    143  1.1.4.2  tls 	    ctlEdges[AR5416_MAX_CHAINS][AR5416_NUM_BAND_EDGES];
    144  1.1.4.2  tls } __packed;
    145  1.1.4.2  tls 
    146  1.1.4.2  tls struct ar5416_eeprom {
    147  1.1.4.2  tls 	struct	ar5416_base_eep_header baseEepHeader;
    148  1.1.4.2  tls 	uint8_t custData[64];
    149  1.1.4.2  tls 	struct	ar5416_modal_eep_header modalHeader[2];
    150  1.1.4.2  tls 	uint8_t calFreqPier5G[AR5416_NUM_5G_CAL_PIERS];
    151  1.1.4.2  tls 	uint8_t calFreqPier2G[AR5416_NUM_2G_CAL_PIERS];
    152  1.1.4.2  tls 	struct	ar5416_cal_data_per_freq
    153  1.1.4.2  tls 	    calPierData5G[AR5416_MAX_CHAINS][AR5416_NUM_5G_CAL_PIERS];
    154  1.1.4.2  tls 	struct	ar5416_cal_data_per_freq
    155  1.1.4.2  tls 	    calPierData2G[AR5416_MAX_CHAINS][AR5416_NUM_2G_CAL_PIERS];
    156  1.1.4.2  tls 	struct	ar_cal_target_power_leg
    157  1.1.4.2  tls 	    calTargetPower5G[AR5416_NUM_5G_20_TARGET_POWERS];
    158  1.1.4.2  tls 	struct	ar_cal_target_power_ht
    159  1.1.4.2  tls 	    calTargetPower5GHT20[AR5416_NUM_5G_20_TARGET_POWERS];
    160  1.1.4.2  tls 	struct	ar_cal_target_power_ht
    161  1.1.4.2  tls 	    calTargetPower5GHT40[AR5416_NUM_5G_40_TARGET_POWERS];
    162  1.1.4.2  tls 	struct	ar_cal_target_power_leg
    163  1.1.4.2  tls 	    calTargetPowerCck[AR5416_NUM_2G_CCK_TARGET_POWERS];
    164  1.1.4.2  tls 	struct	ar_cal_target_power_leg
    165  1.1.4.2  tls 	    calTargetPower2G[AR5416_NUM_2G_20_TARGET_POWERS];
    166  1.1.4.2  tls 	struct	ar_cal_target_power_ht
    167  1.1.4.2  tls 	    calTargetPower2GHT20[AR5416_NUM_2G_20_TARGET_POWERS];
    168  1.1.4.2  tls 	struct	ar_cal_target_power_ht
    169  1.1.4.2  tls 	    calTargetPower2GHT40[AR5416_NUM_2G_40_TARGET_POWERS];
    170  1.1.4.2  tls 	uint8_t	ctlIndex[AR5416_NUM_CTLS];
    171  1.1.4.2  tls 	struct	ar5416_cal_ctl_data ctlData[AR5416_NUM_CTLS];
    172  1.1.4.2  tls 	uint8_t padding;
    173  1.1.4.2  tls } __packed;
    174  1.1.4.2  tls 
    175  1.1.4.2  tls /* Macro to "pack" registers to 16-bit to save some .rodata space. */
    176  1.1.4.2  tls #define P(x)	(x)
    177  1.1.4.2  tls 
    178  1.1.4.2  tls /*
    179  1.1.4.2  tls  * AR5416 initialization values.
    180  1.1.4.2  tls  */
    181  1.1.4.2  tls static const uint16_t ar5416_regs[] = {
    182  1.1.4.2  tls 	P(0x01030), P(0x01070), P(0x010b0), P(0x010f0), P(0x08014),
    183  1.1.4.2  tls 	P(0x0801c), P(0x08120), P(0x081d0), P(0x09804), P(0x09820),
    184  1.1.4.2  tls 	P(0x09824), P(0x09828), P(0x09834), P(0x09838), P(0x09844),
    185  1.1.4.2  tls 	P(0x09848), P(0x0a848), P(0x0b848), P(0x09850), P(0x09858),
    186  1.1.4.2  tls 	P(0x0985c), P(0x09860), P(0x09864), P(0x09868), P(0x0986c),
    187  1.1.4.2  tls 	P(0x09914), P(0x09918), P(0x09924), P(0x09944), P(0x09960),
    188  1.1.4.2  tls 	P(0x0a960), P(0x0b960), P(0x09964), P(0x099bc), P(0x099c0),
    189  1.1.4.2  tls 	P(0x099c4), P(0x099c8), P(0x099cc), P(0x099d0), P(0x099d4),
    190  1.1.4.2  tls 	P(0x099d8), P(0x0a204), P(0x0a208), P(0x0a20c), P(0x0b20c),
    191  1.1.4.2  tls 	P(0x0c20c), P(0x0a21c), P(0x0a230), P(0x0a274), P(0x0a300),
    192  1.1.4.2  tls 	P(0x0a304), P(0x0a308), P(0x0a30c), P(0x0a310), P(0x0a314),
    193  1.1.4.2  tls 	P(0x0a318), P(0x0a31c), P(0x0a320), P(0x0a324), P(0x0a328),
    194  1.1.4.2  tls 	P(0x0a32c), P(0x0a330), P(0x0a334)
    195  1.1.4.2  tls };
    196  1.1.4.2  tls 
    197  1.1.4.2  tls static const uint32_t ar5416_vals_5g20[] = {
    198  1.1.4.2  tls 	0x00000230, 0x00000168, 0x00000e60, 0x0000a000, 0x03e803e8,
    199  1.1.4.2  tls 	0x128d93a7, 0x08f04800, 0x00003210, 0x00000300, 0x02020200,
    200  1.1.4.2  tls 	0x00000e0e, 0x0a020001, 0x00000e0e, 0x00000007, 0x1372161e,
    201  1.1.4.2  tls 	0x001a6a65, 0x001a6a65, 0x001a6a65, 0x6c48b4e0, 0x7ec82d2e,
    202  1.1.4.2  tls 	0x31395d5e, 0x00049d18, 0x0001ce00, 0x409a4190, 0x050cb081,
    203  1.1.4.2  tls 	0x000007d0, 0x000001b8, 0xd0058a0b, 0xffb81020, 0x00000900,
    204  1.1.4.2  tls 	0x00000900, 0x00000900, 0x00000000, 0x001a0a00, 0x038919be,
    205  1.1.4.2  tls 	0x06336f77, 0x6af6532c, 0x08f186c8, 0x00046384, 0x00000000,
    206  1.1.4.2  tls 	0x00000000, 0x00000880, 0xd6be4788, 0x002ec1e0, 0x002ec1e0,
    207  1.1.4.2  tls 	0x002ec1e0, 0x1883800a, 0x00000000, 0x0a1a9caa, 0x18010000,
    208  1.1.4.2  tls 	0x30032602, 0x48073e06, 0x560b4c0a, 0x641a600f, 0x7a4f6e1b,
    209  1.1.4.2  tls 	0x8c5b7e5a, 0x9d0f96cf, 0xb51fa69f, 0xcb3fbd07, 0x0000d7bf,
    210  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000
    211  1.1.4.2  tls };
    212  1.1.4.2  tls 
    213  1.1.4.2  tls #ifndef IEEE80211_NO_HT
    214  1.1.4.2  tls static const uint32_t ar5416_vals_5g40[] = {
    215  1.1.4.2  tls 	0x00000460, 0x000002d0, 0x00001cc0, 0x00014000, 0x07d007d0,
    216  1.1.4.2  tls 	0x128d93cf, 0x08f04800, 0x00003210, 0x000003c4, 0x02020200,
    217  1.1.4.2  tls 	0x00000e0e, 0x0a020001, 0x00000e0e, 0x00000007, 0x1372161e,
    218  1.1.4.2  tls 	0x001a6a65, 0x001a6a65, 0x001a6a65, 0x6d48b4e0, 0x7ec82d2e,
    219  1.1.4.2  tls 	0x3139605e, 0x00049d18, 0x0001ce00, 0x409a4190, 0x050cb081,
    220  1.1.4.2  tls 	0x00000fa0, 0x00000370, 0xd0058a0b, 0xffb81020, 0x00000900,
    221  1.1.4.2  tls 	0x00000900, 0x00000900, 0x00000000, 0x001a0a00, 0x038919be,
    222  1.1.4.2  tls 	0x06336f77, 0x6af6532c, 0x08f186c8, 0x00046384, 0x00000000,
    223  1.1.4.2  tls 	0x00000000, 0x00000880, 0xd6be4788, 0x002ec1e0, 0x002ec1e0,
    224  1.1.4.2  tls 	0x002ec1e0, 0x1883800a, 0x00000000, 0x0a1a9caa, 0x18010000,
    225  1.1.4.2  tls 	0x30032602, 0x48073e06, 0x560b4c0a, 0x641a600f, 0x7a4f6e1b,
    226  1.1.4.2  tls 	0x8c5b7e5a, 0x9d0f96cf, 0xb51fa69f, 0xcb3fbcbf, 0x0000d7bf,
    227  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000
    228  1.1.4.2  tls };
    229  1.1.4.2  tls 
    230  1.1.4.2  tls static const uint32_t ar5416_vals_2g40[] = {
    231  1.1.4.2  tls 	0x000002c0, 0x00000318, 0x00007c70, 0x00016000, 0x10801600,
    232  1.1.4.2  tls 	0x12e013d7, 0x08f04810, 0x0000320a, 0x000003c4, 0x02020200,
    233  1.1.4.2  tls 	0x00000e0e, 0x0a020001, 0x00000e0e, 0x00000007, 0x137216a0,
    234  1.1.4.2  tls 	0x00197a68, 0x00197a68, 0x00197a68, 0x6d48b0de, 0x7ec82d2e,
    235  1.1.4.2  tls 	0x3139605e, 0x00049d18, 0x0001ce00, 0x409a4190, 0x050cb081,
    236  1.1.4.2  tls 	0x00001130, 0x00000268, 0xd0058a0b, 0xffb81020, 0x00012d80,
    237  1.1.4.2  tls 	0x00012d80, 0x00012d80, 0x00001120, 0x001a0a00, 0x038919be,
    238  1.1.4.2  tls 	0x06336f77, 0x6af6532c, 0x08f186c8, 0x00046384, 0x00000000,
    239  1.1.4.2  tls 	0x00000000, 0x00000880, 0xd03e4788, 0x002ac120, 0x002ac120,
    240  1.1.4.2  tls 	0x002ac120, 0x1883800a, 0x00000210, 0x0a1a7caa, 0x18010000,
    241  1.1.4.2  tls 	0x2e032402, 0x4a0a3c06, 0x621a540b, 0x764f6c1b, 0x845b7a5a,
    242  1.1.4.2  tls 	0x950f8ccf, 0xa5cf9b4f, 0xbddfaf1f, 0xd1ffc93f, 0x00000000,
    243  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000
    244  1.1.4.2  tls };
    245  1.1.4.2  tls #endif
    246  1.1.4.2  tls 
    247  1.1.4.2  tls static const uint32_t ar5416_vals_2g20[] = {
    248  1.1.4.2  tls 	0x00000160, 0x0000018c, 0x00003e38, 0x0000b000, 0x08400b00,
    249  1.1.4.2  tls 	0x12e013ab, 0x08f04810, 0x0000320a, 0x00000300, 0x02020200,
    250  1.1.4.2  tls 	0x00000e0e, 0x0a020001, 0x00000e0e, 0x00000007, 0x137216a0,
    251  1.1.4.2  tls 	0x00197a68, 0x00197a68, 0x00197a68, 0x6c48b0de, 0x7ec82d2e,
    252  1.1.4.2  tls 	0x31395d5e, 0x00049d18, 0x0001ce00, 0x409a4190, 0x050cb081,
    253  1.1.4.2  tls 	0x00000898, 0x00000134, 0xd0058a0b, 0xffb81020, 0x00012d80,
    254  1.1.4.2  tls 	0x00012d80, 0x00012d80, 0x00001120, 0x001a0a00, 0x038919be,
    255  1.1.4.2  tls 	0x06336f77, 0x6af6532c, 0x08f186c8, 0x00046384, 0x00000000,
    256  1.1.4.2  tls 	0x00000000, 0x00000880, 0xd03e4788, 0x002ac120, 0x002ac120,
    257  1.1.4.2  tls 	0x002ac120, 0x1883800a, 0x00000108, 0x0a1a7caa, 0x18010000,
    258  1.1.4.2  tls 	0x2e032402, 0x4a0a3c06, 0x621a540b, 0x764f6c1b, 0x845b7a5a,
    259  1.1.4.2  tls 	0x950f8ccf, 0xa5cf9b4f, 0xbddfaf1f, 0xd1ffc93f, 0x00000000,
    260  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000
    261  1.1.4.2  tls };
    262  1.1.4.2  tls 
    263  1.1.4.2  tls static const uint16_t ar5416_cm_regs[] = {
    264  1.1.4.2  tls 	P(0x0000c), P(0x00030), P(0x00034), P(0x00040), P(0x00044),
    265  1.1.4.2  tls 	P(0x00048), P(0x0004c), P(0x00050), P(0x00054), P(0x00800),
    266  1.1.4.2  tls 	P(0x00804), P(0x00808), P(0x0080c), P(0x00810), P(0x00814),
    267  1.1.4.2  tls 	P(0x00818), P(0x0081c), P(0x00820), P(0x00824), P(0x01040),
    268  1.1.4.2  tls 	P(0x01044), P(0x01048), P(0x0104c), P(0x01050), P(0x01054),
    269  1.1.4.2  tls 	P(0x01058), P(0x0105c), P(0x01060), P(0x01064), P(0x01230),
    270  1.1.4.2  tls 	P(0x01270), P(0x01038), P(0x01078), P(0x010b8), P(0x010f8),
    271  1.1.4.2  tls 	P(0x01138), P(0x01178), P(0x011b8), P(0x011f8), P(0x01238),
    272  1.1.4.2  tls 	P(0x01278), P(0x012b8), P(0x012f8), P(0x01338), P(0x01378),
    273  1.1.4.2  tls 	P(0x013b8), P(0x013f8), P(0x01438), P(0x01478), P(0x014b8),
    274  1.1.4.2  tls 	P(0x014f8), P(0x01538), P(0x01578), P(0x015b8), P(0x015f8),
    275  1.1.4.2  tls 	P(0x01638), P(0x01678), P(0x016b8), P(0x016f8), P(0x01738),
    276  1.1.4.2  tls 	P(0x01778), P(0x017b8), P(0x017f8), P(0x0103c), P(0x0107c),
    277  1.1.4.2  tls 	P(0x010bc), P(0x010fc), P(0x0113c), P(0x0117c), P(0x011bc),
    278  1.1.4.2  tls 	P(0x011fc), P(0x0123c), P(0x0127c), P(0x012bc), P(0x012fc),
    279  1.1.4.2  tls 	P(0x0133c), P(0x0137c), P(0x013bc), P(0x013fc), P(0x0143c),
    280  1.1.4.2  tls 	P(0x0147c), P(0x04030), P(0x0403c), P(0x07010), P(0x07038),
    281  1.1.4.2  tls 	P(0x08004), P(0x08008), P(0x0800c), P(0x08018), P(0x08020),
    282  1.1.4.2  tls 	P(0x08038), P(0x0803c), P(0x08048), P(0x08054), P(0x08058),
    283  1.1.4.2  tls 	P(0x0805c), P(0x08060), P(0x08064), P(0x080c0), P(0x080c4),
    284  1.1.4.2  tls 	P(0x080c8), P(0x080cc), P(0x080d0), P(0x080d4), P(0x080d8),
    285  1.1.4.2  tls 	P(0x080e0), P(0x080e4), P(0x080e8), P(0x080ec), P(0x080f0),
    286  1.1.4.2  tls 	P(0x080f4), P(0x080f8), P(0x080fc), P(0x08100), P(0x08104),
    287  1.1.4.2  tls 	P(0x08108), P(0x0810c), P(0x08110), P(0x08118), P(0x0811c),
    288  1.1.4.2  tls 	P(0x08124), P(0x08128), P(0x0812c), P(0x08130), P(0x08134),
    289  1.1.4.2  tls 	P(0x08138), P(0x0813c), P(0x08144), P(0x08168), P(0x0816c),
    290  1.1.4.2  tls 	P(0x08170), P(0x08174), P(0x08178), P(0x0817c), P(0x081c4),
    291  1.1.4.2  tls 	P(0x081ec), P(0x081f0), P(0x081f4), P(0x081f8), P(0x081fc),
    292  1.1.4.2  tls 	P(0x08200), P(0x08204), P(0x08208), P(0x0820c), P(0x08210),
    293  1.1.4.2  tls 	P(0x08214), P(0x08218), P(0x0821c), P(0x08220), P(0x08224),
    294  1.1.4.2  tls 	P(0x08228), P(0x0822c), P(0x08230), P(0x08234), P(0x08238),
    295  1.1.4.2  tls 	P(0x0823c), P(0x08240), P(0x08244), P(0x08248), P(0x0824c),
    296  1.1.4.2  tls 	P(0x08250), P(0x08254), P(0x08258), P(0x0825c), P(0x08260),
    297  1.1.4.2  tls 	P(0x08264), P(0x08270), P(0x08274), P(0x08278), P(0x0827c),
    298  1.1.4.2  tls 	P(0x08284), P(0x08288), P(0x0828c), P(0x08294), P(0x08298),
    299  1.1.4.2  tls 	P(0x08300), P(0x08304), P(0x08308), P(0x0830c), P(0x08310),
    300  1.1.4.2  tls 	P(0x08314), P(0x08318), P(0x08328), P(0x0832c), P(0x08330),
    301  1.1.4.2  tls 	P(0x08334), P(0x08338), P(0x0833c), P(0x08340), P(0x09808),
    302  1.1.4.2  tls 	P(0x0980c), P(0x09810), P(0x09814), P(0x0981c), P(0x0982c),
    303  1.1.4.2  tls 	P(0x09830), P(0x0983c), P(0x09840), P(0x0984c), P(0x09854),
    304  1.1.4.2  tls 	P(0x09900), P(0x09904), P(0x09908), P(0x0990c), P(0x0991c),
    305  1.1.4.2  tls 	P(0x09920), P(0x0a920), P(0x0b920), P(0x09928), P(0x0992c),
    306  1.1.4.2  tls 	P(0x09934), P(0x09938), P(0x0993c), P(0x09948), P(0x0994c),
    307  1.1.4.2  tls 	P(0x09954), P(0x09958), P(0x0c95c), P(0x0c968), P(0x09970),
    308  1.1.4.2  tls 	P(0x09974), P(0x09978), P(0x0997c), P(0x09980), P(0x09984),
    309  1.1.4.2  tls 	P(0x09988), P(0x0998c), P(0x09990), P(0x09994), P(0x09998),
    310  1.1.4.2  tls 	P(0x0999c), P(0x099a0), P(0x099a4), P(0x099a8), P(0x099ac),
    311  1.1.4.2  tls 	P(0x099b0), P(0x099dc), P(0x099e0), P(0x099e4), P(0x099e8),
    312  1.1.4.2  tls 	P(0x099ec), P(0x099fc), P(0x09b00), P(0x09b04), P(0x09b08),
    313  1.1.4.2  tls 	P(0x09b0c), P(0x09b10), P(0x09b14), P(0x09b18), P(0x09b1c),
    314  1.1.4.2  tls 	P(0x09b20), P(0x09b24), P(0x09b28), P(0x09b2c), P(0x09b30),
    315  1.1.4.2  tls 	P(0x09b34), P(0x09b38), P(0x09b3c), P(0x09b40), P(0x09b44),
    316  1.1.4.2  tls 	P(0x09b48), P(0x09b4c), P(0x09b50), P(0x09b54), P(0x09b58),
    317  1.1.4.2  tls 	P(0x09b5c), P(0x09b60), P(0x09b64), P(0x09b68), P(0x09b6c),
    318  1.1.4.2  tls 	P(0x09b70), P(0x09b74), P(0x09b78), P(0x09b7c), P(0x09b80),
    319  1.1.4.2  tls 	P(0x09b84), P(0x09b88), P(0x09b8c), P(0x09b90), P(0x09b94),
    320  1.1.4.2  tls 	P(0x09b98), P(0x09b9c), P(0x09ba0), P(0x09ba4), P(0x09ba8),
    321  1.1.4.2  tls 	P(0x09bac), P(0x09bb0), P(0x09bb4), P(0x09bb8), P(0x09bbc),
    322  1.1.4.2  tls 	P(0x09bc0), P(0x09bc4), P(0x09bc8), P(0x09bcc), P(0x09bd0),
    323  1.1.4.2  tls 	P(0x09bd4), P(0x09bd8), P(0x09bdc), P(0x09be0), P(0x09be4),
    324  1.1.4.2  tls 	P(0x09be8), P(0x09bec), P(0x09bf0), P(0x09bf4), P(0x09bf8),
    325  1.1.4.2  tls 	P(0x09bfc), P(0x0a210), P(0x0a214), P(0x0a218), P(0x0a220),
    326  1.1.4.2  tls 	P(0x0a224), P(0x0a228), P(0x0a22c), P(0x0a234), P(0x0a238),
    327  1.1.4.2  tls 	P(0x0a23c), P(0x0a240), P(0x0a244), P(0x0a248), P(0x0a24c),
    328  1.1.4.2  tls 	P(0x0a250), P(0x0a254), P(0x0a258), P(0x0a25c), P(0x0a260),
    329  1.1.4.2  tls 	P(0x0a268), P(0x0a26c), P(0x0b26c), P(0x0c26c), P(0x0d270),
    330  1.1.4.2  tls 	P(0x0a278), P(0x0a27c), P(0x0a338), P(0x0a33c), P(0x0a340),
    331  1.1.4.2  tls 	P(0x0a344), P(0x0a348), P(0x0a34c), P(0x0a350), P(0x0a354),
    332  1.1.4.2  tls 	P(0x0a358), P(0x0d35c), P(0x0d360), P(0x0d364), P(0x0d368),
    333  1.1.4.2  tls 	P(0x0d36c), P(0x0d370), P(0x0d374), P(0x0d378), P(0x0d37c),
    334  1.1.4.2  tls 	P(0x0d380), P(0x0d384), P(0x0a388), P(0x0a38c), P(0x0a390),
    335  1.1.4.2  tls 	P(0x0a394), P(0x0a398), P(0x0a39c), P(0x0a3a0), P(0x0a3a4),
    336  1.1.4.2  tls 	P(0x0a3a8), P(0x0a3ac), P(0x0a3b0), P(0x0a3b4), P(0x0a3b8),
    337  1.1.4.2  tls 	P(0x0a3bc), P(0x0a3c0), P(0x0a3c4), P(0x0a3c8), P(0x0a3cc),
    338  1.1.4.2  tls 	P(0x0a3d0), P(0x0a3d4), P(0x0a3dc), P(0x0a3e0)
    339  1.1.4.2  tls };
    340  1.1.4.2  tls 
    341  1.1.4.2  tls static const uint32_t ar5416_cm_vals[] = {
    342  1.1.4.2  tls 	0x00000000, 0x00020015, 0x00000005, 0x00000000, 0x00000008,
    343  1.1.4.2  tls 	0x00000008, 0x00000010, 0x00000000, 0x0000001f, 0x00000000,
    344  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    345  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x002ffc0f,
    346  1.1.4.2  tls 	0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x002ffc0f,
    347  1.1.4.2  tls 	0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x00000000,
    348  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    349  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    350  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    351  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    352  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    353  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    354  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    355  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    356  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    357  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    358  1.1.4.2  tls 	0x00000000, 0x00000002, 0x00000002, 0x00000000, 0x000004c2,
    359  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000700, 0x00000000,
    360  1.1.4.2  tls 	0x00000000, 0x00000000, 0x40000000, 0x00000000, 0x00000000,
    361  1.1.4.2  tls 	0x000fc78f, 0x0000000f, 0x00000000, 0x2a82301a, 0x05dc01e0,
    362  1.1.4.2  tls 	0x1f402710, 0x01f40000, 0x00001e00, 0x00000000, 0x00400000,
    363  1.1.4.2  tls 	0xffffffff, 0x0000ffff, 0x003f3f3f, 0x00000000, 0x00000000,
    364  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00020000, 0x00020000, 0x00000001,
    365  1.1.4.2  tls 	0x00000052, 0x00000000, 0x00000168, 0x000100aa, 0x00003210,
    366  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    367  1.1.4.2  tls 	0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000,
    368  1.1.4.2  tls 	0x32143320, 0xfaa4fa50, 0x00000100, 0x00000000, 0x00000000,
    369  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    370  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    371  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    372  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    373  1.1.4.2  tls 	0x00000000, 0x00100000, 0x0010f400, 0x00000100, 0x0001e800,
    374  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x400000ff, 0x00080922,
    375  1.1.4.2  tls 	0x88000010, 0x00000000, 0x40000000, 0x003e4180, 0x00000000,
    376  1.1.4.2  tls 	0x0000002c, 0x0000002c, 0x00000000, 0x00000000, 0x00000000,
    377  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    378  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000007, 0x00000302,
    379  1.1.4.2  tls 	0x00000e00, 0x00070000, 0x00000000, 0x000107ff, 0x00000000,
    380  1.1.4.2  tls 	0xad848e19, 0x7d14e000, 0x9c0a9f6b, 0x00000000, 0x0000a000,
    381  1.1.4.2  tls 	0x00000000, 0x00200400, 0x206a002e, 0x1284233c, 0x00000859,
    382  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10000fff,
    383  1.1.4.2  tls 	0x05100000, 0x05100000, 0x05100000, 0x00000001, 0x00000004,
    384  1.1.4.2  tls 	0x1e1f2022, 0x0a0b0c0d, 0x00000000, 0x9280b212, 0x00020028,
    385  1.1.4.2  tls 	0x5d50e188, 0x00081fff, 0x004b6a8e, 0x000003ce, 0x190fb515,
    386  1.1.4.2  tls 	0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000,
    387  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    388  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000001, 0x001fff00, 0x00000000,
    389  1.1.4.2  tls 	0x03051000, 0x00000000, 0x00000200, 0xaaaaaaaa, 0x3c466478,
    390  1.1.4.2  tls 	0x000000aa, 0x00001042, 0x00000000, 0x00000001, 0x00000002,
    391  1.1.4.2  tls 	0x00000003, 0x00000004, 0x00000005, 0x00000008, 0x00000009,
    392  1.1.4.2  tls 	0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x00000010,
    393  1.1.4.2  tls 	0x00000011, 0x00000012, 0x00000013, 0x00000014, 0x00000015,
    394  1.1.4.2  tls 	0x00000018, 0x00000019, 0x0000001a, 0x0000001b, 0x0000001c,
    395  1.1.4.2  tls 	0x0000001d, 0x00000020, 0x00000021, 0x00000022, 0x00000023,
    396  1.1.4.2  tls 	0x00000024, 0x00000025, 0x00000028, 0x00000029, 0x0000002a,
    397  1.1.4.2  tls 	0x0000002b, 0x0000002c, 0x0000002d, 0x00000030, 0x00000031,
    398  1.1.4.2  tls 	0x00000032, 0x00000033, 0x00000034, 0x00000035, 0x00000035,
    399  1.1.4.2  tls 	0x00000035, 0x00000035, 0x00000035, 0x00000035, 0x00000035,
    400  1.1.4.2  tls 	0x00000035, 0x00000035, 0x00000035, 0x00000035, 0x00000035,
    401  1.1.4.2  tls 	0x00000035, 0x00000035, 0x00000035, 0x00000035, 0x00000035,
    402  1.1.4.2  tls 	0x00000035, 0x00000035, 0x00000035, 0x00000035, 0x00000010,
    403  1.1.4.2  tls 	0x0000001a, 0x40806333, 0x00106c10, 0x009c4060, 0x018830c6,
    404  1.1.4.2  tls 	0x00000400, 0x00000bb5, 0x00000011, 0x20202020, 0x20202020,
    405  1.1.4.2  tls 	0x13c889af, 0x38490a20, 0x00007bb6, 0x0fff3ffc, 0x00000001,
    406  1.1.4.2  tls 	0x0000a000, 0x00000000, 0x0cc75380, 0x0f0f0f01, 0xdfa91f01,
    407  1.1.4.2  tls 	0x00000000, 0x0e79e5c6, 0x0e79e5c6, 0x0e79e5c6, 0x00820820,
    408  1.1.4.2  tls 	0x1ce739ce, 0x051701ce, 0x00000000, 0x00000000, 0x00000000,
    409  1.1.4.2  tls 	0x00000000, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x0003ffff,
    410  1.1.4.2  tls 	0x79a8aa1f, 0x07ffffef, 0x0fffffe7, 0x17ffffe5, 0x1fffffe4,
    411  1.1.4.2  tls 	0x37ffffe3, 0x3fffffe3, 0x57ffffe3, 0x5fffffe2, 0x7fffffe2,
    412  1.1.4.2  tls 	0x7f3c7bba, 0xf3307ff0, 0x08000000, 0x20202020, 0x20202020,
    413  1.1.4.2  tls 	0x1ce739ce, 0x000001ce, 0x00000001, 0x00000000, 0x00000000,
    414  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    415  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000246, 0x20202020,
    416  1.1.4.2  tls 	0x20202020, 0x20202020, 0x1ce739ce, 0x000001ce
    417  1.1.4.2  tls };
    418  1.1.4.2  tls 
    419  1.1.4.2  tls static const struct athn_ini ar5416_ini = {
    420  1.1.4.2  tls 	.nregs		= __arraycount(ar5416_regs),
    421  1.1.4.2  tls 	.regs		= ar5416_regs,
    422  1.1.4.2  tls 	.vals_5g20	= ar5416_vals_5g20,
    423  1.1.4.2  tls #ifndef IEEE80211_NO_HT
    424  1.1.4.2  tls 	.vals_5g40	= ar5416_vals_5g40,
    425  1.1.4.2  tls 	.vals_2g40	= ar5416_vals_2g40,
    426  1.1.4.2  tls #endif
    427  1.1.4.2  tls 	.vals_2g20	= ar5416_vals_2g20,
    428  1.1.4.2  tls 	.ncmregs	= __arraycount(ar5416_cm_regs),
    429  1.1.4.2  tls 	.cmregs		= ar5416_cm_regs,
    430  1.1.4.2  tls 	.cmvals		= ar5416_cm_vals
    431  1.1.4.2  tls };
    432  1.1.4.2  tls 
    433  1.1.4.2  tls /*
    434  1.1.4.2  tls  * AR9160 initialization values.
    435  1.1.4.2  tls  */
    436  1.1.4.2  tls static const uint16_t ar9160_regs[] = {
    437  1.1.4.2  tls 	P(0x01030), P(0x01070), P(0x010b0), P(0x010f0), P(0x08014),
    438  1.1.4.2  tls 	P(0x0801c), P(0x08120), P(0x081d0), P(0x09804), P(0x09820),
    439  1.1.4.2  tls 	P(0x09824), P(0x09828), P(0x09834), P(0x09838), P(0x09844),
    440  1.1.4.2  tls 	P(0x09848), P(0x0a848), P(0x0b848), P(0x09850), P(0x09858),
    441  1.1.4.2  tls 	P(0x0985c), P(0x09860), P(0x09864), P(0x09868), P(0x0986c),
    442  1.1.4.2  tls 	P(0x09914), P(0x09918), P(0x09924), P(0x09944), P(0x09960),
    443  1.1.4.2  tls 	P(0x0a960), P(0x0b960), P(0x09964), P(0x0c968), P(0x099bc),
    444  1.1.4.2  tls 	P(0x099c0), P(0x099c4), P(0x099c8), P(0x099cc), P(0x099d0),
    445  1.1.4.2  tls 	P(0x099d4), P(0x099d8), P(0x0a204), P(0x0a208), P(0x0a20c),
    446  1.1.4.2  tls 	P(0x0b20c), P(0x0c20c), P(0x0a21c), P(0x0a230), P(0x0a274),
    447  1.1.4.2  tls 	P(0x0a300), P(0x0a304), P(0x0a308), P(0x0a30c), P(0x0a310),
    448  1.1.4.2  tls 	P(0x0a314), P(0x0a318), P(0x0a31c), P(0x0a320), P(0x0a324),
    449  1.1.4.2  tls 	P(0x0a328), P(0x0a32c), P(0x0a330), P(0x0a334)
    450  1.1.4.2  tls };
    451  1.1.4.2  tls 
    452  1.1.4.2  tls static const uint32_t ar9160_vals_5g20[] = {
    453  1.1.4.2  tls 	0x00000230, 0x00000168, 0x00000e60, 0x0000a000, 0x03e803e8,
    454  1.1.4.2  tls 	0x128d93a7, 0x08f04800, 0x00003210, 0x00000300, 0x02020200,
    455  1.1.4.2  tls 	0x00000e0e, 0x0a020001, 0x00000e0e, 0x00000007, 0x0372161e,
    456  1.1.4.2  tls 	0x001a6a65, 0x001a6a65, 0x001a6a65, 0x6c48b4e2, 0x7ec82d2e,
    457  1.1.4.2  tls 	0x31395d5e, 0x00048d18, 0x0001ce00, 0x409a40d0, 0x050cb081,
    458  1.1.4.2  tls 	0x000007d0, 0x0000000a, 0xd00a8a07, 0xffb81020, 0x00009b40,
    459  1.1.4.2  tls 	0x00009b40, 0x00009b40, 0x00001120, 0x000003b5, 0x001a0600,
    460  1.1.4.2  tls 	0x038919be, 0x06336f77, 0x6af65329, 0x08f186c8, 0x00046384,
    461  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000880, 0xd6be4788, 0x002fc160,
    462  1.1.4.2  tls 	0x002fc160, 0x002fc160, 0x1883800a, 0x00000000, 0x0a1a9caa,
    463  1.1.4.2  tls 	0x18010000, 0x30032602, 0x48073e06, 0x560b4c0a, 0x641a600f,
    464  1.1.4.2  tls 	0x7a4f6e1b, 0x8c5b7e5a, 0x9d0f96cf, 0xb51fa69f, 0xcb3fbd07,
    465  1.1.4.2  tls 	0x0000d7bf, 0x00000000, 0x00000000, 0x00000000
    466  1.1.4.2  tls };
    467  1.1.4.2  tls 
    468  1.1.4.2  tls #ifndef IEEE80211_NO_HT
    469  1.1.4.2  tls static const uint32_t ar9160_vals_5g40[] = {
    470  1.1.4.2  tls 	0x00000460, 0x000002d0, 0x00001cc0, 0x00014000, 0x07d007d0,
    471  1.1.4.2  tls 	0x128d93cf, 0x08f04800, 0x00003210, 0x000003c4, 0x02020200,
    472  1.1.4.2  tls 	0x00000e0e, 0x0a020001, 0x00000e0e, 0x00000007, 0x0372161e,
    473  1.1.4.2  tls 	0x001a6a65, 0x001a6a65, 0x001a6a65, 0x6d48b4e2, 0x7ec82d2e,
    474  1.1.4.2  tls 	0x3139605e, 0x00048d18, 0x0001ce00, 0x409a40d0, 0x050cb081,
    475  1.1.4.2  tls 	0x00000fa0, 0x00000014, 0xd00a8a07, 0xffb81020, 0x00009b40,
    476  1.1.4.2  tls 	0x00009b40, 0x00009b40, 0x00001120, 0x000003b5, 0x001a0600,
    477  1.1.4.2  tls 	0x038919be, 0x06336f77, 0x6af65329, 0x08f186c8, 0x00046384,
    478  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000880, 0xd6be4788, 0x002fc160,
    479  1.1.4.2  tls 	0x002fc160, 0x002fc160, 0x1883800a, 0x00000000, 0x0a1a9caa,
    480  1.1.4.2  tls 	0x18010000, 0x30032602, 0x48073e06, 0x560b4c0a, 0x641a600f,
    481  1.1.4.2  tls 	0x7a4f6e1b, 0x8c5b7e5a, 0x9d0f96cf, 0xb51fa69f, 0xcb3fbcbf,
    482  1.1.4.2  tls 	0x0000d7bf, 0x00000000, 0x00000000, 0x00000000
    483  1.1.4.2  tls };
    484  1.1.4.2  tls 
    485  1.1.4.2  tls static const uint32_t ar9160_vals_2g40[] = {
    486  1.1.4.2  tls 	0x000002c0, 0x00000318, 0x00007c70, 0x00016000, 0x10801600,
    487  1.1.4.2  tls 	0x12e013d7, 0x08f04810, 0x0000320a, 0x000003c4, 0x02020200,
    488  1.1.4.2  tls 	0x00000e0e, 0x0a020001, 0x00000e0e, 0x00000007, 0x037216a0,
    489  1.1.4.2  tls 	0x00197a68, 0x00197a68, 0x00197a68, 0x6d48b0e2, 0x7ec82d2e,
    490  1.1.4.2  tls 	0x3139605e, 0x00048d20, 0x0001ce00, 0x409a40d0, 0x050cb081,
    491  1.1.4.2  tls 	0x00001130, 0x00000016, 0xd00a8a0d, 0xffb81020, 0x00009b40,
    492  1.1.4.2  tls 	0x00009b40, 0x00009b40, 0x00001120, 0x000003ce, 0x001a0c00,
    493  1.1.4.2  tls 	0x038919be, 0x06336f77, 0x6af65329, 0x08f186c8, 0x00046384,
    494  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000880, 0xd03e4788, 0x002ac120,
    495  1.1.4.2  tls 	0x002ac120, 0x002ac120, 0x1883800a, 0x00000210, 0x0a1a7caa,
    496  1.1.4.2  tls 	0x18010000, 0x2e032402, 0x4a0a3c06, 0x621a540b, 0x764f6c1b,
    497  1.1.4.2  tls 	0x845b7a5a, 0x950f8ccf, 0xa5cf9b4f, 0xbddfaf1f, 0xd1ffc93f,
    498  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000
    499  1.1.4.2  tls };
    500  1.1.4.2  tls #endif
    501  1.1.4.2  tls 
    502  1.1.4.2  tls static const uint32_t ar9160_vals_2g20[] = {
    503  1.1.4.2  tls 	0x00000160, 0x0000018c, 0x00003e38, 0x0000b000, 0x08400b00,
    504  1.1.4.2  tls 	0x12e013ab, 0x08f04810, 0x0000320a, 0x00000300, 0x02020200,
    505  1.1.4.2  tls 	0x00000e0e, 0x0a020001, 0x00000e0e, 0x00000007, 0x037216a0,
    506  1.1.4.2  tls 	0x00197a68, 0x00197a68, 0x00197a68, 0x6c48b0e2, 0x7ec82d2e,
    507  1.1.4.2  tls 	0x31395d5e, 0x00048d20, 0x0001ce00, 0x409a40d0, 0x050cb081,
    508  1.1.4.2  tls 	0x00000898, 0x0000000b, 0xd00a8a0d, 0xffb81020, 0x00009b40,
    509  1.1.4.2  tls 	0x00009b40, 0x00009b40, 0x00001120, 0x000003ce, 0x001a0c00,
    510  1.1.4.2  tls 	0x038919be, 0x06336f77, 0x6af65329, 0x08f186c8, 0x00046384,
    511  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000880, 0xd03e4788, 0x002ac120,
    512  1.1.4.2  tls 	0x002ac120, 0x002ac120, 0x1883800a, 0x00000108, 0x0a1a7caa,
    513  1.1.4.2  tls 	0x18010000, 0x2e032402, 0x4a0a3c06, 0x621a540b, 0x764f6c1b,
    514  1.1.4.2  tls 	0x845b7a5a, 0x950f8ccf, 0xa5cf9b4f, 0xbddfaf1f, 0xd1ffc93f,
    515  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000
    516  1.1.4.2  tls };
    517  1.1.4.2  tls 
    518  1.1.4.2  tls static const uint16_t ar9160_cm_regs[] = {
    519  1.1.4.2  tls 	P(0x0000c), P(0x00030), P(0x00034), P(0x00040), P(0x00044),
    520  1.1.4.2  tls 	P(0x00048), P(0x0004c), P(0x00050), P(0x00054), P(0x00800),
    521  1.1.4.2  tls 	P(0x00804), P(0x00808), P(0x0080c), P(0x00810), P(0x00814),
    522  1.1.4.2  tls 	P(0x00818), P(0x0081c), P(0x00820), P(0x00824), P(0x01040),
    523  1.1.4.2  tls 	P(0x01044), P(0x01048), P(0x0104c), P(0x01050), P(0x01054),
    524  1.1.4.2  tls 	P(0x01058), P(0x0105c), P(0x01060), P(0x01064), P(0x01230),
    525  1.1.4.2  tls 	P(0x01270), P(0x01038), P(0x01078), P(0x010b8), P(0x010f8),
    526  1.1.4.2  tls 	P(0x01138), P(0x01178), P(0x011b8), P(0x011f8), P(0x01238),
    527  1.1.4.2  tls 	P(0x01278), P(0x012b8), P(0x012f8), P(0x01338), P(0x01378),
    528  1.1.4.2  tls 	P(0x013b8), P(0x013f8), P(0x01438), P(0x01478), P(0x014b8),
    529  1.1.4.2  tls 	P(0x014f8), P(0x01538), P(0x01578), P(0x015b8), P(0x015f8),
    530  1.1.4.2  tls 	P(0x01638), P(0x01678), P(0x016b8), P(0x016f8), P(0x01738),
    531  1.1.4.2  tls 	P(0x01778), P(0x017b8), P(0x017f8), P(0x0103c), P(0x0107c),
    532  1.1.4.2  tls 	P(0x010bc), P(0x010fc), P(0x0113c), P(0x0117c), P(0x011bc),
    533  1.1.4.2  tls 	P(0x011fc), P(0x0123c), P(0x0127c), P(0x012bc), P(0x012fc),
    534  1.1.4.2  tls 	P(0x0133c), P(0x0137c), P(0x013bc), P(0x013fc), P(0x0143c),
    535  1.1.4.2  tls 	P(0x0147c), P(0x04030), P(0x0403c), P(0x07010), P(0x07038),
    536  1.1.4.2  tls 	P(0x08004), P(0x08008), P(0x0800c), P(0x08018), P(0x08020),
    537  1.1.4.2  tls 	P(0x08038), P(0x0803c), P(0x08048), P(0x08054), P(0x08058),
    538  1.1.4.2  tls 	P(0x0805c), P(0x08060), P(0x08064), P(0x080c0), P(0x080c4),
    539  1.1.4.2  tls 	P(0x080c8), P(0x080cc), P(0x080d0), P(0x080d4), P(0x080d8),
    540  1.1.4.2  tls 	P(0x080e0), P(0x080e4), P(0x080e8), P(0x080ec), P(0x080f0),
    541  1.1.4.2  tls 	P(0x080f4), P(0x080f8), P(0x080fc), P(0x08100), P(0x08104),
    542  1.1.4.2  tls 	P(0x08108), P(0x0810c), P(0x08110), P(0x08118), P(0x0811c),
    543  1.1.4.2  tls 	P(0x08124), P(0x08128), P(0x0812c), P(0x08130), P(0x08134),
    544  1.1.4.2  tls 	P(0x08138), P(0x0813c), P(0x08144), P(0x08168), P(0x0816c),
    545  1.1.4.2  tls 	P(0x08170), P(0x08174), P(0x08178), P(0x0817c), P(0x081c4),
    546  1.1.4.2  tls 	P(0x081ec), P(0x081f0), P(0x081f4), P(0x081f8), P(0x081fc),
    547  1.1.4.2  tls 	P(0x08200), P(0x08204), P(0x08208), P(0x0820c), P(0x08210),
    548  1.1.4.2  tls 	P(0x08214), P(0x08218), P(0x0821c), P(0x08220), P(0x08224),
    549  1.1.4.2  tls 	P(0x08228), P(0x0822c), P(0x08230), P(0x08234), P(0x08238),
    550  1.1.4.2  tls 	P(0x0823c), P(0x08240), P(0x08244), P(0x08248), P(0x0824c),
    551  1.1.4.2  tls 	P(0x08250), P(0x08254), P(0x08258), P(0x0825c), P(0x08260),
    552  1.1.4.2  tls 	P(0x08264), P(0x08270), P(0x08274), P(0x08278), P(0x0827c),
    553  1.1.4.2  tls 	P(0x08284), P(0x08288), P(0x0828c), P(0x08294), P(0x08298),
    554  1.1.4.2  tls 	P(0x08300), P(0x08304), P(0x08308), P(0x0830c), P(0x08310),
    555  1.1.4.2  tls 	P(0x08314), P(0x08318), P(0x08328), P(0x0832c), P(0x08330),
    556  1.1.4.2  tls 	P(0x08334), P(0x08338), P(0x0833c), P(0x08340), P(0x09808),
    557  1.1.4.2  tls 	P(0x0980c), P(0x09810), P(0x09814), P(0x0981c), P(0x0982c),
    558  1.1.4.2  tls 	P(0x09830), P(0x0983c), P(0x09840), P(0x0984c), P(0x09854),
    559  1.1.4.2  tls 	P(0x09900), P(0x09904), P(0x09908), P(0x0990c), P(0x0991c),
    560  1.1.4.2  tls 	P(0x09920), P(0x0a920), P(0x0b920), P(0x09928), P(0x0992c),
    561  1.1.4.2  tls 	P(0x09934), P(0x09938), P(0x0993c), P(0x09948), P(0x0994c),
    562  1.1.4.2  tls 	P(0x09954), P(0x09958), P(0x09940), P(0x0c95c), P(0x09970),
    563  1.1.4.2  tls 	P(0x09974), P(0x09978), P(0x0997c), P(0x09980), P(0x09984),
    564  1.1.4.2  tls 	P(0x09988), P(0x0998c), P(0x09990), P(0x09994), P(0x09998),
    565  1.1.4.2  tls 	P(0x0999c), P(0x099a0), P(0x099a4), P(0x099a8), P(0x099ac),
    566  1.1.4.2  tls 	P(0x099b0), P(0x099dc), P(0x099e0), P(0x099e4), P(0x099e8),
    567  1.1.4.2  tls 	P(0x099ec), P(0x099fc), P(0x09b00), P(0x09b04), P(0x09b08),
    568  1.1.4.2  tls 	P(0x09b0c), P(0x09b10), P(0x09b14), P(0x09b18), P(0x09b1c),
    569  1.1.4.2  tls 	P(0x09b20), P(0x09b24), P(0x09b28), P(0x09b2c), P(0x09b30),
    570  1.1.4.2  tls 	P(0x09b34), P(0x09b38), P(0x09b3c), P(0x09b40), P(0x09b44),
    571  1.1.4.2  tls 	P(0x09b48), P(0x09b4c), P(0x09b50), P(0x09b54), P(0x09b58),
    572  1.1.4.2  tls 	P(0x09b5c), P(0x09b60), P(0x09b64), P(0x09b68), P(0x09b6c),
    573  1.1.4.2  tls 	P(0x09b70), P(0x09b74), P(0x09b78), P(0x09b7c), P(0x09b80),
    574  1.1.4.2  tls 	P(0x09b84), P(0x09b88), P(0x09b8c), P(0x09b90), P(0x09b94),
    575  1.1.4.2  tls 	P(0x09b98), P(0x09b9c), P(0x09ba0), P(0x09ba4), P(0x09ba8),
    576  1.1.4.2  tls 	P(0x09bac), P(0x09bb0), P(0x09bb4), P(0x09bb8), P(0x09bbc),
    577  1.1.4.2  tls 	P(0x09bc0), P(0x09bc4), P(0x09bc8), P(0x09bcc), P(0x09bd0),
    578  1.1.4.2  tls 	P(0x09bd4), P(0x09bd8), P(0x09bdc), P(0x09be0), P(0x09be4),
    579  1.1.4.2  tls 	P(0x09be8), P(0x09bec), P(0x09bf0), P(0x09bf4), P(0x09bf8),
    580  1.1.4.2  tls 	P(0x09bfc), P(0x0a210), P(0x0a214), P(0x0a218), P(0x0a220),
    581  1.1.4.2  tls 	P(0x0a224), P(0x0a228), P(0x0a22c), P(0x0a234), P(0x0a238),
    582  1.1.4.2  tls 	P(0x0a23c), P(0x0a240), P(0x0a244), P(0x0a248), P(0x0a24c),
    583  1.1.4.2  tls 	P(0x0a250), P(0x0a254), P(0x0a258), P(0x0a25c), P(0x0a260),
    584  1.1.4.2  tls 	P(0x0a268), P(0x0a26c), P(0x0b26c), P(0x0c26c), P(0x0d270),
    585  1.1.4.2  tls 	P(0x0a278), P(0x0a27c), P(0x0a338), P(0x0a33c), P(0x0a340),
    586  1.1.4.2  tls 	P(0x0a344), P(0x0a348), P(0x0a34c), P(0x0a350), P(0x0a354),
    587  1.1.4.2  tls 	P(0x0a358), P(0x0d35c), P(0x0d360), P(0x0d364), P(0x0d368),
    588  1.1.4.2  tls 	P(0x0d36c), P(0x0d370), P(0x0d374), P(0x0d378), P(0x0d37c),
    589  1.1.4.2  tls 	P(0x0d380), P(0x0d384), P(0x0a388), P(0x0a38c), P(0x0a390),
    590  1.1.4.2  tls 	P(0x0a394), P(0x0a398), P(0x0a39c), P(0x0a3a0), P(0x0a3a4),
    591  1.1.4.2  tls 	P(0x0a3a8), P(0x0a3ac), P(0x0a3b0), P(0x0a3b4), P(0x0a3b8),
    592  1.1.4.2  tls 	P(0x0a3bc), P(0x0a3c0), P(0x0a3c4), P(0x0a3c8), P(0x0a3cc),
    593  1.1.4.2  tls 	P(0x0a3d0), P(0x0a3d4), P(0x0a3dc), P(0x0a3e0)
    594  1.1.4.2  tls };
    595  1.1.4.2  tls 
    596  1.1.4.2  tls static const uint32_t ar9160_cm_vals[] = {
    597  1.1.4.2  tls 	0x00000000, 0x00020015, 0x00000005, 0x00000000, 0x00000008,
    598  1.1.4.2  tls 	0x00000008, 0x00000010, 0x00000000, 0x0000001f, 0x00000000,
    599  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    600  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x002ffc0f,
    601  1.1.4.2  tls 	0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x002ffc0f,
    602  1.1.4.2  tls 	0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x002ffc0f, 0x00000000,
    603  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    604  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    605  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    606  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    607  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    608  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    609  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    610  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    611  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    612  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    613  1.1.4.2  tls 	0x00000000, 0x00000002, 0x00000002, 0x00000020, 0x000004c2,
    614  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000700, 0x00000000,
    615  1.1.4.2  tls 	0x00000000, 0x00000000, 0x40000000, 0x00000000, 0x00000000,
    616  1.1.4.2  tls 	0x000fc78f, 0x0000000f, 0x00000000, 0x2a82301a, 0x05dc01e0,
    617  1.1.4.2  tls 	0x1f402710, 0x01f40000, 0x00001e00, 0x00000000, 0x00400000,
    618  1.1.4.2  tls 	0xffffffff, 0x0000ffff, 0x003f3f3f, 0x00000000, 0x00000000,
    619  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00020000, 0x00020000, 0x00000001,
    620  1.1.4.2  tls 	0x00000052, 0x00000000, 0x00000168, 0x000100aa, 0x00003210,
    621  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    622  1.1.4.2  tls 	0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000,
    623  1.1.4.2  tls 	0x32143320, 0xfaa4fa50, 0x00000100, 0x00000000, 0x00000000,
    624  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    625  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    626  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    627  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    628  1.1.4.2  tls 	0x00000000, 0x00100000, 0x0010f400, 0x00000100, 0x0001e800,
    629  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x400000ff, 0x00080922,
    630  1.1.4.2  tls 	0x88a00010, 0x00000000, 0x40000000, 0x003e4180, 0x00000000,
    631  1.1.4.2  tls 	0x0000002c, 0x0000002c, 0x00000000, 0x00000000, 0x00000000,
    632  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    633  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000007, 0x00000302,
    634  1.1.4.2  tls 	0x00000e00, 0x00ff0000, 0x00000000, 0x000107ff, 0x00000000,
    635  1.1.4.2  tls 	0xad848e19, 0x7d14e000, 0x9c0a9f6b, 0x00000000, 0x0000a000,
    636  1.1.4.2  tls 	0x00000000, 0x00200400, 0x206a01ae, 0x1284233c, 0x00000859,
    637  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x10000fff,
    638  1.1.4.2  tls 	0x05100000, 0x05100000, 0x05100000, 0x00000001, 0x00000004,
    639  1.1.4.2  tls 	0x1e1f2022, 0x0a0b0c0d, 0x00000000, 0x9280b212, 0x00020028,
    640  1.1.4.2  tls 	0x5f3ca3de, 0x2108ecff, 0x00750604, 0x004b6a8e, 0x190fb515,
    641  1.1.4.2  tls 	0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000,
    642  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    643  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000001, 0x201fff00, 0x006f0000,
    644  1.1.4.2  tls 	0x03051000, 0x00000000, 0x00000200, 0xaaaaaaaa, 0x3c466478,
    645  1.1.4.2  tls 	0x0cc80caa, 0x00001042, 0x00000000, 0x00000001, 0x00000002,
    646  1.1.4.2  tls 	0x00000003, 0x00000004, 0x00000005, 0x00000008, 0x00000009,
    647  1.1.4.2  tls 	0x0000000a, 0x0000000b, 0x0000000c, 0x0000000d, 0x00000010,
    648  1.1.4.2  tls 	0x00000011, 0x00000012, 0x00000013, 0x00000014, 0x00000015,
    649  1.1.4.2  tls 	0x00000018, 0x00000019, 0x0000001a, 0x0000001b, 0x0000001c,
    650  1.1.4.2  tls 	0x0000001d, 0x00000020, 0x00000021, 0x00000022, 0x00000023,
    651  1.1.4.2  tls 	0x00000024, 0x00000025, 0x00000028, 0x00000029, 0x0000002a,
    652  1.1.4.2  tls 	0x0000002b, 0x0000002c, 0x0000002d, 0x00000030, 0x00000031,
    653  1.1.4.2  tls 	0x00000032, 0x00000033, 0x00000034, 0x00000035, 0x00000035,
    654  1.1.4.2  tls 	0x00000035, 0x00000035, 0x00000035, 0x00000035, 0x00000035,
    655  1.1.4.2  tls 	0x00000035, 0x00000035, 0x00000035, 0x00000035, 0x00000035,
    656  1.1.4.2  tls 	0x00000035, 0x00000035, 0x00000035, 0x00000035, 0x00000035,
    657  1.1.4.2  tls 	0x00000035, 0x00000035, 0x00000035, 0x00000035, 0x00000010,
    658  1.1.4.2  tls 	0x0000001a, 0x40806333, 0x00106c10, 0x009c4060, 0x018830c6,
    659  1.1.4.2  tls 	0x00000400, 0x001a0bb5, 0x00000000, 0x20202020, 0x20202020,
    660  1.1.4.2  tls 	0x13c889af, 0x38490a20, 0x00007bb6, 0x0fff3ffc, 0x00000001,
    661  1.1.4.2  tls 	0x0000e000, 0x00000000, 0x0cc75380, 0x0f0f0f01, 0xdfa91f01,
    662  1.1.4.2  tls 	0x00000001, 0x0e79e5c6, 0x0e79e5c6, 0x0e79e5c6, 0x00820820,
    663  1.1.4.2  tls 	0x1ce739ce, 0x050701ce, 0x00000000, 0x00000000, 0x00000000,
    664  1.1.4.2  tls 	0x00000000, 0x3fffffff, 0x3fffffff, 0x3fffffff, 0x0003ffff,
    665  1.1.4.2  tls 	0x79bfaa03, 0x07ffffef, 0x0fffffe7, 0x17ffffe5, 0x1fffffe4,
    666  1.1.4.2  tls 	0x37ffffe3, 0x3fffffe3, 0x57ffffe3, 0x5fffffe2, 0x7fffffe2,
    667  1.1.4.2  tls 	0x7f3c7bba, 0xf3307ff0, 0x0c000000, 0x20202020, 0x20202020,
    668  1.1.4.2  tls 	0x1ce739ce, 0x000001ce, 0x00000001, 0x00000000, 0x00000000,
    669  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    670  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000246, 0x20202020,
    671  1.1.4.2  tls 	0x20202020, 0x20202020, 0x1ce739ce, 0x000001ce
    672  1.1.4.2  tls };
    673  1.1.4.2  tls 
    674  1.1.4.2  tls static const struct athn_ini ar9160_ini = {
    675  1.1.4.2  tls 	.nregs		= __arraycount(ar9160_regs),
    676  1.1.4.2  tls 	.regs		= ar9160_regs,
    677  1.1.4.2  tls 	.vals_5g20	= ar9160_vals_5g20,
    678  1.1.4.2  tls #ifndef IEEE80211_NO_HT
    679  1.1.4.2  tls 	.vals_5g40	= ar9160_vals_5g40,
    680  1.1.4.2  tls 	.vals_2g40	= ar9160_vals_2g40,
    681  1.1.4.2  tls #endif
    682  1.1.4.2  tls 	.vals_2g20	= ar9160_vals_2g20,
    683  1.1.4.2  tls 	.ncmregs	= __arraycount(ar9160_cm_regs),
    684  1.1.4.2  tls 	.cmregs		= ar9160_cm_regs,
    685  1.1.4.2  tls 	.cmvals		= ar9160_cm_vals
    686  1.1.4.2  tls };
    687  1.1.4.2  tls 
    688  1.1.4.2  tls /*
    689  1.1.4.2  tls  * BB/RF Gains common to AR5416 and AR9160.
    690  1.1.4.2  tls  */
    691  1.1.4.2  tls static const uint32_t ar5416_bb_rfgain_vals_5g[] = {
    692  1.1.4.2  tls 	0x00000000, 0x00000040, 0x00000080, 0x000001a1, 0x000001e1,
    693  1.1.4.2  tls 	0x00000021, 0x00000061, 0x00000168, 0x000001a8, 0x000001e8,
    694  1.1.4.2  tls 	0x00000028, 0x00000068, 0x00000189, 0x000001c9, 0x00000009,
    695  1.1.4.2  tls 	0x00000049, 0x00000089, 0x00000170, 0x000001b0, 0x000001f0,
    696  1.1.4.2  tls 	0x00000030, 0x00000070, 0x00000191, 0x000001d1, 0x00000011,
    697  1.1.4.2  tls 	0x00000051, 0x00000091, 0x000001b8, 0x000001f8, 0x00000038,
    698  1.1.4.2  tls 	0x00000078, 0x00000199, 0x000001d9, 0x00000019, 0x00000059,
    699  1.1.4.2  tls 	0x00000099, 0x000000d9, 0x000000f9, 0x000000f9, 0x000000f9,
    700  1.1.4.2  tls 	0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9,
    701  1.1.4.2  tls 	0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9,
    702  1.1.4.2  tls 	0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9,
    703  1.1.4.2  tls 	0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9,
    704  1.1.4.2  tls 	0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9
    705  1.1.4.2  tls };
    706  1.1.4.2  tls 
    707  1.1.4.2  tls static const uint32_t ar5416_bb_rfgain_vals_2g[] = {
    708  1.1.4.2  tls 	0x00000000, 0x00000040, 0x00000080, 0x00000141, 0x00000181,
    709  1.1.4.2  tls 	0x000001c1, 0x00000001, 0x00000041, 0x000001a8, 0x000001e8,
    710  1.1.4.2  tls 	0x00000028, 0x00000068, 0x000000a8, 0x00000169, 0x000001a9,
    711  1.1.4.2  tls 	0x000001e9, 0x00000029, 0x00000069, 0x00000190, 0x000001d0,
    712  1.1.4.2  tls 	0x00000010, 0x00000050, 0x00000090, 0x00000151, 0x00000191,
    713  1.1.4.2  tls 	0x000001d1, 0x00000011, 0x00000051, 0x00000198, 0x000001d8,
    714  1.1.4.2  tls 	0x00000018, 0x00000058, 0x00000098, 0x00000159, 0x00000199,
    715  1.1.4.2  tls 	0x000001d9, 0x00000019, 0x00000059, 0x00000099, 0x000000d9,
    716  1.1.4.2  tls 	0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9,
    717  1.1.4.2  tls 	0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9,
    718  1.1.4.2  tls 	0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9,
    719  1.1.4.2  tls 	0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9,
    720  1.1.4.2  tls 	0x000000f9, 0x000000f9, 0x000000f9, 0x000000f9
    721  1.1.4.2  tls };
    722  1.1.4.2  tls 
    723  1.1.4.2  tls static const uint32_t ar5416_2_1_addac_vals[] = {
    724  1.1.4.2  tls 	0x00000000, 0x00000003, 0x00000000, 0x0000000c, 0x00000000,
    725  1.1.4.2  tls 	0x00000030, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    726  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    727  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000060, 0x00000000,
    728  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    729  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    730  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    731  1.1.4.2  tls 	0x00000000
    732  1.1.4.2  tls };
    733  1.1.4.2  tls 
    734  1.1.4.2  tls static const struct athn_addac ar5416_2_1_addac = {
    735  1.1.4.2  tls 	__arraycount(ar5416_2_1_addac_vals),
    736  1.1.4.2  tls 	ar5416_2_1_addac_vals
    737  1.1.4.2  tls };
    738  1.1.4.2  tls 
    739  1.1.4.2  tls static const uint32_t ar5416_2_2_addac_vals[] = {
    740  1.1.4.2  tls 	0x00000000, 0x00000003, 0x00000000, 0x0000000c, 0x00000000,
    741  1.1.4.2  tls 	0x00000030, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    742  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    743  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000060, 0x00000000,
    744  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    745  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    746  1.1.4.2  tls 	0x00000000, 0x00000058, 0x00000000, 0x00000000, 0x00000000,
    747  1.1.4.2  tls 	0x00000000
    748  1.1.4.2  tls };
    749  1.1.4.2  tls 
    750  1.1.4.2  tls static const struct athn_addac ar5416_2_2_addac = {
    751  1.1.4.2  tls 	__arraycount(ar5416_2_2_addac_vals),
    752  1.1.4.2  tls 	ar5416_2_2_addac_vals
    753  1.1.4.2  tls };
    754  1.1.4.2  tls 
    755  1.1.4.2  tls static const uint32_t ar9160_1_0_addac_vals[] = {
    756  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    757  1.1.4.2  tls 	0x00000000, 0x000000c0, 0x00000018, 0x00000004, 0x00000000,
    758  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    759  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    760  1.1.4.2  tls 	0x00000000, 0x000000c0, 0x00000019, 0x00000004, 0x00000000,
    761  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000004, 0x00000003, 0x00000008,
    762  1.1.4.2  tls 	0x00000000
    763  1.1.4.2  tls };
    764  1.1.4.2  tls 
    765  1.1.4.2  tls static const struct athn_addac ar9160_1_0_addac = {
    766  1.1.4.2  tls 	__arraycount(ar9160_1_0_addac_vals),
    767  1.1.4.2  tls 	ar9160_1_0_addac_vals
    768  1.1.4.2  tls };
    769  1.1.4.2  tls 
    770  1.1.4.2  tls static const uint32_t ar9160_1_1_addac_vals[] = {
    771  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    772  1.1.4.2  tls 	0x00000000, 0x000000c0, 0x00000018, 0x00000004, 0x00000000,
    773  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    774  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    775  1.1.4.2  tls 	0x00000000, 0x000000c0, 0x00000019, 0x00000004, 0x00000000,
    776  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
    777  1.1.4.2  tls 	0x00000000
    778  1.1.4.2  tls };
    779  1.1.4.2  tls 
    780  1.1.4.2  tls static const struct athn_addac ar9160_1_1_addac = {
    781  1.1.4.2  tls 	__arraycount(ar9160_1_1_addac_vals),
    782  1.1.4.2  tls 	ar9160_1_1_addac_vals
    783  1.1.4.2  tls };
    784  1.1.4.2  tls 
    785  1.1.4.2  tls static const uint32_t ar5416_bank6tpc_vals[] = {
    786  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00e00000, 0x005e0000,
    787  1.1.4.2  tls 	0x00120000, 0x00620000, 0x00020000, 0x00ff0000, 0x00ff0000,
    788  1.1.4.2  tls 	0x00ff0000, 0x40ff0000, 0x005f0000, 0x00870000, 0x00f90000,
    789  1.1.4.2  tls 	0x007b0000, 0x00ff0000, 0x00f50000, 0x00dc0000, 0x00110000,
    790  1.1.4.2  tls 	0x006100a8, 0x00423022, 0x201400df, 0x00c40002, 0x003000f2,
    791  1.1.4.2  tls 	0x00440016, 0x00410040, 0x0001805e, 0x0000c0ab, 0x000000e1,
    792  1.1.4.2  tls 	0x00007081, 0x000000d4
    793  1.1.4.2  tls };
    794  1.1.4.2  tls 
    795  1.1.4.2  tls static const uint32_t ar9160_bank6tpc_vals[] = {
    796  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00e00000, 0x005e0000,
    797  1.1.4.2  tls 	0x00120000, 0x00620000, 0x00020000, 0x00ff0000, 0x00ff0000,
    798  1.1.4.2  tls 	0x00ff0000, 0x40ff0000, 0x005f0000, 0x00870000, 0x00f90000,
    799  1.1.4.2  tls 	0x007b0000, 0x00ff0000, 0x00f50000, 0x00dc0000, 0x00110000,
    800  1.1.4.2  tls 	0x006100a8, 0x00423022, 0x2014008f, 0x00c40002, 0x003000f2,
    801  1.1.4.2  tls 	0x00440016, 0x00410040, 0x0001805e, 0x0000c0ab, 0x000000e1,
    802  1.1.4.2  tls 	0x00007080, 0x000000d4
    803  1.1.4.2  tls };
    804  1.1.4.2  tls 
    805  1.1.4.2  tls static const uint32_t ar5416_bank6_vals[] = {
    806  1.1.4.2  tls 	0x00000000, 0x00000000, 0x00000000, 0x00e00000, 0x005e0000,
    807  1.1.4.2  tls 	0x00120000, 0x00620000, 0x00020000, 0x00ff0000, 0x00ff0000,
    808  1.1.4.2  tls 	0x00ff0000, 0x40ff0000, 0x005f0000, 0x00870000, 0x00f90000,
    809  1.1.4.2  tls 	0x007b0000, 0x00ff0000, 0x00f50000, 0x00dc0000, 0x00110000,
    810  1.1.4.2  tls 	0x006100a8, 0x004210a2, 0x0014008f, 0x00c40003, 0x003000f2,
    811  1.1.4.2  tls 	0x00440016, 0x00410040, 0x0001805e, 0x0000c0ab, 0x000000f1,
    812  1.1.4.2  tls 	0x00002081, 0x000000d4
    813  1.1.4.2  tls };
    814  1.1.4.2  tls 
    815  1.1.4.2  tls /*
    816  1.1.4.2  tls  * Serializer/Deserializer programming.
    817  1.1.4.2  tls  */
    818  1.1.4.2  tls 
    819  1.1.4.2  tls static const uint32_t ar5416_serdes_regs[] = {
    820  1.1.4.2  tls 	AR_PCIE_SERDES,
    821  1.1.4.2  tls 	AR_PCIE_SERDES,
    822  1.1.4.2  tls 	AR_PCIE_SERDES,
    823  1.1.4.2  tls 	AR_PCIE_SERDES,
    824  1.1.4.2  tls 	AR_PCIE_SERDES,
    825  1.1.4.2  tls 	AR_PCIE_SERDES,
    826  1.1.4.2  tls 	AR_PCIE_SERDES,
    827  1.1.4.2  tls 	AR_PCIE_SERDES,
    828  1.1.4.2  tls 	AR_PCIE_SERDES,
    829  1.1.4.2  tls 	AR_PCIE_SERDES2
    830  1.1.4.2  tls };
    831  1.1.4.2  tls 
    832  1.1.4.2  tls static const uint32_t ar5416_serdes_vals[] = {
    833  1.1.4.2  tls 	0x9248fc00,
    834  1.1.4.2  tls 	0x24924924,
    835  1.1.4.2  tls 	/* RX shut off when elecidle is asserted. */
    836  1.1.4.2  tls 	0x28000039,
    837  1.1.4.2  tls 	0x53160824,
    838  1.1.4.2  tls 	0xe5980579,
    839  1.1.4.2  tls 	0x001defff,
    840  1.1.4.2  tls 	0x1aaabe40,
    841  1.1.4.2  tls 	0xbe105554,
    842  1.1.4.2  tls 	0x000e3007,
    843  1.1.4.2  tls 	0x00000000
    844  1.1.4.2  tls };
    845  1.1.4.2  tls 
    846  1.1.4.2  tls static const struct athn_serdes ar5416_serdes = {
    847  1.1.4.2  tls 	__arraycount(ar5416_serdes_vals),
    848  1.1.4.2  tls 	ar5416_serdes_regs,
    849  1.1.4.2  tls 	ar5416_serdes_vals,
    850  1.1.4.2  tls };
    851  1.1.4.2  tls 
    852  1.1.4.2  tls #endif /* _ARN5416REG_H_ */
    853