Add chip-specific pin multiplexing definitions

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3877 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2011-08-13 23:48:15 +00:00
parent e92fd82b42
commit f647868570
7 changed files with 1106 additions and 35 deletions

View File

@ -49,6 +49,7 @@
#include "kinetis_sim.h"
#include "kinetis_fmc.h"
#include "kinetis_llwu.h"
#include "kinetis_pinmux.h"
/****************************************************************************
* Private Definitions
@ -304,9 +305,9 @@ static inline void kinetis_traceconfig(void)
regval |= SIM_SOPT2_TRACECLKSEL;
putreg32(regval, KINETIS_SIM_SOPT2);
/* Enable the TRACE_CLKOUT pin function on PTA6 (alt7 function) */
/* Enable the TRACE_CLKOUT pin function on the configured pin */
kinetis_gpioconfig(GPIO_TRACE);
kinetis_gpioconfig(GPIO_TRACE_CLKOUT);
}
#else
# define kinetis_traceconfig()
@ -333,7 +334,7 @@ static inline void kinetis_fbconfig(void)
/* Enable the FB_CLKOUT function on PTC3 (alt5 function) */
kinetis_gpioconfig(GPIO_FBCLKOUT);
kinetis_gpioconfig(GPIO_FB_CLKOUT);
}
#else
# define kinetis_fbconfig()

View File

