Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 #ifndef __INC_FIRMWARE_H
  2 #define __INC_FIRMWARE_H
  3 
  4 #define RTL8190_CPU_START_OFFSET        0x80
  5 /* TODO: this definition is TBD */
  6 //#define USB_HWDESC_HEADER_LEN 0
  7 
  8 /* It should be double word alignment */
  9 //#if DEV_BUS_TYPE==PCI_INTERFACE
 10 //#define GET_COMMAND_PACKET_FRAG_THRESHOLD(v)  4*(v/4) - 8
 11 //#else
 12 #define GET_COMMAND_PACKET_FRAG_THRESHOLD(v)    (4*(v/4) - 8 - USB_HWDESC_HEADER_LEN)
 13 //#endif
 14 
 15 typedef enum _firmware_init_step{
 16         FW_INIT_STEP0_BOOT = 0,
 17         FW_INIT_STEP1_MAIN = 1,
 18         FW_INIT_STEP2_DATA = 2,
 19 }firmware_init_step_e;
 20 
 21 typedef enum _opt_rst_type{
 22         OPT_SYSTEM_RESET = 0,
 23         OPT_FIRMWARE_RESET = 1,
 24 }opt_rst_type_e;
 25 
 26 /* due to rtl8192 firmware */
 27 typedef enum _desc_packet_type_e{
 28         DESC_PACKET_TYPE_INIT = 0,
 29         DESC_PACKET_TYPE_NORMAL = 1,
 30 }desc_packet_type_e;
 31 
 32 typedef enum _firmware_source{
 33         FW_SOURCE_IMG_FILE = 0,
 34         FW_SOURCE_HEADER_FILE = 1,              //from header file
 35 }firmware_source_e, *pfirmware_source_e;
 36 
 37 typedef enum _firmware_status{
 38         FW_STATUS_0_INIT = 0,
 39         FW_STATUS_1_MOVE_BOOT_CODE = 1,
 40         FW_STATUS_2_MOVE_MAIN_CODE = 2,
 41         FW_STATUS_3_TURNON_CPU = 3,
 42         FW_STATUS_4_MOVE_DATA_CODE = 4,
 43         FW_STATUS_5_READY = 5,
 44 }firmware_status_e;
 45 
 46 typedef struct _rt_firmare_seg_container {
 47         u16     seg_size;
 48         u8      *seg_ptr;
 49 }fw_seg_container, *pfw_seg_container;
 50 
 51 #define RTL8190_MAX_FIRMWARE_CODE_SIZE  64000   //64k
 52 #define MAX_FW_INIT_STEP                3
 53 typedef struct _rt_firmware{
 54         firmware_status_e firmware_status;
 55         u16               cmdpacket_frag_thresold;
 56         u8                firmware_buf[MAX_FW_INIT_STEP][RTL8190_MAX_FIRMWARE_CODE_SIZE];
 57         u16               firmware_buf_size[MAX_FW_INIT_STEP];
 58 }rt_firmware, *prt_firmware;
 59 
 60 typedef struct _rt_firmware_info_819xUsb{
 61         u8              sz_info[16];
 62 }rt_firmware_info_819xUsb, *prt_firmware_info_819xUsb;
 63 
 64 #if 0
 65 /* CPU related */
 66 RT_STATUS
 67 CPUCheckMainCodeOKAndTurnOnCPU(
 68         IN      PADAPTER                        Adapter
 69         );
 70 
 71 RT_STATUS
 72 CPUCheckFirmwareReady(
 73         IN      PADAPTER                        Adapter
 74         );
 75 
 76 /* Firmware related */
 77 VOID
 78 FWInitializeParameters(
 79         IN      PADAPTER                Adapter
 80         );
 81 
 82 RT_STATUS
 83 FWSendDownloadCode(
 84         IN      PADAPTER                Adapter,
 85         IN      pu1Byte                 CodeVirtualAddrress,
 86         IN      u4Byte                  BufferLen
 87         );
 88 
 89 RT_STATUS
 90 FWSendNullPacket(
 91         IN      PADAPTER                Adapter,
 92         IN      u4Byte                  Length
 93         );
 94 
 95 RT_STATUS
 96 CmdSendPacket(
 97         PADAPTER                                Adapter,
 98         PRT_TCB                                 pTcb,
 99         PRT_TX_LOCAL_BUFFER     pBuf,
100         u4Byte                                  BufferLen,
101         u4Byte                                  PacketType,
102         BOOLEAN                                 bLastInitPacket
103         );
104 #endif
105 #endif
106 
107 
  This page was automatically generated by the LXR engine.