diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2009-06-28 14:19:31 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-09-15 19:01:30 (GMT) |
commit | 6dc1585fe4020b0c22853c5bfa9bcc3add01fc22 (patch) | |
tree | acd581afc2999831bf7b621129d12ec988167837 /drivers/staging/rtl8187se | |
parent | 5521a513e5803c31b834c55220313e363ce02ccf (diff) | |
download | linux-fsl-qoriq-6dc1585fe4020b0c22853c5bfa9bcc3add01fc22.tar.xz |
Staging: rtl8187se: remove unused radio frontends
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/rtl8187se')
-rw-r--r-- | drivers/staging/rtl8187se/Makefile | 4 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_core.c | 4 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_gct.c | 296 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_gct.h | 25 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_max2820.c | 171 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_max2820.h | 21 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_rtl8255.c | 1807 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_rtl8255.h | 19 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_sa2400.c | 233 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_sa2400.h | 26 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8180_wx.c | 1 | ||||
-rw-r--r-- | drivers/staging/rtl8187se/r8185b_init.c | 4 |
12 files changed, 0 insertions, 2611 deletions
diff --git a/drivers/staging/rtl8187se/Makefile b/drivers/staging/rtl8187se/Makefile index 0ad7842..c0c399b 100644 --- a/drivers/staging/rtl8187se/Makefile +++ b/drivers/staging/rtl8187se/Makefile @@ -20,13 +20,9 @@ EXTRA_CFLAGS += -DENABLE_LPS rtl8187se-objs := \ r8180_core.o \ - r8180_sa2400.o \ r8180_93cx6.o \ r8180_wx.o \ - r8180_max2820.o \ - r8180_gct.o \ r8180_rtl8225.o \ - r8180_rtl8255.o \ r8180_rtl8225z2.o \ r8185b_init.o \ r8180_dm.o \ diff --git a/drivers/staging/rtl8187se/r8180_core.c b/drivers/staging/rtl8187se/r8180_core.c index 121a5d1..1bf3818 100644 --- a/drivers/staging/rtl8187se/r8180_core.c +++ b/drivers/staging/rtl8187se/r8180_core.c @@ -54,11 +54,7 @@ //#include <asm/uaccess.h> #include "r8180_hw.h" #include "r8180.h" -#include "r8180_sa2400.h" /* PHILIPS Radio frontend */ -#include "r8180_max2820.h" /* MAXIM Radio frontend */ -#include "r8180_gct.h" /* GCT Radio frontend */ #include "r8180_rtl8225.h" /* RTL8225 Radio frontend */ -#include "r8180_rtl8255.h" /* RTL8255 Radio frontend */ #include "r8180_93cx6.h" /* Card EEPROM */ #include "r8180_wx.h" #include "r8180_dm.h" diff --git a/drivers/staging/rtl8187se/r8180_gct.c b/drivers/staging/rtl8187se/r8180_gct.c deleted file mode 100644 index 86cb427..0000000 --- a/drivers/staging/rtl8187se/r8180_gct.c +++ /dev/null @@ -1,296 +0,0 @@ -/* - This files contains GCT radio frontend programming routines. - - This is part of rtl8180 OpenSource driver - Copyright (C) Andrea Merello 2004-2005 <andreamrl@tiscali.it> - Released under the terms of GPL (General Public Licence) - - Parts of this driver are based on the GPL part of the - official realtek driver - - Parts of this driver are based on the rtl8180 driver skeleton - from Patric Schenke & Andres Salomon - - Parts of this driver are based on the Intel Pro Wireless 2100 GPL driver. - - Code from Rtw8180 NetBSD driver by David Young has been really useful to - understand some things and gets some ideas - - Code from rtl8181 project has been useful to me to understand some things. - - Some code from 'Deuce' work - - We want to tanks the Authors of such projects and the Ndiswrapper - project Authors. -*/ - - -#include "r8180.h" -#include "r8180_hw.h" -#include "r8180_gct.h" - - -//#define DEBUG_GCT - -/* the following experiment are just experiments. - * this means if you enable them you can have every kind - * of result, included damage the RF chip, so don't - * touch them if you don't know what you are doing. - * In any case, if you do it, do at your own risk - */ - -//#define GCT_EXPERIMENT1 //improve RX sensivity - -//#define GCT_EXPERIMENT2 - -//#define GCT_EXPERIMENT3 //iprove a bit RX signal quality ? - -//#define GCT_EXPERIMENT4 //maybe solve some brokeness with experiment1 ? - -//#define GCT_EXPERIMENT5 - -//#define GCT_EXPERIMENT6 //not good - - -u32 gct_chan[] = { - 0x0, //dummy channel 0 - 0x0, //1 - 0x1, //2 - 0x2, //3 - 0x3, //4 - 0x4, //5 - 0x5, //6 - 0x6, //7 - 0x7, //8 - 0x8, //9 - 0x9, //10 - 0xa, //11 - 0xb, //12 - 0xc, //13 - 0xd, //14 -}; - -int gct_encode[16] = { - 0, 8, 4, 0xC, - 2, 0xA, 6, 0xE, - 1, 9, 5, 0xD, - 3, 0xB, 7, 0xF -}; - -void gct_rf_stabilize(struct net_device *dev) -{ - force_pci_posting(dev); - mdelay(3); //for now use a great value.. we may optimize in future -} - - -void write_gct(struct net_device *dev, u8 adr, u32 data) -{ -// struct r8180_priv *priv = ieee80211_priv(dev); - u32 phy_config; - - phy_config = gct_encode[(data & 0xf00) >> 8]; - phy_config |= gct_encode[(data & 0xf0) >> 4 ] << 4; - phy_config |= gct_encode[(data & 0xf) ] << 8; - phy_config |= gct_encode[(adr >> 1) & 0xf ] << 12; - phy_config |= (adr & 1 ) << 16; - phy_config |= gct_encode[(data & 0xf000)>>12] << 24; - - phy_config |= 0x90000000; // MAC will bang bits to the chip - - - write_nic_dword(dev,PHY_CONFIG,phy_config); -#ifdef DEBUG_GCT - DMESG("Writing GCT: %x (adr %x)",phy_config,adr); -#endif - gct_rf_stabilize(dev); -} - - - -void gct_write_phy_antenna(struct net_device *dev,short ch) -{ - struct r8180_priv *priv = ieee80211_priv(dev); - u8 ant; - - ant = GCT_ANTENNA; - if(priv->antb) /*default antenna is antenna B */ - ant |= BB_ANTENNA_B; - if(ch == 14) - ant |= BB_ANTATTEN_CHAN14; - write_phy(dev,0x10,ant); - //DMESG("BB antenna %x ",ant); -} - - -void gct_rf_set_chan(struct net_device *dev, short ch) -{ - struct r8180_priv *priv = ieee80211_priv(dev); - u32 txpw = 0xff & priv->chtxpwr[ch]; - u32 chan = gct_chan[ch]; - - //write_phy(dev,3,txpw); -#ifdef DEBUG_GCT - DMESG("Gct set channel"); -#endif - /* set TX power */ - write_gct(dev,0x15,0); - write_gct(dev,6, txpw); - write_gct(dev,0x15, 0x10); - write_gct(dev,0x15,0); - - /*set frequency*/ - write_gct(dev,7, 0); - write_gct(dev,0xB, chan); - write_gct(dev,7, 0x1000); - -#ifdef DEBUG_GCT - DMESG("Gct set channel > write phy antenna"); -#endif - - - gct_write_phy_antenna(dev,ch); - -} - - -void gct_rf_close(struct net_device *dev) -{ - u32 anaparam; - - anaparam = read_nic_dword(dev,ANAPARAM); - anaparam &= 0x000fffff; - anaparam |= 0x3f900000; - rtl8180_set_anaparam(dev, anaparam); - - write_gct(dev, 0x7, 0); - write_gct(dev, 0x1f, 0x45); - write_gct(dev, 0x1f, 0x5); - write_gct(dev, 0x0, 0x8e4); -} - - -void gct_rf_init(struct net_device *dev) -{ - struct r8180_priv *priv = ieee80211_priv(dev); - //u32 anaparam; - - - write_nic_byte(dev,PHY_DELAY,0x6); //this is general - write_nic_byte(dev,CARRIER_SENSE_COUNTER,0x4c); //this is general - - //DMESG("%x", read_nic_dword(dev,ANAPARAM)); - /* we should set anaparm here*/ - //rtl8180_set_anaparam(dev,anaparam); - - write_gct(dev,0x1f,0); - write_gct(dev,0x1f,0); - write_gct(dev,0x1f,0x40); - write_gct(dev,0x1f,0x60); - write_gct(dev,0x1f,0x61); - write_gct(dev,0x1f,0x61); - write_gct(dev,0x0,0xae4); - write_gct(dev,0x1f,0x1); - write_gct(dev,0x1f,0x41); - write_gct(dev,0x1f,0x61); - write_gct(dev,0x1,0x1a23); - write_gct(dev,0x2,0x4971); - write_gct(dev,0x3,0x41de); - write_gct(dev,0x4,0x2d80); -#ifdef GCT_EXPERIMENT1 - //write_gct(dev,0x5,0x6810); // from zydas driver. sens+ but quite slow - //write_gct(dev,0x5,0x681f); //good+ (somewhat stable, better sens, performance decent) - write_gct(dev,0x5,0x685f); //good performances, not sure sens is really so beeter - //write_gct(dev,0x5,0x687f); //good performances, maybe sens is not improved - //write_gct(dev,0x5,0x689f); //like above - //write_gct(dev,0x5,0x685e); //bad - //write_gct(dev,0x5,0x68ff); //good+ (somewhat stable, better sens(?), performance decent) - //write_gct(dev,0x5,0x68f0); //bad - //write_gct(dev,0x5,0x6cff); //sens+ but not so good - //write_gct(dev,0x5,0x6dff); //sens+,apparentely very good but broken - //write_gct(dev,0x5,0x65ff); //sens+,good - //write_gct(dev,0x5,0x78ff); //sens + but almost broken - //write_gct(dev,0x5,0x7810); //- //snes + but broken - //write_gct(dev,0x5,0x781f); //-- //sens + - //write_gct(dev,0x5,0x78f0); //low sens -#else - write_gct(dev,0x5,0x61ff); //best performance but weak sensitivity -#endif -#ifdef GCT_EXPERIMENT2 - write_gct(dev,0x6,0xe); -#else - write_gct(dev,0x6,0x0); -#endif - write_gct(dev,0x7,0x0); - write_gct(dev,0x8,0x7533); - write_gct(dev,0x9,0xc401); - write_gct(dev,0xa,0x0); - write_gct(dev,0xc,0x1c7); - write_gct(dev,0xd,0x29d3); - write_gct(dev,0xe,0x2e8); - write_gct(dev,0x10,0x192); -#ifdef GCT_EXPERIMENT3 - write_gct(dev,0x11,0x246); -#else - write_gct(dev,0x11,0x248); -#endif - write_gct(dev,0x12,0x0); - write_gct(dev,0x13,0x20c4); -#ifdef GCT_EXPERIMENT4 - write_gct(dev,0x14,0xf488); -#else - write_gct(dev,0x14,0xf4fc); -#endif -#ifdef GCT_EXPERIMENT5 - write_gct(dev,0x15,0xb152); -#else - write_gct(dev,0x15,0x0); -#endif -#ifdef GCT_EXPERIMENT6 - write_gct(dev,0x1e,0x1); -#endif - write_gct(dev,0x16,0x1500); - - write_gct(dev,0x7,0x1000); - /*write_gct(dev,0x15,0x0); - write_gct(dev,0x6,0x15); - write_gct(dev,0x15,0x8); - write_gct(dev,0x15,0x0); -*/ - write_phy(dev,0,0xa8); - -/* write_gct(dev,0x15,0x0); - write_gct(dev,0x6,0x12); - write_gct(dev,0x15,0x8); - write_gct(dev,0x15,0x0); -*/ - write_phy(dev,3,0x0); - write_phy(dev,4,0xc0); /* lna det*/ - write_phy(dev,5,0x90); - write_phy(dev,6,0x1e); - write_phy(dev,7,0x64); - -#ifdef DEBUG_GCT - DMESG("Gct init> write phy antenna"); -#endif - - gct_write_phy_antenna(dev,priv->chan); - - write_phy(dev,0x11,0x88); - if(!priv->diversity) - write_phy(dev,0x12,0xc0); - else - write_phy(dev,0x12,0x40); - - write_phy(dev,0x13,0x90 | priv->cs_treshold ); - - write_phy(dev,0x19,0x0); - write_phy(dev,0x1a,0xa0); - write_phy(dev,0x1b,0x44); - -#ifdef DEBUG_GCT - DMESG("Gct init > set channel2"); -#endif - - gct_rf_set_chan(dev,priv->chan); -} diff --git a/drivers/staging/rtl8187se/r8180_gct.h b/drivers/staging/rtl8187se/r8180_gct.h deleted file mode 100644 index fe965ca..0000000 --- a/drivers/staging/rtl8187se/r8180_gct.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - This is part of rtl8180 OpenSource driver - v 0.20 - Copyright (C) Andrea Merello 2004 <andreamrl@tiscali.it> - Released under the terms of GPL (General Public Licence) - - Parts of this driver are based on the GPL part of the official realtek driver - Parts of this driver are based on the rtl8180 driver skeleton from Patric Schenke & Andres Salomon - Parts of this driver are based on the Intel Pro Wireless 2100 GPL driver - - We want to tanks the Authors of such projects and the Ndiswrapper project Authors. -*/ - -#define GCT_ANTENNA 0xA3 - - -// we use the untouched eeprom value- cross your finger ;-) -#define GCT_ANAPARAM_PWR1_ON ?? -#define GCT_ANAPARAM_PWR0_ON ?? - - - -void gct_rf_init(struct net_device *dev); -void gct_rf_set_chan(struct net_device *dev,short ch); - -void gct_rf_close(struct net_device *dev); diff --git a/drivers/staging/rtl8187se/r8180_max2820.c b/drivers/staging/rtl8187se/r8180_max2820.c deleted file mode 100644 index 0f30151..0000000 --- a/drivers/staging/rtl8187se/r8180_max2820.c +++ /dev/null @@ -1,171 +0,0 @@ -/* - This files contains MAXIM MAX2820 radio frontend programming routines. - - This is part of rtl8180 OpenSource driver - Copyright (C) Andrea Merello 2004-2005 <andreamrl@tiscali.it> - Released under the terms of GPL (General Public Licence) - - Parts of this driver are based on the GPL part of the - official realtek driver - - Parts of this driver are based on the rtl8180 driver skeleton - from Patric Schenke & Andres Salomon - - Parts of this driver are based on the Intel Pro Wireless 2100 GPL driver. - - NetBSD rtl8180 driver from Dave Young has been really useful to - understand how to program the MAXIM radio. Thanks a lot!!! - - 'The Deuce' tested this and fixed some bugs. - - Code from rtl8181 project has been useful to me to understand some things. - - We want to tanks the Authors of such projects and the Ndiswrapper - project Authors. -*/ - - -#include "r8180.h" -#include "r8180_hw.h" -#include "r8180_max2820.h" - - -//#define DEBUG_MAXIM - -u32 maxim_chan[] = { - 0, //dummy channel 0 - 12, //1 - 17, //2 - 22, //3 - 27, //4 - 32, //5 - 37, //6 - 42, //7 - 47, //8 - 52, //9 - 57, //10 - 62, //11 - 67, //12 - 72, //13 - 84, //14 -}; - -void write_maxim(struct net_device *dev,u8 adr, u32 data) { - u32 temp; - temp = 0x90 + (data & 0xf); - temp <<= 16; - temp += adr; - temp <<= 8; - temp += (data >> 4) & 0xff; -#ifdef DEBUG_MAXIM - DMESG("write_maxim: %08x", temp); -#endif - write_nic_dword(dev, PHY_CONFIG, temp); - force_pci_posting(dev); - mdelay(1); -} - - -void maxim_write_phy_antenna(struct net_device *dev,short ch) -{ - struct r8180_priv *priv = ieee80211_priv(dev); - u8 ant; - - ant = MAXIM_ANTENNA; - if(priv->antb) /*default antenna is antenna B */ - ant |= BB_ANTENNA_B; - if(ch == 14) - ant |= BB_ANTATTEN_CHAN14; - write_phy(dev,0x10,ant); - //DMESG("BB antenna %x ",ant); -} - - -void maxim_rf_set_chan(struct net_device *dev, short ch) -{ - struct r8180_priv *priv = ieee80211_priv(dev); - u32 txpw = 0xff & priv->chtxpwr[ch]; - u32 chan = maxim_chan[ch]; - - /*While philips SA2400 drive the PA bias - *seems that for MAXIM we delegate this - *to the BB - */ - - //write_maxim(dev,5,txpw); - write_phy(dev,3,txpw); - - maxim_write_phy_antenna(dev,ch); - write_maxim(dev,3,chan); -} - - -void maxim_rf_close(struct net_device *dev) -{ - write_phy(dev, 3, 0x8); - write_maxim(dev, 1, 0); -} - - -void maxim_rf_init(struct net_device *dev) -{ - struct r8180_priv *priv = ieee80211_priv(dev); - u32 anaparam; - - write_nic_byte(dev,PHY_DELAY,0x6); //this is general - write_nic_byte(dev,CARRIER_SENSE_COUNTER,0x4c); //this is general - - /*these are maxim specific*/ - anaparam = read_nic_dword(dev,ANAPARAM); - anaparam = anaparam &~ (ANAPARAM_TXDACOFF_SHIFT); - anaparam = anaparam &~ANAPARAM_PWR1_MASK; - anaparam = anaparam &~ANAPARAM_PWR0_MASK; - anaparam |= (MAXIM_ANAPARAM_PWR1_ON<<ANAPARAM_PWR1_SHIFT); - anaparam |= (MAXIM_ANAPARAM_PWR0_ON<<ANAPARAM_PWR0_SHIFT); - - //rtl8180_set_anaparam(dev,anaparam); - - /* MAXIM from netbsd driver */ - - write_maxim(dev,0, 7); /* test mode as indicated in datasheet*/ - write_maxim(dev,1, 0x1e); /* enable register*/ - write_maxim(dev,2, 1); /* synt register */ - - - maxim_rf_set_chan(dev,priv->chan); - - write_maxim(dev,4, 0x313); /* rx register*/ - - /* PA is driven directly by the BB, we keep the MAXIM bias - * at the highest value in the boubt tha pleacing it to lower - * values may introduce some further attenuation somewhere.. - */ - - write_maxim(dev,5, 0xf); - - - /*baseband configuration*/ - write_phy(dev,0,0x88); //sys1 - write_phy(dev,3,0x8); //txagc - write_phy(dev,4,0xf8); // lnadet - write_phy(dev,5,0x90); // ifagcinit - write_phy(dev,6,0x1a); // ifagclimit - write_phy(dev,7,0x64); // ifagcdet - - /*Should be done something more here??*/ - - maxim_write_phy_antenna(dev,priv->chan); - - write_phy(dev,0x11,0x88); //trl - if(priv->diversity) - write_phy(dev,0x12,0xc7); - else - write_phy(dev,0x12,0x47); - - write_phy(dev,0x13,0x9b); - - write_phy(dev,0x19,0x0); //CHESTLIM - write_phy(dev,0x1a,0x9f); //CHSQLIM - - maxim_rf_set_chan(dev,priv->chan); -} diff --git a/drivers/staging/rtl8187se/r8180_max2820.h b/drivers/staging/rtl8187se/r8180_max2820.h deleted file mode 100644 index 5d4fb55..0000000 --- a/drivers/staging/rtl8187se/r8180_max2820.h +++ /dev/null @@ -1,21 +0,0 @@ -/* - This is part of rtl8180 OpenSource driver - Copyright (C) Andrea Merello 2004-2005 <andreamrl@tiscali.it> - Released under the terms of GPL (General Public Licence) - - Parts of this driver are based on the GPL part of the official realtek driver - Parts of this driver are based on the rtl8180 driver skeleton from Patric Schenke & Andres Salomon - Parts of this driver are based on the Intel Pro Wireless 2100 GPL driver - - We want to tanks the Authors of such projects and the Ndiswrapper project Authors. -*/ - -#define MAXIM_ANTENNA 0xb3 -#define MAXIM_ANAPARAM_PWR1_ON 0x8 -#define MAXIM_ANAPARAM_PWR0_ON 0x0 - - -void maxim_rf_init(struct net_device *dev); -void maxim_rf_set_chan(struct net_device *dev,short ch); - -void maxim_rf_close(struct net_device *dev); diff --git a/drivers/staging/rtl8187se/r8180_rtl8255.c b/drivers/staging/rtl8187se/r8180_rtl8255.c deleted file mode 100644 index 014efce..0000000 --- a/drivers/staging/rtl8187se/r8180_rtl8255.c +++ /dev/null @@ -1,1807 +0,0 @@ -/* - This is part of the rtl8180-sa2400 driver - released under the GPL (See file COPYING for details). - Copyright (c) 2005 Andrea Merello <andreamrl@tiscali.it> - - This files contains programming code for the rtl8255 - radio frontend. - - *Many* thanks to Realtek Corp. for their great support! - -*/ - -#define BAND_A 1 -#define BAND_BG 2 - -#include "r8180.h" -#include "r8180_hw.h" -#include "r8180_rtl8255.h" - -u32 rtl8255_chan[] = { - 0, //dummy channel 0 - 0x13, //1 - 0x115, //2 - 0x217, //3 - 0x219, //4 - 0x31b, //5 - 0x41d, //6 - 0x41f, //7 - 0x621, //8 - 0x623, //9 - 0x625, //10 - 0x627, //11 - 0x829, //12 - 0x82b, //13 - 0x92f, // 14 -}; - -static short rtl8255_gain_2G[]={ - 0x33, 0x17, 0x7c, 0xc5,//-78 - 0x43, 0x17, 0x7a, 0xc5,//-74 - 0x53, 0x17, 0x78, 0xc5,//-70 - 0x63, 0x17, 0x76, 0xc5,//-66 -}; - - -static short rtl8255_agc[]={ - 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, - - 0x1, 0x1, 0x2, 0x2, 0x3, 0x3, 0x4, 0x4, 0x5, 0x5, - 0x6, 0x6, 0x7, 0x7, 0x8, 0x8, 0x9, 0x9, 0xa, 0xa, - 0xb, 0xb, 0xc, 0xc, 0xd, 0xd, 0xe, 0xe, 0xf, 0xf, - - 0x10, 0x10, 0x11, 0x11, 0x12, 0x12, 0x13, 0x13, 0x14, 0x14, - 0x15, 0x15, 0x16, 0x16, 0x17, 0x17, 0x18, 0x18, 0x19, 0x19, - 0x1a, 0x1a, 0x1b, 0x1b, 0x1c, 0x1c, 0x1d, 0x1d, 0x1e, 0x1e, - 0x1f, 0x1f, - - 0x20, 0x20, 0x21, 0x21, 0x22, 0x22, 0x23, 0x23, 0x24, 0x24, - 0x25, 0x25, 0x26, 0x26, 0x27, 0x27, 0x28, 0x28, 0x29, 0x29, - 0x2a, 0x2a, - - 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, - 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, - 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, 0x2a, - 0x2a, 0x2a, 0x2a, 0x2a - -}; - -void rtl8255_set_gain(struct net_device *dev, short gain) -{ - -// struct r8180_priv *priv = ieee80211_priv(dev); - - write_phy_ofdm(dev, 0x0d, rtl8255_gain_2G[gain * 4]); - write_phy_ofdm(dev, 0x23, rtl8255_gain_2G[gain * 4 + 1]); - write_phy_ofdm(dev, 0x1b, rtl8255_gain_2G[gain * 4 + 2]); - write_phy_ofdm(dev, 0x1d, rtl8255_gain_2G[gain * 4 + 3]); - //rtl8225_set_gain_usb(dev, gain); -} - -void write_rtl8255_reg0c(struct net_device *dev, u32 d1, u32 d2, u32 d3, u32 d4, -u32 d5, u32 d6, u32 d7, u32 d8, u32 d9, u32 d10) -{ - int i,j; - u16 out,select; - u8 bit; - u32 bangdata; -// struct r8180_priv *priv = ieee80211_priv(dev); - - write_nic_word(dev,RFPinsEnable, - (read_nic_word(dev,RFPinsEnable) | 0x7)); - - select = read_nic_word(dev, RFPinsSelect); - - write_nic_word(dev, RFPinsSelect, select | 0x7 | SW_CONTROL_GPIO); - - out = read_nic_word(dev, RFPinsOutput) & 0xfff3; - - write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN );//| 0x1fff); - - force_pci_posting(dev); - udelay(2); - - write_nic_word(dev, RFPinsOutput, out); - - force_pci_posting(dev); - udelay(2); - - for(j=0;j<10;j++) - { - switch(j) - { - case 9: - bangdata = d10 | 0x0c; - break; - case 8: - bangdata = d9; - break; - case 7: - bangdata = d8; - break; - case 6: - bangdata = d7; - break; - case 5: - bangdata = d6; - break; - case 4: - bangdata = d5; - break; - case 3: - bangdata = d4; - break; - case 2: - bangdata = d3; - break; - case 1: - bangdata = d2; - break; - case 0: - bangdata = d1; - break; - default: - bangdata=0xbadc0de; /* avoid gcc complaints */ - break; - } - - for(i=31; i>=0;i--){ - - bit = (bangdata & (1<<i)) >> i; - - write_nic_word(dev, RFPinsOutput, bit | out); - force_pci_posting(dev); - udelay(1); - write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK); - force_pci_posting(dev); - udelay(1); - // write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK); - i--; - bit = (bangdata & (1<<i)) >> i; - - write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK); - force_pci_posting(dev); - udelay(1); - // write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK); - write_nic_word(dev, RFPinsOutput, bit | out); - force_pci_posting(dev); - udelay(1); - } - } - - write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN); - force_pci_posting(dev); - udelay(10); - -// write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN); - write_nic_word(dev, RFPinsSelect, select | SW_CONTROL_GPIO); -// rtl8185_rf_pins_enable(dev); - -} - -void write_rtl8255(struct net_device *dev, u8 adr, u16 data) -{ - int i; - u16 out,select; - u8 bit; - u32 bangdata = (data << 4) | (adr & 0xf); -// struct r8180_priv *priv = ieee80211_priv(dev); - - out = read_nic_word(dev, RFPinsOutput) & 0xfff3; - - write_nic_word(dev,RFPinsEnable, - (read_nic_word(dev,RFPinsEnable) | 0x7)); - - select = read_nic_word(dev, RFPinsSelect); - - write_nic_word(dev, RFPinsSelect, select | 0x7 | SW_CONTROL_GPIO); - - force_pci_posting(dev); - udelay(10); - - write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN );//| 0x1fff); - - force_pci_posting(dev); - udelay(2); - - write_nic_word(dev, RFPinsOutput, out); - - force_pci_posting(dev); - udelay(10); - - - for(i=15; i>=0;i--){ - - bit = (bangdata & (1<<i)) >> i; - - write_nic_word(dev, RFPinsOutput, bit | out); - write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK); - write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK); - i--; - bit = (bangdata & (1<<i)) >> i; - - write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK); - write_nic_word(dev, RFPinsOutput, bit | out | BB_HOST_BANG_CLK); - write_nic_word(dev, RFPinsOutput, bit | out); - } - - - write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN); - - force_pci_posting(dev); - udelay(10); - - write_nic_word(dev, RFPinsOutput, out | BB_HOST_BANG_EN); - write_nic_word(dev, RFPinsSelect, select | SW_CONTROL_GPIO); - - rtl8185_rf_pins_enable(dev); -} - -void rtl8255_rf_close(struct net_device *dev) -{ - -// rtl8180_set_anaparam(dev, RTL8225_ANAPARAM_OFF); -// rtl8185_set_anaparam2(dev, RTL8225_ANAPARAM2_OFF); -} - -void rtl8255_SetTXPowerLevel(struct net_device *dev, short ch) -{ - struct r8180_priv *priv = ieee80211_priv(dev); - - u8 cck_power_level = 0xff & priv->chtxpwr[ch]; - u8 ofdm_power_level = 0xff & priv->chtxpwr_ofdm[ch]; - write_nic_byte(dev, TX_GAIN_OFDM, ofdm_power_level); - write_nic_byte(dev, TX_GAIN_CCK, cck_power_level); - force_pci_posting(dev); - mdelay(1); - //write_nic_byte(dev, TX_AGC_CONTROL,4); -} - -void rtl8255_rf_set_chan(struct net_device *dev, short ch) -{ - //write_rtl8225(dev, 0x7, rtl8225_chan[1]); - write_rtl8255(dev, 0x5, 0x65); - write_rtl8255(dev, 0x6, rtl8255_chan[ch]); - write_rtl8255(dev, 0x7, 0x7c); - write_rtl8255(dev, 0x8, 0x6); - - - force_pci_posting(dev); - set_current_state(TASK_INTERRUPTIBLE); - schedule_timeout(HZ); -// rtl8225_set_mode_B(dev); - - rtl8255_SetTXPowerLevel(dev, ch); - /* FIXME FIXME FIXME */ -} - -void rtl8255_init_BGband(struct net_device *dev) -{ - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804187cf, 0x40000027, - 0x92402ac0, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc00); - write_rtl8255(dev, 0x4, 0xe00); - write_rtl8255(dev, 0x4, 0xc00); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x800); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa00); - write_rtl8255(dev, 0x4, 0x800); - write_rtl8255(dev, 0x4, 0x400); - write_rtl8255(dev, 0x3, 0x26); - write_rtl8255(dev, 0x2, 0x27); - write_rtl8255(dev, 0x4, 0x600); - write_rtl8255(dev, 0x4, 0x400); - write_rtl8255(dev, 0x4, 0x400); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x600); - write_rtl8255(dev, 0x4, 0x400); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804187ce, 0x80000027, - 0x92402ac0, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc01); - write_rtl8255(dev, 0x4, 0xe01); - write_rtl8255(dev, 0x4, 0xc01); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x801); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa01); - write_rtl8255(dev, 0x4, 0x801); - write_rtl8255(dev, 0x4, 0x401); - write_rtl8255(dev, 0x3, 0x26); - write_rtl8255(dev, 0x2, 0x27); - write_rtl8255(dev, 0x4, 0x601); - write_rtl8255(dev, 0x4, 0x401); - write_rtl8255(dev, 0x4, 0x401); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x601); - write_rtl8255(dev, 0x4, 0x401); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80418bdf, 0x40000027, - 0x92402ac4, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc02); - write_rtl8255(dev, 0x4, 0xe02); - write_rtl8255(dev, 0x4, 0xc02); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x802); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa02); - write_rtl8255(dev, 0x4, 0x802); - write_rtl8255(dev, 0x4, 0x402); - write_rtl8255(dev, 0x3, 0x26); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x602); - write_rtl8255(dev, 0x4, 0x402); - write_rtl8255(dev, 0x4, 0x402); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x602); - write_rtl8255(dev, 0x4, 0x402); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80418bbf, 0x40000027, - 0x92402ac4, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc03); - write_rtl8255(dev, 0x4, 0xe03); - write_rtl8255(dev, 0x4, 0xc03); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x803); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa03); - write_rtl8255(dev, 0x4, 0x803); - write_rtl8255(dev, 0x4, 0x403); - write_rtl8255(dev, 0x3, 0x26); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x603); - write_rtl8255(dev, 0x4, 0x403); - write_rtl8255(dev, 0x4, 0x403); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x603); - write_rtl8255(dev, 0x4, 0x403); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80418b9f, 0x40000027, - 0x92402ac8, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc04); - write_rtl8255(dev, 0x4, 0xe04); - write_rtl8255(dev, 0x4, 0xc04); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x804); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa04); - write_rtl8255(dev, 0x4, 0x804); - write_rtl8255(dev, 0x4, 0x404); - write_rtl8255(dev, 0x3, 0x26); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x604); - write_rtl8255(dev, 0x4, 0x404); - write_rtl8255(dev, 0x4, 0x404); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x604); - write_rtl8255(dev, 0x4, 0x404); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804183df, 0x40000027, - 0x92402ac8, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc05); - write_rtl8255(dev, 0x4, 0xe05); - write_rtl8255(dev, 0x4, 0xc05); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x805); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa05); - write_rtl8255(dev, 0x4, 0x805); - write_rtl8255(dev, 0x4, 0x405); - write_rtl8255(dev, 0x3, 0x26); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x605); - write_rtl8255(dev, 0x4, 0x405); - write_rtl8255(dev, 0x4, 0x405); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x605); - write_rtl8255(dev, 0x4, 0x405); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804183cf, 0x27, - 0x92402acc, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc06); - write_rtl8255(dev, 0x4, 0xe06); - write_rtl8255(dev, 0x4, 0xc06); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x806); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa06); - write_rtl8255(dev, 0x4, 0x806); - write_rtl8255(dev, 0x4, 0x406); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x606); - write_rtl8255(dev, 0x4, 0x406); - write_rtl8255(dev, 0x4, 0x406); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x606); - write_rtl8255(dev, 0x4, 0x406); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804183af, 0x27, - 0x92402acc, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc07); - write_rtl8255(dev, 0x4, 0xe07); - write_rtl8255(dev, 0x4, 0xc07); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x807); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa07); - write_rtl8255(dev, 0x4, 0x807); - write_rtl8255(dev, 0x4, 0x407); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x607); - write_rtl8255(dev, 0x4, 0x407); - write_rtl8255(dev, 0x4, 0x407); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x607); - write_rtl8255(dev, 0x4, 0x407); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804083d7, 0x40000027, - 0x92402ad0, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc08); - write_rtl8255(dev, 0x4, 0xe08); - write_rtl8255(dev, 0x4, 0xc08); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x808); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa08); - write_rtl8255(dev, 0x4, 0x808); - write_rtl8255(dev, 0x4, 0x408); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x608); - write_rtl8255(dev, 0x4, 0x408); - write_rtl8255(dev, 0x4, 0x408); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x608); - write_rtl8255(dev, 0x4, 0x408); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804083c7, 0x27, - 0x92402ad0, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc09); - write_rtl8255(dev, 0x4, 0xe09); - write_rtl8255(dev, 0x4, 0xc09); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x809); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa09); - write_rtl8255(dev, 0x4, 0x809); - write_rtl8255(dev, 0x4, 0x409); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x609); - write_rtl8255(dev, 0x4, 0x409); - write_rtl8255(dev, 0x4, 0x409); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x609); - write_rtl8255(dev, 0x4, 0x409); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804043d7, 0x40000027, - 0x92402ad4, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc0a); - write_rtl8255(dev, 0x4, 0xe0a); - write_rtl8255(dev, 0x4, 0xc0a); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x80a); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa0a); - write_rtl8255(dev, 0x4, 0x80a); - write_rtl8255(dev, 0x4, 0x40a); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x60a); - write_rtl8255(dev, 0x4, 0x40a); - write_rtl8255(dev, 0x4, 0x40a); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x60a); - write_rtl8255(dev, 0x4, 0x40a); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804043d7, 0x40000027, - 0x92402ad4, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc0b); - write_rtl8255(dev, 0x4, 0xe0b); - write_rtl8255(dev, 0x4, 0xc0b); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x80b); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa0b); - write_rtl8255(dev, 0x4, 0x80b); - write_rtl8255(dev, 0x4, 0x40b); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x60b); - write_rtl8255(dev, 0x4, 0x40b); - write_rtl8255(dev, 0x4, 0x40b); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x60b); - write_rtl8255(dev, 0x4, 0x40b); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804043c7, 0x27, - 0x92402ad8, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc0c); - write_rtl8255(dev, 0x4, 0xe0c); - write_rtl8255(dev, 0x4, 0xc0c); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x80c); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa0c); - write_rtl8255(dev, 0x4, 0x80c); - write_rtl8255(dev, 0x4, 0x40c); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x60c); - write_rtl8255(dev, 0x4, 0x40c); - write_rtl8255(dev, 0x4, 0x40c); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x60c); - write_rtl8255(dev, 0x4, 0x40c); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804043a7, 0x27, - 0x92402ad8, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc0d); - write_rtl8255(dev, 0x4, 0xe0d); - write_rtl8255(dev, 0x4, 0xc0d); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x80d); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa0d); - write_rtl8255(dev, 0x4, 0x80d); - write_rtl8255(dev, 0x4, 0x40d); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x60d); - write_rtl8255(dev, 0x4, 0x40d); - write_rtl8255(dev, 0x4, 0x40d); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x60d); - write_rtl8255(dev, 0x4, 0x40d); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404387, 0x27, - 0x92402aa8, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc0e); - write_rtl8255(dev, 0x4, 0xe0e); - write_rtl8255(dev, 0x4, 0xc0e); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x80e); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa0e); - write_rtl8255(dev, 0x4, 0x80e); - write_rtl8255(dev, 0x4, 0x40e); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x60e); - write_rtl8255(dev, 0x4, 0x40e); - write_rtl8255(dev, 0x4, 0x40e); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x60e); - write_rtl8255(dev, 0x4, 0x40e); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804041c7, 0x27, - 0x92402aa8, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc0f); - write_rtl8255(dev, 0x4, 0xe0f); - write_rtl8255(dev, 0x4, 0xc0f); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x80f); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa0f); - write_rtl8255(dev, 0x4, 0x80f); - write_rtl8255(dev, 0x4, 0x40f); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x60f); - write_rtl8255(dev, 0x4, 0x40f); - write_rtl8255(dev, 0x4, 0x40f); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x60f); - write_rtl8255(dev, 0x4, 0x40f); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x804041a7, 0x27, - 0x92402aac, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc10); - write_rtl8255(dev, 0x4, 0xe10); - write_rtl8255(dev, 0x4, 0xc10); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x810); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa10); - write_rtl8255(dev, 0x4, 0x810); - write_rtl8255(dev, 0x4, 0x410); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x610); - write_rtl8255(dev, 0x4, 0x410); - write_rtl8255(dev, 0x4, 0x410); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x610); - write_rtl8255(dev, 0x4, 0x410); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404187, 0x27, - 0x92402aac, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc11); - write_rtl8255(dev, 0x4, 0xe11); - write_rtl8255(dev, 0x4, 0xc11); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x811); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa11); - write_rtl8255(dev, 0x4, 0x811); - write_rtl8255(dev, 0x4, 0x411); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x611); - write_rtl8255(dev, 0x4, 0x411); - write_rtl8255(dev, 0x4, 0x411); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x611); - write_rtl8255(dev, 0x4, 0x411); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404186, 0x80000027, - 0x92402ab0, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc12); - write_rtl8255(dev, 0x4, 0xe12); - write_rtl8255(dev, 0x4, 0xc12); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x812); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa12); - write_rtl8255(dev, 0x4, 0x812); - write_rtl8255(dev, 0x4, 0x412); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x612); - write_rtl8255(dev, 0x4, 0x412); - write_rtl8255(dev, 0x4, 0x412); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x612); - write_rtl8255(dev, 0x4, 0x412); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404186, 0x27, - 0x92402ab0, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc13); - write_rtl8255(dev, 0x4, 0xe13); - write_rtl8255(dev, 0x4, 0xc13); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x813); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa13); - write_rtl8255(dev, 0x4, 0x813); - write_rtl8255(dev, 0x4, 0x413); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x613); - write_rtl8255(dev, 0x4, 0x413); - write_rtl8255(dev, 0x4, 0x413); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x613); - write_rtl8255(dev, 0x4, 0x413); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404146, 0x27, - 0x92402ab4, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc14); - write_rtl8255(dev, 0x4, 0xe14); - write_rtl8255(dev, 0x4, 0xc14); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x814); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa14); - write_rtl8255(dev, 0x4, 0x814); - write_rtl8255(dev, 0x4, 0x414); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x614); - write_rtl8255(dev, 0x4, 0x414); - write_rtl8255(dev, 0x4, 0x414); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x614); - write_rtl8255(dev, 0x4, 0x414); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404126, 0x27, - 0x92402ab4, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc15); - write_rtl8255(dev, 0x4, 0xe15); - write_rtl8255(dev, 0x4, 0xc15); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x815); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa15); - write_rtl8255(dev, 0x4, 0x815); - write_rtl8255(dev, 0x4, 0x415); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x615); - write_rtl8255(dev, 0x4, 0x415); - write_rtl8255(dev, 0x4, 0x415); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x615); - write_rtl8255(dev, 0x4, 0x415); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404106, 0x27, - 0x92402ab8, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc16); - write_rtl8255(dev, 0x4, 0xe16); - write_rtl8255(dev, 0x4, 0xc16); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x816); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa16); - write_rtl8255(dev, 0x4, 0x816); - write_rtl8255(dev, 0x4, 0x416); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x616); - write_rtl8255(dev, 0x4, 0x416); - write_rtl8255(dev, 0x4, 0x416); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x616); - write_rtl8255(dev, 0x4, 0x416); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404105, 0x27, - 0x92402ab8, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc17); - write_rtl8255(dev, 0x4, 0xe17); - write_rtl8255(dev, 0x4, 0xc17); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x817); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa17); - write_rtl8255(dev, 0x4, 0x817); - write_rtl8255(dev, 0x4, 0x417); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x617); - write_rtl8255(dev, 0x4, 0x417); - write_rtl8255(dev, 0x4, 0x417); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x617); - write_rtl8255(dev, 0x4, 0x417); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404104, 0x80000027, - 0x92402a88, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc18); - write_rtl8255(dev, 0x4, 0xe18); - write_rtl8255(dev, 0x4, 0xc18); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x818); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa18); - write_rtl8255(dev, 0x4, 0x818); - write_rtl8255(dev, 0x4, 0x418); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x618); - write_rtl8255(dev, 0x4, 0x418); - write_rtl8255(dev, 0x4, 0x418); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x618); - write_rtl8255(dev, 0x4, 0x418); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404104, 0x27, - 0x92402a88, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc19); - write_rtl8255(dev, 0x4, 0xe19); - write_rtl8255(dev, 0x4, 0xc19); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x819); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa19); - write_rtl8255(dev, 0x4, 0x819); - write_rtl8255(dev, 0x4, 0x419); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x619); - write_rtl8255(dev, 0x4, 0x419); - write_rtl8255(dev, 0x4, 0x419); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x619); - write_rtl8255(dev, 0x4, 0x419); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404044, 0x27, - 0x92402a8c, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc1a); - write_rtl8255(dev, 0x4, 0xe1a); - write_rtl8255(dev, 0x4, 0xc1a); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x81a); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa1a); - write_rtl8255(dev, 0x4, 0x81a); - write_rtl8255(dev, 0x4, 0x41a); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x61a); - write_rtl8255(dev, 0x4, 0x41a); - write_rtl8255(dev, 0x4, 0x41a); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x61a); - write_rtl8255(dev, 0x4, 0x41a); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404024, 0x27, - 0x92402a8c, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc1b); - write_rtl8255(dev, 0x4, 0xe1b); - write_rtl8255(dev, 0x4, 0xc1b); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x81b); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa1b); - write_rtl8255(dev, 0x4, 0x81b); - write_rtl8255(dev, 0x4, 0x41b); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x61b); - write_rtl8255(dev, 0x4, 0x41b); - write_rtl8255(dev, 0x4, 0x41b); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x61b); - write_rtl8255(dev, 0x4, 0x41b); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404004, 0x27, - 0x92402a90, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc1c); - write_rtl8255(dev, 0x4, 0xe1c); - write_rtl8255(dev, 0x4, 0xc1c); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x81c); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa1c); - write_rtl8255(dev, 0x4, 0x81c); - write_rtl8255(dev, 0x4, 0x41c); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x61c); - write_rtl8255(dev, 0x4, 0x41c); - write_rtl8255(dev, 0x4, 0x41c); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x61c); - write_rtl8255(dev, 0x4, 0x41c); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404001, 0x27, - 0x92402a90, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc1d); - write_rtl8255(dev, 0x4, 0xe1d); - write_rtl8255(dev, 0x4, 0xc1d); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x81d); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa1d); - write_rtl8255(dev, 0x4, 0x81d); - write_rtl8255(dev, 0x4, 0x41d); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x61d); - write_rtl8255(dev, 0x4, 0x41d); - write_rtl8255(dev, 0x4, 0x41d); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x61d); - write_rtl8255(dev, 0x4, 0x41d); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a94, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc1e); - write_rtl8255(dev, 0x4, 0xe1e); - write_rtl8255(dev, 0x4, 0xc1e); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x81e); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa1e); - write_rtl8255(dev, 0x4, 0x81e); - write_rtl8255(dev, 0x4, 0x41e); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x61e); - write_rtl8255(dev, 0x4, 0x41e); - write_rtl8255(dev, 0x4, 0x41e); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x61e); - write_rtl8255(dev, 0x4, 0x41e); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x27, - 0x92402a94, 0xf0009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc1f); - write_rtl8255(dev, 0x4, 0xe1f); - write_rtl8255(dev, 0x4, 0xc1f); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x81f); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa1f); - write_rtl8255(dev, 0x4, 0x81f); - write_rtl8255(dev, 0x4, 0x41f); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x61f); - write_rtl8255(dev, 0x4, 0x41f); - write_rtl8255(dev, 0x4, 0x41f); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x61f); - write_rtl8255(dev, 0x4, 0x41f); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404020, 0x80000027, - 0x92402a98, 0xf8009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc20); - write_rtl8255(dev, 0x4, 0xe20); - write_rtl8255(dev, 0x4, 0xc20); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x820); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa20); - write_rtl8255(dev, 0x4, 0x820); - write_rtl8255(dev, 0x4, 0x420); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x620); - write_rtl8255(dev, 0x4, 0x420); - write_rtl8255(dev, 0x4, 0x420); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x620); - write_rtl8255(dev, 0x4, 0x420); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404020, 0x27, - 0x92402a98, 0xf8009, 0x28000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc21); - write_rtl8255(dev, 0x4, 0xe21); - write_rtl8255(dev, 0x4, 0xc21); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x821); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa21); - write_rtl8255(dev, 0x4, 0x821); - write_rtl8255(dev, 0x4, 0x421); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x621); - write_rtl8255(dev, 0x4, 0x421); - write_rtl8255(dev, 0x4, 0x421); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x621); - write_rtl8255(dev, 0x4, 0x421); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a68, 0xf0009, 0x10028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc22); - write_rtl8255(dev, 0x4, 0xe22); - write_rtl8255(dev, 0x4, 0xc22); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x822); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa22); - write_rtl8255(dev, 0x4, 0x822); - write_rtl8255(dev, 0x4, 0x422); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x622); - write_rtl8255(dev, 0x4, 0x422); - write_rtl8255(dev, 0x4, 0x422); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x622); - write_rtl8255(dev, 0x4, 0x422); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404010, 0x80000027, - 0x92402a68, 0xf0009, 0x20028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc23); - write_rtl8255(dev, 0x4, 0xe23); - write_rtl8255(dev, 0x4, 0xc23); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x823); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa23); - write_rtl8255(dev, 0x4, 0x823); - write_rtl8255(dev, 0x4, 0x423); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x623); - write_rtl8255(dev, 0x4, 0x423); - write_rtl8255(dev, 0x4, 0x423); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x623); - write_rtl8255(dev, 0x4, 0x423); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404010, 0x80000027, - 0x92402a6c, 0xf0009, 0x30028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc24); - write_rtl8255(dev, 0x4, 0xe24); - write_rtl8255(dev, 0x4, 0xc24); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x824); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa24); - write_rtl8255(dev, 0x4, 0x824); - write_rtl8255(dev, 0x4, 0x424); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x624); - write_rtl8255(dev, 0x4, 0x424); - write_rtl8255(dev, 0x4, 0x424); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x624); - write_rtl8255(dev, 0x4, 0x424); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404010, 0x80000027, - 0x92402a6c, 0xf0009, 0x40028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc25); - write_rtl8255(dev, 0x4, 0xe25); - write_rtl8255(dev, 0x4, 0xc25); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x825); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa25); - write_rtl8255(dev, 0x4, 0x825); - write_rtl8255(dev, 0x4, 0x425); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x625); - write_rtl8255(dev, 0x4, 0x425); - write_rtl8255(dev, 0x4, 0x425); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x625); - write_rtl8255(dev, 0x4, 0x425); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a70, 0xf0009, 0x60028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc26); - write_rtl8255(dev, 0x4, 0xe26); - write_rtl8255(dev, 0x4, 0xc26); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x826); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa26); - write_rtl8255(dev, 0x4, 0x826); - write_rtl8255(dev, 0x4, 0x426); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x626); - write_rtl8255(dev, 0x4, 0x426); - write_rtl8255(dev, 0x4, 0x426); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x626); - write_rtl8255(dev, 0x4, 0x426); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404031, 0x40000027, - 0x92402a70, 0xf0011, 0x60028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc27); - write_rtl8255(dev, 0x4, 0xe27); - write_rtl8255(dev, 0x4, 0xc27); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x827); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa27); - write_rtl8255(dev, 0x4, 0x827); - write_rtl8255(dev, 0x4, 0x427); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x627); - write_rtl8255(dev, 0x4, 0x427); - write_rtl8255(dev, 0x4, 0x427); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x627); - write_rtl8255(dev, 0x4, 0x427); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404011, 0x40000027, - 0x92402a74, 0xf0011, 0x60028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc28); - write_rtl8255(dev, 0x4, 0xe28); - write_rtl8255(dev, 0x4, 0xc28); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x828); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa28); - write_rtl8255(dev, 0x4, 0x828); - write_rtl8255(dev, 0x4, 0x428); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x628); - write_rtl8255(dev, 0x4, 0x428); - write_rtl8255(dev, 0x4, 0x428); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x628); - write_rtl8255(dev, 0x4, 0x428); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404010, 0xc0000027, - 0x92402a74, 0xf0011, 0x60028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc29); - write_rtl8255(dev, 0x4, 0xe29); - write_rtl8255(dev, 0x4, 0xc29); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x829); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa29); - write_rtl8255(dev, 0x4, 0x829); - write_rtl8255(dev, 0x4, 0x429); - write_rtl8255(dev, 0x3, 0x25); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x629); - write_rtl8255(dev, 0x4, 0x429); - write_rtl8255(dev, 0x4, 0x429); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x629); - write_rtl8255(dev, 0x4, 0x429); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a78, 0xf0011, 0x60028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc2a); - write_rtl8255(dev, 0x4, 0xe2a); - write_rtl8255(dev, 0x4, 0xc2a); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x82a); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa2a); - write_rtl8255(dev, 0x4, 0x82a); - write_rtl8255(dev, 0x4, 0x42a); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x62a); - write_rtl8255(dev, 0x4, 0x42a); - write_rtl8255(dev, 0x4, 0x42a); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x62a); - write_rtl8255(dev, 0x4, 0x42a); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a78, 0xf0011, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc2b); - write_rtl8255(dev, 0x4, 0xe2b); - write_rtl8255(dev, 0x4, 0xc2b); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x82b); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa2b); - write_rtl8255(dev, 0x4, 0x82b); - write_rtl8255(dev, 0x4, 0x42b); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x62b); - write_rtl8255(dev, 0x4, 0x42b); - write_rtl8255(dev, 0x4, 0x42b); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x62b); - write_rtl8255(dev, 0x4, 0x42b); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a48, 0xf0019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc2c); - write_rtl8255(dev, 0x4, 0xe2c); - write_rtl8255(dev, 0x4, 0xc2c); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x82c); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa2c); - write_rtl8255(dev, 0x4, 0x82c); - write_rtl8255(dev, 0x4, 0x42c); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x62c); - write_rtl8255(dev, 0x4, 0x42c); - write_rtl8255(dev, 0x4, 0x42c); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x62c); - write_rtl8255(dev, 0x4, 0x42c); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a48, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc2d); - write_rtl8255(dev, 0x4, 0xe2d); - write_rtl8255(dev, 0x4, 0xc2d); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x82d); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa2d); - write_rtl8255(dev, 0x4, 0x82d); - write_rtl8255(dev, 0x4, 0x42d); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x62d); - write_rtl8255(dev, 0x4, 0x42d); - write_rtl8255(dev, 0x4, 0x42d); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x62d); - write_rtl8255(dev, 0x4, 0x42d); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a4c, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc2e); - write_rtl8255(dev, 0x4, 0xe2e); - write_rtl8255(dev, 0x4, 0xc2e); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x82e); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa2e); - write_rtl8255(dev, 0x4, 0x82e); - write_rtl8255(dev, 0x4, 0x42e); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x62e); - write_rtl8255(dev, 0x4, 0x42e); - write_rtl8255(dev, 0x4, 0x42e); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x62e); - write_rtl8255(dev, 0x4, 0x42e); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a4c, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc2f); - write_rtl8255(dev, 0x4, 0xe2f); - write_rtl8255(dev, 0x4, 0xc2f); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x82f); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa2f); - write_rtl8255(dev, 0x4, 0x82f); - write_rtl8255(dev, 0x4, 0x42f); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x62f); - write_rtl8255(dev, 0x4, 0x42f); - write_rtl8255(dev, 0x4, 0x42f); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x62f); - write_rtl8255(dev, 0x4, 0x42f); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a50, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc30); - write_rtl8255(dev, 0x4, 0xe30); - write_rtl8255(dev, 0x4, 0xc30); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x830); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa30); - write_rtl8255(dev, 0x4, 0x830); - write_rtl8255(dev, 0x4, 0x430); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x630); - write_rtl8255(dev, 0x4, 0x430); - write_rtl8255(dev, 0x4, 0x430); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x630); - write_rtl8255(dev, 0x4, 0x430); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a50, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc31); - write_rtl8255(dev, 0x4, 0xe31); - write_rtl8255(dev, 0x4, 0xc31); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x831); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa31); - write_rtl8255(dev, 0x4, 0x831); - write_rtl8255(dev, 0x4, 0x431); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x631); - write_rtl8255(dev, 0x4, 0x431); - write_rtl8255(dev, 0x4, 0x431); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x631); - write_rtl8255(dev, 0x4, 0x431); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a54, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc32); - write_rtl8255(dev, 0x4, 0xe32); - write_rtl8255(dev, 0x4, 0xc32); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x832); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa32); - write_rtl8255(dev, 0x4, 0x832); - write_rtl8255(dev, 0x4, 0x432); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x632); - write_rtl8255(dev, 0x4, 0x432); - write_rtl8255(dev, 0x4, 0x432); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x632); - write_rtl8255(dev, 0x4, 0x432); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a54, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc33); - write_rtl8255(dev, 0x4, 0xe33); - write_rtl8255(dev, 0x4, 0xc33); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x833); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa33); - write_rtl8255(dev, 0x4, 0x833); - write_rtl8255(dev, 0x4, 0x433); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x633); - write_rtl8255(dev, 0x4, 0x433); - write_rtl8255(dev, 0x4, 0x433); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x633); - write_rtl8255(dev, 0x4, 0x433); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a58, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc34); - write_rtl8255(dev, 0x4, 0xe34); - write_rtl8255(dev, 0x4, 0xc34); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x834); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa34); - write_rtl8255(dev, 0x4, 0x834); - write_rtl8255(dev, 0x4, 0x434); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x634); - write_rtl8255(dev, 0x4, 0x434); - write_rtl8255(dev, 0x4, 0x434); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x634); - write_rtl8255(dev, 0x4, 0x434); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a58, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc35); - write_rtl8255(dev, 0x4, 0xe35); - write_rtl8255(dev, 0x4, 0xc35); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x835); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa35); - write_rtl8255(dev, 0x4, 0x835); - write_rtl8255(dev, 0x4, 0x435); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x4, 0x635); - write_rtl8255(dev, 0x4, 0x435); - write_rtl8255(dev, 0x4, 0x435); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x635); - write_rtl8255(dev, 0x4, 0x435); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a24, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc36); - write_rtl8255(dev, 0x4, 0xe36); - write_rtl8255(dev, 0x4, 0xc36); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x836); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa36); - write_rtl8255(dev, 0x4, 0x836); - write_rtl8255(dev, 0x4, 0x436); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x25); - write_rtl8255(dev, 0x4, 0x636); - write_rtl8255(dev, 0x4, 0x436); - write_rtl8255(dev, 0x4, 0x436); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x636); - write_rtl8255(dev, 0x4, 0x436); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a24, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc37); - write_rtl8255(dev, 0x4, 0xe37); - write_rtl8255(dev, 0x4, 0xc37); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x837); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa37); - write_rtl8255(dev, 0x4, 0x837); - write_rtl8255(dev, 0x4, 0x437); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x25); - write_rtl8255(dev, 0x4, 0x637); - write_rtl8255(dev, 0x4, 0x437); - write_rtl8255(dev, 0x4, 0x437); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x637); - write_rtl8255(dev, 0x4, 0x437); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a28, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc38); - write_rtl8255(dev, 0x4, 0xe38); - write_rtl8255(dev, 0x4, 0xc38); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x838); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa38); - write_rtl8255(dev, 0x4, 0x838); - write_rtl8255(dev, 0x4, 0x438); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x25); - write_rtl8255(dev, 0x4, 0x638); - write_rtl8255(dev, 0x4, 0x438); - write_rtl8255(dev, 0x4, 0x438); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x638); - write_rtl8255(dev, 0x4, 0x438); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a28, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc39); - write_rtl8255(dev, 0x4, 0xe39); - write_rtl8255(dev, 0x4, 0xc39); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x839); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa39); - write_rtl8255(dev, 0x4, 0x839); - write_rtl8255(dev, 0x4, 0x439); - write_rtl8255(dev, 0x3, 0x24); - write_rtl8255(dev, 0x2, 0x25); - write_rtl8255(dev, 0x4, 0x639); - write_rtl8255(dev, 0x4, 0x439); - write_rtl8255(dev, 0x4, 0x439); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x639); - write_rtl8255(dev, 0x4, 0x439); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a00, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc3a); - write_rtl8255(dev, 0x4, 0xe3a); - write_rtl8255(dev, 0x4, 0xc3a); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x83a); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa3a); - write_rtl8255(dev, 0x4, 0x83a); - write_rtl8255(dev, 0x4, 0x43a); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0x63a); - write_rtl8255(dev, 0x4, 0x43a); - write_rtl8255(dev, 0x4, 0x43a); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x63a); - write_rtl8255(dev, 0x4, 0x43a); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a00, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc3b); - write_rtl8255(dev, 0x4, 0xe3b); - write_rtl8255(dev, 0x4, 0xc3b); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x83b); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa3b); - write_rtl8255(dev, 0x4, 0x83b); - write_rtl8255(dev, 0x4, 0x43b); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0x63b); - write_rtl8255(dev, 0x4, 0x43b); - write_rtl8255(dev, 0x4, 0x43b); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x63b); - write_rtl8255(dev, 0x4, 0x43b); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a00, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc3c); - write_rtl8255(dev, 0x4, 0xe3c); - write_rtl8255(dev, 0x4, 0xc3c); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x83c); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa3c); - write_rtl8255(dev, 0x4, 0x83c); - write_rtl8255(dev, 0x4, 0x43c); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0x63c); - write_rtl8255(dev, 0x4, 0x43c); - write_rtl8255(dev, 0x4, 0x43c); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x63c); - write_rtl8255(dev, 0x4, 0x43c); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a00, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc3d); - write_rtl8255(dev, 0x4, 0xe3d); - write_rtl8255(dev, 0x4, 0xc3d); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x83d); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa3d); - write_rtl8255(dev, 0x4, 0x83d); - write_rtl8255(dev, 0x4, 0x43d); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0x63d); - write_rtl8255(dev, 0x4, 0x43d); - write_rtl8255(dev, 0x4, 0x43d); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x63d); - write_rtl8255(dev, 0x4, 0x43d); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a00, 0xf8019, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc3e); - write_rtl8255(dev, 0x4, 0xe3e); - write_rtl8255(dev, 0x4, 0xc3e); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x83e); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa3e); - write_rtl8255(dev, 0x4, 0x83e); - write_rtl8255(dev, 0x4, 0x43e); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0x63e); - write_rtl8255(dev, 0x4, 0x43e); - write_rtl8255(dev, 0x4, 0x43e); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x63e); - write_rtl8255(dev, 0x4, 0x43e); - write_rtl8255_reg0c(dev, 0x1554, 0xa800403b, 0xf6d44278, 0x80404000, 0x80000027, - 0x92402a00, 0xf8011, 0x70028000, 0xc00, 0x0); - write_rtl8255(dev, 0x1, 0x807); - write_rtl8255(dev, 0x4, 0xc3f); - write_rtl8255(dev, 0x4, 0xe3f); - write_rtl8255(dev, 0x4, 0xc3f); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255(dev, 0x4, 0x83f); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0xa3f); - write_rtl8255(dev, 0x4, 0x83f); - write_rtl8255(dev, 0x4, 0x43f); - write_rtl8255(dev, 0x3, 0x0); - write_rtl8255(dev, 0x2, 0x0); - write_rtl8255(dev, 0x4, 0x63f); - write_rtl8255(dev, 0x4, 0x43f); - write_rtl8255(dev, 0x4, 0x43f); - write_rtl8255(dev, 0x3, 0x100); - write_rtl8255(dev, 0x4, 0x63f); - write_rtl8255(dev, 0x4, 0x43f); - write_rtl8255(dev, 0x4, 0x0); - write_rtl8255(dev, 0x1, 0x0); - write_rtl8255_reg0c(dev, 0x3539, 0x70000c03, 0xfef46178, 0x408000, 0x403307, - 0x924f80c0, 0xf955c, 0x8400, 0x429200, 0x1ce20); - write_rtl8255(dev, 0x1, 0x1c7); - write_rtl8255(dev, 0x2, 0x26); - write_rtl8255(dev, 0x3, 0x27); - write_rtl8255(dev, 0x1, 0x47); - write_rtl8255(dev, 0x4, 0x98c); - write_rtl8255(dev, 0x5, 0x65); - write_rtl8255(dev, 0x6, 0x13); - write_rtl8255(dev, 0x7, 0x7c); - write_rtl8255(dev, 0x8, 0x6); - write_rtl8255(dev, 0x8, 0x7); - write_rtl8255(dev, 0x8, 0x6); - write_rtl8255(dev, 0x9, 0xce2); - write_rtl8255(dev, 0xb, 0x1c5); - write_rtl8255(dev, 0xd, 0xd7f); - write_rtl8255(dev, 0xe, 0x369); - write_rtl8255(dev, 0xa, 0xd56); - write_rtl8255(dev, 0xa, 0xd57); - mdelay(20); - write_rtl8255(dev, 0xd, 0xd7e); - -} - - -void rtl8255_set_band_param(struct net_device *dev, short band) -{ - if(band != BAND_A){ - write_nic_dword(dev, 0x94, 0x3dc00002); - write_nic_dword(dev, 0x88, 0x00100040); - - write_phy_cck(dev, 0x13, 0xd0); - - write_phy_cck(dev, 0x41, 0x9d); - write_nic_dword(dev, 0x8c, 0x00082205); - write_nic_byte(dev, 0xb4, 0x66); - } -} - -void rtl8255_rf_init(struct net_device *dev) -{ - struct r8180_priv *priv = ieee80211_priv(dev); - int i; - u16 brsr; -// short channel /*= priv->chan*/ = 1; - priv->chan = 1; - - write_nic_word(dev, RFPinsOutput, 0x80); - write_nic_word(dev, RFPinsSelect, 0x80 | SW_CONTROL_GPIO); - write_nic_word(dev, RFPinsEnable, 0x80); - write_nic_word(dev, RFPinsSelect, SW_CONTROL_GPIO); - - write_nic_dword(dev, RF_TIMING, 0x000f800f); - - brsr = read_nic_word(dev, BRSR); - - write_nic_word(dev, 0x2c, 0xffff); - - - rtl8180_set_anaparam(dev, RTL8255_ANAPARAM_ON); - rtl8185_set_anaparam2(dev, RTL8255_ANAPARAM2_ON); - - write_nic_dword(dev, 0x94, 0x11c00002); - - write_nic_dword(dev, RF_PARA, 0x100040); - - rtl8185_rf_pins_enable(dev); - - rtl8255_init_BGband(dev); - rtl8255_set_band_param(dev,BAND_BG); - - write_phy_cck(dev, 0x0, 0x98); - write_phy_cck(dev, 0x3, 0x20); - write_phy_cck(dev, 0x4, 0x2e); - write_phy_cck(dev, 0x5, 0x12); - write_phy_cck(dev, 0x6, 0xfc); - write_phy_cck(dev, 0x7, 0xd8); - write_phy_cck(dev, 0x8, 0x2e); - write_phy_cck(dev, 0x10, 0xd3); - write_phy_cck(dev, 0x11, 0x88); - write_phy_cck(dev, 0x12, 0x47); - write_phy_cck(dev, 0x13, 0xd0); /* Ver C & D & 8187*/ - - write_phy_cck(dev, 0x19, 0x0); - write_phy_cck(dev, 0x1a, 0xa0); - write_phy_cck(dev, 0x1b, 0x8); - write_phy_cck(dev, 0x40, 0x86); /* CCK Carrier Sense Threshold */ - write_phy_cck(dev, 0x41, 0x9d); /* Energy Threshold */ - //write_phy_cck(dev, 0x42, 0x0); - write_phy_cck(dev, 0x43, 0x8); - - write_nic_byte(dev, TESTR,0x8); - - for(i=0;i<128;i++){ - write_phy_ofdm(dev, 0x4b, rtl8255_agc[i]); - write_phy_ofdm(dev, 0x4a, (u8)i+ 0x80); - } - - - write_phy_ofdm(dev, 0x0, 0x1); - write_phy_ofdm(dev, 0x1, 0x2); - write_phy_ofdm(dev, 0x2, 0x43); - write_phy_ofdm(dev, 0x3, 0x0); - write_phy_ofdm(dev, 0x4, 0x0); - write_phy_ofdm(dev, 0x5, 0x0); - write_phy_ofdm(dev, 0x6, 0x40); - write_phy_ofdm(dev, 0x7, 0x0); - write_phy_ofdm(dev, 0x8, 0x40); - write_phy_ofdm(dev, 0x9, 0xfe); - write_phy_ofdm(dev, 0xa, 0x9); - write_phy_ofdm(dev, 0xb, 0x80); - write_phy_ofdm(dev, 0xc, 0x1); - write_phy_ofdm(dev, 0xd, 0x43); - write_phy_ofdm(dev, 0xe, 0xd3); - write_phy_ofdm(dev, 0xf, 0x38); - write_phy_ofdm(dev, 0x10, 0x4); - write_phy_ofdm(dev, 0x11, 0x06);/*agc resp time 700*/ - write_phy_ofdm(dev, 0x12, 0x20); - write_phy_ofdm(dev, 0x13, 0x20); - write_phy_ofdm(dev, 0x14, 0x0); - write_phy_ofdm(dev, 0x15, 0x40); - write_phy_ofdm(dev, 0x16, 0x0); - write_phy_ofdm(dev, 0x17, 0x40); - write_phy_ofdm(dev, 0x18, 0xef); - write_phy_ofdm(dev, 0x19, 0x25); - write_phy_ofdm(dev, 0x1a, 0x20); - write_phy_ofdm(dev, 0x1b, 0x7a); - write_phy_ofdm(dev, 0x1c, 0x84); - write_phy_ofdm(dev, 0x1e, 0x95); - write_phy_ofdm(dev, 0x1f, 0x75); - write_phy_ofdm(dev, 0x20, 0x1f); - write_phy_ofdm(dev, 0x21, 0x17); - write_phy_ofdm(dev, 0x22, 0x16); - write_phy_ofdm(dev, 0x23, 0x70); //FIXME maybe not needed - write_phy_ofdm(dev, 0x24, 0x70); - write_phy_ofdm(dev, 0x25, 0x0); - write_phy_ofdm(dev, 0x26, 0x10); - write_phy_ofdm(dev, 0x27, 0x88); - - - write_nic_dword(dev, 0x94, 0x3dc00002); //BAND DEPEND. -// write_nic_dword(dev, 0x94, 0x15c00002); //BAND DEPEND. - - write_phy_cck(dev, 0x4, 0x18); - write_phy_cck(dev, 0x43, 0x18); - write_phy_cck(dev, 0x6, 0xdc); - write_phy_cck(dev, 0x44, 0x2b); - write_phy_cck(dev, 0x45, 0x2b); - write_phy_cck(dev, 0x46, 0x25); - write_phy_cck(dev, 0x47, 0x15); - write_phy_cck(dev, 0x48, 0x0); - write_phy_cck(dev, 0x49, 0x0); - write_phy_cck(dev, 0x4a, 0x0); - write_phy_cck(dev, 0x4b, 0x0); -// write_phy_cck(dev, 0x4c, 0x5); - - //rtl8255_set_gain(dev, 1); /* FIXME this '1' is random */ - - rtl8255_SetTXPowerLevel(dev, priv->chan); - - write_phy_cck(dev, 0x10, 0x93 |0x4); /* Rx ant B, 0xd3 for A */ - write_phy_ofdm(dev, 0x26, 0x90); /* Rx ant B, 0x10 for A */ - - rtl8185_tx_antenna(dev, 0x3); /* TX ant B, 0x0 for A*/ - /* make sure is waken up! */ - rtl8180_set_anaparam(dev, RTL8255_ANAPARAM_ON); - rtl8185_set_anaparam2(dev, RTL8255_ANAPARAM2_ON); - - rtl8255_set_band_param(dev,BAND_BG); - - write_phy_cck(dev, 0x41, 0x9d); - - rtl8255_set_gain(dev, 4); - //rtl8255_set_energy_threshold(dev); - write_phy_cck(dev, 0x41, 0x9d); - rtl8255_rf_set_chan(dev, priv->chan); - - write_nic_word(dev, BRSR, brsr); -} - diff --git a/drivers/staging/rtl8187se/r8180_rtl8255.h b/drivers/staging/rtl8187se/r8180_rtl8255.h deleted file mode 100644 index be44ca6..0000000 --- a/drivers/staging/rtl8187se/r8180_rtl8255.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - This is part of the rtl8180-sa2400 driver - released under the GPL (See file COPYING for details). - Copyright (c) 2005 Andrea Merello <andreamrl@tiscali.it> - - This files contains programming code for the rtl8255 - radio frontend. - - *Many* thanks to Realtek Corp. for their great support! - -*/ - -#define RTL8255_ANAPARAM_ON 0xa0000b59 -#define RTL8255_ANAPARAM2_ON 0x840cf311 - - -void rtl8255_rf_init(struct net_device *dev); -void rtl8255_rf_set_chan(struct net_device *dev,short ch); -void rtl8255_rf_close(struct net_device *dev); diff --git a/drivers/staging/rtl8187se/r8180_sa2400.c b/drivers/staging/rtl8187se/r8180_sa2400.c deleted file mode 100644 index d649560..0000000 --- a/drivers/staging/rtl8187se/r8180_sa2400.c +++ /dev/null @@ -1,233 +0,0 @@ -/* - This files contains PHILIPS SA2400 radio frontend programming routines. - - This is part of rtl8180 OpenSource driver - Copyright (C) Andrea Merello 2004-2005 <andreamrl@tiscali.it> - Released under the terms of GPL (General Public Licence) - - Parts of this driver are based on the GPL part of the - official realtek driver - - Parts of this driver are based on the rtl8180 driver skeleton - from Patric Schenke & Andres Salomon - - Parts of this driver are based on the Intel Pro Wireless 2100 GPL driver. - - Code at http://che.ojctech.com/~dyoung/rtw/ has been useful to me to - understand some things. - - Code from rtl8181 project has been useful to me to understand some things. - - We want to tanks the Authors of such projects and the Ndiswrapper - project Authors. -*/ - - -#include "r8180.h" -#include "r8180_hw.h" -#include "r8180_sa2400.h" - - -//#define DEBUG_SA2400 - -u32 sa2400_chan[] = { - 0x0, //dummy channel 0 - 0x00096c, //1 - 0x080970, //2 - 0x100974, //3 - 0x180978, //4 - 0x000980, //5 - 0x080984, //6 - 0x100988, //7 - 0x18098c, //8 - 0x000994, //9 - 0x080998, //10 - 0x10099c, //11 - 0x1809a0, //12 - 0x0009a8, //13 - 0x0009b4, //14 -}; - - -void rf_stabilize(struct net_device *dev) -{ - force_pci_posting(dev); - mdelay(3); //for now use a great value.. we may optimize in future -} - - -void write_sa2400(struct net_device *dev,u8 adr, u32 data) -{ -// struct r8180_priv *priv = ieee80211_priv(dev); - u32 phy_config; - - // philips sa2400 expects 24 bits data - - /*if(adr == 4 && priv->digphy){ - phy_config=0x60000000; - }else{ - phy_config=0xb0000000; - }*/ - - phy_config = 0xb0000000; // MAC will bang bits to the sa2400 - - phy_config |= (((u32)(adr&0xf))<< 24); - phy_config |= (data & 0xffffff); - write_nic_dword(dev,PHY_CONFIG,phy_config); -#ifdef DEBUG_SA2400 - DMESG("Writing sa2400: %x (adr %x)",phy_config,adr); -#endif - rf_stabilize(dev); -} - - - -void sa2400_write_phy_antenna(struct net_device *dev,short ch) -{ - struct r8180_priv *priv = ieee80211_priv(dev); - u8 ant; - - ant = SA2400_ANTENNA; - if(priv->antb) /*default antenna is antenna B */ - ant |= BB_ANTENNA_B; - if(ch == 14) - ant |= BB_ANTATTEN_CHAN14; - write_phy(dev,0x10,ant); - //DMESG("BB antenna %x ",ant); -} - - -/* from the rtl8181 embedded driver */ -short sa2400_rf_set_sens(struct net_device *dev, short sens) -{ - u8 finetune = 0; - if ((sens > 85) || (sens < 54)) return -1; - - write_sa2400(dev,5,0x1dfb | (sens-54) << 15 |(finetune<<20)); // AGC 0xc9dfb - - return 0; -} - - -void sa2400_rf_set_chan(struct net_device *dev, short ch) -{ - struct r8180_priv *priv = ieee80211_priv(dev); - u32 txpw = 0xff & priv->chtxpwr[ch]; - u32 chan = sa2400_chan[ch]; - - write_sa2400(dev,7,txpw); - //write_phy(dev,0x10,0xd1); - sa2400_write_phy_antenna(dev,ch); - write_sa2400(dev,0,chan); - write_sa2400(dev,1,0xbb50); - write_sa2400(dev,2,0x80); - write_sa2400(dev,3,0); -} - - -void sa2400_rf_close(struct net_device *dev) -{ - write_sa2400(dev, 4, 0); -} - - -void sa2400_rf_init(struct net_device *dev) -{ - struct r8180_priv *priv = ieee80211_priv(dev); - u32 anaparam; - u8 firdac; - - write_nic_byte(dev,PHY_DELAY,0x6); //this is general - write_nic_byte(dev,CARRIER_SENSE_COUNTER,0x4c); //this is general - - /*these are philips sa2400 specific*/ - anaparam = read_nic_dword(dev,ANAPARAM); - anaparam = anaparam &~ (1<<ANAPARAM_TXDACOFF_SHIFT); - - anaparam = anaparam &~ANAPARAM_PWR1_MASK; - anaparam = anaparam &~ANAPARAM_PWR0_MASK; - if(priv->digphy){ - anaparam |= (SA2400_DIG_ANAPARAM_PWR1_ON<<ANAPARAM_PWR1_SHIFT); - anaparam |= (SA2400_ANAPARAM_PWR0_ON<<ANAPARAM_PWR0_SHIFT); - }else{ - anaparam |= (SA2400_ANA_ANAPARAM_PWR1_ON<<ANAPARAM_PWR1_SHIFT); - } - - rtl8180_set_anaparam(dev,anaparam); - - firdac = (priv->digphy) ? (1<<SA2400_REG4_FIRDAC_SHIFT) : 0; - write_sa2400(dev,0,sa2400_chan[priv->chan]); - write_sa2400(dev,1,0xbb50); - write_sa2400(dev,2,0x80); - write_sa2400(dev,3,0); - write_sa2400(dev,4,0x19340 | firdac); - write_sa2400(dev,5,0xc9dfb); // AGC - write_sa2400(dev,4,0x19348 | firdac); //calibrates VCO - - if(priv->digphy) - write_sa2400(dev,4,0x1938c); /*???*/ - - write_sa2400(dev,4,0x19340 | firdac); - - write_sa2400(dev,0,sa2400_chan[priv->chan]); - write_sa2400(dev,1,0xbb50); - write_sa2400(dev,2,0x80); - write_sa2400(dev,3,0); - write_sa2400(dev,4,0x19344 | firdac); //calibrates filter - - /* new from rtl8180 embedded driver (rtl8181 project) */ - write_sa2400(dev,6,0x13ff | (1<<23)); // MANRX - write_sa2400(dev,8,0); //VCO - - if(!priv->digphy) - { - rtl8180_set_anaparam(dev, anaparam | \ - (1<<ANAPARAM_TXDACOFF_SHIFT)); - - rtl8180_conttx_enable(dev); - - write_sa2400(dev, 4, 0x19341); // calibrates DC - - /* a 5us sleep is required here, - we rely on the 3ms delay introduced in write_sa2400 - */ - write_sa2400(dev, 4, 0x19345); - /* a 20us sleep is required here, - we rely on the 3ms delay introduced in write_sa2400 - */ - rtl8180_conttx_disable(dev); - - rtl8180_set_anaparam(dev, anaparam); - } - /* end new */ - - write_sa2400(dev,4,0x19341 | firdac ); //RTX MODE - - // Set tx power level !? - - - /*baseband configuration*/ - write_phy(dev,0,0x98); - write_phy(dev,3,0x38); - write_phy(dev,4,0xe0); - write_phy(dev,5,0x90); - write_phy(dev,6,0x1a); - write_phy(dev,7,0x64); - - /*Should be done something more here??*/ - - sa2400_write_phy_antenna(dev,priv->chan); - - write_phy(dev,0x11,0x80); - if(priv->diversity) - write_phy(dev,0x12,0xc7); - else - write_phy(dev,0x12,0x47); - - write_phy(dev,0x13,0x90 | priv->cs_treshold ); - - write_phy(dev,0x19,0x0); - write_phy(dev,0x1a,0xa0); - - sa2400_rf_set_chan(dev,priv->chan); -} diff --git a/drivers/staging/rtl8187se/r8180_sa2400.h b/drivers/staging/rtl8187se/r8180_sa2400.h deleted file mode 100644 index 683a69b..0000000 --- a/drivers/staging/rtl8187se/r8180_sa2400.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - This is part of rtl8180 OpenSource driver - v 0.7 - Copyright (C) Andrea Merello 2004 <andreamrl@tiscali.it> - Released under the terms of GPL (General Public Licence) - - Parts of this driver are based on the GPL part of the official realtek driver - Parts of this driver are based on the rtl8180 driver skeleton from Patric Schenke & Andres Salomon - Parts of this driver are based on the Intel Pro Wireless 2100 GPL driver - - We want to tanks the Authors of such projects and the Ndiswrapper project Authors. -*/ - -#define SA2400_ANTENNA 0x91 -#define SA2400_DIG_ANAPARAM_PWR1_ON 0x8 -#define SA2400_ANA_ANAPARAM_PWR1_ON 0x28 -#define SA2400_ANAPARAM_PWR0_ON 0x3 - -#define SA2400_RF_MAX_SENS 85 -#define SA2400_RF_DEF_SENS 80 - -#define SA2400_REG4_FIRDAC_SHIFT 7 - -void sa2400_rf_init(struct net_device *dev); -void sa2400_rf_set_chan(struct net_device *dev,short ch); -short sa2400_rf_set_sens(struct net_device *dev,short sens); -void sa2400_rf_close(struct net_device *dev); diff --git a/drivers/staging/rtl8187se/r8180_wx.c b/drivers/staging/rtl8187se/r8180_wx.c index ac5dbb1..58ad6fd 100644 --- a/drivers/staging/rtl8187se/r8180_wx.c +++ b/drivers/staging/rtl8187se/r8180_wx.c @@ -20,7 +20,6 @@ #include "r8180.h" #include "r8180_hw.h" -#include "r8180_sa2400.h" #include "ieee80211/dot11d.h" diff --git a/drivers/staging/rtl8187se/r8185b_init.c b/drivers/staging/rtl8187se/r8185b_init.c index 6aa52cb..b88648a 100644 --- a/drivers/staging/rtl8187se/r8185b_init.c +++ b/drivers/staging/rtl8187se/r8185b_init.c @@ -22,11 +22,7 @@ Notes: #include <linux/spinlock.h> #include "r8180_hw.h" #include "r8180.h" -#include "r8180_sa2400.h" /* PHILIPS Radio frontend */ -#include "r8180_max2820.h" /* MAXIM Radio frontend */ -#include "r8180_gct.h" /* GCT Radio frontend */ #include "r8180_rtl8225.h" /* RTL8225 Radio frontend */ -#include "r8180_rtl8255.h" /* RTL8255 Radio frontend */ #include "r8180_93cx6.h" /* Card EEPROM */ #include "r8180_wx.h" |