59 lines
1.8 KiB
C
59 lines
1.8 KiB
C
|
|
/****************************************************************************
|
||
|
|
|
||
|
|
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
|
||
|
|
|
||
|
|
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
|
||
|
|
be copied by any method or incorporated into another program without
|
||
|
|
the express written consent of Aerospace C.Power. This Information or any portion
|
||
|
|
thereof remains the property of Aerospace C.Power. The Information contained herein
|
||
|
|
is believed to be accurate and Aerospace C.Power assumes no responsibility or
|
||
|
|
liability for its use in any way and conveys no license or title under
|
||
|
|
any patent or copyright and makes no representation or warranty that this
|
||
|
|
Information is free from patent or copyright infringement.
|
||
|
|
|
||
|
|
****************************************************************************/
|
||
|
|
#ifndef _AFFT_HW_H
|
||
|
|
#define _AFFT_HW_H
|
||
|
|
|
||
|
|
#include "os_types.h"
|
||
|
|
#include "iot_afft_api.h"
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
extern "C" {
|
||
|
|
#endif
|
||
|
|
|
||
|
|
typedef enum {
|
||
|
|
AFFT_BUF_OUTPUT = 0,
|
||
|
|
AFFT_BUF_INPUT,
|
||
|
|
} afft_buf_io_t;
|
||
|
|
|
||
|
|
typedef enum {
|
||
|
|
AFFT_OP_IFFT = 0,
|
||
|
|
AFFT_OP_FFT,
|
||
|
|
} afft_op_t;
|
||
|
|
|
||
|
|
typedef enum {
|
||
|
|
AFFT_DATA_REAL = 0,
|
||
|
|
AFFT_DATA_COMPLEX,
|
||
|
|
} afft_data_type_t;
|
||
|
|
|
||
|
|
void afft_ena();
|
||
|
|
uint32_t afft_get_buf_addr();
|
||
|
|
void afft_data_trans(uint32_t *src, uint32_t len, uint8_t input, uint32_t *dst);
|
||
|
|
void afft_cfg(uint8_t fft, uint8_t mode, uint8_t complex, uint8_t size, uint8_t stage, uint8_t lsf_in, uint8_t rsf_out);
|
||
|
|
uint8_t afft_win_sel(afft_win_sel_t win_sel);
|
||
|
|
void afft_start();
|
||
|
|
uint32_t afft_get_done_bit();
|
||
|
|
void afft_clr_done_bit();
|
||
|
|
void afft_set_shift(uint8_t stage, uint8_t lsf_in, uint8_t rsf_out);
|
||
|
|
|
||
|
|
void afft_interrupt_enable(uint8_t en);
|
||
|
|
void afft_interrupt_state_clear();
|
||
|
|
uint32_t afft_interrupt_state_get();
|
||
|
|
|
||
|
|
#ifdef __cplusplus
|
||
|
|
}
|
||
|
|
#endif
|
||
|
|
|
||
|
|
#endif //_AFFT_HW_H
|