summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsauttefk <nuttx@sautter.com>2015-02-12 00:30:38 +0100
committersauttefk <nuttx@sautter.com>2015-02-12 00:30:38 +0100
commitd000b0ac237cb6b17e3d355b55250c3ca7e9f2d6 (patch)
tree72583639a0306cbafdaeb61c06b8c0ed2d21cec8
parentee85df507430d32de087f8948605e39eca437e32 (diff)
downloadnuttx-d000b0ac237cb6b17e3d355b55250c3ca7e9f2d6.tar.gz
nuttx-d000b0ac237cb6b17e3d355b55250c3ca7e9f2d6.tar.bz2
nuttx-d000b0ac237cb6b17e3d355b55250c3ca7e9f2d6.zip
Add TI EK-TM4C1294XL launchpad support
-rw-r--r--nuttx/arch/arm/include/tiva/tm4c_irq.h129
-rw-r--r--nuttx/arch/arm/src/tiva/chip/tm4c_flash.h2
-rw-r--r--nuttx/arch/arm/src/tiva/chip/tm4c_memorymap.h108
-rw-r--r--nuttx/arch/arm/src/tiva/chip/tm4c_pinmap.h433
-rw-r--r--nuttx/arch/arm/src/tiva/chip/tm4c_vectors.h141
-rw-r--r--nuttx/configs/Kconfig9
-rw-r--r--nuttx/configs/dk-tm4c129x/README.txt2
-rw-r--r--nuttx/configs/dk-tm4c129x/tools/dk-tm4c129x.cfg2
-rw-r--r--nuttx/configs/tm4c1294-launchpad/Kconfig75
-rw-r--r--nuttx/configs/tm4c1294-launchpad/include/board.h298
-rw-r--r--nuttx/configs/tm4c1294-launchpad/ipv6/Make.defs110
-rw-r--r--nuttx/configs/tm4c1294-launchpad/ipv6/defconfig1153
-rwxr-xr-xnuttx/configs/tm4c1294-launchpad/ipv6/setenv.sh75
-rw-r--r--nuttx/configs/tm4c1294-launchpad/nsh/Make.defs110
-rw-r--r--nuttx/configs/tm4c1294-launchpad/nsh/defconfig1147
-rwxr-xr-xnuttx/configs/tm4c1294-launchpad/nsh/setenv.sh75
-rwxr-xr-xnuttx/configs/tm4c1294-launchpad/scripts/ld.script115
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/.gitignore2
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/Makefile111
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/tm4c1294-launchpad.h180
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/tm4c_autoleds.c161
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/tm4c_boot.c114
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/tm4c_bringup.c105
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/tm4c_buttons.c127
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/tm4c_ethernet.c99
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/tm4c_nsh.c71
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/tm4c_ssi.c132
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/tm4c_timer.c115
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/tm4c_tmp100.c102
-rw-r--r--nuttx/configs/tm4c1294-launchpad/src/tm4c_userleds.c153
-rw-r--r--nuttx/configs/tm4c1294-launchpad/tools/ek-tm4c1294xl.cfg6
-rw-r--r--nuttx/configs/tm4c1294-launchpad/tools/oocd.sh57
32 files changed, 5512 insertions, 7 deletions
diff --git a/nuttx/arch/arm/include/tiva/tm4c_irq.h b/nuttx/arch/arm/include/tiva/tm4c_irq.h
index 73c8142c4..c78013924 100644
--- a/nuttx/arch/arm/include/tiva/tm4c_irq.h
+++ b/nuttx/arch/arm/include/tiva/tm4c_irq.h
@@ -499,6 +499,135 @@
# define NR_IRQS (130) /* (Really fewer because of reserved vectors) */
+#elif defined(CONFIG_ARCH_CHIP_TM4C1294NC)
+# define TIVA_IRQ_GPIOA (16) /* Vector 16: GPIO Port A */
+# define TIVA_IRQ_GPIOB (17) /* Vector 17: GPIO Port B */
+# define TIVA_IRQ_GPIOC (18) /* Vector 18: GPIO Port C */
+# define TIVA_IRQ_GPIOD (19) /* Vector 19: GPIO Port D */
+
+# define TIVA_IRQ_GPIOE (20) /* Vector 20: GPIO Port E */
+# define TIVA_IRQ_UART0 (21) /* Vector 21: UART 0 */
+# define TIVA_IRQ_UART1 (22) /* Vector 22: UART 1 */
+# define TIVA_IRQ_SSI0 (23) /* Vector 23: SSI 0 */
+# define TIVA_IRQ_I2C0 (24) /* Vector 24: I2C 0 */
+# define TIVA_IRQ_PWM0_FAULT (25) /* Vector 25: PWM0 Fault */
+# define TIVA_IRQ_PWM0_GEN0 (26) /* Vector 26: PWM0 Generator 0 */
+# define TIVA_IRQ_PWM0_GEN1 (27) /* Vector 27: PWM0 Generator 1 */
+# define TIVA_IRQ_PWM0_GEN2 (28) /* Vector 28: PWM0 Generator 2 */
+# define TIVA_IRQ_QEI0 (29) /* Vector 29: QEI0 */
+
+# define TIVA_IRQ_ADC0 (30) /* Vector 30: ADC Sequence 0 */
+# define TIVA_IRQ_ADC1 (31) /* Vector 31: ADC Sequence 1 */
+# define TIVA_IRQ_ADC2 (32) /* Vector 32: ADC Sequence 2 */
+# define TIVA_IRQ_ADC3 (33) /* Vector 33: ADC Sequence 3 */
+# define TIVA_IRQ_WDOG (34) /* Vector 34: Watchdog Timers 0 and 1 */
+# define TIVA_IRQ_TIMER0A (35) /* Vector 35: 16/32-Bit Timer 0 A */
+# define TIVA_IRQ_TIMER0B (36) /* Vector 36: 16/32-Bit Timer 0 B */
+# define TIVA_IRQ_TIMER1A (37) /* Vector 37: 16/32-Bit Timer 1 A */
+# define TIVA_IRQ_TIMER1B (38) /* Vector 38: 16/32-Bit Timer 1 B */
+# define TIVA_IRQ_TIMER2A (39) /* Vector 39: 16/32-Bit Timer 2 A */
+
+# define TIVA_IRQ_TIMER2B (40) /* Vector 40: 16/32-Bit Timer 2 B */
+# define TIVA_IRQ_COMPARE0 (41) /* Vector 41: Analog Comparator 0 */
+# define TIVA_IRQ_COMPARE1 (42) /* Vector 42: Analog Comparator 1 */
+# define TIVA_IRQ_COMPARE2 (43) /* Vector 43: Analog Comparator 2 */
+# define TIVA_IRQ_SYSCON (44) /* Vector 44: System Control */
+# define TIVA_IRQ_FLASHCON (45) /* Vector 45: FLASH and EEPROM Control */
+# define TIVA_IRQ_GPIOF (46) /* Vector 46: GPIO Port F */
+# define TIVA_IRQ_GPIOG (47) /* Vector 47: GPIO Port G */
+# define TIVA_IRQ_GPIOH (48) /* Vector 48: GPIO Port H */
+# define TIVA_IRQ_UART2 (49) /* Vector 49: UART 2 */
+
+# define TIVA_IRQ_SSI1 (50) /* Vector 50: SSI 1 */
+# define TIVA_IRQ_TIMER3A (51) /* Vector 51: 16/32-Bit Timer 3 A */
+# define TIVA_IRQ_TIMER3B (52) /* Vector 52: 16/32-Bit Timer 3 B */
+# define TIVA_IRQ_I2C1 (53) /* Vector 53: I2C 1 */
+# define TIVA_IRQ_CAN0 (54) /* Vector 54: CAN 0 */
+# define TIVA_IRQ_CAN1 (55) /* Vector 55: CAN 1 */
+# define TIVA_IRQ_ETHCON (56) /* Vector 56: Ethernet MAC */
+# define TIVA_IRQ_HIBERNATE (57) /* Vector 57: Hibernation Module */
+# define TIVA_IRQ_USB (58) /* Vector 58: USB MAC */
+# define TIVA_IRQ_PWM0_GEN3 (59) /* Vector 59: PWM0 Generator 3 */
+
+# define TIVA_IRQ_UDMASOFT (60) /* Vector 60: uDMA Software */
+# define TIVA_IRQ_UDMAERROR (61) /* Vector 61: uDMA Error */
+# define TIVA_IRQ_ADC1_0 (62) /* Vector 62: ADC1 Sequence 0 */
+# define TIVA_IRQ_ADC1_1 (63) /* Vector 63: ADC1 Sequence 1 */
+# define TIVA_IRQ_ADC1_2 (64) /* Vector 64: ADC1 Sequence 2 */
+# define TIVA_IRQ_ADC1_3 (65) /* Vector 65: ADC1 Sequence 3 */
+# define TIVA_IRQ_EPI0 (66) /* Vector 66: EPI 0 */
+# define TIVA_IRQ_GPIOJ (67) /* Vector 67: GPIO Port J */
+# define TIVA_IRQ_GPIOK (68) /* Vector 68: GPIO Port K */
+# define TIVA_IRQ_GPIOL (69) /* Vector 69: GPIO Port L */
+
+# define TIVA_IRQ_SSI2 (70) /* Vector 70: SSI 2 */
+# define TIVA_IRQ_SSI3 (71) /* Vector 71: SSI 3 */
+# define TIVA_IRQ_UART3 (72) /* Vector 72: UART 3 */
+# define TIVA_IRQ_UART4 (73) /* Vector 73: UART 4 */
+# define TIVA_IRQ_UART5 (74) /* Vector 74: UART 5 */
+# define TIVA_IRQ_UART6 (75) /* Vector 75: UART 6 */
+# define TIVA_IRQ_UART7 (76) /* Vector 76: UART 7 */
+# define TIVA_IRQ_I2C2 (77) /* Vector 77: I2C 2 */
+# define TIVA_IRQ_I2C3 (78) /* Vector 78: I2C 3 */
+# define TIVA_IRQ_TIMER4A (79) /* Vector 79: 16/32-Bit Timer 4 A */
+
+# define TIVA_IRQ_TIMER4B (80) /* Vector 80: 16/32-Bit Timer 4 B */
+# define TIVA_IRQ_TIMER5A (81) /* Vector 81: 16/32-Bit Timer 5 A */
+# define TIVA_IRQ_TIMER5B (82) /* Vector 82: 16/32-Bit Timer 5 B */
+# define TIVA_IRQ_FLOAT (83) /* Vector 83: Floating point exception */
+# define TIVA_RESERVED_84 (84) /* Vector 84: Reserved */
+# define TIVA_RESERVED_85 (85) /* Vector 85: Reserved */
+# define TIVA_IRQ_I2C4 (86) /* Vector 86: I2C 4 */
+# define TIVA_IRQ_I2C5 (87) /* Vector 87: I2C 5 */
+# define TIVA_IRQ_GPIOM (88) /* Vector 88: GPIO Port M */
+# define TIVA_IRQ_GPION (89) /* Vector 89: GPIO Port N */
+
+# define TIVA_RESERVED_90 (90) /* Vector 90: Reserved */
+# define TIVA_IRQ_TAMPER (91) /* Vector 91: Tamper */
+# define TIVA_IRQ_GPIOP (92) /* Vector 92: GPIO Port P (Summary or P0) */
+# define TIVA_IRQ_GPIOP1 (93) /* Vector 93: GPIO Port P1 */
+# define TIVA_IRQ_GPIOP2 (94) /* Vector 94: GPIO Port P2 */
+# define TIVA_IRQ_GPIOP3 (95) /* Vector 95: GPIO Port P3 */
+# define TIVA_IRQ_GPIOP4 (96) /* Vector 96: GPIO Port P4 */
+# define TIVA_IRQ_GPIOP5 (97) /* Vector 97: GPIO Port P5 */
+# define TIVA_IRQ_GPIOP6 (98) /* Vector 98: GPIO Port P6 */
+# define TIVA_IRQ_GPIOP7 (99) /* Vector 99: GPIO Port P7 */
+
+# define TIVA_IRQ_GPIOQ (100) /* Vector 100: GPIO Port Q (Summary or Q0) */
+# define TIVA_IRQ_GPIOQ1 (101) /* Vector 101: GPIO Port Q1 */
+# define TIVA_IRQ_GPIOQ2 (102) /* Vector 102: GPIO Port Q2 */
+# define TIVA_IRQ_GPIOQ3 (103) /* Vector 103: GPIO Port Q3 */
+# define TIVA_IRQ_GPIOQ4 (104) /* Vector 104: GPIO Port Q4 */
+# define TIVA_IRQ_GPIOQ5 (105) /* Vector 105: GPIO Port Q5 */
+# define TIVA_IRQ_GPIOQ6 (106) /* Vector 106: GPIO Port Q6 */
+# define TIVA_IRQ_GPIOQ7 (107) /* Vector 107: GPIO Port Q7 */
+# define TIVA_RESERVED_108 (108) /* Vector 108: Reserved */
+# define TIVA_RESERVED_109 (109) /* Vector 109: Reserved */
+
+# define TIVA_RESERVED_110 (110) /* Vector 110: Reserved */
+# define TIVA_RESERVED_111 (111) /* Vector 111: Reserved */
+# define TIVA_RESERVED_112 (113) /* Vector 112: Reserved */
+# define TIVA_RESERVED_113 (113) /* Vector 113: Reserved */
+# define TIVA_IRQ_TIMER6A (114) /* Vector 114: 16/32-Bit Timer 6 A */
+# define TIVA_IRQ_TIMER6B (115) /* Vector 115: 16/32-Bit Timer 6 B */
+# define TIVA_IRQ_TIMER7A (116) /* Vector 116: 16/32-Bit Timer 7 A */
+# define TIVA_IRQ_TIMER7B (117) /* Vector 117: 16/32-Bit Timer 7 B */
+# define TIVA_IRQ_I2C6 (118) /* Vector 118: I2C 6 */
+# define TIVA_IRQ_I2C7 (119) /* Vector 119: I2C 7 */
+
+# define TIVA_RESERVED_120 (120) /* Vector 120: Reserved */
+# define TIVA_RESERVED_121 (121) /* Vector 121: Reserved */
+# define TIVA_RESERVED_122 (122) /* Vector 122: Reserved */
+# define TIVA_RESERVED_123 (123) /* Vector 123: Reserved */
+# define TIVA_RESERVED_124 (124) /* Vector 124: Reserved */
+# define TIVA_IRQ_I2C8 (125) /* Vector 125: I2C 8 */
+# define TIVA_IRQ_I2C9 (126) /* Vector 126: I2C 9 */
+# define TIVA_RESERVED_127 (127) /* Vector 127: Reserved */
+# define TIVA_RESERVED_128 (128) /* Vector 128: Reserved */
+# define TIVA_RESERVED_129 (129) /* Vector 129: Reserved */
+
+# define NR_IRQS (130) /* (Really fewer because of reserved vectors) */
+
#else
# error "IRQ Numbers not known for this Tiva chip"
#endif
diff --git a/nuttx/arch/arm/src/tiva/chip/tm4c_flash.h b/nuttx/arch/arm/src/tiva/chip/tm4c_flash.h
index 7fa8ce68e..d18a07581 100644
--- a/nuttx/arch/arm/src/tiva/chip/tm4c_flash.h
+++ b/nuttx/arch/arm/src/tiva/chip/tm4c_flash.h
@@ -52,7 +52,7 @@
************************************************************************************/
/* FLASH dimensions ****************************************************************/
-#if defined(CONFIG_ARCH_CHIP_TM4C129XNC)
+#if defined(CONFIG_ARCH_CHIP_TM4C129XNC) || defined(CONFIG_ARCH_CHIP_TM4C1294NC)
/* For the TM4C129X family, the Flash memory is configured in groups of four banks
* four banks of 16K x 128 bits (4 * 256 KB total) which are two-way interleaved.
diff --git a/nuttx/arch/arm/src/tiva/chip/tm4c_memorymap.h b/nuttx/arch/arm/src/tiva/chip/tm4c_memorymap.h
index 9d0945aaf..b3ddec7c2 100644
--- a/nuttx/arch/arm/src/tiva/chip/tm4c_memorymap.h
+++ b/nuttx/arch/arm/src/tiva/chip/tm4c_memorymap.h
@@ -91,7 +91,7 @@
# define TIVA_TPIU_BASE 0xe0040000 /* -0xe0040fff: Trace Port Interface Unit */
# define TIVA_ETM_BASE 0xe0041000 /* -0xe0041fff: Embedded Trace Macrocell */
/* -0xffffffff: Reserved */
-#elif defined(CONFIG_ARCH_CHIP_TM4C129XNC)
+#elif defined(CONFIG_ARCH_CHIP_TM4C129XNC) || defined(CONFIG_ARCH_CHIP_TM4C1294NC)
# define TIVA_FLASH_BASE 0x00000000 /* -0x000fffff: On-chip FLASH */
/* -0x01ffffff: Reserved */
# define TIVA_ROM_BASE 0x02000000 /* -0x02ffffff: On-chip ROM (16 MB) */
@@ -460,6 +460,112 @@
/* -0x53fff: Reserved */
# define TIVA_EPHY_BASE (TIVA_PERIPH2_BASE + 0x54000) /* -0x54fff: EPHY */
/* -0xfffff: Reserved */
+#elif defined(CONFIG_ARCH_CHIP_TM4C1294NC)
+// FIXME sauttefk
+/* Peripheral region 1 */
+
+# define TIVA_WDOG0_BASE (TIVA_PERIPH1_BASE + 0x00000) /* -0x00fff: Watchdog Timer 0 */
+# define TIVA_WDOG1_BASE (TIVA_PERIPH1_BASE + 0x01000) /* -0x00fff: Watchdog Timer 1 */
+ /* -0x03fff: Reserved */
+# define TIVA_GPIOA_BASE (TIVA_PERIPH1_BASE + 0x04000) /* -0x04fff: GPIO Port A */
+# define TIVA_GPIOB_BASE (TIVA_PERIPH1_BASE + 0x05000) /* -0x05fff: GPIO Port B */
+# define TIVA_GPIOC_BASE (TIVA_PERIPH1_BASE + 0x06000) /* -0x06fff: GPIO Port C */
+# define TIVA_GPIOD_BASE (TIVA_PERIPH1_BASE + 0x07000) /* -0x07fff: GPIO Port D */
+# define TIVA_SSI0_BASE (TIVA_PERIPH1_BASE + 0x08000) /* -0x08fff: SSI0 */
+# define TIVA_SSI1_BASE (TIVA_PERIPH1_BASE + 0x09000) /* -0x09fff: SSI1 */
+# define TIVA_SSI2_BASE (TIVA_PERIPH1_BASE + 0x0a000) /* -0x0afff: SSI2 */
+# define TIVA_SSI3_BASE (TIVA_PERIPH1_BASE + 0x0b000) /* -0x0bfff: SSI3 */
+# define TIVA_UART0_BASE (TIVA_PERIPH1_BASE + 0x0c000) /* -0x0cfff: UART0 */
+# define TIVA_UART1_BASE (TIVA_PERIPH1_BASE + 0x0d000) /* -0x0dfff: UART1 */
+# define TIVA_UART2_BASE (TIVA_PERIPH1_BASE + 0x0e000) /* -0x0efff: UART2 */
+# define TIVA_UART3_BASE (TIVA_PERIPH1_BASE + 0x0f000) /* -0x0ffff: UART3 */
+# define TIVA_UART4_BASE (TIVA_PERIPH1_BASE + 0x10000) /* -0x10fff: UART4 */
+# define TIVA_UART5_BASE (TIVA_PERIPH1_BASE + 0x11000) /* -0x11fff: UART5 */
+# define TIVA_UART6_BASE (TIVA_PERIPH1_BASE + 0x12000) /* -0x12fff: UART6 */
+# define TIVA_UART7_BASE (TIVA_PERIPH1_BASE + 0x13000) /* -0x13fff: UART7 */
+ /* -0x1ffff: Reserved */
+# define TIVA_I2C0_BASE (TIVA_PERIPH1_BASE + 0x20000) /* -0x20fff: I2C0 */
+# define TIVA_I2C1_BASE (TIVA_PERIPH1_BASE + 0x21000) /* -0x21fff: I2C1 */
+# define TIVA_I2C2_BASE (TIVA_PERIPH1_BASE + 0x22000) /* -0x22fff: I2C2 */
+# define TIVA_I2C3_BASE (TIVA_PERIPH1_BASE + 0x23000) /* -0x23fff: I2C3 */
+# define TIVA_GPIOE_BASE (TIVA_PERIPH1_BASE + 0x24000) /* -0x24fff: GPIO Port E */
+# define TIVA_GPIOF_BASE (TIVA_PERIPH1_BASE + 0x25000) /* -0x25fff: GPIO Port F */
+# define TIVA_GPIOG_BASE (TIVA_PERIPH1_BASE + 0x26000) /* -0x26fff: GPIO Port G */
+# define TIVA_GPIOH_BASE (TIVA_PERIPH1_BASE + 0x27000) /* -0x27fff: GPIO Port H */
+# define TIVA_PWM0_BASE (TIVA_PERIPH1_BASE + 0x28000) /* -0x28fff: PWM 0 */
+ /* -0x2bfff: Reserved */
+# define TIVA_QEI0_BASE (TIVA_PERIPH1_BASE + 0x2c000) /* -0x2cfff: QEI 0 */
+ /* -0x2ffff: Reserved */
+# define TIVA_TIMER0_BASE (TIVA_PERIPH1_BASE + 0x30000) /* -0x30fff: 16/32 Timer 0 */
+# define TIVA_TIMER1_BASE (TIVA_PERIPH1_BASE + 0x31000) /* -0x31fff: 16/32 Timer 1 */
+# define TIVA_TIMER2_BASE (TIVA_PERIPH1_BASE + 0x32000) /* -0x32fff: 16/32 Timer 2 */
+# define TIVA_TIMER3_BASE (TIVA_PERIPH1_BASE + 0x33000) /* -0x33fff: 16/32 Timer 3 */
+# define TIVA_TIMER4_BASE (TIVA_PERIPH1_BASE + 0x34000) /* -0x34fff: 16/32 Timer 4 */
+# define TIVA_TIMER5_BASE (TIVA_PERIPH1_BASE + 0x35000) /* -0x35fff: 16/32 Timer 5 */
+ /* -0x37fff: Reserved */
+# define TIVA_ADC0_BASE (TIVA_PERIPH1_BASE + 0x38000) /* -0x38fff: ADC 0 */
+# define TIVA_ADC1_BASE (TIVA_PERIPH1_BASE + 0x39000) /* -0x39fff: ADC 1 */
+ /* -0x3bfff: Reserved */
+# define TIVA_CMP_BASE (TIVA_PERIPH1_BASE + 0x3c000) /* -0x3cfff: Analog Comparators */
+# define TIVA_GPIOJ_BASE (TIVA_PERIPH1_BASE + 0x3d000) /* -0x3dfff: GPIO Port J */
+ /* -0x3ffff: Reserved */
+# define TIVA_CAN0_BASE (TIVA_PERIPH1_BASE + 0x40000) /* -0x40fff: CAN Controller 0 */
+# define TIVA_CAN1_BASE (TIVA_PERIPH1_BASE + 0x41000) /* -0x41fff: CAN Controller 1 */
+ /* -0x4ffff: Reserved */
+# define TIVA_USB_BASE (TIVA_PERIPH1_BASE + 0x50000) /* -0x50fff: USB */
+ /* -0x57fff: Reserved */
+# define TIVA_GPIOAAHB_BASE (TIVA_PERIPH1_BASE + 0x58000) /* -0x58fff: GPIO Port A (AHB aperture) */
+# define TIVA_GPIOBAHB_BASE (TIVA_PERIPH1_BASE + 0x59000) /* -0x59fff: GPIO Port B (AHB aperture) */
+# define TIVA_GPIOCAHB_BASE (TIVA_PERIPH1_BASE + 0x5a000) /* -0x5afff: GPIO Port C (AHB aperture) */
+# define TIVA_GPIODAHB_BASE (TIVA_PERIPH1_BASE + 0x5b000) /* -0x5bfff: GPIO Port D (AHB aperture) */
+# define TIVA_GPIOEAHB_BASE (TIVA_PERIPH1_BASE + 0x5c000) /* -0x5cfff: GPIO Port E (AHB aperture) */
+# define TIVA_GPIOFAHB_BASE (TIVA_PERIPH1_BASE + 0x5d000) /* -0x5dfff: GPIO Port F (AHB aperture) */
+# define TIVA_GPIOGAHB_BASE (TIVA_PERIPH1_BASE + 0x5e000) /* -0x5efff: GPIO Port G (AHB aperture) */
+# define TIVA_GPIOHAHB_BASE (TIVA_PERIPH1_BASE + 0x5f000) /* -0x5ffff: GPIO Port H (AHB aperture) */
+# define TIVA_GPIOJAHB_BASE (TIVA_PERIPH1_BASE + 0x60000) /* -0x60fff: GPIO Port J (AHB aperture) */
+# define TIVA_GPIOKAHB_BASE (TIVA_PERIPH1_BASE + 0x61000) /* -0x61fff: GPIO Port K (AHB aperture) */
+# define TIVA_GPIOLAHB_BASE (TIVA_PERIPH1_BASE + 0x62000) /* -0x62fff: GPIO Port L (AHB aperture) */
+# define TIVA_GPIOMAHB_BASE (TIVA_PERIPH1_BASE + 0x63000) /* -0x63fff: GPIO Port M (AHB aperture) */
+# define TIVA_GPIONAHB_BASE (TIVA_PERIPH1_BASE + 0x64000) /* -0x64fff: GPIO Port N (AHB aperture) */
+# define TIVA_GPIOPAHB_BASE (TIVA_PERIPH1_BASE + 0x65000) /* -0x65fff: GPIO Port P (AHB aperture) */
+# define TIVA_GPIOQAHB_BASE (TIVA_PERIPH1_BASE + 0x66000) /* -0x66fff: GPIO Port Q (AHB aperture) */
+ /* -0xaefff: Reserved */
+# define TIVA_EEPROM_BASE (TIVA_PERIPH1_BASE + 0xaf000) /* -0xaffff: EEPROM and Key Locker */
+ /* -0xb7fff: Reserved */
+# define TIVA_I2C8_BASE (TIVA_PERIPH1_BASE + 0xb8000) /* -0xb8fff: I2C8 */
+# define TIVA_I2C9_BASE (TIVA_PERIPH1_BASE + 0xb9000) /* -0xb9fff: I2C9 */
+ /* -0xbffff: Reserved */
+# define TIVA_I2C4_BASE (TIVA_PERIPH1_BASE + 0xc0000) /* -0xc0fff: I2C4 */
+# define TIVA_I2C5_BASE (TIVA_PERIPH1_BASE + 0xc1000) /* -0xc1fff: I2C5 */
+# define TIVA_I2C6_BASE (TIVA_PERIPH1_BASE + 0xc2000) /* -0xc2fff: I2C6 */
+# define TIVA_I2C7_BASE (TIVA_PERIPH1_BASE + 0xc3000) /* -0xc3fff: I2C7 */
+ /* -0xcffff: Reserved */
+# define TIVA_EPI0_BASE (TIVA_PERIPH1_BASE + 0xd0000) /* -0xd0fff: EPI0 */
+ /* -0xdffff: Reserved */
+# define TIVA_TIMER6_BASE (TIVA_PERIPH1_BASE + 0xe0000) /* -0xe0fff: 16/32 Timer 6 */
+# define TIVA_TIMER7_BASE (TIVA_PERIPH1_BASE + 0xe1000) /* -0xe1fff: 16/32 Timer 7 */
+ /* -0xebfff: Reserved */
+# define TIVA_ETHCON_BASE (TIVA_PERIPH1_BASE + 0xec000) /* -0xecfff: Ethernet Controller */
+ /* -0xf8fff: Reserved */
+# define TIVA_SYSEXC_BASE (TIVA_PERIPH1_BASE + 0xf9000) /* -0xf9fff: System Exception Control */
+ /* -0xfbfff: Reserved */
+# define TIVA_HIBERNATE_BASE (TIVA_PERIPH1_BASE + 0xfc000) /* -0xfcfff: Hibernation Controller */
+# define TIVA_FLASHCON_BASE (TIVA_PERIPH1_BASE + 0xfd000) /* -0xfdfff: FLASH Control */
+# define TIVA_SYSCON_BASE (TIVA_PERIPH1_BASE + 0xfe000) /* -0xfefff: System Control */
+# define TIVA_UDMA_BASE (TIVA_PERIPH1_BASE + 0xff000) /* -0xfffff: Micro Direct Memory Access */
+
+/* Peripheral region 2 */
+ /* -0x2ffff: Reserved */
+# define TIVA_CCM_BASE (TIVA_PERIPH2_BASE + 0x30000) /* -0x30fff: CRC/Cryptographic Control */
+ /* -0x33fff: Reserved */
+# define TIVA_SHAMD5_BASE (TIVA_PERIPH2_BASE + 0x34000) /* -0x35fff: SHA/MD5 */
+# define TIVA_AES_BASE (TIVA_PERIPH2_BASE + 0x36000) /* -0x37fff: AES */
+# define TIVA_DES_BASE (TIVA_PERIPH2_BASE + 0x38000) /* -0x39fff: DES */
+ /* -0x4ffff: Reserved */
+# define TIVA_LCD_BASE (TIVA_PERIPH2_BASE + 0x50000) /* -0x50fff: LCD */
+ /* -0x53fff: Reserved */
+# define TIVA_EPHY_BASE (TIVA_PERIPH2_BASE + 0x54000) /* -0x54fff: EPHY */
+ /* -0xfffff: Reserved */
#else
# error "Peripheral base addresses not specified for this Tiva chip"
#endif
diff --git a/nuttx/arch/arm/src/tiva/chip/tm4c_pinmap.h b/nuttx/arch/arm/src/tiva/chip/tm4c_pinmap.h
index cedd31057..ab6b619a7 100644
--- a/nuttx/arch/arm/src/tiva/chip/tm4c_pinmap.h
+++ b/nuttx/arch/arm/src/tiva/chip/tm4c_pinmap.h
@@ -1091,6 +1091,439 @@
# define GPIO_RTC_CLK_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTC | GPIO_PIN_5)
# define GPIO_RTC_CLK_3 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTP | GPIO_PIN_3)
+#elif defined(CONFIG_ARCH_CHIP_TM4C1294NC)
+// FIXME: sauttefk
+# define GPIO_ADC_AIN0 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_3)
+# define GPIO_ADC_AIN1 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_2)
+# define GPIO_ADC_AIN2 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_1)
+# define GPIO_ADC_AIN3 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_0)
+# define GPIO_ADC_AIN4 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_7)
+# define GPIO_ADC_AIN5 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_6)
+# define GPIO_ADC_AIN6 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_5)
+# define GPIO_ADC_AIN7 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_4)
+# define GPIO_ADC_AIN8 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_5)
+# define GPIO_ADC_AIN9 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_4)
+# define GPIO_ADC_AIN10 (GPIO_FUNC_ANINPUT | GPIO_PORTB | GPIO_PIN_4)
+# define GPIO_ADC_AIN11 (GPIO_FUNC_ANINPUT | GPIO_PORTB | GPIO_PIN_5)
+# define GPIO_ADC_AIN12 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_3)
+# define GPIO_ADC_AIN13 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_2)
+# define GPIO_ADC_AIN14 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_1)
+# define GPIO_ADC_AIN15 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_0)
+# define GPIO_ADC_AIN16 (GPIO_FUNC_ANINPUT | GPIO_PORTK | GPIO_PIN_0)
+# define GPIO_ADC_AIN17 (GPIO_FUNC_ANINPUT | GPIO_PORTK | GPIO_PIN_1)
+# define GPIO_ADC_AIN18 (GPIO_FUNC_ANINPUT | GPIO_PORTK | GPIO_PIN_2)
+# define GPIO_ADC_AIN19 (GPIO_FUNC_ANINPUT | GPIO_PORTK | GPIO_PIN_3)
+# define GPIO_ADC_AIN20 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_6)
+# define GPIO_ADC_AIN21 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_7)
+# define GPIO_ADC_AIN22 (GPIO_FUNC_ANINPUT | GPIO_PORTP | GPIO_PIN_7)
+# define GPIO_ADC_AIN23 (GPIO_FUNC_ANINPUT | GPIO_PORTP | GPIO_PIN_6)
+
+# define GPIO_CAN0_RX_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_7 | GPIO_PORTA | GPIO_PIN_0)
+# define GPIO_CAN0_RX_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_7 | GPIO_PORTT | GPIO_PIN_0)
+# define GPIO_CAN0_TX_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_7 | GPIO_PORTA | GPIO_PIN_1)
+# define GPIO_CAN0_TX_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_7 | GPIO_PORTT | GPIO_PIN_1)
+# define GPIO_CAN1_RX_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_0)
+# define GPIO_CAN1_RX_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_7 | GPIO_PORTT | GPIO_PIN_2)
+# define GPIO_CAN1_TX_1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_1)
+# define GPIO_CAN1_TX_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_7 | GPIO_PORTT | GPIO_PIN_3)
+
+# define GPIO_CMP0_OUT_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_5 | GPIO_PORTD | GPIO_PIN_0)
+# define GPIO_CMP0_OUT_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_5 | GPIO_PORTL | GPIO_PIN_2)
+# define GPIO_CMP1_OUT_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_5 | GPIO_PORTD | GPIO_PIN_1)
+# define GPIO_CMP1_OUT_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_5 | GPIO_PORTL | GPIO_PIN_3)
+# define GPIO_CMP2_OUT (GPIO_FUNC_PFOUTPUT | GPIO_ALT_5 | GPIO_PORTD | GPIO_PIN_2)
+
+# define GPIO_EN0_COL (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTM | GPIO_PIN_7)
+# define GPIO_EN0_CRS (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTM | GPIO_PIN_6)
+# define GPIO_EN0_INTRN_1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTK | GPIO_PIN_4)
+# define GPIO_EN0_INTRN_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTP | GPIO_PIN_0)
+# define GPIO_EN0_LED0_1 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTF | GPIO_PIN_0)
+# define GPIO_EN0_LED0_2 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTK | GPIO_PIN_4)
+# define GPIO_EN0_LED1_1 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTF | GPIO_PIN_4)
+# define GPIO_EN0_LED1_2 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTK | GPIO_PIN_6)
+# define GPIO_EN0_LED2_1 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTF | GPIO_PIN_1)
+# define GPIO_EN0_LED2_2 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTK | GPIO_PIN_5)
+# define GPIO_EN0_MDC_1 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTB | GPIO_PIN_2)
+# define GPIO_EN0_MDC_2 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTF | GPIO_PIN_2)
+# define GPIO_EN0_MDIO_1 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTB | GPIO_PIN_3)
+# define GPIO_EN0_MDIO_2 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTF | GPIO_PIN_3)
+# define GPIO_EN0_PPS_1 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTG | GPIO_PIN_0)
+# define GPIO_EN0_PPS_2 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTH | GPIO_PIN_5)
+# define GPIO_EN0_PPS_3 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTJ | GPIO_PIN_0)
+# define GPIO_EN0_RREF_CLK (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTM | GPIO_PIN_4)
+# define GPIO_EN0_RXCK (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTA | GPIO_PIN_6)
+# define GPIO_EN0_RXD0_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTQ | GPIO_PIN_5)
+# define GPIO_EN0_RXD0_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTT | GPIO_PIN_0)
+# define GPIO_EN0_RXD1_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTQ | GPIO_PIN_6)
+# define GPIO_EN0_RXD1_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTT | GPIO_PIN_1)
+# define GPIO_EN0_RXD2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTK | GPIO_PIN_5)
+# define GPIO_EN0_RXD3 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTK | GPIO_PIN_4)
+# define GPIO_EN0_RXDV_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTG | GPIO_PIN_7)
+# define GPIO_EN0_RXDV_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTS | GPIO_PIN_7)
+# define GPIO_EN0_RXER_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTG | GPIO_PIN_6)
+# define GPIO_EN0_RXER_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTS | GPIO_PIN_6)
+# define GPIO_EN0_TXCK (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTG | GPIO_PIN_2)
+# define GPIO_EN0_TXD0_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTG | GPIO_PIN_4)
+# define GPIO_EN0_TXD0_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTS | GPIO_PIN_4)
+# define GPIO_EN0_TXD1_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTG | GPIO_PIN_5)
+# define GPIO_EN0_TXD1_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTS | GPIO_PIN_5)
+# define GPIO_EN0_TXD2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTK | GPIO_PIN_6)
+# define GPIO_EN0_TXD3 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTK | GPIO_PIN_7)
+# define GPIO_EN0_TXEN_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTG | GPIO_PIN_3)
+# define GPIO_EN0_TXEN_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTR | GPIO_PIN_7)
+# define GPIO_EN0_TXER (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTN | GPIO_PIN_6)
+
+# define GPIO_EPI0_S0_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTH | GPIO_PIN_0)
+# define GPIO_EPI0_S0_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTK | GPIO_PIN_0)
+# define GPIO_EPI0_S1_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTH | GPIO_PIN_1)
+# define GPIO_EPI0_S1_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTK | GPIO_PIN_1)
+# define GPIO_EPI0_S2_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTH | GPIO_PIN_2)
+# define GPIO_EPI0_S2_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTK | GPIO_PIN_2)
+# define GPIO_EPI0_S3_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTH | GPIO_PIN_3)
+# define GPIO_EPI0_S3_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTK | GPIO_PIN_3)
+# define GPIO_EPI0_S4 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTC | GPIO_PIN_7)
+# define GPIO_EPI0_S5 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTC | GPIO_PIN_6)
+# define GPIO_EPI0_S6 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTC | GPIO_PIN_5)
+# define GPIO_EPI0_S7 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTC | GPIO_PIN_4)
+# define GPIO_EPI0_S8 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTA | GPIO_PIN_6)
+# define GPIO_EPI0_S9 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTA | GPIO_PIN_7)
+# define GPIO_EPI0_S10 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_1)
+# define GPIO_EPI0_S11 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_0)
+# define GPIO_EPI0_S12 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTM | GPIO_PIN_3)
+# define GPIO_EPI0_S13 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTM | GPIO_PIN_2)
+# define GPIO_EPI0_S14 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTM | GPIO_PIN_1)
+# define GPIO_EPI0_S15 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTM | GPIO_PIN_0)
+# define GPIO_EPI0_S16 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTL | GPIO_PIN_0)
+# define GPIO_EPI0_S17 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTL | GPIO_PIN_1)
+# define GPIO_EPI0_S18 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTL | GPIO_PIN_2)
+# define GPIO_EPI0_S19 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTL | GPIO_PIN_3)
+# define GPIO_EPI0_S20 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTQ | GPIO_PIN_0)
+# define GPIO_EPI0_S21 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTQ | GPIO_PIN_1)
+# define GPIO_EPI0_S22 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTQ | GPIO_PIN_2)
+# define GPIO_EPI0_S23 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTQ | GPIO_PIN_3)
+# define GPIO_EPI0_S24 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTK | GPIO_PIN_7)
+# define GPIO_EPI0_S25 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTK | GPIO_PIN_6)
+# define GPIO_EPI0_S26 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTL | GPIO_PIN_4)
+# define GPIO_EPI0_S27 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTB | GPIO_PIN_2)
+# define GPIO_EPI0_S28 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTB | GPIO_PIN_3)
+# define GPIO_EPI0_S29_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTN | GPIO_PIN_2)
+# define GPIO_EPI0_S29_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTP | GPIO_PIN_2)
+# define GPIO_EPI0_S30_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTN | GPIO_PIN_3)
+# define GPIO_EPI0_S30_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTP | GPIO_PIN_3)
+# define GPIO_EPI0_S31 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTK | GPIO_PIN_5)
+# define GPIO_EPI0_S32 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTK | GPIO_PIN_4)
+# define GPIO_EPI0_S33 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTL | GPIO_PIN_5)
+# define GPIO_EPI0_S34 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTN | GPIO_PIN_4)
+# define GPIO_EPI0_S35 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTN | GPIO_PIN_5)
+
+# define GPIO_I2C0_SCL (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTB | GPIO_PIN_2)
+# define GPIO_I2C0_SDA (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTB | GPIO_PIN_3)
+# define GPIO_I2C1_SCL_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTG | GPIO_PIN_0)
+# define GPIO_I2C1_SCL_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTR | GPIO_PIN_0)
+# define GPIO_I2C1_SDA_1 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTG | GPIO_PIN_1)
+# define GPIO_I2C1_SDA_2 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTR | GPIO_PIN_1)
+# define GPIO_I2C2_SCL_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTG | GPIO_PIN_2)
+# define GPIO_I2C2_SCL_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTL | GPIO_PIN_1)
+# define GPIO_I2C2_SCL_3 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTP | GPIO_PIN_5)
+# define GPIO_I2C2_SCL_4 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTR | GPIO_PIN_2)
+# define GPIO_I2C2_SCL_5 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_3 | GPIO_PORTN | GPIO_PIN_5)
+# define GPIO_I2C2_SDA_1 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTG | GPIO_PIN_3)
+# define GPIO_I2C2_SDA_2 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTL | GPIO_PIN_0)
+# define GPIO_I2C2_SDA_3 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTP | GPIO_PIN_6)
+# define GPIO_I2C2_SDA_4 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTR | GPIO_PIN_3)
+# define GPIO_I2C2_SDA_5 (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PADTYPE_ODWPU | GPIO_PORTN | GPIO_PIN_4)
+# define GPIO_I2C3_SCL_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTG | GPIO_PIN_4)
+# define GPIO_I2C3_SCL_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTK | GPIO_PIN_4)
+# define GPIO_I2C3_SCL_3 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTR | GPIO_PIN_4)
+# define GPIO_I2C3_SDA_1 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTG | GPIO_PIN_5)
+# define GPIO_I2C3_SDA_2 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTK | GPIO_PIN_5)
+# define GPIO_I2C3_SDA_3 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTR | GPIO_PIN_5)
+# define GPIO_I2C4_SCL_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTG | GPIO_PIN_6)
+# define GPIO_I2C4_SCL_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTK | GPIO_PIN_6)
+# define GPIO_I2C4_SCL_3 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTR | GPIO_PIN_6)
+# define GPIO_I2C4_SDA_1 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTG | GPIO_PIN_7)
+# define GPIO_I2C4_SDA_2 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTK | GPIO_PIN_7)
+# define GPIO_I2C4_SDA_3 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTR | GPIO_PIN_7)
+# define GPIO_I2C5_SCL_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTB | GPIO_PIN_0)
+# define GPIO_I2C5_SCL_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTB | GPIO_PIN_4)
+# define GPIO_I2C5_SDA_1 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTB | GPIO_PIN_1)
+# define GPIO_I2C5_SDA_2 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTB | GPIO_PIN_5)
+# define GPIO_I2C6_SCL_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTA | GPIO_PIN_6)
+# define GPIO_I2C6_SCL_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTB | GPIO_PIN_6)
+# define GPIO_I2C6_SDA_1 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTA | GPIO_PIN_7)
+# define GPIO_I2C6_SDA_2 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTB | GPIO_PIN_7)
+# define GPIO_I2C7_SCL_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTA | GPIO_PIN_4)
+# define GPIO_I2C7_SCL_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTD | GPIO_PIN_0)
+# define GPIO_I2C7_SDA_1 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTA | GPIO_PIN_5)
+# define GPIO_I2C7_SDA_2 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTD | GPIO_PIN_1)
+# define GPIO_I2C8_SCL_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTA | GPIO_PIN_2)
+# define GPIO_I2C8_SCL_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTD | GPIO_PIN_2)
+# define GPIO_I2C8_SDA_1 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTA | GPIO_PIN_3)
+# define GPIO_I2C8_SDA_2 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTD | GPIO_PIN_3)
+# define GPIO_I2C9_SCL_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTA | GPIO_PIN_0)
+# define GPIO_I2C9_SCL_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTE | GPIO_PIN_6)
+# define GPIO_I2C9_SDA_1 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTA | GPIO_PIN_1)
+# define GPIO_I2C9_SDA_2 (GPIO_FUNC_PFODIO | GPIO_ALT_2 | GPIO_PADTYPE_ODWPU | GPIO_PORTE | GPIO_PIN_7)
+
+# define GPIO_JTAG_SWCLK (GPIO_FUNC_PFIO | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_0)
+# define GPIO_JTAG_SWDIO (GPIO_FUNC_PFIO | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_1)
+# define GPIO_JTAG_SWO (GPIO_FUNC_PFIO | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_3)
+# define GPIO_JTAG_TCK (GPIO_FUNC_PFIO | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_0)
+# define GPIO_JTAG_TDI (GPIO_FUNC_PFIO | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_2)
+# define GPIO_JTAG_TDO (GPIO_FUNC_PFIO | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_3)
+# define GPIO_JTAG_TMS (GPIO_FUNC_PFIO | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_1)
+
+# define GPIO_M0_PWM_FAULT0_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_6 | GPIO_PORTF | GPIO_PIN_4)
+# define GPIO_M0_PWM_FAULT0_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_6 | GPIO_PORTS | GPIO_PIN_0)
+# define GPIO_M0_PWM_FAULT1_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_6 | GPIO_PORTK | GPIO_PIN_6)
+# define GPIO_M0_PWM_FAULT1_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_6 | GPIO_PORTS | GPIO_PIN_1)
+# define GPIO_M0_PWM_FAULT2_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_6 | GPIO_PORTK | GPIO_PIN_7)
+# define GPIO_M0_PWM_FAULT2_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_6 | GPIO_PORTS | GPIO_PIN_2)
+# define GPIO_M0_PWM_FAULT3_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_6 | GPIO_PORTL | GPIO_PIN_0)
+# define GPIO_M0_PWM_FAULT3_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_6 | GPIO_PORTS | GPIO_PIN_3)
+# define GPIO_M0_PWM0_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTF | GPIO_PIN_0)
+# define GPIO_M0_PWM0_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTR | GPIO_PIN_0)
+# define GPIO_M0_PWM1_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTF | GPIO_PIN_1)
+# define GPIO_M0_PWM1_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTR | GPIO_PIN_1)
+# define GPIO_M0_PWM2_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTF | GPIO_PIN_2)
+# define GPIO_M0_PWM2_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTR | GPIO_PIN_2)
+# define GPIO_M0_PWM3_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTF | GPIO_PIN_3)
+# define GPIO_M0_PWM3_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTR | GPIO_PIN_3)
+# define GPIO_M0_PWM4_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTG | GPIO_PIN_0)
+# define GPIO_M0_PWM4_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTR | GPIO_PIN_4)
+# define GPIO_M0_PWM5_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTG | GPIO_PIN_1)
+# define GPIO_M0_PWM5_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTR | GPIO_PIN_5)
+# define GPIO_M0_PWM6_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTK | GPIO_PIN_4)
+# define GPIO_M0_PWM6_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTR | GPIO_PIN_6)
+# define GPIO_M0_PWM7_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTK | GPIO_PIN_5)
+# define GPIO_M0_PWM7_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_6 | GPIO_PORTR | GPIO_PIN_7)
+
+# define GPIO_NMI_1 (GPIO_FUNC_PFIO | GPIO_ALT_8 | GPIO_PORTD | GPIO_PIN_7)
+# define GPIO_NMI_2 (GPIO_FUNC_PFIO | GPIO_ALT_8 | GPIO_PORTE | GPIO_PIN_7)
+
+# define GPIO_QEI0_IDX_1 (GPIO_FUNC_PFIO | GPIO_ALT_6 | GPIO_PORTL | GPIO_PIN_3)
+# define GPIO_QEI0_IDX_2 (GPIO_FUNC_PFIO | GPIO_ALT_6 | GPIO_PORTS | GPIO_PIN_6)
+# define GPIO_QEI0_PHA_1 (GPIO_FUNC_PFIO | GPIO_ALT_6 | GPIO_PORTL | GPIO_PIN_1)
+# define GPIO_QEI0_PHA_2 (GPIO_FUNC_PFIO | GPIO_ALT_6 | GPIO_PORTS | GPIO_PIN_4)
+# define GPIO_QEI0_PHB_1 (GPIO_FUNC_PFIO | GPIO_ALT_6 | GPIO_PORTL | GPIO_PIN_2)
+# define GPIO_QEI0_PHB_2 (GPIO_FUNC_PFIO | GPIO_ALT_6 | GPIO_PORTS | GPIO_PIN_5)
+
+# define GPIO_SSI0_CLK (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTA | GPIO_PIN_2)
+# define GPIO_SSI0_FSS (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTA | GPIO_PIN_3)
+# define GPIO_SSI0_XDAT0 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTA | GPIO_PIN_4)
+# define GPIO_SSI0_XDAT1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTA | GPIO_PIN_5)
+# define GPIO_SSI0_XDAT2 (GPIO_FUNC_PFIO | GPIO_ALT_12 | GPIO_PORTA | GPIO_PIN_6)
+# define GPIO_SSI0_XDAT3 (GPIO_FUNC_PFIO | GPIO_ALT_12 | GPIO_PORTA | GPIO_PIN_7)
+# define GPIO_SSI1_CLK (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTB | GPIO_PIN_5)
+# define GPIO_SSI1_FSS (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTB | GPIO_PIN_4)
+# define GPIO_SSI1_XDAT0 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTE | GPIO_PIN_4)
+# define GPIO_SSI1_XDAT1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTE | GPIO_PIN_5)
+# define GPIO_SSI1_XDAT2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_4)
+# define GPIO_SSI1_XDAT3 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_5)
+# define GPIO_SSI2_CLK_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_3)
+# define GPIO_SSI2_CLK_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_7)
+# define GPIO_SSI2_FSS_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_2)
+# define GPIO_SSI2_FSS_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_6)
+# define GPIO_SSI2_XDAT0_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_1)
+# define GPIO_SSI2_XDAT0_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_5)
+# define GPIO_SSI2_XDAT1_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_0)
+# define GPIO_SSI2_XDAT1_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_4)
+# define GPIO_SSI2_XDAT2_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_7)
+# define GPIO_SSI2_XDAT2_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_3)
+# define GPIO_SSI2_XDAT3_1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTD | GPIO_PIN_6)
+# define GPIO_SSI2_XDAT3_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTG | GPIO_PIN_2)
+# define GPIO_SSI3_CLK_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_3)
+# define GPIO_SSI3_CLK_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTQ | GPIO_PIN_0)
+# define GPIO_SSI3_FSS_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_2)
+# define GPIO_SSI3_FSS_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTQ | GPIO_PIN_1)
+# define GPIO_SSI3_XDAT0_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_1)
+# define GPIO_SSI3_XDAT0_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTQ | GPIO_PIN_2)
+# define GPIO_SSI3_XDAT1_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_0)
+# define GPIO_SSI3_XDAT1_2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTQ | GPIO_PIN_3)
+# define GPIO_SSI3_XDAT2_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_4)
+# define GPIO_SSI3_XDAT2_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTP | GPIO_PIN_0)
+# define GPIO_SSI3_XDAT3_1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTF | GPIO_PIN_5)
+# define GPIO_SSI3_XDAT3_2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTP | GPIO_PIN_1)
+
+# define GPIO_SYSCON_DIVSCLK (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTQ | GPIO_PIN_4)
+
+# define GPIO_TR_CLK (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTF | GPIO_PIN_3)
+# define GPIO_TR_D0 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTF | GPIO_PIN_2)
+# define GPIO_TR_D1 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTF | GPIO_PIN_1)
+# define GPIO_TR_D2 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTF | GPIO_PIN_0)
+# define GPIO_TR_D3 (GPIO_FUNC_PFIO | GPIO_ALT_14 | GPIO_PORTF | GPIO_PIN_4)
+
+# define GPIO_TIM0_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTA | GPIO_PIN_0)
+# define GPIO_TIM0_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTD | GPIO_PIN_0)
+# define GPIO_TIM0_CCP0_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTL | GPIO_PIN_4)
+# define GPIO_TIM0_CCP0_4 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTR | GPIO_PIN_4)
+# define GPIO_TIM0_CCP1_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTA | GPIO_PIN_1)
+# define GPIO_TIM0_CCP1_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTD | GPIO_PIN_1)
+# define GPIO_TIM0_CCP1_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTL | GPIO_PIN_5)
+# define GPIO_TIM0_CCP1_4 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTR | GPIO_PIN_5)
+# define GPIO_TIM1_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTA | GPIO_PIN_2)
+# define GPIO_TIM1_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTD | GPIO_PIN_2)
+# define GPIO_TIM1_CCP0_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTL | GPIO_PIN_6)
+# define GPIO_TIM1_CCP0_4 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTR | GPIO_PIN_6)
+# define GPIO_TIM1_CCP1_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTA | GPIO_PIN_3)
+# define GPIO_TIM1_CCP1_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTD | GPIO_PIN_3)
+# define GPIO_TIM1_CCP1_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTL | GPIO_PIN_7)
+# define GPIO_TIM1_CCP1_4 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTR | GPIO_PIN_7)
+# define GPIO_TIM2_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTA | GPIO_PIN_4)
+# define GPIO_TIM2_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTM | GPIO_PIN_0)
+# define GPIO_TIM2_CCP0_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTS | GPIO_PIN_0)
+# define GPIO_TIM2_CCP1_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTA | GPIO_PIN_5)
+# define GPIO_TIM2_CCP1_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTM | GPIO_PIN_1)
+# define GPIO_TIM2_CCP1_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTS | GPIO_PIN_1)
+# define GPIO_TIM3_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTA | GPIO_PIN_6)
+# define GPIO_TIM3_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTD | GPIO_PIN_4)
+# define GPIO_TIM3_CCP0_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTM | GPIO_PIN_2)
+# define GPIO_TIM3_CCP0_4 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTS | GPIO_PIN_2)
+# define GPIO_TIM3_CCP1_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTA | GPIO_PIN_7)
+# define GPIO_TIM3_CCP1_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTD | GPIO_PIN_5)
+# define GPIO_TIM3_CCP1_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTM | GPIO_PIN_3)
+# define GPIO_TIM3_CCP1_4 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTS | GPIO_PIN_3)
+# define GPIO_TIM4_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTB | GPIO_PIN_0)
+# define GPIO_TIM4_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTD | GPIO_PIN_6)
+# define GPIO_TIM4_CCP0_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTM | GPIO_PIN_4)
+# define GPIO_TIM4_CCP0_4 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTS | GPIO_PIN_4)
+# define GPIO_TIM4_CCP1_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTB | GPIO_PIN_1)
+# define GPIO_TIM4_CCP1_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTD | GPIO_PIN_7)
+# define GPIO_TIM4_CCP1_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTM | GPIO_PIN_5)
+# define GPIO_TIM4_CCP1_4 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTS | GPIO_PIN_5)
+# define GPIO_TIM5_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTB | GPIO_PIN_2)
+# define GPIO_TIM5_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTM | GPIO_PIN_6)
+# define GPIO_TIM5_CCP0_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTS | GPIO_PIN_6)
+# define GPIO_TIM5_CCP1_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTB | GPIO_PIN_3)
+# define GPIO_TIM5_CCP1_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTM | GPIO_PIN_7)
+# define GPIO_TIM5_CCP1_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTS | GPIO_PIN_7)
+# define GPIO_TIM6_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTB | GPIO_PIN_6)
+# define GPIO_TIM6_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTQ | GPIO_PIN_0)
+# define GPIO_TIM6_CCP0_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTT | GPIO_PIN_0)
+# define GPIO_TIM6_CCP0_4 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTP | GPIO_PIN_0)
+# define GPIO_TIM6_CCP1_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTB | GPIO_PIN_7)
+# define GPIO_TIM6_CCP1_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTQ | GPIO_PIN_1)
+# define GPIO_TIM6_CCP1_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTT | GPIO_PIN_1)
+# define GPIO_TIM6_CCP1_4 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTP | GPIO_PIN_1)
+# define GPIO_TIM7_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTC | GPIO_PIN_4)
+# define GPIO_TIM7_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTQ | GPIO_PIN_2)
+# define GPIO_TIM7_CCP0_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTT | GPIO_PIN_2)
+# define GPIO_TIM7_CCP1_1 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTC | GPIO_PIN_5)
+# define GPIO_TIM7_CCP1_2 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTQ | GPIO_PIN_3)
+# define GPIO_TIM7_CCP1_3 (GPIO_FUNC_PFIO | GPIO_ALT_3 | GPIO_PORTT | GPIO_PIN_3)
+
+# define GPIO_UART0_CTS_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTB | GPIO_PIN_4)
+# define GPIO_UART0_CTS_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTE | GPIO_PIN_6)
+# define GPIO_UART0_CTS_3 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTG | GPIO_PIN_4)
+# define GPIO_UART0_CTS_4 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTH | GPIO_PIN_1)
+# define GPIO_UART0_CTS_5 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTM | GPIO_PIN_4)
+# define GPIO_UART0_DCD_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTH | GPIO_PIN_2)
+# define GPIO_UART0_DCD_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTM | GPIO_PIN_5)
+# define GPIO_UART0_DCD_3 (GPIO_FUNC_PFINPUT | GPIO_ALT_2 | GPIO_PORTP | GPIO_PIN_3)
+# define GPIO_UART0_DSR_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTH | GPIO_PIN_3)
+# define GPIO_UART0_DSR_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTM | GPIO_PIN_6)
+# define GPIO_UART0_DSR_3 (GPIO_FUNC_PFINPUT | GPIO_ALT_2 | GPIO_PORTP | GPIO_PIN_4)
+# define GPIO_UART0_DTR_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTH | GPIO_PIN_4)
+# define GPIO_UART0_DTR_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTP | GPIO_PIN_2)
+# define GPIO_UART0_RI_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTH | GPIO_PIN_5)
+# define GPIO_UART0_RI_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTK | GPIO_PIN_7)
+# define GPIO_UART0_RI_3 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTM | GPIO_PIN_7)
+# define GPIO_UART0_RTS_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTB | GPIO_PIN_5)
+# define GPIO_UART0_RTS_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTE | GPIO_PIN_7)
+# define GPIO_UART0_RTS_3 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTG | GPIO_PIN_5)
+# define GPIO_UART0_RTS_4 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTH | GPIO_PIN_0)
+# define GPIO_UART0_RX (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_0)
+# define GPIO_UART0_TX (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_1)
+# define GPIO_UART1_CTS_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTN | GPIO_PIN_1)
+# define GPIO_UART1_CTS_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTP | GPIO_PIN_3)
+# define GPIO_UART1_DCD_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTE | GPIO_PIN_2)
+# define GPIO_UART1_DCD_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTN | GPIO_PIN_2)
+# define GPIO_UART1_DCD_3 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTP | GPIO_PIN_6)
+# define GPIO_UART1_DSR_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTE | GPIO_PIN_1)
+# define GPIO_UART1_DSR_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTN | GPIO_PIN_3)
+# define GPIO_UART1_DSR_3 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTS | GPIO_PIN_2)
+# define GPIO_UART1_DTR_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTE | GPIO_PIN_3)
+# define GPIO_UART1_DTR_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTN | GPIO_PIN_4)
+# define GPIO_UART1_DTR_3 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTQ | GPIO_PIN_6)
+# define GPIO_UART1_RI_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTE | GPIO_PIN_4)
+# define GPIO_UART1_RI_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTN | GPIO_PIN_5)
+# define GPIO_UART1_RI_3 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTQ | GPIO_PIN_7)
+# define GPIO_UART1_RTS_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTE | GPIO_PIN_0)
+# define GPIO_UART1_RTS_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTN | GPIO_PIN_0)
+# define GPIO_UART1_RTS_3 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTN | GPIO_PIN_7)
+# define GPIO_UART1_RX_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTB | GPIO_PIN_0)
+# define GPIO_UART1_RX_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTQ | GPIO_PIN_4)
+# define GPIO_UART1_RX_3 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTR | GPIO_PIN_5)
+# define GPIO_UART1_TX_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTB | GPIO_PIN_1)
+# define GPIO_UART1_TX_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTQ | GPIO_PIN_5)
+# define GPIO_UART1_TX_3 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTR | GPIO_PIN_6)
+# define GPIO_UART2_CTS_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTD | GPIO_PIN_7)
+# define GPIO_UART2_CTS_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTJ | GPIO_PIN_3)
+# define GPIO_UART2_CTS_3 (GPIO_FUNC_PFINPUT | GPIO_ALT_2 | GPIO_PORTN | GPIO_PIN_3)
+# define GPIO_UART2_RTS_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTD | GPIO_PIN_6)
+# define GPIO_UART2_RTS_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTJ | GPIO_PIN_2)
+# define GPIO_UART2_RTS_3 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTN | GPIO_PIN_2)
+# define GPIO_UART2_RX_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_6)
+# define GPIO_UART2_RX_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTD | GPIO_PIN_4)
+# define GPIO_UART2_TX_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_7)
+# define GPIO_UART2_TX_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTD | GPIO_PIN_5)
+# define GPIO_UART3_CTS_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTJ | GPIO_PIN_5)
+# define GPIO_UART3_CTS_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTP | GPIO_PIN_5)
+# define GPIO_UART3_CTS_3 (GPIO_FUNC_PFINPUT | GPIO_ALT_2 | GPIO_PORTN | GPIO_PIN_5)
+# define GPIO_UART3_RTS_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTJ | GPIO_PIN_4)
+# define GPIO_UART3_RTS_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTP | GPIO_PIN_4)
+# define GPIO_UART3_RTS_3 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTN | GPIO_PIN_4)
+# define GPIO_UART3_RX_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_4)
+# define GPIO_UART3_RX_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTJ | GPIO_PIN_0)
+# define GPIO_UART3_TX_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_5)
+# define GPIO_UART3_TX_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTJ | GPIO_PIN_1)
+# define GPIO_UART4_CTS_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTK | GPIO_PIN_3)
+# define GPIO_UART4_CTS_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_2 | GPIO_PORTN | GPIO_PIN_7)
+# define GPIO_UART4_CTS_3 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTJ | GPIO_PIN_7)
+# define GPIO_UART4_RTS_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTJ | GPIO_PIN_6)
+# define GPIO_UART4_RTS_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTK | GPIO_PIN_2)
+# define GPIO_UART4_RTS_3 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTN | GPIO_PIN_6)
+# define GPIO_UART4_RX_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_2)
+# define GPIO_UART4_RX_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTK | GPIO_PIN_0)
+# define GPIO_UART4_RX_3 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTR | GPIO_PIN_1)
+# define GPIO_UART4_TX_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_3)
+# define GPIO_UART4_TX_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTK | GPIO_PIN_1)
+# define GPIO_UART4_TX_3 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTR | GPIO_PIN_0)
+# define GPIO_UART5_RX_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_6)
+# define GPIO_UART5_RX_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTH | GPIO_PIN_6)
+# define GPIO_UART5_TX_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_7)
+# define GPIO_UART5_TX_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTH | GPIO_PIN_7)
+# define GPIO_UART6_RX (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTP | GPIO_PIN_0)
+# define GPIO_UART6_TX (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTP | GPIO_PIN_1)
+# define GPIO_UART7_RX_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_4)
+# define GPIO_UART7_RX_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_2 | GPIO_PORTH | GPIO_PIN_6)
+# define GPIO_UART7_TX_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_5)
+# define GPIO_UART7_TX_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_2 | GPIO_PORTH | GPIO_PIN_7)
+
+# define GPIO_USB0_CLK (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTB | GPIO_PIN_3)
+# define GPIO_USB0_D0 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTL | GPIO_PIN_0)
+# define GPIO_USB0_D1 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTL | GPIO_PIN_1)
+# define GPIO_USB0_D2 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTL | GPIO_PIN_2)
+# define GPIO_USB0_D3 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTL | GPIO_PIN_3)
+# define GPIO_USB0_D4 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTL | GPIO_PIN_4)
+# define GPIO_USB0_D5 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTL | GPIO_PIN_5)
+# define GPIO_USB0_D6 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTP | GPIO_PIN_5)
+# define GPIO_USB0_D7 (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTP | GPIO_PIN_4)
+# define GPIO_USB0_DIR (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTP | GPIO_PIN_3)
+# define GPIO_USB0_EPEN_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_11 | GPIO_PORTA | GPIO_PIN_7)
+# define GPIO_USB0_EPEN_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_5 | GPIO_PORTA | GPIO_PIN_6)
+# define GPIO_USB0_EPEN_3 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_5 | GPIO_PORTD | GPIO_PIN_6)
+# define GPIO_USB0_ID (GPIO_FUNC_ANINPUT | GPIO_PORTB | GPIO_PIN_0)
+# define GPIO_USB0_NXT (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTP | GPIO_PIN_2)
+# define GPIO_USB0_PFLT_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_5 | GPIO_PORTA | GPIO_PIN_7)
+# define GPIO_USB0_PFLT_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_5 | GPIO_PORTD | GPIO_PIN_7)
+# define GPIO_USB0_STP (GPIO_FUNC_PFIO | GPIO_ALT_13 | GPIO_PORTB | GPIO_PIN_2)
+# define GPIO_USB0_VBUS (GPIO_FUNC_ANIO | GPIO_PORTB | GPIO_PIN_1)
+
+# define GPIO_RTC_CLK_1 (GPIO_FUNC_PFIO | GPIO_ALT_5 | GPIO_PORTK | GPIO_PIN_7)
+# define GPIO_RTC_CLK_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTC | GPIO_PIN_5)
+# define GPIO_RTC_CLK_3 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTP | GPIO_PIN_3)
+
#else
# error "Unknown TIVA chip"
#endif
diff --git a/nuttx/arch/arm/src/tiva/chip/tm4c_vectors.h b/nuttx/arch/arm/src/tiva/chip/tm4c_vectors.h
index a1a0acf95..7322a300d 100644
--- a/nuttx/arch/arm/src/tiva/chip/tm4c_vectors.h
+++ b/nuttx/arch/arm/src/tiva/chip/tm4c_vectors.h
@@ -529,6 +529,147 @@ UNUSED(TIVA_RESERVED_128) /* Vector 128: Reserved */
UNUSED(TIVA_RESERVED_129) /* Vector 129: Reserved */
# endif /* CONFIG_ARMV7M_CMNVECTOR */
+#elif defined(CONFIG_ARCH_CHIP_TM4C1294NC)
+
+/* If the common ARMv7-M vector handling is used, then all it needs is the following
+ * definition that provides the number of supported vectors.
+ */
+
+# ifdef CONFIG_ARMV7M_CMNVECTOR
+
+/* Reserve 130 interrupt table entries for I/O interrupts. */
+
+ARMV7M_PERIPHERAL_INTERRUPTS 130
+
+# else
+
+VECTOR(tiva_gpioa, TIVA_IRQ_GPIOA) /* Vector 16: GPIO Port A */
+VECTOR(tiva_gpiob, TIVA_IRQ_GPIOB) /* Vector 17: GPIO Port B */
+VECTOR(tiva_gpioc, TIVA_IRQ_GPIOC) /* Vector 18: GPIO Port C */
+VECTOR(tiva_gpiod, TIVA_IRQ_GPIOD) /* Vector 19: GPIO Port D */
+
+VECTOR(tiva_gpioe, TIVA_IRQ_GPIOE) /* Vector 20: GPIO Port E */
+VECTOR(tiva_uart0, TIVA_IRQ_UART0) /* Vector 21: UART 0 */
+VECTOR(tiva_uart1, TIVA_IRQ_UART1) /* Vector 22: UART 1 */
+VECTOR(tiva_ssi0, TIVA_IRQ_SSI0) /* Vector 23: SSI 0 */
+VECTOR(tiva_i2c0, TIVA_IRQ_I2C0) /* Vector 24: I2C 0 */
+VECTOR(tiva_pwm0_fault, TIVA_IRQ_PWM0_FAULT) /* Vector 25: PWM0 Fault */
+VECTOR(tiva_pwm0_gen0, TIVA_IRQ_PWM0_GEN0) /* Vector 26: PWM0 Generator 0 */
+VECTOR(tiva_pwm0_gen1, TIVA_IRQ_PWM0_GEN1) /* Vector 27: PWM0 Generator 1 */
+VECTOR(tiva_pwm0_gen2, TIVA_IRQ_PWM0_GEN2) /* Vector 28: PWM0 Generator 2 */
+VECTOR(tiva_qei0, TIVA_IRQ_QEI0) /* Vector 29: QEI0 */
+
+VECTOR(tiva_adc0, TIVA_IRQ_ADC0) /* Vector 30: ADC Sequence 0 */
+VECTOR(tiva_adc1, TIVA_IRQ_ADC1) /* Vector 31: ADC Sequence 1 */
+VECTOR(tiva_adc2, TIVA_IRQ_ADC2) /* Vector 32: ADC Sequence 2 */
+VECTOR(tiva_adc3, TIVA_IRQ_ADC3) /* Vector 33: ADC Sequence 3 */
+VECTOR(tiva_wdog, TIVA_IRQ_WDOG) /* Vector 34: Watchdog Timers 0 and 1 */
+VECTOR(tiva_timer0a, TIVA_IRQ_TIMER0A) /* Vector 35: 16/32-Bit Timer 0 A */
+VECTOR(tiva_timer0b, TIVA_IRQ_TIMER0B) /* Vector 36: 16/32-Bit Timer 0 B */
+VECTOR(tiva_timer1a, TIVA_IRQ_TIMER1A) /* Vector 37: 16/32-Bit Timer 1 A */
+VECTOR(tiva_timer1b, TIVA_IRQ_TIMER1B) /* Vector 38: 16/32-Bit Timer 1 B */
+VECTOR(tiva_timer2a, TIVA_IRQ_TIMER2A) /* Vector 39: 16/32-Bit Timer 2 A */
+
+VECTOR(tiva_timer2b, TIVA_IRQ_TIMER2B) /* Vector 40: 16/32-Bit Timer 2 B */
+VECTOR(tiva_compare0, TIVA_IRQ_COMPARE0) /* Vector 41: Analog Comparator 0 */
+VECTOR(tiva_compare1, TIVA_IRQ_COMPARE1) /* Vector 42: Analog Comparator 1 */
+VECTOR(tiva_compare2, TIVA_IRQ_COMPARE2) /* Vector 43: Analog Comparator 2 */
+VECTOR(tiva_syscon, TIVA_IRQ_SYSCON) /* Vector 44: System Control */
+VECTOR(tiva_flashcon, TIVA_IRQ_FLASHCON) /* Vector 45: FLASH and EEPROM Control */
+VECTOR(tiva_gpiof, TIVA_IRQ_GPIOF) /* Vector 46: GPIO Port F */
+VECTOR(tiva_gpiog, TIVA_IRQ_GPIOG) /* Vector 47: GPIO Port G */
+VECTOR(tiva_gpioh, TIVA_IRQ_GPIOH) /* Vector 48: GPIO Port H */
+VECTOR(tiva_uart2, TIVA_IRQ_UART2) /* Vector 49: UART 2 */
+
+VECTOR(tiva_ssi1, TIVA_IRQ_SSI1) /* Vector 50: SSI 1 */
+VECTOR(tiva_timer3a, TIVA_IRQ_TIMER3A) /* Vector 51: 16/32-Bit Timer 3 A */
+VECTOR(tiva_timer3b, TIVA_IRQ_TIMER3B) /* Vector 52: 16/32-Bit Timer 3 B */
+VECTOR(tiva_i2c1, TIVA_IRQ_I2C1) /* Vector 53: I2C 1 */
+VECTOR(tiva_can0, TIVA_IRQ_CAN0) /* Vector 54: CAN 0 */
+VECTOR(tiva_can1, TIVA_IRQ_CAN1) /* Vector 55: CAN 1 */
+VECTOR(tiva_ethcon, TIVA_IRQ_ETHCON) /* Vector 56: Ethernet MAC */
+VECTOR(tiva_hibernate, TIVA_IRQ_HIBERNATE) /* Vector 57: Hibernation Module */
+VECTOR(tiva_usb, TIVA_IRQ_USB) /* Vector 58: USB MAC */
+VECTOR(tiva_pwm0_gen3, TIVA_IRQ_PWM0_GEN3) /* Vector 59: PWM0 Generator 3 */
+
+VECTOR(tiva_udmasoft, TIVA_IRQ_UDMASOFT) /* Vector 60: uDMA Software */
+VECTOR(tiva_udmaerro, TIVA_IRQ_UDMAERROR) /* Vector 61: uDMA Error */
+VECTOR(tiva_adc1_0, TIVA_IRQ_ADC1_0) /* Vector 62: ADC1 Sequence 0 */
+VECTOR(tiva_adc1_1, TIVA_IRQ_ADC1_1) /* Vector 63: ADC1 Sequence 1 */
+VECTOR(tiva_adc1_2, TIVA_IRQ_ADC1_2) /* Vector 64: ADC1 Sequence 2 */
+VECTOR(tiva_adc1_3, TIVA_IRQ_ADC1_3) /* Vector 65: ADC1 Sequence 3 */
+VECTOR(tiva_epi0, TIVA_IRQ_EPI0) /* Vector 66: ADC1 Sequence 3 */
+VECTOR(tiva_gpioj, TIVA_IRQ_GPIOJ) /* Vector 67: GPIO Port J */
+VECTOR(tiva_gpiok, TIVA_IRQ_GPIOK) /* Vector 68: GPIO Port K */
+VECTOR(tiva_gpiol, TIVA_IRQ_GPIOL) /* Vector 69: GPIO Port L */
+
+VECTOR(tiva_ssi2, TIVA_IRQ_SSI2) /* Vector 70: SSI 2 */
+VECTOR(tiva_ssi3, TIVA_IRQ_SSI3) /* Vector 71: SSI 3 */
+VECTOR(tiva_uart3, TIVA_IRQ_UART3) /* Vector 72: UART 3 */
+VECTOR(tiva_uart4, TIVA_IRQ_UART4) /* Vector 73: UART 4 */
+VECTOR(tiva_uart5, TIVA_IRQ_UART5) /* Vector 74: UART 5 */
+VECTOR(tiva_uart6, TIVA_IRQ_UART6) /* Vector 75: UART 6 */
+VECTOR(tiva_uart7, TIVA_IRQ_UART7) /* Vector 76: UART 7 */
+VECTOR(tiva_i2c2, TIVA_IRQ_I2C2) /* Vector 77: I2C 2 */
+VECTOR(tiva_i2c3, TIVA_IRQ_I2C3) /* Vector 78: I2C 3 */
+VECTOR(tiva_timer4a, TIVA_IRQ_TIMER4A) /* Vector 79: 16/32-Bit Timer 4 A */
+
+VECTOR(tiva_timer4b, TIVA_IRQ_TIMER4B) /* Vector 80: 16/32-Bit Timer 4 B */
+VECTOR(tiva_timer5a, TIVA_IRQ_TIMER5A) /* Vector 81: 16/32-Bit Timer 5 A */
+VECTOR(tiva_timer5b, TIVA_IRQ_TIMER5B) /* Vector 82: 16/32-Bit Timer 5 B */
+VECTOR(tiva_float, TIVA_IRQ_FLOAT) /* Vector 83: Floating point exception */
+UNUSED(TIVA_RESERVED_84) /* Vector 84: Reserved */
+UNUSED(TIVA_RESERVED_85) /* Vector 85: Reserved */
+VECTOR(tiva_i2c4, TIVA_IRQ_I2C4) /* Vector 86: I2C 2 */
+VECTOR(tiva_i2c5, TIVA_IRQ_I2C5) /* Vector 87: I2C 3 */
+VECTOR(tiva_gpiom, TIVA_IRQ_GPIOM) /* Vector 88: GPIO Port M */
+VECTOR(tiva_gpion, TIVA_IRQ_GPION) /* Vector 89: GPIO Port N */
+
+UNUSED(TIVA_RESERVED_90) /* Vector 90: Reserved */
+VECTOR(tiva_tamper, TIVA_IRQ_TAMPER) /* Vector 91: Tamper */
+VECTOR(tiva_gpiop, TIVA_IRQ_GPIOP) /* Vector 92: GPIO Port P (Summary or P0) */
+VECTOR(tiva_gpiop1, TIVA_IRQ_GPIOP1) /* Vector 93: GPIO Port P1 */
+VECTOR(tiva_gpiop2, TIVA_IRQ_GPIOP2) /* Vector 94: GPIO Port P2 */
+VECTOR(tiva_gpiop3, TIVA_IRQ_GPIOP3) /* Vector 95: GPIO Port P3 */
+VECTOR(tiva_gpiop4, TIVA_IRQ_GPIOP4) /* Vector 96: GPIO Port P4 */
+VECTOR(tiva_gpiop5, TIVA_IRQ_GPIOP5) /* Vector 97: GPIO Port P5 */
+VECTOR(tiva_gpiop6, TIVA_IRQ_GPIOP6) /* Vector 98: GPIO Port P6 */
+VECTOR(tiva_gpiop7, TIVA_IRQ_GPIOP7) /* Vector 99: GPIO Port P7 */
+
+VECTOR(tiva_gpioq, TIVA_IRQ_GPIOQ) /* Vector 100: GPIO Port Q (Summary or Q0) */
+VECTOR(tiva_gpioq1, TIVA_IRQ_GPIOQ1) /* Vector 101: GPIO Port Q1 */
+VECTOR(tiva_gpioq2, TIVA_IRQ_GPIOQ2) /* Vector 102: GPIO Port Q2 */
+VECTOR(tiva_gpioq3, TIVA_IRQ_GPIOQ3) /* Vector 103: GPIO Port Q3 */
+VECTOR(tiva_gpioq4, TIVA_IRQ_GPIOQ4) /* Vector 104: GPIO Port Q4 */
+VECTOR(tiva_gpioq5, TIVA_IRQ_GPIOQ5) /* Vector 105: GPIO Port Q5 */
+VECTOR(tiva_gpioq6, TIVA_IRQ_GPIOQ6) /* Vector 106: GPIO Port Q6 */
+VECTOR(tiva_gpioq7, TIVA_IRQ_GPIOQ7) /* Vector 107: GPIO Port Q7 */
+UNUSED(TIVA_RESERVED_108) /* Vector 108: Reserved */
+UNUSED(TIVA_RESERVED_109) /* Vector 109: Reserved */
+
+UNUSED(TIVA_RESERVED_110) /* Vector 110: Reserved */
+UNUSED(TIVA_RESERVED_111) /* Vector 111: Reserved */
+UNUSED(TIVA_RESERVED_112) /* Vector 112: Reserved */
+UNUSED(TIVA_RESERVED_113) /* Vector 113: Reserved */
+VECTOR(tiva_timer6a, TIVA_IRQ_TIMER6A) /* Vector 114: 16/32-Bit Timer 6 A */
+VECTOR(tiva_timer6b, TIVA_IRQ_TIMER6B) /* Vector 115: 16/32-Bit Timer 6 B */
+VECTOR(tiva_timer7a, TIVA_IRQ_TIMER7A) /* Vector 116: 16/32-Bit Timer 7 A */
+VECTOR(tiva_timer7b, TIVA_IRQ_TIMER7B) /* Vector 117: 16/32-Bit Timer 7 B */
+VECTOR(tiva_i2c6, TIVA_IRQ_I2C6) /* Vector 118: I2C 6 */
+VECTOR(tiva_i2c7, TIVA_IRQ_I2C7) /* Vector 119: I2C 7 */
+
+UNUSED(TIVA_RESERVED_120) /* Vector 120: Reserved */
+UNUSED(TIVA_RESERVED_121) /* Vector 121: Reserved */
+UNUSED(TIVA_RESERVED_122) /* Vector 122: Reserved */
+UNUSED(TIVA_RESERVED_123) /* Vector 123: Reserved */
+UNUSED(TIVA_RESERVED_124) /* Vector 124: Reserved */
+VECTOR(tiva_i2c8, TIVA_IRQ_I2C8) /* Vector 125: I2C 8 */
+VECTOR(tiva_i2c9, TIVA_IRQ_I2C9) /* Vector 126: I2C 9 */
+UNUSED(TIVA_RESERVED_127) /* Vector 127: Reserved */
+UNUSED(TIVA_RESERVED_128) /* Vector 128: Reserved */
+UNUSED(TIVA_RESERVED_129) /* Vector 129: Reserved */
+
+# endif /* CONFIG_ARMV7M_CMNVECTOR */
#else
# error "Vectors not known for this Tiva chip"
#endif
diff --git a/nuttx/configs/Kconfig b/nuttx/configs/Kconfig
index dddbabfec..f61b34000 100644
--- a/nuttx/configs/Kconfig
+++ b/nuttx/configs/Kconfig
@@ -851,6 +851,14 @@ config ARCH_BOARD_TM4C123G_LAUNCHPAD
---help---
Tiva TM4C123G LaunchPad.
+config ARCH_BOARD_TM4C1294_LAUNCHPAD
+ bool "Tiva EK-TM4C1294XL LaunchPad"
+ depends on ARCH_CHIP_TM4C1294NC
+ select ARCH_HAVE_LEDS
+ select ARCH_HAVE_BUTTONS
+ ---help---
+ Tiva EK-TM4C1294XL LaunchPad.
+
config ARCH_BOARD_CC3200_LAUNCHPAD
bool "Tiva CC3200 Launchpad"
depends on ARCH_CHIP_CC3200
@@ -1123,6 +1131,7 @@ config ARCH_BOARD
default "sure-pic32mx" if ARCH_BOARD_SUREPIC32MX
default "teensy" if ARCH_BOARD_TEENSY
default "tm4c123g-launchpad" if ARCH_BOARD_TM4C123G_LAUNCHPAD
+ default "tm4c1294-launchpad" if ARCH_BOARD_TM4C1294_LAUNCHPAD
default "cc3200-launchpad" if ARCH_BOARD_CC3200_LAUNCHPAD
default "twr-k60n512" if ARCH_BOARD_TWR_K60N512
default "ubw32" if ARCH_BOARD_UBW32
diff --git a/nuttx/configs/dk-tm4c129x/README.txt b/nuttx/configs/dk-tm4c129x/README.txt
index a69bca37f..a8bd9d126 100644
--- a/nuttx/configs/dk-tm4c129x/README.txt
+++ b/nuttx/configs/dk-tm4c129x/README.txt
@@ -995,7 +995,7 @@ Where <subdir> is one of the following:
and Telnet again works from the host:
- telent 10.0.0.2
+ telnet 10.0.0.2
3. You can enable IPv6 autonomous address configuration with the
following changes to the configuration:
diff --git a/nuttx/configs/dk-tm4c129x/tools/dk-tm4c129x.cfg b/nuttx/configs/dk-tm4c129x/tools/dk-tm4c129x.cfg
index 64802e1c6..98d7dcc35 100644
--- a/nuttx/configs/dk-tm4c129x/tools/dk-tm4c129x.cfg
+++ b/nuttx/configs/dk-tm4c129x/tools/dk-tm4c129x.cfg
@@ -6,7 +6,7 @@
source [find interface/ti-icdi.cfg]
-set WORKAREASIZE 0x40000 # RAM size
+set WORKAREASIZE 0x40000
set CHIPNAME tm4c129xnczad
source [find target/stellaris_icdi.cfg]
diff --git a/nuttx/configs/tm4c1294-launchpad/Kconfig b/nuttx/configs/tm4c1294-launchpad/Kconfig
new file mode 100644
index 000000000..5237d3b6b
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/Kconfig
@@ -0,0 +1,75 @@
+#
+# For a description of the syntax of this configuration file,
+# see misc/tools/kconfig-language.txt.
+#
+
+if ARCH_BOARD_TM4C1294_LAUNCHPAD
+if TIMER && TIVA_TIMER32_PERIODIC
+
+config TM4C1294_LAUNCHPAD_TIMER
+ bool
+ default n
+
+choice
+ prompt "Timer driver selection"
+ default TM4C1294_LAUNCHPAD_TIMER_NONE
+
+config TM4C1294_LAUNCHPAD_TIMER_NONE
+ bool "None"
+
+config TM4C1294_LAUNCHPAD_TIMER0
+ bool "Timer 0"
+ depends on TIVA_TIMER0
+ select TM4C1294_LAUNCHPAD_TIMER
+
+config TM4C1294_LAUNCHPAD_TIMER1
+ bool "Timer 1"
+ depends on TIVA_TIMER1
+ select TM4C1294_LAUNCHPAD_TIMER
+
+config TM4C1294_LAUNCHPAD_TIMER2
+ bool "Timer 2"
+ depends on TIVA_TIMER2
+ select TM4C1294_LAUNCHPAD_TIMER
+
+config TM4C1294_LAUNCHPAD_TIMER3
+ bool "Timer 3"
+ depends on TIVA_TIMER3
+ select TM4C1294_LAUNCHPAD_TIMER
+
+config TM4C1294_LAUNCHPAD_TIMER4
+ bool "Timer 4"
+ depends on TIVA_TIMER4
+ select TM4C1294_LAUNCHPAD_TIMER
+
+config TM4C1294_LAUNCHPAD_TIMER5
+ bool "Timer 5"
+ depends on TIVA_TIMER5
+ select TM4C1294_LAUNCHPAD_TIMER
+
+config TM4C1294_LAUNCHPAD_TIMER6
+ bool "Timer 6"
+ depends on TIVA_TIMER6
+ select TM4C1294_LAUNCHPAD_TIMER
+
+config TM4C1294_LAUNCHPAD_TIMER7
+ bool "Timer 7"
+ depends on TIVA_TIMER7
+ select TM4C1294_LAUNCHPAD_TIMER
+
+endchoice # Timer driver selection
+
+if TM4C1294_LAUNCHPAD_TIMER
+
+config TM4C1294_LAUNCHPAD_TIMER_DEVNAME
+ string "Timer device name"
+ default "/dev/timer0"
+
+config TM4C1294_LAUNCHPAD_TIMER_ALTCLK
+ bool "Use alternate clock source"
+ default n
+ depends on EXPERIMENTAL
+
+endif # TM4C1294_LAUNCHPAD_TIMER
+endif # TIVA_TIMER32_PERIODIC
+endif # ARCH_BOARD_TM4C1294_LAUNCHPAD
diff --git a/nuttx/configs/tm4c1294-launchpad/include/board.h b/nuttx/configs/tm4c1294-launchpad/include/board.h
new file mode 100644
index 000000000..2bf6353a7
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/include/board.h
@@ -0,0 +1,298 @@
+/************************************************************************************
+ * configs/tm4c1294-launchpad/include/board.h
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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 __CONFIGS_TM4C1294_LAUNCHPAD_INCLUDE_BOARD_H
+#define __CONFIGS_TM4C1294_LAUNCHPAD_INCLUDE_BOARD_H
+
+/************************************************************************************
+ * Included Files
+ ************************************************************************************/
+
+#ifndef __ASSEMBLY__
+# include <stdbool.h>
+#endif
+
+/************************************************************************************
+ * Pre-processor Definitions
+ ************************************************************************************/
+
+/* Clocking *************************************************************************/
+
+/* Crystals on-board the EK-TM4C1294XL include:
+ *
+ * 1. 25.0MHz (Y2) is connected to OSC0/1 pins and is used as the run mode input to
+ * the PLL.
+ * 2. 32.768kHz (Y3) connected to XOSC0/1 and clocks the hibernation module.
+ */
+
+#define SYSCON_RCC_XTAL SYSCON_RCC_XTAL16000KHZ /* On-board crystal is 25 MHz */
+#define XTAL_FREQUENCY 25000000
+
+/* Frequencies of other clock sources */
+
+#define PIOSC_FREQUENCY 16000000 /* Precision internal oscillator */
+#define RTCOSC_FREQUENCY 32768 /* Hibernation Module RTC Oscillator */
+#define LFIOSC_FREQUENCY 33000 /* Low frequency internal oscillator */
+
+/* The PLL generates Fvco according to the following formulae. The input clock to
+ * the PLL may be either the external crystal (Fxtal) or PIOSC (Fpiosc). This
+ * logic supports only the external crystal as the PLL source clock.
+ *
+ * Fin = Fxtal / (Q + 1 )(N + 1) -OR- Fpiosc / (Q + 1)(N + 1)
+ * Mdiv = Mint + (MFrac / 1024)
+ * Fvco = Fin * Mdiv
+ *
+ * Where the register fields Q and N actually hold (Q-1) and (N-1). The following
+ * setup then generates Fvco = 480MHz:
+ *
+ * Fin = 25 MHz / 1 / 5 = 5 MHz
+ * Mdiv = 96
+ * Fvco = 480
+ */
+
+#define BOARD_PLL_MINT 96 /* Integer part of PLL M value */
+#define BOARD_PLL_MFRAC 0 /* Fractional part of PLL M value */
+#define BOARD_PLL_N 5 /* PLL N value */
+#define BOARD_PLL_Q 1 /* PLL Q value */
+
+#define BOARD_FVCO_FREQUENCY 480000000 /* Resulting Fvco */
+
+/* When the PLL is active, the system clock frequency (SysClk) is calculated using
+ * the following equation:
+ *
+ * SysClk = Fvco/ (sysdiv + 1)
+ *
+ * The following setup generates Sysclk = 120MHz:
+ */
+
+#define BOARD_PLL_SYSDIV 4 /* Sysclk = Fvco / 4 = 120MHz */
+#define SYSCLK_FREQUENCY 120000000 /* Resulting SysClk frequency */
+
+/* Alternate Clock (ALTCLK)
+ *
+ * The ALTCLK provides a clock source of numerous frequencies to the general-purpose
+ * timer, SSI, and UART modules. The default source for the ALTCLK is the Precision
+ * Internal Oscillator (PIOSC). The Hibernation Real-time Clock (RTCOSC) and Low
+ * Frequency Internal Oscillator (LFIOSC) are alternatives. If the RTCOSC Output is
+ * selected, the clock source must also be enabled in the Hibernation module.
+ */
+
+#define BOARD_ALTCLKCFG SYSCON_ALTCLKCFG_ALTCLK_PIOSC
+#define ALTCLK_FREQUENCY PIOSC_FREQUENCY
+
+/* LED definitions ******************************************************************/
+/* The EK-TM4C1294XL has a four green LEDs.
+ *
+ * --- ------------
+ * Pin Pin Function
+ * --- ------------
+ * PN1 Green LED D1
+ * PN0 Green LED D2
+ * PF4 Green LED D3
+ * PF0 Green LED D4
+ * --- ------------
+ */
+
+/* LED index values for use with tiva_setled() */
+
+#define BOARD_LED_D1 0
+#define BOARD_LED_D2 1
+#define BOARD_LED_D3 2
+#define BOARD_LED_D4 3
+#define BOARD_NLEDS 4
+
+/* LED bits for use with tiva_setleds() */
+
+#define BOARD_LED_D1_BIT (1 << BOARD_LED_D1)
+#define BOARD_LED_D2_BIT (1 << BOARD_LED_D2)
+#define BOARD_LED_D3_BIT (1 << BOARD_LED_D3)
+#define BOARD_LED_D4_BIT (1 << BOARD_LED_D4)
+
+/* If CONFIG_ARCH_LEDS is defined, then automated support for the EK-TM4C1294XL LED
+ * will be included in the build:
+ */
+ /* LED1 LED1 LED2 LED3 */
+#define LED_STARTED 0 /* OFF OFF ON OFF */
+#define LED_HEAPALLOCATE 1 /* NC NC NC OFF */
+#define LED_IRQSENABLED 1 /* NC NC NC OFF */
+#define LED_STACKCREATED 2 /* OFF ON OFF OFF */
+#define LED_INIRQ 1 /* NC NC NC OFF */
+#define LED_SIGNAL 1 /* NC NC NC OFF */
+#define LED_ASSERTION 1 /* NC NC NC OFF */
+#define LED_PANIC 3 /* ON OFF OFF OFF (flashing 2Hz) */
+
+/* Button definitions ***************************************************************/
+/* There are four push buttons on the board. Two of them are user controllable.
+ * The others are RESET and WAKE
+ *
+ * --- ------------
+ * Pin Pin Function
+ * --- ------------
+ * PJ0 USR_SW1
+ * PJ1 USR_SW2
+ * --- ------------
+ */
+
+#define BUTTON_SW1 0
+#define BUTTON_SW2 1
+#define NUM_BUTTONS 2
+
+#define BUTTON_SW1_BIT (1 << BUTTON_SW1)
+#define BUTTON_SW2_BIT (1 << BUTTON_SW2)
+
+/* Pin Multiplexing Disambiguation **************************************************/
+/* UARTs
+ *
+ * UART0: PA0-1 (fixed configuration)
+ * UART3: PJ0-1 to EM_TX/EM_RX or BOOSTER_PACK2_RX/BOOSTER_PACK2_TX(Depending
+ * on J12/J13)
+ * UART5: PH6-7 to BOOSTER_PACK1_RX/BOOSTER_PACK1_TX
+ */
+
+#define GPIO_UART3_RX GPIO_UART3_RX_2
+#define GPIO_UART3_TX GPIO_UART3_TX_2
+
+#define GPIO_UART5_RX GPIO_UART5_RX_2
+#define GPIO_UART5_TX GPIO_UART5_TX_2
+
+/* SSI:
+ *
+ * SSI0: PA2-5 are used for SSI0 to the second booster pack (fixed configuration)
+ * SSI3: PF0/PF4-5/PH4/PQ0-2 are used for the SPI flash (on-board and SD card).
+ * PH4 selects the SD card and PQ1 selects the on-board SPI flash.
+ */
+
+#define GPIO_SSI3_CLK GPIO_SSI3_CLK_2
+#define GPIO_SSI3_FSS GPIO_SSI3_FSS_2
+#define GPIO_SSI3_XDAT0 GPIO_SSI3_XDAT0_2
+#define GPIO_SSI3_XDAT1 GPIO_SSI3_XDAT1_1
+#define GPIO_SSI3_XDAT2 GPIO_SSI3_XDAT2_1
+#define GPIO_SSI3_XDAT3 GPIO_SSI3_XDAT3_1
+
+/* I2C:
+ *
+ * I2C3: PG4-5 are provide to the BoostPack 1 interface
+ * I2C7: PA4-5 are provide to the BoostPack 2 interface
+ * I2C6: PB6-7 are used for I2C to the TMP100 and the EM connector.
+ * J18 and J20 must be closed to connect the TMP100.
+ * I2C address is 0x4A
+ */
+
+#define GPIO_I2C3_SCL GPIO_I2C3_SCL_1
+#define GPIO_I2C3_SDA GPIO_I2C3_SDA_1
+#define GPIO_I2C7_SCL GPIO_I2C7_SCL_1
+#define GPIO_I2C7_SDA GPIO_I2C7_SDA_1
+#define GPIO_I2C6_SCL GPIO_I2C6_SCL_2
+#define GPIO_I2C6_SDA GPIO_I2C6_SDA_2
+
+/* USB:
+ *
+ * PB0-1/PD6-7/PL6-7 are used for USB (Only PD6-7 are not fixed configuration)
+ */
+
+#define GPIO_USB0_EPEN GPIO_USB0_EPEN_3
+#define GPIO_USB0_PFLT GPIO_USB0_PFLT_2
+
+/* Ethernet LEDs
+ *
+ * PF1/PK4/PK6 are used for Ethernet LEDs.
+ * PK4/EN0RXD3/LED0
+ * PK6/EN0TXD2/LED1
+ * PF1/LED2
+ */
+
+# define GPIO_EN0_LED0 GPIO_EN0_LED0_2
+# define GPIO_EN0_LED1 GPIO_EN0_LED1_2
+# define GPIO_EN0_LED2 GPIO_EN0_LED2_1
+
+/* LCD
+ *
+ * PF6-7/PJ6/PS4-5/PR0-7 are used for the LCD (fixed configuration).
+ */
+
+/************************************************************************************
+ * Public Function Prototypes
+ ************************************************************************************/
+
+#ifndef __ASSEMBLY__
+
+/************************************************************************************
+ * Name: tiva_boardinitialize
+ *
+ * Description:
+ * All Tiva architectures must provide the following entry point. This entry
+ * point is called early in the initialization -- after all memory has been
+ * configured and mapped but before any devices have been initialized.
+ *
+ ************************************************************************************/
+
+void tiva_boardinitialize(void);
+
+/************************************************************************************
+ * Name: tiva_ledinit, tiva_setled, and tiva_setleds
+ *
+ * Description:
+ * If CONFIG_ARCH_LEDS is defined, then NuttX will control the on-board LED. If
+ * CONFIG_ARCH_LEDS is not defined, then the following interfaces are available to
+ * control the LEDs from user applications.
+ *
+ ************************************************************************************/
+
+#ifndef CONFIG_ARCH_LEDS
+void tiva_ledinit(void);
+void tiva_setled(int led, bool ledon);
+void tiva_setleds(uint8_t ledset);
+#endif
+
+/************************************************************************************
+ * Name: tiva_tmp100_initialize
+ *
+ * Description:
+ * Initialize and register the TMP-100 Temperature Sensor driver.
+ *
+ * Input parameters:
+ * devpath - The full path to the driver to register. E.g., "/dev/temp0"
+ *
+ * Returned Value:
+ * Zero (OK) on success; a negated errno value on failure.
+ *
+ ************************************************************************************/
+
+#if defined(CONFIG_I2C) && defined(CONFIG_I2C_LM75) && defined(CONFIG_TIVA_I2C6)
+int tiva_tmp100_initialize(FAR const char *devpath);
+#endif
+
+#endif /* __ASSEMBLY__ */
+#endif /* __CONFIGS_TM4C1294_LAUNCHPAD_INCLUDE_BOARD_H */
diff --git a/nuttx/configs/tm4c1294-launchpad/ipv6/Make.defs b/nuttx/configs/tm4c1294-launchpad/ipv6/Make.defs
new file mode 100644
index 000000000..918bf985f
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/ipv6/Make.defs
@@ -0,0 +1,110 @@
+############################################################################
+# configs/dk-tm4c129x/ipv6/Make.defs
+#
+# Copyright (C) 2015 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# 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.
+#
+############################################################################
+
+include ${TOPDIR}/.config
+include ${TOPDIR}/tools/Config.mk
+include ${TOPDIR}/arch/arm/src/armv7-m/Toolchain.defs
+
+ifeq ($(WINTOOL),y)
+ # Windows-native toolchains
+ DIRLINK = $(TOPDIR)/tools/copydir.sh
+ DIRUNLINK = $(TOPDIR)/tools/unlink.sh
+ MKDEP = $(TOPDIR)/tools/mknulldeps.sh
+ ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
+ ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
+else
+ # Linux/Cygwin-native toolchain
+ MKDEP = $(TOPDIR)/tools/mkdeps.sh
+ ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
+ ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
+endif
+
+CC = $(CROSSDEV)gcc
+CXX = $(CROSSDEV)g++
+CPP = $(CROSSDEV)gcc -E
+LD = $(CROSSDEV)ld
+AR = $(CROSSDEV)ar rcs
+NM = $(CROSSDEV)nm
+OBJCOPY = $(CROSSDEV)objcopy
+OBJDUMP = $(CROSSDEV)objdump
+
+ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
+ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
+
+ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
+ ARCHOPTIMIZATION = -g
+endif
+
+ifneq ($(CONFIG_DEBUG_NOOPT),y)
+ ARCHOPTIMIZATION += $(MAXOPTIMIZATION) -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
+endif
+
+ARCHCFLAGS = -fno-builtin
+ARCHCXXFLAGS = -fno-builtin -fno-exceptions
+ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow
+ARCHWARNINGSXX = -Wall -Wshadow
+ARCHDEFINES =
+ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10
+
+CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
+CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS)
+CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
+CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS)
+CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
+AFLAGS = $(CFLAGS) -D__ASSEMBLY__
+
+NXFLATLDFLAGS1 = -r -d -warn-common
+NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-pcrel.ld -no-check-sections
+LDNXFLATFLAGS = -e main -s 2048
+
+OBJEXT = .o
+LIBEXT = .a
+EXEEXT =
+
+ifneq ($(CROSSDEV),arm-nuttx-elf-)
+ LDFLAGS += -nostartfiles -nodefaultlibs
+endif
+ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
+ LDFLAGS += -g
+endif
+
+
+HOSTCC = gcc
+HOSTINCLUDES = -I.
+HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
+HOSTLDFLAGS =
+
diff --git a/nuttx/configs/tm4c1294-launchpad/ipv6/defconfig b/nuttx/configs/tm4c1294-launchpad/ipv6/defconfig
new file mode 100644
index 000000000..e45b07c55
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/ipv6/defconfig
@@ -0,0 +1,1153 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Nuttx/ Configuration
+#
+
+#
+# Build Setup
+#
+# CONFIG_EXPERIMENTAL is not set
+# CONFIG_DEFAULT_SMALL is not set
+CONFIG_HOST_LINUX=y
+# CONFIG_HOST_OSX is not set
+# CONFIG_HOST_WINDOWS is not set
+# CONFIG_HOST_OTHER is not set
+# CONFIG_WINDOWS_NATIVE is not set
+# CONFIG_WINDOWS_CYGWIN is not set
+# CONFIG_WINDOWS_MSYS is not set
+# CONFIG_WINDOWS_OTHER is not set
+
+#
+# Build Configuration
+#
+CONFIG_APPS_DIR="../apps"
+CONFIG_BUILD_FLAT=y
+# CONFIG_BUILD_2PASS is not set
+
+#
+# Binary Output Formats
+#
+# CONFIG_RRLOAD_BINARY is not set
+# CONFIG_INTELHEX_BINARY is not set
+# CONFIG_MOTOROLA_SREC is not set
+CONFIG_RAW_BINARY=y
+# CONFIG_UBOOT_UIMAGE is not set
+
+#
+# Customize Header Files
+#
+# CONFIG_ARCH_STDINT_H is not set
+# CONFIG_ARCH_STDBOOL_H is not set
+# CONFIG_ARCH_MATH_H is not set
+# CONFIG_ARCH_FLOAT_H is not set
+# CONFIG_ARCH_STDARG_H is not set
+
+#
+# Debug Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_ARCH_HAVE_HEAPCHECK is not set
+CONFIG_ARCH_HAVE_STACKCHECK=y
+# CONFIG_STACK_COLORATION is not set
+# CONFIG_DEBUG_SYMBOLS is not set
+CONFIG_ARCH_HAVE_CUSTOMOPT=y
+# CONFIG_DEBUG_NOOPT is not set
+# CONFIG_DEBUG_CUSTOMOPT is not set
+CONFIG_DEBUG_FULLOPT=y
+
+#
+# System Type
+#
+CONFIG_ARCH_ARM=y
+# CONFIG_ARCH_AVR is not set
+# CONFIG_ARCH_HC is not set
+# CONFIG_ARCH_MIPS is not set
+# CONFIG_ARCH_RGMP is not set
+# CONFIG_ARCH_SH is not set
+# CONFIG_ARCH_SIM is not set
+# CONFIG_ARCH_X86 is not set
+# CONFIG_ARCH_Z16 is not set
+# CONFIG_ARCH_Z80 is not set
+CONFIG_ARCH="arm"
+
+#
+# ARM Options
+#
+# CONFIG_ARCH_CHIP_A1X is not set
+# CONFIG_ARCH_CHIP_C5471 is not set
+# CONFIG_ARCH_CHIP_CALYPSO is not set
+# CONFIG_ARCH_CHIP_DM320 is not set
+# CONFIG_ARCH_CHIP_EFM32 is not set
+# CONFIG_ARCH_CHIP_IMX is not set
+# CONFIG_ARCH_CHIP_KINETIS is not set
+# CONFIG_ARCH_CHIP_KL is not set
+# CONFIG_ARCH_CHIP_LM is not set
+CONFIG_ARCH_CHIP_TIVA=y
+# CONFIG_ARCH_CHIP_LPC17XX is not set
+# CONFIG_ARCH_CHIP_LPC214X is not set
+# CONFIG_ARCH_CHIP_LPC2378 is not set
+# CONFIG_ARCH_CHIP_LPC31XX is not set
+# CONFIG_ARCH_CHIP_LPC43XX is not set
+# CONFIG_ARCH_CHIP_NUC1XX is not set
+# CONFIG_ARCH_CHIP_SAMA5 is not set
+# CONFIG_ARCH_CHIP_SAMD is not set
+# CONFIG_ARCH_CHIP_SAM34 is not set
+# CONFIG_ARCH_CHIP_STM32 is not set
+# CONFIG_ARCH_CHIP_STR71X is not set
+# CONFIG_ARCH_ARM7TDMI is not set
+# CONFIG_ARCH_ARM926EJS is not set
+# CONFIG_ARCH_ARM920T is not set
+# CONFIG_ARCH_CORTEXM0 is not set
+# CONFIG_ARCH_CORTEXM3 is not set
+CONFIG_ARCH_CORTEXM4=y
+# CONFIG_ARCH_CORTEXA5 is not set
+# CONFIG_ARCH_CORTEXA8 is not set
+CONFIG_ARCH_FAMILY="armv7-m"
+CONFIG_ARCH_CHIP="tiva"
+# CONFIG_ARMV7M_USEBASEPRI is not set
+CONFIG_ARCH_HAVE_CMNVECTOR=y
+# CONFIG_ARMV7M_CMNVECTOR is not set
+CONFIG_ARCH_HAVE_FPU=y
+# CONFIG_ARCH_FPU is not set
+# CONFIG_ARMV7M_MPU is not set
+
+#
+# ARMV7M Configuration Options
+#
+# CONFIG_ARMV7M_TOOLCHAIN_ATOLLIC is not set
+# CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT is not set
+# CONFIG_ARMV7M_TOOLCHAIN_CODEREDL is not set
+# CONFIG_ARMV7M_TOOLCHAIN_CODEREDW is not set
+# CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL is not set
+# CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYW is not set
+# CONFIG_ARMV7M_TOOLCHAIN_DEVKITARM is not set
+CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y
+# CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIW is not set
+# CONFIG_ARMV7M_TOOLCHAIN_RAISONANCE is not set
+# CONFIG_ARMV7M_ITMSYSLOG is not set
+
+#
+# Tiva/Stellaris Configuration Options
+#
+# CONFIG_ARCH_CHIP_TM4C123GH6ZRB is not set
+# CONFIG_ARCH_CHIP_TM4C123GH6PMI is not set
+CONFIG_ARCH_CHIP_TM4C1294NC=y
+# CONFIG_ARCH_CHIP_TM4C129XNC is not set
+# CONFIG_ARCH_CHIP_CC3200 is not set
+CONFIG_ARCH_CHIP_TM4C129=y
+CONFIG_ARCH_CHIP_TM4C=y
+# CONFIG_TIVA_BOARD_EARLYINIT is not set
+
+#
+# Tiva/Stellaris Peripheral Support
+#
+CONFIG_TIVA_I2C=y
+CONFIG_TIVA_HAVE_I2C1=y
+CONFIG_TIVA_HAVE_I2C2=y
+CONFIG_TIVA_HAVE_I2C3=y
+CONFIG_TIVA_HAVE_I2C4=y
+CONFIG_TIVA_HAVE_I2C5=y
+CONFIG_TIVA_HAVE_I2C6=y
+CONFIG_TIVA_HAVE_I2C7=y
+CONFIG_TIVA_HAVE_I2C8=y
+CONFIG_TIVA_HAVE_I2C9=y
+CONFIG_TIVA_HAVE_UART3=y
+CONFIG_TIVA_HAVE_UART4=y
+CONFIG_TIVA_HAVE_UART5=y
+CONFIG_TIVA_HAVE_UART6=y
+CONFIG_TIVA_HAVE_UART7=y
+CONFIG_TIVA_HAVE_SSI0=y
+CONFIG_TIVA_HAVE_SSI1=y
+CONFIG_TIVA_HAVE_SSI2=y
+CONFIG_TIVA_HAVE_SSI3=y
+CONFIG_TIVA_HAVE_ETHERNET=y
+# CONFIG_TIVA_SSI is not set
+# CONFIG_TIVA_TIMER is not set
+CONFIG_TIVA_HAVE_TIMER3=y
+CONFIG_TIVA_HAVE_TIMER4=y
+CONFIG_TIVA_HAVE_TIMER5=y
+CONFIG_TIVA_HAVE_TIMER6=y
+CONFIG_TIVA_HAVE_TIMER7=y
+# CONFIG_TIVA_I2C0 is not set
+# CONFIG_TIVA_I2C1 is not set
+# CONFIG_TIVA_I2C2 is not set
+# CONFIG_TIVA_I2C3 is not set
+# CONFIG_TIVA_I2C4 is not set
+# CONFIG_TIVA_I2C5 is not set
+CONFIG_TIVA_I2C6=y
+# CONFIG_TIVA_I2C7 is not set
+# CONFIG_TIVA_I2C8 is not set
+# CONFIG_TIVA_I2C9 is not set
+CONFIG_TIVA_UART0=y
+# CONFIG_TIVA_UART1 is not set
+# CONFIG_TIVA_UART2 is not set
+# CONFIG_TIVA_UART3 is not set
+# CONFIG_TIVA_UART4 is not set
+# CONFIG_TIVA_UART5 is not set
+# CONFIG_TIVA_UART6 is not set
+# CONFIG_TIVA_UART7 is not set
+# CONFIG_TIVA_SSI0 is not set
+# CONFIG_TIVA_SSI1 is not set
+# CONFIG_TIVA_SSI2 is not set
+# CONFIG_TIVA_SSI3 is not set
+# CONFIG_TIVA_TIMER0 is not set
+# CONFIG_TIVA_TIMER1 is not set
+# CONFIG_TIVA_TIMER2 is not set
+# CONFIG_TIVA_TIMER3 is not set
+# CONFIG_TIVA_TIMER4 is not set
+# CONFIG_TIVA_TIMER5 is not set
+# CONFIG_TIVA_TIMER6 is not set
+# CONFIG_TIVA_TIMER7 is not set
+CONFIG_TIVA_ETHERNET=y
+# CONFIG_TIVA_FLASH is not set
+
+#
+# Enable GPIO Interrupts
+#
+# CONFIG_TIVA_GPIO_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOA_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOB_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOC_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOD_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOE_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOF_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOG_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOH_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOJ_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOK_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOL_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOM_IRQS is not set
+# CONFIG_TIVA_HAVE_GPION_IRQS is not set
+CONFIG_TIVA_HAVE_GPIOP_IRQS=y
+CONFIG_TIVA_HAVE_GPIOQ_IRQS=y
+# CONFIG_TIVA_HAVE_GPIOR_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOS_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOT_IRQS is not set
+# CONFIG_TIVA_GPIOP_IRQS is not set
+# CONFIG_TIVA_GPIOQ_IRQS is not set
+
+#
+# I2C Configuration
+#
+# CONFIG_TIVA_I2C_DYNTIMEO is not set
+CONFIG_TIVA_I2C_TIMEOSEC=0
+CONFIG_TIVA_I2C_TIMEOMS=500
+CONFIG_TIVA_I2C_TIMEOTICKS=500
+
+#
+# Tiva Ethernet Configuration
+#
+CONFIG_TIVA_PHY_INTERNAL=y
+CONFIG_TIVA_AUTONEG=y
+CONFIG_TIVA_PHY_INTERRUPTS=y
+CONFIG_TIVA_EMAC_NRXDESC=8
+CONFIG_TIVA_EMAC_NTXDESC=4
+# CONFIG_TIVA_EMAC_ENHANCEDDESC is not set
+CONFIG_TIVA_BOARDMAC=y
+# CONFIG_NET_MULTICAST is not set
+
+#
+# Architecture Options
+#
+# CONFIG_ARCH_NOINTC is not set
+# CONFIG_ARCH_VECNOTIRQ is not set
+# CONFIG_ARCH_DMA is not set
+CONFIG_ARCH_HAVE_IRQPRIO=y
+# CONFIG_ARCH_L2CACHE is not set
+# CONFIG_ARCH_HAVE_COHERENT_DCACHE is not set
+# CONFIG_ARCH_HAVE_ADDRENV is not set
+# CONFIG_ARCH_NEED_ADDRENV_MAPPING is not set
+CONFIG_ARCH_HAVE_VFORK=y
+# CONFIG_ARCH_HAVE_MMU is not set
+CONFIG_ARCH_HAVE_MPU=y
+# CONFIG_ARCH_NAND_HWECC is not set
+# CONFIG_ARCH_HAVE_EXTCLK is not set
+# CONFIG_ARCH_USE_MPU is not set
+# CONFIG_ARCH_IRQPRIO is not set
+CONFIG_ARCH_STACKDUMP=y
+# CONFIG_ENDIAN_BIG is not set
+# CONFIG_ARCH_IDLE_CUSTOM is not set
+# CONFIG_ARCH_HAVE_RAMFUNCS is not set
+CONFIG_ARCH_HAVE_RAMVECTORS=y
+# CONFIG_ARCH_RAMVECTORS is not set
+
+#
+# Board Settings
+#
+CONFIG_BOARD_LOOPSPERMSEC=11401
+# CONFIG_ARCH_CALIBRATION is not set
+
+#
+# Interrupt options
+#
+CONFIG_ARCH_HAVE_INTERRUPTSTACK=y
+CONFIG_ARCH_INTERRUPTSTACK=0
+CONFIG_ARCH_HAVE_HIPRI_INTERRUPT=y
+# CONFIG_ARCH_HIPRI_INTERRUPT is not set
+
+#
+# Boot options
+#
+# CONFIG_BOOT_RUNFROMEXTSRAM is not set
+CONFIG_BOOT_RUNFROMFLASH=y
+# CONFIG_BOOT_RUNFROMISRAM is not set
+# CONFIG_BOOT_RUNFROMSDRAM is not set
+# CONFIG_BOOT_COPYTORAM is not set
+
+#
+# Boot Memory Configuration
+#
+CONFIG_RAM_START=0x20000000
+CONFIG_RAM_SIZE=262144
+# CONFIG_ARCH_HAVE_SDRAM is not set
+
+#
+# Board Selection
+#
+CONFIG_ARCH_BOARD_TM4C1294_LAUNCHPAD=y
+# CONFIG_ARCH_BOARD_CUSTOM is not set
+CONFIG_ARCH_BOARD="tm4c1294-launchpad"
+
+#
+# Common Board Options
+#
+CONFIG_ARCH_HAVE_LEDS=y
+CONFIG_ARCH_LEDS=y
+CONFIG_ARCH_HAVE_BUTTONS=y
+CONFIG_ARCH_BUTTONS=y
+CONFIG_NSH_MMCSDMINOR=0
+
+#
+# Board-Specific Options
+#
+
+#
+# RTOS Features
+#
+CONFIG_DISABLE_OS_API=y
+# CONFIG_DISABLE_POSIX_TIMERS is not set
+# CONFIG_DISABLE_PTHREAD is not set
+# CONFIG_DISABLE_SIGNALS is not set
+# CONFIG_DISABLE_MQUEUE is not set
+# CONFIG_DISABLE_ENVIRON is not set
+
+#
+# Clocks and Timers
+#
+CONFIG_USEC_PER_TICK=10000
+# CONFIG_SYSTEM_TIME64 is not set
+# CONFIG_CLOCK_MONOTONIC is not set
+# CONFIG_JULIAN_TIME is not set
+CONFIG_START_YEAR=2013
+CONFIG_START_MONTH=3
+CONFIG_START_DAY=24
+CONFIG_MAX_WDOGPARMS=2
+CONFIG_PREALLOC_WDOGS=4
+CONFIG_WDOG_INTRESERVE=0
+CONFIG_PREALLOC_TIMERS=4
+
+#
+# Tasks and Scheduling
+#
+# CONFIG_INIT_NONE is not set
+CONFIG_INIT_ENTRYPOINT=y
+# CONFIG_INIT_FILEPATH is not set
+CONFIG_USER_ENTRYPOINT="nsh_main"
+CONFIG_RR_INTERVAL=200
+CONFIG_TASK_NAME_SIZE=31
+CONFIG_MAX_TASKS=16
+# CONFIG_SCHED_HAVE_PARENT is not set
+CONFIG_SCHED_WAITPID=y
+
+#
+# Pthread Options
+#
+# CONFIG_MUTEX_TYPES is not set
+CONFIG_NPTHREAD_KEYS=4
+
+#
+# Performance Monitoring
+#
+# CONFIG_SCHED_CPULOAD is not set
+# CONFIG_SCHED_INSTRUMENTATION is not set
+
+#
+# Files and I/O
+#
+CONFIG_DEV_CONSOLE=y
+# CONFIG_FDCLONE_DISABLE is not set
+# CONFIG_FDCLONE_STDIO is not set
+# CONFIG_SDCLONE_DISABLE is not set
+CONFIG_NFILE_DESCRIPTORS=8
+CONFIG_NFILE_STREAMS=8
+CONFIG_NAME_MAX=32
+# CONFIG_PRIORITY_INHERITANCE is not set
+
+#
+# RTOS hooks
+#
+# CONFIG_BOARD_INITIALIZE is not set
+# CONFIG_SCHED_STARTHOOK is not set
+# CONFIG_SCHED_ATEXIT is not set
+# CONFIG_SCHED_ONEXIT is not set
+
+#
+# Signal Numbers
+#
+CONFIG_SIG_SIGUSR1=1
+CONFIG_SIG_SIGUSR2=2
+CONFIG_SIG_SIGALARM=3
+CONFIG_SIG_SIGCONDTIMEDOUT=16
+CONFIG_SIG_SIGWORK=17
+
+#
+# POSIX Message Queue Options
+#
+CONFIG_PREALLOC_MQ_MSGS=4
+CONFIG_MQ_MAXMSGSIZE=32
+
+#
+# Work Queue Support
+#
+CONFIG_SCHED_WORKQUEUE=y
+CONFIG_SCHED_HPWORK=y
+CONFIG_SCHED_HPWORKPRIORITY=224
+CONFIG_SCHED_HPWORKPERIOD=50000
+CONFIG_SCHED_HPWORKSTACKSIZE=2048
+# CONFIG_SCHED_LPWORK is not set
+
+#
+# Stack and heap information
+#
+CONFIG_IDLETHREAD_STACKSIZE=1024
+CONFIG_USERMAIN_STACKSIZE=2048
+CONFIG_PTHREAD_STACK_MIN=256
+CONFIG_PTHREAD_STACK_DEFAULT=2048
+# CONFIG_LIB_SYSCALL is not set
+
+#
+# Device Drivers
+#
+CONFIG_DISABLE_POLL=y
+CONFIG_DEV_NULL=y
+# CONFIG_DEV_ZERO is not set
+# CONFIG_LOOP is not set
+
+#
+# Buffering
+#
+# CONFIG_DRVR_WRITEBUFFER is not set
+# CONFIG_DRVR_READAHEAD is not set
+# CONFIG_RAMDISK is not set
+# CONFIG_CAN is not set
+# CONFIG_ARCH_HAVE_PWM_PULSECOUNT is not set
+# CONFIG_PWM is not set
+# CONFIG_ARCH_HAVE_I2CRESET is not set
+CONFIG_I2C=y
+# CONFIG_I2C_SLAVE is not set
+CONFIG_I2C_TRANSFER=y
+CONFIG_I2C_WRITEREAD=y
+# CONFIG_I2C_POLLED is not set
+# CONFIG_I2C_TRACE is not set
+# CONFIG_SPI is not set
+# CONFIG_I2S is not set
+# CONFIG_RTC is not set
+# CONFIG_WATCHDOG is not set
+# CONFIG_TIMER is not set
+# CONFIG_ANALOG is not set
+# CONFIG_AUDIO_DEVICES is not set
+# CONFIG_VIDEO_DEVICES is not set
+# CONFIG_BCH is not set
+# CONFIG_INPUT is not set
+# CONFIG_LCD is not set
+# CONFIG_MMCSD is not set
+# CONFIG_MTD is not set
+# CONFIG_EEPROM is not set
+CONFIG_NETDEVICES=y
+
+#
+# General Ethernet MAC Driver Options
+#
+# CONFIG_NETDEV_MULTINIC is not set
+
+#
+# External Ethernet MAC Device Support
+#
+# CONFIG_NET_DM90x0 is not set
+# CONFIG_ENC28J60 is not set
+# CONFIG_ENCX24J600 is not set
+# CONFIG_NET_E1000 is not set
+# CONFIG_NET_SLIP is not set
+# CONFIG_NET_VNET is not set
+CONFIG_ARCH_PHY_INTERRUPT=y
+# CONFIG_PIPES is not set
+# CONFIG_PM is not set
+# CONFIG_POWER is not set
+# CONFIG_SENSORS is not set
+# CONFIG_SERCOMM_CONSOLE is not set
+CONFIG_SERIAL=y
+# CONFIG_DEV_LOWCONSOLE is not set
+# CONFIG_16550_UART is not set
+# CONFIG_ARCH_HAVE_UART is not set
+CONFIG_ARCH_HAVE_UART0=y
+# CONFIG_ARCH_HAVE_UART1 is not set
+# CONFIG_ARCH_HAVE_UART2 is not set
+# CONFIG_ARCH_HAVE_UART3 is not set
+# CONFIG_ARCH_HAVE_UART4 is not set
+# CONFIG_ARCH_HAVE_UART5 is not set
+# CONFIG_ARCH_HAVE_UART6 is not set
+# CONFIG_ARCH_HAVE_UART7 is not set
+# CONFIG_ARCH_HAVE_UART8 is not set
+# CONFIG_ARCH_HAVE_SCI0 is not set
+# CONFIG_ARCH_HAVE_SCI1 is not set
+# CONFIG_ARCH_HAVE_USART0 is not set
+# CONFIG_ARCH_HAVE_USART1 is not set
+# CONFIG_ARCH_HAVE_USART2 is not set
+# CONFIG_ARCH_HAVE_USART3 is not set
+# CONFIG_ARCH_HAVE_USART4 is not set
+# CONFIG_ARCH_HAVE_USART5 is not set
+# CONFIG_ARCH_HAVE_USART6 is not set
+# CONFIG_ARCH_HAVE_USART7 is not set
+# CONFIG_ARCH_HAVE_USART8 is not set
+# CONFIG_ARCH_HAVE_OTHER_UART is not set
+
+#
+# USART Configuration
+#
+CONFIG_MCU_SERIAL=y
+CONFIG_STANDARD_SERIAL=y
+# CONFIG_SERIAL_IFLOWCONTROL is not set
+# CONFIG_SERIAL_OFLOWCONTROL is not set
+# CONFIG_ARCH_HAVE_SERIAL_TERMIOS is not set
+CONFIG_UART0_SERIAL_CONSOLE=y
+# CONFIG_OTHER_SERIAL_CONSOLE is not set
+# CONFIG_NO_SERIAL_CONSOLE is not set
+
+#
+# UART0 Configuration
+#
+CONFIG_UART0_RXBUFSIZE=256
+CONFIG_UART0_TXBUFSIZE=256
+CONFIG_UART0_BAUD=115200
+CONFIG_UART0_BITS=8
+CONFIG_UART0_PARITY=0
+CONFIG_UART0_2STOP=0
+# CONFIG_UART0_IFLOWCONTROL is not set
+# CONFIG_UART0_OFLOWCONTROL is not set
+# CONFIG_USBDEV is not set
+# CONFIG_USBHOST is not set
+# CONFIG_WIRELESS is not set
+
+#
+# System Logging Device Options
+#
+
+#
+# System Logging
+#
+# CONFIG_RAMLOG is not set
+
+#
+# Networking Support
+#
+CONFIG_ARCH_HAVE_NET=y
+# CONFIG_ARCH_HAVE_PHY is not set
+CONFIG_NET=y
+CONFIG_NET_NOINTS=y
+# CONFIG_NET_PROMISCUOUS is not set
+
+#
+# Driver buffer configuration
+#
+CONFIG_NET_MULTIBUFFER=y
+CONFIG_NET_ETH_MTU=590
+CONFIG_NET_ETH_TCP_RECVWNDO=536
+CONFIG_NET_GUARDSIZE=2
+
+#
+# Data link support
+#
+# CONFIG_NET_MULTILINK is not set
+CONFIG_NET_ETHERNET=y
+
+#
+# Network Device Operations
+#
+CONFIG_NETDEV_PHY_IOCTL=y
+
+#
+# Internet Protocol Selection
+#
+# CONFIG_NET_IPv4 is not set
+CONFIG_NET_IPv6=y
+CONFIG_NET_IPv6_NCONF_ENTRIES=8
+
+#
+# Socket Support
+#
+CONFIG_NSOCKET_DESCRIPTORS=8
+CONFIG_NET_NACTIVESOCKETS=16
+CONFIG_NET_SOCKOPTS=y
+CONFIG_NET_SOLINGER=y
+
+#
+# Raw Socket Support
+#
+# CONFIG_NET_PKT is not set
+
+#
+# Unix Domain Socket Support
+#
+# CONFIG_NET_LOCAL is not set
+
+#
+# TCP/IP Networking
+#
+CONFIG_NET_TCP=y
+# CONFIG_NET_TCPURGDATA is not set
+CONFIG_NET_TCP_CONNS=8
+CONFIG_NET_MAX_LISTENPORTS=20
+CONFIG_NET_TCP_READAHEAD=y
+CONFIG_NET_TCP_WRITE_BUFFERS=y
+CONFIG_NET_TCP_NWRBCHAINS=8
+CONFIG_NET_TCP_RECVDELAY=0
+CONFIG_NET_TCPBACKLOG=y
+# CONFIG_NET_SENDFILE is not set
+
+#
+# UDP Networking
+#
+CONFIG_NET_UDP=y
+CONFIG_NET_UDP_CHECKSUMS=y
+CONFIG_NET_UDP_CONNS=8
+CONFIG_NET_BROADCAST=y
+# CONFIG_NET_RXAVAIL is not set
+CONFIG_NET_UDP_READAHEAD=y
+
+#
+# ICMPv6 Networking Support
+#
+CONFIG_NET_ICMPv6=y
+CONFIG_NET_ICMPv6_PING=y
+# CONFIG_NET_ICMPv6_NEIGHBOR is not set
+
+#
+# IGMPv2 Client Support
+#
+# CONFIG_NET_IGMP is not set
+
+#
+# ARP Configuration
+#
+
+#
+# Network I/O Buffer Support
+#
+CONFIG_NET_IOB=y
+CONFIG_IOB_NBUFFERS=36
+CONFIG_IOB_BUFSIZE=196
+CONFIG_IOB_NCHAINS=8
+CONFIG_IOB_THROTTLE=8
+# CONFIG_NET_ARCH_INCR32 is not set
+# CONFIG_NET_ARCH_CHKSUM is not set
+CONFIG_NET_STATISTICS=y
+
+#
+# Routing Table Configuration
+#
+# CONFIG_NET_ROUTE is not set
+
+#
+# Crypto API
+#
+# CONFIG_CRYPTO is not set
+
+#
+# File Systems
+#
+
+#
+# File system configuration
+#
+# CONFIG_DISABLE_MOUNTPOINT is not set
+# CONFIG_FS_AUTOMOUNTER is not set
+# CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set
+# CONFIG_FS_READABLE is not set
+# CONFIG_FS_WRITABLE is not set
+# CONFIG_FS_NAMED_SEMAPHORES is not set
+CONFIG_FS_MQUEUE_MPATH="/var/mqueue"
+# CONFIG_FS_RAMMAP is not set
+# CONFIG_FS_FAT is not set
+# CONFIG_NFS is not set
+# CONFIG_FS_NXFFS is not set
+# CONFIG_FS_ROMFS is not set
+# CONFIG_FS_SMARTFS is not set
+# CONFIG_FS_BINFS is not set
+# CONFIG_FS_PROCFS is not set
+
+#
+# System Logging
+#
+# CONFIG_SYSLOG is not set
+# CONFIG_SYSLOG_TIMESTAMP is not set
+
+#
+# Graphics Support
+#
+# CONFIG_NX is not set
+
+#
+# Memory Management
+#
+# CONFIG_MM_SMALL is not set
+CONFIG_MM_REGIONS=1
+# CONFIG_ARCH_HAVE_HEAP2 is not set
+# CONFIG_GRAN is not set
+
+#
+# Audio Support
+#
+# CONFIG_AUDIO is not set
+
+#
+# Binary Loader
+#
+# CONFIG_BINFMT_DISABLE is not set
+# CONFIG_BINFMT_EXEPATH is not set
+# CONFIG_NXFLAT is not set
+# CONFIG_ELF is not set
+CONFIG_BUILTIN=y
+# CONFIG_PIC is not set
+# CONFIG_SYMTAB_ORDEREDBYNAME is not set
+
+#
+# Library Routines
+#
+
+#
+# Standard C Library Options
+#
+CONFIG_STDIO_BUFFER_SIZE=64
+CONFIG_STDIO_LINEBUFFER=y
+CONFIG_NUNGET_CHARS=2
+CONFIG_LIB_HOMEDIR="/"
+CONFIG_LIBM=y
+# CONFIG_NOPRINTF_FIELDWIDTH is not set
+CONFIG_LIBC_FLOATINGPOINT=y
+# CONFIG_LIBC_IOCTL_VARIADIC is not set
+CONFIG_LIB_RAND_ORDER=1
+# CONFIG_EOL_IS_CR is not set
+# CONFIG_EOL_IS_LF is not set
+# CONFIG_EOL_IS_BOTH_CRLF is not set
+CONFIG_EOL_IS_EITHER_CRLF=y
+# CONFIG_LIBC_EXECFUNCS is not set
+CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=1024
+CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=2048
+# CONFIG_LIBC_STRERROR is not set
+# CONFIG_LIBC_PERROR_STDOUT is not set
+CONFIG_ARCH_LOWPUTC=y
+# CONFIG_LIBC_LOCALTIME is not set
+CONFIG_LIB_SENDFILE_BUFSIZE=512
+# CONFIG_ARCH_ROMGETC is not set
+# CONFIG_ARCH_OPTIMIZED_FUNCTIONS is not set
+
+#
+# Non-standard Library Support
+#
+# CONFIG_LIB_KBDCODEC is not set
+# CONFIG_LIB_SLCDCODEC is not set
+
+#
+# Basic CXX Support
+#
+# CONFIG_C99_BOOL8 is not set
+# CONFIG_HAVE_CXX is not set
+
+#
+# Application Configuration
+#
+
+#
+# Built-In Applications
+#
+CONFIG_BUILTIN_PROXY_STACKSIZE=1024
+
+#
+# Examples
+#
+# CONFIG_EXAMPLES_BUTTONS is not set
+# CONFIG_EXAMPLES_CAN is not set
+# CONFIG_EXAMPLES_CONFIGDATA is not set
+# CONFIG_EXAMPLES_CPUHOG is not set
+# CONFIG_EXAMPLES_DHCPD is not set
+# CONFIG_EXAMPLES_ELF is not set
+# CONFIG_EXAMPLES_FTPC is not set
+# CONFIG_EXAMPLES_FTPD is not set
+# CONFIG_EXAMPLES_HELLO is not set
+# CONFIG_EXAMPLES_HELLOXX is not set
+# CONFIG_EXAMPLES_JSON is not set
+# CONFIG_EXAMPLES_HIDKBD is not set
+# CONFIG_EXAMPLES_KEYPADTEST is not set
+# CONFIG_EXAMPLES_IGMP is not set
+# CONFIG_EXAMPLES_MM is not set
+# CONFIG_EXAMPLES_MODBUS is not set
+# CONFIG_EXAMPLES_MOUNT is not set
+# CONFIG_EXAMPLES_NETTEST is not set
+# CONFIG_EXAMPLES_NRF24L01TERM is not set
+CONFIG_EXAMPLES_NSH=y
+# CONFIG_EXAMPLES_NULL is not set
+# CONFIG_EXAMPLES_NX is not set
+# CONFIG_EXAMPLES_NXTERM is not set
+# CONFIG_EXAMPLES_NXFFS is not set
+# CONFIG_EXAMPLES_NXFLAT is not set
+# CONFIG_EXAMPLES_NXHELLO is not set
+# CONFIG_EXAMPLES_NXIMAGE is not set
+# CONFIG_EXAMPLES_NXLINES is not set
+# CONFIG_EXAMPLES_NXTEXT is not set
+# CONFIG_EXAMPLES_OSTEST is not set
+# CONFIG_EXAMPLES_PIPE is not set
+# CONFIG_EXAMPLES_POSIXSPAWN is not set
+# CONFIG_EXAMPLES_QENCODER is not set
+# CONFIG_EXAMPLES_RGMP is not set
+# CONFIG_EXAMPLES_ROMFS is not set
+# CONFIG_EXAMPLES_SENDMAIL is not set
+# CONFIG_EXAMPLES_SERIALBLASTER is not set
+# CONFIG_EXAMPLES_SERIALRX is not set
+# CONFIG_EXAMPLES_SERLOOP is not set
+# CONFIG_EXAMPLES_SLCD is not set
+# CONFIG_EXAMPLES_SMART_TEST is not set
+# CONFIG_EXAMPLES_SMART is not set
+# CONFIG_EXAMPLES_TCPECHO is not set
+# CONFIG_EXAMPLES_TELNETD is not set
+# CONFIG_EXAMPLES_THTTPD is not set
+# CONFIG_EXAMPLES_TIFF is not set
+# CONFIG_EXAMPLES_TOUCHSCREEN is not set
+# CONFIG_EXAMPLES_UDP is not set
+# CONFIG_EXAMPLES_DISCOVER is not set
+# CONFIG_EXAMPLES_WEBSERVER is not set
+# CONFIG_EXAMPLES_USBSERIAL is not set
+# CONFIG_EXAMPLES_USBTERM is not set
+# CONFIG_EXAMPLES_WATCHDOG is not set
+
+#
+# Graphics Support
+#
+# CONFIG_TIFF is not set
+# CONFIG_GRAPHICS_TRAVELER is not set
+
+#
+# Interpreters
+#
+# CONFIG_INTERPRETERS_FICL is not set
+# CONFIG_INTERPRETERS_PCODE is not set
+# CONFIG_INTERPRETERS_MICROPYTHON is not set
+
+#
+# Network Utilities
+#
+
+#
+# Networking Utilities
+#
+# CONFIG_NETUTILS_CODECS is not set
+# CONFIG_NETUTILS_DHCPC is not set
+# CONFIG_NETUTILS_DHCPD is not set
+# CONFIG_NETUTILS_FTPC is not set
+# CONFIG_NETUTILS_FTPD is not set
+# CONFIG_NETUTILS_JSON is not set
+# CONFIG_NETUTILS_DNSCLIENT is not set
+# CONFIG_NETUTILS_SMTP is not set
+# CONFIG_NETUTILS_TELNETD is not set
+# CONFIG_NETUTILS_TFTPC is not set
+# CONFIG_NETUTILS_THTTPD is not set
+CONFIG_NETUTILS_NETLIB=y
+# CONFIG_NETUTILS_WEBCLIENT is not set
+# CONFIG_NETUTILS_WEBSERVER is not set
+# CONFIG_NETUTILS_NTPCLIENT is not set
+# CONFIG_NETUTILS_DISCOVER is not set
+# CONFIG_NETUTILS_XMLRPC is not set
+
+#
+# FreeModBus
+#
+# CONFIG_MODBUS is not set
+
+#
+# NSH Library
+#
+CONFIG_NSH_LIBRARY=y
+
+#
+# Command Line Configuration
+#
+CONFIG_NSH_READLINE=y
+# CONFIG_NSH_CLE is not set
+CONFIG_NSH_LINELEN=64
+# CONFIG_NSH_DISABLE_SEMICOLON is not set
+CONFIG_NSH_CMDPARMS=y
+CONFIG_NSH_MAXARGUMENTS=6
+CONFIG_NSH_ARGCAT=y
+CONFIG_NSH_NESTDEPTH=3
+# CONFIG_NSH_DISABLEBG is not set
+CONFIG_NSH_BUILTIN_APPS=y
+
+#
+# Disable Individual commands
+#
+# CONFIG_NSH_DISABLE_ADDROUTE is not set
+# CONFIG_NSH_DISABLE_CAT is not set
+# CONFIG_NSH_DISABLE_CD is not set
+# CONFIG_NSH_DISABLE_CP is not set
+# CONFIG_NSH_DISABLE_CMP is not set
+# CONFIG_NSH_DISABLE_DD is not set
+# CONFIG_NSH_DISABLE_DF is not set
+# CONFIG_NSH_DISABLE_DELROUTE is not set
+# CONFIG_NSH_DISABLE_ECHO is not set
+# CONFIG_NSH_DISABLE_EXEC is not set
+# CONFIG_NSH_DISABLE_EXIT is not set
+# CONFIG_NSH_DISABLE_FREE is not set
+# CONFIG_NSH_DISABLE_GET is not set
+# CONFIG_NSH_DISABLE_HELP is not set
+# CONFIG_NSH_DISABLE_HEXDUMP is not set
+# CONFIG_NSH_DISABLE_IFCONFIG is not set
+# CONFIG_NSH_DISABLE_KILL is not set
+# CONFIG_NSH_DISABLE_LOSETUP is not set
+# CONFIG_NSH_DISABLE_LS is not set
+# CONFIG_NSH_DISABLE_MB is not set
+# CONFIG_NSH_DISABLE_MKDIR is not set
+# CONFIG_NSH_DISABLE_MKFIFO is not set
+# CONFIG_NSH_DISABLE_MKRD is not set
+# CONFIG_NSH_DISABLE_MH is not set
+# CONFIG_NSH_DISABLE_MOUNT is not set
+# CONFIG_NSH_DISABLE_MW is not set
+# CONFIG_NSH_DISABLE_PS is not set
+# CONFIG_NSH_DISABLE_PUT is not set
+# CONFIG_NSH_DISABLE_PWD is not set
+# CONFIG_NSH_DISABLE_RM is not set
+# CONFIG_NSH_DISABLE_RMDIR is not set
+# CONFIG_NSH_DISABLE_SET is not set
+# CONFIG_NSH_DISABLE_SH is not set
+# CONFIG_NSH_DISABLE_SLEEP is not set
+# CONFIG_NSH_DISABLE_TEST is not set
+# CONFIG_NSH_DISABLE_UMOUNT is not set
+# CONFIG_NSH_DISABLE_UNSET is not set
+# CONFIG_NSH_DISABLE_USLEEP is not set
+# CONFIG_NSH_DISABLE_WGET is not set
+# CONFIG_NSH_DISABLE_XD is not set
+
+#
+# Configure Command Options
+#
+CONFIG_NSH_CMDOPT_DF_H=y
+CONFIG_NSH_CODECS_BUFSIZE=128
+CONFIG_NSH_CMDOPT_HEXDUMP=y
+CONFIG_NSH_FILEIOSIZE=512
+
+#
+# Scripting Support
+#
+# CONFIG_NSH_DISABLESCRIPT is not set
+# CONFIG_NSH_DISABLE_ITEF is not set
+# CONFIG_NSH_DISABLE_LOOPS is not set
+
+#
+# Console Configuration
+#
+CONFIG_NSH_CONSOLE=y
+# CONFIG_NSH_ALTCONDEV is not set
+CONFIG_NSH_ARCHINIT=y
+
+#
+# Networking Configuration
+#
+CONFIG_NSH_NETINIT_THREAD=y
+CONFIG_NSH_NETINIT_MONITOR=y
+CONFIG_NSH_NETINIT_SIGNO=18
+CONFIG_NSH_NETINIT_RETRYMSEC=2000
+CONFIG_NSH_NETINIT_THREAD_STACKSIZE=1568
+CONFIG_NSH_NETINIT_THREAD_PRIORITY=100
+
+#
+# IP Address Configuration
+#
+
+#
+# Target IPv6 address
+#
+CONFIG_NSH_IPv6ADDR_1=0xfc00
+CONFIG_NSH_IPv6ADDR_2=0x0000
+CONFIG_NSH_IPv6ADDR_3=0x0000
+CONFIG_NSH_IPv6ADDR_4=0x0000
+CONFIG_NSH_IPv6ADDR_5=0x0000
+CONFIG_NSH_IPv6ADDR_6=0x0000
+CONFIG_NSH_IPv6ADDR_7=0x0000
+CONFIG_NSH_IPv6ADDR_8=0x0002
+
+#
+# Router IPv6 address
+#
+CONFIG_NSH_DRIPv6ADDR_1=0xfc00
+CONFIG_NSH_DRIPv6ADDR_2=0x0000
+CONFIG_NSH_DRIPv6ADDR_3=0x0000
+CONFIG_NSH_DRIPv6ADDR_4=0x0000
+CONFIG_NSH_DRIPv6ADDR_5=0x0000
+CONFIG_NSH_DRIPv6ADDR_6=0x0000
+CONFIG_NSH_DRIPv6ADDR_7=0x0000
+CONFIG_NSH_DRIPv6ADDR_8=0x0001
+
+#
+# IPv6 Network mask
+#
+CONFIG_NSH_IPv6NETMASK_1=0xffff
+CONFIG_NSH_IPv6NETMASK_2=0xffff
+CONFIG_NSH_IPv6NETMASK_3=0xffff
+CONFIG_NSH_IPv6NETMASK_4=0x0000
+CONFIG_NSH_IPv6NETMASK_5=0xffff
+CONFIG_NSH_IPv6NETMASK_6=0xffff
+CONFIG_NSH_IPv6NETMASK_7=0xffff
+CONFIG_NSH_IPv6NETMASK_8=0xff80
+# CONFIG_NSH_NOMAC is not set
+CONFIG_NSH_MAX_ROUNDTRIP=20
+
+#
+# NxWidgets/NxWM
+#
+
+#
+# Platform-specific Support
+#
+# CONFIG_PLATFORM_CONFIGDATA is not set
+
+#
+# System Libraries and NSH Add-Ons
+#
+
+#
+# Custom Free Memory Command
+#
+# CONFIG_SYSTEM_FREE is not set
+
+#
+# EMACS-like Command Line Editor
+#
+# CONFIG_SYSTEM_CLE is not set
+
+#
+# CU Minimal Terminal
+#
+# CONFIG_SYSTEM_CUTERM is not set
+
+#
+# FLASH Program Installation
+#
+# CONFIG_SYSTEM_INSTALL is not set
+
+#
+# FLASH Erase-all Command
+#
+
+#
+# Intel HEX to binary conversion
+#
+# CONFIG_SYSTEM_HEX2BIN is not set
+
+#
+# I2C tool
+#
+CONFIG_SYSTEM_I2CTOOL=y
+CONFIG_I2CTOOL_MINBUS=6
+CONFIG_I2CTOOL_MAXBUS=6
+CONFIG_I2CTOOL_MINADDR=0x03
+CONFIG_I2CTOOL_MAXADDR=0x77
+CONFIG_I2CTOOL_MAXREGADDR=0xff
+CONFIG_I2CTOOL_DEFFREQ=400000
+
+#
+# INI File Parser
+#
+# CONFIG_SYSTEM_INIFILE is not set
+
+#
+# NxPlayer media player library / command Line
+#
+
+#
+# RAM test
+#
+# CONFIG_SYSTEM_RAMTEST is not set
+
+#
+# readline()
+#
+CONFIG_SYSTEM_READLINE=y
+CONFIG_READLINE_ECHO=y
+
+#
+# P-Code Support
+#
+
+#
+# PHY Tool
+#
+# CONFIG_SYSTEM_MDIO is not set
+
+#
+# Power Off
+#
+# CONFIG_SYSTEM_POWEROFF is not set
+
+#
+# RAMTRON
+#
+# CONFIG_SYSTEM_RAMTRON is not set
+
+#
+# SD Card
+#
+# CONFIG_SYSTEM_SDCARD is not set
+
+#
+# Sudoku
+#
+# CONFIG_SYSTEM_SUDOKU is not set
+
+#
+# Sysinfo
+#
+# CONFIG_SYSTEM_SYSINFO is not set
+
+#
+# Temperature
+#
+# CONFIG_SYSTEM_LM75_FAHRENHEIT is not set
+# CONFIG_SYSTEM_LM75_CENTIGRADE is not set
+
+#
+# VI Work-Alike Editor
+#
+# CONFIG_SYSTEM_VI is not set
+
+#
+# Stack Monitor
+#
+
+#
+# USB CDC/ACM Device Commands
+#
+
+#
+# USB Composite Device Commands
+#
+
+#
+# USB Mass Storage Device Commands
+#
+
+#
+# USB Monitor
+#
+
+#
+# Zmodem Commands
+#
+# CONFIG_SYSTEM_ZMODEM is not set
diff --git a/nuttx/configs/tm4c1294-launchpad/ipv6/setenv.sh b/nuttx/configs/tm4c1294-launchpad/ipv6/setenv.sh
new file mode 100755
index 000000000..392fe161f
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/ipv6/setenv.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+# configs/tm4c1294-launchpad/ipv6/setenv.sh
+#
+# Copyright (C) 2015 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# 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.
+#
+
+if [ "$_" = "$0" ] ; then
+ echo "You must source this script, not run it!" 1>&2
+ exit 1
+fi
+
+WD=`pwd`
+if [ ! -x "setenv.sh" ]; then
+ echo "This script must be executed from the top-level NuttX build directory"
+ exit 1
+fi
+
+if [ -z "${PATH_ORIG}" ]; then
+ export PATH_ORIG="${PATH}"
+fi
+
+# This is the Cygwin path to the location where I installed the CodeSourcery
+# toolchain under windows. You will also have to edit this if you install
+# the CodeSourcery toolchain in any other location
+#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin"
+export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin"
+#export TOOLCHAIN_BIN="/cygdrive/c/Users/MyName/MentorGraphics/Sourcery_CodeBench_Lite_for_ARM_EABI/bin"
+
+# These are the Cygwin paths to the locations where I installed the Atollic
+# toolchain under windows. You will also have to edit this if you install
+# the Atollic toolchain in any other location. /usr/bin is added before
+# the Atollic bin path because there is are binaries named gcc.exe and g++.exe
+# at those locations as well.
+#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for ARM Pro 2.3.0/ARMTools/bin"
+#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin"
+
+# This is the Cygwin path to the location where I build the buildroot
+# toolchain.
+# export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin"
+
+# The tm4c1294-launchpad/tools directory
+export TOOL_DIR="${WD}/configs/tm4c1294-launchpad/tools"
+
+# Add the path to the toolchain and tools directory to the PATH varialble
+export PATH="${TOOLCHAIN_BIN}:${TOOL_DIR}:/sbin:/usr/sbin:${PATH_ORIG}"
+
+echo "PATH : ${PATH}"
diff --git a/nuttx/configs/tm4c1294-launchpad/nsh/Make.defs b/nuttx/configs/tm4c1294-launchpad/nsh/Make.defs
new file mode 100644
index 000000000..377d1e1e3
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/nsh/Make.defs
@@ -0,0 +1,110 @@
+############################################################################
+# configs/tm4c1294-launchpad/nsh/Make.defs
+#
+# Copyright (C) 2014 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# 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.
+#
+############################################################################
+
+include ${TOPDIR}/.config
+include ${TOPDIR}/tools/Config.mk
+include ${TOPDIR}/arch/arm/src/armv7-m/Toolchain.defs
+
+ifeq ($(WINTOOL),y)
+ # Windows-native toolchains
+ DIRLINK = $(TOPDIR)/tools/copydir.sh
+ DIRUNLINK = $(TOPDIR)/tools/unlink.sh
+ MKDEP = $(TOPDIR)/tools/mknulldeps.sh
+ ARCHINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}"
+ ARCHXXINCLUDES = -I. -isystem "${shell cygpath -w $(TOPDIR)/include}" -isystem "${shell cygpath -w $(TOPDIR)/include/cxx}"
+ ARCHSCRIPT = -T "${shell cygpath -w $(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script}"
+else
+ # Linux/Cygwin-native toolchain
+ MKDEP = $(TOPDIR)/tools/mkdeps.sh
+ ARCHINCLUDES = -I. -isystem $(TOPDIR)/include
+ ARCHXXINCLUDES = -I. -isystem $(TOPDIR)/include -isystem $(TOPDIR)/include/cxx
+ ARCHSCRIPT = -T$(TOPDIR)/configs/$(CONFIG_ARCH_BOARD)/scripts/ld.script
+endif
+
+CC = $(CROSSDEV)gcc
+CXX = $(CROSSDEV)g++
+CPP = $(CROSSDEV)gcc -E
+LD = $(CROSSDEV)ld
+AR = $(CROSSDEV)ar rcs
+NM = $(CROSSDEV)nm
+OBJCOPY = $(CROSSDEV)objcopy
+OBJDUMP = $(CROSSDEV)objdump
+
+ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'}
+ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1}
+
+ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
+ ARCHOPTIMIZATION = -g
+endif
+
+ifneq ($(CONFIG_DEBUG_NOOPT),y)
+ ARCHOPTIMIZATION += $(MAXOPTIMIZATION) -fno-strict-aliasing -fno-strength-reduce -fomit-frame-pointer
+endif
+
+ARCHCFLAGS = -fno-builtin
+ARCHCXXFLAGS = -fno-builtin -fno-exceptions
+ARCHWARNINGS = -Wall -Wstrict-prototypes -Wshadow
+ARCHWARNINGSXX = -Wall -Wshadow
+ARCHDEFINES =
+ARCHPICFLAGS = -fpic -msingle-pic-base -mpic-register=r10
+
+CFLAGS = $(ARCHCFLAGS) $(ARCHWARNINGS) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
+CPICFLAGS = $(ARCHPICFLAGS) $(CFLAGS)
+CXXFLAGS = $(ARCHCXXFLAGS) $(ARCHWARNINGSXX) $(ARCHOPTIMIZATION) $(ARCHCPUFLAGS) $(ARCHXXINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES) -pipe
+CXXPICFLAGS = $(ARCHPICFLAGS) $(CXXFLAGS)
+CPPFLAGS = $(ARCHINCLUDES) $(ARCHDEFINES) $(EXTRADEFINES)
+AFLAGS = $(CFLAGS) -D__ASSEMBLY__
+
+NXFLATLDFLAGS1 = -r -d -warn-common
+NXFLATLDFLAGS2 = $(NXFLATLDFLAGS1) -T$(TOPDIR)/binfmt/libnxflat/gnu-nxflat-pcrel.ld -no-check-sections
+LDNXFLATFLAGS = -e main -s 2048
+
+OBJEXT = .o
+LIBEXT = .a
+EXEEXT =
+
+ifneq ($(CROSSDEV),arm-nuttx-elf-)
+ LDFLAGS += -nostartfiles -nodefaultlibs
+endif
+ifeq ($(CONFIG_DEBUG_SYMBOLS),y)
+ LDFLAGS += -g
+endif
+
+
+HOSTCC = gcc
+HOSTINCLUDES = -I.
+HOSTCFLAGS = -Wall -Wstrict-prototypes -Wshadow -g -pipe
+HOSTLDFLAGS =
+
diff --git a/nuttx/configs/tm4c1294-launchpad/nsh/defconfig b/nuttx/configs/tm4c1294-launchpad/nsh/defconfig
new file mode 100644
index 000000000..d88f5f2dd
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/nsh/defconfig
@@ -0,0 +1,1147 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Nuttx/ Configuration
+#
+
+#
+# Build Setup
+#
+# CONFIG_EXPERIMENTAL is not set
+# CONFIG_DEFAULT_SMALL is not set
+CONFIG_HOST_LINUX=y
+# CONFIG_HOST_OSX is not set
+# CONFIG_HOST_WINDOWS is not set
+# CONFIG_HOST_OTHER is not set
+
+#
+# Build Configuration
+#
+CONFIG_APPS_DIR="../apps"
+CONFIG_BUILD_FLAT=y
+# CONFIG_BUILD_2PASS is not set
+
+#
+# Binary Output Formats
+#
+# CONFIG_RRLOAD_BINARY is not set
+# CONFIG_INTELHEX_BINARY is not set
+# CONFIG_MOTOROLA_SREC is not set
+CONFIG_RAW_BINARY=y
+# CONFIG_UBOOT_UIMAGE is not set
+
+#
+# Customize Header Files
+#
+# CONFIG_ARCH_STDINT_H is not set
+# CONFIG_ARCH_STDBOOL_H is not set
+# CONFIG_ARCH_MATH_H is not set
+# CONFIG_ARCH_FLOAT_H is not set
+# CONFIG_ARCH_STDARG_H is not set
+
+#
+# Debug Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_ARCH_HAVE_HEAPCHECK is not set
+CONFIG_ARCH_HAVE_STACKCHECK=y
+# CONFIG_STACK_COLORATION is not set
+# CONFIG_DEBUG_SYMBOLS is not set
+CONFIG_ARCH_HAVE_CUSTOMOPT=y
+# CONFIG_DEBUG_NOOPT is not set
+# CONFIG_DEBUG_CUSTOMOPT is not set
+CONFIG_DEBUG_FULLOPT=y
+
+#
+# System Type
+#
+CONFIG_ARCH_ARM=y
+# CONFIG_ARCH_AVR is not set
+# CONFIG_ARCH_HC is not set
+# CONFIG_ARCH_MIPS is not set
+# CONFIG_ARCH_RGMP is not set
+# CONFIG_ARCH_SH is not set
+# CONFIG_ARCH_SIM is not set
+# CONFIG_ARCH_X86 is not set
+# CONFIG_ARCH_Z16 is not set
+# CONFIG_ARCH_Z80 is not set
+CONFIG_ARCH="arm"
+
+#
+# ARM Options
+#
+# CONFIG_ARCH_CHIP_A1X is not set
+# CONFIG_ARCH_CHIP_C5471 is not set
+# CONFIG_ARCH_CHIP_CALYPSO is not set
+# CONFIG_ARCH_CHIP_DM320 is not set
+# CONFIG_ARCH_CHIP_EFM32 is not set
+# CONFIG_ARCH_CHIP_IMX is not set
+# CONFIG_ARCH_CHIP_KINETIS is not set
+# CONFIG_ARCH_CHIP_KL is not set
+# CONFIG_ARCH_CHIP_LM is not set
+CONFIG_ARCH_CHIP_TIVA=y
+# CONFIG_ARCH_CHIP_LPC17XX is not set
+# CONFIG_ARCH_CHIP_LPC214X is not set
+# CONFIG_ARCH_CHIP_LPC2378 is not set
+# CONFIG_ARCH_CHIP_LPC31XX is not set
+# CONFIG_ARCH_CHIP_LPC43XX is not set
+# CONFIG_ARCH_CHIP_NUC1XX is not set
+# CONFIG_ARCH_CHIP_SAMA5 is not set
+# CONFIG_ARCH_CHIP_SAMD is not set
+# CONFIG_ARCH_CHIP_SAM34 is not set
+# CONFIG_ARCH_CHIP_STM32 is not set
+# CONFIG_ARCH_CHIP_STR71X is not set
+# CONFIG_ARCH_ARM7TDMI is not set
+# CONFIG_ARCH_ARM926EJS is not set
+# CONFIG_ARCH_ARM920T is not set
+# CONFIG_ARCH_CORTEXM0 is not set
+# CONFIG_ARCH_CORTEXM3 is not set
+CONFIG_ARCH_CORTEXM4=y
+# CONFIG_ARCH_CORTEXA5 is not set
+# CONFIG_ARCH_CORTEXA8 is not set
+CONFIG_ARCH_FAMILY="armv7-m"
+CONFIG_ARCH_CHIP="tiva"
+# CONFIG_ARMV7M_USEBASEPRI is not set
+CONFIG_ARCH_HAVE_CMNVECTOR=y
+# CONFIG_ARMV7M_CMNVECTOR is not set
+CONFIG_ARCH_HAVE_FPU=y
+# CONFIG_ARCH_FPU is not set
+# CONFIG_ARMV7M_MPU is not set
+
+#
+# ARMV7M Configuration Options
+#
+# CONFIG_ARMV7M_TOOLCHAIN_BUILDROOT is not set
+# CONFIG_ARMV7M_TOOLCHAIN_CODEREDL is not set
+# CONFIG_ARMV7M_TOOLCHAIN_CODESOURCERYL is not set
+CONFIG_ARMV7M_TOOLCHAIN_GNU_EABIL=y
+# CONFIG_ARMV7M_ITMSYSLOG is not set
+
+#
+# Tiva/Stellaris Configuration Options
+#
+# CONFIG_ARCH_CHIP_TM4C123GH6ZRB is not set
+# CONFIG_ARCH_CHIP_TM4C123GH6PMI is not set
+CONFIG_ARCH_CHIP_TM4C1294NC=y
+# CONFIG_ARCH_CHIP_TM4C129XNC is not set
+# CONFIG_ARCH_CHIP_CC3200 is not set
+CONFIG_ARCH_CHIP_TM4C129=y
+CONFIG_ARCH_CHIP_TM4C=y
+# CONFIG_TIVA_BOARD_EARLYINIT is not set
+
+#
+# Tiva/Stellaris Peripheral Support
+#
+CONFIG_TIVA_I2C=y
+CONFIG_TIVA_HAVE_I2C1=y
+CONFIG_TIVA_HAVE_I2C2=y
+CONFIG_TIVA_HAVE_I2C3=y
+CONFIG_TIVA_HAVE_I2C4=y
+CONFIG_TIVA_HAVE_I2C5=y
+CONFIG_TIVA_HAVE_I2C6=y
+CONFIG_TIVA_HAVE_I2C7=y
+CONFIG_TIVA_HAVE_I2C8=y
+CONFIG_TIVA_HAVE_I2C9=y
+CONFIG_TIVA_HAVE_UART3=y
+CONFIG_TIVA_HAVE_UART4=y
+CONFIG_TIVA_HAVE_UART5=y
+CONFIG_TIVA_HAVE_UART6=y
+CONFIG_TIVA_HAVE_UART7=y
+CONFIG_TIVA_HAVE_SSI0=y
+CONFIG_TIVA_HAVE_SSI1=y
+CONFIG_TIVA_HAVE_SSI2=y
+CONFIG_TIVA_HAVE_SSI3=y
+CONFIG_TIVA_HAVE_ETHERNET=y
+# CONFIG_TIVA_SSI is not set
+# CONFIG_TIVA_TIMER is not set
+CONFIG_TIVA_HAVE_TIMER3=y
+CONFIG_TIVA_HAVE_TIMER4=y
+CONFIG_TIVA_HAVE_TIMER5=y
+CONFIG_TIVA_HAVE_TIMER6=y
+CONFIG_TIVA_HAVE_TIMER7=y
+CONFIG_TIVA_I2C0=y
+# CONFIG_TIVA_I2C1 is not set
+# CONFIG_TIVA_I2C2 is not set
+# CONFIG_TIVA_I2C3 is not set
+# CONFIG_TIVA_I2C4 is not set
+# CONFIG_TIVA_I2C5 is not set
+# CONFIG_TIVA_I2C6 is not set
+# CONFIG_TIVA_I2C7 is not set
+# CONFIG_TIVA_I2C8 is not set
+# CONFIG_TIVA_I2C9 is not set
+CONFIG_TIVA_UART0=y
+# CONFIG_TIVA_UART1 is not set
+# CONFIG_TIVA_UART2 is not set
+# CONFIG_TIVA_UART3 is not set
+# CONFIG_TIVA_UART4 is not set
+# CONFIG_TIVA_UART5 is not set
+# CONFIG_TIVA_UART6 is not set
+# CONFIG_TIVA_UART7 is not set
+# CONFIG_TIVA_SSI0 is not set
+# CONFIG_TIVA_SSI1 is not set
+# CONFIG_TIVA_SSI2 is not set
+# CONFIG_TIVA_SSI3 is not set
+# CONFIG_TIVA_TIMER0 is not set
+# CONFIG_TIVA_TIMER1 is not set
+# CONFIG_TIVA_TIMER2 is not set
+# CONFIG_TIVA_TIMER3 is not set
+# CONFIG_TIVA_TIMER4 is not set
+# CONFIG_TIVA_TIMER5 is not set
+# CONFIG_TIVA_TIMER6 is not set
+# CONFIG_TIVA_TIMER7 is not set
+CONFIG_TIVA_ETHERNET=y
+# CONFIG_TIVA_FLASH is not set
+
+#
+# Enable GPIO Interrupts
+#
+# CONFIG_TIVA_GPIO_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOA_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOB_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOC_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOD_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOE_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOF_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOG_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOH_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOJ_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOK_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOL_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOM_IRQS is not set
+# CONFIG_TIVA_HAVE_GPION_IRQS is not set
+CONFIG_TIVA_HAVE_GPIOP_IRQS=y
+CONFIG_TIVA_HAVE_GPIOQ_IRQS=y
+# CONFIG_TIVA_HAVE_GPIOR_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOS_IRQS is not set
+# CONFIG_TIVA_HAVE_GPIOT_IRQS is not set
+# CONFIG_TIVA_GPIOP_IRQS is not set
+# CONFIG_TIVA_GPIOQ_IRQS is not set
+
+#
+# I2C Configuration
+#
+# CONFIG_TIVA_I2C_DYNTIMEO is not set
+CONFIG_TIVA_I2C_TIMEOSEC=0
+CONFIG_TIVA_I2C_TIMEOMS=500
+CONFIG_TIVA_I2C_TIMEOTICKS=500
+
+#
+# Tiva Ethernet Configuration
+#
+CONFIG_TIVA_PHY_INTERNAL=y
+CONFIG_TIVA_AUTONEG=y
+CONFIG_TIVA_PHY_INTERRUPTS=y
+CONFIG_TIVA_EMAC_NRXDESC=8
+CONFIG_TIVA_EMAC_NTXDESC=4
+# CONFIG_TIVA_EMAC_ENHANCEDDESC is not set
+CONFIG_TIVA_BOARDMAC=y
+# CONFIG_NET_MULTICAST is not set
+
+#
+# Architecture Options
+#
+# CONFIG_ARCH_NOINTC is not set
+# CONFIG_ARCH_VECNOTIRQ is not set
+# CONFIG_ARCH_DMA is not set
+CONFIG_ARCH_HAVE_IRQPRIO=y
+# CONFIG_ARCH_L2CACHE is not set
+# CONFIG_ARCH_HAVE_COHERENT_DCACHE is not set
+# CONFIG_ARCH_HAVE_ADDRENV is not set
+# CONFIG_ARCH_NEED_ADDRENV_MAPPING is not set
+CONFIG_ARCH_HAVE_VFORK=y
+# CONFIG_ARCH_HAVE_MMU is not set
+CONFIG_ARCH_HAVE_MPU=y
+# CONFIG_ARCH_NAND_HWECC is not set
+# CONFIG_ARCH_HAVE_EXTCLK is not set
+# CONFIG_ARCH_USE_MPU is not set
+# CONFIG_ARCH_IRQPRIO is not set
+CONFIG_ARCH_STACKDUMP=y
+# CONFIG_ENDIAN_BIG is not set
+# CONFIG_ARCH_IDLE_CUSTOM is not set
+# CONFIG_ARCH_HAVE_RAMFUNCS is not set
+CONFIG_ARCH_HAVE_RAMVECTORS=y
+# CONFIG_ARCH_RAMVECTORS is not set
+
+#
+# Board Settings
+#
+CONFIG_BOARD_LOOPSPERMSEC=11401
+# CONFIG_ARCH_CALIBRATION is not set
+
+#
+# Interrupt options
+#
+CONFIG_ARCH_HAVE_INTERRUPTSTACK=y
+CONFIG_ARCH_INTERRUPTSTACK=0
+CONFIG_ARCH_HAVE_HIPRI_INTERRUPT=y
+# CONFIG_ARCH_HIPRI_INTERRUPT is not set
+
+#
+# Boot options
+#
+# CONFIG_BOOT_RUNFROMEXTSRAM is not set
+CONFIG_BOOT_RUNFROMFLASH=y
+# CONFIG_BOOT_RUNFROMISRAM is not set
+# CONFIG_BOOT_RUNFROMSDRAM is not set
+# CONFIG_BOOT_COPYTORAM is not set
+
+#
+# Boot Memory Configuration
+#
+CONFIG_RAM_START=0x20000000
+CONFIG_RAM_SIZE=262144
+# CONFIG_ARCH_HAVE_SDRAM is not set
+
+#
+# Board Selection
+#
+CONFIG_ARCH_BOARD_TM4C1294_LAUNCHPAD=y
+# CONFIG_ARCH_BOARD_CUSTOM is not set
+CONFIG_ARCH_BOARD="tm4c1294-launchpad"
+
+#
+# Common Board Options
+#
+CONFIG_ARCH_HAVE_LEDS=y
+CONFIG_ARCH_LEDS=y
+CONFIG_ARCH_HAVE_BUTTONS=y
+# CONFIG_ARCH_BUTTONS is not set
+CONFIG_NSH_MMCSDMINOR=0
+
+#
+# Board-Specific Options
+#
+
+#
+# RTOS Features
+#
+CONFIG_DISABLE_OS_API=y
+# CONFIG_DISABLE_POSIX_TIMERS is not set
+# CONFIG_DISABLE_PTHREAD is not set
+# CONFIG_DISABLE_SIGNALS is not set
+# CONFIG_DISABLE_MQUEUE is not set
+# CONFIG_DISABLE_ENVIRON is not set
+
+#
+# Clocks and Timers
+#
+CONFIG_USEC_PER_TICK=10000
+# CONFIG_SYSTEM_TIME64 is not set
+# CONFIG_CLOCK_MONOTONIC is not set
+# CONFIG_JULIAN_TIME is not set
+CONFIG_START_YEAR=2015
+CONFIG_START_MONTH=1
+CONFIG_START_DAY=1
+CONFIG_MAX_WDOGPARMS=2
+CONFIG_PREALLOC_WDOGS=4
+CONFIG_WDOG_INTRESERVE=0
+CONFIG_PREALLOC_TIMERS=4
+
+#
+# Tasks and Scheduling
+#
+# CONFIG_INIT_NONE is not set
+CONFIG_INIT_ENTRYPOINT=y
+# CONFIG_INIT_FILEPATH is not set
+CONFIG_USER_ENTRYPOINT="nsh_main"
+CONFIG_RR_INTERVAL=200
+CONFIG_TASK_NAME_SIZE=31
+CONFIG_MAX_TASKS=16
+# CONFIG_SCHED_HAVE_PARENT is not set
+CONFIG_SCHED_WAITPID=y
+
+#
+# Pthread Options
+#
+# CONFIG_MUTEX_TYPES is not set
+CONFIG_NPTHREAD_KEYS=4
+
+#
+# Performance Monitoring
+#
+# CONFIG_SCHED_CPULOAD is not set
+# CONFIG_SCHED_INSTRUMENTATION is not set
+
+#
+# Files and I/O
+#
+CONFIG_DEV_CONSOLE=y
+# CONFIG_FDCLONE_DISABLE is not set
+# CONFIG_FDCLONE_STDIO is not set
+# CONFIG_SDCLONE_DISABLE is not set
+CONFIG_NFILE_DESCRIPTORS=8
+CONFIG_NFILE_STREAMS=8
+CONFIG_NAME_MAX=32
+# CONFIG_PRIORITY_INHERITANCE is not set
+
+#
+# RTOS hooks
+#
+# CONFIG_BOARD_INITIALIZE is not set
+# CONFIG_SCHED_STARTHOOK is not set
+# CONFIG_SCHED_ATEXIT is not set
+# CONFIG_SCHED_ONEXIT is not set
+
+#
+# Signal Numbers
+#
+CONFIG_SIG_SIGUSR1=1
+CONFIG_SIG_SIGUSR2=2
+CONFIG_SIG_SIGALARM=3
+CONFIG_SIG_SIGCONDTIMEDOUT=16
+CONFIG_SIG_SIGWORK=17
+
+#
+# POSIX Message Queue Options
+#
+CONFIG_PREALLOC_MQ_MSGS=4
+CONFIG_MQ_MAXMSGSIZE=32
+
+#
+# Work Queue Support
+#
+CONFIG_SCHED_WORKQUEUE=y
+CONFIG_SCHED_HPWORK=y
+CONFIG_SCHED_HPWORKPRIORITY=224
+CONFIG_SCHED_HPWORKPERIOD=50000
+CONFIG_SCHED_HPWORKSTACKSIZE=2048
+# CONFIG_SCHED_LPWORK is not set
+
+#
+# Stack and heap information
+#
+CONFIG_IDLETHREAD_STACKSIZE=1024
+CONFIG_USERMAIN_STACKSIZE=2048
+CONFIG_PTHREAD_STACK_MIN=256
+CONFIG_PTHREAD_STACK_DEFAULT=2048
+# CONFIG_LIB_SYSCALL is not set
+
+#
+# Device Drivers
+#
+CONFIG_DISABLE_POLL=y
+CONFIG_DEV_NULL=y
+# CONFIG_DEV_ZERO is not set
+# CONFIG_LOOP is not set
+
+#
+# Buffering
+#
+# CONFIG_DRVR_WRITEBUFFER is not set
+# CONFIG_DRVR_READAHEAD is not set
+# CONFIG_RAMDISK is not set
+# CONFIG_CAN is not set
+# CONFIG_ARCH_HAVE_PWM_PULSECOUNT is not set
+# CONFIG_PWM is not set
+# CONFIG_ARCH_HAVE_I2CRESET is not set
+CONFIG_I2C=y
+# CONFIG_I2C_SLAVE is not set
+CONFIG_I2C_TRANSFER=y
+CONFIG_I2C_WRITEREAD=y
+# CONFIG_I2C_POLLED is not set
+# CONFIG_I2C_TRACE is not set
+# CONFIG_SPI is not set
+# CONFIG_I2S is not set
+# CONFIG_RTC is not set
+# CONFIG_WATCHDOG is not set
+# CONFIG_TIMER is not set
+# CONFIG_ANALOG is not set
+# CONFIG_AUDIO_DEVICES is not set
+# CONFIG_VIDEO_DEVICES is not set
+# CONFIG_BCH is not set
+# CONFIG_INPUT is not set
+# CONFIG_LCD is not set
+# CONFIG_MMCSD is not set
+# CONFIG_MTD is not set
+# CONFIG_EEPROM is not set
+CONFIG_NETDEVICES=y
+
+#
+# General Ethernet MAC Driver Options
+#
+# CONFIG_NETDEV_MULTINIC is not set
+
+#
+# External Ethernet MAC Device Support
+#
+# CONFIG_NET_DM90x0 is not set
+# CONFIG_ENC28J60 is not set
+# CONFIG_ENCX24J600 is not set
+# CONFIG_NET_E1000 is not set
+# CONFIG_NET_SLIP is not set
+# CONFIG_NET_VNET is not set
+CONFIG_ARCH_PHY_INTERRUPT=y
+# CONFIG_PIPES is not set
+# CONFIG_PM is not set
+# CONFIG_POWER is not set
+CONFIG_SENSORS=y
+# CONFIG_LIS331DL is not set
+# CONFIG_SENSORS_ADXL345 is not set
+CONFIG_I2C_LM75=y
+CONFIG_LM75=y
+# CONFIG_QENCODER is not set
+# CONFIG_SERCOMM_CONSOLE is not set
+CONFIG_SERIAL=y
+# CONFIG_DEV_LOWCONSOLE is not set
+# CONFIG_16550_UART is not set
+# CONFIG_ARCH_HAVE_UART is not set
+CONFIG_ARCH_HAVE_UART0=y
+# CONFIG_ARCH_HAVE_UART1 is not set
+# CONFIG_ARCH_HAVE_UART2 is not set
+# CONFIG_ARCH_HAVE_UART3 is not set
+# CONFIG_ARCH_HAVE_UART4 is not set
+# CONFIG_ARCH_HAVE_UART5 is not set
+# CONFIG_ARCH_HAVE_UART6 is not set
+# CONFIG_ARCH_HAVE_UART7 is not set
+# CONFIG_ARCH_HAVE_UART8 is not set
+# CONFIG_ARCH_HAVE_SCI0 is not set
+# CONFIG_ARCH_HAVE_SCI1 is not set
+# CONFIG_ARCH_HAVE_USART0 is not set
+# CONFIG_ARCH_HAVE_USART1 is not set
+# CONFIG_ARCH_HAVE_USART2 is not set
+# CONFIG_ARCH_HAVE_USART3 is not set
+# CONFIG_ARCH_HAVE_USART4 is not set
+# CONFIG_ARCH_HAVE_USART5 is not set
+# CONFIG_ARCH_HAVE_USART6 is not set
+# CONFIG_ARCH_HAVE_USART7 is not set
+# CONFIG_ARCH_HAVE_USART8 is not set
+# CONFIG_ARCH_HAVE_OTHER_UART is not set
+
+#
+# USART Configuration
+#
+CONFIG_MCU_SERIAL=y
+CONFIG_STANDARD_SERIAL=y
+# CONFIG_SERIAL_IFLOWCONTROL is not set
+# CONFIG_SERIAL_OFLOWCONTROL is not set
+# CONFIG_ARCH_HAVE_SERIAL_TERMIOS is not set
+CONFIG_UART0_SERIAL_CONSOLE=y
+# CONFIG_OTHER_SERIAL_CONSOLE is not set
+# CONFIG_NO_SERIAL_CONSOLE is not set
+
+#
+# UART0 Configuration
+#
+CONFIG_UART0_RXBUFSIZE=256
+CONFIG_UART0_TXBUFSIZE=256
+CONFIG_UART0_BAUD=115200
+CONFIG_UART0_BITS=8
+CONFIG_UART0_PARITY=0
+CONFIG_UART0_2STOP=0
+# CONFIG_UART0_IFLOWCONTROL is not set
+# CONFIG_UART0_OFLOWCONTROL is not set
+# CONFIG_USBDEV is not set
+# CONFIG_USBHOST is not set
+# CONFIG_WIRELESS is not set
+
+#
+# System Logging Device Options
+#
+
+#
+# System Logging
+#
+# CONFIG_RAMLOG is not set
+
+#
+# Networking Support
+#
+CONFIG_ARCH_HAVE_NET=y
+# CONFIG_ARCH_HAVE_PHY is not set
+CONFIG_NET=y
+CONFIG_NET_NOINTS=y
+# CONFIG_NET_PROMISCUOUS is not set
+
+#
+# Driver buffer configuration
+#
+CONFIG_NET_MULTIBUFFER=y
+CONFIG_NET_ETH_MTU=590
+CONFIG_NET_ETH_TCP_RECVWNDO=536
+CONFIG_NET_GUARDSIZE=2
+
+#
+# Data link support
+#
+# CONFIG_NET_MULTILINK is not set
+CONFIG_NET_ETHERNET=y
+
+#
+# Network Device Operations
+#
+CONFIG_NETDEV_PHY_IOCTL=y
+
+#
+# Internet Protocol Selection
+#
+CONFIG_NET_IPv4=y
+# CONFIG_NET_IPv6 is not set
+
+#
+# Socket Support
+#
+CONFIG_NSOCKET_DESCRIPTORS=8
+CONFIG_NET_NACTIVESOCKETS=16
+CONFIG_NET_SOCKOPTS=y
+CONFIG_NET_SOLINGER=y
+
+#
+# Raw Socket Support
+#
+# CONFIG_NET_PKT is not set
+
+#
+# Unix Domain Socket Support
+#
+# CONFIG_NET_LOCAL is not set
+
+#
+# TCP/IP Networking
+#
+CONFIG_NET_TCP=y
+# CONFIG_NET_TCPURGDATA is not set
+CONFIG_NET_TCP_CONNS=8
+CONFIG_NET_MAX_LISTENPORTS=20
+CONFIG_NET_TCP_READAHEAD=y
+CONFIG_NET_TCP_WRITE_BUFFERS=y
+CONFIG_NET_TCP_NWRBCHAINS=8
+CONFIG_NET_TCP_RECVDELAY=0
+CONFIG_NET_TCPBACKLOG=y
+# CONFIG_NET_SENDFILE is not set
+
+#
+# UDP Networking
+#
+CONFIG_NET_UDP=y
+# CONFIG_NET_UDP_CHECKSUMS is not set
+CONFIG_NET_UDP_CONNS=8
+CONFIG_NET_BROADCAST=y
+# CONFIG_NET_RXAVAIL is not set
+CONFIG_NET_UDP_READAHEAD=y
+
+#
+# ICMP Networking Support
+#
+CONFIG_NET_ICMP=y
+CONFIG_NET_ICMP_PING=y
+# CONFIG_NET_PINGADDRCONF is not set
+
+#
+# IGMPv2 Client Support
+#
+# CONFIG_NET_IGMP is not set
+
+#
+# ARP Configuration
+#
+CONFIG_NET_ARP=y
+CONFIG_NET_ARPTAB_SIZE=16
+CONFIG_NET_ARP_MAXAGE=120
+CONFIG_NET_ARP_IPIN=y
+CONFIG_NET_ARP_SEND=y
+CONFIG_ARP_SEND_MAXTRIES=5
+CONFIG_ARP_SEND_DELAYMSEC=20
+
+#
+# Network I/O Buffer Support
+#
+CONFIG_NET_IOB=y
+CONFIG_IOB_NBUFFERS=36
+CONFIG_IOB_BUFSIZE=196
+CONFIG_IOB_NCHAINS=8
+CONFIG_IOB_THROTTLE=8
+# CONFIG_NET_ARCH_INCR32 is not set
+# CONFIG_NET_ARCH_CHKSUM is not set
+CONFIG_NET_STATISTICS=y
+
+#
+# Routing Table Configuration
+#
+# CONFIG_NET_ROUTE is not set
+
+#
+# Crypto API
+#
+# CONFIG_CRYPTO is not set
+
+#
+# File Systems
+#
+
+#
+# File system configuration
+#
+# CONFIG_DISABLE_MOUNTPOINT is not set
+# CONFIG_FS_AUTOMOUNTER is not set
+# CONFIG_DISABLE_PSEUDOFS_OPERATIONS is not set
+# CONFIG_FS_READABLE is not set
+# CONFIG_FS_WRITABLE is not set
+# CONFIG_FS_NAMED_SEMAPHORES is not set
+CONFIG_FS_MQUEUE_MPATH="/var/mqueue"
+# CONFIG_FS_RAMMAP is not set
+# CONFIG_FS_FAT is not set
+# CONFIG_NFS is not set
+# CONFIG_FS_NXFFS is not set
+# CONFIG_FS_ROMFS is not set
+# CONFIG_FS_SMARTFS is not set
+# CONFIG_FS_BINFS is not set
+# CONFIG_FS_PROCFS is not set
+
+#
+# System Logging
+#
+# CONFIG_SYSLOG is not set
+# CONFIG_SYSLOG_TIMESTAMP is not set
+
+#
+# Graphics Support
+#
+# CONFIG_NX is not set
+
+#
+# Memory Management
+#
+# CONFIG_MM_SMALL is not set
+CONFIG_MM_REGIONS=1
+# CONFIG_ARCH_HAVE_HEAP2 is not set
+# CONFIG_GRAN is not set
+
+#
+# Audio Support
+#
+# CONFIG_AUDIO is not set
+
+#
+# Binary Loader
+#
+# CONFIG_BINFMT_DISABLE is not set
+# CONFIG_BINFMT_EXEPATH is not set
+# CONFIG_NXFLAT is not set
+# CONFIG_ELF is not set
+CONFIG_BUILTIN=y
+# CONFIG_PIC is not set
+# CONFIG_SYMTAB_ORDEREDBYNAME is not set
+
+#
+# Library Routines
+#
+
+#
+# Standard C Library Options
+#
+CONFIG_STDIO_BUFFER_SIZE=64
+CONFIG_STDIO_LINEBUFFER=y
+CONFIG_NUNGET_CHARS=2
+CONFIG_LIB_HOMEDIR="/"
+CONFIG_LIBM=y
+# CONFIG_NOPRINTF_FIELDWIDTH is not set
+CONFIG_LIBC_FLOATINGPOINT=y
+# CONFIG_LIBC_IOCTL_VARIADIC is not set
+CONFIG_LIB_RAND_ORDER=1
+# CONFIG_EOL_IS_CR is not set
+# CONFIG_EOL_IS_LF is not set
+# CONFIG_EOL_IS_BOTH_CRLF is not set
+CONFIG_EOL_IS_EITHER_CRLF=y
+# CONFIG_LIBC_EXECFUNCS is not set
+CONFIG_POSIX_SPAWN_PROXY_STACKSIZE=1024
+CONFIG_TASK_SPAWN_DEFAULT_STACKSIZE=2048
+# CONFIG_LIBC_STRERROR is not set
+# CONFIG_LIBC_PERROR_STDOUT is not set
+CONFIG_ARCH_LOWPUTC=y
+# CONFIG_LIBC_LOCALTIME is not set
+CONFIG_LIB_SENDFILE_BUFSIZE=512
+# CONFIG_ARCH_ROMGETC is not set
+# CONFIG_ARCH_OPTIMIZED_FUNCTIONS is not set
+
+#
+# Non-standard Library Support
+#
+# CONFIG_LIB_KBDCODEC is not set
+# CONFIG_LIB_SLCDCODEC is not set
+
+#
+# Basic CXX Support
+#
+# CONFIG_C99_BOOL8 is not set
+# CONFIG_HAVE_CXX is not set
+
+#
+# Application Configuration
+#
+
+#
+# Built-In Applications
+#
+CONFIG_BUILTIN_PROXY_STACKSIZE=1024
+
+#
+# Examples
+#
+# CONFIG_EXAMPLES_BUTTONS is not set
+# CONFIG_EXAMPLES_CAN is not set
+# CONFIG_EXAMPLES_CONFIGDATA is not set
+# CONFIG_EXAMPLES_CPUHOG is not set
+# CONFIG_EXAMPLES_DHCPD is not set
+# CONFIG_EXAMPLES_ELF is not set
+# CONFIG_EXAMPLES_FTPC is not set
+# CONFIG_EXAMPLES_FTPD is not set
+# CONFIG_EXAMPLES_HELLO is not set
+# CONFIG_EXAMPLES_HELLOXX is not set
+# CONFIG_EXAMPLES_JSON is not set
+# CONFIG_EXAMPLES_HIDKBD is not set
+# CONFIG_EXAMPLES_KEYPADTEST is not set
+# CONFIG_EXAMPLES_IGMP is not set
+# CONFIG_EXAMPLES_MM is not set
+# CONFIG_EXAMPLES_MODBUS is not set
+# CONFIG_EXAMPLES_MOUNT is not set
+# CONFIG_EXAMPLES_NETTEST is not set
+# CONFIG_EXAMPLES_NRF24L01TERM is not set
+CONFIG_EXAMPLES_NSH=y
+# CONFIG_EXAMPLES_NULL is not set
+# CONFIG_EXAMPLES_NX is not set
+# CONFIG_EXAMPLES_NXTERM is not set
+# CONFIG_EXAMPLES_NXFFS is not set
+# CONFIG_EXAMPLES_NXFLAT is not set
+# CONFIG_EXAMPLES_NXHELLO is not set
+# CONFIG_EXAMPLES_NXIMAGE is not set
+# CONFIG_EXAMPLES_NXLINES is not set
+# CONFIG_EXAMPLES_NXTEXT is not set
+# CONFIG_EXAMPLES_OSTEST is not set
+# CONFIG_EXAMPLES_PIPE is not set
+# CONFIG_EXAMPLES_POSIXSPAWN is not set
+# CONFIG_EXAMPLES_QENCODER is not set
+# CONFIG_EXAMPLES_RGMP is not set
+# CONFIG_EXAMPLES_ROMFS is not set
+# CONFIG_EXAMPLES_SENDMAIL is not set
+# CONFIG_EXAMPLES_SERIALBLASTER is not set
+# CONFIG_EXAMPLES_SERIALRX is not set
+# CONFIG_EXAMPLES_SERLOOP is not set
+# CONFIG_EXAMPLES_SLCD is not set
+# CONFIG_EXAMPLES_SMART_TEST is not set
+# CONFIG_EXAMPLES_SMART is not set
+# CONFIG_EXAMPLES_TCPECHO is not set
+# CONFIG_EXAMPLES_TELNETD is not set
+# CONFIG_EXAMPLES_THTTPD is not set
+# CONFIG_EXAMPLES_TIFF is not set
+# CONFIG_EXAMPLES_TOUCHSCREEN is not set
+# CONFIG_EXAMPLES_UDP is not set
+# CONFIG_EXAMPLES_DISCOVER is not set
+# CONFIG_EXAMPLES_WEBSERVER is not set
+# CONFIG_EXAMPLES_USBSERIAL is not set
+# CONFIG_EXAMPLES_USBTERM is not set
+# CONFIG_EXAMPLES_WATCHDOG is not set
+
+#
+# Graphics Support
+#
+# CONFIG_TIFF is not set
+# CONFIG_GRAPHICS_TRAVELER is not set
+
+#
+# Interpreters
+#
+# CONFIG_INTERPRETERS_FICL is not set
+# CONFIG_INTERPRETERS_PCODE is not set
+# CONFIG_INTERPRETERS_MICROPYTHON is not set
+
+#
+# Network Utilities
+#
+
+#
+# Networking Utilities
+#
+# CONFIG_NETUTILS_CODECS is not set
+# CONFIG_NETUTILS_DHCPC is not set
+# CONFIG_NETUTILS_DHCPD is not set
+# CONFIG_NETUTILS_FTPC is not set
+# CONFIG_NETUTILS_FTPD is not set
+# CONFIG_NETUTILS_JSON is not set
+CONFIG_NETUTILS_DNSCLIENT=y
+CONFIG_NETUTILS_DNSCLIENT_IPv4=y
+CONFIG_NETUTILS_DNSCLIENT_ENTRIES=8
+CONFIG_NETUTILS_DNSCLIENT_MAXRESPONSE=96
+# CONFIG_NETUTILS_SMTP is not set
+CONFIG_NETUTILS_TELNETD=y
+CONFIG_NETUTILS_TFTPC=y
+# CONFIG_NETUTILS_THTTPD is not set
+CONFIG_NETUTILS_NETLIB=y
+CONFIG_NETUTILS_WEBCLIENT=y
+CONFIG_NSH_WGET_USERAGENT="NuttX/6.xx.x (; http://www.nuttx.org/)"
+CONFIG_WEBCLIENT_TIMEOUT=10
+# CONFIG_NETUTILS_WEBSERVER is not set
+# CONFIG_NETUTILS_NTPCLIENT is not set
+# CONFIG_NETUTILS_DISCOVER is not set
+# CONFIG_NETUTILS_XMLRPC is not set
+
+#
+# FreeModBus
+#
+# CONFIG_MODBUS is not set
+
+#
+# NSH Library
+#
+CONFIG_NSH_LIBRARY=y
+
+#
+# Command Line Configuration
+#
+CONFIG_NSH_READLINE=y
+# CONFIG_NSH_CLE is not set
+CONFIG_NSH_LINELEN=64
+# CONFIG_NSH_DISABLE_SEMICOLON is not set
+CONFIG_NSH_CMDPARMS=y
+CONFIG_NSH_MAXARGUMENTS=6
+CONFIG_NSH_ARGCAT=y
+CONFIG_NSH_NESTDEPTH=3
+# CONFIG_NSH_DISABLEBG is not set
+CONFIG_NSH_BUILTIN_APPS=y
+
+#
+# Disable Individual commands
+#
+# CONFIG_NSH_DISABLE_ADDROUTE is not set
+# CONFIG_NSH_DISABLE_CAT is not set
+# CONFIG_NSH_DISABLE_CD is not set
+# CONFIG_NSH_DISABLE_CP is not set
+# CONFIG_NSH_DISABLE_CMP is not set
+# CONFIG_NSH_DISABLE_DD is not set
+# CONFIG_NSH_DISABLE_DF is not set
+# CONFIG_NSH_DISABLE_DELROUTE is not set
+# CONFIG_NSH_DISABLE_ECHO is not set
+# CONFIG_NSH_DISABLE_EXEC is not set
+# CONFIG_NSH_DISABLE_EXIT is not set
+# CONFIG_NSH_DISABLE_FREE is not set
+# CONFIG_NSH_DISABLE_GET is not set
+# CONFIG_NSH_DISABLE_HELP is not set
+# CONFIG_NSH_DISABLE_HEXDUMP is not set
+# CONFIG_NSH_DISABLE_IFCONFIG is not set
+# CONFIG_NSH_DISABLE_KILL is not set
+# CONFIG_NSH_DISABLE_LOSETUP is not set
+# CONFIG_NSH_DISABLE_LS is not set
+# CONFIG_NSH_DISABLE_MB is not set
+# CONFIG_NSH_DISABLE_MKDIR is not set
+# CONFIG_NSH_DISABLE_MKFIFO is not set
+# CONFIG_NSH_DISABLE_MKRD is not set
+# CONFIG_NSH_DISABLE_MH is not set
+# CONFIG_NSH_DISABLE_MOUNT is not set
+# CONFIG_NSH_DISABLE_MW is not set
+# CONFIG_NSH_DISABLE_PS is not set
+# CONFIG_NSH_DISABLE_PING is not set
+# CONFIG_NSH_DISABLE_PUT is not set
+# CONFIG_NSH_DISABLE_PWD is not set
+# CONFIG_NSH_DISABLE_RM is not set
+# CONFIG_NSH_DISABLE_RMDIR is not set
+# CONFIG_NSH_DISABLE_SET is not set
+# CONFIG_NSH_DISABLE_SH is not set
+# CONFIG_NSH_DISABLE_SLEEP is not set
+# CONFIG_NSH_DISABLE_TEST is not set
+# CONFIG_NSH_DISABLE_UMOUNT is not set
+# CONFIG_NSH_DISABLE_UNSET is not set
+# CONFIG_NSH_DISABLE_USLEEP is not set
+# CONFIG_NSH_DISABLE_WGET is not set
+# CONFIG_NSH_DISABLE_XD is not set
+
+#
+# Configure Command Options
+#
+CONFIG_NSH_CMDOPT_DF_H=y
+CONFIG_NSH_CODECS_BUFSIZE=128
+CONFIG_NSH_CMDOPT_HEXDUMP=y
+CONFIG_NSH_FILEIOSIZE=512
+
+#
+# Scripting Support
+#
+# CONFIG_NSH_DISABLESCRIPT is not set
+# CONFIG_NSH_DISABLE_ITEF is not set
+# CONFIG_NSH_DISABLE_LOOPS is not set
+
+#
+# Console Configuration
+#
+CONFIG_NSH_CONSOLE=y
+CONFIG_NSH_ARCHINIT=y
+
+#
+# Networking Configuration
+#
+CONFIG_NSH_NETINIT_THREAD=y
+CONFIG_NSH_NETINIT_MONITOR=y
+CONFIG_NSH_NETINIT_SIGNO=18
+CONFIG_NSH_NETINIT_RETRYMSEC=2000
+CONFIG_NSH_NETINIT_THREAD_STACKSIZE=1568
+CONFIG_NSH_NETINIT_THREAD_PRIORITY=100
+
+#
+# IP Address Configuration
+#
+
+#
+# IPv4 Addresses
+#
+CONFIG_NSH_IPADDR=0x0a000002
+CONFIG_NSH_DRIPADDR=0x0a000001
+CONFIG_NSH_NETMASK=0xffffff00
+# CONFIG_NSH_DNS is not set
+# CONFIG_NSH_NOMAC is not set
+CONFIG_NSH_MAX_ROUNDTRIP=20
+
+#
+# Telnet Configuration
+#
+CONFIG_NSH_TELNET=y
+CONFIG_NSH_TELNETD_PORT=23
+CONFIG_NSH_TELNETD_DAEMONPRIO=100
+CONFIG_NSH_TELNETD_DAEMONSTACKSIZE=2048
+CONFIG_NSH_TELNETD_CLIENTPRIO=100
+CONFIG_NSH_TELNETD_CLIENTSTACKSIZE=2048
+CONFIG_NSH_IOBUFFER_SIZE=512
+# CONFIG_NSH_TELNET_LOGIN is not set
+
+#
+# NxWidgets/NxWM
+#
+
+#
+# Platform-specific Support
+#
+# CONFIG_PLATFORM_CONFIGDATA is not set
+
+#
+# System Libraries and NSH Add-Ons
+#
+
+#
+# Custom Free Memory Command
+#
+# CONFIG_SYSTEM_FREE is not set
+
+#
+# EMACS-like Command Line Editor
+#
+# CONFIG_SYSTEM_CLE is not set
+
+#
+# CU Minimal Terminal
+#
+# CONFIG_SYSTEM_CUTERM is not set
+
+#
+# FLASH Program Installation
+#
+# CONFIG_SYSTEM_INSTALL is not set
+
+#
+# FLASH Erase-all Command
+#
+
+#
+# Intel HEX to binary conversion
+#
+# CONFIG_SYSTEM_HEX2BIN is not set
+
+#
+# I2C tool
+#
+CONFIG_SYSTEM_I2CTOOL=y
+CONFIG_I2CTOOL_MINBUS=6
+CONFIG_I2CTOOL_MAXBUS=6
+CONFIG_I2CTOOL_MINADDR=0x03
+CONFIG_I2CTOOL_MAXADDR=0x77
+CONFIG_I2CTOOL_MAXREGADDR=0xff
+CONFIG_I2CTOOL_DEFFREQ=400000
+
+#
+# INI File Parser
+#
+# CONFIG_SYSTEM_INIFILE is not set
+
+#
+# NxPlayer media player library / command Line
+#
+
+#
+# RAM test
+#
+# CONFIG_SYSTEM_RAMTEST is not set
+
+#
+# readline()
+#
+CONFIG_SYSTEM_READLINE=y
+CONFIG_READLINE_ECHO=y
+
+#
+# P-Code Support
+#
+
+#
+# PHY Tool
+#
+# CONFIG_SYSTEM_MDIO is not set
+
+#
+# Power Off
+#
+# CONFIG_SYSTEM_POWEROFF is not set
+
+#
+# RAMTRON
+#
+# CONFIG_SYSTEM_RAMTRON is not set
+
+#
+# SD Card
+#
+# CONFIG_SYSTEM_SDCARD is not set
+
+#
+# Sudoku
+#
+# CONFIG_SYSTEM_SUDOKU is not set
+
+#
+# Sysinfo
+#
+# CONFIG_SYSTEM_SYSINFO is not set
+
+#
+# Temperature
+#
+CONFIG_SYSTEM_LM75=y
+CONFIG_SYSTEM_LM75_DEVNAME="/dev/temp"
+CONFIG_SYSTEM_LM75_FAHRENHEIT=y
+# CONFIG_SYSTEM_LM75_CENTIGRADE is not set
+CONFIG_SYSTEM_LM75_STACKSIZE=1024
+CONFIG_SYSTEM_LM75_PRIORITY=100
+
+#
+# VI Work-Alike Editor
+#
+# CONFIG_SYSTEM_VI is not set
+
+#
+# Stack Monitor
+#
+
+#
+# USB CDC/ACM Device Commands
+#
+
+#
+# USB Composite Device Commands
+#
+
+#
+# USB Mass Storage Device Commands
+#
+
+#
+# USB Monitor
+#
+
+#
+# Zmodem Commands
+#
+# CONFIG_SYSTEM_ZMODEM is not set
diff --git a/nuttx/configs/tm4c1294-launchpad/nsh/setenv.sh b/nuttx/configs/tm4c1294-launchpad/nsh/setenv.sh
new file mode 100755
index 000000000..a479847e4
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/nsh/setenv.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+# configs/tm4c1294-launchpad/nsh/setenv.sh
+#
+# Copyright (C) 2014 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# 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.
+#
+
+if [ "$_" = "$0" ] ; then
+ echo "You must source this script, not run it!" 1>&2
+ exit 1
+fi
+
+WD=`pwd`
+if [ ! -x "setenv.sh" ]; then
+ echo "This script must be executed from the top-level NuttX build directory"
+ exit 1
+fi
+
+if [ -z "${PATH_ORIG}" ]; then
+ export PATH_ORIG="${PATH}"
+fi
+
+# This is the Cygwin path to the location where I installed the CodeSourcery
+# toolchain under windows. You will also have to edit this if you install
+# the CodeSourcery toolchain in any other location
+#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin"
+export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin"
+#export TOOLCHAIN_BIN="/cygdrive/c/Users/MyName/MentorGraphics/Sourcery_CodeBench_Lite_for_ARM_EABI/bin"
+
+# These are the Cygwin paths to the locations where I installed the Atollic
+# toolchain under windows. You will also have to edit this if you install
+# the Atollic toolchain in any other location. /usr/bin is added before
+# the Atollic bin path because there is are binaries named gcc.exe and g++.exe
+# at those locations as well.
+#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for ARM Pro 2.3.0/ARMTools/bin"
+#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin"
+
+# This is the Cygwin path to the location where I build the buildroot
+# toolchain.
+# export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin"
+
+# The tm4c1294-launchpad/tools directory
+export TOOL_DIR="${WD}/configs/tm4c1294-launchpad/tools"
+
+# Add the path to the toolchain and tools directory to the PATH varialble
+export PATH="${TOOLCHAIN_BIN}:${TOOL_DIR}:/sbin:/usr/sbin:${PATH_ORIG}"
+
+echo "PATH : ${PATH}"
diff --git a/nuttx/configs/tm4c1294-launchpad/scripts/ld.script b/nuttx/configs/tm4c1294-launchpad/scripts/ld.script
new file mode 100755
index 000000000..b60907a40
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/scripts/ld.script
@@ -0,0 +1,115 @@
+/****************************************************************************
+ * configs/tm4c1294-launchpad/scripts/ld.script
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+/* The TM4C1294NCPDT has 1024Kib of FLASH beginning at address 0x0000:0000 and
+ * 256Kib of SRAM beginning at 0x2000:0000.
+ */
+
+MEMORY
+{
+ flash (rx) : ORIGIN = 0x00000000, LENGTH = 1M
+ sram (rwx) : ORIGIN = 0x20000000, LENGTH = 256K
+}
+
+OUTPUT_ARCH(arm)
+ENTRY(_stext)
+
+SECTIONS
+{
+ .text : {
+ _stext = ABSOLUTE(.);
+ *(.vectors)
+ *(.text .text.*)
+ *(.fixup)
+ *(.gnu.warning)
+ *(.rodata .rodata.*)
+ *(.gnu.linkonce.t.*)
+ *(.glue_7)
+ *(.glue_7t)
+ *(.got)
+ *(.gcc_except_table)
+ *(.gnu.linkonce.r.*)
+ _etext = ABSOLUTE(.);
+ } > flash
+
+ .init_section : {
+ _sinit = ABSOLUTE(.);
+ *(.init_array .init_array.*)
+ _einit = ABSOLUTE(.);
+ } > flash
+
+ .ARM.extab : {
+ *(.ARM.extab*)
+ } > flash
+
+ __exidx_start = ABSOLUTE(.);
+ .ARM.exidx : {
+ *(.ARM.exidx*)
+ } > flash
+ __exidx_end = ABSOLUTE(.);
+
+ _eronly = ABSOLUTE(.);
+
+ .data : {
+ _sdata = ABSOLUTE(.);
+ *(.data .data.*)
+ *(.gnu.linkonce.d.*)
+ CONSTRUCTORS
+ _edata = ABSOLUTE(.);
+ } > sram AT > flash
+
+ .bss : {
+ _sbss = ABSOLUTE(.);
+ *(.bss .bss.*)
+ *(.gnu.linkonce.b.*)
+ *(COMMON)
+ _ebss = ABSOLUTE(.);
+ } > sram
+
+ /* Stabs debugging sections. */
+
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+ .debug_abbrev 0 : { *(.debug_abbrev) }
+ .debug_info 0 : { *(.debug_info) }
+ .debug_line 0 : { *(.debug_line) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+ .debug_aranges 0 : { *(.debug_aranges) }
+}
diff --git a/nuttx/configs/tm4c1294-launchpad/src/.gitignore b/nuttx/configs/tm4c1294-launchpad/src/.gitignore
new file mode 100644
index 000000000..726d936e1
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/.gitignore
@@ -0,0 +1,2 @@
+/.depend
+/Make.dep
diff --git a/nuttx/configs/tm4c1294-launchpad/src/Makefile b/nuttx/configs/tm4c1294-launchpad/src/Makefile
new file mode 100644
index 000000000..5ce6c83d2
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/Makefile
@@ -0,0 +1,111 @@
+############################################################################
+# configs/dk-tm4c129x/src/Makefile
+#
+# Copyright (C) 2014 Gregory Nutt. All rights reserved.
+# Author: Gregory Nutt <gnutt@nuttx.org>
+#
+# 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.
+#
+############################################################################
+
+-include $(TOPDIR)/Make.defs
+
+CFLAGS += -I$(TOPDIR)/sched
+
+ASRCS =
+AOBJS = $(ASRCS:.S=$(OBJEXT))
+CSRCS = tm4c_boot.c tm4c_bringup.c tm4c_ssi.c
+
+ifeq ($(CONFIG_ARCH_LEDS),y)
+CSRCS += tm4c_autoleds.c
+else
+CSRCS += tm4c_userleds.c
+endif
+
+ifeq ($(CONFIG_ARCH_BUTTONS),y)
+CSRCS += tm4c_buttons.c
+endif
+
+ifeq ($(CONFIG_TIVA_ETHERNET),y)
+CSRCS += tm4c_ethernet.c
+endif
+
+ifeq ($(CONFIG_DK_TM4C129X_TIMER),y)
+CSRCS += tm4c_timer.c
+endif
+
+ifeq ($(CONFIG_NSH_ARCHINIT),y)
+CSRCS += tm4c_nsh.c
+endif
+
+ifeq ($(CONFIG_I2C_LM75),y)
+ifeq ($(CONFIG_TIVA_I2C6),y)
+CSRCS += tm4c_tmp100.c
+endif
+endif
+
+COBJS = $(CSRCS:.c=$(OBJEXT))
+
+SRCS = $(ASRCS) $(CSRCS)
+OBJS = $(AOBJS) $(COBJS)
+
+ARCH_SRCDIR = $(TOPDIR)/arch/$(CONFIG_ARCH)/src
+ifeq ($(WINTOOL),y)
+ CFLAGS += -I "${shell cygpath -w $(ARCH_SRCDIR)/chip}" \
+ -I "${shell cygpath -w $(ARCH_SRCDIR)/common}" \
+ -I "${shell cygpath -w $(ARCH_SRCDIR)/armv7-m}"
+else
+ CFLAGS += -I$(ARCH_SRCDIR)/chip -I$(ARCH_SRCDIR)/common -I$(ARCH_SRCDIR)/armv7-m
+endif
+
+all: libboard$(LIBEXT)
+
+$(AOBJS): %$(OBJEXT): %.S
+ $(call ASSEMBLE, $<, $@)
+
+$(COBJS) $(LINKOBJS): %$(OBJEXT): %.c
+ $(call COMPILE, $<, $@)
+
+libboard$(LIBEXT): $(OBJS)
+ $(call ARCHIVE, $@, $(OBJS))
+
+.depend: Makefile $(SRCS)
+ $(Q) $(MKDEP) $(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
+ $(Q) touch $@
+
+depend: .depend
+
+clean:
+ $(call DELFILE, libboard$(LIBEXT))
+ $(call CLEAN)
+
+distclean: clean
+ $(call DELFILE, Make.dep)
+ $(call DELFILE, .depend)
+
+-include Make.dep
diff --git a/nuttx/configs/tm4c1294-launchpad/src/tm4c1294-launchpad.h b/nuttx/configs/tm4c1294-launchpad/src/tm4c1294-launchpad.h
new file mode 100644
index 000000000..3f036109e
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/tm4c1294-launchpad.h
@@ -0,0 +1,180 @@
+/************************************************************************************
+ * configs/tm4c1294-launchpad/src/ek-tm4c1294xl.h
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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 __CONFIGS_TM4C1294_LAUNCHPAD_TM4C1294_LAUNCHPAD_H
+#define __CONFIGS_TM4C1294_LAUNCHPAD_TM4C1294_LAUNCHPAD_H
+
+/************************************************************************************
+ * Included Files
+ ************************************************************************************/
+
+#include <nuttx/config.h>
+#include <nuttx/compiler.h>
+
+#include "chip.h"
+#include "tiva_gpio.h"
+
+/************************************************************************************
+ * Pre-processor Definitions
+ ************************************************************************************/
+/* Configuration ********************************************************************/
+
+/* How many SSI modules does this chip support? */
+
+#if TIVA_NSSI < 1
+# undef CONFIG_TIVA_SSI0
+# undef CONFIG_TIVA_SSI0
+#elif TIVA_NSSI < 2
+# undef CONFIG_TIVA_SSI0
+#endif
+
+/* LED definitions ******************************************************************/
+/* The EK-TM4C1294XL has a four green LEDs.
+ *
+ * --- ------------
+ * Pin Pin Function
+ * --- ------------
+ * PN1 Green LED D1
+ * PN0 Green LED D2
+ * PF4 Green LED D3
+ * PF0 Green LED D4
+ * --- ------------
+ *
+ * A high output illuminates the LED.
+ */
+
+#define GPIO_LED_D1 (GPIO_FUNC_OUTPUT | GPIO_VALUE_ZERO | GPIO_PORTN | GPIO_PIN_1)
+#define GPIO_LED_D2 (GPIO_FUNC_OUTPUT | GPIO_VALUE_ZERO | GPIO_PORTN | GPIO_PIN_0)
+#define GPIO_LED_D3 (GPIO_FUNC_OUTPUT | GPIO_VALUE_ZERO | GPIO_PORTF | GPIO_PIN_4)
+#define GPIO_LED_D4 (GPIO_FUNC_OUTPUT | GPIO_VALUE_ZERO | GPIO_PORTF | GPIO_PIN_0)
+
+/* Button definitions ***************************************************************/
+/* There are four push buttons on the board. Two of them are user controllable.
+ * The others are RESET and WAKE
+ *
+ * --- ------------
+ * Pin Pin Function
+ * --- ------------
+ * PJ0 USR_SW1
+ * PJ1 USR_SW2
+ * --- ------------
+ */
+#define GPIO_SW1 (GPIO_FUNC_INPUT | GPIO_PORTJ | GPIO_PIN_0)
+#define GPIO_SW2 (GPIO_FUNC_INPUT | GPIO_PORTJ | GPIO_PIN_1)
+
+/* SPI Chip selects ****************************************************************/
+/* SSI0: PA3 is used for SSI0 chip select to the second booster pack (No pull-
+* ups)
+ * SSI3: PH4 selects the SD card and PQ1 selects the on-board SPI flash. Both
+ * pulled up on board.
+ */
+
+#define GPIO_BSTR2_CS (GPIO_FUNC_OUTPUT | GPIO_PADTYPE_STDWPU | GPIO_STRENGTH_4MA | \
+ GPIO_VALUE_ONE | GPIO_PORTA | GPIO_PIN_3)
+#define GPIO_FLASH_CS (GPIO_FUNC_OUTPUT | GPIO_PADTYPE_STD | GPIO_STRENGTH_4MA | \
+ GPIO_VALUE_ONE | GPIO_PORTH | GPIO_PIN_4)
+#define GPIO_SD_CS (GPIO_FUNC_OUTPUT | GPIO_PADTYPE_STD | GPIO_STRENGTH_4MA | \
+ GPIO_VALUE_ONE | GPIO_PORTH | GPIO_PIN_4)
+
+/* I2C *****************************************************************************/
+/* I2C3: PG4-5 are provide to the BoostPack 1 interface
+ * I2C7: PA4-5 are provide to the BoostPack 2 interface
+ * I2C6: PB6-7 are used for I2C to the TMP100 and the EM connector.
+ * J18 and J20 must be closed to connect the TMP100.
+ * I2C address is 0x4A
+ */
+
+#define TMP100_I2CBUS 6
+#define TMP100_I2CADDR 0x4a
+
+/* Speaker outputs *****************************************************************/
+/* PB2/PD4 are used for the speaker output */
+
+/* Touchscreen *********************************************************************/
+/* PE7/PP7/PT2-3 are used for the touch screen */
+
+/************************************************************************************
+ * Public Functions
+ ************************************************************************************/
+
+#ifndef __ASSEMBLY__
+
+/************************************************************************************
+ * Name: tm4c_ssiinitialize
+ *
+ * Description:
+ * Called to configure SPI chip select GPIO pins for the EK-TM4C1294XL.
+ *
+ ************************************************************************************/
+
+void weak_function tm4c_ssiinitialize(void);
+
+/****************************************************************************
+ * Name: tm4c_ledinit
+ *
+ * Description:
+ * Called to initialize the on-board LEDs.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_ARCH_LEDS
+void tm4c_ledinit(void);
+#endif
+
+/****************************************************************************
+ * Name: tm4c_bringup
+ *
+ * Description:
+ * Bring up board features
+ *
+ ****************************************************************************/
+
+int tm4c_bringup(void);
+
+/****************************************************************************
+ * Name: tiva_timer_initialize
+ *
+ * Description:
+ * Configure the timer driver
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_TM4C1294_LAUNCHPAD_TIMER
+int tiva_timer_initialize(void);
+#endif
+
+#endif /* __ASSEMBLY__ */
+#endif /* __CONFIGS_TM4C1294_LAUNCHPAD_TM4C1294_LAUNCHPAD_H */
+
diff --git a/nuttx/configs/tm4c1294-launchpad/src/tm4c_autoleds.c b/nuttx/configs/tm4c1294-launchpad/src/tm4c_autoleds.c
new file mode 100644
index 000000000..940a24ff5
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/tm4c_autoleds.c
@@ -0,0 +1,161 @@
+/****************************************************************************
+ * configs/tm4c1294-launchpad/src/tm4c_autoleds.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <debug.h>
+
+#include <arch/board/board.h>
+
+#include "tiva_gpio.h"
+#include "tm4c1294-launchpad.h"
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: tm4c_ledinit
+ *
+ * Description:
+ * Called to initialize the on-board LEDs.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_ARCH_LEDS
+void tm4c_ledinit(void)
+{
+ /* Configure LED PIOs for output */
+// FIXME: sauttefk
+
+ tiva_configgpio(GPIO_LED_D1);
+ tiva_configgpio(GPIO_LED_D2);
+ tiva_configgpio(GPIO_LED_D3);
+ tiva_configgpio(GPIO_LED_D4);
+}
+
+/****************************************************************************
+ * Name: board_led_on
+ ****************************************************************************/
+
+void board_led_on(int led)
+{
+/* --------------- ------- ---- ----- --------------------
+ * STATE VALUE RED GREEN BLUE
+ * --------------- ------- ---- ----- --------------------
+ * LED_STARTED 0 OFF OFF ON
+ * LED_HEAPALLOCATE 1 NC NC NC
+ * LED_IRQSENABLED 1 NC NC NC
+ * LED_STACKCREATED 2 OFF ON OFF
+ * LED_INIRQ 1 NC NC NC
+ * LED_SIGNAL 1 NC NC NC
+ * LED_ASSERTION 1 NC NC NC
+ * LED_PANIC 3 ON OFF OFF (flashing 2Hz)
+ * --------------- ------- ---- ----- --------------------
+ *
+ * A high output illuminates the LED.
+ */
+
+ switch (led)
+ {
+ case 0: /* R=OFF, G=OFF, B=ON */
+ /* Previous state was all OFF */
+
+ tiva_gpiowrite(GPIO_LED_D1, true);
+ break;
+
+ default:
+ case 1: /* No change */
+ break;
+
+ case 2: /* R=OFF, G=ON, B=OFF */
+ /* Previous state was all: R=OFF, G=OFF, B=ON */
+
+ tiva_gpiowrite(GPIO_LED_D2, true);
+ tiva_gpiowrite(GPIO_LED_D3, false);
+ break;
+
+ case 3: /* R=ON, G=OFF, B=OFF */
+ /* Previous state was all: R=OFF, G=Unknown, B=Unknown */
+
+ tiva_gpiowrite(GPIO_LED_D1, true);
+ tiva_gpiowrite(GPIO_LED_D2, false);
+ tiva_gpiowrite(GPIO_LED_D3, false);
+ break;
+ }
+}
+
+/****************************************************************************
+ * Name: board_led_off
+ ****************************************************************************/
+
+void board_led_off(int led)
+{
+/* --------------- ------- ---- ----- --------------------
+ * STATE VALUE RED GREEN BLUE
+ * --------------- ------- ---- ----- --------------------
+ * LED_STARTED 0 OFF OFF ON
+ * LED_HEAPALLOCATE 1 NC NC NC
+ * LED_IRQSENABLED 1 NC NC NC
+ * LED_STACKCREATED 2 OFF ON OFF
+ * LED_INIRQ 1 NC NC NC
+ * LED_SIGNAL 1 NC NC NC
+ * LED_ASSERTION 1 NC NC NC
+ * LED_PANIC 3 ON OFF OFF (flashing 2Hz)
+ * --------------- ------- ---- ----- --------------------
+ *
+ * A high output illuminates the LED.
+ */
+
+ switch (led)
+ {
+ case 0: /* Will not happen */
+ case 1: /* No change */
+ case 2: /* Will not happen */
+ default:
+ break;
+
+ case 3: /* R=OFF, G=OFF, B=OFF */
+ /* Previous state was all: R=ON, G=OFF, B=OFF */
+
+ tiva_gpiowrite(GPIO_LED_D1, false);
+ }
+}
+
+#endif /* CONFIG_ARCH_LEDS */
diff --git a/nuttx/configs/tm4c1294-launchpad/src/tm4c_boot.c b/nuttx/configs/tm4c1294-launchpad/src/tm4c_boot.c
new file mode 100644
index 000000000..fa0973944
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/tm4c_boot.c
@@ -0,0 +1,114 @@
+/************************************************************************************
+ * configs/tm4c1294xl/src/tm4c_boot.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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.
+ *
+ ************************************************************************************/
+
+/************************************************************************************
+ * Included Files
+ ************************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <debug.h>
+
+#include <arch/board/board.h>
+
+#include "tm4c1294-launchpad.h"
+#include "up_arch.h"
+#include "up_internal.h"
+
+/************************************************************************************
+ * Pre-processor Definitions
+ ************************************************************************************/
+
+/************************************************************************************
+ * Private Functions
+ ************************************************************************************/
+
+/************************************************************************************
+ * Public Functions
+ ************************************************************************************/
+
+/************************************************************************************
+ * Name: tiva_boardinitialize
+ *
+ * Description:
+ * All Tiva architectures must provide the following entry point. This entry
+ * point is called early in the initialization -- after all memory has been
+ * configured and mapped but before any devices have been initialized.
+ *
+ ************************************************************************************/
+
+void tiva_boardinitialize(void)
+{
+ /* Configure SPI chip selects if 1) SSI is not disabled, and 2) the weak function
+ * tm4c_ssiinitialize() has been brought into the link.
+ */
+
+ /* The DK-TM4C129X microSD CS and OLED are on SSI0 */
+
+#if defined(CONFIG_TIVA_SSI0) || defined(CONFIG_TIVA_SSI1)
+ if (tm4c_ssiinitialize)
+ {
+ tm4c_ssiinitialize();
+ }
+#endif
+
+ /* Configure on-board LEDs if LED support has been selected. */
+
+#ifdef CONFIG_ARCH_LEDS
+ tm4c_ledinit();
+#endif
+}
+
+/****************************************************************************
+ * Name: board_initialize
+ *
+ * Description:
+ * If CONFIG_BOARD_INITIALIZE is selected, then an additional
+ * initialization call will be performed in the boot-up sequence to a
+ * function called board_initialize(). board_initialize() will be
+ * called immediately after up_intiialize() is called and just before the
+ * initial application is started. This additional initialization phase
+ * may be used, for example, to initialize board-specific device drivers.
+ *
+ ****************************************************************************/
+
+#ifdef CONFIG_BOARD_INITIALIZE
+void board_initialize(void)
+{
+ /* Perform board initialization */
+
+ (void)tm4c_bringup();
+}
+#endif /* CONFIG_BOARD_INITIALIZE */
diff --git a/nuttx/configs/tm4c1294-launchpad/src/tm4c_bringup.c b/nuttx/configs/tm4c1294-launchpad/src/tm4c_bringup.c
new file mode 100644
index 000000000..c302f4084
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/tm4c_bringup.c
@@ -0,0 +1,105 @@
+/****************************************************************************
+ * config/tm4c1294-launchpad/src/tm4c_bringup.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <debug.h>
+
+#include <arch/board/board.h>
+
+#include "tm4c1294-launchpad.h"
+
+/****************************************************************************
+ * Pre-Processor Definitions
+ ****************************************************************************/
+
+#if defined(CONFIG_I2C) && defined(CONFIG_I2C_LM75) && defined(CONFIG_TIVA_I2C6)
+# define HAVE_TMP100
+#endif
+
+#ifdef CONFIG_DK_TM4C129X_TIMER
+# define HAVE_TIMER
+#endif
+
+#ifdef CONFIG_SYSTEM_LM75_DEVNAME
+# define TMP100_DEVNAME CONFIG_SYSTEM_LM75_DEVNAME
+#else
+# define TMP100_DEVNAME "/dev/temp"
+#endif
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: tm4c_bringup
+ *
+ * Description:
+ * Bring up board features
+ *
+ ****************************************************************************/
+
+int tm4c_bringup(void)
+{
+#if defined(HAVE_TMP100) || defined(HAVE_TIMER)
+ int ret;
+#endif
+
+#ifdef HAVE_TMP100
+ /* Initialize and register the TMP-100 Temperature Sensor driver. */
+
+ ret = tiva_tmp100_initialize(TMP100_DEVNAME);
+ if (ret < 0)
+ {
+ dbg("ERROR: Failed to initialize TMP100 driver: %d\n", ret);
+ }
+#endif
+
+#ifdef HAVE_TIMER
+ /* Initialize the timer driver */
+
+ ret = tiva_timer_initialize();
+ if (ret < 0)
+ {
+ dbg("ERROR: Failed to initialize timer driver: %d\n", ret);
+ }
+#endif
+
+ return OK;
+}
diff --git a/nuttx/configs/tm4c1294-launchpad/src/tm4c_buttons.c b/nuttx/configs/tm4c1294-launchpad/src/tm4c_buttons.c
new file mode 100644
index 000000000..b7300329a
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/tm4c_buttons.c
@@ -0,0 +1,127 @@
+/****************************************************************************
+ * configs/tm4c1294-launchpad/src/tm4c_buttons.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdint.h>
+
+#include <nuttx/arch.h>
+
+#include <arch/irq.h>
+#include <arch/board/board.h>
+
+#include "tm4c1294-launchpad.h"
+
+#ifdef CONFIG_ARCH_BUTTONS
+
+/****************************************************************************
+ * Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Data
+ ****************************************************************************/
+/* Pin configuration for each STM3210E-EVAL button. This array is indexed by
+ * the BUTTON_* and JOYSTICK_* definitions in board.h
+ */
+
+static const uint32_t g_buttons[NUM_BUTTONS] =
+{
+ GPIO_SW1, GPIO_SW2
+};
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: board_button_initialize
+ *
+ * Description:
+ * board_button_initialize() must be called to initialize button resources.
+ * After that, board_buttons() may be called to collect the current state
+ * of all buttons or board_button_irq() may be called to register button
+ * interrupt handlers.
+ *
+ ****************************************************************************/
+
+void board_button_initialize(void)
+{
+ int i;
+
+ /* Configure the GPIO pins as inputs. */
+
+ for (i = 0; i < NUM_BUTTONS; i++)
+ {
+ tiva_configgpio(g_buttons[i]);
+ }
+}
+
+/****************************************************************************
+ * Name: board_buttons
+ ****************************************************************************/
+
+uint8_t board_buttons(void)
+{
+ uint8_t ret = 0;
+ int i;
+
+ /* Check that state of each key */
+
+ for (i = 0; i < NUM_BUTTONS; i++)
+ {
+ /* A LOW value means that the key is pressed. */
+
+ bool released = tiva_gpioread(g_buttons[i]);
+
+ /* Accumulate the set of depressed (not released) keys */
+
+ if (!released)
+ {
+ ret |= (1 << i);
+ }
+ }
+
+ return ret;
+}
+#endif /* CONFIG_ARCH_BUTTONS */
diff --git a/nuttx/configs/tm4c1294-launchpad/src/tm4c_ethernet.c b/nuttx/configs/tm4c1294-launchpad/src/tm4c_ethernet.c
new file mode 100644
index 000000000..f66866034
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/tm4c_ethernet.c
@@ -0,0 +1,99 @@
+/************************************************************************************
+ * configs/tm4c1294-launchpad/src/tm4c_ethernet.c
+ *
+ * Copyright (C) 2015 Gregory Nutt. All rights reserved.
+ * Authors: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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.
+ *
+ ************************************************************************************/
+
+/************************************************************************************
+ * Included Files
+ ************************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdint.h>
+#include <debug.h>
+#include <assert.h>
+
+#include <arch/board/board.h>
+#include <net/ethernet.h>
+
+#include "up_arch.h"
+#include "chip.h"
+#include "chip/tiva_flash.h"
+#include "tiva_ethernet.h"
+
+/************************************************************************************
+ * Pre-processor Definitions
+ ************************************************************************************/
+
+/************************************************************************************
+ * Private Functions
+ ************************************************************************************/
+
+/************************************************************************************
+ * Public Functions
+ ************************************************************************************/
+
+/************************************************************************************
+ * Name: tiva_ethernetmac
+ *
+ * Description:
+ * For the Ethernet Eval Kits, the MAC address will be stored in the non-volatile
+ * USER0 and USER1 registers. If CONFIG_TIVA_BOARDMAC is defined, this function
+ * will obtain the MAC address from these registers.
+ *
+ ************************************************************************************/
+
+#ifdef CONFIG_TIVA_BOARDMAC
+void tiva_ethernetmac(struct ether_addr *ethaddr)
+{
+ uint32_t user0;
+ uint32_t user1;
+
+ /* Get the current value of the user registers */
+
+ user0 = getreg32(TIVA_FLASH_USERREG0);
+ user1 = getreg32(TIVA_FLASH_USERREG1);
+
+ nlldbg("user: %06x:%06x\n", user1 & 0x00ffffff, user0 & 0x00ffffff);
+ DEBUGASSERT(user0 != 0xffffffff && user1 != 0xffffffff);
+
+ /* Re-format that MAC address the way that uIP expects to see it */
+
+ ethaddr->ether_addr_octet[0] = ((user0 >> 0) & 0xff);
+ ethaddr->ether_addr_octet[1] = ((user0 >> 8) & 0xff);
+ ethaddr->ether_addr_octet[2] = ((user0 >> 16) & 0xff);
+ ethaddr->ether_addr_octet[3] = ((user1 >> 0) & 0xff);
+ ethaddr->ether_addr_octet[4] = ((user1 >> 8) & 0xff);
+ ethaddr->ether_addr_octet[5] = ((user1 >> 16) & 0xff);
+}
+#endif
diff --git a/nuttx/configs/tm4c1294-launchpad/src/tm4c_nsh.c b/nuttx/configs/tm4c1294-launchpad/src/tm4c_nsh.c
new file mode 100644
index 000000000..c22e7e40d
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/tm4c_nsh.c
@@ -0,0 +1,71 @@
+/****************************************************************************
+ * config/tm4c1294-launchpad/src/tm4c_nsh.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include "tm4c1294-launchpad.h"
+
+/****************************************************************************
+ * Pre-Processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: nsh_archinitialize
+ *
+ * Description:
+ * Perform architecture specific initialization
+ *
+ ****************************************************************************/
+
+int nsh_archinitialize(void)
+{
+ /* If CONFIG_BOARD_INITIALIZE is selected then board initialization was
+ * already performed in board_initialize.
+ */
+
+#ifndef CONFIG_BOARD_INITIALIZE
+ return tm4c_bringup();
+#else
+ return OK;
+#endif
+}
diff --git a/nuttx/configs/tm4c1294-launchpad/src/tm4c_ssi.c b/nuttx/configs/tm4c1294-launchpad/src/tm4c_ssi.c
new file mode 100644
index 000000000..d5ecffc1e
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/tm4c_ssi.c
@@ -0,0 +1,132 @@
+/************************************************************************************
+ * configs/tm4c1294-launchpad/src/tm4c_ssi.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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.
+ *
+ ************************************************************************************/
+
+/************************************************************************************
+ * Included Files
+ ************************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdint.h>
+#include <stdbool.h>
+#include <debug.h>
+
+#include <nuttx/spi/spi.h>
+#include <arch/board/board.h>
+
+#include "up_arch.h"
+#include "chip.h"
+#include "tiva_gpio.h"
+#include "tm4c1294-launchpad.h"
+
+/* The DK-TM4C129X microSD CS is on SSI0 */
+
+#if defined(CONFIG_TIVA_SSI0) || defined(CONFIG_TIVA_SSI1)
+
+/************************************************************************************
+ * Pre-processor Definitions
+ ************************************************************************************/
+
+/* CONFIG_DEBUG_SPI enables debug output from this file (needs CONFIG_DEBUG too) */
+
+#ifdef CONFIG_DEBUG_SPI
+# define ssidbg lldbg
+#else
+# define ssidbg(x...)
+#endif
+
+/* Dump GPIO registers */
+
+#if defined(CONFIG_DEBUG_SPI) && defined(CONFIG_DEBUG_VERBOSE)
+# define ssivdbg lldbg
+# define ssi_dumpgpio(m) tiva_dumpgpio(SDCCS_GPIO, m)
+#else
+# define ssivdbg(x...)
+# define ssi_dumpgpio(m)
+#endif
+
+/************************************************************************************
+ * Private Functions
+ ************************************************************************************/
+
+/************************************************************************************
+ * Public Functions
+ ************************************************************************************/
+
+/************************************************************************************
+ * Name: tm4c_ssiinitialize
+ *
+ * Description:
+ * Called to configure SPI chip select GPIO pins for the DK-TM4C129X.
+ *
+ ************************************************************************************/
+
+void weak_function tm4c_ssiinitialize(void)
+{
+}
+
+/****************************************************************************
+ * The external functions, tiva_spiselect and tiva_spistatus must be provided
+ * by board-specific logic. The are implementations of the select and status
+ * methods SPI interface defined by struct spi_ops_s (see include/nuttx/spi/spi.h).
+ * All othermethods (including tiva_spiinitialize()) are provided by common
+ * logic. To use this common SPI logic on your board:
+ *
+ * 1. Provide tiva_spiselect() and tiva_spistatus() functions in your
+ * board-specific logic. This function will perform chip selection and
+ * status operations using GPIOs in the way your board is configured.
+ * 2. Add a call to tiva_spiinitialize() in your low level initialization
+ * logic
+ * 3. The handle returned by tiva_spiinitialize() may then be used to bind the
+ * SPI driver to higher level logic (e.g., calling
+ * mmcsd_spislotinitialize(), for example, will bind the SPI driver to
+ * the SPI MMC/SD driver).
+ *
+ ****************************************************************************/
+
+void tiva_spiselect(FAR struct spi_dev_s *dev, enum spi_dev_e devid, bool selected)
+{
+ ssidbg("devid: %d CS: %s\n", (int)devid, selected ? "assert" : "de-assert");
+ ssi_dumpgpio("tiva_spiselect() Entry");
+ ssi_dumpgpio("tiva_spiselect() Exit");
+}
+
+uint8_t tiva_spistatus(FAR struct spi_dev_s *dev, enum spi_dev_e devid)
+{
+ ssidbg("Returning SPI_STATUS_PRESENT\n");
+ return SPI_STATUS_PRESENT;
+}
+
+#endif /* CONFIG_TIVA_SSI0 || CONFIG_TIVA_SSI1 */
diff --git a/nuttx/configs/tm4c1294-launchpad/src/tm4c_timer.c b/nuttx/configs/tm4c1294-launchpad/src/tm4c_timer.c
new file mode 100644
index 000000000..fe3eb51a2
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/tm4c_timer.c
@@ -0,0 +1,115 @@
+/****************************************************************************
+ * config/tm4c1294-launchpad/src/tm4c_timer.c
+ *
+ * Copyright (C) 2015 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <debug.h>
+#include "tiva_timer.h"
+#include "tm4c1294-launchpad.h"
+
+#ifdef CONFIG_TM4C1294_LAUNCHPAD_TIMER
+
+/****************************************************************************
+ * Pre-Processor Definitions
+ ****************************************************************************/
+/* Configuration ************************************************************/
+
+#ifndef CONFIG_TIMER
+# error CONFIG_TIMER is not defined
+#endif
+
+#ifndef CONFIG_TIVA_TIMER32_PERIODIC
+# error CONFIG_TIVA_TIMER32_PERIODIC is not defined
+#endif
+
+#if defined(CONFIG_DK_TM4CTM4C1294_LAUNCHPADX_TIMER0)
+# define GPTM 0
+#elif defined(CONFIG_TM4C1294_LAUNCHPAD_TIMER1)
+# define GPTM 1
+#elif defined(CONFIG_TM4C1294_LAUNCHPAD_TIMER2)
+# define GPTM 2
+#elif defined(CONFIG_TM4C1294_LAUNCHPAD_TIMER3)
+# define GPTM 3
+#elif defined(CONFIG_TM4C1294_LAUNCHPAD_TIMER4)
+# define GPTM 4
+#elif defined(CONFIG_TM4C1294_LAUNCHPAD_TIMER5)
+# define GPTM 5
+#elif defined(CONFIG_TM4C1294_LAUNCHPAD_TIMER6)
+# define GPTM 6
+#elif defined(CONFIG_TM4C1294_LAUNCHPAD_TIMER7)
+# define GPTM 7
+#else
+# error No CONFIG_TM4C1294_LAUNCHPAD_TIMERn definition
+#endif
+
+#ifndef CONFIG_TM4C1294_LAUNCHPAD_TIMER_DEVNAME
+# define CONFIG_TM4C1294_LAUNCHPAD_TIMER_DEVNAME "/dev/timer0"
+#endif
+
+#undef CONFIG_TM4C1294_LAUNCHPAD_TIMER_ALTCLK
+#define ALTCLK false
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: tiva_timer_initialize
+ *
+ * Description:
+ * Configure the timer driver
+ *
+ ****************************************************************************/
+
+int tiva_timer_initialize(void)
+{
+ int ret;
+
+ timvdbg("Registering TIMER%d at %s\n", GPTM, CONFIG_TM4C1294_LAUNCHPAD_TIMER_DEVNAME);
+
+ ret = tiva_timer_register(CONFIG_TM4C1294_LAUNCHPAD_TIMER_DEVNAME, GPTM, ALTCLK);
+ if (ret < 0)
+ {
+ timdbg("ERROR: Failed to register timer driver: %d\n", ret);
+ }
+
+ return ret;
+}
+
+#endif /* CONFIG_TM4C1294_LAUNCHPAD_TIMER */
diff --git a/nuttx/configs/tm4c1294-launchpad/src/tm4c_tmp100.c b/nuttx/configs/tm4c1294-launchpad/src/tm4c_tmp100.c
new file mode 100644
index 000000000..8a871677b
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/tm4c_tmp100.c
@@ -0,0 +1,102 @@
+/****************************************************************************
+ħ * configs/tm4c1294-launchpad/src/tiva_tmp100.c
+ *
+ * Copyright (C) 2015 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <errno.h>
+
+#include <nuttx/i2c.h>
+#include <nuttx/sensors/lm75.h>
+#include "tiva_i2c.h"
+#include "tm4c1294-launchpad.h"
+
+#if defined(CONFIG_I2C) && defined(CONFIG_I2C_LM75) && \
+ defined(CONFIG_TIVA_I2C6)
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Private Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: tiva_tmp100_initialize
+ *
+ * Description:
+ * Initialize and register the LM-75 Temperature Sensor driver.
+ *
+ * Input parameters:
+ * devpath - The full path to the driver to register. E.g., "/dev/temp0"
+ *
+ * Returned Value:
+ * Zero (OK) on success; a negated errno value on failure.
+ *
+ ****************************************************************************/
+
+int tiva_tmp100_initialize(FAR const char *devpath)
+{
+ FAR struct i2c_dev_s *i2c;
+ int ret;
+
+ /* Get an instance of the I2C6 interface */
+
+ i2c = up_i2cinitialize(TMP100_I2CBUS);
+ if (!i2c)
+ {
+ return -ENODEV;
+ }
+
+ /* Then register the temperature sensor */
+
+ ret = lm75_register(devpath, i2c, TMP100_I2CADDR);
+ if (ret < 0)
+ {
+ (void)up_i2cuninitialize(i2c);
+ }
+
+ return ret;
+}
+
+#endif /* CONFIG_I2C && CONFIG_I2C_LM75 && CONFIG_TIVA_I2C6 */
diff --git a/nuttx/configs/tm4c1294-launchpad/src/tm4c_userleds.c b/nuttx/configs/tm4c1294-launchpad/src/tm4c_userleds.c
new file mode 100644
index 000000000..84d76482e
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/src/tm4c_userleds.c
@@ -0,0 +1,153 @@
+/****************************************************************************
+ * configs/tm4c1294-launchpad/src/tm4c_userleds.c
+ *
+ * Copyright (C) 2014 Gregory Nutt. All rights reserved.
+ * Author: Gregory Nutt <gnutt@nuttx.org>
+ *
+ * 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.
+ *
+ ****************************************************************************/
+/* The EK-TM4C1294XL has a four green LEDs.
+ *
+ * --- ------------
+ * Pin Pin Function
+ * --- ------------
+ * PN1 Green LED D1
+ * PN0 Green LED D2
+ * PF4 Green LED D3
+ * PF0 Green LED D4
+ * --- ------------
+ *
+ * A high output illuminates the LED.
+ */
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+#include <stdint.h>
+#include <stdbool.h>
+#include <debug.h>
+
+#include <arch/board/board.h>
+
+#include "tiva_gpio.h"
+#include "tm4c1294-launchpad.h"
+
+#ifndef CONFIG_ARCH_LEDS
+
+/****************************************************************************
+ * Pre-processor Definitions
+ ****************************************************************************/
+
+/* CONFIG_DEBUG_LEDS enables debug output from this file (needs CONFIG_DEBUG
+ * with CONFIG_DEBUG_VERBOSE too)
+ */
+
+#ifdef CONFIG_DEBUG_LEDS
+# define leddbg lldbg
+# define ledvdbg llvdbg
+#else
+# define leddbg(x...)
+# define ledvdbg(x...)
+#endif
+
+/****************************************************************************
+ * Public Functions
+ ****************************************************************************/
+
+/****************************************************************************
+ * Name: tiva_ledinit
+ ****************************************************************************/
+
+void tiva_ledinit(void)
+{
+ /* Configure LED PIOs for output */
+
+ tiva_configgpio(GPIO_LED_D1);
+ tiva_configgpio(GPIO_LED_D2);
+ tiva_configgpio(GPIO_LED_D3);
+ tiva_configgpio(GPIO_LED_D4);
+}
+
+/****************************************************************************
+ * Name: tiva_setled
+ ****************************************************************************/
+
+void tiva_setled(int led, bool ledon)
+{
+ uint32_t ledcfg;
+
+ if (led == BOARD_LED_D1)
+ {
+ ledcfg = GPIO_LED_D1;
+ }
+ else if (led == BOARD_LED_D2)
+ {
+ ledcfg = GPIO_LED_D2;
+ }
+ else if (led == BOARD_LED_D3)
+ {
+ ledcfg = GPIO_LED_D3;
+ }
+ else if (led == BOARD_LED_D4)
+ {
+ ledcfg = GPIO_LED_D4;
+ }
+ else
+ {
+ return;
+ }
+
+ tiva_gpiowrite(ledcfg, ledon);
+}
+
+/****************************************************************************
+ * Name: tiva_setleds
+ ****************************************************************************/
+
+void tiva_setleds(uint8_t ledset)
+{
+ bool ledon;
+
+ ledon = ((ledset & BOARD_LED_D1_BIT) != 0);
+ tiva_gpiowrite(GPIO_LED_D1, ledon);
+
+ ledon = ((ledset & BOARD_LED_D2_BIT) != 0);
+ tiva_gpiowrite(GPIO_LED_D2, ledon);
+
+ ledon = ((ledset & BOARD_LED_D3_BIT) != 0);
+ tiva_gpiowrite(GPIO_LED_D3, ledon);
+
+ ledon = ((ledset & BOARD_LED_D4_BIT) != 0);
+ tiva_gpiowrite(GPIO_LED_D4, ledon);
+}
+
+#endif /* !CONFIG_ARCH_LEDS */
diff --git a/nuttx/configs/tm4c1294-launchpad/tools/ek-tm4c1294xl.cfg b/nuttx/configs/tm4c1294-launchpad/tools/ek-tm4c1294xl.cfg
index ac8fe53a0..76362aa4b 100644
--- a/nuttx/configs/tm4c1294-launchpad/tools/ek-tm4c1294xl.cfg
+++ b/nuttx/configs/tm4c1294-launchpad/tools/ek-tm4c1294xl.cfg
@@ -5,8 +5,8 @@
#
source [find interface/ti-icdi.cfg]
+transport select hla_jtag
-set WORKAREASIZE 0x40000 # RAM size
+set WORKAREASIZE 0x40000
set CHIPNAME tm4c1294ncpdt
-
-source [find target/stellaris_icdi.cfg]
+source [find target/stellaris.cfg]
diff --git a/nuttx/configs/tm4c1294-launchpad/tools/oocd.sh b/nuttx/configs/tm4c1294-launchpad/tools/oocd.sh
new file mode 100644
index 000000000..e0f6361ca
--- /dev/null
+++ b/nuttx/configs/tm4c1294-launchpad/tools/oocd.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+#
+# See configs/tm4c1294-launchpad/README.txt for information about
+# this file.
+
+TOPDIR=$1
+USAGE="$0 <TOPDIR> [-d]"
+if [ -z "${TOPDIR}" ]; then
+ echo "Missing argument"
+ echo $USAGE
+ exit 1
+fi
+
+# Assume that OpenOCD was installed and at /usr/local/bin. Uncomment
+# the following to run directly from the build directory
+
+# OPENOCD_PATH="/home/OpenOCD/openocd/src"
+OPENOCD_PATH="/usr/bin"
+# OPENOCD_PATH="/usr/local/bin"
+
+# TARGET_PATH="/home/OpenOCD/openocd/tcl"
+TARGET_PATH="/usr/share/openocd/scripts"
+# TARGET_PATH="/usr/local/share/openocd/scripts"
+
+# Assume a Unix development environment. Uncomment to use a Windows
+# like environment
+
+# OPENOCD_EXE=openocd.exe
+OPENOCD_EXE=openocd
+
+OPENOCD_CFG="${TOPDIR}/configs/tm4c1294-launchpad/tools/ek-tm4c1294xl.cfg"
+OPENOCD_ARGS="-f ${OPENOCD_CFG} -s ${TARGET_PATH}"
+
+if [ "X$2" = "X-d" ]; then
+ OPENOCD_ARGS=$OPENOCD_ARGS" -d3"
+ set -x
+fi
+
+if [ ! -d ${OPENOCD_PATH} ]; thenf
+ echo "OpenOCD path does not exist: ${OPENOCD_PATH}"
+ exit 1
+fi
+if [ ! -x ${OPENOCD_PATH}/${OPENOCD_EXE} ]; then
+ echo "OpenOCD does not exist: ${OPENOCD_PATH}/${OPENOCD_EXE}"
+ exit 1
+fi
+if [ ! -f ${OPENOCD_CFG} ]; then
+ echo "OpenOCD config file does not exist: ${OPENOCD_CFG}"
+ exit 1
+fi
+
+echo "Starting OpenOCD"
+cd ${OPENOCD_PATH} || { echo "Failed to CD to ${OPENOCD_PATH}"; exit 1; }
+${OPENOCD_EXE} ${OPENOCD_ARGS} &
+echo "OpenOCD daemon started"
+ps -ef | grep openocd
+echo "In GDB: target remote localhost:3333"