All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/08] clocksource: sh_cmt: DT binding rework
@ 2015-06-21  8:09 ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

clocksource: sh_cmt: DT binding rework

[PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
[PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
[PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
[PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1
[PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
[PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS
[PATCH 07/08] devicetree: bindings: Deprecate property, update example
[PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS

This series reworks the CMT DT bindings to try to deal with the following:
- R-Car Gen2 CMT0 and CMT1 hardware instances are not identical
- The property renesas,channels-mask is not enough to describe the difference
- DT should describe the hardware, not the software implementation
- Not all documented DT bindings are actually used

Without these patches the binding "renesas,cmt-48-gen2" is used for both
CMT0 and CMT1 on R-Car Gen2 SoCs. CMT0 and CMT1 are currently seen by the
Linux device driver as compatible hardware, and the device-specific property
"renesas,channels-mask" is used to point out some of the hardware configuration
differences. Since the driver is not feature complete only some differences are
described and when diving into the data sheet we can see that:

1) CMT0 is not 48-bit at all, instead it only supports 32-bit counters.
2) Some channels of CMT1 are 48-bit, some 32-bit.
3) A couple of CMT1 channels have even more features.

It turns out that none of the above differences are described in our current
DT files. And since we use the same compat string for CMT0 and CMT1 the driver
itself cannot enable features specific only to CMT1 without first updating
the DTS. So this series is ground work for future feature patches.

It seems that we have two choices if we want to support CMT1 features:
A) Keep existing DT bindings, add more properties for CMT1
B) Rework the compatible strings and keep configuration in the driver

Judging by above it seems that DT update is inevitable. In my mind it is
rather painful to update the DT so I'd like to minimize the number of
updates and let the majority of the changes only happen in the driver.
And since we should really describe hardware in DT but driver features tend
to be implemented incrementally then B) seems like a good fit to me.

I wouldn't mind going with A) but to be honest I must say that the existing
compat string "renesas,cmt-48-gen2" is just too confusing with "48"
(when CMT0 is 32bit-only) and also "gen2" (used without product line R-Car).

Because of that I've gone with B) and reworked the bindings to separate
CMT0 from CMT1 and keep channel configuration in the device driver.

While at it I've deprecated "renesas,channels-mask" and the old DT compat
strings. Per-SoC compat strings have also been reworked, but are not left
around documented as deprecated since they were never used by the driver.

Comments are very welcome! If all are in favor then it would be good to
merge patch 1-5 first and patch 6-8 later once 1-5 are in. Old DTBs are
left working but treated as low-feature CMT0. New DTBs including patch 6-8
will not work on old kernels.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

Written against renesas-devel-20150619-v4.1-rc8

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |   55 +++++++++------
 arch/arm/boot/dts/r8a73a4.dtsi                          |    5 -
 arch/arm/boot/dts/r8a7740.dtsi                          |    3 
 arch/arm/boot/dts/r8a7790.dtsi                          |   10 --
 arch/arm/boot/dts/r8a7791.dtsi                          |   10 --
 arch/arm/boot/dts/r8a7793.dtsi                          |   10 --
 arch/arm/boot/dts/r8a7794.dtsi                          |   10 --
 arch/arm/boot/dts/sh73a0.dtsi                           |    3 
 drivers/clocksource/sh_cmt.c                            |   54 ++++++++++----
 9 files changed, 83 insertions(+), 77 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 00/08] clocksource: sh_cmt: DT binding rework
@ 2015-06-21  8:09 ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

clocksource: sh_cmt: DT binding rework

[PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
[PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
[PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
[PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1
[PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
[PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS
[PATCH 07/08] devicetree: bindings: Deprecate property, update example
[PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS

This series reworks the CMT DT bindings to try to deal with the following:
- R-Car Gen2 CMT0 and CMT1 hardware instances are not identical
- The property renesas,channels-mask is not enough to describe the difference
- DT should describe the hardware, not the software implementation
- Not all documented DT bindings are actually used

Without these patches the binding "renesas,cmt-48-gen2" is used for both
CMT0 and CMT1 on R-Car Gen2 SoCs. CMT0 and CMT1 are currently seen by the
Linux device driver as compatible hardware, and the device-specific property
"renesas,channels-mask" is used to point out some of the hardware configuration
differences. Since the driver is not feature complete only some differences are
described and when diving into the data sheet we can see that:

1) CMT0 is not 48-bit at all, instead it only supports 32-bit counters.
2) Some channels of CMT1 are 48-bit, some 32-bit.
3) A couple of CMT1 channels have even more features.

It turns out that none of the above differences are described in our current
DT files. And since we use the same compat string for CMT0 and CMT1 the driver
itself cannot enable features specific only to CMT1 without first updating
the DTS. So this series is ground work for future feature patches.

It seems that we have two choices if we want to support CMT1 features:
A) Keep existing DT bindings, add more properties for CMT1
B) Rework the compatible strings and keep configuration in the driver

Judging by above it seems that DT update is inevitable. In my mind it is
rather painful to update the DT so I'd like to minimize the number of
updates and let the majority of the changes only happen in the driver.
And since we should really describe hardware in DT but driver features tend
to be implemented incrementally then B) seems like a good fit to me.

I wouldn't mind going with A) but to be honest I must say that the existing
compat string "renesas,cmt-48-gen2" is just too confusing with "48"
(when CMT0 is 32bit-only) and also "gen2" (used without product line R-Car).

Because of that I've gone with B) and reworked the bindings to separate
CMT0 from CMT1 and keep channel configuration in the device driver.

While at it I've deprecated "renesas,channels-mask" and the old DT compat
strings. Per-SoC compat strings have also been reworked, but are not left
around documented as deprecated since they were never used by the driver.

Comments are very welcome! If all are in favor then it would be good to
merge patch 1-5 first and patch 6-8 later once 1-5 are in. Old DTBs are
left working but treated as low-feature CMT0. New DTBs including patch 6-8
will not work on old kernels.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

Written against renesas-devel-20150619-v4.1-rc8

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |   55 +++++++++------
 arch/arm/boot/dts/r8a73a4.dtsi                          |    5 -
 arch/arm/boot/dts/r8a7740.dtsi                          |    3 
 arch/arm/boot/dts/r8a7790.dtsi                          |   10 --
 arch/arm/boot/dts/r8a7791.dtsi                          |   10 --
 arch/arm/boot/dts/r8a7793.dtsi                          |   10 --
 arch/arm/boot/dts/r8a7794.dtsi                          |   10 --
 arch/arm/boot/dts/sh73a0.dtsi                           |    3 
 drivers/clocksource/sh_cmt.c                            |   54 ++++++++++----
 9 files changed, 83 insertions(+), 77 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* [PATCH 00/08] clocksource: sh_cmt: DT binding rework
@ 2015-06-21  8:09 ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

clocksource: sh_cmt: DT binding rework

[PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
[PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
[PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
[PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1
[PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
[PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS
[PATCH 07/08] devicetree: bindings: Deprecate property, update example
[PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS

This series reworks the CMT DT bindings to try to deal with the following:
- R-Car Gen2 CMT0 and CMT1 hardware instances are not identical
- The property renesas,channels-mask is not enough to describe the difference
- DT should describe the hardware, not the software implementation
- Not all documented DT bindings are actually used

Without these patches the binding "renesas,cmt-48-gen2" is used for both
CMT0 and CMT1 on R-Car Gen2 SoCs. CMT0 and CMT1 are currently seen by the
Linux device driver as compatible hardware, and the device-specific property
"renesas,channels-mask" is used to point out some of the hardware configuration
differences. Since the driver is not feature complete only some differences are
described and when diving into the data sheet we can see that:

1) CMT0 is not 48-bit at all, instead it only supports 32-bit counters.
2) Some channels of CMT1 are 48-bit, some 32-bit.
3) A couple of CMT1 channels have even more features.

It turns out that none of the above differences are described in our current
DT files. And since we use the same compat string for CMT0 and CMT1 the driver
itself cannot enable features specific only to CMT1 without first updating
the DTS. So this series is ground work for future feature patches.

It seems that we have two choices if we want to support CMT1 features:
A) Keep existing DT bindings, add more properties for CMT1
B) Rework the compatible strings and keep configuration in the driver

Judging by above it seems that DT update is inevitable. In my mind it is
rather painful to update the DT so I'd like to minimize the number of
updates and let the majority of the changes only happen in the driver.
And since we should really describe hardware in DT but driver features tend
to be implemented incrementally then B) seems like a good fit to me.

I wouldn't mind going with A) but to be honest I must say that the existing
compat string "renesas,cmt-48-gen2" is just too confusing with "48"
(when CMT0 is 32bit-only) and also "gen2" (used without product line R-Car).

Because of that I've gone with B) and reworked the bindings to separate
CMT0 from CMT1 and keep channel configuration in the device driver.

While at it I've deprecated "renesas,channels-mask" and the old DT compat
strings. Per-SoC compat strings have also been reworked, but are not left
around documented as deprecated since they were never used by the driver.

Comments are very welcome! If all are in favor then it would be good to
merge patch 1-5 first and patch 6-8 later once 1-5 are in. Old DTBs are
left working but treated as low-feature CMT0. New DTBs including patch 6-8
will not work on old kernels.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

Written against renesas-devel-20150619-v4.1-rc8

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |   55 +++++++++------
 arch/arm/boot/dts/r8a73a4.dtsi                          |    5 -
 arch/arm/boot/dts/r8a7740.dtsi                          |    3 
 arch/arm/boot/dts/r8a7790.dtsi                          |   10 --
 arch/arm/boot/dts/r8a7791.dtsi                          |   10 --
 arch/arm/boot/dts/r8a7793.dtsi                          |   10 --
 arch/arm/boot/dts/r8a7794.dtsi                          |   10 --
 arch/arm/boot/dts/sh73a0.dtsi                           |    3 
 drivers/clocksource/sh_cmt.c                            |   54 ++++++++++----
 9 files changed, 83 insertions(+), 77 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
  2015-06-21  8:09 ` Magnus Damm
  (?)
@ 2015-06-21  8:09   ` Magnus Damm
  -1 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Remove the sh7372 CMT compat string to reduce maintenance burden.

It should be fine to break DT compatibility because:
1) The sh7372 SoC support has been removed from upstream
2) The sh7372 CMT DT binding was never part of upstream DTS
3) The CMT driver never matches on the sh7372 binding

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |    2 --
 1 file changed, 2 deletions(-)

--- 0001/Documentation/devicetree/bindings/timer/renesas,cmt.txt
+++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt	2015-06-20 13:47:59.922366518 +0900
@@ -32,8 +32,6 @@ Required Properties:
 		(CMT[234] on sh7372, sh73a0 and r8a7740)
 		This is a fallback for the above renesas,cmt-32-fast-* entries.
 
-    - "renesas,cmt-48-sh7372" for the sh7372 48-bit CMT
-		(CMT1)
     - "renesas,cmt-48-sh73a0" for the sh73A0 48-bit CMT
 		(CMT1)
     - "renesas,cmt-48-r8a7740" for the r8a7740 48-bit CMT
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
@ 2015-06-21  8:09   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Remove the sh7372 CMT compat string to reduce maintenance burden.

It should be fine to break DT compatibility because:
1) The sh7372 SoC support has been removed from upstream
2) The sh7372 CMT DT binding was never part of upstream DTS
3) The CMT driver never matches on the sh7372 binding

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |    2 --
 1 file changed, 2 deletions(-)

--- 0001/Documentation/devicetree/bindings/timer/renesas,cmt.txt
+++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt	2015-06-20 13:47:59.922366518 +0900
@@ -32,8 +32,6 @@ Required Properties:
 		(CMT[234] on sh7372, sh73a0 and r8a7740)
 		This is a fallback for the above renesas,cmt-32-fast-* entries.
 
-    - "renesas,cmt-48-sh7372" for the sh7372 48-bit CMT
-		(CMT1)
     - "renesas,cmt-48-sh73a0" for the sh73A0 48-bit CMT
 		(CMT1)
     - "renesas,cmt-48-r8a7740" for the r8a7740 48-bit CMT
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
@ 2015-06-21  8:09   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Remove the sh7372 CMT compat string to reduce maintenance burden.

It should be fine to break DT compatibility because:
1) The sh7372 SoC support has been removed from upstream
2) The sh7372 CMT DT binding was never part of upstream DTS
3) The CMT driver never matches on the sh7372 binding

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |    2 --
 1 file changed, 2 deletions(-)

--- 0001/Documentation/devicetree/bindings/timer/renesas,cmt.txt
+++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt	2015-06-20 13:47:59.922366518 +0900
@@ -32,8 +32,6 @@ Required Properties:
 		(CMT[234] on sh7372, sh73a0 and r8a7740)
 		This is a fallback for the above renesas,cmt-32-fast-* entries.
 
-    - "renesas,cmt-48-sh7372" for the sh7372 48-bit CMT
-		(CMT1)
     - "renesas,cmt-48-sh73a0" for the sh73A0 48-bit CMT
 		(CMT1)
     - "renesas,cmt-48-r8a7740" for the r8a7740 48-bit CMT
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
  2015-06-21  8:09 ` Magnus Damm
  (?)
@ 2015-06-21  8:09   ` Magnus Damm
  -1 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Always use 0x3f as channel mask for the SH_CMT_48BIT type of devices.
Once this patch is applied the "renesas,channels-mask" property will
be ignored by the driver for older devices matching SH_CMT_48BIT. In
the future when all CMT types store channel mask in the driver then
we will be able to deprecate and remove "renesas,channels-mask" from DTS.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 drivers/clocksource/sh_cmt.c |   14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

