GNU Linux-libre 4.14.303-gnu1
[releases.git] / drivers / staging / media / atomisp / pci / atomisp2 / css2400 / hive_isp_css_include / host / pixelgen_public.h
1 /*
2  * Support for Intel Camera Imaging ISP subsystem.
3  * Copyright (c) 2015, Intel Corporation.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms and conditions of the GNU General Public License,
7  * version 2, as published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12  * more details.
13  */
14
15 #ifndef __PIXELGEN_PUBLIC_H_INCLUDED__
16 #define __PIXELGEN_PUBLIC_H_INCLUDED__
17
18 #ifdef USE_INPUT_SYSTEM_VERSION_2401
19 /*****************************************************
20  *
21  * Native command interface (NCI).
22  *
23  *****************************************************/
24 /**
25  * @brief Get the pixelgen state.
26  * Get the state of the pixelgen regiester-set.
27  *
28  * @param[in]   id      The global unique ID of the pixelgen controller.
29  * @param[out]  state   Point to the register-state.
30  */
31 STORAGE_CLASS_PIXELGEN_H void pixelgen_ctrl_get_state(
32                 const pixelgen_ID_t ID,
33                 pixelgen_ctrl_state_t *state);
34 /**
35  * @brief Dump the pixelgen state.
36  * Dump the state of the pixelgen regiester-set.
37  *
38  * @param[in]   id      The global unique ID of the pixelgen controller.
39  * @param[in]   state   Point to the register-state.
40  */
41 STORAGE_CLASS_PIXELGEN_H void pixelgen_ctrl_dump_state(
42                 const pixelgen_ID_t ID,
43                 pixelgen_ctrl_state_t *state);
44 /** end of NCI */
45
46 /*****************************************************
47  *
48  * Device level interface (DLI).
49  *
50  *****************************************************/
51 /**
52  * @brief Load the register value.
53  * Load the value of the register of the pixelgen
54  *
55  * @param[in]   ID      The global unique ID for the pixelgen instance.
56  * @param[in]   reg     The offet address of the register.
57  *
58  * @return the value of the register.
59  */
60 STORAGE_CLASS_PIXELGEN_H hrt_data pixelgen_ctrl_reg_load(
61         const pixelgen_ID_t ID,
62         const hrt_address reg);
63 /**
64  * @brief Store a value to the register.
65  * Store a value to the registe of the pixelgen
66  *
67  * @param[in]   ID              The global unique ID for the pixelgen.
68  * @param[in]   reg             The offet address of the register.
69  * @param[in]   value   The value to be stored.
70  *
71  */
72 STORAGE_CLASS_PIXELGEN_H void pixelgen_ctrl_reg_store(
73         const pixelgen_ID_t ID,
74         const hrt_address reg,
75         const hrt_data value);
76 /** end of DLI */
77
78 #endif /* USE_INPUT_SYSTEM_VERSION_2401 */
79 #endif /* __PIXELGEN_PUBLIC_H_INCLUDED__ */