diff options
Diffstat (limited to 'include/linux/hdmi.h')
-rw-r--r-- | include/linux/hdmi.h | 37 |
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 | ||
29 | enum hdmi_infoframe_type { | 30 | enum 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 | ||
57 | enum hdmi_scan_mode { | 63 | enum 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 | ||
63 | enum hdmi_colorimetry { | 70 | enum 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 | ||
76 | enum hdmi_active_aspect { | 84 | enum 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 | ||
97 | enum hdmi_quantization_range { | 110 | enum 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 | ||
116 | enum hdmi_content_type { | 130 | enum 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 | ||
199 | enum hdmi_audio_sample_size { | 214 | enum hdmi_audio_sample_size { |
@@ -215,10 +230,25 @@ enum hdmi_audio_sample_frequency { | |||
215 | }; | 230 | }; |
216 | 231 | ||
217 | enum hdmi_audio_coding_type_ext { | 232 | enum 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 | ||
224 | struct hdmi_audio_infoframe { | 254 | struct hdmi_audio_infoframe { |
@@ -299,5 +329,8 @@ union hdmi_infoframe { | |||
299 | 329 | ||
300 | ssize_t | 330 | ssize_t |
301 | hdmi_infoframe_pack(union hdmi_infoframe *frame, void *buffer, size_t size); | 331 | hdmi_infoframe_pack(union hdmi_infoframe *frame, void *buffer, size_t size); |
332 | int hdmi_infoframe_unpack(union hdmi_infoframe *frame, void *buffer); | ||
333 | void 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 */ |