Blame view

RIOT/boards/remote-revb/include/board.h 3.73 KB
a752c7ab   elopes   add first test an...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
  /*
   * Copyright (C) 2014 Freie Universitรคt Berlin
   * Copyright (C) 2015 Zolertia SL
   *
   * This file is subject to the terms and conditions of the GNU Lesser General
   * Public License v2.1. See the file LICENSE in the top level directory for more
   * details.
   */
  
  /**
   * @defgroup    boards_remote-revb RE-Mote Revision B
   * @ingroup     boards
   * @brief       Support for the RE-Mote board Revision B
   * @{
   *
   * @file
   * @brief       Board specific definitions for the RE-Mote board Revision B
   *
   * @author      Hauke Petersen <hauke.petersen@fu-berlin.de>
   * @author      Antonio Lignan <alinan@zolertia.com>
   * @author      Sebastian Meiling <s@mlng.net>
   */
  
  #ifndef BOARD_H
  #define BOARD_H
  
  #include "cpu.h"
  #include "board_common.h"
  
  #ifdef __cplusplus
   extern "C" {
  #endif
  
  /**
   * @name LED pin definitions
   * @{
   */
  #define LED0_PIN        GPIO_PIN(3, 4)
  #define LED1_PIN        GPIO_PIN(1, 7)
  #define LED2_PIN        GPIO_PIN(1, 6)
  
  #define LED0_MASK       (1 << 4)
  #define LED1_MASK       (1 << 7)
  #define LED2_MASK       (1 << 6)
  
  #define LED0_ON         (GPIO_D->DATA |=  LED0_MASK)
  #define LED0_OFF        (GPIO_D->DATA &= ~LED0_MASK)
  #define LED0_TOGGLE     (GPIO_D->DATA ^=  LED0_MASK)
  
  #define LED1_ON         (GPIO_B->DATA |=  LED1_MASK)
  #define LED1_OFF        (GPIO_B->DATA &= ~LED1_MASK)
  #define LED1_TOGGLE     (GPIO_B->DATA ^=  LED1_MASK)
  
  #define LED2_ON         (GPIO_B->DATA |=  LED2_MASK)
  #define LED2_OFF        (GPIO_B->DATA &= ~LED2_MASK)
  #define LED2_TOGGLE     (GPIO_B->DATA ^=  LED2_MASK)
  /** @} */
  
  /**
   * @name User button pin definition
   * @{
   */
  #define BTN0_PIN        GPIO_PIN(0, 3)
  #define BTN0_MODE       GPIO_IN_PU
  /** @} */
  
  /**
   * @name  RF switch controlled by SW
   * @brief Controls which RF interface goes to the RP-SMA external antenna
   *
   * These values configure the required pin to drive the RF antenna switch, to
   * either enable the sub-1Ghz RF interface (power-up the CC1200) or the 2.4GHz
   * RF interface of the CC2538, both alternatively routed to a RP-SMA connector
   * to allow using an external antenna for both cases.
   *
   * Note it is also possible to enable both RF interfaces at the same time, by
   * switching On the sub-1GHz RF interface, and placing an 0Ohm resistor (R19),
   * to select between using a ceramic chip antenna (not mounted), or to connect
   * and external antenna over a pigtail to the U.Fl connector (not mounted).
   *
   * RF switch state:
   * - LOW: 2.4GHz RF interface on RP-SMA connector, CC1200 powered-off.
   * - HIGH: Sub-1GHz RF interface on RP-SMA connector.
   *
   * @{
   */
  #define RF_SWITCH_GPIO      GPIO_PD2
  #define RF_SWITCH_SUB_GHZ   gpio_set(RF_SWITCH_GPIO)
  #define RF_SWITCH_2_4_GHZ   gpio_clear(RF_SWITCH_GPIO)
  #define RF_SWITCH_TOGGLE    gpio_toggle(RF_SWITCH_GPIO)
  /** @} */
  
  /**
   * @name Power management enable pin
   * @{
   */
  #define SHUTDOWN_EN_GPIO    GPIO_PD1
  /** @} */
  
  /**
   * @name CC1200 SPI and pins definitions
   * @{
   */
  #define CC1200_SPI_DEV      SSI0
  #define CC1200_MOSI_GPIO    GPIO_PB1
  #define CC1200_MISO_GPIO    GPIO_PB3
  #define CC1200_SCLK_GPIO    GPIO_PB2
  #define CC1200_CSN_GPIO     GPIO_PB5
  #define CC1200_RESET_GPIO   GPIO_PC7
  #define CC1200_GPD0_GPIO    GPIO_PB4
  #define CC1200_GPD2_GPIO    GPIO_PB0
  /** @} */
  
  /**
   * @name Onboard micro-sd slot pin definitions
   * @{
   */
  #define SDCARD_SPI_PARAM_SPI       SPI_DEV(1)
  #define SDCARD_SPI_PARAM_CS        GPIO_PIN(0,7)
  #define SDCARD_SPI_PARAM_CLK       GPIO_PIN(2,4)
  #define SDCARD_SPI_PARAM_MOSI      GPIO_PIN(2,5)
  #define SDCARD_SPI_PARAM_MISO      GPIO_PIN(2,6)
  #define SDCARD_SPI_PARAM_POWER     GPIO_PIN(0,6)
  #define SDCARD_SPI_PARAM_POWER_AH  false
  /** @} */
  
  /**
   * @brief Initialize board specific hardware, including clock, LEDs and std-IO
   */
  void board_init(void);
  
  #ifdef __cplusplus
  } /* end extern "C" */
  #endif
  #endif /* BOARD_H */
  /** @} */