I am using the sparkfun arduino can-bus shield with Colibri iMX6ULL 512MB IT.
Aster board
Linux distro is Ångström console.
I do not have neither can nor spi devices under /dev
dmesg | grep mcp:
mcp251x spi0.0: cannot initialize MCP2515. Wrong wiring?
mcp251x spi0.0: Probe failed, err=19.
I believe i connected the shield correctly, where power, serial, I2C are aligned to the carrier board, but the shield does not have markings for SPI signal on its board:
https://www.sparkfun.com/products/13262
Have someone tried to use this shield with the aster/iMX6ULL?
any article, examples about how do that?
Hallo @haidarsoft and Welcome to the Toradex Community!
According to this Schematic (page 2), the SPI PIns should be connected to PIN D9-D13. Have you done this?
Best regards,
Jaski
Thank you Jaksi for the help,
Yes, I verified all 4 SPI pins are connected correctly, also used a multi-meter with beeping.
Could it be that the default pin configuration is not SPI, and I need to compile a new device tree blob?
You are Welcome.
Actually by default the mcp2515 driver is enabled, which should work out of Box. Sorry, I have overseen that you need the Reset and Interrupt (D2) too as it is done on our Colibri Evaluation Board (Sheet 19).
Best regards,
Jaski
I also tested today the shield with an adruino and kvaser interface, it works correctly, so the issue is probably in the configuration of the iMX6ULL
Hi @haidarsoft, did you connect the Interrupt and Reset PIN as described above?
In the Eval board datasheet, CAN interrupt is SODIMM 73, in the Aster schematic, it seems not connected anywhere, I cannot find another “can_int” anywhere. So what to do? Is there a way to assign CAN interrupt and reset to specific pins on the arduino shield connector?
Hi @haidarsoft
The Reset Pin should be connected to the SOM Reset. For the Interrupt Pin, you can choose a Pin available on AsterCarrier Board and adapt the devicetree files.
The CAN Interrupt pin is defined as following in the file : arch/arm/boot/dts/imx6ull-colibri.dtsi
pinctrl_can_int: canintgrp {
fsl,pins = <
MX6UL_PAD_ENET1_TX_DATA1__GPIO2_IO04 0X14 /* SODIMM 73 */
>;
};
Best regards,
Jaski