aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/winbond/wbhal.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/winbond/wbhal.c')
-rw-r--r--drivers/staging/winbond/wbhal.c206
1 files changed, 0 insertions, 206 deletions
diff --git a/drivers/staging/winbond/wbhal.c b/drivers/staging/winbond/wbhal.c
index e40fdca4b9f..01626a11088 100644
--- a/drivers/staging/winbond/wbhal.c
+++ b/drivers/staging/winbond/wbhal.c
@@ -2,212 +2,6 @@
#include "wbhal_f.h"
#include "wblinux_f.h"
-void hal_set_ethernet_address(struct hw_data *pHwData, u8 * current_address)
-{
- u32 ltmp[2];
-
- if (pHwData->SurpriseRemove)
- return;
-
- memcpy(pHwData->CurrentMacAddress, current_address, ETH_ALEN);
-
- ltmp[0] = cpu_to_le32(*(u32 *) pHwData->CurrentMacAddress);
- ltmp[1] =
- cpu_to_le32(*(u32 *) (pHwData->CurrentMacAddress + 4)) & 0xffff;
-
- Wb35Reg_BurstWrite(pHwData, 0x03e8, ltmp, 2, AUTO_INCREMENT);
-}
-
-void hal_get_permanent_address(struct hw_data *pHwData, u8 * pethernet_address)
-{
- if (pHwData->SurpriseRemove)
- return;
-
- memcpy(pethernet_address, pHwData->PermanentMacAddress, 6);
-}
-
-//---------------------------------------------------------------------------------------------------
-void hal_set_beacon_period(struct hw_data *pHwData, u16 beacon_period)
-{
- u32 tmp;
-
- if (pHwData->SurpriseRemove)
- return;
-
- pHwData->BeaconPeriod = beacon_period;
- tmp = pHwData->BeaconPeriod << 16;
- tmp |= pHwData->ProbeDelay;
- Wb35Reg_Write(pHwData, 0x0848, tmp);
-}
-
-static void hal_set_current_channel_ex(struct hw_data *pHwData,
- ChanInfo channel)
-{
- struct wb35_reg *reg = &pHwData->reg;
-
- if (pHwData->SurpriseRemove)
- return;
-
- printk("Going to channel: %d/%d\n", channel.band, channel.ChanNo);
-
- RFSynthesizer_SwitchingChannel(pHwData, channel); // Switch channel
- pHwData->Channel = channel.ChanNo;
- pHwData->band = channel.band;
-#ifdef _PE_STATE_DUMP_
- printk("Set channel is %d, band =%d\n", pHwData->Channel,
- pHwData->band);
-#endif
- reg->M28_MacControl &= ~0xff; // Clean channel information field
- reg->M28_MacControl |= channel.ChanNo;
- Wb35Reg_WriteWithCallbackValue(pHwData, 0x0828, reg->M28_MacControl,
- (s8 *) & channel, sizeof(ChanInfo));
-}
-
-//---------------------------------------------------------------------------------------------------
-void hal_set_current_channel(struct hw_data *pHwData, ChanInfo channel)
-{
- hal_set_current_channel_ex(pHwData, channel);
-}
-
-//---------------------------------------------------------------------------------------------------
-void hal_set_accept_broadcast(struct hw_data *pHwData, u8 enable)
-{
- struct wb35_reg *reg = &pHwData->reg;
-
- if (pHwData->SurpriseRemove)
- return;
-
- reg->M00_MacControl &= ~0x02000000; //The HW value
-
- if (enable)
- reg->M00_MacControl |= 0x02000000; //The HW value
-
- Wb35Reg_Write(pHwData, 0x0800, reg->M00_MacControl);
-}
-
-//for wep key error detection, we need to accept broadcast packets to be received temporary.
-void hal_set_accept_promiscuous(struct hw_data *pHwData, u8 enable)
-{
- struct wb35_reg *reg = &pHwData->reg;
-
- if (pHwData->SurpriseRemove)
- return;
- if (enable) {
- reg->M00_MacControl |= 0x00400000;
- Wb35Reg_Write(pHwData, 0x0800, reg->M00_MacControl);
- } else {
- reg->M00_MacControl &= ~0x00400000;
- Wb35Reg_Write(pHwData, 0x0800, reg->M00_MacControl);
- }
-}
-
-void hal_set_accept_multicast(struct hw_data *pHwData, u8 enable)
-{
- struct wb35_reg *reg = &pHwData->reg;
-
- if (pHwData->SurpriseRemove)
- return;
-
- reg->M00_MacControl &= ~0x01000000; //The HW value
- if (enable)
- reg->M00_MacControl |= 0x01000000; //The HW value
- Wb35Reg_Write(pHwData, 0x0800, reg->M00_MacControl);
-}
-
-void hal_set_accept_beacon(struct hw_data *pHwData, u8 enable)
-{
- struct wb35_reg *reg = &pHwData->reg;
-
- if (pHwData->SurpriseRemove)
- return;
-
- // 20040108 debug
- if (!enable) //Due to SME and MLME are not suitable for 35
- return;
-
- reg->M00_MacControl &= ~0x04000000; //The HW value
- if (enable)
- reg->M00_MacControl |= 0x04000000; //The HW value
-
- Wb35Reg_Write(pHwData, 0x0800, reg->M00_MacControl);
-}
-
-//---------------------------------------------------------------------------------------------------
-
-void hal_stop(struct hw_data *pHwData)
-{
- struct wb35_reg *reg = &pHwData->reg;
-
- pHwData->Wb35Rx.rx_halt = 1;
- Wb35Rx_stop(pHwData);
-
- pHwData->Wb35Tx.tx_halt = 1;
- Wb35Tx_stop(pHwData);
-
- reg->D00_DmaControl &= ~0xc0000000; //Tx Off, Rx Off
- Wb35Reg_Write(pHwData, 0x0400, reg->D00_DmaControl);
-}
-
-unsigned char hal_idle(struct hw_data *pHwData)
-{
- struct wb35_reg *reg = &pHwData->reg;
- struct wb_usb *pWbUsb = &pHwData->WbUsb;
-
- if (!pHwData->SurpriseRemove
- && (pWbUsb->DetectCount || reg->EP0vm_state != VM_STOP))
- return false;
-
- return true;
-}
-
-void hal_set_radio_mode(struct hw_data *pHwData, unsigned char radio_off)
-{
- struct wb35_reg *reg = &pHwData->reg;
-
- if (pHwData->SurpriseRemove)
- return;
-
- if (radio_off) //disable Baseband receive off
- {
- pHwData->CurrentRadioSw = 1; // off
- reg->M24_MacControl &= 0xffffffbf;
- } else {
- pHwData->CurrentRadioSw = 0; // on
- reg->M24_MacControl |= 0x00000040;
- }
- Wb35Reg_Write(pHwData, 0x0824, reg->M24_MacControl);
-}
-
-u8 hal_get_antenna_number(struct hw_data *pHwData)
-{
- struct wb35_reg *reg = &pHwData->reg;
-
- if ((reg->BB2C & BIT(11)) == 0)
- return 0;
- else
- return 1;
-}
-
-//----------------------------------------------------------------------------------------------------
-//0 : radio on; 1: radio off
-u8 hal_get_hw_radio_off(struct hw_data * pHwData)
-{
- struct wb35_reg *reg = &pHwData->reg;
-
- if (pHwData->SurpriseRemove)
- return 1;
-
- //read the bit16 of register U1B0
- Wb35Reg_Read(pHwData, 0x3b0, &reg->U1B0);
- if ((reg->U1B0 & 0x00010000)) {
- pHwData->CurrentRadioHw = 1;
- return 1;
- } else {
- pHwData->CurrentRadioHw = 0;
- return 0;
- }
-}
-
unsigned char hal_get_dxx_reg(struct hw_data *pHwData, u16 number, u32 * pValue)
{
if (number < 0x1000)