123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- #ifndef _DRV_TTSLICER_H_
- #define _DRV_TTSLICER_H_
- #include "drv_types.h"
- //********************************************************************
- //********************************************************************
- #include "drv_devices.h"
- #define TTS_DEV_PATH "/dev/vbi0"
- #define TTS_DEV_NUM 1
- //********************************************************************
- //********************************************************************
- #define MAXLINE 28 // 32 // 24 // 8
- #define EXTENDLINE 8 // 12 // 4 // 16
- #define PACKETSIZE 44
- #define MGZ_PAGEBUF_SIZE (MAXLINE * PACKETSIZE) //28 * 44 = 1232
- #define MGZ_EXTBUF_SIZE (EXTENDLINE * PACKETSIZE) //352
- #define MAX_EXBUFF_PER_PAGE 10 //im not sure if i have changed this in all places!!!
- #define TTS_BUFFER_NUM 256
- typedef struct _EXTEND_BUFFER_ {
- #ifndef CONFIG_TTX_COMPRESS_STORE
- UINT8 Data[EXTENDLINE][PACKETSIZE]; //buffer for data
- #else
- UINT8* Data;
- UINT32 zSize;
- #endif
- UINT32 Size; //size of data stored in array Data[][]
- struct _EXTEND_BUFFER_ *pNextLink; //link to next extended buffer
- } EXTEND_BUFFER, *PEXTEND_BUFFER;
- typedef struct _PAGE_BUFFER_ {
- #ifndef CONFIG_TTX_COMPRESS_STORE
- UINT8 Data[MAXLINE][PACKETSIZE]; //buffer for data
- #else
- UINT8* Data;
- UINT32 zSize;
- #endif
- UINT32 Size; //size of data stored in array Data[][]
- struct _PAGE_BUFFER_ *pNextPage;
- struct _EXTEND_BUFFER_ *pNextELink; //link to extended buffer. we use exbuffer if Data[][] is full so size of page is bigger than MAXLINE*PACKETSIZE
- UINT32 ExtBufNum; //number of extended buffer
- UINT32 MagNo;
- } PAGE_BUFFER, *PPAGE_BUFFER;
- //********************************************************************
- //********************************************************************
- typedef enum {
- DEVICE_NONE = 0,
- DEVICE_ATT = 1,
- DEVICE_DTT = 2,
- DEVICE_ACC = 4,
- DEVICE_MEDIA = 8,
- } DEVICE_TYPE;
- typedef enum {
- STATUS_NOWORK = 0,
- STATUS_Init,
- STATUS_InitDone,
- STATUS_START,
- STATUS_ACTIVE,
- STATUS_NOACTIVE,
- STATUS_STOP,
- STATUS_SHUTDOWN,
- } DEVICE_STATUS;
- typedef enum {
- NOTYPP = 0,
- YPPPATH,
- } TT_YPP_PATH;
- typedef struct _TTIOC_IOData {
- UINT16 port;
- UINT8 index;
- UINT8 value;
- } TTIOC_IOData, *TTIOC_IODataPtr;
- typedef struct _TTIOC_MMIOData {
- UINT32 addr;
- UINT32 value;
- } TTIOC_MMIOData, *TTIOC_MMIODataPtr;
- typedef struct _TTIOC_DRVCTLData {
- BOOL bStart;
- DEVICE_TYPE type;
- } TTIOC_DRVCTLData, *TTIOC_DRVCTLDataPtr;
- typedef struct _TTIOC_TTPAGEBuffer {
- PPAGE_BUFFER pTtPageHeader;
- PPAGE_BUFFER pTtPageTail;
- UINT32 TtPageNum;
- } TTIOC_TTPAGEBuffer, *TTIOC_TTPAGEBufferPtr;
- typedef struct _TTIOC_SUBTITLE {
- UINT8 DisplayTTSubtitle;
- UINT8 Magazine;
- } TTIOC_SUBTITLE, *TTIOC_SUBTITLEPtr;
- #define TTS_BYPASS 1
- #define TTS_VBI_ID_CC 0x00
- #define TTS_VBI_ID_TT 0x03
- #define TTS_VBI_ID_WSS625 0x04
- #define TTS_VBI_ID_WSSJ 0x05
- #define TTS_VBI_ID_VPS 0x06
- #define TTS_VBI_FID_ODD 0x01
- #define TTS_VBI_FID_EVEN 0x00
- #define TTS_VBI_SYS_NON 0x00
- #define TTS_VBI_SYS_TT625B 0x01
- #define TTS_VBI_SYS_TT625C 0x02
- #define TTS_VBI_SYS_TT625D 0x03
- #define TTS_VBI_SYS_TT525B 0x05
- #define TTS_VBI_SYS_TT525C 0x06
- #define TTS_VBI_SYS_TT525D 0x07
- /* 16 bytes alignment in ttslicer HW DMA */
- #define TTSLICER_DMA_ALIGN 16
- #define TTS_ALIGN(addr,size) (((addr)+(size)-1)&(~((size)-1)))
- #define OTHER_CMDBUF_SIZE 2048 //"46" * 42
- #define OTHER_ERROR_NONE 0
- #define OTHER_ERROR_BUFSIZE 1 // Size is smaller than OTHER_CMDBUF_SIZE
- #define OTHER_ERROR_E 2 // copy CmdBuf
- typedef struct _TTIOC_OTHERBuffer {
- UINT8 ErrCode;
- UINT32 buff_idx;
- UINT32 buff_size;
- UINT8 *buff;
- } TTIOC_OTHERBuffer, *PTTIOC_OTHERBuffer;
- //********************************************************************
- //********************************************************************
- #define TTIOC_MAGIC 'u'
- #define TTIOC_BASE 192
- #define TTIOC_DRVCTL _IOWR(TTIOC_MAGIC, TTIOC_BASE+0x03, TTIOC_DRVCTLData)
- #define TTIOC_GET_TYPE _IOWR(TTIOC_MAGIC, TTIOC_BASE+0x04, DEVICE_TYPE)
- #define TTIOC_GET_OTHERBUFFER _IOWR(TTIOC_MAGIC, TTIOC_BASE+0x06, TTIOC_OTHERBuffer)
- #define TTIOC_GET_TTSTATUS _IOWR(TTIOC_MAGIC, TTIOC_BASE+0x08, DEVICE_STATUS)
- #define TTIOC_CLEAR_WAIT_DATA _IOWR(TTIOC_MAGIC, TTIOC_BASE+0x0B, INT32)
- #define TTIOC_GET_EXT_BUF_LIST _IOWR(TTIOC_MAGIC, TTIOC_BASE+0x0D, TTIOC_EXT_BUF_LIST)
- #define TTIOC_RESET _IOWR(TTIOC_MAGIC, TTIOC_BASE+0x0E, INT32)
- #define TTIOC_GET_DEBUG_CONFIG1 _IOR(TTIOC_MAGIC, TTIOC_BASE+0x0F, UINT32)
- //********************************************************************
- //********************************************************************
- #endif //_DRV_TTSLICER_H_
|