linux-sh.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 07/15] ARM: shmobile: r8a7791: Switch to new style CMT device
@ 2014-04-23 11:15 Laurent Pinchart
  2014-05-11 11:48 ` Simon Horman
  2014-05-12 12:40 ` Laurent Pinchart
  0 siblings, 2 replies; 3+ messages in thread
From: Laurent Pinchart @ 2014-04-23 11:15 UTC (permalink / raw)
  To: linux-sh

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>
---
 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 a3fd302..3b2a498 100644
--- a/arch/arm/mach-shmobile/board-koelsch-reference.c
+++ b/arch/arm/mach-shmobile/board-koelsch-reference.c
@@ -93,7 +93,7 @@ static void __init koelsch_add_standard_devices(void)
 		const char *con_id;
 		const char *dev_id;
 	} clk_names[] = {
-		{ "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 701383f..f763143 100644
--- a/arch/arm/mach-shmobile/clock-r8a7791.c
+++ b/arch/arm/mach-shmobile/clock-r8a7791.c
@@ -266,7 +266,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 e28404e..561653d 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)
-- 
1.8.3.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v5 07/15] ARM: shmobile: r8a7791: Switch to new style CMT device
  2014-04-23 11:15 [PATCH v5 07/15] ARM: shmobile: r8a7791: Switch to new style CMT device Laurent Pinchart
@ 2014-05-11 11:48 ` Simon Horman
  2014-05-12 12:40 ` Laurent Pinchart
  1 sibling, 0 replies; 3+ messages in thread
From: Simon Horman @ 2014-05-11 11:48 UTC (permalink / raw)
  To: linux-sh

On Wed, Apr 23, 2014 at 01:15:14PM +0200, Laurent Pinchart wrote:
> 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>
> ---
>  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(-)

Hi Laurent,

I have queued up the following after updating the
board-lager-reference.c portion of the patch to use clk_name.

Please check to see that what I have is correct.

From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>

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>
---
 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 941f8b3..bd90932 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 3b26c7e..e2fdfcc 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 e28404e..561653d 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)
-- 
1.8.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v5 07/15] ARM: shmobile: r8a7791: Switch to new style CMT device
  2014-04-23 11:15 [PATCH v5 07/15] ARM: shmobile: r8a7791: Switch to new style CMT device Laurent Pinchart
  2014-05-11 11:48 ` Simon Horman
@ 2014-05-12 12:40 ` Laurent Pinchart
  1 sibling, 0 replies; 3+ messages in thread
From: Laurent Pinchart @ 2014-05-12 12:40 UTC (permalink / raw)
  To: linux-sh

Hi Simon,

On Sunday 11 May 2014 20:48:23 Simon Horman wrote:
> On Wed, Apr 23, 2014 at 01:15:14PM +0200, Laurent Pinchart wrote:
> > 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>
> > ---
> > 
> >  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(-)
> 
> Hi Laurent,
> 
> I have queued up the following after updating the
> board-lager-reference.c portion of the patch to use clk_name.
> 
> Please check to see that what I have is correct.
> 
> From: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
> 
> 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>

This looks good to me, thank you.

> ---
>  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 941f8b3..bd90932
> 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 3b26c7e..e2fdfcc 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 e28404e..561653d 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)

-- 
Regards,

Laurent Pinchart


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-05-12 12:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-04-23 11:15 [PATCH v5 07/15] ARM: shmobile: r8a7791: Switch to new style CMT device Laurent Pinchart
2014-05-11 11:48 ` Simon Horman
2014-05-12 12:40 ` Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).