€•餌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”Œ,/translations/zh_CN/arch/powerpc/qe_firmware”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/zh_TW/arch/powerpc/qe_firmware”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/it_IT/arch/powerpc/qe_firmware”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/ja_JP/arch/powerpc/qe_firmware”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/ko_KR/arch/powerpc/qe_firmware”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/pt_BR/arch/powerpc/qe_firmware”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/sp_SP/arch/powerpc/qe_firmware”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒ)Freescale QUICC Engine Firmware Uploading”h]”hŒ)Freescale QUICC Engine Firmware Uploading”…””}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒF/var/lib/git/docbuild/linux/Documentation/arch/powerpc/qe_firmware.rst”h´KubhŒenumerated_list”“”)”}”(hhh]”hŒ list_item”“”)”}”(hŒB2007 Timur Tabi , Freescale Semiconductor ”h]”hŒ paragraph”“”)”}”(hŒA2007 Timur Tabi , Freescale Semiconductor”h]”hŒA2007 Timur Tabi , Freescale Semiconductor”…””}”(hhØh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´KhhÒubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhhÍh²hh³hÊh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œenumtype”Œ loweralpha”Œprefix”Œ(”Œsuffix”Œ)”Œstart”Kuh1hËhh·h²hh³hÊh´KubhŒcomment”“”)”}”(hŒåTable of Contents I - Software License for Firmware II - Microcode Availability III - Description and Terminology IV - Microcode Programming Details V - Firmware Structure Layout VI - Sample Code for Creating Firmware Files”h]”hŒåTable of Contents I - Software License for Firmware II - Microcode Availability III - Description and Terminology IV - Microcode Programming Details V - Firmware Structure Layout VI - Sample Code for Creating Firmware Files”…””}”hhûsbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hùhh·h²hh³hÊh´Kubh¶)”}”(hhh]”(h»)”}”(hŒRevision Information”h]”hŒRevision Information”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj h²hh³hÊh´Kubh×)”}”(hŒ,November 30, 2007: Rev 1.0 - Initial version”h]”hŒ,November 30, 2007: Rev 1.0 - Initial version”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´Khj h²hubeh}”(h]”Œrevision-information”ah ]”h"]”Œrevision information”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)”}”(hhh]”(h»)”}”(hŒ!I - Software License for Firmware”h]”hŒ!I - Software License for Firmware”…””}”(hj5h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj2h²hh³hÊh´Kubh×)”}”(hŒ¦Each firmware file comes with its own software license. For information on the particular license, please see the license text that is distributed with the firmware.”h]”hŒ¦Each firmware file comes with its own software license. For information on the particular license, please see the license text that is distributed with the firmware.”…””}”(hjCh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´Khj2h²hubeh}”(h]”Œi-software-license-for-firmware”ah ]”h"]”Œ!i - software license for firmware”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kubh¶)”}”(hhh]”(h»)”}”(hŒII - Microcode Availability”h]”hŒII - Microcode Availability”…””}”(hj\h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjYh²hh³hÊh´K#ubh×)”}”(hŒÙFirmware files are distributed through various channels. Some are available on http://opensource.freescale.com. For other firmware files, please contact your Freescale representative or your operating system vendor.”h]”(hŒPFirmware files are distributed through various channels. Some are available on ”…””}”(hjjh²hh³Nh´NubhŒ reference”“”)”}”(hŒhttp://opensource.freescale.com”h]”hŒhttp://opensource.freescale.com”…””}”(hjth²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”jvuh1jrhjjubhŒj. For other firmware files, please contact your Freescale representative or your operating system vendor.”…””}”(hjjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K%hjYh²hubeh}”(h]”Œii-microcode-availability”ah ]”h"]”Œii - microcode availability”ah$]”h&]”uh1hµhh·h²hh³hÊh´K#ubh¶)”}”(hhh]”(h»)”}”(hŒ!III - Description and Terminology”h]”hŒ!III - Description and Terminology”…””}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj•h²hh³hÊh´K*ubh×)”}”(hŒvIn this document, the term 'microcode' refers to the sequence of 32-bit integers that compose the actual QE microcode.”h]”hŒzIn this document, the term ‘microcode’ refers to the sequence of 32-bit integers that compose the actual QE microcode.”…””}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K,hj•h²hubh×)”}”(hŒbThe term 'firmware' refers to a binary blob that contains the microcode as well as other data that”h]”hŒfThe term ‘firmware’ refers to a binary blob that contains the microcode as well as other data that”…””}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K/hj•h²hubhŒ block_quote”“”)”}”(hŒÄ1) describes the microcode's purpose 2) describes how and where to upload the microcode 3) specifies the values of various registers 4) includes additional data for use by specific device drivers ”h]”hÌ)”}”(hhh]”(hÑ)”}”(hŒ!describes the microcode's purpose”h]”h×)”}”(hjÍh]”hŒ#describes the microcode’s purpose”…””}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K2hjËubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjÈubhÑ)”}”(hŒ/describes how and where to upload the microcode”h]”h×)”}”(hjäh]”hŒ/describes how and where to upload the microcode”…””}”(hjæh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K3hjâubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjÈubhÑ)”}”(hŒ)specifies the values of various registers”h]”h×)”}”(hjûh]”hŒ)specifies the values of various registers”…””}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´K4hjùubah}”(h]”h ]”h"]”h$]”h&]”uh1hÐhjÈubhÑ)”}”(hŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´Mhjeh²hubj$)”}”(hŒÿu32 crc32(const u8 *p, unsigned int len) { unsigned int i; u32 crc = 0; while (len--) { crc ^= *p++; for (i = 0; i < 8; i++) crc = (crc >> 1) ^ ((crc & 1) ? 0xedb88320 : 0); } return crc; }”h]”hŒÿu32 crc32(const u8 *p, unsigned int len) { unsigned int i; u32 crc = 0; while (len--) { crc ^= *p++; for (i = 0; i < 8; i++) crc = (crc >> 1) ^ ((crc & 1) ? 0xedb88320 : 0); } return crc; }”…””}”hjLsbah}”(h]”h ]”h"]”h$]”h&]”j j uh1j#h³hÊh´Mhjeh²hubeh}”(h]”Œv-firmware-structure-layout”ah ]”h"]”Œv - firmware structure layout”ah$]”h&]”uh1hµhh·h²hh³hÊh´K§ubh¶)”}”(hhh]”(h»)”}”(hŒ,VI - Sample Code for Creating Firmware Files”h]”hŒ,VI - Sample Code for Creating Firmware Files”…””}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjbh²hh³hÊh´M%ubh×)”}”(hŒ˜A Python program that creates firmware binaries from the header files normally distributed by Freescale can be found on http://opensource.freescale.com.”h]”(hŒxA Python program that creates firmware binaries from the header files normally distributed by Freescale can be found on ”…””}”(hjsh²hh³Nh´Nubjs)”}”(hŒhttp://opensource.freescale.com”h]”hŒhttp://opensource.freescale.com”…””}”(hj{h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j}uh1jrhjsubhŒ.”…””}”(hjsh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÖh³hÊh´M'hjbh²hubeh}”(h]”Œ*vi-sample-code-for-creating-firmware-files”ah ]”h"]”Œ,vi - sample code for creating firmware files”ah$]”h&]”uh1hµhh·h²hh³hÊh´M%ubeh}”(h]”Œ)freescale-quicc-engine-firmware-uploading”ah ]”h"]”Œ)freescale quicc engine firmware uploading”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”}”(j¡jžj/j,jVjSj’jjHjEjbj_j_j\j™j–uŒ nametypes”}”(j¡‰j/‰jV‰j’‰jH‰jb‰j_‰j™‰uh}”(jžh·j,j jSj2jjYjEj•j_jKj\jej–jbuŒ 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”]”hŒsystem_message”“”)”}”(hhh]”h×)”}”(hŒ:Enumerated list start value not ordinal-1: "c" (ordinal 3)”h]”hŒ>Enumerated list start value not ordinal-1: “c†(ordinal 3)”…””}”(hj.h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÖhj+ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÊŒline”Kuh1j)hh·h²hh³hÊh´KubaŒtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.