xref: /openbmc/linux/sound/soc/sof/intel/ext_manifest.h (revision e3a85dbe)
1edbaaadaSFred Oh /* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */
2edbaaadaSFred Oh /*
3edbaaadaSFred Oh  * This file is provided under a dual BSD/GPLv2 license.  When using or
4edbaaadaSFred Oh  * redistributing this file, you may do so under either license.
5edbaaadaSFred Oh  *
6edbaaadaSFred Oh  * Copyright(c) 2020 Intel Corporation. All rights reserved.
7edbaaadaSFred Oh  */
8edbaaadaSFred Oh 
9edbaaadaSFred Oh /*
10edbaaadaSFred Oh  * Intel extended manifest is a extra place to store Intel cavs specific
11edbaaadaSFred Oh  * metadata about firmware, for example LPRO/HPRO configuration is
12edbaaadaSFred Oh  * Intel cavs specific. This part of output binary is not signed.
13edbaaadaSFred Oh  */
14edbaaadaSFred Oh 
15edbaaadaSFred Oh #ifndef __INTEL_CAVS_EXT_MANIFEST_H__
16edbaaadaSFred Oh #define __INTEL_CAVS_EXT_MANIFEST_H__
17edbaaadaSFred Oh 
18edbaaadaSFred Oh #include <sound/sof/ext_manifest.h>
19edbaaadaSFred Oh 
20edbaaadaSFred Oh /* EXT_MAN_ELEM_PLATFORM_CONFIG_DATA elements identificators */
21edbaaadaSFred Oh enum sof_cavs_config_elem_type {
22edbaaadaSFred Oh 	SOF_EXT_MAN_CAVS_CONFIG_EMPTY		= 0,
23edbaaadaSFred Oh 	SOF_EXT_MAN_CAVS_CONFIG_CAVS_LPRO	= 1,
24*e3a85dbeSFred Oh 	SOF_EXT_MAN_CAVS_CONFIG_OUTBOX_SIZE	= 2,
25*e3a85dbeSFred Oh 	SOF_EXT_MAN_CAVS_CONFIG_INBOX_SIZE	= 3,
26edbaaadaSFred Oh };
27edbaaadaSFred Oh 
28edbaaadaSFred Oh /* EXT_MAN_ELEM_PLATFORM_CONFIG_DATA elements */
29edbaaadaSFred Oh struct sof_ext_man_cavs_config_data {
30edbaaadaSFred Oh 	struct sof_ext_man_elem_header hdr;
31edbaaadaSFred Oh 
32edbaaadaSFred Oh 	struct sof_config_elem elems[];
33edbaaadaSFred Oh } __packed;
34edbaaadaSFred Oh 
35edbaaadaSFred Oh #endif /* __INTEL_CAVS_EXT_MANIFEST_H__ */
36