aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k')
-rw-r--r--arch/m68k/Kconfig8
-rw-r--r--arch/m68k/amiga/config.c16
-rw-r--r--arch/m68k/atari/ataints.c4
-rw-r--r--arch/m68k/atari/config.c2
-rw-r--r--arch/m68k/atari/debug.c14
-rw-r--r--arch/m68k/bvme6000/config.c4
-rw-r--r--arch/m68k/include/asm/atarihw.h2
-rw-r--r--arch/m68k/include/asm/coldfire.h42
-rw-r--r--arch/m68k/include/asm/m5206sim.h23
-rw-r--r--arch/m68k/include/asm/m520xsim.h50
-rw-r--r--arch/m68k/include/asm/m523xsim.h52
-rw-r--r--arch/m68k/include/asm/m5249sim.h30
-rw-r--r--arch/m68k/include/asm/m5272sim.h8
-rw-r--r--arch/m68k/include/asm/m527xsim.h68
-rw-r--r--arch/m68k/include/asm/m528xsim.h44
-rw-r--r--arch/m68k/include/asm/m5307sim.h25
-rw-r--r--arch/m68k/include/asm/m532xsim.h9
-rw-r--r--arch/m68k/include/asm/m5407sim.h25
-rw-r--r--arch/m68k/include/asm/m54xxsim.h14
-rw-r--r--arch/m68k/include/asm/mcfdma.h23
-rw-r--r--arch/m68k/include/asm/mcfpit.h16
-rw-r--r--arch/m68k/include/asm/mcftimer.h23
-rw-r--r--arch/m68k/include/asm/string.h16
-rw-r--r--arch/m68k/kernel/time.c4
-rw-r--r--arch/m68k/lib/string.c11
-rw-r--r--arch/m68k/mvme147/config.c4
-rw-r--r--arch/m68k/mvme16x/config.c4
-rw-r--r--arch/m68k/sun3/sun3ints.c2
28 files changed, 313 insertions, 230 deletions
diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig
index bc9271b85759..a85e251c411f 100644
--- a/arch/m68k/Kconfig
+++ b/arch/m68k/Kconfig
@@ -554,14 +554,6 @@ config MVME147_SCC
554 This is the driver for the serial ports on the Motorola MVME147 554 This is the driver for the serial ports on the Motorola MVME147
555 boards. Everyone using one of these boards should say Y here. 555 boards. Everyone using one of these boards should say Y here.
556 556
557config SERIAL167
558 bool "CD2401 support for MVME166/7 serial ports"
559 depends on MVME16x
560 help
561 This is the driver for the serial ports on the Motorola MVME166,
562 167, and 172 boards. Everyone using one of these boards should say
563 Y here.
564
565config MVME162_SCC 557config MVME162_SCC
566 bool "SCC support for MVME162 serial ports" 558 bool "SCC support for MVME162 serial ports"
567 depends on MVME16x && BROKEN 559 depends on MVME16x && BROKEN
diff --git a/arch/m68k/amiga/config.c b/arch/m68k/amiga/config.c
index b1577f741fa8..82a4bb51d5d8 100644
--- a/arch/m68k/amiga/config.c
+++ b/arch/m68k/amiga/config.c
@@ -610,17 +610,17 @@ static void amiga_mem_console_write(struct console *co, const char *s,
610 610
611static int __init amiga_savekmsg_setup(char *arg) 611static int __init amiga_savekmsg_setup(char *arg)
612{ 612{
613 static struct resource debug_res = { .name = "Debug" };
614
615 if (!MACH_IS_AMIGA || strcmp(arg, "mem")) 613 if (!MACH_IS_AMIGA || strcmp(arg, "mem"))
616 goto done; 614 return 0;
617 615
618 if (!AMIGAHW_PRESENT(CHIP_RAM)) { 616 if (amiga_chip_size < SAVEKMSG_MAXMEM) {
619 printk("Warning: no chipram present for debugging\n"); 617 pr_err("Not enough chipram for debugging\n");
620 goto done; 618 return -ENOMEM;
621 } 619 }
622 620
623 savekmsg = amiga_chip_alloc_res(SAVEKMSG_MAXMEM, &debug_res); 621 /* Just steal the block, the chipram allocator isn't functional yet */
622 amiga_chip_size -= SAVEKMSG_MAXMEM;
623 savekmsg = (void *)ZTWO_VADDR(CHIP_PHYSADDR + amiga_chip_size);
624 savekmsg->magic1 = SAVEKMSG_MAGIC1; 624 savekmsg->magic1 = SAVEKMSG_MAGIC1;
625 savekmsg->magic2 = SAVEKMSG_MAGIC2; 625 savekmsg->magic2 = SAVEKMSG_MAGIC2;
626 savekmsg->magicptr = ZTWO_PADDR(savekmsg); 626 savekmsg->magicptr = ZTWO_PADDR(savekmsg);
@@ -628,8 +628,6 @@ static int __init amiga_savekmsg_setup(char *arg)
628 628
629 amiga_console_driver.write = amiga_mem_console_write; 629 amiga_console_driver.write = amiga_mem_console_write;
630 register_console(&amiga_console_driver); 630 register_console(&amiga_console_driver);
631
632done:
633 return 0; 631 return 0;
634} 632}
635 633
diff --git a/arch/m68k/atari/ataints.c b/arch/m68k/atari/ataints.c
index 39478dd08e67..26a804e67bce 100644
--- a/arch/m68k/atari/ataints.c
+++ b/arch/m68k/atari/ataints.c
@@ -388,9 +388,9 @@ void __init atari_init_IRQ(void)
388 } 388 }
389 389
390 if (ATARIHW_PRESENT(SCC) && !atari_SCC_reset_done) { 390 if (ATARIHW_PRESENT(SCC) && !atari_SCC_reset_done) {
391 scc.cha_a_ctrl = 9; 391 atari_scc.cha_a_ctrl = 9;
392 MFPDELAY(); 392 MFPDELAY();
393 scc.cha_a_ctrl = (char) 0xc0; /* hardware reset */ 393 atari_scc.cha_a_ctrl = (char) 0xc0; /* hardware reset */
394 } 394 }
395 395
396 if (ATARIHW_PRESENT(SCU)) { 396 if (ATARIHW_PRESENT(SCU)) {
diff --git a/arch/m68k/atari/config.c b/arch/m68k/atari/config.c
index ae2d96e5d618..4203d101363c 100644
--- a/arch/m68k/atari/config.c
+++ b/arch/m68k/atari/config.c
@@ -315,7 +315,7 @@ void __init config_atari(void)
315 ATARIHW_SET(SCC_DMA); 315 ATARIHW_SET(SCC_DMA);
316 printk("SCC_DMA "); 316 printk("SCC_DMA ");
317 } 317 }
318 if (scc_test(&scc.cha_a_ctrl)) { 318 if (scc_test(&atari_scc.cha_a_ctrl)) {
319 ATARIHW_SET(SCC); 319 ATARIHW_SET(SCC);
320 printk("SCC "); 320 printk("SCC ");
321 } 321 }
diff --git a/arch/m68k/atari/debug.c b/arch/m68k/atari/debug.c
index 28efdc33c1ae..5a484247e493 100644
--- a/arch/m68k/atari/debug.c
+++ b/arch/m68k/atari/debug.c
@@ -53,9 +53,9 @@ static inline void ata_scc_out(char c)
53{ 53{
54 do { 54 do {
55 MFPDELAY(); 55 MFPDELAY();
56 } while (!(scc.cha_b_ctrl & 0x04)); /* wait for tx buf empty */ 56 } while (!(atari_scc.cha_b_ctrl & 0x04)); /* wait for tx buf empty */
57 MFPDELAY(); 57 MFPDELAY();
58 scc.cha_b_data = c; 58 atari_scc.cha_b_data = c;
59} 59}
60 60
61static void atari_scc_console_write(struct console *co, const char *str, 61static void atari_scc_console_write(struct console *co, const char *str,
@@ -140,9 +140,9 @@ int atari_scc_console_wait_key(struct console *co)
140{ 140{
141 do { 141 do {
142 MFPDELAY(); 142 MFPDELAY();
143 } while (!(scc.cha_b_ctrl & 0x01)); /* wait for rx buf filled */ 143 } while (!(atari_scc.cha_b_ctrl & 0x01)); /* wait for rx buf filled */
144 MFPDELAY(); 144 MFPDELAY();
145 return scc.cha_b_data; 145 return atari_scc.cha_b_data;
146} 146}
147 147
148int atari_midi_console_wait_key(struct console *co) 148int atari_midi_console_wait_key(struct console *co)
@@ -185,9 +185,9 @@ static void __init atari_init_mfp_port(int cflag)
185 185
186#define SCC_WRITE(reg, val) \ 186#define SCC_WRITE(reg, val) \
187 do { \ 187 do { \
188 scc.cha_b_ctrl = (reg); \ 188 atari_scc.cha_b_ctrl = (reg); \
189 MFPDELAY(); \ 189 MFPDELAY(); \
190 scc.cha_b_ctrl = (val); \ 190 atari_scc.cha_b_ctrl = (val); \
191 MFPDELAY(); \ 191 MFPDELAY(); \
192 } while (0) 192 } while (0)
193 193
@@ -240,7 +240,7 @@ static void __init atari_init_scc_port(int cflag)
240 reg3 = (cflag & CSIZE) == CS8 ? 0xc0 : 0x40; 240 reg3 = (cflag & CSIZE) == CS8 ? 0xc0 : 0x40;
241 reg5 = (cflag & CSIZE) == CS8 ? 0x60 : 0x20 | 0x82 /* assert DTR/RTS */; 241 reg5 = (cflag & CSIZE) == CS8 ? 0x60 : 0x20 | 0x82 /* assert DTR/RTS */;
242 242
243 (void)scc.cha_b_ctrl; /* reset reg pointer */ 243 (void)atari_scc.cha_b_ctrl; /* reset reg pointer */
244 SCC_WRITE(9, 0xc0); /* reset */ 244 SCC_WRITE(9, 0xc0); /* reset */
245 LONG_DELAY(); /* extra delay after WR9 access */ 245 LONG_DELAY(); /* extra delay after WR9 access */
246 SCC_WRITE(4, (cflag & PARENB) ? ((cflag & PARODD) ? 0x01 : 0x03) 246 SCC_WRITE(4, (cflag & PARENB) ? ((cflag & PARODD) ? 0x01 : 0x03)
diff --git a/arch/m68k/bvme6000/config.c b/arch/m68k/bvme6000/config.c
index 9fe6fefb5e14..1edd95095cb4 100644
--- a/arch/m68k/bvme6000/config.c
+++ b/arch/m68k/bvme6000/config.c
@@ -45,8 +45,8 @@ extern int bvme6000_set_clock_mmss (unsigned long);
45extern void bvme6000_reset (void); 45extern void bvme6000_reset (void);
46void bvme6000_set_vectors (void); 46void bvme6000_set_vectors (void);
47 47
48/* Save tick handler routine pointer, will point to do_timer() in 48/* Save tick handler routine pointer, will point to xtime_update() in
49 * kernel/sched.c, called via bvme6000_process_int() */ 49 * kernel/timer/timekeeping.c, called via bvme6000_process_int() */
50 50
51static irq_handler_t tick_handler; 51static irq_handler_t tick_handler;
52 52
diff --git a/arch/m68k/include/asm/atarihw.h b/arch/m68k/include/asm/atarihw.h
index a714e1aa072a..f51f709bbf30 100644
--- a/arch/m68k/include/asm/atarihw.h
+++ b/arch/m68k/include/asm/atarihw.h
@@ -449,7 +449,7 @@ struct SCC
449 u_char char_dummy3; 449 u_char char_dummy3;
450 u_char cha_b_data; 450 u_char cha_b_data;
451 }; 451 };
452# define scc ((*(volatile struct SCC*)SCC_BAS)) 452# define atari_scc ((*(volatile struct SCC*)SCC_BAS))
453 453
454/* The ESCC (Z85230) in an Atari ST. The channels are reversed! */ 454/* The ESCC (Z85230) in an Atari ST. The channels are reversed! */
455# define st_escc ((*(volatile struct SCC*)0xfffffa31)) 455# define st_escc ((*(volatile struct SCC*)0xfffffa31))
diff --git a/arch/m68k/include/asm/coldfire.h b/arch/m68k/include/asm/coldfire.h
index 213028cbe110..c94557b91448 100644
--- a/arch/m68k/include/asm/coldfire.h
+++ b/arch/m68k/include/asm/coldfire.h
@@ -14,39 +14,35 @@
14 14
15 15
16/* 16/*
17 * Define master clock frequency. This is essentially done at config 17 * Define master clock frequency. This is done at config time now.
18 * time now. No point enumerating dozens of possible clock options 18 * No point enumerating dozens of possible clock options here. And
19 * here. Also the peripheral clock (bus clock) divide ratio is set 19 * in any case new boards come along from time to time that have yet
20 * at config time too. 20 * another different clocking frequency.
21 */ 21 */
22#ifdef CONFIG_CLOCK_SET 22#ifdef CONFIG_CLOCK_SET
23#define MCF_CLK CONFIG_CLOCK_FREQ 23#define MCF_CLK CONFIG_CLOCK_FREQ
24#define MCF_BUSCLK (CONFIG_CLOCK_FREQ / CONFIG_CLOCK_DIV)
25#else 24#else
26#error "Don't know what your ColdFire CPU clock frequency is??" 25#error "Don't know what your ColdFire CPU clock frequency is??"
27#endif 26#endif
28 27
29/* 28/*
30 * Define the processor support peripherals base address. 29 * Define the processor internal peripherals base address.
31 * This is generally setup by the boards start up code. 30 *
31 * The majority of ColdFire parts use an MBAR register to set
32 * the base address. Some have an IPSBAR register instead, and it
33 * has slightly different rules on its size and alignment. Some
34 * parts have fixed addresses and the internal peripherals cannot
35 * be relocated in the CPU address space.
36 *
37 * The value of MBAR or IPSBAR is config time selectable, we no
38 * longer hard define it here. No MBAR or IPSBAR will be defined if
39 * this part has a fixed peripheral address map.
32 */ 40 */
33#define MCF_MBAR 0x10000000 41#ifdef CONFIG_MBAR
34#define MCF_MBAR2 0x80000000 42#define MCF_MBAR CONFIG_MBAR
35#if defined(CONFIG_M54xx)
36#define MCF_IPSBAR MCF_MBAR
37#elif defined(CONFIG_M520x)
38#define MCF_IPSBAR 0xFC000000
39#else
40#define MCF_IPSBAR 0x40000000
41#endif 43#endif
42 44#ifdef CONFIG_IPSBAR
43#if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ 45#define MCF_IPSBAR CONFIG_IPSBAR
44 defined(CONFIG_M520x)
45#undef MCF_MBAR
46#define MCF_MBAR MCF_IPSBAR
47#elif defined(CONFIG_M532x)
48#undef MCF_MBAR
49#define MCF_MBAR 0x00000000
50#endif 46#endif
51 47
52/****************************************************************************/ 48/****************************************************************************/
diff --git a/arch/m68k/include/asm/m5206sim.h b/arch/m68k/include/asm/m5206sim.h
index 561b03b5ddf8..9015eadd5c00 100644
--- a/arch/m68k/include/asm/m5206sim.h
+++ b/arch/m68k/include/asm/m5206sim.h
@@ -14,6 +14,7 @@
14 14
15#define CPU_NAME "COLDFIRE(m5206)" 15#define CPU_NAME "COLDFIRE(m5206)"
16#define CPU_INSTR_PER_JIFFY 3 16#define CPU_INSTR_PER_JIFFY 3
17#define MCF_BUSCLK MCF_CLK
17 18
18#include <asm/m52xxacr.h> 19#include <asm/m52xxacr.h>
19 20
@@ -48,14 +49,14 @@
48#define MCFSIM_SWIVR 0x42 /* SW Watchdog intr reg (r/w) */ 49#define MCFSIM_SWIVR 0x42 /* SW Watchdog intr reg (r/w) */
49#define MCFSIM_SWSR 0x43 /* SW Watchdog service (r/w) */ 50#define MCFSIM_SWSR 0x43 /* SW Watchdog service (r/w) */
50 51
51#define MCFSIM_DCRR 0x46 /* DRAM Refresh reg (r/w) */ 52#define MCFSIM_DCRR (MCF_MBAR + 0x46) /* DRAM Refresh reg (r/w) */
52#define MCFSIM_DCTR 0x4a /* DRAM Timing reg (r/w) */ 53#define MCFSIM_DCTR (MCF_MBAR + 0x4a) /* DRAM Timing reg (r/w) */
53#define MCFSIM_DAR0 0x4c /* DRAM 0 Address reg(r/w) */ 54#define MCFSIM_DAR0 (MCF_MBAR + 0x4c) /* DRAM 0 Address reg(r/w) */
54#define MCFSIM_DMR0 0x50 /* DRAM 0 Mask reg (r/w) */ 55#define MCFSIM_DMR0 (MCF_MBAR + 0x50) /* DRAM 0 Mask reg (r/w) */
55#define MCFSIM_DCR0 0x57 /* DRAM 0 Control reg (r/w) */ 56#define MCFSIM_DCR0 (MCF_MBAR + 0x57) /* DRAM 0 Control reg (r/w) */
56#define MCFSIM_DAR1 0x58 /* DRAM 1 Address reg (r/w) */ 57#define MCFSIM_DAR1 (MCF_MBAR + 0x58) /* DRAM 1 Address reg (r/w) */
57#define MCFSIM_DMR1 0x5c /* DRAM 1 Mask reg (r/w) */ 58#define MCFSIM_DMR1 (MCF_MBAR + 0x5c) /* DRAM 1 Mask reg (r/w) */
58#define MCFSIM_DCR1 0x63 /* DRAM 1 Control reg (r/w) */ 59#define MCFSIM_DCR1 (MCF_MBAR + 0x63) /* DRAM 1 Control reg (r/w) */
59 60
60#define MCFSIM_CSAR0 0x64 /* CS 0 Address 0 reg (r/w) */ 61#define MCFSIM_CSAR0 0x64 /* CS 0 Address 0 reg (r/w) */
61#define MCFSIM_CSMR0 0x68 /* CS 0 Mask 0 reg (r/w) */ 62#define MCFSIM_CSMR0 0x68 /* CS 0 Mask 0 reg (r/w) */
@@ -89,9 +90,15 @@
89#define MCFSIM_PAR 0xcb /* Pin Assignment reg (r/w) */ 90#define MCFSIM_PAR 0xcb /* Pin Assignment reg (r/w) */
90#endif 91#endif
91 92
93#define MCFTIMER_BASE1 (MCF_MBAR + 0x100) /* Base of TIMER1 */
94#define MCFTIMER_BASE2 (MCF_MBAR + 0x120) /* Base of TIMER2 */
95
92#define MCFSIM_PADDR (MCF_MBAR + 0x1c5) /* Parallel Direction (r/w) */ 96#define MCFSIM_PADDR (MCF_MBAR + 0x1c5) /* Parallel Direction (r/w) */
93#define MCFSIM_PADAT (MCF_MBAR + 0x1c9) /* Parallel Port Value (r/w) */ 97#define MCFSIM_PADAT (MCF_MBAR + 0x1c9) /* Parallel Port Value (r/w) */
94 98
99#define MCFDMA_BASE0 (MCF_MBAR + 0x200) /* Base address DMA 0 */
100#define MCFDMA_BASE1 (MCF_MBAR + 0x240) /* Base address DMA 1 */
101
95#if defined(CONFIG_NETtel) 102#if defined(CONFIG_NETtel)
96#define MCFUART_BASE1 0x180 /* Base address of UART1 */ 103#define MCFUART_BASE1 0x180 /* Base address of UART1 */
97#define MCFUART_BASE2 0x140 /* Base address of UART2 */ 104#define MCFUART_BASE2 0x140 /* Base address of UART2 */
diff --git a/arch/m68k/include/asm/m520xsim.h b/arch/m68k/include/asm/m520xsim.h
index 88ed8239fe4e..55d5a4c5fe0b 100644
--- a/arch/m68k/include/asm/m520xsim.h
+++ b/arch/m68k/include/asm/m520xsim.h
@@ -13,13 +13,14 @@
13 13
14#define CPU_NAME "COLDFIRE(m520x)" 14#define CPU_NAME "COLDFIRE(m520x)"
15#define CPU_INSTR_PER_JIFFY 3 15#define CPU_INSTR_PER_JIFFY 3
16#define MCF_BUSCLK (MCF_CLK / 2)
16 17
17#include <asm/m52xxacr.h> 18#include <asm/m52xxacr.h>
18 19
19/* 20/*
20 * Define the 520x SIM register set addresses. 21 * Define the 520x SIM register set addresses.
21 */ 22 */
22#define MCFICM_INTC0 0x48000 /* Base for Interrupt Ctrl 0 */ 23#define MCFICM_INTC0 0xFC048000 /* Base for Interrupt Ctrl 0 */
23#define MCFINTC_IPRH 0x00 /* Interrupt pending 32-63 */ 24#define MCFINTC_IPRH 0x00 /* Interrupt pending 32-63 */
24#define MCFINTC_IPRL 0x04 /* Interrupt pending 1-31 */ 25#define MCFINTC_IPRL 0x04 /* Interrupt pending 1-31 */
25#define MCFINTC_IMRH 0x08 /* Interrupt mask 32-63 */ 26#define MCFINTC_IMRH 0x08 /* Interrupt mask 32-63 */
@@ -35,9 +36,9 @@
35 * address to the SIMR and CIMR registers (not offsets into IPSBAR). 36 * address to the SIMR and CIMR registers (not offsets into IPSBAR).
36 * The 520x family only has a single INTC unit. 37 * The 520x family only has a single INTC unit.
37 */ 38 */
38#define MCFINTC0_SIMR (MCF_IPSBAR + MCFICM_INTC0 + MCFINTC_SIMR) 39#define MCFINTC0_SIMR (MCFICM_INTC0 + MCFINTC_SIMR)
39#define MCFINTC0_CIMR (MCF_IPSBAR + MCFICM_INTC0 + MCFINTC_CIMR) 40#define MCFINTC0_CIMR (MCFICM_INTC0 + MCFINTC_CIMR)
40#define MCFINTC0_ICR0 (MCF_IPSBAR + MCFICM_INTC0 + MCFINTC_ICR0) 41#define MCFINTC0_ICR0 (MCFICM_INTC0 + MCFINTC_ICR0)
41#define MCFINTC1_SIMR (0) 42#define MCFINTC1_SIMR (0)
42#define MCFINTC1_CIMR (0) 43#define MCFINTC1_CIMR (0)
43#define MCFINTC1_ICR0 (0) 44#define MCFINTC1_ICR0 (0)
@@ -52,19 +53,22 @@
52/* 53/*
53 * SDRAM configuration registers. 54 * SDRAM configuration registers.
54 */ 55 */
55#define MCFSIM_SDMR 0x000a8000 /* SDRAM Mode/Extended Mode Register */ 56#define MCFSIM_SDMR 0xFC0a8000 /* SDRAM Mode/Extended Mode Register */
56#define MCFSIM_SDCR 0x000a8004 /* SDRAM Control Register */ 57#define MCFSIM_SDCR 0xFC0a8004 /* SDRAM Control Register */
57#define MCFSIM_SDCFG1 0x000a8008 /* SDRAM Configuration Register 1 */ 58#define MCFSIM_SDCFG1 0xFC0a8008 /* SDRAM Configuration Register 1 */
58#define MCFSIM_SDCFG2 0x000a800c /* SDRAM Configuration Register 2 */ 59#define MCFSIM_SDCFG2 0xFC0a800c /* SDRAM Configuration Register 2 */
59#define MCFSIM_SDCS0 0x000a8110 /* SDRAM Chip Select 0 Configuration */ 60#define MCFSIM_SDCS0 0xFC0a8110 /* SDRAM Chip Select 0 Configuration */
60#define MCFSIM_SDCS1 0x000a8114 /* SDRAM Chip Select 1 Configuration */ 61#define MCFSIM_SDCS1 0xFC0a8114 /* SDRAM Chip Select 1 Configuration */
61 62
62/* 63/*
63 * EPORT and GPIO registers. 64 * EPORT and GPIO registers.
64 */ 65 */
66#define MCFEPORT_EPPAR 0xFC088000
65#define MCFEPORT_EPDDR 0xFC088002 67#define MCFEPORT_EPDDR 0xFC088002
68#define MCFEPORT_EPIER 0xFC088003
66#define MCFEPORT_EPDR 0xFC088004 69#define MCFEPORT_EPDR 0xFC088004
67#define MCFEPORT_EPPDR 0xFC088005 70#define MCFEPORT_EPPDR 0xFC088005
71#define MCFEPORT_EPFR 0xFC088006
68 72
69#define MCFGPIO_PODR_BUSCTL 0xFC0A4000 73#define MCFGPIO_PODR_BUSCTL 0xFC0A4000
70#define MCFGPIO_PODR_BE 0xFC0A4001 74#define MCFGPIO_PODR_BE 0xFC0A4001
@@ -119,10 +123,10 @@
119#define MCFGPIO_IRQ_MAX 8 123#define MCFGPIO_IRQ_MAX 8
120#define MCFGPIO_IRQ_VECBASE MCFINT_VECBASE 124#define MCFGPIO_IRQ_VECBASE MCFINT_VECBASE
121 125
122#define MCF_GPIO_PAR_UART (0xA4036) 126#define MCF_GPIO_PAR_UART 0xFC0A4036
123#define MCF_GPIO_PAR_FECI2C (0xA4033) 127#define MCF_GPIO_PAR_FECI2C 0xFC0A4033
124#define MCF_GPIO_PAR_QSPI (0xA4034) 128#define MCF_GPIO_PAR_QSPI 0xFC0A4034
125#define MCF_GPIO_PAR_FEC (0xA4038) 129#define MCF_GPIO_PAR_FEC 0xFC0A4038
126 130
127#define MCF_GPIO_PAR_UART_PAR_URXD0 (0x0001) 131#define MCF_GPIO_PAR_UART_PAR_URXD0 (0x0001)
128#define MCF_GPIO_PAR_UART_PAR_UTXD0 (0x0002) 132#define MCF_GPIO_PAR_UART_PAR_UTXD0 (0x0002)
@@ -134,11 +138,23 @@
134#define MCF_GPIO_PAR_FECI2C_PAR_SCL_UTXD2 (0x04) 138#define MCF_GPIO_PAR_FECI2C_PAR_SCL_UTXD2 (0x04)
135 139
136/* 140/*
141 * PIT timer module.
142 */
143#define MCFPIT_BASE1 0xFC080000 /* Base address of TIMER1 */
144#define MCFPIT_BASE2 0xFC084000 /* Base address of TIMER2 */
145
146/*
137 * UART module. 147 * UART module.
138 */ 148 */
139#define MCFUART_BASE1 0x60000 /* Base address of UART1 */ 149#define MCFUART_BASE1 0xFC060000 /* Base address of UART1 */
140#define MCFUART_BASE2 0x64000 /* Base address of UART2 */ 150#define MCFUART_BASE2 0xFC064000 /* Base address of UART2 */
141#define MCFUART_BASE3 0x68000 /* Base address of UART2 */ 151#define MCFUART_BASE3 0xFC068000 /* Base address of UART2 */
152
153/*
154 * FEC module.
155 */
156#define MCFFEC_BASE 0xFC030000 /* Base of FEC ethernet */
157#define MCFFEC_SIZE 0x800 /* Register set size */
142 158
143/* 159/*
144 * Reset Controll Unit. 160 * Reset Controll Unit.
diff --git a/arch/m68k/include/asm/m523xsim.h b/arch/m68k/include/asm/m523xsim.h
index 4ad7a00257a8..8996df62ede4 100644
--- a/arch/m68k/include/asm/m523xsim.h
+++ b/arch/m68k/include/asm/m523xsim.h
@@ -13,14 +13,16 @@
13 13
14#define CPU_NAME "COLDFIRE(m523x)" 14#define CPU_NAME "COLDFIRE(m523x)"
15#define CPU_INSTR_PER_JIFFY 3 15#define CPU_INSTR_PER_JIFFY 3
16#define MCF_BUSCLK (MCF_CLK / 2)
16 17
17#include <asm/m52xxacr.h> 18#include <asm/m52xxacr.h>
18 19
19/* 20/*
20 * Define the 523x SIM register set addresses. 21 * Define the 523x SIM register set addresses.
21 */ 22 */
22#define MCFICM_INTC0 0x0c00 /* Base for Interrupt Ctrl 0 */ 23#define MCFICM_INTC0 (MCF_IPSBAR + 0x0c00) /* Base for Interrupt Ctrl 0 */
23#define MCFICM_INTC1 0x0d00 /* Base for Interrupt Ctrl 0 */ 24#define MCFICM_INTC1 (MCF_IPSBAR + 0x0d00) /* Base for Interrupt Ctrl 0 */
25
24#define MCFINTC_IPRH 0x00 /* Interrupt pending 32-63 */ 26#define MCFINTC_IPRH 0x00 /* Interrupt pending 32-63 */
25#define MCFINTC_IPRL 0x04 /* Interrupt pending 1-31 */ 27#define MCFINTC_IPRL 0x04 /* Interrupt pending 1-31 */
26#define MCFINTC_IMRH 0x08 /* Interrupt mask 32-63 */ 28#define MCFINTC_IMRH 0x08 /* Interrupt mask 32-63 */
@@ -39,11 +41,11 @@
39/* 41/*
40 * SDRAM configuration registers. 42 * SDRAM configuration registers.
41 */ 43 */
42#define MCFSIM_DCR 0x44 /* SDRAM control */ 44#define MCFSIM_DCR (MCF_IPSBAR + 0x44) /* Control */
43#define MCFSIM_DACR0 0x48 /* SDRAM base address 0 */ 45#define MCFSIM_DACR0 (MCF_IPSBAR + 0x48) /* Base address 0 */
44#define MCFSIM_DMR0 0x4c /* SDRAM address mask 0 */ 46#define MCFSIM_DMR0 (MCF_IPSBAR + 0x4c) /* Address mask 0 */
45#define MCFSIM_DACR1 0x50 /* SDRAM base address 1 */ 47#define MCFSIM_DACR1 (MCF_IPSBAR + 0x50) /* Base address 1 */
46#define MCFSIM_DMR1 0x54 /* SDRAM address mask 1 */ 48#define MCFSIM_DMR1 (MCF_IPSBAR + 0x54) /* Address mask 1 */
47 49
48/* 50/*
49 * Reset Controll Unit (relative to IPSBAR). 51 * Reset Controll Unit (relative to IPSBAR).
@@ -57,10 +59,19 @@
57/* 59/*
58 * UART module. 60 * UART module.
59 */ 61 */
60#define MCFUART_BASE1 0x200 /* Base address of UART1 */ 62#define MCFUART_BASE1 (MCF_IPSBAR + 0x200)
61#define MCFUART_BASE2 0x240 /* Base address of UART2 */ 63#define MCFUART_BASE2 (MCF_IPSBAR + 0x240)
62#define MCFUART_BASE3 0x280 /* Base address of UART3 */ 64#define MCFUART_BASE3 (MCF_IPSBAR + 0x280)
65
66/*
67 * FEC ethernet module.
68 */
69#define MCFFEC_BASE (MCF_IPSBAR + 0x1000)
70#define MCFFEC_SIZE 0x800
63 71
72/*
73 * GPIO module.
74 */
64#define MCFGPIO_PODR_ADDR (MCF_IPSBAR + 0x100000) 75#define MCFGPIO_PODR_ADDR (MCF_IPSBAR + 0x100000)
65#define MCFGPIO_PODR_DATAH (MCF_IPSBAR + 0x100001) 76#define MCFGPIO_PODR_DATAH (MCF_IPSBAR + 0x100001)
66#define MCFGPIO_PODR_DATAL (MCF_IPSBAR + 0x100002) 77#define MCFGPIO_PODR_DATAL (MCF_IPSBAR + 0x100002)
@@ -118,12 +129,22 @@
118#define MCFGPIO_PCLRR_ETPU (MCF_IPSBAR + 0x10003C) 129#define MCFGPIO_PCLRR_ETPU (MCF_IPSBAR + 0x10003C)
119 130
120/* 131/*
121 * EPort 132 * PIT timer base addresses.
122 */ 133 */
134#define MCFPIT_BASE1 (MCF_IPSBAR + 0x150000)
135#define MCFPIT_BASE2 (MCF_IPSBAR + 0x160000)
136#define MCFPIT_BASE3 (MCF_IPSBAR + 0x170000)
137#define MCFPIT_BASE4 (MCF_IPSBAR + 0x180000)
123 138
139/*
140 * EPort
141 */
142#define MCFEPORT_EPPAR (MCF_IPSBAR + 0x130000)
124#define MCFEPORT_EPDDR (MCF_IPSBAR + 0x130002) 143#define MCFEPORT_EPDDR (MCF_IPSBAR + 0x130002)
144#define MCFEPORT_EPIER (MCF_IPSBAR + 0x130003)
125#define MCFEPORT_EPDR (MCF_IPSBAR + 0x130004) 145#define MCFEPORT_EPDR (MCF_IPSBAR + 0x130004)
126#define MCFEPORT_EPPDR (MCF_IPSBAR + 0x130005) 146#define MCFEPORT_EPPDR (MCF_IPSBAR + 0x130005)
147#define MCFEPORT_EPFR (MCF_IPSBAR + 0x130006)
127 148
128/* 149/*
129 * Generic GPIO support 150 * Generic GPIO support
@@ -143,5 +164,14 @@
143*/ 164*/
144#define MCFGPIO_PAR_QSPI (MCF_IPSBAR + 0x10004A) 165#define MCFGPIO_PAR_QSPI (MCF_IPSBAR + 0x10004A)
145#define MCFGPIO_PAR_TIMER (MCF_IPSBAR + 0x10004C) 166#define MCFGPIO_PAR_TIMER (MCF_IPSBAR + 0x10004C)
167
168/*
169 * DMA unit base addresses.
170 */
171#define MCFDMA_BASE0 (MCF_IPSBAR + 0x100)
172#define MCFDMA_BASE1 (MCF_IPSBAR + 0x140)
173#define MCFDMA_BASE2 (MCF_IPSBAR + 0x180)
174#define MCFDMA_BASE3 (MCF_IPSBAR + 0x1C0)
175
146/****************************************************************************/ 176/****************************************************************************/
147#endif /* m523xsim_h */ 177#endif /* m523xsim_h */
diff --git a/arch/m68k/include/asm/m5249sim.h b/arch/m68k/include/asm/m5249sim.h
index 4908b118f2fd..805714ca8d7d 100644
--- a/arch/m68k/include/asm/m5249sim.h
+++ b/arch/m68k/include/asm/m5249sim.h
@@ -13,10 +13,16 @@
13 13
14#define CPU_NAME "COLDFIRE(m5249)" 14#define CPU_NAME "COLDFIRE(m5249)"
15#define CPU_INSTR_PER_JIFFY 3 15#define CPU_INSTR_PER_JIFFY 3
16#define MCF_BUSCLK (MCF_CLK / 2)
16 17
17#include <asm/m52xxacr.h> 18#include <asm/m52xxacr.h>
18 19
19/* 20/*
21 * The 5249 has a second MBAR region, define its address.
22 */
23#define MCF_MBAR2 0x80000000
24
25/*
20 * Define the 5249 SIM register set addresses. 26 * Define the 5249 SIM register set addresses.
21 */ 27 */
22#define MCFSIM_RSR 0x00 /* Reset Status reg (r/w) */ 28#define MCFSIM_RSR 0x00 /* Reset Status reg (r/w) */
@@ -55,11 +61,17 @@
55#define MCFSIM_CSMR3 0xa8 /* CS 3 Mask reg (r/w) */ 61#define MCFSIM_CSMR3 0xa8 /* CS 3 Mask reg (r/w) */
56#define MCFSIM_CSCR3 0xae /* CS 3 Control reg (r/w) */ 62#define MCFSIM_CSCR3 0xae /* CS 3 Control reg (r/w) */
57 63
58#define MCFSIM_DCR 0x100 /* DRAM Control reg (r/w) */ 64#define MCFSIM_DCR (MCF_MBAR + 0x100) /* DRAM Control */
59#define MCFSIM_DACR0 0x108 /* DRAM 0 Addr and Ctrl (r/w) */ 65#define MCFSIM_DACR0 (MCF_MBAR + 0x108) /* DRAM 0 Addr/Ctrl */
60#define MCFSIM_DMR0 0x10c /* DRAM 0 Mask reg (r/w) */ 66#define MCFSIM_DMR0 (MCF_MBAR + 0x10c) /* DRAM 0 Mask */
61#define MCFSIM_DACR1 0x110 /* DRAM 1 Addr and Ctrl (r/w) */ 67#define MCFSIM_DACR1 (MCF_MBAR + 0x110) /* DRAM 1 Addr/Ctrl */
62#define MCFSIM_DMR1 0x114 /* DRAM 1 Mask reg (r/w) */ 68#define MCFSIM_DMR1 (MCF_MBAR + 0x114) /* DRAM 1 Mask */
69
70/*
71 * Timer module.
72 */
73#define MCFTIMER_BASE1 (MCF_MBAR + 0x140) /* Base of TIMER1 */
74#define MCFTIMER_BASE2 (MCF_MBAR + 0x180) /* Base of TIMER2 */
63 75
64/* 76/*
65 * UART module. 77 * UART module.
@@ -68,6 +80,14 @@
68#define MCFUART_BASE2 0x200 /* Base address of UART2 */ 80#define MCFUART_BASE2 0x200 /* Base address of UART2 */
69 81
70/* 82/*
83 * DMA unit base addresses.
84 */
85#define MCFDMA_BASE0 (MCF_MBAR + 0x300) /* Base address DMA 0 */
86#define MCFDMA_BASE1 (MCF_MBAR + 0x340) /* Base address DMA 1 */
87#define MCFDMA_BASE2 (MCF_MBAR + 0x380) /* Base address DMA 2 */
88#define MCFDMA_BASE3 (MCF_MBAR + 0x3C0) /* Base address DMA 3 */
89
90/*
71 * Some symbol defines for the above... 91 * Some symbol defines for the above...
72 */ 92 */
73#define MCFSIM_SWDICR MCFSIM_ICR0 /* Watchdog timer ICR */ 93#define MCFSIM_SWDICR MCFSIM_ICR0 /* Watchdog timer ICR */
diff --git a/arch/m68k/include/asm/m5272sim.h b/arch/m68k/include/asm/m5272sim.h
index b7cc50abc831..759c2b07a994 100644
--- a/arch/m68k/include/asm/m5272sim.h
+++ b/arch/m68k/include/asm/m5272sim.h
@@ -14,6 +14,7 @@
14 14
15#define CPU_NAME "COLDFIRE(m5272)" 15#define CPU_NAME "COLDFIRE(m5272)"
16#define CPU_INSTR_PER_JIFFY 3 16#define CPU_INSTR_PER_JIFFY 3
17#define MCF_BUSCLK MCF_CLK
17 18
18#include <asm/m52xxacr.h> 19#include <asm/m52xxacr.h>
19 20
@@ -80,6 +81,13 @@
80#define MCFSIM_PCDAT (MCF_MBAR + 0x96) /* Port C Data (r/w) */ 81#define MCFSIM_PCDAT (MCF_MBAR + 0x96) /* Port C Data (r/w) */
81#define MCFSIM_PDCNT (MCF_MBAR + 0x98) /* Port D Control (r/w) */ 82#define MCFSIM_PDCNT (MCF_MBAR + 0x98) /* Port D Control (r/w) */
82 83
84#define MCFDMA_BASE0 (MCF_MBAR + 0xe0) /* Base address DMA 0 */
85
86#define MCFTIMER_BASE1 (MCF_MBAR + 0x200) /* Base address TIMER1 */
87#define MCFTIMER_BASE2 (MCF_MBAR + 0x220) /* Base address TIMER2 */
88#define MCFTIMER_BASE3 (MCF_MBAR + 0x240) /* Base address TIMER4 */
89#define MCFTIMER_BASE4 (MCF_MBAR + 0x260) /* Base address TIMER3 */
90
83/* 91/*
84 * Define system peripheral IRQ usage. 92 * Define system peripheral IRQ usage.
85 */ 93 */
diff --git a/arch/m68k/include/asm/m527xsim.h b/arch/m68k/include/asm/m527xsim.h
index e8042e8bc003..74855a66c050 100644
--- a/arch/m68k/include/asm/m527xsim.h
+++ b/arch/m68k/include/asm/m527xsim.h
@@ -13,14 +13,16 @@
13 13
14#define CPU_NAME "COLDFIRE(m527x)" 14#define CPU_NAME "COLDFIRE(m527x)"
15#define CPU_INSTR_PER_JIFFY 3 15#define CPU_INSTR_PER_JIFFY 3
16#define MCF_BUSCLK (MCF_CLK / 2)
16 17
17#include <asm/m52xxacr.h> 18#include <asm/m52xxacr.h>
18 19
19/* 20/*
20 * Define the 5270/5271 SIM register set addresses. 21 * Define the 5270/5271 SIM register set addresses.
21 */ 22 */
22#define MCFICM_INTC0 0x0c00 /* Base for Interrupt Ctrl 0 */ 23#define MCFICM_INTC0 (MCF_IPSBAR + 0x0c00) /* Base for Interrupt Ctrl 0 */
23#define MCFICM_INTC1 0x0d00 /* Base for Interrupt Ctrl 1 */ 24#define MCFICM_INTC1 (MCF_IPSBAR + 0x0d00) /* Base for Interrupt Ctrl 1 */
25
24#define MCFINTC_IPRH 0x00 /* Interrupt pending 32-63 */ 26#define MCFINTC_IPRH 0x00 /* Interrupt pending 32-63 */
25#define MCFINTC_IPRL 0x04 /* Interrupt pending 1-31 */ 27#define MCFINTC_IPRL 0x04 /* Interrupt pending 1-31 */
26#define MCFINTC_IMRH 0x08 /* Interrupt mask 32-63 */ 28#define MCFINTC_IMRH 0x08 /* Interrupt mask 32-63 */
@@ -42,29 +44,45 @@
42 * SDRAM configuration registers. 44 * SDRAM configuration registers.
43 */ 45 */
44#ifdef CONFIG_M5271 46#ifdef CONFIG_M5271
45#define MCFSIM_DCR 0x40 /* SDRAM control */ 47#define MCFSIM_DCR (MCF_IPSBAR + 0x40) /* Control */
46#define MCFSIM_DACR0 0x48 /* SDRAM base address 0 */ 48#define MCFSIM_DACR0 (MCF_IPSBAR + 0x48) /* Base address 0 */
47#define MCFSIM_DMR0 0x4c /* SDRAM address mask 0 */ 49#define MCFSIM_DMR0 (MCF_IPSBAR + 0x4c) /* Address mask 0 */
48#define MCFSIM_DACR1 0x50 /* SDRAM base address 1 */ 50#define MCFSIM_DACR1 (MCF_IPSBAR + 0x50) /* Base address 1 */
49#define MCFSIM_DMR1 0x54 /* SDRAM address mask 1 */ 51#define MCFSIM_DMR1 (MCF_IPSBAR + 0x54) /* Address mask 1 */
50#endif 52#endif
51#ifdef CONFIG_M5275 53#ifdef CONFIG_M5275
52#define MCFSIM_DMR 0x40 /* SDRAM mode */ 54#define MCFSIM_DMR (MCF_IPSBAR + 0x40) /* Mode */
53#define MCFSIM_DCR 0x44 /* SDRAM control */ 55#define MCFSIM_DCR (MCF_IPSBAR + 0x44) /* Control */
54#define MCFSIM_DCFG1 0x48 /* SDRAM configuration 1 */ 56#define MCFSIM_DCFG1 (MCF_IPSBAR + 0x48) /* Configuration 1 */
55#define MCFSIM_DCFG2 0x4c /* SDRAM configuration 2 */ 57#define MCFSIM_DCFG2 (MCF_IPSBAR + 0x4c) /* Configuration 2 */
56#define MCFSIM_DBAR0 0x50 /* SDRAM base address 0 */ 58#define MCFSIM_DBAR0 (MCF_IPSBAR + 0x50) /* Base address 0 */
57#define MCFSIM_DMR0 0x54 /* SDRAM address mask 0 */ 59#define MCFSIM_DMR0 (MCF_IPSBAR + 0x54) /* Address mask 0 */
58#define MCFSIM_DBAR1 0x58 /* SDRAM base address 1 */ 60#define MCFSIM_DBAR1 (MCF_IPSBAR + 0x58) /* Base address 1 */
59#define MCFSIM_DMR1 0x5c /* SDRAM address mask 1 */ 61#define MCFSIM_DMR1 (MCF_IPSBAR + 0x5c) /* Address mask 1 */
60#endif 62#endif
61 63
62/* 64/*
65 * DMA unit base addresses.
66 */
67#define MCFDMA_BASE0 (MCF_IPSBAR + 0x100)
68#define MCFDMA_BASE1 (MCF_IPSBAR + 0x140)
69#define MCFDMA_BASE2 (MCF_IPSBAR + 0x180)
70#define MCFDMA_BASE3 (MCF_IPSBAR + 0x1C0)
71
72/*
63 * UART module. 73 * UART module.
64 */ 74 */
65#define MCFUART_BASE1 0x200 /* Base address of UART1 */ 75#define MCFUART_BASE1 (MCF_IPSBAR + 0x200)
66#define MCFUART_BASE2 0x240 /* Base address of UART2 */ 76#define MCFUART_BASE2 (MCF_IPSBAR + 0x240)
67#define MCFUART_BASE3 0x280 /* Base address of UART3 */ 77#define MCFUART_BASE3 (MCF_IPSBAR + 0x280)
78
79/*
80 * FEC ethernet module.
81 */
82#define MCFFEC_BASE0 (MCF_IPSBAR + 0x1000)
83#define MCFFEC_SIZE0 0x800
84#define MCFFEC_BASE1 (MCF_IPSBAR + 0x1800)
85#define MCFFEC_SIZE1 0x800
68 86
69#ifdef CONFIG_M5271 87#ifdef CONFIG_M5271
70#define MCFGPIO_PODR_ADDR (MCF_IPSBAR + 0x100000) 88#define MCFGPIO_PODR_ADDR (MCF_IPSBAR + 0x100000)
@@ -231,14 +249,22 @@
231#endif 249#endif
232 250
233/* 251/*
234 * EPort 252 * PIT timer base addresses.
235 */ 253 */
254#define MCFPIT_BASE1 (MCF_IPSBAR + 0x150000)
255#define MCFPIT_BASE2 (MCF_IPSBAR + 0x160000)
256#define MCFPIT_BASE3 (MCF_IPSBAR + 0x170000)
257#define MCFPIT_BASE4 (MCF_IPSBAR + 0x180000)
236 258
259/*
260 * EPort
261 */
262#define MCFEPORT_EPPAR (MCF_IPSBAR + 0x130000)
237#define MCFEPORT_EPDDR (MCF_IPSBAR + 0x130002) 263#define MCFEPORT_EPDDR (MCF_IPSBAR + 0x130002)
264#define MCFEPORT_EPIER (MCF_IPSBAR + 0x130003)
238#define MCFEPORT_EPDR (MCF_IPSBAR + 0x130004) 265#define MCFEPORT_EPDR (MCF_IPSBAR + 0x130004)
239#define MCFEPORT_EPPDR (MCF_IPSBAR + 0x130005) 266#define MCFEPORT_EPPDR (MCF_IPSBAR + 0x130005)
240 267#define MCFEPORT_EPFR (MCF_IPSBAR + 0x130006)
241
242 268
243/* 269/*
244 * GPIO pins setups to enable the UARTs. 270 * GPIO pins setups to enable the UARTs.
diff --git a/arch/m68k/include/asm/m528xsim.h b/arch/m68k/include/asm/m528xsim.h
index a6d2f4d9aaa0..d798bd5df56c 100644
--- a/arch/m68k/include/asm/m528xsim.h
+++ b/arch/m68k/include/asm/m528xsim.h
@@ -13,14 +13,16 @@
13 13
14#define CPU_NAME "COLDFIRE(m528x)" 14#define CPU_NAME "COLDFIRE(m528x)"
15#define CPU_INSTR_PER_JIFFY 3 15#define CPU_INSTR_PER_JIFFY 3
16#define MCF_BUSCLK MCF_CLK
16 17
17#include <asm/m52xxacr.h> 18#include <asm/m52xxacr.h>
18 19
19/* 20/*
20 * Define the 5280/5282 SIM register set addresses. 21 * Define the 5280/5282 SIM register set addresses.
21 */ 22 */
22#define MCFICM_INTC0 0x0c00 /* Base for Interrupt Ctrl 0 */ 23#define MCFICM_INTC0 (MCF_IPSBAR + 0x0c00) /* Base for Interrupt Ctrl 0 */
23#define MCFICM_INTC1 0x0d00 /* Base for Interrupt Ctrl 0 */ 24#define MCFICM_INTC1 (MCF_IPSBAR + 0x0d00) /* Base for Interrupt Ctrl 0 */
25
24#define MCFINTC_IPRH 0x00 /* Interrupt pending 32-63 */ 26#define MCFINTC_IPRH 0x00 /* Interrupt pending 32-63 */
25#define MCFINTC_IPRL 0x04 /* Interrupt pending 1-31 */ 27#define MCFINTC_IPRL 0x04 /* Interrupt pending 1-31 */
26#define MCFINTC_IMRH 0x08 /* Interrupt mask 32-63 */ 28#define MCFINTC_IMRH 0x08 /* Interrupt mask 32-63 */
@@ -39,18 +41,32 @@
39/* 41/*
40 * SDRAM configuration registers. 42 * SDRAM configuration registers.
41 */ 43 */
42#define MCFSIM_DCR 0x44 /* SDRAM control */ 44#define MCFSIM_DCR (MCF_IPSBAR + 0x00000044) /* Control */
43#define MCFSIM_DACR0 0x48 /* SDRAM base address 0 */ 45#define MCFSIM_DACR0 (MCF_IPSBAR + 0x00000048) /* Base address 0 */
44#define MCFSIM_DMR0 0x4c /* SDRAM address mask 0 */ 46#define MCFSIM_DMR0 (MCF_IPSBAR + 0x0000004c) /* Address mask 0 */
45#define MCFSIM_DACR1 0x50 /* SDRAM base address 1 */ 47#define MCFSIM_DACR1 (MCF_IPSBAR + 0x00000050) /* Base address 1 */
46#define MCFSIM_DMR1 0x54 /* SDRAM address mask 1 */ 48#define MCFSIM_DMR1 (MCF_IPSBAR + 0x00000054) /* Address mask 1 */
49
50/*
51 * DMA unit base addresses.
52 */
53#define MCFDMA_BASE0 (MCF_IPSBAR + 0x00000100)
54#define MCFDMA_BASE1 (MCF_IPSBAR + 0x00000140)
55#define MCFDMA_BASE2 (MCF_IPSBAR + 0x00000180)
56#define MCFDMA_BASE3 (MCF_IPSBAR + 0x000001C0)
47 57
48/* 58/*
49 * UART module. 59 * UART module.
50 */ 60 */
51#define MCFUART_BASE1 0x200 /* Base address of UART1 */ 61#define MCFUART_BASE1 (MCF_IPSBAR + 0x00000200)
52#define MCFUART_BASE2 0x240 /* Base address of UART2 */ 62#define MCFUART_BASE2 (MCF_IPSBAR + 0x00000240)
53#define MCFUART_BASE3 0x280 /* Base address of UART3 */ 63#define MCFUART_BASE3 (MCF_IPSBAR + 0x00000280)
64
65/*
66 * FEC ethernet module.
67 */
68#define MCFFEC_BASE (MCF_IPSBAR + 0x00001000)
69#define MCFFEC_SIZE 0x800
54 70
55/* 71/*
56 * GPIO registers 72 * GPIO registers
@@ -163,6 +179,14 @@
163#define MCFGPIO_PUAPAR (MCF_IPSBAR + 0x0010005C) 179#define MCFGPIO_PUAPAR (MCF_IPSBAR + 0x0010005C)
164 180
165/* 181/*
182 * PIT timer base addresses.
183 */
184#define MCFPIT_BASE1 (MCF_IPSBAR + 0x00150000)
185#define MCFPIT_BASE2 (MCF_IPSBAR + 0x00160000)
186#define MCFPIT_BASE3 (MCF_IPSBAR + 0x00170000)
187#define MCFPIT_BASE4 (MCF_IPSBAR + 0x00180000)
188
189/*
166 * Edge Port registers 190 * Edge Port registers
167 */ 191 */
168#define MCFEPORT_EPPAR (MCF_IPSBAR + 0x00130000) 192#define MCFEPORT_EPPAR (MCF_IPSBAR + 0x00130000)
diff --git a/arch/m68k/include/asm/m5307sim.h b/arch/m68k/include/asm/m5307sim.h
index 0bf57397e7a9..4c94c01f36c4 100644
--- a/arch/m68k/include/asm/m5307sim.h
+++ b/arch/m68k/include/asm/m5307sim.h
@@ -16,6 +16,7 @@
16 16
17#define CPU_NAME "COLDFIRE(m5307)" 17#define CPU_NAME "COLDFIRE(m5307)"
18#define CPU_INSTR_PER_JIFFY 3 18#define CPU_INSTR_PER_JIFFY 3
19#define MCF_BUSCLK (MCF_CLK / 2)
19 20
20#include <asm/m53xxacr.h> 21#include <asm/m53xxacr.h>
21 22
@@ -89,16 +90,30 @@
89#define MCFSIM_CSCR7 0xde /* CS 7 Control reg (r/w) */ 90#define MCFSIM_CSCR7 0xde /* CS 7 Control reg (r/w) */
90#endif /* CONFIG_OLDMASK */ 91#endif /* CONFIG_OLDMASK */
91 92
92#define MCFSIM_DCR 0x100 /* DRAM Control reg (r/w) */ 93#define MCFSIM_DCR (MCF_MBAR + 0x100) /* DRAM Control */
93#define MCFSIM_DACR0 0x108 /* DRAM 0 Addr and Ctrl (r/w) */ 94#define MCFSIM_DACR0 (MCF_MBAR + 0x108) /* DRAM Addr/Ctrl 0 */
94#define MCFSIM_DMR0 0x10c /* DRAM 0 Mask reg (r/w) */ 95#define MCFSIM_DMR0 (MCF_MBAR + 0x10c) /* DRAM Mask 0 */
95#define MCFSIM_DACR1 0x110 /* DRAM 1 Addr and Ctrl (r/w) */ 96#define MCFSIM_DACR1 (MCF_MBAR + 0x110) /* DRAM Addr/Ctrl 1 */
96#define MCFSIM_DMR1 0x114 /* DRAM 1 Mask reg (r/w) */ 97#define MCFSIM_DMR1 (MCF_MBAR + 0x114) /* DRAM Mask 1 */
98
99/*
100 * Timer module.
101 */
102#define MCFTIMER_BASE1 (MCF_MBAR + 0x140) /* Base of TIMER1 */
103#define MCFTIMER_BASE2 (MCF_MBAR + 0x180) /* Base of TIMER2 */
97 104
98#define MCFSIM_PADDR (MCF_MBAR + 0x244) 105#define MCFSIM_PADDR (MCF_MBAR + 0x244)
99#define MCFSIM_PADAT (MCF_MBAR + 0x248) 106#define MCFSIM_PADAT (MCF_MBAR + 0x248)
100 107
101/* 108/*
109 * DMA unit base addresses.
110 */
111#define MCFDMA_BASE0 (MCF_MBAR + 0x300) /* Base address DMA 0 */
112#define MCFDMA_BASE1 (MCF_MBAR + 0x340) /* Base address DMA 1 */
113#define MCFDMA_BASE2 (MCF_MBAR + 0x380) /* Base address DMA 2 */
114#define MCFDMA_BASE3 (MCF_MBAR + 0x3C0) /* Base address DMA 3 */
115
116/*
102 * UART module. 117 * UART module.
103 */ 118 */
104#if defined(CONFIG_NETtel) || defined(CONFIG_SECUREEDGEMP3) 119#if defined(CONFIG_NETtel) || defined(CONFIG_SECUREEDGEMP3)
diff --git a/arch/m68k/include/asm/m532xsim.h b/arch/m68k/include/asm/m532xsim.h
index e6470f8ca324..ba4cc784f574 100644
--- a/arch/m68k/include/asm/m532xsim.h
+++ b/arch/m68k/include/asm/m532xsim.h
@@ -11,6 +11,7 @@
11 11
12#define CPU_NAME "COLDFIRE(m532x)" 12#define CPU_NAME "COLDFIRE(m532x)"
13#define CPU_INSTR_PER_JIFFY 3 13#define CPU_INSTR_PER_JIFFY 3
14#define MCF_BUSCLK (MCF_CLK / 3)
14 15
15#include <asm/m53xxacr.h> 16#include <asm/m53xxacr.h>
16 17
@@ -85,6 +86,14 @@
85#define MCFUART_BASE2 0xFC064000 /* Base address of UART2 */ 86#define MCFUART_BASE2 0xFC064000 /* Base address of UART2 */
86#define MCFUART_BASE3 0xFC068000 /* Base address of UART3 */ 87#define MCFUART_BASE3 0xFC068000 /* Base address of UART3 */
87 88
89/*
90 * Timer module.
91 */
92#define MCFTIMER_BASE1 0xFC070000 /* Base address of TIMER1 */
93#define MCFTIMER_BASE2 0xFC074000 /* Base address of TIMER2 */
94#define MCFTIMER_BASE3 0xFC078000 /* Base address of TIMER3 */
95#define MCFTIMER_BASE4 0xFC07C000 /* Base address of TIMER4 */
96
88/********************************************************************* 97/*********************************************************************
89 * 98 *
90 * Reset Controller Module 99 * Reset Controller Module
diff --git a/arch/m68k/include/asm/m5407sim.h b/arch/m68k/include/asm/m5407sim.h
index 75f5c28a551d..762c58c89050 100644
--- a/arch/m68k/include/asm/m5407sim.h
+++ b/arch/m68k/include/asm/m5407sim.h
@@ -16,6 +16,7 @@
16 16
17#define CPU_NAME "COLDFIRE(m5407)" 17#define CPU_NAME "COLDFIRE(m5407)"
18#define CPU_INSTR_PER_JIFFY 3 18#define CPU_INSTR_PER_JIFFY 3
19#define MCF_BUSCLK (MCF_CLK / 2)
19 20
20#include <asm/m54xxacr.h> 21#include <asm/m54xxacr.h>
21 22
@@ -72,11 +73,17 @@
72#define MCFSIM_CSMR7 0xd8 /* CS 7 Mask reg (r/w) */ 73#define MCFSIM_CSMR7 0xd8 /* CS 7 Mask reg (r/w) */
73#define MCFSIM_CSCR7 0xde /* CS 7 Control reg (r/w) */ 74#define MCFSIM_CSCR7 0xde /* CS 7 Control reg (r/w) */
74 75
75#define MCFSIM_DCR 0x100 /* DRAM Control reg (r/w) */ 76#define MCFSIM_DCR (MCF_MBAR + 0x100) /* DRAM Control */
76#define MCFSIM_DACR0 0x108 /* DRAM 0 Addr and Ctrl (r/w) */ 77#define MCFSIM_DACR0 (MCF_MBAR + 0x108) /* DRAM 0 Addr/Ctrl */
77#define MCFSIM_DMR0 0x10c /* DRAM 0 Mask reg (r/w) */ 78#define MCFSIM_DMR0 (MCF_MBAR + 0x10c) /* DRAM 0 Mask */
78#define MCFSIM_DACR1 0x110 /* DRAM 1 Addr and Ctrl (r/w) */ 79#define MCFSIM_DACR1 (MCF_MBAR + 0x110) /* DRAM 1 Addr/Ctrl */
79#define MCFSIM_DMR1 0x114 /* DRAM 1 Mask reg (r/w) */ 80#define MCFSIM_DMR1 (MCF_MBAR + 0x114) /* DRAM 1 Mask */
81
82/*
83 * Timer module.
84 */
85#define MCFTIMER_BASE1 (MCF_MBAR + 0x140) /* Base of TIMER1 */
86#define MCFTIMER_BASE2 (MCF_MBAR + 0x180) /* Base of TIMER2 */
80 87
81#define MCFUART_BASE1 0x1c0 /* Base address of UART1 */ 88#define MCFUART_BASE1 0x1c0 /* Base address of UART1 */
82#define MCFUART_BASE2 0x200 /* Base address of UART2 */ 89#define MCFUART_BASE2 0x200 /* Base address of UART2 */
@@ -85,6 +92,14 @@
85#define MCFSIM_PADAT (MCF_MBAR + 0x248) 92#define MCFSIM_PADAT (MCF_MBAR + 0x248)
86 93
87/* 94/*
95 * DMA unit base addresses.
96 */
97#define MCFDMA_BASE0 (MCF_MBAR + 0x300) /* Base address DMA 0 */
98#define MCFDMA_BASE1 (MCF_MBAR + 0x340) /* Base address DMA 1 */
99#define MCFDMA_BASE2 (MCF_MBAR + 0x380) /* Base address DMA 2 */
100#define MCFDMA_BASE3 (MCF_MBAR + 0x3C0) /* Base address DMA 3 */
101
102/*
88 * Generic GPIO support 103 * Generic GPIO support
89 */ 104 */
90#define MCFGPIO_PIN_MAX 16 105#define MCFGPIO_PIN_MAX 16
diff --git a/arch/m68k/include/asm/m54xxsim.h b/arch/m68k/include/asm/m54xxsim.h
index 462ae5328441..1ed8bfb02772 100644
--- a/arch/m68k/include/asm/m54xxsim.h
+++ b/arch/m68k/include/asm/m54xxsim.h
@@ -7,6 +7,7 @@
7 7
8#define CPU_NAME "COLDFIRE(m54xx)" 8#define CPU_NAME "COLDFIRE(m54xx)"
9#define CPU_INSTR_PER_JIFFY 2 9#define CPU_INSTR_PER_JIFFY 2
10#define MCF_BUSCLK (MCF_CLK / 2)
10 11
11#include <asm/m54xxacr.h> 12#include <asm/m54xxacr.h>
12 13
@@ -15,7 +16,8 @@
15/* 16/*
16 * Interrupt Controller Registers 17 * Interrupt Controller Registers
17 */ 18 */
18#define MCFICM_INTC0 0x0700 /* Base for Interrupt Ctrl 0 */ 19#define MCFICM_INTC0 (MCF_MBAR + 0x700) /* Base for Interrupt Ctrl 0 */
20
19#define MCFINTC_IPRH 0x00 /* Interrupt pending 32-63 */ 21#define MCFINTC_IPRH 0x00 /* Interrupt pending 32-63 */
20#define MCFINTC_IPRL 0x04 /* Interrupt pending 1-31 */ 22#define MCFINTC_IPRL 0x04 /* Interrupt pending 1-31 */
21#define MCFINTC_IMRH 0x08 /* Interrupt mask 32-63 */ 23#define MCFINTC_IMRH 0x08 /* Interrupt mask 32-63 */
@@ -48,6 +50,16 @@
48#define MCFGPIO_IRQ_VECBASE -1 50#define MCFGPIO_IRQ_VECBASE -1
49 51
50/* 52/*
53 * EDGE Port support.
54 */
55#define MCFEPORT_EPPAR (MCF_MBAR + 0xf00) /* Pin assignment */
56#define MCFEPORT_EPDDR (MCF_MBAR + 0xf04) /* Data direction */
57#define MCFEPORT_EPIER (MCF_MBAR + 0xf05) /* Interrupt enable */
58#define MCFEPORT_EPDR (MCF_MBAR + 0xf08) /* Port data (w) */
59#define MCFEPORT_EPPDR (MCF_MBAR + 0xf09) /* Port data (r) */
60#define MCFEPORT_EPFR (MCF_MBAR + 0xf0c) /* Flags */
61
62/*
51 * Some PSC related definitions 63 * Some PSC related definitions
52 */ 64 */
53#define MCF_PAR_PSC(x) (0x000A4F-((x)&0x3)) 65#define MCF_PAR_PSC(x) (0x000A4F-((x)&0x3))
diff --git a/arch/m68k/include/asm/mcfdma.h b/arch/m68k/include/asm/mcfdma.h
index 705c52c79cd8..10bc7e391c14 100644
--- a/arch/m68k/include/asm/mcfdma.h
+++ b/arch/m68k/include/asm/mcfdma.h
@@ -11,29 +11,6 @@
11#define mcfdma_h 11#define mcfdma_h
12/****************************************************************************/ 12/****************************************************************************/
13 13
14
15/*
16 * Get address specific defines for this Coldfire member.
17 */
18#if defined(CONFIG_M5206) || defined(CONFIG_M5206e)
19#define MCFDMA_BASE0 0x200 /* Base address of DMA 0 */
20#define MCFDMA_BASE1 0x240 /* Base address of DMA 1 */
21#elif defined(CONFIG_M5272)
22#define MCFDMA_BASE0 0x0e0 /* Base address of DMA 0 */
23#elif defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x)
24/* These are relative to the IPSBAR, not MBAR */
25#define MCFDMA_BASE0 0x100 /* Base address of DMA 0 */
26#define MCFDMA_BASE1 0x140 /* Base address of DMA 1 */
27#define MCFDMA_BASE2 0x180 /* Base address of DMA 2 */
28#define MCFDMA_BASE3 0x1C0 /* Base address of DMA 3 */
29#elif defined(CONFIG_M5249) || defined(CONFIG_M5307) || defined(CONFIG_M5407)
30#define MCFDMA_BASE0 0x300 /* Base address of DMA 0 */
31#define MCFDMA_BASE1 0x340 /* Base address of DMA 1 */
32#define MCFDMA_BASE2 0x380 /* Base address of DMA 2 */
33#define MCFDMA_BASE3 0x3C0 /* Base address of DMA 3 */
34#endif
35
36
37#if !defined(CONFIG_M5272) 14#if !defined(CONFIG_M5272)
38 15
39/* 16/*
diff --git a/arch/m68k/include/asm/mcfpit.h b/arch/m68k/include/asm/mcfpit.h
index f570cf64fd29..9fd321ca0725 100644
--- a/arch/m68k/include/asm/mcfpit.h
+++ b/arch/m68k/include/asm/mcfpit.h
@@ -11,22 +11,8 @@
11#define mcfpit_h 11#define mcfpit_h
12/****************************************************************************/ 12/****************************************************************************/
13 13
14
15/*
16 * Get address specific defines for the 5270/5271, 5280/5282, and 5208.
17 */
18#if defined(CONFIG_M520x)
19#define MCFPIT_BASE1 0x00080000 /* Base address of TIMER1 */
20#define MCFPIT_BASE2 0x00084000 /* Base address of TIMER2 */
21#else
22#define MCFPIT_BASE1 0x00150000 /* Base address of TIMER1 */
23#define MCFPIT_BASE2 0x00160000 /* Base address of TIMER2 */
24#define MCFPIT_BASE3 0x00170000 /* Base address of TIMER3 */
25#define MCFPIT_BASE4 0x00180000 /* Base address of TIMER4 */
26#endif
27
28/* 14/*
29 * Define the PIT timer register set addresses. 15 * Define the PIT timer register address offsets.
30 */ 16 */
31#define MCFPIT_PCSR 0x0 /* PIT control register */ 17#define MCFPIT_PCSR 0x0 /* PIT control register */
32#define MCFPIT_PMR 0x2 /* PIT modulus register */ 18#define MCFPIT_PMR 0x2 /* PIT modulus register */
diff --git a/arch/m68k/include/asm/mcftimer.h b/arch/m68k/include/asm/mcftimer.h
index 0f90f6d2227a..92b276fe8240 100644
--- a/arch/m68k/include/asm/mcftimer.h
+++ b/arch/m68k/include/asm/mcftimer.h
@@ -12,29 +12,6 @@
12#define mcftimer_h 12#define mcftimer_h
13/****************************************************************************/ 13/****************************************************************************/
14 14
15
16/*
17 * Get address specific defines for this ColdFire member.
18 */
19#if defined(CONFIG_M5206) || defined(CONFIG_M5206e)
20#define MCFTIMER_BASE1 0x100 /* Base address of TIMER1 */
21#define MCFTIMER_BASE2 0x120 /* Base address of TIMER2 */
22#elif defined(CONFIG_M5272)
23#define MCFTIMER_BASE1 0x200 /* Base address of TIMER1 */
24#define MCFTIMER_BASE2 0x220 /* Base address of TIMER2 */
25#define MCFTIMER_BASE3 0x240 /* Base address of TIMER4 */
26#define MCFTIMER_BASE4 0x260 /* Base address of TIMER3 */
27#elif defined(CONFIG_M5249) || defined(CONFIG_M5307) || defined(CONFIG_M5407)
28#define MCFTIMER_BASE1 0x140 /* Base address of TIMER1 */
29#define MCFTIMER_BASE2 0x180 /* Base address of TIMER2 */
30#elif defined(CONFIG_M532x)
31#define MCFTIMER_BASE1 0xfc070000 /* Base address of TIMER1 */
32#define MCFTIMER_BASE2 0xfc074000 /* Base address of TIMER2 */
33#define MCFTIMER_BASE3 0xfc078000 /* Base address of TIMER3 */
34#define MCFTIMER_BASE4 0xfc07c000 /* Base address of TIMER4 */
35#endif
36
37
38/* 15/*
39 * Define the TIMER register set addresses. 16 * Define the TIMER register set addresses.
40 */ 17 */
diff --git a/arch/m68k/include/asm/string.h b/arch/m68k/include/asm/string.h
index 2936dda938d7..32198454da70 100644
--- a/arch/m68k/include/asm/string.h
+++ b/arch/m68k/include/asm/string.h
@@ -81,18 +81,6 @@ static inline char *strncpy(char *dest, const char *src, size_t n)
81 strcpy(__d + strlen(__d), (s)); \ 81 strcpy(__d + strlen(__d), (s)); \
82}) 82})
83 83
84#define __HAVE_ARCH_STRCHR
85static inline char *strchr(const char *s, int c)
86{
87 char sc, ch = c;
88
89 for (; (sc = *s++) != ch; ) {
90 if (!sc)
91 return NULL;
92 }
93 return (char *)s - 1;
94}
95
96#ifndef CONFIG_COLDFIRE 84#ifndef CONFIG_COLDFIRE
97#define __HAVE_ARCH_STRCMP 85#define __HAVE_ARCH_STRCMP
98static inline int strcmp(const char *cs, const char *ct) 86static inline int strcmp(const char *cs, const char *ct)
@@ -111,14 +99,12 @@ static inline int strcmp(const char *cs, const char *ct)
111 : "+a" (cs), "+a" (ct), "=d" (res)); 99 : "+a" (cs), "+a" (ct), "=d" (res));
112 return res; 100 return res;
113} 101}
102#endif /* CONFIG_COLDFIRE */
114 103
115#define __HAVE_ARCH_MEMMOVE 104#define __HAVE_ARCH_MEMMOVE
116extern void *memmove(void *, const void *, __kernel_size_t); 105extern void *memmove(void *, const void *, __kernel_size_t);
117 106
118#define __HAVE_ARCH_MEMCMP
119extern int memcmp(const void *, const void *, __kernel_size_t);
120#define memcmp(d, s, n) __builtin_memcmp(d, s, n) 107#define memcmp(d, s, n) __builtin_memcmp(d, s, n)
121#endif /* CONFIG_COLDFIRE */
122 108
123#define __HAVE_ARCH_MEMSET 109#define __HAVE_ARCH_MEMSET
124extern void *memset(void *, int, __kernel_size_t); 110extern void *memset(void *, int, __kernel_size_t);
diff --git a/arch/m68k/kernel/time.c b/arch/m68k/kernel/time.c
index 06438dac08ff..18b34ee5db3b 100644
--- a/arch/m68k/kernel/time.c
+++ b/arch/m68k/kernel/time.c
@@ -37,11 +37,11 @@ static inline int set_rtc_mmss(unsigned long nowtime)
37 37
38/* 38/*
39 * timer_interrupt() needs to keep up the real-time clock, 39 * timer_interrupt() needs to keep up the real-time clock,
40 * as well as call the "do_timer()" routine every clocktick 40 * as well as call the "xtime_update()" routine every clocktick
41 */ 41 */
42static irqreturn_t timer_interrupt(int irq, void *dummy) 42static irqreturn_t timer_interrupt(int irq, void *dummy)
43{ 43{
44 do_timer(1); 44 xtime_update(1);
45 update_process_times(user_mode(get_irq_regs())); 45 update_process_times(user_mode(get_irq_regs()));
46 profile_tick(CPU_PROFILING); 46 profile_tick(CPU_PROFILING);
47 47
diff --git a/arch/m68k/lib/string.c b/arch/m68k/lib/string.c
index 4253f870e54f..d399c5f25636 100644
--- a/arch/m68k/lib/string.c
+++ b/arch/m68k/lib/string.c
@@ -243,14 +243,3 @@ void *memmove(void *dest, const void *src, size_t n)
243 return xdest; 243 return xdest;
244} 244}
245EXPORT_SYMBOL(memmove); 245EXPORT_SYMBOL(memmove);
246
247int memcmp(const void *cs, const void *ct, size_t count)
248{
249 const unsigned char *su1, *su2;
250
251 for (su1 = cs, su2 = ct; count > 0; ++su1, ++su2, count--)
252 if (*su1 != *su2)
253 return *su1 < *su2 ? -1 : +1;
254 return 0;
255}
256EXPORT_SYMBOL(memcmp);
diff --git a/arch/m68k/mvme147/config.c b/arch/m68k/mvme147/config.c
index 100baaa692a1..6cb9c3a9b6c9 100644
--- a/arch/m68k/mvme147/config.c
+++ b/arch/m68k/mvme147/config.c
@@ -46,8 +46,8 @@ extern void mvme147_reset (void);
46 46
47static int bcd2int (unsigned char b); 47static int bcd2int (unsigned char b);
48 48
49/* Save tick handler routine pointer, will point to do_timer() in 49/* Save tick handler routine pointer, will point to xtime_update() in
50 * kernel/sched.c, called via mvme147_process_int() */ 50 * kernel/time/timekeeping.c, called via mvme147_process_int() */
51 51
52irq_handler_t tick_handler; 52irq_handler_t tick_handler;
53 53
diff --git a/arch/m68k/mvme16x/config.c b/arch/m68k/mvme16x/config.c
index 11edf61cc2c4..0b28e2621653 100644
--- a/arch/m68k/mvme16x/config.c
+++ b/arch/m68k/mvme16x/config.c
@@ -51,8 +51,8 @@ extern void mvme16x_reset (void);
51 51
52int bcd2int (unsigned char b); 52int bcd2int (unsigned char b);
53 53
54/* Save tick handler routine pointer, will point to do_timer() in 54/* Save tick handler routine pointer, will point to xtime_update() in
55 * kernel/sched.c, called via mvme16x_process_int() */ 55 * kernel/time/timekeeping.c, called via mvme16x_process_int() */
56 56
57static irq_handler_t tick_handler; 57static irq_handler_t tick_handler;
58 58
diff --git a/arch/m68k/sun3/sun3ints.c b/arch/m68k/sun3/sun3ints.c
index 2d9e21bd313a..6464ad3ae3e6 100644
--- a/arch/m68k/sun3/sun3ints.c
+++ b/arch/m68k/sun3/sun3ints.c
@@ -66,7 +66,7 @@ static irqreturn_t sun3_int5(int irq, void *dev_id)
66#ifdef CONFIG_SUN3 66#ifdef CONFIG_SUN3
67 intersil_clear(); 67 intersil_clear();
68#endif 68#endif
69 do_timer(1); 69 xtime_update(1);
70 update_process_times(user_mode(get_irq_regs())); 70 update_process_times(user_mode(get_irq_regs()));
71 if (!(kstat_cpu(0).irqs[irq] % 20)) 71 if (!(kstat_cpu(0).irqs[irq] % 20))
72 sun3_leds(led_pattern[(kstat_cpu(0).irqs[irq] % 160) / 20]); 72 sun3_leds(led_pattern[(kstat_cpu(0).irqs[irq] % 160) / 20]);