lkml.org 
[lkml]   [2012]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 3/5] ARM: Exynos4: Add pinctrl devices and pin maps
Thomas Abraham wrote:
> Add the three pinctrl platform devices and the pin maps for Exynos4.
>
> Signed-off-by: Thomas Abraham<thomas.abraham@linaro.org>
> ---
> arch/arm/mach-exynos/Kconfig | 1 +
> arch/arm/mach-exynos/Makefile | 1 +
> arch/arm/mach-exynos/common.h | 6 ++
> arch/arm/mach-exynos/dev-pinctrl.c | 115 +++++++++++++++++++++++++++++
> arch/arm/plat-samsung/include/plat/devs.h | 3 +
> 5 files changed, 126 insertions(+), 0 deletions(-)
> create mode 100644 arch/arm/mach-exynos/dev-pinctrl.c

[...]

> +#include<linux/kernel.h>
> +#include<linux/dma-mapping.h>
> +#include<linux/platform_device.h>
> +#include<linux/interrupt.h>
> +#include<linux/pinctrl/machine.h>

#include <linux/ioport.h> for DEFINE_RES_xxx at below.

> +
> +#include<plat/devs.h>
> +#include<plat/pinctrl.h>
> +
> +#include<mach/map.h>
> +
> +static struct resource exynos4_pinctrl_resource0[] = {
> + [0] = {
> + .start = EXYNOS4_PA_GPIO1,
> + .end = EXYNOS4_PA_GPIO1 + SZ_4K - 1,
> + .flags = IORESOURCE_MEM,
> + },

[0] = DEFINE_RES_MEM(EXYNOS4_PA_GPIO1, SZ_4K),

> + [1] = {
> + .start = IRQ_GPIO_XA,
> + .end = IRQ_GPIO_XA,
> + .flags = IORESOURCE_IRQ,
> + },

[1] = DEFINE_RES_IRQ(IRQ_GPIO_XA),

But I'm thinking, we need to move to use EXYNOS4_IRQ_GPIO_XA here for
both EXYNOS4 and EXYNOS5 and as a note, I'm working on updating IRQ
naming you can see it in this week :)

> +};
> +
> +struct platform_device exynos4_pinctrl0 = {
> + .name = "exynos4-pinctrl",
> + .id = 0,
> + .resource = exynos4_pinctrl_resource0,
> + .num_resources = ARRAY_SIZE(exynos4_pinctrl_resource0),
> +};
> +
> +static struct resource exynos4_pinctrl_resource1[] = {
> + [0] = {
> + .start = EXYNOS4_PA_GPIO2,
> + .end = EXYNOS4_PA_GPIO2 + SZ_4K - 1,
> + .flags = IORESOURCE_MEM,
> + },

same as above.

> + [1] = {
> + .start = IRQ_GPIO_XB,
> + .end = IRQ_GPIO_XB,
> + .flags = IORESOURCE_IRQ,
> + },

same.

> +};
> +
> +struct platform_device exynos4_pinctrl1 = {
> + .name = "exynos4-pinctrl",
> + .id = 1,
> + .resource = exynos4_pinctrl_resource1,
> + .num_resources = ARRAY_SIZE(exynos4_pinctrl_resource1),
> +};
> +
> +static struct resource exynos4_pinctrl_resource2[] = {
> + [0] = {
> + .start = EXYNOS4_PA_GPIO3,
> + .end = EXYNOS4_PA_GPIO3 + SZ_4K - 1,
> + .flags = IORESOURCE_MEM,
> + },

same.

> +};
> +
> +struct platform_device exynos4_pinctrl2 = {
> + .name = "exynos4-pinctrl",
> + .id = 2,
> + .resource = exynos4_pinctrl_resource2,
> + .num_resources = ARRAY_SIZE(exynos4_pinctrl_resource2),
> +};
> +

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.


\
 
 \ /
  Last update: 2012-03-11 22:19    [W:0.136 / U:0.476 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site