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.

PROCESSOR-SDK-AM62X: Need to set USB speed as FULL-SPEED for TI am62x

Part Number: PROCESSOR-SDK-AM62X


Tool/software:

I am using TI am62x. In my USB application, USB0 is by default getting detected as HIGH SPEED. 

However, I want to use explicitly as FULL-SPEED.

Please let me know what changes I have to make in my firmware (either in DTSi or some specific register) so that when I connect my AM62x device to PC, it should be enumerated as FULL-SPEED instead of HIGH-SPEED.

  • Hi Tejas,

    To limit AM62x USB0 in device mode to full-speed, you can add the following line to &usb0 node in kernel board DTS file.

    maximum-speed = "full-speed";

  • Hi Bin Liu, 

    I am using Vx works RTOS and blew is my usb details from .dtsi file. as you suggested i have changed it to full-speed but still device is connected as high-speed.  is there any settings we are missing ?

    usbss0: dwc3-usb@f900000 {
    compatible = "ti,am62-usb";
    reg = <0x00 0x0f900000 0x00 0x800>;
    clocks = <&k3_clks 161 3>;
    clock-names = "ref";
    ti,syscon-phy-pll-refclk = <&wkup_conf 0x4008>;
    #address-cells = <2>;
    #size-cells = <2>;
    power-domains = <&k3_pds 178 TI_SCI_PD_EXCLUSIVE>;
    ranges;
    status = "okay";
    #maximum-speed = "full-speed";
    usb0: usb@31000000 {
    compatible = "snps,dwc3";
    reg =<0x00 0x31000000 0x00 0x50000>;
    interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>, /* irq.0 */
    <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>; /* irq.0 */
    interrupt-names = "host", "peripheral";
    maximum-speed = "full-speed";
    dr_mode = "otg";
    };
    };

    &usbss0 {
    status = "okay";
    ti,vbus-divider;
    };

    &usb0 {
    #address-cells = <1>;
    #size-cells = <0>;
    dr_mode = "peripheral";
    #maximum-speed = "full-speed";
    };

    Regards,

    Tejas Patel

  • Hi Tejas,

    I won't be able to comment on how VxWorks handles devicetree and controls the USB controller.

    You could review the kernel USB driver to understand how the devicetree property "maxmimum-speed" is handled.

  • Hi Bin Liu, 

    I am checking USB Driver. 

    Ok.  Do you know how to configure speed in USB controller Driver?  Register settings required?

    Regards,

    Tejas Patel

  • Hi Tejas,

    We don't support custom driver development. Please review the Linux driver code to understand the sequence and registers for the speed setting.