--- 0001/drivers/clocksource/sh_cmt.c
+++ work/drivers/clocksource/sh_cmt.c	2015-06-20 15:25:54.302366518 +0900
@@ -74,6 +74,8 @@ enum sh_cmt_model {
 struct sh_cmt_info {
 	enum sh_cmt_model model;
 
+	unsigned long channels_mask;
+
 	unsigned long width; /* 16 or 32 bit version of hardware block */
 	unsigned long overflow_bit;
 	unsigned long clear_bits;
@@ -212,6 +214,7 @@ static const struct sh_cmt_info sh_cmt_i
 	},
 	[SH_CMT_48BIT] = {
 		.model = SH_CMT_48BIT,
+		.channels_mask = 0x3f,
 		.width = 32,
 		.overflow_bit = SH_CMT32_CMCSR_CMF,
 		.clear_bits = ~(SH_CMT32_CMCSR_CMF | SH_CMT32_CMCSR_OVF),
@@ -969,9 +972,14 @@ static int sh_cmt_setup(struct sh_cmt_de
 		id = of_match_node(sh_cmt_of_table, pdev->dev.of_node);
 		cmt->info = id->data;
 
-		ret = sh_cmt_parse_dt(cmt);
-		if (ret < 0)
-			return ret;
+		/* prefer in-driver channel configuration over DT */
+		if (cmt->info->channels_mask) {
+			cmt->hw_channels = cmt->info_channels_mask;
+		} else {
+			ret = sh_cmt_parse_dt(cmt);
+			if (ret < 0)
+				return ret;
+		}
 	} else if (pdev->dev.platform_data) {
 		struct sh_timer_config *cfg = pdev->dev.platform_data;
 		const struct platform_device_id *id = pdev->id_entry;
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
@ 2015-06-21  8:09   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Always use 0x3f as channel mask for the SH_CMT_48BIT type of devices.
Once this patch is applied the "renesas,channels-mask" property will
be ignored by the driver for older devices matching SH_CMT_48BIT. In
the future when all CMT types store channel mask in the driver then
we will be able to deprecate and remove "renesas,channels-mask" from DTS.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 drivers/clocksource/sh_cmt.c |   14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

--- 0001/drivers/clocksource/sh_cmt.c
+++ work/drivers/clocksource/sh_cmt.c	2015-06-20 15:25:54.302366518 +0900
@@ -74,6 +74,8 @@ enum sh_cmt_model {
 struct sh_cmt_info {
 	enum sh_cmt_model model;
 
+	unsigned long channels_mask;
+
 	unsigned long width; /* 16 or 32 bit version of hardware block */
 	unsigned long overflow_bit;
 	unsigned long clear_bits;
@@ -212,6 +214,7 @@ static const struct sh_cmt_info sh_cmt_i
 	},
 	[SH_CMT_48BIT] = {
 		.model = SH_CMT_48BIT,
+		.channels_mask = 0x3f,
 		.width = 32,
 		.overflow_bit = SH_CMT32_CMCSR_CMF,
 		.clear_bits = ~(SH_CMT32_CMCSR_CMF | SH_CMT32_CMCSR_OVF),
@@ -969,9 +972,14 @@ static int sh_cmt_setup(struct sh_cmt_de
 		id = of_match_node(sh_cmt_of_table, pdev->dev.of_node);
 		cmt->info = id->data;
 
-		ret = sh_cmt_parse_dt(cmt);
-		if (ret < 0)
-			return ret;
+		/* prefer in-driver channel configuration over DT */
+		if (cmt->info->channels_mask) {
+			cmt->hw_channels = cmt->info_channels_mask;
+		} else {
+			ret = sh_cmt_parse_dt(cmt);
+			if (ret < 0)
+				return ret;
+		}
 	} else if (pdev->dev.platform_data) {
 		struct sh_timer_config *cfg = pdev->dev.platform_data;
 		const struct platform_device_id *id = pdev->id_entry;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
@ 2015-06-21  8:09   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Always use 0x3f as channel mask for the SH_CMT_48BIT type of devices.
Once this patch is applied the "renesas,channels-mask" property will
be ignored by the driver for older devices matching SH_CMT_48BIT. In
the future when all CMT types store channel mask in the driver then
we will be able to deprecate and remove "renesas,channels-mask" from DTS.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 drivers/clocksource/sh_cmt.c |   14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

--- 0001/drivers/clocksource/sh_cmt.c
+++ work/drivers/clocksource/sh_cmt.c	2015-06-20 15:25:54.302366518 +0900
@@ -74,6 +74,8 @@ enum sh_cmt_model {
 struct sh_cmt_info {
 	enum sh_cmt_model model;
 
+	unsigned long channels_mask;
+
 	unsigned long width; /* 16 or 32 bit version of hardware block */
 	unsigned long overflow_bit;
 	unsigned long clear_bits;
@@ -212,6 +214,7 @@ static const struct sh_cmt_info sh_cmt_i
 	},
 	[SH_CMT_48BIT] = {
 		.model = SH_CMT_48BIT,
+		.channels_mask = 0x3f,
 		.width = 32,
 		.overflow_bit = SH_CMT32_CMCSR_CMF,
 		.clear_bits = ~(SH_CMT32_CMCSR_CMF | SH_CMT32_CMCSR_OVF),
@@ -969,9 +972,14 @@ static int sh_cmt_setup(struct sh_cmt_de
 		id = of_match_node(sh_cmt_of_table, pdev->dev.of_node);
 		cmt->info = id->data;
 
-		ret = sh_cmt_parse_dt(cmt);
-		if (ret < 0)
-			return ret;
+		/* prefer in-driver channel configuration over DT */
+		if (cmt->info->channels_mask) {
+			cmt->hw_channels = cmt->info_channels_mask;
+		} else {
+			ret = sh_cmt_parse_dt(cmt);
+			if (ret < 0)
+				return ret;
+		}
 	} else if (pdev->dev.platform_data) {
 		struct sh_timer_config *cfg = pdev->dev.platform_data;
 		const struct platform_device_id *id = pdev->id_entry;
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
  2015-06-21  8:09 ` Magnus Damm
  (?)
@ 2015-06-21  8:09   ` Magnus Damm
  -1 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw,
	geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ,
	linux-sh-u79uwXL29TY76Z2rM5mHXA,
	daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A,
	horms+renesas-/R6kz+dDXgpPR4JQBCEnsQ, Magnus Damm,
	tglx-hfZtesqFncYOwBW4kG4KsQ

From: Magnus Damm <damm+renesas@opensource.se>

Add documentation for new separate CMT0 and CMT1 DT compatible strings
for R-Car Gen2. These compat strings allow us to enable CMT1-specific
features in the driver. The old compat strings will be deprecated in
the not so distant future.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |    3 +++
 1 file changed, 3 insertions(+)

--- 0004/Documentation/devicetree/bindings/timer/renesas,cmt.txt
+++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt	2015-06-20 14:04:25.592366518 +0900
@@ -40,6 +40,9 @@ Required Properties:
 		(CMT1 on sh7372, sh73a0 and r8a7740)
 		This is a fallback for the above renesas,cmt-48-* entries.
 
+    - "renesas,cmt0-rcar-gen2" for 32-bit CMT0 devices included in R-Car Gen2.
+    - "renesas,cmt1-rcar-gen2" for 48-bit CMT1 devices included in R-Car Gen2.
+
     - "renesas,cmt-48-r8a73a4" for the r8a73a4 48-bit CMT
 		(CMT[01])
     - "renesas,cmt-48-r8a7790" for the r8a7790 48-bit CMT
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
@ 2015-06-21  8:09   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Add documentation for new separate CMT0 and CMT1 DT compatible strings
for R-Car Gen2. These compat strings allow us to enable CMT1-specific
features in the driver. The old compat strings will be deprecated in
the not so distant future.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |    3 +++
 1 file changed, 3 insertions(+)

--- 0004/Documentation/devicetree/bindings/timer/renesas,cmt.txt
+++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt	2015-06-20 14:04:25.592366518 +0900
@@ -40,6 +40,9 @@ Required Properties:
 		(CMT1 on sh7372, sh73a0 and r8a7740)
 		This is a fallback for the above renesas,cmt-48-* entries.
 
+    - "renesas,cmt0-rcar-gen2" for 32-bit CMT0 devices included in R-Car Gen2.
+    - "renesas,cmt1-rcar-gen2" for 48-bit CMT1 devices included in R-Car Gen2.
+
     - "renesas,cmt-48-r8a73a4" for the r8a73a4 48-bit CMT
 		(CMT[01])
     - "renesas,cmt-48-r8a7790" for the r8a7790 48-bit CMT
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* [PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
@ 2015-06-21  8:09   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw,
	geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ,
	linux-sh-u79uwXL29TY76Z2rM5mHXA,
	daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A,
	horms+renesas-/R6kz+dDXgpPR4JQBCEnsQ, Magnus Damm,
	tglx-hfZtesqFncYOwBW4kG4KsQ

From: Magnus Damm <damm+renesas-yzvPICuk2ACczHhG9Qg4qA@public.gmane.org>

Add documentation for new separate CMT0 and CMT1 DT compatible strings
for R-Car Gen2. These compat strings allow us to enable CMT1-specific
features in the driver. The old compat strings will be deprecated in
the not so distant future.

Signed-off-by: Magnus Damm <damm+renesas-yzvPICuk2ACczHhG9Qg4qA@public.gmane.org>
---

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |    3 +++
 1 file changed, 3 insertions(+)

--- 0004/Documentation/devicetree/bindings/timer/renesas,cmt.txt
+++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt	2015-06-20 14:04:25.592366518 +0900
@@ -40,6 +40,9 @@ Required Properties:
 		(CMT1 on sh7372, sh73a0 and r8a7740)
 		This is a fallback for the above renesas,cmt-48-* entries.
 
+    - "renesas,cmt0-rcar-gen2" for 32-bit CMT0 devices included in R-Car Gen2.
+    - "renesas,cmt1-rcar-gen2" for 48-bit CMT1 devices included in R-Car Gen2.
+
     - "renesas,cmt-48-r8a73a4" for the r8a73a4 48-bit CMT
 		(CMT[01])
     - "renesas,cmt-48-r8a7790" for the r8a7790 48-bit CMT
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in

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

* [PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1
  2015-06-21  8:09 ` Magnus Damm
  (?)
@ 2015-06-21  8:09   ` Magnus Damm
  -1 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Add support for the new R-Car Gen2 CMT0 and CMT1 bindings. Support
for the old DT binding is still kept around, however devices using
such binding will be treated as a low-feature CMT0 device. If users
want to make use of CMT1-specific features then they need to update
their DTBs. No special CMT1-specific features are however implemented
by his patch, only DT bindings are redone as groundwork for future
feature patches.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 drivers/clocksource/sh_cmt.c |   40 ++++++++++++++++++++++++++++------------
 1 file changed, 28 insertions(+), 12 deletions(-)

--- 0005/drivers/clocksource/sh_cmt.c
+++ work/drivers/clocksource/sh_cmt.c	2015-06-20 14:16:44.472366518 +0900
@@ -39,16 +39,16 @@ struct sh_cmt_device;
  * SoC but also on the particular instance. The following table lists the main
  * characteristics of those flavours.
  *
- *			16B	32B	32B-F	48B	48B-2
+ *			16B	32B	32B-F	48B	R-Car Gen2
  * -----------------------------------------------------------------------------
  * Channels		2	1/4	1	6	2/8
  * Control Width	16	16	16	16	32
  * Counter Width	16	32	32	32/48	32/48
  * Shared Start/Stop	Y	Y	Y	Y	N
  *
- * The 48-bit gen2 version has a per-channel start/stop register located in the
- * channel registers block. All other versions have a shared start/stop register
- * located in the global space.
+ * The r8a73a4 / R-Car Gen2 version has a per-channel start/stop register
+ * located in the channel registers block. All other versions have a shared
+ * start/stop register located in the global space.
  *
  * Channels are indexed from 0 to N-1 in the documentation. The channel index
  * infers the start/stop bit position in the control register and the channel
@@ -68,7 +68,8 @@ enum sh_cmt_model {
 	SH_CMT_32BIT,
 	SH_CMT_32BIT_FAST,
 	SH_CMT_48BIT,
-	SH_CMT_48BIT_GEN2,
+	SH_CMT0_RCAR_GEN2,
+	SH_CMT1_RCAR_GEN2,
 };
 
 struct sh_cmt_info {
@@ -223,8 +224,20 @@ static const struct sh_cmt_info sh_cmt_i
 		.read_count = sh_cmt_read32,
 		.write_count = sh_cmt_write32,
 	},
-	[SH_CMT_48BIT_GEN2] = {
-		.model = SH_CMT_48BIT_GEN2,
+	[SH_CMT0_RCAR_GEN2] = {
+		.model = SH_CMT0_RCAR_GEN2,
+		.channels_mask = 0x60,
+		.width = 32,
+		.overflow_bit = SH_CMT32_CMCSR_CMF,
+		.clear_bits = ~(SH_CMT32_CMCSR_CMF | SH_CMT32_CMCSR_OVF),
+		.read_control = sh_cmt_read32,
+		.write_control = sh_cmt_write32,
+		.read_count = sh_cmt_read32,
+		.write_count = sh_cmt_write32,
+	},
+	[SH_CMT1_RCAR_GEN2] = {
+		.model = SH_CMT1_RCAR_GEN2,
+		.channels_mask = 0xff,
 		.width = 32,
 		.overflow_bit = SH_CMT32_CMCSR_CMF,
 		.clear_bits = ~(SH_CMT32_CMCSR_CMF | SH_CMT32_CMCSR_OVF),
@@ -861,6 +874,7 @@ static int sh_cmt_setup_channel(struct s
 	ch->cmt = cmt;
 	ch->index = index;
 	ch->hwidx = hwidx;
+	ch->timer_bit = hwidx;
 
 	/*
 	 * Compute the address of the channel control register block. For the
@@ -882,9 +896,11 @@ static int sh_cmt_setup_channel(struct s
 		 */
 		ch->ioctrl = cmt->mapbase + 0x40;
 		break;
-	case SH_CMT_48BIT_GEN2:
+	case SH_CMT0_RCAR_GEN2:
+	case SH_CMT1_RCAR_GEN2:
 		ch->iostart = cmt->mapbase + ch->hwidx * 0x100;
 		ch->ioctrl = ch->iostart + 0x10;
+		ch->timer_bit = 0;
 		break;
 	}
 
@@ -896,8 +912,6 @@ static int sh_cmt_setup_channel(struct s
 	ch->match_value = ch->max_match_value;
 	raw_spin_lock_init(&ch->lock);
 
-	ch->timer_bit = cmt->info->model = SH_CMT_48BIT_GEN2 ? 0 : ch->hwidx;
-
 	ret = sh_cmt_register(ch, dev_name(&cmt->pdev->dev),
 			      clockevent, clocksource);
 	if (ret) {
@@ -934,7 +948,7 @@ static const struct platform_device_id s
 	{ "sh-cmt-32", (kernel_ulong_t)&sh_cmt_info[SH_CMT_32BIT] },
 	{ "sh-cmt-32-fast", (kernel_ulong_t)&sh_cmt_info[SH_CMT_32BIT_FAST] },
 	{ "sh-cmt-48", (kernel_ulong_t)&sh_cmt_info[SH_CMT_48BIT] },
-	{ "sh-cmt-48-gen2", (kernel_ulong_t)&sh_cmt_info[SH_CMT_48BIT_GEN2] },
+	{ "sh-cmt-48-gen2", (kernel_ulong_t)&sh_cmt_info[SH_CMT0_RCAR_GEN2] },
 	{ }
 };
 MODULE_DEVICE_TABLE(platform, sh_cmt_id_table);
@@ -943,7 +957,9 @@ static const struct of_device_id sh_cmt_
 	{ .compatible = "renesas,cmt-32", .data = &sh_cmt_info[SH_CMT_32BIT] },
 	{ .compatible = "renesas,cmt-32-fast", .data = &sh_cmt_info[SH_CMT_32BIT_FAST] },
 	{ .compatible = "renesas,cmt-48", .data = &sh_cmt_info[SH_CMT_48BIT] },
-	{ .compatible = "renesas,cmt-48-gen2", .data = &sh_cmt_info[SH_CMT_48BIT_GEN2] },
+	{ .compatible = "renesas,cmt-48-gen2", .data = &sh_cmt_info[SH_CMT0_RCAR_GEN2] },
+	{ .compatible = "renesas,cmt0-rcar-gen2", .data = &sh_cmt_info[SH_CMT0_RCAR_GEN2] },
+	{ .compatible = "renesas,cmt1-rcar-gen2", .data = &sh_cmt_info[SH_CMT1_RCAR_GEN2] },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, sh_cmt_of_table);
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1
@ 2015-06-21  8:09   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Add support for the new R-Car Gen2 CMT0 and CMT1 bindings. Support
for the old DT binding is still kept around, however devices using
such binding will be treated as a low-feature CMT0 device. If users
want to make use of CMT1-specific features then they need to update
their DTBs. No special CMT1-specific features are however implemented
by his patch, only DT bindings are redone as groundwork for future
feature patches.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 drivers/clocksource/sh_cmt.c |   40 ++++++++++++++++++++++++++++------------
 1 file changed, 28 insertions(+), 12 deletions(-)

--- 0005/drivers/clocksource/sh_cmt.c
+++ work/drivers/clocksource/sh_cmt.c	2015-06-20 14:16:44.472366518 +0900
@@ -39,16 +39,16 @@ struct sh_cmt_device;
  * SoC but also on the particular instance. The following table lists the main
  * characteristics of those flavours.
  *
- *			16B	32B	32B-F	48B	48B-2
+ *			16B	32B	32B-F	48B	R-Car Gen2
  * -----------------------------------------------------------------------------
  * Channels		2	1/4	1	6	2/8
  * Control Width	16	16	16	16	32
  * Counter Width	16	32	32	32/48	32/48
  * Shared Start/Stop	Y	Y	Y	Y	N
  *
- * The 48-bit gen2 version has a per-channel start/stop register located in the
- * channel registers block. All other versions have a shared start/stop register
- * located in the global space.
+ * The r8a73a4 / R-Car Gen2 version has a per-channel start/stop register
+ * located in the channel registers block. All other versions have a shared
+ * start/stop register located in the global space.
  *
  * Channels are indexed from 0 to N-1 in the documentation. The channel index
  * infers the start/stop bit position in the control register and the channel
@@ -68,7 +68,8 @@ enum sh_cmt_model {
 	SH_CMT_32BIT,
 	SH_CMT_32BIT_FAST,
 	SH_CMT_48BIT,
-	SH_CMT_48BIT_GEN2,
+	SH_CMT0_RCAR_GEN2,
+	SH_CMT1_RCAR_GEN2,
 };
 
 struct sh_cmt_info {
@@ -223,8 +224,20 @@ static const struct sh_cmt_info sh_cmt_i
 		.read_count = sh_cmt_read32,
 		.write_count = sh_cmt_write32,
 	},
-	[SH_CMT_48BIT_GEN2] = {
-		.model = SH_CMT_48BIT_GEN2,
+	[SH_CMT0_RCAR_GEN2] = {
+		.model = SH_CMT0_RCAR_GEN2,
+		.channels_mask = 0x60,
+		.width = 32,
+		.overflow_bit = SH_CMT32_CMCSR_CMF,
+		.clear_bits = ~(SH_CMT32_CMCSR_CMF | SH_CMT32_CMCSR_OVF),
+		.read_control = sh_cmt_read32,
+		.write_control = sh_cmt_write32,
+		.read_count = sh_cmt_read32,
+		.write_count = sh_cmt_write32,
+	},
+	[SH_CMT1_RCAR_GEN2] = {
+		.model = SH_CMT1_RCAR_GEN2,
+		.channels_mask = 0xff,
 		.width = 32,
 		.overflow_bit = SH_CMT32_CMCSR_CMF,
 		.clear_bits = ~(SH_CMT32_CMCSR_CMF | SH_CMT32_CMCSR_OVF),
@@ -861,6 +874,7 @@ static int sh_cmt_setup_channel(struct s
 	ch->cmt = cmt;
 	ch->index = index;
 	ch->hwidx = hwidx;
+	ch->timer_bit = hwidx;
 
 	/*
 	 * Compute the address of the channel control register block. For the
@@ -882,9 +896,11 @@ static int sh_cmt_setup_channel(struct s
 		 */
 		ch->ioctrl = cmt->mapbase + 0x40;
 		break;
-	case SH_CMT_48BIT_GEN2:
+	case SH_CMT0_RCAR_GEN2:
+	case SH_CMT1_RCAR_GEN2:
 		ch->iostart = cmt->mapbase + ch->hwidx * 0x100;
 		ch->ioctrl = ch->iostart + 0x10;
+		ch->timer_bit = 0;
 		break;
 	}
 
@@ -896,8 +912,6 @@ static int sh_cmt_setup_channel(struct s
 	ch->match_value = ch->max_match_value;
 	raw_spin_lock_init(&ch->lock);
 
-	ch->timer_bit = cmt->info->model == SH_CMT_48BIT_GEN2 ? 0 : ch->hwidx;
-
 	ret = sh_cmt_register(ch, dev_name(&cmt->pdev->dev),
 			      clockevent, clocksource);
 	if (ret) {
@@ -934,7 +948,7 @@ static const struct platform_device_id s
 	{ "sh-cmt-32", (kernel_ulong_t)&sh_cmt_info[SH_CMT_32BIT] },
 	{ "sh-cmt-32-fast", (kernel_ulong_t)&sh_cmt_info[SH_CMT_32BIT_FAST] },
 	{ "sh-cmt-48", (kernel_ulong_t)&sh_cmt_info[SH_CMT_48BIT] },
-	{ "sh-cmt-48-gen2", (kernel_ulong_t)&sh_cmt_info[SH_CMT_48BIT_GEN2] },
+	{ "sh-cmt-48-gen2", (kernel_ulong_t)&sh_cmt_info[SH_CMT0_RCAR_GEN2] },
 	{ }
 };
 MODULE_DEVICE_TABLE(platform, sh_cmt_id_table);
@@ -943,7 +957,9 @@ static const struct of_device_id sh_cmt_
 	{ .compatible = "renesas,cmt-32", .data = &sh_cmt_info[SH_CMT_32BIT] },
 	{ .compatible = "renesas,cmt-32-fast", .data = &sh_cmt_info[SH_CMT_32BIT_FAST] },
 	{ .compatible = "renesas,cmt-48", .data = &sh_cmt_info[SH_CMT_48BIT] },
-	{ .compatible = "renesas,cmt-48-gen2", .data = &sh_cmt_info[SH_CMT_48BIT_GEN2] },
+	{ .compatible = "renesas,cmt-48-gen2", .data = &sh_cmt_info[SH_CMT0_RCAR_GEN2] },
+	{ .compatible = "renesas,cmt0-rcar-gen2", .data = &sh_cmt_info[SH_CMT0_RCAR_GEN2] },
+	{ .compatible = "renesas,cmt1-rcar-gen2", .data = &sh_cmt_info[SH_CMT1_RCAR_GEN2] },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, sh_cmt_of_table);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* [PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1
@ 2015-06-21  8:09   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:09 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Add support for the new R-Car Gen2 CMT0 and CMT1 bindings. Support
for the old DT binding is still kept around, however devices using
such binding will be treated as a low-feature CMT0 device. If users
want to make use of CMT1-specific features then they need to update
their DTBs. No special CMT1-specific features are however implemented
by his patch, only DT bindings are redone as groundwork for future
feature patches.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 drivers/clocksource/sh_cmt.c |   40 ++++++++++++++++++++++++++++------------
 1 file changed, 28 insertions(+), 12 deletions(-)

--- 0005/drivers/clocksource/sh_cmt.c
+++ work/drivers/clocksource/sh_cmt.c	2015-06-20 14:16:44.472366518 +0900
@@ -39,16 +39,16 @@ struct sh_cmt_device;
  * SoC but also on the particular instance. The following table lists the main
  * characteristics of those flavours.
  *
- *			16B	32B	32B-F	48B	48B-2
+ *			16B	32B	32B-F	48B	R-Car Gen2
  * -----------------------------------------------------------------------------
  * Channels		2	1/4	1	6	2/8
  * Control Width	16	16	16	16	32
  * Counter Width	16	32	32	32/48	32/48
  * Shared Start/Stop	Y	Y	Y	Y	N
  *
- * The 48-bit gen2 version has a per-channel start/stop register located in the
- * channel registers block. All other versions have a shared start/stop register
- * located in the global space.
+ * The r8a73a4 / R-Car Gen2 version has a per-channel start/stop register
+ * located in the channel registers block. All other versions have a shared
+ * start/stop register located in the global space.
  *
  * Channels are indexed from 0 to N-1 in the documentation. The channel index
  * infers the start/stop bit position in the control register and the channel
@@ -68,7 +68,8 @@ enum sh_cmt_model {
 	SH_CMT_32BIT,
 	SH_CMT_32BIT_FAST,
 	SH_CMT_48BIT,
-	SH_CMT_48BIT_GEN2,
+	SH_CMT0_RCAR_GEN2,
+	SH_CMT1_RCAR_GEN2,
 };
 
 struct sh_cmt_info {
@@ -223,8 +224,20 @@ static const struct sh_cmt_info sh_cmt_i
 		.read_count = sh_cmt_read32,
 		.write_count = sh_cmt_write32,
 	},
-	[SH_CMT_48BIT_GEN2] = {
-		.model = SH_CMT_48BIT_GEN2,
+	[SH_CMT0_RCAR_GEN2] = {
+		.model = SH_CMT0_RCAR_GEN2,
+		.channels_mask = 0x60,
+		.width = 32,
+		.overflow_bit = SH_CMT32_CMCSR_CMF,
+		.clear_bits = ~(SH_CMT32_CMCSR_CMF | SH_CMT32_CMCSR_OVF),
+		.read_control = sh_cmt_read32,
+		.write_control = sh_cmt_write32,
+		.read_count = sh_cmt_read32,
+		.write_count = sh_cmt_write32,
+	},
+	[SH_CMT1_RCAR_GEN2] = {
+		.model = SH_CMT1_RCAR_GEN2,
+		.channels_mask = 0xff,
 		.width = 32,
 		.overflow_bit = SH_CMT32_CMCSR_CMF,
 		.clear_bits = ~(SH_CMT32_CMCSR_CMF | SH_CMT32_CMCSR_OVF),
@@ -861,6 +874,7 @@ static int sh_cmt_setup_channel(struct s
 	ch->cmt = cmt;
 	ch->index = index;
 	ch->hwidx = hwidx;
+	ch->timer_bit = hwidx;
 
 	/*
 	 * Compute the address of the channel control register block. For the
@@ -882,9 +896,11 @@ static int sh_cmt_setup_channel(struct s
 		 */
 		ch->ioctrl = cmt->mapbase + 0x40;
 		break;
-	case SH_CMT_48BIT_GEN2:
+	case SH_CMT0_RCAR_GEN2:
+	case SH_CMT1_RCAR_GEN2:
 		ch->iostart = cmt->mapbase + ch->hwidx * 0x100;
 		ch->ioctrl = ch->iostart + 0x10;
+		ch->timer_bit = 0;
 		break;
 	}
 
@@ -896,8 +912,6 @@ static int sh_cmt_setup_channel(struct s
 	ch->match_value = ch->max_match_value;
 	raw_spin_lock_init(&ch->lock);
 
-	ch->timer_bit = cmt->info->model == SH_CMT_48BIT_GEN2 ? 0 : ch->hwidx;
-
 	ret = sh_cmt_register(ch, dev_name(&cmt->pdev->dev),
 			      clockevent, clocksource);
 	if (ret) {
@@ -934,7 +948,7 @@ static const struct platform_device_id s
 	{ "sh-cmt-32", (kernel_ulong_t)&sh_cmt_info[SH_CMT_32BIT] },
 	{ "sh-cmt-32-fast", (kernel_ulong_t)&sh_cmt_info[SH_CMT_32BIT_FAST] },
 	{ "sh-cmt-48", (kernel_ulong_t)&sh_cmt_info[SH_CMT_48BIT] },
-	{ "sh-cmt-48-gen2", (kernel_ulong_t)&sh_cmt_info[SH_CMT_48BIT_GEN2] },
+	{ "sh-cmt-48-gen2", (kernel_ulong_t)&sh_cmt_info[SH_CMT0_RCAR_GEN2] },
 	{ }
 };
 MODULE_DEVICE_TABLE(platform, sh_cmt_id_table);
@@ -943,7 +957,9 @@ static const struct of_device_id sh_cmt_
 	{ .compatible = "renesas,cmt-32", .data = &sh_cmt_info[SH_CMT_32BIT] },
 	{ .compatible = "renesas,cmt-32-fast", .data = &sh_cmt_info[SH_CMT_32BIT_FAST] },
 	{ .compatible = "renesas,cmt-48", .data = &sh_cmt_info[SH_CMT_48BIT] },
-	{ .compatible = "renesas,cmt-48-gen2", .data = &sh_cmt_info[SH_CMT_48BIT_GEN2] },
+	{ .compatible = "renesas,cmt-48-gen2", .data = &sh_cmt_info[SH_CMT0_RCAR_GEN2] },
+	{ .compatible = "renesas,cmt0-rcar-gen2", .data = &sh_cmt_info[SH_CMT0_RCAR_GEN2] },
+	{ .compatible = "renesas,cmt1-rcar-gen2", .data = &sh_cmt_info[SH_CMT1_RCAR_GEN2] },
 	{ }
 };
 MODULE_DEVICE_TABLE(of, sh_cmt_of_table);
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
  2015-06-21  8:09 ` Magnus Damm
  (?)
@ 2015-06-21  8:10   ` Magnus Damm
  -1 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:10 UTC (permalink / raw)
  To: linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw,
	geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ,
	linux-sh-u79uwXL29TY76Z2rM5mHXA,
	daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A,
	horms+renesas-/R6kz+dDXgpPR4JQBCEnsQ, Magnus Damm,
	tglx-hfZtesqFncYOwBW4kG4KsQ

From: Magnus Damm <damm+renesas@opensource.se>

Update SoC-specific bindings for r8a73a4 and R-Car Gen2 CMT0 and CMT1.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |   26 ++++++++-------
 1 file changed, 15 insertions(+), 11 deletions(-)

--- 0006/Documentation/devicetree/bindings/timer/renesas,cmt.txt
+++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt	2015-06-20 14:34:16.092366518 +0900
@@ -40,20 +40,24 @@ Required Properties:
 		(CMT1 on sh7372, sh73a0 and r8a7740)
 		This is a fallback for the above renesas,cmt-48-* entries.
 
+    - "renesas,cmt0-r8a73a4" for the 32-bit CMT0 device included in r8a73a4.
+    - "renesas,cmt1-r8a73a4" for the 48-bit CMT1 device included in r8a73a4.
+    - "renesas,cmt0-r8a7790" for the 32-bit CMT0 device included in r8a7790.
+    - "renesas,cmt1-r8a7790" for the 48-bit CMT1 device included in r8a7790.
+    - "renesas,cmt0-r8a7791" for the 32-bit CMT0 device included in r8a7791.
+    - "renesas,cmt1-r8a7791" for the 48-bit CMT1 device included in r8a7791.
+    - "renesas,cmt0-r8a7793" for the 32-bit CMT0 device included in r8a7793.
+    - "renesas,cmt1-r8a7793" for the 48-bit CMT1 device included in r8a7793.
+    - "renesas,cmt0-r8a7794" for the 32-bit CMT0 device included in r8a7794.
+    - "renesas,cmt1-r8a7794" for the 48-bit CMT1 device included in r8a7794.
+
     - "renesas,cmt0-rcar-gen2" for 32-bit CMT0 devices included in R-Car Gen2.
     - "renesas,cmt1-rcar-gen2" for 48-bit CMT1 devices included in R-Car Gen2.
+		These are fallbacks for r8a73a4 and all the R-Car Gen2
+		entries	listed above.
 
-    - "renesas,cmt-48-r8a73a4" for the r8a73a4 48-bit CMT
-		(CMT[01])
-    - "renesas,cmt-48-r8a7790" for the r8a7790 48-bit CMT
-		(CMT[01])
-    - "renesas,cmt-48-r8a7791" for the r8a7791 48-bit CMT
-		(CMT[01])
-    - "renesas,cmt-48-gen2" for all second generation 48-bit CMT
-		(CMT[01] on r8a73a4, r8a7790 and r8a7791)
-		This is a fallback for the renesas,cmt-48-r8a73a4,
-		renesas,cmt-48-r8a7790 and renesas,cmt-48-r8a7791 entries.
-
+    - "renesas,cmt-48-gen2" is <deprecated>, use "renesas,cmt[01]-*" instead.
+    
   - reg: base address and length of the registers block for the timer module.
   - interrupts: interrupt-specifier for the timer, one per channel.
   - clocks: a list of phandle + clock-specifier pairs, one for each entry
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
@ 2015-06-21  8:10   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:10 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Update SoC-specific bindings for r8a73a4 and R-Car Gen2 CMT0 and CMT1.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |   26 ++++++++-------
 1 file changed, 15 insertions(+), 11 deletions(-)

--- 0006/Documentation/devicetree/bindings/timer/renesas,cmt.txt
+++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt	2015-06-20 14:34:16.092366518 +0900
@@ -40,20 +40,24 @@ Required Properties:
 		(CMT1 on sh7372, sh73a0 and r8a7740)
 		This is a fallback for the above renesas,cmt-48-* entries.
 
+    - "renesas,cmt0-r8a73a4" for the 32-bit CMT0 device included in r8a73a4.
+    - "renesas,cmt1-r8a73a4" for the 48-bit CMT1 device included in r8a73a4.
+    - "renesas,cmt0-r8a7790" for the 32-bit CMT0 device included in r8a7790.
+    - "renesas,cmt1-r8a7790" for the 48-bit CMT1 device included in r8a7790.
+    - "renesas,cmt0-r8a7791" for the 32-bit CMT0 device included in r8a7791.
+    - "renesas,cmt1-r8a7791" for the 48-bit CMT1 device included in r8a7791.
+    - "renesas,cmt0-r8a7793" for the 32-bit CMT0 device included in r8a7793.
+    - "renesas,cmt1-r8a7793" for the 48-bit CMT1 device included in r8a7793.
+    - "renesas,cmt0-r8a7794" for the 32-bit CMT0 device included in r8a7794.
+    - "renesas,cmt1-r8a7794" for the 48-bit CMT1 device included in r8a7794.
+
     - "renesas,cmt0-rcar-gen2" for 32-bit CMT0 devices included in R-Car Gen2.
     - "renesas,cmt1-rcar-gen2" for 48-bit CMT1 devices included in R-Car Gen2.
+		These are fallbacks for r8a73a4 and all the R-Car Gen2
+		entries	listed above.
 
-    - "renesas,cmt-48-r8a73a4" for the r8a73a4 48-bit CMT
-		(CMT[01])
-    - "renesas,cmt-48-r8a7790" for the r8a7790 48-bit CMT
-		(CMT[01])
-    - "renesas,cmt-48-r8a7791" for the r8a7791 48-bit CMT
-		(CMT[01])
-    - "renesas,cmt-48-gen2" for all second generation 48-bit CMT
-		(CMT[01] on r8a73a4, r8a7790 and r8a7791)
-		This is a fallback for the renesas,cmt-48-r8a73a4,
-		renesas,cmt-48-r8a7790 and renesas,cmt-48-r8a7791 entries.
-
+    - "renesas,cmt-48-gen2" is <deprecated>, use "renesas,cmt[01]-*" instead.
+    
   - reg: base address and length of the registers block for the timer module.
   - interrupts: interrupt-specifier for the timer, one per channel.
   - clocks: a list of phandle + clock-specifier pairs, one for each entry
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* [PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
@ 2015-06-21  8:10   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:10 UTC (permalink / raw)
  To: linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw,
	geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ,
	linux-sh-u79uwXL29TY76Z2rM5mHXA,
	daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A,
	horms+renesas-/R6kz+dDXgpPR4JQBCEnsQ, Magnus Damm,
	tglx-hfZtesqFncYOwBW4kG4KsQ

From: Magnus Damm <damm+renesas-yzvPICuk2ACczHhG9Qg4qA@public.gmane.org>

Update SoC-specific bindings for r8a73a4 and R-Car Gen2 CMT0 and CMT1.

Signed-off-by: Magnus Damm <damm+renesas-yzvPICuk2ACczHhG9Qg4qA@public.gmane.org>
---

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |   26 ++++++++-------
 1 file changed, 15 insertions(+), 11 deletions(-)

--- 0006/Documentation/devicetree/bindings/timer/renesas,cmt.txt
+++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt	2015-06-20 14:34:16.092366518 +0900
@@ -40,20 +40,24 @@ Required Properties:
 		(CMT1 on sh7372, sh73a0 and r8a7740)
 		This is a fallback for the above renesas,cmt-48-* entries.
 
+    - "renesas,cmt0-r8a73a4" for the 32-bit CMT0 device included in r8a73a4.
+    - "renesas,cmt1-r8a73a4" for the 48-bit CMT1 device included in r8a73a4.
+    - "renesas,cmt0-r8a7790" for the 32-bit CMT0 device included in r8a7790.
+    - "renesas,cmt1-r8a7790" for the 48-bit CMT1 device included in r8a7790.
+    - "renesas,cmt0-r8a7791" for the 32-bit CMT0 device included in r8a7791.
+    - "renesas,cmt1-r8a7791" for the 48-bit CMT1 device included in r8a7791.
+    - "renesas,cmt0-r8a7793" for the 32-bit CMT0 device included in r8a7793.
+    - "renesas,cmt1-r8a7793" for the 48-bit CMT1 device included in r8a7793.
+    - "renesas,cmt0-r8a7794" for the 32-bit CMT0 device included in r8a7794.
+    - "renesas,cmt1-r8a7794" for the 48-bit CMT1 device included in r8a7794.
+
     - "renesas,cmt0-rcar-gen2" for 32-bit CMT0 devices included in R-Car Gen2.
     - "renesas,cmt1-rcar-gen2" for 48-bit CMT1 devices included in R-Car Gen2.
+		These are fallbacks for r8a73a4 and all the R-Car Gen2
+		entries	listed above.
 
-    - "renesas,cmt-48-r8a73a4" for the r8a73a4 48-bit CMT
-		(CMT[01])
-    - "renesas,cmt-48-r8a7790" for the r8a7790 48-bit CMT
-		(CMT[01])
-    - "renesas,cmt-48-r8a7791" for the r8a7791 48-bit CMT
-		(CMT[01])
-    - "renesas,cmt-48-gen2" for all second generation 48-bit CMT
-		(CMT[01] on r8a73a4, r8a7790 and r8a7791)
-		This is a fallback for the renesas,cmt-48-r8a73a4,
-		renesas,cmt-48-r8a7790 and renesas,cmt-48-r8a7791 entries.
-
+    - "renesas,cmt-48-gen2" is <deprecated>, use "renesas,cmt[01]-*" instead.
+    
   - reg: base address and length of the registers block for the timer module.
   - interrupts: interrupt-specifier for the timer, one per channel.
   - clocks: a list of phandle + clock-specifier pairs, one for each entry
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in

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

* [PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS
  2015-06-21  8:09 ` Magnus Damm
  (?)
@ 2015-06-21  8:10   ` Magnus Damm
  -1 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:10 UTC (permalink / raw)
  To: linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw,
	geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ,
	linux-sh-u79uwXL29TY76Z2rM5mHXA,
	daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A,
	horms+renesas-/R6kz+dDXgpPR4JQBCEnsQ, Magnus Damm,
	tglx-hfZtesqFncYOwBW4kG4KsQ

From: Magnus Damm <damm+renesas@opensource.se>

Use recently updated r8a73a4 and R-Car Gen2 CMT0 and CMT1 compat strings.

With this change in place we can keep device-specific configuration in
the driver and the driver can be able to support CMT1 specific features.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 arch/arm/boot/dts/r8a73a4.dtsi |    2 +-
 arch/arm/boot/dts/r8a7790.dtsi |    4 ++--
 arch/arm/boot/dts/r8a7791.dtsi |    4 ++--
 arch/arm/boot/dts/r8a7793.dtsi |    4 ++--
 arch/arm/boot/dts/r8a7794.dtsi |    4 ++--
 5 files changed, 9 insertions(+), 9 deletions(-)

--- 0001/arch/arm/boot/dts/r8a73a4.dtsi
+++ work/arch/arm/boot/dts/r8a73a4.dtsi	2015-06-20 14:46:07.442366518 +0900
@@ -114,7 +114,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-r8a73a4", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a73a4", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A73A4_CLK_CMT1>;
--- 0001/arch/arm/boot/dts/r8a7790.dtsi
+++ work/arch/arm/boot/dts/r8a7790.dtsi	2015-06-20 14:47:48.652366518 +0900
@@ -212,7 +212,7 @@
 	};
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7790", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
@@ -225,7 +225,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a7790", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
--- 0001/arch/arm/boot/dts/r8a7791.dtsi
+++ work/arch/arm/boot/dts/r8a7791.dtsi	2015-06-20 14:47:28.652366518 +0900
@@ -193,7 +193,7 @@
 	};
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-r8a7791", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7791", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
@@ -206,7 +206,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-r8a7791", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a7791", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
--- 0001/arch/arm/boot/dts/r8a7793.dtsi
+++ work/arch/arm/boot/dts/r8a7793.dtsi	2015-06-20 14:46:58.642366518 +0900
@@ -62,7 +62,7 @@
 	};
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-r8a7793", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7793", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
@@ -75,7 +75,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-r8a7793", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a7793", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
--- 0001/arch/arm/boot/dts/r8a7794.dtsi
+++ work/arch/arm/boot/dts/r8a7794.dtsi	2015-06-20 14:47:17.122366518 +0900
@@ -51,7 +51,7 @@
 	};
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7794", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
@@ -64,7 +64,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a7794", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS
@ 2015-06-21  8:10   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:10 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Use recently updated r8a73a4 and R-Car Gen2 CMT0 and CMT1 compat strings.

With this change in place we can keep device-specific configuration in
the driver and the driver can be able to support CMT1 specific features.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 arch/arm/boot/dts/r8a73a4.dtsi |    2 +-
 arch/arm/boot/dts/r8a7790.dtsi |    4 ++--
 arch/arm/boot/dts/r8a7791.dtsi |    4 ++--
 arch/arm/boot/dts/r8a7793.dtsi |    4 ++--
 arch/arm/boot/dts/r8a7794.dtsi |    4 ++--
 5 files changed, 9 insertions(+), 9 deletions(-)

--- 0001/arch/arm/boot/dts/r8a73a4.dtsi
+++ work/arch/arm/boot/dts/r8a73a4.dtsi	2015-06-20 14:46:07.442366518 +0900
@@ -114,7 +114,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-r8a73a4", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a73a4", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A73A4_CLK_CMT1>;
--- 0001/arch/arm/boot/dts/r8a7790.dtsi
+++ work/arch/arm/boot/dts/r8a7790.dtsi	2015-06-20 14:47:48.652366518 +0900
@@ -212,7 +212,7 @@
 	};
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7790", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
@@ -225,7 +225,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a7790", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
--- 0001/arch/arm/boot/dts/r8a7791.dtsi
+++ work/arch/arm/boot/dts/r8a7791.dtsi	2015-06-20 14:47:28.652366518 +0900
@@ -193,7 +193,7 @@
 	};
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-r8a7791", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7791", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
@@ -206,7 +206,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-r8a7791", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a7791", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
--- 0001/arch/arm/boot/dts/r8a7793.dtsi
+++ work/arch/arm/boot/dts/r8a7793.dtsi	2015-06-20 14:46:58.642366518 +0900
@@ -62,7 +62,7 @@
 	};
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-r8a7793", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7793", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
@@ -75,7 +75,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-r8a7793", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a7793", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
--- 0001/arch/arm/boot/dts/r8a7794.dtsi
+++ work/arch/arm/boot/dts/r8a7794.dtsi	2015-06-20 14:47:17.122366518 +0900
@@ -51,7 +51,7 @@
 	};
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7794", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
@@ -64,7 +64,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a7794", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* [PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS
@ 2015-06-21  8:10   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:10 UTC (permalink / raw)
  To: linux-kernel-u79uwXL29TY76Z2rM5mHXA
  Cc: devicetree-u79uwXL29TY76Z2rM5mHXA,
	laurent.pinchart+renesas-ryLnwIuWjnjg/C1BVhZhaw,
	geert+renesas-gXvu3+zWzMSzQB+pC5nmwQ,
	linux-sh-u79uwXL29TY76Z2rM5mHXA,
	daniel.lezcano-QSEj5FYQhm4dnm+yROfE0A,
	horms+renesas-/R6kz+dDXgpPR4JQBCEnsQ, Magnus Damm,
	tglx-hfZtesqFncYOwBW4kG4KsQ

From: Magnus Damm <damm+renesas-yzvPICuk2ACczHhG9Qg4qA@public.gmane.org>

Use recently updated r8a73a4 and R-Car Gen2 CMT0 and CMT1 compat strings.

With this change in place we can keep device-specific configuration in
the driver and the driver can be able to support CMT1 specific features.

Signed-off-by: Magnus Damm <damm+renesas-yzvPICuk2ACczHhG9Qg4qA@public.gmane.org>
---

 arch/arm/boot/dts/r8a73a4.dtsi |    2 +-
 arch/arm/boot/dts/r8a7790.dtsi |    4 ++--
 arch/arm/boot/dts/r8a7791.dtsi |    4 ++--
 arch/arm/boot/dts/r8a7793.dtsi |    4 ++--
 arch/arm/boot/dts/r8a7794.dtsi |    4 ++--
 5 files changed, 9 insertions(+), 9 deletions(-)

--- 0001/arch/arm/boot/dts/r8a73a4.dtsi
+++ work/arch/arm/boot/dts/r8a73a4.dtsi	2015-06-20 14:46:07.442366518 +0900
@@ -114,7 +114,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-r8a73a4", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a73a4", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A73A4_CLK_CMT1>;
--- 0001/arch/arm/boot/dts/r8a7790.dtsi
+++ work/arch/arm/boot/dts/r8a7790.dtsi	2015-06-20 14:47:48.652366518 +0900
@@ -212,7 +212,7 @@
 	};
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7790", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
@@ -225,7 +225,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a7790", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
--- 0001/arch/arm/boot/dts/r8a7791.dtsi
+++ work/arch/arm/boot/dts/r8a7791.dtsi	2015-06-20 14:47:28.652366518 +0900
@@ -193,7 +193,7 @@
 	};
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-r8a7791", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7791", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
@@ -206,7 +206,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-r8a7791", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a7791", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
--- 0001/arch/arm/boot/dts/r8a7793.dtsi
+++ work/arch/arm/boot/dts/r8a7793.dtsi	2015-06-20 14:46:58.642366518 +0900
@@ -62,7 +62,7 @@
 	};
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-r8a7793", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7793", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
@@ -75,7 +75,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-r8a7793", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a7793", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
--- 0001/arch/arm/boot/dts/r8a7794.dtsi
+++ work/arch/arm/boot/dts/r8a7794.dtsi	2015-06-20 14:47:17.122366518 +0900
@@ -51,7 +51,7 @@
 	};
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7794", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
@@ -64,7 +64,7 @@
 	};
 
 	cmt1: timer@e6130000 {
-		compatible = "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt1-r8a7794", "renesas,cmt1-rcar-gen2";
 		reg = <0 0xe6130000 0 0x1004>;
 		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in

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

* [PATCH 07/08] devicetree: bindings: Deprecate property, update example
  2015-06-21  8:09 ` Magnus Damm
  (?)
@ 2015-06-21  8:10   ` Magnus Damm
  -1 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:10 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Deprecate "renesas,channels-mask" and update the r8a7790 CMT example.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |   24 ++++++++++-----
 1 file changed, 17 insertions(+), 7 deletions(-)

--- 0006/Documentation/devicetree/bindings/timer/renesas,cmt.txt
+++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt	2015-06-20 15:13:32.752366518 +0900
@@ -60,21 +60,31 @@ Required Properties:
     in clock-names.
   - clock-names: must contain "fck" for the functional clock.
 
-  - renesas,channels-mask: bitmask of the available channels.
+  - renesas,channels-mask: <deprecated>, information kept in device driver.
 
 
-Example: R8A7790 (R-Car H2) CMT0 node
-
-	CMT0 on R8A7790 implements hardware channels 5 and 6 only and names
-	them channels 0 and 1 in the documentation.
+Example: R8A7790 (R-Car H2) CMT0 and CMT1 nodes
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7790", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 142 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7790_CLK_CMT0>;
 		clock-names = "fck";
+	};
 
-		renesas,channels-mask = <0x60>;
+	cmt1: timer@e6130000 {
+		compatible = "renesas,cmt1-r8a7790", "renesas,cmt1-rcar-gen2";
+		reg = <0 0xe6130000 0 0x1004>;
+		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 122 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 123 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 124 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 125 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 126 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&mstp3_clks R8A7790_CLK_CMT1>;
+		clock-names = "fck";
 	};
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 07/08] devicetree: bindings: Deprecate property, update example
@ 2015-06-21  8:10   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:10 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Deprecate "renesas,channels-mask" and update the r8a7790 CMT example.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |   24 ++++++++++-----
 1 file changed, 17 insertions(+), 7 deletions(-)

--- 0006/Documentation/devicetree/bindings/timer/renesas,cmt.txt
+++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt	2015-06-20 15:13:32.752366518 +0900
@@ -60,21 +60,31 @@ Required Properties:
     in clock-names.
   - clock-names: must contain "fck" for the functional clock.
 
-  - renesas,channels-mask: bitmask of the available channels.
+  - renesas,channels-mask: <deprecated>, information kept in device driver.
 
 
-Example: R8A7790 (R-Car H2) CMT0 node
-
-	CMT0 on R8A7790 implements hardware channels 5 and 6 only and names
-	them channels 0 and 1 in the documentation.
+Example: R8A7790 (R-Car H2) CMT0 and CMT1 nodes
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7790", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 142 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7790_CLK_CMT0>;
 		clock-names = "fck";
+	};
 
-		renesas,channels-mask = <0x60>;
+	cmt1: timer@e6130000 {
+		compatible = "renesas,cmt1-r8a7790", "renesas,cmt1-rcar-gen2";
+		reg = <0 0xe6130000 0 0x1004>;
+		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 122 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 123 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 124 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 125 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 126 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&mstp3_clks R8A7790_CLK_CMT1>;
+		clock-names = "fck";
 	};
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* [PATCH 07/08] devicetree: bindings: Deprecate property, update example
@ 2015-06-21  8:10   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:10 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Deprecate "renesas,channels-mask" and update the r8a7790 CMT example.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 Documentation/devicetree/bindings/timer/renesas,cmt.txt |   24 ++++++++++-----
 1 file changed, 17 insertions(+), 7 deletions(-)

--- 0006/Documentation/devicetree/bindings/timer/renesas,cmt.txt
+++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt	2015-06-20 15:13:32.752366518 +0900
@@ -60,21 +60,31 @@ Required Properties:
     in clock-names.
   - clock-names: must contain "fck" for the functional clock.
 
-  - renesas,channels-mask: bitmask of the available channels.
+  - renesas,channels-mask: <deprecated>, information kept in device driver.
 
 
-Example: R8A7790 (R-Car H2) CMT0 node
-
-	CMT0 on R8A7790 implements hardware channels 5 and 6 only and names
-	them channels 0 and 1 in the documentation.
+Example: R8A7790 (R-Car H2) CMT0 and CMT1 nodes
 
 	cmt0: timer@ffca0000 {
-		compatible = "renesas,cmt-48-r8a7790", "renesas,cmt-48-gen2";
+		compatible = "renesas,cmt0-r8a7790", "renesas,cmt0-rcar-gen2";
 		reg = <0 0xffca0000 0 0x1004>;
 		interrupts = <0 142 IRQ_TYPE_LEVEL_HIGH>,
 			     <0 142 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7790_CLK_CMT0>;
 		clock-names = "fck";
+	};
 
-		renesas,channels-mask = <0x60>;
+	cmt1: timer@e6130000 {
+		compatible = "renesas,cmt1-r8a7790", "renesas,cmt1-rcar-gen2";
+		reg = <0 0xe6130000 0 0x1004>;
+		interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 121 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 122 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 123 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 124 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 125 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 126 IRQ_TYPE_LEVEL_HIGH>,
+			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&mstp3_clks R8A7790_CLK_CMT1>;
+		clock-names = "fck";
 	};
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
  2015-06-21  8:09 ` Magnus Damm
  (?)
@ 2015-06-21  8:10   ` Magnus Damm
  -1 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:10 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Update the DTS to remove the now deprecated "renesas,channels-mask" property.

The channel information is now kept in the device driver and can easily
be determined based on the compat string.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 arch/arm/boot/dts/r8a73a4.dtsi |    3 ---
 arch/arm/boot/dts/r8a7740.dtsi |    3 ---
 arch/arm/boot/dts/r8a7790.dtsi |    6 ------
 arch/arm/boot/dts/r8a7791.dtsi |    6 ------
 arch/arm/boot/dts/r8a7793.dtsi |    6 ------
 arch/arm/boot/dts/r8a7794.dtsi |    6 ------
 arch/arm/boot/dts/sh73a0.dtsi  |    3 ---
 7 files changed, 33 deletions(-)

--- 0009/arch/arm/boot/dts/r8a73a4.dtsi
+++ work/arch/arm/boot/dts/r8a73a4.dtsi	2015-06-20 14:51:41.942366518 +0900
@@ -120,9 +120,6 @@
 		clocks = <&mstp3_clks R8A73A4_CLK_CMT1>;
 		clock-names = "fck";
 		power-domains = <&pd_c5>;
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0001/arch/arm/boot/dts/r8a7740.dtsi
+++ work/arch/arm/boot/dts/r8a7740.dtsi	2015-06-20 14:52:11.332366518 +0900
@@ -60,9 +60,6 @@
 		clocks = <&mstp3_clks R8A7740_CLK_CMT1>;
 		clock-names = "fck";
 		power-domains = <&pd_c5>;
-
-		renesas,channels-mask = <0x3f>;
-
 		status = "disabled";
 	};
 
--- 0009/arch/arm/boot/dts/r8a7790.dtsi
+++ work/arch/arm/boot/dts/r8a7790.dtsi	2015-06-20 14:50:43.532366518 +0900
@@ -218,9 +218,6 @@
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7790_CLK_CMT0>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0x60>;
-
 		status = "disabled";
 	};
 
@@ -237,9 +234,6 @@
 			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7790_CLK_CMT1>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0009/arch/arm/boot/dts/r8a7791.dtsi
+++ work/arch/arm/boot/dts/r8a7791.dtsi	2015-06-20 14:51:00.622366518 +0900
@@ -199,9 +199,6 @@
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7791_CLK_CMT0>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0x60>;
-
 		status = "disabled";
 	};
 
@@ -218,9 +215,6 @@
 			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7791_CLK_CMT1>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0009/arch/arm/boot/dts/r8a7793.dtsi
+++ work/arch/arm/boot/dts/r8a7793.dtsi	2015-06-20 14:51:16.702366518 +0900
@@ -68,9 +68,6 @@
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7793_CLK_CMT0>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0x60>;
-
 		status = "disabled";
 	};
 
@@ -87,9 +84,6 @@
 			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7793_CLK_CMT1>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0009/arch/arm/boot/dts/r8a7794.dtsi
+++ work/arch/arm/boot/dts/r8a7794.dtsi	2015-06-20 14:51:29.512366518 +0900
@@ -57,9 +57,6 @@
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7794_CLK_CMT0>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0x60>;
-
 		status = "disabled";
 	};
 
