forked from Imagelibrary/rtems
bsp/mpc55xx: Add MPC5668G support
This commit is contained in:
@@ -30,6 +30,7 @@ dist_project_lib_DATA += startup/linkcmds.mpc5643l_dpu
|
|||||||
dist_project_lib_DATA += startup/linkcmds.mpc5674fevb
|
dist_project_lib_DATA += startup/linkcmds.mpc5674fevb
|
||||||
dist_project_lib_DATA += startup/linkcmds.mpc5674fevb_spe
|
dist_project_lib_DATA += startup/linkcmds.mpc5674fevb_spe
|
||||||
dist_project_lib_DATA += startup/linkcmds.phycore_mpc5554
|
dist_project_lib_DATA += startup/linkcmds.phycore_mpc5554
|
||||||
|
dist_project_lib_DATA += startup/linkcmds.mpc5668g
|
||||||
dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508
|
dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508
|
||||||
dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508_boot
|
dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508_boot
|
||||||
dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508_app
|
dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508_app
|
||||||
|
|||||||
@@ -7,10 +7,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2009-2011 embedded brains GmbH. All rights reserved.
|
* Copyright (c) 2009-2013 embedded brains GmbH. All rights reserved.
|
||||||
*
|
*
|
||||||
* embedded brains GmbH
|
* embedded brains GmbH
|
||||||
* Obere Lagerstr. 30
|
* Dornierstr. 4
|
||||||
* 82178 Puchheim
|
* 82178 Puchheim
|
||||||
* Germany
|
* Germany
|
||||||
* <rtems@embedded-brains.de>
|
* <rtems@embedded-brains.de>
|
||||||
@@ -25,6 +25,8 @@
|
|||||||
|
|
||||||
#include <mpc55xx/regs.h>
|
#include <mpc55xx/regs.h>
|
||||||
|
|
||||||
|
void Clock_isr(void *arg);
|
||||||
|
|
||||||
static uint64_t mpc55xx_clock_factor;
|
static uint64_t mpc55xx_clock_factor;
|
||||||
|
|
||||||
#if defined(MPC55XX_CLOCK_EMIOS_CHANNEL)
|
#if defined(MPC55XX_CLOCK_EMIOS_CHANNEL)
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ RTEMS_BSPOPTS_HELP([MPC55XX_ESCI_USE_INTERRUPTS],
|
|||||||
|
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[gwlcfm],[40000000])
|
RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[gwlcfm],[40000000])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[mpc5643l_evb*],[40000000])
|
RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[mpc5643l_evb*],[40000000])
|
||||||
|
RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[mpc5668g*],[25000000])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[mpc5674f*],[40000000])
|
RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[mpc5674f*],[40000000])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[*],[8000000])
|
RTEMS_BSPOPTS_SET([MPC55XX_REFERENCE_CLOCK],[*],[8000000])
|
||||||
RTEMS_BSPOPTS_HELP([MPC55XX_REFERENCE_CLOCK],
|
RTEMS_BSPOPTS_HELP([MPC55XX_REFERENCE_CLOCK],
|
||||||
@@ -74,18 +75,21 @@ RTEMS_BSPOPTS_HELP([MPC55XX_REFERENCE_CLOCK],
|
|||||||
for clock generation])
|
for clock generation])
|
||||||
|
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_SYSTEM_CLOCK],[gwlcfm],[66000000])
|
RTEMS_BSPOPTS_SET([MPC55XX_SYSTEM_CLOCK],[gwlcfm],[66000000])
|
||||||
|
RTEMS_BSPOPTS_SET([MPC55XX_SYSTEM_CLOCK],[mpc5668g*],[116000000])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_SYSTEM_CLOCK],[mpc5674f*],[264000000])
|
RTEMS_BSPOPTS_SET([MPC55XX_SYSTEM_CLOCK],[mpc5674f*],[264000000])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_SYSTEM_CLOCK],[*] ,[128000000])
|
RTEMS_BSPOPTS_SET([MPC55XX_SYSTEM_CLOCK],[*] ,[128000000])
|
||||||
RTEMS_BSPOPTS_HELP([MPC55XX_SYSTEM_CLOCK],
|
RTEMS_BSPOPTS_HELP([MPC55XX_SYSTEM_CLOCK],
|
||||||
[The system clock frequency in Hz.])
|
[The system clock frequency in Hz.])
|
||||||
|
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_PREDIV],[gwlcfm],[10])
|
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_PREDIV],[gwlcfm],[10])
|
||||||
|
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_PREDIV],[mpc5668g*],[6])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_PREDIV],[mpc5674f*],[5])
|
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_PREDIV],[mpc5674f*],[5])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_PREDIV],[*] ,[1])
|
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_PREDIV],[*] ,[1])
|
||||||
RTEMS_BSPOPTS_HELP([MPC55XX_FMPLL_PREDIV],
|
RTEMS_BSPOPTS_HELP([MPC55XX_FMPLL_PREDIV],
|
||||||
[Must be defined to be the PLL predivider factor for clock generation])
|
[Must be defined to be the PLL predivider factor for clock generation])
|
||||||
|
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_MFD],[gwlcfm],[99])
|
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_MFD],[gwlcfm],[99])
|
||||||
|
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_MFD],[mpc5668g*],[111])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_MFD],[mpc5674f*],[66])
|
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_MFD],[mpc5674f*],[66])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_MFD],[*] ,[12])
|
RTEMS_BSPOPTS_SET([MPC55XX_FMPLL_MFD],[*] ,[12])
|
||||||
RTEMS_BSPOPTS_HELP([MPC55XX_FMPLL_MFD],
|
RTEMS_BSPOPTS_HELP([MPC55XX_FMPLL_MFD],
|
||||||
@@ -109,6 +113,7 @@ RTEMS_BSPOPTS_HELP([MPC55XX_EMIOS_PRESCALER],
|
|||||||
|
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_NULL_POINTER_PROTECTION],[mpc5566*],[1])
|
RTEMS_BSPOPTS_SET([MPC55XX_NULL_POINTER_PROTECTION],[mpc5566*],[1])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_NULL_POINTER_PROTECTION],[mpc5674f*],[1])
|
RTEMS_BSPOPTS_SET([MPC55XX_NULL_POINTER_PROTECTION],[mpc5674f*],[1])
|
||||||
|
RTEMS_BSPOPTS_SET([MPC55XX_NULL_POINTER_PROTECTION],[*],[])
|
||||||
RTEMS_BSPOPTS_HELP([MPC55XX_NULL_POINTER_PROTECTION],
|
RTEMS_BSPOPTS_HELP([MPC55XX_NULL_POINTER_PROTECTION],
|
||||||
[enable NULL pointer protection])
|
[enable NULL pointer protection])
|
||||||
|
|
||||||
@@ -147,12 +152,14 @@ RTEMS_BSPOPTS_HELP([SMSC9218I_IRQ_PIN],
|
|||||||
[IRQ pin for SMSC9218I network interface])
|
[IRQ pin for SMSC9218I network interface])
|
||||||
|
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[mpc5643l*],[])
|
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[mpc5643l*],[])
|
||||||
|
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[mpc5668g*],[])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[mpc5674f*],[31])
|
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[mpc5674f*],[31])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[*],[23])
|
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_EMIOS_CHANNEL],[*],[23])
|
||||||
RTEMS_BSPOPTS_HELP([MPC55XX_CLOCK_EMIOS_CHANNEL],
|
RTEMS_BSPOPTS_HELP([MPC55XX_CLOCK_EMIOS_CHANNEL],
|
||||||
[selects the eMIOS channel for the RTEMS system tick (the default is the last channel)])
|
[selects the eMIOS channel for the RTEMS system tick (the default is the last channel)])
|
||||||
|
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_PIT_CHANNEL],[mpc5643l*],[3])
|
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_PIT_CHANNEL],[mpc5643l*],[3])
|
||||||
|
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_PIT_CHANNEL],[mpc5668g*],[8])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_PIT_CHANNEL],[*],[])
|
RTEMS_BSPOPTS_SET([MPC55XX_CLOCK_PIT_CHANNEL],[*],[])
|
||||||
RTEMS_BSPOPTS_HELP([MPC55XX_CLOCK_PIT_CHANNEL],
|
RTEMS_BSPOPTS_HELP([MPC55XX_CLOCK_PIT_CHANNEL],
|
||||||
[selects the PIT channel for the RTEMS system tick (the default is the last channel)])
|
[selects the PIT channel for the RTEMS system tick (the default is the last channel)])
|
||||||
@@ -160,6 +167,7 @@ RTEMS_BSPOPTS_HELP([MPC55XX_CLOCK_PIT_CHANNEL],
|
|||||||
RTEMS_BSPOPTS_SET([MPC55XX_CHIP_TYPE],[gwlcfm],[5516])
|
RTEMS_BSPOPTS_SET([MPC55XX_CHIP_TYPE],[gwlcfm],[5516])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_CHIP_TYPE],[mpc5566*],[5566])
|
RTEMS_BSPOPTS_SET([MPC55XX_CHIP_TYPE],[mpc5566*],[5566])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_CHIP_TYPE],[mpc5643l*],[5643])
|
RTEMS_BSPOPTS_SET([MPC55XX_CHIP_TYPE],[mpc5643l*],[5643])
|
||||||
|
RTEMS_BSPOPTS_SET([MPC55XX_CHIP_TYPE],[mpc5668g*],[5668])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_CHIP_TYPE],[mpc5674f*],[5674])
|
RTEMS_BSPOPTS_SET([MPC55XX_CHIP_TYPE],[mpc5674f*],[5674])
|
||||||
RTEMS_BSPOPTS_SET([MPC55XX_CHIP_TYPE],[*],[5554])
|
RTEMS_BSPOPTS_SET([MPC55XX_CHIP_TYPE],[*],[5554])
|
||||||
RTEMS_BSPOPTS_HELP([MPC55XX_CHIP_TYPE],
|
RTEMS_BSPOPTS_HELP([MPC55XX_CHIP_TYPE],
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
include $(RTEMS_ROOT)/make/custom/mpc55xx.inc
|
||||||
@@ -93,6 +93,10 @@ $(PROJECT_LIB)/linkcmds.phycore_mpc5554: startup/linkcmds.phycore_mpc5554 $(PROJ
|
|||||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.phycore_mpc5554
|
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.phycore_mpc5554
|
||||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.phycore_mpc5554
|
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.phycore_mpc5554
|
||||||
|
|
||||||
|
$(PROJECT_LIB)/linkcmds.mpc5668g: startup/linkcmds.mpc5668g $(PROJECT_LIB)/$(dirstamp)
|
||||||
|
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc5668g
|
||||||
|
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc5668g
|
||||||
|
|
||||||
$(PROJECT_LIB)/linkcmds.mpc5674f_ecu508: startup/linkcmds.mpc5674f_ecu508 $(PROJECT_LIB)/$(dirstamp)
|
$(PROJECT_LIB)/linkcmds.mpc5674f_ecu508: startup/linkcmds.mpc5674f_ecu508 $(PROJECT_LIB)/$(dirstamp)
|
||||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc5674f_ecu508
|
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.mpc5674f_ecu508
|
||||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc5674f_ecu508
|
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.mpc5674f_ecu508
|
||||||
|
|||||||
@@ -118,7 +118,10 @@ void bsp_start(void)
|
|||||||
/* Initialize interrupts */
|
/* Initialize interrupts */
|
||||||
bsp_interrupt_initialize();
|
bsp_interrupt_initialize();
|
||||||
|
|
||||||
|
#if MPC55XX_CHIP_FAMILY != 566
|
||||||
mpc55xx_edma_init();
|
mpc55xx_edma_init();
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef MPC55XX_EMIOS_PRESCALER
|
#ifdef MPC55XX_EMIOS_PRESCALER
|
||||||
mpc55xx_emios_initialize(MPC55XX_EMIOS_PRESCALER);
|
mpc55xx_emios_initialize(MPC55XX_EMIOS_PRESCALER);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
MEMORY {
|
||||||
|
ROM : ORIGIN = 0x0, LENGTH = 2M
|
||||||
|
RAM : ORIGIN = 0x40000000, LENGTH = 256K - 16k
|
||||||
|
NOCACHE : ORIGIN = 0x4003c000, LENGTH = 16k
|
||||||
|
EMPTY : ORIGIN = 0x0, LENGTH = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
REGION_ALIAS ("RAM_EXT", RAM);
|
||||||
|
|
||||||
|
REGION_ALIAS ("REGION_START", ROM);
|
||||||
|
REGION_ALIAS ("REGION_FAST_TEXT", RAM);
|
||||||
|
REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM);
|
||||||
|
REGION_ALIAS ("REGION_TEXT", ROM);
|
||||||
|
REGION_ALIAS ("REGION_TEXT_LOAD", ROM);
|
||||||
|
REGION_ALIAS ("REGION_RODATA", ROM);
|
||||||
|
REGION_ALIAS ("REGION_RODATA_LOAD", ROM);
|
||||||
|
REGION_ALIAS ("REGION_FAST_DATA", RAM);
|
||||||
|
REGION_ALIAS ("REGION_FAST_DATA_LOAD", ROM);
|
||||||
|
REGION_ALIAS ("REGION_DATA", RAM);
|
||||||
|
REGION_ALIAS ("REGION_DATA_LOAD", ROM);
|
||||||
|
REGION_ALIAS ("REGION_BSS", RAM);
|
||||||
|
REGION_ALIAS ("REGION_RWEXTRA", RAM);
|
||||||
|
REGION_ALIAS ("REGION_WORK", RAM);
|
||||||
|
REGION_ALIAS ("REGION_STACK", RAM);
|
||||||
|
REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
|
||||||
|
REGION_ALIAS ("REGION_NOCACHE_LOAD", ROM);
|
||||||
|
REGION_ALIAS ("REGION_NVRAM", EMPTY);
|
||||||
|
|
||||||
|
INCLUDE linkcmds.mpc55xx
|
||||||
@@ -74,7 +74,7 @@ BSP_START_TEXT_SECTION void mpc55xx_start_clock(void)
|
|||||||
fmpll->ESYNCR2.R;
|
fmpll->ESYNCR2.R;
|
||||||
fmpll_wait_for_lock();
|
fmpll_wait_for_lock();
|
||||||
|
|
||||||
#if MPC55XX_CHIP_FAMILY == 551
|
#if MPC55XX_CHIP_FAMILY == 551 || MPC55XX_CHIP_FAMILY == 566
|
||||||
/* System clock supplied by PLL */
|
/* System clock supplied by PLL */
|
||||||
SIU.SYSCLK.B.SYSCLKSEL = 2;
|
SIU.SYSCLK.B.SYSCLKSEL = 2;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -7,10 +7,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2011-2012 embedded brains GmbH. All rights reserved.
|
* Copyright (c) 2011-2013 embedded brains GmbH. All rights reserved.
|
||||||
*
|
*
|
||||||
* embedded brains GmbH
|
* embedded brains GmbH
|
||||||
* Obere Lagerstr. 30
|
* Dornierstr. 4
|
||||||
* 82178 Puchheim
|
* 82178 Puchheim
|
||||||
* Germany
|
* Germany
|
||||||
* <rtems@embedded-brains.de>
|
* <rtems@embedded-brains.de>
|
||||||
@@ -44,6 +44,15 @@ const struct MMU_tag mpc55xx_start_config_mmu_early [] = {
|
|||||||
/* Internal SRAM 64k + 64k */
|
/* Internal SRAM 64k + 64k */
|
||||||
MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_64K, 1, 1, 1, 0),
|
MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_64K, 1, 1, 1, 0),
|
||||||
MPC55XX_MMU_TAG_INITIALIZER(4, 0x50000000, MPC55XX_MMU_64K, 0, 1, 1, 0)
|
MPC55XX_MMU_TAG_INITIALIZER(4, 0x50000000, MPC55XX_MMU_64K, 0, 1, 1, 0)
|
||||||
|
#elif MPC55XX_CHIP_FAMILY == 566
|
||||||
|
/* Internal flash 2M */
|
||||||
|
MPC55XX_MMU_TAG_INITIALIZER(1, 0x00000000, MPC55XX_MMU_1M, 1, 0, 1, 0),
|
||||||
|
MPC55XX_MMU_TAG_INITIALIZER(4, 0x00100000, MPC55XX_MMU_1M, 1, 0, 1, 0),
|
||||||
|
/* IO */
|
||||||
|
MPC55XX_MMU_TAG_INITIALIZER(2, 0xc3f00000, MPC55XX_MMU_1M, 0, 1, 1, 1),
|
||||||
|
/* Internal SRAM 512k */
|
||||||
|
MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_256K, 1, 1, 1, 0),
|
||||||
|
MPC55XX_MMU_TAG_INITIALIZER(5, 0x40040000, MPC55XX_MMU_256K, 1, 1, 1, 0)
|
||||||
#elif MPC55XX_CHIP_FAMILY == 567
|
#elif MPC55XX_CHIP_FAMILY == 567
|
||||||
/* Internal SRAM 256k */
|
/* Internal SRAM 256k */
|
||||||
MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_256K, 1, 1, 1, 0)
|
MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_256K, 1, 1, 1, 0)
|
||||||
|
|||||||
@@ -38,7 +38,9 @@
|
|||||||
* @warning Code will be copied and executed on the stack.
|
* @warning Code will be copied and executed on the stack.
|
||||||
*/
|
*/
|
||||||
GLOBAL_FUNCTION mpc55xx_start_flash
|
GLOBAL_FUNCTION mpc55xx_start_flash
|
||||||
#if !defined(MPC55XX_NEEDS_LOW_LEVEL_INIT) || MPC55XX_CHIP_FAMILY == 564
|
#if !defined(MPC55XX_NEEDS_LOW_LEVEL_INIT) \
|
||||||
|
|| MPC55XX_CHIP_FAMILY == 564 \
|
||||||
|
|| MPC55XX_CHIP_FAMILY == 566
|
||||||
blr
|
blr
|
||||||
#else
|
#else
|
||||||
.equ stack_size, 20
|
.equ stack_size, 20
|
||||||
|
|||||||
@@ -422,6 +422,7 @@ include_mpc55xx_HEADERS += mpc55xx/include/fsl-mpc551x.h
|
|||||||
include_mpc55xx_HEADERS += mpc55xx/include/fsl-mpc555x.h
|
include_mpc55xx_HEADERS += mpc55xx/include/fsl-mpc555x.h
|
||||||
include_mpc55xx_HEADERS += mpc55xx/include/fsl-mpc556x.h
|
include_mpc55xx_HEADERS += mpc55xx/include/fsl-mpc556x.h
|
||||||
include_mpc55xx_HEADERS += mpc55xx/include/fsl-mpc564xL.h
|
include_mpc55xx_HEADERS += mpc55xx/include/fsl-mpc564xL.h
|
||||||
|
include_mpc55xx_HEADERS += mpc55xx/include/fsl-mpc5668.h
|
||||||
include_mpc55xx_HEADERS += mpc55xx/include/fsl-mpc567x.h
|
include_mpc55xx_HEADERS += mpc55xx/include/fsl-mpc567x.h
|
||||||
include_mpc55xx_HEADERS += mpc55xx/include/regs-edma.h
|
include_mpc55xx_HEADERS += mpc55xx/include/regs-edma.h
|
||||||
include_mpc55xx_HEADERS += mpc55xx/include/regs-mmu.h
|
include_mpc55xx_HEADERS += mpc55xx/include/regs-mmu.h
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ extern "C" {
|
|||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
#if MPC55XX_CHIP_FAMILY == 567
|
#if MPC55XX_CHIP_FAMILY == 566 || MPC55XX_CHIP_FAMILY == 567
|
||||||
#define MPC55XX_EMIOS_CHANNEL_NUMBER 32U
|
#define MPC55XX_EMIOS_CHANNEL_NUMBER 32U
|
||||||
#else
|
#else
|
||||||
#define MPC55XX_EMIOS_CHANNEL_NUMBER 24U
|
#define MPC55XX_EMIOS_CHANNEL_NUMBER 24U
|
||||||
|
|||||||
6721
c/src/lib/libcpu/powerpc/mpc55xx/include/fsl-mpc5668.h
Normal file
6721
c/src/lib/libcpu/powerpc/mpc55xx/include/fsl-mpc5668.h
Normal file
File diff suppressed because it is too large
Load Diff
@@ -89,7 +89,7 @@ extern "C" {
|
|||||||
((mod) == 0 ? 82U : MPC55XX_IRQ_INVALID)
|
((mod) == 0 ? 82U : MPC55XX_IRQ_INVALID)
|
||||||
|
|
||||||
/* eSCI */
|
/* eSCI */
|
||||||
#define MPC55XX_IRQ_ESCI_BASE(mod) \
|
#define MPC55XX_IRQ_ESCI(mod) \
|
||||||
((mod) == 0 ? 113U : \
|
((mod) == 0 ? 113U : \
|
||||||
((mod) == 1 ? 114U : \
|
((mod) == 1 ? 114U : \
|
||||||
((mod) == 2 ? 115U : \
|
((mod) == 2 ? 115U : \
|
||||||
@@ -210,6 +210,29 @@ extern "C" {
|
|||||||
|
|
||||||
/* SWG */
|
/* SWG */
|
||||||
#define MPC55XX_IRQ_SWG 255U
|
#define MPC55XX_IRQ_SWG 255U
|
||||||
|
#elif MPC55XX_CHIP_FAMILY == 566
|
||||||
|
#define MPC55XX_IRQ_MAX 315U
|
||||||
|
|
||||||
|
/* eDMA */
|
||||||
|
#define MPC55XX_IRQ_EDMA_ERROR(group) \
|
||||||
|
((group) == 0 ? 10U : MPC55XX_IRQ_INVALID)
|
||||||
|
#define MPC55XX_IRQ_EDMA(ch) \
|
||||||
|
((unsigned) (ch) < 32U ? 11U + (ch) : MPC55XX_IRQ_INVALID)
|
||||||
|
|
||||||
|
/* PIT */
|
||||||
|
#define MPC55XX_IRQ_PIT_CHANNEL(ch) \
|
||||||
|
((unsigned) (ch) < 9U ? 148U + (ch) : MPC55XX_IRQ_INVALID)
|
||||||
|
|
||||||
|
/* eMIOS */
|
||||||
|
#define MPC55XX_IRQ_EMIOS(ch) \
|
||||||
|
((unsigned) (ch) < 24U ? 58U + (ch) : \
|
||||||
|
((unsigned) (ch) < 32U ? 262U + (ch) : MPC55XX_IRQ_INVALID))
|
||||||
|
|
||||||
|
/* eSCI */
|
||||||
|
#define MPC55XX_IRQ_ESCI(mod) \
|
||||||
|
((unsigned) (mod) < 4U ? 113U + (mod) : \
|
||||||
|
((unsigned) (mod) < 8U ? 270U + (mod) : \
|
||||||
|
((unsigned) (mod) < 12U ? 306U + (mod) : MPC55XX_IRQ_INVALID)))
|
||||||
#else
|
#else
|
||||||
#if MPC55XX_CHIP_FAMILY == 555
|
#if MPC55XX_CHIP_FAMILY == 555
|
||||||
#define MPC55XX_IRQ_MAX 307U
|
#define MPC55XX_IRQ_MAX 307U
|
||||||
@@ -269,7 +292,7 @@ extern "C" {
|
|||||||
((mod) == 1 ? 394U : MPC55XX_IRQ_INVALID))
|
((mod) == 1 ? 394U : MPC55XX_IRQ_INVALID))
|
||||||
|
|
||||||
/* eSCI */
|
/* eSCI */
|
||||||
#define MPC55XX_IRQ_ESCI_BASE(mod) \
|
#define MPC55XX_IRQ_ESCI(mod) \
|
||||||
((mod) == 0 ? 146U : \
|
((mod) == 0 ? 146U : \
|
||||||
((mod) == 1 ? 149U : \
|
((mod) == 1 ? 149U : \
|
||||||
((mod) == 2 ? 473U : MPC55XX_IRQ_INVALID)))
|
((mod) == 2 ? 473U : MPC55XX_IRQ_INVALID)))
|
||||||
@@ -332,9 +355,6 @@ extern "C" {
|
|||||||
#define MPC55XX_IRQ_EQADC_RFDF(mod, fifo) \
|
#define MPC55XX_IRQ_EQADC_RFDF(mod, fifo) \
|
||||||
(MPC55XX_IRQ_EQADC_BASE(mod) + 1U + (fifo) * 5U + 4U)
|
(MPC55XX_IRQ_EQADC_BASE(mod) + 1U + (fifo) * 5U + 4U)
|
||||||
|
|
||||||
/* eSCI */
|
|
||||||
#define MPC55XX_IRQ_ESCI(mod) (MPC55XX_IRQ_ESCI_BASE(mod) + 0U)
|
|
||||||
|
|
||||||
/* FlexCAN */
|
/* FlexCAN */
|
||||||
#if MPC55XX_CHIP_FAMILY == 564
|
#if MPC55XX_CHIP_FAMILY == 564
|
||||||
#define MPC55XX_IRQ_CAN_ERR(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 0U)
|
#define MPC55XX_IRQ_CAN_ERR(mod) (MPC55XX_IRQ_CAN_BASE(mod) + 0U)
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ extern "C" {
|
|||||||
union EDMA_CR_tag {
|
union EDMA_CR_tag {
|
||||||
uint32_t R;
|
uint32_t R;
|
||||||
struct {
|
struct {
|
||||||
#if MPC55XX_CHIP_FAMILY == 567
|
#if MPC55XX_CHIP_FAMILY == 566 || MPC55XX_CHIP_FAMILY == 567
|
||||||
uint32_t:14;
|
uint32_t:14;
|
||||||
uint32_t CX:1;
|
uint32_t CX:1;
|
||||||
uint32_t ECX:1;
|
uint32_t ECX:1;
|
||||||
@@ -78,7 +78,7 @@ extern "C" {
|
|||||||
uint32_t GRP2PRI:2;
|
uint32_t GRP2PRI:2;
|
||||||
uint32_t GRP1PRI:2;
|
uint32_t GRP1PRI:2;
|
||||||
uint32_t GRP0PRI:2;
|
uint32_t GRP0PRI:2;
|
||||||
#if MPC55XX_CHIP_FAMILY == 567
|
#if MPC55XX_CHIP_FAMILY == 566 || MPC55XX_CHIP_FAMILY == 567
|
||||||
uint32_t EMLM:1;
|
uint32_t EMLM:1;
|
||||||
uint32_t CLM:1;
|
uint32_t CLM:1;
|
||||||
uint32_t HALT:1;
|
uint32_t HALT:1;
|
||||||
@@ -97,7 +97,7 @@ extern "C" {
|
|||||||
uint32_t R;
|
uint32_t R;
|
||||||
struct {
|
struct {
|
||||||
uint32_t VLD:1;
|
uint32_t VLD:1;
|
||||||
#if MPC55XX_CHIP_FAMILY == 567
|
#if MPC55XX_CHIP_FAMILY == 566 || MPC55XX_CHIP_FAMILY == 567
|
||||||
uint32_t:14;
|
uint32_t:14;
|
||||||
uint32_t ECX:1;
|
uint32_t ECX:1;
|
||||||
#else
|
#else
|
||||||
@@ -485,7 +485,7 @@ extern "C" {
|
|||||||
} B;
|
} B;
|
||||||
} ERL; /* DMA Error Low */
|
} ERL; /* DMA Error Low */
|
||||||
|
|
||||||
#if MPC55XX_CHIP_FAMILY == 567
|
#if MPC55XX_CHIP_FAMILY == 566 || MPC55XX_CHIP_FAMILY == 567
|
||||||
union { /* hardware request status high */
|
union { /* hardware request status high */
|
||||||
uint32_t R;
|
uint32_t R;
|
||||||
struct {
|
struct {
|
||||||
@@ -571,7 +571,7 @@ extern "C" {
|
|||||||
uint8_t R;
|
uint8_t R;
|
||||||
struct {
|
struct {
|
||||||
uint8_t ECP:1;
|
uint8_t ECP:1;
|
||||||
#if MPC55XX_CHIP_FAMILY == 567
|
#if MPC55XX_CHIP_FAMILY == 566 || MPC55XX_CHIP_FAMILY == 567
|
||||||
uint8_t DPA:1;
|
uint8_t DPA:1;
|
||||||
#else
|
#else
|
||||||
uint8_t:1;
|
uint8_t:1;
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved.
|
* Copyright (c) 2008-2013 embedded brains GmbH. All rights reserved.
|
||||||
*
|
*
|
||||||
* embedded brains GmbH
|
* embedded brains GmbH
|
||||||
* Obere Lagerstr. 30
|
* Dornierstr. 4
|
||||||
* 82178 Puchheim
|
* 82178 Puchheim
|
||||||
* Germany
|
* Germany
|
||||||
* <rtems@embedded-brains.de>
|
* <rtems@embedded-brains.de>
|
||||||
@@ -58,6 +58,17 @@
|
|||||||
#define MPC55XX_HAS_LINFLEX
|
#define MPC55XX_HAS_LINFLEX
|
||||||
#define MPC55XX_HAS_SECOND_INTERNAL_RAM_AREA
|
#define MPC55XX_HAS_SECOND_INTERNAL_RAM_AREA
|
||||||
#define MPC55XX_HAS_SIU_LITE
|
#define MPC55XX_HAS_SIU_LITE
|
||||||
|
#elif MPC55XX_CHIP_FAMILY == 566
|
||||||
|
#include <mpc55xx/fsl-mpc5668.h>
|
||||||
|
#define MPC55XX_HAS_ESCI
|
||||||
|
#define MPC55XX_HAS_EMIOS
|
||||||
|
#define MPC55XX_HAS_FMPLL_ENHANCED
|
||||||
|
#define MPC55XX_HAS_UNIFIED_CACHE
|
||||||
|
#define MPC55XX_HAS_SIU
|
||||||
|
/*
|
||||||
|
* TODO: This e200z650n3e core has a wait instruction, but it did not wake-up
|
||||||
|
* from PIT interrupts.
|
||||||
|
*/
|
||||||
#elif MPC55XX_CHIP_FAMILY == 567
|
#elif MPC55XX_CHIP_FAMILY == 567
|
||||||
#include <mpc55xx/fsl-mpc567x.h>
|
#include <mpc55xx/fsl-mpc567x.h>
|
||||||
#define MPC55XX_HAS_EBI
|
#define MPC55XX_HAS_EBI
|
||||||
|
|||||||
@@ -297,6 +297,10 @@ $(PROJECT_INCLUDE)/mpc55xx/fsl-mpc564xL.h: mpc55xx/include/fsl-mpc564xL.h $(PROJ
|
|||||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/mpc55xx/fsl-mpc564xL.h
|
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/mpc55xx/fsl-mpc564xL.h
|
||||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/mpc55xx/fsl-mpc564xL.h
|
PREINSTALL_FILES += $(PROJECT_INCLUDE)/mpc55xx/fsl-mpc564xL.h
|
||||||
|
|
||||||
|
$(PROJECT_INCLUDE)/mpc55xx/fsl-mpc5668.h: mpc55xx/include/fsl-mpc5668.h $(PROJECT_INCLUDE)/mpc55xx/$(dirstamp)
|
||||||
|
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/mpc55xx/fsl-mpc5668.h
|
||||||
|
PREINSTALL_FILES += $(PROJECT_INCLUDE)/mpc55xx/fsl-mpc5668.h
|
||||||
|
|
||||||
$(PROJECT_INCLUDE)/mpc55xx/fsl-mpc567x.h: mpc55xx/include/fsl-mpc567x.h $(PROJECT_INCLUDE)/mpc55xx/$(dirstamp)
|
$(PROJECT_INCLUDE)/mpc55xx/fsl-mpc567x.h: mpc55xx/include/fsl-mpc567x.h $(PROJECT_INCLUDE)/mpc55xx/$(dirstamp)
|
||||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/mpc55xx/fsl-mpc567x.h
|
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/mpc55xx/fsl-mpc567x.h
|
||||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/mpc55xx/fsl-mpc567x.h
|
PREINSTALL_FILES += $(PROJECT_INCLUDE)/mpc55xx/fsl-mpc567x.h
|
||||||
|
|||||||
Reference in New Issue
Block a user