Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-only */
0002 /*
0003  * Copyright (c) 2017 Pengutronix, Oleksij Rempel <kernel@pengutronix.de>
0004  * Copyright 2021 NXP
0005  */
0006 
0007 #ifndef _IMX_RPROC_H
0008 #define _IMX_RPROC_H
0009 
0010 /* address translation table */
0011 struct imx_rproc_att {
0012     u32 da; /* device address (From Cortex M4 view)*/
0013     u32 sa; /* system bus address */
0014     u32 size; /* size of reg range */
0015     int flags;
0016 };
0017 
0018 /* Remote core start/stop method */
0019 enum imx_rproc_method {
0020     IMX_RPROC_NONE,
0021     /* Through syscon regmap */
0022     IMX_RPROC_MMIO,
0023     /* Through ARM SMCCC */
0024     IMX_RPROC_SMC,
0025     /* Through System Control Unit API */
0026     IMX_RPROC_SCU_API,
0027 };
0028 
0029 struct imx_rproc_dcfg {
0030     u32             src_reg;
0031     u32             src_mask;
0032     u32             src_start;
0033     u32             src_stop;
0034     const struct imx_rproc_att  *att;
0035     size_t              att_size;
0036     enum imx_rproc_method       method;
0037 };
0038 
0039 #endif /* _IMX_RPROC_H */