//***************************************************************************** // Copyright (c) 2014 Texas Instruments Incorporated. All rights reserved. // Software License Agreement // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions // are met: // // Redistributions of source code must retain the above copyright // notice, this list of conditions and the following disclaimer. // // Redistributions in binary form must reproduce the above copyright // notice, this list of conditions and the following disclaimer in the // documentation and/or other materials provided with the // distribution. // // Neither the name of Texas Instruments Incorporated nor the names of // its contributors may be used to endorse or promote products derived // from this software without specific prior written permission. // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // This file was automatically generated by the Tiva C Series PinMux Utility // Version: 1.0.4 // //***************************************************************************** #include #include #include #include #include #include #include #include #include #include #include "Common/Sys_PinOut_Config/Pin.h" #ifdef ROM_GPIOPinTypeEthernetLED #define MAP_GPIOPinTypeEthernetLED \ ROM_GPIOPinTypeEthernetLED #else #define MAP_GPIOPinTypeEthernetLED \ GPIOPinTypeEthernetLED #endif //***************************************************************************** #ifdef EVALUATION_BOARD void PortFunctionInit(void) { // // Enable Peripheral Clocks // MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI0); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_EPHY0); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_SSI3); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C4); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC1); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_I2C0); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_USB0); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART7); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART5); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM0); //hardware timers enabled manually because the pinout tool //initialize automatically gpio per timer , deleting the gpio disables the timer //manual initialization works well without gpios MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER2); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER3); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER4); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER5); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER6); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER7); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOH); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOJ); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOK); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOL); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOM); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPION); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOP); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOQ); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOR); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOS); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOT); MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_WDOG0); // // Enable pin PD2 for ADC AIN13 // //MAP_GPIOPinTypeADC(GPIO_PORTD_BASE, GPIO_PIN_2); // // Enable pin PE3 for ADC AIN0 // //MAP_GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_3); // // Enable pin PK0 for ADC AIN16 // MAP_GPIOPinTypeADC(GPIO_PORTK_BASE, GPIO_PIN_0); // // Enable pin PE6 for ADC AIN20 // MAP_GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_6); // // Enable pin PD3 for ADC AIN12 // MAP_GPIOPinTypeADC(GPIO_PORTD_BASE, GPIO_PIN_3); // // Enable pin PE1 for ADC AIN2 // //MAP_GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_1); // // Enable pin PK1 for ADC AIN17 // MAP_GPIOPinTypeADC(GPIO_PORTK_BASE, GPIO_PIN_1); // // Enable pin PK3 for ADC AIN19 // MAP_GPIOPinTypeADC(GPIO_PORTK_BASE, GPIO_PIN_3); // // Enable pin PP6 for ADC AIN23 // MAP_GPIOPinTypeADC(GPIO_PORTP_BASE, GPIO_PIN_6); // // Enable pin PE7 for ADC AIN21 // First open the lock and select the bits we want to modify in the GPIO commit register. // HWREG(GPIO_PORTE_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY; HWREG(GPIO_PORTE_BASE + GPIO_O_CR) = 0x80; // // Now modify the configuration of the pins that we unlocked. // MAP_GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_7); // // Enable pin PB4 for ADC AIN10 // MAP_GPIOPinTypeADC(GPIO_PORTB_BASE, GPIO_PIN_4); // // Enable pin PD6 for ADC AIN5 // MAP_GPIOPinTypeADC(GPIO_PORTD_BASE, GPIO_PIN_6); // // Enable pin PE2 for ADC AIN1 // MAP_GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_2); // // Enable pin PE0 for ADC AIN3 // MAP_GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_0); // // Enable pin PK2 for ADC AIN18 // MAP_GPIOPinTypeADC(GPIO_PORTK_BASE, GPIO_PIN_2); // // Enable pin PP7 for ADC AIN22 // MAP_GPIOPinTypeADC(GPIO_PORTP_BASE, GPIO_PIN_7); // // Enable pin PK4 for EPHY0 EN0LED0 // MAP_GPIOPinConfigure(GPIO_PK4_EN0LED0); MAP_GPIOPinTypeEthernetLED(GPIO_PORTK_BASE, GPIO_PIN_4); // // Enable pin PK5 for EPHY0 EN0LED2 // MAP_GPIOPinConfigure(GPIO_PK5_EN0LED2); MAP_GPIOPinTypeEthernetLED(GPIO_PORTK_BASE, GPIO_PIN_5); // // Enable pin PK6 for EPHY0 EN0LED1 // MAP_GPIOPinConfigure(GPIO_PK6_EN0LED1); MAP_GPIOPinTypeEthernetLED(GPIO_PORTK_BASE, GPIO_PIN_6); // // Enable pin PD0 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTD_BASE, GPIO_PIN_0); // // Enable pin PD1 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTD_BASE, GPIO_PIN_1); // // Enable pin PE4 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTE_BASE, GPIO_PIN_4); // // Enable pin PF7 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_7); // // Enable pin PF6 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_6); // // Enable pin PG4 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTG_BASE, GPIO_PIN_4); // // Enable pin PG5 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTG_BASE, GPIO_PIN_5); // // Enable pin PG0 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTG_BASE, GPIO_PIN_0); // // Enable pin PG1 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTG_BASE, GPIO_PIN_1); // // Enable pin PH2 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTH_BASE, GPIO_PIN_2); // // Enable pin PH0 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTH_BASE, GPIO_PIN_0); // // Enable pin PH4 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTH_BASE, GPIO_PIN_4); // // Enable pin PH6 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTH_BASE, GPIO_PIN_6); // // Enable pin PH7 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTH_BASE, GPIO_PIN_7); // // Enable pin PH5 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTH_BASE, GPIO_PIN_5); // // Enable pin PH1 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTH_BASE, GPIO_PIN_1); // // Enable pin PH3 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTH_BASE, GPIO_PIN_3); // // Enable pin PJ7 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTJ_BASE, GPIO_PIN_7); // // Enable pin PJ6 for GPIOOutput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTJ_BASE, GPIO_PIN_6); // // Enable pin PJ2 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTJ_BASE, GPIO_PIN_2); // // Enable pin PJ3 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTJ_BASE, GPIO_PIN_3); // // Enable pin PL3 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTL_BASE, GPIO_PIN_3); // // Enable pin PL0 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTL_BASE, GPIO_PIN_0); // // Enable pin PL1 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTL_BASE, GPIO_PIN_1); // // Enable pin PL4 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTL_BASE, GPIO_PIN_4); // // Enable pin PL2 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTL_BASE, GPIO_PIN_2); // // Enable pin PL5 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTL_BASE, GPIO_PIN_5); // // Enable pin PM1 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTM_BASE, GPIO_PIN_1); // // Enable pin PM0 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTM_BASE, GPIO_PIN_0); // // Enable pin PM3 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTM_BASE, GPIO_PIN_3); // // Enable pin PM5 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTM_BASE, GPIO_PIN_5); // // Enable pin PM2 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTM_BASE, GPIO_PIN_2); // // Enable pin PN7 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTN_BASE, GPIO_PIN_7); // // Enable pin PN1 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTN_BASE, GPIO_PIN_1); // // Enable pin PN4 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTN_BASE, GPIO_PIN_4); // // Enable pin PN0 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTN_BASE, GPIO_PIN_0); // // Enable pin PP2 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTP_BASE, GPIO_PIN_2); // // Enable pin PP4 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTP_BASE, GPIO_PIN_4); // // Enable pin PP3 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTP_BASE, GPIO_PIN_3); // // Enable pin PP5 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTP_BASE, GPIO_PIN_5); // // Enable pin PP0 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTP_BASE, GPIO_PIN_0); // // Enable pin PQ5 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTQ_BASE, GPIO_PIN_5); // // Enable pin PQ7 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTQ_BASE, GPIO_PIN_7); // // Enable pin PR3 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTR_BASE, GPIO_PIN_3); // // Enable pin PR1 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTR_BASE, GPIO_PIN_1); // // Enable pin PS4 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTS_BASE, GPIO_PIN_4); // // Enable pin PS0 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTS_BASE, GPIO_PIN_0); // // Enable pin PS2 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTS_BASE, GPIO_PIN_2); // // Enable pin PS5 for GPIOOutput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTS_BASE, GPIO_PIN_5); // // Enable pin PS3 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTS_BASE, GPIO_PIN_3); // // Enable pin PT2 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTT_BASE, GPIO_PIN_2); // // Enable pin PT0 for GPIOInput // MAP_GPIOPinTypeGPIOInput(GPIO_PORTT_BASE, GPIO_PIN_0); // // Enable pin PA7 for GPIOInput // MAP_GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, GPIO_PIN_7); // // Enable pin PB3 for I2C0 I2C0SDA // MAP_GPIOPinConfigure(GPIO_PB3_I2C0SDA); MAP_GPIOPinTypeI2C(GPIO_PORTB_BASE, GPIO_PIN_3); // // Enable pin PB2 for I2C0 I2C0SCL // MAP_GPIOPinConfigure(GPIO_PB2_I2C0SCL); MAP_GPIOPinTypeI2CSCL(GPIO_PORTB_BASE, GPIO_PIN_2); // // Enable pin PG6 for I2C4 I2C4SCL // MAP_GPIOPinConfigure(GPIO_PG6_I2C4SCL); MAP_GPIOPinTypeI2CSCL(GPIO_PORTG_BASE, GPIO_PIN_6); // // Enable pin PG7 for I2C4 I2C4SDA // MAP_GPIOPinConfigure(GPIO_PG7_I2C4SDA); MAP_GPIOPinTypeI2C(GPIO_PORTG_BASE, GPIO_PIN_7); // // Enable pin PR2 for PWM0 M0PWM2 // MAP_GPIOPinConfigure(GPIO_PR2_M0PWM2); MAP_GPIOPinTypePWM(GPIO_PORTR_BASE, GPIO_PIN_2); // // Enable pin PR7 for PWM0 M0PWM7 // MAP_GPIOPinConfigure(GPIO_PR7_M0PWM7); MAP_GPIOPinTypePWM(GPIO_PORTR_BASE, GPIO_PIN_7); // // Enable pin PR5 for PWM0 M0PWM5 // MAP_GPIOPinConfigure(GPIO_PR5_M0PWM5); MAP_GPIOPinTypePWM(GPIO_PORTR_BASE, GPIO_PIN_5); // // Enable pin PR0 for PWM0 M0PWM0 // MAP_GPIOPinConfigure(GPIO_PR0_M0PWM0); MAP_GPIOPinTypePWM(GPIO_PORTR_BASE, GPIO_PIN_0); // // Enable pin PA3 for SSI0 SSI0FSS // MAP_GPIOPinConfigure(GPIO_PA3_SSI0FSS); MAP_GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_3); // // Enable pin PA4 for SSI0 SSI0XDAT0 // MAP_GPIOPinConfigure(GPIO_PA4_SSI0XDAT0); MAP_GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_4); // // Enable pin PA5 for SSI0 SSI0XDAT1 // MAP_GPIOPinConfigure(GPIO_PA5_SSI0XDAT1); MAP_GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_5); // // Enable pin PA2 for SSI0 SSI0CLK // MAP_GPIOPinConfigure(GPIO_PA2_SSI0CLK); MAP_GPIOPinTypeSSI(GPIO_PORTA_BASE, GPIO_PIN_2); // // Enable pin PQ0 for SSI3 SSI3CLK // MAP_GPIOPinConfigure(GPIO_PQ0_SSI3CLK); MAP_GPIOPinTypeSSI(GPIO_PORTQ_BASE, GPIO_PIN_0); // // Enable pin PF1 for SSI3 SSI3XDAT0 // MAP_GPIOPinConfigure(GPIO_PF1_SSI3XDAT0); MAP_GPIOPinTypeSSI(GPIO_PORTF_BASE, GPIO_PIN_1); // // Enable pin PQ1 for SSI3 SSI3FSS // MAP_GPIOPinConfigure(GPIO_PQ1_SSI3FSS); MAP_GPIOPinTypeSSI(GPIO_PORTQ_BASE, GPIO_PIN_1); // // Enable pin PF5 for SSI3 SSI3XDAT3 // MAP_GPIOPinConfigure(GPIO_PF5_SSI3XDAT3); MAP_GPIOPinTypeSSI(GPIO_PORTF_BASE, GPIO_PIN_5); // // Enable pin PF0 for SSI3 SSI3XDAT1 // MAP_GPIOPinConfigure(GPIO_PF0_SSI3XDAT1); MAP_GPIOPinTypeSSI(GPIO_PORTF_BASE, GPIO_PIN_0); // // Configure the GPIO Pin Mux for PA0 // for U0RX // MAP_GPIOPinConfigure(GPIO_PA0_U0RX); MAP_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0); // // Configure the GPIO Pin Mux for PA1 // for U0TX // MAP_GPIOPinConfigure(GPIO_PA1_U0TX); MAP_GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_1); // // Enable pin PC7 for UART5 U5TX // MAP_GPIOPinConfigure(GPIO_PC7_U5TX); MAP_GPIOPinTypeUART(GPIO_PORTC_BASE, GPIO_PIN_7); // // Enable pin PC6 for UART5 U5RX // MAP_GPIOPinConfigure(GPIO_PC6_U5RX); MAP_GPIOPinTypeUART(GPIO_PORTC_BASE, GPIO_PIN_6); // // Enable pin PC5 for UART7 U7TX // MAP_GPIOPinConfigure(GPIO_PC5_U7TX); MAP_GPIOPinTypeUART(GPIO_PORTC_BASE, GPIO_PIN_5); // // Enable pin PC4 for UART7 U7RX // MAP_GPIOPinConfigure(GPIO_PC4_U7RX); MAP_GPIOPinTypeUART(GPIO_PORTC_BASE, GPIO_PIN_4); // // Enable pin PL6 for USB0 USB0DP // MAP_GPIOPinTypeUSBAnalog(GPIO_PORTL_BASE, GPIO_PIN_6); // // Enable pin PL7 for USB0 USB0DM // MAP_GPIOPinTypeUSBAnalog(GPIO_PORTL_BASE, GPIO_PIN_7); // // Enable pin PB1 for USB0 USB0VBUS // MAP_GPIOPinTypeUSBAnalog(GPIO_PORTB_BASE, GPIO_PIN_1); } #endif