| From 93e3437363954dc3cd2227123692f53bd83e2a2f Mon Sep 17 00:00:00 2001 |
| From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| Date: Wed, 23 Apr 2014 13:15:12 +0200 |
| Subject: ARM: shmobile: r8a7740: Switch to new style CMT device |
| |
| The CMT (Compare Match Timer) 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> |
| (cherry picked from commit e0ad56a35e02fe16f12cc18867903f8462d587bf) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| arch/arm/mach-shmobile/clock-r8a7740.c | 2 +- |
| arch/arm/mach-shmobile/setup-r8a7740.c | 36 ++++++++++++---------------------- |
| 2 files changed, 13 insertions(+), 25 deletions(-) |
| |
| diff --git a/arch/arm/mach-shmobile/clock-r8a7740.c b/arch/arm/mach-shmobile/clock-r8a7740.c |
| index 433ec674ead1..5ea385e46860 100644 |
| --- a/arch/arm/mach-shmobile/clock-r8a7740.c |
| +++ b/arch/arm/mach-shmobile/clock-r8a7740.c |
| @@ -583,7 +583,6 @@ static struct clk_lookup lookups[] = { |
| CLKDEV_DEV_ID("sh-sci.6", &mstp_clks[MSTP230]), |
| CLKDEV_DEV_ID("e6cc0000.sci", &mstp_clks[MSTP230]), |
| |
| - CLKDEV_DEV_ID("sh_cmt.10", &mstp_clks[MSTP329]), |
| CLKDEV_DEV_ID("sh_fsi2", &mstp_clks[MSTP328]), |
| CLKDEV_DEV_ID("fe1f0000.sound", &mstp_clks[MSTP328]), |
| CLKDEV_DEV_ID("i2c-sh_mobile.1", &mstp_clks[MSTP323]), |
| @@ -604,6 +603,7 @@ static struct clk_lookup lookups[] = { |
| CLKDEV_DEV_ID("e6870000.sd", &mstp_clks[MSTP415]), |
| |
| /* ICK */ |
| + 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]), |
| CLKDEV_ICK_ID("phy", "renesas_usbhs", &mstp_clks[MSTP406]), |
| diff --git a/arch/arm/mach-shmobile/setup-r8a7740.c b/arch/arm/mach-shmobile/setup-r8a7740.c |
| index a177a7b3bdbd..236ac3c8f9ae 100644 |
| --- a/arch/arm/mach-shmobile/setup-r8a7740.c |
| +++ b/arch/arm/mach-shmobile/setup-r8a7740.c |
| @@ -237,35 +237,23 @@ R8A7740_SCIF(PORT_SCIFA, 7, 0xe6cd0000, gic_spi(107)); |
| R8A7740_SCIF(PORT_SCIFB, 8, 0xe6c30000, gic_spi(108)); |
| |
| /* CMT */ |
| -static struct sh_timer_config cmt10_platform_data = { |
| - .name = "CMT10", |
| - .channel_offset = 0x10, |
| - .timer_bit = 0, |
| - .clockevent_rating = 125, |
| - .clocksource_rating = 125, |
| +static struct sh_timer_config cmt1_platform_data = { |
| + .channels_mask = 0x3f, |
| }; |
| |
| -static struct resource cmt10_resources[] = { |
| - [0] = { |
| - .name = "CMT10", |
| - .start = 0xe6138010, |
| - .end = 0xe613801b, |
| - .flags = IORESOURCE_MEM, |
| - }, |
| - [1] = { |
| - .start = gic_spi(58), |
| - .flags = IORESOURCE_IRQ, |
| - }, |
| +static struct resource cmt1_resources[] = { |
| + DEFINE_RES_MEM(0xe6138000, 0x170), |
| + DEFINE_RES_IRQ(gic_spi(58)), |
| }; |
| |
| -static struct platform_device cmt10_device = { |
| - .name = "sh_cmt", |
| - .id = 10, |
| +static struct platform_device cmt1_device = { |
| + .name = "sh-cmt-48", |
| + .id = 1, |
| .dev = { |
| - .platform_data = &cmt10_platform_data, |
| + .platform_data = &cmt1_platform_data, |
| }, |
| - .resource = cmt10_resources, |
| - .num_resources = ARRAY_SIZE(cmt10_resources), |
| + .resource = cmt1_resources, |
| + .num_resources = ARRAY_SIZE(cmt1_resources), |
| }; |
| |
| /* TMU */ |
| @@ -400,7 +388,7 @@ static struct platform_device *r8a7740_devices_dt[] __initdata = { |
| &scif6_device, |
| &scif7_device, |
| &scif8_device, |
| - &cmt10_device, |
| + &cmt1_device, |
| }; |
| |
| static struct platform_device *r8a7740_early_devices[] __initdata = { |
| -- |
| 2.1.2 |
| |