/* 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, /* Through System Control Unit API */ IMX_RPROC_SCU_API, }; struct imx_rproc_dcfg { u32 src_reg; u32 src_mask; u32 src_start; u32 src_stop; u32 gpr_reg; u32 gpr_wait; const struct imx_rproc_att *att; size_t att_size; enum imx_rproc_method method; }; #endif /* _IMX_RPROC_H */