aboutsummaryrefslogtreecommitdiff
path: root/drivers/misc/mediatek/hdmi/Sii8338/mhl_linuxdrv_ioctl.h
blob: ef3d5751b16d6ce052c4e788b6e49a32449dcf06 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#if !defined(MHL_DRIVER_IOCTL_H)
#define MHL_DRIVER_IOCTL_H
#include <linux/ioctl.h>
#ifdef __cplusplus
extern "C" {
#endif
	typedef struct tagRegister {
		uint8_t dev_address;
		uint8_t subaddr;
		uint8_t value;
		uint8_t mask;
	} Register_t;
	typedef enum tagUserControlID {
		USER_TRIGGER_EXT_INT = 0x00,
		USER_ON_OFF_MHL_INT,
		USER_RESET_MHL_CHIP,
		USER_READ_SINK_EDID,
		USER_TRIGGER_MHL_INT,
		USER_GPIO_SET,
		USER_GPIO_GET,
	} UserControlID_e;
	typedef struct tagGpioCtrl {
		unsigned char GpioIndex;
		unsigned int Value;
	} GpioCtrl_t;
	typedef struct tagUserControl {
		UserControlID_e ControlID;
		union {
			unsigned char uSubCommand;
			unsigned int iSubCommand;
			unsigned char EDID[256];
			GpioCtrl_t GpioCtrl;
		} SubCommand;
	} UserControl_t;
#define IOC_SII_MHL_TYPE ('S')
#define SII_IOCTRL_REGISTER_READ \
    _IOW(IOC_SII_MHL_TYPE, 0x05, Register_t *)
#define SII_IOCTRL_REGISTER_WRITE \
    _IOW(IOC_SII_MHL_TYPE, 0x06, Register_t *)
#define SII_IOCTRL_USER \
    _IOW(IOC_SII_MHL_TYPE, 0x07, uint8_t)
#ifdef __cplusplus
}
#endif
#endif