nt9856x/code/hdal/vendor/dsp/include/vendor_dsp.h
2023-03-28 15:07:53 +08:00

60 lines
1.9 KiB
C
Executable File

/**
@brief Header file of vendor dsp module.\n
@file vendor_dsp.h
@ingroup mhdal
@note Nothing.
Copyright Novatek Microelectronics Corp. 2018. All rights reserved.
*/
#ifndef _VENDOR_DSP_H_
#define _VENDOR_DSP_H_
/********************************************************************
INCLUDE FILES
********************************************************************/
#include "hd_type.h"
/********************************************************************
MACRO CONSTANT DEFINITIONS
********************************************************************/
/********************************************************************
MACRO FUNCTION DEFINITIONS
********************************************************************/
/********************************************************************
TYPE DEFINITION
********************************************************************/
/**
DSP core ID.
*/
typedef enum _DSP_CORE_ID {
DSP_CORE_ID_1 = 0, ///< DSP core 1
DSP_CORE_ID_2, ///< DSP core 2
DSP_CORE_ID_MAX_NUM,
ENUM_DUMMY4WORD(DSP_CORE_ID)
} DSP_CORE_ID;
typedef struct {
UINT32 core_id; ///< DSP core id
UINT32 reset_addr; ///< DSP reset address
UINT32 prog_int_addr; ///< DSP internal program address
UINT32 data_int_addr; ///< DSP internal data address
} VENDOR_DSP_OPEN, *PVENDOR_DSP_OPEN;
extern HD_RESULT vendor_dsp_init(void);
extern HD_RESULT vendor_dsp_open(VENDOR_DSP_OPEN *p_dsp_open);
extern HD_RESULT vendor_dsp_close(DSP_CORE_ID dsp_core_id);
extern HD_RESULT vendor_dsp_is_running(DSP_CORE_ID dsp_core_id, unsigned long *is_running);
extern HD_RESULT vendor_dsp_uninit(void);
extern HD_RESULT vendor_dsp_disable_clock(DSP_CORE_ID dsp_core_id);
extern HD_RESULT vendor_dsp_enable_clock(DSP_CORE_ID dsp_core_id);
#endif