1*4882a593Smuzhiyun /* SPDX-License-Identifier: MIT */ 2*4882a593Smuzhiyun #ifndef __NVFW_FW_H__ 3*4882a593Smuzhiyun #define __NVFW_FW_H__ 4*4882a593Smuzhiyun #include <core/os.h> 5*4882a593Smuzhiyun struct nvkm_subdev; 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun struct nvfw_bin_hdr { 8*4882a593Smuzhiyun u32 bin_magic; 9*4882a593Smuzhiyun u32 bin_ver; 10*4882a593Smuzhiyun u32 bin_size; 11*4882a593Smuzhiyun u32 header_offset; 12*4882a593Smuzhiyun u32 data_offset; 13*4882a593Smuzhiyun u32 data_size; 14*4882a593Smuzhiyun }; 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun const struct nvfw_bin_hdr *nvfw_bin_hdr(struct nvkm_subdev *, const void *); 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun struct nvfw_bl_desc { 19*4882a593Smuzhiyun u32 start_tag; 20*4882a593Smuzhiyun u32 dmem_load_off; 21*4882a593Smuzhiyun u32 code_off; 22*4882a593Smuzhiyun u32 code_size; 23*4882a593Smuzhiyun u32 data_off; 24*4882a593Smuzhiyun u32 data_size; 25*4882a593Smuzhiyun }; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun const struct nvfw_bl_desc *nvfw_bl_desc(struct nvkm_subdev *, const void *); 28*4882a593Smuzhiyun #endif 29