Commit | Line | Data |
---|---|---|
60c3bf3f JK |
1 | /* |
2 | * arch/arm/mach-omap1/include/ams-delta-fiq.h | |
3 | * | |
4 | * Taken from the original Amstrad modifications to fiq.h | |
5 | * | |
6 | * Copyright (c) 2004 Amstrad Plc | |
7 | * Copyright (c) 2006 Matt Callow | |
8 | * Copyright (c) 2010 Janusz Krzysztofik | |
9 | * | |
10 | * This program is free software; you can redistribute it and/or modify | |
11 | * it under the terms of the GNU General Public License version 2 as | |
12 | * published by the Free Software Foundation. | |
13 | */ | |
14 | #ifndef __AMS_DELTA_FIQ_H | |
15 | #define __AMS_DELTA_FIQ_H | |
16 | ||
ef5bdccf JK |
17 | #include <mach/irqs.h> |
18 | ||
60c3bf3f JK |
19 | /* |
20 | * Interrupt number used for passing control from FIQ to IRQ. | |
21 | * IRQ12, described as reserved, has been selected. | |
22 | */ | |
23 | #define INT_DEFERRED_FIQ INT_1510_RES12 | |
24 | /* | |
25 | * Base address of an interrupt handler that the INT_DEFERRED_FIQ belongs to. | |
26 | */ | |
27 | #if (INT_DEFERRED_FIQ < IH2_BASE) | |
28 | #define DEFERRED_FIQ_IH_BASE OMAP_IH1_BASE | |
29 | #else | |
30 | #define DEFERRED_FIQ_IH_BASE OMAP_IH2_BASE | |
31 | #endif | |
32 | ||
33 | /* | |
25985edc | 34 | * These are the offsets from the beginning of the fiq_buffer. They are put here |
60c3bf3f JK |
35 | * since the buffer and header need to be accessed by drivers servicing devices |
36 | * which generate GPIO interrupts - e.g. keyboard, modem, hook switch. | |
37 | */ | |
38 | #define FIQ_MASK 0 | |
39 | #define FIQ_STATE 1 | |
40 | #define FIQ_KEYS_CNT 2 | |
41 | #define FIQ_TAIL_OFFSET 3 | |
42 | #define FIQ_HEAD_OFFSET 4 | |
43 | #define FIQ_BUF_LEN 5 | |
44 | #define FIQ_KEY 6 | |
45 | #define FIQ_MISSED_KEYS 7 | |
46 | #define FIQ_BUFFER_START 8 | |
47 | #define FIQ_GPIO_INT_MASK 9 | |
48 | #define FIQ_KEYS_HICNT 10 | |
49 | #define FIQ_IRQ_PEND 11 | |
50 | #define FIQ_SIR_CODE_L1 12 | |
51 | #define IRQ_SIR_CODE_L2 13 | |
52 | ||
53 | #define FIQ_CNT_INT_00 14 | |
54 | #define FIQ_CNT_INT_KEY 15 | |
55 | #define FIQ_CNT_INT_MDM 16 | |
56 | #define FIQ_CNT_INT_03 17 | |
57 | #define FIQ_CNT_INT_HSW 18 | |
58 | #define FIQ_CNT_INT_05 19 | |
59 | #define FIQ_CNT_INT_06 20 | |
60 | #define FIQ_CNT_INT_07 21 | |
61 | #define FIQ_CNT_INT_08 22 | |
62 | #define FIQ_CNT_INT_09 23 | |
63 | #define FIQ_CNT_INT_10 24 | |
64 | #define FIQ_CNT_INT_11 25 | |
65 | #define FIQ_CNT_INT_12 26 | |
66 | #define FIQ_CNT_INT_13 27 | |
67 | #define FIQ_CNT_INT_14 28 | |
68 | #define FIQ_CNT_INT_15 29 | |
69 | ||
70 | #define FIQ_CIRC_BUFF 30 /*Start of circular buffer */ | |
71 | ||
11f9562a JK |
72 | #ifndef __ASSEMBLER__ |
73 | extern unsigned int fiq_buffer[]; | |
74 | extern unsigned char qwerty_fiqin_start, qwerty_fiqin_end; | |
75 | ||
76 | extern void __init ams_delta_init_fiq(void); | |
77 | #endif | |
78 | ||
60c3bf3f | 79 | #endif |