1f5fbb83fSMauro Carvalho Chehab /* SPDX-License-Identifier: GPL-2.0 */
20057131fSMauro Carvalho Chehab /*
30057131fSMauro Carvalho Chehab  * Support for Intel Camera Imaging ISP subsystem.
40057131fSMauro Carvalho Chehab  * Copyright (c) 2015, Intel Corporation.
50057131fSMauro Carvalho Chehab  *
60057131fSMauro Carvalho Chehab  * This program is free software; you can redistribute it and/or modify it
70057131fSMauro Carvalho Chehab  * under the terms and conditions of the GNU General Public License,
80057131fSMauro Carvalho Chehab  * version 2, as published by the Free Software Foundation.
90057131fSMauro Carvalho Chehab  *
100057131fSMauro Carvalho Chehab  * This program is distributed in the hope it will be useful, but WITHOUT
110057131fSMauro Carvalho Chehab  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
120057131fSMauro Carvalho Chehab  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
130057131fSMauro Carvalho Chehab  * more details.
140057131fSMauro Carvalho Chehab  */
150057131fSMauro Carvalho Chehab 
160057131fSMauro Carvalho Chehab #ifndef _css_receiver_2400_common_defs_h_
170057131fSMauro Carvalho Chehab #define _css_receiver_2400_common_defs_h_
180057131fSMauro Carvalho Chehab #ifndef _mipi_backend_common_defs_h_
190057131fSMauro Carvalho Chehab #define _mipi_backend_common_defs_h_
200057131fSMauro Carvalho Chehab 
210057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_GEN_SHORT_DATA_WIDTH     16
220057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_GEN_SHORT_CH_ID_WIDTH     2
230057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_GEN_SHORT_FMT_TYPE_WIDTH  3
240057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_GEN_SHORT_STR_REAL_WIDTH (_HRT_CSS_RECEIVER_2400_GEN_SHORT_DATA_WIDTH + _HRT_CSS_RECEIVER_2400_GEN_SHORT_CH_ID_WIDTH + _HRT_CSS_RECEIVER_2400_GEN_SHORT_FMT_TYPE_WIDTH)
250057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_GEN_SHORT_STR_WIDTH      32 /* use 32 to be compatibel with streaming monitor !, MSB's of interface are tied to '0' */
260057131fSMauro Carvalho Chehab 
270057131fSMauro Carvalho Chehab /* Definition of data format ID at the interface CSS_receiver capture/acquisition units */
280057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_YUV420_8          24   /* 01 1000 YUV420 8-bit                                        */
290057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_YUV420_10         25   /* 01 1001  YUV420 10-bit                                      */
300057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_YUV420_8L         26   /* 01 1010   YUV420 8-bit legacy                               */
310057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_YUV422_8          30   /* 01 1110   YUV422 8-bit                                      */
320057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_YUV422_10         31   /* 01 1111   YUV422 10-bit                                     */
330057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RGB444            32   /* 10 0000   RGB444                                            */
340057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RGB555            33   /* 10 0001   RGB555                                            */
350057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RGB565            34   /* 10 0010   RGB565                                            */
360057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RGB666            35   /* 10 0011   RGB666                                            */
370057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RGB888            36   /* 10 0100   RGB888                                            */
380057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RAW6              40   /* 10 1000   RAW6                                              */
390057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RAW7              41   /* 10 1001   RAW7                                              */
400057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RAW8              42   /* 10 1010   RAW8                                              */
410057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RAW10             43   /* 10 1011   RAW10                                             */
420057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RAW12             44   /* 10 1100   RAW12                                             */
430057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RAW14             45   /* 10 1101   RAW14                                             */
440057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_USR_DEF_1         48   /* 11 0000    JPEG [User Defined 8-bit Data Type 1]            */
450057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_USR_DEF_2         49   /* 11 0001    User Defined 8-bit Data Type 2                   */
460057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_USR_DEF_3         50   /* 11 0010    User Defined 8-bit Data Type 3                   */
470057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_USR_DEF_4         51   /* 11 0011    User Defined 8-bit Data Type 4                   */
480057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_USR_DEF_5         52   /* 11 0100    User Defined 8-bit Data Type 5                   */
490057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_USR_DEF_6         53   /* 11 0101    User Defined 8-bit Data Type 6                   */
500057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_USR_DEF_7         54   /* 11 0110    User Defined 8-bit Data Type 7                   */
510057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_USR_DEF_8         55   /* 11 0111    User Defined 8-bit Data Type 8                   */
520057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_Emb               18   /* 01 0010    embedded eight bit non image data                */
530057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_SOF                0   /* 00 0000    frame start                                      */
540057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_EOF                1   /* 00 0001    frame end                                        */
550057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_SOL                2   /* 00 0010    line start                                       */
560057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_EOL                3   /* 00 0011    line end                                         */
570057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_GEN_SH1            8   /* 00 1000  Generic Short Packet Code 1                        */
580057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_GEN_SH2            9   /* 00 1001    Generic Short Packet Code 2                      */
590057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_GEN_SH3           10   /* 00 1010    Generic Short Packet Code 3                      */
600057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_GEN_SH4           11   /* 00 1011    Generic Short Packet Code 4                      */
610057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_GEN_SH5           12   /* 00 1100    Generic Short Packet Code 5                      */
620057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_GEN_SH6           13   /* 00 1101    Generic Short Packet Code 6                      */
630057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_GEN_SH7           14   /* 00 1110    Generic Short Packet Code 7                      */
640057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_GEN_SH8           15   /* 00 1111    Generic Short Packet Code 8                      */
650057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_YUV420_8_CSPS     28   /* 01 1100   YUV420 8-bit (Chroma Shifted Pixel Sampling)      */
660057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_YUV420_10_CSPS    29   /* 01 1101   YUV420 10-bit (Chroma Shifted Pixel Sampling)     */
670057131fSMauro Carvalho Chehab /* used reserved mipi positions for these */
680057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RAW16             46
690057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RAW18             47
700057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RAW18_2           37
710057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_RAW18_3           38
720057131fSMauro Carvalho Chehab 
730057131fSMauro Carvalho Chehab //_HRT_CSS_RECEIVER_2400_FMT_TYPE_CUSTOM 63
740057131fSMauro Carvalho Chehab #define _HRT_MIPI_BACKEND_FMT_TYPE_CUSTOM                       63
750057131fSMauro Carvalho Chehab 
760057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_DATA_FORMAT_ID_WIDTH              6
770057131fSMauro Carvalho Chehab 
780057131fSMauro Carvalho Chehab /* Definition of format_types at the interface CSS --> input_selector*/
790057131fSMauro Carvalho Chehab /* !! Changes here should be copied to systems/isp/isp_css/bin/conv_transmitter_cmd.tcl !! */
800057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RGB888           0  // 36 'h24
810057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RGB555           1  // 33 'h
820057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RGB444           2  // 32
830057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RGB565           3  // 34
840057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RGB666           4  // 35
850057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RAW8             5  // 42
860057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RAW10            6  // 43
870057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RAW6             7  // 40
880057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RAW7             8  // 41
890057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RAW12            9  // 43
900057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RAW14           10  // 45
910057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_YUV420_8        11  // 30
920057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_YUV420_10       12  // 25
930057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_YUV422_8        13  // 30
940057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_YUV422_10       14  // 31
950057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_USR_DEF_1       15  // 48
960057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_YUV420_8L       16  // 26
970057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_Emb             17  // 18
980057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_USR_DEF_2       18  // 49
990057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_USR_DEF_3       19  // 50
1000057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_USR_DEF_4       20  // 51
1010057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_USR_DEF_5       21  // 52
1020057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_USR_DEF_6       22  // 53
1030057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_USR_DEF_7       23  // 54
1040057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_USR_DEF_8       24  // 55
1050057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_YUV420_8_CSPS   25  // 28
1060057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_YUV420_10_CSPS  26  // 29
1070057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RAW16           27  // ?
1080057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RAW18           28  // ?
1090057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RAW18_2         29  // ? Option 2 for depacketiser
1100057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_RAW18_3         30  // ? Option 3 for depacketiser
1110057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_FMT_TYPE_CUSTOM          31  // to signal custom decoding
1120057131fSMauro Carvalho Chehab 
1130057131fSMauro Carvalho Chehab /* definition for state machine of data FIFO for decode different type of data */
1140057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_YUV420_8_REPEAT_PTN                 1
1150057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_YUV420_10_REPEAT_PTN                5
1160057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_YUV420_8L_REPEAT_PTN                1
1170057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_YUV422_8_REPEAT_PTN                 1
1180057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_YUV422_10_REPEAT_PTN                5
1190057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_RGB444_REPEAT_PTN                   2
1200057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_RGB555_REPEAT_PTN                   2
1210057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_RGB565_REPEAT_PTN                   2
1220057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_RGB666_REPEAT_PTN                   9
1230057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_RGB888_REPEAT_PTN                   3
1240057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_RAW6_REPEAT_PTN                     3
1250057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_RAW7_REPEAT_PTN                     7
1260057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_RAW8_REPEAT_PTN                     1
1270057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_RAW10_REPEAT_PTN                    5
1280057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_RAW12_REPEAT_PTN                    3
1290057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_RAW14_REPEAT_PTN                    7
1300057131fSMauro Carvalho Chehab 
1310057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_MAX_REPEAT_PTN                      _HRT_CSS_RECEIVER_2400_RGB666_REPEAT_PTN
1320057131fSMauro Carvalho Chehab 
1330057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_COMP_FMT_IDX                     0
1340057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_COMP_FMT_WIDTH                   3
1350057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_COMP_PRED_IDX                    3
1360057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_COMP_PRED_WIDTH                  1
1370057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_COMP_USD_BITS                    4  /* bits per USD type */
1380057131fSMauro Carvalho Chehab 
1390057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_RAW16_DATAID_IDX                 0
1400057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_RAW16_EN_IDX                     6
1410057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_RAW18_DATAID_IDX                 0
1420057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_RAW18_OPTION_IDX                 6
1430057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_RAW18_EN_IDX                     8
1440057131fSMauro Carvalho Chehab 
1450057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_COMP_NO_COMP                     0
1460057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_COMP_10_6_10                     1
1470057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_COMP_10_7_10                     2
1480057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_COMP_10_8_10                     3
1490057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_COMP_12_6_12                     4
1500057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_COMP_12_7_12                     5
1510057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_BE_COMP_12_8_12                     6
1520057131fSMauro Carvalho Chehab 
1530057131fSMauro Carvalho Chehab /* packet bit definition */
1540057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_PKT_SOP_IDX                        32
1550057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_PKT_SOP_BITS                        1
1560057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_PKT_CH_ID_IDX                      22
1570057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_PKT_CH_ID_BITS                      2
1580057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_PKT_FMT_ID_IDX                     16
1590057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_PKT_FMT_ID_BITS                     6
1600057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_PH_DATA_FIELD_IDX                   0
1610057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_PH_DATA_FIELD_BITS                 16
1620057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_PKT_PAYLOAD_IDX                     0
1630057131fSMauro Carvalho Chehab #define _HRT_CSS_RECEIVER_2400_PKT_PAYLOAD_BITS                   32
1640057131fSMauro Carvalho Chehab 
1650057131fSMauro Carvalho Chehab /*************************************************************************************************/
1660057131fSMauro Carvalho Chehab /* Custom Decoding                                                                               */
1670057131fSMauro Carvalho Chehab /* These Custom Defs are defined based on design-time config in "mipi_backend_pixel_formatter.chdl" !! */
1680057131fSMauro Carvalho Chehab /*************************************************************************************************/
1690057131fSMauro Carvalho Chehab /*
1700057131fSMauro Carvalho Chehab #define BE_CUST_EN_IDX                     0     // 2bits
1710057131fSMauro Carvalho Chehab #define BE_CUST_EN_DATAID_IDX              2     // 6bits MIPI DATA ID
1720057131fSMauro Carvalho Chehab #define BE_CUST_EN_WIDTH                   8
1730057131fSMauro Carvalho Chehab #define BE_CUST_MODE_ALL                   1     // Enable Custom Decoding for all DATA IDs
1740057131fSMauro Carvalho Chehab #define BE_CUST_MODE_ONE                   3     // Enable Custom Decoding for ONE DATA ID, programmed in CUST_EN_DATA_ID
1750057131fSMauro Carvalho Chehab 
1760057131fSMauro Carvalho Chehab // Data State config = {get_bits(6bits), valid(1bit)}  //
1770057131fSMauro Carvalho Chehab #define BE_CUST_DATA_STATE_S0_IDX          0     // 7bits
1780057131fSMauro Carvalho Chehab #define BE_CUST_DATA_STATE_S1_IDX          8 //7      // 7bits
1790057131fSMauro Carvalho Chehab #define BE_CUST_DATA_STATE_S2_IDX          16//14    // 7bits /
1800057131fSMauro Carvalho Chehab #define BE_CUST_DATA_STATE_WIDTH           24//21
1810057131fSMauro Carvalho Chehab #define BE_CUST_DATA_STATE_VALID_IDX       0     // 1bits
1820057131fSMauro Carvalho Chehab #define BE_CUST_DATA_STATE_GETBITS_IDX     1     // 6bits
1830057131fSMauro Carvalho Chehab 
1840057131fSMauro Carvalho Chehab // Pixel Extractor config
1850057131fSMauro Carvalho Chehab #define BE_CUST_PIX_EXT_DATA_ALIGN_IDX     0     // 6bits
1860057131fSMauro Carvalho Chehab #define BE_CUST_PIX_EXT_PIX_ALIGN_IDX      6//5     // 5bits
1870057131fSMauro Carvalho Chehab #define BE_CUST_PIX_EXT_PIX_MASK_IDX       11//10    // 18bits
1880057131fSMauro Carvalho Chehab #define BE_CUST_PIX_EXT_PIX_EN_IDX         29 //28    // 1bits
1890057131fSMauro Carvalho Chehab 
1900057131fSMauro Carvalho Chehab #define BE_CUST_PIX_EXT_WIDTH              30//29
1910057131fSMauro Carvalho Chehab 
1920057131fSMauro Carvalho Chehab // Pixel Valid & EoP config = {[eop,valid](especial), [eop,valid](normal)}
1930057131fSMauro Carvalho Chehab #define BE_CUST_PIX_VALID_EOP_P0_IDX        0    // 4bits
1940057131fSMauro Carvalho Chehab #define BE_CUST_PIX_VALID_EOP_P1_IDX        4    // 4bits
1950057131fSMauro Carvalho Chehab #define BE_CUST_PIX_VALID_EOP_P2_IDX        8    // 4bits
1960057131fSMauro Carvalho Chehab #define BE_CUST_PIX_VALID_EOP_P3_IDX        12   // 4bits
1970057131fSMauro Carvalho Chehab #define BE_CUST_PIX_VALID_EOP_WIDTH         16
1980057131fSMauro Carvalho Chehab #define BE_CUST_PIX_VALID_EOP_NOR_VALID_IDX 0    // Normal (NO less get_bits case) Valid - 1bits
1990057131fSMauro Carvalho Chehab #define BE_CUST_PIX_VALID_EOP_NOR_EOP_IDX   1    // Normal (NO less get_bits case) EoP - 1bits
2000057131fSMauro Carvalho Chehab #define BE_CUST_PIX_VALID_EOP_ESP_VALID_IDX 2    // Especial (less get_bits case) Valid - 1bits
2010057131fSMauro Carvalho Chehab #define BE_CUST_PIX_VALID_EOP_ESP_EOP_IDX   3    // Especial (less get_bits case) EoP - 1bits
2020057131fSMauro Carvalho Chehab 
2030057131fSMauro Carvalho Chehab */
2040057131fSMauro Carvalho Chehab 
2050057131fSMauro Carvalho Chehab #endif /* _mipi_backend_common_defs_h_ */
2060057131fSMauro Carvalho Chehab #endif /* _css_receiver_2400_common_defs_h_ */
207