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 
20 struct rproc_ops;
21 struct 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  */
35 struct 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 
49 void __init omap_rproc_reserve_cma(void);
50 
51 #else
52 
omap_rproc_reserve_cma(void)53 static inline void __init omap_rproc_reserve_cma(void)
54 {
55 }
56 
57 #endif
58 
59 #endif /* _PLAT_REMOTEPROC_H */
60