This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM4378: About how to use USB at 12Mbps

Part Number: AM4378

Hi,
Our customer is building a custom board using AM4378.
They are running Linux SDK Ver 07.03.00.005 with modifications on that board.
They want to use the USB interface on that board at full speed (12Mbps) fixed.
They have modified arch/arm/dts/am437x-gp-evm.dts as follows

&usb1 {
              dr_mode = "host";
              status = "okay";
              maximum-speed = "full-speed";     // appended
};

&usb2 {
              dr_mode = "host";
              status = "okay";
              maximum-speed = "full-speed";     // appended
};

But when they looked at it with the lsusb command (the port they inserted the USB3 memory into) it was 480Mbps.

root@am437x-evm:~# lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 5000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci-hcd/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 480M  <-attach USB3 storage

What can they do to limit the USB speed to 12Mbps?

Best Regards,

Kouji Nishigata

  • Hi Nishigata-san,

    The 'maximum-speed' devicetree property is for AM4378 USB controller to work in device mode, it doesn't have effect for host mode.

    The USB host controller on AM4378 is compatible to xHCI Spec, there is no software way to limit it to full-speed. The only way that I can think of is to add a USB full-speed hub.