rpp/src/sys/asm/sys_intvecs.asm \
rpp/src/sys/asm/sys_mpu.asm \
rpp/src/sys/asm/sys_pmu.asm \
- rpp/src/sys/_$(TARGET)/notification.c \
+ $(call target_or_common,rpp/src/sys/notification.c) \
rpp/src/sys/phy_dp83848h.c \
rpp/src/sys/sys_phantom.c \
$(call target_or_common,rpp/src/sys/sys_pinmux.c) \
+/notification.c eaton
/phy_dp83848h.c eaton
/sys_phantom.c eaton
/sys_pinmux.c eaton
-/notification.c eaton
/sys_startup.c eaton
/ti_drv_adc.c eaton
&phantomInterrupt,
&phantomInterrupt,
&phantomInterrupt, // 75
- &phantomInterrupt, //MDIOMiscInt
- &phantomInterrupt, //EMACCore0TxIsr
+ &MDIOMiscInt, //MDIOMiscInt
+ &EMACCore0TxIsr, //EMACCore0TxIsr
&phantomInterrupt,
- &phantomInterrupt, //EMACCore0RxIsr
+ &EMACCore0RxIsr, //EMACCore0RxIsr
&phantomInterrupt, // 80
&phantomInterrupt,
&phantomInterrupt,
+++ /dev/null
-/** @file notification.c
- * @brief User Notification Definition File
- * @date 15.Mar.2012
- * @version 03.01.00
- *
- * This file defines empty notification routines.
- * The user needs to remove the while loop and define
- * the sequence.
- *
- */
-
-/* Include Files */
-
-#include "sys/sys.h"
-#include "sys/ti_drv_can.h"
-
-void esmGroup1Notification(uint32_t channel)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void esmGroup2Notification(uint32_t channel)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void memoryPort0TestFailNotification(uint32_t groupSelect, uint32_t dataSelect, uint32_t address, uint32_t data)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void memoryPort1TestFailNotification(uint32_t groupSelect, uint32_t dataSelect, uint32_t address, uint32_t data)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-/** @brief Semaphore blocking task when it waits for interrupt signaling message receive
- *
- */
-void canErrorNotification(canBASE_t *node, uint32_t notification)
-{}
-
-void canMessageNotification(canBASE_t *node, uint32_t messageBox)
-{}
-
-void gioNotification(int bit)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void i2cNotification(i2cBASE_t *i2c, uint32_t flags)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void mibspiNotification(mibspiBASE_t *mibspi, uint32_t flags)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void mibspiGroupNotification(mibspiBASE_t *mibspi, uint32_t group)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void pwmNotification(hetBASE_t *hetREG,uint32_t pwm, uint32_t notification)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void edgeNotification(hetBASE_t *hetREG,uint32_t edge)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void hetNotification(hetBASE_t *het, uint32_t offset)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
&phantomInterrupt,
&phantomInterrupt,
&phantomInterrupt, // 75
- &phantomInterrupt, //MDIOMiscInt
- &phantomInterrupt, //EMACCore0TxIsr
+ &MDIOMiscInt, //MDIOMiscInt
+ &EMACCore0TxIsr, //EMACCore0TxIsr
&phantomInterrupt,
- &phantomInterrupt, //EMACCore0RxIsr
+ &EMACCore0RxIsr, //EMACCore0RxIsr
&phantomInterrupt, // 80
&phantomInterrupt,
&phantomInterrupt,
+++ /dev/null
-/** @file notification.c
- * @brief User Notification Definition File
- * @date 15.Mar.2012
- * @version 03.01.00
- *
- * This file defines empty notification routines.
- * The user needs to remove the while loop and define
- * the sequence.
- *
- */
-
-/* Include Files */
-
-#include "sys/sys.h"
-#include "sys/ti_drv_can.h"
-
-void esmGroup1Notification(uint32_t channel)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void esmGroup2Notification(uint32_t channel)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void memoryPort0TestFailNotification(uint32_t groupSelect, uint32_t dataSelect, uint32_t address, uint32_t data)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void memoryPort1TestFailNotification(uint32_t groupSelect, uint32_t dataSelect, uint32_t address, uint32_t data)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-/** @brief Semaphore blocking task when it waits for interrupt signaling message receive
- *
- */
-void canErrorNotification(canBASE_t *node, uint32_t notification)
-{}
-
-void canMessageNotification(canBASE_t *node, uint32_t messageBox)
-{}
-
-void gioNotification(int bit)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void i2cNotification(i2cBASE_t *i2c, uint32_t flags)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void mibspiNotification(mibspiBASE_t *mibspi, uint32_t flags)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void mibspiGroupNotification(mibspiBASE_t *mibspi, uint32_t group)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void pwmNotification(hetBASE_t *hetREG,uint32_t pwm, uint32_t notification)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void edgeNotification(hetBASE_t *hetREG,uint32_t edge)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
-
-void hetNotification(hetBASE_t *het, uint32_t offset)
-{
-/* enter user code and remove the while loop... */
- while (1) ;
-}
&phantomInterrupt,
&phantomInterrupt,
&phantomInterrupt, // 75
- &phantomInterrupt, //MDIOMiscInt
- &phantomInterrupt, //EMACCore0TxIsr
+ &MDIOMiscInt, //MDIOMiscInt
+ &EMACCore0TxIsr, //EMACCore0TxIsr
&phantomInterrupt,
- &phantomInterrupt, //EMACCore0RxIsr
+ &EMACCore0RxIsr, //EMACCore0RxIsr
&phantomInterrupt, // 80
&phantomInterrupt,
&phantomInterrupt,
/* Include Files */
#include "sys/sys.h"
+#include "rpp/eth.h"
#include "sys/ti_drv_can.h"
void esmGroup1Notification(uint32_t channel)
/* enter user code and remove the while loop... */
while (1) ;
}
+
+#ifndef FREERTOS_POSIX
+extern boolean_t HostPendErrHandler(void);
+#if PHY_LINK_MONITOR_INT
+extern boolean_t LinkIntHandler(void);
+#endif
+#pragma INTERRUPT(MDIOMiscInt, IRQ)
+void MDIOMiscInt(void)
+{
+ if (HostPendErrHandler()) return;
+#if PHY_LINK_MONITOR_INT
+ if (LinkIntHandler()) return;
+#endif
+}
+
+extern void RxIntHandler(uint32_t instNum);
+extern void TxIntHandler(uint32_t instNum);
+
+volatile int countEMACCore0RxIsr = 0;
+#pragma INTERRUPT(EMACCore0RxIsr, IRQ)
+void EMACCore0RxIsr(void)
+{
+ countEMACCore0RxIsr++;
+ RxIntHandler(0);
+ /* FIXME was in emac_cmd.c/eth.c and should move somewhere else.
+ rx_irq_cnt++;
+
+ // We know we have only one RX Packet Buffer descriptor --
+ // so we write it in CP to disable interrupt
+ EMACRxCPWrite(emacBase, channel, (unsigned int)rx_desc);
+ EMACCoreIntAck(emacBase, EMAC_INT_CORE0_RX);
+ */
+}
+
+volatile int countEMACCore0TxIsr = 0;
+#pragma INTERRUPT(EMACCore0TxIsr, IRQ)
+void EMACCore0TxIsr(void)
+{
+ countEMACCore0TxIsr++;
+ TxIntHandler(0);
+ /* FIXME Was in emac_cmd.c/eth.c and should move somewhere else
+ tx_irq_cnt++;
+ // If is not being processed by the EMAC anymore
+ if (!(fr1.PktFlgLen & EMAC_DSC_FLAG_OWNER)) {
+ EMACTxCPWrite(emacBase, channel, (unsigned int)&fr1);
+ EMACCoreIntAck(emacBase, EMAC_INT_CORE0_TX);
+ }
+ */
+}
+#endif /* ifndef FREERTOS_POSIX */
\ No newline at end of file