aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/hdmi.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/hdmi.h')
-rw-r--r--include/linux/hdmi.h37
1 files changed, 35 insertions, 2 deletions
diff --git a/include/linux/hdmi.h b/include/linux/hdmi.h
index cbb5790a35cd..e9744202fa29 100644
--- a/include/linux/hdmi.h
+++ b/include/linux/hdmi.h
@@ -25,6 +25,7 @@
25#define __LINUX_HDMI_H_ 25#define __LINUX_HDMI_H_
26 26
27#include <linux/types.h> 27#include <linux/types.h>
28#include <linux/device.h>
28 29
29enum hdmi_infoframe_type { 30enum hdmi_infoframe_type {
30 HDMI_INFOFRAME_TYPE_VENDOR = 0x81, 31 HDMI_INFOFRAME_TYPE_VENDOR = 0x81,
@@ -52,12 +53,18 @@ enum hdmi_colorspace {
52 HDMI_COLORSPACE_RGB, 53 HDMI_COLORSPACE_RGB,
53 HDMI_COLORSPACE_YUV422, 54 HDMI_COLORSPACE_YUV422,
54 HDMI_COLORSPACE_YUV444, 55 HDMI_COLORSPACE_YUV444,
56 HDMI_COLORSPACE_YUV420,
57 HDMI_COLORSPACE_RESERVED4,
58 HDMI_COLORSPACE_RESERVED5,
59 HDMI_COLORSPACE_RESERVED6,
60 HDMI_COLORSPACE_IDO_DEFINED,
55}; 61};
56 62
57enum hdmi_scan_mode { 63enum hdmi_scan_mode {
58 HDMI_SCAN_MODE_NONE, 64 HDMI_SCAN_MODE_NONE,
59 HDMI_SCAN_MODE_OVERSCAN, 65 HDMI_SCAN_MODE_OVERSCAN,
60 HDMI_SCAN_MODE_UNDERSCAN, 66 HDMI_SCAN_MODE_UNDERSCAN,
67 HDMI_SCAN_MODE_RESERVED,
61}; 68};
62 69
63enum hdmi_colorimetry { 70enum hdmi_colorimetry {
@@ -71,6 +78,7 @@ enum hdmi_picture_aspect {
71 HDMI_PICTURE_ASPECT_NONE, 78 HDMI_PICTURE_ASPECT_NONE,
72 HDMI_PICTURE_ASPECT_4_3, 79 HDMI_PICTURE_ASPECT_4_3,
73 HDMI_PICTURE_ASPECT_16_9, 80 HDMI_PICTURE_ASPECT_16_9,
81 HDMI_PICTURE_ASPECT_RESERVED,
74}; 82};
75 83
76enum hdmi_active_aspect { 84enum hdmi_active_aspect {
@@ -92,12 +100,18 @@ enum hdmi_extended_colorimetry {
92 HDMI_EXTENDED_COLORIMETRY_S_YCC_601, 100 HDMI_EXTENDED_COLORIMETRY_S_YCC_601,
93 HDMI_EXTENDED_COLORIMETRY_ADOBE_YCC_601, 101 HDMI_EXTENDED_COLORIMETRY_ADOBE_YCC_601,
94 HDMI_EXTENDED_COLORIMETRY_ADOBE_RGB, 102 HDMI_EXTENDED_COLORIMETRY_ADOBE_RGB,
103
104 /* The following EC values are only defined in CEA-861-F. */
105 HDMI_EXTENDED_COLORIMETRY_BT2020_CONST_LUM,
106 HDMI_EXTENDED_COLORIMETRY_BT2020,
107 HDMI_EXTENDED_COLORIMETRY_RESERVED,
95}; 108};
96 109
97enum hdmi_quantization_range { 110enum hdmi_quantization_range {
98 HDMI_QUANTIZATION_RANGE_DEFAULT, 111 HDMI_QUANTIZATION_RANGE_DEFAULT,
99 HDMI_QUANTIZATION_RANGE_LIMITED, 112 HDMI_QUANTIZATION_RANGE_LIMITED,
100 HDMI_QUANTIZATION_RANGE_FULL, 113 HDMI_QUANTIZATION_RANGE_FULL,
114 HDMI_QUANTIZATION_RANGE_RESERVED,
101}; 115};
102 116
103/* non-uniform picture scaling */ 117/* non-uniform picture scaling */
@@ -114,7 +128,7 @@ enum hdmi_ycc_quantization_range {
114}; 128};
115 129
116enum hdmi_content_type { 130enum hdmi_content_type {
117 HDMI_CONTENT_TYPE_NONE, 131 HDMI_CONTENT_TYPE_GRAPHICS,
118 HDMI_CONTENT_TYPE_PHOTO, 132 HDMI_CONTENT_TYPE_PHOTO,
119 HDMI_CONTENT_TYPE_CINEMA, 133 HDMI_CONTENT_TYPE_CINEMA,
120 HDMI_CONTENT_TYPE_GAME, 134 HDMI_CONTENT_TYPE_GAME,
@@ -194,6 +208,7 @@ enum hdmi_audio_coding_type {
194 HDMI_AUDIO_CODING_TYPE_MLP, 208 HDMI_AUDIO_CODING_TYPE_MLP,
195 HDMI_AUDIO_CODING_TYPE_DST, 209 HDMI_AUDIO_CODING_TYPE_DST,
196 HDMI_AUDIO_CODING_TYPE_WMA_PRO, 210 HDMI_AUDIO_CODING_TYPE_WMA_PRO,
211 HDMI_AUDIO_CODING_TYPE_CXT,
197}; 212};
198 213
199enum hdmi_audio_sample_size { 214enum hdmi_audio_sample_size {
@@ -215,10 +230,25 @@ enum hdmi_audio_sample_frequency {
215}; 230};
216 231
217enum hdmi_audio_coding_type_ext { 232enum hdmi_audio_coding_type_ext {
218 HDMI_AUDIO_CODING_TYPE_EXT_STREAM, 233 /* Refer to Audio Coding Type (CT) field in Data Byte 1 */
234 HDMI_AUDIO_CODING_TYPE_EXT_CT,
235
236 /*
237 * The next three CXT values are defined in CEA-861-E only.
238 * They do not exist in older versions, and in CEA-861-F they are
239 * defined as 'Not in use'.
240 */
219 HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC, 241 HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC,
220 HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC_V2, 242 HDMI_AUDIO_CODING_TYPE_EXT_HE_AAC_V2,
221 HDMI_AUDIO_CODING_TYPE_EXT_MPEG_SURROUND, 243 HDMI_AUDIO_CODING_TYPE_EXT_MPEG_SURROUND,
244
245 /* The following CXT values are only defined in CEA-861-F. */
246 HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC,
247 HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_V2,
248 HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC,
249 HDMI_AUDIO_CODING_TYPE_EXT_DRA,
250 HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_HE_AAC_SURROUND,
251 HDMI_AUDIO_CODING_TYPE_EXT_MPEG4_AAC_LC_SURROUND = 10,
222}; 252};
223 253
224struct hdmi_audio_infoframe { 254struct hdmi_audio_infoframe {
@@ -299,5 +329,8 @@ union hdmi_infoframe {
299 329
300ssize_t 330ssize_t
301hdmi_infoframe_pack(union hdmi_infoframe *frame, void *buffer, size_t size); 331hdmi_infoframe_pack(union hdmi_infoframe *frame, void *buffer, size_t size);
332int hdmi_infoframe_unpack(union hdmi_infoframe *frame, void *buffer);
333void hdmi_infoframe_log(const char *level, struct device *dev,
334 union hdmi_infoframe *frame);
302 335
303#endif /* _DRM_HDMI_H */ 336#endif /* _DRM_HDMI_H */