mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-28 11:24:07 -05:00
remoteproc: imx_rproc: Move common structure to header file
Move common structure imx_rproc_att, imx_rproc_method and imx_rproc_dcfg to header file which can be shared with imx_dsp_rproc driver. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1633944015-789-2-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
This commit is contained in:
committed by
Mathieu Poirier
parent
bc774a3887
commit
ebcd5d5175
@@ -19,6 +19,7 @@
|
||||
#include <linux/remoteproc.h>
|
||||
#include <linux/workqueue.h>
|
||||
|
||||
#include "imx_rproc.h"
|
||||
#include "remoteproc_internal.h"
|
||||
|
||||
#define IMX7D_SRC_SCR 0x0C
|
||||
@@ -73,33 +74,6 @@ struct imx_rproc_mem {
|
||||
#define ATT_OWN BIT(1)
|
||||
#define ATT_IOMEM BIT(2)
|
||||
|
||||
/* address translation table */
|
||||
struct imx_rproc_att {
|
||||
u32 da; /* device address (From Cortex M4 view)*/
|
||||
u32 sa; /* system bus address */
|
||||
u32 size; /* size of reg range */
|
||||
int flags;
|
||||
};
|
||||
|
||||
/* Remote core start/stop method */
|
||||
enum imx_rproc_method {
|
||||
IMX_RPROC_NONE,
|
||||
/* Through syscon regmap */
|
||||
IMX_RPROC_MMIO,
|
||||
/* Through ARM SMCCC */
|
||||
IMX_RPROC_SMC,
|
||||
};
|
||||
|
||||
struct imx_rproc_dcfg {
|
||||
u32 src_reg;
|
||||
u32 src_mask;
|
||||
u32 src_start;
|
||||
u32 src_stop;
|
||||
const struct imx_rproc_att *att;
|
||||
size_t att_size;
|
||||
enum imx_rproc_method method;
|
||||
};
|
||||
|
||||
struct imx_rproc {
|
||||
struct device *dev;
|
||||
struct regmap *regmap;
|
||||
|
||||
37
drivers/remoteproc/imx_rproc.h
Normal file
37
drivers/remoteproc/imx_rproc.h
Normal file
@@ -0,0 +1,37 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/*
|
||||
* Copyright (c) 2017 Pengutronix, Oleksij Rempel <kernel@pengutronix.de>
|
||||
* Copyright 2021 NXP
|
||||
*/
|
||||
|
||||
#ifndef _IMX_RPROC_H
|
||||
#define _IMX_RPROC_H
|
||||
|
||||
/* address translation table */
|
||||
struct imx_rproc_att {
|
||||
u32 da; /* device address (From Cortex M4 view)*/
|
||||
u32 sa; /* system bus address */
|
||||
u32 size; /* size of reg range */
|
||||
int flags;
|
||||
};
|
||||
|
||||
/* Remote core start/stop method */
|
||||
enum imx_rproc_method {
|
||||
IMX_RPROC_NONE,
|
||||
/* Through syscon regmap */
|
||||
IMX_RPROC_MMIO,
|
||||
/* Through ARM SMCCC */
|
||||
IMX_RPROC_SMC,
|
||||
};
|
||||
|
||||
struct imx_rproc_dcfg {
|
||||
u32 src_reg;
|
||||
u32 src_mask;
|
||||
u32 src_start;
|
||||
u32 src_stop;
|
||||
const struct imx_rproc_att *att;
|
||||
size_t att_size;
|
||||
enum imx_rproc_method method;
|
||||
};
|
||||
|
||||
#endif /* _IMX_RPROC_H */
|
||||
Reference in New Issue
Block a user