devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH can-next v2 00/20] an: rockchip_canfd: add support for CAN-FD IP core found on Rockchip RK3568
@ 2024-07-31  9:37 Marc Kleine-Budde
  2024-07-31  9:37 ` [PATCH can-next v2 01/20] dt-bindings: can: rockchip_canfd: add rockchip CAN-FD controller Marc Kleine-Budde
                   ` (19 more replies)
  0 siblings, 20 replies; 23+ messages in thread
From: Marc Kleine-Budde @ 2024-07-31  9:37 UTC (permalink / raw)
  To: kernel, Vincent Mailhol, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Heiko Stuebner, Philipp Zabel, Elaine Zhang,
	David Jander
  Cc: Simon Horman, linux-can, netdev, devicetree, linux-arm-kernel,
	linux-rockchip, linux-kernel, Marc Kleine-Budde, David Jander

This series adds support for the CAN-FD IP core found on the Rockchip
RK3568.

The IP core is a bit complicated and has several documented errata.
The driver is added in several stages, first the base driver including
the RX-path. Then several workarounds for errata and the TX-path, and
finally features like hardware time stamping, loop-back mode and
bus error reporting.

regards,
Marc

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
Changes in v2:
- dt-bindings: remove redundant words from subject and patch
  description (thanks Rob)
- dt-bindings: clean up clock- and reset-names (thanks Rob)
- base driver: add missing bitfield.h header
- base driver: rkcanfd_handle_rx_int_one(): initialize header to avoid
  uninitialzied variable warning on m68k
- base driver: rkcanfd_get_berr_counter_raw(): don't add assigned only
  variable (bec_raw), move to 14/20 (thanks Simon)
- CAN-FD frame equal check + TX-path: squash, to avoid unused
  functions (thanks Simon)
- TX-path: rkcanfd_handle_tx_done_one(): don't add assigned only
  variable (skb), move to 18/20 (thanks Simon)
- HW-timetamping: add missing timecounter.h header (thanks Simon)
- Link to v1: https://lore.kernel.org/all/20240729-rockchip-canfd-v1-0-fa1250fd6be3@pengutronix.de

---
David Jander (2):
      arm64: dts: rockchip: add CAN-FD controller nodes to rk3568
      arm64: dts: rockchip: mecsbc: add CAN0 and CAN1 interfaces

Marc Kleine-Budde (18):
      dt-bindings: can: rockchip_canfd: add rockchip CAN-FD controller
      can: rockchip_canfd: add driver for Rockchip CAN-FD controller
      can: rockchip_canfd: add quirks for errata workarounds
      can: rockchip_canfd: add quirk for broken CAN-FD support
      can: rockchip_canfd: add support for rk3568v3
      can: rockchip_canfd: add notes about known issues
      can: rockchip_canfd: rkcanfd_handle_rx_int_one(): implement workaround for erratum 5: check for empty FIFO
      can: rockchip_canfd: rkcanfd_register_done(): add warning for erratum 5
      can: rockchip_canfd: add TX PATH
      can: rockchip_canfd: implement workaround for erratum 6
      can: rockchip_canfd: implement workaround for erratum 12
      can: rockchip_canfd: rkcanfd_get_berr_counter_corrected(): work around broken {RX,TX}ERRORCNT register
      can: rockchip_canfd: add stats support for errata workarounds
      can: rockchip_canfd: prepare to use full TX-FIFO depth
      can: rockchip_canfd: enable full TX-FIFO depth of 2
      can: rockchip_canfd: add hardware timestamping support
      can: rockchip_canfd: add support for CAN_CTRLMODE_LOOPBACK
      can: rockchip_canfd: add support for CAN_CTRLMODE_BERR_REPORTING

 .../bindings/net/can/rockchip,canfd.yaml           |  76 ++
 MAINTAINERS                                        |   8 +
 arch/arm64/boot/dts/rockchip/rk3568-mecsbc.dts     |  14 +
 arch/arm64/boot/dts/rockchip/rk3568.dtsi           |  39 +
 drivers/net/can/Kconfig                            |   1 +
 drivers/net/can/Makefile                           |   1 +
 drivers/net/can/rockchip/Kconfig                   |   9 +
 drivers/net/can/rockchip/Makefile                  |  10 +
 drivers/net/can/rockchip/rockchip_canfd-core.c     | 972 +++++++++++++++++++++
 drivers/net/can/rockchip/rockchip_canfd-ethtool.c  |  73 ++
 drivers/net/can/rockchip/rockchip_canfd-rx.c       | 299 +++++++
 .../net/can/rockchip/rockchip_canfd-timestamp.c    | 105 +++
 drivers/net/can/rockchip/rockchip_canfd-tx.c       | 167 ++++
 drivers/net/can/rockchip/rockchip_canfd.h          | 553 ++++++++++++
 14 files changed, 2327 insertions(+)
---
base-commit: 1722389b0d863056d78287a120a1d6cadb8d4f7b
change-id: 20240729-rockchip-canfd-4233c71f0cc6

Best regards,
-- 
Marc Kleine-Budde <mkl@pengutronix.de>



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

end of thread, other threads:[~2024-08-06 19:56 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-31  9:37 [PATCH can-next v2 00/20] an: rockchip_canfd: add support for CAN-FD IP core found on Rockchip RK3568 Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 01/20] dt-bindings: can: rockchip_canfd: add rockchip CAN-FD controller Marc Kleine-Budde
2024-08-06 16:50   ` Rob Herring
2024-08-06 19:55     ` Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 02/20] arm64: dts: rockchip: add CAN-FD controller nodes to rk3568 Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 03/20] arm64: dts: rockchip: mecsbc: add CAN0 and CAN1 interfaces Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 04/20] can: rockchip_canfd: add driver for Rockchip CAN-FD controller Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 05/20] can: rockchip_canfd: add quirks for errata workarounds Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 06/20] can: rockchip_canfd: add quirk for broken CAN-FD support Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 07/20] can: rockchip_canfd: add support for rk3568v3 Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 08/20] can: rockchip_canfd: add notes about known issues Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 09/20] can: rockchip_canfd: rkcanfd_handle_rx_int_one(): implement workaround for erratum 5: check for empty FIFO Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 10/20] can: rockchip_canfd: rkcanfd_register_done(): add warning for erratum 5 Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 11/20] can: rockchip_canfd: add TX PATH Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 12/20] can: rockchip_canfd: implement workaround for erratum 6 Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 13/20] can: rockchip_canfd: implement workaround for erratum 12 Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 14/20] can: rockchip_canfd: rkcanfd_get_berr_counter_corrected(): work around broken {RX,TX}ERRORCNT register Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 15/20] can: rockchip_canfd: add stats support for errata workarounds Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 16/20] can: rockchip_canfd: prepare to use full TX-FIFO depth Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 17/20] can: rockchip_canfd: enable full TX-FIFO depth of 2 Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 18/20] can: rockchip_canfd: add hardware timestamping support Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 19/20] can: rockchip_canfd: add support for CAN_CTRLMODE_LOOPBACK Marc Kleine-Budde
2024-07-31  9:37 ` [PATCH can-next v2 20/20] can: rockchip_canfd: add support for CAN_CTRLMODE_BERR_REPORTING Marc Kleine-Budde

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).