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"
25enum 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};
45struct snd_sof_blk_hdr {
46  enum snd_sof_fw_blk_type type;
47  __u32 size;
48  __u32 offset;
49} __packed;
50enum snd_sof_fw_mod_type {
51  SOF_FW_BASE = 0,
52  SOF_FW_MODULE = 1,
53};
54struct snd_sof_mod_hdr {
55  enum snd_sof_fw_mod_type type;
56  __u32 size;
57  __u32 num_blocks;
58} __packed;
59struct 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