主题中讨论的其他器件:TX12、 AM3352、 TPS65217
工具与软件:
您好!
为了实现此功能、我进行了以下硬件和软件更改。 我是这样的 USB 控制器将能够充当 USB 外设 当 USB1_ID 引脚跳线断开时、(通过使用 USB A 转 USB A 线缆将器件检测为 Windows 系统中的 COM 端口来验证)。 但是、当我闭合 USB1_ID 引脚跳线时 USB 控制器没有切换到 USB 主机 运行。
我的一个发现是、当 USB1_ID 接地时 USB1_DRVVBUS 引脚持续切换高电平和低电平 延迟约为1秒、这似乎是异常行为。
您能请回顾一下我们所做的更改、并提供有助于解决此问题的任何见解或建议吗?
软件更改:
- Linux 内核:
我们正在使用来自以下存储库和分支的内核:
GitHub - RobertCNelson/bb-kernel、分支"am33x-v5.10"。
- 默认配置更改:
进行了以下更改以启用 USB 角色切换:
diff --git a/patches/defconfig b/patches/defconfig index 63c7ae681..121151519 100644 --- a/patches/defconfig +++ b/patches/defconfig @@ -5464,7 +5467,7 @@ CONFIG_USB_G_DBGP_SERIAL=y # end of USB Gadget precomposed configurations # CONFIG_TYPEC is not set -# CONFIG_USB_ROLE_SWITCH is not set +CONFIG_USB_ROLE_SWITCH=y CONFIG_MMC=y CONFIG_PWRSEQ_EMMC=y # CONFIG_PWRSEQ_SD8787 is not set
- DTS 文件更改:
我们按如下方式修改了器件树以为 USB1启用 OTG 模式:
diff --git a/arch/arm/boot/dts/am335x-bone-common.dtsi b/arch/arm/boot/dts/am335x-bone-common.dtsi index 88b2f9d73aa6..c8e7514ec5e8 100644 --- a/arch/arm/boot/dts/am335x-bone-common.dtsi +++ b/arch/arm/boot/dts/am335x-bone-common.dtsi @@ -194,7 +194,9 @@ &usb0 { }; &usb1 { - dr_mode = "host"; + dr_mode = "otg"; }
硬件更改:
- USB1_ID 引脚闭合:预计 USB 控制器将作为一个 USB 主机。
- USB1_ID 引脚被打开:USB 控制器成功地运行为一个 USB 外设。 已通过在 Windows 系统中使用 USB A 转 USB A 电缆将器件检测为 COM 端口进行验证
对于有关此问题的任何指导或反馈、我表示感谢。
谢谢!
Vinothraj.