1 /* $NetBSD: ls.h,v 1.2 2021/12/18 23:45:32 riastradh Exp $ */ 2 3 /* SPDX-License-Identifier: MIT */ 4 #ifndef __NVFW_LS_H__ 5 #define __NVFW_LS_H__ 6 #include <core/os.h> 7 struct nvkm_subdev; 8 9 struct nvfw_ls_desc_head { 10 u32 descriptor_size; 11 u32 image_size; 12 u32 tools_version; 13 u32 app_version; 14 char date[64]; 15 u32 bootloader_start_offset; 16 u32 bootloader_size; 17 u32 bootloader_imem_offset; 18 u32 bootloader_entry_point; 19 u32 app_start_offset; 20 u32 app_size; 21 u32 app_imem_offset; 22 u32 app_imem_entry; 23 u32 app_dmem_offset; 24 u32 app_resident_code_offset; 25 u32 app_resident_code_size; 26 u32 app_resident_data_offset; 27 u32 app_resident_data_size; 28 }; 29 30 struct nvfw_ls_desc { 31 struct nvfw_ls_desc_head head; 32 u32 nb_overlays; 33 struct { 34 u32 start; 35 u32 size; 36 } load_ovl[64]; 37 u32 compressed; 38 }; 39 40 const struct nvfw_ls_desc *nvfw_ls_desc(struct nvkm_subdev *, const void *); 41 42 struct nvfw_ls_desc_v1 { 43 struct nvfw_ls_desc_head head; 44 u32 nb_imem_overlays; 45 u32 nb_dmem_overlays; 46 struct { 47 u32 start; 48 u32 size; 49 } load_ovl[64]; 50 u32 compressed; 51 }; 52 53 const struct nvfw_ls_desc_v1 * 54 nvfw_ls_desc_v1(struct nvkm_subdev *, const void *); 55 #endif 56