All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Dooks <ben-linux@fluff.org>
To: Marek Szyprowski <m.szyprowski@samsung.com>
Cc: linux-samsung-soc@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, kyungmin.park@samsung.com,
	ben-linux@fluff.org, kgene.kim@samsung.com
Subject: Re: [PATCH 10/11] ARM: S5PC100: use common plat-s5p external interrupt code
Date: Wed, 19 May 2010 05:02:12 +0100	[thread overview]
Message-ID: <20100519040212.GP26401@trinity.fluff.org> (raw)
In-Reply-To: <1274179129-14659-11-git-send-email-m.szyprowski@samsung.com>

On Tue, May 18, 2010 at 12:38:48PM +0200, Marek Szyprowski wrote:
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>  arch/arm/mach-s5pc100/Kconfig                  |    1 +
>  arch/arm/mach-s5pc100/gpiolib.c                |    3 +-
>  arch/arm/mach-s5pc100/include/mach/irqs.h      |   15 ++++++++--
>  arch/arm/mach-s5pc100/include/mach/regs-gpio.h |   36 ++++++++++++++---------
>  4 files changed, 36 insertions(+), 19 deletions(-)
> 
> diff --git a/arch/arm/mach-s5pc100/Kconfig b/arch/arm/mach-s5pc100/Kconfig
> index fe1216b..2eb9497 100644
> --- a/arch/arm/mach-s5pc100/Kconfig
> +++ b/arch/arm/mach-s5pc100/Kconfig
> @@ -10,6 +10,7 @@ if ARCH_S5PC100
>  config CPU_S5PC100
>  	bool
>  	select PLAT_S5P
> +	select S5P_EXT_INT
>  	help
>  	  Enable S5PC100 CPU support
>  
> diff --git a/arch/arm/mach-s5pc100/gpiolib.c b/arch/arm/mach-s5pc100/gpiolib.c
> index 88dd913..0fab7f2 100644
> --- a/arch/arm/mach-s5pc100/gpiolib.c
> +++ b/arch/arm/mach-s5pc100/gpiolib.c
> @@ -61,7 +61,6 @@
>   * L3	8	4Bit	None
>   */
>  
> -#if 0
>  static int s5pc100_gpiolib_to_irq(struct gpio_chip *chip, unsigned int offset)
>  {
>  	return S3C_IRQ_GPIO(chip->base + offset);
> @@ -85,7 +84,7 @@ static int s5pc100_gpiolib_to_eint(struct gpio_chip *chip, unsigned int offset)
>  		return IRQ_EINT(24 + offset);
>  	return -EINVAL;
>  }
> -#endif
> +
>  static struct s3c_gpio_cfg gpio_cfg = {
>  	.set_config	= s3c_gpio_setcfg_s3c64xx_4bit,
>  	.set_pull	= s3c_gpio_setpull_updown,
> diff --git a/arch/arm/mach-s5pc100/include/mach/irqs.h b/arch/arm/mach-s5pc100/include/mach/irqs.h
> index 84c74ac..f26c4d9 100644
> --- a/arch/arm/mach-s5pc100/include/mach/irqs.h
> +++ b/arch/arm/mach-s5pc100/include/mach/irqs.h
> @@ -97,10 +97,19 @@
>  #define IRQ_SDMFIQ		S5P_IRQ_VIC2(31)
>  #define IRQ_VIC_END		S5P_IRQ_VIC2(31)
>  
> -#define S5P_IRQ_EINT_BASE	(IRQ_VIC_END + 1)
> +#define S5P_EINT_16_31_BASE	(IRQ_VIC_END + 1)
>  
> -#define IRQ_EINT(x)             ((x) < 16 ? S5P_IRQ_VIC0(x) : \
> -					(S5P_IRQ_EINT_BASE + (x)-16))
> +#define S3C_IRQ_EINT_BASE	(IRQ_VIC_END + 1)

we seem to have this and S5P_EINT_16_31_BASE? Let's use just the one.

