Part Number: AM69A
Other Parts Discussed in Thread: SK-AM69
Hello,
I've been working on making a custom board with AM69A. And I would like to set the AP as USB 3.0 device(peripheral) mode so that I can transfer message in high bps.
According to the TRM document, the AP's USB 3.0 interface supports DRD(Dual Role) feature. I got some questions relate to this feature :
1. Does the Linux driver support DRD feature?
1. I conducted some test with the SK-AM69. But It seems like C type port on the board does not support DRD at HW level. (For the test procedure, check below)
And also user manual says that C type port is DFP only.
2. If the driver supports DRD feature, how the HW need to be designed?
2. SK-AM69 HW design :
AP -> USB Hub -> C type connector
3. Other designs as reference :
AP -> C type connector
AP -> additional IC that detect CC pin -> C type connector
3. Requesting a document about how to use this feature on Linux.
Test procedure I did on SK-AM69:
1. Change device tree
Set dr_mode to "peripheral" on k3-am69-sk.dts

2. Run scripts & test program
script:
#!/bin/bash
CONFIGFS_HOME=/home/root/usb-test
modprobe configfs
modprobe usb_f_fs
modprobe libcomposite
# Mount configfs
mount none $CONFIGFS_HOME -t configfs
# Generate usb setting
mkdir $CONFIGFS_HOME/usb_gadget/g1
cd $CONFIGFS_HOME/usb_gadget/g1
# echo 0x0300 > bcdUSB
echo 0x1d6b > idVendor
echo 0x0104 > idProduct
mkdir strings/0x409
echo 6767 > strings/0x409/serialnumber
echo "Test" > strings/0x409/manufacturer
echo "AM69" > strings/0x409/product
mkdir configs/c.1
mkdir configs/c.1/strings/0x409
echo "config" > configs/c.1/strings/0x409/configuration
mkdir functions/ffs.usb0 # usb_f_ffs
ln -s functions/ffs.usb0 configs/c.1
mkdir /home/root/ffs
mount usb0 ffs -t functionfs
cd /home/root/ffs
3. Connect Host PC with to the board. (Type A to C)
Nothig showed up on Host PC. (used lsusb)
Thanks.
If there are any questions, please let me know.