This patchset adds support for the CAST Controller Area Network Bus
Controller (version fd-7x10N00S00) which is used in StarFive JH7110 SoC.
Note that the CAN FD license for JH7110 has expired, so JH7110 only
supports CAN CC now.
Changes since v1:
Patch 1:
- Add company information in the commit message.
Patch 2:
- Add description for the hardware.
- Move "allOf" stuff down after the property definitions.
- Rename compatible names, clock names, reset names and syscon register
names.
- Rewrite the example.
Patch 3:
- Reorder all functions for readability.
- Simplify register definitions and register access functions.
- Improve syscon related code.
- Use clk_bulk interface.
- Enable the clocks during .ndo_open() and disable during .ndo_stop().
- Use can_put_echo_skb() and can_get_echo_skb().
- Stop the TX queue when entering .ndo_start_xmit() and restart the TX
queue after the transmission finished.
- Simplify logic and remove redundant code.
- Improve coding style.
Patch 4:
- Update the nodes according to the new dt-bindings.
History:
v1: https://lore.kernel.org/all/20240129031239.17037-1-william.qiu@starfivetech.com/
William Qiu (4):
dt-bindings: vendor-prefixes: Add cast vendor prefix
dt-bindings: can: Add CAST CAN Bus Controller
can: Add driver for CAST CAN Bus Controller
riscv: dts: starfive: jh7110: Add CAN nodes
.../bindings/net/can/cast,can-ctrl.yaml | 106 ++
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
MAINTAINERS | 8 +
arch/riscv/boot/dts/starfive/jh7110.dtsi | 32 +
drivers/net/can/Kconfig | 7 +
drivers/net/can/Makefile | 1 +
drivers/net/can/cast_can.c | 936 ++++++++++++++++++
7 files changed, 1092 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/can/cast,can-ctrl.yaml
create mode 100644 drivers/net/can/cast_can.c
base-commit: 98f7e32f20d28ec452afb208f9cffc08448a2652
--
2.43.2