SDL API Guide for J721S2
sdl_tog.h
Go to the documentation of this file.
1 
39 #ifndef SDL_TOG_H_
40 #define SDL_TOG_H_
41 
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45 
46 #include <stdint.h>
47 #include <stdbool.h>
48 #include <src/ip/sdl_ip_tog.h>
49 #include <src/ip/sdlr_tog.h>
50 
112 typedef uint8_t SDL_TOG_cfgCtrl;
115 #define SDL_TOG_CFG_TIMEOUT 0x01U
116 
117 #define SDL_TOG_CFG_INTR_PENDING 0x02U
118 
133 typedef struct
134 {
136  uint32_t routeId;
138  uint32_t orderId;
140  uint32_t dir;
142  uint32_t type;
144  uint32_t tag;
147  uint32_t commandId;
152  uint32_t orgByteCnt;
156  uint32_t currByteCnt;
160  uint64_t address;
162 
168 typedef struct {
170  uint32_t timeoutVal;
173 
181 typedef struct {
182  uint32_t PID;
183  uint32_t CFG;
184  uint32_t ENABLE;
185  uint32_t FLUSH;
186  uint32_t TIMEOUT;
187  uint32_t ERR;
189 
211 int32_t SDL_TOG_init(SDL_TOG_Inst instance, const SDL_TOG_config *pConfig);
212 
226 int32_t SDL_TOG_verifyConfig(SDL_TOG_Inst instance, const SDL_TOG_config *pConfig);
227 
245 int32_t SDL_TOG_setIntrEnable( SDL_TOG_Inst instance, SDL_TOG_IntrSrc intrSrcs, bool enable );
246 
262  int32_t SDL_TOG_clrIntrPending(SDL_TOG_Inst instance, SDL_TOG_IntrSrc intrSrc);
263 
278  int32_t SDL_TOG_getIntrPending(SDL_TOG_Inst instance, SDL_TOG_IntrSrc *pPendInts);
279 
302  int32_t SDL_TOG_ackIntr(SDL_TOG_Inst instance, SDL_TOG_IntrSrc intrSrc, uint32_t ackCnt);
303 
314  int32_t SDL_TOG_start(SDL_TOG_Inst instance);
315 
326  int32_t SDL_TOG_stop(SDL_TOG_Inst instance);
327 
344 int32_t SDL_TOG_reset(SDL_TOG_Inst instance);
345 
365  int32_t SDL_TOG_getErrInfo(SDL_TOG_Inst instance, SDL_TOG_errInfo *pErrInfo);
366 
378 int32_t SDL_TOG_getStaticRegisters(SDL_TOG_Inst instance, SDL_TOG_staticRegs *pStaticRegs);
379 
392 int32_t SDL_TOG_setFlushMode(SDL_TOG_Inst instance, bool enable);
393 
418 int32_t SDL_TOG_getIntrCount(SDL_TOG_Inst instance, SDL_TOG_IntrSrc intrSrc, uint32_t *pIntrCnt );
419 
422 #ifdef __cplusplus
423 }
424 #endif
425 
426 #endif /* SDL_TOG_H_ */
427 
428 /* nothing past this point */
uint32_t routeId
Definition: sdl_tog.h:136
uint32_t type
Definition: sdl_tog.h:142
Slave TOG Static Registers.
Definition: sdl_tog.h:181
uint32_t ENABLE
Definition: sdl_tog.h:184
int32_t SDL_TOG_clrIntrPending(SDL_TOG_Inst instance, SDL_TOG_IntrSrc intrSrc)
Clear pending interrupt source(s)
SDL_TOG_IntrSrc intrSrcs
Definition: sdl_tog.h:171
uint32_t SDL_TOG_IntrSrc
Definition: sdl_ip_tog.h:110
This structure contains timeout error information.
Definition: sdl_tog.h:133
int32_t SDL_TOG_getErrInfo(SDL_TOG_Inst instance, SDL_TOG_errInfo *pErrInfo)
Get timeout error information.
uint32_t TIMEOUT
Definition: sdl_tog.h:186
int32_t SDL_TOG_getStaticRegisters(SDL_TOG_Inst instance, SDL_TOG_staticRegs *pStaticRegs)
Readback Static configuration registers.
int32_t SDL_TOG_init(SDL_TOG_Inst instance, const SDL_TOG_config *pConfig)
Initialize TOG module with respect of instance.
uint32_t timeoutVal
Definition: sdl_tog.h:170
int32_t SDL_TOG_setIntrEnable(SDL_TOG_Inst instance, SDL_TOG_IntrSrc intrSrcs, bool enable)
Enable/disable interrupt source(s)
int32_t SDL_TOG_ackIntr(SDL_TOG_Inst instance, SDL_TOG_IntrSrc intrSrc, uint32_t ackCnt)
Ack interrupt source.
uint32_t FLUSH
Definition: sdl_tog.h:185
uint32_t orderId
Definition: sdl_tog.h:138
int32_t SDL_TOG_getIntrPending(SDL_TOG_Inst instance, SDL_TOG_IntrSrc *pPendInts)
Get masked (enabled) pending interrupt sources.
int32_t SDL_TOG_start(SDL_TOG_Inst instance)
Start the timer counter.
int32_t SDL_TOG_setFlushMode(SDL_TOG_Inst instance, bool enable)
Enable/disable flush mode.
int32_t SDL_TOG_getIntrCount(SDL_TOG_Inst instance, SDL_TOG_IntrSrc intrSrc, uint32_t *pIntrCnt)
Get interrupt count.
uint32_t ERR
Definition: sdl_tog.h:187
uint8_t SDL_TOG_cfgCtrl
Definition: sdl_tog.h:113
uint32_t tag
Definition: sdl_tog.h:144
uint32_t currByteCnt
Definition: sdl_tog.h:156
uint32_t PID
Definition: sdl_tog.h:182
uint8_t SDL_TOG_Inst
Definition: sdl_soc_tog.h:60
uint32_t commandId
Definition: sdl_tog.h:147
uint32_t dir
Definition: sdl_tog.h:140
int32_t SDL_TOG_verifyConfig(SDL_TOG_Inst instance, const SDL_TOG_config *pConfig)
Verifying written configuration with TOG module.
int32_t SDL_TOG_stop(SDL_TOG_Inst instance)
Stop the timer counter.
uint32_t CFG
Definition: sdl_tog.h:183
This structure contains TOG configuration information.
Definition: sdl_tog.h:168
SDL_TOG_cfgCtrl cfgCtrl
Definition: sdl_tog.h:169
uint64_t address
Definition: sdl_tog.h:160
int32_t SDL_TOG_reset(SDL_TOG_Inst instance)
Reset the timeout functionality.
uint32_t orgByteCnt
Definition: sdl_tog.h:152