blob: 2fabca91df839d561181c739e7a10434e12db1d1 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/****************************************************************************/
2
3/*
4 * coldfire.h -- Motorola ColdFire CPU sepecific defines
5 *
6 * (C) Copyright 1999-2002, Greg Ungerer (gerg@snapgear.com)
7 * (C) Copyright 2000, Lineo (www.lineo.com)
8 */
9
10/****************************************************************************/
11#ifndef coldfire_h
12#define coldfire_h
13/****************************************************************************/
14
Linus Torvalds1da177e2005-04-16 15:20:36 -070015
16/*
17 * Define the processor support peripherals base address.
18 * This is generally setup by the boards start up code.
19 */
20#define MCF_MBAR 0x10000000
21#define MCF_MBAR2 0x80000000
Greg Ungerer7ee2cf52005-11-02 14:59:09 +100022#if defined(CONFIG_M520x)
23#define MCF_IPSBAR 0xFC000000
24#else
Linus Torvalds1da177e2005-04-16 15:20:36 -070025#define MCF_IPSBAR 0x40000000
Greg Ungerer7ee2cf52005-11-02 14:59:09 +100026#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070027
Greg Ungerer7ee2cf52005-11-02 14:59:09 +100028#if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
29 defined(CONFIG_M520x)
Linus Torvalds1da177e2005-04-16 15:20:36 -070030#undef MCF_MBAR
31#define MCF_MBAR MCF_IPSBAR
32#endif
33
34/*
35 * Define master clock frequency.
36 */
37#if defined(CONFIG_CLOCK_11MHz)
38#define MCF_CLK 11289600
39#elif defined(CONFIG_CLOCK_16MHz)
40#define MCF_CLK 16000000
41#elif defined(CONFIG_CLOCK_20MHz)
42#define MCF_CLK 20000000
43#elif defined(CONFIG_CLOCK_24MHz)
44#define MCF_CLK 24000000
45#elif defined(CONFIG_CLOCK_25MHz)
46#define MCF_CLK 25000000
47#elif defined(CONFIG_CLOCK_33MHz)
48#define MCF_CLK 33000000
49#elif defined(CONFIG_CLOCK_40MHz)
50#define MCF_CLK 40000000
51#elif defined(CONFIG_CLOCK_45MHz)
52#define MCF_CLK 45000000
53#elif defined(CONFIG_CLOCK_48MHz)
54#define MCF_CLK 48000000
55#elif defined(CONFIG_CLOCK_50MHz)
56#define MCF_CLK 50000000
57#elif defined(CONFIG_CLOCK_54MHz)
58#define MCF_CLK 54000000
59#elif defined(CONFIG_CLOCK_60MHz)
60#define MCF_CLK 60000000
Greg Ungerer1bdd89d2005-09-09 09:32:14 +100061#elif defined(CONFIG_CLOCK_62_5MHz)
62#define MCF_CLK 62500000
Linus Torvalds1da177e2005-04-16 15:20:36 -070063#elif defined(CONFIG_CLOCK_64MHz)
64#define MCF_CLK 64000000
65#elif defined(CONFIG_CLOCK_66MHz)
66#define MCF_CLK 66000000
67#elif defined(CONFIG_CLOCK_70MHz)
68#define MCF_CLK 70000000
69#elif defined(CONFIG_CLOCK_100MHz)
70#define MCF_CLK 100000000
71#elif defined(CONFIG_CLOCK_140MHz)
72#define MCF_CLK 140000000
73#elif defined(CONFIG_CLOCK_150MHz)
74#define MCF_CLK 150000000
75#elif defined(CONFIG_CLOCK_166MHz)
76#define MCF_CLK 166000000
77#else
78#error "Don't know what your ColdFire CPU clock frequency is??"
79#endif
80
81/*
82 * One some ColdFire family members the bus clock (used by internal
83 * peripherals) is not the same as the CPU clock.
84 */
Greg Ungerer7ee2cf52005-11-02 14:59:09 +100085#if defined(CONFIG_M523x) || defined(CONFIG_M5249) || defined(CONFIG_M527x) || \
86 defined(CONFIG_M520x)
Linus Torvalds1da177e2005-04-16 15:20:36 -070087#define MCF_BUSCLK (MCF_CLK / 2)
88#else
89#define MCF_BUSCLK MCF_CLK
90#endif
91
92/****************************************************************************/
93#endif /* coldfire_h */