104 lines
2.4 KiB
C
Executable File
104 lines
2.4 KiB
C
Executable File
#ifndef _sci_global_h_
|
|
#define _sci_global_h_
|
|
|
|
#define SCI_CLASS_A 1 /* only 5V Vcc to Smart Card */
|
|
#define SCI_CLASS_B 2 /* only 3V Vcc to Smart Card */
|
|
#define SCI_CLASS_AB 3 /* 5V or 3V Vcc to Smart Card */
|
|
#define SCI_NUMBER_OF_CONTROLLERS 2 /* number of SCI controllers */
|
|
|
|
#define SCI_BUFFER_SIZE 512
|
|
|
|
#define SCI_CLOCK_STOP_DISABLED 0
|
|
#define SCI_CLOCK_STOP_LOW 1
|
|
#define SCI_CLOCK_STOP_HIGH 2
|
|
|
|
#define SCI_MAX_ATR_SIZE 33
|
|
|
|
#define SCI_MAX_F 80000000
|
|
#define SCI_MAX_ETU 0xFFF
|
|
#define SCI_MAX_WWT 0xFFFFFFFF
|
|
#define SCI_MAX_CWT 0xFFFF
|
|
#define SCI_MAX_BWT 0xFFFFFFFF
|
|
#define SCI_MAX_EGT 0xFF
|
|
|
|
#define SCI_MIN_F 1000000
|
|
#define SCI_MIN_ETU 8
|
|
#define SCI_MIN_WWT 12
|
|
#define SCI_MIN_CWT 12
|
|
#define SCI_MIN_BWT 971
|
|
#define SCI_MIN_EGT 0
|
|
|
|
#define SCI_SYNC 0x00000001
|
|
#define SCI_DATA_ANY 0x00000002
|
|
|
|
/* Reserved for Future Use defined as 0 */
|
|
#define RFU 0
|
|
|
|
/* error codes */
|
|
typedef enum
|
|
{
|
|
SCI_ERROR_OK = 0,
|
|
SCI_ERROR_DRIVER_NOT_INITIALIZED = -1691,
|
|
SCI_ERROR_FAIL,
|
|
SCI_ERROR_KERNEL_FAIL,
|
|
SCI_ERROR_NO_ATR,
|
|
SCI_ERROR_TS_CHARACTER_INVALID,
|
|
SCI_ERROR_LRC_FAIL,
|
|
SCI_ERROR_CRC_FAIL,
|
|
SCI_ERROR_LENGTH_FAIL,
|
|
SCI_ERROR_PARITY_FAIL,
|
|
SCI_ERROR_RX_OVERFLOW_FAIL,
|
|
SCI_ERROR_TX_OVERFLOW_FAIL,
|
|
SCI_ERROR_TX_UNDERRUN_FAIL,
|
|
SCI_ERROR_CARD_NOT_PRESENT,
|
|
SCI_ERROR_CARD_NOT_ACTIVATED,
|
|
SCI_ERROR_AWT_TIMEOUT,
|
|
SCI_ERROR_WWT_TIMEOUT,
|
|
SCI_ERROR_CWT_TIMEOUT,
|
|
SCI_ERROR_BWT_TIMEOUT,
|
|
SCI_ERROR_PARAMETER_OUT_OF_RANGE,
|
|
SCI_ERROR_TRANSACTION_ABORTED,
|
|
SCI_ERROR_CLOCK_STOP_DISABLED,
|
|
SCI_ERROR_TX_PENDING,
|
|
SCI_ERROR_ATR_PENDING
|
|
}
|
|
SCI_ERROR;
|
|
|
|
/* SCI driver modes */
|
|
typedef struct sci_modes
|
|
{
|
|
int32_t emv2000;
|
|
int32_t dma;
|
|
int32_t man_act;
|
|
int32_t rw_mode;
|
|
}
|
|
SCI_MODES;
|
|
|
|
/* SCI communication parameters */
|
|
typedef struct sci_parameters
|
|
{
|
|
unsigned char T;
|
|
uint32_t fs;
|
|
uint32_t ETU;
|
|
uint32_t WWT;
|
|
uint32_t CWT;
|
|
uint32_t BWT;
|
|
uint32_t EGT;
|
|
uint32_t clock_stop_polarity;
|
|
unsigned char check;
|
|
unsigned char P;
|
|
unsigned char I;
|
|
unsigned char U;
|
|
}
|
|
SCI_PARAMETERS;
|
|
|
|
/* SCI ATR status */
|
|
typedef enum
|
|
{
|
|
SCI_WITHOUT_ATR = 0,
|
|
SCI_ATR_READY
|
|
}
|
|
SCI_ATR_STATUS;
|
|
|
|
#endif /* _sci_global_h_ */
|