1 /* Copyright (c) 2021 Intel Corporation
2  * SPDX-License-Identifier: Apache-2.0
3  */
4 #include <manifest.h>
5 #include <adsp_memory.h>
6 #include <zephyr/toolchain.h>
7 
8 /* These two modules defined here aren't runtime data used by Zephyr or
9  * SOF with IPC3, but instead are inserted to *MANIFEST* of the final
10  * firmware binary by rimage and later will be used by ROM loader on the
11  * DSP. As it happens most of the data here is ignored by both layers,
12  * but it's left unchanged for historical purposes.
13  *
14  * For each module here, two UUIDs are allowed, one used on APL, and the
15  * other used on cAVS 1.8+ platforms. Because SOF with IPC4 requires the
16  * module UUID in manifest must be identical with the one in firmware code,
17  * and there will be *NO* IPC4 support for APL, we have to use UUIDs used
18  * on cAVS 1.8+ platforms here.
19  */
20 __attribute__((section(".module.boot")))
21 const struct sof_man_module_manifest boot_manifest = {
22 	.module = {
23 		     .name = "BRNGUP",
24 		     .uuid = {0xf3, 0xe4, 0x79, 0x2b, 0x75, 0x46, 0x49, 0xf6,
25 			      0x89, 0xdf, 0x3b, 0xc1, 0x94, 0xa9, 0x1a, 0xeb},
26 		     .entry_point = IMR_BOOT_LDR_TEXT_ENTRY_BASE,
27 		     .type = { .load_type = SOF_MAN_MOD_TYPE_MODULE,
28 			       .domain_ll = 1, },
29 		     .affinity_mask = 3,
30 	}
31 };
32 
33 __attribute__((section(".module.main")))
34 const struct sof_man_module_manifest main_manifest = {
35 	.module = {
36 		     .name = "BASEFW",
37 		     .uuid = {0x32, 0x8c, 0x39, 0x0e, 0xde, 0x5a, 0x4b, 0xba,
38 			      0x93, 0xb1, 0xc5, 0x04, 0x32, 0x28, 0x0e, 0xe4},
39 		     .entry_point = RAM_BASE,
40 		     .type = { .load_type = SOF_MAN_MOD_TYPE_MODULE,
41 			       .domain_ll = 1 },
42 		     .affinity_mask = 3,
43 	}
44 };
45