DESK-MX6-L/Pheripherals/CAN

From DAVE Developer's Wiki
< DESK-MX6-L
Revision as of 14:23, 16 July 2021 by U0009 (talk | contribs) (U0009 moved page AXEL Lite SOM/DESK-MX6-L/Pheripherals/CAN to DESK-MX6-L/Pheripherals/CAN: modifica gestione DESK come prodotto a se stante)

Jump to: navigation, search
History
Version Issue Date Notes
1.0.0 Oct 2020 First DESK release


Peripheral CAN[edit | edit source]

Device tree configuration[edit | edit source]

Here below an example of device tree configuration used on standard DAVE's kit for the AXEL Lite SOM:

From imx6qdl-sbcx-revb-common.dtsi :

&can1 {
    pinctrl-names = "default";
    pinctrl-0 = <&pinctrl_flexcan1_axel>;
    status = "okay";
};

From imx6qdl-axelcommon.dtsi:

    can1 {
        pinctrl_flexcan1_axel: flexcan1axelgrp-1 {
            fsl,pins = <
                MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x80000000
                MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x80000000
            >;
        };
    };

Accessing the peripheral[edit | edit source]

Linux messages at boot time[edit | edit source]

...
...
[    2.354147] flexcan 2090000.flexcan: 2090000.flexcan supply xceiver not found, using dummy regulator
[    2.363991] flexcan 2090000.flexcan: device registered (reg_base=c0ad0000, irq=34)
...
...
[    4.731593] can: controller area network core (rev 20170425 abi 9)
[    4.742342] can: raw protocol (rev 20170425)
[    4.746641] can: broadcast manager protocol (rev 20170425 t)
[    4.752317] can: netlink gateway (rev 20170425) max_hops=1

Enable the interface and check status[edit | edit source]

root@desk-mx6:~# ip link set can0 type can bitrate 500000
root@desk-mx6:~# ifconfig can0 up
root@desk-mx6:~# ifconfig can0
can0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          UP RUNNING NOARP  MTU:16  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:10
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:31

root@desk-mx6:~#

Usage with can-utils[edit | edit source]

root@desk-mx6:~# ip link set can0 type can bitrate 500000 triple-sampling on
root@desk-mx6:~# ifconfig can0 up
root@desk-mx6:~# cansend can0 01a#11223344AABBCCDD
root@desk-mx6:~# candump can0

Additional information[edit | edit source]

Each CAN port appears like a networking interface in the form canX where X is the port number.

Information about programming the CAN socket interface is given in the kernel tree under Documentation/networking/can.txt