AM263x MCU+ SDK  09.02.00
pruicss/m_v0/pruicss.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2021 Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
45 #ifndef PRUICSS_H_
46 #define PRUICSS_H_
47 
48 /* ========================================================================== */
49 /* Include Files */
50 /* ========================================================================== */
51 
52 #include <stdint.h>
53 #include <kernel/dpl/SystemP.h>
54 #include <kernel/dpl/SemaphoreP.h>
55 #include <kernel/dpl/HwiP.h>
56 #include <drivers/hw_include/cslr_icss.h>
57 
58 #ifdef __cplusplus
59 extern "C" {
60 #endif
61 
62 /* ========================================================================== */
63 /* Macros & Typedefs */
64 /* ========================================================================== */
65 
74 #define PRUICSS_PRU0 (0U)
75 #define PRUICSS_PRU1 (1U)
76 
82 #define PRUICSS_NUM_CORES (2U)
83 
93 #define PRUICSS_DATARAM(n) (0x00000U + ((n) * 0x02000U))
94 
95 #define PRUICSS_SHARED_RAM (0x10000U)
96 
97 #define PRUICSS_IRAM_PRU(n) (0x34000U + ((n) * 0x04000U))
98 
103 #define PRUICSS_INTC_NUM_HOST_INTERRUPTS (10U)
104 
108 #define PRUICSS_INTC_NUM_CHANNELS (10U)
109 
113 #define PRUICSS_INTC_NUM_SYS_EVTS (64U)
114 
115 
124 #define PRUICSS_CONST_TBL_ENTRY_C24 (0U)
125 #define PRUICSS_CONST_TBL_ENTRY_C25 (1U)
126 #define PRUICSS_CONST_TBL_ENTRY_C26 (2U)
127 #define PRUICSS_CONST_TBL_ENTRY_C27 (3U)
128 #define PRUICSS_CONST_TBL_ENTRY_C28 (4U)
129 #define PRUICSS_CONST_TBL_ENTRY_C29 (5U)
130 #define PRUICSS_CONST_TBL_ENTRY_C30 (6U)
131 #define PRUICSS_CONST_TBL_ENTRY_C31 (7U)
132 #define PRUICSS_NUM_CONST_TBL_ENTRY (8U)
133 
141 #define PRUICSS_GP_MUX_SEL_MODE_GP (0U)
142 #define PRUICSS_GP_MUX_SEL_MODE_ENDAT (1U)
143 #define PRUICSS_GP_MUX_SEL_MODE_MII (2U)
144 #define PRUICSS_GP_MUX_SEL_MODE_SD (3U)
145 
150 #define PRUICSS_NUM_GP_MUX_SEL_MODES (4U)
151 
159 #define PRUICSS_GPI_MODE_DIRECT_R31_STATUS (0U)
160 
162 #define PRUICSS_GPI_MODE_PARALLEL_16_BIT_CAPTURE (1U)
163 
165 #define PRUICSS_GPI_MODE_29_BIT_SHIFT (2U)
166 
167 #define PRUICSS_GPI_MODE_MII_RT (3U)
168 
173 #define PRUICSS_NUM_GPI_MODES (4U)
174 
182 #define PRUICSS_SA_MUX_MODE_DEFAULT (0U)
183 
184 #define PRUICSS_SA_MUX_MODE_SD_ENDAT (1U)
185 
190 #define PRUICSS_NUM_SA_MUX_MODES (2U)
191 
199 #define PRUICSS_ICSS_CFG_MII_MODE_MII (0U)
200 
201 #define PRUICSS_ICSS_CFG_MII_MODE_RGMII (1U)
202 
207 #define PRUICSS_NUM_ICSS_CFG_MII_MODES (2U)
208 
215 #define PRUICSS_TX_L1_FIFO (0U)
216 #define PRUICSS_TX_L2_FIFO (1U)
217 
220 typedef void (*PRUICSS_IrqHandler)(void* buf);
221 
226 typedef struct PRUICSS_Config_s *PRUICSS_Handle;
227 
228 /* ========================================================================== */
229 /* Structure Declarations */
230 /* ========================================================================== */
231 
236 typedef struct PRUICSS_SysevtToChannelMap_s
237 {
238  uint8_t sysevt;
240  uint8_t channel;
242  uint8_t polarity;
244  uint8_t type;
247 
252 typedef struct PRUICSS_ChannelToHostMap_s
253 {
254  int16_t channel;
256  int16_t host;
259 
264 typedef struct PRUICSS_IntcInitData_s
265 {
266  uint8_t sysevtsEnabled[PRUICSS_INTC_NUM_SYS_EVTS];
281 
286 typedef struct PRUICSS_IrqFunMap_s
287 {
292  uint8_t waitEnable;
298 
306 typedef struct PRUICSS_Object_s
307 {
308  uint32_t pruicssVersion;
311  /* IRQ Handler mapping structure for all host interrupts*/
313 
322 typedef struct PRUICSS_HWAttrs
323 {
324  uint32_t instance;
325  uintptr_t baseAddr;
326  uintptr_t pru0CtrlRegBase;
327  uintptr_t pru1CtrlRegBase;
328  uintptr_t intcRegBase;
329  uintptr_t cfgRegBase;
330  uintptr_t uartRegBase;
331  uintptr_t iep0RegBase;
332  uintptr_t ecapRegBase;
333  uintptr_t miiRtCfgRegBase;
334  uintptr_t miiGRtCfgRegBase;
335  uintptr_t miiMdioRegBase;
336  uintptr_t pru0DramBase;
337  uintptr_t pru1DramBase;
338  uintptr_t pru0IramBase;
339  uintptr_t pru1IramBase;
340  uintptr_t sharedDramBase;
341  uint32_t pru0DramSize;
342  uint32_t pru1DramSize;
343  uint32_t pru0IramSize;
344  uint32_t pru1IramSize;
345  uint32_t sharedDramSize;
347 
352 typedef struct PRUICSS_Config_s
353 {
359 
360 /* ========================================================================== */
361 /* Function Declarations */
362 /* ========================================================================== */
363 
369 int32_t PRUICSS_init(void);
370 
376 int32_t PRUICSS_deinit(void);
377 
385 PRUICSS_Handle PRUICSS_open(uint32_t instance);
386 
395 
407  const PRUICSS_IntcInitData *intcInitData);
408 
426  uint32_t pruEvtoutNum,
427  int32_t intrNum,
428  int32_t eventNum,
429  uint8_t waitEnable,
430  PRUICSS_IrqHandler irqHandler);
431 
441 int32_t PRUICSS_resetCore(PRUICSS_Handle handle, uint8_t pruNum);
442 
452 int32_t PRUICSS_disableCore(PRUICSS_Handle handle, uint8_t pruNum);
453 
463 int32_t PRUICSS_enableCore(PRUICSS_Handle handle, uint8_t pruNum);
464 
475 uint32_t PRUICSS_initMemory(PRUICSS_Handle handle, uint32_t pruicssMem);
476 
491  uint32_t pruicssMem,
492  uint32_t wordoffset,
493  const uint32_t *source_mem,
494  uint32_t bytelength);
495 
510  uint32_t pruicssMem,
511  uint32_t wordoffset,
512  uint32_t *dest_mem,
513  uint32_t bytelength);
514 
525 int32_t PRUICSS_sendEvent(PRUICSS_Handle handle, uint32_t eventnum);
526 
537 int32_t PRUICSS_waitEvent(PRUICSS_Handle handle, uint32_t pruEvtoutNum);
538 
549 int32_t PRUICSS_clearEvent(PRUICSS_Handle handle, uint32_t eventnum);
550 
564  uint32_t sendEventNum,
565  uint32_t pruEvtoutNum,
566  uint32_t ackEventNum);
567 
576 
591  uint8_t pruNum,
592  int32_t constantTblEntry,
593  uint32_t constantTblVal);
594 
605 int32_t PRUICSS_setIepClkSrc(PRUICSS_Handle handle, uint32_t source);
606 
616 int32_t PRUICSS_setGpMuxSelect(PRUICSS_Handle handle, uint8_t pruNum, uint8_t mode);
617 
627 int32_t PRUICSS_setGpiMode(PRUICSS_Handle handle, uint8_t pruNum, uint8_t mode);
628 
629 /*TODO: Review this*/
638 int32_t PRUICSS_setSaMuxMode(PRUICSS_Handle handle, uint8_t mode);
639 
650 int32_t PRUICSS_configureCycleCounter(PRUICSS_Handle handle, uint8_t pruNum, uint8_t enable);
651 
661 int32_t PRUICSS_controlIepCounter(PRUICSS_Handle handle, uint8_t iepInstance, uint8_t enable);
662 
673 int32_t PRUICSS_setIepCounterIncrementValue(PRUICSS_Handle handle, uint8_t iepInstance, uint8_t value);
674 
684 int32_t PRUICSS_readEfuse(PRUICSS_Handle handle, uint8_t *data);
685 
695 int32_t PRUICSS_setIcssCfgMiiMode(PRUICSS_Handle handle, uint8_t miiInstance, uint8_t mode);
696 
706 int32_t PRUICSS_setIcssCfgTxFifo(PRUICSS_Handle handle, uint8_t fifoInstance, uint8_t enable);
707 
715 const PRUICSS_HwAttrs *PRUICSS_getAttrs(uint32_t instance);
716 
727 int32_t PRUICSS_loadFirmware(PRUICSS_Handle handle, uint8_t pruIcssCore, const uint32_t pruFirmware[], uint32_t byteLength);
728 /* ========================================================================== */
729 /* Global Variables */
730 /* ========================================================================== */
731 
734 #ifdef __cplusplus
735 }
736 #endif
737 
738 #endif /* #ifndef PRUICSS_H_ */
PRUICSS_clearEvent
int32_t PRUICSS_clearEvent(PRUICSS_Handle handle, uint32_t eventnum)
This function clears an INTC event. It should be called only after successful execution of PRUICSS_in...
PRUICSS_INTC_NUM_CHANNELS
#define PRUICSS_INTC_NUM_CHANNELS
Number of Output Interrupt channels supported in PRUICSS Local INTC.
Definition: pruicss/m_v0/pruicss.h:108
PRUICSS_SysevtToChannelMap::channel
uint8_t channel
Definition: pruicss/m_v0/pruicss.h:240
PRUICSS_SysevtToChannelMap::sysevt
uint8_t sysevt
Definition: pruicss/m_v0/pruicss.h:238
PRUICSS_HwAttrs::baseAddr
uintptr_t baseAddr
Definition: pruicss/m_v0/pruicss.h:325
PRUICSS_configureCycleCounter
int32_t PRUICSS_configureCycleCounter(PRUICSS_Handle handle, uint8_t pruNum, uint8_t enable)
This function enables/disables the PRU Cycle Counter for a core.
PRUICSS_HwAttrs::sharedDramBase
uintptr_t sharedDramBase
Definition: pruicss/m_v0/pruicss.h:340
PRUICSS_HwAttrs::iep0RegBase
uintptr_t iep0RegBase
Definition: pruicss/m_v0/pruicss.h:331
PRUICSS_resetCore
int32_t PRUICSS_resetCore(PRUICSS_Handle handle, uint8_t pruNum)
This function resets the PRU.
PRUICSS_SysevtToChannelMap::type
uint8_t type
Definition: pruicss/m_v0/pruicss.h:244
PRUICSS_sendWaitClearEvent
int32_t PRUICSS_sendWaitClearEvent(PRUICSS_Handle handle, uint32_t sendEventNum, uint32_t pruEvtoutNum, uint32_t ackEventNum)
This function generates an INTC event, waits for AINTC event and clears an INTC event.
SystemP.h
PRUICSS_Config::object
PRUICSS_Object * object
Definition: pruicss/m_v0/pruicss.h:354
PRUICSS_HwAttrs::pru1DramSize
uint32_t pru1DramSize
Definition: pruicss/m_v0/pruicss.h:342
PRUICSS_close
int32_t PRUICSS_close(PRUICSS_Handle handle)
This function deletes the handle for a PRUICSS instance.
PRUICSS_readMemory
uint32_t PRUICSS_readMemory(PRUICSS_Handle handle, uint32_t pruicssMem, uint32_t wordoffset, uint32_t *dest_mem, uint32_t bytelength)
This function reads from PRU memory and stores in block of memory.
PRUICSS_IrqFunMap::semObj
SemaphoreP_Object semObj
Definition: pruicss/m_v0/pruicss.h:294
PRUICSS_HwAttrs::ecapRegBase
uintptr_t ecapRegBase
Definition: pruicss/m_v0/pruicss.h:332
PRUICSS_HwAttrs::miiMdioRegBase
uintptr_t miiMdioRegBase
Definition: pruicss/m_v0/pruicss.h:335
PRUICSS_setGpiMode
int32_t PRUICSS_setGpiMode(PRUICSS_Handle handle, uint8_t pruNum, uint8_t mode)
This API sets the GPI mode for a specific PRU.
PRUICSS_HwAttrs::miiRtCfgRegBase
uintptr_t miiRtCfgRegBase
Definition: pruicss/m_v0/pruicss.h:333
PRUICSS_enableCore
int32_t PRUICSS_enableCore(PRUICSS_Handle handle, uint8_t pruNum)
This function enables the PRU.
SemaphoreP.h
PRUICSS_IntcInitData::hostEnableBitmask
uint32_t hostEnableBitmask
Definition: pruicss/m_v0/pruicss.h:275
PRUICSS_HwAttrs::pru1IramBase
uintptr_t pru1IramBase
Definition: pruicss/m_v0/pruicss.h:339
PRUICSS_setIcssCfgTxFifo
int32_t PRUICSS_setIcssCfgTxFifo(PRUICSS_Handle handle, uint8_t fifoInstance, uint8_t enable)
This API configures the TX FIFO to be used.
PRUICSS_IrqFunMap::waitEnable
uint8_t waitEnable
Definition: pruicss/m_v0/pruicss.h:292
PRUICSS_HwAttrs::pru0DramSize
uint32_t pru0DramSize
Definition: pruicss/m_v0/pruicss.h:341
PRUICSS_init
int32_t PRUICSS_init(void)
This function initializes the PRUICSS module.
PRUICSS_setIcssCfgMiiMode
int32_t PRUICSS_setIcssCfgMiiMode(PRUICSS_Handle handle, uint8_t miiInstance, uint8_t mode)
This API sets the MII mode in MII_G_RT_ICSS_M_CFG register.
PRUICSS_HwAttrs::sharedDramSize
uint32_t sharedDramSize
Definition: pruicss/m_v0/pruicss.h:345
PRUICSS_HwAttrs::pru1DramBase
uintptr_t pru1DramBase
Definition: pruicss/m_v0/pruicss.h:337
PRUICSS_deinit
int32_t PRUICSS_deinit(void)
This function de-initializes the PRUICSS module.
PRUICSS_setIepCounterIncrementValue
int32_t PRUICSS_setIepCounterIncrementValue(PRUICSS_Handle handle, uint8_t iepInstance, uint8_t value)
This API sets the default increment value for counter in IEP module. This value is used when compensa...
HwiP.h
PRUICSS_HwAttrs
PRUICSS Hardware Attributes.
Definition: pruicss/m_v0/pruicss.h:323
PRUICSS_HwAttrs::pru1IramSize
uint32_t pru1IramSize
Definition: pruicss/m_v0/pruicss.h:344
PRUICSS_disableCore
int32_t PRUICSS_disableCore(PRUICSS_Handle handle, uint8_t pruNum)
This function disables the PRU.
PRUICSS_HwAttrs::pru0IramBase
uintptr_t pru0IramBase
Definition: pruicss/m_v0/pruicss.h:338
PRUICSS_IrqFunMap::hwiObj
HwiP_Object hwiObj
Definition: pruicss/m_v0/pruicss.h:290
PRUICSS_setSaMuxMode
int32_t PRUICSS_setSaMuxMode(PRUICSS_Handle handle, uint8_t mode)
This API sets the G_MUX_EN mux field in SA_MX_REG register.
PRUICSS_HwAttrs::pru0DramBase
uintptr_t pru0DramBase
Definition: pruicss/m_v0/pruicss.h:336
PRUICSS_HwAttrs::cfgRegBase
uintptr_t cfgRegBase
Definition: pruicss/m_v0/pruicss.h:329
PRUICSS_HwAttrs::intcRegBase
uintptr_t intcRegBase
Definition: pruicss/m_v0/pruicss.h:328
PRUICSS_setGpMuxSelect
int32_t PRUICSS_setGpMuxSelect(PRUICSS_Handle handle, uint8_t pruNum, uint8_t mode)
This API sets the GP Mux Select mode for a specific PRU.
PRUICSS_getVersion
uint32_t PRUICSS_getVersion(PRUICSS_Handle handle)
Get PRUICSS version number from ICSSCFG_REVID register.
PRUICSS_open
PRUICSS_Handle PRUICSS_open(uint32_t instance)
This function creates the handle for a PRUICSS instance.
PRUICSS_Config::hwAttrs
PRUICSS_HwAttrs const * hwAttrs
Definition: pruicss/m_v0/pruicss.h:356
PRUICSS_getAttrs
const PRUICSS_HwAttrs * PRUICSS_getAttrs(uint32_t instance)
Return PRUICSS attributes.
PRUICSS_Config
PRUICSS Global configuration structure.
Definition: pruicss/m_v0/pruicss.h:353
PRUICSS_HwAttrs::pru0CtrlRegBase
uintptr_t pru0CtrlRegBase
Definition: pruicss/m_v0/pruicss.h:326
PRUICSS_Object::pruicssVersion
uint32_t pruicssVersion
Definition: pruicss/m_v0/pruicss.h:308
PRUICSS_IrqFunMap::irqHandler
PRUICSS_IrqHandler irqHandler
Definition: pruicss/m_v0/pruicss.h:288
PRUICSS_waitEvent
int32_t PRUICSS_waitEvent(PRUICSS_Handle handle, uint32_t pruEvtoutNum)
This function waits for a system event to happen. It should be called only after successful execution...
PRUICSS_initMemory
uint32_t PRUICSS_initMemory(PRUICSS_Handle handle, uint32_t pruicssMem)
This function initializes the PRU memory to zero.
PRUICSS_IntcInitData
PRUICSS Interrupt controller initialisation data structure.
Definition: pruicss/m_v0/pruicss.h:265
PRUICSS_HwAttrs::instance
uint32_t instance
Definition: pruicss/m_v0/pruicss.h:324
PRUICSS_SysevtToChannelMap::polarity
uint8_t polarity
Definition: pruicss/m_v0/pruicss.h:242
PRUICSS_ChannelToHostMap::channel
int16_t channel
Definition: pruicss/m_v0/pruicss.h:254
PRUICSS_INTC_NUM_HOST_INTERRUPTS
#define PRUICSS_INTC_NUM_HOST_INTERRUPTS
Number of Host Interrupts supported in PRUICSS Local INTC.
Definition: pruicss/m_v0/pruicss.h:103
PRUICSS_ChannelToHostMap
Data structure used for channel to host map in PRUICSS.
Definition: pruicss/m_v0/pruicss.h:253
HwiP_Object
Opaque Hwi object used with the Hwi APIs.
Definition: HwiP.h:93
PRUICSS_setConstantTblEntry
int32_t PRUICSS_setConstantTblEntry(PRUICSS_Handle handle, uint8_t pruNum, int32_t constantTblEntry, uint32_t constantTblVal)
This API updates the constant table for specified constant table entry which have write permissions.
PRUICSS_loadFirmware
int32_t PRUICSS_loadFirmware(PRUICSS_Handle handle, uint8_t pruIcssCore, const uint32_t pruFirmware[], uint32_t byteLength)
This API disables pruIcssCore, loads IMEM, resets pruIcssCore, enables pruIcssCore.
PRUICSS_readEfuse
int32_t PRUICSS_readEfuse(PRUICSS_Handle handle, uint8_t *data)
This API reads the state of efuse bits from HWDIS_REG register.
SemaphoreP_Object
Opaque semaphore object used with the semaphore APIs.
Definition: SemaphoreP.h:59
PRUICSS_ChannelToHostMap::host
int16_t host
Definition: pruicss/m_v0/pruicss.h:256
PRUICSS_INTC_NUM_SYS_EVTS
#define PRUICSS_INTC_NUM_SYS_EVTS
Number of Events that can be captured in PRUICSS Local INTC.
Definition: pruicss/m_v0/pruicss.h:113
PRUICSS_Object
PRUICSS Object.
Definition: pruicss/m_v0/pruicss.h:307
PRUICSS_HwAttrs::miiGRtCfgRegBase
uintptr_t miiGRtCfgRegBase
Definition: pruicss/m_v0/pruicss.h:334
PRUICSS_IrqFunMap
PRUICSS IRQ handler mapping structure.
Definition: pruicss/m_v0/pruicss.h:287
PRUICSS_IrqHandler
void(* PRUICSS_IrqHandler)(void *buf)
Definition: pruicss/m_v0/pruicss.h:220
PRUICSS_HwAttrs::pru0IramSize
uint32_t pru0IramSize
Definition: pruicss/m_v0/pruicss.h:343
PRUICSS_setIepClkSrc
int32_t PRUICSS_setIepClkSrc(PRUICSS_Handle handle, uint32_t source)
This API configures the source of the IEP clock to be either IEP CLK as the source or ICSSM CORE CLK.
PRUICSS_sendEvent
int32_t PRUICSS_sendEvent(PRUICSS_Handle handle, uint32_t eventnum)
This function generates an INTC event. It should be called only after successful execution of PRUICSS...
PRUICSS_intcInit
int32_t PRUICSS_intcInit(PRUICSS_Handle handle, const PRUICSS_IntcInitData *intcInitData)
This function does Interrupt-Channel-host mapping.
PRUICSS_SysevtToChannelMap
Data structure used for system event to channel mapping in PRUICSS.
Definition: pruicss/m_v0/pruicss.h:237
PRUICSS_writeMemory
uint32_t PRUICSS_writeMemory(PRUICSS_Handle handle, uint32_t pruicssMem, uint32_t wordoffset, const uint32_t *source_mem, uint32_t bytelength)
This function writes the given data to PRU memory.
PRUICSS_controlIepCounter
int32_t PRUICSS_controlIepCounter(PRUICSS_Handle handle, uint8_t iepInstance, uint8_t enable)
This API enables/disables the counter in IEP module.
PRUICSS_HwAttrs::uartRegBase
uintptr_t uartRegBase
Definition: pruicss/m_v0/pruicss.h:330
PRUICSS_Handle
struct PRUICSS_Config_s * PRUICSS_Handle
A handle that is returned from a PRUICSS_open() call. This handle is required for calling other APIs.
Definition: pruicss/m_v0/pruicss.h:226
PRUICSS_IrqFunMap::pruicssHandle
PRUICSS_Handle pruicssHandle
Definition: pruicss/m_v0/pruicss.h:296
PRUICSS_HwAttrs::pru1CtrlRegBase
uintptr_t pru1CtrlRegBase
Definition: pruicss/m_v0/pruicss.h:327
PRUICSS_registerIrqHandler
int32_t PRUICSS_registerIrqHandler(PRUICSS_Handle handle, uint32_t pruEvtoutNum, int32_t intrNum, int32_t eventNum, uint8_t waitEnable, PRUICSS_IrqHandler irqHandler)
This function registers an Interrupt Handler for an event.