All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Dooks <ben-linux@fluff.org>
To: Kukjin Kim <kgene.kim@samsung.com>
Cc: linux-samsung-soc@vger.kernel.org, ben-linux@fluff.org
Subject: Re: [PATCH 03/10] ARM: S5PV210: Add IRQ support
Date: Tue, 19 Jan 2010 03:44:17 +0000	[thread overview]
Message-ID: <20100119034417.GC3971@trinity.fluff.org> (raw)
In-Reply-To: <1263868062-30713-1-git-send-email-kgene.kim@samsung.com>

On Tue, Jan 19, 2010 at 11:27:42AM +0900, Kukjin Kim wrote:
> This patch adds IRQ support for S5PV210. This patch adds interrupt
> register definitions, IRQ definitions for various interrupt sources
> and new VIC base for VIC2 and VIC3 in plat-s5p common irq code.
> 
> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
> ---
>  arch/arm/mach-s5pv210/include/mach/irqs.h     |  146 +++++++++++++++++++++++++
>  arch/arm/mach-s5pv210/include/mach/regs-irq.h |   19 +++
>  arch/arm/plat-s5p/include/plat/irqs.h         |    4 +
>  3 files changed, 169 insertions(+), 0 deletions(-)
>  create mode 100644 arch/arm/mach-s5pv210/include/mach/irqs.h
>  create mode 100644 arch/arm/mach-s5pv210/include/mach/regs-irq.h
> 
> diff --git a/arch/arm/mach-s5pv210/include/mach/irqs.h b/arch/arm/mach-s5pv210/include/mach/irqs.h
> new file mode 100644
> index 0000000..82bf5e2
> --- /dev/null
> +++ b/arch/arm/mach-s5pv210/include/mach/irqs.h
> @@ -0,0 +1,146 @@
> +/* linux/arch/arm/mach-s5pv210/include/mach/irqs.h
> + *
> + * Copyright 2010 Samsung Electronics Co., Ltd.
> + *		http://www.samsung.com/
> + *
> + * S5PV210 - IRQ definitions
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> +*/
> +
> +#ifndef __ASM_ARCH_IRQS_H
> +#define __ASM_ARCH_IRQS_H __FILE__
> +
> +#include <plat/irqs.h>
> +
> +/* VIC0: System, DMA, Timer */
> +
> +#define IRQ_EINT0		S5P_IRQ_VIC0(0)
> +#define IRQ_EINT1		S5P_IRQ_VIC0(1)
> +#define IRQ_EINT2		S5P_IRQ_VIC0(2)
> +#define IRQ_EINT3		S5P_IRQ_VIC0(3)
> +#define IRQ_EINT4		S5P_IRQ_VIC0(4)
> +#define IRQ_EINT5		S5P_IRQ_VIC0(5)
> +#define IRQ_EINT6		S5P_IRQ_VIC0(6)
> +#define IRQ_EINT7		S5P_IRQ_VIC0(7)
> +#define IRQ_EINT8		S5P_IRQ_VIC0(8)
> +#define IRQ_EINT9		S5P_IRQ_VIC0(9)
> +#define IRQ_EINT10		S5P_IRQ_VIC0(10)
> +#define IRQ_EINT11		S5P_IRQ_VIC0(11)
> +#define IRQ_EINT12		S5P_IRQ_VIC0(12)
> +#define IRQ_EINT13		S5P_IRQ_VIC0(13)
> +#define IRQ_EINT14		S5P_IRQ_VIC0(14)
> +#define IRQ_EINT15		S5P_IRQ_VIC0(15)
> +#define IRQ_EINT16_31		S5P_IRQ_VIC0(16)
> +#define IRQ_BATF		S5P_IRQ_VIC0(17)
> +#define IRQ_MDMA		S5P_IRQ_VIC0(18)
> +#define IRQ_PDMA0		S5P_IRQ_VIC0(19)
> +#define IRQ_PDMA1		S5P_IRQ_VIC0(20)
> +#define IRQ_TIMER0_VIC		S5P_IRQ_VIC0(21)
> +#define IRQ_TIMER1_VIC		S5P_IRQ_VIC0(22)
> +#define IRQ_TIMER2_VIC		S5P_IRQ_VIC0(23)
> +#define IRQ_TIMER3_VIC		S5P_IRQ_VIC0(24)
> +#define IRQ_TIMER4_VIC		S5P_IRQ_VIC0(25)
> +#define IRQ_SYSTIMER		S5P_IRQ_VIC0(26)
> +#define IRQ_WDT			S5P_IRQ_VIC0(27)
> +#define IRQ_RTC_ALARM		S5P_IRQ_VIC0(28)
> +#define IRQ_RTC_TIC		S5P_IRQ_VIC0(29)
> +#define IRQ_GPIOINT		S5P_IRQ_VIC0(30)
> +#define IRQ_FIMC3		S5P_IRQ_VIC0(31)
> +
> +/* VIC1: ARM, Power, Memory, Connectivity, Storage */
> +
> +#define IRQ_CORTEX0		S5P_IRQ_VIC1(0)
> +#define IRQ_CORTEX1		S5P_IRQ_VIC1(1)
> +#define IRQ_CORTEX2		S5P_IRQ_VIC1(2)
> +#define IRQ_CORTEX3		S5P_IRQ_VIC1(3)
> +#define IRQ_CORTEX4		S5P_IRQ_VIC1(4)
> +#define IRQ_IEMAPC		S5P_IRQ_VIC1(5)
> +#define IRQ_IEMIEC		S5P_IRQ_VIC1(6)
> +#define IRQ_ONENAND		S5P_IRQ_VIC1(7)
> +#define IRQ_NFC			S5P_IRQ_VIC1(8)
> +#define IRQ_CFC			S5P_IRQ_VIC1(9)
> +#define IRQ_UART0		S5P_IRQ_VIC1(10)
> +#define IRQ_UART1		S5P_IRQ_VIC1(11)
> +#define IRQ_UART2		S5P_IRQ_VIC1(12)
> +#define IRQ_UART3		S5P_IRQ_VIC1(13)
> +#define IRQ_IIC			S5P_IRQ_VIC1(14)
> +#define IRQ_SPI0		S5P_IRQ_VIC1(15)
> +#define IRQ_SPI1		S5P_IRQ_VIC1(16)
> +#define IRQ_SPI2		S5P_IRQ_VIC1(17)
> +#define IRQ_IRDA		S5P_IRQ_VIC1(18)
> +#define IRQ_CAN0		S5P_IRQ_VIC1(19)
> +#define IRQ_CAN1		S5P_IRQ_VIC1(20)
> +#define IRQ_HSIRX		S5P_IRQ_VIC1(21)
> +#define IRQ_HSITX		S5P_IRQ_VIC1(22)
> +#define IRQ_UHOST		S5P_IRQ_VIC1(23)
> +#define IRQ_OTG			S5P_IRQ_VIC1(24)
> +#define IRQ_MSM			S5P_IRQ_VIC1(25)
> +#define IRQ_HSMMC0		S5P_IRQ_VIC1(26)
> +#define IRQ_HSMMC1		S5P_IRQ_VIC1(27)
> +#define IRQ_HSMMC2		S5P_IRQ_VIC1(28)
> +#define IRQ_MIPICSI		S5P_IRQ_VIC1(29)
> +#define IRQ_MIPIDSI		S5P_IRQ_VIC1(30)
> +#define IRQ_ONENAND_AUDI	S5P_IRQ_VIC1(31)
> +
> +/* VIC2: Multimedia, Audio, Security */
> +
> +#define IRQ_LCD0		S5P_IRQ_VIC2(0)
> +#define IRQ_LCD1		S5P_IRQ_VIC2(1)
> +#define IRQ_LCD2		S5P_IRQ_VIC2(2)
> +#define IRQ_LCD3		S5P_IRQ_VIC2(3)
> +#define IRQ_ROTATOR		S5P_IRQ_VIC2(4)
> +#define IRQ_FIMC0		S5P_IRQ_VIC2(5)
> +#define IRQ_FIMC1		S5P_IRQ_VIC2(6)
> +#define IRQ_FIMC2		S5P_IRQ_VIC2(7)
> +#define IRQ_JPEG		S5P_IRQ_VIC2(8)
> +#define IRQ_2D			S5P_IRQ_VIC2(9)
> +#define IRQ_3D			S5P_IRQ_VIC2(10)
> +#define IRQ_MIXER		S5P_IRQ_VIC2(11)
> +#define IRQ_HDMI		S5P_IRQ_VIC2(12)
> +#define IRQ_IIC1		S5P_IRQ_VIC2(13)
> +#define IRQ_MFC			S5P_IRQ_VIC2(14)
> +#define IRQ_TVENC		S5P_IRQ_VIC2(15)
> +#define IRQ_I2S0		S5P_IRQ_VIC2(16)
> +#define IRQ_I2S1		S5P_IRQ_VIC2(17)
> +#define IRQ_I2S2		S5P_IRQ_VIC2(18)
> +#define IRQ_AC97		S5P_IRQ_VIC2(19)
> +#define IRQ_PCM0		S5P_IRQ_VIC2(20)
> +#define IRQ_PCM1		S5P_IRQ_VIC2(21)
> +#define IRQ_SPDIF		S5P_IRQ_VIC2(22)
> +#define IRQ_ADC			S5P_IRQ_VIC2(23)
> +#define IRQ_PENDN		S5P_IRQ_VIC2(24)
> +#define IRQ_TC			IRQ_PENDN
> +#define IRQ_KEYPAD		S5P_IRQ_VIC2(25)
> +#define IRQ_CG			S5P_IRQ_VIC2(26)
> +#define IRQ_SEC			S5P_IRQ_VIC2(27)
> +#define IRQ_SECRX		S5P_IRQ_VIC2(28)
> +#define IRQ_SECTX		S5P_IRQ_VIC2(29)
> +#define IRQ_SDMIRQ		S5P_IRQ_VIC2(30)
> +#define IRQ_SDMFIQ		S5P_IRQ_VIC2(31)
> +
> +/* VIC3: Etc */
> +
> +#define IRQ_IPC			S5P_IRQ_VIC3(0)
> +#define IRQ_HOSTIF		S5P_IRQ_VIC3(1)
> +#define IRQ_MMC3		S5P_IRQ_VIC3(2)
> +#define IRQ_CEC			S5P_IRQ_VIC3(3)
> +#define IRQ_TSI			S5P_IRQ_VIC3(4)
> +#define IRQ_MDNIE0		S5P_IRQ_VIC3(5)
> +#define IRQ_MDNIE1		S5P_IRQ_VIC3(6)
> +#define IRQ_MDNIE2		S5P_IRQ_VIC3(7)
> +#define IRQ_MDNIE3		S5P_IRQ_VIC3(8)
> +#define IRQ_VIC_END		S5P_IRQ_VIC3(31)
> +
> +#define S5P_IRQ_EINT_BASE	(IRQ_VIC_END + 1)
> +
> +#define S5P_EINT(x)		((x) + S5P_IRQ_EINT_BASE)
> +#define IRQ_EINT(x)		S5P_EINT(x)
> +
> +/* Set the default NR_IRQS */
> +
> +#define NR_IRQS 		(IRQ_EINT(31) + 1)
> +
> +#endif /* ASM_ARCH_IRQS_H */
> diff --git a/arch/arm/mach-s5pv210/include/mach/regs-irq.h b/arch/arm/mach-s5pv210/include/mach/regs-irq.h
> new file mode 100644
> index 0000000..5c3b104
> --- /dev/null
> +++ b/arch/arm/mach-s5pv210/include/mach/regs-irq.h
> @@ -0,0 +1,19 @@
> +/* linux/arch/arm/mach-s5pv210/include/mach/regs-irq.h
> + *
> + * Copyright (c) 2010 Samsung Electronics Co., Ltd.
> + *		http://www.samsung.com/
> + *
> + * S5PV210 - IRQ register definitions
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License version 2 as
> + * published by the Free Software Foundation.
> +*/
> +
> +#ifndef __ASM_ARCH_REGS_IRQ_H
> +#define __ASM_ARCH_REGS_IRQ_H __FILE__
> +
> +#include <asm/hardware/vic.h>
> +#include <mach/map.h>
> +
> +#endif /* __ASM_ARCH_REGS_IRQ_H */
> diff --git a/arch/arm/plat-s5p/include/plat/irqs.h b/arch/arm/plat-s5p/include/plat/irqs.h
> index 5d7937d..f2647ad 100644
> --- a/arch/arm/plat-s5p/include/plat/irqs.h
> +++ b/arch/arm/plat-s5p/include/plat/irqs.h
> @@ -28,6 +28,8 @@
>  
>  #define S5P_VIC0_BASE		S5P_IRQ(0)
>  #define S5P_VIC1_BASE		S5P_IRQ(32)
> +#define S5P_VIC2_BASE		S5P_IRQ(64)
> +#define S5P_VIC3_BASE		S5P_IRQ(96)
>  
>  #define IRQ_VIC0_BASE		S5P_VIC0_BASE
>  #define IRQ_VIC1_BASE		S5P_VIC1_BASE
> @@ -71,6 +73,8 @@
>  
>  #define S5P_IRQ_VIC0(x)		(S5P_VIC0_BASE + (x))
>  #define S5P_IRQ_VIC1(x)		(S5P_VIC1_BASE + (x))
> +#define S5P_IRQ_VIC2(x)		(S5P_VIC2_BASE + (x))
> +#define S5P_IRQ_VIC3(x)		(S5P_VIC3_BASE + (x))
>  
>  #define S5P_TIMER_IRQ(x)	S5P_IRQ(64 + (x))

surely S5P_TIMER_IRQ() and S5P_VIC2_BASE are now going to overlap?
 
-- 
Ben

Q:      What's a light-year?
A:      One-third less calories than a regular year.

  reply	other threads:[~2010-01-19  3:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-19  2:27 [PATCH 03/10] ARM: S5PV210: Add IRQ support Kukjin Kim
2010-01-19  3:44 ` Ben Dooks [this message]
  -- strict thread matches above, loose matches on Subject: below --
2010-01-19  2:27 [PATCH 04/10] ARM: S5PV210: Add Timer support Kukjin Kim
2010-01-19  3:45 ` [PATCH 03/10] ARM: S5PV210: Add IRQ support Ben Dooks

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100119034417.GC3971@trinity.fluff.org \
    --to=ben-linux@fluff.org \
    --cc=kgene.kim@samsung.com \
    --cc=linux-samsung-soc@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.