CAN interface

Example available on GitHub. Check liteboard CAN example.
|
CAN interface is a message-oriented multi-master serial communications protocol which efficiently supports distributed realtime control.
liteSOM contains two CAN modules compatible with |
Device Tree
can1: flexcan@02090000 { compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan"; reg = <0x02090000 0x4000>; interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6UL_CLK_CAN1_IPG>, <&clks IMX6UL_CLK_CAN1_SERIAL>; clock-names = "ipg", "per"; status = "disabled"; }; can2: flexcan@02094000 { compatible = "fsl,imx6ul-flexcan", "fsl,imx6q-flexcan"; reg = <0x02094000 0x4000>; interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6UL_CLK_CAN2_IPG>, <&clks IMX6UL_CLK_CAN2_SERIAL>; clock-names = "ipg", "per"; status = "disabled"; }; |
Generic configuration for both
To enable -> Networking support -> CAN bus subsystem support -> CAN Device Drivers -> Platform CAN drivers with Netlink support -> Support for Freescale FLEXCAN based chips This option will activate FLEXCAN driver. Documentation for this driver you can find in fsl-flexcan.txt file. |
&iomuxc { pinctrl-names = "default"; pinctrl_flexcan1: flexcan1grp{ fsl,pins = < MX6UL_PAD_UART3_RTS_B__FLEXCAN1_RX 0x1b020 MX6UL_PAD_UART3_CTS_B__FLEXCAN1_TX 0x1b020 >; }; }; &can1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flexcan1>; status = "okay"; }; |
|
SocketCAN
Linux
supports CAN interface via SocketCAN.
SocketCA
- litesom/devicetree/can.txt
- Last modified: 2021/05/12 10:08
- by kateryna.kozakova