source: rtems/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/mmu-config.c @ 9e7758b

4.115
Last change on this file since 9e7758b was 9e7758b, checked in by Sebastian Huber <sebastian.huber@…>, on 08/31/11 at 16:03:10

2011-08-31 Sebastian Huber <sebastian.huber@…>

  • startup/bspgetworkarea.c, startup/linkcmds.base: Removed files.
  • include/mpc55xx-config.h, make/custom/mpc5674fevb.cfg, startup/early-init.c, startup/ebi-cal-cs-config.c, startup/ebi-cs-config.c, startup/exc-vector-base.S, startup/fmpll-syncr-vals.c, startup/linkcmds.mpc5674fevb, startup/mmu-config.c, startup/siu-pcr-config.c: New files.
  • Makefile.am, preinstall.am: Reflect changes above.
  • startup/linkcmds.gwlcfm, startup/linkcmds.mpc5566evb, startup/linkcmds.phycore_mpc5554: Use linker command base file.
  • configure.ac: Support MPC5674F. Changed eSCI options.
  • clock/clock-config.c: Support MPC5674F.
  • i2c/i2c_init.c, network/smsc9218i.c, startup/sd-card-init.c: Update due to API changes.
  • include/bsp.h: Define BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN.
  • network/if_smc.c: Use HAS_SMC91111.
  • startup/start.S, startup/bspstart.c: Moved low-level initialization into new files. Overall cleanup.
  • Property mode set to 100644
