source: rtems/c/src/lib/libcpu/powerpc/mpc55xx/include/reg-defs.h @ 88919d0

4.104.115
Last change on this file since 88919d0 was 88919d0, checked in by Thomas Doerfler <Thomas.Doerfler@…>, on 04/07/10 at 14:19:55

renamed MPC55XX_CHIP_DERIVATE to MPC55XX_CHIP_TYPE

  • Property mode set to 100644
File size: 6.2 KB
Line 
1/**
2 * @file
3 *
4 * @ingroup mpc55xx
5 *
6 * @brief Register definitions.
7 */
8
9/*
10 * Copyright (c) 2008
11 * Embedded Brains GmbH
12 * Obere Lagerstr. 30
13 * D-82178 Puchheim
14 * Germany
15 * rtems@embedded-brains.de
16 *
17 * The license and distribution terms for this file may be found in the file
18 * LICENSE in this distribution or at http://www.rtems.com/license/LICENSE.
19 */
20
21#ifndef LIBCPU_POWERPC_MPC55XX_REG_DEFS_H
22#define LIBCPU_POWERPC_MPC55XX_REG_DEFS_H
23
24#include <bspopts.h>
25/*
26 * Register addresses
27 */
28#if ((MPC55XX_CHIP_TYPE >= 5510) && (MPC55XX_CHIP_TYPE <= 5517))
29
30#define FMPLL_SYNSR   0xFFFF0004
31#define FMPLL_ESYNCR1 0xFFFF0008
32#define FMPLL_ESYNCR2 0xFFFF000C
33#define FLASH_BIUCR   0xFFFF801C
34#define SIU_ECCR      0xFFFE8984
35#define SIU_SYSCLK    0xFFFE89A0
36#define SIU_SRCR      0xFFFE8010
37
38/*
39 * Definitions for SIU_SYSCLK
40 */
41#define SIU_SYSCLK_SYSCLKSEL_MASK 0xC0000000
42#define SIU_SYSCLK_SYSCLKSEL_IRC  0x00000000
43#define SIU_SYSCLK_SYSCLKSEL_XOSC 0x40000000
44#define SIU_SYSCLK_SYSCLKSEL_PLL  0x80000000
45
46#else /* ((MPC55XX_CHIP_TYPE >= 5510) && (MPC55XX_CHIP_TYPE <= 5517))*/
47
48#define FMPLL_SYNCR 0xC3F80000
49#define FMPLL_SYNSR 0xC3F80004
50#define FLASH_BIUCR 0xC3F8801C
51#define SIU_ECCR 0xC3F90984
52#define SIU_SRCR 0xC3F90010
53
54#endif /*((MPC55XX_CHIP_TYPE >= 5510) && (MPC55XX_CHIP_TYPE <= 5517))*/
55/*
56 * Special purpose registers
57 */
58
59#define BUCSR 1013
60
61/*
62 * Branch Unit Control and Status Register (BUCSR)
63 */
64
65#define BUCSR_BBFI 0x00000200
66#define BUCSR_BPEN 0x00000001
67
68/*
69 * Definitions for FMPLL_SYNCR (FMPLL Synthesizer Control Register)
70 */
71
72/* Fields used for PREDIV (Pre-Divider bits [1:3]) */
73#define FMPLL_SYNCR_PREDIV_0 0x00000000
74
75/* Fields used for MFD (Muliplication Factor Divider bits [4:8]) */
76#define FMPLL_SYNCR_MFD_0 0x00000000
77#define FMPLL_SYNCR_MFD_2 0x01000000
78#define FMPLL_SYNCR_MFD_4 0x02000000
79#define FMPLL_SYNCR_MFD_6 0x03000000
80#define FMPLL_SYNCR_MFD_8 0x04000000
81#define FMPLL_SYNCR_MFD_10 0x05000000
82#define FMPLL_SYNCR_MFD_12 0x06000000
83
84/* Fields used for RFD (Reduced Frequency Divider bits [10:12]) */
85#define FMPLL_SYNCR_RFD_0 0x00000000
86#define FMPLL_SYNCR_RFD_1 0x00080000
87#define FMPLL_SYNCR_RFD_2 0x00100000
88#define FMPLL_SYNCR_RFD_3 0x00180000
89#define FMPLL_SYNCR_RFD_4 0x00200000
90#define FMPLL_SYNCR_RFD_5 0x00280000
91#define FMPLL_SYNCR_RFD_6 0x00300000
92#define FMPLL_SYNCR_RFD_7 0x00380000
93
94/* Fields for LOCEN (Loss-of-clock enable bit [13]) */
95#define FMPLL_SYNCR_LOCEN 0x00040000
96
97/* Fields for LOLRE (Loss-of-lock reset enable bit [14]) */
98#define FMPLL_SYNCR_LOLRE 0x00020000
99
100/* Fields for LOCRE (Loss-of-clock reset enable bit [15]) */
101#define FMPLL_SYNCR_LOCRE 0x00010000
102
103/* Fields for DISCLK (Disable CLKOUT bit [16]) */
104#define FMPLL_SYNCR_DISCLK 0x00008000
105
106/* Fields for LOLIRQ (Loss-of-lock interrupt request bit [17]) */
107#define FMPLL_SYNCR_LOLIRQ 0x00004000
108
109/* Fields for LOCIRQ (Loss-of-clock interrupt request bit [18]) */
110#define FMPLL_SYNCR_LOCIRQ 0x00002000
111
112/* Fields for RATE (Modulation rate bit [19]) */
113#define FMPLL_SYNCR_RATE_FREF 0x00001000
114
115/* Fields for DEPTH (Modulation depth percentage bits [20:21]) */
116#define FMPLL_SYNCR_DEPTH_0 0x00000000
117#define FMPLL_SYNCR_DEPTH_1 0x00000400
118#define FMPLL_SYNCR_DEPTH_2 0x00000800
119
120/* Fields for EXP (Expected difference bits [22:31]) */
121#define FMPLL_SYNCR_EXP_0 0x00000000
122
123/*
124 * Definitions for the FMPLL_SYNSR (Synthesizer Status Register)
125 */
126
127/* Fields for LOLF (Loss-of-lock flag bit [22]) */
128#define FMPLL_SYNSR_LOLF 0x00000200
129
130/* Fields for LOCK (Lock status bit [28]) */
131#define FMPLL_SYNSR_LOCK 0x00000008
132
133/* Fields for LOCF (Loss-of-clock flag bit [29]) */
134#define FMPLL_SYNSR_LOCF 0x00000004
135
136/*
137 * Definitions for the SIU_SRCR (System Reset Control Register)
138 */
139
140/* Fields for SSR (software system reset bit [0]) */
141#define SIU_SRCR_SSR 0x80000000
142
143/* Fields for SER (external system reset bit [1]) */
144#define SIU_SRCR_SER 0x40000000
145
146/* Fields for CRE (checkstop reset enable bit [16]) */
147#define SIU_SRCR_CRE 0x00008000
148
149/*
150 * Definitions for FLASH_BIUCR (Flash BIU Control Register)
151 */
152
153/* Fields for Flash Bus Interface Control */
154/* Fields for Prefetch Control (MnPFE Master n Prefetch Enable) */
155
156/* Fields for M3PFE (Master 3 (EBI) prefetch enable bit [12]) */
157#define FLASH_BUICR_EBI_PREFTCH 0x00080000
158
159/* Fields for M2PFE (Master 2 (eDMA) prefetch enable bit [13]) */
160#define FLASH_BUICR_EDMA_PREFTCH 0x00040000
161
162/* Fields for M1PFE (Master 1 (Nexus) prefetch enable bit [14]) */
163#define FLASH_BUICR_NEX_PREFTCH 0x00020000
164
165/* Fields for M0PFE (Master 0 (e200z core) prefetch enable bit [15]) */
166#define FLASH_BUICR_CPU_PREFTCH 0x00010000
167
168/* Fields for APC (access pipelining control bits [16:18]) */
169#define FLASH_BUICR_APC_1 0x00002000
170#define FLASH_BUICR_APC_2 0x00004000
171#define FLASH_BUICR_APC_3 0x00006000
172#define FLASH_BUICR_APC_4 0x00008000
173#define FLASH_BUICR_APC_5 0x0000A000
174#define FLASH_BUICR_APC_6 0x0000C000
175#define FLASH_BUICR_APC_NO 0x0000E000
176
177/* Fields for WWSC (write wait state control bits [19:20]) */
178#define FLASH_BUICR_WWSC_1 0x00000800
179#define FLASH_BUICR_WWSC_2 0x00001000
180#define FLASH_BUICR_WWSC_3 0x00001800
181
182/* Fields for RWSC (read wait state control bits [21:23]) */
183#define FLASH_BUICR_RWSC_0 0x00000000
184#define FLASH_BUICR_RWSC_1 0x00000100
185#define FLASH_BUICR_RWSC_2 0x00000200
186#define FLASH_BUICR_RWSC_3 0x00000300
187#define FLASH_BUICR_RWSC_4 0x00000400
188#define FLASH_BUICR_RWSC_5 0x00000500
189#define FLASH_BUICR_RWSC_6 0x00000600
190#define FLASH_BUICR_RWSC_7 0x00000700
191
192/* Fields for DPFEN (data prefetch enable bits [24:25]) */
193#define FLASH_BUICR_DPFEN_0 0x00000000
194#define FLASH_BUICR_DPFEN_1 0x00000040
195#define FLASH_BUICR_DPFEN_3 0x000000C0
196
197/* Fields for IPFEN (instruction prefetch enable bits [26:27]) */
198#define FLASH_BUICR_IPFEN_0 0x00000000
199#define FLASH_BUICR_IPFEN_1 0x00000010
200#define FLASH_BUICR_IPFEN_3 0x00000030
201
202/* Fields for PFLIM (additional line prefetch (limit) bits [28:30]) */
203#define FLASH_BUICR_PFLIM_0 0x00000000
204#define FLASH_BUICR_PFLIM_1 0x00000002
205#define FLASH_BUICR_PFLIM_2 0x00000004
206#define FLASH_BUICR_PFLIM_3 0x00000006
207#define FLASH_BUICR_PFLIM_4 0x00000008
208#define FLASH_BUICR_PFLIM_5 0x0000000A
209#define FLASH_BUICR_PFLIM_6 0x0000000C
210
211/* Fields for BFEN (enable line read buffer hits bit [31]) */
212#define FLASH_BUICR_BFEN 0x00000001
213
214#endif /* LIBCPU_POWERPC_MPC55XX_REG_DEFS_H */
Note: See TracBrowser for help on using the repository browser.