All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/4] can: rcar_canfd: Add support for V3U flavor
@ 2022-02-09 16:38 Ulrich Hecht
  2022-02-09 16:38 ` [PATCH v3 1/4] can: rcar_canfd: Add support for r8a779a0 SoC Ulrich Hecht
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Ulrich Hecht @ 2022-02-09 16:38 UTC (permalink / raw)
  To: linux-renesas-soc
  Cc: netdev, davem, linux-can, prabhakar.mahadev-lad.rj, biju.das.jz,
	wsa, yoshihiro.shimoda.uh, wg, mkl, kuba, mailhol.vincent,
	socketcan, geert, kieran.bingham, Ulrich Hecht

Hi!

This adds CANFD support for V3U (R8A779A0) SoCs. The V3U's IP supports up
to eight channels and has some other minor differences to the Gen3 variety:

- changes to some register offsets and layouts
- absence of "classic CAN" registers, both modes are handled through the
  CANFD register set

This patch set tries to accommodate these changes in a minimally intrusive
way.

This revision tries to address all issues raised by reviewers, and drops
the clock patch that has since been picked up; see below for details.
Thanks to Vincent, Marc and Geert for their reviews and suggestions.

It has been successfully tested remotely on a V3U Falcon board, but only
with channels 0 and 1. We were not able to get higher channels to work in
both directions yet. It is not currently clear if this is an issue with the
driver, the board or the silicon, but the BSP vendor driver only works with
channels 0 and 1 as well, so my bet is on one of the latter. For this
reason, this series only enables known-working channels 0 and 1 on Falcon.

CU
Uli


Changes since v2:
- dropped upstreamed clock patch
- replaced bracket/ternary maze with inline functions
- improved indentation to better reflect the logic
- removed redundant CAN mode check
- replaced strcpy() with initializer
- minor refactoring
- add Reviewed-Bys

Changes since v1:
- clk: added missing CANFD module clock
- driver: fixed tests for RZ/G2L so they won't break V3U
- driver: simplified two macros
- DT: enabled devices 0 and 1 on Falcon board
- DT: changed assigned-clock-rates to 80000000
- DT: added interrupt names


Ulrich Hecht (4):
  can: rcar_canfd: Add support for r8a779a0 SoC
  arm64: dts: renesas: r8a779a0: Add CANFD device node
  arm64: dts: renesas: r8a779a0-falcon: enable CANFD 0 and 1
  dt-bindings: can: renesas,rcar-canfd: Document r8a779a0 support

 .../bindings/net/can/renesas,rcar-canfd.yaml  |   2 +
 .../boot/dts/renesas/r8a779a0-falcon.dts      |  24 ++
 arch/arm64/boot/dts/renesas/r8a779a0.dtsi     |  56 +++++
 drivers/net/can/rcar/rcar_canfd.c             | 219 ++++++++++++------
 4 files changed, 228 insertions(+), 73 deletions(-)

-- 
2.20.1


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

end of thread, other threads:[~2022-03-09 16:35 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-02-09 16:38 [PATCH v3 0/4] can: rcar_canfd: Add support for V3U flavor Ulrich Hecht
2022-02-09 16:38 ` [PATCH v3 1/4] can: rcar_canfd: Add support for r8a779a0 SoC Ulrich Hecht
2022-02-10 13:15   ` Simon Horman
2022-02-12 16:47   ` Marc Kleine-Budde
2022-02-14  7:10   ` Vincent MAILHOL
2022-03-09 16:25     ` Ulrich Hecht
2022-02-09 16:38 ` [PATCH v3 2/4] arm64: dts: renesas: r8a779a0: Add CANFD device node Ulrich Hecht
2022-02-09 16:38 ` [PATCH v3 3/4] arm64: dts: renesas: r8a779a0-falcon: enable CANFD 0 and 1 Ulrich Hecht
2022-02-09 16:38 ` [PATCH v3 4/4] dt-bindings: can: renesas,rcar-canfd: Document r8a779a0 support Ulrich Hecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.