From 6738657390598bac04d5be9d72ee6021fe87e835 Mon Sep 17 00:00:00 2001 From: patacongo Date: Mon, 15 Aug 2011 18:07:54 +0000 Subject: More Kinetis updates git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3883 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/configs/kwikstik-k40/README.txt | 120 +++++++++++++++++++---- nuttx/configs/kwikstik-k40/ostest/defconfig | 142 +++++++++++++++++++++------- 2 files changed, 211 insertions(+), 51 deletions(-) (limited to 'nuttx/configs/kwikstik-k40') diff --git a/nuttx/configs/kwikstik-k40/README.txt b/nuttx/configs/kwikstik-k40/README.txt index 55703570b..a52007460 100644 --- a/nuttx/configs/kwikstik-k40/README.txt +++ b/nuttx/configs/kwikstik-k40/README.txt @@ -6,17 +6,25 @@ KwiStick K40. Refer to the Freescale web site for further information about this part: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=KWIKSTIK-K40 +The Kwikstik is used with the FreeScale Tower System (mostly just to +provide a simple UART connection) + Contents ======== - o Kinetis KwikStik Features + o Kinetis KwikStik-K40 Features + o Kinetis KwikStik-K60 Pin Configuration + - On-Board Connections + - Connections via the General Purpose Tower Plug-in (TWRPI) Socket + - Connections via the Tower Primary Connector Side A + - Connections via the Tower Primary Connector Side B o Development Environment o GNU Toolchain Options o IDEs o NuttX buildroot Toolchain -Kinetis KwikStik Features: -========================= +Kinetis KwikStik-K40 Features: +============================== o Kinetis K40 MCU in 144 LQFP - 100 MHz ARM Cortex-M4 core @@ -34,6 +42,86 @@ Kinetis KwikStik Features: o Freescale Tower System connectivity for UART, timers, CAN, SPI, I2C, and DAC o Freescale Tower plug-in (TWRPI) socket connectivity for ADC, SPI, I2C, and GPIO +Kinetis KwikStik-K40 Pin Configuration +====================================== + +On-Board Connections +------------------- -------------------------- -------- ------------------- +FEATURE CONNECTION PORT/PIN PIN FUNCTION +------------------- -------------------------- -------- ------------------- +Audio Jack Output Audio Amp On PTE28 PTE28 + Audio Output DAC1_OUT DAC1_OUT + Volume Up PTD10 PTD10 + Volume Down PTD11 PTD11 +Buzzer Audio Out PTA8 FTM1_CH0 +Microphone Microphone input PTA7 ADC0_SE10 +SD Card Slot SD Clock PTE2 SDHC0_DCLK + SD Command PTE3 SDHC0_CMD + SD Data0 PTD12 SDHC0_D4 + SD Data1 PTD13 SDHC0_D5 + SD Data2 PTD14 SDHC0_D6 + SD Data3 PTD15 SDHC0_D7 + SD Card Detect PTE27 PTE27 + SD Card On PTE6 PTE6 +Infrared Port IR Transmit PTE4 IR_TX + IR Receive PTA13 CMP2_IN0 +Touch Pads E1 / Touch PTB0 TSI0_CH0 + E2 / Touch PTA4 TSI0_CH5 + E3 / Touch PTA24 PTA24 + E4 / Touch PTA25 PTA25 + E5 / Touch PTA26 PTA26 + E6 / Touch PTA27 PTA27 + +Connections via the General Purpose Tower Plug-in (TWRPI) Socket +------------------- -------------------------- -------- ------------------- +FEATURE CONNECTION PORT/PIN PIN FUNCTION +------------------- -------------------------- -------- ------------------- +General Purpose TWRPI AN0 (J8 Pin 8) ? ADC0_DP0/ADC1_DP3 +TWRPI Socket TWRPI AN1 (J8 Pin 9) ? ADC0_DM0/ADC1_DM3 + TWRPI AN2 (J8 Pin 12) ? ADC1_DP0/ADC0_DP3 + TWRPI ID0 (J8 Pin 17) ? ADC0_DP1 + TWRPI ID1 (J8 Pin 18) ? ADC0_DM1 + TWRPI I2C SCL (J9 Pin 3) PTC10 I2C1_SCL + TWRPI I2C SDA (J9 Pin 4) PTC11 I2C1_SDA + TWRPI SPI MISO (J9 Pin 9) PTB23 SPI2_SIN + TWRPI SPI MOSI (J9 Pin 10) PTB22 SPI2_SOUT + TWRPI SPI SS (J9 Pin 11) PTB20 SPI2_PCS0 + TWRPI SPI CLK (J9 Pin 12) PTB21 SPI2_SCK + TWRPI GPIO0 (J9 Pin 15) PTC12 PTC12 + TWRPI GPIO1 (J9 Pin 16) PTB9 PTB9 + TWRPI GPIO2 (J9 Pin 17) PTB10 PTB10 + TWRPI GPIO3 (J9 Pin 18) PTC5 PTC5 + TWRPI GPIO4 (J9 Pin 19) PTA5 PTA5 + +The KwikStik features an expansion card-edge connector that interfaces to the Primary Elevator board in a Tower system (Primary side). + +Connections via the Tower Primary Connector Side A +--- -------------------- -------------------------------- +PIN NAME USAGE +--- -------------------- -------------------------------- + +A9 GPIO9 / CTS1 PTE10/UART_CTS +A43 RXD1 PTE9/UART_RX +A44 TXD1 PTE8/UART_TX +A63 RSTOUT_b PTA9/FTM1_CH1 + +Connections via the Tower Primary Connector Side B +--- -------------------- -------------------------------- +PIN NAME USAGE +--- -------------------- -------------------------------- +B21 GPIO1 / RTS1 PTE7/UART_RTS +B37 PWM7 PTA8/FTM1_CH0 +B38 PWM6 PTA9/FTM1_CH1 +B41 CANRX0 PTE25/CAN1_RX +B42 CANTX0 PTE24/CAN1_TX +B44 SPI0_MISO PTA17/SPI0_SIN +B45 SPI0_MOSI PTA16/SPI0_SOUT +B46 SPI0_CS0_b PTA14/SPI0_PCS0 +B48 SPI0_CLK PTA15/SPI0_SCK +B50 SCL1 PTE1/I2C1_SCL +B51 SDA1 PTE0/I2C1_SDA +B52 GPIO5 / SD_CARD_DET PTA16 + Development Environment ======================= @@ -298,7 +386,7 @@ KwikStik-K40-specific Configuration Options CONFIG_KINETIS_PIT -- Support Programmable Interval Timers CONFIG_ARMV7M_MPU -- Support the MPU - Kinetis interrupt prioritys (Default is the mid priority) + Kinetis interrupt priorities (Default is the mid priority) CONFIG_KINETIS_UART0PRIO CONFIG_KINETIS_UART1PRIO @@ -307,6 +395,16 @@ KwikStik-K40-specific Configuration Options CONFIG_KINETIS_UART4PRIO CONFIG_KINETIS_UART5PRIO + PIN Interrupt Support + + CONFIG_GPIO_IRQ -- Enable pin interrtup support. Also needs + one or more of the following: + CONFIG_KINETIS_PORTAINTS -- Support 32 Port A interrupts + CONFIG_KINETIS_PORTBINTS -- Support 32 Port B interrupts + CONFIG_KINETIS_PORTCINTS -- Support 32 Port C interrupts + CONFIG_KINETIS_PORTDINTS -- Support 32 Port D interrupts + CONFIG_KINETIS_PORTEINTS -- Support 32 Port E interrupts + Kinetis K40 specific device driver settings CONFIG_UARTn_SERIAL_CONSOLE - selects the UARTn (n=0..5) for the @@ -319,20 +417,6 @@ KwikStik-K40-specific Configuration Options CONFIG_UARTn_BITS - The number of bits. Must be either 8 or 8. CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity - CONFIG_KINETIS_SPI_INTERRUPTS - Select to enable interrupt driven SPI - support. Non-interrupt-driven, poll-waiting is recommended if the - interrupt rate would be to high in the interrupt driven case. - CONFIG_KINETIS_SPI_DMA - Use DMA to improve SPI transfer performance. - Cannot be used with CONFIG_KINETIS_SPI_INTERRUPT. - - CONFIG_SDIO_DMA - Support DMA data transfers. Requires CONFIG_KINETIS_SDIO - and CONFIG_KINETIS_DMA2. - CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128 - CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority. - Default: Medium - CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default: - 4-bit transfer mode. - KwikStik-K40 LCD Hardware Configuration CONFIG_LCD_LANDSCAPE - Define for 320x240 display "landscape" diff --git a/nuttx/configs/kwikstik-k40/ostest/defconfig b/nuttx/configs/kwikstik-k40/ostest/defconfig index 651404aa8..e901f0ae9 100755 --- a/nuttx/configs/kwikstik-k40/ostest/defconfig +++ b/nuttx/configs/kwikstik-k40/ostest/defconfig @@ -102,41 +102,112 @@ CONFIG_KINETIS_DFU=y # Individual subsystems can be enabled: # # Individual subsystems can be enabled: -# AHB: -CONFIG_KINETIS_DMA1=n -CONFIG_KINETIS_DMA2=n -CONFIG_KINETIS_CRC=n -CONFIG_KINETIS_FSMC=y -CONFIG_KINETIS_SDIO=n -# APB1: -CONFIG_KINETIS_TIM2=n -CONFIG_KINETIS_TIM3=n -CONFIG_KINETIS_TIM4=n -CONFIG_KINETIS_TIM5=n -CONFIG_KINETIS_TIM6=n -CONFIG_KINETIS_TIM7=n -CONFIG_KINETIS_WWDG=n -CONFIG_KINETIS_SPI2=n -CONFIG_KINETIS_SPI4=n -CONFIG_KINETIS_UART2=y +# +# CONFIG_KINETIS_TRACE - Enable trace clocking on power up. +# CONFIG_KINETIS_FLEXBUS - Enable flexbus clocking on power up. +# CONFIG_KINETIS_UART0 - Support UART0 +# CONFIG_KINETIS_UART1 - Support UART1 +# CONFIG_KINETIS_UART2 - Support UART2 +# CONFIG_KINETIS_UART3 - Support UART3 +# CONFIG_KINETIS_UART4 - Support UART4 +# CONFIG_KINETIS_UART5 - Support UART5 +# CONFIG_KINETIS_ETHERNET - Support Ethernet (K60 only) +# CONFIG_KINETIS_RNGB - Support the random number generator(K60 only) +# CONFIG_KINETIS_FLEXCAN0 - Support FlexCAN0 +# CONFIG_KINETIS_FLEXCAN1 - Support FlexCAN1 +# CONFIG_KINETIS_SPI0 - Support SPI0 +# CONFIG_KINETIS_SPI1 - Support SPI1 +# CONFIG_KINETIS_SPI2 - Support SPI2 +# CONFIG_KINETIS_I2C0 - Support I2C0 +# CONFIG_KINETIS_I2C1 - Support I2C1 +# CONFIG_KINETIS_I2S - Support I2S +# CONFIG_KINETIS_DAC0 - Support DAC0 +# CONFIG_KINETIS_DAC1 - Support DAC1 +# CONFIG_KINETIS_ADC0 - Support ADC0 +# CONFIG_KINETIS_ADC1 - Support ADC1 +# CONFIG_KINETIS_CMP - Support CMP +# CONFIG_KINETIS_VREF - Support VREF +# CONFIG_KINETIS_SDHC - Support SD host controller +# CONFIG_KINETIS_FTM0 - Support FlexTimer 0 +# CONFIG_KINETIS_FTM1 - Support FlexTimer 1 +# CONFIG_KINETIS_FTM2 - Support FlexTimer 2 +# CONFIG_KINETIS_LPTIMER - Support the low power timer +# CONFIG_KINETIS_RTC - Support RTC +# CONFIG_KINETIS_SLCD - Support the segment LCD (K40 only) +# CONFIG_KINETIS_EWM - Support the external watchdog +# CONFIG_KINETIS_CMT - Support Carrier Modulator Transmitter +# CONFIG_KINETIS_USBOTG - Support USB OTG (see also CONFIG_USBHOST and CONFIG_USBDEV) +# CONFIG_KINETIS_USBDCD - Support the USB Device Charger Detection module +# CONFIG_KINETIS_LLWU - Support the Low Leakage Wake-Up Unit +# CONFIG_KINETIS_TSI - Support the touch screeen interface +# CONFIG_KINETIS_FTFL - Support FLASH +# CONFIG_KINETIS_DMA - Support DMA +# CONFIG_KINETIS_CRC - Support CRC +# CONFIG_KINETIS_PDB - Support the Programmable Delay Block +# CONFIG_KINETIS_PIT - Support Programmable Interval Timers +# CONFIG_ARMV7M_MPU - Support the MPU + +CONFIG_KINETIS_TRACE=n +CONFIG_KINETIS_FLEXBUS=n +CONFIG_KINETIS_UART0=y +CONFIG_KINETIS_UART1=y +CONFIG_KINETIS_UART2=n CONFIG_KINETIS_UART3=n CONFIG_KINETIS_UART4=n CONFIG_KINETIS_UART5=n +CONFIG_KINETIS_ETHERNET=n +CONFIG_KINETIS_RNGB=n +CONFIG_KINETIS_FLEXCAN0=n +CONFIG_KINETIS_FLEXCAN1=n +CONFIG_KINETIS_SPI0=n +CONFIG_KINETIS_SPI1=n +CONFIG_KINETIS_SPI2=n +CONFIG_KINETIS_I2C0=n CONFIG_KINETIS_I2C1=n -CONFIG_KINETIS_I2C2=n -CONFIG_KINETIS_USB=y -CONFIG_KINETIS_CAN=n -CONFIG_KINETIS_BKP=n -CONFIG_KINETIS_PWR=n -CONFIG_KINETIS_DAC=n -# APB2: +CONFIG_KINETIS_I2S=n +CONFIG_KINETIS_DAC0=n +CONFIG_KINETIS_DAC1=n +CONFIG_KINETIS_ADC0=n CONFIG_KINETIS_ADC1=n -CONFIG_KINETIS_ADC2=n -CONFIG_KINETIS_TIM1=n -CONFIG_KINETIS_SPI1=n -CONFIG_KINETIS_TIM8=n -CONFIG_KINETIS_UART1=y -CONFIG_KINETIS_ADC3=n +CONFIG_KINETIS_CMP=n +CONFIG_KINETIS_VREF=n +CONFIG_KINETIS_SDHC=n +CONFIG_KINETIS_FTM0=n +CONFIG_KINETIS_FTM1=n +CONFIG_KINETIS_FTM2=n +CONFIG_KINETIS_LPTIMER=n +CONFIG_KINETIS_RTC=n +CONFIG_KINETIS_SLCD=n +CONFIG_KINETIS_EWM=n +CONFIG_KINETIS_CMT=n +CONFIG_KINETIS_USBOTG=n +CONFIG_KINETIS_USBDCD=n +CONFIG_KINETIS_LLWU=n +CONFIG_KINETIS_TSI=n +CONFIG_KINETIS_FTFL=n +CONFIG_KINETIS_DMA=n +CONFIG_KINETIS_CRC=n +CONFIG_KINETIS_PDB=n +CONFIG_KINETIS_PIT=n +CONFIG_ARMV7M_MPU=n + +# +# PIN Interrupt Support +# +# CONFIG_GPIO_IRQ -- Enable pin interrtup support. Also needs one or +# more of the following: +# CONFIG_KINETIS_PORTAINTS -- Support 32 Port A interrupts +# CONFIG_KINETIS_PORTBINTS -- Support 32 Port B interrupts +# CONFIG_KINETIS_PORTCINTS -- Support 32 Port C interrupts +# CONFIG_KINETIS_PORTDINTS -- Support 32 Port D interrupts +# CONFIG_KINETIS_PORTEINTS -- Support 32 Port E interrupts +# +CONFIG_GPIO_IRQ=n +CONFIG_KINETIS_PORTAINTS=n +CONFIG_KINETIS_PORTBINTS=n +CONFIG_KINETIS_PORTCINTS=n +CONFIG_KINETIS_PORTDINTS=n +CONFIG_KINETIS_PORTEINTS=n # # K40X256VLQ100 specific serial device driver settings @@ -151,37 +222,42 @@ CONFIG_KINETIS_ADC3=n # CONFIG_UARTn_BITS - The number of bits. Must be either 8 or 9. # CONFIG_UARTn_PARTIY - 0=no parity, 1=odd parity, 2=even parity # +CONFIG_UART1_SERIAL_CONSOLE=n CONFIG_UART1_SERIAL_CONSOLE=y CONFIG_UART2_SERIAL_CONSOLE=n CONFIG_UART3_SERIAL_CONSOLE=n CONFIG_UART4_SERIAL_CONSOLE=n CONFIG_UART5_SERIAL_CONSOLE=n +CONFIG_UART0_TXBUFSIZE=256 CONFIG_UART1_TXBUFSIZE=256 CONFIG_UART2_TXBUFSIZE=256 CONFIG_UART3_TXBUFSIZE=256 CONFIG_UART4_TXBUFSIZE=256 CONFIG_UART5_TXBUFSIZE=256 +CONFIG_UART0_RXBUFSIZE=256 CONFIG_UART1_RXBUFSIZE=256 CONFIG_UART2_RXBUFSIZE=256 CONFIG_UART3_RXBUFSIZE=256 CONFIG_UART4_RXBUFSIZE=256 CONFIG_UART5_RXBUFSIZE=256 +CONFIG_UART0_BAUD=115200 CONFIG_UART1_BAUD=115200 CONFIG_UART2_BAUD=115200 CONFIG_UART3_BAUD=115200 CONFIG_UART4_BAUD=115200 CONFIG_UART5_BAUD=115200 +CONFIG_UART0_BITS=8 CONFIG_UART1_BITS=8 CONFIG_UART2_BITS=8 CONFIG_UART3_BITS=8 CONFIG_UART4_BITS=8 CONFIG_UART5_BITS=8 -CONFIG_UART1_PARITY=0 +CONFIG_UART0_PARITY=0 CONFIG_UART2_PARITY=0 CONFIG_UART3_PARITY=0 CONFIG_UART4_PARITY=0 @@ -304,7 +380,7 @@ CONFIG_HAVE_LIBM=n # handle delayed processing from interrupt handlers. This feature # is required for some drivers but, if there are not complaints, # can be safely disabled. The worker thread also performs -# garbage collection -- completing any delayed memory deallocations +# garbage collection--completing any delayed memory deallocations # from interrupt handlers. If the worker thread is disabled, # then that clean will be performed by the IDLE thread instead # (which runs at the lowest of priority and may not be appropriate @@ -734,7 +810,7 @@ CONFIG_EXAMPLES_OSTEST_NBARRIER_THREADS=3 # specific initialization (nsh_archinitialize()). # # If CONFIG_NSH_TELNET is selected: -# CONFIG_NSH_IOBUFFER_SIZE -- Telnetd I/O buffer size +# CONFIG_NSH_IOBUFFER_SIZE - Telnetd I/O buffer size # CONFIG_NSH_DHCPC - Obtain address using DHCP # CONFIG_NSH_IPADDR - Provides static IP address # CONFIG_NSH_DRIPADDR - Provides static router IP address -- cgit v1.2.3