1. 概述
i.MX8QXP OTG2 默认使用的是 device 功能,一般作烧录固件功能。在 Android Automotive12 中,配置 OTG2 口作 Host 功能时,插入 U 盘只作识别,不会自动挂载。本文章分享分别在 Automotive12 和 Linux 上实现 OTG2 在 host 模式下自动挂载 U 盘的方法。
2. Android Automotive12 版本
(1)修改文件 device/nxp/imx8q/mek_8q/fstab.nxp.car,增加 OTG2 的 usb 配置,如下所示:
/devices/platform/passthrough/passthrough:bus@5b000000/5b110000.usb/5b130000.usb/* auto auto defaults voldmanaged=usb:auto/devices/platform/bus@5b000000/5b110000.usb/5b130000.usb/* auto auto defaults voldmanaged=usb:auto
(2)修改设备树 arch/arm64/boot/dts/freescale/imx8x-mek.dtsi
@@ -1040,7 +1156,7 @@
};
&usbotg3_cdns3 {
- dr_mode = "otg";
+ dr_mode = "host";
usb-role-switch;
status = "okay";
(3)测试结果,USB1 和 OTG2 同时都能挂载 U 盘,如下所示:
3. Linux 版本
(1) 设备启动后,修改 fstab.nxp 文件,添加 OTG2 的 USB 配置,如下所示:
/devices/platform/passthrough/passthrough:bus@5b000000/5b110000.usb/5b130000.usb/* auto auto defaults voldmanaged=usb:auto/devices/platform/bus@5b000000/5b110000.usb/5b130000.usb/* auto auto defaults voldmanaged=usb:auto
(2)修改设备树 arch/arm64/boot/dts/freescale/imx8x-mek.dtsi
@@ -1040,7 +1156,7 @@
};
&usbotg3_cdns3 {
- dr_mode = "otg";
+ dr_mode = "host";
usb-role-switch;
status = "okay";
(3)测试结果如下
至此完成了 i.MX8QXP 在 Android 12 和 Linux 下 OTG2 Host 模式的 U 盘自动挂载。
参考文献
《Android_Quick_Start_Guide.pdf》
《IMX_YOCTO_PROJECT_USERS_GUIDE.pdf》
评论