@ -77,11 +77,11 @@
/* Are any UARTs enabled? */
#undef HAVE_UART
#undef HAVE_UART_DEVICE
#if defined(CONFIG_KINETIS_UART0) || defined(CONFIG_KINETIS_UART1) || \
defined(CONFIG_KINETIS_UART2) || defined(CONFIG_KINETIS_UART3) || \
defined(CONFIG_KINETIS_UART5)
# define HAVE_UART 1
# define HAVE_UART_DEVICE 1
#endif
/* Is there a serial console? There should be at most one defined. It could be on

View File

@ -48,6 +48,7 @@
#include <stdbool.h>
#include "up_internal.h"
#include "kinetis_config.h"
#include "chip.h"
#include "kinetis_port.h"

View File

@ -0,0 +1,518 @@
/********************************************************************************************
* arch/arm/src/kinetis/kinetis_k40pinmux.h
*
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
* 3. Neither the name NuttX 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.
*
********************************************************************************************/
#ifndef __ARCH_ARM_SRC_KINETIS_KINETIS_K40PINMUX_H
#define __ARCH_ARM_SRC_KINETIS_KINETIS_K40PINMUX_H
/********************************************************************************************
* Included Files
********************************************************************************************/
#include <nuttx/config.h>
#include "chip.h"
/********************************************************************************************
* Pre-processor Definitions
********************************************************************************************/
/* Reference: Paragraph 10.3.1, p 227, of FreeScale document K40P144M100SF2RM
*
* In most cases, there are alternative configurations for various pins. Those alternative
* pins are labeled with a suffix like _1, _2, etc. in order to distinguish them. Logic in
* the board.h file must select the correct pin configuration for the board by defining a pin
* configuration (with no suffix) that maps to the correct alternative.
*/
#if defined(CONFIG_ARCH_CHIP_MK40X128VLQ100) || defined(CONFIG_ARCH_CHIP_MK40X128VMD100) || \
defined(CONFIG_ARCH_CHIP_MK40X256VLQ100) || defined(CONFIG_ARCH_CHIP_MK40X256VMD100) || \
defined(CONFIG_ARCH_CHIP_MK40N512VLQ100) || defined(CONFIG_ARCH_CHIP_MK40N512VMD100)
#define GPIO_TSI0_CH1 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN0)
#define GPIO_UART0_CTS_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN0)
#define GPIO_FTM0_CH5_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN0)
#define GPIO_JTAG_TCLK (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN0)
#define GPIO_GPIO_SWD_CLK (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN0)
#define GPIO_TSI0_CH2 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN1)
#define GPIO_UART0_RX_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN1)
#define GPIO_FTM0_CH6_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN1)
#define GPIO_JTAG_TDI (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN1)
#define GPIO_TSI0_CH3 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN2)
#define GPIO_UART0_TX_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN2)
#define GPIO_FTM0_CH7_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN2)
#define GPIO_JTAG_TDO (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN2)
#define GPIO_TRACE_SWO (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN2)
#define GPIO_TSI0_CH4 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN3)
#define GPIO_UART0_RTS_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN3)
#define GPIO_FTM0_CH0_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN3)
#define GPIO_JTAG_TMS (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN3)
#define GPIO_SWD_DIO (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN3)
#define GPIO_TSI0_CH5 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN4)
#define GPIO_FTM0_CH1_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN4)
#define GPIO_NMI (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN4)
#define GPIO_FTM0_CH2_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN5)
#define GPIO_CMP2_OUT_1 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN5)
#define GPIO_I2S0_RX_BCLK_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN5)
#define GPIO_JTAG_TRST (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN5)
#define GPIO_FTM0_CH3_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN6)
#define GPIO_FB_CLKOUT (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN6)
#define GPIO_TRACE_CLKOUT (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN6)
#define GPIO_ADC0_SE10 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN7)
#define GPIO_FTM0_CH4_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN7)
#define GPIO_FB_AD18 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN7)
#define GPIO_TRACE_D3 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN7)
#define GPIO_ADC0_SE11 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN8)
#define GPIO_FTM1_CH0_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN8)
#define GPIO_FB_AD17 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN8)
#define GPIO_FTM1_QD_PHA_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN8)
#define GPIO_TRACE_D2 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN8)
#define GPIO_FTM1_CH1_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN9)
#define GPIO_FB_AD16 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN9)
#define GPIO_FTM1_QD_PHB_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN9)
#define GPIO_TRACE_D1 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN9)
#define GPIO_FTM2_CH0_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN10)
#define GPIO_FB_AD15 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN10)
#define GPIO_FTM2_QD_PHA_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN10)
#define GPIO_TRACE_D0 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN10)
#define GPIO_FTM2_CH1_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN11)
#define GPIO_FB_OE (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN11)
#define GPIO_FTM2_QD_PHB_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN11)
#define GPIO_CMP2_IN0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN12)
#define GPIO_CAN0_TX_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_FTM1_CH0_2 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_FB_CS5 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_FB_TSIZ1 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_FB_BE23_16_BLS15_8 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_I2S0_TXD_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_FTM1_QD_PHA_2 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_CMP2_IN1 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN13)
#define GPIO_CAN0_RX_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_FTM1_CH1_2 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_FB_CS4 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_FB_TSIZ0 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_FB_BE31_24_BLS7_0 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_I2S0_TX_FS_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_FTM1_QD_PHB_2 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_SPI0_PCS0_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN14)
#define GPIO_UART0_TX_2 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN14)
#define GPIO_FB_AD31 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN14)
#define GPIO_I2S0_TX_BCLK_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN14)
#define GPIO_SPI0_SCK_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN15)
#define GPIO_UART0_RX_2 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN15)
#define GPIO_FB_AD30 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN15)
#define GPIO_I2S0_RXD_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN15)
#define GPIO_SPI0_SOUT_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN16)
#define GPIO_UART0_CTS_2 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN16)
#define GPIO_FB_AD29 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN16)
#define GPIO_I2S0_RX_FS_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN16)
#define GPIO_ADC1_SE17 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN17)
#define GPIO_SPI0_SIN_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN17)
#define GPIO_UART0_RTS_2 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN17)
#define GPIO_FB_AD28 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN17)
#define GPIO_I2S0_MCLK_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN17)
#define GPIO_I2S0_CLKIN_1 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN17)
#define GPIO_EXTAL (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN18)
#define GPIO_FTM0_FLT2_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN18)
#define GPIO_FTM_CLKIN0 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN18)
#define GPIO_XTAL (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN19)
#define GPIO_FTM1_FLT0_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN19)
#define GPIO_FTM_CLKIN1 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN19)
#define GPIO_LPT0_ALT1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN19)
#define GPIO_FB_AD14 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN24)
#define GPIO_FB_AD13 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN25)
#define GPIO_FB_AD12 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN26)
#define GPIO_FB_AD11 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN27)
#define GPIO_FB_AD10 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN28)
#define GPIO_FB_AD19 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN29)
#define GPIO_LCD_P0 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN0)
#define GPIO_ADC0_SE8 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN0)
#define GPIO_ADC1_SE8 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN0)
#define GPIO_TSI0_CH0 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN0)
#define GPIO_I2C0_SCL_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN0)
#define GPIO_FTM1_CH0_3 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN0)
#define GPIO_FTM1_QD_PHA_3 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN0)
#define GPIO_LCD_P0F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN0)
#define GPIO_LCD_P1 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN1)
#define GPIO_ADC0_SE9 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN1)
#define GPIO_ADC1_SE9 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN1)
#define GPIO_TSI0_CH6 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN1)
#define GPIO_I2C0_SDA_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN1)
#define GPIO_FTM1_CH1_3 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN1)
#define GPIO_FTM1_QD_PHB (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN1)
#define GPIO_LCD_P1F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN1)
#define GPIO_LCD_P2 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN2)
#define GPIO_ADC0_SE12 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN2)
#define GPIO_TSI0_CH7 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN2)
#define GPIO_I2C0_SCL_2 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN2)
#define GPIO_UART0_RTS_3 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN2)
#define GPIO_FTM0_FLT3 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN2)
#define GPIO_LCD_P2F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN2)
#define GPIO_LCD_P3 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN3)
#define GPIO_ADC0_SE13 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN3)
#define GPIO_TSI0_CH8 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN3)
#define GPIO_I2C0_SDA_2 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN3)
#define GPIO_UART0_CTS_3 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN3)
#define GPIO_FTM0_FLT0_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN3)
#define GPIO_LCD_P3F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN3)
#define GPIO_LCD_P4 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN4)
#define GPIO_ADC1_SE10 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN4)
#define GPIO_FTM1_FLT0_2 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN4)
#define GPIO_LCD_P4F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN4)
#define GPIO_LCD_P5 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN5)
#define GPIO_ADC1_SE11 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN5)
#define GPIO_FTM2_FLT0_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN5)
#define GPIO_LCD_P5F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN5)
#define GPIO_LCD_P6 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN6)
#define GPIO_ADC1_SE12 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN6)
#define GPIO_LCD_P6F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN6)
#define GPIO_LCD_P7 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN7)
#define GPIO_ADC1_SE13 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN7)
#define GPIO_LCD_P7F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN7)
#define GPIO_LCD_P8 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN8)
#define GPIO_UART3_RTS_1 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN8)
#define GPIO_LCD_P8F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN8)
#define GPIO_LCD_P9 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN9)
#define GPIO_SPI1_PCS1_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN9)
#define GPIO_UART3_CTS_1 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN9)
#define GPIO_LCD_P9F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN9)
#define GPIO_LCD_P10 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN10)
#define GPIO_ADC1_SE14 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN10)
#define GPIO_SPI1_PCS0_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN10)
#define GPIO_UART3_RX_1 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN10)
#define GPIO_FTM0_FLT1_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN10)
#define GPIO_LCD_P10F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN10)
#define GPIO_LCD_P11 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN11)
#define GPIO_ADC1_SE15 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN11)
#define GPIO_SPI1_SCK_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN11)
#define GPIO_UART3_TX_1 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN11)
#define GPIO_FTM0_FLT2_2 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN11)
#define GPIO_LCD_P11F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN11)
#define GPIO_LCD_P12 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN16)
#define GPIO_TSI0_CH9 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN16)
#define GPIO_SPI1_SOUT_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN16)
#define GPIO_UART0_RX_3 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN16)
#define GPIO_EWM_IN_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN16)
#define GPIO_LCD_P12F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN16)
#define GPIO_LCD_P13 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN17)
#define GPIO_TSI0_CH10 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN17)
#define GPIO_SPI1_SIN_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN17)
#define GPIO_UART0_TX_3 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN17)
#define GPIO_EWM_OUT_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN17)
#define GPIO_LCD_P13F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN17)
#define GPIO_LCD_P14 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN18)
#define GPIO_TSI0_CH11 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN18)
#define GPIO_CAN0_TX_2 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN18)
#define GPIO_FTM2_CH0_2 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN18)
#define GPIO_I2S0_TX_BCLK_2 (GPIO_ALT4 | GPIO_PORTB | GPIO_PIN18)
#define GPIO_FTM2_QD_PHA_2 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN18)
#define GPIO_LCD_P14F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN18)
#define GPIO_LCD_P15 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN19)
#define GPIO_TSI0_CH12 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN19)
#define GPIO_CAN0_RX_2 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN19)
#define GPIO_FTM2_CH1_2 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN19)
#define GPIO_I2S0_TX_FS_2 (GPIO_ALT4 | GPIO_PORTB | GPIO_PIN19)
#define GPIO_FTM2_QD_PHB_2 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN19)
#define GPIO_LCD_P15F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN19)
#define GPIO_LCD_P16 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN20)
#define GPIO_SPI2_PCS0_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN20)
#define GPIO_CMP0_OUT_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN20)
#define GPIO_LCD_P16F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN20)
#define GPIO_LCD_P17 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN21)
#define GPIO_SPI2_SCK_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN21)
#define GPIO_CMP1_OUT_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN21)
#define GPIO_LCD_P17F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN21)
#define GPIO_LCD_P18 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN22)
#define GPIO_SPI2_SOUT_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN22)
#define GPIO_CMP2_OUT_2 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN22)
#define GPIO_LCD_P18F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN22)
#define GPIO_LCD_P19 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN23)
#define GPIO_SPI2_SIN_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN23)
#define GPIO_SPI0_PCS5 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN23)
#define GPIO_LCD_P19F (GPIO_ALT7 | GPIO_PORTB | GPIO_PIN23)
#define GPIO_LCD_P20 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN0)
#define GPIO_ADC0_SE14 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN0)
#define GPIO_TSI0_CH13 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN0)
#define GPIO_SPI0_PCS4 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN0)
#define GPIO_PDB0_EXTRG_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN0)
#define GPIO_I2S0_TXD_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN0)
#define GPIO_LCD_P20F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN0)
#define GPIO_LCD_P21 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN1)
#define GPIO_ADC0_SE15 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN1)
#define GPIO_TSI0_CH14 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN1)
#define GPIO_SPI0_PCS3_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN1)
#define GPIO_UART1_RTS_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN1)
#define GPIO_FTM0_CH0_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN1)
#define GPIO_LCD_P21F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN1)
#define GPIO_LCD_P22 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN2)
#define GPIO_ADC0_SE4B (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN2)
#define GPIO_CMP1_IN0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN2)
#define GPIO_TSI0_CH15 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN2)
#define GPIO_SPI0_PCS2_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN2)
#define GPIO_UART1_CTS_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN2)
#define GPIO_FTM0_CH1_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN2)
#define GPIO_LCD_P22F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN2)
#define GPIO_LCD_P23 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN3)
#define GPIO_CMP1_IN1 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN3)
#define GPIO_SPI0_PCS1_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN3)
#define GPIO_UART1_RX_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN3)
#define GPIO_FTM0_CH2_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN3)
#define GPIO_LCD_P23F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN3)
#define GPIO_LCD_P24 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN4)
#define GPIO_SPI0_PCS0_2 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN4)
#define GPIO_UART1_TX_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN4)
#define GPIO_FTM0_CH3_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN4)
#define GPIO_CMP1_OUT_2 (GPIO_ALT6 | GPIO_PORTC | GPIO_PIN4)
#define GPIO_LCD_P24F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN4)
#define GPIO_LCD_P25 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN5)
#define GPIO_SPI0_SCK_2 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN5)
#define GPIO_LPT0_ALT2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN5)
#define GPIO_CMP0_OUT_2 (GPIO_ALT6 | GPIO_PORTC | GPIO_PIN5)
#define GPIO_LCD_P25F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN5)
#define GPIO_LCD_P26 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN6)
#define GPIO_CMP0_IN0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN6)
#define GPIO_SPI0_SOUT_2 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN6)
#define GPIO_PDB0_EXTRG_2 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN6)
#define GPIO_LCD_P26F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN6)
#define GPIO_LCD_P27 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN7)
#define GPIO_CMP0_IN1 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN7)
#define GPIO_SPI0_SIN_2 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN7)
#define GPIO_LCD_P27F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN7)
#define GPIO_LCD_P28 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN8)
#define GPIO_ADC1_SE4B (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN8)
#define GPIO_CMP0_IN2 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN8)
#define GPIO_I2S0_MCLK_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN8)
#define GPIO_I2S0_CLKIN_2 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN8)
#define GPIO_LCD_P28F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN8)
#define GPIO_LCD_P29 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN9)
#define GPIO_ADC1_SE5B (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN9)
#define GPIO_CMP0_IN3 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN9)
#define GPIO_I2S0_RX_BCLK_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN9)
#define GPIO_FTM2_FLT0_2 (GPIO_ALT6 | GPIO_PORTC | GPIO_PIN9)
#define GPIO_LCD_P29F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN9)
#define GPIO_LCD_P30 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN10)
#define GPIO_ADC1_SE6B (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN10)
#define GPIO_CMP0_IN4 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN10)
#define GPIO_I2C1_SCL_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN10)
#define GPIO_I2S0_RX_FS_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN10)
#define GPIO_LCD_P30F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN10)
#define GPIO_LCD_P31 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN11)
#define GPIO_ADC1_SE7B (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN11)
#define GPIO_I2C1_SDA_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN11)
#define GPIO_I2S0_RXD_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN11)
#define GPIO_LCD_P31F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN11)
#define GPIO_LCD_P32 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN12)
#define GPIO_UART4_RTS_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN12)
#define GPIO_LCD_P32F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN12)
#define GPIO_LCD_P33 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN13)
#define GPIO_UART4_CTS_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN13)
#define GPIO_LCD_P33F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN13)
#define GPIO_LCD_P34 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN14)
#define GPIO_UART4_RX_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN14)
#define GPIO_LCD_P34F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN14)
#define GPIO_LCD_P35 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN15)
#define GPIO_UART4_TX_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN15)
#define GPIO_LCD_P35F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN15)
#define GPIO_LCD_P36 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN16)
#define GPIO_CAN1_RX_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN16)
#define GPIO_UART3_RX_2 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN16)
#define GPIO_LCD_P36F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN16)
#define GPIO_LCD_P37 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN17)
#define GPIO_CAN1_TX_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN17)
#define GPIO_UART3_TX_2 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN17)
#define GPIO_LCD_P37F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN17)
#define GPIO_LCD_P38 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN18)
#define GPIO_UART3_RTS_2 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN18)
#define GPIO_LCD_P38F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN18)
#define GPIO_LCD_P39 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN19)
#define GPIO_UART3_CTS_2 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN19)
#define GPIO_LCD_P39F (GPIO_ALT7 | GPIO_PORTC | GPIO_PIN19)
#define GPIO_LCD_P40 (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN0)
#define GPIO_SPI0_PCS0_3 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN0)
#define GPIO_UART2_RTS (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN0)
#define GPIO_LCD_P40F (GPIO_ALT7 | GPIO_PORTD | GPIO_PIN0)
#define GPIO_LCD_P41 (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN1)
#define GPIO_ADC0_SE5B (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN1)
#define GPIO_SPI0_SCK_3 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN1)
#define GPIO_UART2_CTS (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN1)
#define GPIO_LCD_P41F (GPIO_ALT7 | GPIO_PORTD | GPIO_PIN1)
#define GPIO_LCD_P42 (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN2)
#define GPIO_SPI0_SOUT_3 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN2)
#define GPIO_UART2_RX (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN2)
#define GPIO_LCD_P42F (GPIO_ALT7 | GPIO_PORTD | GPIO_PIN2)
#define GPIO_LCD_P43 (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN3)
#define GPIO_SPI0_SIN_3 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN3)
#define GPIO_UART2_TX (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN3)
#define GPIO_LCD_P43F (GPIO_ALT7 | GPIO_PORTD | GPIO_PIN3)
#define GPIO_LCD_P44 (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN4)
#define GPIO_SPI0_PCS1_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN4)
#define GPIO_UART0_RTS_4 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN4)
#define GPIO_FTM0_CH4_2 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN4)
#define GPIO_EWM_IN_2 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN4)
#define GPIO_LCD_P44F (GPIO_ALT7 | GPIO_PORTD | GPIO_PIN4)
#define GPIO_LCD_P45 (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN5)
#define GPIO_ADC0_SE6B (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN5)
#define GPIO_SPI0_PCS2_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN5)
#define GPIO_UART0_CTS_4 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN5)
#define GPIO_FTM0_CH5_2 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN5)
#define GPIO_EWM_OUT_2 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN5)
#define GPIO_LCD_P45F (GPIO_ALT7 | GPIO_PORTD | GPIO_PIN5)
#define GPIO_LCD_P46 (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN6)
#define GPIO_ADC0_SE7B (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN6)
#define GPIO_SPI0_PCS3_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN6)
#define GPIO_UART0_RX_4 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN6)
#define GPIO_FTM0_CH6_2 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN6)
#define GPIO_FTM0_FLT0_2 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN6)
#define GPIO_LCD_P46F (GPIO_ALT7 | GPIO_PORTD | GPIO_PIN6)
#define GPIO_LCD_P47 (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN7)
#define GPIO_CMT_IRO (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN7)
#define GPIO_UART0_TX_4 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN7)
#define GPIO_FTM0_CH7_2 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN7)
#define GPIO_FTM0_FLT1_2 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN7)
#define GPIO_LCD_P47F (GPIO_ALT7 | GPIO_PORTD | GPIO_PIN7)
#define GPIO_UART5_RTS_1 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN10)
#define GPIO_FB_AD9 (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN10)
#define GPIO_SPI2_PCS0_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN11)
#define GPIO_UART5_CTS_1 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN11)
#define GPIO_SDHC0_CLKIN (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN11)
#define GPIO_FB_AD8 (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN11)
#define GPIO_SPI2_SCK_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN12)
#define GPIO_SDHC0_D4 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN12)
#define GPIO_FB_AD7 (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN12)
#define GPIO_SPI2_SOUT_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN13)
#define GPIO_SDHC0_D5 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN13)
#define GPIO_FB_AD6 (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN13)
#define GPIO_SPI2_SIN_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN14)
#define GPIO_SDHC0_D6 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN14)
#define GPIO_FB_AD5 (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN14)
#define GPIO_SPI2_PCS1 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN15)
#define GPIO_SDHC0_D7 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN15)
#define GPIO_FB_RW (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN15)
#define GPIO_ADC1_SE4A (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN0)
#define GPIO_SPI1_PCS1_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN0)
#define GPIO_UART1_TX_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN0)
#define GPIO_SDHC0_D1 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN0)
#define GPIO_FB_AD27 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN0)
#define GPIO_I2C1_SDA_2 (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN0)
#define GPIO_ADC1_SE5A (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN1)
#define GPIO_SPI1_SOUT_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN1)
#define GPIO_UART1_RX_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN1)
#define GPIO_SDHC0_D0 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN1)
#define GPIO_FB_AD26 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN1)
#define GPIO_I2C1_SCL_2 (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN1)
#define GPIO_ADC1_SE6A (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN2)
#define GPIO_SPI1_SCK_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN2)
#define GPIO_UART1_CTS_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN2)
#define GPIO_SDHC0_DCLK (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN2)
#define GPIO_FB_AD25 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN2)
#define GPIO_ADC1_SE7A (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN3)
#define GPIO_SPI1_SIN_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN3)
#define GPIO_UART1_RTS_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN3)
#define GPIO_SDHC0_CMD (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN3)
#define GPIO_FB_AD24 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN3)
#define GPIO_SPI1_PCS0_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN4)
#define GPIO_UART3_TX_3 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN4)
#define GPIO_SDHC0_D3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN4)
#define GPIO_FB_CS3 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN4)
#define GPIO_FB_BE7_0_BLS31_24 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN4)
#define GPIO_FB_TA (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN4)
#define GPIO_SPI1_PCS2 (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN5)
#define GPIO_UART3_RX_3 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN5)
#define GPIO_SDHC0_D2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN5)
#define GPIO_FB_TBST (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN5)
#define GPIO_FB_CS2 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN5)
#define GPIO_FB_BE15_8_BLS23_16 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN5)
#define GPIO_SPI1_PCS3 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN6)
#define GPIO_UART3_CTS_3 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN6)
#define GPIO_I2S0_MCLK_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN6)
#define GPIO_FB_ALE (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN6)
#define GPIO_FB_CS1 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN6)
#define GPIO_FB_TS (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN6)
#define GPIO_I2S0_CLKIN_3 (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN6)
#define GPIO_UART3_RTS_3 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN7)
#define GPIO_I2S0_RXD_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN7)
#define GPIO_FB_CS0 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN7)
#define GPIO_UART5_TX (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN8)
#define GPIO_I2S0_RX_FS_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN8)
#define GPIO_FB_AD4 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN8)
#define GPIO_UART5_RX (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN9)
#define GPIO_I2S0_RX_BCLK_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN9)
#define GPIO_FB_AD3 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN9)
#define GPIO_UART5_CTS_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN10)
#define GPIO_I2S0_TXD_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN10)
#define GPIO_FB_AD2 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN10)
#define GPIO_UART5_RTS_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN11)
#define GPIO_I2S0_TX_FS_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN11)
#define GPIO_FB_AD1 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN11)
#define GPIO_I2S0_TX_BCLK_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN12)
#define GPIO_FB_AD0 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN12)
#define GPIO_ADC0_SE17 (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN24)
#define GPIO_CAN1_TX_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN24)
#define GPIO_UART4_TX_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN24)
#define GPIO_EWM_OUT_3 (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN24)
#define GPIO_ADC0_SE18 (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN25)
#define GPIO_CAN1_RX_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN25)
#define GPIO_UART4_RX_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN25)
#define GPIO_FB_AD23 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN25)
#define GPIO_EWM_IN_3 (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN25)
#define GPIO_UART4_CTS_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN26)
#define GPIO_FB_AD22 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN26)
#define GPIO_RTC_CLKOUT (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN26)
#define GPIO_USB_CLKIN (GPIO_ALT7 | GPIO_PORTE | GPIO_PIN26)
#define GPIO_UART4_RTS_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN27)
#define GPIO_FB_AD21 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN27)
#define GPIO_FB_AD20 (GPIO_ALT5 | GPIO_PORTE | GPIO_PIN28)
#else
/* The pin muxing for other K40 parts is defined in other documents */
# error "No pin multiplexing for this Kinetis K40 part"
#endif
/********************************************************************************************
* Public Types
********************************************************************************************/
/********************************************************************************************
* Public Data
********************************************************************************************/
/********************************************************************************************
* Public Functions
********************************************************************************************/
#endif /* __ARCH_ARM_SRC_KINETIS_KINETIS_K40PINMUX_H */

