Thomas Abraham wrote: > Add the three pinctrl platform devices and the pin maps for Exynos4. > > Signed-off-by: Thomas Abraham<thomas.abraham@xxxxxxxxxx> > --- > 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@xxxxxxxxxxx>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html