Open main menu

DAVE Developer's Wiki β

DESK-MX6-L/Pheripherals/CAN

< 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)

History
Version Issue Date Notes
1.0.0 Oct 2020 First DESK release


Contents

Peripheral CANEdit

Device tree configurationEdit

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 peripheralEdit

Linux messages at boot timeEdit

...
...
[    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 statusEdit

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-utilsEdit

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 informationEdit

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