STM32MP157A驱动开发 | 03-usb host接口的使用(U盘 )
Posted Mculover666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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盘驱动
以上是关于STM32MP157A驱动开发 | 03-usb host接口的使用(U盘 )的主要内容,如果未能解决你的问题,请参考以下文章
STM32MP157A驱动开发 | 04 - Linux DRM显示驱动框架
STM32MP157A驱动开发 | 04 - Linux DRM显示驱动框架
STM32MP157A驱动开发 | 05 - 基于LTDC接口驱动RGB LCD
STM32MP157A驱动开发 | 05 - 基于LTDC接口驱动RGB LCD