162306a36Sopenharmony_ci/* SPDX-License-Identifier: MIT */ 262306a36Sopenharmony_ci#ifndef __NVFW_FW_H__ 362306a36Sopenharmony_ci#define __NVFW_FW_H__ 462306a36Sopenharmony_ci#include <core/os.h> 562306a36Sopenharmony_cistruct nvkm_subdev; 662306a36Sopenharmony_ci 762306a36Sopenharmony_cistruct nvfw_bin_hdr { 862306a36Sopenharmony_ci u32 bin_magic; 962306a36Sopenharmony_ci u32 bin_ver; 1062306a36Sopenharmony_ci u32 bin_size; 1162306a36Sopenharmony_ci u32 header_offset; 1262306a36Sopenharmony_ci u32 data_offset; 1362306a36Sopenharmony_ci u32 data_size; 1462306a36Sopenharmony_ci}; 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciconst struct nvfw_bin_hdr *nvfw_bin_hdr(struct nvkm_subdev *, const void *); 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_cistruct nvfw_bl_desc { 1962306a36Sopenharmony_ci u32 start_tag; 2062306a36Sopenharmony_ci u32 dmem_load_off; 2162306a36Sopenharmony_ci u32 code_off; 2262306a36Sopenharmony_ci u32 code_size; 2362306a36Sopenharmony_ci u32 data_off; 2462306a36Sopenharmony_ci u32 data_size; 2562306a36Sopenharmony_ci}; 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciconst struct nvfw_bl_desc *nvfw_bl_desc(struct nvkm_subdev *, const void *); 2862306a36Sopenharmony_ci#endif 29