我。MX8M迷你CPU 2.0有两个USB OTG港口综合体育。

ConnectCore 8 m迷你USB接口

迷你system-on-module ConnectCore 8米外围使用USB OTG端口。

ConnectCore 8 m迷你开发工具包:

  • USB_OTG1被连接到一个USB开关,选择其终点:

    • 微AB-type复苏连接器(USB主机连接器旁边)。

    • 四个端口的USB集线器,同时使可用的端口:

      • 的两个港口可叠起堆放的双USB a类型的连接器。

      • 作为PCIe连接器。

      • XBee细胞插座。

  • USB_OTG2被连接到一个微AB-type连接器(microSD连接器旁边)。

通风装置的状态行USB_OTG1微AB-type复苏连接器决定选择USB终点的开关。默认情况下,USB线将连接到USB集线器。

如果你有一个USB电缆连接到的微型USB连接器,USB将工作装置,因此任何外围连接到USB主机端口不能工作。

内核配置

你可以管理USB 2.0支持通过内核配置选项:

  • USB问题吗?看看交换机支持日志(CONFIG_USB)

  • EHCI HCD (USB 2.0)支持(CONFIG_USB_EHCI_HCD)

  • ChipIdea高速双重角色控制器(CONFIG_USB_CHIPIDEA)

  • ChipIdea设备控制器(CONFIG_USB_CHIPIDEA_UDC)

  • ChipIdea主机控制器(CONFIG_USB_CHIPIDEA_HOST)

  • 飞思卡尔mx USB PHY支持(CONFIG_USB_MXS_PHY)

  • OTG支持(CONFIG_USB_OTG)

所有这些内核配置选项启用内置的默认ConnectCore 8 m迷你内核配置文件

USB设备驱动程序提供了USB设备驱动程序的功能。USB设备驱动程序实现一个或多个“功能”,每一个都提供不同的功能。

以下设备驱动程序支持和启用默认可加载模块ConnectCore 8 m迷你内核配置文件

  • 大容量存储设备(CONFIG_USB_MASS_STORAGE)

  • 以太网设备与疾控中心以太网支持(CONFIG_USB_ETH)

  • 串行设备与ACM和CDC OBEX的支持(CONFIG_USB_G_SERIAL)

设备驱动程序启用可加载的模块,因为一次只能使用一个工具函数。使用一个设备驱动程序之前,您必须首先确保没有其他设备驱动程序被加载。

内核驱动程序

我。MX8M迷你通用串行总线(USB)驱动程序实现了一个标准的Linux驱动程序接口CHIPIDEA USB-HS活跃的(OTG)控制器。CHIPIDEA USB控制器提高主机控制器接口(EHCI)兼容。

我。MX8M位于迷你USB驱动程序司机/ usb /

文件 描述

chipidea / core.c

Chipidea IP核心驱动

chipidea / udc.c

Chipidea外围驱动程序

chipidea / host.c

Chipidea主机驱动程序

chipidea / ci_hdrc_imx.c

我。MX粘合层

chipidea / otg.c

Chipidea OTG司机

chipidea / otg_fsm.c

Chipidea OTG卫生系统和SRP司机

chipidea / usbmisc_imx.c

我。MX SoC抽象层

体育/ phy-mxs-usb.c

我。MX USB物理驱动程序

设备树绑定和定制

我。MX8M迷你USB控制器设备树绑定记录文档/ devicetree /绑定/ usb / ci-hdrc-usb2.txt

例子:ConnectCore 8 m迷你开发工具包

USB_OTG1端口默认配置工作主机。这是选择通过dr_mode财产设备树:

ConnectCore 8 m迷你开发工具包设备树
/ * USB_OTG1连接到usb集线器* / &usbotg1 {pinctrl-names =“默认”;pinctrl-0 = < &pinctrl_usbotg1 >;vbus-supply = < ®_3v3_usb_hub >;目前,reset-gpio = < &gpio5 10 GPIO_ACTIVE_LOW >;dr_mode =“主机”;disable-over-current;状态=“好”;};/ * USB_OTG2连接到usb otg * / &usbotg2 {pinctrl-names =“默认”;pinctrl-0 = < &pinctrl_usbotg2 >;dr_mode = " otg”;状态=“好”;};&iomuxc {pinctrl_usbotg1: usbotg1grp{目前针= < / * USB集线器重置* / MX8MM_IOMUXC_ECSPI2_SCLK_GPIO5_IO10 0 x16 >;}; pinctrl_usbotg2: usbotg2grp { fsl,pins = < /* USB otg2 power enable */ MX8MM_IOMUXC_GPIO1_IO14_USB2_OTG_PWR 0x16 /* USB otg2 overcurrent detect */ MX8MM_IOMUXC_GPIO1_IO15_USB2_OTG_OC 0x16 >; }; };

配置USB的设备

使用USB_OTG1接口USB设备,对设备树进行以下更改:

ConnectCore 8 m迷你开发工具包设备树
diff - git / arch / arm64 / boot / dts /数码网络/ ccimx8mm-dvk。dts b / arch / arm64 / boot / dts /数码网络/ ccimx8mm-dvk.dts指数df2867d65c0b . .6 b68f914002b 100644- - - / arch / arm64 / boot / dts /数码网络/ ccimx8mm-dvk.dts+ + + b / arch / arm64 / boot / dts /数码网络/ ccimx8mm-dvk.dts@@ -716、10 + 716,9 @@&usbotg1 {pinctrl-names =“默认”;pinctrl-0 = < &pinctrl_usbotg1 >;vbus-supply = < ®_3v3_usb_hub >;目前,reset-gpio = < &gpio5 10 GPIO_ACTIVE_LOW >;- dr_mode =“主机”;+ dr_mode =“外围”;disable-over-current;状态=“好”;};

使用USB端口

的信息,请参见下列主题如何使用USB端口。