| From 9d243c41464dc8db6373bc85f1cd1ec284885000 Mon Sep 17 00:00:00 2001 |
| From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| Date: Wed, 23 Apr 2014 13:15:14 +0200 |
| Subject: ARM: shmobile: r8a7791: 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> |
| [horms+renesas@verge.net.au resolved conflict: use clk_names] |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| |
| (cherry picked from commit 356af68bf483e4564f75a35287a8f5f39d31041f) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| arch/arm/mach-shmobile/board-koelsch-reference.c | 2 +- |
| arch/arm/mach-shmobile/clock-r8a7791.c | 2 +- |
| arch/arm/mach-shmobile/setup-r8a7791.c | 17 +++++++---------- |
| 3 files changed, 9 insertions(+), 12 deletions(-) |
| |
| diff --git a/arch/arm/mach-shmobile/board-koelsch-reference.c b/arch/arm/mach-shmobile/board-koelsch-reference.c |
| index 941f8b394e84..bd9093221f76 100644 |
| --- a/arch/arm/mach-shmobile/board-koelsch-reference.c |
| +++ b/arch/arm/mach-shmobile/board-koelsch-reference.c |
| @@ -86,7 +86,7 @@ static void __init koelsch_add_du_device(void) |
| * devices until they get moved to DT. |
| */ |
| static const struct clk_name clk_names[] __initconst = { |
| - { "cmt0", NULL, "sh_cmt.0" }, |
| + { "cmt0", "fck", "sh-cmt-48-gen2.0" }, |
| { "scifa0", NULL, "sh-sci.0" }, |
| { "scifa1", NULL, "sh-sci.1" }, |
| { "scifb0", NULL, "sh-sci.2" }, |
| diff --git a/arch/arm/mach-shmobile/clock-r8a7791.c b/arch/arm/mach-shmobile/clock-r8a7791.c |
| index 3b26c7eee873..e2fdfcc14436 100644 |
| --- a/arch/arm/mach-shmobile/clock-r8a7791.c |
| +++ b/arch/arm/mach-shmobile/clock-r8a7791.c |
| @@ -264,7 +264,7 @@ static struct clk_lookup lookups[] = { |
| CLKDEV_DEV_ID("sh_mobile_sdhi.0", &mstp_clks[MSTP314]), |
| CLKDEV_DEV_ID("sh_mobile_sdhi.1", &mstp_clks[MSTP312]), |
| CLKDEV_DEV_ID("sh_mobile_sdhi.2", &mstp_clks[MSTP311]), |
| - CLKDEV_DEV_ID("sh_cmt.0", &mstp_clks[MSTP124]), |
| + CLKDEV_ICK_ID("fck", "sh-cmt-48-gen2.0", &mstp_clks[MSTP124]), |
| CLKDEV_DEV_ID("qspi.0", &mstp_clks[MSTP917]), |
| CLKDEV_DEV_ID("rcar_thermal", &mstp_clks[MSTP522]), |
| CLKDEV_DEV_ID("i2c-rcar_gen2.0", &mstp_clks[MSTP931]), |
| diff --git a/arch/arm/mach-shmobile/setup-r8a7791.c b/arch/arm/mach-shmobile/setup-r8a7791.c |
| index a7e4966f5e18..9839daca32a3 100644 |
| --- a/arch/arm/mach-shmobile/setup-r8a7791.c |
| +++ b/arch/arm/mach-shmobile/setup-r8a7791.c |
| @@ -128,20 +128,17 @@ R8A7791_SCIFA(14, 0xe6c80000, gic_spi(31)); /* SCIFA5 */ |
| &scif##index##_platform_data, \ |
| sizeof(scif##index##_platform_data)) |
| |
| -static const struct sh_timer_config cmt00_platform_data __initconst = { |
| - .name = "CMT00", |
| - .timer_bit = 0, |
| - .clockevent_rating = 80, |
| +static struct sh_timer_config cmt0_platform_data = { |
| + .channels_mask = 0x60, |
| }; |
| |
| -static const struct resource cmt00_resources[] __initconst = { |
| - DEFINE_RES_MEM(0xffca0510, 0x0c), |
| - DEFINE_RES_MEM(0xffca0500, 0x04), |
| - DEFINE_RES_IRQ(gic_spi(142)), /* CMT0_0 */ |
| +static struct resource cmt0_resources[] = { |
| + DEFINE_RES_MEM(0xffca0000, 0x1004), |
| + DEFINE_RES_IRQ(gic_spi(142)), |
| }; |
| |
| #define r8a7791_register_cmt(idx) \ |
| - platform_device_register_resndata(&platform_bus, "sh_cmt", \ |
| + platform_device_register_resndata(&platform_bus, "sh-cmt-48-gen2", \ |
| idx, cmt##idx##_resources, \ |
| ARRAY_SIZE(cmt##idx##_resources), \ |
| &cmt##idx##_platform_data, \ |
| @@ -200,7 +197,7 @@ void __init r8a7791_add_dt_devices(void) |
| r8a7791_register_scif(12); |
| r8a7791_register_scif(13); |
| r8a7791_register_scif(14); |
| - r8a7791_register_cmt(00); |
| + r8a7791_register_cmt(0); |
| } |
| |
| void __init r8a7791_add_standard_devices(void) |
| -- |
| 2.1.2 |
| |