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:2.332 / U:0.744 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site