1 #ifndef __NVFW_SEC2_H__ 2 #define __NVFW_SEC2_H__ 3 4 #define NV_SEC2_UNIT_INIT 0x01 5 #define NV_SEC2_UNIT_ACR 0x08 6 7 struct nv_sec2_init_msg { 8 struct nv_falcon_msg hdr; 9 #define NV_SEC2_INIT_MSG_INIT 0x00 10 u8 msg_type; 11 12 u8 num_queues; 13 u16 os_debug_entry_point; 14 15 struct { 16 u32 offset; 17 u16 size; 18 u8 index; 19 #define NV_SEC2_INIT_MSG_QUEUE_ID_CMDQ 0x00 20 #define NV_SEC2_INIT_MSG_QUEUE_ID_MSGQ 0x01 21 u8 id; 22 } queue_info[2]; 23 24 u32 sw_managed_area_offset; 25 u16 sw_managed_area_size; 26 }; 27 28 struct nv_sec2_acr_cmd { 29 struct nv_falcon_cmd hdr; 30 #define NV_SEC2_ACR_CMD_BOOTSTRAP_FALCON 0x00 31 u8 cmd_type; 32 }; 33 34 struct nv_sec2_acr_msg { 35 struct nv_falcon_cmd hdr; 36 u8 msg_type; 37 }; 38 39 struct nv_sec2_acr_bootstrap_falcon_cmd { 40 struct nv_sec2_acr_cmd cmd; 41 #define NV_SEC2_ACR_BOOTSTRAP_FALCON_FLAGS_RESET_YES 0x00000000 42 #define NV_SEC2_ACR_BOOTSTRAP_FALCON_FLAGS_RESET_NO 0x00000001 43 u32 flags; 44 u32 falcon_id; 45 }; 46 47 struct nv_sec2_acr_bootstrap_falcon_msg { 48 struct nv_sec2_acr_msg msg; 49 u32 error_code; 50 u32 falcon_id; 51 }; 52 #endif 53