Contiki-NG
Toggle main menu visibility
Loading...
Searching...
No Matches
LPSTK.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2017-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 LPSTK.h
34
*
35
* @brief LPSTK Board Specific header file.
36
*
37
* The LPSTK header file should be included in an application as
38
* follows:
39
* @code
40
* #include "LPSTK.h"
41
* @endcode
42
*
43
* ===========================================================================
44
*/
45
#ifndef __LPSTK_BOARD_H__
46
#define __LPSTK_BOARD_H__
47
48
#ifdef __cplusplus
49
extern
"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 */
60
extern
const
PIN_Config BoardGpioInitTable[];
61
62
/* Defines */
63
#define LPSTK
64
65
/* Mapping of pins to board signals using general board aliases
66
* <board signal alias> <pin mapping> <comments>
67
*/
68
69
/* Mapping of pins to board signals using general board aliases
70
* <board signal alias> <pin mapping>
71
*/
72
/* Analog Capable DIOs */
73
#define LPSTK_DIO24_ANALOG IOID_24
74
#define LPSTK_DIO26_ANALOG IOID_26
75
#define LPSTK_DIO28_ANALOG IOID_28
76
#define LPSTK_DIO29_ANALOG IOID_29
77
78
/* Buzzer */
79
#define LPSTK_BUZZER IOID_21
80
#define LPSTK_BUZZER_ON 1
81
#define LPSTK_BUZZER_OFF 0
82
83
/* Discrete Inputs */
84
#define LPSTK_PIN_BTN1 IOID_15
85
#define LPSTK_PIN_BTN2 IOID_14
86
#define LPSTK_KEY_LEFT LPSTK_PIN_BTN2
87
#define LPSTK_KEY_RIGHT LPSTK_PIN_BTN1
88
#define LPSTK_RELAY IOID_23
89
90
/* GPIO */
91
#define LPSTK_GPIO_LED_ON 1
92
#define LPSTK_GPIO_LED_OFF 0
93
94
/* I2C */
95
#define LPSTK_I2C0_SCL0 IOID_4
96
#define LPSTK_I2C0_SDA0 IOID_5
97
#define LPSTK_I2C0_SCL1 PIN_UNASSIGNED
98
#define LPSTK_I2C0_SDA1 PIN_UNASSIGNED
99
100
/* I2S */
101
#define LPSTK_I2S_ADO IOID_22
102
#define LPSTK_I2S_ADI IOID_2
103
#define LPSTK_I2S_BCLK IOID_3
104
#define LPSTK_I2S_MCLK PIN_UNASSIGNED
105
#define LPSTK_I2S_WCLK IOID_16
106
107
/* LEDs */
108
#define LPSTK_PIN_LED_ON 1
109
#define LPSTK_PIN_LED_OFF 0
110
#define LPSTK_PIN_RLED IOID_6
111
#define LPSTK_PIN_GLED IOID_7
112
113
/* Power */
114
#define LPSTK_MPU_POWER IOID_11
115
#define LPSTK_MPU_POWER_ON 1
116
#define LPSTK_MPU_POWER_OFF 0
117
118
/* PWM Outputs */
119
#define LPSTK_PWMPIN0 LPSTK_PIN_RLED
120
#define LPSTK_PWMPIN1 LPSTK_PIN_GLED
121
#define LPSTK_PWMPIN2 PIN_UNASSIGNED
122
#define LPSTK_PWMPIN3 PIN_UNASSIGNED
123
#define LPSTK_PWMPIN4 PIN_UNASSIGNED
124
#define LPSTK_PWMPIN5 PIN_UNASSIGNED
125
#define LPSTK_PWMPIN6 PIN_UNASSIGNED
126
#define LPSTK_PWMPIN7 PIN_UNASSIGNED
127
128
/* Sensors */
129
#define LPSTK_MPU_INT IOID_30
130
#define LPSTK_TMP_RDY IOID_25
131
132
/* SPI */
133
#define LPSTK_SPI_FLASH_CS IOID_20
134
#define LPSTK_FLASH_CS_ON 0
135
#define LPSTK_FLASH_CS_OFF 1
136
137
/* SPI Board */
138
#define LPSTK_SPI0_MISO IOID_8
/* RF1.20 */
139
#define LPSTK_SPI0_MOSI IOID_9
/* RF1.18 */
140
#define LPSTK_SPI0_CLK IOID_10
/* RF1.16 */
141
#define LPSTK_SPI0_CSN IOID_11
142
#define LPSTK_SPI1_MISO PIN_UNASSIGNED
143
#define LPSTK_SPI1_MOSI PIN_UNASSIGNED
144
#define LPSTK_SPI1_CLK PIN_UNASSIGNED
145
#define LPSTK_SPI1_CSN PIN_UNASSIGNED
146
147
/* UART Board */
148
#define LPSTK_UART0_RX IOID_12
/* RXD */
149
#define LPSTK_UART0_TX IOID_13
/* TXD */
150
#define LPSTK_UART0_CTS IOID_19
/* CTS */
151
#define LPSTK_UART0_RTS IOID_18
/* RTS */
152
#define LPSTK_UART1_RX PIN_UNASSIGNED
153
#define LPSTK_UART1_TX PIN_UNASSIGNED
154
#define LPSTK_UART1_CTS PIN_UNASSIGNED
155
#define LPSTK_UART1_RTS PIN_UNASSIGNED
156
/* For backward compatibility */
157
#define LPSTK_UART_RX LPSTK_UART0_RX
158
#define LPSTK_UART_TX LPSTK_UART0_TX
159
#define LPSTK_UART_CTS LPSTK_UART0_CTS
160
#define LPSTK_UART_RTS LPSTK_UART0_RTS
161
162
/*!
163
* @brief Initialize the general board specific settings
164
*
165
* This function initializes the general board specific settings.
166
*/
167
void
LPSTK_initGeneral
(
void
);
168
169
/*!
170
* @brief Shut down the external flash present on the board files
171
*
172
* This function bitbangs the SPI sequence necessary to turn off
173
* the external flash on LaunchPads.
174
*/
175
void
LPSTK_shutDownExtFlash
(
void
);
176
177
/*!
178
* @brief Wake up the external flash present on the board files
179
*
180
* This function toggles the chip select for the amount of time needed
181
* to wake the chip up.
182
*/
183
void
LPSTK_wakeUpExtFlash
(
void
);
184
185
/*!
186
* @def LPSTK_ADCBufName
187
* @brief Enum of ADCs
188
*/
189
typedef
enum
LPSTK_ADCBufName {
190
LPSTK_ADCBUF0 = 0,
191
192
LPSTK_ADCBUFCOUNT
193
} LPSTK_ADCBufName;
194
195
/*!
196
* @def LPSTK_ADCBuf0ChannelName
197
* @brief Enum of ADCBuf channels
198
*/
199
typedef
enum
LPSTK_ADCBuf0ChannelName {
200
LPSTK_ADCBUF0CHANNEL0 = 0,
201
LPSTK_ADCBUF0CHANNEL1,
202
LPSTK_ADCBUF0CHANNEL2,
203
LPSTK_ADCBUF0CHANNEL3,
204
LPSTK_ADCBUF0CHANNEL4,
205
LPSTK_ADCBUF0CHANNEL5,
206
LPSTK_ADCBUF0CHANNEL6,
207
LPSTK_ADCBUF0CHANNELVDDS,
208
LPSTK_ADCBUF0CHANNELDCOUPL,
209
LPSTK_ADCBUF0CHANNELVSS,
210
211
LPSTK_ADCBUF0CHANNELCOUNT
212
} LPSTK_ADCBuf0ChannelName;
213
214
/*!
215
* @def LPSTK_ADCName
216
* @brief Enum of ADCs
217
*/
218
typedef
enum
LPSTK_ADCName {
219
LPSTK_ADC0 = 0,
220
LPSTK_ADC1,
221
LPSTK_ADC2,
222
LPSTK_ADC3,
223
LPSTK_ADC4,
224
LPSTK_ADC5,
225
LPSTK_ADC6,
226
LPSTK_ADCDCOUPL,
227
LPSTK_ADCVSS,
228
LPSTK_ADCVDDS,
229
230
LPSTK_ADCCOUNT
231
} LPSTK_ADCName;
232
233
/*!
234
* @def LPSTK_ECDHName
235
* @brief Enum of ECDH names
236
*/
237
typedef
enum
LPSTK_ECDHName {
238
LPSTK_ECDH0 = 0,
239
240
LPSTK_ECDHCOUNT
241
} LPSTK_ECDHName;
242
243
/*!
244
* @def LPSTK_ECDSAName
245
* @brief Enum of ECDSA names
246
*/
247
typedef
enum
LPSTK_ECDSAName {
248
LPSTK_ECDSA0 = 0,
249
250
LPSTK_ECDSACOUNT
251
} LPSTK_ECDSAName;
252
253
/*!
254
* @def LPSTK_ECJPAKEName
255
* @brief Enum of ECJPAKE names
256
*/
257
typedef
enum
LPSTK_ECJPAKEName {
258
LPSTK_ECJPAKE0 = 0,
259
260
LPSTK_ECJPAKECOUNT
261
} LPSTK_ECJPAKEName;
262
263
/*!
264
* @def LPSTK_AESCCMName
265
* @brief Enum of AESCCM names
266
*/
267
typedef
enum
LPSTK_AESCCMName {
268
LPSTK_AESCCM0 = 0,
269
270
LPSTK_AESCCMCOUNT
271
} LPSTK_AESCCMName;
272
273
/*!
274
* @def LPSTK_AESGCMName
275
* @brief Enum of AESGCM names
276
*/
277
typedef
enum
LPSTK_AESGCMName {
278
LPSTK_AESGCM0 = 0,
279
280
LPSTK_AESGCMCOUNT
281
} LPSTK_AESGCMName;
282
283
/*!
284
* @def LPSTK_AESCBCName
285
* @brief Enum of AESCBC names
286
*/
287
typedef
enum
LPSTK_AESCBCName {
288
LPSTK_AESCBC0 = 0,
289
290
LPSTK_AESCBCCOUNT
291
} LPSTK_AESCBCName;
292
293
/*!
294
* @def LPSTK_AESCTRName
295
* @brief Enum of AESCTR names
296
*/
297
typedef
enum
LPSTK_AESCTRName {
298
LPSTK_AESCTR0 = 0,
299
300
LPSTK_AESCTRCOUNT
301
} LPSTK_AESCTRName;
302
303
/*!
304
* @def LPSTK_AESECBName
305
* @brief Enum of AESECB names
306
*/
307
typedef
enum
LPSTK_AESECBName {
308
LPSTK_AESECB0 = 0,
309
310
LPSTK_AESECBCOUNT
311
} LPSTK_AESECBName;
312
313
/*!
314
* @def LPSTK_AESCTRDRBGName
315
* @brief Enum of AESCTRDRBG names
316
*/
317
typedef
enum
LPSTK_AESCTRDRBGName {
318
LPSTK_AESCTRDRBG0 = 0,
319
320
LPSTK_AESCTRDRBGCOUNT
321
} LPSTK_AESCTRDRBGName;
322
323
/*!
324
* @def LPSTK_SHA2Name
325
* @brief Enum of SHA2 names
326
*/
327
typedef
enum
LPSTK_SHA2Name {
328
LPSTK_SHA20 = 0,
329
330
LPSTK_SHA2COUNT
331
} LPSTK_SHA2Name;
332
333
/*!
334
* @def LPSTK_TRNGName
335
* @brief Enum of TRNG names
336
*/
337
typedef
enum
LPSTK_TRNGName {
338
LPSTK_TRNG0 = 0,
339
340
LPSTK_TRNGCOUNT
341
} LPSTK_TRNGName;
342
343
/*!
344
* @def LPSTK_GPIOName
345
* @brief Enum of GPIO names
346
*/
347
typedef
enum
LPSTK_GPIOName {
348
LPSTK_GPIO_S1 = 0,
349
LPSTK_GPIO_S2,
350
LPSTK_GPIO_LED_GREEN,
351
LPSTK_GPIO_LED_RED,
352
LPSTK_GPIO_SPI_FLASH_CS,
353
354
LPSTK_GPIOCOUNT
355
} LPSTK_GPIOName;
356
357
/*!
358
* @def LPSTK_GPTimerName
359
* @brief Enum of GPTimer parts
360
*/
361
typedef
enum
LPSTK_GPTimerName {
362
LPSTK_GPTIMER0A = 0,
363
LPSTK_GPTIMER0B,
364
LPSTK_GPTIMER1A,
365
LPSTK_GPTIMER1B,
366
LPSTK_GPTIMER2A,
367
LPSTK_GPTIMER2B,
368
LPSTK_GPTIMER3A,
369
LPSTK_GPTIMER3B,
370
371
LPSTK_GPTIMERPARTSCOUNT
372
} LPSTK_GPTimerName;
373
374
/*!
375
* @def LPSTK_GPTimers
376
* @brief Enum of GPTimers
377
*/
378
typedef
enum
LPSTK_GPTimers {
379
LPSTK_GPTIMER0 = 0,
380
LPSTK_GPTIMER1,
381
LPSTK_GPTIMER2,
382
LPSTK_GPTIMER3,
383
384
LPSTK_GPTIMERCOUNT
385
} LPSTK_GPTimers;
386
387
/*!
388
* @def LPSTK_I2CName
389
* @brief Enum of I2C names
390
*/
391
typedef
enum
LPSTK_I2CName {
392
#if TI_I2C_CONF_I2C0_ENABLE
393
LPSTK_I2C0 = 0,
394
LPSTK_I2C1 = 1,
395
#endif
396
397
LPSTK_I2CCOUNT
398
} LPSTK_I2CName;
399
400
/*!
401
* @def LPSTK_I2SName
402
* @brief Enum of I2S names
403
*/
404
typedef
enum
LPSTK_I2SName {
405
LPSTK_I2S0 = 0,
406
407
LPSTK_I2SCOUNT
408
} LPSTK_I2SName;
409
410
/*!
411
* @def LPSTK_PDMName
412
* @brief Enum of I2S names
413
*/
414
typedef
enum
LPSTK_PDMCOUNT {
415
LPSTK_PDM0 = 0,
416
417
LPSTK_PDMCOUNT
418
} LPSTK_PDMName;
419
420
/*!
421
* @def LPSTK_NVSName
422
* @brief Enum of NVS names
423
*/
424
typedef
enum
LPSTK_NVSName {
425
#if TI_NVS_CONF_NVS_INTERNAL_ENABLE
426
LPSTK_NVSCC26XX0 = 0,
427
#endif
428
#if TI_NVS_CONF_NVS_EXTERNAL_ENABLE
429
LPSTK_NVSSPI25X0,
430
#endif
431
432
LPSTK_NVSCOUNT
433
} LPSTK_NVSName;
434
435
/*!
436
* @def LPSTK_PWMName
437
* @brief Enum of PWM outputs
438
*/
439
typedef
enum
LPSTK_PWMName {
440
LPSTK_PWM0 = 0,
441
LPSTK_PWM1,
442
LPSTK_PWM2,
443
LPSTK_PWM3,
444
LPSTK_PWM4,
445
LPSTK_PWM5,
446
LPSTK_PWM6,
447
LPSTK_PWM7,
448
449
LPSTK_PWMCOUNT
450
} LPSTK_PWMName;
451
452
/*!
453
* @def LPSTK_SPIName
454
* @brief Enum of SPI names
455
*/
456
typedef
enum
LPSTK_SPIName {
457
#if TI_SPI_CONF_SPI0_ENABLE
458
LPSTK_SPI0 = 0,
459
#endif
460
#if TI_SPI_CONF_SPI1_ENABLE
461
LPSTK_SPI1,
462
#endif
463
464
LPSTK_SPICOUNT
465
} LPSTK_SPIName;
466
467
/*!
468
* @def LPSTK_UARTName
469
* @brief Enum of UARTs
470
*/
471
typedef
enum
LPSTK_UARTName {
472
#if TI_UART_CONF_UART0_ENABLE
473
LPSTK_UART0 = 0,
474
#endif
475
476
LPSTK_UARTCOUNT
477
} LPSTK_UARTName;
478
479
/*!
480
* @def LPSTK_UDMAName
481
* @brief Enum of DMA buffers
482
*/
483
typedef
enum
LPSTK_UDMAName {
484
LPSTK_UDMA0 = 0,
485
486
LPSTK_UDMACOUNT
487
} LPSTK_UDMAName;
488
489
/*!
490
* @def LPSTK_WatchdogName
491
* @brief Enum of Watchdogs
492
*/
493
typedef
enum
LPSTK_WatchdogName {
494
LPSTK_WATCHDOG0 = 0,
495
496
LPSTK_WATCHDOGCOUNT
497
} LPSTK_WatchdogName;
498
499
500
#ifdef __cplusplus
501
}
502
#endif
503
504
#endif
/* __LPSTK_BOARD_H__ */
LPSTK_shutDownExtFlash
void LPSTK_shutDownExtFlash(void)
Shut down the external flash present on the board files.
Definition
LPSTK_fxns.c:122
LPSTK_wakeUpExtFlash
void LPSTK_wakeUpExtFlash(void)
Wake up the external flash present on the board files.
Definition
LPSTK_fxns.c:92
LPSTK_initGeneral
void LPSTK_initGeneral(void)
Initialize the general board specific settings.
Definition
LPSTK.c:1052
arch
platform
simplelink
cc13xx-cc26xx
sensortag
cc1352r1
LPSTK.h
Generated on
for Contiki-NG by
1.17.0