diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-11 23:05:08 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-06-11 23:05:08 -0400 |
commit | 875287caa067492779670f5fb3b98ec8dcfe2cb0 (patch) | |
tree | 258037cc7678cfaeb738b970b4791ea10e193c96 | |
parent | aee74f3bb3f4fb5dbeae8c1947c6d8ebdc19ee01 (diff) | |
parent | 193e98401a89707ea374e9c32c1b9a5a9dd87a48 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
m68knommu: remove unecessary include of thread_info.h in entry.S
m68knommu: enumerate INIT_THREAD fields properly
headers_check fix: m68k, swab.h
arch/m68knommu: Convert #ifdef DEBUG printk(KERN_DEBUG to pr_debug(
m68knommu: remove obsolete reset code
m68knommu: move CPU reset code for the 5272 ColdFire into its platform code
m68knommu: move CPU reset code for the 528x ColdFire into its platform code
m68knommu: move CPU reset code for the 527x ColdFire into its platform code
m68knommu: move CPU reset code for the 523x ColdFire into its platform code
m68knommu: move CPU reset code for the 520x ColdFire into its platform code
m68knommu: add CPU reset code for the 532x ColdFire
m68knommu: add CPU reset code for the 5249 ColdFire
m68knommu: add CPU reset code for the 5206e ColdFire
m68knommu: add CPU reset code for the 5206 ColdFire
m68knommu: add CPU reset code for the 5407 ColdFire
m68knommu: add CPU reset code for the 5307 ColdFire
m68knommu: merge system reset for code ColdFire 523x family
m68knommu: fix system reset for ColdFire 527x family
23 files changed, 178 insertions, 187 deletions
diff --git a/arch/m68k/include/asm/m520xsim.h b/arch/m68k/include/asm/m520xsim.h index 49d016e6391a..83bbcfd6e8f2 100644 --- a/arch/m68k/include/asm/m520xsim.h +++ b/arch/m68k/include/asm/m520xsim.h | |||
@@ -59,5 +59,14 @@ | |||
59 | #define MCFPIT_IMR MCFINTC_IMRL | 59 | #define MCFPIT_IMR MCFINTC_IMRL |
60 | #define MCFPIT_IMR_IBIT (1 << MCFINT_PIT1) | 60 | #define MCFPIT_IMR_IBIT (1 << MCFINT_PIT1) |
61 | 61 | ||
62 | /* | ||
63 | * Reset Controll Unit. | ||
64 | */ | ||
65 | #define MCF_RCR 0xFC0A0000 | ||
66 | #define MCF_RSR 0xFC0A0001 | ||
67 | |||
68 | #define MCF_RCR_SWRESET 0x80 /* Software reset bit */ | ||
69 | #define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */ | ||
70 | |||
62 | /****************************************************************************/ | 71 | /****************************************************************************/ |
63 | #endif /* m520xsim_h */ | 72 | #endif /* m520xsim_h */ |
diff --git a/arch/m68k/include/asm/m523xsim.h b/arch/m68k/include/asm/m523xsim.h index bf397313e93f..55183b5df1b8 100644 --- a/arch/m68k/include/asm/m523xsim.h +++ b/arch/m68k/include/asm/m523xsim.h | |||
@@ -41,5 +41,14 @@ | |||
41 | #define MCFSIM_DACR1 0x50 /* SDRAM base address 1 */ | 41 | #define MCFSIM_DACR1 0x50 /* SDRAM base address 1 */ |
42 | #define MCFSIM_DMR1 0x54 /* SDRAM address mask 1 */ | 42 | #define MCFSIM_DMR1 0x54 /* SDRAM address mask 1 */ |
43 | 43 | ||
44 | /* | ||
45 | * Reset Controll Unit (relative to IPSBAR). | ||
46 | */ | ||
47 | #define MCF_RCR 0x110000 | ||
48 | #define MCF_RSR 0x110001 | ||
49 | |||
50 | #define MCF_RCR_SWRESET 0x80 /* Software reset bit */ | ||
51 | #define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */ | ||
52 | |||
44 | /****************************************************************************/ | 53 | /****************************************************************************/ |
45 | #endif /* m523xsim_h */ | 54 | #endif /* m523xsim_h */ |
diff --git a/arch/m68k/include/asm/m527xsim.h b/arch/m68k/include/asm/m527xsim.h index 1f63ab3fb3e6..95f4f8ee8f7c 100644 --- a/arch/m68k/include/asm/m527xsim.h +++ b/arch/m68k/include/asm/m527xsim.h | |||
@@ -70,5 +70,14 @@ | |||
70 | #define UART2_ENABLE_MASK 0x3f00 | 70 | #define UART2_ENABLE_MASK 0x3f00 |
71 | #endif | 71 | #endif |
72 | 72 | ||
73 | /* | ||
74 | * Reset Controll Unit (relative to IPSBAR). | ||
75 | */ | ||
76 | #define MCF_RCR 0x110000 | ||
77 | #define MCF_RSR 0x110001 | ||
78 | |||
79 | #define MCF_RCR_SWRESET 0x80 /* Software reset bit */ | ||
80 | #define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */ | ||
81 | |||
73 | /****************************************************************************/ | 82 | /****************************************************************************/ |
74 | #endif /* m527xsim_h */ | 83 | #endif /* m527xsim_h */ |
diff --git a/arch/m68k/include/asm/m528xsim.h b/arch/m68k/include/asm/m528xsim.h index 28bf783a5d6d..d79c49f8134a 100644 --- a/arch/m68k/include/asm/m528xsim.h +++ b/arch/m68k/include/asm/m528xsim.h | |||
@@ -56,6 +56,14 @@ | |||
56 | #define MCF5282_INTC0_ICR17 (volatile u8 *) (MCF_IPSBAR + 0x0C51) | 56 | #define MCF5282_INTC0_ICR17 (volatile u8 *) (MCF_IPSBAR + 0x0C51) |
57 | 57 | ||
58 | 58 | ||
59 | /* | ||
60 | * Reset Control Unit (relative to IPSBAR). | ||
61 | */ | ||
62 | #define MCF_RCR 0x110000 | ||
63 | #define MCF_RSR 0x110001 | ||
64 | |||
65 | #define MCF_RCR_SWRESET 0x80 /* Software reset bit */ | ||
66 | #define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */ | ||
59 | 67 | ||
60 | /********************************************************************* | 68 | /********************************************************************* |
61 | * | 69 | * |
diff --git a/arch/m68k/include/asm/m532xsim.h b/arch/m68k/include/asm/m532xsim.h index ce603451b55e..eb7fd4448947 100644 --- a/arch/m68k/include/asm/m532xsim.h +++ b/arch/m68k/include/asm/m532xsim.h | |||
@@ -127,6 +127,18 @@ | |||
127 | 127 | ||
128 | /********************************************************************* | 128 | /********************************************************************* |
129 | * | 129 | * |
130 | * Reset Controller Module | ||
131 | * | ||
132 | *********************************************************************/ | ||
133 | |||
134 | #define MCF_RCR 0xFC0A0000 | ||
135 | #define MCF_RSR 0xFC0A0001 | ||
136 | |||
137 | #define MCF_RCR_SWRESET 0x80 /* Software reset bit */ | ||
138 | #define MCF_RCR_FRCSTOUT 0x40 /* Force external reset */ | ||
139 | |||
140 | /********************************************************************* | ||
141 | * | ||
130 | * Inter-IC (I2C) Module | 142 | * Inter-IC (I2C) Module |
131 | * | 143 | * |
132 | *********************************************************************/ | 144 | *********************************************************************/ |
diff --git a/arch/m68k/include/asm/processor_no.h b/arch/m68k/include/asm/processor_no.h index 91cba18acdd3..7a1e0ba35f5a 100644 --- a/arch/m68k/include/asm/processor_no.h +++ b/arch/m68k/include/asm/processor_no.h | |||
@@ -72,10 +72,10 @@ struct thread_struct { | |||
72 | unsigned char fpstate[FPSTATESIZE]; /* floating point state */ | 72 | unsigned char fpstate[FPSTATESIZE]; /* floating point state */ |
73 | }; | 73 | }; |
74 | 74 | ||
75 | #define INIT_THREAD { \ | 75 | #define INIT_THREAD { \ |
76 | sizeof(init_stack) + (unsigned long) init_stack, 0, \ | 76 | .ksp = sizeof(init_stack) + (unsigned long) init_stack, \ |
77 | PS_S, __KERNEL_DS, \ | 77 | .sr = PS_S, \ |
78 | {0, 0}, 0, {0,}, {0, 0, 0}, {0,}, \ | 78 | .fs = __KERNEL_DS, \ |
79 | } | 79 | } |
80 | 80 | ||
81 | /* | 81 | /* |
diff --git a/arch/m68k/include/asm/swab.h b/arch/m68k/include/asm/swab.h index 9e3054ea59e9..5b754aace744 100644 --- a/arch/m68k/include/asm/swab.h +++ b/arch/m68k/include/asm/swab.h | |||
@@ -1,7 +1,7 @@ | |||
1 | #ifndef _M68K_SWAB_H | 1 | #ifndef _M68K_SWAB_H |
2 | #define _M68K_SWAB_H | 2 | #define _M68K_SWAB_H |
3 | 3 | ||
4 | #include <asm/types.h> | 4 | #include <linux/types.h> |
5 | #include <linux/compiler.h> | 5 | #include <linux/compiler.h> |
6 | 6 | ||
7 | #define __SWAB_64_THRU_32__ | 7 | #define __SWAB_64_THRU_32__ |
diff --git a/arch/m68k/include/asm/system_no.h b/arch/m68k/include/asm/system_no.h index 4496c0aa8379..3c0718d74398 100644 --- a/arch/m68k/include/asm/system_no.h +++ b/arch/m68k/include/asm/system_no.h | |||
@@ -203,113 +203,6 @@ static inline unsigned long __xchg(unsigned long x, volatile void * ptr, int siz | |||
203 | #include <asm-generic/cmpxchg.h> | 203 | #include <asm-generic/cmpxchg.h> |
204 | #endif | 204 | #endif |
205 | 205 | ||
206 | #if defined( CONFIG_M68328 ) || defined( CONFIG_M68EZ328 ) || \ | ||
207 | defined (CONFIG_M68360) || defined( CONFIG_M68VZ328 ) | ||
208 | #define HARD_RESET_NOW() ({ \ | ||
209 | local_irq_disable(); \ | ||
210 | asm(" \ | ||
211 | moveal #0x10c00000, %a0; \ | ||
212 | moveb #0, 0xFFFFF300; \ | ||
213 | moveal 0(%a0), %sp; \ | ||
214 | moveal 4(%a0), %a0; \ | ||
215 | jmp (%a0); \ | ||
216 | "); \ | ||
217 | }) | ||
218 | #endif | ||
219 | |||
220 | #ifdef CONFIG_COLDFIRE | ||
221 | #if defined(CONFIG_M5272) && defined(CONFIG_NETtel) | ||
222 | /* | ||
223 | * Need to account for broken early mask of 5272 silicon. So don't | ||
224 | * jump through the original start address. Jump strait into the | ||
225 | * known start of the FLASH code. | ||
226 | */ | ||
227 | #define HARD_RESET_NOW() ({ \ | ||
228 | asm(" \ | ||
229 | movew #0x2700, %sr; \ | ||
230 | jmp 0xf0000400; \ | ||
231 | "); \ | ||
232 | }) | ||
233 | #elif defined(CONFIG_NETtel) || \ | ||
234 | defined(CONFIG_SECUREEDGEMP3) || defined(CONFIG_CLEOPATRA) | ||
235 | #define HARD_RESET_NOW() ({ \ | ||
236 | asm(" \ | ||
237 | movew #0x2700, %sr; \ | ||
238 | moveal #0x10000044, %a0; \ | ||
239 | movel #0xffffffff, (%a0); \ | ||
240 | moveal #0x10000001, %a0; \ | ||
241 | moveb #0x00, (%a0); \ | ||
242 | moveal #0xf0000004, %a0; \ | ||
243 | moveal (%a0), %a0; \ | ||
244 | jmp (%a0); \ | ||
245 | "); \ | ||
246 | }) | ||
247 | #elif defined(CONFIG_M5272) | ||
248 | /* | ||
249 | * Retrieve the boot address in flash using CSBR0 and CSOR0 | ||
250 | * find the reset vector at flash_address + 4 (e.g. 0x400) | ||
251 | * remap it in the flash's current location (e.g. 0xf0000400) | ||
252 | * and jump there. | ||
253 | */ | ||
254 | #define HARD_RESET_NOW() ({ \ | ||
255 | asm(" \ | ||
256 | movew #0x2700, %%sr; \ | ||
257 | move.l %0+0x40,%%d0; \ | ||
258 | and.l %0+0x44,%%d0; \ | ||
259 | andi.l #0xfffff000,%%d0; \ | ||
260 | mov.l %%d0,%%a0; \ | ||
261 | or.l 4(%%a0),%%d0; \ | ||
262 | mov.l %%d0,%%a0; \ | ||
263 | jmp (%%a0);" \ | ||
264 | : /* No output */ \ | ||
265 | : "o" (*(char *)MCF_MBAR) ); \ | ||
266 | }) | ||
267 | #elif defined(CONFIG_M528x) | ||
268 | /* | ||
269 | * The MCF528x has a bit (SOFTRST) in memory (Reset Control Register RCR), | ||
270 | * that when set, resets the MCF528x. | ||
271 | */ | ||
272 | #define HARD_RESET_NOW() \ | ||
273 | ({ \ | ||
274 | unsigned char volatile *reset; \ | ||
275 | asm("move.w #0x2700, %sr"); \ | ||
276 | reset = ((volatile unsigned char *)(MCF_IPSBAR + 0x110000)); \ | ||
277 | while(1) \ | ||
278 | *reset |= (0x01 << 7);\ | ||
279 | }) | ||
280 | #elif defined(CONFIG_M523x) | ||
281 | #define HARD_RESET_NOW() ({ \ | ||
282 | asm(" \ | ||
283 | movew #0x2700, %sr; \ | ||
284 | movel #0x01000000, %sp; \ | ||
285 | moveal #0x40110000, %a0; \ | ||
286 | moveb #0x80, (%a0); \ | ||
287 | "); \ | ||
288 | }) | ||
289 | #elif defined(CONFIG_M520x) | ||
290 | /* | ||
291 | * The MCF5208 has a bit (SOFTRST) in memory (Reset Control Register | ||
292 | * RCR), that when set, resets the MCF5208. | ||
293 | */ | ||
294 | #define HARD_RESET_NOW() \ | ||
295 | ({ \ | ||
296 | unsigned char volatile *reset; \ | ||
297 | asm("move.w #0x2700, %sr"); \ | ||
298 | reset = ((volatile unsigned char *)(MCF_IPSBAR + 0xA0000)); \ | ||
299 | while(1) \ | ||
300 | *reset |= 0x80; \ | ||
301 | }) | ||
302 | #else | ||
303 | #define HARD_RESET_NOW() ({ \ | ||
304 | asm(" \ | ||
305 | movew #0x2700, %sr; \ | ||
306 | moveal #0x4, %a0; \ | ||
307 | moveal (%a0), %a0; \ | ||
308 | jmp (%a0); \ | ||
309 | "); \ | ||
310 | }) | ||
311 | #endif | ||
312 | #endif | ||
313 | #define arch_align_stack(x) (x) | 206 | #define arch_align_stack(x) (x) |
314 | 207 | ||
315 | 208 | ||
diff --git a/arch/m68knommu/kernel/entry.S b/arch/m68knommu/kernel/entry.S index f4782d2dce8f..f56faa5c9cd9 100644 --- a/arch/m68knommu/kernel/entry.S +++ b/arch/m68knommu/kernel/entry.S | |||
@@ -26,7 +26,6 @@ | |||
26 | 26 | ||
27 | #include <linux/sys.h> | 27 | #include <linux/sys.h> |
28 | #include <linux/linkage.h> | 28 | #include <linux/linkage.h> |
29 | #include <asm/thread_info.h> | ||
30 | #include <asm/errno.h> | 29 | #include <asm/errno.h> |
31 | #include <asm/setup.h> | 30 | #include <asm/setup.h> |
32 | #include <asm/segment.h> | 31 | #include <asm/segment.h> |
diff --git a/arch/m68knommu/kernel/setup.c b/arch/m68knommu/kernel/setup.c index 5985f1989021..5c2bb3eeaaa2 100644 --- a/arch/m68knommu/kernel/setup.c +++ b/arch/m68knommu/kernel/setup.c | |||
@@ -166,15 +166,13 @@ void __init setup_arch(char **cmdline_p) | |||
166 | printk(KERN_INFO "Motorola M5235EVB support (C)2005 Syn-tech Systems, Inc. (Jate Sujjavanich)\n"); | 166 | printk(KERN_INFO "Motorola M5235EVB support (C)2005 Syn-tech Systems, Inc. (Jate Sujjavanich)\n"); |
167 | #endif | 167 | #endif |
168 | 168 | ||
169 | #ifdef DEBUG | 169 | pr_debug("KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x " |
170 | printk(KERN_DEBUG "KERNEL -> TEXT=0x%06x-0x%06x DATA=0x%06x-0x%06x " | 170 | "BSS=0x%06x-0x%06x\n", (int) &_stext, (int) &_etext, |
171 | "BSS=0x%06x-0x%06x\n", (int) &_stext, (int) &_etext, | 171 | (int) &_sdata, (int) &_edata, |
172 | (int) &_sdata, (int) &_edata, | 172 | (int) &_sbss, (int) &_ebss); |
173 | (int) &_sbss, (int) &_ebss); | 173 | pr_debug("MEMORY -> ROMFS=0x%06x-0x%06x MEM=0x%06x-0x%06x\n ", |
174 | printk(KERN_DEBUG "MEMORY -> ROMFS=0x%06x-0x%06x MEM=0x%06x-0x%06x\n ", | 174 | (int) &_ebss, (int) memory_start, |
175 | (int) &_ebss, (int) memory_start, | 175 | (int) memory_start, (int) memory_end); |
176 | (int) memory_start, (int) memory_end); | ||
177 | #endif | ||
178 | 176 | ||
179 | /* Keep a copy of command line */ | 177 | /* Keep a copy of command line */ |
180 | *cmdline_p = &command_line[0]; | 178 | *cmdline_p = &command_line[0]; |
diff --git a/arch/m68knommu/mm/init.c b/arch/m68knommu/mm/init.c index 7befc0c357e0..b1703c67a4f1 100644 --- a/arch/m68knommu/mm/init.c +++ b/arch/m68knommu/mm/init.c | |||
@@ -126,9 +126,7 @@ void __init mem_init(void) | |||
126 | unsigned long start_mem = memory_start; /* DAVIDM - these must start at end of kernel */ | 126 | unsigned long start_mem = memory_start; /* DAVIDM - these must start at end of kernel */ |
127 | unsigned long end_mem = memory_end; /* DAVIDM - this must not include kernel stack at top */ | 127 | unsigned long end_mem = memory_end; /* DAVIDM - this must not include kernel stack at top */ |
128 | 128 | ||
129 | #ifdef DEBUG | 129 | pr_debug("Mem_init: start=%lx, end=%lx\n", start_mem, end_mem); |
130 | printk(KERN_DEBUG "Mem_init: start=%lx, end=%lx\n", start_mem, end_mem); | ||
131 | #endif | ||
132 | 130 | ||
133 | end_mem &= PAGE_MASK; | 131 | end_mem &= PAGE_MASK; |
134 | high_memory = (void *) end_mem; | 132 | high_memory = (void *) end_mem; |
diff --git a/arch/m68knommu/platform/5206/config.c b/arch/m68knommu/platform/5206/config.c index 53a5920c2b71..f6f79874e9af 100644 --- a/arch/m68knommu/platform/5206/config.c +++ b/arch/m68knommu/platform/5206/config.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
13 | #include <linux/param.h> | 13 | #include <linux/param.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/interrupt.h> | ||
16 | #include <linux/io.h> | 15 | #include <linux/io.h> |
17 | #include <asm/machdep.h> | 16 | #include <asm/machdep.h> |
18 | #include <asm/coldfire.h> | 17 | #include <asm/coldfire.h> |
@@ -21,10 +20,6 @@ | |||
21 | 20 | ||
22 | /***************************************************************************/ | 21 | /***************************************************************************/ |
23 | 22 | ||
24 | void coldfire_reset(void); | ||
25 | |||
26 | /***************************************************************************/ | ||
27 | |||
28 | static struct mcf_platform_uart m5206_uart_platform[] = { | 23 | static struct mcf_platform_uart m5206_uart_platform[] = { |
29 | { | 24 | { |
30 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 25 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
@@ -109,10 +104,21 @@ void mcf_settimericr(unsigned int timer, unsigned int level) | |||
109 | 104 | ||
110 | /***************************************************************************/ | 105 | /***************************************************************************/ |
111 | 106 | ||
107 | void m5206_cpu_reset(void) | ||
108 | { | ||
109 | local_irq_disable(); | ||
110 | /* Set watchdog to soft reset, and enabled */ | ||
111 | __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR); | ||
112 | for (;;) | ||
113 | /* wait for watchdog to timeout */; | ||
114 | } | ||
115 | |||
116 | /***************************************************************************/ | ||
117 | |||
112 | void __init config_BSP(char *commandp, int size) | 118 | void __init config_BSP(char *commandp, int size) |
113 | { | 119 | { |
114 | mcf_setimr(MCFSIM_IMR_MASKALL); | 120 | mcf_setimr(MCFSIM_IMR_MASKALL); |
115 | mach_reset = coldfire_reset; | 121 | mach_reset = m5206_cpu_reset; |
116 | } | 122 | } |
117 | 123 | ||
118 | /***************************************************************************/ | 124 | /***************************************************************************/ |
diff --git a/arch/m68knommu/platform/5206e/config.c b/arch/m68knommu/platform/5206e/config.c index db902540bf2c..65887799db81 100644 --- a/arch/m68knommu/platform/5206e/config.c +++ b/arch/m68knommu/platform/5206e/config.c | |||
@@ -11,7 +11,6 @@ | |||
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/param.h> | 12 | #include <linux/param.h> |
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/interrupt.h> | ||
15 | #include <linux/io.h> | 14 | #include <linux/io.h> |
16 | #include <asm/machdep.h> | 15 | #include <asm/machdep.h> |
17 | #include <asm/coldfire.h> | 16 | #include <asm/coldfire.h> |
@@ -21,10 +20,6 @@ | |||
21 | 20 | ||
22 | /***************************************************************************/ | 21 | /***************************************************************************/ |
23 | 22 | ||
24 | void coldfire_reset(void); | ||
25 | |||
26 | /***************************************************************************/ | ||
27 | |||
28 | static struct mcf_platform_uart m5206e_uart_platform[] = { | 23 | static struct mcf_platform_uart m5206e_uart_platform[] = { |
29 | { | 24 | { |
30 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 25 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
@@ -109,6 +104,17 @@ void mcf_settimericr(unsigned int timer, unsigned int level) | |||
109 | 104 | ||
110 | /***************************************************************************/ | 105 | /***************************************************************************/ |
111 | 106 | ||
107 | void m5206e_cpu_reset(void) | ||
108 | { | ||
109 | local_irq_disable(); | ||
110 | /* Set watchdog to soft reset, and enabled */ | ||
111 | __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR); | ||
112 | for (;;) | ||
113 | /* wait for watchdog to timeout */; | ||
114 | } | ||
115 | |||
116 | /***************************************************************************/ | ||
117 | |||
112 | void __init config_BSP(char *commandp, int size) | 118 | void __init config_BSP(char *commandp, int size) |
113 | { | 119 | { |
114 | mcf_setimr(MCFSIM_IMR_MASKALL); | 120 | mcf_setimr(MCFSIM_IMR_MASKALL); |
@@ -119,7 +125,7 @@ void __init config_BSP(char *commandp, int size) | |||
119 | commandp[size-1] = 0; | 125 | commandp[size-1] = 0; |
120 | #endif /* CONFIG_NETtel */ | 126 | #endif /* CONFIG_NETtel */ |
121 | 127 | ||
122 | mach_reset = coldfire_reset; | 128 | mach_reset = m5206e_cpu_reset; |
123 | } | 129 | } |
124 | 130 | ||
125 | /***************************************************************************/ | 131 | /***************************************************************************/ |
diff --git a/arch/m68knommu/platform/520x/config.c b/arch/m68knommu/platform/520x/config.c index 855fc6a79d72..1c43a8aec69b 100644 --- a/arch/m68knommu/platform/520x/config.c +++ b/arch/m68knommu/platform/520x/config.c | |||
@@ -14,7 +14,6 @@ | |||
14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
15 | #include <linux/param.h> | 15 | #include <linux/param.h> |
16 | #include <linux/init.h> | 16 | #include <linux/init.h> |
17 | #include <linux/interrupt.h> | ||
18 | #include <linux/io.h> | 17 | #include <linux/io.h> |
19 | #include <asm/machdep.h> | 18 | #include <asm/machdep.h> |
20 | #include <asm/coldfire.h> | 19 | #include <asm/coldfire.h> |
@@ -23,10 +22,6 @@ | |||
23 | 22 | ||
24 | /***************************************************************************/ | 23 | /***************************************************************************/ |
25 | 24 | ||
26 | void coldfire_reset(void); | ||
27 | |||
28 | /***************************************************************************/ | ||
29 | |||
30 | static struct mcf_platform_uart m520x_uart_platform[] = { | 25 | static struct mcf_platform_uart m520x_uart_platform[] = { |
31 | { | 26 | { |
32 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 27 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
@@ -169,9 +164,17 @@ void mcf_autovector(unsigned int vec) | |||
169 | 164 | ||
170 | /***************************************************************************/ | 165 | /***************************************************************************/ |
171 | 166 | ||
167 | static void m520x_cpu_reset(void) | ||
168 | { | ||
169 | local_irq_disable(); | ||
170 | __raw_writeb(MCF_RCR_SWRESET, MCF_RCR); | ||
171 | } | ||
172 | |||
173 | /***************************************************************************/ | ||
174 | |||
172 | void __init config_BSP(char *commandp, int size) | 175 | void __init config_BSP(char *commandp, int size) |
173 | { | 176 | { |
174 | mach_reset = coldfire_reset; | 177 | mach_reset = m520x_cpu_reset; |
175 | m520x_uarts_init(); | 178 | m520x_uarts_init(); |
176 | m520x_fec_init(); | 179 | m520x_fec_init(); |
177 | } | 180 | } |
diff --git a/arch/m68knommu/platform/523x/config.c b/arch/m68knommu/platform/523x/config.c index 74133f27b30c..961fefebca14 100644 --- a/arch/m68knommu/platform/523x/config.c +++ b/arch/m68knommu/platform/523x/config.c | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
16 | #include <linux/param.h> | 16 | #include <linux/param.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/interrupt.h> | ||
19 | #include <linux/io.h> | 18 | #include <linux/io.h> |
20 | #include <asm/machdep.h> | 19 | #include <asm/machdep.h> |
21 | #include <asm/coldfire.h> | 20 | #include <asm/coldfire.h> |
@@ -24,10 +23,6 @@ | |||
24 | 23 | ||
25 | /***************************************************************************/ | 24 | /***************************************************************************/ |
26 | 25 | ||
27 | void coldfire_reset(void); | ||
28 | |||
29 | /***************************************************************************/ | ||
30 | |||
31 | static struct mcf_platform_uart m523x_uart_platform[] = { | 26 | static struct mcf_platform_uart m523x_uart_platform[] = { |
32 | { | 27 | { |
33 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 28 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
@@ -145,13 +140,20 @@ void mcf_autovector(unsigned int vec) | |||
145 | { | 140 | { |
146 | /* Everything is auto-vectored on the 523x */ | 141 | /* Everything is auto-vectored on the 523x */ |
147 | } | 142 | } |
143 | /***************************************************************************/ | ||
144 | |||
145 | static void m523x_cpu_reset(void) | ||
146 | { | ||
147 | local_irq_disable(); | ||
148 | __raw_writeb(MCF_RCR_SWRESET, MCF_IPSBAR + MCF_RCR); | ||
149 | } | ||
148 | 150 | ||
149 | /***************************************************************************/ | 151 | /***************************************************************************/ |
150 | 152 | ||
151 | void __init config_BSP(char *commandp, int size) | 153 | void __init config_BSP(char *commandp, int size) |
152 | { | 154 | { |
153 | mcf_disableall(); | 155 | mcf_disableall(); |
154 | mach_reset = coldfire_reset; | 156 | mach_reset = m523x_cpu_reset; |
155 | m523x_uarts_init(); | 157 | m523x_uarts_init(); |
156 | m523x_fec_init(); | 158 | m523x_fec_init(); |
157 | } | 159 | } |
diff --git a/arch/m68knommu/platform/5249/config.c b/arch/m68knommu/platform/5249/config.c index 9eab19d01eb1..93d998825925 100644 --- a/arch/m68knommu/platform/5249/config.c +++ b/arch/m68knommu/platform/5249/config.c | |||
@@ -11,7 +11,6 @@ | |||
11 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
12 | #include <linux/param.h> | 12 | #include <linux/param.h> |
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/interrupt.h> | ||
15 | #include <linux/io.h> | 14 | #include <linux/io.h> |
16 | #include <asm/machdep.h> | 15 | #include <asm/machdep.h> |
17 | #include <asm/coldfire.h> | 16 | #include <asm/coldfire.h> |
@@ -20,10 +19,6 @@ | |||
20 | 19 | ||
21 | /***************************************************************************/ | 20 | /***************************************************************************/ |
22 | 21 | ||
23 | void coldfire_reset(void); | ||
24 | |||
25 | /***************************************************************************/ | ||
26 | |||
27 | static struct mcf_platform_uart m5249_uart_platform[] = { | 22 | static struct mcf_platform_uart m5249_uart_platform[] = { |
28 | { | 23 | { |
29 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 24 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
@@ -106,10 +101,21 @@ void mcf_settimericr(unsigned int timer, unsigned int level) | |||
106 | 101 | ||
107 | /***************************************************************************/ | 102 | /***************************************************************************/ |
108 | 103 | ||
104 | void m5249_cpu_reset(void) | ||
105 | { | ||
106 | local_irq_disable(); | ||
107 | /* Set watchdog to soft reset, and enabled */ | ||
108 | __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR); | ||
109 | for (;;) | ||
110 | /* wait for watchdog to timeout */; | ||
111 | } | ||
112 | |||
113 | /***************************************************************************/ | ||
114 | |||
109 | void __init config_BSP(char *commandp, int size) | 115 | void __init config_BSP(char *commandp, int size) |
110 | { | 116 | { |
111 | mcf_setimr(MCFSIM_IMR_MASKALL); | 117 | mcf_setimr(MCFSIM_IMR_MASKALL); |
112 | mach_reset = coldfire_reset; | 118 | mach_reset = m5249_cpu_reset; |
113 | } | 119 | } |
114 | 120 | ||
115 | /***************************************************************************/ | 121 | /***************************************************************************/ |
diff --git a/arch/m68knommu/platform/5272/config.c b/arch/m68knommu/platform/5272/config.c index e049245f4092..5f95fcde05fd 100644 --- a/arch/m68knommu/platform/5272/config.c +++ b/arch/m68knommu/platform/5272/config.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
13 | #include <linux/param.h> | 13 | #include <linux/param.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/interrupt.h> | ||
16 | #include <linux/io.h> | 15 | #include <linux/io.h> |
17 | #include <asm/machdep.h> | 16 | #include <asm/machdep.h> |
18 | #include <asm/coldfire.h> | 17 | #include <asm/coldfire.h> |
@@ -21,8 +20,6 @@ | |||
21 | 20 | ||
22 | /***************************************************************************/ | 21 | /***************************************************************************/ |
23 | 22 | ||
24 | void coldfire_reset(void); | ||
25 | |||
26 | extern unsigned int mcf_timervector; | 23 | extern unsigned int mcf_timervector; |
27 | extern unsigned int mcf_profilevector; | 24 | extern unsigned int mcf_profilevector; |
28 | extern unsigned int mcf_timerlevel; | 25 | extern unsigned int mcf_timerlevel; |
@@ -170,6 +167,19 @@ void mcf_settimericr(int timer, int level) | |||
170 | 167 | ||
171 | /***************************************************************************/ | 168 | /***************************************************************************/ |
172 | 169 | ||
170 | static void m5272_cpu_reset(void) | ||
171 | { | ||
172 | local_irq_disable(); | ||
173 | /* Set watchdog to reset, and enabled */ | ||
174 | __raw_writew(0, MCF_MBAR + MCFSIM_WIRR); | ||
175 | __raw_writew(1, MCF_MBAR + MCFSIM_WRRR); | ||
176 | __raw_writew(0, MCF_MBAR + MCFSIM_WCR); | ||
177 | for (;;) | ||
178 | /* wait for watchdog to timeout */; | ||
179 | } | ||
180 | |||
181 | /***************************************************************************/ | ||
182 | |||
173 | void __init config_BSP(char *commandp, int size) | 183 | void __init config_BSP(char *commandp, int size) |
174 | { | 184 | { |
175 | #if defined (CONFIG_MOD5272) | 185 | #if defined (CONFIG_MOD5272) |
@@ -194,7 +204,7 @@ void __init config_BSP(char *commandp, int size) | |||
194 | 204 | ||
195 | mcf_timervector = 69; | 205 | mcf_timervector = 69; |
196 | mcf_profilevector = 70; | 206 | mcf_profilevector = 70; |
197 | mach_reset = coldfire_reset; | 207 | mach_reset = m5272_cpu_reset; |
198 | } | 208 | } |
199 | 209 | ||
200 | /***************************************************************************/ | 210 | /***************************************************************************/ |
diff --git a/arch/m68knommu/platform/527x/config.c b/arch/m68knommu/platform/527x/config.c index 428b15922ef5..f746439cfd3e 100644 --- a/arch/m68knommu/platform/527x/config.c +++ b/arch/m68knommu/platform/527x/config.c | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
16 | #include <linux/param.h> | 16 | #include <linux/param.h> |
17 | #include <linux/init.h> | 17 | #include <linux/init.h> |
18 | #include <linux/interrupt.h> | ||
19 | #include <linux/io.h> | 18 | #include <linux/io.h> |
20 | #include <asm/machdep.h> | 19 | #include <asm/machdep.h> |
21 | #include <asm/coldfire.h> | 20 | #include <asm/coldfire.h> |
@@ -24,10 +23,6 @@ | |||
24 | 23 | ||
25 | /***************************************************************************/ | 24 | /***************************************************************************/ |
26 | 25 | ||
27 | void coldfire_reset(void); | ||
28 | |||
29 | /***************************************************************************/ | ||
30 | |||
31 | static struct mcf_platform_uart m527x_uart_platform[] = { | 26 | static struct mcf_platform_uart m527x_uart_platform[] = { |
32 | { | 27 | { |
33 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 28 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
@@ -227,10 +222,18 @@ void mcf_autovector(unsigned int vec) | |||
227 | 222 | ||
228 | /***************************************************************************/ | 223 | /***************************************************************************/ |
229 | 224 | ||
225 | static void m527x_cpu_reset(void) | ||
226 | { | ||
227 | local_irq_disable(); | ||
228 | __raw_writeb(MCF_RCR_SWRESET, MCF_IPSBAR + MCF_RCR); | ||
229 | } | ||
230 | |||
231 | /***************************************************************************/ | ||
232 | |||
230 | void __init config_BSP(char *commandp, int size) | 233 | void __init config_BSP(char *commandp, int size) |
231 | { | 234 | { |
232 | mcf_disableall(); | 235 | mcf_disableall(); |
233 | mach_reset = coldfire_reset; | 236 | mach_reset = m527x_cpu_reset; |
234 | m527x_uarts_init(); | 237 | m527x_uarts_init(); |
235 | m527x_fec_init(); | 238 | m527x_fec_init(); |
236 | } | 239 | } |
diff --git a/arch/m68knommu/platform/528x/config.c b/arch/m68knommu/platform/528x/config.c index bee526f4d1af..a1d1a61c4fe6 100644 --- a/arch/m68knommu/platform/528x/config.c +++ b/arch/m68knommu/platform/528x/config.c | |||
@@ -31,10 +31,6 @@ | |||
31 | 31 | ||
32 | /***************************************************************************/ | 32 | /***************************************************************************/ |
33 | 33 | ||
34 | void coldfire_reset(void); | ||
35 | |||
36 | /***************************************************************************/ | ||
37 | |||
38 | static struct mcf_platform_uart m528x_uart_platform[] = { | 34 | static struct mcf_platform_uart m528x_uart_platform[] = { |
39 | { | 35 | { |
40 | .mapbase = MCF_MBAR + MCFUART_BASE1, | 36 | .mapbase = MCF_MBAR + MCFUART_BASE1, |
@@ -171,6 +167,14 @@ void mcf_autovector(unsigned int vec) | |||
171 | 167 | ||
172 | /***************************************************************************/ | 168 | /***************************************************************************/ |
173 | 169 | ||
170 | static void m528x_cpu_reset(void) | ||
171 | { | ||
172 | local_irq_disable(); | ||
173 | __raw_writeb(MCF_RCR_SWRESET, MCF_IPSBAR + MCF_RCR); | ||
174 | } | ||
175 | |||
176 | /***************************************************************************/ | ||
177 | |||
174 | #ifdef CONFIG_WILDFIRE | 178 | #ifdef CONFIG_WILDFIRE |
175 | void wildfire_halt(void) | 179 | void wildfire_halt(void) |
176 | { | 180 | { |
@@ -214,6 +218,7 @@ void __init config_BSP(char *commandp, int size) | |||
214 | 218 | ||
215 | static int __init init_BSP(void) | 219 | static int __init init_BSP(void) |
216 | { | 220 | { |
221 | mach_reset = m528x_cpu_reset; | ||
217 | m528x_uarts_init(); | 222 | m528x_uarts_init(); |
218 | m528x_fec_init(); | 223 | m528x_fec_init(); |
219 | platform_add_devices(m528x_devices, ARRAY_SIZE(m528x_devices)); | 224 | platform_add_devices(m528x_devices, ARRAY_SIZE(m528x_devices)); |
diff --git a/arch/m68knommu/platform/5307/config.c b/arch/m68knommu/platform/5307/config.c index 44803bf70a6e..39da9e9ff674 100644 --- a/arch/m68knommu/platform/5307/config.c +++ b/arch/m68knommu/platform/5307/config.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
13 | #include <linux/param.h> | 13 | #include <linux/param.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/interrupt.h> | ||
16 | #include <linux/io.h> | 15 | #include <linux/io.h> |
17 | #include <asm/machdep.h> | 16 | #include <asm/machdep.h> |
18 | #include <asm/coldfire.h> | 17 | #include <asm/coldfire.h> |
@@ -22,8 +21,6 @@ | |||
22 | 21 | ||
23 | /***************************************************************************/ | 22 | /***************************************************************************/ |
24 | 23 | ||
25 | void coldfire_reset(void); | ||
26 | |||
27 | extern unsigned int mcf_timervector; | 24 | extern unsigned int mcf_timervector; |
28 | extern unsigned int mcf_profilevector; | 25 | extern unsigned int mcf_profilevector; |
29 | extern unsigned int mcf_timerlevel; | 26 | extern unsigned int mcf_timerlevel; |
@@ -119,6 +116,17 @@ void mcf_settimericr(unsigned int timer, unsigned int level) | |||
119 | 116 | ||
120 | /***************************************************************************/ | 117 | /***************************************************************************/ |
121 | 118 | ||
119 | void m5307_cpu_reset(void) | ||
120 | { | ||
121 | local_irq_disable(); | ||
122 | /* Set watchdog to soft reset, and enabled */ | ||
123 | __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR); | ||
124 | for (;;) | ||
125 | /* wait for watchdog to timeout */; | ||
126 | } | ||
127 | |||
128 | /***************************************************************************/ | ||
129 | |||
122 | void __init config_BSP(char *commandp, int size) | 130 | void __init config_BSP(char *commandp, int size) |
123 | { | 131 | { |
124 | mcf_setimr(MCFSIM_IMR_MASKALL); | 132 | mcf_setimr(MCFSIM_IMR_MASKALL); |
@@ -134,7 +142,7 @@ void __init config_BSP(char *commandp, int size) | |||
134 | mcf_timerlevel = 6; | 142 | mcf_timerlevel = 6; |
135 | #endif | 143 | #endif |
136 | 144 | ||
137 | mach_reset = coldfire_reset; | 145 | mach_reset = m5307_cpu_reset; |
138 | 146 | ||
139 | #ifdef CONFIG_BDM_DISABLE | 147 | #ifdef CONFIG_BDM_DISABLE |
140 | /* | 148 | /* |
diff --git a/arch/m68knommu/platform/532x/config.c b/arch/m68knommu/platform/532x/config.c index 591f2f801134..cdb761971f7a 100644 --- a/arch/m68knommu/platform/532x/config.c +++ b/arch/m68knommu/platform/532x/config.c | |||
@@ -31,8 +31,6 @@ | |||
31 | 31 | ||
32 | /***************************************************************************/ | 32 | /***************************************************************************/ |
33 | 33 | ||
34 | void coldfire_reset(void); | ||
35 | |||
36 | extern unsigned int mcf_timervector; | 34 | extern unsigned int mcf_timervector; |
37 | extern unsigned int mcf_profilevector; | 35 | extern unsigned int mcf_profilevector; |
38 | extern unsigned int mcf_timerlevel; | 36 | extern unsigned int mcf_timerlevel; |
@@ -164,6 +162,14 @@ void mcf_settimericr(unsigned int timer, unsigned int level) | |||
164 | 162 | ||
165 | /***************************************************************************/ | 163 | /***************************************************************************/ |
166 | 164 | ||
165 | static void m532x_cpu_reset(void) | ||
166 | { | ||
167 | local_irq_disable(); | ||
168 | __raw_writeb(MCF_RCR_SWRESET, MCF_RCR); | ||
169 | } | ||
170 | |||
171 | /***************************************************************************/ | ||
172 | |||
167 | void __init config_BSP(char *commandp, int size) | 173 | void __init config_BSP(char *commandp, int size) |
168 | { | 174 | { |
169 | mcf_setimr(MCFSIM_IMR_MASKALL); | 175 | mcf_setimr(MCFSIM_IMR_MASKALL); |
@@ -181,7 +187,7 @@ void __init config_BSP(char *commandp, int size) | |||
181 | 187 | ||
182 | mcf_timervector = 64+32; | 188 | mcf_timervector = 64+32; |
183 | mcf_profilevector = 64+33; | 189 | mcf_profilevector = 64+33; |
184 | mach_reset = coldfire_reset; | 190 | mach_reset = m532x_cpu_reset; |
185 | 191 | ||
186 | #ifdef CONFIG_BDM_DISABLE | 192 | #ifdef CONFIG_BDM_DISABLE |
187 | /* | 193 | /* |
diff --git a/arch/m68knommu/platform/5407/config.c b/arch/m68knommu/platform/5407/config.c index 0ee8c1a200c8..b41d942bf8d0 100644 --- a/arch/m68knommu/platform/5407/config.c +++ b/arch/m68knommu/platform/5407/config.c | |||
@@ -12,7 +12,6 @@ | |||
12 | #include <linux/kernel.h> | 12 | #include <linux/kernel.h> |
13 | #include <linux/param.h> | 13 | #include <linux/param.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/interrupt.h> | ||
16 | #include <linux/io.h> | 15 | #include <linux/io.h> |
17 | #include <asm/machdep.h> | 16 | #include <asm/machdep.h> |
18 | #include <asm/coldfire.h> | 17 | #include <asm/coldfire.h> |
@@ -21,8 +20,6 @@ | |||
21 | 20 | ||
22 | /***************************************************************************/ | 21 | /***************************************************************************/ |
23 | 22 | ||
24 | void coldfire_reset(void); | ||
25 | |||
26 | extern unsigned int mcf_timervector; | 23 | extern unsigned int mcf_timervector; |
27 | extern unsigned int mcf_profilevector; | 24 | extern unsigned int mcf_profilevector; |
28 | extern unsigned int mcf_timerlevel; | 25 | extern unsigned int mcf_timerlevel; |
@@ -110,6 +107,17 @@ void mcf_settimericr(unsigned int timer, unsigned int level) | |||
110 | 107 | ||
111 | /***************************************************************************/ | 108 | /***************************************************************************/ |
112 | 109 | ||
110 | void m5407_cpu_reset(void) | ||
111 | { | ||
112 | local_irq_disable(); | ||
113 | /* set watchdog to soft reset, and enabled */ | ||
114 | __raw_writeb(0xc0, MCF_MBAR + MCFSIM_SYPCR); | ||
115 | for (;;) | ||
116 | /* wait for watchdog to timeout */; | ||
117 | } | ||
118 | |||
119 | /***************************************************************************/ | ||
120 | |||
113 | void __init config_BSP(char *commandp, int size) | 121 | void __init config_BSP(char *commandp, int size) |
114 | { | 122 | { |
115 | mcf_setimr(MCFSIM_IMR_MASKALL); | 123 | mcf_setimr(MCFSIM_IMR_MASKALL); |
@@ -121,7 +129,7 @@ void __init config_BSP(char *commandp, int size) | |||
121 | mcf_timerlevel = 6; | 129 | mcf_timerlevel = 6; |
122 | #endif | 130 | #endif |
123 | 131 | ||
124 | mach_reset = coldfire_reset; | 132 | mach_reset = m5407_cpu_reset; |
125 | } | 133 | } |
126 | 134 | ||
127 | /***************************************************************************/ | 135 | /***************************************************************************/ |
diff --git a/arch/m68knommu/platform/coldfire/vectors.c b/arch/m68knommu/platform/coldfire/vectors.c index 6cf894620234..bdca0297fa9a 100644 --- a/arch/m68knommu/platform/coldfire/vectors.c +++ b/arch/m68knommu/platform/coldfire/vectors.c | |||
@@ -96,10 +96,3 @@ void ack_vector(unsigned int irq) | |||
96 | } | 96 | } |
97 | 97 | ||
98 | /***************************************************************************/ | 98 | /***************************************************************************/ |
99 | |||
100 | void coldfire_reset(void) | ||
101 | { | ||
102 | HARD_RESET_NOW(); | ||
103 | } | ||
104 | |||
105 | /***************************************************************************/ | ||