devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/3] Add R8A7791/Henninger board CAN DT support
@ 2014-12-26 23:16 Sergei Shtylyov
  2014-12-26 23:18 ` [PATCH v4 1/3] ARM: shmobile: r8a7791: add CAN clocks Sergei Shtylyov
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Sergei Shtylyov @ 2014-12-26 23:16 UTC (permalink / raw)
  To: horms, linux-sh, robh+dt, pawel.moll, mark.rutland,
	ijc+devicetree, galak, devicetree
  Cc: magnus.damm, linux, linux-arm-kernel

Hello.

   Here's the set of 3 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20141223-v3.19-rc1' tag. Here we add the CAN device tree support
for the R8A7791-based Henninger board. It depends on the clk driver RCAN clock
patch posted recently in order to work.

[1/3] ARM: shmobile: r8a7791: add CAN clocks
[2/3] ARM: shmobile: r8a7791: add CAN DT support
[3/3] ARM: shmobile: henninger: add CAN0 DT support

WBR, Sergei


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

* [PATCH v4 1/3] ARM: shmobile: r8a7791: add CAN clocks
  2014-12-26 23:16 [PATCH v4 0/3] Add R8A7791/Henninger board CAN DT support Sergei Shtylyov
@ 2014-12-26 23:18 ` Sergei Shtylyov
  2015-01-05 13:29   ` Geert Uytterhoeven
  2014-12-26 23:20 ` [PATCH v4 2/3] ARM: shmobile: r8a7791: add CAN DT support Sergei Shtylyov
  2014-12-26 23:21 ` [PATCH v4 3/3] ARM: shmobile: henninger: add CAN0 " Sergei Shtylyov
  2 siblings, 1 reply; 8+ messages in thread
From: Sergei Shtylyov @ 2014-12-26 23:18 UTC (permalink / raw)
  To: horms, linux-sh, robh+dt, pawel.moll, mark.rutland,
	ijc+devicetree, galak, devicetree
  Cc: magnus.damm, linux, linux-arm-kernel

The R-Car CAN controllers can derive the CAN bus clock not only from their
peripheral clock input (clkp1) but also from the other internal clock (clkp2)
and external clock fed on CAN_CLK pin.  Describe those clocks in the device
tree,  along with  the USB_EXTAL clock  from which clkp2 is derived.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

---
Changes in version 4:
- refreshed the patch.

Changes in version 3:
- new patch.

 arch/arm/boot/dts/r8a7791.dtsi            |   23 +++++++++++++++++++++--
 include/dt-bindings/clock/r8a7791-clock.h |    1 +
 2 files changed, 22 insertions(+), 2 deletions(-)

Index: renesas/arch/arm/boot/dts/r8a7791.dtsi
===================================================================
--- renesas.orig/arch/arm/boot/dts/r8a7791.dtsi
+++ renesas/arch/arm/boot/dts/r8a7791.dtsi
@@ -862,15 +862,34 @@
 			status = "disabled";
 		};
 
+		/* External USB clock - can be overridden by the board */
+		usb_extal_clk: usb_extal_clk {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			clock-frequency = <48000000>;
+			clock-output-names = "usb_extal";
+		};
+
+		/* External CAN clock */
+		can_clk: can_clk {
+			compatible = "fixed-clock";
+			#clock-cells = <0>;
+			/* This value must be overriden by the board. */
+			clock-frequency = <0>;
+			clock-output-names = "can_clk";
+			status = "disabled";
+		};
+
 		/* Special CPG clocks */
 		cpg_clocks: cpg_clocks@e6150000 {
 			compatible = "renesas,r8a7791-cpg-clocks",
 				     "renesas,rcar-gen2-cpg-clocks";
 			reg = <0 0xe6150000 0 0x1000>;
-			clocks = <&extal_clk>;
+			clocks = <&extal_clk &usb_extal_clk>;
 			#clock-cells = <1>;
 			clock-output-names = "main", "pll0", "pll1", "pll3",
-					     "lb", "qspi", "sdh", "sd0", "z";
+					     "lb", "qspi", "sdh", "sd0", "z",
+					     "rcan";
 		};
 
 		/* Variable factor clocks */
Index: renesas/include/dt-bindings/clock/r8a7791-clock.h
===================================================================
--- renesas.orig/include/dt-bindings/clock/r8a7791-clock.h
+++ renesas/include/dt-bindings/clock/r8a7791-clock.h
@@ -20,6 +20,7 @@
 #define R8A7791_CLK_SDH			6
 #define R8A7791_CLK_SD0			7
 #define R8A7791_CLK_Z			8
+#define R8A7791_CLK_RCAN		9
 
 /* MSTP0 */
 #define R8A7791_CLK_MSIOF0		0


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

* [PATCH v4 2/3] ARM: shmobile: r8a7791: add CAN DT support
  2014-12-26 23:16 [PATCH v4 0/3] Add R8A7791/Henninger board CAN DT support Sergei Shtylyov
  2014-12-26 23:18 ` [PATCH v4 1/3] ARM: shmobile: r8a7791: add CAN clocks Sergei Shtylyov
