€•Z'Œ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/driver-api/thermal/exynos_thermal_emulation”Œ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/driver-api/thermal/exynos_thermal_emulation”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ?/translations/it_IT/driver-api/thermal/exynos_thermal_emulation”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ?/translations/ja_JP/driver-api/thermal/exynos_thermal_emulation”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ?/translations/ko_KR/driver-api/thermal/exynos_thermal_emulation”Œ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/driver-api/thermal/exynos_thermal_emulation”Œ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ŒExynos Emulation Mode”h]”hŒExynos Emulation Mode”…””}”(hh¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh£hžhhŸŒY/var/lib/git/docbuild/linux/Documentation/driver-api/thermal/exynos_thermal_emulation.rst”h KubhŒ paragraph”“”)”}”(hŒ&Copyright (C) 2012 Samsung Electronics”h]”hŒ&Copyright (C) 2012 Samsung Electronics”…””}”(hh¹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khh£hžhubh¸)”}”(hŒ1Written by Jonghwa Lee ”h]”(hŒWritten by Jonghwa Lee <”…””}”(hhÇhžhhŸNh NubhŒ reference”“”)”}”(hŒjonghwa3.lee@samsung.com”h]”hŒjonghwa3.lee@samsung.com”…””}”(hhÑhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:jonghwa3.lee@samsung.com”uh1hÏhhÇubhŒ>”…””}”(hhÇhžhhŸNh Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khh£hžhubh¢)”}”(hhh]”(h§)”}”(hŒ Description”h]”hŒ Description”…””}”(hhîhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hhëhžhhŸh¶h K ubh¸)”}”(hX!Exynos 4x12 (4212, 4412) and 5 series provide emulation mode for thermal management unit. Thermal emulation mode supports software debug for TMU's operation. User can set temperature manually with software code and TMU will read current temperature from user value not from sensor's value.”h]”hX%Exynos 4x12 (4212, 4412) and 5 series provide emulation mode for thermal management unit. Thermal emulation mode supports software debug for TMU’s operation. User can set temperature manually with software code and TMU will read current temperature from user value not from sensor’s value.”…””}”(hhühžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K hhëhžhubh¸)”}”(hŒ¹Enabling CONFIG_THERMAL_EMULATION option will make this support available. When it's enabled, sysfs node will be created as /sys/devices/virtual/thermal/thermal_zone'zone id'/emul_temp.”h]”hŒ¿Enabling CONFIG_THERMAL_EMULATION option will make this support available. When it’s enabled, sysfs node will be created as /sys/devices/virtual/thermal/thermal_zone’zone id’/emul_temp.”…””}”(hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khhëhžhubh¸)”}”(hŒáThe sysfs node, 'emul_node', will contain value 0 for the initial state. When you input any temperature you want to update to sysfs node, it automatically enable emulation mode and current temperature will be changed into it.”h]”hŒåThe sysfs node, ‘emul_node’, will contain value 0 for the initial state. When you input any temperature you want to update to sysfs node, it automatically enable emulation mode and current temperature will be changed into it.”…””}”(hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khhëhžhubh¸)”}”(hŒ¬(Exynos also supports user changeable delay time which would be used to delay of changing temperature. However, this node only uses same delay of real sensing time, 938us.)”h]”hŒ¬(Exynos also supports user changeable delay time which would be used to delay of changing temperature. However, this node only uses same delay of real sensing time, 938us.)”…””}”(hj&hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khhëhžhubh¸)”}”(hXÛExynos emulation mode requires synchronous of value changing and enabling. It means when you want to update the any value of delay or next temperature, then you have to enable emulation mode at the same time. (Or you have to keep the mode enabling.) If you don't, it fails to change the value to updated one and just use last succeessful value repeatedly. That's why this node gives users the right to change termerpature only. Just one interface makes it more simply to use.”h]”hXßExynos emulation mode requires synchronous of value changing and enabling. It means when you want to update the any value of delay or next temperature, then you have to enable emulation mode at the same time. (Or you have to keep the mode enabling.) If you don’t, it fails to change the value to updated one and just use last succeessful value repeatedly. That’s why this node gives users the right to change termerpature only. Just one interface makes it more simply to use.”…””}”(hj4hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khhëhžhubh¸)”}”(hŒEDisabling emulation mode only requires writing value 0 to sysfs node.”h]”hŒEDisabling emulation mode only requires writing value 0 to sysfs node.”…””}”(hjBhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h K'hhëhžhubhŒ literal_block”“”)”}”(hXLTEMP 120 | | 100 | | 80 | | +----------- 60 | | | | +-------------| | 40 | | | | | | | | 20 | | | +---------- | | | | | 0 |______________|_____________|__________|__________|_________ A A A A TIME |<----->| |<----->| |<----->| | | 938us | | | | | | emulation : 0 50 | 70 | 20 | 0 current temp: sensor 50 70 20 sensor”h]”hXLTEMP 120 | | 100 | | 80 | | +----------- 60 | | | | +-------------| | 40 | | | | | | | | 20 | | | +---------- | | | | | 0 |______________|_____________|__________|__________|_________ A A A A TIME |<----->| |<----->| |<----->| | | 938us | | | | | | emulation : 0 50 | 70 | 20 | 0 current temp: sensor 50 70 20 sensor”…””}”hjRsbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jPhŸh¶h K,hhëhžhubeh}”(h]”Œ description”ah ]”h"]”Œ description”ah$]”h&]”uh1h¡hh£hžhhŸh¶h K ubeh}”(h]”Œexynos-emulation-mode”ah ]”h"]”Œexynos emulation mode”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”}”(jojljgjduŒ nametypes”}”(jo‰jg‰uh}”(jlh£jdhëuŒ 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.