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