diff --git a/arch/arm/include/tiva/tm4c_irq.h b/arch/arm/include/tiva/tm4c_irq.h index 73c8142c46..c780139244 100644 --- a/arch/arm/include/tiva/tm4c_irq.h +++ b/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/arch/arm/src/tiva/chip/tm4c_flash.h b/arch/arm/src/tiva/chip/tm4c_flash.h index 7fa8ce68ee..d18a07581e 100644 --- a/arch/arm/src/tiva/chip/tm4c_flash.h +++ b/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/arch/arm/src/tiva/chip/tm4c_memorymap.h b/arch/arm/src/tiva/chip/tm4c_memorymap.h index 9d0945aaf6..b3ddec7c2a 100644 --- a/arch/arm/src/tiva/chip/tm4c_memorymap.h +++ b/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) */ @@ -448,6 +448,112 @@ # 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 */ +#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 */ diff --git a/arch/arm/src/tiva/chip/tm4c_pinmap.h b/arch/arm/src/tiva/chip/tm4c_pinmap.h index cedd310579..ab6b619a75 100644 --- a/arch/arm/src/tiva/chip/tm4c_pinmap.h +++ b/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/arch/arm/src/tiva/chip/tm4c_vectors.h b/arch/arm/src/tiva/chip/tm4c_vectors.h index a1a0acf959..7322a300d2 100644 --- a/arch/arm/src/tiva/chip/tm4c_vectors.h +++ b/arch/arm/src/tiva/chip/tm4c_vectors.h @@ -528,6 +528,147 @@ VECTOR(tiva_gpiot, TIVA_IRQ_GPIOT) /* Vector 127: GPIO Port T */ 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" diff --git a/configs/Kconfig b/configs/Kconfig index dddbabfec2..f61b340004 100644 --- a/configs/Kconfig +++ b/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/configs/dk-tm4c129x/README.txt b/configs/dk-tm4c129x/README.txt index a69bca37fa..a8bd9d1269 100644 --- a/configs/dk-tm4c129x/README.txt +++ b/configs/dk-tm4c129x/README.txt @@ -995,7 +995,7 @@ Where 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/configs/dk-tm4c129x/tools/dk-tm4c129x.cfg b/configs/dk-tm4c129x/tools/dk-tm4c129x.cfg index 64802e1c67..98d7dcc35c 100644 --- a/configs/dk-tm4c129x/tools/dk-tm4c129x.cfg +++ b/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/configs/tm4c1294-launchpad/Kconfig b/configs/tm4c1294-launchpad/Kconfig new file mode 100644 index 0000000000..5237d3b6bd --- /dev/null +++ b/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/configs/tm4c1294-launchpad/include/board.h b/configs/tm4c1294-launchpad/include/board.h new file mode 100644 index 0000000000..2bf6353a74 --- /dev/null +++ b/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 + * + * 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 +#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/configs/tm4c1294-launchpad/ipv6/Make.defs b/configs/tm4c1294-launchpad/ipv6/Make.defs new file mode 100644 index 0000000000..918bf985f6 --- /dev/null +++ b/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 +# +# 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/configs/tm4c1294-launchpad/ipv6/defconfig b/configs/tm4c1294-launchpad/ipv6/defconfig new file mode 100644 index 0000000000..e45b07c55d --- /dev/null +++ b/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/configs/tm4c1294-launchpad/ipv6/setenv.sh b/configs/tm4c1294-launchpad/ipv6/setenv.sh new file mode 100755 index 0000000000..392fe161f7 --- /dev/null +++ b/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 +# +# 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/configs/tm4c1294-launchpad/nsh/Make.defs b/configs/tm4c1294-launchpad/nsh/Make.defs new file mode 100644 index 0000000000..377d1e1e39 --- /dev/null +++ b/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 +# +# 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/configs/tm4c1294-launchpad/nsh/defconfig b/configs/tm4c1294-launchpad/nsh/defconfig new file mode 100644 index 0000000000..d88f5f2dd7 --- /dev/null +++ b/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/configs/tm4c1294-launchpad/nsh/setenv.sh b/configs/tm4c1294-launchpad/nsh/setenv.sh new file mode 100755 index 0000000000..a479847e40 --- /dev/null +++ b/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 +# +# 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/configs/tm4c1294-launchpad/scripts/ld.script b/configs/tm4c1294-launchpad/scripts/ld.script new file mode 100755 index 0000000000..b60907a404 --- /dev/null +++ b/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 + * + * 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/configs/tm4c1294-launchpad/src/.gitignore b/configs/tm4c1294-launchpad/src/.gitignore new file mode 100644 index 0000000000..726d936e1e --- /dev/null +++ b/configs/tm4c1294-launchpad/src/.gitignore @@ -0,0 +1,2 @@ +/.depend +/Make.dep diff --git a/configs/tm4c1294-launchpad/src/Makefile b/configs/tm4c1294-launchpad/src/Makefile new file mode 100644 index 0000000000..5ce6c83d28 --- /dev/null +++ b/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 +# +# 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/configs/tm4c1294-launchpad/src/tm4c1294-launchpad.h b/configs/tm4c1294-launchpad/src/tm4c1294-launchpad.h new file mode 100644 index 0000000000..3f036109ed --- /dev/null +++ b/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 + * + * 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 +#include + +#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/configs/tm4c1294-launchpad/src/tm4c_autoleds.c b/configs/tm4c1294-launchpad/src/tm4c_autoleds.c new file mode 100644 index 0000000000..940a24ff5c --- /dev/null +++ b/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 + * + * 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 + +#include + +#include + +#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/configs/tm4c1294-launchpad/src/tm4c_boot.c b/configs/tm4c1294-launchpad/src/tm4c_boot.c new file mode 100644 index 0000000000..fa09739446 --- /dev/null +++ b/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 + * + * 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 + +#include + +#include + +#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/configs/tm4c1294-launchpad/src/tm4c_bringup.c b/configs/tm4c1294-launchpad/src/tm4c_bringup.c new file mode 100644 index 0000000000..c302f4084d --- /dev/null +++ b/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 + * + * 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 + +#include + +#include + +#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/configs/tm4c1294-launchpad/src/tm4c_buttons.c b/configs/tm4c1294-launchpad/src/tm4c_buttons.c new file mode 100644 index 0000000000..b7300329aa --- /dev/null +++ b/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 + * + * 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 + +#include + +#include + +#include +#include + +#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/configs/tm4c1294-launchpad/src/tm4c_ethernet.c b/configs/tm4c1294-launchpad/src/tm4c_ethernet.c new file mode 100644 index 0000000000..f668660342 --- /dev/null +++ b/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 + * + * 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 + +#include +#include +#include + +#include +#include + +#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/configs/tm4c1294-launchpad/src/tm4c_nsh.c b/configs/tm4c1294-launchpad/src/tm4c_nsh.c new file mode 100644 index 0000000000..c22e7e40d3 --- /dev/null +++ b/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 + * + * 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 + +#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/configs/tm4c1294-launchpad/src/tm4c_ssi.c b/configs/tm4c1294-launchpad/src/tm4c_ssi.c new file mode 100644 index 0000000000..d5ecffc1e8 --- /dev/null +++ b/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 + * + * 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 + +#include +#include +#include + +#include +#include + +#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/configs/tm4c1294-launchpad/src/tm4c_timer.c b/configs/tm4c1294-launchpad/src/tm4c_timer.c new file mode 100644 index 0000000000..fe3eb51a27 --- /dev/null +++ b/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 + * + * 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 + +#include +#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/configs/tm4c1294-launchpad/src/tm4c_tmp100.c b/configs/tm4c1294-launchpad/src/tm4c_tmp100.c new file mode 100644 index 0000000000..8a871677b0 --- /dev/null +++ b/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 + * + * 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 + +#include + +#include +#include +#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/configs/tm4c1294-launchpad/src/tm4c_userleds.c b/configs/tm4c1294-launchpad/src/tm4c_userleds.c new file mode 100644 index 0000000000..84d76482e7 --- /dev/null +++ b/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 + * + * 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 + +#include +#include +#include + +#include + +#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/configs/tm4c1294-launchpad/tools/ek-tm4c1294xl.cfg b/configs/tm4c1294-launchpad/tools/ek-tm4c1294xl.cfg index ac8fe53a0a..76362aa4b9 100644 --- a/configs/tm4c1294-launchpad/tools/ek-tm4c1294xl.cfg +++ b/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/configs/tm4c1294-launchpad/tools/oocd.sh b/configs/tm4c1294-launchpad/tools/oocd.sh new file mode 100644 index 0000000000..e0f6361cad --- /dev/null +++ b/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 [-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"