Rev 1910 | Rev 2071 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1910 | Rev 1946 | ||
|---|---|---|---|
| Line 38... | Line 38... | ||
| 38 | * is due to the fact that the FHC documentation is not |
38 | * is due to the fact that the FHC documentation is not |
| 39 | * publicly available. |
39 | * publicly available. |
| 40 | */ |
40 | */ |
| 41 | 41 | ||
| 42 | #include <arch/drivers/fhc.h> |
42 | #include <arch/drivers/fhc.h> |
| - | 43 | #include <arch/trap/interrupt.h> |
|
| 43 | #include <arch/mm/page.h> |
44 | #include <arch/mm/page.h> |
| 44 | #include <mm/slab.h> |
45 | #include <mm/slab.h> |
| 45 | #include <arch/types.h> |
46 | #include <arch/types.h> |
| 46 | #include <typedefs.h> |
47 | #include <typedefs.h> |
| 47 | #include <genarch/ofw/ofw_tree.h> |
48 | #include <genarch/ofw/ofw_tree.h> |
| 48 | #include <genarch/kbd/z8530.h> |
- | |
| 49 | 49 | ||
| 50 | fhc_t *central_fhc = NULL; |
50 | fhc_t *central_fhc = NULL; |
| 51 | 51 | ||
| 52 | /** |
52 | /** |
| 53 | * I suspect this must be hardcoded in the FHC. |
53 | * I suspect this must be hardcoded in the FHC. |
| Line 92... | Line 92... | ||
| 92 | 92 | ||
| 93 | void fhc_enable_interrupt(fhc_t *fhc, int inr) |
93 | void fhc_enable_interrupt(fhc_t *fhc, int inr) |
| 94 | { |
94 | { |
| 95 | switch (inr) { |
95 | switch (inr) { |
| 96 | case FHC_UART_INR: |
96 | case FHC_UART_INR: |
| 97 | fhc->uart_imap[FHC_UART_ICLR] = 0x0; |
- | |
| 98 | fhc->uart_imap[FHC_UART_IMAP] = 0x80000000; |
97 | fhc->uart_imap[FHC_UART_IMAP] |= IMAP_V_MASK; |
| 99 | break; |
98 | break; |
| 100 | default: |
99 | default: |
| 101 | panic("Unexpected INR (%d)\n", inr); |
100 | panic("Unexpected INR (%d)\n", inr); |
| 102 | break; |
101 | break; |
| 103 | } |
102 | } |