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.

TM4C129 and USB3300

Other Parts Discussed in Thread: EK-TM4C129EXL

Hello, I have a USB3300 board www.waveshare.com/usb3300-usb-hs-board.htm , I want to use it to achieve HS USB, I have configurated the pins and the main activity like this:

void USBULPIPinoutSet(void)
{
	//
	// Enable all the peripherals that are used by the ULPI interface.
	//
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB);
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOL);
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOM);
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOP);
	ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_USB0);
	//
	// ULPI Port B pins.
	//
	ROM_GPIOPinConfigure(GPIO_PB2_USB0STP);
	ROM_GPIOPinConfigure(GPIO_PB3_USB0CLK);
	ROM_GPIOPinTypeUSBDigital(GPIO_PORTB_BASE, GPIO_PIN_2 | GPIO_PIN_3);
	GPIOPadConfigSet(GPIO_PORTB_BASE, GPIO_PIN_2 | GPIO_PIN_3, GPIO_STRENGTH_12MA, GPIO_PIN_TYPE_STD);
	//
	// ULPI Port P pins.
	//
	ROM_GPIOPinConfigure(GPIO_PP2_USB0NXT);
	ROM_GPIOPinConfigure(GPIO_PP3_USB0DIR);
	ROM_GPIOPinConfigure(GPIO_PP4_USB0D7);
	ROM_GPIOPinConfigure(GPIO_PP5_USB0D6);
	ROM_GPIOPinTypeUSBDigital(GPIO_PORTP_BASE, GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5);
	GPIOPadConfigSet(GPIO_PORTP_BASE, GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5, GPIO_STRENGTH_12MA, GPIO_PIN_TYPE_STD);
	//
	// ULPI Port L pins.
	//
	ROM_GPIOPinConfigure(GPIO_PL5_USB0D5);
	ROM_GPIOPinConfigure(GPIO_PL4_USB0D4);
	ROM_GPIOPinConfigure(GPIO_PL3_USB0D3);
	ROM_GPIOPinConfigure(GPIO_PL2_USB0D2);
	ROM_GPIOPinConfigure(GPIO_PL1_USB0D1);
	ROM_GPIOPinConfigure(GPIO_PL0_USB0D0);
	ROM_GPIOPinTypeUSBDigital(GPIO_PORTL_BASE, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5);
	GPIOPadConfigSet(GPIO_PORTL_BASE , GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5, GPIO_STRENGTH_12MA, GPIO_PIN_TYPE_STD);
	//
	// ULPI Port M pins used to control the external USB oscillator and the
	// external USB phy on the DK-TM4C129X-DPHY board.
	//
	// PM1 - Enables the USB oscillator on the DK-TM4C129X-DPHY board.
	// PM3 - Enables the USB phy on the DK-TM4C129X-DPHY board.
	//
	ROM_GPIOPinTypeGPIOOutput(GPIO_PORTM_BASE, GPIO_PIN_1 | GPIO_PIN_3);
	ROM_GPIOPinWrite(GPIO_PORTM_BASE, GPIO_PIN_1 | GPIO_PIN_3, GPIO_PIN_1 | GPIO_PIN_3);

	USBClockEnable(USB0_BASE,1,USB_CLOCK_EXTERNAL);
	USBULPIEnable(USB0_BASE);												// Enable ULPI
	USBULPIConfig(USB0_BASE, USB_ULPI_EXTVBUS | USB_ULPI_EXTVBUS_IND);		// Configure the ULPI
	USBHighSpeed(USB0_BASE, true);											// Enable High Speed

}

int main(void)
{
    uint32_t ui32SysClock;
    uint32_t ui32PLLRate;
//  uint32_t ui32Setting;

    ui32SysClock = MAP_SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |
                                           SYSCTL_OSC_MAIN |
                                           SYSCTL_USE_PLL |
                                           SYSCTL_CFG_VCO_480), 120000000);

    PinoutSet(false, true);
    g_bUSBConfigured = false;

    ROM_SysTickPeriodSet(ui32SysClock / SYSTICKS_PER_SECOND);
    ROM_SysTickIntEnable();
    ROM_SysTickEnable();
    USBULPIPinoutSet();
    USBBufferInit(&g_sTxBuffer);
    USBBufferInit(&g_sRxBuffer);


    //SysCtlVCOGet(SYSCTL_XTAL_25MHZ, &ui32PLLRate);
    ui32PLLRate = 0;
    USBDCDFeatureSet(0, USBLIB_FEATURE_CPUCLK, &ui32SysClock);
    USBDCDFeatureSet(0, USBLIB_FEATURE_USBPLL, &ui32PLLRate);

    uint32_t ui32ULPI = USBLIB_FEATURE_ULPI_HS;
    USBDCDFeatureSet(0, USBLIB_FEATURE_USBULPI, &ui32ULPI);

    USBStackModeSet(0, eUSBModeForceDevice, 0);
    USBDBulkInit(0, &g_sBulkDevice);

    while(1)
    {
    }
}

This was made using the usb_dev_bulk example, the problem is that the Host (my PC) does not recognize the device, Is there any problem with the configuration?, some changes must be done on the host side??. Without the external ULPI PHY , everything works fine, the host recognize the device and the Visual Studio example proyect works fine. Someone has worked with this USB3300 board that I have used???