18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: MIT */
28c2ecf20Sopenharmony_ci#ifndef __NVFW_HS_H__
38c2ecf20Sopenharmony_ci#define __NVFW_HS_H__
48c2ecf20Sopenharmony_ci#include <core/os.h>
58c2ecf20Sopenharmony_cistruct nvkm_subdev;
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cistruct nvfw_hs_header {
88c2ecf20Sopenharmony_ci	u32 sig_dbg_offset;
98c2ecf20Sopenharmony_ci	u32 sig_dbg_size;
108c2ecf20Sopenharmony_ci	u32 sig_prod_offset;
118c2ecf20Sopenharmony_ci	u32 sig_prod_size;
128c2ecf20Sopenharmony_ci	u32 patch_loc;
138c2ecf20Sopenharmony_ci	u32 patch_sig;
148c2ecf20Sopenharmony_ci	u32 hdr_offset;
158c2ecf20Sopenharmony_ci	u32 hdr_size;
168c2ecf20Sopenharmony_ci};
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciconst struct nvfw_hs_header *nvfw_hs_header(struct nvkm_subdev *, const void *);
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_cistruct nvfw_hs_load_header {
218c2ecf20Sopenharmony_ci	u32 non_sec_code_off;
228c2ecf20Sopenharmony_ci	u32 non_sec_code_size;
238c2ecf20Sopenharmony_ci	u32 data_dma_base;
248c2ecf20Sopenharmony_ci	u32 data_size;
258c2ecf20Sopenharmony_ci	u32 num_apps;
268c2ecf20Sopenharmony_ci	u32 apps[0];
278c2ecf20Sopenharmony_ci};
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ciconst struct nvfw_hs_load_header *
308c2ecf20Sopenharmony_cinvfw_hs_load_header(struct nvkm_subdev *, const void *);
318c2ecf20Sopenharmony_ci#endif
32