@@ -76,9 +73,6 @@
 			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7794_CLK_CMT1>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0001/arch/arm/boot/dts/sh73a0.dtsi
+++ work/arch/arm/boot/dts/sh73a0.dtsi	2015-06-20 14:51:56.502366518 +0900
@@ -84,9 +84,6 @@
 		clocks = <&mstp3_clks SH73A0_CLK_CMT1>;
 		clock-names = "fck";
 		power-domains = <&pd_c5>;
-
-		renesas,channels-mask = <0x3f>;
-
 		status = "disabled";
 	};
 
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
@ 2015-06-21  8:10   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:10 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Update the DTS to remove the now deprecated "renesas,channels-mask" property.

The channel information is now kept in the device driver and can easily
be determined based on the compat string.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 arch/arm/boot/dts/r8a73a4.dtsi |    3 ---
 arch/arm/boot/dts/r8a7740.dtsi |    3 ---
 arch/arm/boot/dts/r8a7790.dtsi |    6 ------
 arch/arm/boot/dts/r8a7791.dtsi |    6 ------
 arch/arm/boot/dts/r8a7793.dtsi |    6 ------
 arch/arm/boot/dts/r8a7794.dtsi |    6 ------
 arch/arm/boot/dts/sh73a0.dtsi  |    3 ---
 7 files changed, 33 deletions(-)

