Support the the TC3200 from Jim Ewing
This commit is contained in:
parent
032ff50313
commit
e3258a3b1f
300
arch/arm/include/tiva/cc3200_irq.h
Normal file
300
arch/arm/include/tiva/cc3200_irq.h
Normal file
@ -0,0 +1,300 @@
|
||||
/************************************************************************************
|
||||
* arch/arm/include/tiva/cc3200_irq.h
|
||||
*
|
||||
* Copyright (C) 2014 Droidifi LLC.
|
||||
* Author: Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Adapted for the cc3200 from code:
|
||||
*
|
||||
* Copyright (C) 2011-2012 Gregory Nutt.
|
||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* All rights reserved.
|
||||
*
|
||||
* 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 Droidifi nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __ARCH_ARM_INCLUDE_TIVA_CC3200_IRQ_H
|
||||
#define __ARCH_ARM_INCLUDE_TIVA_CC3200_IRQ_H
|
||||
|
||||
/************************************************************************************
|
||||
* Included Files
|
||||
************************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
/************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
************************************************************************************/
|
||||
|
||||
/* IRQ numbers. The IRQ number corresponds vector number and hence map directly to
|
||||
* bits in the NVIC. This does, however, waste several words of memory in the IRQ
|
||||
* to handle mapping tables.
|
||||
*/
|
||||
|
||||
/* External interrupts (vectors >= 16) */
|
||||
|
||||
#define TIVA_IRQ_INTERRUPTS (16) /* Vector number of the first external interrupt */
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# 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_RESERVED_20 (20) /* Vector 20: Reserved */
|
||||
# define TIVA_IRQ_UART0 (21) /* Vector 21: UART 0 */
|
||||
# define TIVA_IRQ_UART1 (22) /* Vector 22: UART 1 */
|
||||
# define TIVA_RESERVED_23 (23) /* Vector 23: Reserved */
|
||||
# define TIVA_IRQ_I2C0 (24) /* Vector 24: I2C 0 */
|
||||
|
||||
# define TIVA_RESERVED_25 (25) /* Vector 25: Reserved */
|
||||
# define TIVA_RESERVED_26 (26) /* Vector 26: Reserved */
|
||||
# define TIVA_RESERVED_27 (27) /* Vector 27: Reserved */
|
||||
# define TIVA_RESERVED_28 (28) /* Vector 28: Reserved */
|
||||
# define TIVA_RESERVED_29 (29) /* Vector 29: Reserved */
|
||||
|
||||
# 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_RESERVED_41 (41) /* Vector 41: Reserved */
|
||||
# define TIVA_RESERVED_42 (42) /* Vector 42: Reserved */
|
||||
# define TIVA_RESERVED_43 (43) /* Vector 43: Reserved */
|
||||
|
||||
# define TIVA_IRQ_SYSCON (44) /* Vector 44: System Control */
|
||||
# define TIVA_IRQ_FLASHCON (45) /* Vector 45: FLASH and EEPROM Control */
|
||||
|
||||
# define TIVA_RESERVED_46 (46) /* Vector 46: Reserved */
|
||||
# define TIVA_RESERVED_47 (47) /* Vector 47: Reserved */
|
||||
# define TIVA_RESERVED_48 (48) /* Vector 48: Reserved */
|
||||
# define TIVA_RESERVED_49 (49) /* Vector 49: Reserved */
|
||||
# define TIVA_RESERVED_50 (50) /* Vector 50: Reserved */
|
||||
|
||||
# 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_RESERVED_53 (53) /* Vector 53: Reserved */
|
||||
# define TIVA_RESERVED_54 (54) /* Vector 54: Reserved */
|
||||
# define TIVA_RESERVED_55 (55) /* Vector 55: Reserved */
|
||||
# define TIVA_RESERVED_56 (56) /* Vector 56: Reserved */
|
||||
# define TIVA_RESERVED_57 (57) /* Vector 57: Reserved */
|
||||
# define TIVA_RESERVED_58 (58) /* Vector 58: Reserved */
|
||||
|
||||
# define TIVA_IRQ_HIBERNATE (59) /* Vector 59: Hibernation Module */
|
||||
|
||||
# define TIVA_RESERVED_60 (60) /* Vector 60: Reserved */
|
||||
# define TIVA_RESERVED_61 (61) /* Vector 61: Reserved */
|
||||
|
||||
# define TIVA_IRQ_UDMASOFT (62) /* Vector 62: uDMA Software */
|
||||
# define TIVA_IRQ_UDMAERROR (63) /* Vector 63: uDMA Error */
|
||||
|
||||
# define TIVA_IRQ_ADC1_0 (64) /* Vector 64: ADC1 Sequence 0 */
|
||||
# define TIVA_IRQ_ADC1_1 (65) /* Vector 65: ADC1 Sequence 1 */
|
||||
# define TIVA_IRQ_ADC1_2 (66) /* Vector 66: ADC1 Sequence 2 */
|
||||
# define TIVA_IRQ_ADC1_3 (67) /* Vector 67: ADC1 Sequence 3 */
|
||||
# define TIVA_IRQ_I2S0 (68) /* Vector 68: I2S0 */
|
||||
# define TIVA_IRQ_EPI (69) /* Vector 69: EPI */
|
||||
|
||||
# define TIVA_RESERVED_70 (70) /* Vector 70: Reserved */
|
||||
# define TIVA_RESERVED_71 (71) /* Vector 71: Reserved */
|
||||
# define TIVA_RESERVED_72 (72) /* Vector 72: Reserved */
|
||||
# define TIVA_RESERVED_73 (73) /* Vector 73: Reserved */
|
||||
# define TIVA_RESERVED_74 (74) /* Vector 74: Reserved */
|
||||
# define TIVA_RESERVED_75 (75) /* Vector 75: Reserved */
|
||||
# define TIVA_RESERVED_76 (76) /* Vector 76: Reserved */
|
||||
# define TIVA_RESERVED_77 (77) /* Vector 77: Reserved */
|
||||
# define TIVA_RESERVED_78 (78) /* Vector 78: Reserved */
|
||||
# define TIVA_RESERVED_79 (79) /* Vector 79: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_80 (80) /* Vector 80: Reserved */
|
||||
# define TIVA_RESERVED_81 (81) /* Vector 81: Reserved */
|
||||
# define TIVA_RESERVED_82 (82) /* Vector 82: Reserved */
|
||||
# define TIVA_RESERVED_83 (83) /* Vector 83: Reserved */
|
||||
# define TIVA_RESERVED_84 (84) /* Vector 84: Reserved */
|
||||
# define TIVA_RESERVED_85 (85) /* Vector 85: Reserved */
|
||||
# define TIVA_RESERVED_86 (86) /* Vector 86: Reserved */
|
||||
# define TIVA_RESERVED_87 (87) /* Vector 87: Reserved */
|
||||
# define TIVA_RESERVED_88 (88) /* Vector 88: Reserved */
|
||||
# define TIVA_RESERVED_89 (89) /* Vector 89: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_90 (90) /* Vector 90: Reserved */
|
||||
# define TIVA_RESERVED_91 (91) /* Vector 91: Reserved */
|
||||
# define TIVA_RESERVED_92 (92) /* Vector 92: Reserved */
|
||||
# define TIVA_RESERVED_93 (93) /* Vector 93: Reserved */
|
||||
# define TIVA_RESERVED_94 (94) /* Vector 94: Reserved */
|
||||
# define TIVA_RESERVED_95 (95) /* Vector 95: Reserved */
|
||||
# define TIVA_RESERVED_96 (96) /* Vector 96: Reserved */
|
||||
# define TIVA_RESERVED_97 (97) /* Vector 97: Reserved */
|
||||
# define TIVA_RESERVED_98 (98) /* Vector 98: Reserved */
|
||||
# define TIVA_RESERVED_99 (99) /* Vector 99: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_100 (100) /* Vector 100: Reserved */
|
||||
# define TIVA_RESERVED_101 (101) /* Vector 101: Reserved */
|
||||
# define TIVA_RESERVED_102 (102) /* Vector 102: Reserved */
|
||||
# define TIVA_RESERVED_103 (103) /* Vector 103: Reserved */
|
||||
# define TIVA_RESERVED_104 (104) /* Vector 104: Reserved */
|
||||
# define TIVA_RESERVED_105 (105) /* Vector 105: Reserved */
|
||||
# define TIVA_RESERVED_106 (106) /* Vector 106: Reserved */
|
||||
# define TIVA_RESERVED_107 (107) /* Vector 107: Reserved */
|
||||
# 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 (112) /* Vector 112: Reserved */
|
||||
# define TIVA_RESERVED_113 (113) /* Vector 113: Reserved */
|
||||
# define TIVA_RESERVED_114 (114) /* Vector 114: Reserved */
|
||||
# define TIVA_RESERVED_115 (115) /* Vector 115: Reserved */
|
||||
# define TIVA_RESERVED_116 (116) /* Vector 116: Reserved */
|
||||
# define TIVA_RESERVED_117 (117) /* Vector 117: Reserved */
|
||||
# define TIVA_RESERVED_118 (118) /* Vector 118: Reserved */
|
||||
# define TIVA_RESERVED_119 (119) /* Vector 119: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_120 (120) /* Vector 120: Reserved */
|
||||
# define TIVA_RESERVED_121 (121) /* Vector 121: Reserved */
|
||||
# define TIVA_IRQ_SYSTEM (122) /* Vector 122: System Exception (imprecise) */
|
||||
# define TIVA_RESERVED_123 (123) /* Vector 123: Reserved */
|
||||
# define TIVA_RESERVED_124 (124) /* Vector 124: Reserved */
|
||||
# define TIVA_RESERVED_125 (125) /* Vector 125: Reserved */
|
||||
# define TIVA_RESERVED_126 (126) /* Vector 126: Reserved */
|
||||
# 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 TIVA_RESERVED_130 (130) /* Vector 130: Reserved */
|
||||
# define TIVA_RESERVED_131 (131) /* Vector 131: Reserved */
|
||||
# define TIVA_RESERVED_132 (132) /* Vector 132: Reserved */
|
||||
# define TIVA_RESERVED_133 (133) /* Vector 133: Reserved */
|
||||
# define TIVA_RESERVED_134 (134) /* Vector 134: Reserved */
|
||||
# define TIVA_RESERVED_135 (135) /* Vector 135: Reserved */
|
||||
# define TIVA_RESERVED_136 (136) /* Vector 136: Reserved */
|
||||
# define TIVA_RESERVED_137 (137) /* Vector 137: Reserved */
|
||||
# define TIVA_RESERVED_138 (138) /* Vector 138: Reserved */
|
||||
# define TIVA_RESERVED_139 (139) /* Vector 139: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_140 (140) /* Vector 140: Reserved */
|
||||
# define TIVA_RESERVED_141 (141) /* Vector 141: Reserved */
|
||||
# define TIVA_RESERVED_142 (142) /* Vector 142: Reserved */
|
||||
# define TIVA_RESERVED_143 (143) /* Vector 143: Reserved */
|
||||
# define TIVA_RESERVED_144 (144) /* Vector 144: Reserved */
|
||||
# define TIVA_RESERVED_145 (145) /* Vector 145: Reserved */
|
||||
# define TIVA_RESERVED_146 (146) /* Vector 146: Reserved */
|
||||
# define TIVA_RESERVED_147 (147) /* Vector 147: Reserved */
|
||||
# define TIVA_RESERVED_148 (148) /* Vector 148: Reserved */
|
||||
# define TIVA_RESERVED_149 (149) /* Vector 149: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_150 (150) /* Vector 150: Reserved */
|
||||
# define TIVA_RESERVED_151 (151) /* Vector 151: Reserved */
|
||||
# define TIVA_RESERVED_152 (152) /* Vector 152: Reserved */
|
||||
# define TIVA_RESERVED_153 (153) /* Vector 153: Reserved */
|
||||
# define TIVA_RESERVED_154 (154) /* Vector 154: Reserved */
|
||||
# define TIVA_RESERVED_155 (155) /* Vector 155: Reserved */
|
||||
# define TIVA_RESERVED_156 (156) /* Vector 156: Reserved */
|
||||
# define TIVA_RESERVED_157 (157) /* Vector 157: Reserved */
|
||||
# define TIVA_RESERVED_158 (158) /* Vector 158: Reserved */
|
||||
# define TIVA_RESERVED_159 (159) /* Vector 159: Reserved */
|
||||
|
||||
# define TIVA_RESERVED_160 (160) /* Vector 160: Reserved */
|
||||
# define TIVA_RESERVED_161 (161) /* Vector 161: Reserved */
|
||||
# define TIVA_RESERVED_162 (162) /* Vector 162: Reserved */
|
||||
# define TIVA_RESERVED_163 (163) /* Vector 162: Reserved */
|
||||
# define TIVA_IRQ_SHA (164) /* Vector 162: SHA HW */
|
||||
# define TIVA_RESERVED_165 (165) /* Vector 165: Reserved */
|
||||
# define TIVA_RESERVED_166 (166) /* Vector 166: Reserved */
|
||||
# define TIVA_IRQ_AES (167) /* Vector 167: AES HW */
|
||||
# define TIVA_RESERVED_168 (168) /* Vector 168: Reserved */
|
||||
# define TIVA_IRQ_DES (169) /* Vector 169: DES HW */
|
||||
|
||||
# define TIVA_RESERVED_170 (170) /* Vector 170: Reserved */
|
||||
# define TIVA_RESERVED_171 (171) /* Vector 171: Reserved */
|
||||
# define TIVA_RESERVED_172 (172) /* Vector 172: Reserved */
|
||||
# define TIVA_RESERVED_173 (173) /* Vector 173: Reserved */
|
||||
# define TIVA_RESERVED_174 (174) /* Vector 174: Reserved */
|
||||
# define TIVA_RESERVED_175 (175) /* Vector 175: Reserved */
|
||||
# define TIVA_RESERVED_176 (176) /* Vector 176: Reserved */
|
||||
# define TIVA_IRQ_MC_ASP_0 (177) /* Vector 177: McASP 0 */
|
||||
# define TIVA_RESERVED_178 (178) /* Vector 178: Reserved */
|
||||
# define TIVA_IRQ_CAM_0 (179) /* Vector 179: Camera A0 */
|
||||
|
||||
# define TIVA_RESERVED_180 (180) /* Vector 180: Reserved */
|
||||
# define TIVA_RESERVED_181 (181) /* Vector 181: Reserved */
|
||||
# define TIVA_RESERVED_182 (182) /* Vector 182: Reserved */
|
||||
# define TIVA_RESERVED_183 (183) /* Vector 183: Reserved */
|
||||
# define TIVA_IRQ_RAM_ERR (184) /* Vector 184: RAM Err */
|
||||
# define TIVA_RESERVED_185 (185) /* Vector 185: Reserved */
|
||||
# define TIVA_RESERVED_186 (186) /* Vector 186: Reserved */
|
||||
# define TIVA_IRQ_NWPIC (187) /* Vector 187: NWP IC interocessor comm */
|
||||
# define TIVA_IRQ_PRCM (188) /* Vector 188: Pwr, Rst, Clk */
|
||||
# define TIVA_IRQ_TOPDIE (189) /* Vector 189: From Top Die */
|
||||
|
||||
# define TIVA_RESERVED_190 (190) /* Vector 190: Reserved */
|
||||
# define TIVA_IRQ_MCSPI_S0 (191) /* Vector 191: SPI S0 */
|
||||
# define TIVA_IRQ_MCSPI_A1 (192) /* Vector 191: SPI A0 */
|
||||
# define TIVA_IRQ_MCSPI_A2 (193) /* Vector 191: SPI A1 */
|
||||
# define TIVA_RESERVED_194 (194) /* Vector 194: Reserved */
|
||||
|
||||
# define NR_IRQS (195) /* (Really fewer because of reserved vectors) */
|
||||
# define NR_VECTORS (155)
|
||||
|
||||
#else
|
||||
# error "IRQ Numbers not known for this Tiva chip"
|
||||
#endif
|
||||
|
||||
/************************************************************************************
|
||||
* Public Types
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Public Data
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/************************************************************************************
|
||||
* Public Functions
|
||||
************************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#endif /* __ARCH_ARM_INCLUDE_TIVA_CC3200_IRQ_H */
|
@ -4,6 +4,7 @@
|
||||
* Copyright (C) 2009-2010, 2013-2014 Gregory Nutt. All rights reserved.
|
||||
* Authors: Gregory Nutt <gnutt@nuttx.org>
|
||||
* Jose Pablo Carballo <jcarballo@nx-engineering.com>
|
||||
* Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -191,6 +192,26 @@
|
||||
# define TIVA_NPORTS 6 /* Six Ports (GPIOA-F) */
|
||||
# define TIVA_NCANCONTROLLER 2 /* Two CAN controllers */
|
||||
# define TIVA_NUSBOTGFS 1 /* One USB 2.0 OTG FS */
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# undef LM3S /* Not LM3S family */
|
||||
# undef LM4F /* Not LM4F family */
|
||||
# define TM4C 1 /* TM4C family */
|
||||
# define TIVA_NTIMERS 4 /* Four general purpose timers */
|
||||
# define TIVA_NWIDETIMERS 2 /* Two general purpose wide timers */
|
||||
# define TIVA_NETHCONTROLLERS 0 /* No Ethernet controller */
|
||||
# define TIVA_NSSI 0 /* No SSI module */
|
||||
# define TIVA_NUARTS 2 /* Two UART modules */
|
||||
# define TIVA_NI2C 2 /* Two I2C modules */
|
||||
# define TIVA_NADC 3 /* Three ADC modules */
|
||||
# define TIVA_NPWM 0 /* No PWM generator modules */
|
||||
# define TIVA_NQEI 0 /* No quadrature encoders */
|
||||
# define TIVA_NPORTS 4 /* 4 Ports (GPIOA-D), 0-31 GPIOs */
|
||||
# define TIVA_DES 1 /* 1 DES hw crypto */
|
||||
# define TIVA_AES 1 /* 1 AES hw crypto */
|
||||
# define TIVA_CRC 1 /* 1 CRC hw crypto */
|
||||
# define TIVA_SHA 1 /* 1 SHA/MD5 hw crypto */
|
||||
# define TIVA_SPI 2 /* Two SPI modules */
|
||||
# define TIVA_NCANCONTROLLER 0 /* No CAN controllers */
|
||||
#else
|
||||
# error "Capabilities not specified for this TIVA/Stellaris chip"
|
||||
#endif
|
||||
|
@ -103,6 +103,8 @@
|
||||
# include <arch/tiva/lm4f_irq.h>
|
||||
#elif defined(CONFIG_ARCH_CHIP_TM4C)
|
||||
# include <arch/tiva/tm4c_irq.h>
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# include <arch/tiva/cc3200_irq.h>
|
||||
#else
|
||||
# error "Unsupported Stellaris IRQ file"
|
||||
#endif
|
||||
|
@ -62,6 +62,11 @@ config ARCH_CHIP_TM4C123GH6PMI
|
||||
select ARCH_CHIP_TM4C
|
||||
select ARCH_HAVE_FPU
|
||||
|
||||
config ARCH_CHIP_CC3200
|
||||
bool "CC3200"
|
||||
depends on ARCH_CHIP_TIVA
|
||||
select ARCH_CORTEXM4
|
||||
|
||||
endchoice
|
||||
|
||||
# Chip families
|
||||
|
157
arch/arm/src/tiva/chip/cc3200_memorymap.h
Normal file
157
arch/arm/src/tiva/chip/cc3200_memorymap.h
Normal file
@ -0,0 +1,157 @@
|
||||
/************************************************************************************
|
||||
* arch/arm/src/tiva/chip/cc3200_memorymap.h
|
||||
*
|
||||
* Copyright (C) 2014 Droidifi LLC. All rights reserved.
|
||||
* Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Adapted for the cc3200 from code:
|
||||
*
|
||||
* Copyright (C) Gregory Nutt.
|
||||
* Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name Droidifi nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __ARCH_ARM_SRC_TIVA_CHIP_CC3200_MEMORYMAP_H
|
||||
#define __ARCH_ARM_SRC_TIVA_CHIP_CC3200_MEMORYMAP_H
|
||||
|
||||
/************************************************************************************
|
||||
* Included Files
|
||||
************************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
/************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
************************************************************************************/
|
||||
|
||||
/* Memory map ***********************************************************************/
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# define TIVA_FLASH_BASE 0x00000000 /* -0x0007ffff: On-chip FLASH */
|
||||
/* -0x00ffffff: Reserved */
|
||||
# define TIVA_ROM_BASE 0x01000000 /* -0x1fffffff: Reserved for ROM */
|
||||
# define TIVA_SRAM_BASE 0x20000000 /* -0x2003ffff: Bit-banded on-chip SRAM */
|
||||
/* -0x21ffffff: Reserved */
|
||||
# define TIVA_ASRAM_BASE 0x22000000 /* -0x23ffffff: Bit-band alias of 20000000- */
|
||||
/* -0x3fffffff: Reserved */
|
||||
# define TIVA_PERIPH_BASE 0x40000000 /* -0x4001ffff: FiRM Peripherals */
|
||||
/* -0x41ffffff: Peripherals */
|
||||
# define TIVA_APERIPH_BASE 0x42000000 /* -0x43ffffff: Bit-band alias of 40000000- */
|
||||
|
||||
# define TIVA_CRYPTO_BASE 0x44030000 /* -0x44039fff: Crypto HW base 44030000- */
|
||||
/* -0xdfffffff: Reserved */
|
||||
# define TIVA_ITM_BASE 0xe0000000 /* -0xe0000fff: Instrumentation Trace Macrocell */
|
||||
# define TIVA_DWT_BASE 0xe0001000 /* -0xe0001fff: Data Watchpoint and Trace */
|
||||
# define TIVA_FPB_BASE 0xe0002000 /* -0xe0002fff: Flash Patch and Breakpoint */
|
||||
/* -0xe000dfff: Reserved */
|
||||
# define TIVA_NVIC_BASE 0xe000e000 /* -0xe000efff: Nested Vectored Interrupt Controller */
|
||||
/* -0xe003ffff: Reserved */
|
||||
# define TIVA_TPIU_BASE 0xe0040000 /* -0xe0040fff: Trace Port Interface Unit */
|
||||
# define TIVA_ETM_BASE 0xe0041000 /* -0xe0041fff: Embedded Trace Macrocell */
|
||||
/* -0xffffffff: Reserved */
|
||||
#else
|
||||
# error "Memory map not specified for this TM4C chip"
|
||||
#endif
|
||||
|
||||
/* Peripheral base addresses ********************************************************/
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
|
||||
# define TIVA_WDOG0_BASE (TIVA_PERIPH_BASE + 0x00000) /* -0x00fff: Watchdog Timer 0 */
|
||||
|
||||
# define TIVA_GPIOA_BASE (TIVA_PERIPH_BASE + 0x04000) /* -0x04fff: GPIO Port A */
|
||||
# define TIVA_GPIOB_BASE (TIVA_PERIPH_BASE + 0x05000) /* -0x05fff: GPIO Port B */
|
||||
# define TIVA_GPIOC_BASE (TIVA_PERIPH_BASE + 0x06000) /* -0x06fff: GPIO Port C */
|
||||
# define TIVA_GPIOD_BASE (TIVA_PERIPH_BASE + 0x07000) /* -0x07fff: GPIO Port D */
|
||||
|
||||
# define TIVA_UART0_BASE (TIVA_PERIPH_BASE + 0x0c000) /* -0x0cfff: UART0 */
|
||||
# define TIVA_UART1_BASE (TIVA_PERIPH_BASE + 0x0d000) /* -0x0dfff: UART1 */
|
||||
|
||||
# define TIVA_I2CM0_BASE (TIVA_PERIPH_BASE + 0x20000) /* -0x207ff: I2C Master 0 */
|
||||
# define TIVA_I2CS0_BASE (TIVA_PERIPH_BASE + 0x20800) /* -0x20fbf: I2C Slave 0 */
|
||||
|
||||
# define TIVA_TIMER0_BASE (TIVA_PERIPH_BASE + 0x30000) /* -0x30fff: 16/32 Timer 0 */
|
||||
# define TIVA_TIMER1_BASE (TIVA_PERIPH_BASE + 0x31000) /* -0x31fff: 16/32 Timer 1 */
|
||||
# define TIVA_TIMER2_BASE (TIVA_PERIPH_BASE + 0x32000) /* -0x32fff: 16/32 Timer 2 */
|
||||
# define TIVA_TIMER3_BASE (TIVA_PERIPH_BASE + 0x33000) /* -0x33fff: 16/32 Timer 3 */
|
||||
|
||||
// NOTE: ADC memory location not listed in CC3200 DS
|
||||
# define TIVA_ADC0_BASE (TIVA_PERIPH_BASE + 0x38000) /* -0x38fff: ADC 0 */
|
||||
|
||||
# define TIVA_CONF_REG (TIVA_PERIPH_BASE + 0xf7000) /* -0xf7fff: Configuration registers */
|
||||
# define TIVA_SYSCON_BASE (TIVA_PERIPH_BASE + 0xfe000) /* -0xfefff: System Control */
|
||||
|
||||
# define TIVA_UDMA_BASE (TIVA_PERIPH_BASE + 0xff000) /* -0xfffff: Micro Direct Memory Access */
|
||||
# define TIVA_ASP_A0 (TIVA_PERIPH_BASE + 0x401c000)/* -0x401efff: McASP A0 */
|
||||
# define TIVA_SPI_A0 (TIVA_PERIPH_BASE + 0x4020000)/* -0x4020fff: McSPI A0 */
|
||||
# define TIVA_SPI_A1 (TIVA_PERIPH_BASE + 0x4021000)/* -0x4022fff: McSPI A1 */
|
||||
|
||||
# define TIVA_APP_CLK_BASE (TIVA_PERIPH_BASE + 0x4025000)/* -0x4025fff: App Clk */
|
||||
# define TIVA_APP_CFG_BASE (TIVA_PERIPH_BASE + 0x4026000)/* -0x4026fff: App config */
|
||||
# define TIVA_OCP_GPRCM_BASE (TIVA_PERIPH_BASE + 0x402d000)/* -0x402dfff: global reset, pwr, clk */
|
||||
# define TIVA_OCP_SHR_BASE (TIVA_PERIPH_BASE + 0x402e000)/* -0x402efff: OCP shared config */
|
||||
# define TIVA_HIBERNATE_BASE (TIVA_PERIPH_BASE + 0x402f000)/* -0x402ffff: Hibernation Controller */
|
||||
|
||||
/* Crypto Base Addresses */
|
||||
|
||||
# define TIVA_TCP_DTHE_BASE (TIVA_CRYPTO_BASE + 0x0000) /* -0x0fff: TCP Checksum & DTHE regs */
|
||||
# define TIVA_CRC_BASE TIVA_TCP_DTHE_BASE
|
||||
# define TIVA_SHA_BASE (TIVA_CRYPTO_BASE + 0x5000) /* -0x5fff: MD5/SHA */
|
||||
# define TIVA_AES_BASE (TIVA_CRYPTO_BASE + 0x7000) /* -0x7fff: AES */
|
||||
# define TIVA_DES_BASE (TIVA_CRYPTO_BASE + 0x9000) /* -0x9fff: DES */
|
||||
|
||||
// NOTE: the following locations are not listed in CC3200 DS
|
||||
# define TIVA_GPIOAAHB_BASE (TIVA_PERIPH_BASE + 0x58000) /* -0x58fff: GPIO Port A (AHB aperture) */
|
||||
# define TIVA_GPIOBAHB_BASE (TIVA_PERIPH_BASE + 0x59000) /* -0x59fff: GPIO Port B (AHB aperture) */
|
||||
# define TIVA_GPIOCAHB_BASE (TIVA_PERIPH_BASE + 0x5a000) /* -0x5afff: GPIO Port C (AHB aperture) */
|
||||
# define TIVA_GPIODAHB_BASE (TIVA_PERIPH_BASE + 0x5b000) /* -0x5bfff: GPIO Port D (AHB aperture) */
|
||||
|
||||
# define TIVA_EPI0_BASE (TIVA_PERIPH_BASE + 0xd0000) /* -0xd0fff: EPI 0 */
|
||||
# define TIVA_EEPROM_BASE (TIVA_PERIPH_BASE + 0xaf000) /* -0xaffff: EEPROM and Key Locker */
|
||||
# define TIVA_SYSEXC_BASE (TIVA_PERIPH_BASE + 0xf9000) /* -0xf9fff: System Exception Control */
|
||||
# define TIVA_FLASHCON_BASE (TIVA_PERIPH_BASE + 0xfd000) /* -0xfdfff: FLASH Control */
|
||||
|
||||
#else
|
||||
# error "Peripheral base addresses not specified for this Stellaris chip"
|
||||
#endif
|
||||
|
||||
/************************************************************************************
|
||||
* Public Types
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Public Data
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Public Function Prototypes
|
||||
************************************************************************************/
|
||||
|
||||
#endif /* __ARCH_ARM_SRC_TIVA_CHIP_CC3200_MEMORYMAP_H */
|
136
arch/arm/src/tiva/chip/cc3200_pinmap.h
Normal file
136
arch/arm/src/tiva/chip/cc3200_pinmap.h
Normal file
@ -0,0 +1,136 @@
|
||||
/************************************************************************************
|
||||
* arch/arm/src/tiva/chip/cc3200_pinmap.h
|
||||
*
|
||||
* Copyright (C) 2014 Droidifi LLC. All rights reserved.
|
||||
* Author: Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Adapted for the cc3200 from code:
|
||||
*
|
||||
* Copyright (C) Gregory Nutt.
|
||||
* Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name Droidifi nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
#ifndef __ARCH_ARM_SRC_TIVA_CHIP_CC3200_PINMAP_H
|
||||
#define __ARCH_ARM_SRC_TIVA_CHIP_CC3200_PINMAP_H
|
||||
|
||||
/************************************************************************************
|
||||
* Included Files
|
||||
************************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
/************************************************************************************
|
||||
* Pre-processor Definitions
|
||||
************************************************************************************/
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
|
||||
# define GPIO_ADC_IN0 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_3)
|
||||
# define GPIO_ADC_IN1 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_2)
|
||||
# define GPIO_ADC_IN2 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_1)
|
||||
# define GPIO_ADC_IN3 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_0)
|
||||
# define GPIO_ADC_IN4 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_3)
|
||||
# define GPIO_ADC_IN5 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_2)
|
||||
# define GPIO_ADC_IN6 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_1)
|
||||
# define GPIO_ADC_IN7 (GPIO_FUNC_ANINPUT | GPIO_PORTD | GPIO_PIN_0)
|
||||
# define GPIO_ADC_IN8 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_5)
|
||||
# define GPIO_ADC_IN9 (GPIO_FUNC_ANINPUT | GPIO_PORTE | GPIO_PIN_4)
|
||||
# define GPIO_ADC_IN10 (GPIO_FUNC_ANINPUT | GPIO_PORTB | GPIO_PIN_4)
|
||||
# define GPIO_ADC_IN11 (GPIO_FUNC_ANINPUT | GPIO_PORTB | GPIO_PIN_5)
|
||||
|
||||
# define GPIO_CORE_TRCLK (GPIO_FUNC_PFOUTPUT | GPIO_ALT_14 | GPIO_PORTF | GPIO_PIN_3)
|
||||
# define GPIO_CORE_TRD0 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_14 | GPIO_PORTF | GPIO_PIN_2)
|
||||
# define GPIO_CORE_TRD1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_14 | GPIO_PORTF | GPIO_PIN_1)
|
||||
|
||||
# define GPIO_I2C0_SCL (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PORTB | GPIO_PIN_2)
|
||||
# define GPIO_I2C0_SDA (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PORTB | GPIO_PIN_3)
|
||||
# define GPIO_I2C1_SCL (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PORTA | GPIO_PIN_6)
|
||||
# define GPIO_I2C1_SDA (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PORTA | GPIO_PIN_7)
|
||||
# define GPIO_I2C2_SCL (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PORTE | GPIO_PIN_4)
|
||||
# define GPIO_I2C2_SDA (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PORTE | GPIO_PIN_5)
|
||||
# define GPIO_I2C3_SCL (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PORTD | GPIO_PIN_0)
|
||||
# define GPIO_I2C3_SDA (GPIO_FUNC_PFODIO | GPIO_ALT_3 | GPIO_PORTD | GPIO_PIN_1)
|
||||
|
||||
# define GPIO_JTAG_SWCLK (GPIO_FUNC_PFINPUT | 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_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_3)
|
||||
# define GPIO_JTAG_TCK (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_0)
|
||||
# define GPIO_JTAG_TDI (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_2)
|
||||
# define GPIO_JTAG_TDO (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_3)
|
||||
# define GPIO_JTAG_TMS (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTC | GPIO_PIN_1)
|
||||
|
||||
# define GPIO_SYSCON_NMI_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_8 | GPIO_PORTD | GPIO_PIN_7)
|
||||
# define GPIO_SYSCON_NMI_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_8 | GPIO_PORTF | GPIO_PIN_0)
|
||||
|
||||
# define GPIO_TIM0_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_6)
|
||||
# define GPIO_TIM0_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTF | GPIO_PIN_0)
|
||||
# define GPIO_TIM0_CCP1_1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_7)
|
||||
# define GPIO_TIM0_CCP1_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTF | GPIO_PIN_1)
|
||||
# define GPIO_TIM1_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_4)
|
||||
# define GPIO_TIM1_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTF | GPIO_PIN_2)
|
||||
# define GPIO_TIM1_CCP1_1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_5)
|
||||
# define GPIO_TIM1_CCP1_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTF | GPIO_PIN_3)
|
||||
# define GPIO_TIM2_CCP0_1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_0)
|
||||
# define GPIO_TIM2_CCP0_2 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTF | GPIO_PIN_4)
|
||||
# define GPIO_TIM2_CCP1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_1)
|
||||
# define GPIO_TIM3_CCP0 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTB | GPIO_PIN_2)
|
||||
# define GPIO_TIM4_CCP1 (GPIO_FUNC_PFIO | GPIO_ALT_7 | GPIO_PORTC | GPIO_PIN_1)
|
||||
|
||||
# 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_RX (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_0)
|
||||
# define GPIO_UART1_TX (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTA | GPIO_PIN_1)
|
||||
# define GPIO_UART1_CTS_1 (GPIO_FUNC_PFINPUT | GPIO_ALT_1 | GPIO_PORTF | GPIO_PIN_1)
|
||||
# define GPIO_UART1_CTS_2 (GPIO_FUNC_PFINPUT | GPIO_ALT_8 | GPIO_PORTC | GPIO_PIN_5)
|
||||
# define GPIO_UART1_RTS_1 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_1 | GPIO_PORTF | GPIO_PIN_0)
|
||||
# define GPIO_UART1_RTS_2 (GPIO_FUNC_PFOUTPUT | GPIO_ALT_8 | GPIO_PORTC | GPIO_PIN_4)
|
||||
# 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_2 | GPIO_PORTC | GPIO_PIN_4)
|
||||
# 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_2 | GPIO_PORTC | GPIO_PIN_5)
|
||||
|
||||
#else
|
||||
# error "Unknown TIVA chip"
|
||||
#endif
|
||||
|
||||
/************************************************************************************
|
||||
* Public Types
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Public Data
|
||||
************************************************************************************/
|
||||
|
||||
/****************************************************************************
|
||||
* Public Function Prototypes
|
||||
****************************************************************************/
|
||||
|
||||
#endif /* __ARCH_ARM_SRC_TIVA_CHIP_CC3200_PINMAP_H */
|
1865
arch/arm/src/tiva/chip/cc3200_syscontrol.h
Normal file
1865
arch/arm/src/tiva/chip/cc3200_syscontrol.h
Normal file
File diff suppressed because it is too large
Load Diff
267
arch/arm/src/tiva/chip/cc3200_vectors.h
Normal file
267
arch/arm/src/tiva/chip/cc3200_vectors.h
Normal file
@ -0,0 +1,267 @@
|
||||
/************************************************************************************
|
||||
* arch/arm/src/tiva/chip/cc3200_vectors.h
|
||||
*
|
||||
* Copyright (C) 2014 Droidifi LLC. All rights reserved.
|
||||
* Author: Jim Ewing <jim@droidifi.com>
|
||||
*
|
||||
* Adapted for the cc3200 from code:
|
||||
*
|
||||
* Copyright (C) Gregory Nutt.
|
||||
* Gregory Nutt <gnutt@nuttx.org>
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in
|
||||
* the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
* 3. Neither the name Droidifi 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.
|
||||
*
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Preprocessor Definitions
|
||||
************************************************************************************/
|
||||
|
||||
/************************************************************************************
|
||||
* Vectors
|
||||
************************************************************************************/
|
||||
|
||||
/* This file is included by tiva_vectors.S. It provides the macro VECTOR that
|
||||
* supplies each Tiva vector in terms of a (lower-case) ISR label and an
|
||||
* (upper-case) IRQ number as defined in arch/arm/include/tiva/tm4c_irq.h.
|
||||
* tiva_vectors.S will define the VECTOR in different ways in order to generate
|
||||
* the interrupt vectors and handlers in their final form.
|
||||
*/
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
|
||||
/* 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 155 interrupt table entries for I/O interrupts. */
|
||||
|
||||
ARMV7M_PERIPHERAL_INTERRUPTS 155
|
||||
|
||||
# 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 */
|
||||
UNUSED(TIVA_RESERVED_20) /* Vector 20: Reserved */
|
||||
VECTOR(tiva_uart0, TIVA_IRQ_UART0) /* Vector 21: UART 0 */
|
||||
VECTOR(tiva_uart1, TIVA_IRQ_UART1) /* Vector 22: UART 1 */
|
||||
UNUSED(TIVA_RESERVED_23) /* Vector 23: Reserved */
|
||||
VECTOR(tiva_i2c0, TIVA_IRQ_I2C0) /* Vector 24: I2C 0 */
|
||||
UNUSED(TIVA_RESERVED_25) /* Vector 25: Reserved */
|
||||
UNUSED(TIVA_RESERVED_26) /* Vector 26: Reserved */
|
||||
UNUSED(TIVA_RESERVED_27) /* Vector 27: Reserved */
|
||||
UNUSED(TIVA_RESERVED_28) /* Vector 28: Reserved */
|
||||
UNUSED(TIVA_RESERVED_29) /* Vector 29: Reserved */
|
||||
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 */
|
||||
UNUSED(TIVA_RESERVED_41) /* Vector 41: Reserved */
|
||||
UNUSED(TIVA_RESERVED_42) /* Vector 42: Reserved */
|
||||
UNUSED(TIVA_RESERVED_43) /* Vector 43: Reserved */
|
||||
VECTOR(tiva_syscon, TIVA_IRQ_SYSCON) /* Vector 44: System Control */
|
||||
VECTOR(tiva_flashcon, TIVA_IRQ_FLASHCON) /* Vector 45: FLASH and EEPROM Control */
|
||||
UNUSED(TIVA_RESERVED_46) /* Vector 46: Reserved */
|
||||
UNUSED(TIVA_RESERVED_47) /* Vector 47: Reserved */
|
||||
UNUSED(TIVA_RESERVED_48) /* Vector 48: Reserved */
|
||||
UNUSED(TIVA_RESERVED_49) /* Vector 49: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_50) /* Vector 50: Reserved */
|
||||
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 */
|
||||
UNUSED(TIVA_RESERVED_53) /* Vector 53: Reserved */
|
||||
UNUSED(TIVA_RESERVED_54) /* Vector 54: Reserved */
|
||||
UNUSED(TIVA_RESERVED_55) /* Vector 55: Reserved */
|
||||
UNUSED(TIVA_RESERVED_56) /* Vector 56: Reserved */
|
||||
UNUSED(TIVA_RESERVED_57) /* Vector 57: Reserved */
|
||||
UNUSED(TIVA_RESERVED_58) /* Vector 58: Reserved */
|
||||
VECTOR(tiva_hibernate, TIVA_IRQ_HIBERNATE) /* Vector 59: Hibernation Module */
|
||||
|
||||
UNUSED(TIVA_RESERVED_60) /* Vector 60: Reserved */
|
||||
UNUSED(TIVA_RESERVED_61) /* Vector 61: Reserved */
|
||||
VECTOR(tiva_udmasoft, TIVA_IRQ_UDMASOFT) /* Vector 62: uDMA Software */
|
||||
VECTOR(tiva_udmaerro, TIVA_IRQ_UDMAERROR)/* Vector 63: uDMA Error */
|
||||
UNUSED(TIVA_RESERVED_64) /* Vector 64: Reserved */
|
||||
UNUSED(TIVA_RESERVED_65) /* Vector 65: Reserved */
|
||||
UNUSED(TIVA_RESERVED_66) /* Vector 66: Reserved */
|
||||
UNUSED(TIVA_RESERVED_67) /* Vector 67: Reserved */
|
||||
VECTOR(tiva_i2s0, TIVA_IRQ_I2S0) /* Vector 68: I2S 0 */
|
||||
VECTOR(tiva_epi, TIVA_IRQ_EPI) /* Vector 69: EPI */
|
||||
|
||||
UNUSED(TIVA_RESERVED_70) /* Vector 70: Reserved */
|
||||
UNUSED(TIVA_RESERVED_71) /* Vector 71: Reserved */
|
||||
UNUSED(TIVA_RESERVED_72) /* Vector 72: Reserved */
|
||||
UNUSED(TIVA_RESERVED_73) /* Vector 73: Reserved */
|
||||
UNUSED(TIVA_RESERVED_74) /* Vector 74: Reserved */
|
||||
UNUSED(TIVA_RESERVED_75) /* Vector 75: Reserved */
|
||||
UNUSED(TIVA_RESERVED_76) /* Vector 76: Reserved */
|
||||
UNUSED(TIVA_RESERVED_77) /* Vector 77: Reserved */
|
||||
UNUSED(TIVA_RESERVED_78) /* Vector 78: Reserved */
|
||||
UNUSED(TIVA_RESERVED_79) /* Vector 79: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_80) /* Vector 80: Reserved */
|
||||
UNUSED(TIVA_RESERVED_81) /* Vector 81: Reserved */
|
||||
UNUSED(TIVA_RESERVED_82) /* Vector 82: Reserved */
|
||||
UNUSED(TIVA_RESERVED_83) /* Vector 83: Reserved */
|
||||
UNUSED(TIVA_RESERVED_84) /* Vector 84: Reserved */
|
||||
UNUSED(TIVA_RESERVED_85) /* Vector 85: Reserved */
|
||||
UNUSED(TIVA_RESERVED_86) /* Vector 86: Reserved */
|
||||
UNUSED(TIVA_RESERVED_87) /* Vector 87: Reserved */
|
||||
UNUSED(TIVA_RESERVED_88) /* Vector 88: Reserved */
|
||||
UNUSED(TIVA_RESERVED_89) /* Vector 89: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_90) /* Vector 90: Reserved */
|
||||
UNUSED(TIVA_RESERVED_91) /* Vector 91: Reserved */
|
||||
UNUSED(TIVA_RESERVED_92) /* Vector 92: Reserved */
|
||||
UNUSED(TIVA_RESERVED_93) /* Vector 93: Reserved */
|
||||
UNUSED(TIVA_RESERVED_94) /* Vector 94: Reserved */
|
||||
UNUSED(TIVA_RESERVED_95) /* Vector 95: Reserved */
|
||||
UNUSED(TIVA_RESERVED_96) /* Vector 96: Reserved */
|
||||
UNUSED(TIVA_RESERVED_97) /* Vector 97: Reserved */
|
||||
UNUSED(TIVA_RESERVED_98) /* Vector 98: Reserved */
|
||||
UNUSED(TIVA_RESERVED_99) /* Vector 99: Reserved */
|
||||
UNUSED(TIVA_RESERVED_100) /* Vector 100: Reserved */
|
||||
UNUSED(TIVA_RESERVED_101) /* Vector 101: Reserved */
|
||||
UNUSED(TIVA_RESERVED_102) /* Vector 102: Reserved */
|
||||
UNUSED(TIVA_RESERVED_103) /* Vector 103: Reserved */
|
||||
UNUSED(TIVA_RESERVED_104) /* Vector 104: Reserved */
|
||||
UNUSED(TIVA_RESERVED_105) /* Vector 105: Reserved */
|
||||
UNUSED(TIVA_RESERVED_106) /* Vector 106: Reserved */
|
||||
UNUSED(TIVA_RESERVED_107) /* Vector 107: Reserved */
|
||||
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 */
|
||||
UNUSED(TIVA_RESERVED_114) /* Vector 114: Reserved */
|
||||
UNUSED(TIVA_RESERVED_115) /* Vector 115: Reserved */
|
||||
UNUSED(TIVA_RESERVED_116) /* Vector 116: Reserved */
|
||||
UNUSED(TIVA_RESERVED_117) /* Vector 117: Reserved */
|
||||
UNUSED(TIVA_RESERVED_118) /* Vector 118: Reserved */
|
||||
UNUSED(TIVA_RESERVED_119) /* Vector 119: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_120) /* Vector 120: Reserved */
|
||||
UNUSED(TIVA_RESERVED_121) /* Vector 121: Reserved */
|
||||
VECTOR(tiva_system, TIVA_IRQ_SYSTEM) /* Vector 122: System Exception (imprecise) */
|
||||
UNUSED(TIVA_RESERVED_123) /* Vector 123: Reserved */
|
||||
UNUSED(TIVA_RESERVED_124) /* Vector 124: Reserved */
|
||||
UNUSED(TIVA_RESERVED_125) /* Vector 125: Reserved */
|
||||
UNUSED(TIVA_RESERVED_126) /* Vector 126: Reserved */
|
||||
UNUSED(TIVA_RESERVED_127) /* Vector 127: Reserved */
|
||||
UNUSED(TIVA_RESERVED_128) /* Vector 128: Reserved */
|
||||
UNUSED(TIVA_RESERVED_129) /* Vector 129: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_130) /* Vector 130: Reserved */
|
||||
UNUSED(TIVA_RESERVED_131) /* Vector 131: Reserved */
|
||||
UNUSED(TIVA_RESERVED_132) /* Vector 132: Reserved */
|
||||
UNUSED(TIVA_RESERVED_133) /* Vector 133: Reserved */
|
||||
UNUSED(TIVA_RESERVED_134) /* Vector 134: Reserved */
|
||||
UNUSED(TIVA_RESERVED_135) /* Vector 135: Reserved */
|
||||
UNUSED(TIVA_RESERVED_136) /* Vector 136: Reserved */
|
||||
UNUSED(TIVA_RESERVED_137) /* Vector 137: Reserved */
|
||||
UNUSED(TIVA_RESERVED_138) /* Vector 138: Reserved */
|
||||
UNUSED(TIVA_RESERVED_139) /* Vector 139: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_140) /* Vector 140: Reserved */
|
||||
UNUSED(TIVA_RESERVED_141) /* Vector 141: Reserved */
|
||||
UNUSED(TIVA_RESERVED_142) /* Vector 142: Reserved */
|
||||
UNUSED(TIVA_RESERVED_143) /* Vector 143: Reserved */
|
||||
UNUSED(TIVA_RESERVED_144) /* Vector 144: Reserved */
|
||||
UNUSED(TIVA_RESERVED_145) /* Vector 145: Reserved */
|
||||
UNUSED(TIVA_RESERVED_146) /* Vector 146: Reserved */
|
||||
UNUSED(TIVA_RESERVED_147) /* Vector 147: Reserved */
|
||||
UNUSED(TIVA_RESERVED_148) /* Vector 148: Reserved */
|
||||
UNUSED(TIVA_RESERVED_149) /* Vector 149: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_150) /* Vector 150: Reserved */
|
||||
UNUSED(TIVA_RESERVED_151) /* Vector 151: Reserved */
|
||||
UNUSED(TIVA_RESERVED_152) /* Vector 152: Reserved */
|
||||
UNUSED(TIVA_RESERVED_153) /* Vector 153: Reserved */
|
||||
UNUSED(TIVA_RESERVED_154) /* Vector 154: Reserved */
|
||||
UNUSED(TIVA_RESERVED_155) /* Vector 155: Reserved */
|
||||
UNUSED(TIVA_RESERVED_156) /* Vector 156: Reserved */
|
||||
UNUSED(TIVA_RESERVED_157) /* Vector 157: Reserved */
|
||||
UNUSED(TIVA_RESERVED_158) /* Vector 158: Reserved */
|
||||
UNUSED(TIVA_RESERVED_159) /* Vector 159: Reserved */
|
||||
|
||||
UNUSED(TIVA_RESERVED_160) /* Vector 160: Reserved */
|
||||
UNUSED(TIVA_RESERVED_161) /* Vector 161: Reserved */
|
||||
UNUSED(TIVA_RESERVED_162) /* Vector 162: Reserved */
|
||||
UNUSED(TIVA_RESERVED_163) /* Vector 163: Reserved */
|
||||
UNUSED(TIVA_RESERVED_164) /* Vector 164: SHA HW */
|
||||
UNUSED(TIVA_RESERVED_165) /* Vector 165: Reserved */
|
||||
UNUSED(TIVA_RESERVED_166) /* Vector 166: Reserved */
|
||||
UNUSED(TIVA_RESERVED_167) /* Vector 167: AES HW */
|
||||
UNUSED(TIVA_RESERVED_168) /* Vector 168: Reserved */
|
||||
UNUSED(TIVA_RESERVED_169) /* Vector 169: DES HW */
|
||||
UNUSED(TIVA_RESERVED_170) /* Vector 170: Reserved */
|
||||
UNUSED(TIVA_RESERVED_171) /* Vector 171: Reserved */
|
||||
UNUSED(TIVA_RESERVED_172) /* Vector 172: Reserved */
|
||||
UNUSED(TIVA_RESERVED_173) /* Vector 173: Reserved */
|
||||
UNUSED(TIVA_RESERVED_174) /* Vector 174: Reserved */
|
||||
UNUSED(TIVA_RESERVED_175) /* Vector 175: SDIO */
|
||||
UNUSED(TIVA_RESERVED_176) /* Vector 176: Reserved */
|
||||
UNUSED(TIVA_RESERVED_177) /* Vector 177: McASP 0 */
|
||||
UNUSED(TIVA_RESERVED_178) /* Vector 178: Reserved */
|
||||
UNUSED(TIVA_RESERVED_179) /* Vector 179: Camera A0 */
|
||||
|
||||
UNUSED(TIVA_RESERVED_180) /* Vector 180: Reserved */
|
||||
UNUSED(TIVA_RESERVED_181) /* Vector 181: Reserved */
|
||||
UNUSED(TIVA_RESERVED_182) /* Vector 182: Reserved */
|
||||
UNUSED(TIVA_RESERVED_183) /* Vector 183: Reserved */
|
||||
UNUSED(TIVA_RESERVED_184) /* Vector 184: RAM Err */
|
||||
UNUSED(TIVA_RESERVED_185) /* Vector 185: Reserved */
|
||||
UNUSED(TIVA_RESERVED_186) /* Vector 186: Reserved */
|
||||
UNUSED(TIVA_RESERVED_187) /* Vector 187: NWP IC interocessor comm */
|
||||
UNUSED(TIVA_RESERVED_188) /* Vector 188: Pwr, Rst, Clk */
|
||||
UNUSED(TIVA_RESERVED_189) /* Vector 189: From Top Die */
|
||||
|
||||
UNUSED(TIVA_RESERVED_190) /* Vector 190: Reserved */
|
||||
UNUSED(TIVA_RESERVED_191) /* Vector 191: SPI S0 */
|
||||
UNUSED(TIVA_RESERVED_192) /* Vector 192: SPI A0 */
|
||||
UNUSED(TIVA_RESERVED_193) /* Vector 193: SPI A1 */
|
||||
UNUSED(TIVA_RESERVED_194) /* Vector 194: Reserved */
|
||||
|
||||
# endif /* CONFIG_ARMV7M_CMNVECTOR */
|
||||
|
||||
#else
|
||||
# error "Vectors not known for this Tiva chip"
|
||||
#endif /* defined(CONFIG_ARCH_CHIP_CC3200) */
|
@ -50,7 +50,8 @@
|
||||
|
||||
#if defined(CONFIG_ARCH_CHIP_LM3S6965) || defined(CONFIG_ARCH_CHIP_LM4F120) || \
|
||||
defined(CONFIG_ARCH_CHIP_LM3S8962) || defined(CONFIG_ARCH_CHIP_LM3S9B96) || \
|
||||
defined(CONFIG_ARCH_CHIP_TM4C123GH6ZRB) || defined(CONFIG_ARCH_CHIP_TM4C123GH6PMI)
|
||||
defined(CONFIG_ARCH_CHIP_TM4C123GH6ZRB) || defined(CONFIG_ARCH_CHIP_TM4C123GH6PMI) || \
|
||||
defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# define TIVA_FLASH_NPAGES 256
|
||||
# define TIVA_FLASH_PAGESIZE 1024
|
||||
#else
|
||||
|
@ -50,6 +50,8 @@
|
||||
# include "chip/lm4f_memorymap.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_TM4C)
|
||||
# include "chip/tm4c_memorymap.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# include "chip/cc3200_memorymap.h"
|
||||
#else
|
||||
# error "Unsupported Tiva/Stellaris memory map"
|
||||
#endif
|
||||
|
@ -50,6 +50,8 @@
|
||||
# include "chip/lm4f_pinmap.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_TM4C)
|
||||
# include "chip/tm4c_pinmap.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# include "chip/cc3200_pinmap.h"
|
||||
#else
|
||||
# error "Unsupported Tiva/Stellaris PIN mapping"
|
||||
#endif
|
||||
|
@ -51,6 +51,8 @@
|
||||
# include "chip/lm4f_syscontrol.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_TM4C)
|
||||
# include "chip/tm4c_syscontrol.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# include "chip/cc3200_syscontrol.h"
|
||||
#else
|
||||
# error "Unsupported Tiva/Stellaris system control module"
|
||||
#endif
|
||||
|
@ -45,6 +45,8 @@
|
||||
# include "chip/lm4f_vectors.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_TM4C)
|
||||
# include "chip/tm4c_vectors.h"
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
# include "chip/cc3200_vectors.h"
|
||||
#else
|
||||
# error "Unsupported Tiva/Stellaris vector file"
|
||||
#endif
|
||||
|
@ -323,6 +323,11 @@ void up_irqinitialize(void)
|
||||
up_ramvec_initialize();
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ARCH_CHIP_CC3200
|
||||
putreg32((uint32_t)CONFIG_RAM_START, NVIC_VECTAB);
|
||||
#endif
|
||||
|
||||
|
||||
/* Set all interrupts (and exceptions) to the default priority */
|
||||
|
||||
putreg32(DEFPRIORITY32, NVIC_SYSH4_7_PRIORITY);
|
||||
|
@ -65,8 +65,6 @@
|
||||
* Public Data
|
||||
****************************************************************************/
|
||||
|
||||
extern void _vectors(void);
|
||||
|
||||
/****************************************************************************
|
||||
* Private Functions
|
||||
****************************************************************************/
|
||||
@ -106,8 +104,12 @@ void __start(void)
|
||||
|
||||
/* Configure the uart so that we can get debug output as soon as possible */
|
||||
|
||||
#ifdef CONFIG_ARCH_BOARD_CC3200_LAUNCHPAD
|
||||
up_earlyconsoleinit();
|
||||
#else
|
||||
up_clockconfig();
|
||||
up_lowsetup();
|
||||
#endif
|
||||
showprogress('A');
|
||||
|
||||
/* Clear .bss. We'll do this inline (vs. calling memset) just to be
|
||||
@ -163,7 +165,7 @@ void __start(void)
|
||||
showprogress('\n');
|
||||
os_start();
|
||||
|
||||
/* Shoulnd't get here */
|
||||
/* Shouldn't get here */
|
||||
|
||||
for (;;);
|
||||
}
|
||||
|
@ -318,6 +318,14 @@ void tiva_clockconfig(uint32_t newrcc, uint32_t newrcc2)
|
||||
putreg32(rcc2, TIVA_SYSCON_RCC2);
|
||||
}
|
||||
}
|
||||
#elif defined(CONFIG_ARCH_CHIP_CC3200)
|
||||
{
|
||||
#if 0
|
||||
/* NOTE: we do this in up_earlyconsoleinit() */
|
||||
|
||||
cc3200_init();
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
if (((rcc & SYSCON_RCC_MOSCDIS) != 0 && (newrcc & SYSCON_RCC_MOSCDIS) == 0) ||
|
||||
((rcc & SYSCON_RCC_IOSCDIS) != 0 && (newrcc & SYSCON_RCC_IOSCDIS) == 0))
|
||||
|
Loading…
Reference in New Issue
Block a user