1/* 2 * Remote Processor - omap-specific bits 3 * 4 * Copyright (C) 2011 Texas Instruments, Inc. 5 * Copyright (C) 2011 Google, Inc. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * version 2 as published by the Free Software Foundation. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 */ 16 17#ifndef _PLAT_REMOTEPROC_H 18#define _PLAT_REMOTEPROC_H 19 20struct rproc_ops; 21struct platform_device; 22 23/* 24 * struct omap_rproc_pdata - omap remoteproc's platform data 25 * @name: the remoteproc's name 26 * @oh_name: omap hwmod device 27 * @oh_name_opt: optional, secondary omap hwmod device 28 * @firmware: name of firmware file to load 29 * @mbox_name: name of omap mailbox device to use with this rproc 30 * @ops: start/stop rproc handlers 31 * @device_enable: omap-specific handler for enabling a device 32 * @device_shutdown: omap-specific handler for shutting down a device 33 * @set_bootaddr: omap-specific handler for setting the rproc boot address 34 */ 35struct omap_rproc_pdata { 36 const char *name; 37 const char *oh_name; 38 const char *oh_name_opt; 39 const char *firmware; 40 const char *mbox_name; 41 const struct rproc_ops *ops; 42 int (*device_enable)(struct platform_device *pdev); 43 int (*device_shutdown)(struct platform_device *pdev); 44 void (*set_bootaddr)(u32); 45}; 46 47#if defined(CONFIG_OMAP_REMOTEPROC) || defined(CONFIG_OMAP_REMOTEPROC_MODULE) 48 49void __init omap_rproc_reserve_cma(void); 50 51#else 52 53static inline void __init omap_rproc_reserve_cma(void) 54{ 55} 56 57#endif 58 59#endif /* _PLAT_REMOTEPROC_H */ 60