RE: [PATCH v2] dt-bindings: net: ravb : Add support for r8a7743 SoC

2017-07-11 Thread Chris Paterson
Hello Sergei,

> From: Sergei Shtylyov [mailto:sergei.shtyl...@cogentembedded.com]
> Sent: 11 July 2017 13:12
> 
> Hello!
> 
> On 07/10/2017 06:32 PM, Biju Das wrote:
> 
> > Add a new compatible string for the RZ/G1M (R8A7743) SoC.
> >
> > Signed-off-by: Biju Das 
> > ---
> > v1->v2
> > * Changed the subject
> > * re-formatted the required properties
> >
> >  .../devicetree/bindings/net/renesas,ravb.txt   | 29 +--
> ---
> >  1 file changed, 17 insertions(+), 12 deletions(-)
> >
> > diff --git a/Documentation/devicetree/bindings/net/renesas,ravb.txt
> > b/Documentation/devicetree/bindings/net/renesas,ravb.txt
> > index b519503..4717bc2 100644
> > --- a/Documentation/devicetree/bindings/net/renesas,ravb.txt
> > +++ b/Documentation/devicetree/bindings/net/renesas,ravb.txt
> > @@ -4,19 +4,24 @@ This file provides information on what the device
> > node for the Ethernet AVB  interface contains.
> >
> >  Required properties:
> > -- compatible: "renesas,etheravb-r8a7790" if the device is a part of R8A7790
> SoC.
> > - "renesas,etheravb-r8a7791" if the device is a part of R8A7791 SoC.
> > - "renesas,etheravb-r8a7792" if the device is a part of R8A7792 SoC.
> > - "renesas,etheravb-r8a7793" if the device is a part of R8A7793 SoC.
> > - "renesas,etheravb-r8a7794" if the device is a part of R8A7794 SoC.
> > - "renesas,etheravb-r8a7795" if the device is a part of R8A7795 SoC.
> > - "renesas,etheravb-r8a7796" if the device is a part of R8A7796 SoC.
> > - "renesas,etheravb-rcar-gen2" for generic R-Car Gen 2 compatible
> interface.
> > - "renesas,etheravb-rcar-gen3" for generic R-Car Gen 3 compatible
> interface.
> > +- compatible: Must contain one or more of the following:
> 
> No, it can't contain more than one SoC specific value.

Surely it can contain both "renesas,etheravb-r8a7743" and 
"renesas,etheravb-rcar-gen2" for example?

As indeed dictated by the instruction further down:

> > +   When compatible with the generic version, nodes must list the
> > +   SoC-specific version corresponding to the platform first followed by
> > +   the generic version.

Kind regards, Chris


RE: [PATCH v2 2/2] ARM: shmobile: defconfig: Enable Ethernet AVB

2017-07-06 Thread Chris Paterson
Hello Sergei, 

Thank you for your comments.

> From: Sergei Shtylyov [mailto:sergei.shtyl...@cogentembedded.com]
> Sent: 05 July 2017 17:14
> 
> Hello!
> 
> On 07/05/2017 06:56 PM, Biju Das wrote:
> 
> > The iWave RZ/G1M Q7 SOM supports Gigabit Ethernet Phy (Micrel
> KSZ9031MNX).
> > Gigabit Ethernet support is available in Renesas AVB driver.
> > To increase hardware support enable the driver in the
> > shmobile_defconfig multiplatform configuration.
> >
> > Signed-off-by: Biju Das <biju@bp.renesas.com>
> > Reviewed-by: Chris Paterson <chris.paters...@renesas.com>
> > Acked-by: Geert Uytterhoeven <geert+rene...@glider.be>
> > ---
> >  arch/arm/configs/shmobile_defconfig | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/arch/arm/configs/shmobile_defconfig
> > b/arch/arm/configs/shmobile_defconfig
> > index 3c66a42..d992911 100644
> > --- a/arch/arm/configs/shmobile_defconfig
> > +++ b/arch/arm/configs/shmobile_defconfig
> > @@ -83,6 +83,7 @@ CONFIG_NETDEVICES=y
> >  # CONFIG_NET_VENDOR_MICREL is not set  #
> CONFIG_NET_VENDOR_NATSEMI is
> > not set  CONFIG_SH_ETH=y
> > +CONFIG_RAVB=y
> 
> Hm, I would enable it only as a module, given it's not easy to make use of
> AVB on the 32-bit boards.

