blob: 30f5b5ad63ad7c2f6a177de58b688947cefd8c42 [file] [log] [blame]
Pekka Enberg80aba532008-10-30 13:04:29 +02001#ifndef __WINBOND_WB35REG_F_H
2#define __WINBOND_WB35REG_F_H
3
Pekka Enberg9ce922f2008-10-30 13:05:42 +02004#include "wbhal_s.h"
Pekka Enberg80aba532008-10-30 13:04:29 +02005
Pavel Machek66101de2008-10-01 14:36:56 +02006//====================================
7// Interface function declare
8//====================================
Pekka Enberg8e41b4b2009-01-12 18:02:47 +02009unsigned char Wb35Reg_initial( struct hw_data * pHwData );
10void Uxx_power_on_procedure( struct hw_data * pHwData );
11void Uxx_power_off_procedure( struct hw_data * pHwData );
12void Uxx_ReadEthernetAddress( struct hw_data * pHwData );
13void Dxx_initial( struct hw_data * pHwData );
14void Mxx_initial( struct hw_data * pHwData );
15void RFSynthesizer_initial( struct hw_data * pHwData );
16//void RFSynthesizer_SwitchingChannel( struct hw_data * pHwData, s8 Channel );
17void RFSynthesizer_SwitchingChannel( struct hw_data * pHwData, ChanInfo Channel );
18void BBProcessor_initial( struct hw_data * pHwData );
19void BBProcessor_RateChanging( struct hw_data * pHwData, u8 rate ); // 20060613.1
20//void RF_RateChanging( struct hw_data * pHwData, u8 rate ); // 20060626.5.c Add
21u8 RFSynthesizer_SetPowerIndex( struct hw_data * pHwData, u8 PowerIndex );
22u8 RFSynthesizer_SetMaxim2828_24Power( struct hw_data *, u8 index );
23u8 RFSynthesizer_SetMaxim2828_50Power( struct hw_data *, u8 index );
24u8 RFSynthesizer_SetMaxim2827_24Power( struct hw_data *, u8 index );
25u8 RFSynthesizer_SetMaxim2827_50Power( struct hw_data *, u8 index );
26u8 RFSynthesizer_SetMaxim2825Power( struct hw_data *, u8 index );
27u8 RFSynthesizer_SetAiroha2230Power( struct hw_data *, u8 index );
28u8 RFSynthesizer_SetAiroha7230Power( struct hw_data *, u8 index );
29u8 RFSynthesizer_SetWinbond242Power( struct hw_data *, u8 index );
30void GetTxVgaFromEEPROM( struct hw_data * pHwData );
31void EEPROMTxVgaAdjust( struct hw_data * pHwData ); // 20060619.5 Add
Pavel Machek66101de2008-10-01 14:36:56 +020032
33#define RFWriteControlData( _A, _V ) Wb35Reg_Write( _A, 0x0864, _V )
34
Pekka Enberg8e41b4b2009-01-12 18:02:47 +020035void Wb35Reg_destroy( struct hw_data * pHwData );
Pavel Machek66101de2008-10-01 14:36:56 +020036
Pekka Enberg8e41b4b2009-01-12 18:02:47 +020037unsigned char Wb35Reg_Read( struct hw_data * pHwData, u16 RegisterNo, u32 * pRegisterValue );
38unsigned char Wb35Reg_ReadSync( struct hw_data * pHwData, u16 RegisterNo, u32 * pRegisterValue );
39unsigned char Wb35Reg_Write( struct hw_data * pHwData, u16 RegisterNo, u32 RegisterValue );
40unsigned char Wb35Reg_WriteSync( struct hw_data * pHwData, u16 RegisterNo, u32 RegisterValue );
41unsigned char Wb35Reg_WriteWithCallbackValue( struct hw_data * pHwData,
Pavel Machek66101de2008-10-01 14:36:56 +020042 u16 RegisterNo,
43 u32 RegisterValue,
Pekka Enberg8b384e02008-10-21 00:03:41 +030044 s8 *pValue,
45 s8 Len);
Pekka Enberg8e41b4b2009-01-12 18:02:47 +020046unsigned char Wb35Reg_BurstWrite( struct hw_data * pHwData, u16 RegisterNo, u32 * pRegisterData, u8 NumberOfData, u8 Flag );
Pavel Machek66101de2008-10-01 14:36:56 +020047
Pekka Enberg8e41b4b2009-01-12 18:02:47 +020048void Wb35Reg_EP0VM( struct hw_data * pHwData );
49void Wb35Reg_EP0VM_start( struct hw_data * pHwData );
Pekka Enberga55a89b2008-10-22 11:01:16 +030050void Wb35Reg_EP0VM_complete(struct urb *urb);
Pavel Machek66101de2008-10-01 14:36:56 +020051
52u32 BitReverse( u32 dwData, u32 DataLength);
53
54void CardGetMulticastBit( u8 Address[MAC_ADDR_LENGTH], u8 *Byte, u8 *Value );
Pekka Enberg8b384e02008-10-21 00:03:41 +030055u32 CardComputeCrc( u8 * Buffer, u32 Length );
Pavel Machek66101de2008-10-01 14:36:56 +020056
Pekka Enberg8e41b4b2009-01-12 18:02:47 +020057void Wb35Reg_phy_calibration( struct hw_data * pHwData );
58void Wb35Reg_Update( struct hw_data * pHwData, u16 RegisterNo, u32 RegisterValue );
59unsigned char adjust_TXVGA_for_iq_mag( struct hw_data * pHwData );
Pavel Machek66101de2008-10-01 14:36:56 +020060
Pekka Enberg80aba532008-10-30 13:04:29 +020061#endif