1f5fbb83fSMauro Carvalho Chehab /* SPDX-License-Identifier: GPL-2.0 */
29d4fa1a1SMauro Carvalho Chehab /*
39d4fa1a1SMauro Carvalho Chehab  * Support for Intel Camera Imaging ISP subsystem.
49d4fa1a1SMauro Carvalho Chehab  * Copyright (c) 2015, Intel Corporation.
59d4fa1a1SMauro Carvalho Chehab  *
69d4fa1a1SMauro Carvalho Chehab  * This program is free software; you can redistribute it and/or modify it
79d4fa1a1SMauro Carvalho Chehab  * under the terms and conditions of the GNU General Public License,
89d4fa1a1SMauro Carvalho Chehab  * version 2, as published by the Free Software Foundation.
99d4fa1a1SMauro Carvalho Chehab  *
109d4fa1a1SMauro Carvalho Chehab  * This program is distributed in the hope it will be useful, but WITHOUT
119d4fa1a1SMauro Carvalho Chehab  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
129d4fa1a1SMauro Carvalho Chehab  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
139d4fa1a1SMauro Carvalho Chehab  * more details.
149d4fa1a1SMauro Carvalho Chehab  */
159d4fa1a1SMauro Carvalho Chehab 
169d4fa1a1SMauro Carvalho Chehab #ifndef _isp_capture_defs_h
179d4fa1a1SMauro Carvalho Chehab #define _isp_capture_defs_h
189d4fa1a1SMauro Carvalho Chehab 
199d4fa1a1SMauro Carvalho Chehab #define _ISP_CAPTURE_REG_ALIGN                    4  /* assuming 32 bit control bus width */
209d4fa1a1SMauro Carvalho Chehab #define _ISP_CAPTURE_BITS_PER_ELEM                32  /* only for data, not SOP */
219d4fa1a1SMauro Carvalho Chehab #define _ISP_CAPTURE_BYTES_PER_ELEM               (_ISP_CAPTURE_BITS_PER_ELEM / 8)
229d4fa1a1SMauro Carvalho Chehab #define _ISP_CAPTURE_BYTES_PER_WORD               32		/* 256/8 */
239d4fa1a1SMauro Carvalho Chehab #define _ISP_CAPTURE_ELEM_PER_WORD                _ISP_CAPTURE_BYTES_PER_WORD / _ISP_CAPTURE_BYTES_PER_ELEM
249d4fa1a1SMauro Carvalho Chehab 
259d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
269d4fa1a1SMauro Carvalho Chehab 
279d4fa1a1SMauro Carvalho Chehab #define NOF_IRQS                                  2
289d4fa1a1SMauro Carvalho Chehab 
299d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
309d4fa1a1SMauro Carvalho Chehab /* REGISTER INFO */
319d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
329d4fa1a1SMauro Carvalho Chehab 
339d4fa1a1SMauro Carvalho Chehab // Number of registers
349d4fa1a1SMauro Carvalho Chehab #define CAPT_NOF_REGS                             16
359d4fa1a1SMauro Carvalho Chehab 
36*e6f23873SRicardo Ribalda // Register id's of MMIO slave accessible registers
379d4fa1a1SMauro Carvalho Chehab #define CAPT_START_MODE_REG_ID                    0
389d4fa1a1SMauro Carvalho Chehab #define CAPT_START_ADDR_REG_ID                    1
399d4fa1a1SMauro Carvalho Chehab #define CAPT_MEM_REGION_SIZE_REG_ID               2
409d4fa1a1SMauro Carvalho Chehab #define CAPT_NUM_MEM_REGIONS_REG_ID               3
419d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_REG_ID                          4
429d4fa1a1SMauro Carvalho Chehab #define CAPT_START_REG_ID                         5
439d4fa1a1SMauro Carvalho Chehab #define CAPT_STOP_REG_ID                          6
449d4fa1a1SMauro Carvalho Chehab 
459d4fa1a1SMauro Carvalho Chehab #define CAPT_PACKET_LENGTH_REG_ID                 7
469d4fa1a1SMauro Carvalho Chehab #define CAPT_RECEIVED_LENGTH_REG_ID               8
479d4fa1a1SMauro Carvalho Chehab #define CAPT_RECEIVED_SHORT_PACKETS_REG_ID        9
489d4fa1a1SMauro Carvalho Chehab #define CAPT_RECEIVED_LONG_PACKETS_REG_ID         10
499d4fa1a1SMauro Carvalho Chehab #define CAPT_LAST_COMMAND_REG_ID                  11
509d4fa1a1SMauro Carvalho Chehab #define CAPT_NEXT_COMMAND_REG_ID                  12
519d4fa1a1SMauro Carvalho Chehab #define CAPT_LAST_ACKNOWLEDGE_REG_ID              13
529d4fa1a1SMauro Carvalho Chehab #define CAPT_NEXT_ACKNOWLEDGE_REG_ID              14
539d4fa1a1SMauro Carvalho Chehab #define CAPT_FSM_STATE_INFO_REG_ID                15
549d4fa1a1SMauro Carvalho Chehab 
559d4fa1a1SMauro Carvalho Chehab // Register width
569d4fa1a1SMauro Carvalho Chehab #define CAPT_START_MODE_REG_WIDTH                 1
579d4fa1a1SMauro Carvalho Chehab 
589d4fa1a1SMauro Carvalho Chehab #define CAPT_START_REG_WIDTH                      1
599d4fa1a1SMauro Carvalho Chehab #define CAPT_STOP_REG_WIDTH                       1
609d4fa1a1SMauro Carvalho Chehab 
619d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
629d4fa1a1SMauro Carvalho Chehab /* FSM */
639d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
649d4fa1a1SMauro Carvalho Chehab #define CAPT_WRITE2MEM_FSM_STATE_BITS             2
659d4fa1a1SMauro Carvalho Chehab #define CAPT_SYNCHRONIZER_FSM_STATE_BITS          3
669d4fa1a1SMauro Carvalho Chehab 
679d4fa1a1SMauro Carvalho Chehab #define CAPT_PACKET_LENGTH_REG_WIDTH              17
689d4fa1a1SMauro Carvalho Chehab #define CAPT_RECEIVED_LENGTH_REG_WIDTH            17
699d4fa1a1SMauro Carvalho Chehab #define CAPT_RECEIVED_SHORT_PACKETS_REG_WIDTH     32
709d4fa1a1SMauro Carvalho Chehab #define CAPT_RECEIVED_LONG_PACKETS_REG_WIDTH      32
719d4fa1a1SMauro Carvalho Chehab #define CAPT_LAST_COMMAND_REG_WIDTH               32
729d4fa1a1SMauro Carvalho Chehab #define CAPT_LAST_ACKNOWLEDGE_REG_WIDTH           32
739d4fa1a1SMauro Carvalho Chehab #define CAPT_NEXT_ACKNOWLEDGE_REG_WIDTH           32
749d4fa1a1SMauro Carvalho Chehab #define CAPT_FSM_STATE_INFO_REG_WIDTH             ((CAPT_WRITE2MEM_FSM_STATE_BITS * 3) + (CAPT_SYNCHRONIZER_FSM_STATE_BITS * 3))
759d4fa1a1SMauro Carvalho Chehab 
769d4fa1a1SMauro Carvalho Chehab /* register reset value */
779d4fa1a1SMauro Carvalho Chehab #define CAPT_START_MODE_REG_RSTVAL                0
789d4fa1a1SMauro Carvalho Chehab #define CAPT_START_ADDR_REG_RSTVAL                0
799d4fa1a1SMauro Carvalho Chehab #define CAPT_MEM_REGION_SIZE_REG_RSTVAL           128
809d4fa1a1SMauro Carvalho Chehab #define CAPT_NUM_MEM_REGIONS_REG_RSTVAL           3
819d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_REG_RSTVAL                      0
829d4fa1a1SMauro Carvalho Chehab 
839d4fa1a1SMauro Carvalho Chehab #define CAPT_START_REG_RSTVAL                     0
849d4fa1a1SMauro Carvalho Chehab #define CAPT_STOP_REG_RSTVAL                      0
859d4fa1a1SMauro Carvalho Chehab 
869d4fa1a1SMauro Carvalho Chehab #define CAPT_PACKET_LENGTH_REG_RSTVAL             0
879d4fa1a1SMauro Carvalho Chehab #define CAPT_RECEIVED_LENGTH_REG_RSTVAL           0
889d4fa1a1SMauro Carvalho Chehab #define CAPT_RECEIVED_SHORT_PACKETS_REG_RSTVAL    0
899d4fa1a1SMauro Carvalho Chehab #define CAPT_RECEIVED_LONG_PACKETS_REG_RSTVAL     0
909d4fa1a1SMauro Carvalho Chehab #define CAPT_LAST_COMMAND_REG_RSTVAL              0
919d4fa1a1SMauro Carvalho Chehab #define CAPT_NEXT_COMMAND_REG_RSTVAL              0
929d4fa1a1SMauro Carvalho Chehab #define CAPT_LAST_ACKNOWLEDGE_REG_RSTVAL          0
939d4fa1a1SMauro Carvalho Chehab #define CAPT_NEXT_ACKNOWLEDGE_REG_RSTVAL          0
949d4fa1a1SMauro Carvalho Chehab #define CAPT_FSM_STATE_INFO_REG_RSTVAL            0
959d4fa1a1SMauro Carvalho Chehab 
969d4fa1a1SMauro Carvalho Chehab /* bit definitions */
979d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_RST_REG_BIT                     0
989d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_FLUSH_BIT                       1
999d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_RESYNC_BIT                      2
1009d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_RESTART_BIT                     3
1019d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_RESTART_MEM_ADDR_LSB            4
1029d4fa1a1SMauro Carvalho Chehab 
1039d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_RST_REG_IDX                     CAPT_INIT_RST_REG_BIT
1049d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_RST_REG_BITS                    1
1059d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_FLUSH_IDX                       CAPT_INIT_FLUSH_BIT
1069d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_FLUSH_BITS                      1
1079d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_RESYNC_IDX                      CAPT_INIT_RESYNC_BIT
1089d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_RESYNC_BITS                     1
1099d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_RESTART_IDX                     CAPT_INIT_RESTART_BIT
1109d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_RESTART_BITS									1
1119d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_RESTART_MEM_ADDR_IDX            CAPT_INIT_RESTART_MEM_ADDR_LSB
1129d4fa1a1SMauro Carvalho Chehab 
1139d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
1149d4fa1a1SMauro Carvalho Chehab /* TOKEN INFO */
1159d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
1169d4fa1a1SMauro Carvalho Chehab #define CAPT_TOKEN_ID_LSB                         0
1179d4fa1a1SMauro Carvalho Chehab #define CAPT_TOKEN_ID_MSB                         3
1189d4fa1a1SMauro Carvalho Chehab #define CAPT_TOKEN_WIDTH                         (CAPT_TOKEN_ID_MSB - CAPT_TOKEN_ID_LSB  + 1) /* 4 */
1199d4fa1a1SMauro Carvalho Chehab 
1209d4fa1a1SMauro Carvalho Chehab /* Command tokens IDs */
1219d4fa1a1SMauro Carvalho Chehab #define CAPT_START_TOKEN_ID                       0 /* 0000b */
1229d4fa1a1SMauro Carvalho Chehab #define CAPT_STOP_TOKEN_ID                        1 /* 0001b */
1239d4fa1a1SMauro Carvalho Chehab #define CAPT_FREEZE_TOKEN_ID                      2 /* 0010b */
1249d4fa1a1SMauro Carvalho Chehab #define CAPT_RESUME_TOKEN_ID                      3 /* 0011b */
1259d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_TOKEN_ID                        8 /* 1000b */
1269d4fa1a1SMauro Carvalho Chehab 
1279d4fa1a1SMauro Carvalho Chehab #define CAPT_START_TOKEN_BIT                      0
1289d4fa1a1SMauro Carvalho Chehab #define CAPT_STOP_TOKEN_BIT                       0
1299d4fa1a1SMauro Carvalho Chehab #define CAPT_FREEZE_TOKEN_BIT                     0
1309d4fa1a1SMauro Carvalho Chehab #define CAPT_RESUME_TOKEN_BIT                     0
1319d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_TOKEN_BIT                       0
1329d4fa1a1SMauro Carvalho Chehab 
1339d4fa1a1SMauro Carvalho Chehab /* Acknowledge token IDs */
1349d4fa1a1SMauro Carvalho Chehab #define CAPT_END_OF_PACKET_RECEIVED_TOKEN_ID      0 /* 0000b */
1359d4fa1a1SMauro Carvalho Chehab #define CAPT_END_OF_PACKET_WRITTEN_TOKEN_ID       1 /* 0001b */
1369d4fa1a1SMauro Carvalho Chehab #define CAPT_END_OF_REGION_WRITTEN_TOKEN_ID       2 /* 0010b */
1379d4fa1a1SMauro Carvalho Chehab #define CAPT_FLUSH_DONE_TOKEN_ID                  3 /* 0011b */
1389d4fa1a1SMauro Carvalho Chehab #define CAPT_PREMATURE_SOP_TOKEN_ID               4 /* 0100b */
1399d4fa1a1SMauro Carvalho Chehab #define CAPT_MISSING_SOP_TOKEN_ID                 5 /* 0101b */
1409d4fa1a1SMauro Carvalho Chehab #define CAPT_UNDEF_PH_TOKEN_ID                    6 /* 0110b */
1419d4fa1a1SMauro Carvalho Chehab #define CAPT_STOP_ACK_TOKEN_ID                    7 /* 0111b */
1429d4fa1a1SMauro Carvalho Chehab 
1439d4fa1a1SMauro Carvalho Chehab #define CAPT_PACKET_LENGTH_TOKEN_MSB             19
1449d4fa1a1SMauro Carvalho Chehab #define CAPT_PACKET_LENGTH_TOKEN_LSB              4
1459d4fa1a1SMauro Carvalho Chehab #define CAPT_SUPER_PACKET_LENGTH_TOKEN_MSB       20
1469d4fa1a1SMauro Carvalho Chehab #define CAPT_SUPER_PACKET_LENGTH_TOKEN_LSB        4
1479d4fa1a1SMauro Carvalho Chehab #define CAPT_PACKET_DATA_FORMAT_ID_TOKEN_MSB     25
1489d4fa1a1SMauro Carvalho Chehab #define CAPT_PACKET_DATA_FORMAT_ID_TOKEN_LSB     20
1499d4fa1a1SMauro Carvalho Chehab #define CAPT_PACKET_CH_ID_TOKEN_MSB              27
1509d4fa1a1SMauro Carvalho Chehab #define CAPT_PACKET_CH_ID_TOKEN_LSB              26
1519d4fa1a1SMauro Carvalho Chehab #define CAPT_PACKET_MEM_REGION_ID_TOKEN_MSB      29
1529d4fa1a1SMauro Carvalho Chehab #define CAPT_PACKET_MEM_REGION_ID_TOKEN_LSB      21
1539d4fa1a1SMauro Carvalho Chehab 
1549d4fa1a1SMauro Carvalho Chehab /*  bit definition */
1559d4fa1a1SMauro Carvalho Chehab #define CAPT_CMD_IDX                              CAPT_TOKEN_ID_LSB
1569d4fa1a1SMauro Carvalho Chehab #define	CAPT_CMD_BITS                             (CAPT_TOKEN_ID_MSB - CAPT_TOKEN_ID_LSB + 1)
1579d4fa1a1SMauro Carvalho Chehab #define CAPT_SOP_IDX                              32
1589d4fa1a1SMauro Carvalho Chehab #define CAPT_SOP_BITS                             1
1599d4fa1a1SMauro Carvalho Chehab #define CAPT_PKT_INFO_IDX                         16
1609d4fa1a1SMauro Carvalho Chehab #define CAPT_PKT_INFO_BITS                        8
1619d4fa1a1SMauro Carvalho Chehab #define CAPT_PKT_TYPE_IDX                         0
1629d4fa1a1SMauro Carvalho Chehab #define CAPT_PKT_TYPE_BITS                        6
1639d4fa1a1SMauro Carvalho Chehab #define CAPT_HEADER_DATA_IDX                      0
1649d4fa1a1SMauro Carvalho Chehab #define CAPT_HEADER_DATA_BITS                     16
1659d4fa1a1SMauro Carvalho Chehab #define CAPT_PKT_DATA_IDX                         0
1669d4fa1a1SMauro Carvalho Chehab #define CAPT_PKT_DATA_BITS                        32
1679d4fa1a1SMauro Carvalho Chehab #define CAPT_WORD_CNT_IDX                         0
1689d4fa1a1SMauro Carvalho Chehab #define CAPT_WORD_CNT_BITS                        16
1699d4fa1a1SMauro Carvalho Chehab #define CAPT_ACK_TOKEN_ID_IDX                     0
1709d4fa1a1SMauro Carvalho Chehab #define CAPT_ACK_TOKEN_ID_BITS                    4
1719d4fa1a1SMauro Carvalho Chehab //#define CAPT_ACK_PKT_LEN_IDX                      CAPT_PACKET_LENGTH_TOKEN_LSB
1729d4fa1a1SMauro Carvalho Chehab //#define CAPT_ACK_PKT_LEN_BITS                     (CAPT_PACKET_LENGTH_TOKEN_MSB - CAPT_PACKET_LENGTH_TOKEN_LSB + 1)
1739d4fa1a1SMauro Carvalho Chehab //#define CAPT_ACK_PKT_INFO_IDX                     20
1749d4fa1a1SMauro Carvalho Chehab //#define CAPT_ACK_PKT_INFO_BITS                    8
1759d4fa1a1SMauro Carvalho Chehab //#define CAPT_ACK_MEM_REG_ID1_IDX                  20			/* for capt_end_of_packet_written */
1769d4fa1a1SMauro Carvalho Chehab //#define CAPT_ACK_MEM_REG_ID2_IDX                  4       /* for capt_end_of_region_written */
1779d4fa1a1SMauro Carvalho Chehab #define CAPT_ACK_PKT_LEN_IDX                      CAPT_PACKET_LENGTH_TOKEN_LSB
1789d4fa1a1SMauro Carvalho Chehab #define CAPT_ACK_PKT_LEN_BITS                     (CAPT_PACKET_LENGTH_TOKEN_MSB - CAPT_PACKET_LENGTH_TOKEN_LSB + 1)
1799d4fa1a1SMauro Carvalho Chehab #define CAPT_ACK_SUPER_PKT_LEN_IDX                CAPT_SUPER_PACKET_LENGTH_TOKEN_LSB
1809d4fa1a1SMauro Carvalho Chehab #define CAPT_ACK_SUPER_PKT_LEN_BITS               (CAPT_SUPER_PACKET_LENGTH_TOKEN_MSB - CAPT_SUPER_PACKET_LENGTH_TOKEN_LSB + 1)
1819d4fa1a1SMauro Carvalho Chehab #define CAPT_ACK_PKT_INFO_IDX                     CAPT_PACKET_DATA_FORMAT_ID_TOKEN_LSB
1829d4fa1a1SMauro Carvalho Chehab #define CAPT_ACK_PKT_INFO_BITS                    (CAPT_PACKET_CH_ID_TOKEN_MSB - CAPT_PACKET_DATA_FORMAT_ID_TOKEN_LSB + 1)
1839d4fa1a1SMauro Carvalho Chehab #define CAPT_ACK_MEM_REGION_ID_IDX                CAPT_PACKET_MEM_REGION_ID_TOKEN_LSB
1849d4fa1a1SMauro Carvalho Chehab #define CAPT_ACK_MEM_REGION_ID_BITS               (CAPT_PACKET_MEM_REGION_ID_TOKEN_MSB - CAPT_PACKET_MEM_REGION_ID_TOKEN_LSB + 1)
1859d4fa1a1SMauro Carvalho Chehab #define CAPT_ACK_PKT_TYPE_IDX                     CAPT_PACKET_DATA_FORMAT_ID_TOKEN_LSB
1869d4fa1a1SMauro Carvalho Chehab #define CAPT_ACK_PKT_TYPE_BITS                    (CAPT_PACKET_DATA_FORMAT_ID_TOKEN_MSB - CAPT_PACKET_DATA_FORMAT_ID_TOKEN_LSB + 1)
1879d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_TOKEN_INIT_IDX                  4
1889d4fa1a1SMauro Carvalho Chehab #define CAPT_INIT_TOKEN_INIT_BITS                 22
1899d4fa1a1SMauro Carvalho Chehab 
1909d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
1919d4fa1a1SMauro Carvalho Chehab /* MIPI */
1929d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
1939d4fa1a1SMauro Carvalho Chehab 
1949d4fa1a1SMauro Carvalho Chehab #define CAPT_WORD_COUNT_WIDTH                     16
1959d4fa1a1SMauro Carvalho Chehab #define CAPT_PKT_CODE_WIDTH                       6
1969d4fa1a1SMauro Carvalho Chehab #define CAPT_CHN_NO_WIDTH                         2
1979d4fa1a1SMauro Carvalho Chehab #define CAPT_ERROR_INFO_WIDTH                     8
1989d4fa1a1SMauro Carvalho Chehab 
1999d4fa1a1SMauro Carvalho Chehab #define LONG_PKTCODE_MAX                          63
2009d4fa1a1SMauro Carvalho Chehab #define LONG_PKTCODE_MIN                          16
2019d4fa1a1SMauro Carvalho Chehab #define SHORT_PKTCODE_MAX                         15
2029d4fa1a1SMauro Carvalho Chehab 
2039d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
2049d4fa1a1SMauro Carvalho Chehab /* Packet Info */
2059d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
2069d4fa1a1SMauro Carvalho Chehab #define CAPT_START_OF_FRAME                       0
2079d4fa1a1SMauro Carvalho Chehab #define CAPT_END_OF_FRAME                         1
2089d4fa1a1SMauro Carvalho Chehab #define CAPT_START_OF_LINE                        2
2099d4fa1a1SMauro Carvalho Chehab #define CAPT_END_OF_LINE                          3
2109d4fa1a1SMauro Carvalho Chehab #define CAPT_LINE_PAYLOAD                         4
2119d4fa1a1SMauro Carvalho Chehab #define CAPT_GEN_SH_PKT                           5
2129d4fa1a1SMauro Carvalho Chehab 
2139d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
2149d4fa1a1SMauro Carvalho Chehab /* Packet Data Type */
2159d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
2169d4fa1a1SMauro Carvalho Chehab 
2179d4fa1a1SMauro Carvalho Chehab #define CAPT_YUV420_8_DATA                       24   /* 01 1000 YUV420 8-bit                                        */
2189d4fa1a1SMauro Carvalho Chehab #define CAPT_YUV420_10_DATA                      25   /* 01 1001  YUV420 10-bit                                      */
2199d4fa1a1SMauro Carvalho Chehab #define CAPT_YUV420_8L_DATA                      26   /* 01 1010   YUV420 8-bit legacy                               */
2209d4fa1a1SMauro Carvalho Chehab #define CAPT_YUV422_8_DATA                       30   /* 01 1110   YUV422 8-bit                                      */
2219d4fa1a1SMauro Carvalho Chehab #define CAPT_YUV422_10_DATA                      31   /* 01 1111   YUV422 10-bit                                     */
2229d4fa1a1SMauro Carvalho Chehab #define CAPT_RGB444_DATA                         32   /* 10 0000   RGB444                                            */
2239d4fa1a1SMauro Carvalho Chehab #define CAPT_RGB555_DATA						 33   /* 10 0001   RGB555                                            */
2249d4fa1a1SMauro Carvalho Chehab #define CAPT_RGB565_DATA						 34   /* 10 0010   RGB565                                            */
2259d4fa1a1SMauro Carvalho Chehab #define CAPT_RGB666_DATA						 35   /* 10 0011   RGB666                                            */
2269d4fa1a1SMauro Carvalho Chehab #define CAPT_RGB888_DATA						 36   /* 10 0100   RGB888                                            */
2279d4fa1a1SMauro Carvalho Chehab #define CAPT_RAW6_DATA							 40   /* 10 1000   RAW6                                              */
2289d4fa1a1SMauro Carvalho Chehab #define CAPT_RAW7_DATA							 41   /* 10 1001   RAW7                                              */
2299d4fa1a1SMauro Carvalho Chehab #define CAPT_RAW8_DATA							 42   /* 10 1010   RAW8                                              */
2309d4fa1a1SMauro Carvalho Chehab #define CAPT_RAW10_DATA						 43   /* 10 1011   RAW10                                             */
2319d4fa1a1SMauro Carvalho Chehab #define CAPT_RAW12_DATA						 44   /* 10 1100   RAW12                                             */
2329d4fa1a1SMauro Carvalho Chehab #define CAPT_RAW14_DATA						 45   /* 10 1101   RAW14                                             */
2339d4fa1a1SMauro Carvalho Chehab #define CAPT_USR_DEF_1_DATA						 48   /* 11 0000    JPEG [User Defined 8-bit Data Type 1]            */
2349d4fa1a1SMauro Carvalho Chehab #define CAPT_USR_DEF_2_DATA						 49   /* 11 0001    User Defined 8-bit Data Type 2                   */
2359d4fa1a1SMauro Carvalho Chehab #define CAPT_USR_DEF_3_DATA						 50   /* 11 0010    User Defined 8-bit Data Type 3                   */
2369d4fa1a1SMauro Carvalho Chehab #define CAPT_USR_DEF_4_DATA						 51   /* 11 0011    User Defined 8-bit Data Type 4                   */
2379d4fa1a1SMauro Carvalho Chehab #define CAPT_USR_DEF_5_DATA						 52   /* 11 0100    User Defined 8-bit Data Type 5                   */
2389d4fa1a1SMauro Carvalho Chehab #define CAPT_USR_DEF_6_DATA						 53   /* 11 0101    User Defined 8-bit Data Type 6                   */
2399d4fa1a1SMauro Carvalho Chehab #define CAPT_USR_DEF_7_DATA						 54   /* 11 0110    User Defined 8-bit Data Type 7                   */
2409d4fa1a1SMauro Carvalho Chehab #define CAPT_USR_DEF_8_DATA						 55   /* 11 0111    User Defined 8-bit Data Type 8                   */
2419d4fa1a1SMauro Carvalho Chehab #define CAPT_Emb_DATA							 18   /* 01 0010    embedded eight bit non image data                */
2429d4fa1a1SMauro Carvalho Chehab #define CAPT_SOF_DATA							 0   /* 00 0000    frame start                                      */
2439d4fa1a1SMauro Carvalho Chehab #define CAPT_EOF_DATA							 1   /* 00 0001    frame end                                        */
2449d4fa1a1SMauro Carvalho Chehab #define CAPT_SOL_DATA							 2   /* 00 0010    line start                                       */
2459d4fa1a1SMauro Carvalho Chehab #define CAPT_EOL_DATA							 3   /* 00 0011    line end                                         */
2469d4fa1a1SMauro Carvalho Chehab #define CAPT_GEN_SH1_DATA						 8   /* 00 1000  Generic Short Packet Code 1                        */
2479d4fa1a1SMauro Carvalho Chehab #define CAPT_GEN_SH2_DATA						 9   /* 00 1001    Generic Short Packet Code 2                      */
2489d4fa1a1SMauro Carvalho Chehab #define CAPT_GEN_SH3_DATA						 10   /* 00 1010    Generic Short Packet Code 3                      */
2499d4fa1a1SMauro Carvalho Chehab #define CAPT_GEN_SH4_DATA						 11   /* 00 1011    Generic Short Packet Code 4                      */
2509d4fa1a1SMauro Carvalho Chehab #define CAPT_GEN_SH5_DATA						 12   /* 00 1100    Generic Short Packet Code 5                      */
2519d4fa1a1SMauro Carvalho Chehab #define CAPT_GEN_SH6_DATA						 13   /* 00 1101    Generic Short Packet Code 6                      */
2529d4fa1a1SMauro Carvalho Chehab #define CAPT_GEN_SH7_DATA						 14   /* 00 1110    Generic Short Packet Code 7                      */
2539d4fa1a1SMauro Carvalho Chehab #define CAPT_GEN_SH8_DATA						 15   /* 00 1111    Generic Short Packet Code 8                      */
2549d4fa1a1SMauro Carvalho Chehab #define CAPT_YUV420_8_CSPS_DATA					 28   /* 01 1100   YUV420 8-bit (Chroma Shifted Pixel Sampling)      */
2559d4fa1a1SMauro Carvalho Chehab #define CAPT_YUV420_10_CSPS_DATA					 29   /* 01 1101   YUV420 10-bit (Chroma Shifted Pixel Sampling)     */
2569d4fa1a1SMauro Carvalho Chehab #define CAPT_RESERVED_DATA_TYPE_MIN              56
2579d4fa1a1SMauro Carvalho Chehab #define CAPT_RESERVED_DATA_TYPE_MAX              63
2589d4fa1a1SMauro Carvalho Chehab #define CAPT_GEN_LONG_RESERVED_DATA_TYPE_MIN     19
2599d4fa1a1SMauro Carvalho Chehab #define CAPT_GEN_LONG_RESERVED_DATA_TYPE_MAX     23
2609d4fa1a1SMauro Carvalho Chehab #define CAPT_YUV_RESERVED_DATA_TYPE              27
2619d4fa1a1SMauro Carvalho Chehab #define CAPT_RGB_RESERVED_DATA_TYPE_MIN          37
2629d4fa1a1SMauro Carvalho Chehab #define CAPT_RGB_RESERVED_DATA_TYPE_MAX          39
2639d4fa1a1SMauro Carvalho Chehab #define CAPT_RAW_RESERVED_DATA_TYPE_MIN          46
2649d4fa1a1SMauro Carvalho Chehab #define CAPT_RAW_RESERVED_DATA_TYPE_MAX          47
2659d4fa1a1SMauro Carvalho Chehab 
2669d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
2679d4fa1a1SMauro Carvalho Chehab /* Capture Unit State */
2689d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
2699d4fa1a1SMauro Carvalho Chehab #define CAPT_FREE_RUN                             0
2709d4fa1a1SMauro Carvalho Chehab #define CAPT_NO_SYNC                              1
2719d4fa1a1SMauro Carvalho Chehab #define CAPT_SYNC_SWP                             2
2729d4fa1a1SMauro Carvalho Chehab #define CAPT_SYNC_MWP                             3
2739d4fa1a1SMauro Carvalho Chehab #define CAPT_SYNC_WAIT                            4
2749d4fa1a1SMauro Carvalho Chehab #define CAPT_FREEZE                               5
2759d4fa1a1SMauro Carvalho Chehab #define CAPT_RUN                                  6
2769d4fa1a1SMauro Carvalho Chehab 
2779d4fa1a1SMauro Carvalho Chehab /* --------------------------------------------------*/
2789d4fa1a1SMauro Carvalho Chehab 
2799d4fa1a1SMauro Carvalho Chehab #endif /* _isp_capture_defs_h */
280