void LPC17xx_40xx_Timer3_Require(const T_LPC17xx_40xx_Timer_Settings *aSettings) { static const T_LPC17xx_40xx_IOCON_ConfigList pinsCAP0[] = { {GPIO_P1_10, IOCON_D_DEFAULT(3)}, // T3_CAP0 {GPIO_P2_22, IOCON_D_DEFAULT(3)}, // T3_CAP0 {GPIO_P0_23, IOCON_W_DEFAULT(3)}, // T3_CAP0 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsCAP1[] = { {GPIO_P1_0, IOCON_D_DEFAULT(3)}, // T3_CAP1 {GPIO_P2_23, IOCON_D_DEFAULT(3)}, // T3_CAP1 {GPIO_P0_24, IOCON_W_DEFAULT(3)}, // T3_CAP1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsMAT0[] = { {GPIO_P0_10, IOCON_D_DEFAULT(3)}, // T3_MAT0 {GPIO_P1_9, IOCON_D_DEFAULT(3)}, // T3_MAT0 {GPIO_P2_26, IOCON_D_DEFAULT(3)}, // T3_MAT0 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsMAT1[] = { {GPIO_P0_11, IOCON_D_DEFAULT(3)}, // T3_MAT1 {GPIO_P1_8, IOCON_D_DEFAULT(3)}, // T3_MAT1 {GPIO_P2_27, IOCON_D_DEFAULT(3)}, // T3_MAT1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsMAT2[] = { {GPIO_P1_4, IOCON_D_DEFAULT(3)}, // T3_MAT2 {GPIO_P2_30, IOCON_D_DEFAULT(3)}, // T3_MAT2 {GPIO_P5_2, IOCON_I_DEFAULT(3)}, // T3_MAT2 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsMAT3[] = { {GPIO_P1_1, IOCON_D_DEFAULT(3)}, // T3_MAT3 {GPIO_P2_31, IOCON_D_DEFAULT(3)}, // T3_MAT3 {GPIO_P5_4, IOCON_D_DEFAULT(3)}, // T3_MAT3 }; HAL_DEVICE_REQUIRE_ONCE(); // Register Timer3 HALInterfaceRegister("Timer3", (T_halInterface *)&LPC17xx_40xx_Timer3_Interface, 0, 0); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iCAP[0], pinsCAP0, ARRAY_COUNT(pinsCAP0)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iCAP[1], pinsCAP1, ARRAY_COUNT(pinsCAP1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iMAT[0], pinsMAT0, ARRAY_COUNT(pinsMAT0)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iMAT[1], pinsMAT1, ARRAY_COUNT(pinsMAT1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iMAT[2], pinsMAT2, ARRAY_COUNT(pinsMAT2)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iMAT[2], pinsMAT3, ARRAY_COUNT(pinsMAT3)); }
//void LPC17xx_40xx_USBHost_VBUS_Require(T_uezGPIOPortPin aPin) //{ // static const T_LPC17xx_40xx_IOCON_ConfigList pins[] = { // {GPIO_P1_30, IOCON_A_DEFAULT(2)}, // USB_VBUS // }; // HAL_DEVICE_REQUIRE_ONCE(); // LPC17xx_40xx_IOCON_ConfigPinOrNone(aPin, pins, ARRAY_COUNT(pins)); // //} void LPC17xx_40xx_USBHost_PortA_Require(const T_LPC17xx_40xx_USBHost_Settings *aSettings) { static const T_LPC17xx_40xx_IOCON_ConfigList pinsDP1[] = { {GPIO_P0_29, IOCON_U_DEFAULT(1)}, // USB_D+1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsDM1[] = { {GPIO_P0_30, IOCON_U_DEFAULT(1)}, // USB_D-1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsCONNECT1[] = { {GPIO_P2_9, IOCON_D_DEFAULT(1)}, // USB_CONNECT1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsUP_LED1[] = { {GPIO_P1_18, IOCON_D_DEFAULT(1)}, // USB_UP_LED1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsINT1[] = { {GPIO_P1_27, IOCON_D_DEFAULT(1)}, // USB_INT1n }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsSCL1[] = { {GPIO_P1_28, IOCON_D_DEFAULT(1)}, // USB_SCL1 {GPIO_P0_28, IOCON_I_DEFAULT(2)}, // USB_SCL1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsSDA1[] = { {GPIO_P1_29, IOCON_D_DEFAULT(1)}, // USB_SDA1 {GPIO_P0_27, IOCON_I_DEFAULT(2)}, // USB_SDA1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsTX_E1[] = { {GPIO_P1_19, IOCON_D_DEFAULT(1)}, // USB_TX_E1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsTX_DP1[] = { {GPIO_P1_20, IOCON_D_DEFAULT(1)}, // USB_TX_DP1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsTX_DM1[] = { {GPIO_P1_21, IOCON_D_DEFAULT(1)}, // USB_TX_DM1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsRCV1[] = { {GPIO_P1_22, IOCON_D_DEFAULT(1)}, // USB_RCV1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsRX_DP1[] = { {GPIO_P1_23, IOCON_D_DEFAULT(1)}, // USB_RX_DP1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsRX_DM1[] = { {GPIO_P1_24, IOCON_D_DEFAULT(1)}, // USB_RX_DM1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsRX_LS1[] = { {GPIO_P1_25, IOCON_D_DEFAULT(1)}, // USB_LS1n }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsSSPND1[] = { {GPIO_P1_26, IOCON_D_DEFAULT(1)}, // USB_SSPND1n }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsPPWR1[] = { {GPIO_P1_19, IOCON_D_DEFAULT(2)}, // USB_PPWR1n }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsPWRD1[] = { {GPIO_P1_22, IOCON_D_DEFAULT(2)}, // USB_PWRD1 }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsOVRCR1[] = { {GPIO_P1_22, IOCON_D_DEFAULT(2)}, // USB_OVRCR1n {GPIO_P1_27, IOCON_D_DEFAULT(2)}, // USB_OVRCR1n }; static const T_LPC17xx_40xx_IOCON_ConfigList pinsHSTEN1[] = { {GPIO_P1_25, IOCON_D_DEFAULT(2)}, // USB_HSTEN1n }; HAL_DEVICE_REQUIRE_ONCE(); // Register USB Host driver ports for LPC24xx HALInterfaceRegister("USBHost:PortA", (T_halInterface *)&G_LPC17xx_40xx_USBHost_Interface_PortA, 0, 0); // LPC17xx_40xx_USBHost_VBUS_Require(aSettings->iVBUS); LPC17xx_40xx_IOCON_ConfigPin(aSettings->iDP, pinsDP1, ARRAY_COUNT(pinsDP1)); LPC17xx_40xx_IOCON_ConfigPin(aSettings->iDM, pinsDM1, ARRAY_COUNT(pinsDM1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iCONNECT, pinsCONNECT1, ARRAY_COUNT(pinsCONNECT1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iUP_LED, pinsUP_LED1, ARRAY_COUNT(pinsUP_LED1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iINTn, pinsINT1, ARRAY_COUNT(pinsINT1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iSCL, pinsSCL1, ARRAY_COUNT(pinsSCL1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iSDA, pinsSDA1, ARRAY_COUNT(pinsSDA1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iTX_E, pinsTX_E1, ARRAY_COUNT(pinsTX_E1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iTX_DP, pinsTX_DP1, ARRAY_COUNT(pinsTX_DP1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iTX_DM, pinsTX_DM1, ARRAY_COUNT(pinsTX_DM1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iRCV, pinsRCV1, ARRAY_COUNT(pinsRCV1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iRX_DP, pinsRX_DP1, ARRAY_COUNT(pinsRX_DP1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iRX_DM, pinsRX_DM1, ARRAY_COUNT(pinsRX_DM1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iLSn, pinsRX_LS1, ARRAY_COUNT(pinsRX_LS1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iSSPNDn, pinsSSPND1, ARRAY_COUNT(pinsSSPND1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iPPWRn, pinsPPWR1, ARRAY_COUNT(pinsPPWR1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iPWRDn, pinsPWRD1, ARRAY_COUNT(pinsPWRD1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iOVRCRn, pinsOVRCR1, ARRAY_COUNT(pinsOVRCR1)); LPC17xx_40xx_IOCON_ConfigPinOrNone(aSettings->iHSTENn, pinsHSTEN1, ARRAY_COUNT(pinsHSTEN1)); }