blob: adb5e764965991e6b9f15a7570104379b314bac9 [file] [log] [blame]
Janusz Krzysztofik60c3bf32010-04-28 01:01:29 +00001/*
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
Janusz Krzysztofik60c3bf32010-04-28 01:01:29 +000017/*
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/*
Lucas De Marchi25985ed2011-03-30 22:57:33 -030032 * These are the offsets from the beginning of the fiq_buffer. They are put here
Janusz Krzysztofik60c3bf32010-04-28 01:01:29 +000033 * 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
Janusz Krzysztofik11f95622010-04-28 01:03:59 +000070#ifndef __ASSEMBLER__
71extern unsigned int fiq_buffer[];
72extern unsigned char qwerty_fiqin_start, qwerty_fiqin_end;
73
74extern void __init ams_delta_init_fiq(void);
75#endif
76
Janusz Krzysztofik60c3bf32010-04-28 01:01:29 +000077#endif