Staging: rtl8187se: remove unused radio frontends
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Sun, 28 Jun 2009 14:19:31 +0000 (16:19 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 15 Sep 2009 19:01:30 +0000 (12:01 -0700)
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
12 files changed:
drivers/staging/rtl8187se/Makefile
drivers/staging/rtl8187se/r8180_core.c
drivers/staging/rtl8187se/r8180_gct.c [deleted file]
drivers/staging/rtl8187se/r8180_gct.h [deleted file]
drivers/staging/rtl8187se/r8180_max2820.c [deleted file]
drivers/staging/rtl8187se/r8180_max2820.h [deleted file]
drivers/staging/rtl8187se/r8180_rtl8255.c [deleted file]
drivers/staging/rtl8187se/r8180_rtl8255.h [deleted file]
drivers/staging/rtl8187se/r8180_sa2400.c [deleted file]
drivers/staging/rtl8187se/r8180_sa2400.h [deleted file]
drivers/staging/rtl8187se/r8180_wx.c
drivers/staging/rtl8187se/r8185b_init.c

index 0ad7842..c0c399b 100644 (file)
@@ -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              \
index 121a5d1..1bf3818 100644 (file)
 //#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 (file)
index 86cb427..0000000
+++ /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 (file)
index fe965ca..0000000
+++ /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 (file)
index 0f30151..0000000
+++ /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 (file)
index 5d4fb55..0000000
+++ /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 (file)
index 014efce..0000000
+++ /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 (file)
index be44ca6..0000000
+++ /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 (file)
index d649560..0000000
+++ /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 (file)
index 683a69b..0000000
+++ /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);
index ac5dbb1..58ad6fd 100644 (file)
@@ -20,7 +20,6 @@
 
 #include "r8180.h"
 #include "r8180_hw.h"
-#include "r8180_sa2400.h"
 
 #include "ieee80211/dot11d.h"
 
index 6aa52cb..b88648a 100644 (file)
@@ -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"