1#ifndef __WINBOND_WB35_TX_S_H 2#define __WINBOND_WB35_TX_S_H 3 4#include "mds_s.h" 5 6//==================================== 7// IS89C35 Tx related definition 8//==================================== 9#define TX_INTERFACE 0 // Interface 1 10#define TX_PIPE 3 // endpoint 4 11#define TX_INTERRUPT 1 // endpoint 2 12#define MAX_INTERRUPT_LENGTH 64 // It must be 64 for EP2 hardware 13 14 15 16//==================================== 17// Internal variable for module 18//==================================== 19 20 21struct wb35_tx { 22 // For Tx buffer 23 u8 TxBuffer[ MAX_USB_TX_BUFFER_NUMBER ][ MAX_USB_TX_BUFFER ]; 24 25 // For Interrupt pipe 26 u8 EP2_buf[MAX_INTERRUPT_LENGTH]; 27 28 atomic_t TxResultCount;// For thread control of EP2 931130.4.m 29 atomic_t TxFireCounter;// For thread control of EP4 931130.4.n 30 u32 ByteTransfer; 31 32 u32 TxSendIndex;// The next index of Mds array to be sent 33 u32 EP2vm_state; // for EP2vm state 34 u32 EP4vm_state; // for EP4vm state 35 u32 tx_halt; // Stopping VM 36 37 struct urb * Tx4Urb; 38 struct urb * Tx2Urb; 39 40 int EP2VM_status; 41 int EP4VM_status; 42 43 u32 TxFillCount; // 20060928 44 u32 TxTimer; // 20060928 Add if sending packet not great than 13 45}; 46 47#endif 48