blob: 7e3a16097672b67d2f48cc25784d0c2cf4d2441b [file] [log] [blame]
Thomas Gleixner1802d0b2019-05-27 08:55:21 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Ohad Ben-Cohen34ed5a32011-10-20 18:53:35 +02002/*
3 * Remote Processor - omap-specific bits
4 *
5 * Copyright (C) 2011 Texas Instruments, Inc.
6 * Copyright (C) 2011 Google, Inc.
Ohad Ben-Cohen34ed5a32011-10-20 18:53:35 +02007 */
8
9#ifndef _PLAT_REMOTEPROC_H
10#define _PLAT_REMOTEPROC_H
11
12struct rproc_ops;
13struct platform_device;
14
15/*
16 * struct omap_rproc_pdata - omap remoteproc's platform data
17 * @name: the remoteproc's name
18 * @oh_name: omap hwmod device
19 * @oh_name_opt: optional, secondary omap hwmod device
20 * @firmware: name of firmware file to load
21 * @mbox_name: name of omap mailbox device to use with this rproc
22 * @ops: start/stop rproc handlers
23 * @device_enable: omap-specific handler for enabling a device
24 * @device_shutdown: omap-specific handler for shutting down a device
Juan Gutierrez4980f462012-08-15 10:25:48 -050025 * @set_bootaddr: omap-specific handler for setting the rproc boot address
Ohad Ben-Cohen34ed5a32011-10-20 18:53:35 +020026 */
27struct omap_rproc_pdata {
28 const char *name;
29 const char *oh_name;
30 const char *oh_name_opt;
31 const char *firmware;
32 const char *mbox_name;
33 const struct rproc_ops *ops;
Anna, Suman334765f2016-08-12 18:42:22 -050034 int (*device_enable)(struct platform_device *pdev);
35 int (*device_shutdown)(struct platform_device *pdev);
36 void (*set_bootaddr)(u32);
Ohad Ben-Cohen34ed5a32011-10-20 18:53:35 +020037};
38
39#if defined(CONFIG_OMAP_REMOTEPROC) || defined(CONFIG_OMAP_REMOTEPROC_MODULE)
40
41void __init omap_rproc_reserve_cma(void);
42
43#else
44
Suman Annae4760362013-07-01 15:30:51 +030045static inline void __init omap_rproc_reserve_cma(void)
Ohad Ben-Cohen34ed5a32011-10-20 18:53:35 +020046{
47}
48
49#endif
50
51#endif /* _PLAT_REMOTEPROC_H */