全志H3 usb-otg 配置为 host 模式
最近 H3 的USB0 用作 host ,发现识别不了设备。最终发现是内核配置上的问题。这里总结梳理一下。
1.dts 配置
&usb_otg
{
dr_mode = "host";
status = "okay";
};
&usbphy
{
status = "okay";
};
&ehci0 {
dr_mode = "host";
status = "okay";
};
&ohci0 {
dr_mode = "host";
status = "okay";
};
注意上面缺一不可。
2.内核编译选项
需要配置 CONFIG_USB_MUSB_SUNXI
如果页面上没有该选项,检查它的依赖项是否都已经选中:
位于 drivers\usb\musb\Kconfig
config USB_MUSB_SUNXI
tristate "Allwinner (sunxi)"
depends on ARCH_SUNXI
depends on NOP_USB_XCEIV
depends on PHY_SUN4I_USB
depends on EXTCON
depends on GENERIC_PHY
select SUNXI_SRAM
只有当 depends on 后面的选项都已经选中,才会出现上面红色圈里的选项。
在menuconfig 中按 / 然后输入USB_MUSB_SUNXI 可以查找选项的菜单位置。