STM32MP157A驱动开发 | 03-usb host接口的使用(U盘 )

网友投稿 918 2022-11-08

STM32MP157A驱动开发 | 03-usb host接口的使用(U盘 )

STM32MP157A驱动开发 | 03-usb host接口的使用(U盘 )

硬件原理图

一、STM32MP1的USB接口

STM32MP1有两个USB host控制器,都是USB2.0,带宽最大480Mbit/s,两个USB接口都内置了高速PHY。其中USB2接口支持OTG功能。

STM32MP1内部集成了三个和USB相关的控制器:UST HS PHY控制器、USB Host控制器、USB OTG控制器。

1. PHY控制器

PHY控制器主要提供两个端口,端口1规定分配给USB Host控制器、端口2分配给USB OTG和USB Host。

2. OTG控制器

3. USBH控制器

主控制器USBH由EHCI和OHCI控制器组成。

OCHI:FS低速模式 ECHI:HS高速模式

二、USB HOST设备树描述

1. USBH控制器节点信息

在stm32mp1芯片级描述文件​​arch/arm/boot/dts/stm32mp151.dtsi​​中:

USBH控制器使用USB2.0需要配置usbh_ehci这个节点,使用USB1.1就需要配置usbh_ohci这个节点。

使用的驱动是通用驱动:​​drivers/usb/host/ohci-platform.c​​​和​​drivers/usb/host/ehci-platform.c​​。

2. PHY控制器

在stm32mp1芯片级描述文件​​arch/arm/boot/dts/stm32mp151.dtsi​​中:

usbphyc节点就是STM32MP1的USB PHY,有两个端口,兼容性是"st,stm32mp1-usbphyc"。在板级配置文件中,有如下节点,用来配置USB PHY:

绑定文档为:​​Documentation/devicetree/bindings/phy/phy-stm32-usbphyc.yaml​​。

对应的驱动文件为:​​drivers/phy/st/phy-stm32-usbphyc.c​​。

在开发板中描述文件中,继续添加对usbphyc的描述,使能usbphyc控制器:

&usbphyc { status = "okay";};&usbphyc_port0 { phy-supply = <&vdd_usb>; st,phy-tuning = <&usb_phy_tuning>;};

3. 配置usbh_ehci

在usbh节点描述中,指定PHY端口:

&usbh_ehci { phys = <&usbphyc_port0>; status = "okay";};

至此,设备树修改完成,查看内核启动日志:

三、使能U盘驱动

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:matlab 神经网络 ANN 分类
下一篇:Maven 3.8.1新特性:默认屏蔽外部 HTTP 资源库(会导致repo或mirror地址为http时报错)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~