€•éOŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”(hhŒparent”hubaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ /translations/zh_CN/usb/chipidea”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”(hhhh2ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/zh_TW/usb/chipidea”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”(hhhhFubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/it_IT/usb/chipidea”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”(hhhhZubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/ja_JP/usb/chipidea”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”(hhhhnubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/ko_KR/usb/chipidea”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”(hhhh‚ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ /translations/sp_SP/usb/chipidea”Œ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Œ.ChipIdea Highspeed Dual Role Controller Driver”h]”hŒ.ChipIdea Highspeed Dual Role Controller Driver”…””}”(hhªhh¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh£hžhhŸŒ:/var/lib/git/docbuild/linux/Documentation/usb/chipidea.rst”h Kubh¢)”}”(hhh]”(h§)”}”(hŒ#1. How to test OTG FSM(HNP and SRP)”h]”hŒ#1. How to test OTG FSM(HNP and SRP)”…””}”(hh¼hhºhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hh·hžhhŸh¶h KubhŒ paragraph”“”)”}”(hŒjTo show how to demo OTG HNP and SRP functions via sys input files with 2 Freescale i.MX6Q sabre SD boards.”h]”hŒjTo show how to demo OTG HNP and SRP functions via sys input files with 2 Freescale i.MX6Q sabre SD boards.”…””}”(hhÌhhÊhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khh·hžhubeh}”(h]”Œhow-to-test-otg-fsm-hnp-and-srp”ah ]”h"]”Œ#1. how to test otg fsm(hnp and srp)”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kubh¢)”}”(hhh]”(h§)”}”(hŒ1.1 How to enable OTG FSM”h]”hŒ1.1 How to enable OTG FSM”…””}”(hhåhhãhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hhàhžhhŸh¶h K ubh¢)”}”(hhh]”(h§)”}”(hŒ=1.1.1 Select CONFIG_USB_OTG_FSM in menuconfig, rebuild kernel”h]”hŒ=1.1.1 Select CONFIG_USB_OTG_FSM in menuconfig, rebuild kernel”…””}”(hhöhhôhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hhñhžhhŸh¶h KubhÉ)”}”(hŒ´Image and modules. If you want to check some internal variables for otg fsm, mount debugfs, there are 2 files which can show otg fsm variables and some controller registers value::”h]”hŒ³Image and modules. If you want to check some internal variables for otg fsm, mount debugfs, there are 2 files which can show otg fsm variables and some controller registers value:”…””}”(hŒ³Image and modules. If you want to check some internal variables for otg fsm, mount debugfs, there are 2 files which can show otg fsm variables and some controller registers value:”hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KhhñhžhubhŒ literal_block”“”)”}”(hŒMcat /sys/kernel/debug/ci_hdrc.0/otg cat /sys/kernel/debug/ci_hdrc.0/registers”h]”hŒMcat /sys/kernel/debug/ci_hdrc.0/otg cat /sys/kernel/debug/ci_hdrc.0/registers”…””}”(hhhjubah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jhŸh¶h Khhñhžhubeh}”(h]”Œ6select-config-usb-otg-fsm-in-menuconfig-rebuild-kernel”ah ]”h"]”Œ=1.1.1 select config_usb_otg_fsm in menuconfig, rebuild kernel”ah$]”h&]”uh1h¡hhàhžhhŸh¶h Kubh¢)”}”(hhh]”(h§)”}”(hŒA1.1.2 Add below entries in your dts file for your controller node”h]”hŒA1.1.2 Add below entries in your dts file for your controller node”…””}”(hj0hj.hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj+hžhhŸh¶h Kubj)”}”(hŒ otg-rev = <0x0200>; adp-disable;”h]”hŒ otg-rev = <0x0200>; adp-disable;”…””}”(hhhj<ubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h Khj+hžhubeh}”(h]”Œ;add-below-entries-in-your-dts-file-for-your-controller-node”ah ]”h"]”ŒA1.1.2 add below entries in your dts file for your controller node”ah$]”h&]”uh1h¡hhàhžhhŸh¶h Kubeh}”(h]”Œhow-to-enable-otg-fsm”ah ]”h"]”Œ1.1 how to enable otg fsm”ah$]”h&]”uh1h¡hh£hžhhŸh¶h K ubh¢)”}”(hhh]”(h§)”}”(hŒ1.2 Test operations”h]”hŒ1.2 Test operations”…””}”(hj_hj]hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjZhžhhŸh¶h K!ubhŒenumerated_list”“”)”}”(hhh]”(hŒ list_item”“”)”}”(hŒcPower up 2 Freescale i.MX6Q sabre SD boards with gadget class driver loaded (e.g. g_mass_storage). ”h]”hÉ)”}”(hŒbPower up 2 Freescale i.MX6Q sabre SD boards with gadget class driver loaded (e.g. g_mass_storage).”h]”hŒbPower up 2 Freescale i.MX6Q sabre SD boards with gadget class driver loaded (e.g. g_mass_storage).”…””}”(hjxhjvhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K#hjrubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjmhžhhŸh¶h Nubjq)”}”(hŒŸConnect 2 boards with usb cable: one end is micro A plug, the other end is micro B plug. The A-device (with micro A plug inserted) should enumerate B-device. ”h]”(hÉ)”}”(hŒXConnect 2 boards with usb cable: one end is micro A plug, the other end is micro B plug.”h]”hŒXConnect 2 boards with usb cable: one end is micro A plug, the other end is micro B plug.”…””}”(hjhjŽhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K&hjŠubhÉ)”}”(hŒDThe A-device (with micro A plug inserted) should enumerate B-device.”h]”hŒDThe A-device (with micro A plug inserted) should enumerate B-device.”…””}”(hjžhjœhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K)hjŠubeh}”(h]”h ]”h"]”h$]”h&]”uh1jphjmhžhhŸh¶h Nubjq)”}”(hŒ—Role switch On B-device:: echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req B-device should take host role and enumerate A-device. ”h]”(hÉ)”}”(hŒ Role switch”h]”hŒ Role switch”…””}”(hj¶hj´hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K+hj°ubhÉ)”}”(hŒ On B-device::”h]”hŒ On B-device:”…””}”(hŒ On B-device:”hjÂhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K-hj°ubj)”}”(hŒ=echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req”h]”hŒ=echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req”…””}”(hhhjÑubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h K/hj°ubhÉ)”}”(hŒ6B-device should take host role and enumerate A-device.”h]”hŒ6B-device should take host role and enumerate A-device.”…””}”(hjáhjßhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K1hj°ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jphjmhžhhŸh¶h Nubjq)”}”(hXØA-device switch back to host. On B-device:: echo 0 > /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req or, by introducing HNP polling, B-Host can know when A-peripheral wishes to be in the host role, so this role switch also can be triggered in A-peripheral side by answering the polling from B-Host. This can be done on A-device:: echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_req A-device should switch back to host and enumerate B-device. ”h]”(hÉ)”}”(hŒA-device switch back to host.”h]”hŒA-device switch back to host.”…””}”(hjùhj÷hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K3hjóubhÉ)”}”(hŒ On B-device::”h]”hŒ On B-device:”…””}”(hŒ On B-device:”hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K5hjóubj)”}”(hŒ=echo 0 > /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req”h]”hŒ=echo 0 > /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req”…””}”(hhhjubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h K7hjóubhÉ)”}”(hŒäor, by introducing HNP polling, B-Host can know when A-peripheral wishes to be in the host role, so this role switch also can be triggered in A-peripheral side by answering the polling from B-Host. This can be done on A-device::”h]”hŒãor, by introducing HNP polling, B-Host can know when A-peripheral wishes to be in the host role, so this role switch also can be triggered in A-peripheral side by answering the polling from B-Host. This can be done on A-device:”…””}”(hŒãor, by introducing HNP polling, B-Host can know when A-peripheral wishes to be in the host role, so this role switch also can be triggered in A-peripheral side by answering the polling from B-Host. This can be done on A-device:”hj"hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K9hjóubj)”}”(hŒ=echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_req”h]”hŒ=echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_req”…””}”(hhhj1ubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h K>hjóubhÉ)”}”(hŒ;A-device should switch back to host and enumerate B-device.”h]”hŒ;A-device should switch back to host and enumerate B-device.”…””}”(hjAhj?hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K@hjóubeh}”(h]”h ]”h"]”h$]”h&]”uh1jphjmhžhhŸh¶h Nubjq)”}”(hŒpRemove B-device (unplug micro B plug) and insert again in 10 seconds; A-device should enumerate B-device again. ”h]”hÉ)”}”(hŒoRemove B-device (unplug micro B plug) and insert again in 10 seconds; A-device should enumerate B-device again.”h]”hŒoRemove B-device (unplug micro B plug) and insert again in 10 seconds; A-device should enumerate B-device again.”…””}”(hjYhjWhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KBhjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jphjmhžhhŸh¶h Nubjq)”}”(hX™Remove B-device (unplug micro B plug) and insert again after 10 seconds; A-device should NOT enumerate B-device. if A-device wants to use bus: On A-device:: echo 0 > /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_drop echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_req if B-device wants to use bus: On B-device:: echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req ”h]”(hÉ)”}”(hŒpRemove B-device (unplug micro B plug) and insert again after 10 seconds; A-device should NOT enumerate B-device.”h]”hŒpRemove B-device (unplug micro B plug) and insert again after 10 seconds; A-device should NOT enumerate B-device.”…””}”(hjqhjohžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KEhjkubhÉ)”}”(hŒif A-device wants to use bus:”h]”hŒif A-device wants to use bus:”…””}”(hjhj}hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KHhjkubhÉ)”}”(hŒ On A-device::”h]”hŒ On A-device:”…””}”(hŒ On A-device:”hj‹hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KJhjkubj)”}”(hŒ|echo 0 > /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_drop echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_req”h]”hŒ|echo 0 > /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_drop echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_req”…””}”(hhhjšubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h KLhjkubhÉ)”}”(hŒif B-device wants to use bus:”h]”hŒif B-device wants to use bus:”…””}”(hjªhj¨hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KOhjkubhÉ)”}”(hŒ On B-device::”h]”hŒ On B-device:”…””}”(hŒ On B-device:”hj¶hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KQhjkubj)”}”(hŒ=echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req”h]”hŒ=echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req”…””}”(hhhjÅubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h KShjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jphjmhžhhŸh¶h Nubjq)”}”(hŒ³A-device power down the bus. On A-device:: echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_drop A-device should disconnect with B-device and power down the bus. ”h]”(hÉ)”}”(hŒA-device power down the bus.”h]”hŒA-device power down the bus.”…””}”(hjßhjÝhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KUhjÙubhÉ)”}”(hŒ On A-device::”h]”hŒ On A-device:”…””}”(hŒ On A-device:”hjëhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h KWhjÙubj)”}”(hŒ>echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_drop”h]”hŒ>echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/a_bus_drop”…””}”(hhhjúubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h KYhjÙubhÉ)”}”(hŒ@A-device should disconnect with B-device and power down the bus.”h]”hŒ@A-device should disconnect with B-device and power down the bus.”…””}”(hj hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K[hjÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1jphjmhžhhŸh¶h Nubjq)”}”(hŒ­B-device does data pulse for SRP. On B-device:: echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req A-device should resume usb bus and enumerate B-device. ”h]”(hÉ)”}”(hŒ!B-device does data pulse for SRP.”h]”hŒ!B-device does data pulse for SRP.”…””}”(hj"hj hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K]hjubhÉ)”}”(hŒ On B-device::”h]”hŒ On B-device:”…””}”(hŒ On B-device:”hj.hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K_hjubj)”}”(hŒ=echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req”h]”hŒ=echo 1 > /sys/bus/platform/devices/ci_hdrc.0/inputs/b_bus_req”…””}”(hhhj=ubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h KahjubhÉ)”}”(hŒ6A-device should resume usb bus and enumerate B-device.”h]”hŒ6A-device should resume usb bus and enumerate B-device.”…””}”(hjMhjKhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Kchjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jphjmhžhhŸh¶h Nubeh}”(h]”h ]”h"]”h$]”h&]”Œenumtype”Œarabic”Œprefix”hŒsuffix”Œ)”uh1jkhjZhžhhŸh¶h K#ubeh}”(h]”Œtest-operations”ah ]”h"]”Œ1.2 test operations”ah$]”h&]”uh1h¡hh£hžhhŸh¶h K!ubh¢)”}”(hhh]”(h§)”}”(hŒ1.3 Reference document”h]”hŒ1.3 Reference document”…””}”(hjwhjuhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjrhžhhŸh¶h KfubhÉ)”}”(hŒv"On-The-Go and Embedded Host Supplement to the USB Revision 2.0 Specification July 27, 2012 Revision 2.0 version 1.1a"”h]”hŒz“On-The-Go and Embedded Host Supplement to the USB Revision 2.0 Specification July 27, 2012 Revision 2.0 version 1.1a—…””}”(hj…hjƒhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Kghjrhžhubeh}”(h]”Œreference-document”ah ]”h"]”Œ1.3 reference document”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kfubh¢)”}”(hhh]”(h§)”}”(hŒ,2. How to enable USB as system wakeup source”h]”hŒ,2. How to enable USB as system wakeup source”…””}”(hjžhjœhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj™hžhhŸh¶h KkubhÉ)”}”(hŒWBelow is the example for how to enable USB as system wakeup source on an imx6 platform.”h]”hŒWBelow is the example for how to enable USB as system wakeup source on an imx6 platform.”…””}”(hj¬hjªhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Klhj™hžhubhÉ)”}”(hŒ2.1 Enable core's wakeup::”h]”hŒ2.1 Enable core’s wakeup:”…””}”(hŒ2.1 Enable core's wakeup:”hj¸hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Kohj™hžhubj)”}”(hŒ?echo enabled > /sys/bus/platform/devices/ci_hdrc.0/power/wakeup”h]”hŒ?echo enabled > /sys/bus/platform/devices/ci_hdrc.0/power/wakeup”…””}”(hhhjÇubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h Kqhj™hžhubhÉ)”}”(hŒ 2.2 Enable glue layer's wakeup::”h]”hŒ!2.2 Enable glue layer’s wakeup:”…””}”(hŒ2.2 Enable glue layer's wakeup:”hjÕhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Kshj™hžhubj)”}”(hŒAecho enabled > /sys/bus/platform/devices/2184000.usb/power/wakeup”h]”hŒAecho enabled > /sys/bus/platform/devices/2184000.usb/power/wakeup”…””}”(hhhjäubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h Kuhj™hžhubhÉ)”}”(hŒ$2.3 Enable PHY's wakeup (optional)::”h]”hŒ%2.3 Enable PHY’s wakeup (optional):”…””}”(hŒ#2.3 Enable PHY's wakeup (optional):”hjòhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Kwhj™hžhubj)”}”(hŒDecho enabled > /sys/bus/platform/devices/20c9000.usbphy/power/wakeup”h]”hŒDecho enabled > /sys/bus/platform/devices/20c9000.usbphy/power/wakeup”…””}”(hhhjubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h Kyhj™hžhubhÉ)”}”(hŒ2.4 Enable roothub's wakeup::”h]”hŒ2.4 Enable roothub’s wakeup:”…””}”(hŒ2.4 Enable roothub's wakeup:”hjhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h K{hj™hžhubj)”}”(hŒ5echo enabled > /sys/bus/usb/devices/usb1/power/wakeup”h]”hŒ5echo enabled > /sys/bus/usb/devices/usb1/power/wakeup”…””}”(hhhjubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h K}hj™hžhubhÉ)”}”(hŒ$2.5 Enable related device's wakeup::”h]”hŒ%2.5 Enable related device’s wakeup:”…””}”(hŒ#2.5 Enable related device's wakeup:”hj,hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Khj™hžhubj)”}”(hŒ4echo enabled > /sys/bus/usb/devices/1-1/power/wakeup”h]”hŒ4echo enabled > /sys/bus/usb/devices/1-1/power/wakeup”…””}”(hhhj;ubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h Khj™hžhubhÉ)”}”(hŒ~If the system has only one usb port, and you want usb wakeup at this port, you can use the below script to enable usb wakeup::”h]”hŒ}If the system has only one usb port, and you want usb wakeup at this port, you can use the below script to enable usb wakeup:”…””}”(hŒ}If the system has only one usb port, and you want usb wakeup at this port, you can use the below script to enable usb wakeup:”hjIhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÈhŸh¶h Kƒhj™hžhubj)”}”(hŒHfor i in $(find /sys -name wakeup | grep usb);do echo enabled > $i;done;”h]”hŒHfor i in $(find /sys -name wakeup | grep usb);do echo enabled > $i;done;”…””}”(hhhjXubah}”(h]”h ]”h"]”h$]”h&]”j!j"uh1jhŸh¶h K†hj™hžhubeh}”(h]”Œ)how-to-enable-usb-as-system-wakeup-source”ah ]”h"]”Œ,2. how to enable usb as system wakeup source”ah$]”h&]”uh1h¡hh£hžhhŸh¶h Kkubeh}”(h]”Œ.chipidea-highspeed-dual-role-controller-driver”ah ]”h"]”Œ.chipidea highspeed dual role 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Œ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”‰Œfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œ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”‰Œ embed_images”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(jsjphÝhÚjWjTj(j%jOjLjojlj–j“jkjhuŒ nametypes”}”(jsNhÝNjWNj(NjONjoNj–NjkNuh}”(jph£hÚh·jThàj%hñjLj+jljZj“jrjhj™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.