xref: /OK3568_Linux_fs/u-boot/include/ram.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /*
2*4882a593Smuzhiyun  * Copyright (c) 2015 Google, Inc
3*4882a593Smuzhiyun  * Written by Simon Glass <sjg@chromium.org>
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * SPDX-License-Identifier:	GPL-2.0+
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef __RAM_H
9*4882a593Smuzhiyun #define __RAM_H
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun struct ram_info {
12*4882a593Smuzhiyun 	phys_addr_t base;
13*4882a593Smuzhiyun 	size_t size;
14*4882a593Smuzhiyun };
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun struct ram_ops {
17*4882a593Smuzhiyun 	/**
18*4882a593Smuzhiyun 	 * get_info() - Get basic memory info
19*4882a593Smuzhiyun 	 *
20*4882a593Smuzhiyun 	 * @dev:	Device to check (UCLASS_RAM)
21*4882a593Smuzhiyun 	 * @info:	Place to put info
22*4882a593Smuzhiyun 	 * @return 0 if OK, -ve on error
23*4882a593Smuzhiyun 	 */
24*4882a593Smuzhiyun 	int (*get_info)(struct udevice *dev, struct ram_info *info);
25*4882a593Smuzhiyun };
26*4882a593Smuzhiyun 
27*4882a593Smuzhiyun #define ram_get_ops(dev)        ((struct ram_ops *)(dev)->driver->ops)
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun /**
30*4882a593Smuzhiyun  * ram_get_info() - Get information about a RAM device
31*4882a593Smuzhiyun  *
32*4882a593Smuzhiyun  * @dev:	Device to check (UCLASS_RAM)
33*4882a593Smuzhiyun  * @info:	Returns RAM info
34*4882a593Smuzhiyun  * @return 0 if OK, -ve on error
35*4882a593Smuzhiyun  */
36*4882a593Smuzhiyun int ram_get_info(struct udevice *dev, struct ram_info *info);
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun #endif
39