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 369d4fa1a1SMauro Carvalho Chehab // Register id's of MMIO slave accesible 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