--- 0009/arch/arm/boot/dts/r8a73a4.dtsi
+++ work/arch/arm/boot/dts/r8a73a4.dtsi	2015-06-20 14:51:41.942366518 +0900
@@ -120,9 +120,6 @@
 		clocks = <&mstp3_clks R8A73A4_CLK_CMT1>;
 		clock-names = "fck";
 		power-domains = <&pd_c5>;
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0001/arch/arm/boot/dts/r8a7740.dtsi
+++ work/arch/arm/boot/dts/r8a7740.dtsi	2015-06-20 14:52:11.332366518 +0900
@@ -60,9 +60,6 @@
 		clocks = <&mstp3_clks R8A7740_CLK_CMT1>;
 		clock-names = "fck";
 		power-domains = <&pd_c5>;
-
-		renesas,channels-mask = <0x3f>;
-
 		status = "disabled";
 	};
 
--- 0009/arch/arm/boot/dts/r8a7790.dtsi
+++ work/arch/arm/boot/dts/r8a7790.dtsi	2015-06-20 14:50:43.532366518 +0900
@@ -218,9 +218,6 @@
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7790_CLK_CMT0>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0x60>;
-
 		status = "disabled";
 	};
 
@@ -237,9 +234,6 @@
 			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7790_CLK_CMT1>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0009/arch/arm/boot/dts/r8a7791.dtsi
