3 * Purpose: Source to select CF derivative
\r
7 * License: All software covered by license agreement in -
\r
8 * docs/Freescale_Software_License.pdf
\r
10 /********************************************************************/
\r
14 /********************************************************************/
\r
16 * Pause for the specified number of micro-seconds.
\r
17 * Uses DTIM3 as a timer
\r
20 cpu_pause(int usecs)
\r
22 /* Enable the DMA Timer 3 */
\r
23 MCF_DTIM3_DTRR = (vuint32)(usecs - 1);
\r
24 MCF_DTIM3_DTER = MCF_DTIM_DTER_REF;
\r
26 | MCF_DTIM_DTMR_PS(SYSTEM_CLOCK)
\r
28 | MCF_DTIM_DTMR_CLK_DIV1
\r
29 | MCF_DTIM_DTMR_RST;
\r
31 while ((MCF_DTIM3_DTER & MCF_DTIM_DTER_REF) == 0)
\r
34 /* Disable the timer */
\r
38 /********************************************************************/
\r
40 board_handle_interrupt (int vector)
\r
44 case 65: /* Eport Interrupt 1 */
\r
46 MCF_EPORT_EPFR = MCF_EPORT_EPFR_EPF1;
\r
48 case 69: /* Eport Interrupt 5 */
\r
50 MCF_EPORT_EPFR = MCF_EPORT_EPFR_EPF5;
\r
52 case 71: /* Eport Interrupt 7 */
\r
54 MCF_EPORT_EPFR = MCF_EPORT_EPFR_EPF7;
\r
56 case 66: /* Eport Interrupt 2 */
\r
57 case 67: /* Eport Interrupt 3 */
\r
58 case 68: /* Eport Interrupt 4 */
\r
59 case 70: /* Eport Interrupt 6 */
\r
61 MCF_EPORT_EPFR = (uint8)(0x01 << (vector - 64));
\r
62 printf("Edge Port Interrupt #%d\n",vector - 64);
\r
66 /********************************************************************/
\r
68 /********************************************************************/
\r
70 cpu_handle_interrupt (int vector)
\r
72 if (vector < 64 || vector > 192)
\r
75 if (vector >= 64 && vector <= 71)
\r
76 board_handle_interrupt(vector);
\r
78 printf("User Defined Vector #%d\n",vector);
\r
80 /********************************************************************/
\r