blob: 4f8bc168473c1dbec573d24519749e63ba4a977c [file] [log] [blame]
Bjorn Anderssonbde440e2017-01-27 02:28:32 -08001#ifndef __RPROC_QCOM_COMMON_H__
2#define __RPROC_QCOM_COMMON_H__
3
Bjorn Anderssonb90fcfc2017-01-27 07:04:54 -08004#include <linux/remoteproc.h>
5#include "remoteproc_internal.h"
6
Bjorn Anderssoneea07022017-08-29 16:13:35 -07007struct qcom_rproc_glink {
8 struct rproc_subdev subdev;
9
10 struct device *dev;
11 struct device_node *node;
12 struct qcom_glink *edge;
13};
14
Bjorn Anderssonb90fcfc2017-01-27 07:04:54 -080015struct qcom_rproc_subdev {
16 struct rproc_subdev subdev;
17
18 struct device *dev;
19 struct device_node *node;
20 struct qcom_smd_edge *edge;
21};
Bjorn Anderssonbde440e2017-01-27 02:28:32 -080022
Bjorn Andersson1e140df2017-07-24 22:56:43 -070023struct qcom_rproc_ssr {
24 struct rproc_subdev subdev;
25
26 const char *name;
27};
28
Bjorn Anderssonbde440e2017-01-27 02:28:32 -080029struct resource_table *qcom_mdt_find_rsc_table(struct rproc *rproc,
30 const struct firmware *fw,
31 int *tablesz);
32
Bjorn Anderssoneea07022017-08-29 16:13:35 -070033void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
34void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
35
Bjorn Anderssonb90fcfc2017-01-27 07:04:54 -080036void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
37void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
38
Bjorn Andersson1e140df2017-07-24 22:56:43 -070039void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr,
40 const char *ssr_name);
41void qcom_remove_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr);
42
Bjorn Anderssonbde440e2017-01-27 02:28:32 -080043#endif