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__ 73extern unsigned int fiq_buffer[]; 74extern unsigned char qwerty_fiqin_start, qwerty_fiqin_end; 75 76extern void __init ams_delta_init_fiq(void); 77#endif 78 79#endif 80