/** * \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; }
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){ } }
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; }
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; } }
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; } }
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; }