diff mbox

arm64: dts: r8a7795: Add CAN FD support

Message ID 1456826640-23237-1-git-send-email-ramesh.shanmugasundaram@bp.renesas.com (mailing list archive)
State Superseded
Delegated to: Simon Horman
Headers show

Commit Message

Ramesh Shanmugasundaram March 1, 2016, 10:04 a.m. UTC
Adds CAN FD controller node for r8a7795.

Note: CAN FD controller register base address specified in R-Car Gen3
Hardware User Manual v0.5E is incorrect. The correct address is:

CAN FD - 0xe66c0000

Signed-off-by: Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
---
Hi All,

   This patch is based on linux-next (tag:next-20160225) with the following
   patches applied on top.

   [PATCH v2] arm64: dts: r8a7795: Add CAN external clock support
   [PATCH] arm64: dts: r8a7795: Add CAN support

   The respective CAN subsystem changes are submitted separately here (https://www.mail-archive.com/linux-renesas-soc@vger.kernel.org/msg01388.html)

Thanks,
Ramesh
---
 arch/arm64/boot/dts/renesas/r8a7795.dtsi | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

Comments

Sergei Shtylyov March 1, 2016, 1:12 p.m. UTC | #1
Hello.

On 3/1/2016 1:04 PM, Ramesh Shanmugasundaram wrote:

> Adds CAN FD controller node for r8a7795.
>
> Note: CAN FD controller register base address specified in R-Car Gen3
> Hardware User Manual v0.5E is incorrect. The correct address is:
>
> CAN FD - 0xe66c0000
>
> Signed-off-by: Ramesh Shanmugasundaram <ramesh.shanmugasundaram@bp.renesas.com>
> ---
> Hi All,
>
>     This patch is based on linux-next (tag:next-20160225) with the following
>     patches applied on top.
>
>     [PATCH v2] arm64: dts: r8a7795: Add CAN external clock support
>     [PATCH] arm64: dts: r8a7795: Add CAN support
>
>     The respective CAN subsystem changes are submitted separately here (https://www.mail-archive.com/linux-renesas-soc@vger.kernel.org/msg01388.html)
>
> Thanks,
> Ramesh
> ---
>   arch/arm64/boot/dts/renesas/r8a7795.dtsi | 24 ++++++++++++++++++++++++
>   1 file changed, 24 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> index a88f8d8..5049ba6 100644
> --- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> @@ -553,6 +553,30 @@
>   			status = "disabled";
>   		};
>
> +		canfd: canfd@e66c0000 {

    The node name should still be "can@e66c0000", I think.

MBR, Sergei
Ramesh Shanmugasundaram March 2, 2016, 7:29 a.m. UTC | #2
Hi Sergei,

> On 3/1/2016 1:04 PM, Ramesh Shanmugasundaram wrote:
> 
> > Adds CAN FD controller node for r8a7795.
> >
> > Note: CAN FD controller register base address specified in R-Car Gen3
> > Hardware User Manual v0.5E is incorrect. The correct address is:
> >
> > CAN FD - 0xe66c0000
> >
> > Signed-off-by: Ramesh Shanmugasundaram
> > <ramesh.shanmugasundaram@bp.renesas.com>
> > ---
> > Hi All,
> >
> >     This patch is based on linux-next (tag:next-20160225) with the
> following
> >     patches applied on top.
> >
> >     [PATCH v2] arm64: dts: r8a7795: Add CAN external clock support
> >     [PATCH] arm64: dts: r8a7795: Add CAN support
> >
> >     The respective CAN subsystem changes are submitted separately here
> > (https://www.mail-archive.com/linux-renesas-soc@vger.kernel.org/msg013
> > 88.html)
> >
> > Thanks,
> > Ramesh
> > ---
> >   arch/arm64/boot/dts/renesas/r8a7795.dtsi | 24 ++++++++++++++++++++++++
> >   1 file changed, 24 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > index a88f8d8..5049ba6 100644
> > --- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > @@ -553,6 +553,30 @@
> >   			status = "disabled";
> >   		};
> >
> > +		canfd: canfd@e66c0000 {
> 
>     The node name should still be "can@e66c0000", I think.

Thanks for the review.

The SoC has CAN controller too and hence I chose this node name to differentiate. A grep of canfd on sysfs would tell if the controller is enabled. The channels on "net" would still be named "canx".

I'll change it if you still feel "can@e66c0000" is more appropriate.

Thanks,
Ramesh
Simon Horman March 2, 2016, 7:53 a.m. UTC | #3
On Wed, Mar 02, 2016 at 07:29:04AM +0000, Ramesh Shanmugasundaram wrote:
> Hi Sergei,
> 
> > On 3/1/2016 1:04 PM, Ramesh Shanmugasundaram wrote:
> > 
> > > Adds CAN FD controller node for r8a7795.
> > >
> > > Note: CAN FD controller register base address specified in R-Car Gen3
> > > Hardware User Manual v0.5E is incorrect. The correct address is:
> > >
> > > CAN FD - 0xe66c0000
> > >
> > > Signed-off-by: Ramesh Shanmugasundaram
> > > <ramesh.shanmugasundaram@bp.renesas.com>
> > > ---
> > > Hi All,
> > >
> > >     This patch is based on linux-next (tag:next-20160225) with the
> > following
> > >     patches applied on top.
> > >
> > >     [PATCH v2] arm64: dts: r8a7795: Add CAN external clock support
> > >     [PATCH] arm64: dts: r8a7795: Add CAN support
> > >
> > >     The respective CAN subsystem changes are submitted separately here
> > > (https://www.mail-archive.com/linux-renesas-soc@vger.kernel.org/msg013
> > > 88.html)
> > >
> > > Thanks,
> > > Ramesh
> > > ---
> > >   arch/arm64/boot/dts/renesas/r8a7795.dtsi | 24 ++++++++++++++++++++++++
> > >   1 file changed, 24 insertions(+)
> > >
> > > diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > > b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > > index a88f8d8..5049ba6 100644
> > > --- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > > +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
> > > @@ -553,6 +553,30 @@
> > >   			status = "disabled";
> > >   		};
> > >
> > > +		canfd: canfd@e66c0000 {
> > 
> >     The node name should still be "can@e66c0000", I think.
> 
> Thanks for the review.
> 
> The SoC has CAN controller too and hence I chose this node name to differentiate. A grep of canfd on sysfs would tell if the controller is enabled. The channels on "net" would still be named "canx".
> 
> I'll change it if you still feel "can@e66c0000" is more appropriate.

FWIW, "can@e66c0000" seems more appropriate to me.
Sergei Shtylyov March 2, 2016, 12:03 p.m. UTC | #4
Hello.

On 3/2/2016 10:29 AM, Ramesh Shanmugasundaram wrote:

>>> Adds CAN FD controller node for r8a7795.
>>>
>>> Note: CAN FD controller register base address specified in R-Car Gen3
>>> Hardware User Manual v0.5E is incorrect. The correct address is:
>>>
>>> CAN FD - 0xe66c0000
>>>
>>> Signed-off-by: Ramesh Shanmugasundaram
>>> <ramesh.shanmugasundaram@bp.renesas.com>
>>> ---
>>> Hi All,
>>>
>>>      This patch is based on linux-next (tag:next-20160225) with the
>> following
>>>      patches applied on top.
>>>
>>>      [PATCH v2] arm64: dts: r8a7795: Add CAN external clock support
>>>      [PATCH] arm64: dts: r8a7795: Add CAN support
>>>
>>>      The respective CAN subsystem changes are submitted separately here
>>> (https://www.mail-archive.com/linux-renesas-soc@vger.kernel.org/msg013
>>> 88.html)
>>>
>>> Thanks,
>>> Ramesh
>>> ---
>>>    arch/arm64/boot/dts/renesas/r8a7795.dtsi | 24 ++++++++++++++++++++++++
>>>    1 file changed, 24 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
>>> b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
>>> index a88f8d8..5049ba6 100644
>>> --- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
>>> +++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
>>> @@ -553,6 +553,30 @@
>>>    			status = "disabled";
>>>    		};
>>>
>>> +		canfd: canfd@e66c0000 {
>>
>>      The node name should still be "can@e66c0000", I think.
>
> Thanks for the review.
>
> The SoC has CAN controller too

    Yes, I figured. BTW, is the CAN-FD identical to the older CAN on the 
hardware level? I haven't see you posting the CAN-FD driver yet...

> and hence I chose this node name to differentiate. A grep of canfd on sysfs would tell if the controller is enabled. The channels on "net" would still be named "canx".
>
> I'll change it if you still feel "can@e66c0000" is more appropriate.

    It is -- the node names should be generic and ePAPR even has the "can" 
name listed explicitly in the section 2.2.2.

> Thanks,
> Ramesh

MBR, Sergei
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/renesas/r8a7795.dtsi b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
index a88f8d8..5049ba6 100644
--- a/arch/arm64/boot/dts/renesas/r8a7795.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a7795.dtsi
@@ -553,6 +553,30 @@ 
 			status = "disabled";
 		};
 
+		canfd: canfd@e66c0000 {
+			compatible = "renesas,r8a7795-canfd",
+				     "renesas,rcar-gen3-canfd";
+			reg = <0 0xe66c0000 0 0x8000>;
+			interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>,
+				   <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&cpg CPG_MOD 914>,
+			       <&cpg CPG_CORE R8A7795_CLK_CANFD>,
+			       <&can_clk>;
+			clock-names = "fck", "canfd", "can_clk";
+			assigned-clocks = <&cpg CPG_CORE R8A7795_CLK_CANFD>;
+			assigned-clock-rates = <40000000>;
+			power-domains = <&cpg>;
+			status = "disabled";
+
+			channel0 {
+				status = "disabled";
+			};
+
+			channel1 {
+				status = "disabled";
+			};
+		};
+
 		hscif0: serial@e6540000 {
 			compatible = "renesas,hscif-r8a7795",
 				     "renesas,rcar-gen3-hscif",