Dear All,
We are currently using iMX6 Solo based carrier board design running Android KK (Linux kernel 3.0.35). We are trying to set the CAN hardware filters to filter out the unwanted CAN messages. We have done the mailbox implementation in the 3.0.35 kernel. The below registers are set to accept CAN messages with odd number IDs.
for (i = 0; i < ARRAY_SIZE(regs->mb); i++)
flexcan_write((0x01), ®s->rximr[i]);
The maximum number of mailbox set is 64. Kindly, let me know if we are missing out anything for configuring the hardware filter. Also, there will be standard CAN ID in our use case and we don't use any extended CAN ID messages.
Regards,
Sudar
Hello,
Unfortunately as you're working with a rather old kernel version it would be very difficult to provide support.
I could suggest to take a look to the CAN driver documentation to use it as reference:
https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/Documentation/networking/can.rst#can-filter-usage...
Best regards/Saludos,
Aldo.
Hi Aldo,
Thanks for the response.
The content of link seems to set the CAN software filters using the netlink layer. We would like to know if the latest drivers have the implementation to configure the hardware filters? or its not currently supported? Our customer would like to set the hardware filters for their use case. Kindly, let us know if any specific FLEXCAN registers that needs to be configured for its working.
Regards,
Sudar
Hello,
You may look at this one as well:
https://github.com/nxp-imx/linux-imx/blob/lf-6.1.y/Documentation/networking/can.rst#raw-socket-optio...
Best regards,
Aldo.