| /****************************************************************************** |
| * |
| * (c) Copyright 2008, RealTEK Technologies Inc. All Rights Reserved. |
| * |
| * Module: Efuse.h ( Header File) |
| * |
| * Note: |
| * |
| * Function: |
| * |
| * Export: |
| * |
| * Abbrev: |
| * |
| * History: |
| * Data Who Remark |
| * |
| * 09/23/2008 MHC Porting Efuse R/W API from WMAC. |
| * 11/10/2008 MHC Porting Efuse.h from 8712 SDIO. |
| * 1. We muse redefine the header file to fit our coding |
| * style. |
| * 2. THe API we export to other module, we must redefine |
| * for 8192S series. |
| * |
| * |
| ******************************************************************************/ |
| /* Check to see if the file has been included already. */ |
| |
| #ifndef __INC_EFUSE_H |
| #define __INC_EFUSE_H |
| |
| // Roger porting for 8192SU |
| #define EFUSE_FOR_92SU 1 |
| |
| /*--------------------------Define Parameters-------------------------------*/ |
| #define EFUSE_MAC_LEN 0x200 |
| |
| #define EFUSE_INIT_MAP 0 |
| #define EFUSE_MODIFY_MAP 1 |
| |
| #define EFUSE_CLK_CTRL EFUSE_CTRL |
| #define EFUSE_BIT(x) (1 << (x)) |
| |
| // From 8712!!!!!!!! |
| #define PG_STATE_HEADER 0x01 |
| #define PG_STATE_WORD_0 0x02 |
| #define PG_STATE_WORD_1 0x04 |
| #define PG_STATE_WORD_2 0x08 |
| #define PG_STATE_WORD_3 0x10 |
| #define PG_STATE_DATA 0x20 |
| |
| #define PG_SWBYTE_H 0x01 |
| #define PG_SWBYTE_L 0x02 |
| |
| /*--------------------------Define Parameters-------------------------------*/ |
| |
| |
| /*------------------------------Define structure----------------------------*/ |
| |
| /*------------------------------Define structure----------------------------*/ |
| |
| |
| /*------------------------Export global variable----------------------------*/ |
| /*------------------------Export global variable----------------------------*/ |
| |
| /*------------------------Export Marco Definition---------------------------*/ |
| |
| /*------------------------Export Marco Definition---------------------------*/ |
| |
| |
| /*--------------------------Exported Function prototype---------------------*/ |
| extern void |
| EFUSE_Initialize(struct net_device* dev); |
| extern u8 |
| EFUSE_Read1Byte(struct net_device* dev,u16 Address); |
| extern void |
| EFUSE_Write1Byte(struct net_device* dev,u16 Address,u8 Value); |
| |
| #ifdef EFUSE_FOR_92SU |
| extern void |
| ReadEFuse(struct net_device* dev,u16 _offset,u16 _size_byte,u8* pbuf); |
| extern void |
| ReadEFuseByte(struct net_device* dev,u16 _offset,u8 *pbuf); |
| #endif // #if (EFUSE_FOR_92SU == 1) |
| |
| extern void |
| EFUSE_ShadowRead(struct net_device* dev,unsigned char Type,unsigned short Offset,u32 *Value); |
| extern void |
| EFUSE_ShadowWrite(struct net_device* dev,unsigned char Type,unsigned short Offset,u32 Value); |
| extern void |
| EFUSE_ShadowUpdate(struct net_device* dev); |
| extern void |
| EFUSE_ShadowMapUpdate(struct net_device* dev); |
| |
| extern bool |
| EFUSE_ProgramMap(struct net_device* dev,char* pFileName, u8 TableType); // 0=Shadow 1=Real Efuse |
| /*--------------------------Exported Function prototype---------------------*/ |
| |
| /* End of Efuse.h */ |
| |
| #endif //__INC_EFUSE_H |