| From d81351c2ceecda2cb078d1b87be49babcd42ac71 Mon Sep 17 00:00:00 2001 |
| From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> |
| Date: Wed, 23 Apr 2014 13:15:20 +0200 |
| Subject: ARM: shmobile: r8a7779: 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 e4ae34e285b1c102686cb1c2a39ef93f930bf8f4) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| arch/arm/mach-shmobile/clock-r8a7779.c | 4 +-- |
| arch/arm/mach-shmobile/setup-r8a7779.c | 66 +++++++--------------------------- |
| 2 files changed, 14 insertions(+), 56 deletions(-) |
| |
| diff --git a/arch/arm/mach-shmobile/clock-r8a7779.c b/arch/arm/mach-shmobile/clock-r8a7779.c |
| index 8e403ae0c7b2..a13298bd37a8 100644 |
| --- a/arch/arm/mach-shmobile/clock-r8a7779.c |
| +++ b/arch/arm/mach-shmobile/clock-r8a7779.c |
| @@ -173,9 +173,7 @@ static struct clk_lookup lookups[] = { |
| CLKDEV_DEV_ID("ohci-platform.1", &mstp_clks[MSTP101]), /* USB OHCI port2 */ |
| CLKDEV_DEV_ID("ehci-platform.0", &mstp_clks[MSTP100]), /* USB EHCI port0/1 */ |
| CLKDEV_DEV_ID("ohci-platform.0", &mstp_clks[MSTP100]), /* USB OHCI port0/1 */ |
| - CLKDEV_DEV_ID("sh_tmu.0", &mstp_clks[MSTP016]), /* TMU00 */ |
| - CLKDEV_DEV_ID("sh_tmu.1", &mstp_clks[MSTP016]), /* TMU01 */ |
| - CLKDEV_DEV_ID("sh_tmu.2", &mstp_clks[MSTP016]), /* TMU02 */ |
| + CLKDEV_ICK_ID("fck", "sh-tmu.0", &mstp_clks[MSTP016]), /* TMU0 */ |
| CLKDEV_DEV_ID("i2c-rcar.0", &mstp_clks[MSTP030]), /* I2C0 */ |
| CLKDEV_DEV_ID("ffc70000.i2c", &mstp_clks[MSTP030]), /* I2C0 */ |
| CLKDEV_DEV_ID("i2c-rcar.1", &mstp_clks[MSTP029]), /* I2C1 */ |
| diff --git a/arch/arm/mach-shmobile/setup-r8a7779.c b/arch/arm/mach-shmobile/setup-r8a7779.c |
| index 8e860b36997a..d197b5adc886 100644 |
| --- a/arch/arm/mach-shmobile/setup-r8a7779.c |
| +++ b/arch/arm/mach-shmobile/setup-r8a7779.c |
| @@ -219,64 +219,25 @@ R8A7779_SCIF(4, 0xffe44000, gic_iid(0x7c)); |
| R8A7779_SCIF(5, 0xffe45000, gic_iid(0x7d)); |
| |
| /* 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 = 0xffd80008, |
| - .end = 0xffd80013, |
| - .flags = IORESOURCE_MEM, |
| - }, |
| - [1] = { |
| - .start = gic_iid(0x40), |
| - .flags = IORESOURCE_IRQ, |
| - }, |
| +static struct resource tmu0_resources[] = { |
| + DEFINE_RES_MEM(0xffd80000, 0x30), |
| + DEFINE_RES_IRQ(gic_iid(0x40)), |
| + DEFINE_RES_IRQ(gic_iid(0x41)), |
| + DEFINE_RES_IRQ(gic_iid(0x42)), |
| }; |
| |
| -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 = 0xffd80014, |
| - .end = 0xffd8001f, |
| - .flags = IORESOURCE_MEM, |
| - }, |
| - [1] = { |
| - .start = gic_iid(0x41), |
| - .flags = IORESOURCE_IRQ, |
| - }, |
| -}; |
| - |
| -static struct platform_device tmu01_device = { |
| - .name = "sh_tmu", |
| - .id = 1, |
| - .dev = { |
| - .platform_data = &tmu01_platform_data, |
| + .platform_data = &tmu0_platform_data, |
| }, |
| - .resource = tmu01_resources, |
| - .num_resources = ARRAY_SIZE(tmu01_resources), |
| + .resource = tmu0_resources, |
| + .num_resources = ARRAY_SIZE(tmu0_resources), |
| }; |
| |
| /* I2C */ |
| @@ -685,8 +646,7 @@ static struct platform_device *r8a7779_devices_dt[] __initdata = { |
| &scif3_device, |
| &scif4_device, |
| &scif5_device, |
| - &tmu00_device, |
| - &tmu01_device, |
| + &tmu0_device, |
| }; |
| |
| static struct platform_device *r8a7779_standard_devices[] __initdata = { |
| -- |
| 2.1.2 |
| |