source: rtems/c/src/lib/libbsp/powerpc/mpc55xxevb/startup/start-config-mmu.c @ 2a6ec317

4.11
Last change on this file since 2a6ec317 was 2a6ec317, checked in by Peter Dufault <dufault@…>, on Oct 1, 2012 at 1:22:52 PM

bsp/mpc55xx: PR2077: Mapping for external flash

  • Property mode set to 100644
File size: 6.2 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup mpc55xx
5 *
6 * @brief MMU configuration.
7 */
8
9/*
10 * Copyright (c) 2008-2012 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
23#include <bsp.h>
24#include <bsp/start.h>
25#include <bsp/mpc55xx-config.h>
26
27BSP_START_TEXT_SECTION const struct MMU_tag
28  mpc55xx_start_config_mmu [] = {
29#if defined(MPC55XX_BOARD_GWLCFM)
30  /* External Ethernet Controller 64k */
31  MPC55XX_MMU_TAG_INITIALIZER(5, 0x3fff8000, MPC55XX_MMU_64K, 0, 1, 1, 1)
32#elif defined(MPC55XX_BOARD_PHYCORE_MPC5554)
33  /* Arguments macro:       idx,  addr,      size,              x, w, r, io */
34  MPC55XX_MMU_TAG_INITIALIZER(8, 0x20000000, MPC55XX_MMU_8M,    1, 0, 1, 0), /* External FLASH 8M */
35  MPC55XX_MMU_TAG_INITIALIZER(2, 0x21000000, MPC55XX_MMU_4M,    0, 1, 1, 0), /* Lower half SRAM */
36  MPC55XX_MMU_TAG_INITIALIZER(5, 0x21400000, MPC55XX_MMU_4M,    1, 1, 1, 0), /* Upper half SRAM ("debug") */
37  MPC55XX_MMU_TAG_INITIALIZER(6, 0x22000000, MPC55XX_MMU_16M,   0, 1, 1, 1), /* LAN91C111 */
38  MPC55XX_MMU_TAG_INITIALIZER(7, 0x23000000, MPC55XX_MMU_16M,   0, 1, 1, 1), /* FPGA */
39#elif defined(MPC55XX_BOARD_MPC5566EVB)
40  /* Internal flash 3M */
41  MPC55XX_MMU_TAG_INITIALIZER(1, 0x00000000, MPC55XX_MMU_64K, 1, 0, 1, 0),
42  MPC55XX_MMU_TAG_INITIALIZER(6, 0x00010000, MPC55XX_MMU_64K, 1, 0, 1, 0),
43  MPC55XX_MMU_TAG_INITIALIZER(7, 0x00020000, MPC55XX_MMU_64K, 1, 0, 1, 0),
44  MPC55XX_MMU_TAG_INITIALIZER(8, 0x00030000, MPC55XX_MMU_64K, 1, 0, 1, 0),
45  MPC55XX_MMU_TAG_INITIALIZER(9, 0x00040000, MPC55XX_MMU_256K, 1, 0, 1, 0),
46  MPC55XX_MMU_TAG_INITIALIZER(10, 0x00080000, MPC55XX_MMU_256K, 1, 0, 1, 0),
47  MPC55XX_MMU_TAG_INITIALIZER(11, 0x000c0000, MPC55XX_MMU_256K, 1, 0, 1, 0),
48  MPC55XX_MMU_TAG_INITIALIZER(12, 0x00100000, MPC55XX_MMU_1M, 1, 0, 1, 0),
49  MPC55XX_MMU_TAG_INITIALIZER(13, 0x00200000, MPC55XX_MMU_1M, 1, 0, 1, 0),
50  /* External SRAM 512k */
51  MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_256K, 0, 1, 1, 0),
52  MPC55XX_MMU_TAG_INITIALIZER(14, 0x20040000, MPC55XX_MMU_256K, 0, 1, 1, 0),
53  /* Internal SRAM 128k */
54  MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_64K, 0, 1, 1, 0),
55  MPC55XX_MMU_TAG_INITIALIZER(5, 0x40010000, MPC55XX_MMU_64K, 0, 1, 1, 0),
56  /* External Ethernet Controller 64k */
57  MPC55XX_MMU_TAG_INITIALIZER(15, 0x3fff8000, MPC55XX_MMU_64K, 0, 1, 1, 1)
58#elif defined(MPC55XX_BOARD_MPC5674FEVB)
59  /* Internal flash 4M */
60  MPC55XX_MMU_TAG_INITIALIZER(1, 0x00000000, MPC55XX_MMU_64K, 1, 0, 1, 0),
61  MPC55XX_MMU_TAG_INITIALIZER(5, 0x00010000, MPC55XX_MMU_64K, 1, 0, 1, 0),
62  MPC55XX_MMU_TAG_INITIALIZER(6, 0x00020000, MPC55XX_MMU_128K, 1, 0, 1, 0),
63  MPC55XX_MMU_TAG_INITIALIZER(7, 0x00040000, MPC55XX_MMU_256K, 1, 0, 1, 0),
64  MPC55XX_MMU_TAG_INITIALIZER(8, 0x00080000, MPC55XX_MMU_512K, 1, 0, 1, 0),
65  MPC55XX_MMU_TAG_INITIALIZER(9, 0x00100000, MPC55XX_MMU_1M, 1, 0, 1, 0),
66  MPC55XX_MMU_TAG_INITIALIZER(10, 0x00200000, MPC55XX_MMU_2M, 1, 0, 1, 0),
67  /* External SRAM 512k */
68  MPC55XX_MMU_TAG_INITIALIZER(2, 0x20000000, MPC55XX_MMU_512K, 0, 1, 1, 0),
69  /* Internal SRAM 256k */
70  MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_128K, 0, 1, 1, 0),
71  MPC55XX_MMU_TAG_INITIALIZER(11, 0x40020000, MPC55XX_MMU_64K, 0, 1, 1, 0),
72  MPC55XX_MMU_TAG_INITIALIZER(12, 0x40030000, MPC55XX_MMU_32K, 0, 1, 1, 0),
73  MPC55XX_MMU_TAG_INITIALIZER(13, 0x40038000, MPC55XX_MMU_16K, 0, 1, 1, 0),
74  MPC55XX_MMU_TAG_INITIALIZER(14, 0x4003c000, MPC55XX_MMU_16K, 0, 1, 1, 1),
75  /* External Ethernet controller */
76  MPC55XX_MMU_TAG_INITIALIZER(15, 0x3fff8000, MPC55XX_MMU_64K, 0, 1, 1, 1)
77#elif defined(MPC55XX_BOARD_MPC5674F_ECU508)
78  /* Arguments macro:       idx,  addr,                     size,             x, w, r, io */
79  /* Internal flash 4M */
80  MPC55XX_MMU_TAG_INITIALIZER(1,  0x00000000,               MPC55XX_MMU_64K,  1, 0, 1, 0),  /* first 64k unused, to detect null-pointer access */
81  MPC55XX_MMU_TAG_INITIALIZER(5,  0x00010000,               MPC55XX_MMU_64K,  1, 0, 1, 0),
82  MPC55XX_MMU_TAG_INITIALIZER(6,  0x00020000,               MPC55XX_MMU_128K, 1, 0, 1, 0),
83  MPC55XX_MMU_TAG_INITIALIZER(7,  0x00040000,               MPC55XX_MMU_256K, 1, 0, 1, 0),
84  MPC55XX_MMU_TAG_INITIALIZER(8,  0x00080000,               MPC55XX_MMU_512K, 1, 0, 1, 0),
85  MPC55XX_MMU_TAG_INITIALIZER(9,  0x00100000,               MPC55XX_MMU_1M,   1, 0, 1, 0),
86  MPC55XX_MMU_TAG_INITIALIZER(10, 0x00200000,               MPC55XX_MMU_2M,   1, 0, 1, 0),
87  /* External SRAM 2M */
88  MPC55XX_MMU_TAG_INITIALIZER(2,  0x20000000,               MPC55XX_MMU_2M,   0, 1, 1, 0),
89  /* Internal SRAM 256k */
90  MPC55XX_MMU_TAG_INITIALIZER(3,  0x40000000 +   0 * 1024,  MPC55XX_MMU_256K, 0, 1, 1, 0),
91  MPC55XX_MMU_TAG_INITIALIZER(11, 0x40000000 + 128 * 1024,  MPC55XX_MMU_64K,  0, 1, 1, 0),
92  MPC55XX_MMU_TAG_INITIALIZER(12, 0x40000000 + 192 * 1024,  MPC55XX_MMU_32K,  0, 1, 1, 0),
93  MPC55XX_MMU_TAG_INITIALIZER(13, 0x40000000 + 224 * 1024,  MPC55XX_MMU_16K,  0, 1, 1, 0),
94  MPC55XX_MMU_TAG_INITIALIZER(14, 0x40000000 + 240 * 1024,  MPC55XX_MMU_16K,  0, 1, 1, 1),  // used as cache-inhibited area (ADC, DSPI queues)
95  /* External Ethernet controller */
96  MPC55XX_MMU_TAG_INITIALIZER(15, 0x3fff8000,               MPC55XX_MMU_1K,   0, 1, 1, 1),
97  /* External MRAM 128k */
98  MPC55XX_MMU_TAG_INITIALIZER(16, 0x3ffa0000,               MPC55XX_MMU_128K, 0, 1, 1, 0),
99  /* External ARCNET controller */
100  MPC55XX_MMU_TAG_INITIALIZER(17, 0x3ffc0000,               MPC55XX_MMU_1K,   0, 1, 1, 1)
101  /* Peripheral Bridge A-Registers on MMU-table pos 4 */
102  /* Peripheral Bridge B-Registers on MMU-table pos 0 */
103#elif MPC55XX_CHIP_FAMILY == 564
104  /* Internal flash 1M */
105  MPC55XX_MMU_TAG_INITIALIZER(0, 0x00000000, MPC55XX_MMU_1M, 1, 0, 1, 0),
106  /* IO */
107  MPC55XX_MMU_TAG_INITIALIZER(1, 0xffe00000, MPC55XX_MMU_2M, 0, 1, 1, 1),
108  MPC55XX_MMU_TAG_INITIALIZER(2, 0xc3f00000, MPC55XX_MMU_1M, 0, 1, 1, 1),
109  /* Internal SRAM 64k + 64k */
110  MPC55XX_MMU_TAG_INITIALIZER(3, 0x40000000, MPC55XX_MMU_64K, 0, 1, 1, 0),
111  MPC55XX_MMU_TAG_INITIALIZER(4, 0x50000000, MPC55XX_MMU_64K, 0, 1, 1, 0)
112#endif
113};
114
115BSP_START_TEXT_SECTION const size_t mpc55xx_start_config_mmu_count [] = {
116  sizeof(mpc55xx_start_config_mmu) / sizeof(mpc55xx_start_config_mmu [0])
117};
Note: See TracBrowser for help on using the repository browser.