Re: [PATCH] ARM: S3C24XX: Fix configuration of gpio port sizes on S3C24XX.

Heiko Stübner
2013-09-11T16:27:26Z

Am Mittwoch, 11. September 2013, 10:46:13 schrieb José Miguel Gonçalves:
> Some GPIO line limits are incorrectly set which, for instance,
> does not allow nRTS1 (GPH11) configuration on a S3C2416 chip.
>
> Signed-off-by: José Miguel Gonçalves <jose.goncalves@inov.pt>

I thumbed thru the SoC manuals of s3c2410, s3c2416, s3c2440 and s3c2443 and
these number look correct.

It would be interesting to know where the old number 16 for GPIOB did come
from, as _all_ S3C SoCs only have the 11 pins in this bank.

Reviewed-by: Heiko Stuebner <heiko@sntech.de>

> ---
> arch/arm/mach-s3c24xx/include/mach/gpio.h | 10 +++++-----
> drivers/gpio/gpio-samsung.c | 6 +++---
> 2 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/arch/arm/mach-s3c24xx/include/mach/gpio.h
> b/arch/arm/mach-s3c24xx/include/mach/gpio.h index 1459156..a1435bc 100644
> --- a/arch/arm/mach-s3c24xx/include/mach/gpio.h
> +++ b/arch/arm/mach-s3c24xx/include/mach/gpio.h
> @@ -31,17 +31,17 @@
> * 2410 2412 2440 2443 2416
> * 2442
> * ---- ---- ---- ---- ----
> - * A 23 22 25 16 25
> - * B 11 11 11 11 9
> - * C 16 15 16 16 16
> + * A 23 22 25 16 27
> + * B 11 11 11 11 11
> + * C 16 16 16 16 16
> * D 16 16 16 16 16
> * E 16 16 16 16 16
> * F 8 8 8 8 8
> * G 16 16 16 16 8
> - * H 11 11 9 15 15
> + * H 11 11 11 15 15
> * J -- -- 13 16 --
> * K -- -- -- -- 16
> - * L -- -- -- 15 7
> + * L -- -- -- 15 14
> * M -- -- -- 2 2
> */
>
> diff --git a/drivers/gpio/gpio-samsung.c b/drivers/gpio/gpio-samsung.c
> index 358a21c..29c428b 100644
> --- a/drivers/gpio/gpio-samsung.c
> +++ b/drivers/gpio/gpio-samsung.c
> @@ -1053,7 +1053,7 @@ struct samsung_gpio_chip s3c24xx_gpios[] = {
> .base = S3C2410_GPA(0),
> .owner = THIS_MODULE,
> .label = "GPIOA",
> - .ngpio = 24,
> + .ngpio = 27,
> .direction_input = s3c24xx_gpiolib_banka_input,
> .direction_output = s3c24xx_gpiolib_banka_output,
> },
> @@ -1062,7 +1062,7 @@ struct samsung_gpio_chip s3c24xx_gpios[] = {
> .base = S3C2410_GPB(0),
> .owner = THIS_MODULE,
> .label = "GPIOB",
> - .ngpio = 16,
> + .ngpio = 11,
> },
> }, {
> .chip = {
> @@ -1107,7 +1107,7 @@ struct samsung_gpio_chip s3c24xx_gpios[] = {
> .base = S3C2410_GPH(0),
> .owner = THIS_MODULE,
> .label = "GPIOH",
> - .ngpio = 11,
> + .ngpio = 15,
> },
> },
> /* GPIOS for the S3C2443 and later devices. */