Files
kunlun/driver/src/hw3/inc/afft_hw.h

59 lines
1.8 KiB
C
Raw Normal View History

2024-09-28 14:24:04 +08:00
/****************************************************************************
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