yuri_n
2019年1月29日 13時14分
お世話になっております。
Armadillo-640のUSB1に接続したデバイスに対する電源供給のON/OFFを制御したいと思っております。
”使用上の注意事項”として、”Armadillo-640のUSB_OTG2_VBUS電源をOFFできない”という件が
ありましたが、制御対象はUSB_OTG1_VBUS(GPIO1_IO19)ですので関係がないと理解しております。
お手数ですが、以下2点質問したく、よろしくお願い致します。
1.USB_OTG1の位置
製品マニュアルでは
”上段に供給される電源(USB_OTG1_VBUS)はi.MX6ULLのUART1_RTS_Bピン(GPIO1_IO19)、 下段に供給される電源(USB_OTG2_VBUS)は
i.MX6ULLのCSI_MCLKピン(GPIO4_IO17)で制御が可能で、 Highレベル出力で電源が供給され、Lowレベル出力で電源が切断されます。”
と記載されています。
実際は下段がUSB_OTG1と理解しております。正しいでしょうか?
2.USB_OTG1の電源OFFの方法について
USB1のバスコマンドから、電源をOFFにしようと試みましたが、電源がOFFになりません。
root@armadillo:~# echo off /sys/bus/usb/devices/usb1/power/control
off /sys/bus/usb/devices/usb1/power/control
root@armadillo:~# cat /sys/bus/usb/devices/usb1/power/runtime_status
active
root@armadillo:~# echo suspend /sys/bus/usb/devices/usb1/power/control
suspend /sys/bus/usb/devices/usb1/power/control
root@armadillo:~# cat /sys/bus/usb/devices/usb1/power/runtime_status
active
また、UART1_RTS_Bピン(GPIO1_IO19)を直接制御するために、GPIO19をexportしようとしましたが、
エラーとなります。
root@armadillo:~#echo 19 > /sys/class/gpio/unexport
root@armadillo:~#-bash: echo: write error: Invalid argument
電源OFFにするためには、どのようにすべきでしょうか?
ご教授いただければ幸いです。
よろしくお願い致します。
コメント
yuri_n
at_mizo
溝渕です。
> おそらくこれでできそうです。
>
> 電源OFF echo "usb1" > /sys/bus/usb/drivers/usb/unbind
> 電源ON echo "usb1" > /sys/bus/usb/drivers/usb/bind
>
> まだ確証得ていませんが。。。
>
> もしアドバイスある方いらっしゃいましたら、ぜひ、よろしくお願い致します。
多分ユーザーランドからの電源OFFはできないと思います。これは、ドライバ
で制御するものをユーザーランドから変更されるとドライバが困るためです。
完全にユーザーランドからのみ電源制御を行うのであれば、DTSから
reg_usbotg1_vbusを削除し、gpio sysfsから制御するのが良いと思います。
yuri_n
yuri_n
2019年1月29日 13時16分
すみません、先ほどの”GPIO19をexportしようとしましたがエラー”の件、
違うコマンドを張り付けてしまいました。
正しくは以下です。
root@armadillo:~# echo 19 > /sys/class/gpio/export
-bash: echo: write error: Device or resource busy
よろしくお願い致します
> お世話になっております。
>
> Armadillo-640のUSB1に接続したデバイスに対する電源供給のON/OFFを制御したいと思っております。
>
> ”使用上の注意事項”として、”Armadillo-640のUSB_OTG2_VBUS電源をOFFできない”という件が
> ありましたが、制御対象はUSB_OTG1_VBUS(GPIO1_IO19)ですので関係がないと理解しております。
>
> お手数ですが、以下2点質問したく、よろしくお願い致します。
>
> 1.USB_OTG1の位置
> 製品マニュアルでは
> ”上段に供給される電源(USB_OTG1_VBUS)はi.MX6ULLのUART1_RTS_Bピン(GPIO1_IO19)、 下段に供給される電源(USB_OTG2_VBUS)は
> i.MX6ULLのCSI_MCLKピン(GPIO4_IO17)で制御が可能で、 Highレベル出力で電源が供給され、Lowレベル出力で電源が切断されます。”
> と記載されています。
>
> 実際は下段がUSB_OTG1と理解しております。正しいでしょうか?
>
> 2.USB_OTG1の電源OFFの方法について
> USB1のバスコマンドから、電源をOFFにしようと試みましたが、電源がOFFになりません。
> root@armadillo:~# echo off /sys/bus/usb/devices/usb1/power/control
> off /sys/bus/usb/devices/usb1/power/control
> root@armadillo:~# cat /sys/bus/usb/devices/usb1/power/runtime_status
> active
> root@armadillo:~# echo suspend /sys/bus/usb/devices/usb1/power/control
> suspend /sys/bus/usb/devices/usb1/power/control
> root@armadillo:~# cat /sys/bus/usb/devices/usb1/power/runtime_status
> active
>
>
> また、UART1_RTS_Bピン(GPIO1_IO19)を直接制御するために、GPIO19をexportしようとしましたが、
> エラーとなります。
>
> root@armadillo:~#echo 19 > /sys/class/gpio/unexport
> root@armadillo:~#-bash: echo: write error: Invalid argument
>
> 電源OFFにするためには、どのようにすべきでしょうか?
>
> ご教授いただければ幸いです。
> よろしくお願い致します。
>