Mercurial > ecos-v2_0-branch
annotate packages/hal/arm/edb7xxx/current/src/edb7xxx_misc.c @ 66:bf00f99aec69 ecos-sw-2000-02-02
Merge from eCos master repository on 2000-02-02-19:16:44-GMT
| author | jlarmour |
|---|---|
| date | Wed, 02 Feb 2000 19:57:02 +0000 |
| parents | c38311975d4f |
| children | 435cced73e2f |
| rev | line source |
|---|---|
|
54
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
1 //========================================================================== |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
2 // |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
3 // edb7xxx_misc.c |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
4 // |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
5 // HAL misc board support code for ARM EDB7XXX-1 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
6 // |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
7 //========================================================================== |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
8 //####COPYRIGHTBEGIN#### |
|
64
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
9 // |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
10 // ------------------------------------------- |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
11 // The contents of this file are subject to the Red Hat eCos Public License |
|
66
bf00f99aec69
Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents:
64
diff
changeset
|
12 // Version 1.1 (the "License"); you may not use this file except in |
|
64
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
13 // compliance with the License. You may obtain a copy of the License at |
|
66
bf00f99aec69
Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents:
64
diff
changeset
|
14 // http://www.redhat.com/ |
|
64
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
15 // |
|
66
bf00f99aec69
Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents:
64
diff
changeset
|
16 // Software distributed under the License is distributed on an "AS IS" |
|
64
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
17 // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
18 // License for the specific language governing rights and limitations under |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
19 // the License. |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
20 // |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
21 // The Original Code is eCos - Embedded Configurable Operating System, |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
22 // released September 30, 1998. |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
23 // |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
24 // The Initial Developer of the Original Code is Red Hat. |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
25 // Portions created by Red Hat are |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
26 // Copyright (C) 1998, 1999, 2000 Red Hat, Inc. |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
27 // All Rights Reserved. |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
28 // ------------------------------------------- |
|
c38311975d4f
Merge from eCos master repository on 2000-01-28-04:28:11-GMT
jlarmour
parents:
62
diff
changeset
|
29 // |
|
54
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
30 //####COPYRIGHTEND#### |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
31 //========================================================================== |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
32 //#####DESCRIPTIONBEGIN#### |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
33 // |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
34 // Author(s): gthomas |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
35 // Contributors: gthomas |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
36 // Date: 1999-02-20 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
37 // Purpose: HAL board support |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
38 // Description: Implementations of HAL board interfaces |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
39 // |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
40 //####DESCRIPTIONEND#### |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
41 // |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
42 //========================================================================*/ |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
43 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
44 #include <pkgconf/hal.h> |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
45 #include <pkgconf/system.h> |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
46 #include CYGBLD_HAL_PLATFORM_H |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
47 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
48 #include <cyg/infra/cyg_type.h> // base types |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
49 #include <cyg/infra/cyg_trac.h> // tracing macros |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
50 #include <cyg/infra/cyg_ass.h> // assertion macros |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
51 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
52 #include <cyg/hal/hal_io.h> // IO macros |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
53 #include <cyg/hal/hal_arch.h> // Register state info |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
54 #include <cyg/hal/hal_diag.h> |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
55 #include <cyg/hal/hal_intr.h> // Interrupt names |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
56 #include <cyg/hal/hal_cache.h> |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
57 #include <cyg/hal/hal_edb7xxx.h> // Hardware definitions |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
58 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
59 // #define CYGHWR_HAL_ARM_EDB7XXX_BATLOW |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
60 #ifdef CYGHWR_HAL_ARM_EDB7XXX_BATLOW |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
61 #include <cyg/hal/hal_intr.h> // HAL interrupt macros |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
62 #include <cyg/hal/drv_api.h> // HAL ISR support |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
63 static cyg_interrupt batlow_interrupt; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
64 static cyg_handle_t batlow_interrupt_handle; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
65 #endif |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
66 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
67 #if (CYGHWR_HAL_ARM_EDB7XXX_PROCESSOR_CLOCK == 18432) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
68 #define CPU_CLOCK 0 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
69 #elif (CYGHWR_HAL_ARM_EDB7XXX_PROCESSOR_CLOCK == 36864) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
70 #define CPU_CLOCK 1 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
71 #elif (CYGHWR_HAL_ARM_EDB7XXX_PROCESSOR_CLOCK == 49152) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
72 #define CPU_CLOCK 2 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
73 #elif (CYGHWR_HAL_ARM_EDB7XXX_PROCESSOR_CLOCK == 73728) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
74 #define CPU_CLOCK 3 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
75 #else |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
76 #err Invalid CPU clock frequency |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
77 #endif |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
78 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
79 static cyg_uint32 _period; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
80 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
81 // Use Timer/Counter #2 for system clock |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
82 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
83 void hal_clock_initialize(cyg_uint32 period) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
84 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
85 volatile cyg_uint32 *syscon1 = (volatile cyg_uint32 *)SYSCON1; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
86 volatile cyg_uint32 *tc2d = (volatile cyg_uint32 *)TC2D; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
87 // Set timer to 512KHz, prescale mode |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
88 *syscon1 = (*syscon1 & ~(SYSCON1_TC2M|SYSCON1_TC2S)) | SYSCON1_TC2S | SYSCON1_TC2M; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
89 // Initialize counter |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
90 *tc2d = period; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
91 _period = period; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
92 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
93 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
94 // This routine is called during a clock interrupt. |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
95 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
96 static void __inline__ |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
97 enable_FIQ(void) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
98 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
99 asm volatile ("mrs r0,cpsr;" |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
100 "bic r0,r0,#0x40;" |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
101 "msr cpsr,r0"); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
102 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
103 |
|
62
7a6ac9edc838
Merge from eCos master repository on 2000-01-24-19:43:49-GMT
jlarmour
parents:
56
diff
changeset
|
104 #ifdef CYGHWR_HAL_ARM_EDB7XXX_SOFTWARE_DRAM_REFRESH |
|
7a6ac9edc838
Merge from eCos master repository on 2000-01-24-19:43:49-GMT
jlarmour
parents:
56
diff
changeset
|
105 #define DRAM_START 0x00000000 |
|
7a6ac9edc838
Merge from eCos master repository on 2000-01-24-19:43:49-GMT
jlarmour
parents:
56
diff
changeset
|
106 #define DRAM_END 0x01000000 |
|
7a6ac9edc838
Merge from eCos master repository on 2000-01-24-19:43:49-GMT
jlarmour
parents:
56
diff
changeset
|
107 #define DRAM_ROW_SIZE 0x00000400 |
|
7a6ac9edc838
Merge from eCos master repository on 2000-01-24-19:43:49-GMT
jlarmour
parents:
56
diff
changeset
|
108 #define DRAM_REFRESH (((DRAM_END-DRAM_START)/DRAM_ROW_SIZE)+99)/100 |
|
7a6ac9edc838
Merge from eCos master repository on 2000-01-24-19:43:49-GMT
jlarmour
parents:
56
diff
changeset
|
109 |
|
54
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
110 static void |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
111 do_DRAM_refresh(void) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
112 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
113 static cyg_uint32 *row_ptr; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
114 volatile cyg_uint32 val; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
115 int i; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
116 for (i = 0; i < DRAM_REFRESH; i++) { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
117 val = *row_ptr; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
118 row_ptr += DRAM_ROW_SIZE / sizeof(*row_ptr); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
119 if (row_ptr >= (cyg_uint32 *)DRAM_END) row_ptr = (cyg_uint32 *)DRAM_START; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
120 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
121 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
122 #endif // CYGHWR_HAL_ARM_EDB7XXX_SOFTWARE_DRAM_REFRESH |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
123 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
124 void hal_clock_reset(cyg_uint32 vector, cyg_uint32 period) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
125 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
126 volatile cyg_uint32 *tc2d = (volatile cyg_uint32 *)TC2D; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
127 if (period != _period) { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
128 *tc2d = period; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
129 _period = period; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
130 } |
|
62
7a6ac9edc838
Merge from eCos master repository on 2000-01-24-19:43:49-GMT
jlarmour
parents:
56
diff
changeset
|
131 enable_FIQ(); // Should be safe here |
|
54
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
132 #ifdef CYGHWR_HAL_ARM_EDB7XXX_SOFTWARE_DRAM_REFRESH |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
133 do_DRAM_refresh(); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
134 #else |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
135 // Temporary fix for DRAM starvation problem |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
136 if (CYGHWR_HAL_ARM_EDB7XXX_PROCESSOR_CLOCK > 37000) { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
137 int i; |
|
66
bf00f99aec69
Merge from eCos master repository on 2000-02-02-19:16:44-GMT
jlarmour
parents:
64
diff
changeset
|
138 for (i = 0; i < (CYGHWR_HAL_ARM_EDB7XXX_PROCESSOR_CLOCK*2)/24; i++) ; // approx 300 us |
|
54
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
139 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
140 #endif |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
141 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
142 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
143 // Read the current value of the clock, returning the number of hardware "ticks" |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
144 // that have occurred (i.e. how far away the current value is from the start) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
145 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
146 void hal_clock_read(cyg_uint32 *pvalue) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
147 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
148 volatile cyg_int32 *tc2d = (volatile cyg_int32 *)TC2D; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
149 static cyg_int32 clock_val; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
150 clock_val = *tc2d & 0x0000FFFF; // Register has only 16 bits |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
151 if (clock_val & 0x00008000) clock_val |= 0xFFFF8000; // Extend sign bit |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
152 *pvalue = (cyg_uint32)(_period - clock_val); // 'clock_val' counts down and wraps |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
153 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
154 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
155 // These tables map the various [soft] interrupt numbers onto the hardware |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
156 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
157 static cyg_uint32 hal_interrupt_bitmap[] = { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
158 0, // CYGNUM_HAL_INTERRUPT_unused 0 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
159 INTSR1_EXTFIQ, // CYGNUM_HAL_INTERRUPT_EXTFIQ 1 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
160 INTSR1_BLINT, // CYGNUM_HAL_INTERRUPT_BLINT 2 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
161 INTSR1_WEINT, // CYGNUM_HAL_INTERRUPT_WEINT 3 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
162 INTSR1_MCINT, // CYGNUM_HAL_INTERRUPT_MCINT 4 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
163 INTSR1_CSINT, // CYGNUM_HAL_INTERRUPT_CSINT 5 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
164 INTSR1_EINT1, // CYGNUM_HAL_INTERRUPT_EINT1 6 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
165 INTSR1_EINT2, // CYGNUM_HAL_INTERRUPT_EINT2 7 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
166 INTSR1_EINT3, // CYGNUM_HAL_INTERRUPT_EINT3 8 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
167 INTSR1_TC1OI, // CYGNUM_HAL_INTERRUPT_TC1OI 9 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
168 INTSR1_TC2OI, // CYGNUM_HAL_INTERRUPT_TC2OI 10 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
169 INTSR1_RTCMI, // CYGNUM_HAL_INTERRUPT_RTCMI 11 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
170 INTSR1_TINT, // CYGNUM_HAL_INTERRUPT_TINT 12 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
171 INTSR1_UTXINT1, // CYGNUM_HAL_INTERRUPT_UTXINT1 13 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
172 INTSR1_URXINT1, // CYGNUM_HAL_INTERRUPT_URXINT1 14 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
173 INTSR1_UMSINT, // CYGNUM_HAL_INTERRUPT_UMSINT 15 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
174 INTSR1_SSEOTI, // CYGNUM_HAL_INTERRUPT_SSEOTI 16 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
175 INTSR2_KBDINT, // CYGNUM_HAL_INTERRUPT_KBDINT 17 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
176 INTSR2_SS2RX, // CYGNUM_HAL_INTERRUPT_SS2RX 18 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
177 INTSR2_SS2TX, // CYGNUM_HAL_INTERRUPT_SS2TX 19 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
178 INTSR2_UTXINT2, // CYGNUM_HAL_INTERRUPT_UTXINT2 20 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
179 INTSR2_URXINT2, // CYGNUM_HAL_INTERRUPT_URXINT2 21 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
180 #if defined(__EDB7211) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
181 INTSR3_MCPINT // CYGNUM_HAL_INTERRUPT_MCPINT 22 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
182 #endif |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
183 }; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
184 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
185 static cyg_uint32 hal_interrupt_mask_regmap[] = { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
186 0, // CYGNUM_HAL_INTERRUPT_unused 0 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
187 INTMR1, // CYGNUM_HAL_INTERRUPT_EXTFIQ 1 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
188 INTMR1, // CYGNUM_HAL_INTERRUPT_BLINT 2 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
189 INTMR1, // CYGNUM_HAL_INTERRUPT_WEINT 3 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
190 INTMR1, // CYGNUM_HAL_INTERRUPT_MCINT 4 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
191 INTMR1, // CYGNUM_HAL_INTERRUPT_CSINT 5 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
192 INTMR1, // CYGNUM_HAL_INTERRUPT_EINT1 6 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
193 INTMR1, // CYGNUM_HAL_INTERRUPT_EINT2 7 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
194 INTMR1, // CYGNUM_HAL_INTERRUPT_EINT3 8 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
195 INTMR1, // CYGNUM_HAL_INTERRUPT_TC1OI 9 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
196 INTMR1, // CYGNUM_HAL_INTERRUPT_TC2OI 10 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
197 INTMR1, // CYGNUM_HAL_INTERRUPT_RTCMI 11 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
198 INTMR1, // CYGNUM_HAL_INTERRUPT_TINT 12 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
199 INTMR1, // CYGNUM_HAL_INTERRUPT_UTXINT1 13 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
200 INTMR1, // CYGNUM_HAL_INTERRUPT_URXINT1 14 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
201 INTMR1, // CYGNUM_HAL_INTERRUPT_UMSINT 15 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
202 INTMR1, // CYGNUM_HAL_INTERRUPT_SSEOTI 16 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
203 INTMR2, // CYGNUM_HAL_INTERRUPT_KBDINT 17 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
204 INTMR2, // CYGNUM_HAL_INTERRUPT_SS2RX 18 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
205 INTMR2, // CYGNUM_HAL_INTERRUPT_SS2TX 19 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
206 INTMR2, // CYGNUM_HAL_INTERRUPT_UTXINT2 20 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
207 INTMR2, // CYGNUM_HAL_INTERRUPT_URXINT2 21 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
208 #if defined(__EDB7211) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
209 INTMR3, // CYGNUM_HAL_INTERRUPT_MCPINT 22 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
210 #endif |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
211 }; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
212 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
213 static cyg_uint32 hal_interrupt_clear_map[] = { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
214 0, // CYGNUM_HAL_INTERRUPT_unused 0 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
215 0, // CYGNUM_HAL_INTERRUPT_EXTFIQ 1 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
216 BLEOI, // CYGNUM_HAL_INTERRUPT_BLINT 2 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
217 TEOI, // CYGNUM_HAL_INTERRUPT_WEINT 3 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
218 MCEOI, // CYGNUM_HAL_INTERRUPT_MCINT 4 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
219 COEOI, // CYGNUM_HAL_INTERRUPT_CSINT 5 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
220 0, // CYGNUM_HAL_INTERRUPT_EINT1 6 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
221 0, // CYGNUM_HAL_INTERRUPT_EINT2 7 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
222 0, // CYGNUM_HAL_INTERRUPT_EINT3 8 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
223 TC1EOI, // CYGNUM_HAL_INTERRUPT_TC1OI 9 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
224 TC2EOI, // CYGNUM_HAL_INTERRUPT_TC2OI 10 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
225 RTCEOI, // CYGNUM_HAL_INTERRUPT_RTCMI 11 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
226 TEOI, // CYGNUM_HAL_INTERRUPT_TINT 12 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
227 0, // CYGNUM_HAL_INTERRUPT_UTXINT1 13 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
228 0, // CYGNUM_HAL_INTERRUPT_URXINT1 14 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
229 UMSEOI, // CYGNUM_HAL_INTERRUPT_UMSINT 15 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
230 0, // CYGNUM_HAL_INTERRUPT_SSEOTI 16 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
231 KBDEOI, // CYGNUM_HAL_INTERRUPT_KBDINT 17 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
232 0, // CYGNUM_HAL_INTERRUPT_SS2RX 18 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
233 0, // CYGNUM_HAL_INTERRUPT_SS2TX 19 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
234 0, // CYGNUM_HAL_INTERRUPT_UTXINT2 20 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
235 0, // CYGNUM_HAL_INTERRUPT_URXINT2 21 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
236 #if defined(__EDB7211) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
237 0, // CYGNUM_HAL_INTERRUPT_MCPINT 22 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
238 #endif |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
239 }; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
240 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
241 static struct regmap { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
242 int first_int, last_int; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
243 cyg_uint32 stat_reg, mask_reg; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
244 } hal_interrupt_status_regmap[] = { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
245 { CYGNUM_HAL_INTERRUPT_EXTFIQ, CYGNUM_HAL_INTERRUPT_SSEOTI, INTSR1, INTMR1}, |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
246 { CYGNUM_HAL_INTERRUPT_KBDINT, CYGNUM_HAL_INTERRUPT_URXINT2, INTSR2, INTMR2}, |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
247 #if defined(__EDB7211) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
248 { CYGNUM_HAL_INTERRUPT_MCPINT, CYGNUM_HAL_INTERRUPT_MCPINT, INTSR3, INTMR3}, |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
249 #endif |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
250 { 0, 0, 0} |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
251 }; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
252 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
253 #ifdef CYGHWR_HAL_ARM_EDB7XXX_BATLOW |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
254 // This ISR is called when the battery low interrupt occurs |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
255 int |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
256 cyg_hal_batlow_isr(cyg_vector_t vector, cyg_addrword_t data, HAL_SavedRegisters *regs) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
257 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
258 diag_printf("Battery low\n"); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
259 cyg_drv_interrupt_mask(CYGNUM_HAL_INTERRUPT_BLINT); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
260 // Presumably, one would leave this masked until the battery changed |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
261 cyg_drv_interrupt_acknowledge(CYGNUM_HAL_INTERRUPT_BLINT); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
262 return 0; // No need to run DSR |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
263 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
264 #endif |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
265 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
266 // |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
267 // Early stage hardware initialization |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
268 // Some initialization has already been done before we get here. For now |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
269 // just set up the interrupt environment. |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
270 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
271 void hal_hardware_init(void) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
272 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
273 volatile cyg_uint32 *icr; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
274 int vector; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
275 // Clear and initialize instruction cache |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
276 HAL_ICACHE_INVALIDATE_ALL(); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
277 HAL_ICACHE_ENABLE(); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
278 // Any hardware/platform initialization that needs to be done. |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
279 *(volatile cyg_uint32 *)INTMR1 = 0; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
280 *(volatile cyg_uint32 *)INTMR2 = 0; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
281 #if !defined(__CL7111) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
282 *(volatile cyg_uint32 *)INTMR3 = 0; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
283 *(volatile cyg_uint8 *)SYSCON3 = SYSCON3_CLKCTL(CPU_CLOCK); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
284 #endif |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
285 #if 0 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
286 diag_printf("IMR1: %04x, IMR2: %04x\n", |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
287 *(volatile cyg_uint32 *)INTMR1, |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
288 *(volatile cyg_uint32 *)INTMR2); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
289 diag_printf("Memcfg1: %08x, Memcfg2: %08x, DRAM refresh: %08x\n", |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
290 *(volatile cyg_uint32 *)MEMCFG1, |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
291 *(volatile cyg_uint32 *)MEMCFG2, |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
292 *(volatile cyg_uint8 *)DRFPR); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
293 #endif |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
294 // Reset all interrupt masks (disable all interrupt sources) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
295 for (vector = CYGNUM_HAL_ISR_MIN; vector < CYGNUM_HAL_ISR_COUNT; vector++) { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
296 icr = (volatile cyg_uint32 *)hal_interrupt_clear_map[vector]; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
297 if (icr) *icr = 0; // Just a write clears the latch |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
298 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
299 // Turn on the DIAG LED to let the world know the board is alive |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
300 *(volatile unsigned char *)LEDFLSH = LEDFLSH_ENABLE|LEDFLSH_DUTY(16)|LEDFLSH_PERIOD(1); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
301 #ifdef CYGHWR_HAL_ARM_EDB7XXX_BATLOW |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
302 cyg_drv_interrupt_create(CYGNUM_HAL_INTERRUPT_BLINT, |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
303 99, // Priority - what goes here? |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
304 0, // Data item passed to interrupt handler |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
305 cyg_hal_batlow_isr, |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
306 0, |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
307 &batlow_interrupt_handle, |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
308 &batlow_interrupt); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
309 cyg_drv_interrupt_attach(batlow_interrupt_handle); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
310 cyg_drv_interrupt_unmask(CYGNUM_HAL_INTERRUPT_BLINT); |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
311 #endif |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
312 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
313 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
314 // |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
315 // This routine is called to respond to a hardware interrupt (IRQ). It |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
316 // should interrogate the hardware and return the IRQ vector number. |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
317 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
318 // This code is a little convoluted to keep it general while still avoiding |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
319 // reading the hardware a lot, since the interrupt status is split across |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
320 // three separate registers. |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
321 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
322 int hal_spurious_ints; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
323 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
324 int hal_IRQ_handler(void) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
325 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
326 struct regmap *map = hal_interrupt_status_regmap; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
327 cyg_uint32 stat; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
328 int vector; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
329 while (map->first_int) { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
330 stat = *(volatile cyg_uint32 *)map->stat_reg & *(volatile cyg_uint32 *)map->mask_reg; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
331 for (vector = map->first_int; vector <= map->last_int; vector++) { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
332 if (stat & hal_interrupt_bitmap[vector]) return vector; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
333 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
334 map++; // Next interrupt status register |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
335 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
336 hal_spurious_ints++; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
337 return CYGNUM_HAL_INTERRUPT_unused; // This shouldn't happen! |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
338 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
339 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
340 // |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
341 // Interrupt control |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
342 // |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
343 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
344 void hal_interrupt_mask(int vector) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
345 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
346 volatile cyg_uint32 *imr; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
347 imr = (volatile cyg_uint32 *)hal_interrupt_mask_regmap[vector]; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
348 *imr &= ~hal_interrupt_bitmap[vector]; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
349 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
350 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
351 void hal_interrupt_unmask(int vector) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
352 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
353 volatile cyg_uint32 *imr; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
354 imr = (volatile cyg_uint32 *)hal_interrupt_mask_regmap[vector]; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
355 *imr |= hal_interrupt_bitmap[vector]; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
356 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
357 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
358 void hal_interrupt_acknowledge(int vector) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
359 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
360 // Some interrupt sources have a register for this. |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
361 volatile cyg_uint8 *icr; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
362 icr = (volatile cyg_uint8 *)hal_interrupt_clear_map[vector]; |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
363 if (icr) { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
364 *icr = 0; // Any data clears interrupt |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
365 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
366 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
367 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
368 void hal_interrupt_configure(int vector, int level, int up) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
369 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
370 // No interrupts are configurable on this hardware |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
371 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
372 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
373 void hal_interrupt_set_level(int vector, int level) |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
374 { |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
375 // No interrupts are configurable on this hardware |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
376 } |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
377 |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
378 /*------------------------------------------------------------------------*/ |
|
f10165814f1e
Merge from eCos master repository on 1999-11-19-22:24:39-GMT
jlarmour
parents:
diff
changeset
|
379 // EOF hal_misc.c |
