mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.2 KiB
54 lines
1.2 KiB
/* SPDX-License-Identifier: GPL-2.0-or-later */ |
|
/* |
|
* SLIM core rproc driver header |
|
* |
|
* Copyright (C) 2016 STMicroelectronics |
|
* |
|
* Author: Peter Griffin <[email protected]> |
|
*/ |
|
#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
|
|
|