0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef _ST_REMOTEPROC_SLIM_H
0010 #define _ST_REMOTEPROC_SLIM_H
0011
0012 #define ST_SLIM_MEM_MAX 2
0013 #define ST_SLIM_MAX_CLK 4
0014
0015 enum {
0016 ST_SLIM_DMEM,
0017 ST_SLIM_IMEM,
0018 };
0019
0020
0021
0022
0023
0024
0025
0026 struct st_slim_mem {
0027 void __iomem *cpu_addr;
0028 phys_addr_t bus_addr;
0029 size_t size;
0030 };
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040 struct st_slim_rproc {
0041 struct rproc *rproc;
0042 struct st_slim_mem mem[ST_SLIM_MEM_MAX];
0043 void __iomem *slimcore;
0044 void __iomem *peri;
0045
0046
0047 struct clk *clks[ST_SLIM_MAX_CLK];
0048 };
0049
0050 struct st_slim_rproc *st_slim_rproc_alloc(struct platform_device *pdev,
0051 char *fw_name);
0052 void st_slim_rproc_put(struct st_slim_rproc *slim_rproc);
0053
0054 #endif