summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/mpc55xxevb
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 10:35:35 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 13:52:14 +0200
commit99648958668d3a33ee57974479b36201fe303f34 (patch)
tree6f27ea790e2823c6156e71219a4f54680263fac6 /c/src/lib/libbsp/powerpc/mpc55xxevb
parentbsps: Move start files to bsps (diff)
downloadrtems-99648958668d3a33ee57974479b36201fe303f34.tar.bz2
bsps: Move startup files to bsps
Adjust build support files to new directory layout. This patch is a part of the BSP source reorganization. Update #3285.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mpc55xxevb')
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am76
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bsp_specs9
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspgetworkarea.c53
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspreset.c38
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c104
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/exc-vector-base.S124
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/get-system-clock.c85
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/idle-thread.c34
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds1
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm27
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb27
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb_spe1
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx22
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5643l_dpu1
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5643l_evb33
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5668g29
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu50851
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_app8
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_boot6
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm66
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_base28
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb28
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb_spe1
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc555436
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/restart.c25
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/sd-card-init.c163
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-cache.S114
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-clock.c104
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-clock.c132
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs-cal.c257
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs.c164
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi.c62
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu-early.c64
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c151
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-siu-pcr.c148
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c216
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-flash.S139
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-prologue.c28
-rw-r--r--c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-watchdog.c39
39 files changed, 38 insertions, 2596 deletions
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
index 4db2f8ac1d..74ec50343f 100644
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
+++ b/c/src/lib/libbsp/powerpc/mpc55xxevb/Makefile.am
@@ -3,7 +3,7 @@ ACLOCAL_AMFLAGS = -I ../../../../aclocal
include $(top_srcdir)/../../../../automake/compile.am
include $(top_srcdir)/../../bsp.am
-dist_project_lib_DATA = startup/bsp_specs
+dist_project_lib_DATA = ../../../../../../bsps/powerpc/mpc55xxevb/start/bsp_specs
@@ -19,22 +19,22 @@ project_lib_DATA += rtems_crti.$(OBJEXT)
# Link commands
project_lib_DATA += linkcmds
-dist_project_lib_DATA += ../shared/startup/linkcmds.base
-dist_project_lib_DATA += startup/linkcmds.gwlcfm
-dist_project_lib_DATA += startup/linkcmds.mpc5566evb
-dist_project_lib_DATA += startup/linkcmds.mpc5566evb_spe
-dist_project_lib_DATA += startup/linkcmds.mpc55xx
-dist_project_lib_DATA += startup/linkcmds.mpc5643l_dpu
-dist_project_lib_DATA += startup/linkcmds.mpc5643l_evb
-dist_project_lib_DATA += startup/linkcmds.mpc5668g
-dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508
-dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508_app
-dist_project_lib_DATA += startup/linkcmds.mpc5674f_ecu508_boot
-dist_project_lib_DATA += startup/linkcmds.mpc5674fevb
-dist_project_lib_DATA += startup/linkcmds.mpc5674fevb_spe
-dist_project_lib_DATA += startup/linkcmds.mpc5674f_rsm6
-dist_project_lib_DATA += startup/linkcmds.mpc5674f_rsm6_base
-dist_project_lib_DATA += startup/linkcmds.phycore_mpc5554
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/shared/start/linkcmds.base
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.gwlcfm
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc5566evb
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc5566evb_spe
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc55xx
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc5643l_dpu
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc5643l_evb
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc5668g
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc5674f_ecu508
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc5674f_ecu508_app
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc5674f_ecu508_boot
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc5674fevb
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc5674fevb_spe
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc5674f_rsm6
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.mpc5674f_rsm6_base
+dist_project_lib_DATA += ../../../../../../bsps/powerpc/mpc55xxevb/start/linkcmds.phycore_mpc5554
project_lib_LIBRARIES = librtemsbsp.a
librtemsbsp_a_SOURCES =
@@ -47,26 +47,26 @@ librtemsbsp_a_SOURCES += ../shared/src/bsp-start-zero.S
librtemsbsp_a_SOURCES += ../shared/src/memcpy.c
librtemsbsp_a_SOURCES += ../shared/src/tictac.c
librtemsbsp_a_SOURCES += ../shared/src/ppc-exc-handler-table.c
-librtemsbsp_a_SOURCES += startup/bspstart.c
-librtemsbsp_a_SOURCES += startup/bspgetworkarea.c
-librtemsbsp_a_SOURCES += startup/exc-vector-base.S
-librtemsbsp_a_SOURCES += startup/get-system-clock.c
-librtemsbsp_a_SOURCES += startup/bspreset.c
-librtemsbsp_a_SOURCES += startup/restart.c
-librtemsbsp_a_SOURCES += startup/idle-thread.c
-librtemsbsp_a_SOURCES += startup/start-config-clock.c
-librtemsbsp_a_SOURCES += startup/start-config-ebi.c
-librtemsbsp_a_SOURCES += startup/start-config-ebi-cs.c
-librtemsbsp_a_SOURCES += startup/start-config-ebi-cs-cal.c
-librtemsbsp_a_SOURCES += startup/start-config-mmu.c
-librtemsbsp_a_SOURCES += startup/start-config-mmu-early.c
-librtemsbsp_a_SOURCES += startup/start-config-siu-pcr.c
-librtemsbsp_a_SOURCES += startup/start-prologue.c
-librtemsbsp_a_SOURCES += startup/start-early.c
-librtemsbsp_a_SOURCES += startup/start-cache.S
-librtemsbsp_a_SOURCES += startup/start-clock.c
-librtemsbsp_a_SOURCES += startup/start-flash.S
-librtemsbsp_a_SOURCES += startup/start-watchdog.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/bspstart.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/bspgetworkarea.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/exc-vector-base.S
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/get-system-clock.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/bspreset.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/restart.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/idle-thread.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-config-clock.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-config-ebi.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-config-ebi-cs.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-config-ebi-cs-cal.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-config-mmu.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-config-mmu-early.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-config-siu-pcr.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-prologue.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-early.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-cache.S
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-clock.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-flash.S
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/start-watchdog.c
# clock
librtemsbsp_a_SOURCES +=../../../../../../bsps/powerpc/mpc55xxevb/clock/clock-config.c
@@ -81,7 +81,7 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/console/conso
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/irq/irq-default-handler.c
# Misc
-librtemsbsp_a_SOURCES += startup/sd-card-init.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/powerpc/mpc55xxevb/start/sd-card-init.c
# I2C
librtemsbsp_a_SOURCES += i2c/i2c_init.c
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bsp_specs b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bsp_specs
deleted file mode 100644
index 2625609327..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bsp_specs
+++ /dev/null
@@ -1,9 +0,0 @@
-%rename endfile old_endfile
-%rename startfile old_startfile
-
-*startfile:
-%{!qrtems: %(old_startfile)} \
-%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s}}
-
-*endfile:
-%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s ecrtn.o%s}
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspgetworkarea.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspgetworkarea.c
deleted file mode 100644
index e7d988cf87..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspgetworkarea.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- */
-
-/*
- * Copyright (c) 2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp.h>
-#include <bsp/bootcard.h>
-#include <bsp/linker-symbols.h>
-
-LINKER_SYMBOL(bsp_section_work_bonus_begin);
-LINKER_SYMBOL(bsp_section_work_bonus_size);
-
-void bsp_work_area_initialize(void)
-{
- Heap_Area areas [] = {
- {
- bsp_section_work_begin,
- (uintptr_t) bsp_section_work_size
- }, {
- bsp_section_work_bonus_begin,
- (uintptr_t) bsp_section_work_bonus_size
- }
- };
-
- #ifdef BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN
- {
- uint32_t stack_size = rtems_configuration_get_interrupt_stack_size();
-
- areas [0].begin = (char *) areas [0].begin + stack_size;
- areas [0].size -= stack_size;
- }
- #endif
-
- bsp_work_area_initialize_with_table(
- areas,
- sizeof(areas) / sizeof(areas [0])
- );
-}
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspreset.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspreset.c
deleted file mode 100644
index a99b3856d3..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspreset.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief BSP reset.
- */
-
-/*
- * Copyright (c) 2011 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <stdbool.h>
-
-#include <bsp/bootcard.h>
-
-#include <mpc55xx/regs.h>
-
-void bsp_reset(void)
-{
- while (true) {
- #if MPC55XX_CHIP_FAMILY == 564
- /* TODO */
- #else
- SIU.SRCR.R = 1U << (31 - 0);
- #endif
- }
-}
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c
deleted file mode 100644
index 9042fc3864..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/bspstart.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief BSP startup code.
- */
-
-/*
- * Copyright (c) 2008-2013 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <mpc55xx/mpc55xx.h>
-#include <mpc55xx/regs.h>
-#include <mpc55xx/edma.h>
-#include <mpc55xx/emios.h>
-
-#include <string.h>
-
-#include <rtems.h>
-#include <rtems/config.h>
-#include <rtems/counter.h>
-
-#include <libcpu/powerpc-utility.h>
-#include <bsp/vectors.h>
-
-#include <bsp.h>
-#include <bsp/bootcard.h>
-#include <bsp/irq.h>
-#include <bsp/irq-generic.h>
-#include <bsp/linker-symbols.h>
-#include <bsp/start.h>
-#include <bsp/mpc55xx-config.h>
-
-/* Symbols defined in linker command file */
-LINKER_SYMBOL(mpc55xx_exc_vector_base);
-
-unsigned int bsp_clock_speed = 0;
-
-uint32_t bsp_clicks_per_usec = 0;
-
-static void null_pointer_protection(void)
-{
-#ifdef MPC55XX_NULL_POINTER_PROTECTION
- struct MMU_tag mmu = { .MAS0 = { .B = { .TLBSEL = 1, .ESEL = 1 } } };
-
- PPC_SET_SPECIAL_PURPOSE_REGISTER(FSL_EIS_MAS0, mmu.MAS0.R);
- __asm__ volatile ("tlbre");
- mmu.MAS1.R = PPC_SPECIAL_PURPOSE_REGISTER(FSL_EIS_MAS1);
- mmu.MAS1.B.VALID = 0;
- PPC_SET_SPECIAL_PURPOSE_REGISTER(FSL_EIS_MAS1, mmu.MAS1.R);
- __asm__ volatile ("tlbwe");
-#endif
-}
-
-void bsp_start(void)
-{
- null_pointer_protection();
-
- /*
- * Get CPU identification dynamically. Note that the get_ppc_cpu_type()
- * function store the result in global variables so that it can be used
- * latter...
- */
- get_ppc_cpu_type();
- get_ppc_cpu_revision();
-
- /*
- * determine clock speed
- */
- bsp_clock_speed = mpc55xx_get_system_clock() / MPC55XX_SYSTEM_CLOCK_DIVIDER;
-
- /* Time reference value */
- bsp_clicks_per_usec = bsp_clock_speed / 1000000;
- rtems_counter_initialize_converter(bsp_clock_speed);
-
- /* Initialize exceptions */
- ppc_exc_initialize_with_vector_base(
- (uintptr_t) bsp_section_work_begin,
- rtems_configuration_get_interrupt_stack_size(),
- mpc55xx_exc_vector_base
- );
-
- /* Initialize interrupts */
- bsp_interrupt_initialize();
-
- #if MPC55XX_CHIP_FAMILY != 566
- mpc55xx_edma_init();
- #endif
-
- #ifdef MPC55XX_EMIOS_PRESCALER
- mpc55xx_emios_initialize(MPC55XX_EMIOS_PRESCALER);
- #endif
-}
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/exc-vector-base.S b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/exc-vector-base.S
deleted file mode 100644
index 9d9e79f351..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/exc-vector-base.S
+++ /dev/null
@@ -1,124 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx_asm
- *
- * @brief Exception minimum prologues.
- */
-
-/*
- * Copyright (c) 2011-2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-/**
- * @defgroup mpc55xx_asm Assembler files
- *
- * @ingroup mpc55xx
- */
-
-#include <bspopts.h>
-
-#include <bsp/vectors.h>
-
- .globl mpc55xx_exc_vector_base
-
- .section ".bsp_text", "ax"
-
-#if 5510 <= MPC55XX_CHIP_TYPE && MPC55XX_CHIP_TYPE <= 5517
- .align 12
-#else
- .align 16
-#endif
-
-mpc55xx_exc_vector_base:
-
- stw r1, ppc_exc_lock_crit@sdarel(r13)
- stw r4, ppc_exc_vector_register_crit@sdarel(r13)
- li r4, -32767
- b ppc_exc_wrap_bookE_crit
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 2
- b ppc_exc_wrap_nopush_bookE_crit
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 3
- b ppc_exc_wrap_nopush_std
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 4
- b ppc_exc_wrap_nopush_std
- stwu r1, -PPC_EXC_INTERRUPT_FRAME_SIZE(r1)
- stw r3, GPR3_OFFSET(r1)
- li r3, -32763
- b ppc_exc_interrupt
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 6
- b ppc_exc_wrap_nopush_std
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 7
- b ppc_exc_wrap_nopush_std
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 8
- b ppc_exc_wrap_nopush_std
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 12
- b ppc_exc_wrap_nopush_std
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 24
- b ppc_exc_wrap_nopush_std
- stwu r1, -PPC_EXC_INTERRUPT_FRAME_SIZE(r1)
- stw r3, GPR3_OFFSET(r1)
- li r3, -32752
- b ppc_exc_interrupt
- stwu r1, -PPC_EXC_INTERRUPT_FRAME_SIZE(r1)
- stw r3, GPR3_OFFSET(r1)
- li r3, -32749
- b ppc_exc_interrupt
- stw r1, ppc_exc_lock_crit@sdarel(r13)
- stw r4, ppc_exc_vector_register_crit@sdarel(r13)
- li r4, -32748
- b ppc_exc_wrap_bookE_crit
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 18
- b ppc_exc_wrap_nopush_std
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 17
- b ppc_exc_wrap_nopush_std
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 13
- b ppc_exc_wrap_nopush_bookE_crit
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 10
- b ppc_exc_wrap_nopush_std
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 25
- b ppc_exc_wrap_nopush_std
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 26
- b ppc_exc_wrap_nopush_std
- stwu r1, -EXC_GENERIC_SIZE(r1)
- stw r4, GPR4_OFFSET(r1)
- li r4, 15
- b ppc_exc_wrap_nopush_std
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/get-system-clock.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/get-system-clock.c
deleted file mode 100644
index 42e2b38327..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/get-system-clock.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief System clock calculation.
- */
-
-/*
- * Copyright (c) 2008-2011 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp.h>
-#include <bsp/start.h>
-#include <bsp/mpc55xx-config.h>
-
-uint32_t mpc55xx_get_system_clock(void)
-{
- uint32_t system_clock = 0;
-
- #ifdef MPC55XX_HAS_FMPLL
- volatile struct FMPLL_tag *fmpll = &FMPLL;
- union FMPLL_SYNSR_tag synsr = { .R = fmpll->SYNSR.R };
- uint32_t reference_clock = MPC55XX_REFERENCE_CLOCK;
- bool pll_clock_mode = synsr.B.MODE != 0;
- bool crystal_or_external_reference_mode = synsr.B.PLLSEL != 0;
-
- if (pll_clock_mode) {
- if (crystal_or_external_reference_mode) {
- union FMPLL_SYNCR_tag syncr = { .R = fmpll->SYNCR.R };
- uint32_t prediv = syncr.B.PREDIV;
- uint32_t mfd = syncr.B.MFD;
- uint32_t rfd = syncr.B.RFD;
-
- system_clock = ((reference_clock * (mfd + 4)) >> rfd) / (prediv + 1);
- } else {
- system_clock = 2 * reference_clock;
- }
- } else {
- system_clock = reference_clock;
- }
- #endif
-
- #ifdef MPC55XX_HAS_FMPLL_ENHANCED
- volatile struct FMPLL_tag *fmpll = &FMPLL;
- union FMPLL_ESYNCR1_tag esyncr1 = { .R = fmpll->ESYNCR1.R };
- uint32_t reference_clock = MPC55XX_REFERENCE_CLOCK;
- bool normal_mode = (esyncr1.B.CLKCFG & 0x4U) != 0;
-
- if (normal_mode) {
- union FMPLL_ESYNCR2_tag esyncr2 = { .R = fmpll->ESYNCR2.R };
- uint32_t eprediv = esyncr1.B.EPREDIV;
- uint32_t emfd = esyncr1.B.EMFD;
- uint32_t erfd = esyncr2.B.ERFD;
-
- system_clock = ((reference_clock / (eprediv + 1)) * (emfd + 16))
- / (erfd + 1);
- } else {
- system_clock = reference_clock;
- }
- #endif
-
- #ifdef MPC55XX_HAS_MODE_CONTROL
- /* FIXME: Assumes normal mode and external oscillator */
- PLLD_CR_32B_tag cr = { . R = CGM.FMPLL [0].CR.R };
- uint32_t xosc = MPC55XX_REFERENCE_CLOCK;
- uint32_t ldf = cr.B.NDIV;
- uint32_t idf = cr.B.IDF + 1;
- uint32_t odf = 2U << cr.B.ODF;
-
- system_clock = (xosc * ldf) / (idf * odf);
- #endif
-
- return system_clock;
-}
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/idle-thread.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/idle-thread.c
deleted file mode 100644
index 45bea8e418..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/idle-thread.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief bsp_idle_thread() implementation.
- */
-
-/*
- * Copyright (c) 2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp.h>
-
-#include <mpc55xx/mpc55xx.h>
-
-void *bsp_idle_thread(uintptr_t arg)
-{
- while (true) {
- mpc55xx_wait_for_interrupt();
- }
-
- return NULL;
-}
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds
deleted file mode 100644
index 5c2161deba..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds
+++ /dev/null
@@ -1 +0,0 @@
-include linkcmds.mpc55xxevb
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm
deleted file mode 100644
index cabaac2201..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.gwlcfm
+++ /dev/null
@@ -1,27 +0,0 @@
-MEMORY {
- ROM : ORIGIN = 0x0, LENGTH = 1536K
- RAM : ORIGIN = 0x40000000, LENGTH = 80K
- RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
- NOCACHE : ORIGIN = 0x0, LENGTH = 0
-}
-
-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_EXT);
-REGION_ALIAS ("REGION_RWEXTRA", RAM_EXT);
-REGION_ALIAS ("REGION_WORK", RAM_EXT);
-REGION_ALIAS ("REGION_STACK", RAM);
-REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
-REGION_ALIAS ("REGION_NOCACHE_LOAD", NOCACHE);
-REGION_ALIAS ("REGION_NVRAM", NOCACHE);
-
-INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb
deleted file mode 100644
index 4f63fb0e0a..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb
+++ /dev/null
@@ -1,27 +0,0 @@
-MEMORY {
- ROM : ORIGIN = 0x0, LENGTH = 3M
- RAM : ORIGIN = 0x40000000, LENGTH = 128K
- RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
- NOCACHE : ORIGIN = 0x0, LENGTH = 0
-}
-
-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_EXT);
-REGION_ALIAS ("REGION_RWEXTRA", RAM_EXT);
-REGION_ALIAS ("REGION_WORK", RAM);
-REGION_ALIAS ("REGION_STACK", RAM);
-REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
-REGION_ALIAS ("REGION_NOCACHE_LOAD", NOCACHE);
-REGION_ALIAS ("REGION_NVRAM", NOCACHE);
-
-INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb_spe b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb_spe
deleted file mode 100644
index 9255b15076..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5566evb_spe
+++ /dev/null
@@ -1 +0,0 @@
-INCLUDE linkcmds.mpc5566evb
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx
deleted file mode 100644
index 2c4e1e3f7b..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc55xx
+++ /dev/null
@@ -1,22 +0,0 @@
-bsp_ram_start = ORIGIN (RAM);
-bsp_ram_size = LENGTH (RAM) + LENGTH (NOCACHE);
-bsp_ram_end = bsp_ram_start + bsp_ram_size;
-
-bsp_rom_start = ORIGIN (ROM);
-bsp_rom_size = LENGTH (ROM);
-bsp_rom_end = bsp_rom_start + bsp_rom_size;
-
-INCLUDE linkcmds.base
-
-SECTIONS {
- .work_bonus : {
- /*
- * This section will occupy the remaining RAM_EXT region and may
- * contain parts of the RTEMS work space and heap.
- */
- bsp_section_work_bonus_begin = .;
- . += ORIGIN (RAM_EXT) + LENGTH (RAM_EXT) - ABSOLUTE (.);
- bsp_section_work_bonus_end = .;
- } > RAM_EXT AT > RAM_EXT
- bsp_section_work_bonus_size = bsp_section_work_bonus_end - bsp_section_work_bonus_begin;
-}
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5643l_dpu b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5643l_dpu
deleted file mode 100644
index 2f7d80716d..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5643l_dpu
+++ /dev/null
@@ -1 +0,0 @@
-INCLUDE linkcmds.mpc5643l_evb
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5643l_evb b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5643l_evb
deleted file mode 100644
index 1977c92d59..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5643l_evb
+++ /dev/null
@@ -1,33 +0,0 @@
-MEMORY {
- ROM : ORIGIN = 0x0, LENGTH = 1M
- RAM : ORIGIN = 0x40000000, LENGTH = 64K
- RAM_1 : ORIGIN = 0x50000000, LENGTH = 64K
- NOCACHE : ORIGIN = 0x0, LENGTH = 0
-}
-
-REGION_ALIAS ("RAM_EXT", RAM);
-
-bsp_ram_1_start = ORIGIN (RAM_1);
-bsp_ram_1_size = LENGTH (RAM_1);
-bsp_ram_1_end = bsp_ram_1_start + bsp_ram_1_size;
-
-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_1);
-REGION_ALIAS ("REGION_STACK", RAM_1);
-REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
-REGION_ALIAS ("REGION_NOCACHE_LOAD", NOCACHE);
-REGION_ALIAS ("REGION_NVRAM", NOCACHE);
-
-INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5668g b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5668g
deleted file mode 100644
index 6c8e5a64f1..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5668g
+++ /dev/null
@@ -1,29 +0,0 @@
-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
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508 b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508
deleted file mode 100644
index 1e52a3c6c3..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508
+++ /dev/null
@@ -1,51 +0,0 @@
-MEMORY {
- DSROM : ORIGIN = 0x00020000, LENGTH = 64k
- SYSROM : ORIGIN = 0x00100000, LENGTH = 4k
- RAM : ORIGIN = 0x40000000, LENGTH = 240k
- NOCACHE : ORIGIN = 0x4003c000, LENGTH = 16k
- DSRAM : ORIGIN = 0x20000000, LENGTH = 64k
- RAM_EXT : ORIGIN = 0x20010000, LENGTH = 444k
- SYSRAM : ORIGIN = 0x2007f000, LENGTH = 4k
- NVRAM : ORIGIN = 0x3ffa0000, LENGTH = 128k
-}
-
-REGION_ALIAS ("REGION_START", STARTROM);
-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_EXT);
-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", NVRAM);
-
-SECTIONS {
- .dsram (NOLOAD) : {
- bsp_section_dsram_begin = .;
- *(SORT(.bsp_dsram*))
- bsp_section_dsram_end = .;
- } > DSRAM AT > DSROM
- bsp_section_dsram_size = bsp_section_dsram_end - bsp_section_dsram_begin;
- bsp_section_dsram_load_begin = LOADADDR (.dsram);
- bsp_section_dsram_load_end = bsp_section_dsram_load_begin + bsp_section_dsram_size;
-
- .sysram : {
- bsp_section_sysram_begin = .;
- *(SORT(.bsp_sysram*))
- bsp_section_sysram_end = .;
- } > SYSRAM AT > SYSROM
- bsp_section_sysram_size = bsp_section_sysram_end - bsp_section_sysram_begin;
- bsp_section_sysram_load_begin = LOADADDR (.sysram);
- bsp_section_sysram_load_end = bsp_section_sysram_load_begin + bsp_section_sysram_size;
-}
-
-INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_app b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_app
deleted file mode 100644
index 4b94ac50c4..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_app
+++ /dev/null
@@ -1,8 +0,0 @@
-MEMORY {
- /* Let space for the binary image library header */
- ROM : ORIGIN = 0x00101000, LENGTH = 3064k
-}
-
-REGION_ALIAS ("STARTROM", ROM);
-
-INCLUDE linkcmds.mpc5674f_ecu508
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_boot b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_boot
deleted file mode 100644
index 6dc5a7fcb0..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_ecu508_boot
+++ /dev/null
@@ -1,6 +0,0 @@
-MEMORY {
- STARTROM : ORIGIN = 0x0, LENGTH = 32k
- ROM : ORIGIN = 0x40000, LENGTH = 768k
-}
-
-INCLUDE linkcmds.mpc5674f_ecu508
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6 b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6
deleted file mode 100644
index c96f8b9078..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6
+++ /dev/null
@@ -1,6 +0,0 @@
-MEMORY {
- STARTROM : ORIGIN = 0x0, LENGTH = 32k
- ROM : ORIGIN = 0x40000, LENGTH = 768k
-}
-
-INCLUDE linkcmds.mpc5674f_rsm6_base
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_base b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_base
deleted file mode 100644
index 8f6a403ca8..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674f_rsm6_base
+++ /dev/null
@@ -1,28 +0,0 @@
-MEMORY {
- RAM : ORIGIN = 0x40000000, LENGTH = 240k
- NOCACHE : ORIGIN = 0x4003c000, LENGTH = 16k
- MRAM : ORIGIN = 0x20000000, LENGTH = 4M
-}
-
-REGION_ALIAS ("RAM_EXT", RAM);
-
-REGION_ALIAS ("REGION_START", STARTROM);
-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", MRAM);
-
-INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb
deleted file mode 100644
index 3113fb20b7..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb
+++ /dev/null
@@ -1,28 +0,0 @@
-MEMORY {
- ROM : ORIGIN = 0x0, LENGTH = 4M
- RAM : ORIGIN = 0x40000000, LENGTH = 256K - 16k
- RAM_EXT : ORIGIN = 0x20000000, LENGTH = 512K
- NOCACHE : ORIGIN = 0x4003c000, LENGTH = 16k
- EMPTY : ORIGIN = 0x0, LENGTH = 0
-}
-
-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_EXT);
-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
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb_spe b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb_spe
deleted file mode 100644
index eab0907009..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.mpc5674fevb_spe
+++ /dev/null
@@ -1 +0,0 @@
-INCLUDE linkcmds.mpc5674fevb
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc5554 b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc5554
deleted file mode 100644
index 77b8abc5e0..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/linkcmds.phycore_mpc5554
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Debug RAM is the top 4MB of external RAM and is swapped with the
- * FLASH for development.
- */
-MEMORY {
- ROM : ORIGIN = 0x00000000, LENGTH = 2M
- RAM : ORIGIN = 0x40000000, LENGTH = 64K
- RAM_EXT : ORIGIN = 0x21000000, LENGTH = 4M
- DEBUG_RAM : ORIGIN = 0x21400000, LENGTH = 4M
- NOCACHE : ORIGIN = 0x0, LENGTH = 0
-}
-
-bsp_debug_ram_start = ORIGIN (DEBUG_RAM);
-bsp_debug_ram_end = ORIGIN (DEBUG_RAM) + LENGTH (DEBUG_RAM);
-bsp_debug_ram_size = LENGTH (DEBUG_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_EXT);
-REGION_ALIAS ("REGION_RWEXTRA", RAM_EXT);
-REGION_ALIAS ("REGION_WORK", RAM_EXT);
-REGION_ALIAS ("REGION_STACK", RAM);
-REGION_ALIAS ("REGION_NOCACHE", NOCACHE);
-REGION_ALIAS ("REGION_NOCACHE_LOAD", NOCACHE);
-REGION_ALIAS ("REGION_NVRAM", NOCACHE);
-
-INCLUDE linkcmds.mpc55xx
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/restart.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/restart.c
deleted file mode 100644
index 495aa39a95..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/restart.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp.h>
-
-void bsp_restart(void *addr)
-{
- rtems_interrupt_level level;
- void (*start)(void) = addr;
-
- (void) level;
- rtems_interrupt_disable(level);
- (*start)();
-}
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/sd-card-init.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/sd-card-init.c
deleted file mode 100644
index f6e0484122..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/sd-card-init.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief SD Card initialization code.
- */
-
-/*
- * Copyright (c) 2008
- * Embedded Brains GmbH
- * Obere Lagerstr. 30
- * D-82178 Puchheim
- * Germany
- * rtems@embedded-brains.de
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <stdio.h>
-
-#include <mpc55xx/mpc55xx.h>
-#include <mpc55xx/regs.h>
-#include <mpc55xx/dspi.h>
-
-#include <bsp.h>
-
-#include <rtems/status-checks.h>
-
-#ifdef MPC55XX_BOARD_MPC5566EVB
-
-static rtems_status_code mpc55xx_dspi_init(void)
-{
- int rv = 0;
- int i = 0;
- char device_name [] = "/dev/spi0";
- union SIU_PCR_tag pcr = MPC55XX_ZERO_FLAGS;
-
- rv = rtems_libi2c_initialize();
- RTEMS_CHECK_RV_SC( rv, "rtems_libi2c_initialize");
-
- /* DSPI D inputs are taken from DSPI C */
- SIU.DISR.R = 0x000000FC;
-
- /* DSPI A signals */
- pcr.B.PA = 1;
- pcr.B.ODE = 0;
- pcr.B.HYS = 0;
- pcr.B.SRC = 3;
- pcr.B.WPE = 1;
- pcr.B.WPS = 1;
-
- /* SCK */
- pcr.B.OBE = 1;
- pcr.B.IBE = 0;
- SIU.PCR [93].R = pcr.R;
-
- /* SIN */
- pcr.B.OBE = 0;
- pcr.B.IBE = 1;
- SIU.PCR [94].R = pcr.R;
-
- /* SOUT */
- pcr.B.OBE = 1;
- pcr.B.IBE = 0;
- SIU.PCR [95].R = pcr.R;
-
- /* PCSx */
- pcr.B.OBE = 1;
- pcr.B.IBE = 0;
- SIU.PCR [96].R = pcr.R;
- SIU.PCR [97].R = pcr.R;
- SIU.PCR [98].R = pcr.R;
- SIU.PCR [99].R = pcr.R;
- SIU.PCR [100].R = pcr.R;
- SIU.PCR [101].R = pcr.R;
-
- mpc55xx_dspi_bus_table [3].master = 0;
- for (i = 0; i < MPC55XX_DSPI_NUMBER; ++i) {
- device_name [8] = (char) ('0' + i);
- rv = rtems_libi2c_register_bus( device_name, (rtems_libi2c_bus_t *) &mpc55xx_dspi_bus_table [i]);
- RTEMS_CHECK_RV_SC( rv, device_name);
- }
-
- return RTEMS_SUCCESSFUL;
-}
-
-#include <stdio.h>
-#include <rtems/fsmount.h>
-#include <rtems/dosfs.h>
-#include <rtems/bdpart.h>
-#include <rtems/console.h>
-
-#include <libchip/spi-sd-card.h>
-
-#define MPC55XX_DEVICE "sd-card-a"
-#define MPC55XX_DEVICE_FILE "/dev/" MPC55XX_DEVICE
-#define MPC55XX_PARTITION "/dev/sd-card-a1"
-#define MPC55XX_MOUNT_POINT "/mnt"
-
-static fstab_t mpc55xx_fs_table [] = { {
- MPC55XX_PARTITION, MPC55XX_MOUNT_POINT,
- "dosfs", RTEMS_FILESYSTEM_READ_WRITE,
- FSMOUNT_MNT_OK | FSMOUNT_MNTPNT_CRTERR | FSMOUNT_MNT_FAILED,
- FSMOUNT_MNT_OK
- }, {
- MPC55XX_DEVICE_FILE, MPC55XX_MOUNT_POINT,
- "dosfs", RTEMS_FILESYSTEM_READ_WRITE,
- FSMOUNT_MNT_OK | FSMOUNT_MNTPNT_CRTERR | FSMOUNT_MNT_FAILED,
- 0
- }
-};
-
-sd_card_driver_entry sd_card_driver_table [] = {
- {
- .device_name = "/dev/sd-card-a",
- .bus = 0,
- .transfer_mode = SD_CARD_TRANSFER_MODE_DEFAULT,
- .command = SD_CARD_COMMAND_DEFAULT,
- /* response : whatever, */
- .response_index = SD_CARD_COMMAND_SIZE,
- .n_ac_max = SD_CARD_N_AC_MAX_DEFAULT,
- .block_number = 0,
- .block_size = 0,
- .block_size_shift = 0,
- .busy = true,
- .verbose = true,
- .schedule_if_busy = false
- }
-};
-
-size_t sd_card_driver_table_size = sizeof( sd_card_driver_table) / sizeof( sd_card_driver_table [0]);
-
-rtems_status_code mpc55xx_sd_card_init( bool mount)
-{
- rtems_status_code sc = RTEMS_SUCCESSFUL;
- int rv = 0;
- sd_card_driver_entry *e = &sd_card_driver_table [0];
-
- RTEMS_DEBUG_PRINT( "Task started\n");
-
- sc = mpc55xx_dspi_init();
- RTEMS_CHECK_SC( rv, "Intitalize DSPI bus");
-
- e->bus = mpc55xx_dspi_bus_table [0].bus_number;
-
- sc = sd_card_register();
- RTEMS_CHECK_SC( sc, "Register SD Card");
-
- if (mount) {
- sc = rtems_bdpart_register_from_disk( MPC55XX_DEVICE_FILE);
- RTEMS_CHECK_SC( sc, "Initialize IDE partition table");
-
- rv = rtems_fsmount( mpc55xx_fs_table, sizeof( mpc55xx_fs_table) / sizeof( mpc55xx_fs_table [0]), NULL);
- RTEMS_CHECK_RV_SC( rv, "Mount file systems");
- }
-
- return RTEMS_SUCCESSFUL;
-}
-
-#endif /* MPC55XX_BOARD_MPC5566EVB */
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-cache.S b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-cache.S
deleted file mode 100644
index c30de57fc6..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-cache.S
+++ /dev/null
@@ -1,114 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx_asm
- *
- * @brief Cache initialization.
- */
-
-/*
- * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <libcpu/powerpc-utility.h>
-
-#include <mpc55xx/regs.h>
-
- .globl mpc55xx_start_cache
-
- .section ".bsp_start_text", "ax"
-
-mpc55xx_start_cache:
-
-#ifdef MPC55XX_NEEDS_LOW_LEVEL_INIT
-
- /* Load zero, CINV, and CABT) */
- li r0, 0
- li r3, 0x2
- li r4, 0x4
-
-#if defined(BSP_INSTRUCTION_CACHE_ENABLED) \
- && defined(MPC55XX_HAS_INSTRUCTION_CACHE)
-
-start_instruction_cache_invalidation:
-
- /* Clear instruction cache invalidation abort */
- mtspr FSL_EIS_L1CSR1, r0
-
- /* Start instruction cache invalidation */
- mtspr FSL_EIS_L1CSR1, r3
-
-get_instruction_cache_invalidation_status:
-
- /* Get instruction cache invalidation status */
- mfspr r5, FSL_EIS_L1CSR1
-
- /* Check CABT */
- and. r6, r5, r4
- bne start_instruction_cache_invalidation
-
- /* Check CINV */
- and. r6, r5, r3
- bne get_instruction_cache_invalidation_status
-
- /* Save instruction cache settings */
- LWI r6, 0x00010001
- isync
- msync
- mtspr FSL_EIS_L1CSR1, r6
-
-#endif
-
-#if (defined(BSP_DATA_CACHE_ENABLED) && defined(MPC55XX_HAS_DATA_CACHE)) \
- || ((defined(BSP_DATA_CACHE_ENABLED) \
- || defined(BSP_INSTRUCTION_CACHE_ENABLED)) \
- && defined(MPC55XX_HAS_UNIFIED_CACHE))
-
-start_data_cache_invalidation:
-
- /* Clear data cache invalidation abort */
- mtspr FSL_EIS_L1CSR0, r0
-
- /* Start data cache invalidation */
- mtspr FSL_EIS_L1CSR0, r3
-
-get_data_cache_invalidation_status:
-
- /* Get data cache invalidation status */
- mfspr r5, FSL_EIS_L1CSR0
-
- /* Check CABT */
- and. r6, r5, r4
- bne start_data_cache_invalidation
-
- /* Check CINV */
- and. r6, r5, r3
- bne get_data_cache_invalidation_status
-
- /* Save data cache settings */
-#if MPC55XX_CHIP_FAMILY != 567
- /* FIXME: CORG??? 0x00180011 */
- LWI r6, 0x00100001
-#else
- LWI r6, 0x00190001
-#endif
- isync
- msync
- mtspr FSL_EIS_L1CSR0, r6
-
-#endif
-
-#endif /* MPC55XX_NEEDS_LOW_LEVEL_INIT */
-
- /* Return */
- blr
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-clock.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-clock.c
deleted file mode 100644
index 85468d5cb0..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-clock.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief Clock and FMPLL initialization code.
- */
-
-/*
- * Copyright (c) 2008-2011 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp.h>
-#include <bsp/fatal.h>
-#include <bsp/start.h>
-#include <bsp/bootcard.h>
-#include <bsp/mpc55xx-config.h>
-
-#ifdef MPC55XX_NEEDS_LOW_LEVEL_INIT
- #if defined(MPC55XX_HAS_FMPLL) || defined(MPC55XX_HAS_FMPLL_ENHANCED)
- static BSP_START_TEXT_SECTION void fmpll_wait_for_lock(void)
- {
- int i = 0;
- bool lock = false;
-
- while (!lock && i < 6000) {
- lock = FMPLL.SYNSR.B.LOCK != 0;
- ++i;
- }
-
- if (!lock) {
- bsp_fatal(MPC55XX_FATAL_FMPLL_LOCK);
- }
- }
- #endif
-#endif
-
-BSP_START_TEXT_SECTION void mpc55xx_start_clock(void)
-{
- #ifdef MPC55XX_NEEDS_LOW_LEVEL_INIT
- const mpc55xx_clock_config *cfg = mpc55xx_start_config_clock;
-
- #ifdef MPC55XX_HAS_FMPLL
- volatile struct FMPLL_tag *fmpll = &FMPLL;
-
- fmpll->SYNCR.R = cfg->syncr_tmp.R;
- fmpll->SYNCR.R;
- fmpll_wait_for_lock();
-
- fmpll->SYNCR.R = cfg->syncr_final.R;
- fmpll->SYNCR.R;
- fmpll_wait_for_lock();
- #endif
-
- #ifdef MPC55XX_HAS_FMPLL_ENHANCED
- volatile struct FMPLL_tag *fmpll = &FMPLL;
-
- fmpll->ESYNCR2.R = cfg->esyncr2_tmp.R;
- fmpll->ESYNCR2.R;
- fmpll->ESYNCR1.R = cfg->esyncr1_final.R;
- fmpll->ESYNCR1.R;
- fmpll_wait_for_lock();
-
- fmpll->ESYNCR2.R = cfg->esyncr2_final.R;
- fmpll->ESYNCR2.R;
- fmpll_wait_for_lock();
-
- #if MPC55XX_CHIP_FAMILY == 551 || MPC55XX_CHIP_FAMILY == 566
- /* System clock supplied by PLL */
- SIU.SYSCLK.B.SYSCLKSEL = 2;
- #endif
- #endif
-
- #ifdef MPC55XX_HAS_MODE_CONTROL
- volatile CGM_tag *cgm = &CGM;
- size_t fmpll_count = sizeof(cfg->fmpll) / sizeof(cfg->fmpll [0]);
- size_t auxclk_count = sizeof(cfg->auxclk) / sizeof(cfg->auxclk [0]);
- size_t i = 0;
-
- for (i = 0; i < auxclk_count; ++i) {
- cgm->AUXCLK [i].AC_SC.R = cfg->auxclk [i].AC_SC.R;
- cgm->AUXCLK [i].AC_DC0_3.R = cfg->auxclk [i].AC_DC0_3.R;
- }
-
- for (i = 0; i < fmpll_count; ++i) {
- cgm->FMPLL [i].CR.R = cfg->fmpll [i].cr.R;
- cgm->FMPLL [i].MR.R = cfg->fmpll [i].mr.R;
- }
-
- cgm->OC_EN.R = cfg->oc_en.R;
- cgm->OCDS_SC.R = cfg->ocds_sc.R;
- #endif
- #endif
-}
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-clock.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-clock.c
deleted file mode 100644
index d820af3755..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-clock.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief Clock and FMPLL configuration.
- */
-
-/*
- * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp/mpc55xx-config.h>
-
-const mpc55xx_clock_config mpc55xx_start_config_clock [1] = { {
- #ifdef MPC55XX_HAS_FMPLL
- .syncr_tmp = {
- .B = {
- .PREDIV = MPC55XX_FMPLL_PREDIV - 1,
- .MFD = MPC55XX_FMPLL_MFD,
- .RFD = 2,
- .LOCEN = 1
- }
- },
- .syncr_final = {
- .B = {
- .PREDIV = MPC55XX_FMPLL_PREDIV - 1,
- .MFD = MPC55XX_FMPLL_MFD,
- .RFD = 0,
- .LOCEN = 1,
- .LOLIRQ = 1,
- .LOCIRQ = 1
- }
- }
- #endif
- #ifdef MPC55XX_HAS_FMPLL_ENHANCED
- #define EPREDIV_VAL (MPC55XX_FMPLL_PREDIV-1)
- #define EMFD_VAL (MPC55XX_FMPLL_MFD-16)
- #define VCO_CLK_REF (MPC55XX_REFERENCE_CLOCK/(EPREDIV_VAL+1))
- #define VCO_CLK_OUT (VCO_CLK_REF*(EMFD_VAL+16))
- #define ERFD_VAL \
- (((VCO_CLK_OUT + MPC55XX_SYSTEM_CLOCK - 1) / MPC55XX_SYSTEM_CLOCK)-1)
-
- .esyncr2_tmp = {
- .B = {
- .LOCEN = 0,
- .LOLRE = 0,
- .LOCRE = 0,
- .LOLIRQ = 0,
- .LOCIRQ = 0,
- .ERATE = 0,
- .EDEPTH = 0,
- .ERFD = ERFD_VAL + 2 /* reduce output clock during init */
- }
- },
- .esyncr2_final = {
- .B = {
- .LOCEN = 0,
- .LOLRE = 0,
- .LOCRE = 0,
- .LOLIRQ = 0,
- .LOCIRQ = 0,
- .ERATE = 0,
- #if MPC55XX_CHIP_FAMILY == 567
- .CLKCFG_DIS = 1,
- #endif
- .EDEPTH = 0,
- .ERFD = ERFD_VAL /* nominal output clock after init */
- }
- },
- .esyncr1_final = {
- .B = {
- .CLKCFG = MPC55XX_FMPLL_ESYNCR1_CLKCFG,
- .EPREDIV = EPREDIV_VAL,
- .EMFD = EMFD_VAL
- }
- }
- #endif
- #ifdef MPC55XX_HAS_MODE_CONTROL
- .fmpll = {
- {
- .cr = {
- #if MPC55XX_REFERENCE_CLOCK == 8000000
- .B = { .IDF = 0, .ODF = 1, .NDIV = 60, .I_LOCK = 1, .PLL_ON = 1 }
- #elif MPC55XX_REFERENCE_CLOCK == 40000000
- .B = { .IDF = 3, .ODF = 1, .NDIV = 48, .I_LOCK = 1, .PLL_ON = 1 }
- #else
- #error "unexpected reference clock"
- #endif
- }
- },
- {
- .cr = {
- .B = { .IDF = 3, .ODF = 2, .NDIV = 32, .I_LOCK = 1, .PLL_ON = 1 }
- }
- }
- },
- .ocds_sc = {
- .B = { .SELDIV = 2, .SELCTL = 2 }
- },
- .auxclk = {
- [0] = {
- .AC_SC = { .B = { .SELCTL = 4 } },
- .AC_DC0_3 = { .B = { .DE0 = 1, .DIV0 = 0 } }
- },
- [1] = {
- .AC_SC = { .B = { .SELCTL = 4 } },
- .AC_DC0_3 = { .B = { .DE0 = 1, .DIV0 = 11 } }
- },
- [2] = {
- .AC_SC = { .B = { .SELCTL = 4 } },
- .AC_DC0_3 = { .B = { .DE0 = 1, .DIV0 = 11 } }
- },
- [3] = {
- .AC_SC = { .B = { .SELCTL = 1 } }
- },
- [4] = {
- .AC_SC = { .B = { .SELCTL = 1 } }
- }
- }
- #endif
-} };
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs-cal.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs-cal.c
deleted file mode 100644
index 69f9b61a7d..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs-cal.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief EBI calibration chip-select configuration.
- */
-
-/*
- * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp/mpc55xx-config.h>
-
-#ifdef MPC55XX_HAS_EBI
-
-const struct EBI_CAL_CS_tag mpc55xx_start_config_ebi_cal_cs [] = {
-#if defined(MPC55XX_BOARD_MPC5674FEVB)
- /* External SRAM */
- {
- .BR = {
- .B = {
- .BA = 0x20000000 >> 15,
- .PS = 0,
- .AD_MUX = 1,
- .BL = 1,
- .WEBS = 0,
- .TBDIP = 1,
- .SETA = 0,
- .BI = 0,
- .V = 1
- }
- },
- .OR = {
- .B = {
- .AM = 0xfff80000 >> 15,
- .SCY = 0,
- .BSCY = 0
- }
- }
- },
- /* External Ethernet controller */
- {
- .BR = {
- .B = {
- .BA = 0x3fff8000 >> 15,
- .PS = 0,
- .AD_MUX = 1,
- .BL = 0,
- .WEBS = 0,
- .TBDIP = 0,
- .SETA = 0,
- .BI = 1,
- .V = 1
- }
- },
- .OR = {
- .B = {
- .AM = 0xfff80000 >> 15,
- .SCY = 1,
- .BSCY = 0
- }
- }
- }
-#elif defined(MPC55XX_BOARD_MPC5674F_ECU508) \
- && defined(MPC55XX_NEEDS_LOW_LEVEL_INIT)
- /* D_CS0 for external SRAM */
- {
- .BR = {
- .B = {
- .BA = 0x20000000 >> 15,
- .PS = 0,
- .AD_MUX = 1,
- .BL = 1,
- .WEBS = 0,
- .TBDIP = 1,
- .SETA = 0,
- .BI = 0,
- .V = 1
- }
- },
- .OR = {
- .B = {
- .AM = 0xffe00000 >> 15,
- .SCY = 0,
- .BSCY = 0
- }
- }
- },
-
- /* D_CS1 for Ethernet Controller */
- {
- .BR = {
- .B = {
- .BA = 0x3fff8000 >> 15,
- .PS = 0,
- .AD_MUX = 1,
- .BL = 0,
- .WEBS = 0,
- .TBDIP = 0,
- .SETA = 0,
- .BI = 1,
- .V = 1
- }
- },
- .OR = {
- .B = {
- .AM = 0xffff8000 >> 15,
- .SCY = 1,
- .BSCY = 0
- }
- }
- },
-
- /* D_CS2 unused */
- {
- .BR = {
- .B = {
- .BA = 0x20000000 >> 15,
- .PS = 0,
- .AD_MUX = 1,
- .BL = 0,
- .WEBS = 0,
- .TBDIP = 0,
- .SETA = 0,
- .BI = 1,
- .V = 0
- }
- },
- .OR = {
- .B = {
- .AM = 0xfff80000 >> 15,
- .SCY = 0,
- .BSCY = 0
- }
- }
- },
-
- /* D_CS3 for MRAM, ARCNET */
- {
- .BR = {
- .B = {
- .BA = 0x3ff80000 >> 15,
- .PS = 1,
- .AD_MUX = 1,
- .BL = 0,
- .WEBS = 1,
- .TBDIP = 0,
- .SETA = 0,
- .BI = 1,
- .V = 1
- }
- },
- .OR = {
- .B = {
- .AM = 0xfff80000 >> 15,
- .SCY = 1,
- .BSCY = 0
- }
- }
- }
-#elif defined(MPC55XX_BOARD_MPC5674F_RSM6)
- /* D_CS0 for MRAM */
- {
- .BR = {
- .B = {
- .BA = 0x20000000 >> 15,
- .PS = 0,
- .AD_MUX = 1,
- .BL = 0,
- .WEBS = 1,
- .TBDIP = 0,
- .SETA = 0,
- .BI = 1,
- .V = 1
- }
- },
- .OR = {
- .B = {
- .AM = 0xffc00000 >> 15,
- .SCY = 4,
- .BSCY = 0
- }
- }
- },
-
- /* D_CS1 for FPGA */
- {
- .BR = {
- .B = {
- .BA = 0x21000000 >> 15,
- .PS = 0,
- .AD_MUX = 1,
- .BL = 0,
- .WEBS = 0,
- .TBDIP = 0,
- .SETA = 0,
- .BI = 1,
- .V = 1
- }
- },
- .OR = {
- .B = {
- .AM = 0xff800000 >> 15,
- .SCY = 0,
- .BSCY = 0
- }
- }
- },
-
- /* D_CS2 unused */
- {
- .BR = { .R = 0x20000002 },
- .OR = { .R = 0xe0000000 }
- },
-
- /* D_CS3 for Ethernet Controller */
- {
- .BR = {
- .B = {
- .BA = 0x23000000 >> 15,
- .PS = 1,
- .AD_MUX = 1,
- .BL = 0,
- .WEBS = 1,
- .TBDIP = 0,
- .SETA = 0,
- .BI = 1,
- .V = 1
- }
- },
- .OR = {
- .B = {
- .AM = 0xfff80000 >> 15,
- .SCY = 8,
- .BSCY = 0
- }
- }
- }
-#endif
-};
-
-const size_t mpc55xx_start_config_ebi_cal_cs_count [] = {
- RTEMS_ARRAY_SIZE(mpc55xx_start_config_ebi_cal_cs)
-};
-
-#endif /* MPC55XX_HAS_EBI */
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs.c
deleted file mode 100644
index d12d0fa059..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi-cs.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief EBI chip-select configuration.
- */
-
-/*
- * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp/mpc55xx-config.h>
-
-#ifdef MPC55XX_HAS_EBI
-
-const struct EBI_CS_tag mpc55xx_start_config_ebi_cs [] = {
-#if defined(MPC55XX_BOARD_GWLCFM)
- /* CS0: External SRAM (16 bit, 1 wait states, 512kB, no burst) */
- {
- {
- .B.BA = 0x20000000>>15,
- .B.PS = 1,
- .B.AD_MUX = 1,
- .B.WEBS = 1,
- .B.TBDIP = 0,
- .B.BI = 1,
- .B.V = 1
- },
- {
- .B.AM = 0x1fff0,
- .B.SCY = 1,
- .B.BSCY = 0
- }
- },
- /* CS1: External USB controller (16 bit, 3 wait states, 32kB, no burst) */
- {
- {
- .B.BA = 0x22000000>>15,
- .B.PS = 1,
- .B.AD_MUX = 1,
- .B.WEBS = 0,
- .B.TBDIP = 0,
- .B.BI = 1,
- .B.V = 1
- },
- {
- .B.AM = 0x1ffff,
- .B.SCY = 3,
- .B.BSCY = 0
- }
- },
- /* CS2: Ethernet (16 bit, 2 wait states, 32kB, no burst) */
- {
- {
- .B.BA = 0x22800000>>15,
- .B.PS = 1,
- .B.AD_MUX = 1,
- .B.WEBS = 1,
- .B.TBDIP = 0,
- .B.BI = 1,
- .B.V = 1
- },
- {
- .B.AM = 0x1ffff,
- .B.SCY = 1,
- .B.BSCY = 0
- }
- },
- { /* CS3: MOST Companion. */
- {
- .B.BA = 0x23000000>>15,
- .B.PS = 1,
- .B.AD_MUX = 1,
- .B.WEBS = 0,
- .B.TBDIP = 0,
- .B.BI = 1,
- .B.V = 1
- },
-
- {
- .B.AM = 0x1fff0,
- .B.SCY = 1,
- .B.BSCY = 0
- }
- }
-#elif defined(MPC55XX_BOARD_PHYCORE_MPC5554)
- /* CS0: External flash. */
- {
- { .R = 0x20000003 }, /* Base 0x2000000, Burst Inhibit, Valid */
- { .R = 0xff000050 }
- },
- /* CS1: External synchronous burst mode SRAM. */
- {
- { .R = 0x21000051 }, /* Base 0x2100000, 4-word Burst Enabled, Valid */
- { .R = 0xff000000 } /* No wait states. */
- },
- /* CS2: External LAN91C111 */
- {
- { .R = 0x22000003 }, /* Base 0x22000000, Burst inhibit, valid */
- { .R = 0xff000010 }
- },
-
- /* CS3: External FPGA */
- {
- { .R = 0x23000003 }, /* Base 0x23000000, Burst inhibit, valid. */
- { .R = 0xff000020 }
- }
-#elif defined(MPC55XX_BOARD_MPC5566EVB)
- /* CS0: External SRAM (2 wait states, 512kB, 4 word burst) */
- {
- {
- .B.BA = 0,
- .B.PS = 1,
- .B.BL = 1,
- .B.WEBS = 0,
- .B.TBDIP = 0,
- .B.BI = 1, /* TODO: Enable burst */
- .B.V = 1
- },
-
- {
- .B.AM = 0x1fff0,
- .B.SCY = 0,
- .B.BSCY = 0
- }
- },
- { { .R = 0 }, { .R = 0 } }, /* CS1: Unused. */
- { { .R = 0 }, { .R = 0 } }, /* CS2: Unused. */
- { /* CS3: ethernet? */
- {
- .B.BA = 0x7fff,
- .B.PS = 1,
- .B.BL = 0,
- .B.WEBS = 0,
- .B.TBDIP = 0,
- .B.BI = 1,
- .B.V = 1
- },
-
- {
- .B.AM = 0x1ffff,
- .B.SCY = 1,
- .B.BSCY = 0
- }
- }
-#endif
-};
-
-const size_t mpc55xx_start_config_ebi_cs_count [] = {
- RTEMS_ARRAY_SIZE(mpc55xx_start_config_ebi_cs)
-};
-
-#endif /* MPC55XX_HAS_EBI */
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi.c
deleted file mode 100644
index 1ce2b297d8..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-ebi.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief EBI configuration.
- */
-
-/*
- * Copyright (c) 2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp/mpc55xx-config.h>
-
-#ifdef MPC55XX_HAS_EBI
-
-const mpc55xx_ebi_config mpc55xx_start_config_ebi [] = {
- #if defined(MPC55XX_BOARD_GWLCFM)
- {
- .ebi_mcr = {
- .B = {
- .DBM = 1,
- .AD_MUX = 1, /* use multiplexed bus */
- .D16_31 = 1 /* use lower AD bus */
- }
- },
- .siu_eccr_ebdf = 4 - 1 /* use CLK/4 as bus clock */
- }
- #elif (defined(MPC55XX_BOARD_MPC5674FEVB) \
- || defined(MPC55XX_BOARD_MPC5674F_ECU508) \
- || defined(MPC55XX_BOARD_MPC5674F_RSM6)) \
- && defined(MPC55XX_NEEDS_LOW_LEVEL_INIT)
- {
- .ebi_mcr = {
- .B = {
- .ACGE = 0,
- .MDIS = 0,
- .D16_31 = 1,
- .AD_MUX = 0,
- .DBM = 0
- }
- },
- .siu_eccr_ebdf = 2 - 1
- }
- #endif
-};
-
-const size_t mpc55xx_start_config_ebi_count [] = {
- RTEMS_ARRAY_SIZE(mpc55xx_start_config_ebi)
-};
-
-#endif /* MPC55XX_HAS_EBI */
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu-early.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu-early.c
deleted file mode 100644
index 84e638d55c..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu-early.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief MMU early configuration.
- */
-
-/*
- * Copyright (c) 2011-2013 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp/mpc55xx-config.h>
-
-const struct MMU_tag mpc55xx_start_config_mmu_early [] = {
-#if (defined(MPC55XX_BOARD_MPC5674F_ECU508) \
- || defined(MPC55XX_BOARD_MPC5674F_RSM6)) \
- && !defined(MPC55XX_NEEDS_LOW_LEVEL_INIT)
- /* Used as cache-inhibited area later (ADC, DSPI queues) */
- MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K, 0, 1, 1, 0)
-#elif MPC55XX_CHIP_FAMILY == 555
- /* Internal SRAM 96k */
- MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_256K, 1, 1, 1, 0),
-#elif MPC55XX_CHIP_FAMILY == 556
- /* Internal SRAM 128k */
- MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_64K, 1, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(5, 0x40010000, MPC55XX_MMU_64K, 0, 1, 1, 0),
-#elif MPC55XX_CHIP_FAMILY == 564
- /* Internal flash 1M */
- MPC55XX_MMU_TAG_INITIALIZER(0, 0x00000000, MPC55XX_MMU_1M, 1, 0, 1, 1),
- /* IO */
- MPC55XX_MMU_TAG_INITIALIZER(1, 0xffe00000, MPC55XX_MMU_2M, 0, 1, 1, 1),
- MPC55XX_MMU_TAG_INITIALIZER(2, 0xc3f00000, MPC55XX_MMU_1M, 0, 1, 1, 1),
- /* Internal SRAM 64k + 64k */
- 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)
-#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
- /* Internal SRAM 256k */
- MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_256K, 1, 1, 1, 0)
-#endif
-};
-
-const size_t mpc55xx_start_config_mmu_early_count [] = {
- RTEMS_ARRAY_SIZE(mpc55xx_start_config_mmu_early)
-};
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c
deleted file mode 100644
index 7cf319edd3..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief MMU configuration.
- */
-
-/*
- * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp/mpc55xx-config.h>
-
-const struct MMU_tag mpc55xx_start_config_mmu [] = {
-#if defined(MPC55XX_BOARD_GWLCFM)
- /* External Ethernet Controller 64k */
- MPC55XX_MMU_TAG_INITIALIZER(5, 0x3fff8000, MPC55XX_MMU_64K, 0, 1, 1, 1)
-#elif defined(MPC55XX_BOARD_PHYCORE_MPC5554)
- /* Arguments macro: idx, addr, size, x, w, r, io */
- MPC55XX_MMU_TAG_INITIALIZER(8, 0x20000000, MPC55XX_MMU_8M, 1, 0, 1, 0), /* External FLASH 8M */
- MPC55XX_MMU_TAG_INITIALIZER(2, 0x21000000, MPC55XX_MMU_4M, 0, 1, 1, 0), /* Lower half SRAM */
- MPC55XX_MMU_TAG_INITIALIZER(5, 0x21400000, MPC55XX_MMU_4M, 1, 1, 1, 0), /* Upper half SRAM ("debug") */
- MPC55XX_MMU_TAG_INITIALIZER(6, 0x22000000, MPC55XX_MMU_16M, 0, 1, 1, 1), /* LAN91C111 */
- MPC55XX_MMU_TAG_INITIALIZER(7, 0x23000000, MPC55XX_MMU_16M, 0, 1, 1, 1), /* FPGA */
-#elif defined(MPC55XX_BOARD_MPC5566EVB)
- /* Internal flash 3M */
- MPC55XX_MMU_TAG_INITIALIZER(1, 0x00000000, MPC55XX_MMU_64K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(6, 0x00010000, MPC55XX_MMU_64K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(7, 0x00020000, MPC55XX_MMU_64K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(8, 0x00030000, MPC55XX_MMU_64K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(9, 0x00040000, MPC55XX_MMU_256K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(10, 0x00080000, MPC55XX_MMU_256K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(11, 0x000c0000, MPC55XX_MMU_256K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(12, 0x00100000, MPC55XX_MMU_1M, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(13, 0x00200000, MPC55XX_MMU_1M, 1, 0, 1, 0),
- /* External SRAM 512k */
- MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_256K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(14, 0x20040000, MPC55XX_MMU_256K, 0, 1, 1, 0),
- /* Internal SRAM 128k */
- MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_64K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(5, 0x40010000, MPC55XX_MMU_64K, 0, 1, 1, 0),
- /* External Ethernet Controller 64k */
- MPC55XX_MMU_TAG_INITIALIZER(15, 0x3fff8000, MPC55XX_MMU_64K, 0, 1, 1, 1)
-#elif defined(MPC55XX_BOARD_MPC5674FEVB)
- /* Internal flash 4M */
- MPC55XX_MMU_TAG_INITIALIZER(1, 0x00000000, MPC55XX_MMU_64K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(5, 0x00010000, MPC55XX_MMU_64K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(6, 0x00020000, MPC55XX_MMU_128K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(7, 0x00040000, MPC55XX_MMU_256K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(8, 0x00080000, MPC55XX_MMU_512K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(9, 0x00100000, MPC55XX_MMU_1M, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(10, 0x00200000, MPC55XX_MMU_2M, 1, 0, 1, 0),
- /* External SRAM 512k */
- MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_512K, 0, 1, 1, 0),
- /* Internal SRAM 256k */
- MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_128K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(11, 0x40020000, MPC55XX_MMU_64K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(12, 0x40030000, MPC55XX_MMU_32K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(13, 0x40038000, MPC55XX_MMU_16K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K, 0, 1, 1, 1),
- /* External Ethernet controller */
- MPC55XX_MMU_TAG_INITIALIZER(15, 0x3fff8000, MPC55XX_MMU_64K, 0, 1, 1, 1)
-#elif defined(MPC55XX_BOARD_MPC5674F_ECU508)
- #if defined(MPC55XX_NEEDS_LOW_LEVEL_INIT)
- /* Arguments macro: idx, addr, size, x, w, r, io */
-
- /* Internal flash 4M */
- /* First 64k unused, to detect NULL pointer access */
- MPC55XX_MMU_TAG_INITIALIZER(1, 0x00000000, MPC55XX_MMU_64K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(5, 0x00010000, MPC55XX_MMU_64K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(6, 0x00020000, MPC55XX_MMU_128K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(7, 0x00040000, MPC55XX_MMU_256K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(8, 0x00080000, MPC55XX_MMU_512K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(9, 0x00100000, MPC55XX_MMU_1M, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(10, 0x00200000, MPC55XX_MMU_2M, 1, 0, 1, 0),
- /* External SRAM 2M */
- #ifndef BSP_DATA_CACHE_USE_WRITE_THROUGH
- MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_2M, 0, 1, 1, 0),
- #else
- MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_2M, 0, 1, 1, 2),
- #endif
- /* Internal SRAM 256k */
- MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_256K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(11, 0x40020000, MPC55XX_MMU_64K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(12, 0x40030000, MPC55XX_MMU_32K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(13, 0x40038000, MPC55XX_MMU_16K, 0, 1, 1, 0),
- /* Used as cache-inhibited area (ADC, DSPI queues) */
- MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K, 0, 1, 1, 1),
- /* External Ethernet controller */
- MPC55XX_MMU_TAG_INITIALIZER(15, 0x3fff8000, MPC55XX_MMU_1K, 0, 1, 1, 1),
- /* External MRAM 128k */
- MPC55XX_MMU_TAG_INITIALIZER(16, 0x3ffa0000, MPC55XX_MMU_128K, 0, 1, 1, 0),
- /* External ARCNET controller */
- MPC55XX_MMU_TAG_INITIALIZER(17, 0x3ffc0000, MPC55XX_MMU_1K, 0, 1, 1, 1)
- /* Peripheral Bridge A-Registers on MMU-table pos 4 */
- /* Peripheral Bridge B-Registers on MMU-table pos 0 */
- #else
- /* Used as cache-inhibited area (ADC, DSPI queues) */
- MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K, 0, 1, 1, 1)
- #endif
-#elif defined(MPC55XX_BOARD_MPC5674F_RSM6)
- /* Arguments macro: idx, addr, size, x, w, r, io */
-
- /* Internal flash 4M */
- /* First 64k unused, to detect NULL pointer access */
- MPC55XX_MMU_TAG_INITIALIZER(1, 0x00000000, MPC55XX_MMU_64K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(5, 0x00010000, MPC55XX_MMU_64K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(6, 0x00020000, MPC55XX_MMU_128K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(7, 0x00040000, MPC55XX_MMU_256K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(8, 0x00080000, MPC55XX_MMU_512K, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(9, 0x00100000, MPC55XX_MMU_1M, 1, 0, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(10, 0x00200000, MPC55XX_MMU_2M, 1, 0, 1, 0),
- /* External MRAM 4M */
- MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_4M, 0, 1, 1, 0),
- /* Internal SRAM 256k */
- MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_256K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(11, 0x40020000, MPC55XX_MMU_64K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(12, 0x40030000, MPC55XX_MMU_32K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(13, 0x40038000, MPC55XX_MMU_16K, 0, 1, 1, 0),
- /* Used as cache-inhibited area (ADC, DSPI queues) */
- MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K, 0, 1, 1, 1),
- /* External FPGA */
- MPC55XX_MMU_TAG_INITIALIZER(15, 0x21000000, MPC55XX_MMU_8M, 0, 1, 1, 1),
- /* External Ethernet controller */
- MPC55XX_MMU_TAG_INITIALIZER(16, 0x23000000, MPC55XX_MMU_1K, 0, 1, 1, 1)
-#elif MPC55XX_CHIP_FAMILY == 564
- /* Internal flash 1M */
- MPC55XX_MMU_TAG_INITIALIZER(0, 0x00000000, MPC55XX_MMU_1M, 1, 0, 1, 0),
- /* IO */
- MPC55XX_MMU_TAG_INITIALIZER(1, 0xffe00000, MPC55XX_MMU_2M, 0, 1, 1, 1),
- MPC55XX_MMU_TAG_INITIALIZER(2, 0xc3f00000, MPC55XX_MMU_1M, 0, 1, 1, 1),
- /* Internal SRAM 64k + 64k */
- MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_64K, 0, 1, 1, 0),
- MPC55XX_MMU_TAG_INITIALIZER(4, 0x50000000, MPC55XX_MMU_64K, 0, 1, 1, 0)
-#endif
-};
-
-const size_t mpc55xx_start_config_mmu_count [] = {
- RTEMS_ARRAY_SIZE(mpc55xx_start_config_mmu)
-};
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-siu-pcr.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-siu-pcr.c
deleted file mode 100644
index 8355e647ca..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-siu-pcr.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief SIU PCR configuration.
- */
-
-/*
- * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp/mpc55xx-config.h>
-
-const mpc55xx_siu_pcr_config mpc55xx_start_config_siu_pcr [] = {
-#if defined(MPC55XX_BOARD_GWLCFM)
- { 0,16, 0, {.B.PA = 1, .B.WPE = 0}}, /* PA[ 0..15] analog input */
- { 16, 4, 0, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PB[ 0.. 4] LED/CAN_STBN out */
- { 20, 2, 0, {.B.PA = 0,.B.IBE = 1,.B.WPE = 0}}, /* PB[ 5.. 6] CAN_ERR/USBFLGC in*/
- { 22, 1, 0, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PB[ 7 ] FR_A_EN out */
- { 23, 4, 0, {.B.PA = 0,.B.IBE = 1,.B.WPE = 0}}, /* PB[ 8..10] IRQ/FR_A_ERR/USB_RDYin */
- { 27, 1, 0, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PB[11..11] FR_STBN out */
-
- { 32, 2, 0, {.B.PA = 2,.B.OBE = 1,.B.WPE = 0}}, /* PC[ 0.. 1] FR_A_TX/TXEN out */
- { 34, 1, 0, {.B.PA = 2,.B.IBE = 1,.B.WPE = 0}}, /* PC[ 2.. 2] FR_A_RX in */
- { 35, 2, 0, {.B.PA = 0,.B.IBE = 1,.B.WPE = 0}}, /* PC[ 3.. 4] INIT_ERR/ISB_IRQ in */
- { 37, 2, 0, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PC[ 5.. 6] PWRO1/2_ON out */
- { 39, 1, 0, {.B.PA = 2,.B.IBE = 1,.B.WPE = 0}}, /* PC[ 7.. 7] FR_B_RX in */
- { 40, 2, 0, {.B.PA = 2,.B.OBE = 1,.B.WPE = 0}}, /* PC[ 8.. 9] FR_B_TX/TXEN out */
- { 42, 1, 0, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PC[10 ] FR_B_EN out */
- { 43, 1, 0, {.B.PA = 0,.B.IBE = 1,.B.WPE = 0}}, /* PC[11 ] FOR_STATUS in */
- { 44, 1, 0, {.B.PA = 0,.B.IBE = 1,.B.WPE = 0}}, /* PC[12 ] FR_B_ERRN in */
- { 45, 1, 0, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PC[13 ] HS_CAN_STBN out */
- { 46, 1, 0, {.B.PA = 0,.B.IBE = 1,.B.WPE = 0}}, /* PC[14 ] HS_CAN_ERR in */
- { 47, 1, 0, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PC[15 ] HS_CAN_EN out */
-
- { 48, 1, 0, {.B.PA = 1,.B.OBE = 1,.B.WPE = 0}}, /* PD[ 0 ] HS_CAN_TX out */
- { 49, 1, 0, {.B.PA = 1,.B.IBE = 1,.B.WPE = 0}}, /* PD[ 1 ] HS_CAN_RX in */
- { 50, 2, 0, {.B.PA = 0,.B.IBE = 1,.B.WPE = 0}}, /* PD[ 2.. 3] PWRO1/2_OC in */
- { 52, 1, 0, {.B.PA = 1,.B.OBE = 1,.B.WPE = 0}}, /* PD[ 4 ] LS_CAN_TX out */
- { 53, 1, 0, {.B.PA = 1,.B.IBE = 1,.B.WPE = 0}}, /* PD[ 5 ] LS_CAN_RX in */
- { 54, 1, 0, {.B.PA = 1,.B.OBE = 1,.B.WPE = 0}}, /* PD[ 6 ] HS_CAN_TX out */
- { 55, 1, 0, {.B.PA = 1,.B.IBE = 1,.B.WPE = 0}}, /* PD[ 7 ] HS_CAN_RX in */
- { 56, 1, 0, {.B.PA = 2,.B.IBE = 1,.B.OBE = 1,.B.WPE = 0}},
- /* PD[ 8 ] I2C_SCL in/out */
- { 57, 1, 0, {.B.PA = 2,.B.IBE = 1,.B.OBE = 1,.B.WPE = 0}},
- /* PD[ 9 ] I2C_SDA in/out */
-
- { 58, 1, 0, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PD[10] LS_CAN_EN out*/
- { 59, 3, 0, {.B.PA = 0,.B.IBE = 1,.B.WPE = 0}},
- /* PD[11..13] PWO1_OC, MOCO_INT in */
-
- { 62, 4, 0, {.B.PA = 0,.B.IBE = 1,.B.WPE = 0}}, /* PD[14..15] USB_FLGA/B in */
-
- { 64, 5, 0, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PE[ 0.. 4] LED_EXT1-5. out*/
- { 70, 1, 0, {.B.PA = 1,.B.SRC = 3,.B.WPE = 0}}, /* PE[ 6.. 6] CLKOUT out*/
-
- { 80, 1, 0, {.B.PA = 1,.B.SRC = 1,.B.WPE = 0}}, /* PF[ 0.. 0] RD_WR out*/
- { 81, 1, 0, {.B.PA = 0,.B.SRC = 0,.B.WPE = 0}}, /* PF[ 1.. 1] (nc) in */
- { 82, 8, 0, {.B.PA = 2,.B.SRC = 1,.B.WPE = 0}}, /* PF[ 2..11] ADDR[8..15] out*/
- { 90, 2, 0, {.B.PA = 1,.B.SRC = 1,.B.WPE = 0}}, /* PF[ 2..11] CS[0..1] out*/
- { 92, 1, 0, {.B.PA = 3,.B.SRC = 3,.B.WPE = 0}}, /* PF[ 12] ALE out*/
- { 93, 3, 0, {.B.PA = 1,.B.SRC = 1,.B.WPE = 0}}, /* PF[13..15] OE/WE out*/
-
- { 96,16, 0, {.B.PA = 1,.B.SRC = 1,.B.WPE = 0}}, /* PG[ 0..15] AD16..31 in/out*/
-
- {113, 1, 1, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PH[ 1.. 1] RES_MOSTComp out*/
- {114, 1, 0, {.B.PA = 3,.B.OBE = 1,.B.WPE = 0}}, /* PH[ 2.. 2] CS3_MOSTComp out*/
- {115, 1, 0, {.B.PA = 3,.B.OBE = 1,.B.WPE = 0}}, /* PH[ 3.. 3] CS2_ETH out*/
- {116, 2, 0, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PH[ 4.. 5] FR/HC_TERM out*/
- {118, 1, 0, {.B.PA = 2,.B.OBE = 1,.B.WPE = 0}}, /* PH[ 6.. 6] LIN_Tx out*/
- {119, 1, 0, {.B.PA = 2,.B.IBE = 1,.B.WPE = 0}}, /* PH[ 7.. 7] LIN_Rx in */
- {120, 1, 0, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PH[ 8..11] LIN_SLP,RST out*/
- {121, 2, 1, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}}, /* PH[ 8..11] LIN_SLP,RST out*/
- {120, 1, 0, {.B.PA = 0,.B.OBE = 1,.B.WPE = 0}} /* PH[ 8..11] LIN_SLP,RST out*/
-#elif defined(MPC55XX_BOARD_PHYCORE_MPC5554)
- { 0, 4, 0, {.B.PA = 1, .B.DSC = 1,.B.WPE=1,.B.WPS=1}}, /* !CS [0:3] */
- { 4,24, 0, {.B.PA = 1, .B.DSC = 1 }}, /* ADDR [8 : 31] */
- { 28,32, 0, {.B.PA = 1, .B.DSC = 1 }}, /* DATA [0 : 31] */
- { 60, 4, 0, {.B.PA = 1, .B.DSC = 1, }}, /* TSIZ[0:1], RD_!WR, BDIP */
- { 64, 6, 0, {.B.PA = 1, .B.DSC = 1,.B.WPE=1,.B.WPS=1}}, /* RD_!WR, BDIP, !WE, !OE, !TS */
- { 89, 4, 0, {.B.PA = 1 }}, /* ESCI_A and ESCI_B */
- {229, 4, 0, { .B.OBE= 1,.B.DSC = 1 }} /* CLKOUT */
-#elif defined(MPC55XX_BOARD_MPC5566EVB)
- { 0, 1, 0, {.B.PA = 1,.B.DSC = 1,.B.WPE=1,.B.WPS=1}}, /* !CS [0] */
- { 3, 1, 0, {.B.PA = 1,.B.DSC = 1,.B.WPE=1,.B.WPS=1}}, /* !CS [3] */
- { 4,24, 0, {.B.PA = 1,.B.DSC = 1 }}, /* ADDR [8 : 31] */
- { 28,16, 0, {.B.PA = 1,.B.DSC = 1 }}, /* DATA [0 : 15] */
- { 62, 8, 0, {.B.PA = 1,.B.DSC = 1,.B.WPE=1,.B.WPS=1}}, /* RD_!WR, BDIP,
- !WE, !OE, !TS */
- { 89, 2, 0, {.B.PA = 1 }} /* ESCI_B */
-#elif defined(MPC55XX_BOARD_MPC5674FEVB)
- { 89, 2, 0, { .B = { .PA = 1 } } }, /* ESCI_A */
- { 256, 1, 0, { .B = { .PA = 1, .DSC = 1 } } }, /* D_CS0 */
- { 257, 1, 0, { .B = { .PA = 2, .DSC = 1 } } }, /* D_ADD_DAT31 */
- { 259, 4, 0, { .B = { .PA = 1, .DSC = 1 } } }, /* D_ADD12 .. D_ADD15 */
- { 263, 15, 0, { .B = { .PA = 2, .DSC = 1 } } }, /* D_ADD_DAT16 .. D_ADD_DAT30 */
- { 278, 16, 0, { .B = { .PA = 1, .DSC = 1 } } }, /* D_ADD_DAT0 .. D_ADD_DAT15 */
- { 294, 6, 0, { .B = { .PA = 1, .DSC = 1 } } }, /* D_RD_WR, D_WE0, D_WE1, D_OE, D_TS, D_ALE */
- { 301, 1, 0, { .B = { .PA = 1, .DSC = 1 } } }, /* D_CS1 */
- { 302, 6, 0, { .B = { .PA = 1, .DSC = 1 } } } /* D_BDIP, D_WE2, D_WE3, D_ADD9 .. D_ADD11 */
-#elif defined(MPC55XX_BOARD_MPC5674F_ECU508) \
- && defined(MPC55XX_NEEDS_LOW_LEVEL_INIT)
- { 196, 2, 0, { .B = { .PA = 0, .OBE = 1, .WPE = 0 } } }, /* EMIOS17 .. EMIOS18 (5VS_EN, 80V_EN) */
- { 200, 4, 0, { .B = { .PA = 0, .OBE = 1, .WPE = 0 } } }, /* EMIOS21 .. EMIOS24 (\KS_RST, \LS_RST, \IGNINJ_RST, \INJDI_RST) */
- { 204, 1, 1, { .B = { .PA = 0, .OBE = 1, .WPE = 0 } } }, /* EMIOS25 (HBR12_RST) */
- { 244, 2, 0, { .B = { .PA = 1 } } }, /* ESCI_C */
- { 256, 1, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_CS0 */
- { 257, 1, 0, { .B = { .PA = 2, .DSC = 1 } } }, /* D_ADD_DAT31 */
- { 258, 1, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_CS3 */
- { 259, 4, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_ADD12 .. D_ADD15 */
- { 263, 15, 0, { .B = { .PA = 2, .DSC = 1 } } }, /* D_ADD_DAT16 .. D_ADD_DAT30 */
- { 278, 16, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_ADD_DAT0 .. D_ADD_DAT15 */
- { 294, 6, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_RD_WR, D_WE0, D_WE1, D_OE, D_TS, D_ALE */
- { 301, 1, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_CS1 */
- { 302, 3, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_BDIP, D_WE2, D_WE3 */
- { 305, 3, 0, { .B = { .PA = 1, .DSC = 0 } } }, /* D_ADD9 .. D_ADD11 */
- { 432, 1, 1, { .B = { .PA = 0, .OBE = 1, .WPE = 0 } } }, /* EMIOS26 (HBR34_RST) */
- { 433, 1, 0, { .B = { .PA = 0, .OBE = 1, .WPE = 0 } } } /* EMIOS27 (\ETH_RST) */
-#elif defined(MPC55XX_BOARD_MPC5674F_RSM6)
- { 89, 1, 0, { .B = { .PA = 1, .OBE = 1, .IBE = 1, .WPE = 1, .WPS = 1 } } }, /* TXD_A (ESCI_A)*/
- { 90, 1, 0, { .B = { .PA = 1, .OBE = 0, .IBE = 1, .WPE = 1, .WPS = 1 } } }, /* RXD_A (ESCI_A)*/
- { 256, 1, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_CS0 */
- { 257, 1, 0, { .B = { .PA = 2, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_ADD_DAT31 */
- { 258, 1, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_CS3 */
- { 259, 4, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_ADD12 .. D_ADD15 */
- { 263, 15, 0, { .B = { .PA = 2, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_ADD_DAT16 .. D_ADD_DAT30 */
- { 278, 16, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_ADD_DAT0 .. D_ADD_DAT15 */
- { 294, 6, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_RD_WR, D_WE0, D_WE1, D_OE, D_TS, D_ALE */
- { 301, 1, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_CS1 */
- { 302, 3, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } }, /* D_BDIP, D_WE2, D_WE3 */
- { 305, 3, 0, { .B = { .PA = 1, .DSC = 3, .WPE = 1, .WPS = 1 } } } /* D_ADD9 .. D_ADD11 */
-#endif
-};
-
-const size_t mpc55xx_start_config_siu_pcr_count [] = {
- RTEMS_ARRAY_SIZE(mpc55xx_start_config_siu_pcr)
-};
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c
deleted file mode 100644
index e1a0b3da09..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-early.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief Early initialization code.
- */
-
-/*
- * Copyright (c) 2008-2012 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp/mpc55xx-config.h>
-#include <bsp/linker-symbols.h>
-
-/* This function is defined in start.S */
-BSP_START_TEXT_SECTION void mpc55xx_start_load_section(
- void *dst,
- const void *src,
- size_t n
-);
-
-static BSP_START_TEXT_SECTION void mpc55xx_start_mmu(void)
-{
- #ifdef MPC55XX_BOOTFLAGS
- /* If the low bit of bootflag 0 is clear don't change the MMU. */
- bool do_mmu_config = (mpc55xx_bootflag_0 [0] & 1) != 0;
- #else
- bool do_mmu_config = true;
- #endif
-
- if (do_mmu_config) {
- mpc55xx_start_mmu_apply_config(
- &mpc55xx_start_config_mmu [0],
- mpc55xx_start_config_mmu_count [0]
- );
- }
-}
-
-static BSP_START_TEXT_SECTION void mpc55xx_start_internal_ram(void)
-{
- #ifdef MPC55XX_NEEDS_LOW_LEVEL_INIT
- /* Initialize internal SRAM to zero (ECC) */
- bsp_start_zero(
- (char *) bsp_ram_start + MPC55XX_EARLY_STACK_SIZE,
- (size_t) bsp_ram_size - MPC55XX_EARLY_STACK_SIZE
- );
- #ifdef MPC55XX_HAS_SECOND_INTERNAL_RAM_AREA
- bsp_start_zero(&bsp_ram_1_start [0], (size_t) bsp_ram_1_size);
- #endif
- #else
- bsp_start_zero(
- bsp_section_sbss_begin,
- (size_t) bsp_section_sbss_size
- );
- bsp_start_zero(
- bsp_section_bss_begin,
- (size_t) bsp_section_bss_size
- );
- #endif
-}
-
-static BSP_START_TEXT_SECTION void mpc55xx_start_load_nocache_section(void)
-{
- mpc55xx_start_load_section(
- bsp_section_nocache_begin,
- bsp_section_nocache_load_begin,
- (size_t) bsp_section_nocache_size
- );
- rtems_cache_flush_multiple_data_lines(
- bsp_section_nocache_begin,
- (size_t) bsp_section_nocache_size
- );
-}
-
-static BSP_START_TEXT_SECTION void mpc55xx_start_mode_change(void)
-{
- #ifdef MPC55XX_NEEDS_LOW_LEVEL_INIT
- #ifdef MPC55XX_HAS_MODE_CONTROL
- uint32_t mctl_key1 = 0x5af0;
- uint32_t mctl_key2 = 0xa50f;
- int i = 0;
-
- /* Clear any pending RGM status */
- RGM.FES.R = 0xffff;
- RGM.DES.R = 0xffff;
-
- /* Make sure XOSC and PLLs are on in RUN0 state */
- ME.DRUN_MC.R = 0x001f0074;
- ME.RUN_MC [0].R = 0x001f0074;
-
- /*
- * Make sure all peripherals are active in DRUN and RUN0 state.
- *
- * FIXME: This might be optimized to reduce power consumtion.
- */
- for (i = 0; i < 8; ++i) {
- ME_RUN_PC_32B_tag run_pc = { .R = ME.RUN_PC [i].R };
-
- run_pc.B.DRUN = 1;
- run_pc.B.RUN0 = 1;
-
- ME.RUN_PC [i].R = run_pc.R;
- }
-
- /* Switch to RUN0 state */
- ME.MCTL.R = 0x40000000 | mctl_key1;
- ME.MCTL.R = 0x40000000 | mctl_key2;
-
- while (ME.GS.B.S_MTRANS) {
- /* Wait for mode switch to be completed */
- }
- #endif
- #endif
-}
-
-static BSP_START_TEXT_SECTION void mpc55xx_start_siu(void)
-{
- size_t i = 0;
-
- for (i = 0; i < mpc55xx_start_config_siu_pcr_count [0]; ++i) {
- const mpc55xx_siu_pcr_config *e = &mpc55xx_start_config_siu_pcr [i];
- int j = e->index;
- int n = j + e->count;
- uint8_t gpdo = e->output;
- uint16_t pcr = e->pcr.R;
-
- while (j < n) {
- SIU.GPDO [j].R = gpdo;
- SIU.PCR [j].R = pcr;
- ++j;
- }
- }
-}
-
-static BSP_START_TEXT_SECTION void mpc55xx_start_ebi_chip_select(void)
-{
- #ifdef MPC55XX_HAS_EBI
- size_t i = 0;
-
- for (i = 0; i < mpc55xx_start_config_ebi_cs_count [0]; ++i) {
- EBI.CS [i] = mpc55xx_start_config_ebi_cs [i];
- }
-
- for (i = 0; i < mpc55xx_start_config_ebi_cal_cs_count [0]; ++i) {
- EBI.CAL_CS [i] = mpc55xx_start_config_ebi_cal_cs [i];
- }
- #endif
-}
-
-static BSP_START_TEXT_SECTION void mpc55xx_start_ebi(void)
-{
- #ifdef MPC55XX_HAS_EBI
- size_t i = 0;
-
- for (i = 0; i < mpc55xx_start_config_ebi_count [0]; ++i) {
- SIU.ECCR.B.EBDF = mpc55xx_start_config_ebi [i].siu_eccr_ebdf;
- EBI.MCR.R = mpc55xx_start_config_ebi [i].ebi_mcr.R;
- }
- #endif
-}
-
-#ifdef MPC55XX_NEEDS_LOW_LEVEL_INIT
-static BSP_START_TEXT_SECTION bool
-mpc55xx_start_is_in_internal_ram(const void *addr)
-{
- return (size_t) addr - (size_t) bsp_ram_start < (size_t) bsp_ram_size;
-}
-#endif
-
-static BSP_START_TEXT_SECTION void mpc55xx_start_clear_bss(void)
-{
- #ifdef MPC55XX_NEEDS_LOW_LEVEL_INIT
- if (!mpc55xx_start_is_in_internal_ram(bsp_section_sbss_begin)) {
- bsp_start_zero(
- bsp_section_sbss_begin,
- (size_t) bsp_section_sbss_size
- );
- }
-
- if (!mpc55xx_start_is_in_internal_ram(bsp_section_bss_begin)) {
- bsp_start_zero(
- bsp_section_bss_begin,
- (size_t) bsp_section_bss_size
- );
- }
- #endif
-}
-
-BSP_START_TEXT_SECTION void mpc55xx_start_early(void)
-{
- mpc55xx_start_watchdog();
- mpc55xx_start_clock();
- mpc55xx_start_flash();
- #if defined(BSP_DATA_CACHE_ENABLED) || defined(BSP_INSTRUCTION_CACHE_ENABLED)
- mpc55xx_start_cache();
- #endif
- mpc55xx_start_internal_ram();
- mpc55xx_start_load_nocache_section();
- mpc55xx_start_mmu();
- mpc55xx_start_mode_change();
- mpc55xx_start_siu();
- mpc55xx_start_ebi_chip_select();
- mpc55xx_start_ebi();
- mpc55xx_start_clear_bss();
-}
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-flash.S b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-flash.S
deleted file mode 100644
index 9c87d38a83..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-flash.S
+++ /dev/null
@@ -1,139 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx_asm
- *
- * @brief Flash configuration.
- */
-
-/*
- * Copyright (c) 2008-2015 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Dornierstr. 4
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <libcpu/powerpc-utility.h>
-#include <mpc55xx/reg-defs.h>
-
- .section ".bsp_start_text", "ax"
-
-#if MPC55XX_CHIP_FAMILY == 551
-
-/* MPC5510 Microcontroller Family Data Sheet, Rev. 3, Table 16, Num 7 */
-.equ FLASH_CLOCK_0, 25000000
-.equ FLASH_CLOCK_1, 50000000
-.equ FLASH_CLOCK_2, 80000000
-.equ FLASH_CLOCK_3, FLASH_CLOCK_2
-.equ FLASH_SETTINGS_0, FLASH_BUICR_CPU_PREFTCH | FLASH_BUICR_APC_0 | FLASH_BUICR_RWSC_0 | FLASH_BUICR_WWSC_1 | FLASH_BUICR_DPFEN_1 | FLASH_BUICR_IPFEN_1 | FLASH_BUICR_PFLIM_2 | FLASH_BUICR_BFEN
-.equ FLASH_SETTINGS_1, FLASH_BUICR_CPU_PREFTCH | FLASH_BUICR_APC_1 | FLASH_BUICR_RWSC_1 | FLASH_BUICR_WWSC_1 | FLASH_BUICR_DPFEN_1 | FLASH_BUICR_IPFEN_1 | FLASH_BUICR_PFLIM_2 | FLASH_BUICR_BFEN
-.equ FLASH_SETTINGS_2, FLASH_BUICR_CPU_PREFTCH | FLASH_BUICR_APC_2 | FLASH_BUICR_RWSC_2 | FLASH_BUICR_WWSC_1 | FLASH_BUICR_DPFEN_1 | FLASH_BUICR_IPFEN_1 | FLASH_BUICR_PFLIM_2 | FLASH_BUICR_BFEN
-.equ FLASH_SETTINGS_3, FLASH_SETTINGS_2
-
-#else
-
-/* Optimized flash configurations (Table 13-15 [MPC5567 Microcontroller Reference Manual]) */
-.equ FLASH_CLOCK_0, 82000000
-.equ FLASH_CLOCK_1, 102000000
-.equ FLASH_CLOCK_2, 132000000
-.equ FLASH_CLOCK_3, 264000000
-.equ FLASH_SETTINGS_0, FLASH_BUICR_CPU_PREFTCH | FLASH_BUICR_APC_1 | FLASH_BUICR_RWSC_1 | FLASH_BUICR_WWSC_1 | FLASH_BUICR_DPFEN_3 | FLASH_BUICR_IPFEN_3 | FLASH_BUICR_PFLIM_6 | FLASH_BUICR_BFEN
-.equ FLASH_SETTINGS_1, FLASH_BUICR_CPU_PREFTCH | FLASH_BUICR_APC_1 | FLASH_BUICR_RWSC_2 | FLASH_BUICR_WWSC_1 | FLASH_BUICR_DPFEN_3 | FLASH_BUICR_IPFEN_3 | FLASH_BUICR_PFLIM_6 | FLASH_BUICR_BFEN
-.equ FLASH_SETTINGS_2, FLASH_BUICR_CPU_PREFTCH | FLASH_BUICR_APC_2 | FLASH_BUICR_RWSC_3 | FLASH_BUICR_WWSC_1 | FLASH_BUICR_DPFEN_3 | FLASH_BUICR_IPFEN_3 | FLASH_BUICR_PFLIM_6 | FLASH_BUICR_BFEN
-.equ FLASH_SETTINGS_3, 0x01716B15
-
-#endif
-
-/**
- * @fn void mpc55xx_start_flash()
- * @brief Optimized flash configuration.
- * @warning Code will be copied and executed on the stack.
- */
-GLOBAL_FUNCTION mpc55xx_start_flash
-#if !defined(MPC55XX_NEEDS_LOW_LEVEL_INIT) \
- || MPC55XX_CHIP_FAMILY == 564 \
- || MPC55XX_CHIP_FAMILY == 566
- blr
-#else
- .equ stack_size, 20
- .equ lr_offset, 28
-
- /* Reserve stack frame */
- stwu r1, -stack_size(r1)
- mflr r0
- stw r0, lr_offset(r1)
-
- /* Flash settings dependent on system clock */
- bl mpc55xx_get_system_clock
- LWI r4, FLASH_CLOCK_0
- cmpw r3, r4
- ble clock_0
- LWI r4, FLASH_CLOCK_1
- cmpw r3, r4
- ble clock_1
- LWI r4, FLASH_CLOCK_2
- cmpw r3, r4
- ble clock_2
- LWI r4, FLASH_CLOCK_3
- cmpw r3, r4
- ble clock_3
-
- /*
- * In case we don't have the right flash settings for the system clock
- * value, then rely on the BAM settings.
- */
- blr
-
-clock_0:
- LWI r3, FLASH_SETTINGS_0
- b settings_done
-clock_1:
- LWI r3, FLASH_SETTINGS_1
- b settings_done
-clock_2:
- LWI r3, FLASH_SETTINGS_2
- b settings_done
-clock_3:
- LWI r3, FLASH_SETTINGS_3
- b settings_done
-settings_done:
-
- /* Copy store code on the stack */
- LA r4, store_start
- lwz r6, 0(r4)
- lwz r7, 4(r4)
- lwz r8, 8(r4)
- stw r6, 8(r1)
- stw r7, 12(r1)
- stw r8, 16(r1)
-
- /* Execute store code */
- LA r4, FLASH_BIUCR
- addi r5, r1, 8
- mtctr r5
- bctrl
-
- /* Return */
- lwz r0, lr_offset(r1)
- addi r1, r1, stack_size
- mtlr r0
- blr
-
-/*
- * Store flash settings
- */
-
-store_start:
-
- stw r3, 0(r4)
- isync
- blr
-
-#endif
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-prologue.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-prologue.c
deleted file mode 100644
index 872a96edfd..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-prologue.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief Start prologue.
- */
-
-/*
- * Copyright (c) 2013 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp/mpc55xx-config.h>
-
-BSP_START_TEXT_SECTION void mpc55xx_start_prologue(void)
-{
- /* Do nothing */
-}
diff --git a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-watchdog.c b/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-watchdog.c
deleted file mode 100644
index 7cf36ef02f..0000000000
--- a/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-watchdog.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * @file
- *
- * @ingroup mpc55xx
- *
- * @brief Watchdog initialization code.
- */
-
-/*
- * Copyright (c) 2011 embedded brains GmbH. All rights reserved.
- *
- * embedded brains GmbH
- * Obere Lagerstr. 30
- * 82178 Puchheim
- * Germany
- * <rtems@embedded-brains.de>
- *
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#include <bsp.h>
-#include <bsp/start.h>
-#include <bsp/mpc55xx-config.h>
-
-BSP_START_TEXT_SECTION void mpc55xx_start_watchdog(void)
-{
- #ifdef MPC55XX_NEEDS_LOW_LEVEL_INIT
- #ifdef MPC55XX_HAS_SWT
- /* Write keys to clear soft lock bit */
- SWT.SR.R = 0x0000c520;
- SWT.SR.R = 0x0000d928;
-
- /* Clear watchdog enable (WEN) */
- SWT.CR.R = 0x8000010A;
- #endif
- #endif
-}