Add R8A7791/Henninger board CAN DT support
Subsystems (3)
v5 cover Add R8A7791/Henninger board CAN DT support
Hello.
Here's the set of 3 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20141231-v3.19-rc2' tag. Here we add the CAN device tree support for the R8A7791-based Henninger board. It depends on the clk driver RCAN clock patch reposted today 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
PATCH v5 1/3 ARM: shmobile: r8a7791: add CAN clocks
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.
---
Changes in version 5:
- fixed spelling in the comment to the CAN_CLK node;
- added Geert's ACK.
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(-)
arch/arm/boot/dts/r8a7791.dtsi +21 -2
@@ -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 overridden by the board. */ + clock-frequency = <0>; + clock-output-names = "can_clk"; + status = "disabled"; + }; + /* Special CPG clocks */ cpg_clocks: cpg_clocks at 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 */
include/dt-bindings/clock/r8a7791-clock.h +1 -0
@@ -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
PATCH v5 2/3 ARM: shmobile: r8a7791: add CAN DT support
In reply to Sergei ShtylyovDefine the generic R8A7791 parts of the CAN0/1 device nodes.
---
Changes in version 5:
- fixed whitespace errors/warnings given by checkpatch.pl;
- added Geert's ACK.
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(+)
arch/arm/boot/dts/r8a7791.dtsi +20 -0
@@ -816,6 +816,26 @@ }; }; + can0: can at 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 at 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>;
PATCH v5 3/3 ARM: shmobile: henninger: add CAN0 DT support
In reply to Sergei ShtylyovDefine the Henninger board dependent part of the CAN0 device node.
---
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(+)
arch/arm/boot/dts/r8a7791-henninger.dts +11 -0
@@ -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"; +};
v5 cover Add R8A7791/Henninger board CAN DT support
In reply to Sergei ShtylyovQuoted 4 lines · Sergei Shtylyov
Here's the set of 3 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20141231-v3.19-rc2' tag. Here we add the CAN device tree support for the R8A7791-based Henninger board. It depends on the clk driver RCAN clock patch reposted today in order to work.
Simon, now that this patch has been merged, could you merge the patchset too?
Quoted 3 lines
[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
v5 cover Add R8A7791/Henninger board CAN DT support
Quoted 8 lines · Sergei Shtylyov
Quoted 4 lines · Sergei Shtylyov
Here's the set of 3 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20141231-v3.19-rc2' tag. Here we add the CAN device tree support for the R8A7791-based Henninger board. It depends on the clk driver RCAN clock patch reposted today in order to work.Simon, now that this patch has been merged, could you merge the patchset too?
Sure, I have queued them up as part of renesas-devel-20150219v2-v3.19
Quoted 11 lines
Quoted 3 lines
[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
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
v5 cover Add R8A7791/Henninger board CAN DT support
Quoted 8 lines · Simon Horman
Quoted 6 lines
Quoted 4 lines
Here's the set of 3 patches against Simon Horman's 'renesas.git' repo,
'renesas-devel-20141231-v3.19-rc2' tag. Here we add the CAN device tree support for the R8A7791-based Henninger board. It depends on the clk driver RCAN clock patch reposted today in order to work.Simon, now that this patch has been merged, could you merge the patchset too?
Sure, I have queued them up as part of renesas-devel-20150219v2-v3.19
Thank you. Mike Turquette said he'd send a pull request soonish...
WBR, Sergei