1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support for Intel Camera Imaging ISP subsystem.
4  * Copyright (c) 2015, Intel Corporation.
5  */
6 
7 #ifndef __CSI_RX_LOCAL_H_INCLUDED__
8 #define __CSI_RX_LOCAL_H_INCLUDED__
9 
10 #include "csi_rx_global.h"
11 #define N_CSI_RX_BE_MIPI_COMP_FMT_REG		4
12 #define N_CSI_RX_BE_MIPI_CUSTOM_PEC		12
13 #define N_CSI_RX_BE_SHORT_PKT_LUT		4
14 #define N_CSI_RX_BE_LONG_PKT_LUT		8
15 typedef struct csi_rx_fe_ctrl_state_s		csi_rx_fe_ctrl_state_t;
16 typedef struct csi_rx_fe_ctrl_lane_s		csi_rx_fe_ctrl_lane_t;
17 typedef struct csi_rx_be_ctrl_state_s		csi_rx_be_ctrl_state_t;
18 /*mipi_backend_custom_mode_pixel_extraction_config*/
19 typedef struct csi_rx_be_ctrl_pec_s		csi_rx_be_ctrl_pec_t;
20 
21 struct csi_rx_fe_ctrl_lane_s {
22 	hrt_data	termen;
23 	hrt_data	settle;
24 };
25 
26 struct csi_rx_fe_ctrl_state_s {
27 	hrt_data		enable;
28 	hrt_data		nof_enable_lanes;
29 	hrt_data		error_handling;
30 	hrt_data		status;
31 	hrt_data		status_dlane_hs;
32 	hrt_data		status_dlane_lp;
33 	csi_rx_fe_ctrl_lane_t	clane;
34 	csi_rx_fe_ctrl_lane_t	dlane[N_CSI_RX_DLANE_ID];
35 };
36 
37 struct csi_rx_be_ctrl_state_s {
38 	hrt_data		enable;
39 	hrt_data		status;
40 	hrt_data		comp_format_reg[N_CSI_RX_BE_MIPI_COMP_FMT_REG];
41 	hrt_data		raw16;
42 	hrt_data		raw18;
43 	hrt_data		force_raw8;
44 	hrt_data		irq_status;
45 	hrt_data		custom_mode_enable;
46 	hrt_data		custom_mode_data_state;
47 	hrt_data		pec[N_CSI_RX_BE_MIPI_CUSTOM_PEC];
48 	hrt_data		custom_mode_valid_eop_config;
49 	hrt_data		global_lut_disregard_reg;
50 	hrt_data		packet_status_stall;
51 	hrt_data		short_packet_lut_entry[N_CSI_RX_BE_SHORT_PKT_LUT];
52 	hrt_data		long_packet_lut_entry[N_CSI_RX_BE_LONG_PKT_LUT];
53 };
54 #endif /* __CSI_RX_LOCAL_H_INCLUDED__ */
55