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