linux/arch/arm/mach-spear3xx/include/mach/spear300.h
viresh kumar 4c18e77f71 ARM: 6091/1: ST SPEAr: Adding support for shared irq layer
Multiple peripherals in SPEAr share common hardware interrupt lines.
This patch adds support for a shared irq layer, which registers hardware
irqs by itself and exposes virtual irq numbers to peripherals.

Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2010-05-04 16:54:54 +01:00

84 lines
2.2 KiB
C

/*
* arch/arm/mach-spear3xx/include/mach/spear300.h
*
* SPEAr300 Machine specific definition
*
* Copyright (C) 2009 ST Microelectronics
* Viresh Kumar<viresh.kumar@st.com>
*
* This file is licensed under the terms of the GNU General Public
* License version 2. This program is licensed "as is" without any
* warranty of any kind, whether express or implied.
*/
#ifdef CONFIG_MACH_SPEAR300
#ifndef __MACH_SPEAR300_H
#define __MACH_SPEAR300_H
/* Base address of various IPs */
#define SPEAR300_TELECOM_BASE 0x50000000
#define SPEAR300_TELECOM_SIZE 0x10000000
/* Interrupt registers offsets and masks */
#define SPEAR300_TELECOM_REG_SIZE 0x00010000
#define INT_ENB_MASK_REG 0x54
#define INT_STS_MASK_REG 0x58
#define IT_PERS_S_IRQ_MASK (1 << 0)
#define IT_CHANGE_S_IRQ_MASK (1 << 1)
#define I2S_IRQ_MASK (1 << 2)
#define TDM_IRQ_MASK (1 << 3)
#define CAMERA_L_IRQ_MASK (1 << 4)
#define CAMERA_F_IRQ_MASK (1 << 5)
#define CAMERA_V_IRQ_MASK (1 << 6)
#define KEYBOARD_IRQ_MASK (1 << 7)
#define GPIO1_IRQ_MASK (1 << 8)
#define SHIRQ_RAS1_MASK 0x1FF
#define SPEAR300_CLCD_BASE 0x60000000
#define SPEAR300_CLCD_SIZE 0x10000000
#define SPEAR300_SDIO_BASE 0x70000000
#define SPEAR300_SDIO_SIZE 0x10000000
#define SPEAR300_NAND_0_BASE 0x80000000
#define SPEAR300_NAND_0_SIZE 0x04000000
#define SPEAR300_NAND_1_BASE 0x84000000
#define SPEAR300_NAND_1_SIZE 0x04000000
#define SPEAR300_NAND_2_BASE 0x88000000
#define SPEAR300_NAND_2_SIZE 0x04000000
#define SPEAR300_NAND_3_BASE 0x8c000000
#define SPEAR300_NAND_3_SIZE 0x04000000
#define SPEAR300_NOR_0_BASE 0x90000000
#define SPEAR300_NOR_0_SIZE 0x01000000
#define SPEAR300_NOR_1_BASE 0x91000000
#define SPEAR300_NOR_1_SIZE 0x01000000
#define SPEAR300_NOR_2_BASE 0x92000000
#define SPEAR300_NOR_2_SIZE 0x01000000
#define SPEAR300_NOR_3_BASE 0x93000000
#define SPEAR300_NOR_3_SIZE 0x01000000
#define SPEAR300_FSMC_BASE 0x94000000
#define SPEAR300_FSMC_SIZE 0x05000000
#define SPEAR300_SOC_CONFIG_BASE 0x99000000
#define SPEAR300_SOC_CONFIG_SIZE 0x00000008
#define SPEAR300_KEYBOARD_BASE 0xA0000000
#define SPEAR300_KEYBOARD_SIZE 0x09000000
#define SPEAR300_GPIO_BASE 0xA9000000
#define SPEAR300_GPIO_SIZE 0x07000000
#endif /* __MACH_SPEAR300_H */
#endif /* CONFIG_MACH_SPEAR300 */