12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #ifndef _CEC_INTERFACE_H_
- #define _CEC_INTERFACE_H_
- #include "drv_types.h"
- #include <linux/ioctl.h>
- #define FRAMEMAX 40
- typedef enum
- {
- CEC_STATUS_TXSENDING = 0,
- CEC_STATUS_TXEOMDONE,
- CEC_STATUS_TXNOARBIT,
- CEC_STATUS_TXNOACK,
- CEC_STATUS_TXERROR,
- CEC_STATUS_TXBUSY,
- CEC_STATUS_TXINVALIDMSG
- } CEC_STATUS_t;
- typedef struct _FRAME_t
- {
- UINT8 block_num;
- UINT8 status;
- union
- {
- UINT8 block[17];
- struct
- {
- UINT8 dst: 4;
- UINT8 src: 4;
- UINT8 opcode;
- UINT8 param[15];
- };
- };
- } FRAME_t, *pFRAME_t;
- typedef struct _CEC_MSG_t
- {
- BOOL bHotPlugChange; // Hot Plug in/off
- BOOL bMessageDone; // Message had done
- FRAME_t txMsg;
- UINT8 rxBlock_ptr;
- UINT8 rxFifo_cnt;
- BOOL bMsg;
- BOOL bOverwrite;
- UINT8 Rp;
- UINT8 Wp;
- FRAME_t rxMsg[FRAMEMAX];
- }CEC_MSG_t,*pCEC_MSG_t;
- #define FC_SIG 36
- #define CEC_SIG 37
- #define CEC_MAGIC 'k'
- #define CEC_REGISTER _IOWR(CEC_MAGIC,0,INT32)
- #define CEC_DEBUGLOG _IOWR(CEC_MAGIC,1,BOOL)
- #define CEC_SENDMSG _IO(CEC_MAGIC,2)
- #define CEC_DEBUG _IO(CEC_MAGIC,3)
- #define CEC_ReportARCInitiation _IOWR(CEC_MAGIC,4,UINT32)
- #define CEC_ReportARCTermination _IOWR(CEC_MAGIC,5,UINT32)
- #define CEC_CECEnable _IOWR(CEC_MAGIC,6,UINT32)
- #define CEC_ARC_PORT_HPD_TOGGLE _IOWR(CEC_MAGIC,7,UINT32)
- #endif
|