blob: c36c2b99a495915abd483074c16edc64743c99fb [file] [log] [blame]
Christopher Ferrisaeddbcf2019-07-08 12:45:46 -07001/****************************************************************************
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__
Christopher Ferrise892fd62019-09-03 15:22:32 -070021#include <linux/types.h>
Christopher Ferrisaeddbcf2019-07-08 12:45:46 -070022#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;
Christopher Ferrise892fd62019-09-03 15:22:32 -070047 __u32 size;
48 __u32 offset;
Christopher Ferrisaeddbcf2019-07-08 12:45:46 -070049} __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;
Christopher Ferrise892fd62019-09-03 15:22:32 -070056 __u32 size;
57 __u32 num_blocks;
Christopher Ferrisaeddbcf2019-07-08 12:45:46 -070058} __packed;
59struct snd_sof_fw_header {
60 unsigned char sig[SND_SOF_FW_SIG_SIZE];
Christopher Ferrise892fd62019-09-03 15:22:32 -070061 __u32 file_size;
62 __u32 num_modules;
63 __u32 abi;
Christopher Ferrisaeddbcf2019-07-08 12:45:46 -070064} __packed;
65#endif