1
2
3
4
5
6
7
8
9 #ifndef _ST_REMOTEPROC_SLIM_H
10 #define _ST_REMOTEPROC_SLIM_H
11
12 #define ST_SLIM_MEM_MAX 2
13 #define ST_SLIM_MAX_CLK 4
14
15 enum {
16 ST_SLIM_DMEM,
17 ST_SLIM_IMEM,
18 };
19
20
21
22
23
24
25
26 struct st_slim_mem {
27 void __iomem *cpu_addr;
28 phys_addr_t bus_addr;
29 size_t size;
30 };
31
32
33
34
35
36
37
38
39
40 struct st_slim_rproc {
41 struct rproc *rproc;
42 struct st_slim_mem mem[ST_SLIM_MEM_MAX];
43 void __iomem *slimcore;
44 void __iomem *peri;
45
46
47 struct clk *clks[ST_SLIM_MAX_CLK];
48 };
49
50 struct st_slim_rproc *st_slim_rproc_alloc(struct platform_device *pdev,
51 char *fw_name);
52 void st_slim_rproc_put(struct st_slim_rproc *slim_rproc);
53
54 #endif