> +#define EINT_MODE		S3C_GPIO_SFN(0x2)
> +
> +#define IRQ_EINT(x)		((x) < 16 ? ((x) + S5P_IRQ_VIC0(0)) \
> +					: ((x) + S5P_EINT_16_31_BASE))

ok, could we put this in arch/arm/plat-s5p/include/plat/irqs.h and
just have the per-platform files defining the base?

> +#define EINT_GPIO_0(x)		S5PC100_GPH0(x)
> +#define EINT_GPIO_1(x)		S5PC100_GPH1(x)
> +#define EINT_GPIO_2(x)		S5PC100_GPH2(x)
> +#define EINT_GPIO_3(x)		S5PC100_GPH3(x)
>  
>  #define S3C_IRQ_GPIO_BASE	(IRQ_EINT(31) + 1)
>  #define S3C_IRQ_GPIO(x)		(S3C_IRQ_GPIO_BASE + (x))
> diff --git a/arch/arm/mach-s5pc100/include/mach/regs-gpio.h b/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
> index cd6200a..57a884f 100644
> --- a/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
> +++ b/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
> @@ -47,24 +47,32 @@
>  #define S5PC100_GPL2_BASE	(S5PC100_GPIO_BASE + 0x0360)
>  #define S5PC100_GPL3_BASE	(S5PC100_GPIO_BASE + 0x0380)
>  #define S5PC100_GPL4_BASE	(S5PC100_GPIO_BASE + 0x03A0)
> -#define S5PC100_EINT_BASE	(S5PC100_GPIO_BASE + 0x0E00)
>  
> -#define S5PC100_UHOST		(S5PC100_GPIO_BASE + 0x0B68)
> -#define S5PC100_PDNEN		(S5PC100_GPIO_BASE + 0x0F80)
> +#define S5PC100_EINT30CON		(S5PC100_GPIO_BASE + 0xE00)
> +#define S5P_EINT_CON(x)			(S5PC100_EINT30CON + ((x) * 0x4))
>  
> -/* PDNEN */
> -#define S5PC100_PDNEN_CFG_PDNEN	(1 << 1)
> -#define S5PC100_PDNEN_CFG_AUTO	(0 << 1)
> -#define S5PC100_PDNEN_POWERDOWN	(1 << 0)
> -#define S5PC100_PDNEN_NORMAL	(0 << 0)
> +#define S5PC100_EINT30FLTCON0		(S5PC100_GPIO_BASE + 0xE80)
> +#define S5P_EINT_FLTCON(x)		(S5PC100_EINT30FLTCON0 + ((x) * 0x4))
>  
> -/* Common part */
> -/* External interrupt base is same at both s5pc100 and s5pc110 */
> -#define S5P_EINT_BASE			(S5PC100_EINT_BASE)
> +#define S5PC100_EINT30MASK		(S5PC100_GPIO_BASE + 0xF00)
> +#define S5P_EINT_MASK(x)		(S5PC100_EINT30MASK + ((x) * 0x4))
>  
> -#define S5PC100_GPx_INPUT(__gpio)	(0x0 << ((__gpio) * 4))
> -#define S5PC100_GPx_OUTPUT(__gpio)	(0x1 << ((__gpio) * 4))
> -#define S5PC100_GPx_CONMASK(__gpio)	(0xf << ((__gpio) * 4))
> +#define S5PC100_EINT30PEND		(S5PC100_GPIO_BASE + 0xF40)
> +#define S5P_EINT_PEND(x)		(S5PC100_EINT30PEND + ((x) * 0x4))
> +
> +#define eint_offset(irq)	((irq) < IRQ_EINT16_31 ? ((irq) - IRQ_EINT(0)) \
> +						: ((irq) - S5P_EINT_16_31_BASE))
> +
> +#define EINT_REG_NR(x)			(eint_offset(x) >> 3)
> +
> +#define eint_irq_to_bit(irq)		(1 << (eint_offset(irq) & 0x7))
> +
> +/* values for S5P_EXTINT0 */
> +#define S5P_EXTINT_LOWLEV		(0x00)
> +#define S5P_EXTINT_HILEV		(0x01)
> +#define S5P_EXTINT_FALLEDGE		(0x02)
> +#define S5P_EXTINT_RISEEDGE		(0x03)
> +#define S5P_EXTINT_BOTHEDGE		(0x04)
>  
>  #endif /* __ASM_MACH_S5PC100_REGS_GPIO_H */
>  
> -- 
> 1.6.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
-- 
Ben

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

