Contiki-NG
board.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2016, Zolertia
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  *
14  * 3. Neither the name of the copyright holder nor the names of its
15  * contributors may be used to endorse or promote products derived
16  * from this software without specific prior written permission.
17  *
18  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
21  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
22  * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
23  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
29  * OF THE POSSIBILITY OF SUCH DAMAGE.
30  */
31 /**
32  * \addtogroup zoul-platforms
33  * @{
34  *
35  * \defgroup remote-revb RE-Mote platform revision B
36  *
37  * The RE-Mote was designed jointly with universities and industry partners in
38  * RERUM European project, to ease the development of private and secure
39  * applications for IoT and Smart City applications. The RE-Mote packs several
40  * on-board resources, like a RTC, external WDT, Micro-SD, RF switch and a
41  * Shutdown mode to reduce its power consumption down to 150nA.
42  *
43  * This file provides connectivity information on LEDs, Buttons, UART and
44  * other RE-Mote revision A peripherals
45  *
46  * This file can be used as the basis to configure other platforms using the
47  * cc2538 SoC.
48  * @{
49  *
50  * \file
51  * Header file with definitions related to the I/O connections on the Zolertia's
52  * RE-Mote platform (revision B), cc2538-based
53  *
54  * \note Do not include this file directly. It gets included by contiki-conf
55  * after all relevant directives have been set.
56  */
57 #ifndef BOARD_H_
58 #define BOARD_H_
59 
60 #include "dev/gpio.h"
61 #include "dev/nvic.h"
62 /*---------------------------------------------------------------------------*/
63 /** \name Connector headers
64  *
65  * The RE-Mote features two 2.54 mm header rows over which exposes the following
66  * pins (facing up, Zolertia/RERUM logo above, buttons and micro USB at bottom):
67  * ----------------------+---+---+---------------------------------------------
68  * PIN_NAME |JP6|JP5| PIN_NAME
69  * ----------------------+---+---+---------------------------------------------
70  * LED1.R/PD4 |-01|17-| PB2/SPIO0.SCLK/CC1200.SCLK
71  * LED2.G/JTAG.TDO/PB7 |-02|16-| PB1/SPIO0.MOSI/CC1200.MOSI
72  * LED3.B/JTAG.TDI/PB6 |-03|15-| PB3/SPIO0.MISO/CC1200.MISO
73  * UART0.RX/PA0 |-04|14-| PA7/AIN7/USD.CS|ADC5
74  * UART0.TX/PA1 |-05|13-| DGND
75  * PD0 |-06|12-| D+3.3
76  * I2C.SDA/PC2 |-07|11-| PA5/AIN5/ADC1
77  * I2C.SCL/PC3 |-08|10-| PA4/AIN4/ADC2
78  * DGND |-09|09-| DGND
79  * D+3.3 |-10|08-| D+5.0
80  * CC1200.GPIO0/PB4 |-11|07-| PA2/AIN2/ADC3
81  * CC1200.GPIO2/PB0 |-12|06-| PA6/AIN6/USD.SEL|ADC4
82  * UART1.RX/PC1 |-13|05-| PC6/SPI1.MISO
83  * UART1.TX/PC0 |-14|04-| PC5/SPI1.MOSI
84  * DGND |-15|03-| PC4/SPI1.SCLK
85  * D+3.3 |-16|02-| PS+EXT/VIN
86  * CC1200.CS/PB5 |-17|01-| DGND
87  * ----------------------+---+---+---------------------------------------------
88  *
89  * Two auxiliary connectors allow to connect an external LiPo battery and
90  * access to the RESET/user buttons:
91  *
92  * - JP4 (placed below JP6 connector): |1-| DGND, |2-| VBAT
93  * - JP9 (placed above JP5 connector): |1-| BUTTON.RESET, |2-| BUTTON.USER|ADC6
94  */
95 /*---------------------------------------------------------------------------*/
96 /** \name RE-Mote LED configuration
97  *
98  * LEDs on the RE-Mote are exposed in the JP6 port as follows:
99  * - LED1 (Red) -> PD4
100  * - LED2 (Green) -> PB7 (shared with JTAG.TDO)
101  * - LED3 (Blue) -> PB6 (shared with JTAG.TDI)
102  *
103  * The LEDs are connected to a MOSFET to minimize current draw. The LEDs can
104  * be disabled by removing resistors R12, R13 and R14.
105  * @{
106  */
107 /*---------------------------------------------------------------------------*/
108 #define LEDS_ARCH_L1_PORT GPIO_D_NUM
109 #define LEDS_ARCH_L1_PIN 4
110 #define LEDS_ARCH_L2_PORT GPIO_B_NUM
111 #define LEDS_ARCH_L2_PIN 7
112 #define LEDS_ARCH_L3_PORT GPIO_B_NUM
113 #define LEDS_ARCH_L3_PIN 6
114 
115 #define LEDS_CONF_RED 1
116 #define LEDS_CONF_GREEN 2
117 #define LEDS_CONF_BLUE 4
118 
119 #define LEDS_CONF_COUNT 3
120 /** @} */
121 /*---------------------------------------------------------------------------*/
122 /** \name USB configuration
123  *
124  * The USB pullup is enabled by an external resistor, not mapped to a GPIO
125  */
126 #ifdef USB_PULLUP_PORT
127 #undef USB_PULLUP_PORT
128 #endif
129 #ifdef USB_PULLUP_PIN
130 #undef USB_PULLUP_PIN
131 #endif
132 /** @} */
133 /*---------------------------------------------------------------------------*/
134 /** \name UART configuration
135  *
136  * On the RE-Mote, the UARTs are connected to the following ports/pins:
137  *
138  * - UART0:
139  * - RX: PA0, connected to CP2104 serial-to-usb converter TX pin
140  * - TX: PA1, connected to CP2104 serial-to-usb converter RX pin
141  * - UART1:
142  * - RX: PC1
143  * - TX: PC0
144  * - CTS: disabled as default, PD0 may be assigned if not using I2C interrupts
145  * - RTS: disabled as default
146  *
147  * We configure the port to use UART0 and UART1, CTS/RTS only for UART1,
148  * both without a HW pull-up resistor
149  * UART0 and UART1 pins are exposed over the JP6 connector
150  * @{
151  */
152 #define UART0_RX_PORT GPIO_A_NUM
153 #define UART0_RX_PIN 0
154 #define UART0_TX_PORT GPIO_A_NUM
155 #define UART0_TX_PIN 1
156 
157 #define UART1_RX_PORT GPIO_C_NUM
158 #define UART1_RX_PIN 1
159 #define UART1_TX_PORT GPIO_C_NUM
160 #define UART1_TX_PIN 0
161 #define UART1_CTS_PORT (-1)
162 #define UART1_CTS_PIN (-1)
163 #define UART1_RTS_PORT (-1)
164 #define UART1_RTS_PIN (-1)
165 /** @} */
166 /*---------------------------------------------------------------------------*/
167 /**
168  * \name ADC configuration
169  *
170  * These values configure which CC2538 pins and ADC channels to use for the ADC
171  * inputs. By default the RE-Mote allows two out-of-the-box ADC ports with a
172  * phidget-like 3-pin connector (GND/VDD/ADC)
173  *
174  * The RE-Mote allows both 3.3V and 5V analogue sensors as follow:
175  *
176  * - ADC1 (PA5): up to 3.3V.
177  * - ADC2 (PA4): up to 3.3V
178  * - ADC3 (PA2): up to 5V, by means of a 2/3 voltage divider.
179  *
180  * Also there are other ADC channels shared by default with Micro SD card and
181  * user button implementations:
182  *
183  * - ADC4 (PA6): up to 3.3V.
184  * - ADC5 (PA7): up to 3.3V.
185  * - ADC6 (PA3): up to 3.3V.
186  *
187  * ADC inputs can only be on port A.
188  * All ADCx are exposed in JP5 connector, but only ADC1 and ADC3 have GND and
189  * VDD (3/5V) pins next to it, so these can be exposed into a 3-pin phidget-like
190  * connector, for ADC2 either solder a wire to connect, or use a 4-pin connector
191  * to expose both ADC1 and ADC2 in a single connector, but this will leave no
192  * space for a ADC3 connector.
193  *
194  * The internal ADC reference is 1190mV, use either a voltage divider as input,
195  * or a different voltage reference, like AVDD5, or externally using PA7/AIN7
196  * and PA6/AIN6 configurable as differential reference, by removing the R26 and
197  * R33 0Ohm resistors to disconnect off the Micro-SD, and those will be
198  * accessible from JP5 connector.
199  *
200  * To enable the ADC[2,4-6], remove any 0Ohm resistors if required (see above),
201  * and define in your application `ADC_SENSORS_CONF_ADCx_PIN` and set its
202  * value with the corresponding pin number (i.e ADC2 to 4 as mapped to PA4).
203  * To disable any ADC[1-6] just define as above, but set to (-1) instead.
204 
205  * Warning: if using ADC6 (PA3), you will need to disable the bootloader by
206  * making FLASH_CCA_CONF_BOOTLDR_BACKDOOR equal to zero
207  *
208  * @{
209  */
210 #define ADC_SENSORS_PORT GPIO_A_NUM /**< ADC GPIO control port */
211 
212 #ifndef ADC_SENSORS_CONF_ADC1_PIN
213 #define ADC_SENSORS_ADC1_PIN 5 /**< ADC1 to PA5, 3V3 */
214 #else
215 #if ((ADC_SENSORS_CONF_ADC1_PIN != -1) && (ADC_SENSORS_CONF_ADC1_PIN != 5))
216 #error "ADC1 channel should be mapped to PA5 or disabled with -1"
217 #else
218 #define ADC_SENSORS_ADC1_PIN ADC_SENSORS_CONF_ADC1_PIN
219 #endif
220 #endif
221 
222 #ifndef ADC_SENSORS_CONF_ADC3_PIN
223 #define ADC_SENSORS_ADC3_PIN 2 /**< ADC3 to PA2, 5V */
224 #else
225 #if ((ADC_SENSORS_CONF_ADC3_PIN != -1) && (ADC_SENSORS_CONF_ADC3_PIN != 2))
226 #error "ADC3 channel should be mapped to PA2 or disabled with -1"
227 #else
228 #define ADC_SENSORS_ADC3_PIN ADC_SENSORS_CONF_ADC3_PIN
229 #endif
230 #endif
231 
232 #ifndef ADC_SENSORS_CONF_ADC2_PIN
233 #define ADC_SENSORS_ADC2_PIN (-1) /**< ADC2 no declared */
234 #else
235 #define ADC_SENSORS_ADC2_PIN 4 /**< Hard-coded to PA4 */
236 #endif
237 
238 #ifndef ADC_SENSORS_CONF_ADC4_PIN
239 #define ADC_SENSORS_ADC4_PIN (-1) /**< ADC4 not declared */
240 #else
241 #define ADC_SENSORS_ADC4_PIN 6 /**< Hard-coded to PA6 */
242 #endif
243 
244 #ifndef ADC_SENSORS_CONF_ADC5_PIN
245 #define ADC_SENSORS_ADC5_PIN (-1) /**< ADC5 not declared */
246 #else
247 #define ADC_SENSORS_ADC5_PIN 7 /**< Hard-coded to PA7 */
248 #endif
249 
250 #ifndef ADC_SENSORS_CONF_ADC6_PIN
251 #define ADC_SENSORS_ADC6_PIN (-1) /**< ADC6 not declared */
252 #else
253 #define ADC_SENSORS_ADC6_PIN 3 /**< Hard-coded to PA3 */
254 #endif
255 
256 #ifndef ADC_SENSORS_CONF_MAX
257 #define ADC_SENSORS_MAX 2 /**< Maximum sensors */
258 #else
259 #define ADC_SENSORS_MAX ADC_SENSORS_CONF_MAX
260 #endif
261 /** @} */
262 /*---------------------------------------------------------------------------*/
263 /** \name RE-Mote Button configuration
264  *
265  * Buttons on the RE-Mote are connected as follows:
266  * - BUTTON_USER -> PA3, S1 user button, shared with bootloader
267  * - BUTTON_RESET -> RESET_N line, S2 reset the CC2538
268  * - BUTTON_PWR -> Depending on the enabled resistor, it can be used to reset
269  * the onboard Low-power PIC, provoking a master reset on all
270  * the RE-Mote's onboards components. Note the BUTTON_RESET
271  * only resets the CC2538. This is disabled by default, as
272  * the R45 0Ohm resistor is not soldered on that position
273  * The other R45 position enables a test-button to drive the
274  * SYSOFF pin of the power management block, disconnecting the
275  * battery when used, leaving only powered the RTCC and
276  * Low-Power PIC. Useful if developing applications using the
277  * shutdown mode if required to snap out of it.
278  * @{
279  */
280 #define BUTTON_USER_PORT GPIO_A_NUM
281 #define BUTTON_USER_PIN 3
282 #define BUTTON_USER_VECTOR GPIO_A_IRQn
283 
284 /* Notify various examples that we have an user button.
285  * If ADC6 channel is used, then disable the user button
286  */
287 #ifdef PLATFORM_CONF_WITH_BUTTON
288 #if (PLATFORM_CONF_WITH_BUTTON && (ADC_SENSORS_ADC6_PIN == 3))
289 #error "The ADC6 (PA3) and user button cannot be enabled at the same time"
290 #else
291 #define PLATFORM_HAS_BUTTON (PLATFORM_CONF_WITH_BUTTON && \
292  !(ADC_SENSORS_ADC6_PIN == 3))
293 #endif /* (PLATFORM_CONF_WITH_BUTTON && (ADC_SENSORS_ADC6_PIN == 3)) */
294 #else
295 #define PLATFORM_HAS_BUTTON !(ADC_SENSORS_ADC6_PIN == 3)
296 #endif /* PLATFORM_CONF_WITH_BUTTON */
297 /** @} */
298 /*---------------------------------------------------------------------------*/
299 /**
300  * \name SPI (SSI0) configuration
301  *
302  * These values configure which CC2538 pins to use for the SPI (SSI0) lines,
303  * reserved exclusively for the CC1200 RF transceiver. These pins are not
304  * exposed to any connector, and should be avoid to use it.
305  * TX -> MOSI, RX -> MISO
306  * @{
307  */
308 #define SPI0_CLK_PORT GPIO_B_NUM
309 #define SPI0_CLK_PIN 2
310 #define SPI0_TX_PORT GPIO_B_NUM
311 #define SPI0_TX_PIN 1
312 #define SPI0_RX_PORT GPIO_B_NUM
313 #define SPI0_RX_PIN 3
314 /** @} */
315 /*---------------------------------------------------------------------------*/
316 /**
317  * \name SPI (SSI1) configuration
318  *
319  * These values configure which CC2538 pins to use for the SPI (SSI1) lines,
320  * shared with the microSD and exposed over JP5 connector.
321  * TX -> MOSI, RX -> MISO
322  * @{
323  */
324 #define SPI1_CLK_PORT GPIO_C_NUM
325 #define SPI1_CLK_PIN 4
326 #define SPI1_TX_PORT GPIO_C_NUM
327 #define SPI1_TX_PIN 5
328 #define SPI1_RX_PORT GPIO_C_NUM
329 #define SPI1_RX_PIN 6
330 /** @} */
331 /*---------------------------------------------------------------------------*/
332 /**
333  * \name I2C configuration
334  *
335  * These values configure which CC2538 pins to use for the I2C lines, exposed
336  * over JP6 connector.
337  * The I2C bus is shared with the on-board RTC and the Low-Power PIC
338  * The I2C is exposed over the JP6 header, using a 5-pin connector with 2.54 mm
339  * spacing, providing also D+3.3V, GND and PD0 pin that can be used as an
340  * interrupt pin if required
341  * @{
342  */
343 #define I2C_SCL_PORT GPIO_C_NUM
344 #define I2C_SCL_PIN 3
345 #define I2C_SDA_PORT GPIO_C_NUM
346 #define I2C_SDA_PIN 2
347 #define I2C_INT_PORT GPIO_D_NUM
348 #define I2C_INT_PIN 0
349 #define I2C_INT_VECTOR GPIO_D_IRQn
350 /** @} */
351 /*---------------------------------------------------------------------------*/
352 /**
353  * \name Antenna switch configuration
354  *
355  * These values configure the required pin to drive the RF antenna switch, to
356  * either enable the sub-1Ghz RF interface (power-up the CC1200) or the 2.4GHz
357  * RF interface of the CC2538, both alternatively routed to a RP-SMA connector
358  * to allow using an external antenna for both cases.
359  *
360  * Note it is also possible to enable both RF interfaces at the same time, by
361  * switching On the sub-1GHz RF interface, and placing an 0Ohm resistor (R19),
362  * to select between using a ceramic chip antenna (not mounted), or to connect
363  * and external antenna over a pigtail to the U.Fl connector (not mounted).
364  *
365  * RF switch state:
366  * - LOW: 2.4GHz RF interface on RP-SMA connector, CC1200 powered-off.
367  * - HIGH: Sub-1GHz RF interface on RP-SMA connector.
368  * @{
369  */
370 #define ANTENNA_RF_SW_PORT GPIO_D_NUM
371 #define ANTENNA_RF_SW_PIN 2
372 /** @} */
373 /*---------------------------------------------------------------------------*/
374 /**
375  * \name Dual RF interface support
376  *
377  * Enables support for dual band operation (both CC1200 and 2.4GHz enabled).
378  * The driver checks the selected Radio stack, and forces the antenna switch to
379  * either position. Enabling the definition below forces to skip this check.
380  * @{
381  */
382 #define REMOTE_DUAL_RF_ENABLED 0
383 /** @} */
384 /*---------------------------------------------------------------------------*/
385 /**
386  * \name CC1200 configuration
387  *
388  * These values configure the required pins to drive the CC1200
389  * None of the following pins are exposed to any connector, kept for internal
390  * use only
391  * @{
392  */
393 #define CC1200_SPI_INSTANCE 0
394 #define CC1200_SPI_SCLK_PORT SPI0_CLK_PORT
395 #define CC1200_SPI_SCLK_PIN SPI0_CLK_PIN
396 #define CC1200_SPI_MOSI_PORT SPI0_TX_PORT
397 #define CC1200_SPI_MOSI_PIN SPI0_TX_PIN
398 #define CC1200_SPI_MISO_PORT SPI0_RX_PORT
399 #define CC1200_SPI_MISO_PIN SPI0_RX_PIN
400 #define CC1200_SPI_CSN_PORT GPIO_B_NUM
401 #define CC1200_SPI_CSN_PIN 5
402 #define CC1200_GDO0_PORT GPIO_B_NUM
403 #define CC1200_GDO0_PIN 4
404 #define CC1200_GDO2_PORT GPIO_B_NUM
405 #define CC1200_GDO2_PIN 0
406 #define CC1200_RESET_PORT GPIO_C_NUM
407 #define CC1200_RESET_PIN 7
408 #define CC1200_GPIOx_VECTOR GPIO_B_IRQn
409 /** @} */
410 /*---------------------------------------------------------------------------*/
411 /**
412  * \name microSD configuration
413  *
414  * These values configure the required pins to drive the built-in microSD
415  * external module, to be used with SSI1. USD_CSN and USD_SEL are shared with
416  * ADC4/ADC5, but it is disabled by default as there are 0Ohm resistors
417  * connecting the PA6/PA7 pins to the microSD (see ADC block above for comments)
418  * The USD_SEL pin can be used both as output and input, to detect if there is
419  * a microSD in the slot, or when connected to disable the microSD to save power
420  * @{
421  */
422 #define USD_SPI_INSTANCE 1
423 #define USD_CLK_PORT SPI1_CLK_PORT
424 #define USD_CLK_PIN SPI1_CLK_PIN
425 #define USD_MOSI_PORT SPI1_TX_PORT
426 #define USD_MOSI_PIN SPI1_TX_PIN
427 #define USD_MISO_PORT SPI1_RX_PORT
428 #define USD_MISO_PIN SPI1_RX_PIN
429 #define USD_CSN_PORT GPIO_A_NUM
430 #define USD_CSN_PIN 7
431 #define USD_SEL_PORT GPIO_A_NUM
432 #define USD_SEL_PIN 6
433 /** @} */
434 /*---------------------------------------------------------------------------*/
435 /**
436  * \name Power management and shutdown mode
437  *
438  * The shutdown mode is an ultra-low power operation mode that effectively
439  * powers-down the entire RE-Mote (CC2538, CC1200, attached sensors, etc) and
440  * only keeps running a the on-board RTC and an ultra-low power consumption MCU
441  * The Shutdown mode allows:
442  *
443  * - Put the board in an ultra-low power sleep (shutdown) drawing <150nA avg.
444  * - Awake the system by scheduling the RTCC to awake the Low-Power PIC after
445  * it disconnects the battery and goes to sleep mode.
446  * - Awake the system by using the Low-Power PIC's timer
447  *
448  * As commented above, S3 can be used to restart the entire board (power
449  * management block included), or to kick the board out of shutdown mode by
450  * reconnecting the battery.
451  * @{
452  */
453 #define PM_ENABLE_PORT GPIO_D_NUM
454 #define PM_ENABLE_PIN 1
455 /** @} */
456 /*---------------------------------------------------------------------------*/
457 /**
458  * \name On-board RTCC
459  *
460  * The on-board RTCC (real time clock-calendar) is powered over USB/battery,
461  * and it will remain powered in shutdown mode with the Low-Power PIC. The
462  * RTC_INT1 is connected to the CC2538, so it is possible to receive interrupts
463  * from a pre-configured alarm, even waking up the CC2538 from PM3.
464  * A second interruption pin (RTC_INT2) is connected to the Low-Power PIC, after
465  * configuring the RTCC the Low-Power PIC can drive the board to shutdown mode,
466  * and enter into low-power mode (sleep), being the RTCC interrupt the waking up
467  * source to resume operation.
468  *
469  * @{
470  */
471 #define PLATFORM_HAS_RTC 1
472 #define RTC_SDA_PORT I2C_SDA_PORT
473 #define RTC_SDA_PIN I2C_SDA_PIN
474 #define RTC_SCL_PORT I2C_SCL_PORT
475 #define RTC_SCL_PIN I2C_SCL_PIN
476 #define RTC_INT1_PORT GPIO_D_NUM
477 #define RTC_INT1_PIN 3
478 #define RTC_INT1_VECTOR GPIO_D_IRQn
479 /** @} */
480 /*---------------------------------------------------------------------------*/
481 /**
482  * \name On-board external WDT
483  * The RE-Mote features an on-board external WDT and battery monitor, which
484  * adds more robustness and prevents the mote to run wild if any unexpected
485  * problem shows-up.
486  * The external WDT requires a short pulse (<1ms) to be sent before a 2-second
487  * period. The battery monitor keeps the device in Reset if the voltage input
488  * is lower than 2.5V.
489  * The external WDT can be disabled by removing the R34 0Ohm resistor.
490  * As default the Texas Instrument's TPS3823 WDT is not mounted.
491  * Alternatively the testpoint or unused WDT's pad can be used to re-use as GPIO
492  * @{
493  */
494 #define EXT_WDT_PORT GPIO_D_NUM
495 #define EXT_WDT_PIN 5
496 /** @} */
497 /*---------------------------------------------------------------------------*/
498 /**
499  * \name Device string used on startup
500  * @{
501  */
502 #define BOARD_STRING "Zolertia RE-Mote revision B platform"
503 /** @} */
504 
505 #endif /* BOARD_H_ */
506 
507 /**
508  * @}
509  * @}
510  */
Header file for the ARM Nested Vectored Interrupt Controller.
Header file with register and macro declarations for the cc2538 GPIO module.