Merge branch '2019-05-05-master-imports'
[oweals/u-boot.git] / include / cache.h
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (C) 2019 Intel Corporation <www.intel.com>
4  */
5
6 #ifndef __CACHE_H
7 #define __CACHE_H
8
9 /*
10  * Structure for the cache controller
11  */
12 struct cache_info {
13         phys_addr_t base; /* Base physical address of cache device. */
14 };
15
16 struct cache_ops {
17         /**
18          * get_info() - Get basic cache info
19          *
20          * @dev:        Device to check (UCLASS_CACHE)
21          * @info:       Place to put info
22          * @return 0 if OK, -ve on error
23          */
24         int (*get_info)(struct udevice *dev, struct cache_info *info);
25 };
26
27 #define cache_get_ops(dev)      ((struct cache_ops *)(dev)->driver->ops)
28
29 /**
30  * cache_get_info() - Get information about a cache controller
31  *
32  * @dev:        Device to check (UCLASS_CACHE)
33  * @info:       Returns cache info
34  * @return 0 if OK, -ve on error
35  */
36 int cache_get_info(struct udevice *dev, struct cache_info *info);
37
38 #endif