123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- #ifndef __DRV_CI_H__
- #define __DRV_CI_H__
- #include <drv_types.h>
- #include <linux/ioctl.h>
- #include <linux/types.h>
- #define CIDRV_DEVNAME "/dev/ci0" /* Driver Device Name */
- #define CIDRV_CISLEN 0x90 /* CIS size in bytes */
- /* Signal number for DRV_TSIGNAL command */
- #define CI_CARD_DETECT 1
- #define CI_READY_BUSY 2
- /* Signal number for DRV_SSIGNAL command */
- #define CI_EMSTREAM 0
- #define CI_ENSLOT 1
- #define CI_RSTSLOT 2
- #define CI_IOMEM 6
- #define CI_SLOTSEL 7
- typedef struct
- {
- UINT16 addr; /* address to read/write */
- UINT16 len; /* number of bytes to read/write */
- UINT8 *pbytes; /* pointer to bytes to read/write */
- UINT16 rlen; /* number of bytes actually read/write */
- } CIDRV_stMem; /* structure for DRV_READMEM and DRV_WRITEMEM commands */
- typedef struct
- {
- UINT16 registr; /* register addresse to read/write */
- UINT8 *pvalue; /* pointer to the value to read/write */
- } CIDRV_stIO; /* structure for DRV_READIO and DRV_WRITEIO commands */
- typedef struct
- {
- UINT8 sig; /* signal number */
- UINT8 value;
- #define STATE_CAM_REMOVE 0
- #define STATE_CAM_INSERT 1
- #define STATE_CAM_ERROR 2
- } CIDRV_stSignal; /* structure for DRV_TSIGNAL command */
- typedef struct
- {
- UINT8 pin; /* pin code */
- UINT8 cs; /* value(1 : Set ; 0 clear) */
- } CIDRV_ssSignal; /* structure for DRV_SSIGNAL command */
- typedef struct
- {
- UINT8 cipher_type; /* 0:DES, 1:AES */
- UINT8 key_reg; /* 0:even, 1:odd */
- UINT8 *civ; /* civ addr, 16 bytes */
- UINT8 *cck; /* cck addr, 16 bytes */
- } CIDRV_stKey; /* structure for CIDRV_NOTIFYKEY */
- typedef struct
- {
- UINT16 len; /* number of bytes to read/write */
- UINT8 *pbytes; /* pointer to bytes to read/write */
- } CIDRV_stNvm; /* structure for CIDRV_READNVM and CIDRV_WRITENVM */
- typedef struct
- {
- UINT16 len;
- #define CIPLUS_KEY_HEADER_SIZE (4)
- #define CIPLUS_KEY_DATA_SIZE (0x2800)
- #define CIPLUS_RESERVED01_SIZE (0x30)
- #define CIPLUS_RND_SEED_SIZE (0x10)
- #define CIPLUS_RESERVED02_SIZE (0x10)
- #define CIPLUS_LCONST_DATA_SIZE (CIPLUS_KEY_DATA_SIZE - CIPLUS_RND_SEED_SIZE - CIPLUS_RESERVED01_SIZE - CIPLUS_RESERVED02_SIZE)
- UINT8 *pbytes;
- } CIDRV_htKey;
- #if 1//ci+_14
- typedef struct
- {
- UINT8 version;
- UINT8 aps;
- UINT8 emi;
- UINT8 ict;
- UINT8 rct;
- UINT8 dot;
- UINT16 rl;
- UINT8 trk;
- } CIDRV_applyuri;
- #else
- typedef struct
- {
- UINT8 version;
- UINT8 aps;
- UINT8 emi;
- UINT8 ict;
- UINT8 rct;
- UINT8 rl;
- } CIDRV_applyuri;
- #endif
- typedef enum
- {
- CIIOC_IDX_READMEM,
- CIIOC_IDX_WRITEMEM,
- CIIOC_IDX_READIO,
- CIIOC_IDX_WRITEIO,
- CIIOC_IDX_TSIGNAL,
- CIIOC_IDX_SSIGNAL,
- CIIOC_IDX_NOTIFYKEY,
- CIIOC_IDX_GETHOSTKEY,
- CIIOC_IDX_APPLYURI,
- CIIOC_IDX_CIRESET,
- CIIOC_IDX_CAMHWRESET,
- CIIOC_IDX_NOTIFYEMI,
- CIIOC_IDX_SERVICE_TYPE,
- CIIOC_IDX_BRIDGE_HWRESET_BIT,
- CIIOC_IDX_MAX,
- } CIIOC_IDX_ENUM;
- #define CIDRV_MAGIC 'a'
- #define CIDRV_READMEM _IOWR(CIDRV_MAGIC,CIIOC_IDX_READMEM,CIDRV_stMem)
- #define CIDRV_WRITEMEM _IOWR(CIDRV_MAGIC,CIIOC_IDX_WRITEMEM,CIDRV_stMem)
- #define CIDRV_READIO _IOWR(CIDRV_MAGIC,CIIOC_IDX_READIO,CIDRV_stIO)
- #define CIDRV_WRITEIO _IOW(CIDRV_MAGIC,CIIOC_IDX_WRITEIO,CIDRV_stIO)
- #define CIDRV_TSIGNAL _IOWR(CIDRV_MAGIC,CIIOC_IDX_TSIGNAL,CIDRV_stSignal)
- #define CIDRV_SSIGNAL _IOW(CIDRV_MAGIC,CIIOC_IDX_SSIGNAL,CIDRV_ssSignal)
- #define CIDRV_NOTIFYKEY _IOW(CIDRV_MAGIC,CIIOC_IDX_NOTIFYKEY,CIDRV_stKey)
- #define CIDRV_GETHOSTKEY _IOR(CIDRV_MAGIC,CIIOC_IDX_GETHOSTKEY,CIDRV_htKey)
- #define CIDRV_APPLYURI _IOWR(CIDRV_MAGIC,CIIOC_IDX_APPLYURI,CIDRV_applyuri)
- #define CIDRV_CIRESET _IO(CIDRV_MAGIC,CIIOC_IDX_CIRESET)
- #define CIDRV_CAMHWRESET _IO(CIDRV_MAGIC,CIIOC_IDX_CAMHWRESET)
- #define CIDRV_NOTIFYEMI _IOWR(CIDRV_MAGIC,CIIOC_IDX_NOTIFYEMI,CIDRV_applyuri)
- #define CIDRV_NOTIFYSERVICETYPE _IOW(CIDRV_MAGIC,CIIOC_IDX_SERVICE_TYPE,UINT8)
- #define CIDRV_BRIDGE_HWRESET_BIT _IOW(CIDRV_MAGIC,CIIOC_IDX_BRIDGE_HWRESET_BIT,UINT8)
- #endif /* __DRV_CI_H__ */
|