1 /*
2  * Copyright 2025 NXP
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #ifndef NXP_RESOURCE_TABLE_H__
8 #define NXP_RESOURCE_TABLE_H__
9 
10 #include <resource_table.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 /**
17  * struct fw_rsc_imx_dsp - i.MX DSP specific info
18  *
19  * @type: type of the resource entry
20  * @len: length of the resource entry, without @type, but including @len field
21  * @magic_num: 32-bit magic number
22  * @version: version of data structure
23  * @features: feature flags supported by the i.MX DSP firmware
24  *
25  * This represents a DSP-specific resource in the firmware's
26  * resource table, providing information on supported features.
27  */
28 struct fw_rsc_imx_dsp {
29 	uint32_t type;
30 	uint32_t len;
31 	uint32_t magic_num;
32 	uint32_t version;
33 	uint32_t features;
34 } __packed;
35 
36 
37 struct nxp_resource_table {
38 	struct resource_table hdr;
39 	uint32_t offset[2];
40 	struct fw_rsc_imx_dsp imx_vs_entry;
41 	struct fw_rsc_vdev vdev;
42 	struct fw_rsc_vdev_vring vring0;
43 	struct fw_rsc_vdev_vring vring1;
44 } METAL_PACKED_END;
45 
46 #ifdef __cplusplus
47 }
48 #endif
49 
50 #endif
51