Hi Marc, On Fri, Jan 7, 2022 at 8:31 PM Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> wrote: > > From: Dario Binacchi <dario.binacchi@xxxxxxxxxxxxxxxxxxxx> > > Add initial documentation for Flexcan driver. > > Signed-off-by: Dario Binacchi <dario.binacchi@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> > --- > .../device_drivers/can/freescale/flexcan.rst | 54 +++++++++++++++++++ > .../networking/device_drivers/can/index.rst | 2 + > 2 files changed, 56 insertions(+) > create mode 100644 Documentation/networking/device_drivers/can/freescale/flexcan.rst > > diff --git a/Documentation/networking/device_drivers/can/freescale/flexcan.rst b/Documentation/networking/device_drivers/can/freescale/flexcan.rst > new file mode 100644 > index 000000000000..8cc0359a8588 > --- /dev/null > +++ b/Documentation/networking/device_drivers/can/freescale/flexcan.rst > @@ -0,0 +1,54 @@ > +.. SPDX-License-Identifier: GPL-2.0+ > + > +============================= > +Flexcan CAN Controller driver > +============================= > + > +Authors: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>, > +Dario Binacchi <dario.binacchi@xxxxxxxxxxxxxxxxxxxxx> > + > +On/off RTR frames reception > +=========================== > + > +For most flexcan IP cores the driver supports 2 RX modes: > + > +- FIFO > +- mailbox > + > +The older flexcan cores (integrated into the i.MX25, i.MX28, i.MX35 > +and i.MX53 SOCs) only reception of RTR frames if the controller is > +configured for RX-FIFO mode. only receive RTR frames > + > +The RX FIFO mode uses a hardware FIFO with a depth of 6 CAN frames, > +while the mailbox mode uses a software FIFO with a depth of up to 62 > +CAN frames. With the help of the bigger buffer, the mailbox mode > +performs better under high system load situations. > + > +As reception of RTR frames is part of the CAN standard, all flexcan > +core come up in a mode where RTR reception is possible. all flexcan cores Thanks and regards, Dario > + > +With the "rx-rtr" private flag the ability to receive RTR frames can > +be waived at the expense of losing the ability to receive RTR > +messages. This trade off is beneficial in certain use cases. > + > +"rx-rtr" on > + Receive RTR frames. (default) > + > + The CAN controller can and will receive RTR frames. > + > + On some IP cores the controller cannot receive RTR frames in the > + more performant "RX mailbox" mode and will use "RX FIFO" mode > + instead. > + > +"rx-rtr" off > + > + Waive ability to receive RTR frames. (not supported on all IP cores) > + > + This mode activates the "RX mailbox mode" for better performance, on > + some IP cores RTR frames cannot be received anymore. > + > +The setting can only be changed if the interface is down:: > + > + ip link set dev can0 down > + ethtool --set-priv-flags can0 rx-rtr {off|on} > + ip link set dev can0 up > diff --git a/Documentation/networking/device_drivers/can/index.rst b/Documentation/networking/device_drivers/can/index.rst > index 218276818968..58b6e0ad3030 100644 > --- a/Documentation/networking/device_drivers/can/index.rst > +++ b/Documentation/networking/device_drivers/can/index.rst > @@ -10,6 +10,8 @@ Contents: > .. toctree:: > :maxdepth: 2 > > + freescale/flexcan > + > .. only:: subproject and html > > Indices > -- > 2.34.1 > > -- Dario Binacchi Embedded Linux Developer dario.binacchi@xxxxxxxxxxxxxxxxxxxx __________________________________ Amarula Solutions SRL Via Le Canevare 30, 31100 Treviso, Veneto, IT T. +39 042 243 5310 info@xxxxxxxxxxxxxxxxxxxx www.amarulasolutions.com