Edit online

常见问题

14 Nov 2024
Read time: 1 minute(s)

自动切换 Host/Device

该功能是在用户态手动切换 USB 端口为 Host 或者 Device

  1. 配置修改

    在相应工程的 board.dts 中打开 otg 的宏,并配置 otg-mode, 可选值为

    • auto: 通过硬件的 ID 管脚切换

    • host: 默认配置为 host

    • device: 默认配置为 device

      #if 1
      &otg {
             otg-mode = "device";    /* auto/host/device */
             status = "okay";
      };
  2. 手动切换

    通过上述配置打开 otg mode 后就可以在控制台通过 sysfs 的接口进行手动切换

    [aic@] #cat /sys/devices/platform/soc/soc\:usb-otg/otg_mode                 //当前模式
    [aic@] #echo auto > /sys/devices/platform/soc/soc\:usb-otg/otg_mode         //切换为 auto
    [aic@] #echo device > /sys/devices/platform/soc/soc\:usb-otg/otg_mode       //切换为 device
    [aic@] #echo host > /sys/devices/platform/soc/soc\:usb-otg/otg_mode         //切换为 host