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.

Linux/PROCESSOR-SDK-AM335X: AM335x MUSB Linux Kernel Performance Guide

Part Number: PROCESSOR-SDK-AM335X

Tool/software: Linux

We try to operate a USB 2.0 camera with minimun bandwidth requiment of 150 Mbps with an AM335x, Linux Debian  powerd board (e.g.Beaglebone blue).

Although AM335x USB controller is reported to be capable as a host to handle USB devices in High speed mode (480 Mbit/s), according to Benchamarks the above throuput cannot be achieved. 

Could the High speed rate be reached using some special Linux kernel modification ?

http://processors.wiki.ti.com/index.php/Processor_SDK_Linux_Kernel_Performance_Guide#AM335X_USB_SLAVE_DEVICE_PERFORMANCE

  • Giorgos,

    The USB bus clock is 480MB/s, but as the referred Performance Guide showing, the AM335x USB data throughput cannot reach to 150Mbps. There is no any known kernel modification which can archive it either.
  • Hello Bin

    Thanks for your quick reply.

    So the AM335x cannot achieve the bandwidth for USB High speed connection? I am asking because AM335x is reported in datasheets to be capable to operate USB devices in High speed mode. Have I not understood correctly?
    Provided that the bus clock can reach 480 Mb/s, is there a way that the AM335x can achieve at least 150 Mb/s? Does it have to do with the hardware or is it software related?

  • Giorgos,

    As defined in the USB 2.0 Spec, the 480Mbps is the bus clock rate, but not data throughput, which could vary from device to device. For example, if you read or write from/to a thumb drive attached to a PC usb 2.0 port, I bet you cannot get 480Mb/s throughput.

    AM335x USB cannot archive 150Mb/s in Linux, this is limited by software, but there is no known kernel patch to improve the throughput.