/* Configures the alternate function of a GPIO pin.  */
void GPIOPinConfigure(unsigned long ulPort, unsigned long ulPins, unsigned long ulPinConfig)
/* Configures the alternate function of a GPIO pin.  */
void GPIOPinConfigure(unsigned long ulPort, unsigned long ulPins, unsigned long ulPinConfig)
{
	xASSERT(GPIOBaseValid(ulPort));
    xASSERT(((ulPinConfig >> 12) & 0x1F) <= 17 );
    if(ulPinConfig & 0x10)
    {
    	xHWREG(ulPort + GPIO_SLEWCTL) |= ulPins;
    }
    xHWREG(g_pulGPIOMFPRegs[GPIO_MFP_REG_GET(ulPinConfig)]) &=
    		~(GPIO_MFP_BIT_MASK << GPIO_PIN_SHIFT_GET(ulPinConfig));
    xHWREG(g_pulGPIOMFPRegs[GPIO_MFP_REG_GET(ulPinConfig)]) |=
    		(GPIO_MUT_VALUE_GET(ulPinConfig) << GPIO_PIN_SHIFT_GET(ulPinConfig));
}