import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / hdmi / nxp_tda19989 / tda998x_ioctl.h
CommitLineData
6fa3eb70
S
1/**
2 * Copyright (C) 2006 NXP N.V., All Rights Reserved.
3 * This source code and any compilation or derivative thereof is the proprietary
4 * information of NXP N.V. and is confidential in nature. Under no circumstances
5 * is this software to be exposed to or placed under an Open Source License of
6 * any type without the expressed written permission of NXP N.V.
7 *
8 * Version Revision: 1.0
9 *
10 * Date Date: 27/10/09
11 *
12 * Brief API for the TDA1998x HDMI Transmitters
13 *
14 **/
15
16#include <linux/types.h>
17
18#ifndef __tx_ioctl__
19#define __tx_ioctl__
20
21#ifdef __tx_h__
22
23#define TRANS_TYPE 1
24
25#if TRANS_TYPE
26
27#define EXAMPLE_MAX_SVD 30
28
29/*
30 trans-type
31*/
32typedef tmSWVersion_t tda_version;
33typedef tmPowerState_t tda_power;
34typedef tmdlHdmiTxInstanceSetupInfo_t tda_setup;
35typedef tmdlHdmiTxCapabilities_t tda_capabilities;
36typedef tmdlHdmiTxVideoOutConfig_t tda_video_out;
37typedef tmdlHdmiTxVideoInConfig_t tda_video_in;
38typedef tmdlHdmiTxSinkType_t tda_sink;
39typedef tmdlHdmiTxAudioInConfig_t tda_audio_in;
40typedef tmdlHdmiTxEdidAudioDesc_t tda_edid_audio_desc;
41typedef tmdlHdmiTxShortVidDesc_t tda_edid_video_desc;
42typedef tmdlHdmiTxEvent_t tda_event;
43typedef tmdlHdmiTxInstanceSetupInfo_t tda_setup_info;
44typedef tmdlHdmiTxEdidVideoTimings_t tda_edid_video_timings;
45typedef tmdlHdmiTxPictAspectRatio_t tda_edid_tv_aspect_ratio;
46typedef tmdlHdmiTxHdcpCheck_t tda_hdcp_status;
47#if defined(TMFL_TDA19989) || defined(TMFL_TDA9984)
48typedef tmdlHdmiTxHdcpStatus_t tda_hdcp_fail;
49#endif
50#ifdef TMFL_TDA19989
51typedef tmdlHdmiTxEdidLatency_t tda_edid_latency;
52#endif
53
54typedef struct {
55 Bool enable;
56 tmdlHdmiTxGamutData_t data;
57} tda_gammut;
58
59typedef struct {
60 Bool enable;
61 tmdlHdmiTxVsPktData_t data;
62} tda_vs_infoframe;
63
64typedef struct {
65 Bool enable;
66 tmdlHdmiTxSpdIfData_t data;
67} tda_spd_infoframe;
68
69typedef struct {
70 Bool enable;
71 tmdlHdmiTxMpsIfData_t data;
72} tda_mps_infoframe;
73
74typedef struct {
75 Bool enable;
76 tmdlHdmiTxIsrc1PktData_t data;
77} tda_isrc1;
78
79typedef struct {
80 Bool enable;
81 tmdlHdmiTxIsrc2PktData_t data;
82} tda_isrc2;
83
84typedef struct {
85 Bool enable;
86 tmdlHdmiTxAcpPktData_t data;
87} tda_acp;
88
89typedef struct {
90 Bool enable;
91 tmdlHdmiTxGcpPktData_t data;
92} tda_gcp;
93
94typedef struct {
95 Bool enable;
96 tmdlHdmiTxAviIfData_t data;
97} tda_video_infoframe;
98
99typedef struct {
100 Bool enable;
101 tmdlHdmiTxAudIfData_t data;
102} tda_audio_infoframe;
103
104typedef struct {
105 tmdlHdmiTxVidFmt_t id;
106 tmdlHdmiTxVidFmtSpecs_t spec;
107} tda_video_format;
108
109typedef struct {
110 tda_video_in video_in;
111 tda_video_out video_out;
112 tda_audio_in audio_in; /* Mind tda_set_audio_in if you change this */
113 tda_sink sink; /* Mind tda_set_audio_in if you change this */
114} tda_set_in_out;
115
116typedef struct {
117 tda_audio_in audio_in;
118 tda_sink sink;
119} tda_set_audio_in;
120
121typedef struct {
122 tda_edid_audio_desc desc[EXAMPLE_MAX_SVD];
123 unsigned int max;
124 unsigned int written;
125 unsigned char flags;
126} tda_edid_audio_caps;
127
128typedef struct {
129 tda_edid_video_desc desc[EXAMPLE_MAX_SVD];
130 unsigned int max;
131 unsigned int written;
132 unsigned char flags;
133} tda_edid_video_caps;
134
135typedef struct {
136 tmdlHdmiTxEdidStatus_t status;
137 unsigned char block_count;
138} tda_edid;
139
140typedef struct {
141 tmdlHdmiTxEdidVideoTimings_t desc[EXAMPLE_MAX_SVD];
142 unsigned char max;
143 unsigned char written;
144} tda_edid_dtd;
145
146typedef struct {
147 tmdlHdmiTxEdidFirstMD_t desc1[EXAMPLE_MAX_SVD];
148 tmdlHdmiTxEdidSecondMD_t desc2[EXAMPLE_MAX_SVD];
149 tmdlHdmiTxEdidOtherMD_t other[EXAMPLE_MAX_SVD];
150 unsigned char max;
151 unsigned char written;
152} tda_edid_md;
153
154#else
155
156#error do not compiled this !
157
158typedef enum {
159 TDA_HDCP_ACTIVE = 0, /**< HDCP encryption status switched to active */
160 TDA_HDCP_INACTIVE = 1, /**< HDCP encryption status switched to inactive */
161 TDA_HPD_ACTIVE = 2, /**< Hotplug status switched to active */
162 TDA_HPD_INACTIVE = 3, /**< Hotplug status switched to inactive */
163 TDA_RX_KEYS_RECEIVED = 4, /**< Receiver(s) key(s) received */
164 TDA_RX_DEVICE_ACTIVE = 5, /**< Rx device is connected and active */
165 TDA_RX_DEVICE_INACTIVE = 6, /**< Rx device is connected but inactive (standby) */
166 TDA_EDID_RECEIVED = 7, /**< EDID has been received */
167 TDA_VS_RPT_RECEIVED = 8, /**< VS interrupt has been received */
168#ifdef HDMI_TX_REPEATER_ISR_MODE
169 TDA_B_STATUS = 9, /**< TX received BStatus */
170#endif /* HDMI_TX_REPEATER_ISR_MODE */
171 TDA_DEBUG_EVENT_1 = 10 /**< This is a debug event */
172} tda_event;
173
174typedef struct {
175 unsigned char format; /* EIA/CEA861 mode */
176 unsigned char channels; /* number of channels */
177 unsigned char supportedFreqs; /* bitmask of supported frequencies */
178 unsigned char supportedRes; /* bitmask of supported resolutions (LPCM only) */
179 unsigned char maxBitrate; /* Maximum bitrate divided by 8KHz (compressed formats only) */
180} tda_edid_audio_desc;
181
182typedef enum {
183 TDA_EDID_READ = 0, /**< All blocks read OK */
184 TDA_EDID_READ_INCOMPLETE = 1, /**< All blocks read OK but buffer too small to return all of them */
185 TDA_EDID_ERROR_CHK_BLOCK_0 = 2, /**< Block 0 checksum error */
186 TDA_EDID_ERROR_CHK = 3, /**< Block 0 OK, checksum error in one or more other blocks */
187 TDA_EDID_NOT_READ = 4, /**< EDID not read */
188 TDA_EDID_STATUS_INVALID = 5 /**< Invalid */
189} tda_edid_status;
190
191typedef struct {
192 int HBR; /**< High Bitrate Audio packet */
193 int DST; /**< Direct Stream Transport audio packet */
194 int oneBitAudio; /**< One Bit Audio sample packet */
195} tda_audio_packet;
196
197typedef enum {
198 TDA_AFMT_SPDIF = 0, /**< SPDIF */
199 TDA_AFMT_I2S = 1, /**< I2S */
200 TDA_AFMT_OBA = 2, /**< One bit audio / DSD */
201 TDA_AFMT_DST = 3, /**< DST */
202 TDA_AFMT_HBR = 4 /**< HBR */
203} tda_audio_format;
204
205typedef enum {
206 TDA_AFS_32K = 0, /**< 32kHz */
207 TDA_AFS_44K = 1, /**< 44.1kHz */
208 TDA_AFS_48K = 2, /**< 48kHz */
209 TDA_AFS_88K = 3, /**< 88.2kHz */
210 TDA_AFS_96K = 4, /**< 96kHz */
211 TDA_AFS_176K = 5, /**< 176.4kHz */
212 TDA_AFS_192K = 6 /**< 192kHz */
213} tda_audio_rate;
214
215typedef enum {
216 TDA_I2SQ_16BITS = 16, /**< 16 bits */
217 TDA_I2SQ_32BITS = 32, /**< 32 bits */
218 TDA_I2SQ_OTHERS = 0 /**< for SPDIF and DSD */
219} tda_audio_I2S_qualifier;
220
221typedef enum {
222 TDA_I2SFOR_PHILIPS_L = 0,
223 /**< Philips like format */
224 TDA_I2SFOR_OTH_L = 2, /**< Other non Philips left justified */
225 TDA_I2SFOR_OTH_R = 3, /**< Other non Philips right justified */
226 TDA_I2SFOR_INVALID = 4 /**< Invalid format */
227} tda_audio_I2S_format;
228
229typedef enum {
230 TDA_DSTRATE_SINGLE = 0, /**< Single transfer rate */
231 TDA_DSTRATE_DOUBLE = 1 /**< Double data rate */
232} tda_dst_rate;
233
234typedef struct {
235 int simplayHd; /**< Enable simplayHD support */
236 int repeaterEnable; /**< Enable repeater mode */
237 unsigned char *pEdidBuffer; /**< Pointer to raw EDID data */
238 unsigned long edidBufferSize; /**< Size of buffer for raw EDID data */
239} tda_instance_setup_info;
240
241typedef enum {
242 TDA_VFMT_NULL = 0, /**< Not a valid format... */
243 TDA_VFMT_NO_CHANGE = 0, /**< ...or no change required */
244 TDA_VFMT_MIN = 1, /**< Lowest valid format */
245 TDA_VFMT_TV_MIN = 1, /**< Lowest valid TV format */
246 TDA_VFMT_01_640x480p_60Hz = 1, /**< Format 01 640 x 480p 60Hz */
247 TDA_VFMT_02_720x480p_60Hz = 2, /**< Format 02 720 x 480p 60Hz */
248 TDA_VFMT_03_720x480p_60Hz = 3, /**< Format 03 720 x 480p 60Hz */
249 TDA_VFMT_04_1280x720p_60Hz = 4, /**< Format 04 1280 x 720p 60Hz */
250 TDA_VFMT_05_1920x1080i_60Hz = 5,/**< Format 05 1920 x 1080i 60Hz */
251 TDA_VFMT_06_720x480i_60Hz = 6, /**< Format 06 720 x 480i 60Hz */
252 TDA_VFMT_07_720x480i_60Hz = 7, /**< Format 07 720 x 480i 60Hz */
253 TDA_VFMT_08_720x240p_60Hz = 8, /**< Format 08 720 x 240p 60Hz */
254 TDA_VFMT_09_720x240p_60Hz = 9, /**< Format 09 720 x 240p 60Hz */
255 TDA_VFMT_10_720x480i_60Hz = 10, /**< Format 10 720 x 480i 60Hz */
256 TDA_VFMT_11_720x480i_60Hz = 11, /**< Format 11 720 x 480i 60Hz */
257 TDA_VFMT_12_720x240p_60Hz = 12, /**< Format 12 720 x 240p 60Hz */
258 TDA_VFMT_13_720x240p_60Hz = 13, /**< Format 13 720 x 240p 60Hz */
259 TDA_VFMT_14_1440x480p_60Hz = 14,/**< Format 14 1440 x 480p 60Hz */
260 TDA_VFMT_15_1440x480p_60Hz = 15,/**< Format 15 1440 x 480p 60Hz */
261 TDA_VFMT_16_1920x1080p_60Hz = 16,
262 /**< Format 16 1920 x 1080p 60Hz */
263 TDA_VFMT_17_720x576p_50Hz = 17, /**< Format 17 720 x 576p 50Hz */
264 TDA_VFMT_18_720x576p_50Hz = 18, /**< Format 18 720 x 576p 50Hz */
265 TDA_VFMT_19_1280x720p_50Hz = 19,/**< Format 19 1280 x 720p 50Hz */
266 TDA_VFMT_20_1920x1080i_50Hz = 20,
267 /**< Format 20 1920 x 1080i 50Hz */
268 TDA_VFMT_21_720x576i_50Hz = 21, /**< Format 21 720 x 576i 50Hz */
269 TDA_VFMT_22_720x576i_50Hz = 22, /**< Format 22 720 x 576i 50Hz */
270 TDA_VFMT_23_720x288p_50Hz = 23, /**< Format 23 720 x 288p 50Hz */
271 TDA_VFMT_24_720x288p_50Hz = 24, /**< Format 24 720 x 288p 50Hz */
272 TDA_VFMT_25_720x576i_50Hz = 25, /**< Format 25 720 x 576i 50Hz */
273 TDA_VFMT_26_720x576i_50Hz = 26, /**< Format 26 720 x 576i 50Hz */
274 TDA_VFMT_27_720x288p_50Hz = 27, /**< Format 27 720 x 288p 50Hz */
275 TDA_VFMT_28_720x288p_50Hz = 28, /**< Format 28 720 x 288p 50Hz */
276 TDA_VFMT_29_1440x576p_50Hz = 29,/**< Format 29 1440 x 576p 50Hz */
277 TDA_VFMT_30_1440x576p_50Hz = 30,/**< Format 30 1440 x 576p 50Hz */
278 TDA_VFMT_31_1920x1080p_50Hz = 31,
279 /**< Format 31 1920 x 1080p 50Hz */
280 TDA_VFMT_32_1920x1080p_24Hz = 32,
281 /**< Format 32 1920 x 1080p 24Hz */
282 TDA_VFMT_33_1920x1080p_25Hz = 33,
283 /**< Format 33 1920 x 1080p 25Hz */
284 TDA_VFMT_34_1920x1080p_30Hz = 34,
285 /**< Format 34 1920 x 1080p 30Hz */
286 TDA_VFMT_TV_MAX = 34, /**< Highest valid TV format */
287 TDA_VFMT_TV_NO_REG_MIN = 32, /**< Lowest TV format without prefetched table */
288 TDA_VFMT_TV_NUM = 35, /**< Number of TV formats & null */
289 TDA_VFMT_PC_MIN = 128, /**< Lowest valid PC format */
290 TDA_VFMT_PC_640x480p_60Hz = 128,/**< PC format 128 */
291 TDA_VFMT_PC_800x600p_60Hz = 129,/**< PC format 129 */
292 TDA_VFMT_PC_1152x960p_60Hz = 130,
293 /**< PC format 130 */
294 TDA_VFMT_PC_1024x768p_60Hz = 131,
295 /**< PC format 131 */
296 TDA_VFMT_PC_1280x768p_60Hz = 132,
297 /**< PC format 132 */
298 TDA_VFMT_PC_1280x1024p_60Hz = 133,
299 /**< PC format 133 */
300 TDA_VFMT_PC_1360x768p_60Hz = 134,
301 /**< PC format 134 */
302 TDA_VFMT_PC_1400x1050p_60Hz = 135,
303 /**< PC format 135 */
304 TDA_VFMT_PC_1600x1200p_60Hz = 136,
305 /**< PC format 136 */
306 TDA_VFMT_PC_1024x768p_70Hz = 137,
307 /**< PC format 137 */
308 TDA_VFMT_PC_640x480p_72Hz = 138,/**< PC format 138 */
309 TDA_VFMT_PC_800x600p_72Hz = 139,/**< PC format 139 */
310 TDA_VFMT_PC_640x480p_75Hz = 140,/**< PC format 140 */
311 TDA_VFMT_PC_1024x768p_75Hz = 141,
312 /**< PC format 141 */
313 TDA_VFMT_PC_800x600p_75Hz = 142,/**< PC format 142 */
314 TDA_VFMT_PC_1024x864p_75Hz = 143,
315 /**< PC format 143 */
316 TDA_VFMT_PC_1280x1024p_75Hz = 144,
317 /**< PC format 144 */
318 TDA_VFMT_PC_640x350p_85Hz = 145,/**< PC format 145 */
319 TDA_VFMT_PC_640x400p_85Hz = 146,/**< PC format 146 */
320 TDA_VFMT_PC_720x400p_85Hz = 147,/**< PC format 147 */
321 TDA_VFMT_PC_640x480p_85Hz = 148,/**< PC format 148 */
322 TDA_VFMT_PC_800x600p_85Hz = 149,/**< PC format 149 */
323 TDA_VFMT_PC_1024x768p_85Hz = 150,
324 /**< PC format 150 */
325 TDA_VFMT_PC_1152x864p_85Hz = 151,
326 /**< PC format 151 */
327 TDA_VFMT_PC_1280x960p_85Hz = 152,
328 /**< PC format 152 */
329 TDA_VFMT_PC_1280x1024p_85Hz = 153,
330 /**< PC format 153 */
331 TDA_VFMT_PC_1024x768i_87Hz = 154,
332 /**< PC format 154 */
333 TDA_VFMT_PC_MAX = 154, /**< Highest valid PC format */
334 TDA_VFMT_PC_NUM = (1 + 154 - 128) /**< Number of PC formats */
335} tda_video_fmt_id;
336
337typedef struct {
338 tda_video_fmt_id videoFormat; /**< Video format as defined by EIA/CEA 861-D */
339 int nativeVideoFormat; /**< True if format is the preferred video format */
340} tda_edid_video_desc;
341
342typedef struct {
343 tda_video_fmt_id videoFormat; /**< Video format as defined by EIA/CEA 861-D */
344 int nativeVideoFormat; /**< True if format is the preferred video format */
345} tda_short_video_desc;
346
347typedef enum {
348 TDA_P_ASPECT_RATIO_UNDEFINED = 0, /**< Undefined picture aspect ratio */
349 TDA_P_ASPECT_RATIO_6_5 = 1, /**< 6:5 picture aspect ratio (PAR) */
350 TDA_P_ASPECT_RATIO_5_4 = 2, /**< 5:4 PAR */
351 TDA_P_ASPECT_RATIO_4_3 = 3, /**< 4:3 PAR */
352 TDA_P_ASPECT_RATIO_16_10 = 4, /**< 16:10 PAR */
353 TDA_P_ASPECT_RATIO_5_3 = 5, /**< 5:3 PAR */
354 TDA_P_ASPECT_RATIO_16_9 = 6, /**< 16:9 PAR */
355 TDA_P_ASPECT_RATIO_9_5 = 7 /**< 9:5 PAR */
356} tda_pict_aspect_ratio;
357
358typedef enum {
359 TDA_VFREQ_24Hz = 0, /**< 24Hz */
360 TDA_VFREQ_25Hz = 1, /**< 25Hz */
361 TDA_VFREQ_30Hz = 2, /**< 30Hz */
362 TDA_VFREQ_50Hz = 3, /**< 50Hz */
363 TDA_VFREQ_59Hz = 4, /**< 59.94Hz */
364 TDA_VFREQ_60Hz = 5, /**< 60Hz */
365 TDA_VFREQ_70Hz = 6, /**< 70Hz */
366 TDA_VFREQ_72Hz = 7, /**< 72Hz */
367 TDA_VFREQ_75Hz = 8, /**< 75Hz */
368 TDA_VFREQ_85Hz = 9, /**< 85Hz */
369 TDA_VFREQ_87Hz = 10, /**< 87Hz */
370 TDA_VFREQ_INVALID = 11, /**< Invalid */
371 TDA_VFREQ_NUM = 11 /**< No. of values */
372} tda_vfreq;
373
374typedef struct {
375 unsigned short width; /**< Width of the frame in pixels */
376 unsigned short height; /**< Height of the frame in pixels */
377 int interlaced; /**< Interlaced mode (True/False) */
378 tda_vfreq vfrequency; /**< Vertical frequency in Hz */
379 tda_pict_aspect_ratio aspectRatio;
380 /**< Picture aspect ratio (H:V) */
381} tda_video_fmt_specs;
382
383typedef enum {
384 TDA_VINMODE_CCIR656 = 0, /**< CCIR656 */
385 TDA_VINMODE_RGB444 = 1, /**< RGB444 */
386 TDA_VINMODE_YUV444 = 2, /**< YUV444 */
387 TDA_VINMODE_YUV422 = 3, /**< YUV422 */
388 TDA_VINMODE_NO_CHANGE = 4, /**< No change */
389 TDA_VINMODE_INVALID = 5 /**< Invalid */
390} tda_vinmode;
391
392typedef enum {
393 TDA_SYNCSRC_EMBEDDED = 0,
394 /**< Embedded sync */
395 TDA_SYNCSRC_EXT_VREF = 1,
396 /**< External sync Vref, Href, Fref */
397 TDA_SYNCSRC_EXT_VS = 2/**< External sync Vs, Hs */
398} tda_sync_source;
399
400typedef enum {
401 TDA_PIXRATE_DOUBLE = 0, /**< Double pixel rate */
402 TDA_PIXRATE_SINGLE = 1, /**< Single pixel rate */
403 TDA_PIXRATE_SINGLE_REPEATED = 2 /**< Single pixel repeated */
404} tda_pix_rate;
405
406typedef struct {
407 tda_video_fmt_id format; /**< Video format as defined by EIA/CEA 861-D */
408 tda_vinmode mode; /**< Video mode (CCIR, RGB, YUV, etc.) */
409 tda_sync_source syncSource;
410 /**< Sync source type */
411 tda_pix_rate pixelRate; /**< Pixel rate */
412} tda_video_in;
413
414typedef enum {
415 TDA_VOUTMODE_RGB444 = 0, /**< RGB444 */
416 TDA_VOUTMODE_YUV422 = 1, /**< YUV422 */
417 TDA_VOUTMODE_YUV444 = 2 /**< YUV444 */
418} tda_vout_mode;
419
420typedef enum {
421 TDA_VQR_DEFAULT = 0, /* Follow HDMI spec. */
422 TDA_RGB_FULL = 1, /* Force RGB FULL , DVI only */
423 TDA_RGB_LIMITED = 2 /* Force RGB LIMITED , DVI only */
424} tda_vqr;
425
426typedef enum {
427 TDA_COLORDEPTH_24 = 0, /**< 8 bits per color */
428 TDA_COLORDEPTH_30 = 1, /**< 10 bits per color */
429 TDA_COLORDEPTH_36 = 2, /**< 12 bits per color */
430 TDA_COLORDEPTH_48 = 3 /**< 16 bits per color */
431} tda_color_depth;
432
433typedef struct {
434 tda_video_fmt_id format; /**< Video format as defined by EIA/CEA 861-D */
435 tda_vout_mode mode; /**< Video mode (CCIR, RGB, YUV, etc.) */
436 tda_color_depth colorDepth;
437 /**< Color depth */
438 tda_vqr dviVqr; /**< VQR applied in DVI mode */
439} tda_video_out;
440
441typedef struct {
442 tda_audio_format format; /**< Audio format (I2S, SPDIF, etc.) */
443 tda_audio_rate rate; /**< Audio sampling rate */
444 tda_audio_I2S_format i2sFormat; /**< I2S format of the audio input */
445 tda_audio_I2S_qualifier i2sQualifier; /**< I2S qualifier of the audio input (8,16,32 bits) */
446 tda_dst_rate dstRate; /**< DST data transfer rate */
447 unsigned char channelAllocation; /**< Ref to CEA-861D p85 */
448} tda_audio_in;
449
450typedef enum {
451 TDA_SINK_DVI = 0,
452 /**< DVI */
453 TDA_SINK_HDMI = 1,
454 /**< HDMI */
455 TDA_SINK_EDID = 2
456 /**< As currently defined in EDID */
457} tda_sink;
458
459typedef enum {
460 TDA_DEVICE_UNKNOWN,/**< HW device is unknown */
461 TDA_DEVICE_TDA9984,/**< HW device is IC TDA9984 */
462 TDA_DEVICE_TDA9989,/**< HW device is IC TDA9989 */
463 TDA_DEVICE_TDA9981,/**< HW device is IC TDA9981 */
464 TDA_DEVICE_TDA9983,/**< HW device is IC TDA9983 */
465 TDA_DEVICE_TDA19989/**< HW device is IC TDA19989 */
466} tda_device_version;
467
468typedef enum {
469 TDA_HDMI_VERSION_UNKNOWN,
470 /**< Unknown */
471 TDA_HDMI_VERSION_1_1,/**< HDMI 1.1 */
472 TDA_HDMI_VERSION_1_2a,
473 /**< HDMI 1.2a */
474 TDA_HDMI_VERSION_1_3a/**< HDMI 1.3 */
475} tda_hdmi_version;
476
477typedef struct {
478 int HBR; /**< High Bitrate Audio packet */
479 int DST; /**< Direct Stream Transport audio packet */
480 int oneBitAudio; /**< One Bit Audio sample packet */
481} tda_audio_packet;
482
483typedef enum {
484 TDA_COLORDEPTH_24 = 0, /**< 8 bits per color */
485 TDA_COLORDEPTH_30 = 1, /**< 10 bits per color */
486 TDA_COLORDEPTH_36 = 2, /**< 12 bits per color */
487 TDA_COLORDEPTH_48 = 3 /**< 16 bits per color */
488} tda_color_depth;
489
490typedef struct {
491 tda_device_version deviceVersion;
492 /**< HW device version */
493 tda_hdmi_version hdmiVersion;/**< Supported HDMI standard version */
494 tda_audio_packet audioPacket;/**< Supported audio packets */
495 tda_color_depth colorDepth; /**< Supported color depth */
496 int hdcp; /**< Supported Hdcp encryption (True/False) */
497 int scaler; /**< Supported scaler (True/False) */
498} tda_capabilities;
499
500typedef struct {
501 unsigned long compatibilityNr; /* Interface compatibility number */
502 unsigned long majorVersionNr; /* Interface major version number */
503 unsigned long minorVersionNr; /* Interface minor version number */
504} tda_version;
505
506typedef enum {
507 PowerOn, /* Device powered on (D0 state) */
508 PowerStandby, /* Device power standby (D1 state) */
509 PowerSuspend, /* Device power suspended (D2 state) */
510 PowerOff /* Device powered off (D3 state) */
511} tda_powerXXX;
512
513typedef struct {
514 unsigned int simplayHd; /**< Enable simplayHD support */
515 unsigned int repeaterEnable; /**< Enable repeater mode */
516 unsigned char *pEdidBuffer; /**< Pointer to raw EDID data */
517 unsigned long edidBufferSize; /**< Size of buffer for raw EDID data */
518} tda_setup;
519
520typedef struct {
521 tda_video_fmt_id id;
522 tda_video_fmt_specs spec;
523} tda_video_format;
524
525typedef struct {
526 tda_video_in video_in;
527 tda_video_out video_out;
528 tda_audio_in audio_in;
529} tda_set_in_out;
530
531typedef struct {
532 tda_edid_audio_desc desc;
533 unsigned int max;
534 unsigned int written;
535 unsigned char flags;
536} tda_edid_audio_caps;
537
538typedef struct {
539 tda_edid_video_desc desc;
540 unsigned int max;
541 unsigned int written;
542 unsigned char flags;
543} tda_edid_video_caps;
544
545typedef struct {
546 tda_edid_status status;
547 unsigned char block_count;
548} tda_edid;
549
550#endif
551
552#define TDA_IOCTL_BASE 0x40
553#define RELEASE 0xFF
554
555enum {
556 /* driver specific */
557 TDA_VERBOSE_ON_CMD = 0,
558 TDA_VERBOSE_OFF_CMD,
559 TDA_BYEBYE_CMD,
560 /* HDMI Tx */
561 TDA_GET_SW_VERSION_CMD,
562 TDA_SET_POWER_CMD,
563 TDA_GET_POWER_CMD,
564 TDA_SETUP_CMD,
565 TDA_GET_SETUP_CMD,
566 TDA_WAIT_EVENT_CMD,
567 TDA_ENABLE_EVENT_CMD,
568 TDA_DISABLE_EVENT_CMD,
569 TDA_GET_VIDEO_SPEC_CMD,
570 TDA_SET_INPUT_OUTPUT_CMD,
571 TDA_SET_AUDIO_INPUT_CMD,
572 TDA_SET_VIDEO_INFOFRAME_CMD,
573 TDA_SET_AUDIO_INFOFRAME_CMD,
574 TDA_SET_ACP_CMD,
575 TDA_SET_GCP_CMD,
576 TDA_SET_ISRC1_CMD,
577 TDA_SET_ISRC2_CMD,
578 TDA_SET_MPS_INFOFRAME_CMD,
579 TDA_SET_SPD_INFOFRAME_CMD,
580 TDA_SET_VS_INFOFRAME_CMD,
581 TDA_SET_AUDIO_MUTE_CMD,
582 TDA_RESET_AUDIO_CTS_CMD,
583 TDA_GET_EDID_STATUS_CMD,
584 TDA_GET_EDID_AUDIO_CAPS_CMD,
585 TDA_GET_EDID_VIDEO_CAPS_CMD,
586 TDA_GET_EDID_VIDEO_PREF_CMD,
587 TDA_GET_EDID_SINK_TYPE_CMD,
588 TDA_GET_EDID_SOURCE_ADDRESS_CMD,
589 TDA_SET_GAMMUT_CMD,
590 TDA_GET_EDID_DTD_CMD,
591 TDA_GET_EDID_MD_CMD,
592 TDA_GET_EDID_TV_ASPECT_RATIO_CMD,
593 TDA_GET_EDID_LATENCY_CMD,
594 TDA_SET_HDCP_CMD,
595 TDA_GET_HDCP_STATUS_CMD,
596 TDA_GET_HPD_STATUS_CMD,
597};
598
599
600/* driver specific */
601#define TDA_IOCTL_VERBOSE_ON _IO(TDA_IOCTL_BASE, TDA_VERBOSE_ON_CMD)
602#define TDA_IOCTL_VERBOSE_OFF _IO(TDA_IOCTL_BASE, TDA_VERBOSE_OFF_CMD)
603#define TDA_IOCTL_BYEBYE _IO(TDA_IOCTL_BASE, TDA_BYEBYE_CMD)
604/* HDMI Tx */
605#define TDA_IOCTL_GET_SW_VERSION _IOWR(TDA_IOCTL_BASE, TDA_GET_SW_VERSION_CMD, tda_version)
606#define TDA_IOCTL_SET_POWER _IOWR(TDA_IOCTL_BASE, TDA_SET_POWER_CMD, tda_power)
607#define TDA_IOCTL_GET_POWER _IOWR(TDA_IOCTL_BASE, TDA_GET_POWER_CMD, tda_power)
608#define TDA_IOCTL_SETUP _IOWR(TDA_IOCTL_BASE, TDA_SETUP_CMD, tda_setup_info)
609#define TDA_IOCTL_GET_SETUP _IOWR(TDA_IOCTL_BASE, TDA_GET_SETUP_CMD, tda_setup_info)
610#define TDA_IOCTL_WAIT_EVENT _IOWR(TDA_IOCTL_BASE, TDA_WAIT_EVENT_CMD, tda_event)
611#define TDA_IOCTL_ENABLE_EVENT _IOWR(TDA_IOCTL_BASE, TDA_ENABLE_EVENT_CMD, tda_event)
612#define TDA_IOCTL_DISABLE_EVENT _IOWR(TDA_IOCTL_BASE, TDA_DISABLE_EVENT_CMD, tda_event)
613#define TDA_IOCTL_GET_VIDEO_SPEC _IOWR(TDA_IOCTL_BASE, TDA_GET_VIDEO_SPEC_CMD, tda_video_format)
614#define TDA_IOCTL_SET_INPUT_OUTPUT _IOWR(TDA_IOCTL_BASE, TDA_SET_INPUT_OUTPUT_CMD, tda_set_in_out)
615#define TDA_IOCTL_SET_AUDIO_INPUT _IOWR(TDA_IOCTL_BASE, TDA_SET_AUDIO_INPUT_CMD, tda_audio_in)
616#define TDA_IOCTL_SET_VIDEO_INFOFRAME _IOWR(TDA_IOCTL_BASE, TDA_SET_VIDEO_INFOFRAME_CMD, tda_video_infoframe)
617#define TDA_IOCTL_SET_AUDIO_INFOFRAME _IOWR(TDA_IOCTL_BASE, TDA_SET_AUDIO_INFOFRAME_CMD, tda_audio_infoframe)
618#define TDA_IOCTL_SET_ACP _IOWR(TDA_IOCTL_BASE, TDA_SET_ACP_CMD, tda_acp)
619#define TDA_IOCTL_SET_GCP _IOWR(TDA_IOCTL_BASE, TDA_SET_GCP_CMD, tda_gcp)
620#define TDA_IOCTL_SET_ISRC1 _IOWR(TDA_IOCTL_BASE, TDA_SET_ISRC1_CMD, tda_isrc1)
621#define TDA_IOCTL_SET_ISRC2 _IOWR(TDA_IOCTL_BASE, TDA_SET_ISRC2_CMD, tda_isrc2)
622#define TDA_IOCTL_SET_MPS_INFOFRAME _IOWR(TDA_IOCTL_BASE, TDA_SET_MPS_INFOFRAME_CMD, tda_mps_infoframe)
623#define TDA_IOCTL_SET_SPD_INFOFRAME _IOWR(TDA_IOCTL_BASE, TDA_SET_SPD_INFOFRAME_CMD, tda_spd_infoframe)
624#define TDA_IOCTL_SET_VS_INFOFRAME _IOWR(TDA_IOCTL_BASE, TDA_SET_VS_INFOFRAME_CMD, tda_vs_infoframe)
625#define TDA_IOCTL_SET_AUDIO_MUTE _IOWR(TDA_IOCTL_BASE, TDA_SET_AUDIO_MUTE_CMD, bool)
626#define TDA_IOCTL_RESET_AUDIO_CTS _IO(TDA_IOCTL_BASE, TDA_RESET_AUDIO_CTS_CMD)
627#define TDA_IOCTL_GET_EDID_STATUS _IOWR(TDA_IOCTL_BASE, TDA_GET_EDID_STATUS_CMD, tda_edid)
628#define TDA_IOCTL_GET_EDID_AUDIO_CAPS _IOWR(TDA_IOCTL_BASE, TDA_GET_EDID_AUDIO_CAPS_CMD, tda_edid_audio_caps)
629#define TDA_IOCTL_GET_EDID_VIDEO_CAPS _IOWR(TDA_IOCTL_BASE, TDA_GET_EDID_VIDEO_CAPS_CMD, tda_edid_video_caps)
630#define TDA_IOCTL_GET_EDID_VIDEO_PREF _IOWR(TDA_IOCTL_BASE, TDA_GET_EDID_VIDEO_PREF_CMD, tda_edid_video_timings)
631#define TDA_IOCTL_GET_EDID_SINK_TYPE _IOWR(TDA_IOCTL_BASE, TDA_GET_EDID_SINK_TYPE_CMD, tda_sink)
632#define TDA_IOCTL_GET_EDID_SOURCE_ADDRESS _IOWR(TDA_IOCTL_BASE, TDA_GET_EDID_SOURCE_ADDRESS_CMD, unsigned short)
633#define TDA_IOCTL_SET_GAMMUT _IOWR(TDA_IOCTL_BASE, TDA_SET_GAMMUT_CMD, tda_gammut)
634#define TDA_IOCTL_GET_EDID_DTD _IOWR(TDA_IOCTL_BASE, TDA_GET_EDID_DTD_CMD, tda_edid_dtd)
635#define TDA_IOCTL_GET_EDID_MD _IOWR(TDA_IOCTL_BASE, TDA_GET_EDID_MD_CMD, tda_edid_md)
636#define TDA_IOCTL_GET_EDID_TV_ASPECT_RATIO _IOWR(TDA_IOCTL_BASE, TDA_GET_EDID_TV_ASPECT_RATIO_CMD, tda_edid_tv_aspect_ratio)
637#define TDA_IOCTL_GET_HPD_STATUS _IOWR(TDA_IOCTL_BASE, TDA_GET_HPD_STATUS_CMD, tmdlHdmiTxHotPlug_t)
638#ifdef TMFL_TDA19989
639#define TDA_IOCTL_GET_EDID_LATENCY _IOWR(TDA_IOCTL_BASE, TDA_GET_EDID_LATENCY_CMD, tda_edid_latency)
640#define TDA_IOCTL_SET_HDCP _IOWR(TDA_IOCTL_BASE, TDA_SET_HDCP_CMD, bool)
641#define TDA_IOCTL_GET_HDCP_STATUS _IOWR(TDA_IOCTL_BASE, TDA_GET_HDCP_STATUS_CMD, tda_hdcp_status)
642#endif
643
644
645/* --- Full list --- */
646
647/* legend: */
648/* ------- */
649/* [ ] : not supported */
650/* [x] : IOCTL */
651/* [i] : open, init... */
652
653/* [x] tmdlHdmiTxGetSWVersion */
654/* [ ] tmdlHdmiTxGetNumberOfUnits */
655/* [i] tmdlHdmiTxGetCapabilities */
656/* [ ] tmdlHdmiTxGetCapabilitiesM */
657/* [i] tmdlHdmiTxOpen */
658/* [ ] tmdlHdmiTxOpenM */
659/* [i] tmdlHdmiTxClose */
660/* [x] tmdlHdmiTxSetPowerState */
661/* [x] tmdlHdmiTxGetPowerState */
662/* [ ] tmdlHdmiTxInstanceConfig */
663/* [xi] tmdlHdmiTxInstanceSetup */
664/* [x] tmdlHdmiTxGetInstanceSetup */
665/* [x] tmdlHdmiTxHandleInterrupt see IOCTL_WAIT_EVENT */
666/* [i] tmdlHdmiTxRegisterCallbacks */
667/* [x] tmdlHdmiTxEnableEvent */
668/* [x] tmdlHdmiTxDisableEvent */
669/* [x] tmdlHdmiTxGetVideoFormatSpecs */
670/* [x] tmdlHdmiTxSetInputOutput */
671/* [x] tmdlHdmiTxSetAudioInput */
672/* [x] tmdlHdmiTxSetVideoInfoframe */
673/* [x] tmdlHdmiTxSetAudioInfoframe */
674/* [x] tmdlHdmiTxSetACPPacket */
675/* [x] tmdlHdmiTxSetGeneralControlPacket */
676/* [x] tmdlHdmiTxSetISRC1Packet */
677/* [x] tmdlHdmiTxSetISRC2Packet */
678/* [x] tmdlHdmiTxSetMPSInfoframe */
679/* [x] tmdlHdmiTxSetSpdInfoframe */
680/* [x] tmdlHdmiTxSetVsInfoframe */
681/* [ ] tmdlHdmiTxDebugSetNullPacket */
682/* [ ] tmdlHdmiTxDebugSetSingleNullPacket */
683/* [x] tmdlHdmiTxSetAudioMute */
684/* [x] tmdlHdmiTxResetAudioCts */
685/* [x] tmdlHdmiTxGetEdidStatus */
686/* [x] tmdlHdmiTxGetEdidAudioCaps */
687/* [x] tmdlHdmiTxGetEdidVideoCaps */
688/* [x] tmdlHdmiTxGetEdidVideoPreferred */
689/* [x] tmdlHdmiTxGetEdidSinkType */
690/* [x] tmdlHdmiTxGetEdidSourceAddress */
691/* [ ] tmdlHdmiTxGetKsvList */
692/* [ ] tmdlHdmiTxGetDepth */
693/* [ ] tmdlHdmiTxGeneSHA_1_IT */
694/* [ ] tmdlHdmiTxSetHdcp */
695/* [ ] tmdlHdmiTxGetHdcpState */
696/* [ ] tmdlHdmiTxHdcpCheck */
697/* [x] tmdlHdmiTxSetGamutPacket */
698/* [x] tmdlHdmiTxGetEdidDetailledTimingDescriptors */
699/* [x] tmdlHdmiTxGetEdidMonitorDescriptors */
700/* [x] tmdlHdmiTxGetEdidTVPictureRatio */
701/* [ ] tmdlHdmiTxSetHDCPRevocationList */
702/* [ ] tmdlHdmiTxGetHdcpFailStatus */
703/* [x] tmdlHdmiTxGetEdidLatencyInfo */
704/* [ ] tmdlHdmiTxSetBScreen */
705/* [ ] tmdlHdmiTxRemoveBScreen */
706
707
708#endif /* __tx_h__ */
709#endif /* __tx_ioctl__ */
710
711#ifndef __cec_ioctl__
712#define __cec_ioctl__
713
714#ifdef __cec_h__
715
716typedef struct {
717 UInt8 DayOfMonth;
718 UInt8 MonthOfYear;
719 UInt16 StartTime;
720 tmdlHdmiCECDuration_t Duration;
721 UInt8 RecordingSequence;
722 tmdlHdmiCECAnalogueBroadcastType_t AnalogueBroadcastType;
723 UInt16 AnalogueFrequency;
724 tmdlHdmiCECBroadcastSystem_t BroadcastSystem;
725} cec_analogue_timer;
726
727typedef struct {
728 UInt8 DayOfMonth;
729 UInt8 MonthOfYear;
730 UInt16 StartTime;
731 tmdlHdmiCECDuration_t Duration;
732 UInt8 RecordingSequence;
733 tmdlHdmiCECDigitalServiceIdentification_t ServiceIdentification;
734} cec_digital_timer;
735
736typedef struct {
737 UInt8 DayOfMonth;
738 UInt8 MonthOfYear;
739 UInt16 StartTime;
740 tmdlHdmiCECDuration_t Duration;
741 UInt8 RecordingSequence;
742 tmdlHdmiCECExternalPlug_t ExternalPlug;
743} cec_ext_timer_with_ext_plug;
744
745typedef struct {
746 UInt8 DayOfMonth;
747 UInt8 MonthOfYear;
748 UInt16 StartTime;
749 tmdlHdmiCECDuration_t Duration;
750 UInt8 RecordingSequence;
751 tmdlHdmiCECExternalPhysicalAddress_t ExternalPhysicalAddress;
752} cec_ext_timer_with_phy_addr;
753
754typedef struct {
755 tmdlHdmiCECFeatureOpcode_t FeatureOpcode;
756 tmdlHdmiCECAbortReason_t AbortReason;
757} cec_feature_abort;
758
759typedef struct {
760 tmdlHdmiCECAnalogueBroadcastType_t AnalogueBroadcastType;
761 UInt16 AnalogueFrequency;
762 tmdlHdmiCECBroadcastSystem_t BroadcastSystem;
763} cec_analogue_service;
764
765typedef struct {
766 UInt16 OriginalAddress;
767 UInt16 NewAddress;
768} cec_routing_change;
769
770typedef struct {
771 char data[15];
772 unsigned char length;
773} cec_string;
774
775typedef struct {
776 tmdlHdmiCECDisplayControl_t DisplayControl;
777 char data[15];
778 unsigned char length;
779} cec_osd_string;
780
781typedef struct {
782 tmdlHdmiCECRecordingFlag_t RecordingFlag;
783 tmdlHdmiCECTunerDisplayInfo_t TunerDisplayInfo;
784 tmdlHdmiCECAnalogueBroadcastType_t AnalogueBroadcastType;
785 UInt16 AnalogueFrequency;
786 tmdlHdmiCECBroadcastSystem_t BroadcastSystem;
787} cec_tuner_device_status_analogue;
788
789typedef struct {
790 tmdlHdmiCECRecordingFlag_t RecordingFlag;
791 tmdlHdmiCECTunerDisplayInfo_t TunerDisplayInfo;
792 tmdlHdmiCECDigitalServiceIdentification_t ServiceIdentification;
793} cec_tuner_device_status_digital;
794
795typedef struct {
796 unsigned long VendorID;
797 cec_string cmd;
798} cec_vendor_command_with_id;
799
800/*
801 typedef struct {
802 UInt8 *pData;
803 UInt16 lenData;
804 } cec_send_msg;
805*/
806
807typedef struct {
808 unsigned char count;
809 unsigned char service;
810 unsigned char addr;
811 unsigned char data[15];
812} cec_frame;
813/* typedef tmdlHdmiCecFrameFormat_t cec_frame; */
814
815typedef tmSWVersion_t cec_sw_version;
816typedef tmPowerState_t cec_power;
817typedef tmdlHdmiCecInstanceSetup_t cec_setup;
818typedef tmdlHdmiCecEvent_t cec_event;
819typedef tmdlHdmiCecClockSource_t cec_clock;
820typedef tmdlHdmiCECSystemAudioStatus_t cec_sys_audio_status;
821typedef tmdlHdmiCECAudioRate_t cec_audio_rate;
822typedef tmdlHdmiCECDigitalServiceIdentification_t cec_digital_service;
823typedef tmdlHdmiCECVersion_t cec_version;
824typedef tmdlHdmiCECDecControlMode_t cec_deck_ctrl;
825typedef tmdlHdmiCECDecInfo_t cec_deck_status;
826typedef tmdlHdmiCECStatusRequest_t cec_status_request;
827typedef tmdlHdmiCECMenuRequestType_t cec_menu_request;
828typedef tmdlHdmiCECMenuState_t cec_menu_status;
829typedef tmdlHdmiCECPlayMode_t cec_play;
830typedef tmdlHdmiCECExternalPlug_t cec_ext_plug;
831typedef tmdlHdmiCECRecordStatusInfo_t cec_rec_status;
832typedef tmdlHdmiCECAudioStatus_t cec_audio_status;
833typedef tmdlHdmiCECPowerStatus_t cec_power_status;
834typedef tmdlHdmiCECTimerClearedStatusData_t cec_timer_cleared_status;
835typedef tmdlHdmiCECTimerStatusData_t cec_timer_status;
836typedef tmdlHdmiCECUserRemoteControlCommand_t cec_user_ctrl;
837typedef tmdlHdmiCECChannelIdentifier_t cec_user_ctrl_tune;
838typedef tmdlHdmiCECDeviceType_t cec_device_type;
839
840#define CEC_IOCTL_BASE 0x40
841
842/* service */
843enum {
844 CEC_WAITING = 0x80,
845 CEC_RELEASE,
846 CEC_RX_DONE,
847 CEC_TX_DONE
848};
849
850enum {
851 /* driver specific */
852 CEC_VERBOSE_ON_CMD = 0,
853 CEC_VERBOSE_OFF_CMD,
854 CEC_BYEBYE_CMD,
855
856 /* CEC */
857 CEC_IOCTL_RX_ADDR_CMD, /* receiver logical address selector */
858 CEC_IOCTL_PHY_ADDR_CMD, /* physical address selector */
859 CEC_IOCTL_WAIT_FRAME_CMD,
860 CEC_IOCTL_ABORT_MSG_CMD,
861 CEC_IOCTL_ACTIVE_SRC_CMD,
862 CEC_IOCTL_VERSION_CMD,
863 CEC_IOCTL_CLEAR_ANALOGUE_TIMER_CMD,
864 CEC_IOCTL_CLEAR_DIGITAL_TIMER_CMD,
865 CEC_IOCTL_CLEAR_EXT_TIMER_WITH_EXT_PLUG_CMD,
866 CEC_IOCTL_CLEAR_EXT_TIMER_WITH_PHY_ADDR_CMD,
867 CEC_IOCTL_DECK_CTRL_CMD,
868 CEC_IOCTL_DECK_STATUS_CMD,
869 CEC_IOCTL_DEVICE_VENDOR_ID_CMD,
870 CEC_IOCTL_FEATURE_ABORT_CMD,
871 CEC_IOCTL_GET_CEC_VERSION_CMD,
872 CEC_IOCTL_GET_MENU_LANGUAGE_CMD,
873 CEC_IOCTL_GIVE_AUDIO_STATUS_CMD,
874 CEC_IOCTL_GIVE_DECK_STATUS_CMD,
875 CEC_IOCTL_GIVE_DEVICE_POWER_STATUS_CMD,
876 CEC_IOCTL_GIVE_DEVICE_VENDOR_ID_CMD,
877 CEC_IOCTL_GIVE_OSD_NAME_CMD,
878 CEC_IOCTL_GIVE_PHY_ADDR_CMD,
879 CEC_IOCTL_GIVE_SYS_AUDIO_MODE_STATUS_CMD,
880 CEC_IOCTL_GIVE_TUNER_DEVICE_STATUS_CMD,
881 CEC_IOCTL_IMAGE_VIEW_ON_CMD,
882 CEC_IOCTL_INACTIVE_SRC_CMD,
883 CEC_IOCTL_MENU_REQUEST_CMD,
884 CEC_IOCTL_MENU_STATUS_CMD,
885 CEC_IOCTL_PLAY_CMD,
886 CEC_IOCTL_POLLING_MSG_CMD,
887 CEC_IOCTL_REC_OFF_CMD,
888 CEC_IOCTL_REC_ON_ANALOGUE_SERVICE_CMD,
889 CEC_IOCTL_REC_ON_DIGITAL_SERVICE_CMD,
890 CEC_IOCTL_REC_ON_EXT_PHY_ADDR_CMD,
891 CEC_IOCTL_REC_ON_EXT_PLUG_CMD,
892 CEC_IOCTL_REC_ON_OWN_SRC_CMD,
893 CEC_IOCTL_REC_STATUS_CMD,
894 CEC_IOCTL_REC_TV_SCREEN_CMD,
895 CEC_IOCTL_REPORT_AUDIO_STATUS_CMD,
896 CEC_IOCTL_REPORT_PHY_ADDR_CMD,
897 CEC_IOCTL_REPORT_POWER_STATUS_CMD,
898 CEC_IOCTL_REQUEST_ACTIVE_SRC_CMD,
899 CEC_IOCTL_ROUTING_CHANGE_CMD,
900 CEC_IOCTL_ROUTING_INFORMATION_CMD,
901 CEC_IOCTL_SELECT_ANALOGUE_SERVICE_CMD,
902 CEC_IOCTL_SELECT_DIGITAL_SERVICE_CMD,
903 CEC_IOCTL_SET_ANALOGUE_TIMER_CMD,
904 CEC_IOCTL_SET_AUDIO_RATE_CMD,
905 CEC_IOCTL_SET_DIGITAL_TIMER_CMD,
906 CEC_IOCTL_SET_EXT_TIMER_WITH_EXT_PLUG_CMD,
907 CEC_IOCTL_SET_EXT_TIMER_WITH_PHY_ADDR_CMD,
908 CEC_IOCTL_SET_MENU_LANGUAGE_CMD,
909 CEC_IOCTL_SET_OSD_NAME_CMD,
910 CEC_IOCTL_SET_OSD_STRING_CMD,
911 CEC_IOCTL_SET_STREAM_PATH_CMD,
912 CEC_IOCTL_SET_SYS_AUDIO_MODE_CMD,
913 CEC_IOCTL_SET_TIMER_PROGRAM_TITLE_CMD,
914 CEC_IOCTL_STANDBY_CMD,
915 CEC_IOCTL_SYS_AUDIO_MODE_REQUEST_CMD,
916 CEC_IOCTL_SYS_AUDIO_MODE_STATUS_CMD,
917 CEC_IOCTL_TEXT_VIEW_ON_CMD,
918 CEC_IOCTL_TIMER_CLEARED_STATUS_CMD,
919 CEC_IOCTL_TIMER_STATUS_CMD,
920 CEC_IOCTL_TUNER_DEVICE_STATUS_ANALOGUE_CMD,
921 CEC_IOCTL_TUNER_DEVICE_STATUS_DIGITAL_CMD,
922 CEC_IOCTL_TUNER_STEP_DECREMENT_CMD,
923 CEC_IOCTL_TUNER_STEP_INCREMENT_CMD,
924 CEC_IOCTL_USER_CTRL_CMD,
925 CEC_IOCTL_USER_CTRL_PLAY_CMD,
926 CEC_IOCTL_USER_CTRL_SELECT_AUDIOINPUT_CMD,
927 CEC_IOCTL_USER_CTRL_SELECT_AVINPUT_CMD,
928 CEC_IOCTL_USER_CTRL_SELECT_MEDIA_CMD,
929 CEC_IOCTL_USER_CTRL_TUNE_CMD,
930 CEC_IOCTL_USER_CTRL_RELEASED_CMD,
931 CEC_IOCTL_VENDOR_COMMAND_CMD,
932 CEC_IOCTL_VENDOR_COMMAND_WITH_ID_CMD,
933 CEC_IOCTL_VENDOR_REMOTE_BUTTON_DOWN_CMD,
934 CEC_IOCTL_VENDOR_REMOTE_BUTTON_UP_CMD,
935 CEC_IOCTL_GET_SW_VERSION_CMD,
936 CEC_IOCTL_SET_POWER_STATE_CMD,
937 CEC_IOCTL_GET_POWER_STATE_CMD,
938 CEC_IOCTL_INSTANCE_CONFIG_CMD,
939 CEC_IOCTL_INSTANCE_SETUP_CMD,
940 CEC_IOCTL_GET_INSTANCE_SETUP_CMD,
941 CEC_IOCTL_ENABLE_EVENT_CMD,
942 CEC_IOCTL_DISABLE_EVENT_CMD,
943 CEC_IOCTL_ENABLE_CALIBRATION_CMD,
944 CEC_IOCTL_DISABLE_CALIBRATION_CMD,
945 CEC_IOCTL_SEND_MSG_CMD,
946 CEC_IOCTL_SET_REGISTER_CMD
947};
948
949
950/* driver specific */
951#define CEC_IOCTL_VERBOSE_ON _IO(CEC_IOCTL_BASE, CEC_VERBOSE_ON_CMD)
952#define CEC_IOCTL_VERBOSE_OFF _IO(CEC_IOCTL_BASE, CEC_VERBOSE_OFF_CMD)
953#define CEC_IOCTL_BYEBYE _IO(CEC_IOCTL_BASE, CEC_BYEBYE_CMD)
954
955/* CEC */
956#define CEC_IOCTL_RX_ADDR _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_RX_ADDR_CMD, unsigned char)
957#define CEC_IOCTL_PHY_ADDR _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_PHY_ADDR_CMD, unsigned short)
958#define CEC_IOCTL_WAIT_FRAME _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_WAIT_FRAME_CMD, cec_frame)
959#define CEC_IOCTL_ABORT_MSG _IO(CEC_IOCTL_BASE, CEC_IOCTL_ABORT_MSG_CMD)
960#define CEC_IOCTL_ACTIVE_SRC _IO(CEC_IOCTL_BASE, CEC_IOCTL_ACTIVE_SRC_CMD)
961#define CEC_IOCTL_VERSION _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_VERSION_CMD, cec_version)
962#define CEC_IOCTL_CLEAR_ANALOGUE_TIMER _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_CLEAR_ANALOGUE_TIMER_CMD, cec_analogue_timer)
963#define CEC_IOCTL_CLEAR_DIGITAL_TIMER _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_CLEAR_DIGITAL_TIMER_CMD, cec_digital_timer)
964#define CEC_IOCTL_CLEAR_EXT_TIMER_WITH_EXT_PLUG _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_CLEAR_EXT_TIMER_WITH_EXT_PLUG_CMD, cec_ext_timer_with_ext_plug)
965#define CEC_IOCTL_CLEAR_EXT_TIMER_WITH_PHY_ADDR _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_CLEAR_EXT_TIMER_WITH_PHY_ADDR_CMD, cec_ext_timer_with_phy_addr)
966#define CEC_IOCTL_DECK_CTRL _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_DECK_CTRL_CMD, cec_deck_ctrl)
967#define CEC_IOCTL_DECK_STATUS _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_DECK_STATUS_CMD, cec_deck_status)
968#define CEC_IOCTL_DEVICE_VENDOR_ID _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_DEVICE_VENDOR_ID_CMD, unsigned long)
969#define CEC_IOCTL_FEATURE_ABORT _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_FEATURE_ABORT_CMD, cec_feature_abort)
970#define CEC_IOCTL_GET_CEC_VERSION _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_GET_CEC_VERSION_CMD, unsigned char)
971#define CEC_IOCTL_GET_MENU_LANGUAGE _IO(CEC_IOCTL_BASE, CEC_IOCTL_GET_MENU_LANGUAGE_CMD)
972#define CEC_IOCTL_GIVE_AUDIO_STATUS _IO(CEC_IOCTL_BASE, CEC_IOCTL_GIVE_AUDIO_STATUS_CMD)
973#define CEC_IOCTL_GIVE_DECK_STATUS _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_GIVE_DECK_STATUS_CMD, cec_status_request)
974#define CEC_IOCTL_GIVE_DEVICE_POWER_STATUS _IO(CEC_IOCTL_BASE, CEC_IOCTL_GIVE_DEVICE_POWER_STATUS_CMD)
975#define CEC_IOCTL_GIVE_DEVICE_VENDOR_ID _IO(CEC_IOCTL_BASE, CEC_IOCTL_GIVE_DEVICE_VENDOR_ID_CMD)
976#define CEC_IOCTL_GIVE_OSD_NAME _IO(CEC_IOCTL_BASE, CEC_IOCTL_GIVE_OSD_NAME_CMD)
977#define CEC_IOCTL_GIVE_PHY_ADDR _IO(CEC_IOCTL_BASE, CEC_IOCTL_GIVE_PHY_ADDR_CMD)
978#define CEC_IOCTL_GIVE_SYS_AUDIO_MODE_STATUS _IO(CEC_IOCTL_BASE, CEC_IOCTL_GIVE_SYS_AUDIO_MODE_STATUS_CMD)
979#define CEC_IOCTL_GIVE_TUNER_DEVICE_STATUS _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_GIVE_TUNER_DEVICE_STATUS_CMD, cec_status_request)
980#define CEC_IOCTL_IMAGE_VIEW_ON _IO(CEC_IOCTL_BASE, CEC_IOCTL_IMAGE_VIEW_ON_CMD)
981#define CEC_IOCTL_INACTIVE_SRC _IO(CEC_IOCTL_BASE, CEC_IOCTL_INACTIVE_SRC_CMD)
982#define CEC_IOCTL_MENU_REQUEST _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_MENU_REQUEST_CMD, cec_menu_request)
983#define CEC_IOCTL_MENU_STATUS _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_MENU_STATUS_CMD, cec_menu_status)
984#define CEC_IOCTL_PLAY _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_PLAY_CMD, cec_play)
985#define CEC_IOCTL_POLLING_MSG _IO(CEC_IOCTL_BASE, CEC_IOCTL_POLLING_MSG_CMD)
986#define CEC_IOCTL_REC_OFF _IO(CEC_IOCTL_BASE, CEC_IOCTL_REC_OFF_CMD)
987#define CEC_IOCTL_REC_ON_ANALOGUE_SERVICE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_REC_ON_ANALOGUE_SERVICE_CMD, cec_analogue_service)
988#define CEC_IOCTL_REC_ON_DIGITAL_SERVICE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_REC_ON_DIGITAL_SERVICE_CMD, cec_digital_service)
989#define CEC_IOCTL_REC_ON_EXT_PHY_ADDR _IO(CEC_IOCTL_BASE, CEC_IOCTL_REC_ON_EXT_PHY_ADDR_CMD)
990#define CEC_IOCTL_REC_ON_EXT_PLUG _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_REC_ON_EXT_PLUG_CMD, cec_ext_plug)
991#define CEC_IOCTL_REC_ON_OWN_SRC _IO(CEC_IOCTL_BASE, CEC_IOCTL_REC_ON_OWN_SRC_CMD)
992#define CEC_IOCTL_REC_STATUS _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_REC_STATUS_CMD, cec_rec_status)
993#define CEC_IOCTL_REC_TV_SCREEN _IO(CEC_IOCTL_BASE, CEC_IOCTL_REC_TV_SCREEN_CMD)
994#define CEC_IOCTL_REPORT_AUDIO_STATUS _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_REPORT_AUDIO_STATUS_CMD, cec_audio_status)
995#define CEC_IOCTL_REPORT_PHY_ADDR _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_REPORT_PHY_ADDR_CMD, cec_device_type)
996#define CEC_IOCTL_REPORT_POWER_STATUS _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_REPORT_POWER_STATUS_CMD, cec_power_status)
997#define CEC_IOCTL_REQUEST_ACTIVE_SRC _IO(CEC_IOCTL_BASE, CEC_IOCTL_REQUEST_ACTIVE_SRC_CMD)
998#define CEC_IOCTL_ROUTING_CHANGE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_ROUTING_CHANGE_CMD, cec_routing_change)
999#define CEC_IOCTL_ROUTING_INFORMATION _IO(CEC_IOCTL_BASE, CEC_IOCTL_ROUTING_INFORMATION_CMD)
1000#define CEC_IOCTL_SELECT_ANALOGUE_SERVICE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SELECT_ANALOGUE_SERVICE_CMD, cec_analogue_service)
1001#define CEC_IOCTL_SELECT_DIGITAL_SERVICE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SELECT_DIGITAL_SERVICE_CMD, cec_digital_service)
1002#define CEC_IOCTL_SET_ANALOGUE_TIMER _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SET_ANALOGUE_TIMER_CMD, cec_analogue_timer)
1003#define CEC_IOCTL_SET_AUDIO_RATE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SET_AUDIO_RATE_CMD, cec_audio_rate)
1004#define CEC_IOCTL_SET_DIGITAL_TIMER _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SET_DIGITAL_TIMER_CMD, cec_digital_timer)
1005#define CEC_IOCTL_SET_EXT_TIMER_WITH_EXT_PLUG _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SET_EXT_TIMER_WITH_EXT_PLUG_CMD, cec_ext_timer_with_ext_plug)
1006#define CEC_IOCTL_SET_EXT_TIMER_WITH_PHY_ADDR _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SET_EXT_TIMER_WITH_PHY_ADDR_CMD, cec_ext_timer_with_phy_addr)
1007#define CEC_IOCTL_SET_MENU_LANGUAGE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SET_MENU_LANGUAGE_CMD, cec_string)
1008#define CEC_IOCTL_SET_OSD_NAME _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SET_OSD_NAME_CMD, cec_string)
1009#define CEC_IOCTL_SET_OSD_STRING _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SET_OSD_STRING_CMD, cec_osd_string)
1010#define CEC_IOCTL_SET_STREAM_PATH _IO(CEC_IOCTL_BASE, CEC_IOCTL_SET_STREAM_PATH_CMD)
1011#define CEC_IOCTL_SET_SYS_AUDIO_MODE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SET_SYS_AUDIO_MODE_CMD, cec_sys_audio_status)
1012#define CEC_IOCTL_SET_TIMER_PROGRAM_TITLE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SET_TIMER_PROGRAM_TITLE_CMD, cec_string)
1013#define CEC_IOCTL_STANDBY _IO(CEC_IOCTL_BASE, CEC_IOCTL_STANDBY_CMD)
1014#define CEC_IOCTL_SYS_AUDIO_MODE_REQUEST _IO(CEC_IOCTL_BASE, CEC_IOCTL_SYS_AUDIO_MODE_REQUEST_CMD)
1015#define CEC_IOCTL_SYS_AUDIO_MODE_STATUS _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SYS_AUDIO_MODE_STATUS_CMD, cec_sys_audio_status)
1016#define CEC_IOCTL_TEXT_VIEW_ON _IO(CEC_IOCTL_BASE, CEC_IOCTL_TEXT_VIEW_ON_CMD)
1017#define CEC_IOCTL_TIMER_CLEARED_STATUS _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_TIMER_CLEARED_STATUS_CMD, cec_timer_cleared_status)
1018#define CEC_IOCTL_TIMER_STATUS _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_TIMER_STATUS_CMD, cec_timer_status)
1019#define CEC_IOCTL_TUNER_DEVICE_STATUS_ANALOGUE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_TUNER_DEVICE_STATUS_ANALOGUE_CMD, cec_tuner_device_status_analogue)
1020#define CEC_IOCTL_TUNER_DEVICE_STATUS_DIGITAL _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_TUNER_DEVICE_STATUS_DIGITAL_CMD, cec_tuner_device_status_digital)
1021#define CEC_IOCTL_TUNER_STEP_DECREMENT _IO(CEC_IOCTL_BASE, CEC_IOCTL_TUNER_STEP_DECREMENT_CMD)
1022#define CEC_IOCTL_TUNER_STEP_INCREMENT _IO(CEC_IOCTL_BASE, CEC_IOCTL_TUNER_STEP_INCREMENT_CMD)
1023#define CEC_IOCTL_USER_CTRL_PRESSED _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_USER_CTRL_CMD, cec_user_ctrl)
1024#define CEC_IOCTL_USER_CTRL_PLAY _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_USER_CTRL_PLAY_CMD, cec_play)
1025#define CEC_IOCTL_USER_CTRL_SELECT_AUDIOINPUT _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_USER_CTRL_SELECT_AUDIOINPUT_CMD, unsigned char)
1026#define CEC_IOCTL_USER_CTRL_SELECT_AVINPUT _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_USER_CTRL_SELECT_AVINPUT_CMD, unsigned char)
1027#define CEC_IOCTL_USER_CTRL_SELECT_MEDIA _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_USER_CTRL_SELECT_MEDIA_CMD, unsigned char)
1028#define CEC_IOCTL_USER_CTRL_TUNE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_USER_CTRL_TUNE_CMD, cec_user_ctrl_tune)
1029#define CEC_IOCTL_USER_CTRL_RELEASED _IO(CEC_IOCTL_BASE, CEC_IOCTL_USER_CTRL_RELEASED_CMD)
1030#define CEC_IOCTL_VENDOR_COMMAND _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_VENDOR_COMMAND_CMD, cec_string)
1031#define CEC_IOCTL_VENDOR_COMMAND_WITH_ID _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_VENDOR_COMMAND_WITH_ID_CMD, cec_vendor_command_with_id)
1032#define CEC_IOCTL_VENDOR_REMOTE_BUTTON_DOWN _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_VENDOR_REMOTE_BUTTON_DOWN_CMD, cec_string)
1033#define CEC_IOCTL_VENDOR_REMOTE_BUTTON_UP _IO(CEC_IOCTL_BASE, CEC_IOCTL_VENDOR_REMOTE_BUTTON_UP_CMD)
1034#define CEC_IOCTL_GET_SW_VERSION _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_GET_SW_VERSION_CMD, cec_sw_version)
1035#define CEC_IOCTL_SET_POWER_STATE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_SET_POWER_STATE_CMD, cec_power)
1036#define CEC_IOCTL_GET_POWER_STATE _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_GET_POWER_STATE_CMD, cec_power)
1037#define CEC_IOCTL_INSTANCE_CONFIG _IO(CEC_IOCTL_BASE, CEC_IOCTL_INSTANCE_CONFIG_CMD)
1038#define CEC_IOCTL_INSTANCE_SETUP _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_INSTANCE_SETUP_CMD, cec_setup)
1039#define CEC_IOCTL_GET_INSTANCE_SETUP _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_GET_INSTANCE_SETUP_CMD, cec_setup)
1040#define CEC_IOCTL_ENABLE_EVENT _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_ENABLE_EVENT_CMD, cec_event)
1041#define CEC_IOCTL_DISABLE_EVENT _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_DISABLE_EVENT_CMD, cec_event)
1042#define CEC_IOCTL_ENABLE_CALIBRATION _IOWR(CEC_IOCTL_BASE, CEC_IOCTL_ENABLE_CALIBRATION_CMD, cec_clock)
1043#define CEC_IOCTL_DISABLE_CALIBRATION _IO(CEC_IOCTL_BASE, CEC_IOCTL_DISABLE_CALIBRATION_CMD)
1044/* #define CEC_IOCTL_SEND_MSG _IOWR(CEC_IOCTL_BASE,CEC_IOCTL_SEND_MSG_CMD,cec_send_msg) */
1045
1046/* --- Full list --- */
1047
1048/* legend: */
1049/* ------- */
1050/* [ ] : not supported */
1051/* [x] : IOCTL */
1052/* [i] : open, init... */
1053
1054/* [ ] tmdlHdmiCecAbortMessage */
1055/* [ ] tmdlHdmiCecActiveSource */
1056/* [ ] tmdlHdmiCecVersion */
1057/* [ ] tmdlHdmiCecClearAnalogueTimer */
1058/* [ ] tmdlHdmiCecClearDigitalTimer */
1059/* [ ] tmdlHdmiCecClearExternalTimerWithExternalPlug */
1060/* [ ] tmdlHdmiCecClearExternalTimerWithPhysicalAddress */
1061/* [ ] tmdlHdmiCecDeckControl */
1062/* [ ] tmdlHdmiCecDeckStatus */
1063/* [ ] tmdlHdmiCecDeviceVendorID */
1064/* [ ] tmdlHdmiCecFeatureAbort */
1065/* [ ] tmdlHdmiCecGetCecVersion */
1066/* [ ] tmdlHdmiCecGetMenuLanguage */
1067/* [ ] tmdlHdmiCecGiveAudioStatus */
1068/* [ ] tmdlHdmiCecGiveDeckStatus */
1069/* [ ] tmdlHdmiCecGiveDevicePowerStatus */
1070/* [ ] tmdlHdmiCecGiveDeviceVendorID */
1071/* [ ] tmdlHdmiCecGiveOsdName */
1072/* [ ] tmdlHdmiCecGivePhysicalAddress */
1073/* [ ] tmdlHdmiCecGiveSystemAudioModeStatus */
1074/* [ ] tmdlHdmiCecGiveTunerDeviceStatus */
1075/* [ ] tmdlHdmiCecImageViewOn */
1076/* [ ] tmdlHdmiCecInactiveSource */
1077/* [ ] tmdlHdmiCecMenuRequest */
1078/* [ ] tmdlHdmiCecMenuStatus */
1079/* [ ] tmdlHdmiCecPlay */
1080/* [ ] tmdlHdmiCecPollingMessage */
1081/* [ ] tmdlHdmiCecRecordOff */
1082/* [ ] tmdlHdmiCecRecordOnAnalogueService */
1083/* [ ] tmdlHdmiCecRecordOnDigitalService */
1084/* [ ] tmdlHdmiCecRecordOnExternalPhysicalAddress */
1085/* [ ] tmdlHdmiCecRecordOnExternalPlug */
1086/* [ ] tmdlHdmiCecRecordOnOwnSource */
1087/* [ ] tmdlHdmiCecRecordStatus */
1088/* [ ] tmdlHdmiCecRecordTvScreen */
1089/* [ ] tmdlHdmiCecReportAudioStatus */
1090/* [ ] tmdlHdmiCecReportPhysicalAddress */
1091/* [ ] tmdlHdmiCecReportPowerStatus */
1092/* [ ] tmdlHdmiCecRequestActiveSource */
1093/* [ ] tmdlHdmiCecRoutingChange */
1094/* [ ] tmdlHdmiCecRoutingInformation */
1095/* [ ] tmdlHdmiCecSelectAnalogueService */
1096/* [ ] tmdlHdmiCecSelectDigitalService */
1097/* [ ] tmdlHdmiCecSetAnalogueTimer */
1098/* [ ] tmdlHdmiCecSetAudioRate */
1099/* [ ] tmdlHdmiCecSetDigitalTimer */
1100/* [ ] tmdlHdmiCecSetExternalTimerWithExternalPlug */
1101/* [ ] tmdlHdmiCecSetExternalTimerWithPhysicalAddress */
1102/* [ ] tmdlHdmiCecSetMenuLanguage */
1103/* [ ] tmdlHdmiCecSetOsdName */
1104/* [ ] tmdlHdmiCecSetOsdString */
1105/* [ ] tmdlHdmiCecSetStreamPath */
1106/* [ ] tmdlHdmiCecSetSystemAudioMode */
1107/* [ ] tmdlHdmiCecSetTimerProgramTitle */
1108/* [ ] tmdlHdmiCecStandby */
1109/* [ ] tmdlHdmiCecSystemAudioModeRequest */
1110/* [ ] tmdlHdmiCecSystemAudioModeStatus */
1111/* [ ] tmdlHdmiCecTextViewOn */
1112/* [ ] tmdlHdmiCecTimerClearedStatus */
1113/* [ ] tmdlHdmiCecTimerStatus */
1114/* [ ] tmdlHdmiCecTunerDeviceStatusAnalogue */
1115/* [ ] tmdlHdmiCecTunerDeviceStatusDigital */
1116/* [ ] tmdlHdmiCecTunerStepDecrement */
1117/* [ ] tmdlHdmiCecTunerStepIncrement */
1118/* [ ] tmdlHdmiCecUserControlPressed */
1119/* [ ] tmdlHdmiCecUserControlPressedPlay */
1120/* [ ] tmdlHdmiCecUserControlPressedSelectAudioInput */
1121/* [ ] tmdlHdmiCecUserControlPressedSelectAVInput */
1122/* [ ] tmdlHdmiCecUserControlPressedSelectMedia */
1123/* [ ] tmdlHdmiCecUserControlPressedTune */
1124/* [ ] tmdlHdmiCecUserControlReleased */
1125/* [ ] tmdlHdmiCecVendorCommand */
1126/* [ ] tmdlHdmiCecVendorCommandWithID */
1127/* [ ] tmdlHdmiCecVendorRemoteButtonDown */
1128/* [ ] tmdlHdmiCecVendorRemoteButtonUp */
1129/* [ ] tmdlHdmiCecGetSWVersion */
1130/* [ ] tmdlHdmiCecGetNumberOfUnits */
1131/* [ ] tmdlHdmiCecGetCapabilities */
1132/* [ ] tmdlHdmiCecGetCapabilitiesM */
1133/* [ ] tmdlHdmiCecOpen */
1134/* [ ] tmdlHdmiCecOpenM */
1135/* [ ] tmdlHdmiCecClose */
1136/* [ ] tmdlHdmiCecSetPowerState */
1137/* [ ] tmdlHdmiCecGetPowerState */
1138/* [ ] tmdlHdmiCecInstanceConfig */
1139/* [ ] tmdlHdmiCecInstanceSetup */
1140/* [ ] tmdlHdmiCecGetInstanceSetup */
1141/* [ ] tmdlHdmiCecHandleInterrupt */
1142/* [ ] tmdlHdmiCecRegisterCallbacks */
1143/* [ ] tmdlHdmiCecSetAutoAnswer */
1144/* [ ] tmdlHdmiCecSetLogicalAddress */
1145/* [ ] tmdlHdmiCecEnableEvent */
1146/* [ ] tmdlHdmiCecDisableEvent */
1147/* [ ] tmdlHdmiCecEnableCalibration */
1148/* [ ] tmdlHdmiCecDisableCalibration */
1149/* [ ] tmdlHdmiCecSendMessage */
1150/* [ ] tmdlHdmiCecSetRegister */
1151
1152
1153#endif /* __cec_h__ */
1154#endif /* __cec_ioctl__ */