WARNING: multiple messages have this Message-ID (diff)
From: ben-linux@fluff.org (Ben Dooks)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 10/11] ARM: S5PC100: use common plat-s5p external interrupt code
Date: Wed, 19 May 2010 05:02:12 +0100	[thread overview]
Message-ID: <20100519040212.GP26401@trinity.fluff.org> (raw)
In-Reply-To: <1274179129-14659-11-git-send-email-m.szyprowski@samsung.com>

On Tue, May 18, 2010 at 12:38:48PM +0200, Marek Szyprowski wrote:
> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>  arch/arm/mach-s5pc100/Kconfig                  |    1 +
>  arch/arm/mach-s5pc100/gpiolib.c                |    3 +-
>  arch/arm/mach-s5pc100/include/mach/irqs.h      |   15 ++++++++--
>  arch/arm/mach-s5pc100/include/mach/regs-gpio.h |   36 ++++++++++++++---------
>  4 files changed, 36 insertions(+), 19 deletions(-)
> 
> diff --git a/arch/arm/mach-s5pc100/Kconfig b/arch/arm/mach-s5pc100/Kconfig
> index fe1216b..2eb9497 100644
> --- a/arch/arm/mach-s5pc100/Kconfig
> +++ b/arch/arm/mach-s5pc100/Kconfig
> @@ -10,6 +10,7 @@ if ARCH_S5PC100
>  config CPU_S5PC100
>  	bool
>  	select PLAT_S5P
> +	select S5P_EXT_INT
>  	help
>  	  Enable S5PC100 CPU support
>  
> diff --git a/arch/arm/mach-s5pc100/gpiolib.c b/arch/arm/mach-s5pc100/gpiolib.c
> index 88dd913..0fab7f2 100644
> --- a/arch/arm/mach-s5pc100/gpiolib.c
> +++ b/arch/arm/mach-s5pc100/gpiolib.c
> @@ -61,7 +61,6 @@
>   * L3	8	4Bit	None
>   */
>  
> -#if 0
>  static int s5pc100_gpiolib_to_irq(struct gpio_chip *chip, unsigned int offset)
>  {
>  	return S3C_IRQ_GPIO(chip->base + offset);
> @@ -85,7 +84,7 @@ static int s5pc100_gpiolib_to_eint(struct gpio_chip *chip, unsigned int offset)
>  		return IRQ_EINT(24 + offset);
>  	return -EINVAL;
>  }
> -#endif
> +
>  static struct s3c_gpio_cfg gpio_cfg = {
>  	.set_config	= s3c_gpio_setcfg_s3c64xx_4bit,
>  	.set_pull	= s3c_gpio_setpull_updown,
> diff --git a/arch/arm/mach-s5pc100/include/mach/irqs.h b/arch/arm/mach-s5pc100/include/mach/irqs.h
> index 84c74ac..f26c4d9 100644
> --- a/arch/arm/mach-s5pc100/include/mach/irqs.h
> +++ b/arch/arm/mach-s5pc100/include/mach/irqs.h
> @@ -97,10 +97,19 @@
>  #define IRQ_SDMFIQ		S5P_IRQ_VIC2(31)
>  #define IRQ_VIC_END		S5P_IRQ_VIC2(31)
>  
> -#define S5P_IRQ_EINT_BASE	(IRQ_VIC_END + 1)
> +#define S5P_EINT_16_31_BASE	(IRQ_VIC_END + 1)
>  
> -#define IRQ_EINT(x)             ((x) < 16 ? S5P_IRQ_VIC0(x) : \
> -					(S5P_IRQ_EINT_BASE + (x)-16))
> +#define S3C_IRQ_EINT_BASE	(IRQ_VIC_END + 1)

