aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/staging/media/atomisp/pci/hive_isp_css_include/host/csi_rx_public.h
blob: f7cd4d7b96e5a0172b9dbe3d04f0963d94c70fc7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
/*
 * Support for Intel Camera Imaging ISP subsystem.
 * Copyright (c) 2015, Intel Corporation.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU General Public License,
 * version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 */

#ifndef __CSI_RX_PUBLIC_H_INCLUDED__
#define __CSI_RX_PUBLIC_H_INCLUDED__

#ifdef USE_INPUT_SYSTEM_VERSION_2401
/*****************************************************
 *
 * Native command interface (NCI).
 *
 *****************************************************/
/**
 * @brief Get the csi rx frontend state.
 * Get the state of the csi rx frontend regiester-set.
 *
 * @param[in]	id	The global unique ID of the csi rx fe controller.
 * @param[out]	state	Point to the register-state.
 */
void csi_rx_fe_ctrl_get_state(
    const csi_rx_frontend_ID_t ID,
    csi_rx_fe_ctrl_state_t *state);
/**
 * @brief Dump the csi rx frontend state.
 * Dump the state of the csi rx frontend regiester-set.
 *
 * @param[in]	id	The global unique ID of the csi rx fe controller.
 * @param[in]	state	Point to the register-state.
 */
void csi_rx_fe_ctrl_dump_state(
    const csi_rx_frontend_ID_t ID,
    csi_rx_fe_ctrl_state_t *state);
/**
 * @brief Get the state of the csi rx fe dlane.
 * Get the state of the register set per dlane process.
 *
 * @param[in]	id			The global unique ID of the input-buffer controller.
 * @param[in]	lane		The lane ID.
 * @param[out]	state		Point to the dlane state.
 */
void csi_rx_fe_ctrl_get_dlane_state(
    const csi_rx_frontend_ID_t ID,
    const u32 lane,
    csi_rx_fe_ctrl_lane_t *dlane_state);
/**
 * @brief Get the csi rx backend state.
 * Get the state of the csi rx backend regiester-set.
 *
 * @param[in]	id	The global unique ID of the csi rx be controller.
 * @param[out]	state	Point to the register-state.
 */
void csi_rx_be_ctrl_get_state(
    const csi_rx_backend_ID_t ID,
    csi_rx_be_ctrl_state_t *state);
/**
 * @brief Dump the csi rx backend state.
 * Dump the state of the csi rx backend regiester-set.
 *
 * @param[in]	id	The global unique ID of the csi rx be controller.
 * @param[in]	state	Point to the register-state.
 */
void csi_rx_be_ctrl_dump_state(
    const csi_rx_backend_ID_t ID,
    csi_rx_be_ctrl_state_t *state);
/* end of NCI */

/*****************************************************
 *
 * Device level interface (DLI).
 *
 *****************************************************/
/**
 * @brief Load the register value.
 * Load the value of the register of the csi rx fe.
 *
 * @param[in]	ID	The global unique ID for the ibuf-controller instance.
 * @param[in]	reg	The offset address of the register.
 *
 * @return the value of the register.
 */
hrt_data csi_rx_fe_ctrl_reg_load(
    const csi_rx_frontend_ID_t ID,
    const hrt_address reg);
/**
 * @brief Store a value to the register.
 * Store a value to the registe of the csi rx fe.
 *
 * @param[in]	ID		The global unique ID for the ibuf-controller instance.
 * @param[in]	reg		The offset address of the register.
 * @param[in]	value	The value to be stored.
 *
 */
void csi_rx_fe_ctrl_reg_store(
    const csi_rx_frontend_ID_t ID,
    const hrt_address reg,
    const hrt_data value);
/**
 * @brief Load the register value.
 * Load the value of the register of the csirx be.
 *
 * @param[in]	ID	The global unique ID for the ibuf-controller instance.
 * @param[in]	reg	The offset address of the register.
 *
 * @return the value of the register.
 */
hrt_data csi_rx_be_ctrl_reg_load(
    const csi_rx_backend_ID_t ID,
    const hrt_address reg);
/**
 * @brief Store a value to the register.
 * Store a value to the registe of the csi rx be.
 *
 * @param[in]	ID		The global unique ID for the ibuf-controller instance.
 * @param[in]	reg		The offset address of the register.
 * @param[in]	value	The value to be stored.
 *
 */
void csi_rx_be_ctrl_reg_store(
    const csi_rx_backend_ID_t ID,
    const hrt_address reg,
    const hrt_data value);
/* end of DLI */
#endif /* USE_INPUT_SYSTEM_VERSION_2401 */
#endif /* __CSI_RX_PUBLIC_H_INCLUDED__ */