imx6 CAN wake up Linux on a specific Frame ID

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6 CAN wake up Linux on a specific Frame ID

621 Views
akbar123
Contributor III

Hi,

I put Linux into sleep and then wake it up by sending a CAN Frame to it.

I want to know if it's possible to wake Linux up only on some specific IDs? I want to use Rx filters, so that upon a match to these filters, I wake up Linux, NOT on receiving any Frames.

Question1: Is it supported by flexcan hardware in imx6? if yes, what about in driver?

Question2: I found a WAK_SRC bit in MCR register. is it helpful?

This bit defines whether the integrated low-pass filter is applied to protect the FLEXCAN_RX input from spurious wake up. See Stop Mode for more information. This bit can only be written in Freeze mode as it is blocked by hardware in other modes.
   1 FLEXCAN uses the filtered FLEXCAN_RX input to detect recessive to dominant edges on the CAN bus
   0 FLEXCAN uses the unfiltered FLEXCAN_RX input to detect recessive to dominant edges on the CAN bus.

 

Thanks in advance

Labels (2)
Tags (3)
0 Kudos
1 Reply

612 Views
igorpadykov
NXP Employee
NXP Employee

Hi Asghar

 

for Q1 "CAN wake up Linux on a specific Frame ID" - seems it is not supported by hardware

as described in sect.26.6.10.3 Stop Mode  i.MX 6Dual/6Quad Applications Processor Reference Manual

"FlexCAN will then wait for 11 consecutive recessive bits to synchronize to the
CAN bus. As a consequence, it will not receive the frame that woke it up ."

 

Best regards
igor

 

0 Kudos