we seem to have this and S5P_EINT_16_31_BASE? Let's use just the one.

> +#define EINT_MODE		S3C_GPIO_SFN(0x2)
> +
> +#define IRQ_EINT(x)		((x) < 16 ? ((x) + S5P_IRQ_VIC0(0)) \
> +					: ((x) + S5P_EINT_16_31_BASE))

ok, could we put this in arch/arm/plat-s5p/include/plat/irqs.h and
just have the per-platform files defining the base?

> +#define EINT_GPIO_0(x)		S5PC100_GPH0(x)
> +#define EINT_GPIO_1(x)		S5PC100_GPH1(x)
> +#define EINT_GPIO_2(x)		S5PC100_GPH2(x)
> +#define EINT_GPIO_3(x)		S5PC100_GPH3(x)
>  
>  #define S3C_IRQ_GPIO_BASE	(IRQ_EINT(31) + 1)
>  #define S3C_IRQ_GPIO(x)		(S3C_IRQ_GPIO_BASE + (x))
> diff --git a/arch/arm/mach-s5pc100/include/mach/regs-gpio.h b/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
> index cd6200a..57a884f 100644
> --- a/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
> +++ b/arch/arm/mach-s5pc100/include/mach/regs-gpio.h
> @@ -47,24 +47,32 @@
>  #define S5PC100_GPL2_BASE	(S5PC100_GPIO_BASE + 0x0360)
>  #define S5PC100_GPL3_BASE	(S5PC100_GPIO_BASE + 0x0380)
>  #define S5PC100_GPL4_BASE	(S5PC100_GPIO_BASE + 0x03A0)
> -#define S5PC100_EINT_BASE	(S5PC100_GPIO_BASE + 0x0E00)
>  
> -#define S5PC100_UHOST		(S5PC100_GPIO_BASE + 0x0B68)
> -#define S5PC100_PDNEN		(S5PC100_GPIO_BASE + 0x0F80)
> +#define S5PC100_EINT30CON		(S5PC100_GPIO_BASE + 0xE00)
> +#define S5P_EINT_CON(x)			(S5PC100_EINT30CON + ((x) * 0x4))
>  
> -/* PDNEN */
> -#define S5PC100_PDNEN_CFG_PDNEN	(1 << 1)
> -#define S5PC100_PDNEN_CFG_AUTO	(0 << 1)
> -#define S5PC100_PDNEN_POWERDOWN	(1 << 0)
> -#define S5PC100_PDNEN_NORMAL	(0 << 0)
> +#define S5PC100_EINT30FLTCON0		(S5PC100_GPIO_BASE + 0xE80)
> +#define S5P_EINT_FLTCON(x)		(S5PC100_EINT30FLTCON0 + ((x) * 0x4))
>  
> -/* Common part */
> -/* External interrupt base is same at both s5pc100 and s5pc110 */
> -#define S5P_EINT_BASE			(S5PC100_EINT_BASE)
> +#define S5PC100_EINT30MASK		(S5PC100_GPIO_BASE + 0xF00)
> +#define S5P_EINT_MASK(x)		(S5PC100_EINT30MASK + ((x) * 0x4))
>  
> -#define S5PC100_GPx_INPUT(__gpio)	(0x0 << ((__gpio) * 4))
> -#define S5PC100_GPx_OUTPUT(__gpio)	(0x1 << ((__gpio) * 4))
> -#define S5PC100_GPx_CONMASK(__gpio)	(0xf << ((__gpio) * 4))
> +#define S5PC100_EINT30PEND		(S5PC100_GPIO_BASE + 0xF40)
> +#define S5P_EINT_PEND(x)		(S5PC100_EINT30PEND + ((x) * 0x4))
> +
> +#define eint_offset(irq)	((irq) < IRQ_EINT16_31 ? ((irq) - IRQ_EINT(0)) \
> +						: ((irq) - S5P_EINT_16_31_BASE))
> +
> +#define EINT_REG_NR(x)			(eint_offset(x) >> 3)
> +
> +#define eint_irq_to_bit(irq)		(1 << (eint_offset(irq) & 0x7))
> +
> +/* values for S5P_EXTINT0 */
> +#define S5P_EXTINT_LOWLEV		(0x00)
> +#define S5P_EXTINT_HILEV		(0x01)
> +#define S5P_EXTINT_FALLEDGE		(0x02)
> +#define S5P_EXTINT_RISEEDGE		(0x03)
> +#define S5P_EXTINT_BOTHEDGE		(0x04)
>  
>  #endif /* __ASM_MACH_S5PC100_REGS_GPIO_H */
>  
> -- 
> 1.6.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

