From: Simon Horman <hidden> Date: 2016-01-21 05:09:39
Hi,
this short series adds CAN clocks and nodes to the r8a7793 device tree.
I am not aware of an r8a7793 board that exposes CAN - the gose
board does not appear to - and thus am unsure of a way to test these changes.
However, they are based on what is present for the r8a7791 SoC and
I am unable to find a difference in the SoC documentation.
As far as I can tell the r8a7794 is in a similar situation and
I plan to post a follow-up series for that SoC depending on feedback
for this series.
Simon Horman (2):
ARM: dts: r8a7793: add CAN clocks
ARM: dts: r8a7793: add CAN nodes to device tree
arch/arm/boot/dts/r8a7793.dtsi | 42 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 41 insertions(+), 1 deletion(-)
--
2.1.4
From: Simon Horman <hidden> Date: 2016-01-21 05:09:40
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.
Based on work by Sergei Shtylyov for the r8a7791 SoC.
Cc: Sergei Shtylyov <redacted>
Signed-off-by: Simon Horman <redacted>
---
arch/arm/boot/dts/r8a7793.dtsi | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
@@ -706,12 +706,30 @@clock-output-names="extal";};+/* 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 overridden by the board. */+clock-frequency=<0>;+clock-output-names="can_clk";+status="disabled";+};+/* Special CPG clocks */cpg_clocks:cpg_clocksate6150000{compatible="renesas,r8a7793-cpg-clocks","renesas,rcar-gen2-cpg-clocks";reg=<00xe615000000x1000>;-clocks=<&extal_clk>;+clocks=<&extal_clk&usb_extal_clk>;#clock-cells=<1>;clock-output-names="main","pll0","pll1","pll3","lb","qspi","sdh","sd0","z",
From: Simon Horman <hidden> Date: 2016-01-21 05:09:41
Add CAN nodes to r8a7793 device tree.
Based on work by Sergei Shtylyov for the r8a7791 SoC.
Cc: Sergei Shtylyov <redacted>
Signed-off-by: Simon Horman <redacted>
---
arch/arm/boot/dts/r8a7793.dtsi | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
Hi Simon,
On Thu, Jan 21, 2016 at 6:09 AM, Simon Horman
[off-list ref] wrote:
quoted hunk
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.
Based on work by Sergei Shtylyov for the r8a7791 SoC.
Cc: Sergei Shtylyov <redacted>
Signed-off-by: Simon Horman <redacted>
---
arch/arm/boot/dts/r8a7793.dtsi | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
@@ -706,12 +706,30 @@clock-output-names="extal";};+/* 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 overridden by the board. */+clock-frequency=<0>;+clock-output-names="can_clk";+status="disabled";+};+/* Special CPG clocks */cpg_clocks:cpg_clocksate6150000{compatible="renesas,r8a7793-cpg-clocks","renesas,rcar-gen2-cpg-clocks";reg=<00xe615000000x1000>;-clocks=<&extal_clk>;+clocks=<&extal_clk&usb_extal_clk>;#clock-cells=<1>;clock-output-names="main","pll0","pll1","pll3","lb","qspi","sdh","sd0","z",
To create the "rcan" clock, it should be listed in clock-output-names.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 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
On ?, 1? 21, 2016 at 09:38:21?? +0100, Geert Uytterhoeven wrote:
Hi Simon,
On Thu, Jan 21, 2016 at 6:09 AM, Simon Horman
[off-list ref] wrote:
quoted
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.
Based on work by Sergei Shtylyov for the r8a7791 SoC.
Cc: Sergei Shtylyov <redacted>
Signed-off-by: Simon Horman <redacted>
---
arch/arm/boot/dts/r8a7793.dtsi | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
@@ -706,12 +706,30 @@clock-output-names="extal";};+/* 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 overridden by the board. */+clock-frequency=<0>;+clock-output-names="can_clk";+status="disabled";+};+/* Special CPG clocks */cpg_clocks:cpg_clocksate6150000{compatible="renesas,r8a7793-cpg-clocks","renesas,rcar-gen2-cpg-clocks";reg=<00xe615000000x1000>;-clocks=<&extal_clk>;+clocks=<&extal_clk&usb_extal_clk>;#clock-cells=<1>;clock-output-names="main","pll0","pll1","pll3","lb","qspi","sdh","sd0","z",
To create the "rcan" clock, it should be listed in clock-output-names.
On Thu, Jan 21, 2016 at 09:15:27PM +0900, Simon Horman wrote:
On ?, 1? 21, 2016 at 09:38:21?? +0100, Geert Uytterhoeven wrote:
quoted
Hi Simon,
On Thu, Jan 21, 2016 at 6:09 AM, Simon Horman
[off-list ref] wrote:
quoted
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.
Based on work by Sergei Shtylyov for the r8a7791 SoC.
Cc: Sergei Shtylyov <redacted>
Signed-off-by: Simon Horman <redacted>
---
arch/arm/boot/dts/r8a7793.dtsi | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
@@ -706,12 +706,30 @@clock-output-names="extal";};+/* 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 overridden by the board. */+clock-frequency=<0>;+clock-output-names="can_clk";+status="disabled";+};+/* Special CPG clocks */cpg_clocks:cpg_clocksate6150000{compatible="renesas,r8a7793-cpg-clocks","renesas,rcar-gen2-cpg-clocks";reg=<00xe615000000x1000>;-clocks=<&extal_clk>;+clocks=<&extal_clk&usb_extal_clk>;#clock-cells=<1>;clock-output-names="main","pll0","pll1","pll3","lb","qspi","sdh","sd0","z",
To create the "rcan" clock, it should be listed in clock-output-names.
Checking this morning I see that it is already there.
The next line of the file is:
"rcan", "adsp";
@@ -706,12 +706,30 @@clock-output-names="extal";};+/* 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 overridden by the board. */+clock-frequency=<0>;+clock-output-names="can_clk";+status="disabled";+};+/* Special CPG clocks */cpg_clocks:cpg_clocksate6150000{compatible="renesas,r8a7793-cpg-clocks","renesas,rcar-gen2-cpg-clocks";reg=<00xe615000000x1000>;-clocks=<&extal_clk>;+clocks=<&extal_clk&usb_extal_clk>;#clock-cells=<1>;clock-output-names="main","pll0","pll1","pll3","lb","qspi","sdh","sd0","z",
To create the "rcan" clock, it should be listed in clock-output-names.
Checking this morning I see that it is already there.
The next line of the file is:
"rcan", "adsp";
I stand corrected.
BTW, that means you saw "failed to register ... rcan" messages
before?
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at 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
@@ -706,12 +706,30 @@clock-output-names="extal";};+/* 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 overridden by the board. */+clock-frequency=<0>;+clock-output-names="can_clk";+status="disabled";+};+/* Special CPG clocks */cpg_clocks:cpg_clocksate6150000{compatible="renesas,r8a7793-cpg-clocks","renesas,rcar-gen2-cpg-clocks";reg=<00xe615000000x1000>;-clocks=<&extal_clk>;+clocks=<&extal_clk&usb_extal_clk>;#clock-cells=<1>;clock-output-names="main","pll0","pll1","pll3","lb","qspi","sdh","sd0","z",
To create the "rcan" clock, it should be listed in clock-output-names.
Checking this morning I see that it is already there.
The next line of the file is:
"rcan", "adsp";
I stand corrected.
BTW, that means you saw "failed to register ... rcan" messages
before?
Yes, I checked and I see:
rcar_gen2_cpg_clocks_init: failed to register cpg_clocks rcan clock (-12)