39 lines
1.1 KiB
C
Raw Normal View History

2025-10-10 16:07:00 +08:00
#ifndef _SDMA_PUB_H_
#define _SDMA_PUB_H_
#define SDMA_INTERACT_WITH_HOST
typedef void (*TX_FUNC)(void);
typedef void (*CMD_FUNC)(void *buf, UINT32 len);
typedef void (*RX_FUNC)(UINT32 count);
/*******************************************************************************
* Function Declarations
*******************************************************************************/
extern void sdma_init(void);
extern void sdma_open(void);
extern void sdma_uninit(void);
extern void sdma_close(void);
#ifdef SDMA_INTERACT_WITH_HOST
extern UINT32 sdma_get_blk_len(void);
extern void sdma_set_tx_valid(void);
extern void sdma_clr_tx_valid(void);
extern void sdma_set_tx_dat_count(UINT32 val);
#endif // SDMA_INTERACT_WITH_HOST
extern void sdma_register_handler(TX_FUNC tx_callback,
RX_FUNC rx_callback,
CMD_FUNC cmd_callback);
extern UINT32 sdma_start_rx(UINT8 *buf, UINT32 len);
extern UINT32 sdma_start_tx(UINT8 *buf, UINT32 len);
extern UINT32 sdma_start_cmd(UINT8 *cmd, UINT32 len);
extern void sdma_fake_stop_dma(void);
extern void sdma_isr(void);
#endif // _SDMA_PUB_H_