| From de52088b87688a1162080fdeb7ae203d538f01bb Mon Sep 17 00:00:00 2001 |
| From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| Date: Fri, 2 May 2014 20:21:25 +0200 |
| Subject: ARM: shmobile: r8a7778: Switch to new style TMU device |
| |
| 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> |
| (cherry picked from commit 535ef0d9575b0809915341481ef3bac6bb5d0aaa) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| arch/arm/mach-shmobile/clock-r8a7778.c | 4 ++-- |
| arch/arm/mach-shmobile/setup-r8a7778.c | 28 +++++++--------------------- |
| 2 files changed, 9 insertions(+), 23 deletions(-) |
| |
| diff --git a/arch/arm/mach-shmobile/clock-r8a7778.c b/arch/arm/mach-shmobile/clock-r8a7778.c |
| index 6609beb9b9b4..13f8f3ab8840 100644 |
| --- a/arch/arm/mach-shmobile/clock-r8a7778.c |
| +++ b/arch/arm/mach-shmobile/clock-r8a7778.c |
| @@ -207,8 +207,6 @@ static struct clk_lookup lookups[] = { |
| CLKDEV_DEV_ID("sh-sci.3", &mstp_clks[MSTP023]), /* SCIF3 */ |
| CLKDEV_DEV_ID("sh-sci.4", &mstp_clks[MSTP022]), /* SCIF4 */ |
| CLKDEV_DEV_ID("sh-sci.5", &mstp_clks[MSTP021]), /* SCIF6 */ |
| - CLKDEV_DEV_ID("sh_tmu.0", &mstp_clks[MSTP016]), /* TMU00 */ |
| - CLKDEV_DEV_ID("sh_tmu.1", &mstp_clks[MSTP015]), /* TMU01 */ |
| CLKDEV_DEV_ID("sh-hspi.0", &mstp_clks[MSTP007]), /* HSPI0 */ |
| CLKDEV_DEV_ID("fffc7000.spi", &mstp_clks[MSTP007]), /* HSPI0 */ |
| CLKDEV_DEV_ID("sh-hspi.1", &mstp_clks[MSTP007]), /* HSPI1 */ |
| @@ -239,6 +237,8 @@ static struct clk_lookup lookups[] = { |
| CLKDEV_ICK_ID("src.6", "rcar_sound", &mstp_clks[MSTP525]), |
| CLKDEV_ICK_ID("src.7", "rcar_sound", &mstp_clks[MSTP524]), |
| CLKDEV_ICK_ID("src.8", "rcar_sound", &mstp_clks[MSTP523]), |
| + CLKDEV_ICK_ID("fck", "sh-tmu.0", &mstp_clks[MSTP016]), |
| + CLKDEV_ICK_ID("fck", "sh-tmu.1", &mstp_clks[MSTP015]), |
| }; |
| |
| void __init r8a7778_clock_init(void) |
| diff --git a/arch/arm/mach-shmobile/setup-r8a7778.c b/arch/arm/mach-shmobile/setup-r8a7778.c |
| index 6d694526e4ca..8c02e24f2483 100644 |
| --- a/arch/arm/mach-shmobile/setup-r8a7778.c |
| +++ b/arch/arm/mach-shmobile/setup-r8a7778.c |
| @@ -71,33 +71,20 @@ R8A7778_SCIF(5, 0xffe45000, gic_iid(0x6b)); |
| sizeof(scif##index##_platform_data)) |
| |
| /* TMU */ |
| -static struct resource sh_tmu0_resources[] __initdata = { |
| - DEFINE_RES_MEM(0xffd80008, 12), |
| - DEFINE_RES_IRQ(gic_iid(0x40)), |
| -}; |
| - |
| -static struct sh_timer_config sh_tmu0_platform_data __initdata = { |
| - .name = "TMU00", |
| - .channel_offset = 0x4, |
| - .timer_bit = 0, |
| - .clockevent_rating = 200, |
| +static struct sh_timer_config sh_tmu0_platform_data = { |
| + .channels_mask = 7, |
| }; |
| |
| -static struct resource sh_tmu1_resources[] __initdata = { |
| - DEFINE_RES_MEM(0xffd80014, 12), |
| +static struct resource sh_tmu0_resources[] = { |
| + DEFINE_RES_MEM(0xffd80000, 0x30), |
| + DEFINE_RES_IRQ(gic_iid(0x40)), |
| DEFINE_RES_IRQ(gic_iid(0x41)), |
| -}; |
| - |
| -static struct sh_timer_config sh_tmu1_platform_data __initdata = { |
| - .name = "TMU01", |
| - .channel_offset = 0x10, |
| - .timer_bit = 1, |
| - .clocksource_rating = 200, |
| + DEFINE_RES_IRQ(gic_iid(0x42)), |
| }; |
| |
| #define r8a7778_register_tmu(idx) \ |
| platform_device_register_resndata( \ |
| - &platform_bus, "sh_tmu", idx, \ |
| + &platform_bus, "sh-tmu", idx, \ |
| sh_tmu##idx##_resources, \ |
| ARRAY_SIZE(sh_tmu##idx##_resources), \ |
| &sh_tmu##idx##_platform_data, \ |
| @@ -312,7 +299,6 @@ void __init r8a7778_add_dt_devices(void) |
| r8a7778_register_scif(4); |
| r8a7778_register_scif(5); |
| r8a7778_register_tmu(0); |
| - r8a7778_register_tmu(1); |
| } |
| |
| /* HPB-DMA */ |
| -- |
| 2.1.2 |
| |