Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 1 | /*************************************************************************** |
| 2 | * Copyright (c) 2005-2009, Broadcom Corporation. |
| 3 | * |
| 4 | * Name: crystalhd_fw_if . h |
| 5 | * |
| 6 | * Description: |
| 7 | * BCM70012 Firmware interface definitions. |
| 8 | * |
| 9 | * HISTORY: |
| 10 | * |
| 11 | ********************************************************************** |
| 12 | * This file is part of the crystalhd device driver. |
| 13 | * |
| 14 | * This driver is free software; you can redistribute it and/or modify |
| 15 | * it under the terms of the GNU General Public License as published by |
| 16 | * the Free Software Foundation, version 2 of the License. |
| 17 | * |
| 18 | * This driver is distributed in the hope that it will be useful, |
| 19 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 20 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 21 | * GNU General Public License for more details. |
| 22 | * |
| 23 | * You should have received a copy of the GNU General Public License |
| 24 | * along with this driver. If not, see <http://www.gnu.org/licenses/>. |
| 25 | **********************************************************************/ |
| 26 | |
| 27 | #ifndef _CRYSTALHD_FW_IF_H_ |
| 28 | #define _CRYSTALHD_FW_IF_H_ |
| 29 | |
| 30 | /* TBD: Pull in only required defs into this file.. */ |
| 31 | |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 32 | /* User Data Header */ |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 33 | struct user_data { |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 34 | struct user_data *next; |
| 35 | uint32_t type; |
| 36 | uint32_t size; |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 37 | }; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 38 | |
| 39 | /*------------------------------------------------------* |
| 40 | * MPEG Extension to the PPB * |
| 41 | *------------------------------------------------------*/ |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 42 | struct ppb_mpeg { |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 43 | uint32_t to_be_defined; |
| 44 | uint32_t valid; |
| 45 | |
| 46 | /* Always valid, defaults to picture size if no |
| 47 | sequence display extension in the stream. */ |
| 48 | uint32_t display_horizontal_size; |
| 49 | uint32_t display_vertical_size; |
| 50 | |
| 51 | /* MPEG_VALID_PANSCAN |
| 52 | Offsets are a copy values from the MPEG stream. */ |
| 53 | uint32_t offset_count; |
| 54 | int32_t horizontal_offset[3]; |
| 55 | int32_t vertical_offset[3]; |
| 56 | |
| 57 | /* MPEG_VALID_USERDATA |
| 58 | User data is in the form of a linked list. */ |
| 59 | int32_t userDataSize; |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 60 | struct user_data *userData; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 61 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 62 | }; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 63 | |
| 64 | |
| 65 | /*------------------------------------------------------* |
| 66 | * VC1 Extension to the PPB * |
| 67 | *------------------------------------------------------*/ |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 68 | struct ppb_vc1 { |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 69 | uint32_t to_be_defined; |
| 70 | uint32_t valid; |
| 71 | |
| 72 | /* Always valid, defaults to picture size if no |
| 73 | sequence display extension in the stream. */ |
| 74 | uint32_t display_horizontal_size; |
| 75 | uint32_t display_vertical_size; |
| 76 | |
| 77 | /* VC1 pan scan windows */ |
| 78 | uint32_t num_panscan_windows; |
| 79 | int32_t ps_horiz_offset[4]; |
| 80 | int32_t ps_vert_offset[4]; |
| 81 | int32_t ps_width[4]; |
| 82 | int32_t ps_height[4]; |
| 83 | |
| 84 | /* VC1_VALID_USERDATA |
| 85 | User data is in the form of a linked list. */ |
| 86 | int32_t userDataSize; |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 87 | struct user_data *userData; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 88 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 89 | }; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 90 | |
| 91 | /*------------------------------------------------------* |
| 92 | * H.264 Extension to the PPB * |
| 93 | *------------------------------------------------------*/ |
| 94 | |
| 95 | /** |
| 96 | * @brief Film grain SEI message. |
| 97 | * |
| 98 | * Content of the film grain SEI message. |
| 99 | */ |
| 100 | |
| 101 | /* maximum number of model-values as for Thomson spec(standard says 5) */ |
| 102 | #define MAX_FGT_MODEL_VALUE (3) |
| 103 | |
| 104 | /* maximum number of intervals(as many as 256 intervals?) */ |
| 105 | #define MAX_FGT_VALUE_INTERVAL (256) |
| 106 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 107 | struct fgt_sei { |
| 108 | struct fgt_sei *next; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 109 | unsigned char model_values[3][MAX_FGT_VALUE_INTERVAL][MAX_FGT_MODEL_VALUE]; |
| 110 | unsigned char upper_bound[3][MAX_FGT_VALUE_INTERVAL]; |
| 111 | unsigned char lower_bound[3][MAX_FGT_VALUE_INTERVAL]; |
| 112 | |
| 113 | unsigned char cancel_flag; /* Cancel flag: 1 no film grain. */ |
| 114 | unsigned char model_id; /* Model id. */ |
| 115 | |
| 116 | /* +unused SE based on Thomson spec */ |
| 117 | unsigned char color_desc_flag; /* Separate color descrition flag. */ |
| 118 | unsigned char bit_depth_luma; /* Bit depth luma minus 8. */ |
| 119 | unsigned char bit_depth_chroma; /* Bit depth chroma minus 8. */ |
| 120 | unsigned char full_range_flag; /* Full range flag. */ |
| 121 | unsigned char color_primaries; /* Color primaries. */ |
| 122 | unsigned char transfer_charact; /* Transfer characteristics. */ |
| 123 | unsigned char matrix_coeff; /*< Matrix coefficients. */ |
| 124 | /* -unused SE based on Thomson spec */ |
| 125 | |
| 126 | unsigned char blending_mode_id; /* Blending mode. */ |
| 127 | unsigned char log2_scale_factor; /* Log2 scale factor (2-7). */ |
| 128 | unsigned char comp_flag[3]; /* Components [0,2] parameters present flag. */ |
| 129 | unsigned char num_intervals_minus1[3]; /* Number of intensity level intervals. */ |
| 130 | unsigned char num_model_values[3]; /* Number of model values. */ |
| 131 | uint16_t repetition_period; /* Repetition period (0-16384) */ |
| 132 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 133 | }; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 134 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 135 | struct ppb_h264 { |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 136 | /* 'valid' specifies which fields (or sets of |
| 137 | * fields) below are valid. If the corresponding |
| 138 | * bit in 'valid' is NOT set then that field(s) |
| 139 | * is (are) not initialized. */ |
| 140 | uint32_t valid; |
| 141 | |
| 142 | int32_t poc_top; /* POC for Top Field/Frame */ |
| 143 | int32_t poc_bottom; /* POC for Bottom Field */ |
| 144 | uint32_t idr_pic_id; |
| 145 | |
| 146 | /* H264_VALID_PANSCAN */ |
| 147 | uint32_t pan_scan_count; |
| 148 | int32_t pan_scan_left[3]; |
| 149 | int32_t pan_scan_right[3]; |
| 150 | int32_t pan_scan_top[3]; |
| 151 | int32_t pan_scan_bottom[3]; |
| 152 | |
| 153 | /* H264_VALID_CT_TYPE */ |
| 154 | uint32_t ct_type_count; |
| 155 | uint32_t ct_type[3]; |
| 156 | |
| 157 | /* H264_VALID_SPS_CROP */ |
| 158 | int32_t sps_crop_left; |
| 159 | int32_t sps_crop_right; |
| 160 | int32_t sps_crop_top; |
| 161 | int32_t sps_crop_bottom; |
| 162 | |
| 163 | /* H264_VALID_VUI */ |
| 164 | uint32_t chroma_top; |
| 165 | uint32_t chroma_bottom; |
| 166 | |
| 167 | /* H264_VALID_USER */ |
| 168 | uint32_t user_data_size; |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 169 | struct user_data *user_data; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 170 | |
| 171 | /* H264 VALID FGT */ |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 172 | struct fgt_sei *pfgt; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 173 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 174 | }; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 175 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 176 | struct ppb { |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 177 | /* Common fields. */ |
| 178 | uint32_t picture_number; /* Ordinal display number */ |
| 179 | uint32_t video_buffer; /* Video (picbuf) number */ |
| 180 | uint32_t video_address; /* Address of picbuf Y */ |
| 181 | uint32_t video_address_uv; /* Address of picbuf UV */ |
| 182 | uint32_t video_stripe; /* Picbuf stripe */ |
| 183 | uint32_t video_width; /* Picbuf width */ |
| 184 | uint32_t video_height; /* Picbuf height */ |
| 185 | |
| 186 | uint32_t channel_id; /* Decoder channel ID */ |
| 187 | uint32_t status; /* reserved */ |
| 188 | uint32_t width; /* pixels */ |
| 189 | uint32_t height; /* pixels */ |
| 190 | uint32_t chroma_format; /* see above */ |
| 191 | uint32_t pulldown; /* see above */ |
| 192 | uint32_t flags; /* see above */ |
| 193 | uint32_t pts; /* 32 LSBs of PTS */ |
| 194 | uint32_t protocol; /* protocolXXX (above) */ |
| 195 | |
| 196 | uint32_t frame_rate; /* see above */ |
| 197 | uint32_t matrix_coeff; /* see above */ |
| 198 | uint32_t aspect_ratio; /* see above */ |
| 199 | uint32_t colour_primaries; /* see above */ |
| 200 | uint32_t transfer_char; /* see above */ |
| 201 | uint32_t pcr_offset; /* 45kHz if PCR type; else 27MHz */ |
| 202 | uint32_t n_drop; /* Number of pictures to be dropped */ |
| 203 | |
| 204 | uint32_t custom_aspect_ratio_width_height; |
| 205 | /* upper 16-bits is Y and lower 16-bits is X */ |
| 206 | |
| 207 | uint32_t picture_tag; /* Indexing tag from BUD packets */ |
| 208 | uint32_t picture_done_payload; |
| 209 | uint32_t picture_meta_payload; |
| 210 | uint32_t reserved[1]; |
| 211 | |
| 212 | /* Protocol-specific extensions. */ |
| 213 | union { |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 214 | struct ppb_h264 h264; |
| 215 | struct ppb_mpeg mpeg; |
| 216 | struct ppb_vc1 vc1; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 217 | } other; |
| 218 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 219 | }; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 220 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 221 | struct c011_pib { |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 222 | uint32_t bFormatChange; |
| 223 | uint32_t resolution; |
| 224 | uint32_t channelId; |
| 225 | uint32_t ppbPtr; |
| 226 | int32_t ptsStcOffset; |
| 227 | uint32_t zeroPanscanValid; |
| 228 | uint32_t dramOutBufAddr; |
| 229 | uint32_t yComponent; |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 230 | struct ppb ppb; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 231 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 232 | }; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 233 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 234 | struct dec_rsp_channel_start_video { |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 235 | uint32_t command; |
| 236 | uint32_t sequence; |
| 237 | uint32_t status; |
| 238 | uint32_t picBuf; |
| 239 | uint32_t picRelBuf; |
| 240 | uint32_t picInfoDeliveryQ; |
| 241 | uint32_t picInfoReleaseQ; |
| 242 | uint32_t channelStatus; |
| 243 | uint32_t userDataDeliveryQ; |
| 244 | uint32_t userDataReleaseQ; |
| 245 | uint32_t transportStreamCaptureAddr; |
| 246 | uint32_t asyncEventQ; |
| 247 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 248 | }; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 249 | |
| 250 | #define eCMD_C011_CMD_BASE (0x73763000) |
| 251 | |
| 252 | /* host commands */ |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 253 | enum c011_ts_cmd { |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 254 | eCMD_TS_GET_NEXT_PIC = 0x7376F100, /* debug get next picture */ |
| 255 | eCMD_TS_GET_LAST_PIC = 0x7376F102, /* debug get last pic status */ |
| 256 | eCMD_TS_READ_WRITE_MEM = 0x7376F104, /* debug read write memory */ |
| 257 | |
| 258 | /* New API commands */ |
| 259 | /* General commands */ |
| 260 | eCMD_C011_INIT = eCMD_C011_CMD_BASE + 0x01, |
| 261 | eCMD_C011_RESET = eCMD_C011_CMD_BASE + 0x02, |
| 262 | eCMD_C011_SELF_TEST = eCMD_C011_CMD_BASE + 0x03, |
| 263 | eCMD_C011_GET_VERSION = eCMD_C011_CMD_BASE + 0x04, |
| 264 | eCMD_C011_GPIO = eCMD_C011_CMD_BASE + 0x05, |
| 265 | eCMD_C011_DEBUG_SETUP = eCMD_C011_CMD_BASE + 0x06, |
| 266 | |
| 267 | /* Decoding commands */ |
| 268 | eCMD_C011_DEC_CHAN_OPEN = eCMD_C011_CMD_BASE + 0x100, |
| 269 | eCMD_C011_DEC_CHAN_CLOSE = eCMD_C011_CMD_BASE + 0x101, |
| 270 | eCMD_C011_DEC_CHAN_ACTIVATE = eCMD_C011_CMD_BASE + 0x102, |
| 271 | eCMD_C011_DEC_CHAN_STATUS = eCMD_C011_CMD_BASE + 0x103, |
| 272 | eCMD_C011_DEC_CHAN_FLUSH = eCMD_C011_CMD_BASE + 0x104, |
| 273 | eCMD_C011_DEC_CHAN_TRICK_PLAY = eCMD_C011_CMD_BASE + 0x105, |
| 274 | eCMD_C011_DEC_CHAN_TS_PIDS = eCMD_C011_CMD_BASE + 0x106, |
| 275 | eCMD_C011_DEC_CHAN_PS_STREAM_ID = eCMD_C011_CMD_BASE + 0x107, |
| 276 | eCMD_C011_DEC_CHAN_INPUT_PARAMS = eCMD_C011_CMD_BASE + 0x108, |
| 277 | eCMD_C011_DEC_CHAN_VIDEO_OUTPUT = eCMD_C011_CMD_BASE + 0x109, |
| 278 | eCMD_C011_DEC_CHAN_OUTPUT_FORMAT = eCMD_C011_CMD_BASE + 0x10A, |
| 279 | eCMD_C011_DEC_CHAN_SCALING_FILTERS = eCMD_C011_CMD_BASE + 0x10B, |
| 280 | eCMD_C011_DEC_CHAN_OSD_MODE = eCMD_C011_CMD_BASE + 0x10D, |
| 281 | eCMD_C011_DEC_CHAN_DROP = eCMD_C011_CMD_BASE + 0x10E, |
| 282 | eCMD_C011_DEC_CHAN_RELEASE = eCMD_C011_CMD_BASE + 0x10F, |
| 283 | eCMD_C011_DEC_CHAN_STREAM_SETTINGS = eCMD_C011_CMD_BASE + 0x110, |
| 284 | eCMD_C011_DEC_CHAN_PAUSE_OUTPUT = eCMD_C011_CMD_BASE + 0x111, |
| 285 | eCMD_C011_DEC_CHAN_CHANGE = eCMD_C011_CMD_BASE + 0x112, |
| 286 | eCMD_C011_DEC_CHAN_SET_STC = eCMD_C011_CMD_BASE + 0x113, |
| 287 | eCMD_C011_DEC_CHAN_SET_PTS = eCMD_C011_CMD_BASE + 0x114, |
| 288 | eCMD_C011_DEC_CHAN_CC_MODE = eCMD_C011_CMD_BASE + 0x115, |
| 289 | eCMD_C011_DEC_CREATE_AUDIO_CONTEXT = eCMD_C011_CMD_BASE + 0x116, |
| 290 | eCMD_C011_DEC_COPY_AUDIO_CONTEXT = eCMD_C011_CMD_BASE + 0x117, |
| 291 | eCMD_C011_DEC_DELETE_AUDIO_CONTEXT = eCMD_C011_CMD_BASE + 0x118, |
| 292 | eCMD_C011_DEC_CHAN_SET_DECYPTION = eCMD_C011_CMD_BASE + 0x119, |
| 293 | eCMD_C011_DEC_CHAN_START_VIDEO = eCMD_C011_CMD_BASE + 0x11A, |
| 294 | eCMD_C011_DEC_CHAN_STOP_VIDEO = eCMD_C011_CMD_BASE + 0x11B, |
| 295 | eCMD_C011_DEC_CHAN_PIC_CAPTURE = eCMD_C011_CMD_BASE + 0x11C, |
| 296 | eCMD_C011_DEC_CHAN_PAUSE = eCMD_C011_CMD_BASE + 0x11D, |
| 297 | eCMD_C011_DEC_CHAN_PAUSE_STATE = eCMD_C011_CMD_BASE + 0x11E, |
| 298 | eCMD_C011_DEC_CHAN_SET_SLOWM_RATE = eCMD_C011_CMD_BASE + 0x11F, |
| 299 | eCMD_C011_DEC_CHAN_GET_SLOWM_RATE = eCMD_C011_CMD_BASE + 0x120, |
| 300 | eCMD_C011_DEC_CHAN_SET_FF_RATE = eCMD_C011_CMD_BASE + 0x121, |
| 301 | eCMD_C011_DEC_CHAN_GET_FF_RATE = eCMD_C011_CMD_BASE + 0x122, |
| 302 | eCMD_C011_DEC_CHAN_FRAME_ADVANCE = eCMD_C011_CMD_BASE + 0x123, |
| 303 | eCMD_C011_DEC_CHAN_SET_SKIP_PIC_MODE = eCMD_C011_CMD_BASE + 0x124, |
| 304 | eCMD_C011_DEC_CHAN_GET_SKIP_PIC_MODE = eCMD_C011_CMD_BASE + 0x125, |
| 305 | eCMD_C011_DEC_CHAN_FILL_PIC_BUF = eCMD_C011_CMD_BASE + 0x126, |
| 306 | eCMD_C011_DEC_CHAN_SET_CONTINUITY_CHECK = eCMD_C011_CMD_BASE + 0x127, |
| 307 | eCMD_C011_DEC_CHAN_GET_CONTINUITY_CHECK = eCMD_C011_CMD_BASE + 0x128, |
| 308 | eCMD_C011_DEC_CHAN_SET_BRCM_TRICK_MODE = eCMD_C011_CMD_BASE + 0x129, |
| 309 | eCMD_C011_DEC_CHAN_GET_BRCM_TRICK_MODE = eCMD_C011_CMD_BASE + 0x12A, |
| 310 | eCMD_C011_DEC_CHAN_REVERSE_FIELD_STATUS = eCMD_C011_CMD_BASE + 0x12B, |
| 311 | eCMD_C011_DEC_CHAN_I_PICTURE_FOUND = eCMD_C011_CMD_BASE + 0x12C, |
| 312 | eCMD_C011_DEC_CHAN_SET_PARAMETER = eCMD_C011_CMD_BASE + 0x12D, |
| 313 | eCMD_C011_DEC_CHAN_SET_USER_DATA_MODE = eCMD_C011_CMD_BASE + 0x12E, |
| 314 | eCMD_C011_DEC_CHAN_SET_PAUSE_DISPLAY_MODE = eCMD_C011_CMD_BASE + 0x12F, |
| 315 | eCMD_C011_DEC_CHAN_SET_SLOW_DISPLAY_MODE = eCMD_C011_CMD_BASE + 0x130, |
| 316 | eCMD_C011_DEC_CHAN_SET_FF_DISPLAY_MODE = eCMD_C011_CMD_BASE + 0x131, |
| 317 | eCMD_C011_DEC_CHAN_SET_DISPLAY_TIMING_MODE = eCMD_C011_CMD_BASE + 0x132, |
| 318 | eCMD_C011_DEC_CHAN_SET_DISPLAY_MODE = eCMD_C011_CMD_BASE + 0x133, |
| 319 | eCMD_C011_DEC_CHAN_GET_DISPLAY_MODE = eCMD_C011_CMD_BASE + 0x134, |
| 320 | eCMD_C011_DEC_CHAN_SET_REVERSE_FIELD = eCMD_C011_CMD_BASE + 0x135, |
| 321 | eCMD_C011_DEC_CHAN_STREAM_OPEN = eCMD_C011_CMD_BASE + 0x136, |
| 322 | eCMD_C011_DEC_CHAN_SET_PCR_PID = eCMD_C011_CMD_BASE + 0x137, |
| 323 | eCMD_C011_DEC_CHAN_SET_VID_PID = eCMD_C011_CMD_BASE + 0x138, |
| 324 | eCMD_C011_DEC_CHAN_SET_PAN_SCAN_MODE = eCMD_C011_CMD_BASE + 0x139, |
| 325 | eCMD_C011_DEC_CHAN_START_DISPLAY_AT_PTS = eCMD_C011_CMD_BASE + 0x140, |
| 326 | eCMD_C011_DEC_CHAN_STOP_DISPLAY_AT_PTS = eCMD_C011_CMD_BASE + 0x141, |
| 327 | eCMD_C011_DEC_CHAN_SET_DISPLAY_ORDER = eCMD_C011_CMD_BASE + 0x142, |
| 328 | eCMD_C011_DEC_CHAN_GET_DISPLAY_ORDER = eCMD_C011_CMD_BASE + 0x143, |
| 329 | eCMD_C011_DEC_CHAN_SET_HOST_TRICK_MODE = eCMD_C011_CMD_BASE + 0x144, |
| 330 | eCMD_C011_DEC_CHAN_SET_OPERATION_MODE = eCMD_C011_CMD_BASE + 0x145, |
| 331 | eCMD_C011_DEC_CHAN_DISPLAY_PAUSE_UNTO_PTS = eCMD_C011_CMD_BASE + 0x146, |
| 332 | eCMD_C011_DEC_CHAN_SET_PTS_STC_DIFF_THRESHOLD = eCMD_C011_CMD_BASE + 0x147, |
| 333 | eCMD_C011_DEC_CHAN_SEND_COMPRESSED_BUF = eCMD_C011_CMD_BASE + 0x148, |
| 334 | eCMD_C011_DEC_CHAN_SET_CLIPPING = eCMD_C011_CMD_BASE + 0x149, |
| 335 | eCMD_C011_DEC_CHAN_SET_PARAMETERS_FOR_HARD_RESET_INTERRUPT_TO_HOST |
| 336 | = eCMD_C011_CMD_BASE + 0x150, |
| 337 | |
| 338 | /* Decoder RevD commands */ |
| 339 | eCMD_C011_DEC_CHAN_SET_CSC = eCMD_C011_CMD_BASE + 0x180, /* color space conversion */ |
| 340 | eCMD_C011_DEC_CHAN_SET_RANGE_REMAP = eCMD_C011_CMD_BASE + 0x181, |
| 341 | eCMD_C011_DEC_CHAN_SET_FGT = eCMD_C011_CMD_BASE + 0x182, |
| 342 | /* Note: 0x183 not implemented yet in Rev D main */ |
| 343 | eCMD_C011_DEC_CHAN_SET_LASTPICTURE_PADDING = eCMD_C011_CMD_BASE + 0x183, |
| 344 | |
| 345 | /* Decoder 7412 commands (7412-only) */ |
| 346 | eCMD_C011_DEC_CHAN_SET_CONTENT_KEY = eCMD_C011_CMD_BASE + 0x190, |
| 347 | eCMD_C011_DEC_CHAN_SET_SESSION_KEY = eCMD_C011_CMD_BASE + 0x191, |
| 348 | eCMD_C011_DEC_CHAN_FMT_CHANGE_ACK = eCMD_C011_CMD_BASE + 0x192, |
| 349 | |
| 350 | eCMD_C011_DEC_CHAN_CUSTOM_VIDOUT = eCMD_C011_CMD_BASE + 0x1FF, |
| 351 | |
| 352 | /* Encoding commands */ |
| 353 | eCMD_C011_ENC_CHAN_OPEN = eCMD_C011_CMD_BASE + 0x200, |
| 354 | eCMD_C011_ENC_CHAN_CLOSE = eCMD_C011_CMD_BASE + 0x201, |
| 355 | eCMD_C011_ENC_CHAN_ACTIVATE = eCMD_C011_CMD_BASE + 0x202, |
| 356 | eCMD_C011_ENC_CHAN_CONTROL = eCMD_C011_CMD_BASE + 0x203, |
| 357 | eCMD_C011_ENC_CHAN_STATISTICS = eCMD_C011_CMD_BASE + 0x204, |
| 358 | |
| 359 | eNOTIFY_C011_ENC_CHAN_EVENT = eCMD_C011_CMD_BASE + 0x210, |
| 360 | |
Lior Dotan | abfc768 | 2010-05-18 12:46:42 +0300 | [diff] [blame] | 361 | }; |
Jarod Wilson | 7963eb4 | 2010-01-04 18:02:27 -0500 | [diff] [blame] | 362 | |
| 363 | #endif |