| /* SPDX-License-Identifier: MIT */ |
| #ifndef __NVFW_FLCN_H__ |
| #define __NVFW_FLCN_H__ |
| #include <core/os.h> |
| struct nvkm_subdev; |
| |
| struct loader_config { |
| u32 dma_idx; |
| u32 code_dma_base; |
| u32 code_size_total; |
| u32 code_size_to_load; |
| u32 code_entry_point; |
| u32 data_dma_base; |
| u32 data_size; |
| u32 overlay_dma_base; |
| u32 argc; |
| u32 argv; |
| u32 code_dma_base1; |
| u32 data_dma_base1; |
| u32 overlay_dma_base1; |
| }; |
| |
| void |
| loader_config_dump(struct nvkm_subdev *, const struct loader_config *); |
| |
| struct loader_config_v1 { |
| u32 reserved; |
| u32 dma_idx; |
| u64 code_dma_base; |
| u32 code_size_total; |
| u32 code_size_to_load; |
| u32 code_entry_point; |
| u64 data_dma_base; |
| u32 data_size; |
| u64 overlay_dma_base; |
| u32 argc; |
| u32 argv; |
| } __packed; |
| |
| void |
| loader_config_v1_dump(struct nvkm_subdev *, const struct loader_config_v1 *); |
| |
| struct flcn_bl_dmem_desc { |
| u32 reserved[4]; |
| u32 signature[4]; |
| u32 ctx_dma; |
| u32 code_dma_base; |
| u32 non_sec_code_off; |
| u32 non_sec_code_size; |
| u32 sec_code_off; |
| u32 sec_code_size; |
| u32 code_entry_point; |
| u32 data_dma_base; |
| u32 data_size; |
| u32 code_dma_base1; |
| u32 data_dma_base1; |
| }; |
| |
| void |
| flcn_bl_dmem_desc_dump(struct nvkm_subdev *, const struct flcn_bl_dmem_desc *); |
| |
| struct flcn_bl_dmem_desc_v1 { |
| u32 reserved[4]; |
| u32 signature[4]; |
| u32 ctx_dma; |
| u64 code_dma_base; |
| u32 non_sec_code_off; |
| u32 non_sec_code_size; |
| u32 sec_code_off; |
| u32 sec_code_size; |
| u32 code_entry_point; |
| u64 data_dma_base; |
| u32 data_size; |
| } __packed; |
| |
| void flcn_bl_dmem_desc_v1_dump(struct nvkm_subdev *, |
| const struct flcn_bl_dmem_desc_v1 *); |
| |
| struct flcn_bl_dmem_desc_v2 { |
| u32 reserved[4]; |
| u32 signature[4]; |
| u32 ctx_dma; |
| u64 code_dma_base; |
| u32 non_sec_code_off; |
| u32 non_sec_code_size; |
| u32 sec_code_off; |
| u32 sec_code_size; |
| u32 code_entry_point; |
| u64 data_dma_base; |
| u32 data_size; |
| u32 argc; |
| u32 argv; |
| } __packed; |
| |
| void flcn_bl_dmem_desc_v2_dump(struct nvkm_subdev *, |
| const struct flcn_bl_dmem_desc_v2 *); |
| #endif |