blob: 6190f77b1e6c9cd361d8439047ad6446d201465c [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
15#include <linux/config.h>
16
17/*
18 * Define the processor support peripherals base address.
19 * This is generally setup by the boards start up code.
20 */
21#define MCF_MBAR 0x10000000
22#define MCF_MBAR2 0x80000000
Greg Ungerer7ee2cf52005-11-02 14:59:09 +100023#if defined(CONFIG_M520x)
24#define MCF_IPSBAR 0xFC000000
25#else
Linus Torvalds1da177e2005-04-16 15:20:36 -070026#define MCF_IPSBAR 0x40000000
Greg Ungerer7ee2cf52005-11-02 14:59:09 +100027#endif
Linus Torvalds1da177e2005-04-16 15:20:36 -070028
Greg Ungerer7ee2cf52005-11-02 14:59:09 +100029#if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \
30 defined(CONFIG_M520x)
Linus Torvalds1da177e2005-04-16 15:20:36 -070031#undef MCF_MBAR
32#define MCF_MBAR MCF_IPSBAR
33#endif
34
35/*
36 * Define master clock frequency.
37 */
38#if defined(CONFIG_CLOCK_11MHz)
39#define MCF_CLK 11289600
40#elif defined(CONFIG_CLOCK_16MHz)
41#define MCF_CLK 16000000
42#elif defined(CONFIG_CLOCK_20MHz)
43#define MCF_CLK 20000000
44#elif defined(CONFIG_CLOCK_24MHz)
45#define MCF_CLK 24000000
46#elif defined(CONFIG_CLOCK_25MHz)
47#define MCF_CLK 25000000
48#elif defined(CONFIG_CLOCK_33MHz)
49#define MCF_CLK 33000000
50#elif defined(CONFIG_CLOCK_40MHz)
51#define MCF_CLK 40000000
52#elif defined(CONFIG_CLOCK_45MHz)
53#define MCF_CLK 45000000
54#elif defined(CONFIG_CLOCK_48MHz)
55#define MCF_CLK 48000000
56#elif defined(CONFIG_CLOCK_50MHz)
57#define MCF_CLK 50000000
58#elif defined(CONFIG_CLOCK_54MHz)
59#define MCF_CLK 54000000
60#elif defined(CONFIG_CLOCK_60MHz)
61#define MCF_CLK 60000000
Greg Ungerer1bdd89d2005-09-09 09:32:14 +100062#elif defined(CONFIG_CLOCK_62_5MHz)
63#define MCF_CLK 62500000
Linus Torvalds1da177e2005-04-16 15:20:36 -070064#elif defined(CONFIG_CLOCK_64MHz)
65#define MCF_CLK 64000000
66#elif defined(CONFIG_CLOCK_66MHz)
67#define MCF_CLK 66000000
68#elif defined(CONFIG_CLOCK_70MHz)
69#define MCF_CLK 70000000
70#elif defined(CONFIG_CLOCK_100MHz)
71#define MCF_CLK 100000000
72#elif defined(CONFIG_CLOCK_140MHz)
73#define MCF_CLK 140000000
74#elif defined(CONFIG_CLOCK_150MHz)
75#define MCF_CLK 150000000
76#elif defined(CONFIG_CLOCK_166MHz)
77#define MCF_CLK 166000000
78#else
79#error "Don't know what your ColdFire CPU clock frequency is??"
80#endif
81
82/*
83 * One some ColdFire family members the bus clock (used by internal
84 * peripherals) is not the same as the CPU clock.
85 */
Greg Ungerer7ee2cf52005-11-02 14:59:09 +100086#if defined(CONFIG_M523x) || defined(CONFIG_M5249) || defined(CONFIG_M527x) || \
87 defined(CONFIG_M520x)
Linus Torvalds1da177e2005-04-16 15:20:36 -070088#define MCF_BUSCLK (MCF_CLK / 2)
89#else
90#define MCF_BUSCLK MCF_CLK
91#endif
92
93/****************************************************************************/
94#endif /* coldfire_h */