/* * mcasp.h * * Created on: 2021Äê7ÔÂ14ÈÕ * Author: graydon */ #ifndef DRV_SPORT_H_ #define DRV_SPORT_H_ #ifdef __cplusplus extern "C" { #endif #include #include "typedefs.h" #include "board.h" #include "dma.h" struct sport_regs ; typedef struct sport_regs SportRegsDef; #define SPORT0a (volatile SportRegsDef*)0x31002000 #define SPORT0b (volatile SportRegsDef*)0x31002080 #define SPORT1a (volatile SportRegsDef*)0x31002100 #define SPORT1b (volatile SportRegsDef*)0x31002180 #define SPORT2a (volatile SportRegsDef*)0x31002200 #define SPORT2b (volatile SportRegsDef*)0x31002280 #define SPORT3a (volatile SportRegsDef*)0x31002300 #define SPORT3b (volatile SportRegsDef*)0x31002380 #define SPORT4a (volatile SportRegsDef*)0x31002400 #define SPORT4b (volatile SportRegsDef*)0x31002480 #define SPORT5a (volatile SportRegsDef*)0x31002500 #define SPORT5b (volatile SportRegsDef*)0x31002580 #define SPORT6a (volatile SportRegsDef*)0x31002600 #define SPORT6b (volatile SportRegsDef*)0x31002680 #define SPORT7a (volatile SportRegsDef*)0x31002700 #define SPORT7b (volatile SportRegsDef*)0x31002780 struct AudioCodec{ int32_t* dataPtr[2]; uint8_t slot_num; uint8_t channel_num; uint8_t rx; uint8_t enable_sec; }; void sport_init(void); volatile SportRegsDef* get_sport_regs(uint32_t sportid); void sport_config(volatile SportRegsDef* regs ,struct SportDef * config); void sport_enable(volatile SportRegsDef* regs, ubool enable_sec); #ifdef __cplusplus } #endif #endif /* DRV_SPORT_H_ */