113 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From ecb394ccf248d8652c463133c4f404458a57a9c1 Mon Sep 17 00:00:00 2001
 | |
| From: Gabor Juhos <juhosg@openwrt.org>
 | |
| Date: Sun, 24 Mar 2013 19:26:26 +0100
 | |
| Subject: [PATCH] rt2x00: rt2800lib: add rf_vals for RF3853
 | |
| 
 | |
| Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 | |
| ---
 | |
|  drivers/net/wireless/rt2x00/rt2800.h    |    4 +-
 | |
|  drivers/net/wireless/rt2x00/rt2800lib.c |   65 +++++++++++++++++++++++++++++++
 | |
|  2 files changed, 68 insertions(+), 1 deletion(-)
 | |
| 
 | |
| --- a/drivers/net/wireless/rt2x00/rt2800.h
 | |
| +++ b/drivers/net/wireless/rt2x00/rt2800.h
 | |
| @@ -48,7 +48,8 @@
 | |
|   * RF2853 2.4G/5G 3T3R
 | |
|   * RF3320 2.4G 1T1R(RT3350/RT3370/RT3390)
 | |
|   * RF3322 2.4G 2T2R(RT3352/RT3371/RT3372/RT3391/RT3392)
 | |
| - * RF3053 2.4G/5G 3T3R(RT3883/RT3563/RT3573/RT3593/RT3662)
 | |
| + * RF3053 2.4G/5G 3T3R(RT3563/RT3573/RT3593)
 | |
| + * RF3853 2.4G/5G 3T3R(RT3883/RT3662)
 | |
|   * RF5592 2.4G/5G 2T2R
 | |
|   * RF3070 2.4G 1T1R
 | |
|   * RF5360 2.4G 1T1R
 | |
| @@ -72,6 +73,7 @@
 | |
|  #define RF5592				0x000f
 | |
|  #define RF3070				0x3070
 | |
|  #define RF3290				0x3290
 | |
| +#define RF3853				0x3853
 | |
|  #define RF5360				0x5360
 | |
|  #define RF5362				0x5362
 | |
|  #define RF5370				0x5370
 | |
| --- a/drivers/net/wireless/rt2x00/rt2800lib.c
 | |
| +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
 | |
| @@ -7441,6 +7441,66 @@ static const struct rf_channel rf_vals_3
 | |
|  	{173, 0x61, 0, 9},
 | |
|  };
 | |
|  
 | |
| +static const struct rf_channel rf_vals_3853[] = {
 | |
| +	{1,  241, 6, 2},
 | |
| +	{2,  241, 6, 7},
 | |
| +	{3,  242, 6, 2},
 | |
| +	{4,  242, 6, 7},
 | |
| +	{5,  243, 6, 2},
 | |
| +	{6,  243, 6, 7},
 | |
| +	{7,  244, 6, 2},
 | |
| +	{8,  244, 6, 7},
 | |
| +	{9,  245, 6, 2},
 | |
| +	{10, 245, 6, 7},
 | |
| +	{11, 246, 6, 2},
 | |
| +	{12, 246, 6, 7},
 | |
| +	{13, 247, 6, 2},
 | |
| +	{14, 248, 6, 4},
 | |
| +
 | |
| +	{36, 0x56, 8, 4},
 | |
| +	{38, 0x56, 8, 6},
 | |
| +	{40, 0x56, 8, 8},
 | |
| +	{44, 0x57, 8, 0},
 | |
| +	{46, 0x57, 8, 2},
 | |
| +	{48, 0x57, 8, 4},
 | |
| +	{52, 0x57, 8, 8},
 | |
| +	{54, 0x57, 8, 10},
 | |
| +	{56, 0x58, 8, 0},
 | |
| +	{60, 0x58, 8, 4},
 | |
| +	{62, 0x58, 8, 6},
 | |
| +	{64, 0x58, 8, 8},
 | |
| +
 | |
| +	{100, 0x5b, 8, 8},
 | |
| +	{102, 0x5b, 8, 10},
 | |
| +	{104, 0x5c, 8, 0},
 | |
| +	{108, 0x5c, 8, 4},
 | |
| +	{110, 0x5c, 8, 6},
 | |
| +	{112, 0x5c, 8, 8},
 | |
| +	{114, 0x5c, 8, 10},
 | |
| +	{116, 0x5d, 8, 0},
 | |
| +	{118, 0x5d, 8, 2},
 | |
| +	{120, 0x5d, 8, 4},
 | |
| +	{124, 0x5d, 8, 8},
 | |
| +	{126, 0x5d, 8, 10},
 | |
| +	{128, 0x5e, 8, 0},
 | |
| +	{132, 0x5e, 8, 4},
 | |
| +	{134, 0x5e, 8, 6},
 | |
| +	{136, 0x5e, 8, 8},
 | |
| +	{140, 0x5f, 8, 0},
 | |
| +
 | |
| +	{149, 0x5f, 8, 9},
 | |
| +	{151, 0x5f, 8, 11},
 | |
| +	{153, 0x60, 8, 1},
 | |
| +	{157, 0x60, 8, 5},
 | |
| +	{159, 0x60, 8, 7},
 | |
| +	{161, 0x60, 8, 9},
 | |
| +	{165, 0x61, 8, 1},
 | |
| +	{167, 0x61, 8, 3},
 | |
| +	{169, 0x61, 8, 5},
 | |
| +	{171, 0x61, 8, 7},
 | |
| +	{173, 0x61, 8, 9},
 | |
| +};
 | |
| +
 | |
|  static const struct rf_channel rf_vals_5592_xtal20[] = {
 | |
|  	/* Channel, N, K, mod, R */
 | |
|  	{1, 482, 4, 10, 3},
 | |
| @@ -7668,6 +7728,11 @@ static int rt2800_probe_hw_mode(struct r
 | |
|  		spec->channels = rf_vals_3x;
 | |
|  		break;
 | |
|  
 | |
| +	case RF3853:
 | |
| +		spec->num_channels = ARRAY_SIZE(rf_vals_3853);
 | |
| +		spec->channels = rf_vals_3853;
 | |
| +		break;
 | |
| +
 | |
|  	case RF5592:
 | |
|  		rt2800_register_read(rt2x00dev, MAC_DEBUG_INDEX, ®);
 | |
|  		if (rt2x00_get_field32(reg, MAC_DEBUG_INDEX_XTAL)) {
 |