How to enable both CAN1 and CAN2 on iMX6QP SabreAuto

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to enable both CAN1 and CAN2 on iMX6QP SabreAuto

ソリューションへジャンプ
3,576件の閲覧回数
stw_sesa
Contributor I

Hi,

I want to use both CAN ports on my iMX6 Quad Plus + Sabre Automotive Base Board (+ Atheros GBit Ethernet).

The problem is that only a single one (CAN2) is available in Linux (as "can0").

I'm using bitbake from the Yocto project to build the SD-card image with Linux.

BSP: FSL Community BSP

Build Configuration file "local.conf" (excerpt):

MACHINE ??= 'imx6qpsabreauto'

DISTRO_FEATURES_remove = "x11 wayland directfb "

IMAGE_INSTALL_append = "iproute2 libsocketcan canutils"

Build command:

bitbake core-image-minimal

According to some other answers in this community portal I've added "can0" to the kernel boot arguments, but it does not help.

The boot log contains only a message that a single can device was registered.

root@imx6qpsabreauto:~# dmesg | grep can

Kernel command line: console=ttymxc3,115200 root=/dev/mmcblk2p2 rootwait rw can0

2094000.can supply xceiver not found, using dummy regulator

flexcan 2094000.can: device registered (reg_base=f0238000, irq=143)

can: controller area network core (rev 20120528 abi 9)

can: raw protocol (rev 20120528)

can: broadcast manager protocol (rev 20120528 t)

can: netlink gateway (rev 20130117) max_hops=1

CAN2 is available as "can0" in Linux and works after configuration:

root@imx6qpsabreauto:~# ifconfig -a

can0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

          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:143

eth0      Link encap:Ethernet  HWaddr 00:04:9F:03:D9:86

          inet6 addr: fe80::204:9fff:fe03:d986/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:106 errors:0 dropped:0 overruns:0 frame:0

          TX packets:30 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:12550 (12.2 KiB)  TX bytes:8172 (7.9 KiB)

root@imx6qpsabreauto:~# ip link set can0 up type can bitrate 500000

flexcan 2094000.can can0: writing ctrl=0x03292005

How can I enable CAN1 ?

Thank You.

ラベル(3)
タグ(1)
0 件の賞賛
返信
1 解決策
2,740件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Stefan

it is necessary to use zImage-imx6qp-sabreauto-flexcan1.dtb

configuration, as flexcan1 is disabled by default in standard DTB file due to

pin conflicts with FEC. Please refer to attached Release Notes Table 3. Kernel

and device tree configurations.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

元の投稿で解決策を見る

0 件の賞賛
返信
1 返信
2,741件の閲覧回数
igorpadykov
NXP Employee
NXP Employee

Hi Stefan

it is necessary to use zImage-imx6qp-sabreauto-flexcan1.dtb

configuration, as flexcan1 is disabled by default in standard DTB file due to

pin conflicts with FEC. Please refer to attached Release Notes Table 3. Kernel

and device tree configurations.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 件の賞賛
返信