@ 2014-12-26 23:20 ` Sergei Shtylyov
  2015-01-05 13:36   ` Geert Uytterhoeven
  2014-12-26 23:21 ` [PATCH v4 3/3] ARM: shmobile: henninger: add CAN0 " Sergei Shtylyov
  2 siblings, 1 reply; 8+ messages in thread
From: Sergei Shtylyov @ 2014-12-26 23:20 UTC (permalink / raw)
  To: horms, linux-sh, robh+dt, pawel.moll, mark.rutland,
	ijc+devicetree, galak, devicetree
  Cc: magnus.damm, linux, linux-arm-kernel

Define the generic R8A7791 parts of the CAN0/1 device nodes.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

---
Changes in version 4:
- refreshed the patch.

Changes in version 3:
- added 2 more CAN clocks along with "clock-names" property in the CAN0/1 device
  nodes;
- refreshed the patch.

Changes in version 2:
- fixed the "compatible" property in the CAN device nodes.

 arch/arm/boot/dts/r8a7791.dtsi |   20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

Index: renesas/arch/arm/boot/dts/r8a7791.dtsi
===================================================================
--- renesas.orig/arch/arm/boot/dts/r8a7791.dtsi
+++ renesas/arch/arm/boot/dts/r8a7791.dtsi
@@ -816,6 +816,26 @@
 		};
 	};
 
+	can0: can@e6e80000 {
+		compatible = "renesas,can-r8a7791";
+		reg = <0 0xe6e80000 0 0x1000>;
+		interrupts = <0 186 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&mstp9_clks R8A7791_CLK_RCAN0>,
+		       	 <&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;
+		clock-names = "clkp1", "clkp2", "can_clk";
+		status = "disabled";
+	};
+
+	can1: can@e6e88000 {
+		compatible = "renesas,can-r8a7791";
+		reg = <0 0xe6e88000 0 0x1000>;
+		interrupts = <0 187 IRQ_TYPE_LEVEL_HIGH>;
+		clocks = <&mstp9_clks R8A7791_CLK_RCAN1>,
+		       	 <&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;
+		clock-names = "clkp1", "clkp2", "can_clk";
+		status = "disabled";
+	};
+
 	clocks {
 		#address-cells = <2>;
 		#size-cells = <2>;


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

* [PATCH v4 3/3] ARM: shmobile: henninger: add CAN0 DT support
  2014-12-26 23:16 [PATCH v4 0/3] Add R8A7791/Henninger board CAN DT support Sergei Shtylyov
  2014-12-26 23:18 ` [PATCH v4 1/3] ARM: shmobile: r8a7791: add CAN clocks Sergei Shtylyov
  2014-12-26 23:20 ` [PATCH v4 2/3] ARM: shmobile: r8a7791: add CAN DT support Sergei Shtylyov
@ 2014-12-26 23:21 ` Sergei Shtylyov
  2 siblings, 0 replies; 8+ messages in thread
From: Sergei Shtylyov @ 2014-12-26 23:21 UTC (permalink / raw)
  To: horms, linux-sh, robh+dt, pawel.moll, mark.rutland,
	ijc+devicetree, galak, devicetree
  Cc: magnus.damm, linux, linux-arm-kernel

Define the Henninger board dependent part of the CAN0 device node.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

---
Changes in version 4:
- refreshed the patch.

Changes in version 3:
- changed "can0_data_a" to "can0_data", removed "can_clk_d" in the
  "renesas,groups" property;
