[PATCH can-next 00/21] can: rockchip_canfd: add support for CAN-FD IP core found on Rockchip RK3568
From: Marc Kleine-Budde
Date: Mon Jul 29 2024 - 09:06:56 EST
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@xxxxxxxxxxxxxx>
---
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 (19):
dt-bindings: can: rockchip_canfd: add binding for 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 functions to check if CAN-FD frames are equal
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 | 551 ++++++++++++
14 files changed, 2325 insertions(+)
---
base-commit: 1722389b0d863056d78287a120a1d6cadb8d4f7b
change-id: 20240729-rockchip-canfd-4233c71f0cc6
Best regards,
--
Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>