+++ work/arch/arm/boot/dts/r8a7791.dtsi	2015-06-20 14:51:00.622366518 +0900
@@ -199,9 +199,6 @@
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7791_CLK_CMT0>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0x60>;
-
 		status = "disabled";
 	};
 
@@ -218,9 +215,6 @@
 			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7791_CLK_CMT1>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0009/arch/arm/boot/dts/r8a7793.dtsi
+++ work/arch/arm/boot/dts/r8a7793.dtsi	2015-06-20 14:51:16.702366518 +0900
@@ -68,9 +68,6 @@
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7793_CLK_CMT0>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0x60>;
-
 		status = "disabled";
 	};
 
@@ -87,9 +84,6 @@
 			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7793_CLK_CMT1>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0009/arch/arm/boot/dts/r8a7794.dtsi
+++ work/arch/arm/boot/dts/r8a7794.dtsi	2015-06-20 14:51:29.512366518 +0900
@@ -57,9 +57,6 @@
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7794_CLK_CMT0>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0x60>;
-
 		status = "disabled";
 	};
 
@@ -76,9 +73,6 @@
 			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7794_CLK_CMT1>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0001/arch/arm/boot/dts/sh73a0.dtsi
+++ work/arch/arm/boot/dts/sh73a0.dtsi	2015-06-20 14:51:56.502366518 +0900
@@ -84,9 +84,6 @@
 		clocks = <&mstp3_clks SH73A0_CLK_CMT1>;
 		clock-names = "fck";
 		power-domains = <&pd_c5>;
-
-		renesas,channels-mask = <0x3f>;
-
 		status = "disabled";
 	};
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
@ 2015-06-21  8:10   ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-21  8:10 UTC (permalink / raw)
  To: linux-kernel
  Cc: devicetree, laurent.pinchart+renesas, geert+renesas, linux-sh,
	daniel.lezcano, horms+renesas, Magnus Damm, tglx

From: Magnus Damm <damm+renesas@opensource.se>

Update the DTS to remove the now deprecated "renesas,channels-mask" property.

The channel information is now kept in the device driver and can easily
be determined based on the compat string.

Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
---

 arch/arm/boot/dts/r8a73a4.dtsi |    3 ---
 arch/arm/boot/dts/r8a7740.dtsi |    3 ---
 arch/arm/boot/dts/r8a7790.dtsi |    6 ------
 arch/arm/boot/dts/r8a7791.dtsi |    6 ------
 arch/arm/boot/dts/r8a7793.dtsi |    6 ------
 arch/arm/boot/dts/r8a7794.dtsi |    6 ------
 arch/arm/boot/dts/sh73a0.dtsi  |    3 ---
 7 files changed, 33 deletions(-)

--- 0009/arch/arm/boot/dts/r8a73a4.dtsi
+++ work/arch/arm/boot/dts/r8a73a4.dtsi	2015-06-20 14:51:41.942366518 +0900
@@ -120,9 +120,6 @@
 		clocks = <&mstp3_clks R8A73A4_CLK_CMT1>;
 		clock-names = "fck";
 		power-domains = <&pd_c5>;
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0001/arch/arm/boot/dts/r8a7740.dtsi
+++ work/arch/arm/boot/dts/r8a7740.dtsi	2015-06-20 14:52:11.332366518 +0900
@@ -60,9 +60,6 @@
 		clocks = <&mstp3_clks R8A7740_CLK_CMT1>;
 		clock-names = "fck";
 		power-domains = <&pd_c5>;
-
-		renesas,channels-mask = <0x3f>;
-
 		status = "disabled";
 	};
 
--- 0009/arch/arm/boot/dts/r8a7790.dtsi
+++ work/arch/arm/boot/dts/r8a7790.dtsi	2015-06-20 14:50:43.532366518 +0900
@@ -218,9 +218,6 @@
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7790_CLK_CMT0>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0x60>;
-
 		status = "disabled";
 	};
 
@@ -237,9 +234,6 @@
 			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7790_CLK_CMT1>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0009/arch/arm/boot/dts/r8a7791.dtsi
+++ work/arch/arm/boot/dts/r8a7791.dtsi	2015-06-20 14:51:00.622366518 +0900
@@ -199,9 +199,6 @@
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7791_CLK_CMT0>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0x60>;
-
 		status = "disabled";
 	};
 
@@ -218,9 +215,6 @@
 			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7791_CLK_CMT1>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0009/arch/arm/boot/dts/r8a7793.dtsi
+++ work/arch/arm/boot/dts/r8a7793.dtsi	2015-06-20 14:51:16.702366518 +0900
@@ -68,9 +68,6 @@
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7793_CLK_CMT0>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0x60>;
-
 		status = "disabled";
 	};
 
@@ -87,9 +84,6 @@
 			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7793_CLK_CMT1>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0009/arch/arm/boot/dts/r8a7794.dtsi
+++ work/arch/arm/boot/dts/r8a7794.dtsi	2015-06-20 14:51:29.512366518 +0900
@@ -57,9 +57,6 @@
 			     <0 143 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp1_clks R8A7794_CLK_CMT0>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0x60>;
-
 		status = "disabled";
 	};
 
@@ -76,9 +73,6 @@
 			     <0 127 IRQ_TYPE_LEVEL_HIGH>;
 		clocks = <&mstp3_clks R8A7794_CLK_CMT1>;
 		clock-names = "fck";
-
-		renesas,channels-mask = <0xff>;
-
 		status = "disabled";
 	};
 
--- 0001/arch/arm/boot/dts/sh73a0.dtsi
+++ work/arch/arm/boot/dts/sh73a0.dtsi	2015-06-20 14:51:56.502366518 +0900
@@ -84,9 +84,6 @@
 		clocks = <&mstp3_clks SH73A0_CLK_CMT1>;
 		clock-names = "fck";
 		power-domains = <&pd_c5>;
-
-		renesas,channels-mask = <0x3f>;
-
 		status = "disabled";
 	};
 
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
  2015-06-21  8:09   ` Magnus Damm
  (?)
@ 2015-06-22  9:38     ` Geert Uytterhoeven
  -1 siblings, 0 replies; 53+ messages in thread
From: Geert Uytterhoeven @ 2015-06-22  9:38 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Magnus,

On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
>
> Remove the sh7372 CMT compat string to reduce maintenance burden.
>
> It should be fine to break DT compatibility because:
> 1) The sh7372 SoC support has been removed from upstream
> 2) The sh7372 CMT DT binding was never part of upstream DTS
> 3) The CMT driver never matches on the sh7372 binding
>
> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
>
>  Documentation/devicetree/bindings/timer/renesas,cmt.txt |    2 --
>  1 file changed, 2 deletions(-)
>
> --- 0001/Documentation/devicetree/bindings/timer/renesas,cmt.txt
> +++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt        2015-06-20 13:47:59.922366518 +0900
> @@ -32,8 +32,6 @@ Required Properties:
>                 (CMT[234] on sh7372, sh73a0 and r8a7740)
>                 This is a fallback for the above renesas,cmt-32-fast-* entries.
>
> -    - "renesas,cmt-48-sh7372" for the sh7372 48-bit CMT
> -               (CMT1)

You forgot to remove the reference to sh7372 in the "renesas,cmt-48"
fallback section, and the "renesas,cmt-32-sh7372" and
"renesas,cmt-32-fast-sh7372" bindings.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
@ 2015-06-22  9:38     ` Geert Uytterhoeven
  0 siblings, 0 replies; 53+ messages in thread
From: Geert Uytterhoeven @ 2015-06-22  9:38 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Magnus,

On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
>
> Remove the sh7372 CMT compat string to reduce maintenance burden.
>
> It should be fine to break DT compatibility because:
> 1) The sh7372 SoC support has been removed from upstream
> 2) The sh7372 CMT DT binding was never part of upstream DTS
> 3) The CMT driver never matches on the sh7372 binding
>
> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
>
>  Documentation/devicetree/bindings/timer/renesas,cmt.txt |    2 --
>  1 file changed, 2 deletions(-)
>
> --- 0001/Documentation/devicetree/bindings/timer/renesas,cmt.txt
> +++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt        2015-06-20 13:47:59.922366518 +0900
> @@ -32,8 +32,6 @@ Required Properties:
>                 (CMT[234] on sh7372, sh73a0 and r8a7740)
>                 This is a fallback for the above renesas,cmt-32-fast-* entries.
>
> -    - "renesas,cmt-48-sh7372" for the sh7372 48-bit CMT
> -               (CMT1)

You forgot to remove the reference to sh7372 in the "renesas,cmt-48"
fallback section, and the "renesas,cmt-32-sh7372" and
"renesas,cmt-32-fast-sh7372" bindings.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* Re: [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
@ 2015-06-22  9:38     ` Geert Uytterhoeven
  0 siblings, 0 replies; 53+ messages in thread
From: Geert Uytterhoeven @ 2015-06-22  9:38 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Magnus,

On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
>
> Remove the sh7372 CMT compat string to reduce maintenance burden.
>
> It should be fine to break DT compatibility because:
> 1) The sh7372 SoC support has been removed from upstream
> 2) The sh7372 CMT DT binding was never part of upstream DTS
> 3) The CMT driver never matches on the sh7372 binding
>
> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
>
>  Documentation/devicetree/bindings/timer/renesas,cmt.txt |    2 --
>  1 file changed, 2 deletions(-)
>
> --- 0001/Documentation/devicetree/bindings/timer/renesas,cmt.txt
> +++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt        2015-06-20 13:47:59.922366518 +0900
> @@ -32,8 +32,6 @@ Required Properties:
>                 (CMT[234] on sh7372, sh73a0 and r8a7740)
>                 This is a fallback for the above renesas,cmt-32-fast-* entries.
>
> -    - "renesas,cmt-48-sh7372" for the sh7372 48-bit CMT
> -               (CMT1)

You forgot to remove the reference to sh7372 in the "renesas,cmt-48"
fallback section, and the "renesas,cmt-32-sh7372" and
"renesas,cmt-32-fast-sh7372" bindings.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
  2015-06-22  9:38     ` Geert Uytterhoeven
  (?)
@ 2015-06-22  9:41       ` Magnus Damm
  -1 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-22  9:41 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Geert,

On Mon, Jun 22, 2015 at 6:38 PM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> Hi Magnus,
>
> On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
>> From: Magnus Damm <damm+renesas@opensource.se>
>>
>> Remove the sh7372 CMT compat string to reduce maintenance burden.
>>
>> It should be fine to break DT compatibility because:
>> 1) The sh7372 SoC support has been removed from upstream
>> 2) The sh7372 CMT DT binding was never part of upstream DTS
>> 3) The CMT driver never matches on the sh7372 binding
>>
>> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
>> ---
>>
>>  Documentation/devicetree/bindings/timer/renesas,cmt.txt |    2 --
>>  1 file changed, 2 deletions(-)
>>
>> --- 0001/Documentation/devicetree/bindings/timer/renesas,cmt.txt
>> +++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt        2015-06-20 13:47:59.922366518 +0900
>> @@ -32,8 +32,6 @@ Required Properties:
>>                 (CMT[234] on sh7372, sh73a0 and r8a7740)
>>                 This is a fallback for the above renesas,cmt-32-fast-* entries.
>>
>> -    - "renesas,cmt-48-sh7372" for the sh7372 48-bit CMT
>> -               (CMT1)
>
> You forgot to remove the reference to sh7372 in the "renesas,cmt-48"
> fallback section, and the "renesas,cmt-32-sh7372" and
> "renesas,cmt-32-fast-sh7372" bindings.

Thanks, yeah, I noticed that after sending out the series. I couldn't
find any DT users of the "fast" group though, so perhaps I need to
extend my pruning a bit. First it would be good to see if we could
reach an agreement about how to handle DT compat strings for these
kind of devices though. (devices where instances within one particular
SoC are quite different).

Cheers,

/ magnus
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
@ 2015-06-22  9:41       ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-22  9:41 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Geert,

On Mon, Jun 22, 2015 at 6:38 PM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> Hi Magnus,
>
> On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
>> From: Magnus Damm <damm+renesas@opensource.se>
>>
>> Remove the sh7372 CMT compat string to reduce maintenance burden.
>>
>> It should be fine to break DT compatibility because:
>> 1) The sh7372 SoC support has been removed from upstream
>> 2) The sh7372 CMT DT binding was never part of upstream DTS
>> 3) The CMT driver never matches on the sh7372 binding
>>
>> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
>> ---
>>
>>  Documentation/devicetree/bindings/timer/renesas,cmt.txt |    2 --
>>  1 file changed, 2 deletions(-)
>>
>> --- 0001/Documentation/devicetree/bindings/timer/renesas,cmt.txt
>> +++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt        2015-06-20 13:47:59.922366518 +0900
>> @@ -32,8 +32,6 @@ Required Properties:
>>                 (CMT[234] on sh7372, sh73a0 and r8a7740)
>>                 This is a fallback for the above renesas,cmt-32-fast-* entries.
>>
>> -    - "renesas,cmt-48-sh7372" for the sh7372 48-bit CMT
>> -               (CMT1)
>
> You forgot to remove the reference to sh7372 in the "renesas,cmt-48"
> fallback section, and the "renesas,cmt-32-sh7372" and
> "renesas,cmt-32-fast-sh7372" bindings.

