Contiki-NG
CC1350DK_7XD.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2015-2019, Texas Instruments Incorporated
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 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32/** ============================================================================
33 * @file CC1350DK_7XD.h
34 *
35 * @brief CC2650 LaunchPad Board Specific header file.
36 *
37 * The CC1350DK_7XD header file should be included in an application as
38 * follows:
39 * @code
40 * #include "CC1350DK_7XD.h"
41 * @endcode
42 *
43 * ============================================================================
44 */
45#ifndef __CC1350DK_7XD_BOARD_H__
46#define __CC1350DK_7XD_BOARD_H__
47
48#ifdef __cplusplus
49extern "C" {
50#endif
51
52#include "contiki-conf.h"
53
54/* Includes */
55#include <ti/drivers/PIN.h>
56#include <ti/devices/DeviceFamily.h>
57#include DeviceFamily_constructPath(driverlib/ioc.h)
58
59/* Externs */
60extern const PIN_Config BoardGpioInitTable[];
61
62/* Defines */
63#define CC1350DK_7XD
64
65/* Mapping of pins to board signals using general board aliases
66 * <board signal alias> <pin mapping> <comments>
67 */
68
69/* Analog Capable DIOs */
70#define CC1350DK_7XD_DIO23_ANALOG IOID_23
71#define CC1350DK_7XD_DIO24_ANALOG IOID_24
72#define CC1350DK_7XD_DIO25_ANALOG IOID_25
73#define CC1350DK_7XD_DIO26_ANALOG IOID_26
74#define CC1350DK_7XD_DIO27_ANALOG IOID_27
75#define CC1350DK_7XD_DIO28_ANALOG IOID_28
76#define CC1350DK_7XD_DIO29_ANALOG IOID_29
77#define CC1350DK_7XD_DIO30_ANALOG IOID_30
78
79/* Digital IOs */
80#define CC1350DK_7XD_DIO0 IOID_0
81#define CC1350DK_7XD_DIO1_RFSW IOID_1
82#define CC1350DK_7XD_DIO12 IOID_12
83#define CC1350DK_7XD_DIO15 IOID_15
84#define CC1350DK_7XD_DIO16_TDO IOID_16
85#define CC1350DK_7XD_DIO17_TDI IOID_17
86#define CC1350DK_7XD_DIO21 IOID_21
87#define CC1350DK_7XD_DIO22 IOID_22
88
89/* Discrete Inputs */
90#define CC1350DK_7XD_PIN_KEY_SELECT IOID_11
91#define CC1350DK_7XD_PIN_KEY_UP IOID_19
92#define CC1350DK_7XD_PIN_KEY_DOWN IOID_12
93#define CC1350DK_7XD_PIN_KEY_LEFT IOID_15
94#define CC1350DK_7XD_PIN_KEY_RIGHT IOID_18
95
96/* GPIO */
97#define CC1350DK_7XD_GPIO_LED_ON 1
98#define CC1350DK_7XD_GPIO_LED_OFF 0
99
100/* I2C */
101#define CC1350DK_7XD_I2C0_SCL0 PIN_UNASSIGNED
102#define CC1350DK_7XD_I2C0_SDA0 PIN_UNASSIGNED
103
104/* I2S */
105#define CC1350DK_7XD_I2S_ADO PIN_UNASSIGNED
106#define CC1350DK_7XD_I2S_ADI PIN_UNASSIGNED
107#define CC1350DK_7XD_I2S_BCLK PIN_UNASSIGNED
108#define CC1350DK_7XD_I2S_MCLK PIN_UNASSIGNED
109#define CC1350DK_7XD_I2S_WCLK PIN_UNASSIGNED
110
111/* LEDs */
112#define CC1350DK_7XD_PIN_LED_ON 1
113#define CC1350DK_7XD_PIN_LED_OFF 0
114#define CC1350DK_7XD_PIN_LED1 IOID_25
115#define CC1350DK_7XD_PIN_LED2 IOID_27
116#define CC1350DK_7XD_PIN_LED3 IOID_7
117#define CC1350DK_7XD_PIN_LED4 IOID_6
118
119/* PWM Outputs */
120#define CC1350DK_7XD_PWMPIN0 CC1350DK_7XD_PIN_LED1
121#define CC1350DK_7XD_PWMPIN1 CC1350DK_7XD_PIN_LED2
122#define CC1350DK_7XD_PWMPIN2 CC1350DK_7XD_PIN_LED3
123#define CC1350DK_7XD_PWMPIN3 CC1350DK_7XD_PIN_LED4
124#define CC1350DK_7XD_PWMPIN4 PIN_UNASSIGNED
125#define CC1350DK_7XD_PWMPIN5 PIN_UNASSIGNED
126#define CC1350DK_7XD_PWMPIN6 PIN_UNASSIGNED
127#define CC1350DK_7XD_PWMPIN7 PIN_UNASSIGNED
128
129/* SPI Board */
130#define CC1350DK_7XD_SPI0_MISO IOID_8
131#define CC1350DK_7XD_SPI0_MOSI IOID_9
132#define CC1350DK_7XD_SPI0_CLK IOID_10
133#define CC1350DK_7XD_SPI0_CSN PIN_UNASSIGNED
134#define CC1350DK_7XD_SPI1_MISO PIN_UNASSIGNED
135#define CC1350DK_7XD_SPI1_MOSI PIN_UNASSIGNED
136#define CC1350DK_7XD_SPI1_CLK PIN_UNASSIGNED
137#define CC1350DK_7XD_SPI1_CSN PIN_UNASSIGNED
138
139/* UART Board */
140#define CC1350DK_7XD_UART_RX IOID_2
141#define CC1350DK_7XD_UART_TX IOID_3
142#define CC1350DK_7XD_UART_CTS IOID_22
143#define CC1350DK_7XD_UART_RTS IOID_21
144
145/* SD Card */
146#define CC1350DK_7XD_SPI_SDCARD_CS IOID_30
147#define CC1350DK_7XD_SDCARD_CS_ON 0
148#define CC1350DK_7XD_SDCARD_CS_OFF 1
149
150/* Ambient Light Sensor */
151#define CC1350DK_7XD_ALS_OUT IOID_23
152#define CC1350DK_7XD_ALS_PWR IOID_26
153
154/* Accelerometer */
155#define CC1350DK_7XD_ACC_PWR IOID_20
156#define CC1350DK_7XD_ACC_CS IOID_24
157
158/*!
159 * @brief Initialize the general board specific settings
160 *
161 * This function initializes the general board specific settings.
162 */
163void CC1350DK_7XD_initGeneral(void);
164
165/*!
166 * @brief Turn off the external flash on LaunchPads
167 *
168 */
170
171/*!
172 * @brief Wake up the external flash present on the board files
173 *
174 * This function toggles the chip select for the amount of time needed
175 * to wake the chip up.
176 */
178
179/*!
180 * @def CC1350DK_7XD_ADCBufName
181 * @brief Enum of ADCBufs
182 */
183typedef enum CC1350DK_7XD_ADCBufName {
184 CC1350DK_7XD_ADCBUF0 = 0,
185
186 CC1350DK_7XD_ADCBUFCOUNT
187} CC1350DK_7XD_ADCBufName;
188
189/*!
190 * @def CC1350DK_7XD_ADCBuf0ChannelName
191 * @brief Enum of ADCBuf channels
192 */
193typedef enum CC1350DK_7XD_ADCBuf0ChannelName {
194 CC1350DK_7XD_ADCBUF0CHANNELADCALS = 0,
195 CC1350DK_7XD_ADCBUF0CHANNELVDDS,
196 CC1350DK_7XD_ADCBUF0CHANNELDCOUPL,
197 CC1350DK_7XD_ADCBUF0CHANNELVSS,
198
199 CC1350DK_7XD_ADCBUF0CHANNELCOUNT
200} CC1350DK_7XD_ADCBuf0ChannelName;
201
202/*!
203 * @def CC1350DK_7XD_ADCName
204 * @brief Enum of ADCs
205 */
206typedef enum CC1350DK_7XD_ADCName {
207 CC1350DK_7XD_ADCALS = 0,
208 CC1350DK_7XD_ADCDCOUPL,
209 CC1350DK_7XD_ADCVSS,
210 CC1350DK_7XD_ADCVDDS,
211
212 CC1350DK_7XD_ADCCOUNT
213} CC1350DK_7XD_ADCName;
214
215/*!
216 * @def CC1350DK_7XD_CryptoName
217 * @brief Enum of Crypto names
218 */
219typedef enum CC1350DK_7XD_CryptoName {
220 CC1350DK_7XD_CRYPTO0 = 0,
221
222 CC1350DK_7XD_CRYPTOCOUNT
223} CC1350DK_7XD_CryptoName;
224
225/*!
226 * @def CC1350DK_7XD_AESCCMName
227 * @brief Enum of AESCCM names
228 */
229typedef enum CC1350DK_7XD_AESCCMName {
230 CC1350DK_7XD_AESCCM0 = 0,
231
232 CC1350DK_7XD_AESCCMCOUNT
233} CC1350DK_7XD_AESCCMName;
234
235/*!
236 * @def CC1350DK_7XD_AESGCMName
237 * @brief Enum of AESGCM names
238 */
239typedef enum CC1350DK_7XD_AESGCMName {
240 CC1350DK_7XD_AESGCM0 = 0,
241
242 CC1350DK_7XD_AESGCMCOUNT
243} CC1350DK_7XD_AESGCMName;
244
245/*!
246 * @def CC1350DK_7XD_AESCBCName
247 * @brief Enum of AESCBC names
248 */
249typedef enum CC1350DK_7XD_AESCBCName {
250 CC1350DK_7XD_AESCBC0 = 0,
251
252 CC1350DK_7XD_AESCBCCOUNT
253} CC1350DK_7XD_AESCBCName;
254
255/*!
256 * @def CC1350DK_7XD_AESCTRName
257 * @brief Enum of AESCTR names
258 */
259typedef enum CC1350DK_7XD_AESCTRName {
260 CC1350DK_7XD_AESCTR0 = 0,
261
262 CC1350DK_7XD_AESCTRCOUNT
263} CC1350DK_7XD_AESCTRName;
264
265/*!
266 * @def CC1350DK_7XD_AESECBName
267 * @brief Enum of AESECB names
268 */
269typedef enum CC1350DK_7XD_AESECBName {
270 CC1350DK_7XD_AESECB0 = 0,
271
272 CC1350DK_7XD_AESECBCOUNT
273} CC1350DK_7XD_AESECBName;
274
275/*!
276 * @def CC1350DK_7XD_AESCTRDRBGName
277 * @brief Enum of AESCTRDRBG names
278 */
279typedef enum CC1350DK_7XD_AESCTRDRBGName {
280 CC1350DK_7XD_AESCTRDRBG0 = 0,
281
282 CC1350DK_7XD_AESCTRDRBGCOUNT
283} CC1350DK_7XD_AESCTRDRBGName;
284
285/*!
286 * @def CC1350DK_7XD_TRNGName
287 * @brief Enum of TRNG names
288 */
289typedef enum CC1350DK_7XD_TRNGName {
290 CC1350DK_7XD_TRNG0 = 0,
291
292 CC1350DK_7XD_TRNGCOUNT
293} CC1350DK_7XD_TRNGName;
294
295/*!
296 * @def CC1350DK_7XD_GPIOName
297 * @brief Enum of GPIO names
298 */
299typedef enum CC1350DK_7XD_GPIOName {
300 CC1350DK_7XD_GPIO_KEY_SELECT = 0,
301 CC1350DK_7XD_GPIO_KEY_UP,
302 CC1350DK_7XD_GPIO_KEY_DOWN,
303 CC1350DK_7XD_GPIO_KEY_LEFT,
304 CC1350DK_7XD_GPIO_KEY_RIGHT,
305 CC1350DK_7XD_SPI_MASTER_READY,
306 CC1350DK_7XD_SPI_SLAVE_READY,
307 CC1350DK_7XD_GPIO_LED1,
308 CC1350DK_7XD_GPIO_LED2,
309 CC1350DK_7XD_GPIO_LED3,
310 CC1350DK_7XD_GPIO_LED4,
311 CC1350DK_7XD_SDSPI_CS,
312 CC1350DK_7XD_GPIO_ACC_CS,
313
314 CC1350DK_7XD_GPIOCOUNT
315} CC1350DK_7XD_GPIOName;
316
317/*!
318 * @def CC1350DK_7XD_GPTimerName
319 * @brief Enum of GPTimer parts
320 */
321typedef enum CC1350DK_7XD_GPTimerName {
322 CC1350DK_7XD_GPTIMER0A = 0,
323 CC1350DK_7XD_GPTIMER0B,
324 CC1350DK_7XD_GPTIMER1A,
325 CC1350DK_7XD_GPTIMER1B,
326 CC1350DK_7XD_GPTIMER2A,
327 CC1350DK_7XD_GPTIMER2B,
328 CC1350DK_7XD_GPTIMER3A,
329 CC1350DK_7XD_GPTIMER3B,
330
331 CC1350DK_7XD_GPTIMERPARTSCOUNT
332} CC1350DK_7XD_GPTimerName;
333
334/*!
335 * @def CC1350DK_7XD_GPTimers
336 * @brief Enum of GPTimers
337 */
338typedef enum CC1350DK_7XD_GPTimers {
339 CC1350DK_7XD_GPTIMER0 = 0,
340 CC1350DK_7XD_GPTIMER1,
341 CC1350DK_7XD_GPTIMER2,
342 CC1350DK_7XD_GPTIMER3,
343
344 CC1350DK_7XD_GPTIMERCOUNT
345} CC1350DK_7XD_GPTimers;
346
347/*!
348 * @def CC1350DK_7XD_I2CName
349 * @brief Enum of I2C names
350 */
351typedef enum CC1350DK_7XD_I2CName {
352#if TI_I2C_CONF_I2C0_ENABLE
353 CC1350DK_7XD_I2C0 = 0,
354#endif
355
356 CC1350DK_7XD_I2CCOUNT
357} CC1350DK_7XD_I2CName;
358
359/*!
360 * @def CC1350DK_7XD_I2SName
361 * @brief Enum of I2S names
362 */
363typedef enum CC1350DK_7XD_I2SName {
364 CC1350DK_7XD_I2S0 = 0,
365
366 CC1350DK_7XD_I2SCOUNT
367} CC1350DK_7XD_I2SName;
368
369/*!
370 * @def CC1350DK_7XD_NVSName
371 * @brief Enum of NVS names
372 */
373typedef enum CC1350DK_7XD_NVSName {
374#if TI_NVS_CONF_NVS_INTERNAL_ENABLE
375 CC1350DK_7XD_NVSCC26XX0 = 0,
376#endif
377
378 CC1350DK_7XD_NVSCOUNT
379} CC1350DK_7XD_NVSName;
380
381/*!
382 * @def CC1350DK_7XD_PWMName
383 * @brief Enum of PWM outputs
384 */
385typedef enum CC1350DK_7XD_PWMName {
386 CC1350DK_7XD_PWM0 = 0,
387 CC1350DK_7XD_PWM1,
388 CC1350DK_7XD_PWM2,
389 CC1350DK_7XD_PWM3,
390 CC1350DK_7XD_PWM4,
391 CC1350DK_7XD_PWM5,
392 CC1350DK_7XD_PWM6,
393 CC1350DK_7XD_PWM7,
394
395 CC1350DK_7XD_PWMCOUNT
396} CC1350DK_7XD_PWMName;
397
398/*!
399 * @def CC1350DK_7XD_SDName
400 * @brief Enum of SD names
401 */
402typedef enum CC1350DK_7XD_SDName {
403 CC1350DK_7XD_SDSPI0 = 0,
404
405 CC1350DK_7XD_SDCOUNT
406} CC1350DK_7XD_SDName;
407
408/*!
409 * @def CC1350DK_7XD_SPIName
410 * @brief Enum of SPI names
411 */
412typedef enum CC1350DK_7XD_SPIName {
413#if TI_SPI_CONF_SPI0_ENABLE
414 CC1350DK_7XD_SPI0 = 0,
415#endif
416#if TI_SPI_CONF_SPI1_ENABLE
417 CC1350DK_7XD_SPI1,
418#endif
419
420 CC1350DK_7XD_SPICOUNT
421} CC1350DK_7XD_SPIName;
422
423/*!
424 * @def CC1350DK_7XD_UARTName
425 * @brief Enum of UARTs
426 */
427typedef enum CC1350DK_7XD_UARTName {
428#if TI_UART_CONF_UART0_ENABLE
429 CC1350DK_7XD_UART0 = 0,
430#endif
431
432 CC1350DK_7XD_UARTCOUNT
433} CC1350DK_7XD_UARTName;
434
435/*!
436 * @def CC1350DK_7XD_UDMAName
437 * @brief Enum of DMA buffers
438 */
439typedef enum CC1350DK_7XD_UDMAName {
440 CC1350DK_7XD_UDMA0 = 0,
441
442 CC1350DK_7XD_UDMACOUNT
443} CC1350DK_7XD_UDMAName;
444
445/*!
446 * @def CC1350DK_7XD_WatchdogName
447 * @brief Enum of Watchdogs
448 */
449typedef enum CC1350DK_7XD_WatchdogName {
450 CC1350DK_7XD_WATCHDOG0 = 0,
451
452 CC1350DK_7XD_WATCHDOGCOUNT
453} CC1350DK_7XD_WatchdogName;
454
455#ifdef __cplusplus
456}
457#endif
458
459#endif /* __CC1350DK_7XD_BOARD_H__ */
void CC1350DK_7XD_wakeUpExtFlash(void)
Wake up the external flash present on the board files.
void CC1350DK_7XD_initGeneral(void)
Initialize the general board specific settings.
Definition: CC1350DK_7XD.c:876
void CC1350DK_7XD_shutDownExtFlash(void)
Turn off the external flash on LaunchPads.