xref: /openbmc/u-boot/include/ram.h (revision e8f80a5a)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
26c51df68SSimon Glass /*
36c51df68SSimon Glass  * Copyright (c) 2015 Google, Inc
46c51df68SSimon Glass  * Written by Simon Glass <sjg@chromium.org>
56c51df68SSimon Glass  */
66c51df68SSimon Glass 
76c51df68SSimon Glass #ifndef __RAM_H
86c51df68SSimon Glass #define __RAM_H
96c51df68SSimon Glass 
106c51df68SSimon Glass struct ram_info {
116c51df68SSimon Glass 	phys_addr_t base;
126c51df68SSimon Glass 	size_t size;
136c51df68SSimon Glass };
146c51df68SSimon Glass 
156c51df68SSimon Glass struct ram_ops {
166c51df68SSimon Glass 	/**
176c51df68SSimon Glass 	 * get_info() - Get basic memory info
186c51df68SSimon Glass 	 *
196c51df68SSimon Glass 	 * @dev:	Device to check (UCLASS_RAM)
206c51df68SSimon Glass 	 * @info:	Place to put info
216c51df68SSimon Glass 	 * @return 0 if OK, -ve on error
226c51df68SSimon Glass 	 */
236c51df68SSimon Glass 	int (*get_info)(struct udevice *dev, struct ram_info *info);
246c51df68SSimon Glass };
256c51df68SSimon Glass 
266c51df68SSimon Glass #define ram_get_ops(dev)        ((struct ram_ops *)(dev)->driver->ops)
276c51df68SSimon Glass 
286c51df68SSimon Glass /**
296c51df68SSimon Glass  * ram_get_info() - Get information about a RAM device
306c51df68SSimon Glass  *
316c51df68SSimon Glass  * @dev:	Device to check (UCLASS_RAM)
326c51df68SSimon Glass  * @info:	Returns RAM info
336c51df68SSimon Glass  * @return 0 if OK, -ve on error
346c51df68SSimon Glass  */
356c51df68SSimon Glass int ram_get_info(struct udevice *dev, struct ram_info *info);
366c51df68SSimon Glass 
376c51df68SSimon Glass #endif
38