Thanks, yeah, I noticed that after sending out the series. I couldn't
find any DT users of the "fast" group though, so perhaps I need to
extend my pruning a bit. First it would be good to see if we could
reach an agreement about how to handle DT compat strings for these
kind of devices though. (devices where instances within one particular
SoC are quite different).

Cheers,

/ magnus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* Re: [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
@ 2015-06-22  9:41       ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-22  9:41 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Geert,

On Mon, Jun 22, 2015 at 6:38 PM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> Hi Magnus,
>
> On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
>> From: Magnus Damm <damm+renesas@opensource.se>
>>
>> Remove the sh7372 CMT compat string to reduce maintenance burden.
>>
>> It should be fine to break DT compatibility because:
>> 1) The sh7372 SoC support has been removed from upstream
>> 2) The sh7372 CMT DT binding was never part of upstream DTS
>> 3) The CMT driver never matches on the sh7372 binding
>>
>> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
>> ---
>>
>>  Documentation/devicetree/bindings/timer/renesas,cmt.txt |    2 --
>>  1 file changed, 2 deletions(-)
>>
>> --- 0001/Documentation/devicetree/bindings/timer/renesas,cmt.txt
>> +++ work/Documentation/devicetree/bindings/timer/renesas,cmt.txt        2015-06-20 13:47:59.922366518 +0900
>> @@ -32,8 +32,6 @@ Required Properties:
>>                 (CMT[234] on sh7372, sh73a0 and r8a7740)
>>                 This is a fallback for the above renesas,cmt-32-fast-* entries.
>>
>> -    - "renesas,cmt-48-sh7372" for the sh7372 48-bit CMT
>> -               (CMT1)
>
> You forgot to remove the reference to sh7372 in the "renesas,cmt-48"
> fallback section, and the "renesas,cmt-32-sh7372" and
> "renesas,cmt-32-fast-sh7372" bindings.

Thanks, yeah, I noticed that after sending out the series. I couldn't
find any DT users of the "fast" group though, so perhaps I need to
extend my pruning a bit. First it would be good to see if we could
reach an agreement about how to handle DT compat strings for these
kind of devices though. (devices where instances within one particular
SoC are quite different).

Cheers,

/ magnus
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
  2015-06-21  8:09   ` Magnus Damm
  (?)
@ 2015-06-22  9:43     ` Geert Uytterhoeven
  -1 siblings, 0 replies; 53+ messages in thread
From: Geert Uytterhoeven @ 2015-06-22  9:43 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Laurent Pinchart,
	Geert Uytterhoeven, Linux-sh list, Daniel Lezcano, Simon Horman,
	Thomas Gleixner

On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
>
> Always use 0x3f as channel mask for the SH_CMT_48BIT type of devices.
> Once this patch is applied the "renesas,channels-mask" property will
> be ignored by the driver for older devices matching SH_CMT_48BIT. In
> the future when all CMT types store channel mask in the driver then
> we will be able to deprecate and remove "renesas,channels-mask" from DTS.
>
> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
>
>  drivers/clocksource/sh_cmt.c |   14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
>
> --- 0001/drivers/clocksource/sh_cmt.c
> +++ work/drivers/clocksource/sh_cmt.c   2015-06-20 15:25:54.302366518 +0900

