summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/tqm8xx/startup/cpuinit.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/tqm8xx/startup/cpuinit.c')
-rw-r--r--c/src/lib/libbsp/powerpc/tqm8xx/startup/cpuinit.c133
1 files changed, 0 insertions, 133 deletions
diff --git a/c/src/lib/libbsp/powerpc/tqm8xx/startup/cpuinit.c b/c/src/lib/libbsp/powerpc/tqm8xx/startup/cpuinit.c
deleted file mode 100644
index 5d34e07cfb..0000000000
--- a/c/src/lib/libbsp/powerpc/tqm8xx/startup/cpuinit.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * cpuinit.c
- *
- * TQM8xx initialization routines.
- * derived from MBX8xx BSP
- * adapted to TQM8xx by Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
- *
- * Copyright (c) 1999, National Research Council of Canada
- *
- * 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/tqm.h>
-
-
-/*
- * Initialize TQM8xx
- */
-void _InitTQM8xx (void)
-{
- register uint32_t r1;
-
- /*
- * Initialize the Instruction Support Control Register (ICTRL) to a
- * an appropriate value for normal operation. A different value,
- * such as 0x0, may be more appropriate for debugging.
- */
- r1 = 0x00000007;
- _mtspr( M8xx_ICTRL, r1 );
-
- /*
- * Disable and invalidate the instruction and data caches.
- */
- r1 = M8xx_CACHE_CMD_DISABLE;
- _mtspr( M8xx_IC_CST, r1 );
- _isync;
- r1 = M8xx_CACHE_CMD_UNLOCKALL;
- _mtspr( M8xx_IC_CST, r1 );
- _isync;
- r1 = M8xx_CACHE_CMD_INVALIDATE; /* invalidate all */
- _mtspr( M8xx_IC_CST, r1 );
- _isync;
-
- r1 = M8xx_CACHE_CMD_DISABLE;
- _mtspr( M8xx_DC_CST, r1 );
- _isync;
- r1 = M8xx_CACHE_CMD_UNLOCKALL;
- _mtspr( M8xx_DC_CST, r1 );
- _isync;
- r1 = M8xx_CACHE_CMD_INVALIDATE; /* invalidate all */
- _mtspr( M8xx_DC_CST, r1 );
- _isync;
-
- /*
- * Initialize the SIU Module Configuration Register (SIUMCR)
- * m8xx.siumcr = 0x00602900, the default value.
- */
- m8xx.siumcr = M8xx_SIUMCR_EARP0 | M8xx_SIUMCR_DBGC3 | M8xx_SIUMCR_DBPC0 |
- M8xx_SIUMCR_DPC | M8xx_SIUMCR_MLRC2 | M8xx_SIUMCR_SEME;
-
- /*
- * Initialize the System Protection Control Register (SYPCR).
- * The SYPCR can only be written once after Reset.
- * - Enable bus monitor
- * - Disable software watchdog timer
- * m8xx.sypcr = 0xFFFFFF88, the default MBX and firmware value.
- */
- m8xx.sypcr = M8xx_SYPCR_SWTC(0xFFFF) | M8xx_SYPCR_BMT(0xFF) |
- M8xx_SYPCR_BME | M8xx_SYPCR_SWF;
-
- /* Initialize the SIU Interrupt Edge Level Mask Register (SIEL) */
- m8xx.siel = 0xAAAA0000; /* Default MBX and firmware value. */
-
- /* Initialize the Transfer Error Status Register (TESR) */
- m8xx.tesr = 0xFFFFFFFF; /* Default firmware value. */
-
- /* Initialize the SDMA Configuration Register (SDCR) */
- m8xx.sdcr = 0x00000001; /* Default firmware value. */
-
- /*
- * Initialize the Timebase Status and Control Register (TBSCR)
- * m8xx.tbscr = 0x00C3, default MBX and firmware value.
- */
- m8xx.tbscrk = M8xx_UNLOCK_KEY; /* unlock TBSCR */
- m8xx.tbscr = M8xx_TBSCR_REFA | M8xx_TBSCR_REFB |
- M8xx_TBSCR_TBF | M8xx_TBSCR_TBE;
-
- /* Initialize the Real-Time Clock Status and Control Register (RTCSC) */
- m8xx.rtcsk = M8xx_UNLOCK_KEY; /* unlock RTCSC */
- m8xx.rtcsc = 0x00C3; /* Default MBX and firmware value. */
-
- /* Unlock other Real-Time Clock registers */
- m8xx.rtck = M8xx_UNLOCK_KEY; /* unlock RTC */
- m8xx.rtseck = M8xx_UNLOCK_KEY; /* unlock RTSEC */
- m8xx.rtcalk = M8xx_UNLOCK_KEY; /* unlock RTCAL */
-
- /* Initialize the Periodic Interrupt Status and Control Register (PISCR) */
- m8xx.piscrk = M8xx_UNLOCK_KEY; /* unlock PISCR */
- m8xx.piscr = 0x0083; /* Default MBX and firmware value. */
-
- /* Initialize the System Clock and Reset Control Register (SCCR)
- * Set the clock sources and division factors:
- * Timebase Source is GCLK2 / 16
- */
- m8xx.sccrk = M8xx_UNLOCK_KEY; /* unlock SCCR */
- m8xx.sccr |= 0x02000000;
-
- /* Unlock the timebase and decrementer registers. */
- m8xx.tbk = M8xx_UNLOCK_KEY;
- /*
- * Initialize decrementer register to a large value to
- * guarantee that a decrementer interrupt will not be
- * generated before the kernel is fully initialized.
- */
- r1 = 0x7FFFFFFF;
- _mtspr( M8xx_DEC, r1 );
-
- /* Initialize the timebase register (TB is 64 bits) */
- r1 = 0x00000000;
- _mtspr( M8xx_TBU_WR, r1 );
- _mtspr( M8xx_TBL_WR, r1 );
-}
-/*
- * further initialization (called from bsp_start)
- */
-void cpu_init(void)
-{
- /* mmu initialization */
- mmu_init();
-}