File size: 4.5 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup mpc55xx
5 *
6 * @brief MPC55XX MMU configuration.
7 */
8
9/*
10 * Copyright (c) 2008-2011 embedded brains GmbH.  All rights reserved.
11 *
12 *  embedded brains GmbH
13 *  Obere Lagerstr. 30
14 *  82178 Puchheim
15 *  Germany
16 *  <rtems@embedded-brains.de>
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
20 * http://www.rtems.com/license/LICENSE.
21 *
22 * $Id$
23 */
24
25#include <bsp/mpc55xx-config.h>
26#include <bsp/start.h>
27#include <bsp.h>
28
29const BSP_START_TEXT_SECTION struct MMU_tag
30mpc55xx_mmu_config [] = {
31#if defined(MPC55XX_BOARD_GWLCFM)
32  /* External Ethernet Controller 64k */
33  MPC55XX_MMU_TAG_INITIALIZER(5, 0x3fff8000, 6, 0, 1, 1, 1)
34#elif defined(MPC55XX_BOARD_PHYCORE_MPC5554)
35    /* XXX I'm not using TLB1 entry 2 the same way as
36         * in the BAM.
37     */
38    /*  Set up MMU TLB1 entry 2 for external ram. */
39    /*  Effective Base address = 0x2100_0000 XXX NOT LIKE BAM */
40    /*       Real Base address = 0x2100_0000 XXX NOT LIKE BAM */
41    /*  Page Size            6 =  4MB XXX Not like BAM */
42    /*  Not Guarded, Cache Enable, All Access (0, 3F) */
43    {
44        { .R = 0x10020000},     /* MAS0 */
45        { .R = 0xC0000600},     /* MAS1 */
46        { .R = 0x21000000},     /* MAS2 */
47        { .R = 0x2100003F}      /* MAS3 */
48    },
49
50    /*  Set up MMU TLB1 entry 5 for second half of SRAM (debug RAM) */
51    /*  Effective Base address = 0x2140_0000 */
52    /*       Real Base address = 0x2140_0000 */
53    /*  Page Size            6 = 4MB */
54    /*  Not Guarded, Cache Enable, All Access (0, 3F) */
55    {
56        { .R =  0x10050000 },   /* MAS0 */
57        { .R =  0xC0000600 },   /* MAS1 */
58        { .R =  0x21400000 },   /* MAS2 */
59        { .R =  0x2140003F }    /* MAS3 */
60    },
61    /*  Set up MMU TLB1 entry 6 for External LAN91C111 */
62    /*  Effective Base address = 0x2200_0000 */
63    /*       Real Base address = 0x2200_0000 */
64    /*  Page Size            7 = 16MB */
65    /*  Write-through, Guarded, Cache Inhibit, All Access (E, 3F) */
66    {
67        { .R = 0x10060000},     /* MAS0 */
68        { .R = 0xC0000700},     /* MAS1 */
69        { .R = 0x2200000E},     /* MAS2 */
70        { .R = 0x2200003F}      /* MAS3 */
71    },
72
73    /*  Set up MMU TLB1 entry 7 for External FPGA */
74    /*  Effective Base address = 0x2300_0000 */
75    /*       Real Base address = 0x2300_0000 */
76    /*  Page Size            7 = 16MB */
77    /*  Write-through, Guarded, Cache Inhibit, All Access (E, 3F) */
78    {
79        { .R = 0x10070000},     /* MAS0 */
80        { .R = 0xC0000700},     /* MAS1 */
81        { .R = 0x2300000E},     /* MAS2 */
82        { .R = 0x2300003F},     /* MAS3 */
83    },
84
85        /* Should also set up maps for the debug RAM and the
86         * external flash.
87         */
88#elif defined(MPC55XX_BOARD_MPC5566EVB)
89  /* Internal flash 3M */
90  MPC55XX_MMU_TAG_INITIALIZER(1, 0x00000000, 6, 1, 0, 1, 0),
91  MPC55XX_MMU_TAG_INITIALIZER(5, 0x00010000, 6, 1, 0, 1, 0),
92  MPC55XX_MMU_TAG_INITIALIZER(6, 0x00020000, 6, 1, 0, 1, 0),
93  MPC55XX_MMU_TAG_INITIALIZER(7, 0x00030000, 6, 1, 0, 1, 0),
94  MPC55XX_MMU_TAG_INITIALIZER(8, 0x00040000, 8, 1, 0, 1, 0),
95  MPC55XX_MMU_TAG_INITIALIZER(9, 0x00080000, 8, 1, 0, 1, 0),
96  MPC55XX_MMU_TAG_INITIALIZER(10, 0x000c0000, 8, 1, 0, 1, 0),
97  MPC55XX_MMU_TAG_INITIALIZER(11, 0x00100000, 10, 1, 0, 1, 0),
98  MPC55XX_MMU_TAG_INITIALIZER(12, 0x00200000, 10, 1, 0, 1, 0),
99  /* External SRAM 512k */
100  MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, 8, 0, 1, 1, 0),
101  MPC55XX_MMU_TAG_INITIALIZER(13, 0x20040000, 8, 0, 1, 1, 0),
102  /* Internal SRAM 128k */
103  MPC55XX_MMU_TAG_INITIALIZER(3, 0x40010000, 6, 0, 1, 1, 0),
104  MPC55XX_MMU_TAG_INITIALIZER(14, 0x40000000, 6, 0, 1, 1, 0),
105  /* External Ethernet Controller 64k */
106  MPC55XX_MMU_TAG_INITIALIZER(15, 0x3fff8000, 6, 0, 1, 1, 1)
107#elif defined(MPC55XX_BOARD_MPC5674FEVB)
108  /* Internal flash 4M */
109  MPC55XX_MMU_TAG_INITIALIZER(1, 0x00000000, 6, 1, 0, 1, 0),
110  MPC55XX_MMU_TAG_INITIALIZER(5, 0x00010000, 6, 1, 0, 1, 0),
111  MPC55XX_MMU_TAG_INITIALIZER(6, 0x00020000, 7, 1, 0, 1, 0),
112  MPC55XX_MMU_TAG_INITIALIZER(7, 0x00040000, 8, 1, 0, 1, 0),
113  MPC55XX_MMU_TAG_INITIALIZER(8, 0x00080000, 9, 1, 0, 1, 0),
114  MPC55XX_MMU_TAG_INITIALIZER(9, 0x00100000, 10, 1, 0, 1, 0),
115  MPC55XX_MMU_TAG_INITIALIZER(10, 0x00200000, 11, 1, 0, 1, 0),
116  /* External SRAM 512k */
117  MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, 9, 0, 1, 1, 0),
118  /* Internal SRAM 256k */
119  MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, 8, 0, 1, 1, 0)
120#endif
121};
122
123const BSP_START_TEXT_SECTION size_t mpc55xx_mmu_config_count [] = {
124  sizeof(mpc55xx_mmu_config) / sizeof(mpc55xx_mmu_config [0])
125};
Note: See TracBrowser for help on using the repository browser.