[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240903-rockchip-canfd-v4-0-1dc3f3f32856@pengutronix.de>
Date: Tue, 03 Sep 2024 11:21:42 +0200
From: Marc Kleine-Budde <mkl@...gutronix.de>
To: kernel@...gutronix.de, Alibek Omarov <a1ba.omarov@...il.com>,
Vincent Mailhol <mailhol.vincent@...adoo.fr>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Heiko Stuebner <heiko@...ech.de>,
Philipp Zabel <p.zabel@...gutronix.de>,
Elaine Zhang <zhangqing@...k-chips.com>,
David Jander <david.jander@...tonic.nl>
Cc: Simon Horman <horms@...nel.org>, linux-can@...r.kernel.org,
netdev@...r.kernel.org, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-rockchip@...ts.infradead.org,
linux-kernel@...r.kernel.org, Marc Kleine-Budde <mkl@...gutronix.de>,
David Jander <david@...tonic.nl>
Subject: [PATCH can-next v4 00/20] can: rockchip_canfd: add support for
CAN-FD IP core found on Rockchip RK3568
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@...gutronix.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@...il.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@...gutronix.de>
Powered by blists - more mailing lists