18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: MIT */ 28c2ecf20Sopenharmony_ci#ifndef __NVFW_FW_H__ 38c2ecf20Sopenharmony_ci#define __NVFW_FW_H__ 48c2ecf20Sopenharmony_ci#include <core/os.h> 58c2ecf20Sopenharmony_cistruct nvkm_subdev; 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_cistruct nvfw_bin_hdr { 88c2ecf20Sopenharmony_ci u32 bin_magic; 98c2ecf20Sopenharmony_ci u32 bin_ver; 108c2ecf20Sopenharmony_ci u32 bin_size; 118c2ecf20Sopenharmony_ci u32 header_offset; 128c2ecf20Sopenharmony_ci u32 data_offset; 138c2ecf20Sopenharmony_ci u32 data_size; 148c2ecf20Sopenharmony_ci}; 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciconst struct nvfw_bin_hdr *nvfw_bin_hdr(struct nvkm_subdev *, const void *); 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_cistruct nvfw_bl_desc { 198c2ecf20Sopenharmony_ci u32 start_tag; 208c2ecf20Sopenharmony_ci u32 dmem_load_off; 218c2ecf20Sopenharmony_ci u32 code_off; 228c2ecf20Sopenharmony_ci u32 code_size; 238c2ecf20Sopenharmony_ci u32 data_off; 248c2ecf20Sopenharmony_ci u32 data_size; 258c2ecf20Sopenharmony_ci}; 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciconst struct nvfw_bl_desc *nvfw_bl_desc(struct nvkm_subdev *, const void *); 288c2ecf20Sopenharmony_ci#endif 29