aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m68k
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m68k')
-rw-r--r--arch/m68k/include/asm/m5206sim.h16
-rw-r--r--arch/m68k/include/asm/m5249sim.h13
-rw-r--r--arch/m68k/include/asm/m5307sim.h17
-rw-r--r--arch/m68k/include/asm/m5407sim.h13
-rw-r--r--arch/m68k/include/asm/mcfintc.h73
5 files changed, 26 insertions, 106 deletions
diff --git a/arch/m68k/include/asm/m5206sim.h b/arch/m68k/include/asm/m5206sim.h
index 7be8a2d3e659..b50061aaf8f0 100644
--- a/arch/m68k/include/asm/m5206sim.h
+++ b/arch/m68k/include/asm/m5206sim.h
@@ -117,21 +117,11 @@
117#define MCFSIM_DMA2ICR MCFSIM_ICR15 /* DMA 2 ICR */ 117#define MCFSIM_DMA2ICR MCFSIM_ICR15 /* DMA 2 ICR */
118#endif 118#endif
119 119
120#if defined(CONFIG_M5206e)
121#define MCFSIM_IMR_MASKALL 0xfffe /* All SIM intr sources */
122#endif
123
124/* 120/*
125 * Macro to get and set IMR register. It is 16 bits on the 5206. 121 * Let the common interrupt handler code know that the ColdFire 5206*
122 * family of CPU's only has a 16bit sized IMR register.
126 */ 123 */
127#define mcf_getimr() \ 124#define MCFSIM_IMR_IS_16BITS
128 *((volatile unsigned short *) (MCF_MBAR + MCFSIM_IMR))
129
130#define mcf_setimr(imr) \
131 *((volatile unsigned short *) (MCF_MBAR + MCFSIM_IMR)) = (imr)
132
133#define mcf_getipr() \
134 *((volatile unsigned short *) (MCF_MBAR + MCFSIM_IPR))
135 125
136/****************************************************************************/ 126/****************************************************************************/
137#endif /* m5206sim_h */ 127#endif /* m5206sim_h */
diff --git a/arch/m68k/include/asm/m5249sim.h b/arch/m68k/include/asm/m5249sim.h
index 2c23a83512a4..36ed31bbf6cb 100644
--- a/arch/m68k/include/asm/m5249sim.h
+++ b/arch/m68k/include/asm/m5249sim.h
@@ -106,19 +106,6 @@
106#define MCFGPIO_PIN_MAX 64 106#define MCFGPIO_PIN_MAX 64
107#define MCFGPIO_IRQ_MAX -1 107#define MCFGPIO_IRQ_MAX -1
108#define MCFGPIO_IRQ_VECBASE -1 108#define MCFGPIO_IRQ_VECBASE -1
109/*
110 * Macro to set IMR register. It is 32 bits on the 5249.
111 */
112#define MCFSIM_IMR_MASKALL 0x7fffe /* All SIM intr sources */
113
114#define mcf_getimr() \
115 *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IMR))
116
117#define mcf_setimr(imr) \
118 *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IMR)) = (imr);
119
120#define mcf_getipr() \
121 *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IPR))
122 109
123/****************************************************************************/ 110/****************************************************************************/
124 111
diff --git a/arch/m68k/include/asm/m5307sim.h b/arch/m68k/include/asm/m5307sim.h
index 6a1870c925a6..60946225699d 100644
--- a/arch/m68k/include/asm/m5307sim.h
+++ b/arch/m68k/include/asm/m5307sim.h
@@ -124,23 +124,6 @@
124#define MCFSIM_DMA2ICR MCFSIM_ICR8 /* DMA 2 ICR */ 124#define MCFSIM_DMA2ICR MCFSIM_ICR8 /* DMA 2 ICR */
125#define MCFSIM_DMA3ICR MCFSIM_ICR9 /* DMA 3 ICR */ 125#define MCFSIM_DMA3ICR MCFSIM_ICR9 /* DMA 3 ICR */
126 126
127#if defined(CONFIG_M5307)
128#define MCFSIM_IMR_MASKALL 0x3fffe /* All SIM intr sources */
129#endif
130
131/*
132 * Macro to set IMR register. It is 32 bits on the 5307.
133 */
134#define mcf_getimr() \
135 *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IMR))
136
137#define mcf_setimr(imr) \
138 *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IMR)) = (imr);
139
140#define mcf_getipr() \
141 *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IPR))
142
143
144/* 127/*
145 * Some symbol defines for the Parallel Port Pin Assignment Register 128 * Some symbol defines for the Parallel Port Pin Assignment Register
146 */ 129 */
diff --git a/arch/m68k/include/asm/m5407sim.h b/arch/m68k/include/asm/m5407sim.h
index 25194756b432..3c4bd5f08cde 100644
--- a/arch/m68k/include/asm/m5407sim.h
+++ b/arch/m68k/include/asm/m5407sim.h
@@ -97,19 +97,6 @@
97#define MCFSIM_DMA3ICR MCFSIM_ICR9 /* DMA 3 ICR */ 97#define MCFSIM_DMA3ICR MCFSIM_ICR9 /* DMA 3 ICR */
98 98
99/* 99/*
100 * Macro to set IMR register. It is 32 bits on the 5407.
101 */
102#define mcf_getimr() \
103 *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IMR))
104
105#define mcf_setimr(imr) \
106 *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IMR)) = (imr);
107
108#define mcf_getipr() \
109 *((volatile unsigned long *) (MCF_MBAR + MCFSIM_IPR))
110
111
112/*
113 * Some symbol defines for the Parallel Port Pin Assignment Register 100 * Some symbol defines for the Parallel Port Pin Assignment Register
114 */ 101 */
115#define MCFSIM_PAR_DREQ0 0x40 /* Set to select DREQ0 input */ 102#define MCFSIM_PAR_DREQ0 0x40 /* Set to select DREQ0 input */
diff --git a/arch/m68k/include/asm/mcfintc.h b/arch/m68k/include/asm/mcfintc.h
index a75a001e773a..213aa6c68abb 100644
--- a/arch/m68k/include/asm/mcfintc.h
+++ b/arch/m68k/include/asm/mcfintc.h
@@ -48,59 +48,32 @@
48#define MCFSIM_ICR_PRI3 0x03 /* Priority 3 intr */ 48#define MCFSIM_ICR_PRI3 0x03 /* Priority 3 intr */
49 49
50/* 50/*
51 * Bit definitions for the ICR family of registers. 51 * IMR bit position definitions.
52 */ 52 */
53#define MCFSIM_ICR_AUTOVEC 0x80 /* Auto-vectored intr */ 53#define MCFINTC_EINT1 1 /* External int #1 */
54#define MCFSIM_ICR_LEVEL0 0x00 /* Level 0 intr */ 54#define MCFINTC_EINT2 2 /* External int #2 */
55#define MCFSIM_ICR_LEVEL1 0x04 /* Level 1 intr */ 55#define MCFINTC_EINT3 3 /* External int #3 */
56#define MCFSIM_ICR_LEVEL2 0x08 /* Level 2 intr */ 56#define MCFINTC_EINT4 4 /* External int #4 */
57#define MCFSIM_ICR_LEVEL3 0x0c /* Level 3 intr */ 57#define MCFINTC_EINT5 5 /* External int #5 */
58#define MCFSIM_ICR_LEVEL4 0x10 /* Level 4 intr */ 58#define MCFINTC_EINT6 6 /* External int #6 */
59#define MCFSIM_ICR_LEVEL5 0x14 /* Level 5 intr */ 59#define MCFINTC_EINT7 7 /* External int #7 */
60#define MCFSIM_ICR_LEVEL6 0x18 /* Level 6 intr */ 60#define MCFINTC_SWT 8 /* Software Watchdog */
61#define MCFSIM_ICR_LEVEL7 0x1c /* Level 7 intr */ 61#define MCFINTC_TIMER1 9
62#define MCFINTC_TIMER2 10
63#define MCFINTC_I2C 11 /* I2C / MBUS */
64#define MCFINTC_UART0 12
65#define MCFINTC_UART1 13
66#define MCFINTC_DMA0 14
67#define MCFINTC_DMA1 15
68#define MCFINTC_DMA2 16
69#define MCFINTC_DMA3 17
70#define MCFINTC_QSPI 18
62 71
63#define MCFSIM_ICR_PRI0 0x00 /* Priority 0 intr */ 72#ifndef __ASSEMBLER__
64#define MCFSIM_ICR_PRI1 0x01 /* Priority 1 intr */ 73void mcf_autovector(int irq);
65#define MCFSIM_ICR_PRI2 0x02 /* Priority 2 intr */ 74void mcf_setimr(int index);
66#define MCFSIM_ICR_PRI3 0x03 /* Priority 3 intr */ 75void mcf_clrimr(int index);
67
68/*
69 * Bit definitions for the Interrupt Mask register (IMR).
70 */
71#define MCFSIM_IMR_EINT1 0x0002 /* External intr # 1 */
72#define MCFSIM_IMR_EINT2 0x0004 /* External intr # 2 */
73#define MCFSIM_IMR_EINT3 0x0008 /* External intr # 3 */
74#define MCFSIM_IMR_EINT4 0x0010 /* External intr # 4 */
75#define MCFSIM_IMR_EINT5 0x0020 /* External intr # 5 */
76#define MCFSIM_IMR_EINT6 0x0040 /* External intr # 6 */
77#define MCFSIM_IMR_EINT7 0x0080 /* External intr # 7 */
78
79#define MCFSIM_IMR_SWD 0x0100 /* Software Watchdog intr */
80#define MCFSIM_IMR_TIMER1 0x0200 /* TIMER 1 intr */
81#define MCFSIM_IMR_TIMER2 0x0400 /* TIMER 2 intr */
82#define MCFSIM_IMR_MBUS 0x0800 /* MBUS intr */
83#define MCFSIM_IMR_UART1 0x1000 /* UART 1 intr */
84#define MCFSIM_IMR_UART2 0x2000 /* UART 2 intr */
85
86#if defined(CONFIG_M5206e)
87#define MCFSIM_IMR_DMA1 0x4000 /* DMA 1 intr */
88#define MCFSIM_IMR_DMA2 0x8000 /* DMA 2 intr */
89#elif defined(CONFIG_M5249) || defined(CONFIG_M5307)
90#define MCFSIM_IMR_DMA0 0x4000 /* DMA 0 intr */
91#define MCFSIM_IMR_DMA1 0x8000 /* DMA 1 intr */
92#define MCFSIM_IMR_DMA2 0x10000 /* DMA 2 intr */
93#define MCFSIM_IMR_DMA3 0x20000 /* DMA 3 intr */
94#endif 76#endif
95 77
96/*
97 * Mask for all of the SIM devices. Some parts have more or less
98 * SIM devices. This is a catchall for the sandard set.
99 */
100#ifndef MCFSIM_IMR_MASKALL
101#define MCFSIM_IMR_MASKALL 0x3ffe /* All intr sources */
102#endif
103
104
105/****************************************************************************/ 78/****************************************************************************/
106#endif /* mcfintc_h */ 79#endif /* mcfintc_h */