33 #include <linux/errno.h>
34 #include <linux/sched.h>
35 #include <linux/kernel.h>
37 #include <linux/string.h>
50 static uint dp_alloc_base;
51 static uint dp_alloc_top;
54 static void *host_buffer;
55 static void *host_end;
70 static void cpm_interrupt(
int irq,
void *
dev,
struct pt_regs *
regs);
71 static void cpm_error_interrupt(
void *);
132 (CPM_INTERRUPT << 13) |
134 (CPM_VECTOR_BASE << 5) |
179 ((
volatile immap_t *)
IMAP_ADDR)->im_cpic.cpic_civr = 1;
180 vec = ((
volatile immap_t *)
IMAP_ADDR)->im_cpic.cpic_civr;
184 if (cpm_vecs[vec].handler != 0)
185 (*cpm_vecs[vec].handler)(cpm_vecs[vec].
dev_id);
187 ((immap_t *)
IMAP_ADDR)->im_cpic.cpic_cimr &= ~(1 << vec);
192 ((immap_t *)
IMAP_ADDR)->im_cpic.cpic_cisr |= (1 << vec);
203 cpm_error_interrupt(
void *dev)
231 cpm_vecs[vec].handler =
NULL;
232 cpm_vecs[vec].dev_id =
NULL;
249 if ((dp_alloc_base + size) >= dp_alloc_top)
252 retloc = dp_alloc_base;
253 dp_alloc_base +=
size;
268 if ((host_buffer + size) >= host_end)
271 retloc = host_buffer;
285 #define BRG_INT_CLK system_clock
286 #define BRG_UART_CLK (BRG_INT_CLK/16)
296 bp = (
volatile uint *)(&pquicc->
brgc[0].
l);