Viewing file: st_slim_rproc.h (1.17 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/* SPDX-License-Identifier: GPL-2.0-or-later */ /* * SLIM core rproc driver header * * Copyright (C) 2016 STMicroelectronics * * Author: Peter Griffin <peter.griffin@linaro.org> */ #ifndef _ST_REMOTEPROC_SLIM_H #define _ST_REMOTEPROC_SLIM_H
#define ST_SLIM_MEM_MAX 2 #define ST_SLIM_MAX_CLK 4
enum { ST_SLIM_DMEM, ST_SLIM_IMEM, };
/** * struct st_slim_mem - slim internal memory structure * @cpu_addr: MPU virtual address of the memory region * @bus_addr: Bus address used to access the memory region * @size: Size of the memory region */ struct st_slim_mem { void __iomem *cpu_addr; phys_addr_t bus_addr; size_t size; };
/** * struct st_slim_rproc - SLIM slim core * @rproc: rproc handle * @mem: slim memory information * @slimcore: slim slimcore regs * @peri: slim peripheral regs * @clks: slim clocks */ struct st_slim_rproc { struct rproc *rproc; struct st_slim_mem mem[ST_SLIM_MEM_MAX]; void __iomem *slimcore; void __iomem *peri;
/* st_slim_rproc private */ struct clk *clks[ST_SLIM_MAX_CLK]; };
struct st_slim_rproc *st_slim_rproc_alloc(struct platform_device *pdev, char *fw_name); void st_slim_rproc_put(struct st_slim_rproc *slim_rproc);
#endif
|