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> 7struct nvkm_subdev; 8 9struct 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 30struct 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 40const struct nvfw_ls_desc *nvfw_ls_desc(struct nvkm_subdev *, const void *); 41 42struct 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 53const struct nvfw_ls_desc_v1 * 54nvfw_ls_desc_v1(struct nvkm_subdev *, const void *); 55#endif 56