xref: /aosp_15_r20/bionic/libc/kernel/uapi/sound/sof/fw.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef __INCLUDE_UAPI_SOF_FW_H__
8*8d67ca89SAndroid Build Coastguard Worker #define __INCLUDE_UAPI_SOF_FW_H__
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #define SND_SOF_FW_SIG_SIZE 4
11*8d67ca89SAndroid Build Coastguard Worker #define SND_SOF_FW_ABI 1
12*8d67ca89SAndroid Build Coastguard Worker #define SND_SOF_FW_SIG "Reef"
13*8d67ca89SAndroid Build Coastguard Worker enum snd_sof_fw_blk_type {
14*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_INVALID = - 1,
15*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_START = 0,
16*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_RSRVD0 = SOF_FW_BLK_TYPE_START,
17*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_IRAM = 1,
18*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_DRAM = 2,
19*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_SRAM = 3,
20*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_ROM = 4,
21*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_IMR = 5,
22*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_RSRVD6 = 6,
23*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_RSRVD7 = 7,
24*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_RSRVD8 = 8,
25*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_RSRVD9 = 9,
26*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_RSRVD10 = 10,
27*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_RSRVD11 = 11,
28*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_RSRVD12 = 12,
29*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_RSRVD13 = 13,
30*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_RSRVD14 = 14,
31*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BLK_TYPE_NUM
32*8d67ca89SAndroid Build Coastguard Worker };
33*8d67ca89SAndroid Build Coastguard Worker struct snd_sof_blk_hdr {
34*8d67ca89SAndroid Build Coastguard Worker   enum snd_sof_fw_blk_type type;
35*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
36*8d67ca89SAndroid Build Coastguard Worker   __u32 offset;
37*8d67ca89SAndroid Build Coastguard Worker } __attribute__((__packed__));
38*8d67ca89SAndroid Build Coastguard Worker enum snd_sof_fw_mod_type {
39*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_BASE = 0,
40*8d67ca89SAndroid Build Coastguard Worker   SOF_FW_MODULE = 1,
41*8d67ca89SAndroid Build Coastguard Worker };
42*8d67ca89SAndroid Build Coastguard Worker struct snd_sof_mod_hdr {
43*8d67ca89SAndroid Build Coastguard Worker   enum snd_sof_fw_mod_type type;
44*8d67ca89SAndroid Build Coastguard Worker   __u32 size;
45*8d67ca89SAndroid Build Coastguard Worker   __u32 num_blocks;
46*8d67ca89SAndroid Build Coastguard Worker } __attribute__((__packed__));
47*8d67ca89SAndroid Build Coastguard Worker struct snd_sof_fw_header {
48*8d67ca89SAndroid Build Coastguard Worker   unsigned char sig[SND_SOF_FW_SIG_SIZE];
49*8d67ca89SAndroid Build Coastguard Worker   __u32 file_size;
50*8d67ca89SAndroid Build Coastguard Worker   __u32 num_modules;
51*8d67ca89SAndroid Build Coastguard Worker   __u32 abi;
52*8d67ca89SAndroid Build Coastguard Worker } __attribute__((__packed__));
53*8d67ca89SAndroid Build Coastguard Worker #endif
54