42 #if TUSB_CFG_MCU == MCU_LPC175X_6X
45 #pragma diag_suppress 66 // Suppress Keil warnings #66-D: enumeration value is out of "int" range
57 PCONP_PCUSB =
BIT_(31)
60 LPC_SC->PCONP |= PCONP_PCUSB;
63 PINSEL_ConfigPin( &(PINSEL_CFG_Type) { .Portnum = 0, .Pinnum = 29, .Funcnum = 1} );
64 PINSEL_ConfigPin( &(PINSEL_CFG_Type) { .Portnum = 0, .Pinnum = 30, .Funcnum = 1} );
66 #if MODE_HOST_SUPPORTED
67 PINSEL_ConfigPin( &(PINSEL_CFG_Type) { .Portnum = 1, .Pinnum = 22, .Funcnum = 2} );
68 PINSEL_ConfigPin( &(PINSEL_CFG_Type) { .Portnum = 1, .Pinnum = 19, .Funcnum = 2} );
70 LPC_USB->USBClkCtrl = USBCLK_HOST;
71 while ((LPC_USB->USBClkSt & USBCLK_HOST) != USBCLK_HOST);
72 LPC_USB->OTGStCtrl = 0x3;
75 #if MODE_DEVICE_SUPPORTED
76 LPC_PINCON->PINSEL4 = bit_set_range(LPC_PINCON->PINSEL4, 18, 19, BIN8(01));
83 PINSEL_ConfigPin( &(PINSEL_CFG_Type) {
84 .Portnum = 1, .Pinnum = 30,
85 .Funcnum = 2, .Pinmode = PINSEL_PINMODE_PULLDOWN} );
88 LPC_USB->USBClkCtrl = USBCLK_DEVCIE;
89 while ((LPC_USB->USBClkSt & USBCLK_DEVCIE) != USBCLK_DEVCIE);
92 return TUSB_ERROR_NONE;
95 void USB_IRQHandler(
void)
#define BIT_TEST_(x, n)
check if n-th bit of x is 1
tusb_error_t
Error Code returned.
void tusb_isr(uint8_t coreid)
USB interrupt handler.
tusb_error_t hal_init(void)
Initialize USB controller hardware.