> @@ -969,9 +972,14 @@ static int sh_cmt_setup(struct sh_cmt_de
>                 id = of_match_node(sh_cmt_of_table, pdev->dev.of_node);
>                 cmt->info = id->data;
>
> -               ret = sh_cmt_parse_dt(cmt);
> -               if (ret < 0)
> -                       return ret;
> +               /* prefer in-driver channel configuration over DT */
> +               if (cmt->info->channels_mask) {
> +                       cmt->hw_channels = cmt->info_channels_mask;

drivers/clocksource/sh_cmt.c: In function 'sh_cmt_setup':
drivers/clocksource/sh_cmt.c:996:26: error: 'struct sh_cmt_device' has
no member named 'info_channels_mask'
    cmt->hw_channels = cmt->info_channels_mask;
                          ^

"cmt->info->channels_mask"

> +               } else {
> +                       ret = sh_cmt_parse_dt(cmt);
> +                       if (ret < 0)
> +                               return ret;
> +               }

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
@ 2015-06-22  9:43     ` Geert Uytterhoeven
  0 siblings, 0 replies; 53+ messages in thread
From: Geert Uytterhoeven @ 2015-06-22  9:43 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
>
> Always use 0x3f as channel mask for the SH_CMT_48BIT type of devices.
> Once this patch is applied the "renesas,channels-mask" property will
> be ignored by the driver for older devices matching SH_CMT_48BIT. In
> the future when all CMT types store channel mask in the driver then
> we will be able to deprecate and remove "renesas,channels-mask" from DTS.
>
> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
>
>  drivers/clocksource/sh_cmt.c |   14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
>
> --- 0001/drivers/clocksource/sh_cmt.c
> +++ work/drivers/clocksource/sh_cmt.c   2015-06-20 15:25:54.302366518 +0900

> @@ -969,9 +972,14 @@ static int sh_cmt_setup(struct sh_cmt_de
>                 id = of_match_node(sh_cmt_of_table, pdev->dev.of_node);
>                 cmt->info = id->data;
>
> -               ret = sh_cmt_parse_dt(cmt);
> -               if (ret < 0)
> -                       return ret;
> +               /* prefer in-driver channel configuration over DT */
> +               if (cmt->info->channels_mask) {
> +                       cmt->hw_channels = cmt->info_channels_mask;

drivers/clocksource/sh_cmt.c: In function 'sh_cmt_setup':
drivers/clocksource/sh_cmt.c:996:26: error: 'struct sh_cmt_device' has
no member named 'info_channels_mask'
    cmt->hw_channels = cmt->info_channels_mask;
                          ^

"cmt->info->channels_mask"

> +               } else {
> +                       ret = sh_cmt_parse_dt(cmt);
> +                       if (ret < 0)
> +                               return ret;
> +               }

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* Re: [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
@ 2015-06-22  9:43     ` Geert Uytterhoeven
  0 siblings, 0 replies; 53+ messages in thread
From: Geert Uytterhoeven @ 2015-06-22  9:43 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	devicetree-u79uwXL29TY76Z2rM5mHXA, Laurent Pinchart,
	Geert Uytterhoeven, Linux-sh list, Daniel Lezcano, Simon Horman,
	Thomas Gleixner

On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> From: Magnus Damm <damm+renesas-yzvPICuk2ACczHhG9Qg4qA@public.gmane.org>
>
> Always use 0x3f as channel mask for the SH_CMT_48BIT type of devices.
> Once this patch is applied the "renesas,channels-mask" property will
> be ignored by the driver for older devices matching SH_CMT_48BIT. In
> the future when all CMT types store channel mask in the driver then
> we will be able to deprecate and remove "renesas,channels-mask" from DTS.
>
> Signed-off-by: Magnus Damm <damm+renesas-yzvPICuk2ACczHhG9Qg4qA@public.gmane.org>
> ---
>
>  drivers/clocksource/sh_cmt.c |   14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
>
> --- 0001/drivers/clocksource/sh_cmt.c
> +++ work/drivers/clocksource/sh_cmt.c   2015-06-20 15:25:54.302366518 +0900

> @@ -969,9 +972,14 @@ static int sh_cmt_setup(struct sh_cmt_de
>                 id = of_match_node(sh_cmt_of_table, pdev->dev.of_node);
>                 cmt->info = id->data;
>
> -               ret = sh_cmt_parse_dt(cmt);
> -               if (ret < 0)
> -                       return ret;
> +               /* prefer in-driver channel configuration over DT */
> +               if (cmt->info->channels_mask) {
> +                       cmt->hw_channels = cmt->info_channels_mask;

drivers/clocksource/sh_cmt.c: In function 'sh_cmt_setup':
drivers/clocksource/sh_cmt.c:996:26: error: 'struct sh_cmt_device' has
no member named 'info_channels_mask'
    cmt->hw_channels = cmt->info_channels_mask;
                          ^

"cmt->info->channels_mask"

> +               } else {
> +                       ret = sh_cmt_parse_dt(cmt);
> +                       if (ret < 0)
> +                               return ret;
> +               }

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in

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

* Re: [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
  2015-06-22  9:43     ` Geert Uytterhoeven
  (?)
@ 2015-06-22  9:45       ` Magnus Damm
  -1 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-22  9:45 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

On Mon, Jun 22, 2015 at 6:43 PM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
>> From: Magnus Damm <damm+renesas@opensource.se>
>>
>> Always use 0x3f as channel mask for the SH_CMT_48BIT type of devices.
>> Once this patch is applied the "renesas,channels-mask" property will
>> be ignored by the driver for older devices matching SH_CMT_48BIT. In
>> the future when all CMT types store channel mask in the driver then
>> we will be able to deprecate and remove "renesas,channels-mask" from DTS.
>>
>> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
>> ---
>>
>>  drivers/clocksource/sh_cmt.c |   14 +++++++++++---
>>  1 file changed, 11 insertions(+), 3 deletions(-)
>>
>> --- 0001/drivers/clocksource/sh_cmt.c
>> +++ work/drivers/clocksource/sh_cmt.c   2015-06-20 15:25:54.302366518 +0900
>
>> @@ -969,9 +972,14 @@ static int sh_cmt_setup(struct sh_cmt_de
>>                 id = of_match_node(sh_cmt_of_table, pdev->dev.of_node);
>>                 cmt->info = id->data;
>>
>> -               ret = sh_cmt_parse_dt(cmt);
>> -               if (ret < 0)
>> -                       return ret;
>> +               /* prefer in-driver channel configuration over DT */
>> +               if (cmt->info->channels_mask) {
>> +                       cmt->hw_channels = cmt->info_channels_mask;
>
> drivers/clocksource/sh_cmt.c: In function 'sh_cmt_setup':
> drivers/clocksource/sh_cmt.c:996:26: error: 'struct sh_cmt_device' has
> no member named 'info_channels_mask'
>     cmt->hw_channels = cmt->info_channels_mask;
>                           ^
>
> "cmt->info->channels_mask"

Ouch, will fix. Thanks!

/ magnus
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
@ 2015-06-22  9:45       ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-22  9:45 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

On Mon, Jun 22, 2015 at 6:43 PM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
>> From: Magnus Damm <damm+renesas@opensource.se>
>>
>> Always use 0x3f as channel mask for the SH_CMT_48BIT type of devices.
>> Once this patch is applied the "renesas,channels-mask" property will
>> be ignored by the driver for older devices matching SH_CMT_48BIT. In
>> the future when all CMT types store channel mask in the driver then
>> we will be able to deprecate and remove "renesas,channels-mask" from DTS.
>>
>> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
>> ---
>>
>>  drivers/clocksource/sh_cmt.c |   14 +++++++++++---
>>  1 file changed, 11 insertions(+), 3 deletions(-)
>>
>> --- 0001/drivers/clocksource/sh_cmt.c
>> +++ work/drivers/clocksource/sh_cmt.c   2015-06-20 15:25:54.302366518 +0900
>
>> @@ -969,9 +972,14 @@ static int sh_cmt_setup(struct sh_cmt_de
>>                 id = of_match_node(sh_cmt_of_table, pdev->dev.of_node);
>>                 cmt->info = id->data;
>>
>> -               ret = sh_cmt_parse_dt(cmt);
>> -               if (ret < 0)
>> -                       return ret;
>> +               /* prefer in-driver channel configuration over DT */
>> +               if (cmt->info->channels_mask) {
>> +                       cmt->hw_channels = cmt->info_channels_mask;
>
> drivers/clocksource/sh_cmt.c: In function 'sh_cmt_setup':
> drivers/clocksource/sh_cmt.c:996:26: error: 'struct sh_cmt_device' has
> no member named 'info_channels_mask'
>     cmt->hw_channels = cmt->info_channels_mask;
>                           ^
>
> "cmt->info->channels_mask"

Ouch, will fix. Thanks!

/ magnus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* Re: [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
@ 2015-06-22  9:45       ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-22  9:45 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

On Mon, Jun 22, 2015 at 6:43 PM, Geert Uytterhoeven
<geert@linux-m68k.org> wrote:
> On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
>> From: Magnus Damm <damm+renesas@opensource.se>
>>
>> Always use 0x3f as channel mask for the SH_CMT_48BIT type of devices.
>> Once this patch is applied the "renesas,channels-mask" property will
>> be ignored by the driver for older devices matching SH_CMT_48BIT. In
>> the future when all CMT types store channel mask in the driver then
>> we will be able to deprecate and remove "renesas,channels-mask" from DTS.
>>
>> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
>> ---
>>
>>  drivers/clocksource/sh_cmt.c |   14 +++++++++++---
>>  1 file changed, 11 insertions(+), 3 deletions(-)
>>
>> --- 0001/drivers/clocksource/sh_cmt.c
>> +++ work/drivers/clocksource/sh_cmt.c   2015-06-20 15:25:54.302366518 +0900
>
>> @@ -969,9 +972,14 @@ static int sh_cmt_setup(struct sh_cmt_de
>>                 id = of_match_node(sh_cmt_of_table, pdev->dev.of_node);
>>                 cmt->info = id->data;
>>
>> -               ret = sh_cmt_parse_dt(cmt);
>> -               if (ret < 0)
>> -                       return ret;
>> +               /* prefer in-driver channel configuration over DT */
>> +               if (cmt->info->channels_mask) {
>> +                       cmt->hw_channels = cmt->info_channels_mask;
>
> drivers/clocksource/sh_cmt.c: In function 'sh_cmt_setup':
> drivers/clocksource/sh_cmt.c:996:26: error: 'struct sh_cmt_device' has
> no member named 'info_channels_mask'
>     cmt->hw_channels = cmt->info_channels_mask;
>                           ^
>
> "cmt->info->channels_mask"

Ouch, will fix. Thanks!

/ magnus
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 00/08] clocksource: sh_cmt: DT binding rework
  2015-06-21  8:09 ` Magnus Damm
  (?)
@ 2015-06-22  9:49   ` Geert Uytterhoeven
  -1 siblings, 0 replies; 53+ messages in thread
From: Geert Uytterhoeven @ 2015-06-22  9:49 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Magnus,

On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
> clocksource: sh_cmt: DT binding rework
>
> [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
> [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
> [PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
> [PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1
> [PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
> [PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS
> [PATCH 07/08] devicetree: bindings: Deprecate property, update example
> [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
>
> This series reworks the CMT DT bindings to try to deal with the following:
> - R-Car Gen2 CMT0 and CMT1 hardware instances are not identical
> - The property renesas,channels-mask is not enough to describe the difference
> - DT should describe the hardware, not the software implementation
> - Not all documented DT bindings are actually used

Thanks for your series!

> Without these patches the binding "renesas,cmt-48-gen2" is used for both
> CMT0 and CMT1 on R-Car Gen2 SoCs. CMT0 and CMT1 are currently seen by the
> Linux device driver as compatible hardware, and the device-specific property
> "renesas,channels-mask" is used to point out some of the hardware configuration
> differences. Since the driver is not feature complete only some differences are
> described and when diving into the data sheet we can see that:
>
> 1) CMT0 is not 48-bit at all, instead it only supports 32-bit counters.
> 2) Some channels of CMT1 are 48-bit, some 32-bit.
> 3) A couple of CMT1 channels have even more features.
>
> It turns out that none of the above differences are described in our current
> DT files. And since we use the same compat string for CMT0 and CMT1 the driver
> itself cannot enable features specific only to CMT1 without first updating
> the DTS. So this series is ground work for future feature patches.
>
> It seems that we have two choices if we want to support CMT1 features:
> A) Keep existing DT bindings, add more properties for CMT1
> B) Rework the compatible strings and keep configuration in the driver
>
> Judging by above it seems that DT update is inevitable. In my mind it is
> rather painful to update the DT so I'd like to minimize the number of
> updates and let the majority of the changes only happen in the driver.
> And since we should really describe hardware in DT but driver features tend
> to be implemented incrementally then B) seems like a good fit to me.
>
> I wouldn't mind going with A) but to be honest I must say that the existing
> compat string "renesas,cmt-48-gen2" is just too confusing with "48"
> (when CMT0 is 32bit-only) and also "gen2" (used without product line R-Car).
>
> Because of that I've gone with B) and reworked the bindings to separate
> CMT0 from CMT1 and keep channel configuration in the device driver.

I'm also in favor of B. I'd also like to use this opportunity to point
to slide 30
of my presentation "Engaging Device Trees" at ELC2014:

  - Avoid adding more properties to differentiate
      - You may be/guess wrong about compatibility
      - What if you discover an incompatibility later?
        → Use SoC-specific compatible properties from the start

(http://elinux.org/images/e/e2/Engaging_Device_Trees_0.pdf)

> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>

(if you implemented my comment on 01/08)
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

(with 02/08 fixed)
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
on sh73a0/kzm9g, r8a7740/armadillo, r8a73a4/ape6evm, r8a7791/koelsch.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 00/08] clocksource: sh_cmt: DT binding rework
@ 2015-06-22  9:49   ` Geert Uytterhoeven
  0 siblings, 0 replies; 53+ messages in thread
From: Geert Uytterhoeven @ 2015-06-22  9:49 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Magnus,

On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
> clocksource: sh_cmt: DT binding rework
>
> [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
> [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
> [PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
> [PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1
> [PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
> [PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS
> [PATCH 07/08] devicetree: bindings: Deprecate property, update example
> [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
>
> This series reworks the CMT DT bindings to try to deal with the following:
> - R-Car Gen2 CMT0 and CMT1 hardware instances are not identical
> - The property renesas,channels-mask is not enough to describe the difference
> - DT should describe the hardware, not the software implementation
> - Not all documented DT bindings are actually used

Thanks for your series!

> Without these patches the binding "renesas,cmt-48-gen2" is used for both
> CMT0 and CMT1 on R-Car Gen2 SoCs. CMT0 and CMT1 are currently seen by the
> Linux device driver as compatible hardware, and the device-specific property
> "renesas,channels-mask" is used to point out some of the hardware configuration
> differences. Since the driver is not feature complete only some differences are
> described and when diving into the data sheet we can see that:
>
> 1) CMT0 is not 48-bit at all, instead it only supports 32-bit counters.
> 2) Some channels of CMT1 are 48-bit, some 32-bit.
> 3) A couple of CMT1 channels have even more features.
>
> It turns out that none of the above differences are described in our current
> DT files. And since we use the same compat string for CMT0 and CMT1 the driver
> itself cannot enable features specific only to CMT1 without first updating
> the DTS. So this series is ground work for future feature patches.
>
> It seems that we have two choices if we want to support CMT1 features:
> A) Keep existing DT bindings, add more properties for CMT1
> B) Rework the compatible strings and keep configuration in the driver
>
> Judging by above it seems that DT update is inevitable. In my mind it is
> rather painful to update the DT so I'd like to minimize the number of
> updates and let the majority of the changes only happen in the driver.
> And since we should really describe hardware in DT but driver features tend
> to be implemented incrementally then B) seems like a good fit to me.
>
> I wouldn't mind going with A) but to be honest I must say that the existing
> compat string "renesas,cmt-48-gen2" is just too confusing with "48"
> (when CMT0 is 32bit-only) and also "gen2" (used without product line R-Car).
>
> Because of that I've gone with B) and reworked the bindings to separate
> CMT0 from CMT1 and keep channel configuration in the device driver.

I'm also in favor of B. I'd also like to use this opportunity to point
to slide 30
of my presentation "Engaging Device Trees" at ELC2014:

  - Avoid adding more properties to differentiate
      - You may be/guess wrong about compatibility
      - What if you discover an incompatibility later?
        → Use SoC-specific compatible properties from the start

(http://elinux.org/images/e/e2/Engaging_Device_Trees_0.pdf)

> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>

(if you implemented my comment on 01/08)
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

(with 02/08 fixed)
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
on sh73a0/kzm9g, r8a7740/armadillo, r8a73a4/ape6evm, r8a7791/koelsch.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* Re: [PATCH 00/08] clocksource: sh_cmt: DT binding rework
@ 2015-06-22  9:49   ` Geert Uytterhoeven
  0 siblings, 0 replies; 53+ messages in thread
From: Geert Uytterhoeven @ 2015-06-22  9:49 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	Linux-sh list, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Magnus,

On Sun, Jun 21, 2015 at 10:09 AM, Magnus Damm <magnus.damm@gmail.com> wrote:
> clocksource: sh_cmt: DT binding rework
>
> [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
> [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
> [PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
> [PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1
> [PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
> [PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS
> [PATCH 07/08] devicetree: bindings: Deprecate property, update example
> [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
>
> This series reworks the CMT DT bindings to try to deal with the following:
> - R-Car Gen2 CMT0 and CMT1 hardware instances are not identical
> - The property renesas,channels-mask is not enough to describe the difference
> - DT should describe the hardware, not the software implementation
> - Not all documented DT bindings are actually used

Thanks for your series!

> Without these patches the binding "renesas,cmt-48-gen2" is used for both
> CMT0 and CMT1 on R-Car Gen2 SoCs. CMT0 and CMT1 are currently seen by the
> Linux device driver as compatible hardware, and the device-specific property
> "renesas,channels-mask" is used to point out some of the hardware configuration
> differences. Since the driver is not feature complete only some differences are
> described and when diving into the data sheet we can see that:
>
> 1) CMT0 is not 48-bit at all, instead it only supports 32-bit counters.
> 2) Some channels of CMT1 are 48-bit, some 32-bit.
> 3) A couple of CMT1 channels have even more features.
>
> It turns out that none of the above differences are described in our current
> DT files. And since we use the same compat string for CMT0 and CMT1 the driver
> itself cannot enable features specific only to CMT1 without first updating
> the DTS. So this series is ground work for future feature patches.
>
> It seems that we have two choices if we want to support CMT1 features:
> A) Keep existing DT bindings, add more properties for CMT1
> B) Rework the compatible strings and keep configuration in the driver
>
> Judging by above it seems that DT update is inevitable. In my mind it is
> rather painful to update the DT so I'd like to minimize the number of
> updates and let the majority of the changes only happen in the driver.
> And since we should really describe hardware in DT but driver features tend
> to be implemented incrementally then B) seems like a good fit to me.
>
> I wouldn't mind going with A) but to be honest I must say that the existing
> compat string "renesas,cmt-48-gen2" is just too confusing with "48"
> (when CMT0 is 32bit-only) and also "gen2" (used without product line R-Car).
>
> Because of that I've gone with B) and reworked the bindings to separate
> CMT0 from CMT1 and keep channel configuration in the device driver.

I'm also in favor of B. I'd also like to use this opportunity to point
to slide 30
of my presentation "Engaging Device Trees" at ELC2014:

  - Avoid adding more properties to differentiate
      - You may be/guess wrong about compatibility
      - What if you discover an incompatibility later?
        → Use SoC-specific compatible properties from the start

(http://elinux.org/images/e/e2/Engaging_Device_Trees_0.pdf)

> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>

(if you implemented my comment on 01/08)
Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

(with 02/08 fixed)
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
on sh73a0/kzm9g, r8a7740/armadillo, r8a73a4/ape6evm, r8a7791/koelsch.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
  2015-06-21  8:10   ` Magnus Damm
  (?)
@ 2015-06-22 22:40     ` Laurent Pinchart
  -1 siblings, 0 replies; 53+ messages in thread
From: Laurent Pinchart @ 2015-06-22 22:40 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, laurent.pinchart+renesas,
	geert+renesas, linux-sh, daniel.lezcano, horms+renesas, tglx

Hi Magnus,

Thank you for the patch.

On Sunday 21 June 2015 17:10:33 Magnus Damm wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
> 
> Update the DTS to remove the now deprecated "renesas,channels-mask"
> property.
> 
> The channel information is now kept in the device driver and can easily
> be determined based on the compat string.

Unless I've missed something (which is entirely possibly given the late hour), 
the channel mask is only stored in the driver for the Gen2 CMT instances.

> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
> 
>  arch/arm/boot/dts/r8a73a4.dtsi |    3 ---
>  arch/arm/boot/dts/r8a7740.dtsi |    3 ---
>  arch/arm/boot/dts/r8a7790.dtsi |    6 ------
>  arch/arm/boot/dts/r8a7791.dtsi |    6 ------
>  arch/arm/boot/dts/r8a7793.dtsi |    6 ------
>  arch/arm/boot/dts/r8a7794.dtsi |    6 ------
>  arch/arm/boot/dts/sh73a0.dtsi  |    3 ---
>  7 files changed, 33 deletions(-)

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
@ 2015-06-22 22:40     ` Laurent Pinchart
  0 siblings, 0 replies; 53+ messages in thread
From: Laurent Pinchart @ 2015-06-22 22:40 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, laurent.pinchart+renesas,
	geert+renesas, linux-sh, daniel.lezcano, horms+renesas, tglx

Hi Magnus,

Thank you for the patch.

On Sunday 21 June 2015 17:10:33 Magnus Damm wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
> 
> Update the DTS to remove the now deprecated "renesas,channels-mask"
> property.
> 
> The channel information is now kept in the device driver and can easily
> be determined based on the compat string.

Unless I've missed something (which is entirely possibly given the late hour), 
the channel mask is only stored in the driver for the Gen2 CMT instances.

> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
> 
>  arch/arm/boot/dts/r8a73a4.dtsi |    3 ---
>  arch/arm/boot/dts/r8a7740.dtsi |    3 ---
>  arch/arm/boot/dts/r8a7790.dtsi |    6 ------
>  arch/arm/boot/dts/r8a7791.dtsi |    6 ------
>  arch/arm/boot/dts/r8a7793.dtsi |    6 ------
>  arch/arm/boot/dts/r8a7794.dtsi |    6 ------
>  arch/arm/boot/dts/sh73a0.dtsi  |    3 ---
>  7 files changed, 33 deletions(-)

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* Re: [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
@ 2015-06-22 22:40     ` Laurent Pinchart
  0 siblings, 0 replies; 53+ messages in thread
From: Laurent Pinchart @ 2015-06-22 22:40 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, laurent.pinchart+renesas,
	geert+renesas, linux-sh, daniel.lezcano, horms+renesas, tglx

Hi Magnus,

Thank you for the patch.

On Sunday 21 June 2015 17:10:33 Magnus Damm wrote:
> From: Magnus Damm <damm+renesas@opensource.se>
> 
> Update the DTS to remove the now deprecated "renesas,channels-mask"
> property.
> 
> The channel information is now kept in the device driver and can easily
> be determined based on the compat string.

Unless I've missed something (which is entirely possibly given the late hour), 
the channel mask is only stored in the driver for the Gen2 CMT instances.

> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
> 
>  arch/arm/boot/dts/r8a73a4.dtsi |    3 ---
>  arch/arm/boot/dts/r8a7740.dtsi |    3 ---
>  arch/arm/boot/dts/r8a7790.dtsi |    6 ------
>  arch/arm/boot/dts/r8a7791.dtsi |    6 ------
>  arch/arm/boot/dts/r8a7793.dtsi |    6 ------
>  arch/arm/boot/dts/r8a7794.dtsi |    6 ------
>  arch/arm/boot/dts/sh73a0.dtsi  |    3 ---
>  7 files changed, 33 deletions(-)

-- 
Regards,

Laurent Pinchart

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

* Re: [PATCH 00/08] clocksource: sh_cmt: DT binding rework
  2015-06-21  8:09 ` Magnus Damm
  (?)
@ 2015-06-22 22:45   ` Laurent Pinchart
  -1 siblings, 0 replies; 53+ messages in thread
From: Laurent Pinchart @ 2015-06-22 22:45 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, laurent.pinchart+renesas,
	geert+renesas, linux-sh, daniel.lezcano, horms+renesas, tglx

Hi Magnus,

Thank you for the patches.

On Sunday 21 June 2015 17:09:03 Magnus Damm wrote:
> clocksource: sh_cmt: DT binding rework
> 
> [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
> [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
> [PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
> [PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1
> [PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
> [PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS
> [PATCH 07/08] devicetree: bindings: Deprecate property, update example
> [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
> 
> This series reworks the CMT DT bindings to try to deal with the following:
> - R-Car Gen2 CMT0 and CMT1 hardware instances are not identical
> - The property renesas,channels-mask is not enough to describe the
>   difference
> - DT should describe the hardware, not the software implementation
> - Not all documented DT bindings are actually used
> 
> Without these patches the binding "renesas,cmt-48-gen2" is used for both
> CMT0 and CMT1 on R-Car Gen2 SoCs. CMT0 and CMT1 are currently seen by the
> Linux device driver as compatible hardware, and the device-specific property
> "renesas,channels-mask" is used to point out some of the hardware
> configuration differences. Since the driver is not feature complete only
> some differences are described and when diving into the data sheet we can
> see that:
> 
> 1) CMT0 is not 48-bit at all, instead it only supports 32-bit counters.

How the heck did we come up with these bindings in the first place ?

> 2) Some channels of CMT1 are 48-bit, some 32-bit.
> 3) A couple of CMT1 channels have even more features.
> 
> It turns out that none of the above differences are described in our current
> DT files. And since we use the same compat string for CMT0 and CMT1 the
> driver itself cannot enable features specific only to CMT1 without first
> updating the DTS. So this series is ground work for future feature patches.
> 
> It seems that we have two choices if we want to support CMT1 features:
> A) Keep existing DT bindings, add more properties for CMT1
> B) Rework the compatible strings and keep configuration in the driver
> 
> Judging by above it seems that DT update is inevitable. In my mind it is
> rather painful to update the DT so I'd like to minimize the number of
> updates and let the majority of the changes only happen in the driver.
> And since we should really describe hardware in DT but driver features tend
> to be implemented incrementally then B) seems like a good fit to me.
>
> I wouldn't mind going with A) but to be honest I must say that the existing
> compat string "renesas,cmt-48-gen2" is just too confusing with "48"
> (when CMT0 is 32bit-only) and also "gen2" (used without product line R-Car).
> 
> Because of that I've gone with B) and reworked the bindings to separate
> CMT0 from CMT1 and keep channel configuration in the device driver.

In this specific case B seems to be better given that the CMT features look 
quite random. We would need to encode too many properties in DT.

> While at it I've deprecated "renesas,channels-mask" and the old DT compat
> strings. Per-SoC compat strings have also been reworked, but are not left
> around documented as deprecated since they were never used by the driver.

Shouldn't we remove the renesas,channels-mask property completely from the 
documentation ? The git history could be considered as enough when it comes to 
documenting deprecated properties.

> Comments are very welcome! If all are in favor then it would be good to
> merge patch 1-5 first and patch 6-8 later once 1-5 are in. Old DTBs are
> left working but treated as low-feature CMT0. New DTBs including patch 6-8
> will not work on old kernels.

Apart from Geert's comments on patches 1/8 and 2/8, and my comment on patch 
8/8, the series looks fine to me.

With those problems fixed,

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
> 
> Written against renesas-devel-20150619-v4.1-rc8
> 
>  Documentation/devicetree/bindings/timer/renesas,cmt.txt |   55 +++++++-----
>  arch/arm/boot/dts/r8a73a4.dtsi                          |    5 -
>  arch/arm/boot/dts/r8a7740.dtsi                          |    3
>  arch/arm/boot/dts/r8a7790.dtsi                          |   10 --
>  arch/arm/boot/dts/r8a7791.dtsi                          |   10 --
>  arch/arm/boot/dts/r8a7793.dtsi                          |   10 --
>  arch/arm/boot/dts/r8a7794.dtsi                          |   10 --
>  arch/arm/boot/dts/sh73a0.dtsi                           |    3
>  drivers/clocksource/sh_cmt.c                            |   54 ++++++++----
>  9 files changed, 83 insertions(+), 77 deletions(-)

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 00/08] clocksource: sh_cmt: DT binding rework
@ 2015-06-22 22:45   ` Laurent Pinchart
  0 siblings, 0 replies; 53+ messages in thread
From: Laurent Pinchart @ 2015-06-22 22:45 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, laurent.pinchart+renesas,
	geert+renesas, linux-sh, daniel.lezcano, horms+renesas, tglx

Hi Magnus,

Thank you for the patches.

On Sunday 21 June 2015 17:09:03 Magnus Damm wrote:
> clocksource: sh_cmt: DT binding rework
> 
> [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
> [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
> [PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
> [PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1
> [PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
> [PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS
> [PATCH 07/08] devicetree: bindings: Deprecate property, update example
> [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
> 
> This series reworks the CMT DT bindings to try to deal with the following:
> - R-Car Gen2 CMT0 and CMT1 hardware instances are not identical
> - The property renesas,channels-mask is not enough to describe the
>   difference
> - DT should describe the hardware, not the software implementation
> - Not all documented DT bindings are actually used
> 
> Without these patches the binding "renesas,cmt-48-gen2" is used for both
> CMT0 and CMT1 on R-Car Gen2 SoCs. CMT0 and CMT1 are currently seen by the
> Linux device driver as compatible hardware, and the device-specific property
> "renesas,channels-mask" is used to point out some of the hardware
> configuration differences. Since the driver is not feature complete only
> some differences are described and when diving into the data sheet we can
> see that:
> 
> 1) CMT0 is not 48-bit at all, instead it only supports 32-bit counters.

How the heck did we come up with these bindings in the first place ?

> 2) Some channels of CMT1 are 48-bit, some 32-bit.
> 3) A couple of CMT1 channels have even more features.
> 
> It turns out that none of the above differences are described in our current
> DT files. And since we use the same compat string for CMT0 and CMT1 the
> driver itself cannot enable features specific only to CMT1 without first
> updating the DTS. So this series is ground work for future feature patches.
> 
> It seems that we have two choices if we want to support CMT1 features:
> A) Keep existing DT bindings, add more properties for CMT1
> B) Rework the compatible strings and keep configuration in the driver
> 
> Judging by above it seems that DT update is inevitable. In my mind it is
> rather painful to update the DT so I'd like to minimize the number of
> updates and let the majority of the changes only happen in the driver.
> And since we should really describe hardware in DT but driver features tend
> to be implemented incrementally then B) seems like a good fit to me.
>
> I wouldn't mind going with A) but to be honest I must say that the existing
> compat string "renesas,cmt-48-gen2" is just too confusing with "48"
> (when CMT0 is 32bit-only) and also "gen2" (used without product line R-Car).
> 
> Because of that I've gone with B) and reworked the bindings to separate
> CMT0 from CMT1 and keep channel configuration in the device driver.

In this specific case B seems to be better given that the CMT features look 
quite random. We would need to encode too many properties in DT.

> While at it I've deprecated "renesas,channels-mask" and the old DT compat
> strings. Per-SoC compat strings have also been reworked, but are not left
> around documented as deprecated since they were never used by the driver.

Shouldn't we remove the renesas,channels-mask property completely from the 
documentation ? The git history could be considered as enough when it comes to 
documenting deprecated properties.

> Comments are very welcome! If all are in favor then it would be good to
> merge patch 1-5 first and patch 6-8 later once 1-5 are in. Old DTBs are
> left working but treated as low-feature CMT0. New DTBs including patch 6-8
> will not work on old kernels.

Apart from Geert's comments on patches 1/8 and 2/8, and my comment on patch 
8/8, the series looks fine to me.

With those problems fixed,

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
> 
> Written against renesas-devel-20150619-v4.1-rc8
> 
>  Documentation/devicetree/bindings/timer/renesas,cmt.txt |   55 +++++++-----
>  arch/arm/boot/dts/r8a73a4.dtsi                          |    5 -
>  arch/arm/boot/dts/r8a7740.dtsi                          |    3
>  arch/arm/boot/dts/r8a7790.dtsi                          |   10 --
>  arch/arm/boot/dts/r8a7791.dtsi                          |   10 --
>  arch/arm/boot/dts/r8a7793.dtsi                          |   10 --
>  arch/arm/boot/dts/r8a7794.dtsi                          |   10 --
>  arch/arm/boot/dts/sh73a0.dtsi                           |    3
>  drivers/clocksource/sh_cmt.c                            |   54 ++++++++----
>  9 files changed, 83 insertions(+), 77 deletions(-)

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* Re: [PATCH 00/08] clocksource: sh_cmt: DT binding rework
@ 2015-06-22 22:45   ` Laurent Pinchart
  0 siblings, 0 replies; 53+ messages in thread
From: Laurent Pinchart @ 2015-06-22 22:45 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, laurent.pinchart+renesas,
	geert+renesas, linux-sh, daniel.lezcano, horms+renesas, tglx

Hi Magnus,

Thank you for the patches.

On Sunday 21 June 2015 17:09:03 Magnus Damm wrote:
> clocksource: sh_cmt: DT binding rework
> 
> [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding
> [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case
> [PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings
> [PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1
> [PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings
> [PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS
> [PATCH 07/08] devicetree: bindings: Deprecate property, update example
> [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
> 
> This series reworks the CMT DT bindings to try to deal with the following:
> - R-Car Gen2 CMT0 and CMT1 hardware instances are not identical
> - The property renesas,channels-mask is not enough to describe the
>   difference
> - DT should describe the hardware, not the software implementation
> - Not all documented DT bindings are actually used
> 
> Without these patches the binding "renesas,cmt-48-gen2" is used for both
> CMT0 and CMT1 on R-Car Gen2 SoCs. CMT0 and CMT1 are currently seen by the
> Linux device driver as compatible hardware, and the device-specific property
> "renesas,channels-mask" is used to point out some of the hardware
> configuration differences. Since the driver is not feature complete only
> some differences are described and when diving into the data sheet we can
> see that:
> 
> 1) CMT0 is not 48-bit at all, instead it only supports 32-bit counters.

How the heck did we come up with these bindings in the first place ?

> 2) Some channels of CMT1 are 48-bit, some 32-bit.
> 3) A couple of CMT1 channels have even more features.
> 
> It turns out that none of the above differences are described in our current
> DT files. And since we use the same compat string for CMT0 and CMT1 the
> driver itself cannot enable features specific only to CMT1 without first
> updating the DTS. So this series is ground work for future feature patches.
> 
> It seems that we have two choices if we want to support CMT1 features:
> A) Keep existing DT bindings, add more properties for CMT1
> B) Rework the compatible strings and keep configuration in the driver
> 
> Judging by above it seems that DT update is inevitable. In my mind it is
> rather painful to update the DT so I'd like to minimize the number of
> updates and let the majority of the changes only happen in the driver.
> And since we should really describe hardware in DT but driver features tend
> to be implemented incrementally then B) seems like a good fit to me.
>
> I wouldn't mind going with A) but to be honest I must say that the existing
> compat string "renesas,cmt-48-gen2" is just too confusing with "48"
> (when CMT0 is 32bit-only) and also "gen2" (used without product line R-Car).
> 
> Because of that I've gone with B) and reworked the bindings to separate
> CMT0 from CMT1 and keep channel configuration in the device driver.

In this specific case B seems to be better given that the CMT features look 
quite random. We would need to encode too many properties in DT.

> While at it I've deprecated "renesas,channels-mask" and the old DT compat
> strings. Per-SoC compat strings have also been reworked, but are not left
> around documented as deprecated since they were never used by the driver.

Shouldn't we remove the renesas,channels-mask property completely from the 
documentation ? The git history could be considered as enough when it comes to 
documenting deprecated properties.

> Comments are very welcome! If all are in favor then it would be good to
> merge patch 1-5 first and patch 6-8 later once 1-5 are in. Old DTBs are
> left working but treated as low-feature CMT0. New DTBs including patch 6-8
> will not work on old kernels.

Apart from Geert's comments on patches 1/8 and 2/8, and my comment on patch 
8/8, the series looks fine to me.

With those problems fixed,

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> Signed-off-by: Magnus Damm <damm+renesas@opensource.se>
> ---
> 
> Written against renesas-devel-20150619-v4.1-rc8
> 
>  Documentation/devicetree/bindings/timer/renesas,cmt.txt |   55 +++++++-----
>  arch/arm/boot/dts/r8a73a4.dtsi                          |    5 -
>  arch/arm/boot/dts/r8a7740.dtsi                          |    3
>  arch/arm/boot/dts/r8a7790.dtsi                          |   10 --
>  arch/arm/boot/dts/r8a7791.dtsi                          |   10 --
>  arch/arm/boot/dts/r8a7793.dtsi                          |   10 --
>  arch/arm/boot/dts/r8a7794.dtsi                          |   10 --
>  arch/arm/boot/dts/sh73a0.dtsi                           |    3
>  drivers/clocksource/sh_cmt.c                            |   54 ++++++++----
>  9 files changed, 83 insertions(+), 77 deletions(-)

-- 
Regards,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
  2015-06-22 22:40     ` Laurent Pinchart
  (?)
@ 2015-06-23  2:46       ` Magnus Damm
  -1 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-23  2:46 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	SH-Linux, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Laurent,

On Tue, Jun 23, 2015 at 7:40 AM, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
> Hi Magnus,
>
> Thank you for the patch.
>
> On Sunday 21 June 2015 17:10:33 Magnus Damm wrote:
>> From: Magnus Damm <damm+renesas@opensource.se>
>>
>> Update the DTS to remove the now deprecated "renesas,channels-mask"
>> property.
>>
>> The channel information is now kept in the device driver and can easily
>> be determined based on the compat string.
>
> Unless I've missed something (which is entirely possibly given the late hour),
> the channel mask is only stored in the driver for the Gen2 CMT instances.

The case for sh73a0 and r8a7740 is also covered by some of the earlier
patches in this series. So unless I'm mistaken the series should cover
all current in-tree CMT DT users that we have. I'm not aware of any
out-of-tree users.

You are right that there are more unused compat strings documented, so
those will break. I would be tempted in phasing those out somehow.
Also, I did not spend much time cleaning up the non R-Car Gen2 cases,
so in general that needs some love.

Thanks!

/ magnus
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
@ 2015-06-23  2:46       ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-23  2:46 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	SH-Linux, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Laurent,

On Tue, Jun 23, 2015 at 7:40 AM, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
> Hi Magnus,
>
> Thank you for the patch.
>
> On Sunday 21 June 2015 17:10:33 Magnus Damm wrote:
>> From: Magnus Damm <damm+renesas@opensource.se>
>>
>> Update the DTS to remove the now deprecated "renesas,channels-mask"
>> property.
>>
>> The channel information is now kept in the device driver and can easily
>> be determined based on the compat string.
>
> Unless I've missed something (which is entirely possibly given the late hour),
> the channel mask is only stored in the driver for the Gen2 CMT instances.

The case for sh73a0 and r8a7740 is also covered by some of the earlier
patches in this series. So unless I'm mistaken the series should cover
all current in-tree CMT DT users that we have. I'm not aware of any
out-of-tree users.

You are right that there are more unused compat strings documented, so
those will break. I would be tempted in phasing those out somehow.
Also, I did not spend much time cleaning up the non R-Car Gen2 cases,
so in general that needs some love.

Thanks!

/ magnus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at  http://www.tux.org/lkml/

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

* Re: [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
@ 2015-06-23  2:46       ` Magnus Damm
  0 siblings, 0 replies; 53+ messages in thread
From: Magnus Damm @ 2015-06-23  2:46 UTC (permalink / raw)
  To: Laurent Pinchart
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	SH-Linux, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Laurent,

On Tue, Jun 23, 2015 at 7:40 AM, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
> Hi Magnus,
>
> Thank you for the patch.
>
> On Sunday 21 June 2015 17:10:33 Magnus Damm wrote:
>> From: Magnus Damm <damm+renesas@opensource.se>
>>
>> Update the DTS to remove the now deprecated "renesas,channels-mask"
>> property.
>>
>> The channel information is now kept in the device driver and can easily
>> be determined based on the compat string.
>
> Unless I've missed something (which is entirely possibly given the late hour),
> the channel mask is only stored in the driver for the Gen2 CMT instances.

The case for sh73a0 and r8a7740 is also covered by some of the earlier
patches in this series. So unless I'm mistaken the series should cover
all current in-tree CMT DT users that we have. I'm not aware of any
out-of-tree users.

You are right that there are more unused compat strings documented, so
those will break. I would be tempted in phasing those out somehow.
Also, I did not spend much time cleaning up the non R-Car Gen2 cases,
so in general that needs some love.

Thanks!

/ magnus
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in

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

* Re: [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
  2015-06-23  2:46       ` Magnus Damm
@ 2015-06-25 21:56         ` Laurent Pinchart
  -1 siblings, 0 replies; 53+ messages in thread
From: Laurent Pinchart @ 2015-06-25 21:56 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	SH-Linux, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Magnus,

On Tuesday 23 June 2015 11:46:45 Magnus Damm wrote:
> On Tue, Jun 23, 2015 at 7:40 AM, Laurent Pinchart wrote:
> > On Sunday 21 June 2015 17:10:33 Magnus Damm wrote:
> >> From: Magnus Damm <damm+renesas@opensource.se>
> >> 
> >> Update the DTS to remove the now deprecated "renesas,channels-mask"
> >> property.
> >> 
> >> The channel information is now kept in the device driver and can easily
> >> be determined based on the compat string.
> > 
> > Unless I've missed something (which is entirely possibly given the late
> > hour), the channel mask is only stored in the driver for the Gen2 CMT
> > instances.
>
> The case for sh73a0 and r8a7740 is also covered by some of the earlier
> patches in this series.

My bad, I've missed that. We should be good then.

> So unless I'm mistaken the series should cover all current in-tree CMT DT
> users that we have. I'm not aware of any out-of-tree users.
> 
> You are right that there are more unused compat strings documented, so
> those will break. I would be tempted in phasing those out somehow.
> Also, I did not spend much time cleaning up the non R-Car Gen2 cases,
> so in general that needs some love.

-- 
Regards,

Laurent Pinchart


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

* Re: [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS
@ 2015-06-25 21:56         ` Laurent Pinchart
  0 siblings, 0 replies; 53+ messages in thread
From: Laurent Pinchart @ 2015-06-25 21:56 UTC (permalink / raw)
  To: Magnus Damm
  Cc: linux-kernel, devicetree, Laurent Pinchart, Geert Uytterhoeven,
	SH-Linux, Daniel Lezcano, Simon Horman, Thomas Gleixner

Hi Magnus,

On Tuesday 23 June 2015 11:46:45 Magnus Damm wrote:
> On Tue, Jun 23, 2015 at 7:40 AM, Laurent Pinchart wrote:
> > On Sunday 21 June 2015 17:10:33 Magnus Damm wrote:
> >> From: Magnus Damm <damm+renesas@opensource.se>
> >> 
> >> Update the DTS to remove the now deprecated "renesas,channels-mask"
> >> property.
> >> 
> >> The channel information is now kept in the device driver and can easily
> >> be determined based on the compat string.
> > 
> > Unless I've missed something (which is entirely possibly given the late
> > hour), the channel mask is only stored in the driver for the Gen2 CMT
> > instances.
>
> The case for sh73a0 and r8a7740 is also covered by some of the earlier
> patches in this series.

My bad, I've missed that. We should be good then.

> So unless I'm mistaken the series should cover all current in-tree CMT DT
> users that we have. I'm not aware of any out-of-tree users.
> 
> You are right that there are more unused compat strings documented, so
> those will break. I would be tempted in phasing those out somehow.
> Also, I did not spend much time cleaning up the non R-Car Gen2 cases,
> so in general that needs some love.

-- 
Regards,

Laurent Pinchart


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

end of thread, other threads:[~2015-06-25 21:56 UTC | newest]

Thread overview: 53+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-21  8:09 [PATCH 00/08] clocksource: sh_cmt: DT binding rework Magnus Damm
2015-06-21  8:09 ` Magnus Damm
2015-06-21  8:09 ` Magnus Damm
2015-06-21  8:09 ` [PATCH 01/08] devicetree: bindings: Remove sh7372 CMT binding Magnus Damm
2015-06-21  8:09   ` Magnus Damm
2015-06-21  8:09   ` Magnus Damm
2015-06-22  9:38   ` Geert Uytterhoeven
2015-06-22  9:38     ` Geert Uytterhoeven
2015-06-22  9:38     ` Geert Uytterhoeven
2015-06-22  9:41     ` Magnus Damm
2015-06-22  9:41       ` Magnus Damm
2015-06-22  9:41       ` Magnus Damm
2015-06-21  8:09 ` [PATCH 02/08] clocksource: sh_cmt: Use 0x3f mask for SH_CMT_48BIT case Magnus Damm
2015-06-21  8:09   ` Magnus Damm
2015-06-21  8:09   ` Magnus Damm
2015-06-22  9:43   ` Geert Uytterhoeven
2015-06-22  9:43     ` Geert Uytterhoeven
2015-06-22  9:43     ` Geert Uytterhoeven
2015-06-22  9:45     ` Magnus Damm
2015-06-22  9:45       ` Magnus Damm
2015-06-22  9:45       ` Magnus Damm
2015-06-21  8:09 ` [PATCH 03/08] devicetree: bindings: R-Car Gen2 CMT0 and CMT1 bindings Magnus Damm
2015-06-21  8:09   ` Magnus Damm
2015-06-21  8:09   ` Magnus Damm
2015-06-21  8:09 ` [PATCH 04/08] clocksource: sh_cmt: Support separate R-Car Gen2 CMT0/1 Magnus Damm
2015-06-21  8:09   ` Magnus Damm
2015-06-21  8:09   ` Magnus Damm
2015-06-21  8:10 ` [PATCH 05/08] devicetree: bindings: r8a73a4 and R-Car Gen2 CMT bindings Magnus Damm
2015-06-21  8:10   ` Magnus Damm
2015-06-21  8:10   ` Magnus Damm
2015-06-21  8:10 ` [PATCH 06/08] ARM: shmobile: Update CMT compat string users in DTS Magnus Damm
2015-06-21  8:10   ` Magnus Damm
2015-06-21  8:10   ` Magnus Damm
2015-06-21  8:10 ` [PATCH 07/08] devicetree: bindings: Deprecate property, update example Magnus Damm
2015-06-21  8:10   ` Magnus Damm
2015-06-21  8:10   ` Magnus Damm
2015-06-21  8:10 ` [PATCH 08/08] ARM: shmobile: Remove CMT renesas,channels-mask from DTS Magnus Damm
2015-06-21  8:10   ` Magnus Damm
2015-06-21  8:10   ` Magnus Damm
2015-06-22 22:40   ` Laurent Pinchart
2015-06-22 22:40     ` Laurent Pinchart
2015-06-22 22:40     ` Laurent Pinchart
2015-06-23  2:46     ` Magnus Damm
2015-06-23  2:46       ` Magnus Damm
2015-06-23  2:46       ` Magnus Damm
2015-06-25 21:56       ` Laurent Pinchart
2015-06-25 21:56         ` Laurent Pinchart
2015-06-22  9:49 ` [PATCH 00/08] clocksource: sh_cmt: DT binding rework Geert Uytterhoeven
2015-06-22  9:49   ` Geert Uytterhoeven
2015-06-22  9:49   ` Geert Uytterhoeven
2015-06-22 22:45 ` Laurent Pinchart
2015-06-22 22:45   ` Laurent Pinchart
2015-06-22 22:45   ` Laurent Pinchart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.