Пример #1
0
/**
 * \brief   This function selects the DCAN pins for use. The DCAN pins
 *          are multiplexed with pins of other peripherals in the SoC
 *
 * \param   instanceNum       The DCAN instance to be used.
 *
 * \return  TRUE/FALSE.
 *
 */
unsigned int DCANPinMuxSetUp(unsigned int instanceNum)
{
    unsigned int profile = 1;
    unsigned int status = FALSE;

    if(1 != instanceNum)
    {
    }

    profile = EVMProfileGet(); 

    if(1 == profile)
    {
        /* Pin Mux for DCAN0 Tx Pin */
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_CTSN(0)) = 
                  DCAN_SLEWFAST_RXDISABLED_PULLDWN_PUPDENABLED_MODE2;

        /* Pin Mux for DCAN0 Rx Pin */
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_RTSN(0)) = 
                  DCAN_SLEWFAST_RXENABLED_PULLUP_PUPDENABLED_MODE2;
       
        status = TRUE; 
    }

    return status;
}
Пример #2
0
static void GetGPIOPinName(){
        
    if (GPIO_INSTANCE_PIN_NUMBER >= 0 || GPIO_INSTANCE_PIN_NUMBER <= 7){
        GPIOPinMuxSetup(CONTROL_CONF_GPMC_AD(GPIO_INSTANCE_PIN_NUMBER), CONTROL_CONF_MUXMODE(GPIO_INSTANCE_PIN_NUMBER));
    }else if (GPIO_INSTANCE_PIN_NUMBER >= 8 || GPIO_INSTANCE_PIN_NUMBER <= 11){
        switch(GPIO_INSTANCE_PIN_NUMBER){
            case 8:
                GPIOPinMuxSetup(CONTROL_CONF_UART_RTSN(GPIO_INSTANCE_PIN_NUMBER), CONTROL_CONF_MUXMODE(GPIO_INSTANCE_PIN_NUMBER));
                break;
            case 9:
                GPIOPinMuxSetup(CONTROL_CONF_UART_CTSN(GPIO_INSTANCE_PIN_NUMBER), CONTROL_CONF_MUXMODE(GPIO_INSTANCE_PIN_NUMBER));
                break;
            case 10:
                GPIOPinMuxSetup(CONTROL_CONF_UART_RXD(GPIO_INSTANCE_PIN_NUMBER), CONTROL_CONF_MUXMODE(GPIO_INSTANCE_PIN_NUMBER));
                break;
            case 11:
                GPIOPinMuxSetup(CONTROL_CONF_UART_TXD(GPIO_INSTANCE_PIN_NUMBER), CONTROL_CONF_MUXMODE(GPIO_INSTANCE_PIN_NUMBER));
                break;
        }
    }else if (GPIO_INSTANCE_PIN_NUMBER >= 12 || GPIO_INSTANCE_PIN_NUMBER <= 14){
        GPIOPinMuxSetup(CONTROL_CONF_GPMC_AD(GPIO_INSTANCE_PIN_NUMBER), CONTROL_CONF_MUXMODE(GPIO_INSTANCE_PIN_NUMBER));
    }else if (GPIO_INSTANCE_PIN_NUMBER >= 16 || GPIO_INSTANCE_PIN_NUMBER <= 27){
        int PIN_REFERENCE = GPIO_INSTANCE_PIN_NUMBER - 16;
        GPIOPinMuxSetup(CONTROL_CONF_GPMC_A(PIN_REFERENCE), CONTROL_CONF_MUXMODE(PIN_REFERENCE));
    }else if (GPIO_INSTANCE_PIN_NUMBER == 28) {
        GPIOPinMuxSetup(CONTROL_CONF_GPMC_BE1N , CONTROL_CONF_MUXMODE(GPIO_INSTANCE_PIN_NUMBER));
    }else if (GPIO_INSTANCE_PIN_NUMBER >= 29 || GPIO_INSTANCE_PIN_NUMBER <= 31){

    }
}
Пример #3
0
unsigned int pin_mux_spi1_d0(unsigned int PinNr)
{
	switch(PinNr)
	{
	case Spi1_D0_PinMux_H17:
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MII1_CRS) =
             (CONTROL_CONF_MII1_CRS_CONF_MII1_CRS_PUTYPESEL |
                  CONTROL_CONF_MII1_CRS_CONF_MII1_CRS_RXACTIVE |
                  CONTROL_CONF_MUXMODE(2));
		break;
	case Spi1_D0_PinMux_B13:
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_FSX) =
             (CONTROL_CONF_MCASP0_FSX_CONF_MCASP0_FSX_PUTYPESEL |
                  CONTROL_CONF_MCASP0_FSX_CONF_MCASP0_FSX_RXACTIVE |
                  CONTROL_CONF_MUXMODE(2));
		break;
	case Spi1_D0_PinMux_E18:
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_CTSN(0)) =
             (CONTROL_CONF_UART0_CTSN_CONF_UART0_CTSN_PUTYPESEL |
                  CONTROL_CONF_UART0_CTSN_CONF_UART0_CTSN_RXACTIVE |
                  CONTROL_CONF_MUXMODE(4));
		break;
	default:
		return 0;
	}
	return 0;
}
Пример #4
0
void enableWakeSource(unsigned int wakeSource)
{
    StepDisable();  /* TS Step disable */

    switch(wakeSource)
    {
        case WAKE_SOURCE_TSC:

            /* Enable touch screen wake */
            configTSWakeup();
            enableTSWakeup();

            /* Skip ADC IO Pads for low power mode configuration */
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN0, true);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN1, true);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN2, true);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN3, true);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN4, true);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN5, true);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN6, true);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN7, true);
            break;

        case WAKE_SOURCE_UART:
            enableUartWakeup();

            /* Skip UART IO Pads for low power mode configuration */
            IOPadSel(&ctrlContext, CONTROL_CONF_UART_CTSN(0), true);
            IOPadSel(&ctrlContext, CONTROL_CONF_UART_RTSN(0), true);
            IOPadSel(&ctrlContext, CONTROL_CONF_UART_RXD(0), true);
            IOPadSel(&ctrlContext, CONTROL_CONF_UART_TXD(0), true);
            break;

        case WAKE_SOURCE_TMR:
            ConsoleUtilsPrintf("\t...system will wakeup after 20 Sec... ");
            setTimerCount(TIMER_OVRFLW_20_SECOND_16KHZ); /* 20 Sec */
            break;

        case WAKE_SOURCE_GPIO:
            configWakeGpio();
            enableGpioWake();

            /* Skip GPIO SW Pad for low power mode configuration */
            IOPadSel(&ctrlContext, GPIO_SW_PAD_OFFSET, true);
            break;

        case WAKE_SOURCE_RTC:
            ConsoleUtilsPrintf("\t..Alarm is configured to wakeup system after "
                               "20 Sec..");
            configWakeRTC();
            enableRTCAlarmWake();
            break;

        default:
            break;
    }
}
Пример #5
0
void disableWakeSource(unsigned int wakeSource)
{
    StepEnable(); /* TS Step Enable */

    switch(wakeSource)
    {
        case WAKE_SOURCE_TSC:

            /* Disable touch screen wake event */
            disableTSWakeup();

            /* Add ADC IO Pads from low power mode configuration */
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN0, false);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN1, false);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN2, false);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN3, false);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN4, false);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN5, false);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN6, false);
            IOPadSel(&ctrlContext, CONTROL_CONF_AIN7, false);
            break;

        case WAKE_SOURCE_UART:
            disableUartWakeup();

            /* Add UART IO Pads from low power mode configuration */
            IOPadSel(&ctrlContext, CONTROL_CONF_UART_CTSN(0), false);
            IOPadSel(&ctrlContext, CONTROL_CONF_UART_RTSN(0), false);
            IOPadSel(&ctrlContext, CONTROL_CONF_UART_RXD(0), false);
            IOPadSel(&ctrlContext, CONTROL_CONF_UART_TXD(0), false);
            break;

        case WAKE_SOURCE_TMR:

            /* Clear timer interrupt */
            clearTimerInt();
            break;

        case WAKE_SOURCE_GPIO:
            disableGpioWake();

            /* Add GPIO SW Pad from low power mode configuration */
            IOPadSel(&ctrlContext, GPIO_SW_PAD_OFFSET, false);
            break;

        case WAKE_SOURCE_RTC:
            disableRTCAlarm();
            break;

        default:
            break;
    }
}
Пример #6
0
unsigned int pin_mux_spi1_cs0(unsigned int PinNr)
{
	switch(PinNr)
	{
	case Spi1_CS0_PinMux_E15:
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_RXD(0)) =
             (CONTROL_CONF_UART0_RXD_CONF_UART0_RXD_PUTYPESEL |
                  CONTROL_CONF_UART0_RXD_CONF_UART0_RXD_RXACTIVE |
                  CONTROL_CONF_MUXMODE(1));
		break;
	case Spi1_CS0_PinMux_E17:
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_RTSN(0)) =
             (CONTROL_CONF_UART0_RTSN_CONF_UART0_RTSN_PUTYPESEL |
                  CONTROL_CONF_UART0_RTSN_CONF_UART0_RTSN_RXACTIVE |
                  CONTROL_CONF_MUXMODE(5));
		break;
	case Spi1_CS0_PinMux_H18:
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_RMII1_REFCLK) =
             (CONTROL_CONF_RMII1_REFCLK_CONF_RMII1_REFCLK_PUTYPESEL |
                  CONTROL_CONF_RMII1_REFCLK_CONF_RMII1_REFCLK_RXACTIVE |
                  CONTROL_CONF_MUXMODE(2));
		break;
	case Spi1_CS0_PinMux_D18:
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_CTSN(1)) =
             (CONTROL_CONF_UART1_CTSN_CONF_UART1_CTSN_PUTYPESEL |
                  CONTROL_CONF_UART1_CTSN_CONF_UART1_CTSN_RXACTIVE |
                  CONTROL_CONF_MUXMODE(4));
		break;
	case Spi1_CS0_PinMux_C12:
        HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_AHCLKR) =
             (CONTROL_CONF_MCASP0_AHCLKR_CONF_MCASP0_AHCLKR_PUTYPESEL |
                  CONTROL_CONF_MCASP0_AHCLKR_CONF_MCASP0_AHCLKR_RXACTIVE |
                  CONTROL_CONF_MUXMODE(3));
		break;
	default:
		return 0;
	}
	return 0;
}