1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Support for Intel Camera Imaging ISP subsystem.
4  * Copyright (c) 2015, Intel Corporation.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms and conditions of the GNU General Public License,
8  * version 2, as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
13  * more details.
14  */
15 
16 #ifndef _IA_CSS_DEVICE_ACCESS_H
17 #define _IA_CSS_DEVICE_ACCESS_H
18 
19 /* @file
20  * File containing internal functions for the CSS-API to access the CSS device.
21  */
22 
23 #include <type_support.h> /* for uint*, size_t */
24 #include <system_local.h> /* for hrt_address */
25 #include <ia_css_env.h>   /* for ia_css_hw_access_env */
26 
27 void
28 ia_css_device_access_init(const struct ia_css_hw_access_env *env);
29 
30 uint8_t
31 ia_css_device_load_uint8(const hrt_address addr);
32 
33 uint16_t
34 ia_css_device_load_uint16(const hrt_address addr);
35 
36 uint32_t
37 ia_css_device_load_uint32(const hrt_address addr);
38 
39 uint64_t
40 ia_css_device_load_uint64(const hrt_address addr);
41 
42 void
43 ia_css_device_store_uint8(const hrt_address addr, const uint8_t data);
44 
45 void
46 ia_css_device_store_uint16(const hrt_address addr, const uint16_t data);
47 
48 void
49 ia_css_device_store_uint32(const hrt_address addr, const uint32_t data);
50 
51 void
52 ia_css_device_store_uint64(const hrt_address addr, const uint64_t data);
53 
54 void
55 ia_css_device_load(const hrt_address addr, void *data, const size_t size);
56 
57 void
58 ia_css_device_store(const hrt_address addr, const void *data,
59 		    const size_t size);
60 
61 #endif /* _IA_CSS_DEVICE_ACCESS_H */
62