mirror of https://gitee.com/openkylin/linux.git
can: bcm: add documentation for CAN FD support
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
This commit is contained in:
parent
6f3b911d5f
commit
9be05c7f37
|
@ -31,6 +31,7 @@ This file contains
|
|||
4.2.4 Broadcast Manager message sequence transmission
|
||||
4.2.5 Broadcast Manager receive filter timers
|
||||
4.2.6 Broadcast Manager multiplex message receive filter
|
||||
4.2.7 Broadcast Manager CAN FD support
|
||||
4.3 connected transport protocols (SOCK_SEQPACKET)
|
||||
4.4 unconnected transport protocols (SOCK_DGRAM)
|
||||
|
||||
|
@ -799,7 +800,7 @@ solution for a couple of reasons:
|
|||
} mytxmsg;
|
||||
|
||||
(..)
|
||||
mytxmsg.nframes = 4;
|
||||
mytxmsg.msg_head.nframes = 4;
|
||||
(..)
|
||||
|
||||
write(s, &mytxmsg, sizeof(mytxmsg));
|
||||
|
@ -852,6 +853,28 @@ solution for a couple of reasons:
|
|||
|
||||
write(s, &msg, sizeof(msg));
|
||||
|
||||
4.2.7 Broadcast Manager CAN FD support
|
||||
|
||||
The programming API of the CAN_BCM depends on struct can_frame which is
|
||||
given as array directly behind the bcm_msg_head structure. To follow this
|
||||
schema for the CAN FD frames a new flag 'CAN_FD_FRAME' in the bcm_msg_head
|
||||
flags indicates that the concatenated CAN frame structures behind the
|
||||
bcm_msg_head are defined as struct canfd_frame.
|
||||
|
||||
struct {
|
||||
struct bcm_msg_head msg_head;
|
||||
struct canfd_frame frame[5];
|
||||
} msg;
|
||||
|
||||
msg.msg_head.opcode = RX_SETUP;
|
||||
msg.msg_head.can_id = 0x42;
|
||||
msg.msg_head.flags = CAN_FD_FRAME;
|
||||
msg.msg_head.nframes = 5;
|
||||
(..)
|
||||
|
||||
When using CAN FD frames for multiplex filtering the MUX mask is still
|
||||
expected in the first 64 bit of the struct canfd_frame data section.
|
||||
|
||||
4.3 connected transport protocols (SOCK_SEQPACKET)
|
||||
4.4 unconnected transport protocols (SOCK_DGRAM)
|
||||
|
||||
|
|
Loading…
Reference in New Issue