View File

@ -0,0 +1,476 @@
/********************************************************************************************
* arch/arm/src/kinetis/kinetis_k60pinset.h
*
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
* 3. Neither the name NuttX 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.
*
********************************************************************************************/
#ifndef __ARCH_ARM_SRC_KINETIS_KINETIS_K60PINMUX_H
#define __ARCH_ARM_SRC_KINETIS_KINETIS_K60PINMUX_H
/********************************************************************************************
* Included Files
********************************************************************************************/
#include <nuttx/config.h>
#include "chip.h"
/********************************************************************************************
* Pre-processor Definitions
********************************************************************************************/
/* Reference: Paragraph 10.3.1, p 258, of FreeScale document K60P144M100SF2RM
*
* In most cases, there are alternative configurations for various pins. Those alternative
* pins are labeled with a suffix like _1, _2, etc. in order to distinguish them. Logic in
* the board.h file must select the correct pin configuration for the board by defining a pin
* configuration (with no suffix) that maps to the correct alternative.
*/
#if defined(CONFIG_ARCH_CHIP_MK60N256VLQ100) || defined(CONFIG_ARCH_CHIP_MK60X256VLQ100) || \
defined(CONFIG_ARCH_CHIP_MK60N512VLQ100) || defined(CONFIG_ARCH_CHIP_MK60N256VMD100) || \
defined(CONFIG_ARCH_CHIP_MK60X256VMD100) || defined(CONFIG_ARCH_CHIP_MK60N512VMD100)
#define GPIO_TSI0_CH1 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN0)
#define GPIO_UART0_CTS_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN0)
#define GPIO_FTM0_CH5_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN0)
#define GPIO_JTAG_TCLK (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN0)
#define GPIO_SWD_CLK (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN0)
#define GPIO_TSI0_CH2 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN1)
#define GPIO_UART0_RX_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN1)
#define GPIO_FTM0_CH6_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN1)
#define GPIO_JTAG_TDI (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN1)
#define GPIO_TSI0_CH3 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN2)
#define GPIO_UART0_TX_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN2)
#define GPIO_FTM0_CH7_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN2)
#define GPIO_JTAG_TDO (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN2)
#define GPIO_TRACE_SWO (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN2)
#define GPIO_TSI0_CH4 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN3)
#define GPIO_UART0_RTS_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN3)
#define GPIO_FTM0_CH0_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN3)
#define GPIO_JTAG_TMS (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN3)
#define GPIO_SWD_DIO (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN3)
#define GPIO_TSI0_CH5 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN4)
#define GPIO_FTM0_CH1_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN4)
#define GPIO_NMI (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN4)
#define GPIO_FTM0_CH2_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN5)
#define GPIO_RMII0_RXER (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN5)
#define GPIO_MII0_RXER (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN5)
#define GPIO_CMP2_OUT_1 (GPIO_ALT5 | GPIO_PORTA | GPIO_PIN5)
#define GPIO_I2S0_RX_BCLK_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN5)
#define GPIO_JTAG_TRST (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN5)
#define GPIO_FTM0_CH3_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN6)
#define GPIO_TRACE_CLKOUT (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN6)
#define GPIO_ADC0_SE10 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN7)
#define GPIO_FTM0_CH4_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN7)
#define GPIO_TRACE_D3 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN7)
#define GPIO_ADC0_SE11 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN8)
#define GPIO_FTM1_CH0_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN8)
#define GPIO_FTM1_QD_PHA_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN8)
#define GPIO_TRACE_D2 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN8)
#define GPIO_FTM1_CH1_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN9)
#define GPIO_MII0_RXD3 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN9)
#define GPIO_FTM1_QD_PHB_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN9)
#define GPIO_TRACE_D1 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN9)
#define GPIO_FTM2_CH0_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN10)
#define GPIO_MII0_RXD2 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN10)
#define GPIO_FTM2_QD_PHA_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN10)
#define GPIO_TRACE_D0 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN10)
#define GPIO_FTM2_CH1_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN11)
#define GPIO_MII0_RXCLK (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN11)
#define GPIO_FTM2_QD_PHB_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN11)
#define GPIO_CMP2_IN0 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN12)
#define GPIO_CAN0_TX_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_FTM1_CH0_2 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_RMII0_RXD1 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_MII0_RXD1 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_I2S0_TXD_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_FTM1_QD_PHA_2 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN12)
#define GPIO_CMP2_IN1 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN13)
#define GPIO_CAN0_RX_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_FTM1_CH1_2 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_RMII0_RXD0 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_MII0_RXD0 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_I2S0_TX_FS_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_FTM1_QD_PHB_2 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN13)
#define GPIO_SPI0_PCS0_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN14)
#define GPIO_UART0_TX_2 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN14)
#define GPIO_RMII0_CRS_DV (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN14)
#define GPIO_MII0_RXDV (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN14)
#define GPIO_I2S0_TX_BCLK_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN14)
#define GPIO_SPI0_SCK_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN15)
#define GPIO_UART0_RX_2 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN15)
#define GPIO_RMII0_TXEN (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN15)
#define GPIO_MII0_TXEN (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN15)
#define GPIO_I2S0_RXD_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN15)
#define GPIO_SPI0_SOUT_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN16)
#define GPIO_UART0_CTS_2 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN16)
#define GPIO_RMII0_TXD0 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN16)
#define GPIO_MII0_TXD0 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN16)
#define GPIO_I2S0_RX_FS_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN16)
#define GPIO_ADC1_SE17 (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN17)
#define GPIO_SPI0_SIN_1 (GPIO_ALT2 | GPIO_PORTA | GPIO_PIN17)
#define GPIO_UART0_RTS_2 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN17)
#define GPIO_RMII0_TXD1 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN17)
#define GPIO_MII0_TXD1 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN17)
#define GPIO_I2S0_MCLK_1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN17)
#define GPIO_I2S0_CLKIN_1 (GPIO_ALT7 | GPIO_PORTA | GPIO_PIN17)
#define GPIO_EXTAL (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN18)
#define GPIO_FTM0_FLT2_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN18)
#define GPIO_FTM_CLKIN0 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN18)
#define GPIO_XTAL (GPIO_ANALOG | GPIO_PORTA | GPIO_PIN19)
#define GPIO_FTM1_FLT0_1 (GPIO_ALT3 | GPIO_PORTA | GPIO_PIN19)
#define GPIO_FTM_CLKIN1 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN19)
#define GPIO_LPT0_ALT1 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN19)
#define GPIO_MII0_TXD2 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN24)
#define GPIO_FB_A29 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN24)
#define GPIO_MII0_TXCLK (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN25)
#define GPIO_FB_A28 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN25)
#define GPIO_MII0_TXD3 (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN26)
#define GPIO_FB_A27 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN26)
#define GPIO_MII0_CRS (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN27)
#define GPIO_FB_A26 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN27)
#define GPIO_MII0_TXER (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN28)
#define GPIO_FB_A25 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN28)
#define GPIO_MII0_COL (GPIO_ALT4 | GPIO_PORTA | GPIO_PIN29)
#define GPIO_FB_A24 (GPIO_ALT6 | GPIO_PORTA | GPIO_PIN29)
#define GPIO_ADC0_SE8 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN0)
#define GPIO_ADC1_SE8 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN0)
#define GPIO_TSI0_CH0 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN0)
#define GPIO_I2C0_SCL_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN0)
#define GPIO_FTM1_CH0_3 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN0)
#define GPIO_RMII0_MDIO (GPIO_ALT4 | GPIO_PORTB | GPIO_PIN0)
#define GPIO_MII0_MDIO (GPIO_ALT4 | GPIO_PORTB | GPIO_PIN0)
#define GPIO_FTM1_QD_PHA_3 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN0)
#define GPIO_ADC0_SE9 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN1)
#define GPIO_ADC1_SE9 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN1)
#define GPIO_TSI0_CH6 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN1)
#define GPIO_I2C0_SDA_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN1)
#define GPIO_FTM1_CH1_3 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN1)
#define GPIO_RMII0_MDC (GPIO_ALT4 | GPIO_PORTB | GPIO_PIN1)
#define GPIO_MII0_MDC (GPIO_ALT4 | GPIO_PORTB | GPIO_PIN1)
#define GPIO_FTM1_QD_PHB_3 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN1)
#define GPIO_ADC0_SE12 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN2)
#define GPIO_TSI0_CH7 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN2)
#define GPIO_I2C0_SCL_2 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN2)
#define GPIO_UART0_RTS_3 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN2)
#define GPIO_ENET0_1588_TMR0 (GPIO_ALT4 | GPIO_PORTB | GPIO_PIN2)
#define GPIO_FTM0_FLT3 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN2)
#define GPIO_ADC0_SE13 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN3)
#define GPIO_TSI0_CH8 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN3)
#define GPIO_I2C0_SDA_2 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN3)
#define GPIO_UART0_CTS_3 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN3)
#define GPIO_ENET0_1588_TMR1 (GPIO_ALT4 | GPIO_PORTB | GPIO_PIN3)
#define GPIO_FTM0_FLT0_2 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN3)
#define GPIO_ADC1_SE10 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN4)
#define GPIO_ENET0_1588_TMR2 (GPIO_ALT4 | GPIO_PORTB | GPIO_PIN4)
#define GPIO_FTM1_FLT0_2 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN4)
#define GPIO_ADC1_SE11 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN5)
#define GPIO_ENET0_1588_TMR3 (GPIO_ALT4 | GPIO_PORTB | GPIO_PIN5)
#define GPIO_FTM2_FLT0_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN5)
#define GPIO_ADC1_SE12 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN6)
#define GPIO_FB_AD23 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN6)
#define GPIO_ADC1_SE13 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN7)
#define GPIO_FB_AD22 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN7)
#define GPIO_UART3_RTS_1 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN8)
#define GPIO_FB_AD21 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN8)
#define GPIO_SPI1_PCS1_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN9)
#define GPIO_UART3_CTS_1 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN9)
#define GPIO_FB_AD20 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN9)
#define GPIO_ADC1_SE14 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN10)
#define GPIO_SPI1_PCS0_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN10)
#define GPIO_UART3_RX_1 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN10)
#define GPIO_FB_AD19 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN10)
#define GPIO_FTM0_FLT1_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN10)
#define GPIO_ADC1_SE15 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN11)
#define GPIO_SPI1_SCK_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN11)
#define GPIO_UART3_TX_1 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN11)
#define GPIO_FB_AD18 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN11)
#define GPIO_FTM0_FLT2_2 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN11)
#define GPIO_TSI0_CH9 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN16)
#define GPIO_SPI1_SOUT_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN16)
#define GPIO_UART0_RX_3 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN16)
#define GPIO_FB_AD17 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN16)
#define GPIO_EWM_IN_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN16)
#define GPIO_TSI0_CH10 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN17)
#define GPIO_SPI1_SIN_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN17)
#define GPIO_UART0_TX_3 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN17)
#define GPIO_FB_AD16 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN17)
#define GPIO_EWM_OUT_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN17)
#define GPIO_TSI0_CH11 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN18)
#define GPIO_CAN0_TX_2 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN18)
#define GPIO_FTM2_CH0_2 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN18)
#define GPIO_I2S0_TX_BCLK_2 (GPIO_ALT4 | GPIO_PORTB | GPIO_PIN18)
#define GPIO_FB_AD15 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN18)
#define GPIO_FTM2_QD_PHA_2 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN18)
#define GPIO_TSI0_CH12 (GPIO_ANALOG | GPIO_PORTB | GPIO_PIN19)
#define GPIO_CAN0_RX_2 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN19)
#define GPIO_FTM2_CH1_2 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN19)
#define GPIO_I2S0_TX_FS_2 (GPIO_ALT4 | GPIO_PORTB | GPIO_PIN19)
#define GPIO_FB_OE (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN19)
#define GPIO_FTM2_QD_PHB_2 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN19)
#define GPIO_SPI2_PCS0_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN20)
#define GPIO_FB_AD31 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN20)
#define GPIO_CMP0_OUT_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN20)
#define GPIO_SPI2_SCK_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN21)
#define GPIO_FB_AD30 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN21)
#define GPIO_CMP1_OUT_1 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN21)
#define GPIO_SPI2_SOUT_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN22)
#define GPIO_FB_AD29 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN22)
#define GPIO_CMP2_OUT_2 (GPIO_ALT6 | GPIO_PORTB | GPIO_PIN22)
#define GPIO_SPI2_SIN_1 (GPIO_ALT2 | GPIO_PORTB | GPIO_PIN23)
#define GPIO_SPI0_PCS5 (GPIO_ALT3 | GPIO_PORTB | GPIO_PIN23)
#define GPIO_FB_AD28 (GPIO_ALT5 | GPIO_PORTB | GPIO_PIN23)
#define GPIO_ADC0_SE14 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN0)
#define GPIO_TSI0_CH13 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN0)
#define GPIO_SPI0_PCS4 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN0)
#define GPIO_PDB0_EXTRG_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN0)
#define GPIO_I2S0_TXD_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN0)
#define GPIO_FB_AD14 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN0)
#define GPIO_ADC0_SE15 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN1)
#define GPIO_TSI0_CH14 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN1)
#define GPIO_SPI0_PCS3_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN1)
#define GPIO_UART1_RTS_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN1)
#define GPIO_FTM0_CH0_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN1)
#define GPIO_FB_AD13 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN1)
#define GPIO_ADC0_SE4B (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN2)
#define GPIO_CMP1_IN0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN2)
#define GPIO_TSI0_CH15 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN2)
#define GPIO_SPI0_PCS2_2 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN2)
#define GPIO_UART1_CTS_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN2)
#define GPIO_FTM0_CH1_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN2)
#define GPIO_FB_AD12 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN2)
#define GPIO_CMP1_IN1 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN3)
#define GPIO_SPI0_PCS1_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN3)
#define GPIO_UART1_RX_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN3)
#define GPIO_FTM0_CH2_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN3)
#define GPIO_FB_CLKOUT (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN3)
#define GPIO_SPI0_PCS0_2 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN4)
#define GPIO_UART1_TX_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN4)
#define GPIO_FTM0_CH3_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN4)
#define GPIO_FB_AD11 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN4)
#define GPIO_CMP1_OUT_2 (GPIO_ALT6 | GPIO_PORTC | GPIO_PIN4)
#define GPIO_SPI0_SCK_2 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN5)
#define GPIO_LPT0_ALT2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN5)
#define GPIO_FB_AD10 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN5)
#define GPIO_CMP0_OUT_2 (GPIO_ALT6 | GPIO_PORTC | GPIO_PIN5)
#define GPIO_CMP0_IN0 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN6)
#define GPIO_SPI0_SOUT_2 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN6)
#define GPIO_PDB0_EXTRG_2 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN6)
#define GPIO_FB_AD9 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN6)
#define GPIO_CMP0_IN1 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN7)
#define GPIO_SPI0_SIN_2 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN7)
#define GPIO_FB_AD8 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN7)
#define GPIO_ADC1_SE4B (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN8)
#define GPIO_CMP0_IN2 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN8)
#define GPIO_I2S0_MCLK_2 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN8)
#define GPIO_I2S0_CLKIN_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN8)
#define GPIO_FB_AD7 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN8)
#define GPIO_ADC1_SE5B (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN9)
#define GPIO_CMP0_IN3 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN9)
#define GPIO_I2S0_RX_BCLK_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN9)
#define GPIO_FB_AD6 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN9)
#define GPIO_FTM2_FLT0_2 (GPIO_ALT6 | GPIO_PORTC | GPIO_PIN9)
#define GPIO_ADC1_SE6B (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN10)
#define GPIO_CMP0_IN4 (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN10)
#define GPIO_I2C1_SCL_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN10)
#define GPIO_I2S0_RX_FS_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN10)
#define GPIO_FB_AD5 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN10)
#define GPIO_ADC1_SE7B (GPIO_ANALOG | GPIO_PORTC | GPIO_PIN11)
#define GPIO_I2C1_SDA_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN11)
#define GPIO_I2S0_RXD_2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN11)
#define GPIO_FB_RW (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN11)
#define GPIO_UART4_RTS_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN12)
#define GPIO_FB_AD27 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN12)
#define GPIO_UART4_CTS_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN13)
#define GPIO_FB_AD26 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN13)
#define GPIO_UART4_RX_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN14)
#define GPIO_FB_AD25 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN14)
#define GPIO_UART4_TX_1 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN15)
#define GPIO_FB_AD24 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN15)
#define GPIO_CAN1_RX_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN16)
#define GPIO_UART3_RX_2 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN16)
#define GPIO_ENET0_1588_TMR0 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN16)
#define GPIO_FB_CS5 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN16)
#define GPIO_FB_TSIZ1 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN16)
#define GPIO_FB_BE23_16_BLS15_8 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN16)
#define GPIO_CAN1_TX_1 (GPIO_ALT2 | GPIO_PORTC | GPIO_PIN17)
#define GPIO_UART3_TX_2 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN17)
#define GPIO_ENET0_1588_TMR1 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN17)
#define GPIO_FB_CS4 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN17)
#define GPIO_FB_TSIZ0 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN17)
#define GPIO_FB_BE31_24_BLS7_0 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN17)
#define GPIO_UART3_RTS_2 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN18)
#define GPIO_ENET0_1588_TMR2 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN18)
#define GPIO_FB_TBST (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN18)
#define GPIO_FB_CS2 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN18)
#define GPIO_FB_BE15_8_BLS23_16 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN18)
#define GPIO_UART3_CTS_2 (GPIO_ALT3 | GPIO_PORTC | GPIO_PIN19)
#define GPIO_ENET0_1588_TMR3 (GPIO_ALT4 | GPIO_PORTC | GPIO_PIN19)
#define GPIO_FB_CS3 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN19)
#define GPIO_FB_BE7_0_BLS31_24 (GPIO_ALT5 | GPIO_PORTC | GPIO_PIN19)
#define GPIO_FB_TA (GPIO_ALT6 | GPIO_PORTC | GPIO_PIN19)
#define GPIO_SPI0_PCS0_3 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN0)
#define GPIO_UART2_RTS (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN0)
#define GPIO_FB_ALE (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN0)
#define GPIO_FB_CS1 (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN0)
#define GPIO_FB_TS (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN0)
#define GPIO_ADC0_SE5B (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN1)
#define GPIO_SPI0_SCK_3 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN1)
#define GPIO_UART2_CTS (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN1)
#define GPIO_FB_CS0 (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN1)
#define GPIO_SPI0_SOUT_3 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN2)
#define GPIO_UART2_RX (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN2)
#define GPIO_FB_AD4 (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN2)
#define GPIO_SPI0_SIN_3 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN3)
#define GPIO_UART2_TX (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN3)
#define GPIO_FB_AD3 (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN3)
#define GPIO_SPI0_PCS1_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN4)
#define GPIO_UART0_RTS_4 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN4)
#define GPIO_FTM0_CH4_2 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN4)
#define GPIO_FB_AD2 (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN4)
#define GPIO_EWM_IN_2 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN4)
#define GPIO_ADC0_SE6B (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN5)
#define GPIO_SPI0_PCS2_1 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN5)
#define GPIO_UART0_CTS_4 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN5)
#define GPIO_FTM0_CH5_2 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN5)
#define GPIO_FB_AD1 (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN5)
#define GPIO_EWM_OUT_2 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN5)
#define GPIO_ADC0_SE7B (GPIO_ANALOG | GPIO_PORTD | GPIO_PIN6)
#define GPIO_SPI0_PCS3_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN6)
#define GPIO_UART0_RX_4 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN6)
#define GPIO_FTM0_CH6_2 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN6)
#define GPIO_FB_AD0 (GPIO_ALT5 | GPIO_PORTD | GPIO_PIN6)
#define GPIO_FTM0_FLT0_1 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN6)
#define GPIO_CMT_IRO (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN7)
#define GPIO_UART0_TX_4 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN7)
#define GPIO_FTM0_CH7_2 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN7)
#define GPIO_FTM0_FLT1_2 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN7)
#define GPIO_I2C0_SCL_3 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN8)
#define GPIO_UART5_RX_1 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN8)
#define GPIO_FB_A16 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN8)
#define GPIO_I2C0_SDA (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN9)
#define GPIO_UART5_TX_1 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN9)
#define GPIO_FB_A17 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN9)
#define GPIO_UART5_RTS_1 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN10)
#define GPIO_FB_A18 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN10)
#define GPIO_SPI2_PCS0_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN11)
#define GPIO_UART5_CTS_1 (GPIO_ALT3 | GPIO_PORTD | GPIO_PIN11)
#define GPIO_SDHC0_CLKIN (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN11)
#define GPIO_FB_A19 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN11)
#define GPIO_SPI2_SCK_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN12)
#define GPIO_SDHC0_D4 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN12)
#define GPIO_FB_A20 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN12)
#define GPIO_SPI2_SOUT_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN13)
#define GPIO_SDHC0_D5 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN13)
#define GPIO_FB_A21 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN13)
#define GPIO_SPI2_SIN_2 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN14)
#define GPIO_SDHC0_D6 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN14)
#define GPIO_FB_A22 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN14)
#define GPIO_SPI2_PCS1 (GPIO_ALT2 | GPIO_PORTD | GPIO_PIN15)
#define GPIO_SDHC0_D7 (GPIO_ALT4 | GPIO_PORTD | GPIO_PIN15)
#define GPIO_FB_A23 (GPIO_ALT6 | GPIO_PORTD | GPIO_PIN15)
#define GPIO_ADC1_SE4A (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN0)
#define GPIO_SPI1_PCS1_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN0)
#define GPIO_UART1_TX_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN0)
#define GPIO_SDHC0_D1 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN0)
#define GPIO_I2C1_SDA_2 (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN0)
#define GPIO_ADC1_SE5A (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN1)
#define GPIO_SPI1_SOUT_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN1)
#define GPIO_UART1_RX_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN1)
#define GPIO_SDHC0_D0 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN1)
#define GPIO_I2C1_SCL_2 (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN1)
#define GPIO_ADC1_SE6A (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN2)
#define GPIO_SPI1_SCK_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN2)
#define GPIO_UART1_CTS_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN2)
#define GPIO_SDHC0_DCLK (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN2)
#define GPIO_ADC1_SE7A (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN3)
#define GPIO_SPI1_SIN_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN3)
#define GPIO_UART1_RTS_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN3)
#define GPIO_SDHC0_CMD (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN3)
#define GPIO_SPI1_PCS0_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN4)
#define GPIO_UART3_TX_3 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN4)
#define GPIO_SDHC0_D3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN4)
#define GPIO_SPI1_PCS2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN5)
#define GPIO_UART3_RX_3 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN5)
#define GPIO_SDHC0_D2 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN5)
#define GPIO_SPI1_PCS3 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN6)
#define GPIO_UART3_CTS_3 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN6)
#define GPIO_I2S0_MCLK_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN6)
#define GPIO_I2S0_CLKIN_3 (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN6)
#define GPIO_UART3_RTS_3 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN7)
#define GPIO_I2S0_RXD_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN7)
#define GPIO_UART5_TX_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN8)
#define GPIO_I2S0_RX_FS_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN8)
#define GPIO_UART5_RX_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN9)
#define GPIO_I2S0_RX_BCLK_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN9)
#define GPIO_UART5_CTS_1 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN10)
#define GPIO_I2S0_TXD_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN10)
#define GPIO_UART5_RTS_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN11)
#define GPIO_I2S0_TX_FS_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN11)
#define GPIO_I2S0_TX_BCLK_3 (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN12)
#define GPIO_ADC0_SE17 (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN24)
#define GPIO_CAN1_TX_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN24)
#define GPIO_UART4_TX_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN24)
#define GPIO_EWM_OUT_3 (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN24)
#define GPIO_ADC0_SE18 (GPIO_ANALOG | GPIO_PORTE | GPIO_PIN25)
#define GPIO_CAN1_RX_2 (GPIO_ALT2 | GPIO_PORTE | GPIO_PIN25)
#define GPIO_UART4_RX_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN25)
#define GPIO_EWM_IN_3 (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN25)
#define GPIO_UART4_CTS_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN26)
#define GPIO_ENET_1588_CLKIN (GPIO_ALT4 | GPIO_PORTE | GPIO_PIN26)
#define GPIO_RTC_CLKOUT (GPIO_ALT6 | GPIO_PORTE | GPIO_PIN26)
#define GPIO_USB_CLKIN (GPIO_ALT7 | GPIO_PORTE | GPIO_PIN26)
#define GPIO_UART4_RTS_2 (GPIO_ALT3 | GPIO_PORTE | GPIO_PIN27)
#else
/* The pin muxing for other K60 parts is defined in other documents */
# error "No pin multiplexing for this Kinetis K60 part"
#endif
/********************************************************************************************
* Public Types
********************************************************************************************/
/********************************************************************************************
* Public Data
********************************************************************************************/
/********************************************************************************************
* Public Functions
********************************************************************************************/
#endif /* __ARCH_ARM_SRC_KINETIS_KINETIS_K60PINMUX_H */

