1 /* 2 * Copyright 2021-2024 NXP 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #ifndef IMX8ULP_XRDC_H 8 #define IMX8ULP_XRDC_H 9 10 #define DID_MAX 8 11 #define PAC_SLOT_ALL 128 12 #define MSC_SLOT_ALL 8 13 14 enum xrdc_mda_sa { 15 MDA_SA_S, 16 MDA_SA_NS, 17 MDA_SA_PT, /* pass through master's secure/nonsecure attribute */ 18 }; 19 20 struct xrdc_mda_config { 21 uint16_t mda_id; 22 uint16_t did; 23 enum xrdc_mda_sa sa; 24 }; 25 26 struct xrdc_pac_msc_config { 27 uint16_t pac_msc_id; 28 uint16_t slot_id; 29 uint8_t dsel[DID_MAX]; 30 }; 31 32 struct xrdc_mrc_config { 33 uint16_t mrc_id; 34 uint16_t region_id; 35 uint32_t region_start; 36 uint32_t region_size; 37 uint8_t dsel[DID_MAX]; 38 uint16_t accset[2]; 39 }; 40 41 /* APIs to apply and enable XRDC */ 42 int xrdc_apply_lpav_config(void); 43 int xrdc_apply_hifi_config(void); 44 int xrdc_apply_apd_config(void); 45 void xrdc_enable(void); 46 47 #endif 48