Contiki 3.x
board.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2014, Texas Instruments Incorporated - http://www.ti.com/
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  * notice, this list of conditions and the following disclaimer in the
12  * documentation and/or other materials provided with the distribution.
13  * 3. Neither the name of the copyright holder nor the names of its
14  * contributors may be used to endorse or promote products derived
15  * from this software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
20  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
21  * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
22  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
28  * OF THE POSSIBILITY OF SUCH DAMAGE.
29  */
30 /*---------------------------------------------------------------------------*/
31 /** \addtogroup cc26xx-srf-tag
32  * @{
33  *
34  * \defgroup sensortag-cc26xx-peripherals Sensortag Peripherals
35  *
36  * Defines related to the CC2650 Sensortag
37  *
38  * This file provides connectivity information on LEDs, Buttons, UART and
39  * other peripherals
40  *
41  * This file can be used as the basis to configure other boards using the
42  * CC13xx/CC26xx code as their basis.
43  *
44  * This file is not meant to be modified by the user.
45  * @{
46  *
47  * \file
48  * Header file with definitions related to the I/O connections on the TI
49  * Sensortag
50  *
51  * \note Do not include this file directly. It gets included by contiki-conf
52  * after all relevant directives have been set.
53  */
54 /*---------------------------------------------------------------------------*/
55 #ifndef BOARD_H_
56 #define BOARD_H_
57 /*---------------------------------------------------------------------------*/
58 #include "ioc.h"
59 /*---------------------------------------------------------------------------*/
60 /**
61  * \name LED configurations
62  *
63  * Those values are not meant to be modified by the user
64  * @{
65  */
66 /* Some files include leds.h before us, so we need to get rid of defaults in
67  * leds.h before we provide correct definitions */
68 #undef LEDS_GREEN
69 #undef LEDS_YELLOW
70 #undef LEDS_RED
71 #undef LEDS_CONF_ALL
72 
73 #define LEDS_RED 1
74 #define LEDS_GREEN 2
75 #define LEDS_YELLOW LEDS_GREEN
76 #define LEDS_ORANGE LEDS_RED
77 
78 #define LEDS_CONF_ALL 3
79 
80 /* Notify various examples that we have LEDs */
81 #define PLATFORM_HAS_LEDS 1
82 /** @} */
83 /*---------------------------------------------------------------------------*/
84 /**
85  * \name LED IOID mappings
86  *
87  * Those values are not meant to be modified by the user
88  * @{
89  */
90 #define BOARD_IOID_LED_1 IOID_10
91 #define BOARD_IOID_LED_2 IOID_15
92 #define BOARD_LED_1 (1 << BOARD_IOID_LED_1)
93 #define BOARD_LED_2 (1 << BOARD_IOID_LED_2)
94 #define BOARD_LED_ALL (BOARD_LED_1 | BOARD_LED_2)
95 /** @} */
96 /*---------------------------------------------------------------------------*/
97 /**
98  * \name UART IOID mapping
99  *
100  * Those values are not meant to be modified by the user
101  * @{
102  */
103 #define BOARD_IOID_DP4_UARTRX IOID_28
104 #define BOARD_IOID_DP5_UARTTX IOID_29
105 
106 #if BOARD_CONF_DEBUGGER_DEVPACK
107 #define BOARD_IOID_UART_RX BOARD_IOID_DP4_UARTRX
108 #define BOARD_IOID_UART_TX BOARD_IOID_DP5_UARTTX
109 #else
110 #define BOARD_IOID_UART_RX IOID_17
111 #define BOARD_IOID_UART_TX IOID_16
112 #endif
113 
114 #define BOARD_IOID_UART_CTS IOID_UNUSED
115 #define BOARD_IOID_UART_RTS IOID_UNUSED
116 #define BOARD_UART_RX (1 << BOARD_IOID_UART_RX)
117 #define BOARD_UART_TX (1 << BOARD_IOID_UART_TX)
118 #define BOARD_UART_CTS (1 << BOARD_IOID_UART_CTS)
119 #define BOARD_UART_RTS (1 << BOARD_IOID_UART_RTS)
120 /** @} */
121 /*---------------------------------------------------------------------------*/
122 /**
123  * \name Button IOID mapping
124  *
125  * Those values are not meant to be modified by the user
126  * @{
127  */
128 #define BOARD_IOID_KEY_LEFT IOID_0
129 #define BOARD_IOID_KEY_RIGHT IOID_4
130 #define BOARD_KEY_LEFT (1 << BOARD_IOID_KEY_LEFT)
131 #define BOARD_KEY_RIGHT (1 << BOARD_IOID_KEY_RIGHT)
132 /** @} */
133 /*---------------------------------------------------------------------------*/
134 /**
135  * \brief SPI IOID mappings
136  *
137  * Those values are not meant to be modified by the user
138  * @{
139  */
140 #define BOARD_IOID_SPI_MOSI IOID_19
141 #define BOARD_IOID_SPI_MISO IOID_18
142 /** @} */
143 /*---------------------------------------------------------------------------*/
144 /**
145  * \name Buzzer configuration
146  * @{
147  */
148 #define BOARD_IOID_BUZZER IOID_21 /**< Buzzer Pin */
149 /** @} */
150 /*---------------------------------------------------------------------------*/
151 /**
152  * \name Reed Relay IOID mapping
153  *
154  * Those values are not meant to be modified by the user
155  * @{
156  */
157 #define BOARD_IOID_REED_RELAY IOID_3
158 /** @} */
159 /*---------------------------------------------------------------------------*/
160 /**
161  * \name External flash IOID mapping
162  *
163  * Those values are not meant to be modified by the user
164  * @{
165  */
166 #define BOARD_IOID_FLASH_CS IOID_14
167 #define BOARD_FLASH_CS (1 << BOARD_IOID_FLASH_CS)
168 #define BOARD_IOID_SPI_CLK_FLASH IOID_17
169 /** @} */
170 /*---------------------------------------------------------------------------*/
171 /**
172  * \brief I2C IOID mappings
173  *
174  * Those values are not meant to be modified by the user
175  * @{
176  */
177 #define BOARD_IOID_SDA IOID_5 /**< Interface 0 SDA: All sensors bar MPU */
178 #define BOARD_IOID_SCL IOID_6 /**< Interface 0 SCL: All sensors bar MPU */
179 #define BOARD_IOID_SDA_HP IOID_8 /**< Interface 1 SDA: MPU */
180 #define BOARD_IOID_SCL_HP IOID_9 /**< Interface 1 SCL: MPU */
181 /** @} */
182 /*---------------------------------------------------------------------------*/
183 /**
184  * \brief MPU IOID mappings
185  *
186  * Those values are not meant to be modified by the user
187  * @{
188  */
189 #define BOARD_IOID_MPU_INT IOID_7
190 #define BOARD_IOID_MPU_POWER IOID_12
191 #define BOARD_MPU_INT (1 << BOARD_IOID_MPU_INT)
192 #define BOARD_MPU_POWER (1 << BOARD_IOID_MPU_POWER)
193 /** @} */
194 /*---------------------------------------------------------------------------*/
195 /**
196  * \brief Board devpack IOID mappings (LCD etc.)
197  *
198  * Those values are not meant to be modified by the user
199  * @{
200  */
201 #define BOARD_IOID_AUDIOFS_TDO IOID_16
202 #define BOARD_IOID_DEVPACK_CS IOID_20
203 #define BOARD_IOID_DEVPK_LCD_EXTCOMIN IOID_22
204 #define BOARD_IOID_AUDIODO IOID_22
205 #define BOARD_IOID_DP2 IOID_23
206 #define BOARD_IOID_DP1 IOID_24
207 #define BOARD_IOID_DP0 IOID_25
208 #define BOARD_IOID_DP3 IOID_27
209 #define BOARD_IOID_DEVPK_ID IOID_30
210 #define BOARD_DEVPACK_CS (1 << BOARD_IOID_DEVPACK_CS)
211 /** @} */
212 /*---------------------------------------------------------------------------*/
213 /**
214  * \brief TMP Sensor
215  *
216  * Those values are not meant to be modified by the user
217  * @{
218  */
219 #define BOARD_IOID_TMP_RDY IOID_1
220 /** @} */
221 /*---------------------------------------------------------------------------*/
222 /**
223  * \brief Digital Microphone
224  *
225  * Those values are not meant to be modified by the user
226  * @{
227  */
228 #define BOARD_IOID_MIC_POWER IOID_13
229 #define BOARD_IOID_AUDIO_DI IOID_2
230 #define BOARD_IOID_AUDIO_CLK IOID_11
231 /** @} */
232 /*---------------------------------------------------------------------------*/
233 /**
234  * \name Device string used on startup
235  * @{
236  */
237 #define BOARD_STRING "TI CC2650 SensorTag"
238 
239 /** @} */
240 /*---------------------------------------------------------------------------*/
241 #endif /* BOARD_H_ */
242 /*---------------------------------------------------------------------------*/
243 /**
244  * @}
245  * @}
246  */
Header file with declarations for the I/O Control module.