Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
ams-delta-fiq.h
Go to the documentation of this file.
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 
17 /*
18  * Interrupt number used for passing control from FIQ to IRQ.
19  * IRQ12, described as reserved, has been selected.
20  */
21 #define INT_DEFERRED_FIQ INT_1510_RES12
22 /*
23  * Base address of an interrupt handler that the INT_DEFERRED_FIQ belongs to.
24  */
25 #if (INT_DEFERRED_FIQ < IH2_BASE)
26 #define DEFERRED_FIQ_IH_BASE OMAP_IH1_BASE
27 #else
28 #define DEFERRED_FIQ_IH_BASE OMAP_IH2_BASE
29 #endif
30 
31 /*
32  * These are the offsets from the beginning of the fiq_buffer. They are put here
33  * since the buffer and header need to be accessed by drivers servicing devices
34  * which generate GPIO interrupts - e.g. keyboard, modem, hook switch.
35  */
36 #define FIQ_MASK 0
37 #define FIQ_STATE 1
38 #define FIQ_KEYS_CNT 2
39 #define FIQ_TAIL_OFFSET 3
40 #define FIQ_HEAD_OFFSET 4
41 #define FIQ_BUF_LEN 5
42 #define FIQ_KEY 6
43 #define FIQ_MISSED_KEYS 7
44 #define FIQ_BUFFER_START 8
45 #define FIQ_GPIO_INT_MASK 9
46 #define FIQ_KEYS_HICNT 10
47 #define FIQ_IRQ_PEND 11
48 #define FIQ_SIR_CODE_L1 12
49 #define IRQ_SIR_CODE_L2 13
50 
51 #define FIQ_CNT_INT_00 14
52 #define FIQ_CNT_INT_KEY 15
53 #define FIQ_CNT_INT_MDM 16
54 #define FIQ_CNT_INT_03 17
55 #define FIQ_CNT_INT_HSW 18
56 #define FIQ_CNT_INT_05 19
57 #define FIQ_CNT_INT_06 20
58 #define FIQ_CNT_INT_07 21
59 #define FIQ_CNT_INT_08 22
60 #define FIQ_CNT_INT_09 23
61 #define FIQ_CNT_INT_10 24
62 #define FIQ_CNT_INT_11 25
63 #define FIQ_CNT_INT_12 26
64 #define FIQ_CNT_INT_13 27
65 #define FIQ_CNT_INT_14 28
66 #define FIQ_CNT_INT_15 29
67 
68 #define FIQ_CIRC_BUFF 30 /*Start of circular buffer */
69 
70 #ifndef __ASSEMBLER__
71 extern unsigned int fiq_buffer[];
72 extern unsigned char qwerty_fiqin_start, qwerty_fiqin_end;
73 
74 extern void __init ams_delta_init_fiq(void);
75 #endif
76 
77 #endif