[meta-freescale] FlexCAN not working

Eric Nelson eric.nelson at boundarydevices.com
Fri Oct 11 11:41:20 PDT 2013


Hi Jose,

On 10/11/2013 11:15 AM, Jose Mª Ferreiro wrote:
>
> El 11/10/2013 17:16, Eric Nelson escribió:
>> Hi Diego,
>>
>> On 10/11/2013 04:28 AM, diego wrote:
>>> Hello everybody,
>>>
>>> I'm trying to test FlexCAN on Sabrelite imx6 board without success.
>>> Those are the steps followed :
>>>
>>> 1) Comprobed that linux-imx has CAN drivers enable
>>> 2) Added on the  image the packages:canutils,libsocketcan and iproute2
>>> 3) Tested the Flex can with  canconfig and cantest.
>>>
>>> Everything seems  ok,  even I can see transmitted frames incremented.
>>> However there's not singnal on the oscilloscope.
>>>
>>> I don't now why is not working. Any ideas or suggestions?
>>>
>>
>> Can you forward your kernel version (/proc/version) and output
>> of /proc/cpuinfo?
>>
>> Some early versions of SABRE Lite used a discontinued Freescale
>> CAN PHY, and there's some code in board-mx6_nitrogen6x.c to
>> detect which is in use. If you're using the old board-mx6_sabrelite.c,
>> that detection code isn't present.
> Hi Eric
>
> Below are the outputs you asked. But I compared board-...nitro to
> board-..sabrelite sources. Certainly nitrogen is configured for two
> transceivers while sabrelite is fixed to one of them. Our board, from
> Farnell element 14, has the TJA1040 transceiver. I think Sabrelite code
> is working like the other transceiver. However I am not finding the
> transceiver detection code :( . I keep trying :)
>

The detection code is defined in the link I forwarded earlier:
	https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.0.35_4.1.0/arch/arm/mach-mx6/board-mx6_nitrogen6x.c#L1382

This board file can be used for both SABRE Lite and Nitrogen6X
boards. I suspect this includes those produced by Farnell.

The board-mx6_sabrelite.c file is essentially un-maintained and
contains a reference to the old mc33902 PHY.

> Thanks
>
> This is yocto master + linux-imx
>

You'll really want to use linux-boundary.

Regards,


Eric



More information about the meta-freescale mailing list