ARM: shmobile: r8a7740: Switch to new style TMU device
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Wed, 23 Apr 2014 11:15:18 +0000 (13:15 +0200)
committerSimon Horman <horms+renesas@verge.net.au>
Sun, 11 May 2014 10:35:28 +0000 (19:35 +0900)
The TMU (Timer Unit) driver implements a new style of platform data that
handles the timer as a single device with multiple channel. Switch from
the old-style platform data to the new-style platform data.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/clock-r8a7740.c
arch/arm/mach-shmobile/setup-r8a7740.c

index cdb303c657e138bd2f521648c013e90135b53267..2c1044a557697038b691afc915b7ee23e732c2f0 100644 (file)
@@ -548,15 +548,9 @@ static struct clk_lookup lookups[] = {
 
        /* MSTP32 clocks */
        CLKDEV_DEV_ID("sh_mobile_lcdc_fb.0",    &mstp_clks[MSTP100]),
-       CLKDEV_DEV_ID("sh_tmu.3",               &mstp_clks[MSTP111]),
-       CLKDEV_DEV_ID("sh_tmu.4",               &mstp_clks[MSTP111]),
-       CLKDEV_DEV_ID("sh_tmu.5",               &mstp_clks[MSTP111]),
        CLKDEV_DEV_ID("i2c-sh_mobile.0",        &mstp_clks[MSTP116]),
        CLKDEV_DEV_ID("fff20000.i2c",           &mstp_clks[MSTP116]),
        CLKDEV_DEV_ID("sh_mobile_lcdc_fb.1",    &mstp_clks[MSTP117]),
-       CLKDEV_DEV_ID("sh_tmu.0",               &mstp_clks[MSTP125]),
-       CLKDEV_DEV_ID("sh_tmu.1",               &mstp_clks[MSTP125]),
-       CLKDEV_DEV_ID("sh_tmu.2",               &mstp_clks[MSTP125]),
        CLKDEV_DEV_ID("sh_mobile_ceu.0",        &mstp_clks[MSTP127]),
        CLKDEV_DEV_ID("sh_mobile_ceu.1",        &mstp_clks[MSTP128]),
 
@@ -603,6 +597,8 @@ static struct clk_lookup lookups[] = {
        CLKDEV_DEV_ID("e6870000.sd",            &mstp_clks[MSTP415]),
 
        /* ICK */
+       CLKDEV_ICK_ID("fck",    "sh-tmu.1",             &mstp_clks[MSTP111]),
+       CLKDEV_ICK_ID("fck",    "sh-tmu.0",             &mstp_clks[MSTP125]),
        CLKDEV_ICK_ID("fck",    "sh-cmt-48.1",          &mstp_clks[MSTP329]),
        CLKDEV_ICK_ID("host",   "renesas_usbhs",        &mstp_clks[MSTP416]),
        CLKDEV_ICK_ID("func",   "renesas_usbhs",        &mstp_clks[MSTP407]),
index 495e9bd6604011837e4dd2d350c5bad64314cc33..b7a09bb45fc970b8dcda16e93382d7c5d8a20789 100644 (file)
@@ -257,94 +257,25 @@ static struct platform_device cmt1_device = {
 };
 
 /* TMU */
-static struct sh_timer_config tmu00_platform_data = {
-       .name = "TMU00",
-       .channel_offset = 0x4,
-       .timer_bit = 0,
-       .clockevent_rating = 200,
+static struct sh_timer_config tmu0_platform_data = {
+       .channels_mask = 7,
 };
 
-static struct resource tmu00_resources[] = {
-       [0] = {
-               .name   = "TMU00",
-               .start  = 0xfff80008,
-               .end    = 0xfff80014 - 1,
-               .flags  = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start  = gic_spi(198),
-               .flags  = IORESOURCE_IRQ,
-       },
+static struct resource tmu0_resources[] = {
+       DEFINE_RES_MEM(0xfff80000, 0x2c),
+       DEFINE_RES_IRQ(gic_spi(198)),
+       DEFINE_RES_IRQ(gic_spi(199)),
+       DEFINE_RES_IRQ(gic_spi(200)),
 };
 
-static struct platform_device tmu00_device = {
-       .name           = "sh_tmu",
+static struct platform_device tmu0_device = {
+       .name           = "sh-tmu",
        .id             = 0,
        .dev = {
-               .platform_data  = &tmu00_platform_data,
-       },
-       .resource       = tmu00_resources,
-       .num_resources  = ARRAY_SIZE(tmu00_resources),
-};
-
-static struct sh_timer_config tmu01_platform_data = {
-       .name = "TMU01",
-       .channel_offset = 0x10,
-       .timer_bit = 1,
-       .clocksource_rating = 200,
-};
-
-static struct resource tmu01_resources[] = {
-       [0] = {
-               .name   = "TMU01",
-               .start  = 0xfff80014,
-               .end    = 0xfff80020 - 1,
-               .flags  = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start  = gic_spi(199),
-               .flags  = IORESOURCE_IRQ,
-       },
-};
-
-static struct platform_device tmu01_device = {
-       .name           = "sh_tmu",
-       .id             = 1,
-       .dev = {
-               .platform_data  = &tmu01_platform_data,
-       },
-       .resource       = tmu01_resources,
-       .num_resources  = ARRAY_SIZE(tmu01_resources),
-};
-
-static struct sh_timer_config tmu02_platform_data = {
-       .name = "TMU02",
-       .channel_offset = 0x1C,
-       .timer_bit = 2,
-       .clocksource_rating = 200,
-};
-
-static struct resource tmu02_resources[] = {
-       [0] = {
-               .name   = "TMU02",
-               .start  = 0xfff80020,
-               .end    = 0xfff8002C - 1,
-               .flags  = IORESOURCE_MEM,
-       },
-       [1] = {
-               .start  = gic_spi(200),
-               .flags  = IORESOURCE_IRQ,
-       },
-};
-
-static struct platform_device tmu02_device = {
-       .name           = "sh_tmu",
-       .id             = 2,
-       .dev = {
-               .platform_data  = &tmu02_platform_data,
+               .platform_data  = &tmu0_platform_data,
        },
-       .resource       = tmu02_resources,
-       .num_resources  = ARRAY_SIZE(tmu02_resources),
+       .resource       = tmu0_resources,
+       .num_resources  = ARRAY_SIZE(tmu0_resources),
 };
 
 /* IPMMUI (an IPMMU module for ICB/LMB) */
@@ -396,9 +327,7 @@ static struct platform_device *r8a7740_early_devices[] __initdata = {
        &irqpin1_device,
        &irqpin2_device,
        &irqpin3_device,
-       &tmu00_device,
-       &tmu01_device,
-       &tmu02_device,
+       &tmu0_device,
        &ipmmu_device,
 };