1 /** @file notification.c
2 * @brief User Notification Definition File
6 * This file defines empty notification routines.
7 * The user needs to remove the while loop and define
16 #include "sys/ti_drv_can.h"
18 void esmGroup1Notification(uint32_t channel)
20 /* enter user code and remove the while loop... */
24 void esmGroup2Notification(uint32_t channel)
26 /* enter user code and remove the while loop... */
30 void memoryPort0TestFailNotification(uint32_t groupSelect, uint32_t dataSelect, uint32_t address, uint32_t data)
32 /* enter user code and remove the while loop... */
36 void memoryPort1TestFailNotification(uint32_t groupSelect, uint32_t dataSelect, uint32_t address, uint32_t data)
38 /* enter user code and remove the while loop... */
41 /** @brief Semaphore blocking task when it waits for interrupt signaling message receive
44 void canErrorNotification(canBASE_t *node, uint32_t notification)
47 void canMessageNotification(canBASE_t *node, uint32_t messageBox)
50 void gioNotification(int bit)
52 /* enter user code and remove the while loop... */
56 void i2cNotification(i2cBASE_t *i2c, uint32_t flags)
58 /* enter user code and remove the while loop... */
62 void mibspiNotification(mibspiBASE_t *mibspi, uint32_t flags)
64 /* enter user code and remove the while loop... */
68 void mibspiGroupNotification(mibspiBASE_t *mibspi, uint32_t group)
70 /* enter user code and remove the while loop... */
74 void pwmNotification(hetBASE_t *hetREG,uint32_t pwm, uint32_t notification)
76 /* enter user code and remove the while loop... */
80 void edgeNotification(hetBASE_t *hetREG,uint32_t edge)
82 /* enter user code and remove the while loop... */
86 void hetNotification(hetBASE_t *het, uint32_t offset)
88 /* enter user code and remove the while loop... */
92 #ifndef FREERTOS_POSIX
93 extern boolean_t HostPendErrHandler(void);
94 #if PHY_LINK_MONITOR_INT
95 extern boolean_t LinkIntHandler(void);
97 #pragma INTERRUPT(MDIOMiscInt, IRQ)
98 void MDIOMiscInt(void)
100 if (HostPendErrHandler()) return;
101 #if PHY_LINK_MONITOR_INT
102 if (LinkIntHandler()) return;
106 extern void RxIntHandler(uint32_t instNum);
107 extern void TxIntHandler(uint32_t instNum);
109 volatile int countEMACCore0RxIsr = 0;
110 #pragma INTERRUPT(EMACCore0RxIsr, IRQ)
111 void EMACCore0RxIsr(void)
113 countEMACCore0RxIsr++;
115 /* FIXME was in emac_cmd.c/eth.c and should move somewhere else.
118 // We know we have only one RX Packet Buffer descriptor --
119 // so we write it in CP to disable interrupt
120 EMACRxCPWrite(emacBase, channel, (unsigned int)rx_desc);
121 EMACCoreIntAck(emacBase, EMAC_INT_CORE0_RX);
125 volatile int countEMACCore0TxIsr = 0;
126 #pragma INTERRUPT(EMACCore0TxIsr, IRQ)
127 void EMACCore0TxIsr(void)
129 countEMACCore0TxIsr++;
131 /* FIXME Was in emac_cmd.c/eth.c and should move somewhere else
133 // If is not being processed by the EMAC anymore
134 if (!(fr1.PktFlgLen & EMAC_DSC_FLAG_OWNER)) {
135 EMACTxCPWrite(emacBase, channel, (unsigned int)&fr1);
136 EMACCoreIntAck(emacBase, EMAC_INT_CORE0_TX);
140 #endif /* ifndef FREERTOS_POSIX */