diff options
Diffstat (limited to 'drivers/net/wireless/b43/radio_2056.c')
| -rw-r--r-- | drivers/net/wireless/b43/radio_2056.c | 1336 | 
1 files changed, 1269 insertions, 67 deletions
diff --git a/drivers/net/wireless/b43/radio_2056.c b/drivers/net/wireless/b43/radio_2056.c index b4fd9345d67..2ce25607c60 100644 --- a/drivers/net/wireless/b43/radio_2056.c +++ b/drivers/net/wireless/b43/radio_2056.c @@ -48,7 +48,7 @@ struct b2056_inittabs_pts {  	unsigned int rx_length;  }; -static const struct b2056_inittab_entry b2056_inittab_rev3_syn[] = { +static const struct b2056_inittab_entry b2056_inittab_phy_rev3_syn[] = {  	[B2056_SYN_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_SYN_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_SYN_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -232,7 +232,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev3_syn[] = {  	[B2056_SYN_LOGEN_TX_CMOS_VALID]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev3_tx[] = { +static const struct b2056_inittab_entry b2056_inittab_phy_rev3_tx[] = {  	[B2056_TX_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_TX_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_TX_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -380,7 +380,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev3_tx[] = {  	[B2056_TX_STATUS_TXLPF_RC]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev3_rx[] = { +static const struct b2056_inittab_entry b2056_inittab_phy_rev3_rx[] = {  	[B2056_RX_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_RX_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_RX_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -530,7 +530,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev3_rx[] = {  	[B2056_RX_STATUS_HPC_RC]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev4_syn[] = { +static const struct b2056_inittab_entry b2056_inittab_phy_rev4_syn[] = {  	[B2056_SYN_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_SYN_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_SYN_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -714,7 +714,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev4_syn[] = {  	[B2056_SYN_LOGEN_TX_CMOS_VALID]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev4_tx[] = { +static const struct b2056_inittab_entry b2056_inittab_phy_rev4_tx[] = {  	[B2056_TX_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_TX_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_TX_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -862,7 +862,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev4_tx[] = {  	[B2056_TX_STATUS_TXLPF_RC]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev4_rx[] = { +static const struct b2056_inittab_entry b2056_inittab_phy_rev4_rx[] = {  	[B2056_RX_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_RX_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_RX_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -1012,7 +1012,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev4_rx[] = {  	[B2056_RX_STATUS_HPC_RC]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev5_syn[] = { +static const struct b2056_inittab_entry b2056_inittab_radio_rev5_syn[] = {  	[B2056_SYN_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_SYN_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_SYN_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -1196,7 +1196,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev5_syn[] = {  	[B2056_SYN_LOGEN_TX_CMOS_VALID]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev5_tx[] = { +static const struct b2056_inittab_entry b2056_inittab_radio_rev5_tx[] = {  	[B2056_TX_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_TX_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_TX_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -1352,7 +1352,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev5_tx[] = {  	[B2056_TX_GMBB_IDAC7]		= { .ghz5 = 0x0075, .ghz2 = 0x0075, UPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev5_rx[] = { +static const struct b2056_inittab_entry b2056_inittab_radio_rev5_rx[] = {  	[B2056_RX_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_RX_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_RX_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -1502,7 +1502,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev5_rx[] = {  	[B2056_RX_STATUS_HPC_RC]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev6_syn[] = { +static const struct b2056_inittab_entry b2056_inittab_radio_rev6_syn[] = {  	[B2056_SYN_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_SYN_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_SYN_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -1686,7 +1686,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev6_syn[] = {  	[B2056_SYN_LOGEN_TX_CMOS_VALID]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev6_tx[] = { +static const struct b2056_inittab_entry b2056_inittab_radio_rev6_tx[] = {  	[B2056_TX_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_TX_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_TX_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -1842,7 +1842,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev6_tx[] = {  	[B2056_TX_GMBB_IDAC7]		= { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev6_rx[] = { +static const struct b2056_inittab_entry b2056_inittab_radio_rev6_rx[] = {  	[B2056_RX_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_RX_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_RX_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -1992,7 +1992,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev6_rx[] = {  	[B2056_RX_STATUS_HPC_RC]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev7_syn[] = { +static const struct b2056_inittab_entry b2056_inittab_radio_rev7_9_syn[] = {  	[B2056_SYN_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_SYN_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_SYN_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -2176,7 +2176,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev7_syn[] = {  	[B2056_SYN_LOGEN_TX_CMOS_VALID]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev7_tx[] = { +static const struct b2056_inittab_entry b2056_inittab_radio_rev7_9_tx[] = {  	[B2056_TX_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_TX_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_TX_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -2332,7 +2332,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev7_tx[] = {  	[B2056_TX_GMBB_IDAC7]		= { .ghz5 = 0x0075, .ghz2 = 0x0075, UPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev7_rx[] = { +static const struct b2056_inittab_entry b2056_inittab_radio_rev7_9_rx[] = {  	[B2056_RX_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_RX_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_RX_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -2482,7 +2482,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev7_rx[] = {  	[B2056_RX_STATUS_HPC_RC]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev8_syn[] = { +static const struct b2056_inittab_entry b2056_inittab_radio_rev8_syn[] = {  	[B2056_SYN_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_SYN_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_SYN_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -2666,7 +2666,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev8_syn[] = {  	[B2056_SYN_LOGEN_TX_CMOS_VALID]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev8_tx[] = { +static const struct b2056_inittab_entry b2056_inittab_radio_rev8_tx[] = {  	[B2056_TX_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_TX_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_TX_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -2822,7 +2822,7 @@ static const struct b2056_inittab_entry b2056_inittab_rev8_tx[] = {  	[B2056_TX_GMBB_IDAC7]		= { .ghz5 = 0x0070, .ghz2 = 0x0070, NOUPLOAD, },  }; -static const struct b2056_inittab_entry b2056_inittab_rev8_rx[] = { +static const struct b2056_inittab_entry b2056_inittab_radio_rev8_rx[] = {  	[B2056_RX_RESERVED_ADDR2]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_RX_RESERVED_ADDR3]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  	[B2056_RX_RESERVED_ADDR4]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, }, @@ -2972,24 +2972,69 @@ static const struct b2056_inittab_entry b2056_inittab_rev8_rx[] = {  	[B2056_RX_STATUS_HPC_RC]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, NOUPLOAD, },  }; -#define INITTABSPTS(prefix) \ -	.syn		= prefix##_syn,			\ -	.syn_length	= ARRAY_SIZE(prefix##_syn),	\ -	.tx		= prefix##_tx,			\ -	.tx_length	= ARRAY_SIZE(prefix##_tx),	\ -	.rx		= prefix##_rx,			\ -	.rx_length	= ARRAY_SIZE(prefix##_rx) +static const struct b2056_inittab_entry b2056_inittab_radio_rev11_syn[] = { +	[B2056_SYN_PLL_PFD]		= { .ghz5 = 0x0006, .ghz2 = 0x0006, UPLOAD, }, +	[B2056_SYN_PLL_CP2]		= { .ghz5 = 0x003f, .ghz2 = 0x003f, UPLOAD, }, +	[B2056_SYN_PLL_LOOPFILTER1]	= { .ghz5 = 0x0006, .ghz2 = 0x0006, UPLOAD, }, +	[B2056_SYN_PLL_LOOPFILTER2]	= { .ghz5 = 0x0006, .ghz2 = 0x0006, UPLOAD, }, +	[B2056_SYN_PLL_LOOPFILTER4]	= { .ghz5 = 0x002b, .ghz2 = 0x002b, UPLOAD, }, +	[B2056_SYN_PLL_VCO2]		= { .ghz5 = 0x00f7, .ghz2 = 0x00f7, UPLOAD, }, +	[B2056_SYN_PLL_VCOCAL12]	= { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, +	[B2056_SYN_LOGENBUF2]		= { .ghz5 = 0x008f, .ghz2 = 0x008f, UPLOAD, }, +}; -static const struct b2056_inittabs_pts b2056_inittabs[] = { -	[3] = { INITTABSPTS(b2056_inittab_rev3) }, -	[4] = { INITTABSPTS(b2056_inittab_rev4) }, -	[5] = { INITTABSPTS(b2056_inittab_rev5) }, -	[6] = { INITTABSPTS(b2056_inittab_rev6) }, -	[7] = { INITTABSPTS(b2056_inittab_rev7) }, -	[8] = { INITTABSPTS(b2056_inittab_rev8) }, -	[9] = { INITTABSPTS(b2056_inittab_rev7) }, +static const struct b2056_inittab_entry b2056_inittab_radio_rev11_tx[] = { +	[B2056_TX_PA_SPARE2]		= { .ghz5 = 0x00ee, .ghz2 = 0x00ee, UPLOAD, }, +	[B2056_TX_INTPAA_IAUX_STAT]	= { .ghz5 = 0x0050, .ghz2 = 0x0050, UPLOAD, }, +	[B2056_TX_INTPAA_IMAIN_STAT]	= { .ghz5 = 0x0050, .ghz2 = 0x0050, UPLOAD, }, +	[B2056_TX_INTPAA_PASLOPE]	= { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, +	[B2056_TX_INTPAG_PASLOPE]	= { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, +	[B2056_TX_PADA_IDAC]		= { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, +	[B2056_TX_PADA_SLOPE]		= { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, +	[B2056_TX_PADG_SLOPE]		= { .ghz5 = 0x0070, .ghz2 = 0x0070, UPLOAD, }, +	[B2056_TX_PGAA_IDAC]		= { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, +	[B2056_TX_PGAA_SLOPE]		= { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, +	[B2056_TX_PGAG_SLOPE]		= { .ghz5 = 0x0077, .ghz2 = 0x0077, UPLOAD, }, +	[B2056_TX_GMBB_IDAC]		= { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, +	[B2056_TX_TXSPARE1]		= { .ghz5 = 0x0030, .ghz2 = 0x0030, UPLOAD, }, +}; + +static const struct b2056_inittab_entry b2056_inittab_radio_rev11_rx[] = { +	[B2056_RX_BIASPOLE_LNAA1_IDAC]	= { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, +	[B2056_RX_LNAA2_IDAC]		= { .ghz5 = 0x00ff, .ghz2 = 0x00ff, UPLOAD, }, +	[B2056_RX_BIASPOLE_LNAG1_IDAC]	= { .ghz5 = 0x0017, .ghz2 = 0x0017, UPLOAD, }, +	[B2056_RX_LNAG2_IDAC]		= { .ghz5 = 0x00f0, .ghz2 = 0x00f0, UPLOAD, }, +	[B2056_RX_MIXA_VCM]		= { .ghz5 = 0x0055, .ghz2 = 0x0055, UPLOAD, }, +	[B2056_RX_MIXA_LOB_BIAS]	= { .ghz5 = 0x0088, .ghz2 = 0x0088, UPLOAD, }, +	[B2056_RX_MIXA_BIAS_AUX]	= { .ghz5 = 0x0007, .ghz2 = 0x0007, UPLOAD, }, +	[B2056_RX_MIXG_VCM]		= { .ghz5 = 0x0055, .ghz2 = 0x0055, UPLOAD, }, +	[B2056_RX_TIA_IOPAMP]		= { .ghz5 = 0x0026, .ghz2 = 0x0026, UPLOAD, }, +	[B2056_RX_TIA_QOPAMP]		= { .ghz5 = 0x0026, .ghz2 = 0x0026, UPLOAD, }, +	[B2056_RX_TIA_IMISC]		= { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, +	[B2056_RX_TIA_QMISC]		= { .ghz5 = 0x000f, .ghz2 = 0x000f, UPLOAD, }, +	[B2056_RX_RXLPF_OUTVCM]		= { .ghz5 = 0x0004, .ghz2 = 0x0004, UPLOAD, }, +	[B2056_RX_VGA_BIAS_DCCANCEL]	= { .ghz5 = 0x0000, .ghz2 = 0x0000, UPLOAD, }, +	[B2056_RX_RXSPARE3]		= { .ghz5 = 0x0005, .ghz2 = 0x0005, UPLOAD, },  }; +#define INITTABSPTS(prefix) \ +	static const struct b2056_inittabs_pts prefix = {	\ +		.syn		= prefix##_syn,			\ +		.syn_length	= ARRAY_SIZE(prefix##_syn),	\ +		.tx		= prefix##_tx,			\ +		.tx_length	= ARRAY_SIZE(prefix##_tx),	\ +		.rx		= prefix##_rx,			\ +		.rx_length	= ARRAY_SIZE(prefix##_rx),	\ +	} + +INITTABSPTS(b2056_inittab_phy_rev3); +INITTABSPTS(b2056_inittab_phy_rev4); +INITTABSPTS(b2056_inittab_radio_rev5); +INITTABSPTS(b2056_inittab_radio_rev6); +INITTABSPTS(b2056_inittab_radio_rev7_9); +INITTABSPTS(b2056_inittab_radio_rev8); +INITTABSPTS(b2056_inittab_radio_rev11); +  #define RADIOREGS3(r00, r01, r02, r03, r04, r05, r06, r07, r08, r09, \  		   r10, r11, r12, r13, r14, r15, r16, r17, r18, r19, \  		   r20, r21, r22, r23, r24, r25, r26, r27, r28, r29, \ @@ -3041,7 +3086,7 @@ static const struct b2056_inittabs_pts b2056_inittabs[] = {  	.phy_regs.phy_bw6	= r5  /* http://bcm-v4.sipsolutions.net/802.11/Radio/2056/ChannelTable */ -static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev3[] = { +static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_phy_rev3[] = {    {	.freq			= 4920,  	RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04,  		   0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, @@ -4036,7 +4081,7 @@ static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev3[] =    },  }; -static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev4[] = { +static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_phy_rev4[] = {    {	.freq			= 4920,  	RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04,  		   0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, @@ -5031,7 +5076,7 @@ static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev4[] =    },  }; -static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev5[] = { +static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_radio_rev5[] = {    {	.freq			= 4920,  	RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04,  		   0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, @@ -6026,7 +6071,7 @@ static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev5[] =    },  }; -static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev6[] = { +static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_radio_rev6[] = {    {	.freq			= 4920,  	RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04,  		   0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, @@ -7021,7 +7066,7 @@ static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev6[] =    },  }; -static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev7_9[] = { +static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_radio_rev7_9[] = {    {	.freq			= 4920,  	RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04,  		   0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, @@ -8016,7 +8061,7 @@ static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev7_9[]    },  }; -static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev8[] = { +static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_radio_rev8[] = {    {	.freq			= 4920,  	RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x04,  		   0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, @@ -9011,6 +9056,1154 @@ static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_rev8[] =    },  }; +static const struct b43_nphy_channeltab_entry_rev3 b43_nphy_channeltab_radio_rev11[] = { +	{ +		.freq			= 4920, +		RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xec, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07b4, 0x07b0, 0x07ac, 0x0214, 0x0215, 0x0216), +	}, +	{ +		.freq			= 4930, +		RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xed, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07b8, 0x07b4, 0x07b0, 0x0213, 0x0214, 0x0215), +	}, +	{ +		.freq			= 4940, +		RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xee, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07bc, 0x07b8, 0x07b4, 0x0212, 0x0213, 0x0214), +	}, +	{ +		.freq			= 4950, +		RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xef, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x00, 0x00, 0x00, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07c0, 0x07bc, 0x07b8, 0x0211, 0x0212, 0x0213), +	}, +	{ +		.freq			= 4960, +		RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf0, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07c4, 0x07c0, 0x07bc, 0x020f, 0x0211, 0x0212), +	}, +	{ +		.freq			= 4970, +		RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf1, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07c8, 0x07c4, 0x07c0, 0x020e, 0x020f, 0x0211), +	}, +	{ +		.freq			= 4980, +		RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf2, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07cc, 0x07c8, 0x07c4, 0x020d, 0x020e, 0x020f), +	}, +	{ +		.freq			= 4990, +		RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf3, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07d0, 0x07cc, 0x07c8, 0x020c, 0x020d, 0x020e), +	}, +	{ +		.freq			= 5000, +		RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf4, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07d4, 0x07d0, 0x07cc, 0x020b, 0x020c, 0x020d), +	}, +	{ +		.freq			= 5010, +		RADIOREGS3(0xff, 0x01, 0x01, 0x01, 0xf5, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07d8, 0x07d4, 0x07d0, 0x020a, 0x020b, 0x020c), +	}, +	{ +		.freq			= 5020, +		RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf6, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07dc, 0x07d8, 0x07d4, 0x0209, 0x020a, 0x020b), +	}, +	{ +		.freq			= 5030, +		RADIOREGS3(0xf7, 0x01, 0x01, 0x01, 0xf7, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07e0, 0x07dc, 0x07d8, 0x0208, 0x0209, 0x020a), +	}, +	{ +		.freq			= 5040, +		RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf8, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07e4, 0x07e0, 0x07dc, 0x0207, 0x0208, 0x0209), +	}, +	{ +		.freq			= 5050, +		RADIOREGS3(0xef, 0x01, 0x01, 0x01, 0xf9, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07e8, 0x07e4, 0x07e0, 0x0206, 0x0207, 0x0208), +	}, +	{ +		.freq			= 5060, +		RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfa, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfe, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfe, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07ec, 0x07e8, 0x07e4, 0x0205, 0x0206, 0x0207), +	}, +	{ +		.freq			= 5070, +		RADIOREGS3(0xe6, 0x01, 0x01, 0x01, 0xfb, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07f0, 0x07ec, 0x07e8, 0x0204, 0x0205, 0x0206), +	}, +	{ +		.freq			= 5080, +		RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfc, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07f4, 0x07f0, 0x07ec, 0x0203, 0x0204, 0x0205), +	}, +	{ +		.freq			= 5090, +		RADIOREGS3(0xde, 0x01, 0x01, 0x01, 0xfd, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x01, 0x01, 0x01, 0x8f, 0x0f, 0x00, +			   0xff, 0xfd, 0x00, 0x09, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfd, 0x00, 0x09, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07f8, 0x07f4, 0x07f0, 0x0202, 0x0203, 0x0204), +	}, +	{ +		.freq			= 5100, +		RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xfe, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, +			   0xff, 0xfd, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfd, 0x00, 0x08, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x07fc, 0x07f8, 0x07f4, 0x0201, 0x0202, 0x0203), +	}, +	{ +		.freq			= 5110, +		RADIOREGS3(0xd6, 0x01, 0x01, 0x01, 0xff, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, +			   0xff, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x0800, 0x07fc, 0x07f8, 0x0200, 0x0201, 0x0202), +	}, +	{ +		.freq			= 5120, +		RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x00, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, +			   0xff, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x0804, 0x0800, 0x07fc, 0x01ff, 0x0200, 0x0201), +	}, +	{ +		.freq			= 5130, +		RADIOREGS3(0xce, 0x01, 0x01, 0x02, 0x01, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, +			   0xff, 0xfc, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfc, 0x00, 0x08, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x0808, 0x0804, 0x0800, 0x01fe, 0x01ff, 0x0200), +	}, +	{ +		.freq			= 5140, +		RADIOREGS3(0xc6, 0x01, 0x01, 0x02, 0x02, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, +			   0xff, 0xfb, 0x00, 0x08, 0x00, 0x77, 0x00, 0x0f, +			   0x00, 0x6f, 0x00, 0xfb, 0x00, 0x08, 0x00, 0x77, +			   0x00, 0x0f, 0x00, 0x6f, 0x00), +		PHYREGS(0x080c, 0x0808, 0x0804, 0x01fd, 0x01fe, 0x01ff), +	}, +	{ +		.freq			= 5160, +		RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x04, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, +			   0xff, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e, +			   0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, +			   0x00, 0x0e, 0x00, 0x6f, 0x00), +		PHYREGS(0x0814, 0x0810, 0x080c, 0x01fb, 0x01fc, 0x01fd), +	}, +	{ +		.freq			= 5170, +		RADIOREGS3(0xbe, 0x01, 0x01, 0x02, 0x05, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, +			   0xff, 0xfa, 0x00, 0x07, 0x00, 0x77, 0x00, 0x0e, +			   0x00, 0x6f, 0x00, 0xfa, 0x00, 0x07, 0x00, 0x77, +			   0x00, 0x0e, 0x00, 0x6f, 0x00), +		PHYREGS(0x0818, 0x0814, 0x0810, 0x01fa, 0x01fb, 0x01fc), +	}, +	{ +		.freq			= 5180, +		RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x06, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, +			   0xff, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0e, +			   0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, +			   0x00, 0x0e, 0x00, 0x6f, 0x00), +		PHYREGS(0x081c, 0x0818, 0x0814, 0x01f9, 0x01fa, 0x01fb), +	}, +	{ +		.freq			= 5190, +		RADIOREGS3(0xb6, 0x01, 0x01, 0x02, 0x07, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, +			   0xff, 0xf9, 0x00, 0x06, 0x00, 0x77, 0x00, 0x0d, +			   0x00, 0x6f, 0x00, 0xf9, 0x00, 0x06, 0x00, 0x77, +			   0x00, 0x0d, 0x00, 0x6f, 0x00), +		PHYREGS(0x0820, 0x081c, 0x0818, 0x01f8, 0x01f9, 0x01fa), +	}, +	{ +		.freq			= 5200, +		RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x08, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, +			   0xff, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, +			   0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, +			   0x00, 0x0d, 0x00, 0x6f, 0x00), +		PHYREGS(0x0824, 0x0820, 0x081c, 0x01f7, 0x01f8, 0x01f9), +	}, +	{ +		.freq			= 5210, +		RADIOREGS3(0xaf, 0x01, 0x01, 0x02, 0x09, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8f, 0x0f, 0x00, +			   0xff, 0xf9, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, +			   0x00, 0x6f, 0x00, 0xf9, 0x00, 0x05, 0x00, 0x77, +			   0x00, 0x0d, 0x00, 0x6f, 0x00), +		PHYREGS(0x0828, 0x0824, 0x0820, 0x01f6, 0x01f7, 0x01f8), +	}, +	{ +		.freq			= 5220, +		RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0a, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, +			   0xfe, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, +			   0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, +			   0x00, 0x0d, 0x00, 0x6f, 0x00), +		PHYREGS(0x082c, 0x0828, 0x0824, 0x01f5, 0x01f6, 0x01f7), +	}, +	{ +		.freq			= 5230, +		RADIOREGS3(0xa7, 0x01, 0x01, 0x02, 0x0b, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, +			   0xee, 0xd8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, +			   0x00, 0x6f, 0x00, 0xd8, 0x00, 0x05, 0x00, 0x77, +			   0x00, 0x0d, 0x00, 0x6f, 0x00), +		PHYREGS(0x0830, 0x082c, 0x0828, 0x01f4, 0x01f5, 0x01f6), +	}, +	{ +		.freq			= 5240, +		RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0c, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, +			   0xee, 0xc8, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, +			   0x00, 0x6f, 0x00, 0xc8, 0x00, 0x05, 0x00, 0x77, +			   0x00, 0x0d, 0x00, 0x6f, 0x00), +		PHYREGS(0x0834, 0x0830, 0x082c, 0x01f3, 0x01f4, 0x01f5), +	}, +	{ +		.freq			= 5250, +		RADIOREGS3(0xa0, 0x01, 0x01, 0x02, 0x0d, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0f, 0x00, +			   0xed, 0xc7, 0x00, 0x05, 0x00, 0x77, 0x00, 0x0d, +			   0x00, 0x6f, 0x00, 0xc7, 0x00, 0x05, 0x00, 0x77, +			   0x00, 0x0d, 0x00, 0x6f, 0x00), +		PHYREGS(0x0838, 0x0834, 0x0830, 0x01f2, 0x01f3, 0x01f4), +	}, +	{ +		.freq			= 5260, +		RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0e, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x02, 0x02, 0x02, 0x8e, 0x0e, 0x00, +			   0xed, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0d, +			   0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, +			   0x00, 0x0d, 0x00, 0x6f, 0x00), +		PHYREGS(0x083c, 0x0838, 0x0834, 0x01f1, 0x01f2, 0x01f3), +	}, +	{ +		.freq			= 5270, +		RADIOREGS3(0x98, 0x01, 0x01, 0x02, 0x0f, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8e, 0x0e, 0x00, +			   0xed, 0xc7, 0x00, 0x04, 0x00, 0x77, 0x00, 0x0c, +			   0x00, 0x6f, 0x00, 0xc7, 0x00, 0x04, 0x00, 0x77, +			   0x00, 0x0c, 0x00, 0x6f, 0x00), +		PHYREGS(0x0840, 0x083c, 0x0838, 0x01f0, 0x01f1, 0x01f2), +	}, +	{ +		.freq			= 5280, +		RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x10, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, +			   0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, +			   0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0c, 0x00, 0x6f, 0x00), +		PHYREGS(0x0844, 0x0840, 0x083c, 0x01f0, 0x01f0, 0x01f1), +	}, +	{ +		.freq			= 5290, +		RADIOREGS3(0x91, 0x01, 0x01, 0x02, 0x11, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, +			   0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, +			   0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0c, 0x00, 0x6f, 0x00), +		PHYREGS(0x0848, 0x0844, 0x0840, 0x01ef, 0x01f0, 0x01f0), +	}, +	{ +		.freq			= 5300, +		RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x12, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, +			   0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, +			   0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0c, 0x00, 0x6f, 0x00), +		PHYREGS(0x084c, 0x0848, 0x0844, 0x01ee, 0x01ef, 0x01f0), +	}, +	{ +		.freq			= 5310, +		RADIOREGS3(0x8a, 0x01, 0x01, 0x02, 0x13, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, +			   0xdc, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, +			   0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0c, 0x00, 0x6f, 0x00), +		PHYREGS(0x0850, 0x084c, 0x0848, 0x01ed, 0x01ee, 0x01ef), +	}, +	{ +		.freq			= 5320, +		RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x14, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0e, 0x00, +			   0xdb, 0xb7, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0c, +			   0x00, 0x6f, 0x00, 0xb7, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0c, 0x00, 0x6f, 0x00), +		PHYREGS(0x0854, 0x0850, 0x084c, 0x01ec, 0x01ed, 0x01ee), +	}, +	{ +		.freq			= 5330, +		RADIOREGS3(0x83, 0x01, 0x01, 0x02, 0x15, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, +			   0xcb, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b, +			   0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0b, 0x00, 0x6f, 0x00), +		PHYREGS(0x0858, 0x0854, 0x0850, 0x01eb, 0x01ec, 0x01ed), +	}, +	{ +		.freq			= 5340, +		RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x16, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8d, 0x0d, 0x00, +			   0xca, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b, +			   0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0b, 0x00, 0x6f, 0x00), +		PHYREGS(0x085c, 0x0858, 0x0854, 0x01ea, 0x01eb, 0x01ec), +	}, +	{ +		.freq			= 5350, +		RADIOREGS3(0x7c, 0x01, 0x01, 0x02, 0x17, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, +			   0xca, 0xa6, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0b, +			   0x00, 0x6f, 0x00, 0xa6, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0b, 0x00, 0x6f, 0x00), +		PHYREGS(0x0860, 0x085c, 0x0858, 0x01e9, 0x01ea, 0x01eb), +	}, +	{ +		.freq			= 5360, +		RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x18, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, +			   0xc9, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, +			   0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0a, 0x00, 0x6f, 0x00), +		PHYREGS(0x0864, 0x0860, 0x085c, 0x01e8, 0x01e9, 0x01ea), +	}, +	{ +		.freq			= 5370, +		RADIOREGS3(0x75, 0x01, 0x01, 0x02, 0x19, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0d, 0x00, +			   0xc9, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, +			   0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0a, 0x00, 0x6f, 0x00), +		PHYREGS(0x0868, 0x0864, 0x0860, 0x01e7, 0x01e8, 0x01e9), +	}, +	{ +		.freq			= 5380, +		RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1a, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, +			   0xb8, 0x95, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, +			   0x00, 0x6f, 0x00, 0x95, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0a, 0x00, 0x6f, 0x00), +		PHYREGS(0x086c, 0x0868, 0x0864, 0x01e6, 0x01e7, 0x01e8), +	}, +	{ +		.freq			= 5390, +		RADIOREGS3(0x6e, 0x01, 0x01, 0x02, 0x1b, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, +			   0xb8, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, +			   0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0a, 0x00, 0x6f, 0x00), +		PHYREGS(0x0870, 0x086c, 0x0868, 0x01e5, 0x01e6, 0x01e7), +	}, +	{ +		.freq			= 5400, +		RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1c, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, +			   0xb8, 0x84, 0x00, 0x03, 0x00, 0x77, 0x00, 0x0a, +			   0x00, 0x6f, 0x00, 0x84, 0x00, 0x03, 0x00, 0x77, +			   0x00, 0x0a, 0x00, 0x6f, 0x00), +		PHYREGS(0x0874, 0x0870, 0x086c, 0x01e5, 0x01e5, 0x01e6), +	}, +	{ +		.freq			= 5410, +		RADIOREGS3(0x67, 0x01, 0x01, 0x02, 0x1d, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, +			   0xb7, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a, +			   0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, +			   0x00, 0x0a, 0x00, 0x6f, 0x00), +		PHYREGS(0x0878, 0x0874, 0x0870, 0x01e4, 0x01e5, 0x01e5), +	}, +	{ +		.freq			= 5420, +		RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1e, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0c, 0x00, +			   0xa7, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a, +			   0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, +			   0x00, 0x0a, 0x00, 0x6f, 0x00), +		PHYREGS(0x087c, 0x0878, 0x0874, 0x01e3, 0x01e4, 0x01e5), +	}, +	{ +		.freq			= 5430, +		RADIOREGS3(0x61, 0x01, 0x01, 0x02, 0x1f, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x03, 0x03, 0x03, 0x8c, 0x0b, 0x00, +			   0xa6, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x0a, +			   0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, +			   0x00, 0x0a, 0x00, 0x6f, 0x00), +		PHYREGS(0x0880, 0x087c, 0x0878, 0x01e2, 0x01e3, 0x01e4), +	}, +	{ +		.freq			= 5440, +		RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x20, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, +			   0xa6, 0x84, 0x00, 0x02, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x84, 0x00, 0x02, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x0884, 0x0880, 0x087c, 0x01e1, 0x01e2, 0x01e3), +	}, +	{ +		.freq			= 5450, +		RADIOREGS3(0x5a, 0x01, 0x01, 0x02, 0x21, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, +			   0x95, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x0888, 0x0884, 0x0880, 0x01e0, 0x01e1, 0x01e2), +	}, +	{ +		.freq			= 5460, +		RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x22, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, +			   0x95, 0x84, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x84, 0x00, 0x01, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x088c, 0x0888, 0x0884, 0x01df, 0x01e0, 0x01e1), +	}, +	{ +		.freq			= 5470, +		RADIOREGS3(0x53, 0x01, 0x01, 0x02, 0x23, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x8b, 0x0b, 0x00, +			   0x94, 0x73, 0x00, 0x01, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x73, 0x00, 0x01, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x0890, 0x088c, 0x0888, 0x01de, 0x01df, 0x01e0), +	}, +	{ +		.freq			= 5480, +		RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x24, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, +			   0x84, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x0894, 0x0890, 0x088c, 0x01dd, 0x01de, 0x01df), +	}, +	{ +		.freq			= 5490, +		RADIOREGS3(0x4d, 0x01, 0x01, 0x02, 0x25, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, +			   0x83, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x0898, 0x0894, 0x0890, 0x01dd, 0x01dd, 0x01de), +	}, +	{ +		.freq			= 5500, +		RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x26, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, +			   0x82, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x089c, 0x0898, 0x0894, 0x01dc, 0x01dd, 0x01dd), +	}, +	{ +		.freq			= 5510, +		RADIOREGS3(0x47, 0x01, 0x01, 0x02, 0x27, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, +			   0x82, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x08a0, 0x089c, 0x0898, 0x01db, 0x01dc, 0x01dd), +	}, +	{ +		.freq			= 5520, +		RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x28, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x0a, 0x00, +			   0x72, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x08a4, 0x08a0, 0x089c, 0x01da, 0x01db, 0x01dc), +	}, +	{ +		.freq			= 5530, +		RADIOREGS3(0x40, 0x01, 0x01, 0x02, 0x29, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, +			   0x72, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x08a8, 0x08a4, 0x08a0, 0x01d9, 0x01da, 0x01db), +	}, +	{ +		.freq			= 5540, +		RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2a, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x8a, 0x09, 0x00, +			   0x71, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x08ac, 0x08a8, 0x08a4, 0x01d8, 0x01d9, 0x01da), +	}, +	{ +		.freq			= 5550, +		RADIOREGS3(0x3a, 0x01, 0x01, 0x02, 0x2b, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, +			   0x61, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x08b0, 0x08ac, 0x08a8, 0x01d7, 0x01d8, 0x01d9), +	}, +	{ +		.freq			= 5560, +		RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2c, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, +			   0x61, 0x73, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x73, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x08b4, 0x08b0, 0x08ac, 0x01d7, 0x01d7, 0x01d8), +	}, +	{ +		.freq			= 5570, +		RADIOREGS3(0x34, 0x01, 0x01, 0x02, 0x2d, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x09, 0x00, +			   0x61, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x09, +			   0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x09, 0x00, 0x6f, 0x00), +		PHYREGS(0x08b8, 0x08b4, 0x08b0, 0x01d6, 0x01d7, 0x01d7), +	}, +	{ +		.freq			= 5580, +		RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2e, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, +			   0x60, 0x62, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08, +			   0x00, 0x6f, 0x00, 0x62, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x08, 0x00, 0x6f, 0x00), +		PHYREGS(0x08bc, 0x08b8, 0x08b4, 0x01d5, 0x01d6, 0x01d7), +	}, +	{ +		.freq			= 5590, +		RADIOREGS3(0x2e, 0x01, 0x01, 0x02, 0x2f, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x04, 0x04, 0x04, 0x89, 0x08, 0x00, +			   0x50, 0x61, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08, +			   0x00, 0x6f, 0x00, 0x61, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x08, 0x00, 0x6f, 0x00), +		PHYREGS(0x08c0, 0x08bc, 0x08b8, 0x01d4, 0x01d5, 0x01d6), +	}, +	{ +		.freq			= 5600, +		RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x30, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, +			   0x50, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08, +			   0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x08, 0x00, 0x6f, 0x00), +		PHYREGS(0x08c4, 0x08c0, 0x08bc, 0x01d3, 0x01d4, 0x01d5), +	}, +	{ +		.freq			= 5610, +		RADIOREGS3(0x28, 0x01, 0x01, 0x02, 0x31, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, +			   0x50, 0x51, 0x00, 0x00, 0x00, 0x77, 0x00, 0x08, +			   0x00, 0x6f, 0x00, 0x51, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x08, 0x00, 0x6f, 0x00), +		PHYREGS(0x08c8, 0x08c4, 0x08c0, 0x01d2, 0x01d3, 0x01d4), +	}, +	{ +		.freq			= 5620, +		RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x32, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x89, 0x08, 0x00, +			   0x50, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07, +			   0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x07, 0x00, 0x6f, 0x00), +		PHYREGS(0x08cc, 0x08c8, 0x08c4, 0x01d2, 0x01d2, 0x01d3), +	}, +	{ +		.freq			= 5630, +		RADIOREGS3(0x21, 0x01, 0x01, 0x02, 0x33, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, +			   0x50, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07, +			   0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x07, 0x00, 0x6f, 0x00), +		PHYREGS(0x08d0, 0x08cc, 0x08c8, 0x01d1, 0x01d2, 0x01d2), +	}, +	{ +		.freq			= 5640, +		RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x34, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, +			   0x40, 0x50, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07, +			   0x00, 0x6f, 0x00, 0x50, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x07, 0x00, 0x6f, 0x00), +		PHYREGS(0x08d4, 0x08d0, 0x08cc, 0x01d0, 0x01d1, 0x01d2), +	}, +	{ +		.freq			= 5650, +		RADIOREGS3(0x1c, 0x01, 0x01, 0x02, 0x35, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, +			   0x40, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x07, +			   0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x07, 0x00, 0x6f, 0x00), +		PHYREGS(0x08d8, 0x08d4, 0x08d0, 0x01cf, 0x01d0, 0x01d1), +	}, +	{ +		.freq			= 5660, +		RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x36, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, +			   0x40, 0x40, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, +			   0x00, 0x6f, 0x00, 0x40, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x06, 0x00, 0x6f, 0x00), +		PHYREGS(0x08dc, 0x08d8, 0x08d4, 0x01ce, 0x01cf, 0x01d0), +	}, +	{ +		.freq			= 5670, +		RADIOREGS3(0x16, 0x01, 0x01, 0x02, 0x37, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x88, 0x07, 0x00, +			   0x40, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, +			   0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x06, 0x00, 0x6f, 0x00), +		PHYREGS(0x08e0, 0x08dc, 0x08d8, 0x01ce, 0x01ce, 0x01cf), +	}, +	{ +		.freq			= 5680, +		RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x38, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, +			   0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, +			   0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x06, 0x00, 0x6f, 0x00), +		PHYREGS(0x08e4, 0x08e0, 0x08dc, 0x01cd, 0x01ce, 0x01ce), +	}, +	{ +		.freq			= 5690, +		RADIOREGS3(0x10, 0x01, 0x01, 0x02, 0x39, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, +			   0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, +			   0x00, 0x6f, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x06, 0x00, 0x6f, 0x00), +		PHYREGS(0x08e8, 0x08e4, 0x08e0, 0x01cc, 0x01cd, 0x01ce), +	}, +	{ +		.freq			= 5700, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3a, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, +			   0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, +			   0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x06, 0x00, 0x6e, 0x00), +		PHYREGS(0x08ec, 0x08e8, 0x08e4, 0x01cb, 0x01cc, 0x01cd), +	}, +	{ +		.freq			= 5710, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3b, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, +			   0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, +			   0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x06, 0x00, 0x6e, 0x00), +		PHYREGS(0x08f0, 0x08ec, 0x08e8, 0x01ca, 0x01cb, 0x01cc), +	}, +	{ +		.freq			= 5720, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3c, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, +			   0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, +			   0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x06, 0x00, 0x6e, 0x00), +		PHYREGS(0x08f4, 0x08f0, 0x08ec, 0x01c9, 0x01ca, 0x01cb), +	}, +	{ +		.freq			= 5725, +		RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x79, 0x05, 0x05, 0x02, +			   0x15, 0x01, 0x05, 0x05, 0x05, 0x87, 0x06, 0x00, +			   0x30, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, +			   0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x06, 0x00, 0x6e, 0x00), +		PHYREGS(0x08f6, 0x08f2, 0x08ee, 0x01c9, 0x01ca, 0x01cb), +	}, +	{ +		.freq			= 5730, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3d, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, +			   0x20, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, +			   0x00, 0x6e, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x06, 0x00, 0x6e, 0x00), +		PHYREGS(0x08f8, 0x08f4, 0x08f0, 0x01c9, 0x01c9, 0x01ca), +	}, +	{ +		.freq			= 5735, +		RADIOREGS3(0x03, 0x01, 0x02, 0x04, 0x7b, 0x05, 0x05, 0x02, +			   0x15, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, +			   0x20, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, +			   0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x06, 0x00, 0x6d, 0x00), +		PHYREGS(0x08fa, 0x08f6, 0x08f2, 0x01c8, 0x01c9, 0x01ca), +	}, +	{ +		.freq			= 5740, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3e, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, +			   0x20, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, +			   0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x06, 0x00, 0x6d, 0x00), +		PHYREGS(0x08fc, 0x08f8, 0x08f4, 0x01c8, 0x01c9, 0x01c9), +	}, +	{ +		.freq			= 5745, +		RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7d, 0x05, 0x05, 0x02, +			   0x15, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, +			   0x20, 0x30, 0x00, 0x00, 0x00, 0x77, 0x00, 0x06, +			   0x00, 0x6d, 0x00, 0x30, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x06, 0x00, 0x6d, 0x00), +		PHYREGS(0x08fe, 0x08fa, 0x08f6, 0x01c8, 0x01c8, 0x01c9), +	}, +	{ +		.freq			= 5750, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x3f, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, +			   0x20, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6d, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6d, 0x00), +		PHYREGS(0x0900, 0x08fc, 0x08f8, 0x01c7, 0x01c8, 0x01c9), +	}, +	{ +		.freq			= 5755, +		RADIOREGS3(0xfe, 0x00, 0x02, 0x04, 0x7f, 0x05, 0x05, 0x02, +			   0x15, 0x01, 0x05, 0x05, 0x05, 0x87, 0x05, 0x00, +			   0x10, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6c, 0x00), +		PHYREGS(0x0902, 0x08fe, 0x08fa, 0x01c7, 0x01c8, 0x01c8), +	}, +	{ +		.freq			= 5760, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x40, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, +			   0x10, 0x20, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6c, 0x00, 0x20, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6c, 0x00), +		PHYREGS(0x0904, 0x0900, 0x08fc, 0x01c6, 0x01c7, 0x01c8), +	}, +	{ +		.freq			= 5765, +		RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x81, 0x05, 0x05, 0x02, +			   0x15, 0x01, 0x05, 0x05, 0x05, 0x86, 0x05, 0x00, +			   0x10, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6c, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6c, 0x00), +		PHYREGS(0x0906, 0x0902, 0x08fe, 0x01c6, 0x01c7, 0x01c8), +	}, +	{ +		.freq			= 5770, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x41, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, +			   0x10, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6b, 0x00), +		PHYREGS(0x0908, 0x0904, 0x0900, 0x01c6, 0x01c6, 0x01c7), +	}, +	{ +		.freq			= 5775, +		RADIOREGS3(0xf8, 0x00, 0x02, 0x04, 0x83, 0x05, 0x05, 0x02, +			   0x15, 0x01, 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, +			   0x10, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6b, 0x00), +		PHYREGS(0x090a, 0x0906, 0x0902, 0x01c5, 0x01c6, 0x01c7), +	}, +	{ +		.freq			= 5780, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x42, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x05, 0x05, 0x05, 0x86, 0x04, 0x00, +			   0x10, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6b, 0x00), +		PHYREGS(0x090c, 0x0908, 0x0904, 0x01c5, 0x01c6, 0x01c6), +	}, +	{ +		.freq			= 5785, +		RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x85, 0x05, 0x05, 0x02, +			   0x15, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, +			   0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6b, 0x00), +		PHYREGS(0x090e, 0x090a, 0x0906, 0x01c4, 0x01c5, 0x01c6), +	}, +	{ +		.freq			= 5790, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x43, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, +			   0x00, 0x10, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6b, 0x00, 0x10, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6b, 0x00), +		PHYREGS(0x0910, 0x090c, 0x0908, 0x01c4, 0x01c5, 0x01c6), +	}, +	{ +		.freq			= 5795, +		RADIOREGS3(0xf2, 0x00, 0x02, 0x04, 0x87, 0x05, 0x05, 0x02, +			   0x15, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6b, 0x00), +		PHYREGS(0x0912, 0x090e, 0x090a, 0x01c4, 0x01c4, 0x01c5), +	}, +	{ +		.freq			= 5800, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x44, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6b, 0x00), +		PHYREGS(0x0914, 0x0910, 0x090c, 0x01c3, 0x01c4, 0x01c5), +	}, +	{ +		.freq			= 5805, +		RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x89, 0x05, 0x05, 0x02, +			   0x15, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6a, 0x00), +		PHYREGS(0x0916, 0x0912, 0x090e, 0x01c3, 0x01c4, 0x01c4), +	}, +	{ +		.freq			= 5810, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x45, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6a, 0x00), +		PHYREGS(0x0918, 0x0914, 0x0910, 0x01c2, 0x01c3, 0x01c4), +	}, +	{ +		.freq			= 5815, +		RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8b, 0x05, 0x05, 0x02, +			   0x15, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6a, 0x00), +		PHYREGS(0x091a, 0x0916, 0x0912, 0x01c2, 0x01c3, 0x01c4), +	}, +	{ +		.freq			= 5820, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x46, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x6a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x6a, 0x00), +		PHYREGS(0x091c, 0x0918, 0x0914, 0x01c2, 0x01c2, 0x01c3), +	}, +	{ +		.freq			= 5825, +		RADIOREGS3(0xed, 0x00, 0x02, 0x04, 0x8d, 0x05, 0x05, 0x02, +			   0x15, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x69, 0x00), +		PHYREGS(0x091e, 0x091a, 0x0916, 0x01c1, 0x01c2, 0x01c3), +	}, +	{ +		.freq			= 5830, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x47, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x05, +			   0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x05, 0x00, 0x69, 0x00), +		PHYREGS(0x0920, 0x091c, 0x0918, 0x01c1, 0x01c2, 0x01c2), +	}, +	{ +		.freq			= 5840, +		RADIOREGS3(0x0a, 0x01, 0x01, 0x02, 0x48, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x86, 0x04, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, +			   0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x04, 0x00, 0x69, 0x00), +		PHYREGS(0x0924, 0x0920, 0x091c, 0x01c0, 0x01c1, 0x01c2), +	}, +	{ +		.freq			= 5850, +		RADIOREGS3(0xe0, 0x00, 0x01, 0x02, 0x49, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, +			   0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x04, 0x00, 0x69, 0x00), +		PHYREGS(0x0928, 0x0924, 0x0920, 0x01bf, 0x01c0, 0x01c1), +	}, +	{ +		.freq			= 5860, +		RADIOREGS3(0xde, 0x00, 0x01, 0x02, 0x4a, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, +			   0x00, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x04, 0x00, 0x69, 0x00), +		PHYREGS(0x092c, 0x0928, 0x0924, 0x01bf, 0x01bf, 0x01c0), +	}, +	{ +		.freq			= 5870, +		RADIOREGS3(0xdb, 0x00, 0x01, 0x02, 0x4b, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, +			   0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x04, 0x00, 0x68, 0x00), +		PHYREGS(0x0930, 0x092c, 0x0928, 0x01be, 0x01bf, 0x01bf), +	}, +	{ +		.freq			= 5880, +		RADIOREGS3(0xd8, 0x00, 0x01, 0x02, 0x4c, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, +			   0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x04, 0x00, 0x68, 0x00), +		PHYREGS(0x0934, 0x0930, 0x092c, 0x01bd, 0x01be, 0x01bf), +	}, +	{ +		.freq			= 5890, +		RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4d, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, +			   0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x04, 0x00, 0x68, 0x00), +		PHYREGS(0x0938, 0x0934, 0x0930, 0x01bc, 0x01bd, 0x01be), +	}, +	{ +		.freq			= 5900, +		RADIOREGS3(0xd3, 0x00, 0x01, 0x02, 0x4e, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, +			   0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x04, 0x00, 0x68, 0x00), +		PHYREGS(0x093c, 0x0938, 0x0934, 0x01bc, 0x01bc, 0x01bd), +	}, +	{ +		.freq			= 5910, +		RADIOREGS3(0xd6, 0x00, 0x01, 0x02, 0x4f, 0x05, 0x05, 0x02, +			   0x0c, 0x01, 0x06, 0x06, 0x06, 0x85, 0x03, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x00, 0x04, +			   0x00, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, +			   0x00, 0x04, 0x00, 0x68, 0x00), +		PHYREGS(0x0940, 0x093c, 0x0938, 0x01bb, 0x01bc, 0x01bc), +	}, +	{ +		.freq			= 2412, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x6c, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x04, 0x04, 0x04, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00, +			   0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, +			   0x70, 0x00, 0x0b, 0x00, 0x0a), +		PHYREGS(0x03c9, 0x03c5, 0x03c1, 0x043a, 0x043f, 0x0443), +	}, +	{ +		.freq			= 2417, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x71, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x78, 0x00, 0x03, 0x00, 0x70, 0x00, +			   0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, +			   0x70, 0x00, 0x0b, 0x00, 0x0a), +		PHYREGS(0x03cb, 0x03c7, 0x03c3, 0x0438, 0x043d, 0x0441), +	}, +	{ +		.freq			= 2422, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x76, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x67, 0x00, 0x03, 0x00, 0x70, 0x00, +			   0x0b, 0x00, 0x0a, 0x00, 0x89, 0x00, 0x03, 0x00, +			   0x70, 0x00, 0x0b, 0x00, 0x0a), +		PHYREGS(0x03cd, 0x03c9, 0x03c5, 0x0436, 0x043a, 0x043f), +	}, +	{ +		.freq			= 2427, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x7b, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x57, 0x00, 0x03, 0x00, 0x70, 0x00, +			   0x0a, 0x00, 0x0a, 0x00, 0x78, 0x00, 0x03, 0x00, +			   0x70, 0x00, 0x0a, 0x00, 0x0a), +		PHYREGS(0x03cf, 0x03cb, 0x03c7, 0x0434, 0x0438, 0x043d), +	}, +	{ +		.freq			= 2432, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x80, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x56, 0x00, 0x03, 0x00, 0x70, 0x00, +			   0x0a, 0x00, 0x0a, 0x00, 0x77, 0x00, 0x03, 0x00, +			   0x70, 0x00, 0x0a, 0x00, 0x0a), +		PHYREGS(0x03d1, 0x03cd, 0x03c9, 0x0431, 0x0436, 0x043a), +	}, +	{ +		.freq			= 2437, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x85, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x46, 0x00, 0x03, 0x00, 0x70, 0x00, +			   0x0a, 0x00, 0x0a, 0x00, 0x76, 0x00, 0x03, 0x00, +			   0x70, 0x00, 0x0a, 0x00, 0x0a), +		PHYREGS(0x03d3, 0x03cf, 0x03cb, 0x042f, 0x0434, 0x0438), +	}, +	{ +		.freq			= 2442, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8a, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x05, 0x05, 0x05, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x45, 0x00, 0x02, 0x00, 0x70, 0x00, +			   0x0a, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x02, 0x00, +			   0x70, 0x00, 0x0a, 0x00, 0x0a), +		PHYREGS(0x03d5, 0x03d1, 0x03cd, 0x042d, 0x0431, 0x0436), +	}, +	{ +		.freq			= 2447, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x8f, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x34, 0x00, 0x02, 0x00, 0x70, 0x00, +			   0x0a, 0x00, 0x09, 0x00, 0x55, 0x00, 0x02, 0x00, +			   0x70, 0x00, 0x0a, 0x00, 0x09), +		PHYREGS(0x03d7, 0x03d3, 0x03cf, 0x042b, 0x042f, 0x0434), +	}, +	{ +		.freq			= 2452, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x94, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x23, 0x00, 0x02, 0x00, 0x70, 0x00, +			   0x0a, 0x00, 0x09, 0x00, 0x45, 0x00, 0x02, 0x00, +			   0x70, 0x00, 0x0a, 0x00, 0x09), +		PHYREGS(0x03d9, 0x03d5, 0x03d1, 0x0429, 0x042d, 0x0431), +	}, +	{ +		.freq			= 2457, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x99, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x12, 0x00, 0x02, 0x00, 0x70, 0x00, +			   0x0a, 0x00, 0x09, 0x00, 0x34, 0x00, 0x02, 0x00, +			   0x70, 0x00, 0x0a, 0x00, 0x09), +		PHYREGS(0x03db, 0x03d7, 0x03d3, 0x0427, 0x042b, 0x042f), +	}, +	{ +		.freq			= 2462, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0x9e, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x70, 0x00, +			   0x09, 0x00, 0x09, 0x00, 0x33, 0x00, 0x02, 0x00, +			   0x70, 0x00, 0x09, 0x00, 0x09), +		PHYREGS(0x03dd, 0x03d9, 0x03d5, 0x0424, 0x0429, 0x042d), +	}, +	{ +		.freq			= 2467, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa3, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x06, 0x06, 0x06, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00, +			   0x09, 0x00, 0x09, 0x00, 0x22, 0x00, 0x02, 0x00, +			   0x70, 0x00, 0x09, 0x00, 0x09), +		PHYREGS(0x03df, 0x03db, 0x03d7, 0x0422, 0x0427, 0x042b), +	}, +	{ +		.freq			= 2472, +		RADIOREGS3(0x00, 0x01, 0x03, 0x09, 0xa8, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x30, 0x00, +			   0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x70, 0x00, +			   0x09, 0x00, 0x09, 0x00, 0x11, 0x00, 0x02, 0x00, +			   0x70, 0x00, 0x09, 0x00, 0x09), +		PHYREGS(0x03e1, 0x03dd, 0x03d9, 0x0420, 0x0424, 0x0429), +	}, +	{ +		.freq			= 2484, +		RADIOREGS3(0xff, 0x01, 0x03, 0x09, 0xb4, 0x06, 0x06, 0x04, +			   0x2b, 0x01, 0x07, 0x07, 0x07, 0x8f, 0x20, 0x00, +			   0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x70, 0x00, +			   0x09, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, +			   0x70, 0x00, 0x09, 0x00, 0x09), +		PHYREGS(0x03e6, 0x03e2, 0x03de, 0x041b, 0x041f, 0x0424), +	}, +}; + +static const struct b2056_inittabs_pts +*b43_nphy_get_inittabs_rev3(struct b43_wldev *dev) +{ +	struct b43_phy *phy = &dev->phy; + +	switch (dev->phy.rev) { +	case 3: +		return &b2056_inittab_phy_rev3; +	case 4: +		return &b2056_inittab_phy_rev4; +	default: +		switch (phy->radio_rev) { +		case 5: +			return &b2056_inittab_radio_rev5; +		case 6: +			return &b2056_inittab_radio_rev6; +		case 7: +		case 9: +			return &b2056_inittab_radio_rev7_9; +		case 8: +			return &b2056_inittab_radio_rev8; +		case 11: +			return &b2056_inittab_radio_rev11; +		} +	} + +	return NULL; +} +  static void b2056_upload_inittab(struct b43_wldev *dev, bool ghz5,  				 bool ignore_uploadflag, u16 routing,  				 const struct b2056_inittab_entry *e, @@ -9037,11 +10230,11 @@ void b2056_upload_inittabs(struct b43_wldev *dev,  {  	const struct b2056_inittabs_pts *pts; -	if (dev->phy.rev >= ARRAY_SIZE(b2056_inittabs)) { +	pts = b43_nphy_get_inittabs_rev3(dev); +	if (!pts) {  		B43_WARN_ON(1);  		return;  	} -	pts = &b2056_inittabs[dev->phy.rev];  	b2056_upload_inittab(dev, ghz5, ignore_uploadflag,  				B2056_SYN, pts->syn, pts->syn_length); @@ -9060,11 +10253,12 @@ void b2056_upload_syn_pll_cp2(struct b43_wldev *dev, bool ghz5)  	const struct b2056_inittabs_pts *pts;  	const struct b2056_inittab_entry *e; -	if (dev->phy.rev >= ARRAY_SIZE(b2056_inittabs)) { +	pts = b43_nphy_get_inittabs_rev3(dev); +	if (!pts) {  		B43_WARN_ON(1);  		return;  	} -	pts = &b2056_inittabs[dev->phy.rev]; +  	e = &pts->syn[B2056_SYN_PLL_CP2];  	b43_radio_write(dev, B2056_SYN_PLL_CP2, ghz5 ? e->ghz5 : e->ghz2); @@ -9073,38 +10267,46 @@ void b2056_upload_syn_pll_cp2(struct b43_wldev *dev, bool ghz5)  const struct b43_nphy_channeltab_entry_rev3 *  b43_nphy_get_chantabent_rev3(struct b43_wldev *dev, u16 freq)  { +	struct b43_phy *phy = &dev->phy;  	const struct b43_nphy_channeltab_entry_rev3 *e;  	unsigned int length, i; -	switch (dev->phy.rev) { +	switch (phy->rev) {  	case 3: -		e = b43_nphy_channeltab_rev3; -		length = ARRAY_SIZE(b43_nphy_channeltab_rev3); +		e = b43_nphy_channeltab_phy_rev3; +		length = ARRAY_SIZE(b43_nphy_channeltab_phy_rev3);  		break;  	case 4: -		e = b43_nphy_channeltab_rev4; -		length = ARRAY_SIZE(b43_nphy_channeltab_rev4); -		break; -	case 5: -		e = b43_nphy_channeltab_rev5; -		length = ARRAY_SIZE(b43_nphy_channeltab_rev5); -		break; -	case 6: -		e = b43_nphy_channeltab_rev6; -		length = ARRAY_SIZE(b43_nphy_channeltab_rev6); -		break; -	case 7: -	case 9: -		e = b43_nphy_channeltab_rev7_9; -		length = ARRAY_SIZE(b43_nphy_channeltab_rev7_9); -		break; -	case 8: -		e = b43_nphy_channeltab_rev8; -		length = ARRAY_SIZE(b43_nphy_channeltab_rev8); +		e = b43_nphy_channeltab_phy_rev4; +		length = ARRAY_SIZE(b43_nphy_channeltab_phy_rev4);  		break;  	default: -		B43_WARN_ON(1); -		return NULL; +		switch (phy->radio_rev) { +		case 5: +			e = b43_nphy_channeltab_radio_rev5; +			length = ARRAY_SIZE(b43_nphy_channeltab_radio_rev5); +			break; +		case 6: +			e = b43_nphy_channeltab_radio_rev6; +			length = ARRAY_SIZE(b43_nphy_channeltab_radio_rev6); +			break; +		case 7: +		case 9: +			e = b43_nphy_channeltab_radio_rev7_9; +			length = ARRAY_SIZE(b43_nphy_channeltab_radio_rev7_9); +			break; +		case 8: +			e = b43_nphy_channeltab_radio_rev8; +			length = ARRAY_SIZE(b43_nphy_channeltab_radio_rev8); +			break; +		case 11: +			e = b43_nphy_channeltab_radio_rev11; +			length = ARRAY_SIZE(b43_nphy_channeltab_radio_rev11); +			break; +		default: +			B43_WARN_ON(1); +			return NULL; +		}  	}  	for (i = 0; i < length; i++, e++) {  | 