- moved CAN0 node to go after all others;
- refreshed the patch.

 arch/arm/boot/dts/r8a7791-henninger.dts |   11 +++++++++++
 1 file changed, 11 insertions(+)

Index: renesas/arch/arm/boot/dts/r8a7791-henninger.dts
===================================================================
--- renesas.orig/arch/arm/boot/dts/r8a7791-henninger.dts
+++ renesas/arch/arm/boot/dts/r8a7791-henninger.dts
@@ -147,6 +147,11 @@
 		renesas,groups = "vin0_data8", "vin0_clk";
 		renesas,function = "vin0";
 	};
+
+	can0_pins: can0 {
+		renesas,groups = "can0_data";
+		renesas,function = "can0";
+	};
 };
 
 &scif0 {
@@ -321,3 +326,9 @@
 		};
 	};
 };
+
+&can0 {
+	pinctrl-0 = <&can0_pins>;
+	pinctrl-names = "default";
+	status = "okay";
+};


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

* Re: [PATCH v4 1/3] ARM: shmobile: r8a7791: add CAN clocks
  2014-12-26 23:18 ` [PATCH v4 1/3] ARM: shmobile: r8a7791: add CAN clocks Sergei Shtylyov
@ 2015-01-05 13:29   ` Geert Uytterhoeven
  2015-01-05 13:30     ` Geert Uytterhoeven
  0 siblings, 1 reply; 8+ messages in thread
From: Geert Uytterhoeven @ 2015-01-05 13:29 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Simon Horman, Linux-sh list, Rob Herring, Pawel Moll,
	Mark Rutland, Ian Campbell, Kumar Gala, devicetree, Magnus Damm,
	Russell King, linux-arm-kernel

On Sat, Dec 27, 2014 at 12:18 AM, Sergei Shtylyov
<sergei.shtylyov@cogentembedded.com> wrote:
> The R-Car CAN controllers can derive the CAN bus clock not only from their
> peripheral clock input (clkp1) but also from the other internal clock (clkp2)
> and external clock fed on CAN_CLK pin.  Describe those clocks in the device
> tree,  along with  the USB_EXTAL clock  from which clkp2 is derived.
>
> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

Acked-by: arch/arm/boot/dts/r8a7790.dtsi

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

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

* Re: [PATCH v4 1/3] ARM: shmobile: r8a7791: add CAN clocks
  2015-01-05 13:29   ` Geert Uytterhoeven
@ 2015-01-05 13:30     ` Geert Uytterhoeven
  0 siblings, 0 replies; 8+ messages in thread
From: Geert Uytterhoeven @ 2015-01-05 13:30 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Simon Horman, Linux-sh list, Rob Herring, Pawel Moll,
	Mark Rutland, Ian Campbell, Kumar Gala, devicetree, Magnus Damm,
	Russell King, linux-arm-kernel

On Mon, Jan 5, 2015 at 2:29 PM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> On Sat, Dec 27, 2014 at 12:18 AM, Sergei Shtylyov
> <sergei.shtylyov@cogentembedded.com> wrote:
>> The R-Car CAN controllers can derive the CAN bus clock not only from their
>> peripheral clock input (clkp1) but also from the other internal clock (clkp2)
>> and external clock fed on CAN_CLK pin.  Describe those clocks in the device
>> tree,  along with  the USB_EXTAL clock  from which clkp2 is derived.
>>
>> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
>
> Acked-by: arch/arm/boot/dts/r8a7790.dtsi

Bummer...

Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

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

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

* Re: [PATCH v4 2/3] ARM: shmobile: r8a7791: add CAN DT support
  2014-12-26 23:20 ` [PATCH v4 2/3] ARM: shmobile: r8a7791: add CAN DT support Sergei Shtylyov
@ 2015-01-05 13:36   ` Geert Uytterhoeven
  2015-01-05 13:39     ` Geert Uytterhoeven
  0 siblings, 1 reply; 8+ messages in thread
From: Geert Uytterhoeven @ 2015-01-05 13:36 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Simon Horman, Linux-sh list, Rob Herring, Pawel Moll,
	Mark Rutland, Ian Campbell, Kumar Gala, devicetree, Magnus Damm,
	Russell King, linux-arm-kernel

On Sat, Dec 27, 2014 at 12:20 AM, Sergei Shtylyov
<sergei.shtylyov@cogentembedded.com> wrote:
> Define the generic R8A7791 parts of the CAN0/1 device nodes.
>
> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>

