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 18enum { 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 */ 29int 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 */ 41int 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 */ 53int chimp_handshake_status_optee(u32 timeout, u32 *hstatus); 54 55#endif 56