1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef __INCLUDE_UAPI_SOF_FW_H__
20 #define __INCLUDE_UAPI_SOF_FW_H__
21 #include <linux/types.h>
22 #define SND_SOF_FW_SIG_SIZE 4
23 #define SND_SOF_FW_ABI 1
24 #define SND_SOF_FW_SIG "Reef"
25 enum snd_sof_fw_blk_type {
26   SOF_FW_BLK_TYPE_INVALID = - 1,
27   SOF_FW_BLK_TYPE_START = 0,
28   SOF_FW_BLK_TYPE_RSRVD0 = SOF_FW_BLK_TYPE_START,
29   SOF_FW_BLK_TYPE_IRAM = 1,
30   SOF_FW_BLK_TYPE_DRAM = 2,
31   SOF_FW_BLK_TYPE_SRAM = 3,
32   SOF_FW_BLK_TYPE_ROM = 4,
33   SOF_FW_BLK_TYPE_IMR = 5,
34   SOF_FW_BLK_TYPE_RSRVD6 = 6,
35   SOF_FW_BLK_TYPE_RSRVD7 = 7,
36   SOF_FW_BLK_TYPE_RSRVD8 = 8,
37   SOF_FW_BLK_TYPE_RSRVD9 = 9,
38   SOF_FW_BLK_TYPE_RSRVD10 = 10,
39   SOF_FW_BLK_TYPE_RSRVD11 = 11,
40   SOF_FW_BLK_TYPE_RSRVD12 = 12,
41   SOF_FW_BLK_TYPE_RSRVD13 = 13,
42   SOF_FW_BLK_TYPE_RSRVD14 = 14,
43   SOF_FW_BLK_TYPE_NUM
44 };
45 struct snd_sof_blk_hdr {
46   enum snd_sof_fw_blk_type type;
47   __u32 size;
48   __u32 offset;
49 } __packed;
50 enum snd_sof_fw_mod_type {
51   SOF_FW_BASE = 0,
52   SOF_FW_MODULE = 1,
53 };
54 struct snd_sof_mod_hdr {
55   enum snd_sof_fw_mod_type type;
56   __u32 size;
57   __u32 num_blocks;
58 } __packed;
59 struct snd_sof_fw_header {
60   unsigned char sig[SND_SOF_FW_SIG_SIZE];
61   __u32 file_size;
62   __u32 num_modules;
63   __u32 abi;
64 } __packed;
65 #endif
66