From: Marc Kleine-Budde <mkl@pengutronix.de>
To: kernel@pengutronix.de,
Vincent Mailhol <mailhol.vincent@wanadoo.fr>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Heiko Stuebner <heiko@sntech.de>,
Philipp Zabel <p.zabel@pengutronix.de>,
Elaine Zhang <zhangqing@rock-chips.com>,
David Jander <david.jander@protonic.nl>
Cc: Simon Horman <horms@kernel.org>,
linux-can@vger.kernel.org, netdev@vger.kernel.org,
devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-rockchip@lists.infradead.org,
linux-kernel@vger.kernel.org,
Marc Kleine-Budde <mkl@pengutronix.de>,
David Jander <david@protonic.nl>
Subject: [PATCH can-next v2 00/20] an: rockchip_canfd: add support for CAN-FD IP core found on Rockchip RK3568
Date: Wed, 31 Jul 2024 11:37:02 +0200 [thread overview]
Message-ID: <20240731-rockchip-canfd-v2-0-d9604c5b4be8@pengutronix.de> (raw)
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>
next reply other threads:[~2024-07-31 9:37 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-31 9:37 Marc Kleine-Budde [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240731-rockchip-canfd-v2-0-d9604c5b4be8@pengutronix.de \
--to=mkl@pengutronix.de \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=david.jander@protonic.nl \
--cc=david@protonic.nl \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=heiko@sntech.de \
--cc=horms@kernel.org \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-can@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=mailhol.vincent@wanadoo.fr \
--cc=netdev@vger.kernel.org \
--cc=p.zabel@pengutronix.de \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
--cc=zhangqing@rock-chips.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).