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.

TM4C1290

Other Parts Discussed in Thread: SEGGER, TM4C1290NCPDT, EK-TM4C1294XL

Customer have issues getting USB as a host controller getting working.  

Using a logic analyzer they see nothing but the reset, then the once/ms SOF message.  It appears that they am calling USBHCDGetDeviceDescriptor (using a segger debug probe break point)  but don’t see anything on the USB data lines to correspond.  They are using Stack mode (USBStackModeSet()) and force host (eUSBModeForceHost) and the only pins configured for the USB peripheral are the D+ D- (Port L , pins 6 & 7).  They do not want to use VBUS or ID.  They are not using an external phy

Any suggestion?

  • Hello Lawrence,

    Your post is not very descriptive of the issue. The full part is critical information w.r.t. the 2 packages available for TM4C1290 devices. What is the clock source being used, how is the USB being configured, etc.

    Without such vital information, we cannot help the customer.
  • Amit,

    Additional information from the customer. Let me know if there is any additional information needed.

    TM4C1290NCPDT

    25MHZ with the main clock at 60MHz and PLL 480MHz


    uint32_t sys_clock, pll_rate;

    pll_rate = 480000000;
    sys_clock = 60000000;

    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOL);
    GPIODirModeSet(GPIO_PORTL_BASE, GPIO_PIN_6 | GPIO_PIN_7, GPIO_DIR_MODE_IN);
    GPIOPadConfigSet(GPIO_PORTL_BASE, GPIO_PIN_6 | GPIO_PIN_7, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_ANALOG);

    SysCtlPeripheralEnable(SYSCTL_PERIPH_USB0);
    IntMasterEnable();

    USBStackModeSet(0, eUSBModeForceHost, 0);
    USBHCDRegisterDrivers(0, host_class_driver,
    sizeof(host_class_driver)/sizeof(tUSBHostClassDriver *));

    USBHCDPowerConfigInit(0, USBHCD_VBUS_MANUAL | USBHCD_FAULT_VBUS_NONE);

    USBHCDFeatureSet(0, USBLIB_FEATURE_CPUCLK, &sys_clock);
    USBHCDFeatureSet(0, USBLIB_FEATURE_USBPLL, &pll_rate);

    USBHCDInit(0, pool, 128);

    USBHCDReset(0);
  • Hello Lawrence,

    Thank you for the details. This is much better: In USB Forced Host mode the USBHCDPowerConfigInit is not required as the USB controller does not control the VBUS

    Is the customer using TivaWare 2.1.3.156?
  • They are are using version 2.1.0.12573 of Tivaware
  • Hello Lawrence,

    Thanks for the information. Is the external device correctly powered? Also is the callback function registered for the device?
  • Amit,

    Yes, the external device is self powered. By callback function registered, do you mean in the host class drivers? If so yes, they have an Event and a CDC set of class drivers. However, they don’t see anything on the bus for traffic other than the SOF, so they don’t know how the software would know what type of device it is connected or what to look for next to debug this further.

    Regards,

    Lawrence
  • Hello Lawrence,

    Structurally all looks correct. I would need to reproduce the setup on an EK-TM4C1294XL. Can you please provide the required information from the customer to setup the same using an EK-TM4C1294XL?