在 2022/5/18 18:17, qianfanguijin@xxxxxxx 写道:
From: qianfan Zhao <qianfanguijin@xxxxxxx>
History:
=======
v4(2022-05-18):
- Enable both musb and OHCI/EHCI support
Tests:
======
All test cases were tested on bananapi-m2-ultra.
1. USB DEVICE(ping test)
Enable usb gadget rndis network, ping m2u on ubuntu host:
➜ ~ ping 192.168.200.2
PING 192.168.200.2 (192.168.200.2) 56(84) bytes of data.
64 bytes from 192.168.200.2: icmp_seq=1 ttl=64 time=0.544 ms
64 bytes from 192.168.200.2: icmp_seq=2 ttl=64 time=0.269 ms
64 bytes from 192.168.200.2: icmp_seq=3 ttl=64 time=0.300 ms
64 bytes from 192.168.200.2: icmp_seq=4 ttl=64 time=0.295 ms
64 bytes from 192.168.200.2: icmp_seq=5 ttl=64 time=0.283 ms
64 bytes from 192.168.200.2: icmp_seq=6 ttl=64 time=0.226 ms
64 bytes from 192.168.200.2: icmp_seq=7 ttl=64 time=0.246 ms
64 bytes from 192.168.200.2: icmp_seq=8 ttl=64 time=0.204 ms
64 bytes from 192.168.200.2: icmp_seq=9 ttl=64 time=0.302 ms
64 bytes from 192.168.200.2: icmp_seq=10 ttl=64 time=0.249 ms
64 bytes from 192.168.200.2: icmp_seq=11 ttl=64 time=0.459 ms
64 bytes from 192.168.200.2: icmp_seq=12 ttl=64 time=0.232 ms
64 bytes from 192.168.200.2: icmp_seq=13 ttl=64 time=0.275 ms
64 bytes from 192.168.200.2: icmp_seq=14 ttl=64 time=0.243 ms
2. USB HOST(OHCI)
Connect an usb serial port on OTG port, nex t is the kernel log:
[ 27.824137] usb 2-1: new full-speed USB device number 2 using ohci-platform
[ 28.865504] cdc_acm 2-1:1.0: ttyACM0: USB ACM device
[ 29.565509] cdc_acm 2-1:1.2: ttyACM1: USB ACM device
3. USB HOST(EHCI)
Connect an usb storage on OTG port, next is the kernel log:
[ 17.754147] usb 1-1: new high-speed USB device number 2 using ehci-platform
[ 17.955995] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 18.024497] scsi host1: usb-storage 1-1:1.0
[ 19.035091] scsi 1:0:0:0: Direct-Access General USB Flash Disk 1.0 PQ: 0 ANSI: 2
[ 19.049717] sd 1:0:0:0: [sda] 7831552 512-byte logical blocks: (4.01 GB/3.73 GiB)
[ 19.060873] sd 1:0:0:0: [sda] Write Protect is off
[ 19.071018] sd 1:0:0:0: [sda] No Caching mode page found
[ 19.076437] sd 1:0:0:0: [sda] Assuming drive cache: write through
[ 19.093566] sda: sda1
[ 19.103492] sd 1:0:0:0: [sda] Attached SCSI removable disk
issues:
=======
The system power often turned off when I plugged an usb device into the OTG port.
It's not clear why.
It is not caused by software.
According to the schematic of M2U, there is a 100uF capacitor on the
USBVBUS,
but noting on ACIN. The board is powered by ACIN when I test usb otg,
plugged an usb storage into the otg port, USB0 enter host mode and will
enable the USBVBUS power supply through N_VBUSEN. At this time due to the
limits of ACIN, the input voltage dropped and AXP enter shutdown protection
state.
This problem was sloved when I mounted a large capacitor on ACIN.
Both usb device and host stack can work fine now.
qianfan Zhao (2):
ARM: dts: sun8i-r40: Add USB0_OTG/HOST support
ARM: dts: bananapi-m2-ultra: Enable USB0_OTG and HOST support
.../boot/dts/sun8i-r40-bananapi-m2-ultra.dts | 39 +++++++++++++++++++
arch/arm/boot/dts/sun8i-r40.dtsi | 34 ++++++++++++++++
2 files changed, 73 insertions(+)