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@xxxxxxxxxxxxxxxx/ 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