106 lines · c
1#ifndef __NVFW_SEC2_H__2#define __NVFW_SEC2_H__3 4struct nv_sec2_args {5 u32 freq_hz;6 u32 falc_trace_size;7 u32 falc_trace_dma_base;8 u32 falc_trace_dma_idx;9 bool secure_mode;10};11 12#define NV_SEC2_UNIT_INIT 0x0113#define NV_SEC2_UNIT_UNLOAD 0x0614#define NV_SEC2_UNIT_ACR 0x0815 16struct nv_sec2_init_msg {17 struct nvfw_falcon_msg hdr;18#define NV_SEC2_INIT_MSG_INIT 0x0019 u8 msg_type;20 21 u8 num_queues;22 u16 os_debug_entry_point;23 24 struct {25 u32 offset;26 u16 size;27 u8 index;28#define NV_SEC2_INIT_MSG_QUEUE_ID_CMDQ 0x0029#define NV_SEC2_INIT_MSG_QUEUE_ID_MSGQ 0x0130 u8 id;31 } queue_info[2];32 33 u32 sw_managed_area_offset;34 u16 sw_managed_area_size;35};36 37struct nv_sec2_init_msg_v1 {38 struct nvfw_falcon_msg hdr;39#define NV_SEC2_INIT_MSG_INIT 0x0040 u8 msg_type;41 42 u8 num_queues;43 u16 os_debug_entry_point;44 45 struct {46 u32 offset;47 u16 size;48 u8 index;49#define NV_SEC2_INIT_MSG_QUEUE_ID_CMDQ 0x0050#define NV_SEC2_INIT_MSG_QUEUE_ID_MSGQ 0x0151 u8 id;52 } queue_info[2];53 54 u32 sw_managed_area_offset;55 u16 sw_managed_area_size;56 57 u32 unkn[8];58};59 60struct nv_sec2_acr_cmd {61 struct nvfw_falcon_cmd hdr;62#define NV_SEC2_ACR_CMD_BOOTSTRAP_FALCON 0x0063 u8 cmd_type;64};65 66struct nv_sec2_acr_msg {67 struct nvfw_falcon_cmd hdr;68 u8 msg_type;69};70 71struct nv_sec2_acr_bootstrap_falcon_cmd {72 struct nv_sec2_acr_cmd cmd;73#define NV_SEC2_ACR_BOOTSTRAP_FALCON_FLAGS_RESET_YES 0x0000000074#define NV_SEC2_ACR_BOOTSTRAP_FALCON_FLAGS_RESET_NO 0x0000000175 u32 flags;76 u32 falcon_id;77};78 79struct nv_sec2_acr_bootstrap_falcon_msg {80 struct nv_sec2_acr_msg msg;81 u32 error_code;82 u32 falcon_id;83};84 85#define NV_SEC2_UNIT_V2_INIT 0x0186#define NV_SEC2_UNIT_V2_UNLOAD 0x0587#define NV_SEC2_UNIT_V2_ACR 0x0788 89struct nv_sec2_acr_bootstrap_falcon_cmd_v1 {90 struct nv_sec2_acr_cmd cmd;91#define NV_SEC2_ACR_BOOTSTRAP_FALCON_FLAGS_RESET_YES 0x0000000092#define NV_SEC2_ACR_BOOTSTRAP_FALCON_FLAGS_RESET_NO 0x0000000193 u32 flags;94 u32 falcon_id;95 u32 unkn08;96 u32 unkn0c;97};98 99struct nv_sec2_acr_bootstrap_falcon_msg_v1 {100 struct nv_sec2_acr_msg msg;101 u32 error_code;102 u32 falcon_id;103 u32 unkn08;104};105#endif106