Apart from the minor nit below:

Acked-by: Geert Uytterhoeven <geert+renesas@glider.be>

> --- renesas.orig/arch/arm/boot/dts/r8a7791.dtsi
> +++ renesas/arch/arm/boot/dts/r8a7791.dtsi
> @@ -816,6 +816,26 @@
>                 };
>         };
>
> +       can0: can@e6e80000 {
> +               compatible = "renesas,can-r8a7791";
> +               reg = <0 0xe6e80000 0 0x1000>;
> +               interrupts = <0 186 IRQ_TYPE_LEVEL_HIGH>;
> +               clocks = <&mstp9_clks R8A7791_CLK_RCAN0>,
> +                        <&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;

.git/rebase-apply/patch:18: space before tab in indent.
      <&cpg_clocks R8A7790_CLK_RCAN>, <&can_clk>;

> +               clock-names = "clkp1", "clkp2", "can_clk";
> +               status = "disabled";
> +       };
> +
> +       can1: can@e6e88000 {
> +               compatible = "renesas,can-r8a7791";
> +               reg = <0 0xe6e88000 0 0x1000>;
> +               interrupts = <0 187 IRQ_TYPE_LEVEL_HIGH>;
> +               clocks = <&mstp9_clks R8A7791_CLK_RCAN1>,
> +                        <&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;

.git/rebase-apply/patch:28: space before tab in indent.
      <&cpg_clocks R8A7790_CLK_RCAN>, <&can_clk>;
warning: 2 lines add whitespace errors.

> +               clock-names = "clkp1", "clkp2", "can_clk";
> +               status = "disabled";
> +       };
> +




-- 
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

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

* Re: [PATCH v4 2/3] ARM: shmobile: r8a7791: add CAN DT support
  2015-01-05 13:36   ` Geert Uytterhoeven
@ 2015-01-05 13:39     ` Geert Uytterhoeven
  0 siblings, 0 replies; 8+ messages in thread
From: Geert Uytterhoeven @ 2015-01-05 13:39 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Simon Horman, Linux-sh list, Rob Herring, Pawel Moll,
	Mark Rutland, Ian Campbell, Kumar Gala, devicetree, Magnus Damm,
	Russell King, linux-arm-kernel

On Mon, Jan 5, 2015 at 2:36 PM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
>> +               clocks = <&mstp9_clks R8A7791_CLK_RCAN0>,
>> +                        <&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;
>
> .git/rebase-apply/patch:18: space before tab in indent.
>       <&cpg_clocks R8A7790_CLK_RCAN>, <&can_clk>;

Sorry, my copy-'n-paste-foo has deteriorated over the holidays...

s/7790/7791/

>> +               clock-names = "clkp1", "clkp2", "can_clk";
>> +               status = "disabled";
>> +       };
>> +
>> +       can1: can@e6e88000 {
>> +               compatible = "renesas,can-r8a7791";
>> +               reg = <0 0xe6e88000 0 0x1000>;
>> +               interrupts = <0 187 IRQ_TYPE_LEVEL_HIGH>;
>> +               clocks = <&mstp9_clks R8A7791_CLK_RCAN1>,
>> +                        <&cpg_clocks R8A7791_CLK_RCAN>, <&can_clk>;
>
> .git/rebase-apply/patch:28: space before tab in indent.
>       <&cpg_clocks R8A7790_CLK_RCAN>, <&can_clk>;

s/7790/7791/

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

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

end of thread, other threads:[~2015-01-05 13:39 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-26 23:16 [PATCH v4 0/3] Add R8A7791/Henninger board CAN DT support Sergei Shtylyov
2014-12-26 23:18 ` [PATCH v4 1/3] ARM: shmobile: r8a7791: add CAN clocks Sergei Shtylyov
2015-01-05 13:29   ` Geert Uytterhoeven
2015-01-05 13:30     ` Geert Uytterhoeven
2014-12-26 23:20 ` [PATCH v4 2/3] ARM: shmobile: r8a7791: add CAN DT support Sergei Shtylyov
2015-01-05 13:36   ` Geert Uytterhoeven
2015-01-05 13:39     ` Geert Uytterhoeven
2014-12-26 23:21 ` [PATCH v4 3/3] ARM: shmobile: henninger: add CAN0 " Sergei Shtylyov

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