forked from Imagelibrary/rtems
2011-11-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
* new-exceptions/bspsupport/ppc_exc_async_normal.S: Bugfix for MPC5674F. Use it for all to be safe. * mpc55xx/include/emios.h: Fixed eMIOS module count. * mpc55xx/include/irq.h: Fixed CAN vector numbers. BSP_INTERRUPT_HANDLER_TABLE_SIZE is now a BSP option.
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
2011-11-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* new-exceptions/bspsupport/ppc_exc_async_normal.S: Bugfix for
|
||||
MPC5674F. Use it for all to be safe.
|
||||
* mpc55xx/include/emios.h: Fixed eMIOS module count.
|
||||
* mpc55xx/include/irq.h: Fixed CAN vector numbers.
|
||||
BSP_INTERRUPT_HANDLER_TABLE_SIZE is now a BSP option.
|
||||
|
||||
2011-10-10 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* mpc55xx/include/fsl-mpc567x.h: Added EQADC as an alias to EQADC_A.
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
#include <rtems.h>
|
||||
#include <rtems/chain.h>
|
||||
|
||||
#include <bspopts.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
@@ -169,7 +171,11 @@ extern "C" {
|
||||
|
||||
/** @} */
|
||||
|
||||
#define MPC55XX_EMIOS_CHANNEL_NUMBER 24U
|
||||
#if MPC55XX_CHIP_TYPE / 10 == 567
|
||||
#define MPC55XX_EMIOS_CHANNEL_NUMBER 32U
|
||||
#else
|
||||
#define MPC55XX_EMIOS_CHANNEL_NUMBER 24U
|
||||
#endif
|
||||
|
||||
#define MPC55XX_EMIOS_VALUE_MAX 0x00ffffffU
|
||||
|
||||
|
||||
@@ -219,26 +219,26 @@ extern "C" {
|
||||
#define MPC55XX_IRQ_ESCI(mod) (MPC55XX_IRQ_ESCI_BASE(mod) + 0U)
|
||||
|
||||
/* FlexCAN */
|
||||
#define MPC55XX_IRQ_CAN_BOFF_TWRN_RWRN(mod) (MPC55XX_IRQ_CAN(mod) + 0U)
|
||||
#define MPC55XX_IRQ_CAN_ERR(mod) (MPC55XX_IRQ_CAN(mod) + 1U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_0(mod) (MPC55XX_IRQ_CAN(mod) + 3U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_1(mod) (MPC55XX_IRQ_CAN(mod) + 4U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_2(mod) (MPC55XX_IRQ_CAN(mod) + 5U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_3(mod) (MPC55XX_IRQ_CAN(mod) + 6U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_4(mod) (MPC55XX_IRQ_CAN(mod) + 7U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_5(mod) (MPC55XX_IRQ_CAN(mod) + 8U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_6(mod) (MPC55XX_IRQ_CAN(mod) + 9U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_7(mod) (MPC55XX_IRQ_CAN(mod) + 10U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_8(mod) (MPC55XX_IRQ_CAN(mod) + 12U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_9(mod) (MPC55XX_IRQ_CAN(mod) + 12U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_10(mod) (MPC55XX_IRQ_CAN(mod) + 13U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_11(mod) (MPC55XX_IRQ_CAN(mod) + 14U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_12(mod) (MPC55XX_IRQ_CAN(mod) + 15U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_13(mod) (MPC55XX_IRQ_CAN(mod) + 16U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_14(mod) (MPC55XX_IRQ_CAN(mod) + 17U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_15(mod) (MPC55XX_IRQ_CAN(mod) + 18U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_16_31(mod) (MPC55XX_IRQ_CAN(mod) + 19U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_32_63(mod) (MPC55XX_IRQ_CAN(mod) + 20U)
|
||||
#define MPC55XX_IRQ_CAN_BOFF_TWRN_RWRN(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 0U)
|
||||
#define MPC55XX_IRQ_CAN_ERR(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 1U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_0(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 3U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_1(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 4U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_2(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 5U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_3(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 6U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_4(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 7U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_5(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 8U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_6(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 9U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_7(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 10U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_8(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 12U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_9(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 12U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_10(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 13U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_11(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 14U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_12(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 15U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_13(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 16U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_14(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 17U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_15(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 18U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_16_31(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 19U)
|
||||
#define MPC55XX_IRQ_CAN_BUF_32_63(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 20U)
|
||||
|
||||
/* FlexRay */
|
||||
#define MPC55XX_IRQ_FLEXRAY_MIF(mod) (MPC55XX_IRQ_FLEXRAY_BASE(mod) + 0U)
|
||||
@@ -303,13 +303,9 @@ rtems_status_code mpc55xx_intc_clear_software_irq(rtems_vector_number vector);
|
||||
|
||||
#define BSP_INTERRUPT_VECTOR_MAX MPC55XX_IRQ_MAX
|
||||
|
||||
#define BSP_INTERRUPT_USE_INDEX_TABLE
|
||||
|
||||
#define BSP_INTERRUPT_NO_HEAP_USAGE
|
||||
|
||||
#ifdef BSP_INTERRUPT_USE_INDEX_TABLE
|
||||
#define BSP_INTERRUPT_HANDLER_TABLE_SIZE 63
|
||||
typedef uint8_t bsp_interrupt_handler_index_type;
|
||||
#ifdef BSP_INTERRUPT_HANDLER_TABLE_SIZE
|
||||
#define BSP_INTERRUPT_USE_INDEX_TABLE
|
||||
#define BSP_INTERRUPT_NO_HEAP_USAGE
|
||||
#endif
|
||||
|
||||
/** @} */
|
||||
|
||||
@@ -73,6 +73,7 @@ ppc_exc_wrap_async_normal:
|
||||
mfmsr FRAME_REGISTER
|
||||
oris FRAME_REGISTER, FRAME_REGISTER, MSR_SPE >> 16
|
||||
mtmsr FRAME_REGISTER
|
||||
isync
|
||||
#endif
|
||||
|
||||
/* Move frame pointer to non-volatile FRAME_REGISTER */
|
||||
|
||||
Reference in New Issue
Block a user