Message ID | 20240903-rockchip-canfd-v4-0-1dc3f3f32856@pengutronix.de (mailing list archive) |
---|---|
Headers | show |
Series | can: rockchip_canfd: add support for CAN-FD IP core found on Rockchip RK3568 | expand |
Sorry for the noise, please ignore this series. On 03.09.2024 11:21:42, Marc Kleine-Budde wrote: > 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 v4: > - dt-bindings: renamed to rockchip,rk3568v2-canfd.yaml to match the > first compatible I forgot to update the MAINTAINERS entry. I'll send a new series, but not today. Marc > - dt-bindings: fix "$id" in yaml (thanks Rob's bot) > - all: add Tested-by: Alibek Omarov <a1ba.omarov@gmail.com> > - Link to v3: https://patch.msgid.link/20240830-rockchip-canfd-v3-0-d426266453fa@pengutronix.de > > Changes in v3: > - dt-bindings: renamed file to rockchip,rk3568-canfd.yaml (thanks Rob) > - dt-bindings: reworked compatibles (thanks Rob) > - Link to v2: https://lore.kernel.org/all/20240731-rockchip-canfd-v2-0-d9604c5b4be8@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,rk3568v2-canfd.yaml | 74 ++ > 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 | 969 +++++++++++++++++++++ > 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, 2322 insertions(+) > --- > base-commit: da4f3b72c8831975a06eca7e1c27392726f54d20 > change-id: 20240729-rockchip-canfd-4233c71f0cc6 > > Best regards, > -- > Marc Kleine-Budde <mkl@pengutronix.de> > > > >
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 v4: - dt-bindings: renamed to rockchip,rk3568v2-canfd.yaml to match the first compatible - dt-bindings: fix "$id" in yaml (thanks Rob's bot) - all: add Tested-by: Alibek Omarov <a1ba.omarov@gmail.com> - Link to v3: https://patch.msgid.link/20240830-rockchip-canfd-v3-0-d426266453fa@pengutronix.de Changes in v3: - dt-bindings: renamed file to rockchip,rk3568-canfd.yaml (thanks Rob) - dt-bindings: reworked compatibles (thanks Rob) - Link to v2: https://lore.kernel.org/all/20240731-rockchip-canfd-v2-0-d9604c5b4be8@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,rk3568v2-canfd.yaml | 74 ++ 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 | 969 +++++++++++++++++++++ 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, 2322 insertions(+) --- base-commit: da4f3b72c8831975a06eca7e1c27392726f54d20 change-id: 20240729-rockchip-canfd-4233c71f0cc6 Best regards,