1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * Copyright 2020 Broadcom. 4 * 5 */ 6 7 #ifndef __CHIMP_H__ 8 #define __CHIMP_H__ 9 10 #include <linux/compiler.h> 11 12 /* 13 * Chimp binary has health status like initialization complete, 14 * crash or running fine 15 */ 16 #define BCM_CHIMP_RUNNIG_GOOD 0x8000 17 18 enum { 19 CHIMP_HANDSHAKE_SUCCESS = 0, 20 CHIMP_HANDSHAKE_WAIT_ERROR, 21 CHIMP_HANDSHAKE_WAIT_TIMEOUT, 22 }; 23 24 /** 25 * chimp_fastboot_optee() - api to load bnxt firmware 26 * 27 * @return: 0 on success and -ve on failure 28 */ 29 int chimp_fastboot_optee(void); 30 31 /** 32 * chimp_health_status_optee() - get chimp health status 33 * 34 * Chimp health status could be firmware is in good condition or 35 * bad condition because of crash/hang. 36 * 37 * @status: pointer to get chimp health status 38 * 39 * @return: 0 on success and -ve on failure 40 */ 41 int chimp_health_status_optee(u32 *status); 42 43 /** 44 * chimp_handshake_status_optee() - get chimp handshake status. 45 * 46 * To know firmware is loaded and running. 47 * 48 * @timeout: timeout value, if 0 then default timeout is considered by op-tee 49 * @hstatus: pointer to chimp handshake status 50 * 51 * @return: 0 on success and -ve on failure 52 */ 53 int chimp_handshake_status_optee(u32 timeout, u32 *hstatus); 54 55 #endif 56