/* * Copyright 2021-2024 NXP * * SPDX-License-Identifier: BSD-3-Clause */ #ifndef IMX8ULP_XRDC_H #define IMX8ULP_XRDC_H #define DID_MAX 8 #define PAC_SLOT_ALL 128 #define MSC_SLOT_ALL 8 enum xrdc_mda_sa { MDA_SA_S, MDA_SA_NS, MDA_SA_PT, /* pass through master's secure/nonsecure attribute */ }; struct xrdc_mda_config { uint16_t mda_id; uint16_t did; enum xrdc_mda_sa sa; }; struct xrdc_pac_msc_config { uint16_t pac_msc_id; uint16_t slot_id; uint8_t dsel[DID_MAX]; }; struct xrdc_mrc_config { uint16_t mrc_id; uint16_t region_id; uint32_t region_start; uint32_t region_size; uint8_t dsel[DID_MAX]; uint16_t accset[2]; }; /* APIs to apply and enable XRDC */ int xrdc_apply_lpav_config(void); int xrdc_apply_hifi_config(void); int xrdc_apply_apd_config(void); void xrdc_enable(void); #endif