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