imx6 CAN wake up Linux on a specific Frame ID

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

imx6 CAN wake up Linux on a specific Frame ID

1,196 次查看
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

标签 (2)
标记 (3)
0 项奖励
回复
1 回复

1,187 次查看
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 项奖励
回复