Example #1
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){

    }
}
Example #2
0
void UARTStdioInit(void) {
   /* Performing the Pin Multiplexing for UART0 instance. */
   /* RXD */
   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);

   /* TXD */
   HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_TXD(0)) =
      CONTROL_CONF_UART0_TXD_CONF_UART0_TXD_PUTYPESEL;

    moduleEnable(MODULE_ID_UART0);
    UARTModuleReset(UART_CONSOLE_BASE);

    /* Performing FIFO configurations. */
    UartFIFOConfigure(1, 1);
    /* Performing Baud Rate settings. */
    UartBaudRateSet(115200);

    /* Switching to Configuration Mode B. */
    UARTRegConfigModeEnable(UART_CONSOLE_BASE, UART_REG_CONFIG_MODE_B);

    /* Programming the Line Characteristics. */
    UARTLineCharacConfig(UART_CONSOLE_BASE,
                         (UART_FRAME_WORD_LENGTH_8 | UART_FRAME_NUM_STB_1),
                         UART_PARITY_NONE);
    /* Disabling write access to Divisor Latches. */
    UARTDivisorLatchDisable(UART_CONSOLE_BASE);

    /* Disabling Break Control. */
    UARTBreakCtl(UART_CONSOLE_BASE, UART_BREAK_COND_DISABLE);

    /* Switching to UART16x operating mode. */
    UARTOperatingModeSelect(UART_CONSOLE_BASE, UART16x_OPER_MODE);
}
Example #3
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;
    }
}
Example #4
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;
    }
}
Example #5
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;
}
unsigned int UARTPinMuxSetup(unsigned int instanceNum)
{
    unsigned int profile = 0;
    unsigned int status = FALSE;

    profile = EVMProfileGet(); 

    switch (profile)
    {
        /* All profiles have the same setting. */
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        case 6:
        case 7:
            if(0 == instanceNum)
            {
                /* RXD */
                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);

                /* TXD */
                HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_TXD(0)) = 
                CONTROL_CONF_UART0_TXD_CONF_UART0_TXD_PUTYPESEL;
                status = TRUE;
            }

        break;

        default:
        break;
    }
    return status;
}
Example #7
0
//******************************************************************************
//    PRU Cape Pinmux
//      This function configures the pinmux for the PRU Cape.
//******************************************************************************
void PRUCapePinmux(void)
{
	//******************************************************************************
	//						    	LEDS	- PRU0
	//******************************************************************************

	//*********************************************
 	// Blue LED  = PR1_PRU0_GPO0
	//*********************************************
 	HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_ACLKX ) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5);

	//*********************************************
	// Green LED  = PR1_PRU0_GPO1
	//*********************************************
	HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_FSX ) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5);

	//*********************************************
	// Orange LED = PR1_PRU0_GPO2
	//*********************************************
 	HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_AXR0 ) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5);

	//*********************************************
	// Red LED    = PR1_PRU0_GPO3
	//*********************************************
	HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_AHCLKR)  =  AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5);



	//******************************************************************************
	//						    	LEDS	- PRU1
	//******************************************************************************

	//*********************************************
	// Blue LED  = PR1_PRU1_GPO3
	//*********************************************
	HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(3)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5);

	//*********************************************
	// Green LED = PR1_PRU1_GPO4
	//*********************************************
	HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(4)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5);

	//*********************************************
	// Red LED  = PR1_PRU1_GPO5
	//*********************************************
	HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(5)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5);



	//******************************************************************************
	//						    	Switches
	//******************************************************************************

	//*********************************************
	// Switch1 = PR1_PRU0_GPI5
	//*********************************************
	//HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_FSR) = AM335X_PIN_INPUT | CONTROL_CONF_MUXMODE(6);

	//*********************************************
	// Switch2 = PR1_PRU0_GPI7
	//*********************************************
	//HWREG(SOC_CONTROL_REGS + CONTROL_CONF_MCASP0_AHCLKX) = AM335X_PIN_INPUT | CONTROL_CONF_MUXMODE(6);


	//******************************************************************************
	//						      	    Audio
	//******************************************************************************

	//*********************************************
	// Audio DIN  = PR1_PRU1_GPO0
	//*********************************************
	//HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(0)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5);

	//*********************************************
	// Audio SCLK = PR1_PRU1_GPO1
	//*********************************************
	//HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(1)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5);

	//*********************************************
	// Audio SYNCn = PR1_PRU1_GPO2
	//*********************************************
	//HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(2)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5);



	//******************************************************************************
	//						    	PRU HW UART
	//******************************************************************************

	//*********************************************
	// UART TXD  = PR1_UART0_TXD
	//*********************************************
	HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_TXD(1)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(5);

	//*********************************************
	// UART RXD = PR1_UART0_RXD
	//*********************************************
	HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_RXD(1)) = AM335X_PIN_INPUT | CONTROL_CONF_MUXMODE(5);

	//*********************************************
	// UART RTS = PR1_UART0_RTS
	//*********************************************
	HWREG(SOC_CONTROL_REGS + CONTROL_CONF_SPI0_D0) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(4);

	//*********************************************
	// UART CTS = PR1_UART0_CTS
	//*********************************************
	HWREG(SOC_CONTROL_REGS + CONTROL_CONF_SPI0_SCLK) = AM335X_PIN_INPUT | CONTROL_CONF_MUXMODE(4);



	//******************************************************************************
	//						    	     LCD
	//******************************************************************************

	//*********************************************
	// LCD_RS  = PR1_PRU_EDIO_DATA_OUT6
	//*********************************************
	//HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_DATA(6)) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(4);

	//*********************************************
	// LCD_E   = PR1_PRU_EDIO_DATA_OUT4
	//*********************************************
	//*((unsigned int*) SOC_CONTROL_REGS + CONTROL_CONF_LCD_PCLK) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(4);

	//*********************************************
	// LCD_DATA4  = PR1_PRU_EDIO_DATA_OUT0
	//*********************************************
	//HWREG(SOC_CONTROL_REGS + CONTROL_CONF_SPI0_D1) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(6);

	//*********************************************
	// LCD_DATA5  = PR1_PRU_EDIO_DATA_OUT1
	//*********************************************
	//HWREG(SOC_CONTROL_REGS + CONTROL_CONF_SPI0_CS0) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(6);
	//*********************************************
	// LCD_DATA6  = PR1_PRU_EDIO_DATA_OUT2
	//*********************************************
	//HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_VSYNC) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(4);
	//*********************************************
	// LCD_DATA7  = PR1_PRU_EDIO_DATA_OUT3
	//*********************************************
	//HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_HSYNC) = AM335X_PIN_OUTPUT | CONTROL_CONF_MUXMODE(4);
	//******************************************************************************
	//						    	TEMP SENSOR
	//******************************************************************************
	//*********************************************
	// TEMP1 HDQ/1W output = PR1_PRU_EDIO_DATA_OUT5
	//*********************************************
	//HWREG(SOC_CONTROL_REGS + CONTROL_CONF_LCD_AC_BIAS_EN) =  AM335X_PIN_INPUT | CONTROL_CONF_MUXMODE(4);
	//*********************************************
	// TEMP1 HDQ/1W input = PR1_PRU0_GPI14
	//*********************************************
	//HWREG(SOC_CONTROL_REGS + CONTROL_CONF_GPMC_AD(14)) =  AM335X_PIN_INPUT | CONTROL_CONF_MUXMODE(6);

}