On the iWave-M platforms the only available Ethernet interface is AVB. Without 
including the RAVB driver in the Kernel we won't be able to use NFS.

I know adding CONFIG_RAVB for all shmobile devices may increase the Kernel size 
for everyone, especially when most cannot use AVB without an add-on board, but 
I don't think the increase will be big.


Kind regards, Chris 

> 
> [...]
> 
> MBR Sergei



RE: [PATCH v 1/2] ravb: Add support for r8a7743 SoC

2017-07-05 Thread Chris Paterson
Hello Geert,

> From: geert.uytterhoe...@gmail.com
> [mailto:geert.uytterhoe...@gmail.com] On Behalf Of Geert Uytterhoeven
> Sent: 05 July 2017 15:56
> 
> Hi Chris,
> 
> On Wed, Jul 5, 2017 at 3:51 PM, Chris Paterson
> <chris.paters...@renesas.com> wrote:
> >> From: geert.uytterhoe...@gmail.com
> >> [mailto:geert.uytterhoe...@gmail.com] On Behalf Of Geert
> Uytterhoeven
> >> Sent: 05 July 2017 14:47
> >> On Wed, Jul 5, 2017 at 3:01 PM, Biju Das <biju@bp.renesas.com>
> wrote:
> >> > Add support for Gigabit Ethernet E-MAC on r8a7743 (RZ/G1M) SoC.
> >> > Renesas RZ/G1M (R8A7743) SoC Ethernet AVB IP is identical to the
> >> > R-Car
> >> > Gen2 family.
> >> >
> >> > Signed-off-by: Biju Das <biju@bp.renesas.com>
> >> > Reviewed-by: Chris Paterson <chris.paters...@renesas.com>
> >>
> >> Thanks for your patch!
> >>
> >> > --- a/drivers/net/ethernet/renesas/ravb_main.c
> >> > +++ b/drivers/net/ethernet/renesas/ravb_main.c
> >> > @@ -1869,6 +1869,7 @@ static int ravb_mdio_release(struct
> >> > ravb_private
> >> > *priv)  }
> >> >
> >> >  static const struct of_device_id ravb_match_table[] = {
> >> > +   { .compatible = "renesas,etheravb-r8a7743", .data = (void
> >> > + *)RCAR_GEN2 },
> >> > { .compatible = "renesas,etheravb-r8a7790", .data = (void
> >> *)RCAR_GEN2 },
> >> > { .compatible = "renesas,etheravb-r8a7794", .data = (void
> >> *)RCAR_GEN2 },
> >> > { .compatible = "renesas,etheravb-rcar-gen2", .data = (void
> >> > *)RCAR_GEN2 },
> >>
> >> As Sergei already mentioned, a driver update is not needed due to the
> >> presence of family-specific compatible values.
> >> Please drop that part, and you can add my:
> >> Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
> >
> > Should the other compatible values (r8a7790, 94 etc) be removed then? Or
> are they needed for backwards compatibility?
> 
> The other compatible values in DT bindings and DTS files should be kept, to
> allow handling of SoC-specific quirks if/when they are ever detected.
> 
> The other compatible values in the driver should be kept for backwards-
> compatibility with old DTB files that lack the (newer) family-specific
> compatible values.

Thank you for the comprehensive answer.

Kind regards, Chris


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


RE: [PATCH v 1/2] ravb: Add support for r8a7743 SoC

2017-07-05 Thread Chris Paterson
Hello Geert, Sergei,

> From: geert.uytterhoe...@gmail.com
> [mailto:geert.uytterhoe...@gmail.com] On Behalf Of Geert Uytterhoeven
> Sent: 05 July 2017 14:47
> 
> Hi Biju,
> 
> On Wed, Jul 5, 2017 at 3:01 PM, Biju Das <biju@bp.renesas.com> wrote:
> > Add support for Gigabit Ethernet E-MAC on r8a7743 (RZ/G1M) SoC.
> > Renesas RZ/G1M (R8A7743) SoC Ethernet AVB IP is identical to the R-Car
> > Gen2 family.
> >
> > Signed-off-by: Biju Das <biju@bp.renesas.com>
> > Reviewed-by: Chris Paterson <chris.paters...@renesas.com>
> 
> Thanks for your patch!
> 
> > --- a/drivers/net/ethernet/renesas/ravb_main.c
> > +++ b/drivers/net/ethernet/renesas/ravb_main.c
> > @@ -1869,6 +1869,7 @@ static int ravb_mdio_release(struct ravb_private
> > *priv)  }
> >
> >  static const struct of_device_id ravb_match_table[] = {
> > +   { .compatible = "renesas,etheravb-r8a7743", .data = (void
> > + *)RCAR_GEN2 },
> > { .compatible = "renesas,etheravb-r8a7790", .data = (void
> *)RCAR_GEN2 },
> > { .compatible = "renesas,etheravb-r8a7794", .data = (void
> *)RCAR_GEN2 },
> > { .compatible = "renesas,etheravb-rcar-gen2", .data = (void
> > *)RCAR_GEN2 },
> 
> As Sergei already mentioned, a driver update is not needed due to the
> presence of family-specific compatible values.
> Please drop that part, and you can add my:
> Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>

Should the other compatible values (r8a7790, 94 etc) be removed then? Or are 
they needed for backwards compatibility?

Kind regards, Chris

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


[PATCH v2 1/2] can: rcar_can: Add r8a7796 support

2016-11-24 Thread Chris Paterson
Signed-off-by: Chris Paterson <chris.paters...@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
Acked-by: Marc Kleine-Budde <m...@pengutronix.de>
---
 Documentation/devicetree/bindings/net/can/rcar_can.txt | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/can/rcar_can.txt 
b/Documentation/devicetree/bindings/net/can/rcar_can.txt
index 8d40ab2..06bb7cc 100644
--- a/Documentation/devicetree/bindings/net/can/rcar_can.txt
+++ b/Documentation/devicetree/bindings/net/can/rcar_can.txt
@@ -10,6 +10,7 @@ Required properties:
  "renesas,can-r8a7793" if CAN controller is a part of R8A7793 SoC.
  "renesas,can-r8a7794" if CAN controller is a part of R8A7794 SoC.
  "renesas,can-r8a7795" if CAN controller is a part of R8A7795 SoC.
+ "renesas,can-r8a7796" if CAN controller is a part of R8A7796 SoC.
  "renesas,rcar-gen1-can" for a generic R-Car Gen1 compatible 
device.
  "renesas,rcar-gen2-can" for a generic R-Car Gen2 compatible 
device.
  "renesas,rcar-gen3-can" for a generic R-Car Gen3 compatible 
device.
@@ -24,11 +25,12 @@ Required properties:
 - pinctrl-0: pin control group to be used for this controller.
 - pinctrl-names: must be "default".
 
-Required properties for "renesas,can-r8a7795" compatible:
-In R8A7795 SoC, "clkp2" can be CANFD clock. This is a div6 clock and can be
-used by both CAN and CAN FD controller at the same time. It needs to be scaled
-to maximum frequency if any of these controllers use it. This is done using
-the below properties.
+Required properties for "renesas,can-r8a7795" and "renesas,can-r8a7796"
+compatible:
+In R8A7795 and R8A7796 SoCs, "clkp2" can be CANFD clock. This is a div6 clock
+and can be used by both CAN and CAN FD controller at the same time. It needs to
+be scaled to maximum frequency if any of these controllers use it. This is done
+using the below properties:
 
 - assigned-clocks: phandle of clkp2(CANFD) clock.
 - assigned-clock-rates: maximum frequency of this clock.
-- 
1.9.1



[PATCH v2 2/2] can: rcar_canfd: Add r8a7796 support

2016-11-24 Thread Chris Paterson
Signed-off-by: Chris Paterson <chris.paters...@renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+rene...@glider.be>
Acked-by: Marc Kleine-Budde <m...@pengutronix.de>
---
 Documentation/devicetree/bindings/net/can/rcar_canfd.txt | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/Documentation/devicetree/bindings/net/can/rcar_canfd.txt 
b/Documentation/devicetree/bindings/net/can/rcar_canfd.txt
index 22a6f10..788f273 100644
--- a/Documentation/devicetree/bindings/net/can/rcar_canfd.txt
+++ b/Documentation/devicetree/bindings/net/can/rcar_canfd.txt
@@ -5,6 +5,7 @@ Required properties:
 - compatible: Must contain one or more of the following:
   - "renesas,rcar-gen3-canfd" for R-Car Gen3 compatible controller.
   - "renesas,r8a7795-canfd" for R8A7795 (R-Car H3) compatible controller.
+  - "renesas,r8a7796-canfd" for R8A7796 (R-Car M3) compatible controller.
 
   When compatible with the generic version, nodes must list the
   SoC-specific version corresponding to the platform first, followed by the
@@ -23,11 +24,12 @@ The name of the child nodes are "channel0" and "channel1" 
respectively. Each
 child node supports the "status" property only, which is used to
 enable/disable the respective channel.
 
-Required properties for "renesas,r8a7795-canfd" compatible:
-In R8A7795 SoC, canfd clock is a div6 clock and can be used by both CAN
-and CAN FD controller at the same time. It needs to be scaled to maximum
-frequency if any of these controllers use it. This is done using the
-below properties.
+Required properties for "renesas,r8a7795-canfd" and "renesas,r8a7796-canfd"
+compatible:
+In R8A7795 and R8A7796 SoCs, canfd clock is a div6 clock and can be used by 
both
+CAN and CAN FD controller at the same time. It needs to be scaled to maximum
+frequency if any of these controllers use it. This is done using the below
+properties:
 
 - assigned-clocks: phandle of canfd clock.
 - assigned-clock-rates: maximum frequency of this clock.
-- 
1.9.1



[PATCH v2 0/2] can: Add r8a7796 support to CAN/CAN FD

2016-11-24 Thread Chris Paterson
This series adds support for r8a7796 to rcar_can and rcar_canfd.

Original series: [PATCH 0/3] arm64: dts: r8a7796: Add CAN/CAN FD support.

Changes since v1:
- Split bindings documentation changes from device tree changes.
- Rebased on renesas-devel-20161123v2-v4.9-rc6.


Chris Paterson (2):
  can: rcar_can: Add r8a7796 support
  can: rcar_canfd: Add r8a7796 support

 Documentation/devicetree/bindings/net/can/rcar_can.txt   | 12 +++-
 Documentation/devicetree/bindings/net/can/rcar_canfd.txt | 12 +++-
 2 files changed, 14 insertions(+), 10 deletions(-)

-- 
1.9.1



RE: [PATCH v6 0/2] Add CAN FD driver support to r8a7795 SoC

2016-06-13 Thread Chris Paterson
Hello Ulrich, Oliver, David,

>   * Addressed Ulrich's concerns on register, bits naming convention
Are Ramesh's proposed changes acceptable with you?


Kind regards, Chris


> -Original Message-
> From: Ramesh Shanmugasundaram
> [mailto:ramesh.shanmugasunda...@bp.renesas.com]
> Sent: 08 June 2016 07:38
> To: m...@pengutronix.de; w...@grandegger.com; socket...@hartkopp.net
> Cc: linux-...@vger.kernel.org; netdev@vger.kernel.org; Chris Paterson
> <chris.paters...@renesas.com>; ho...@verge.net.au;
> magnus.d...@gmail.com; ulrich.he...@gmail.com; Ramesh
> Shanmugasundaram <ramesh.shanmugasunda...@bp.renesas.com>
> Subject: [PATCH v6 0/2] Add CAN FD driver support to r8a7795 SoC
> 
> Hi All,
> 
>This patch is based on can-next latest tag 
> "linux-can-next-for-4.7-20160509"
> 
> Changes since v5:
>   * Addressed Ulrich's concerns on register, bits naming convention
>   * Rebased to latest tag (linux-can-next-for-4.7-20160509)
> 
> Changes since v4:
>   * Rebased to latest can-next/testing branch
>   * Addressed Marc K review comments on v2 patch
>   * Use clk_get_rate() to find ext clock availability. Refer thread
>   (https://lkml.org/lkml/2016/4/8/203)
> 
> Changes since v3:
>   * Split v3 patch into two (Marc K)
> (1) Introduce rcar_canfd.c driver in drivers/net/can/rcar dir
> (2) Move rcar_can.c driver to new drivers/net/can/rcar dir
>   * Added Acked-by Rob H for the bindings
>   * Added comments on CAN FD only mode in driver & Kconfig (Oliver
> H)
> 
> Changes since v2:
>   * Rebased to latest tag (linux-can-next-for-4.6-20160310)
>   * Cleaned up leftover debugfs code (Thanks Oliver H)
>   * Revised devicetree documentation text (as suggested by Rob H)
> (https://www.mail-archive.com/linux-renesas-
> s...@vger.kernel.org/msg01597.html)
>   * Used new can subsystem api to set static configuration & removed
> check in rcar_canfd_start (as suggested by Oliver H)
> (Refer: http://comments.gmane.org/gmane.linux.can/9126 &
>  https://www.mail-archive.com/linux-renesas-
> s...@vger.kernel.org/msg01867.html)
>   * Clubbed Renesas controller drivers to driver/net/can/rcar dir (as
> suggested by Oliver H)
>   * Updated commit message
> 
> Changes since v1:
>   * Removed testmodes & debugfs code (suggested by Oliver H)
>   * Fixed tx path race issue by introducing lock (suggested by Marc K)
>   * Removed __maybe_unused attribute of rcar_canfd_of_table
> 
> 
> Ramesh Shanmugasundaram (2):
>   can: rcar_canfd: Add Renesas R-Car CAN FD driver
>   can: rcar_can: Move Renesas CAN driver to rcar dir
> 
>  .../devicetree/bindings/net/can/rcar_canfd.txt |   89 +
>  drivers/net/can/Kconfig|   11 +-
>  drivers/net/can/Makefile   |2 +-
>  drivers/net/can/rcar/Kconfig   |   21 +
>  drivers/net/can/rcar/Makefile  |6 +
>  drivers/net/can/{ => rcar}/rcar_can.c  |0
>  drivers/net/can/rcar/rcar_canfd.c  | 1695 
> 
>  7 files changed, 1813 insertions(+), 11 deletions(-)  create mode 100644
> Documentation/devicetree/bindings/net/can/rcar_canfd.txt
>  create mode 100644 drivers/net/can/rcar/Kconfig  create mode 100644
> drivers/net/can/rcar/Makefile  rename drivers/net/can/{ => rcar}/rcar_can.c
> (100%)  create mode 100644 drivers/net/can/rcar/rcar_canfd.c
> 
> --
> 1.9.1



RE: [PATCH v5 0/2] Add CAN FD driver support to r8a7795 SoC

2016-05-16 Thread Chris Paterson
Hello Marc.

This patch series has been waiting for a response for a while now and we are 
keen to see it included upstream.

Are there any blocking points to it being accepted?


Kind regards, Chris


> -Original Message-
> From: Ramesh Shanmugasundaram
> [mailto:ramesh.shanmugasunda...@bp.renesas.com]
> Sent: 28 April 2016 13:23
> To: m...@pengutronix.de; w...@grandegger.com; socket...@hartkopp.net;
> robh...@kernel.org; pawel.m...@arm.com; mark.rutl...@arm.com;
> ijc+devicet...@hellion.org.uk; ga...@codeaurora.org
> Cc: linux-renesas-...@vger.kernel.org; devicet...@vger.kernel.org; linux-
> c...@vger.kernel.org; netdev@vger.kernel.org; Chris Paterson
> <chris.paters...@renesas.com>; Ramesh Shanmugasundaram
> <ramesh.shanmugasunda...@bp.renesas.com>
> Subject: [PATCH v5 0/2] Add CAN FD driver support to r8a7795 SoC
> 
> Hi All,
> 
>This patch is based on commit "885cc17abad6" of can-next/testing branch
> 
> Changes since v4:
>   * Rebased to latest can-next/testing branch
>   * Addressed Marc K review comments on v2 patch
>   * Use clk_get_rate() to find ext clock availability. Refer thread
>   (https://lkml.org/lkml/2016/4/8/203)
> 
> Changes since v3:
>   * Split v3 patch into two (Marc K)
> (1) Introduce rcar_canfd.c driver in drivers/net/can/rcar dir
> (2) Move rcar_can.c driver to new drivers/net/can/rcar dir
>   * Added Acked-by Rob H for the bindings
>   * Added comments on CAN FD only mode in driver & Kconfig (Oliver
> H)
> 
> Changes since v2:
>   * Rebased to latest tag (linux-can-next-for-4.6-20160310)
>   * Cleaned up leftover debugfs code (Thanks Oliver H)
>   * Revised devicetree documentation text (as suggested by Rob H)
> (https://www.mail-archive.com/linux-renesas-
> s...@vger.kernel.org/msg01597.html)
>   * Used new can subsystem api to set static configuration & removed
> check in rcar_canfd_start (as suggested by Oliver H)
> (Refer: http://comments.gmane.org/gmane.linux.can/9126 &
>  https://www.mail-archive.com/linux-renesas-
> s...@vger.kernel.org/msg01867.html)
>   * Clubbed Renesas controller drivers to driver/net/can/rcar dir (as
> suggested by Oliver H)
>   * Updated commit message
> 
> Changes since v1:
>   * Removed testmodes & debugfs code (suggested by Oliver H)
>   * Fixed tx path race issue by introducing lock (suggested by Marc K)
>   * Removed __maybe_unused attribute of rcar_canfd_of_table
> 
> Ramesh Shanmugasundaram (2):
>   can: rcar_canfd: Add Renesas R-Car CAN FD driver
>   can: rcar_can: Move Renesas CAN driver to rcar dir
> 
>  .../devicetree/bindings/net/can/rcar_canfd.txt |   89 ++
>  drivers/net/can/Kconfig|   11 +-
>  drivers/net/can/Makefile   |2 +-
>  drivers/net/can/rcar/Kconfig   |   21 +
>  drivers/net/can/rcar/Makefile  |6 +
>  drivers/net/can/{ => rcar}/rcar_can.c  |0
>  drivers/net/can/rcar/rcar_canfd.c  | 1624 
> 
>  7 files changed, 1742 insertions(+), 11 deletions(-)  create mode 100644
> Documentation/devicetree/bindings/net/can/rcar_canfd.txt
>  create mode 100644 drivers/net/can/rcar/Kconfig  create mode 100644
> drivers/net/can/rcar/Makefile  rename drivers/net/can/{ => rcar}/rcar_can.c
> (100%)  create mode 100644 drivers/net/can/rcar/rcar_canfd.c
> 
> --
> 1.9.1