60 lines · c
1/* SPDX-License-Identifier: MIT */2#ifndef __NVFW_HS_H__3#define __NVFW_HS_H__4#include <core/os.h>5struct nvkm_subdev;6 7struct nvfw_hs_header {8 u32 sig_dbg_offset;9 u32 sig_dbg_size;10 u32 sig_prod_offset;11 u32 sig_prod_size;12 u32 patch_loc;13 u32 patch_sig;14 u32 hdr_offset;15 u32 hdr_size;16};17 18const struct nvfw_hs_header *nvfw_hs_header(struct nvkm_subdev *, const void *);19 20struct nvfw_hs_header_v2 {21 u32 sig_prod_offset;22 u32 sig_prod_size;23 u32 patch_loc;24 u32 patch_sig;25 u32 meta_data_offset;26 u32 meta_data_size;27 u32 num_sig;28 u32 header_offset;29 u32 header_size;30};31 32const struct nvfw_hs_header_v2 *nvfw_hs_header_v2(struct nvkm_subdev *, const void *);33 34struct nvfw_hs_load_header {35 u32 non_sec_code_off;36 u32 non_sec_code_size;37 u32 data_dma_base;38 u32 data_size;39 u32 num_apps;40 u32 apps[];41};42 43const struct nvfw_hs_load_header *44nvfw_hs_load_header(struct nvkm_subdev *, const void *);45 46struct nvfw_hs_load_header_v2 {47 u32 os_code_offset;48 u32 os_code_size;49 u32 os_data_offset;50 u32 os_data_size;51 u32 num_apps;52 struct {53 u32 offset;54 u32 size;55 } app[];56};57 58const struct nvfw_hs_load_header_v2 *nvfw_hs_load_header_v2(struct nvkm_subdev *, const void *);59#endif60