Contiki-NG
Loading...
Searching...
No Matches
board.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2016, 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 launchpad-peripherals
32 * @{
33 *
34 * \defgroup launchpad-cc1350-specific CC1350 LaunchPad Peripherals
35 *
36 * Defines related to the CC1350 LaunchPad
37 *
38 * This file provides connectivity information on LEDs, Buttons, UART and
39 * other peripherals
40 *
41 * This file is not meant to be modified by the user.
42 * @{
43 *
44 * \file
45 * Header file with definitions related to the I/O connections on the TI
46 * CC1350 LaunchPad
47 *
48 * \note Do not include this file directly. It gets included by contiki-conf
49 * after all relevant directives have been set.
50 */
51/*---------------------------------------------------------------------------*/
52#ifndef BOARD_H_
53#define BOARD_H_
54/*---------------------------------------------------------------------------*/
55#include "ioc.h"
56/*---------------------------------------------------------------------------*/
57/**
58 * \name LED HAL configuration
59 *
60 * Those values are not meant to be modified by the user
61 * @{
62 */
63#define LEDS_CONF_COUNT 2
64#define LEDS_CONF_RED 1
65#define LEDS_CONF_GREEN 2
66/** @} */
67/*---------------------------------------------------------------------------*/
68/**
69 * \name LED IOID mappings
70 *
71 * Those values are not meant to be modified by the user
72 * @{
73 */
74#define BOARD_IOID_LED_1 IOID_6
75#define BOARD_IOID_LED_2 IOID_7
76/** @} */
77/*---------------------------------------------------------------------------*/
78/**
79 * \name UART IOID mapping
80 *
81 * Those values are not meant to be modified by the user
82 * @{
83 */
84#define BOARD_IOID_UART_RX IOID_2
85#define BOARD_IOID_UART_TX IOID_3
86#define BOARD_IOID_UART_RTS IOID_18
87#define BOARD_IOID_UART_CTS IOID_19
88#define BOARD_UART_RX (1 << BOARD_IOID_UART_RX)
89#define BOARD_UART_TX (1 << BOARD_IOID_UART_TX)
90#define BOARD_UART_RTS (1 << BOARD_IOID_UART_RTS)
91#define BOARD_UART_CTS (1 << BOARD_IOID_UART_CTS)
92/** @} */
93/*---------------------------------------------------------------------------*/
94/**
95 * \name Button IOID mapping
96 *
97 * Those values are not meant to be modified by the user
98 * @{
99 */
100#define BOARD_IOID_KEY_LEFT IOID_13
101#define BOARD_IOID_KEY_RIGHT IOID_14
102#define BOARD_KEY_LEFT (1 << BOARD_IOID_KEY_LEFT)
103#define BOARD_KEY_RIGHT (1 << BOARD_IOID_KEY_RIGHT)
104/** @} */
105/*---------------------------------------------------------------------------*/
106/**
107 * \name External flash IOID mapping
108 *
109 * Those values are not meant to be modified by the user
110 * @{
111 */
112#define EXT_FLASH_SPI_CONTROLLER SPI_CONTROLLER_SPI0
113
114#define EXT_FLASH_SPI_PIN_SCK IOID_10
115#define EXT_FLASH_SPI_PIN_MOSI IOID_9
116#define EXT_FLASH_SPI_PIN_MISO IOID_8
117#define EXT_FLASH_SPI_PIN_CS IOID_20
118
119#define EXT_FLASH_DEVICE_ID 0x14
120#define EXT_FLASH_MID 0xC2
121
122#define EXT_FLASH_PROGRAM_PAGE_SIZE 256
123#define EXT_FLASH_ERASE_SECTOR_SIZE 4096
124/** @} */
125/*---------------------------------------------------------------------------*/
126/**
127 * \brief I2C IOID mappings
128 *
129 * Those values are not meant to be modified by the user
130 * @{
131 */
132#define BOARD_IOID_SCL IOID_4
133#define BOARD_IOID_SDA IOID_5
134/** @} */
135/*---------------------------------------------------------------------------*/
136/**
137 * \brief CC1350LP RF Switch
138 *
139 * Those values are not meant to be modified by the user
140 * @{
141 */
142#define RF_SWITCH_CONF_ENABLE 1
143/** @} */
144/*---------------------------------------------------------------------------*/
145/**
146 * \brief TX power settings
147 *
148 * Those values are not meant to be modified by the user
149 * @{
150 */
151#define PROP_MODE_CONF_TX_POWER_779_930 tx_power_driver_779_930
152/** @} */
153/*---------------------------------------------------------------------------*/
154/**
155 * \brief ROM bootloader configuration
156 *
157 * Change CCFG_CONF_BL_PIN_NUMBER to BOARD_IOID_KEY_xyz to select which
158 * button triggers the bootloader on reset. Use CCFG_CONF_BL_LEVEL to
159 * control the pin level that enables the bootloader (0: low, 1: high). It is
160 * also possible to use any other externally-controlled DIO.
161 * @{
162 */
163#define CCFG_CONF_BL_PIN_NUMBER BOARD_IOID_KEY_LEFT
164#define CCFG_CONF_BL_LEVEL 0
165/** @} */
166/*---------------------------------------------------------------------------*/
167/**
168 * \brief Remaining pins
169 *
170 * Those values are not meant to be modified by the user
171 * @{
172 */
173#define BOARD_IOID_CS IOID_11
174#define BOARD_IOID_TDO IOID_16
175#define BOARD_IOID_TDI IOID_17
176#define BOARD_IOID_DIO12 IOID_12
177#define BOARD_IOID_DIO15 IOID_15
178#define BOARD_IOID_DIO21 IOID_21
179#define BOARD_IOID_DIO22 IOID_22
180#define BOARD_IOID_DIO23 IOID_23
181#define BOARD_IOID_DIO24 IOID_24
182#define BOARD_IOID_DIO25 IOID_25
183#define BOARD_IOID_DIO26 IOID_26
184#define BOARD_IOID_DIO27 IOID_27
185#define BOARD_IOID_DIO28 IOID_28
186#define BOARD_IOID_DIO29 IOID_29
187#define BOARD_IOID_DIO30 IOID_30
188
189#define BOARD_UNUSED_PINS { \
190 BOARD_IOID_CS, BOARD_IOID_TDO, BOARD_IOID_TDI, BOARD_IOID_DIO12, \
191 BOARD_IOID_DIO15, BOARD_IOID_DIO21, BOARD_IOID_DIO22, BOARD_IOID_DIO23, \
192 BOARD_IOID_DIO24, BOARD_IOID_DIO25, BOARD_IOID_DIO26, BOARD_IOID_DIO27, \
193 BOARD_IOID_DIO28, BOARD_IOID_DIO29, \
194 IOID_UNUSED \
195 }
196/** @} */
197/*---------------------------------------------------------------------------*/
198/**
199 * \brief Board indices for the button HAL
200 *
201 * Those values are not meant to be modified by the user
202 * @{
203 */
204#define BOARD_BUTTON_HAL_INDEX_KEY_LEFT 0x00
205#define BOARD_BUTTON_HAL_INDEX_KEY_RIGHT 0x01
206/** @} */
207/*---------------------------------------------------------------------------*/
208/**
209 * \name Device string used on startup
210 * @{
211 */
212#define BOARD_STRING "TI CC1350 LaunchPad"
213/** @} */
214/*---------------------------------------------------------------------------*/
215#endif /* BOARD_H_ */
216/*---------------------------------------------------------------------------*/
217/**
218 * @}
219 * @}
220 */
Header file with declarations for the I/O Control module.