From: kgene.kim@samsung•com (Kukjin Kim)
To: linux-arm-kernel@lists•infradead.org
Subject: [PATCH 08/12] gpio/samsung: add GPC4 bank instance
Date: Wed, 18 Apr 2012 17:36:34 -0700 [thread overview]
Message-ID: <4F8F5E12.6030800@samsung.com> (raw)
In-Reply-To: <1334641595-25301-9-git-send-email-thomas.abraham@linaro.org>
Thomas Abraham wrote:
> From: Sangsu Park<sangsu4u.park@samsung•com>
>
> Add GPC4 bank instance which is included in rev1 of Exynos5.
>
> Cc: Grant Likely<grant.likely@secretlab•ca>
> Signed-off-by: Sangsu Park<sangsu4u.park@samsung•com>
Where is your sign??? Your sign MUST be included here.
> ---
> arch/arm/mach-exynos/include/mach/gpio.h | 9 ++++++---
> drivers/gpio/gpio-samsung.c | 8 ++++++++
> 2 files changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/arch/arm/mach-exynos/include/mach/gpio.h b/arch/arm/mach-exynos/include/mach/gpio.h
> index d7498af..df5612b 100644
> --- a/arch/arm/mach-exynos/include/mach/gpio.h
> +++ b/arch/arm/mach-exynos/include/mach/gpio.h
> @@ -153,10 +153,11 @@ enum exynos4_gpio_number {
> #define EXYNOS5_GPIO_B2_NR (4)
> #define EXYNOS5_GPIO_B3_NR (4)
> #define EXYNOS5_GPIO_C0_NR (7)
> -#define EXYNOS5_GPIO_C1_NR (7)
> +#define EXYNOS5_GPIO_C1_NR (4)
> #define EXYNOS5_GPIO_C2_NR (7)
> #define EXYNOS5_GPIO_C3_NR (7)
> -#define EXYNOS5_GPIO_D0_NR (8)
> +#define EXYNOS5_GPIO_C4_NR (8)
Should be 7. See the manual again :-(
> +#define EXYNOS5_GPIO_D0_NR (4)
> #define EXYNOS5_GPIO_D1_NR (8)
> #define EXYNOS5_GPIO_Y0_NR (6)
> #define EXYNOS5_GPIO_Y1_NR (4)
> @@ -199,7 +200,8 @@ enum exynos5_gpio_number {
> EXYNOS5_GPIO_C1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C0),
> EXYNOS5_GPIO_C2_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C1),
> EXYNOS5_GPIO_C3_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C2),
> - EXYNOS5_GPIO_D0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
> + EXYNOS5_GPIO_C4_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C3),
> + EXYNOS5_GPIO_D0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_C4),
> EXYNOS5_GPIO_D1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D0),
> EXYNOS5_GPIO_Y0_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_D1),
> EXYNOS5_GPIO_Y1_START = EXYNOS_GPIO_NEXT(EXYNOS5_GPIO_Y0),
> @@ -242,6 +244,7 @@ enum exynos5_gpio_number {
> #define EXYNOS5_GPC1(_nr) (EXYNOS5_GPIO_C1_START + (_nr))
> #define EXYNOS5_GPC2(_nr) (EXYNOS5_GPIO_C2_START + (_nr))
> #define EXYNOS5_GPC3(_nr) (EXYNOS5_GPIO_C3_START + (_nr))
> +#define EXYNOS5_GPC4(_nr) (EXYNOS5_GPIO_C4_START + (_nr))
> #define EXYNOS5_GPD0(_nr) (EXYNOS5_GPIO_D0_START + (_nr))
> #define EXYNOS5_GPD1(_nr) (EXYNOS5_GPIO_D1_START + (_nr))
> #define EXYNOS5_GPY0(_nr) (EXYNOS5_GPIO_Y0_START + (_nr))
> diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
> index 4627787..0153bb9 100644
> --- a/drivers/gpio/gpio-samsung.c
> +++ b/drivers/gpio/gpio-samsung.c
> @@ -2452,6 +2452,12 @@ static struct samsung_gpio_chip exynos5_gpios_1[] = {
> },
> }, {
> .chip = {
> + .base = EXYNOS5_GPC4(0),
> + .ngpio = EXYNOS5_GPIO_C4_NR,
> + .label = "GPC4",
> + },
> + }, {
> + .chip = {
> .base = EXYNOS5_GPD0(0),
> .ngpio = EXYNOS5_GPIO_D0_NR,
> .label = "GPD0",
> @@ -2880,6 +2886,8 @@ static __init int samsung_gpiolib_init(void)
> for (i = 0; i< 4; i++, chip++, gpx_base += 0x20)
> chip->base = gpx_base;
>
> + exynos5_gpios_1[11].base = gpio_base1 + 0x2E0;
> +
> chip = exynos5_gpios_1;
> nr_chips = ARRAY_SIZE(exynos5_gpios_1);
>
This is wrong. If you add GPC4 between GPC3 and GPD0, you need to
increase the gpx's counter like following and need to update
IRQ_GPIO1_NR_GROUPS as well.
diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
index 19d6fc0..1af0fa5 100644
--- a/drivers/gpio/gpio-samsung.c
+++ b/drivers/gpio/gpio-samsung.c
@@ -2875,7 +2875,7 @@ static __init int samsung_gpiolib_init(void)
}
/* need to set base address for gpx */
- chip = &exynos5_gpios_1[20];
+ chip = &exynos5_gpios_1[21];
gpx_base = gpio_base1 + 0xC00;
for (i = 0; i < 4; i++, chip++, gpx_base += 0x20)
chip->base = gpx_base;
diff --git a/arch/arm/mach-exynos/include/mach/irqs.h
b/arch/arm/mach-exynos/inc
index 591e785..887788d 100644
--- a/arch/arm/mach-exynos/include/mach/irqs.h
+++ b/arch/arm/mach-exynos/include/mach/irqs.h
@@ -446,7 +446,7 @@
#define EXYNOS5_MAX_COMBINER_NR 32
-#define EXYNOS5_IRQ_GPIO1_NR_GROUPS 13
+#define EXYNOS5_IRQ_GPIO1_NR_GROUPS 14
#define EXYNOS5_IRQ_GPIO2_NR_GROUPS 9
#define EXYNOS5_IRQ_GPIO3_NR_GROUPS 5
#define EXYNOS5_IRQ_GPIO4_NR_GROUPS 1
Thanks.
Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung•com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.
next prev parent reply other threads:[~2012-04-19 0:36 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-17 5:46 [PATCH 00/12] Updates for Exynos5250 Rev1.0 and device tree support Thomas Abraham
2012-04-17 5:46 ` [PATCH 01/12] ARM: Exynos: Remove a new bus_type instance for Exynos5 Thomas Abraham
2012-04-19 0:15 ` Kukjin Kim
2012-04-17 5:46 ` [PATCH 02/12] ARM: Exynos5: Fix incorrect initialization of GIC Thomas Abraham
2012-04-19 0:51 ` Kukjin Kim
2012-04-17 5:46 ` [PATCH 03/12] ARM: Exynos5: Add watchdog timer clock instance Thomas Abraham
2012-04-17 6:14 ` Kyungmin Park
2012-04-17 8:12 ` Thomas Abraham
2012-04-19 0:28 ` Kukjin Kim
2012-04-17 5:46 ` [PATCH 04/12] ARM: Exynos5: Remove duplicated instantiation of pdma clock Thomas Abraham
2012-04-19 0:30 ` Kukjin Kim
2012-04-17 5:46 ` [PATCH 05/12] ARM: Exynos5: Add MDMA0 clock instance Thomas Abraham
2012-04-19 1:20 ` Kukjin Kim
2012-04-17 5:46 ` [PATCH 06/12] rtc-s3c: Fix breakage introduced by S3C2443/S3C2416 support Thomas Abraham
2012-04-17 6:30 ` Kyungmin Park
2012-04-17 8:15 ` Thomas Abraham
2012-04-17 8:25 ` Kyungmin Park
2012-04-17 8:39 ` Thomas Abraham
2012-04-17 5:46 ` [PATCH 07/12] ARM: Exynos5: Modify the GIC physical address for static io-mapping Thomas Abraham
2012-04-17 6:31 ` Kyungmin Park
2012-04-17 8:19 ` Thomas Abraham
2012-04-17 5:46 ` [PATCH 08/12] gpio/samsung: add GPC4 bank instance Thomas Abraham
2012-04-17 6:33 ` Kyungmin Park
2012-04-17 8:24 ` Thomas Abraham
2012-04-19 0:36 ` Kukjin Kim [this message]
2012-04-17 5:46 ` [PATCH 09/12] ARM: Exynos5: Add pre-divider and fout mux clocks for bpll and mpll Thomas Abraham
2012-04-17 5:46 ` [PATCH 10/12] ARM: Exynos: Redefine IRQ_MCT_L0,1 definition Thomas Abraham
2012-04-19 1:00 ` Kukjin Kim
2012-04-17 5:46 ` [PATCH 11/12] ARM: Exynos5: Update device tree source files Thomas Abraham
2012-04-17 5:46 ` [PATCH 12/12] ARM: Exynos5: Update device tree enabled machine file Thomas Abraham
2012-04-19 0:23 ` Kukjin Kim
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=4F8F5E12.6030800@samsung.com \
--to=kgene.kim@samsung$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox