122851890Sopenharmony_ci/****************************************************************************
222851890Sopenharmony_ci ****************************************************************************
322851890Sopenharmony_ci ***
422851890Sopenharmony_ci ***   This header was automatically generated from a Linux kernel header
522851890Sopenharmony_ci ***   of the same name, to make information necessary for userspace to
622851890Sopenharmony_ci ***   call into the kernel available to libc.  It contains only constants,
722851890Sopenharmony_ci ***   structures, and macros generated from the original header, and thus,
822851890Sopenharmony_ci ***   contains no copyrightable information.
922851890Sopenharmony_ci ***
1022851890Sopenharmony_ci ***   To edit the content of this header, modify the corresponding
1122851890Sopenharmony_ci ***   source file (e.g. under external/kernel-headers/original/) then
1222851890Sopenharmony_ci ***   run bionic/libc/kernel/tools/update_all.py
1322851890Sopenharmony_ci ***
1422851890Sopenharmony_ci ***   Any manual change here will be lost the next time this script will
1522851890Sopenharmony_ci ***   be run. You've been warned!
1622851890Sopenharmony_ci ***
1722851890Sopenharmony_ci ****************************************************************************
1822851890Sopenharmony_ci ****************************************************************************/
1922851890Sopenharmony_ci#ifndef __INCLUDE_UAPI_SOF_FW_H__
2022851890Sopenharmony_ci#define __INCLUDE_UAPI_SOF_FW_H__
2122851890Sopenharmony_ci#include <linux/types.h>
2222851890Sopenharmony_ci#define SND_SOF_FW_SIG_SIZE 4
2322851890Sopenharmony_ci#define SND_SOF_FW_ABI 1
2422851890Sopenharmony_ci#define SND_SOF_FW_SIG "Reef"
2522851890Sopenharmony_cienum snd_sof_fw_blk_type {
2622851890Sopenharmony_ci  SOF_FW_BLK_TYPE_INVALID = - 1,
2722851890Sopenharmony_ci  SOF_FW_BLK_TYPE_START = 0,
2822851890Sopenharmony_ci  SOF_FW_BLK_TYPE_RSRVD0 = SOF_FW_BLK_TYPE_START,
2922851890Sopenharmony_ci  SOF_FW_BLK_TYPE_IRAM = 1,
3022851890Sopenharmony_ci  SOF_FW_BLK_TYPE_DRAM = 2,
3122851890Sopenharmony_ci  SOF_FW_BLK_TYPE_SRAM = 3,
3222851890Sopenharmony_ci  SOF_FW_BLK_TYPE_ROM = 4,
3322851890Sopenharmony_ci  SOF_FW_BLK_TYPE_IMR = 5,
3422851890Sopenharmony_ci  SOF_FW_BLK_TYPE_RSRVD6 = 6,
3522851890Sopenharmony_ci  SOF_FW_BLK_TYPE_RSRVD7 = 7,
3622851890Sopenharmony_ci  SOF_FW_BLK_TYPE_RSRVD8 = 8,
3722851890Sopenharmony_ci  SOF_FW_BLK_TYPE_RSRVD9 = 9,
3822851890Sopenharmony_ci  SOF_FW_BLK_TYPE_RSRVD10 = 10,
3922851890Sopenharmony_ci  SOF_FW_BLK_TYPE_RSRVD11 = 11,
4022851890Sopenharmony_ci  SOF_FW_BLK_TYPE_RSRVD12 = 12,
4122851890Sopenharmony_ci  SOF_FW_BLK_TYPE_RSRVD13 = 13,
4222851890Sopenharmony_ci  SOF_FW_BLK_TYPE_RSRVD14 = 14,
4322851890Sopenharmony_ci  SOF_FW_BLK_TYPE_NUM
4422851890Sopenharmony_ci};
4522851890Sopenharmony_cistruct snd_sof_blk_hdr {
4622851890Sopenharmony_ci  enum snd_sof_fw_blk_type type;
4722851890Sopenharmony_ci  __u32 size;
4822851890Sopenharmony_ci  __u32 offset;
4922851890Sopenharmony_ci} __packed;
5022851890Sopenharmony_cienum snd_sof_fw_mod_type {
5122851890Sopenharmony_ci  SOF_FW_BASE = 0,
5222851890Sopenharmony_ci  SOF_FW_MODULE = 1,
5322851890Sopenharmony_ci};
5422851890Sopenharmony_cistruct snd_sof_mod_hdr {
5522851890Sopenharmony_ci  enum snd_sof_fw_mod_type type;
5622851890Sopenharmony_ci  __u32 size;
5722851890Sopenharmony_ci  __u32 num_blocks;
5822851890Sopenharmony_ci} __packed;
5922851890Sopenharmony_cistruct snd_sof_fw_header {
6022851890Sopenharmony_ci  unsigned char sig[SND_SOF_FW_SIG_SIZE];
6122851890Sopenharmony_ci  __u32 file_size;
6222851890Sopenharmony_ci  __u32 num_modules;
6322851890Sopenharmony_ci  __u32 abi;
6422851890Sopenharmony_ci} __packed;
6522851890Sopenharmony_ci#endif
66