-- 
-- 
Ben

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

  reply	other threads:[~2010-05-19  4:02 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-05-18 10:38 (unknown), Marek Szyprowski
2010-05-18 10:38 ` No subject Marek Szyprowski
2010-05-18 10:38 ` [PATCH 01/11] drivers: serial: S5PC100 serial driver cleanup Marek Szyprowski
2010-05-18 10:38   ` Marek Szyprowski
2010-05-18 10:38 ` [PATCH 02/11] ARM: S5PC100: Use common functions for gpiolib implementation Marek Szyprowski
2010-05-18 10:38   ` Marek Szyprowski
2010-05-18 10:38 ` [PATCH 03/11] ARM: S5PC100: Move gpio support from plat-s5pc1xx to mach-s5pc100 Marek Szyprowski
2010-05-18 10:38   ` Marek Szyprowski
2010-05-18 10:38 ` [PATCH 04/11] ARM: S5PC100: gpio.h cleanup Marek Szyprowski
2010-05-18 10:38   ` Marek Szyprowski
2010-05-18 10:38 ` [PATCH 05/11] ARM: S5PC100: Move frame buffer helpers from plat-s5pc1xx to mach-s5pc100 Marek Szyprowski
2010-05-18 10:38   ` Marek Szyprowski
2010-05-18 10:38 ` [PATCH 06/11] ARM: S5PC100: Move i2c " Marek Szyprowski
2010-05-18 10:38   ` Marek Szyprowski
2010-05-18 10:38 ` [PATCH 07/11] ARM: S5PC100: Move sdhci " Marek Szyprowski
2010-05-18 10:38   ` Marek Szyprowski
2010-05-18 10:38 ` [PATCH 08/11] ARM: Samsung: move S5PC100 support from plat-s5pc1xx to plat-s5p framework Marek Szyprowski
2010-05-18 10:38   ` Marek Szyprowski
2010-05-18 10:38 ` [PATCH 09/11] ARM: S5PC100: Add support for gpio interrupt Marek Szyprowski
2010-05-18 10:38   ` Marek Szyprowski
2010-05-18 10:38 ` [PATCH 10/11] ARM: S5PC100: use common plat-s5p external interrupt code Marek Szyprowski
2010-05-18 10:38   ` Marek Szyprowski
2010-05-19  4:02   ` Ben Dooks [this message]
2010-05-19  4:02     ` Ben Dooks
2010-05-19  5:29     ` Marek Szyprowski
2010-05-19  5:29       ` Marek Szyprowski
2010-05-19  5:58       ` Ben Dooks
2010-05-19  5:58         ` Ben Dooks
2010-05-19  6:46       ` Ben Dooks
2010-05-19  6:46         ` Ben Dooks
2010-05-18 10:38 ` [PATCH 11/11] ARM: remove obsolete plat-s5pc1xx directory Marek Szyprowski
2010-05-18 10:38   ` Marek Szyprowski
2010-05-19  1:02 ` Kukjin Kim
2010-05-19  1:02   ` Kukjin Kim
2010-05-19  2:24 ` your mail Ben Dooks
2010-05-19  2:24   ` 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=20100519040212.GP26401@trinity.fluff.org \
    --to=ben-linux@fluff.org \
    --cc=kgene.kim@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    /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.