added interrupt service routine for PCI errors. Fixed XLB macros (contained double undescores for _MBAR)
This commit is contained in:
@@ -24,17 +24,17 @@
|
|||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
||||||
/* Register read/write macros */
|
/* Register read/write macros */
|
||||||
#define MCF_XLB_XARB_CFG (*(volatile uint32_t*)(&__MBAR[0x240]))
|
#define MCF_XLB_XARB_CFG (*(volatile uint32_t*)(&_MBAR[0x240]))
|
||||||
#define MCF_XLB_XARB_VER (*(volatile uint32_t*)(&__MBAR[0x244]))
|
#define MCF_XLB_XARB_VER (*(volatile uint32_t*)(&_MBAR[0x244]))
|
||||||
#define MCF_XLB_XARB_SR (*(volatile uint32_t*)(&__MBAR[0x248]))
|
#define MCF_XLB_XARB_SR (*(volatile uint32_t*)(&_MBAR[0x248]))
|
||||||
#define MCF_XLB_XARB_IMR (*(volatile uint32_t*)(&__MBAR[0x24C]))
|
#define MCF_XLB_XARB_IMR (*(volatile uint32_t*)(&_MBAR[0x24C]))
|
||||||
#define MCF_XLB_XARB_ADRCAP (*(volatile uint32_t*)(&__MBAR[0x250]))
|
#define MCF_XLB_XARB_ADRCAP (*(volatile uint32_t*)(&_MBAR[0x250]))
|
||||||
#define MCF_XLB_XARB_SIGCAP (*(volatile uint32_t*)(&__MBAR[0x254]))
|
#define MCF_XLB_XARB_SIGCAP (*(volatile uint32_t*)(&_MBAR[0x254]))
|
||||||
#define MCF_XLB_XARB_ADRTO (*(volatile uint32_t*)(&__MBAR[0x258]))
|
#define MCF_XLB_XARB_ADRTO (*(volatile uint32_t*)(&_MBAR[0x258]))
|
||||||
#define MCF_XLB_XARB_DATTO (*(volatile uint32_t*)(&__MBAR[0x25C]))
|
#define MCF_XLB_XARB_DATTO (*(volatile uint32_t*)(&_MBAR[0x25C]))
|
||||||
#define MCF_XLB_XARB_BUSTO (*(volatile uint32_t*)(&__MBAR[0x260]))
|
#define MCF_XLB_XARB_BUSTO (*(volatile uint32_t*)(&_MBAR[0x260]))
|
||||||
#define MCF_XLB_XARB_PRIEN (*(volatile uint32_t*)(&__MBAR[0x264]))
|
#define MCF_XLB_XARB_PRIEN (*(volatile uint32_t*)(&_MBAR[0x264]))
|
||||||
#define MCF_XLB_XARB_PRI (*(volatile uint32_t*)(&__MBAR[0x268]))
|
#define MCF_XLB_XARB_PRI (*(volatile uint32_t*)(&_MBAR[0x268]))
|
||||||
|
|
||||||
|
|
||||||
/* Bit definitions and macros for MCF_XLB_XARB_CFG */
|
/* Bit definitions and macros for MCF_XLB_XARB_CFG */
|
||||||
|
|||||||
@@ -23,9 +23,9 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include "MCF5475.h"
|
||||||
#include "bas_utils.h"
|
#include "bas_utils.h"
|
||||||
#include "interrupts.h"
|
#include "interrupts.h"
|
||||||
#include "MCF5475.h"
|
|
||||||
|
|
||||||
extern uint8_t _rtl_vbr[];
|
extern uint8_t _rtl_vbr[];
|
||||||
#define VBR ((uint32_t **) &_rtl_vbr[0])
|
#define VBR ((uint32_t **) &_rtl_vbr[0])
|
||||||
@@ -93,3 +93,10 @@ int register_handler(uint8_t priority, uint8_t intr, void (*func)())
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__attribute__((interrupt)) void pci_arb_interrupt(void)
|
||||||
|
{
|
||||||
|
xprintf("XLBARB slave error interrupt\r\n");
|
||||||
|
MCF_XLB_XARB_SR |= ~MCF_XLB_XARB_SR_SEA;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -447,7 +447,7 @@ void init_eport(void)
|
|||||||
MCF_EPORT_EPPAR_EPPA1(MCF_EPORT_EPPAR_FALLING);
|
MCF_EPORT_EPPAR_EPPA1(MCF_EPORT_EPPAR_FALLING);
|
||||||
MCF_EPORT_EPDDR = 0; /* clear data direction register. All pins as input */
|
MCF_EPORT_EPDDR = 0; /* clear data direction register. All pins as input */
|
||||||
MCF_EPORT_EPFR = 0; /* clear all EPORT interrupt flags */
|
MCF_EPORT_EPFR = 0; /* clear all EPORT interrupt flags */
|
||||||
MCF_EPORT_EPIER = 0; /* disable all EPORT interrupts (for now) */
|
MCF_EPORT_EPIER = 0xfe; /* enable all EPORT interrupts (for now) */
|
||||||
}
|
}
|
||||||
|
|
||||||
void init_xlbus_arbiter(void)
|
void init_xlbus_arbiter(void)
|
||||||
|
|||||||
Reference in New Issue
Block a user