CTUCAN Controller for Linux
We updated linux-on-litex kernel config to enable CTUCAN linux driver.
The screenshoot below shows the menuconfig to enable CTUCAN driver:
Next we had to update the device tree manually to add a section for CTUCAN driver:
- CTU_CAN_FD_0: CTU_CAN_FD@80010000 {
- compatible = "ctu,ctucanfd"; reg = <0x80010000 0x10000>; interrupt-parent = <&intc0>; interrupts = <0 30 4>; clocks = <&sys_clk>; status = "okay"; };
The link to the complete modified device-tree is available at below link - https://github.com/disdi/linux-on-litex-vexriscv/commit/64970aea0ce4dfb10d16ffeece8837b032a702d4
When Linux boots up, it shows the CTUCAN linux driver getting initialized.
In the buildroot Image booting up we can clearly see the CTUCAN driver module is associated with a device:
Further, it gets enumerated as a network device:
Next step is to connect Digilent Arty Board running CTUCAN IP core with an external MCP2551 CAN transceiver Board and attempt CAN transmission to another device on this CAN Bus.