i.MX8QXP 实现 OTG2 在 host 模式下自动挂载 U 盘

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》

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论