€•ž)Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”ŒC/translations/zh_CN/networking/device_drivers/can/freescale/flexcan”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒC/translations/zh_TW/networking/device_drivers/can/freescale/flexcan”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒC/translations/it_IT/networking/device_drivers/can/freescale/flexcan”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒC/translations/ja_JP/networking/device_drivers/can/freescale/flexcan”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒC/translations/ko_KR/networking/device_drivers/can/freescale/flexcan”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”ŒC/translations/sp_SP/networking/device_drivers/can/freescale/flexcan”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)”}”(hŒ!SPDX-License-Identifier: GPL-2.0+”h]”hŒ!SPDX-License-Identifier: GPL-2.0+”…””}”hh£sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1h¡hhhžhhŸŒ]/var/lib/git/docbuild/linux/Documentation/networking/device_drivers/can/freescale/flexcan.rst”h KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒFlexcan CAN Controller driver”h]”hŒFlexcan CAN Controller driver”…””}”(hh»hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hh¶hžhhŸh³h KubhŒ paragraph”“”)”}”(hŒeAuthors: Marc Kleine-Budde , Dario Binacchi ”h]”(hŒAuthors: Marc Kleine-Budde <”…””}”(hhËhžhhŸNh NubhŒ reference”“”)”}”(hŒmkl@pengutronix.de”h]”hŒmkl@pengutronix.de”…””}”(hhÕhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:mkl@pengutronix.de”uh1hÓhhËubhŒ>, Dario Binacchi <”…””}”(hhËhžhhŸNh NubhÔ)”}”(hŒ#dario.binacchi@amarulasolutions.com”h]”hŒ#dario.binacchi@amarulasolutions.com”…””}”(hhéhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œ*mailto:dario.binacchi@amarulasolutions.com”uh1hÓhhËubhŒ>”…””}”(hhËhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khh¶hžhubhµ)”}”(hhh]”(hº)”}”(hŒOn/off RTR frames reception”h]”hŒOn/off RTR frames reception”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¹hjhžhhŸh³h K ubhÊ)”}”(hŒ9For most flexcan IP cores the driver supports 2 RX modes:”h]”hŒ9For most flexcan IP cores the driver supports 2 RX modes:”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K hjhžhubhŒ bullet_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒFIFO”h]”hÊ)”}”(hj+h]”hŒFIFO”…””}”(hj-hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khj)ubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hj$hžhhŸh³h Nubj()”}”(hŒmailbox ”h]”hÊ)”}”(hŒmailbox”h]”hŒmailbox”…””}”(hjDhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h Khj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1j'hj$hžhhŸh³h Nubeh}”(h]”h ]”h"]”h$]”h&]”Œbullet”Œ-”uh1j"hŸh³h KhjhžhubhÊ)”}”(hŒžThe older flexcan cores (integrated into the i.MX25, i.MX28, i.MX35 and i.MX53 SOCs) only receive RTR frames if the controller is configured for RX-FIFO mode.”h]”hŒžThe older flexcan cores (integrated into the i.MX25, i.MX28, i.MX35 and i.MX53 SOCs) only receive RTR frames if the controller is configured for RX-FIFO mode.”…””}”(hj`hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KhjhžhubhÊ)”}”(hŒü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.”h]”hŒü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.”…””}”(hjnhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KhjhžhubhÊ)”}”(hŒ|As reception of RTR frames is part of the CAN standard, all flexcan cores come up in a mode where RTR reception is possible.”h]”hŒ|As reception of RTR frames is part of the CAN standard, all flexcan cores come up in a mode where RTR reception is possible.”…””}”(hj|hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KhjhžhubhÊ)”}”(hŒ¿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.”h]”hŒÃ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.”…””}”(hjŠhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h KhjhžhubhŒdefinition_list”“”)”}”(hhh]”hŒdefinition_list_item”“”)”}”(hŒè"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. ”h]”(hŒterm”“”)”}”(hŒ "rx-rtr" on”h]”hŒ“rx-rtr†on”…””}”(hj¥hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j£hŸh³h K)hjŸubhŒ definition”“”)”}”(hhh]”(hÊ)”}”(hŒReceive RTR frames. (default)”h]”hŒReceive RTR frames. (default)”…””}”(hj¸hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K#hjµubhÊ)”}”(hŒ3The CAN controller can and will receive RTR frames.”h]”hŒ3The CAN controller can and will receive RTR frames.”…””}”(hjÆhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K%hjµubhÊ)”}”(hŒ‡On some IP cores the controller cannot receive RTR frames in the more performant "RX mailbox" mode and will use "RX FIFO" mode instead.”h]”hŒOn some IP cores the controller cannot receive RTR frames in the more performant “RX mailbox†mode and will use “RX FIFO†mode instead.”…””}”(hjÔhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K'hjµubeh}”(h]”h ]”h"]”h$]”h&]”uh1j³hjŸubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸh³h K)hjšubah}”(h]”h ]”h"]”h$]”h&]”uh1j˜hjhžhhŸh³h NubhÊ)”}”(hŒ "rx-rtr" off”h]”hŒ“rx-rtr†off”…””}”(hjôhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K+hjhžhubhŒ block_quote”“”)”}”(hŒÀ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. ”h]”(hÊ)”}”(hŒDWaive ability to receive RTR frames. (not supported on all IP cores)”h]”hŒDWaive ability to receive RTR frames. (not supported on all IP cores)”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K-hjubhÊ)”}”(hŒyThis mode activates the "RX mailbox mode" for better performance, on some IP cores RTR frames cannot be received anymore.”h]”hŒ}This mode activates the “RX mailbox mode†for better performance, on some IP cores RTR frames cannot be received anymore.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K/hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhŸh³h K-hjhžhubhÊ)”}”(hŒ:The setting can only be changed if the interface is down::”h]”hŒ9The setting can only be changed if the interface is down:”…””}”(hj*hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÉhŸh³h K2hjhžhubhŒ literal_block”“”)”}”(hŒ_ip link set dev can0 down ethtool --set-priv-flags can0 rx-rtr {off|on} ip link set dev can0 up”h]”hŒ_ip link set dev can0 down ethtool --set-priv-flags can0 rx-rtr {off|on} ip link set dev can0 up”…””}”hj:sbah}”(h]”h ]”h"]”h$]”h&]”h±h²uh1j8hŸh³h K4hjhžhubeh}”(h]”Œon-off-rtr-frames-reception”ah ]”h"]”Œon/off rtr frames reception”ah$]”h&]”uh1h´hh¶hžhhŸh³h K ubeh}”(h]”Œflexcan-can-controller-driver”ah ]”h"]”Œflexcan can controller driver”ah$]”h&]”uh1h´hhhžhhŸh³h Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”h³uh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(h¹NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j{Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”h³Œ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jUjRjMjJuŒ nametypes”}”(jU‰jM‰uh}”(jRh¶jJjuŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nhžhub.