View File

@ -50,6 +50,7 @@
#include "kinetis_config.h"
#include "kinetis_internal.h"
#include "kinetis_uart.h"
#include "kinetis_pinmux.h"
/**************************************************************************
* Private Definitions
@ -143,7 +144,7 @@
void up_lowputc(char ch)
{
#if defined HAVE_UART && defined HAVE_CONSOLE
#if defined HAVE_UART_DEVICE && defined HAVE_CONSOLE
# warning "Missing logic"
#endif
}
@ -180,41 +181,40 @@ void up_lowputc(char ch)
void kinetis_lowsetup(void)
{
#ifdef HAVE_UART
uint32_t regval;
/* Step 1: Enable power for all console UART and disable power for
* other UARTs
*/
#ifdef HAVE_UART_DEVICE
/* Step 1: Enable power for all enabled UARTs */
# warning "Missing logic"
/* Step 2: Enable peripheral clocking for the console UART and disable
* clocking for all other UARTs
*/
/* Step 2: Enable peripheral clocking for all enabled UARTs */
# warning "Missing logic"
/* Configure UART pins for the selected CONSOLE */
/* Configure UART pins for the all enabled UARTs */
#if defined(CONFIG_UART0_SERIAL_CONSOLE)
kinetis_configgpio(GPIO_UART0_TXD);
kinetis_configgpio(GPIO_UART0_RXD);
#elif defined(CONFIG_UART1_SERIAL_CONSOLE)
kinetis_configgpio(GPIO_UART1_TXD);
kinetis_configgpio(GPIO_UART1_RXD);
#elif defined(CONFIG_UART2_SERIAL_CONSOLE)
kinetis_configgpio(GPIO_UART2_TXD);
kinetis_configgpio(GPIO_UART2_RXD);
#elif defined(CONFIG_UART3_SERIAL_CONSOLE)
kinetis_configgpio(GPIO_UART3_TXD);
kinetis_configgpio(GPIO_UART3_RXD);
#elif defined(CONFIG_UART4_SERIAL_CONSOLE)
kinetis_configgpio(GPIO_UART3_TXD);
kinetis_configgpio(GPIO_UART3_RXD);
#elif defined(CONFIG_UART5_SERIAL_CONSOLE)
kinetis_configgpio(GPIO_UART3_TXD);
kinetis_configgpio(GPIO_UART3_RXD);
#ifdef CONFIG_KINETIS_UART0
kinetis_configgpio(GPIO_UART0_TX);
kinetis_configgpio(GPIO_UART0_RX);
#endif
#ifdef CONFIG_KINETIS_UART1
kinetis_configgpio(GPIO_UART1_TX);
kinetis_configgpio(GPIO_UART1_RX);
#endif
#ifdef CONFIG_KINETIS_UART2
kinetis_configgpio(GPIO_UART2_TX);
kinetis_configgpio(GPIO_UART2_RX);
#endif
#ifdef CONFIG_KINETIS_UART3
kinetis_configgpio(GPIO_UART3_TX);
kinetis_configgpio(GPIO_UART3_RX);
#endif
#ifdef CONFIG_KINETIS_UART4
kinetis_configgpio(GPIO_UART4_TX);
kinetis_configgpio(GPIO_UART4_RX);
#endif
#ifdef CONFIG_KINETIS_UART5
kinetis_configgpio(GPIO_UART5_TX);
kinetis_configgpio(GPIO_UART5_RX);
#endif
/* Configure the console (only) */
@ -224,7 +224,7 @@ void kinetis_lowsetup(void)
kinetis_uartconfigure(CONSOLE_BASE, CONSOLE_BAUD, CONSOLE_PARITY,
CONSOLE_BITS, CONSOLE_2STOP);
#endif
#endif /* HAVE_UART */
#endif /* HAVE_UART_DEVICE */
}
/******************************************************************************

View File

@ -0,0 +1,75 @@
/********************************************************************************************
* arch/arm/src/kinetis/kinetis_pinmux.h
*
* Copyright (C) 2011 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. 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.
* 3. Neither the name NuttX 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.
*
********************************************************************************************/
#ifndef __ARCH_ARM_SRC_KINETIS_KINETIS_PINMUX_H
#define __ARCH_ARM_SRC_KINETIS_KINETIS_PINMUX_H
/********************************************************************************************
* Included Files
********************************************************************************************/
#include <nuttx/config.h>
#include "chip.h"
/* This file is just a wrapper around pin muxing header files for the Kinetis family selected
* by the logic in chip.h.
*/
#if defined(KINETIS_K40)
# include "kinetis_k40pinmux.h"
#elif defined(KINETIS_K60)
# include "kinetis_k60pinmux.h"
#else
# error "No pin multiplexing for this Kinetis part"
#endif
/********************************************************************************************
* Pre-processor Definitions
********************************************************************************************/
/********************************************************************************************
* Public Types
********************************************************************************************/
/********************************************************************************************
* Public Data
********************************************************************************************/
/********************************************************************************************
* Public Functions
********************************************************************************************/
#endif /* __ARCH_ARM_SRC_KINETIS_KINETIS_PINMUX_H */