Merge branch 'for-linus' of git://neil.brown.name/md
[sfrench/cifs-2.6.git] / arch / arm / mach-omap1 / include / mach / ams-delta-fiq.h
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 #include <plat/irqs.h>
18
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 /*
34  * These are the offsets from the begining of the fiq_buffer. They are put here
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
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
79 #endif