The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Thu Nov 08 11:45:42 2018 +0000
Revision:
171:3a7713b1edbc
Parent:
TARGET_SAMR21G18A/TARGET_Atmel/TARGET_SAM_CortexM0P/TARGET_SAMR21G18A/SAMR21_XPLAINED_PRO/samr21_xplained_pro.h@111:4336505e4b1c
mbed library. Release version 164

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 111:4336505e4b1c 1 #ifndef SAMR21_XPLAINED_PRO_H_INCLUDED
Kojto 111:4336505e4b1c 2 #define SAMR21_XPLAINED_PRO_H_INCLUDED
Kojto 111:4336505e4b1c 3
Kojto 111:4336505e4b1c 4 #include <conf_board.h>
Kojto 111:4336505e4b1c 5 #include <compiler.h>
Kojto 111:4336505e4b1c 6
Kojto 111:4336505e4b1c 7 #ifdef __cplusplus
Kojto 111:4336505e4b1c 8 extern "C" {
Kojto 111:4336505e4b1c 9 #endif
Kojto 111:4336505e4b1c 10
Kojto 111:4336505e4b1c 11 /**
Kojto 111:4336505e4b1c 12 * \ingroup group_common_boards
Kojto 111:4336505e4b1c 13 * \defgroup samr21_xplained_pro_group SAM R21 Xplained Pro board
Kojto 111:4336505e4b1c 14 *
Kojto 111:4336505e4b1c 15 * @{
Kojto 111:4336505e4b1c 16 */
Kojto 111:4336505e4b1c 17
Kojto 111:4336505e4b1c 18 void system_board_init(void);
Kojto 111:4336505e4b1c 19
Kojto 111:4336505e4b1c 20 /**
Kojto 111:4336505e4b1c 21 * \defgroup samr21_xplained_pro_features_group Features
Kojto 111:4336505e4b1c 22 *
Kojto 111:4336505e4b1c 23 * Symbols that describe features and capabilities of the board.
Kojto 111:4336505e4b1c 24 *
Kojto 111:4336505e4b1c 25 * @{
Kojto 111:4336505e4b1c 26 */
Kojto 111:4336505e4b1c 27
Kojto 111:4336505e4b1c 28 /** Name string macro */
Kojto 111:4336505e4b1c 29 #define BOARD_NAME "SAMR21_XPLAINED_PRO"
Kojto 111:4336505e4b1c 30
Kojto 111:4336505e4b1c 31 /** \name Resonator definitions
Kojto 111:4336505e4b1c 32 * @{ */
Kojto 111:4336505e4b1c 33 #define BOARD_FREQ_SLCK_XTAL (32768U)
Kojto 111:4336505e4b1c 34 #define BOARD_FREQ_SLCK_BYPASS (32768U)
Kojto 111:4336505e4b1c 35 #define BOARD_FREQ_MAINCK_XTAL 0 /* Not Mounted */
Kojto 111:4336505e4b1c 36 #define BOARD_FREQ_MAINCK_BYPASS 0 /* Not Mounted */
Kojto 111:4336505e4b1c 37 #define BOARD_MCK CHIP_FREQ_CPU_MAX
Kojto 111:4336505e4b1c 38 #define BOARD_OSC_STARTUP_US 15625
Kojto 111:4336505e4b1c 39 /** @} */
Kojto 111:4336505e4b1c 40
Kojto 111:4336505e4b1c 41 /** \name LED0 definitions
Kojto 111:4336505e4b1c 42 * @{ */
Kojto 111:4336505e4b1c 43 #define LED0_PIN PIN_PA19
Kojto 111:4336505e4b1c 44 #define LED0_ACTIVE false
Kojto 111:4336505e4b1c 45 #define LED0_INACTIVE !LED0_ACTIVE
Kojto 111:4336505e4b1c 46 #define LED0 LED0_PIN
Kojto 111:4336505e4b1c 47 /** @} */
Kojto 111:4336505e4b1c 48
Kojto 111:4336505e4b1c 49 /** \name SW0 definitions
Kojto 111:4336505e4b1c 50 * @{ */
Kojto 111:4336505e4b1c 51 #define SW0_PIN PIN_PA28
Kojto 111:4336505e4b1c 52 #define SW0_ACTIVE false
Kojto 111:4336505e4b1c 53 #define SW0_INACTIVE !SW0_ACTIVE
Kojto 111:4336505e4b1c 54 #define SW0_EIC_PIN PIN_PA28A_EIC_EXTINT8
Kojto 111:4336505e4b1c 55 #define SW0_EIC_MUX MUX_PA28A_EIC_EXTINT8
Kojto 111:4336505e4b1c 56 #define SW0_EIC_PINMUX PINMUX_PA28A_EIC_EXTINT8
Kojto 111:4336505e4b1c 57 #define SW0_EIC_LINE 8
Kojto 111:4336505e4b1c 58 /** @} */
Kojto 111:4336505e4b1c 59
Kojto 111:4336505e4b1c 60 /**
Kojto 111:4336505e4b1c 61 * \name LED #0 definitions
Kojto 111:4336505e4b1c 62 *
Kojto 111:4336505e4b1c 63 * Wrapper macros for LED0, to ensure common naming across all Xplained Pro
Kojto 111:4336505e4b1c 64 * boards.
Kojto 111:4336505e4b1c 65 *
Kojto 111:4336505e4b1c 66 * @{ */
Kojto 111:4336505e4b1c 67 #define LED_0_NAME "LED0 (yellow)"
Kojto 111:4336505e4b1c 68 #define LED_0_PIN LED0_PIN
Kojto 111:4336505e4b1c 69 #define LED_0_ACTIVE LED0_ACTIVE
Kojto 111:4336505e4b1c 70 #define LED_0_INACTIVE LED0_INACTIVE
Kojto 111:4336505e4b1c 71 #define LED0_GPIO LED0_PIN
Kojto 111:4336505e4b1c 72
Kojto 111:4336505e4b1c 73 #define LED_0_PWM_MODULE TC3
Kojto 111:4336505e4b1c 74 #define LED_0_PWM_CHANNEL 1
Kojto 111:4336505e4b1c 75 #define LED_0_PWM_OUTPUT 1
Kojto 111:4336505e4b1c 76 #define LED_0_PWM_PIN PIN_PA19E_TC3_WO1
Kojto 111:4336505e4b1c 77 #define LED_0_PWM_MUX MUX_PA19E_TC3_WO1
Kojto 111:4336505e4b1c 78 #define LED_0_PWM_PINMUX PINMUX_PA19E_TC3_WO1
Kojto 111:4336505e4b1c 79
Kojto 111:4336505e4b1c 80 #define LED_0_PWM4CTRL_MODULE TCC0
Kojto 111:4336505e4b1c 81 #define LED_0_PWM4CTRL_CHANNEL 3
Kojto 111:4336505e4b1c 82 #define LED_0_PWM4CTRL_OUTPUT 3
Kojto 111:4336505e4b1c 83 #define LED_0_PWM4CTRL_PIN PIN_PA19F_TCC0_WO3
Kojto 111:4336505e4b1c 84 #define LED_0_PWM4CTRL_MUX MUX_PA19F_TCC0_WO3
Kojto 111:4336505e4b1c 85 #define LED_0_PWM4CTRL_PINMUX PINMUX_PA19F_TCC0_WO3
Kojto 111:4336505e4b1c 86 /** @} */
Kojto 111:4336505e4b1c 87
Kojto 111:4336505e4b1c 88 /** Number of on-board LEDs */
Kojto 111:4336505e4b1c 89 #define LED_COUNT 1
Kojto 111:4336505e4b1c 90
Kojto 111:4336505e4b1c 91
Kojto 111:4336505e4b1c 92 /**
Kojto 111:4336505e4b1c 93 * \name Button #0 definitions
Kojto 111:4336505e4b1c 94 *
Kojto 111:4336505e4b1c 95 * Wrapper macros for SW0, to ensure common naming across all Xplained Pro
Kojto 111:4336505e4b1c 96 * boards.
Kojto 111:4336505e4b1c 97 *
Kojto 111:4336505e4b1c 98 * @{ */
Kojto 111:4336505e4b1c 99 #define BUTTON_0_NAME "SW0"
Kojto 111:4336505e4b1c 100 #define BUTTON_0_PIN SW0_PIN
Kojto 111:4336505e4b1c 101 #define BUTTON_0_ACTIVE SW0_ACTIVE
Kojto 111:4336505e4b1c 102 #define BUTTON_0_INACTIVE SW0_INACTIVE
Kojto 111:4336505e4b1c 103 #define BUTTON_0_EIC_PIN SW0_EIC_PIN
Kojto 111:4336505e4b1c 104 #define BUTTON_0_EIC_MUX SW0_EIC_MUX
Kojto 111:4336505e4b1c 105 #define BUTTON_0_EIC_PINMUX SW0_EIC_PINMUX
Kojto 111:4336505e4b1c 106 #define BUTTON_0_EIC_LINE SW0_EIC_LINE
Kojto 111:4336505e4b1c 107 /** @} */
Kojto 111:4336505e4b1c 108
Kojto 111:4336505e4b1c 109 /** Number of on-board buttons */
Kojto 111:4336505e4b1c 110 #define BUTTON_COUNT 1
Kojto 111:4336505e4b1c 111
Kojto 111:4336505e4b1c 112 /** \name Extension header #1 pin definitions
Kojto 111:4336505e4b1c 113 * @{
Kojto 111:4336505e4b1c 114 */
Kojto 111:4336505e4b1c 115 #define EXT1_PIN_3 PIN_PA06
Kojto 111:4336505e4b1c 116 #define EXT1_PIN_4 PIN_PA07
Kojto 111:4336505e4b1c 117 #define EXT1_PIN_5 PIN_PA13
Kojto 111:4336505e4b1c 118 #define EXT1_PIN_6 PIN_PA28
Kojto 111:4336505e4b1c 119 #define EXT1_PIN_7 PIN_PA18
Kojto 111:4336505e4b1c 120 #define EXT1_PIN_8 PIN_PA19
Kojto 111:4336505e4b1c 121 #define EXT1_PIN_9 PIN_PA22
Kojto 111:4336505e4b1c 122 #define EXT1_PIN_10 PIN_PA23
Kojto 111:4336505e4b1c 123 #define EXT1_PIN_11 PIN_PA16
Kojto 111:4336505e4b1c 124 #define EXT1_PIN_12 PIN_PA17
Kojto 111:4336505e4b1c 125 #define EXT1_PIN_13 PIN_PA05
Kojto 111:4336505e4b1c 126 #define EXT1_PIN_14 PIN_PA04
Kojto 111:4336505e4b1c 127 #define EXT1_PIN_15 PIN_PB03
Kojto 111:4336505e4b1c 128 #define EXT1_PIN_16 PIN_PB22
Kojto 111:4336505e4b1c 129 #define EXT1_PIN_17 PIN_PB02
Kojto 111:4336505e4b1c 130 #define EXT1_PIN_18 PIN_PB23
Kojto 111:4336505e4b1c 131 /** @} */
Kojto 111:4336505e4b1c 132
Kojto 111:4336505e4b1c 133 /** \name Extension header #1 pin definitions by function
Kojto 111:4336505e4b1c 134 * @{
Kojto 111:4336505e4b1c 135 */
Kojto 111:4336505e4b1c 136 #define EXT1_PIN_ADC_0 EXT1_PIN_3
Kojto 111:4336505e4b1c 137 #define EXT1_PIN_ADC_1 EXT1_PIN_4
Kojto 111:4336505e4b1c 138 #define EXT1_PIN_GPIO_0 EXT1_PIN_5
Kojto 111:4336505e4b1c 139 #define EXT1_PIN_GPIO_1 EXT1_PIN_6
Kojto 111:4336505e4b1c 140 #define EXT1_PIN_PWM_0 EXT1_PIN_7
Kojto 111:4336505e4b1c 141 #define EXT1_PIN_PWM_1 EXT1_PIN_8
Kojto 111:4336505e4b1c 142 #define EXT1_PIN_GPIO_3 EXT1_PIN_9
Kojto 111:4336505e4b1c 143 #define EXT1_PIN_GPIO_4 EXT1_PIN_10
Kojto 111:4336505e4b1c 144 #define EXT1_PIN_I2C_SDA EXT1_PIN_11
Kojto 111:4336505e4b1c 145 #define EXT1_PIN_I2C_SCL EXT1_PIN_12
Kojto 111:4336505e4b1c 146 #define EXT1_PIN_UART_RX EXT1_PIN_13
Kojto 111:4336505e4b1c 147 #define EXT1_PIN_UART_TX EXT1_PIN_14
Kojto 111:4336505e4b1c 148 #define EXT1_PIN_SPI_SS_0 EXT1_PIN_15
Kojto 111:4336505e4b1c 149 #define EXT1_PIN_SPI_MOSI EXT1_PIN_16
Kojto 111:4336505e4b1c 150 #define EXT1_PIN_SPI_MISO EXT1_PIN_17
Kojto 111:4336505e4b1c 151 #define EXT1_PIN_SPI_SCK EXT1_PIN_18
Kojto 111:4336505e4b1c 152 /** @} */
Kojto 111:4336505e4b1c 153
Kojto 111:4336505e4b1c 154 /** \name Extension header #1 ADC definitions
Kojto 111:4336505e4b1c 155 * @{
Kojto 111:4336505e4b1c 156 */
Kojto 111:4336505e4b1c 157 #define EXT1_ADC_MODULE ADC
Kojto 111:4336505e4b1c 158 #define EXT1_ADC_0_CHANNEL 6
Kojto 111:4336505e4b1c 159 #define EXT1_ADC_0_PIN PIN_PA06B_ADC_AIN6
Kojto 111:4336505e4b1c 160 #define EXT1_ADC_0_MUX MUX_PA06B_ADC_AIN6
Kojto 111:4336505e4b1c 161 #define EXT1_ADC_0_PINMUX PINMUX_PA06B_ADC_AIN6
Kojto 111:4336505e4b1c 162 #define EXT1_ADC_1_CHANNEL 7
Kojto 111:4336505e4b1c 163 #define EXT1_ADC_1_PIN PIN_PA07B_ADC_AIN7
Kojto 111:4336505e4b1c 164 #define EXT1_ADC_1_MUX MUX_PA07B_ADC_AIN7
Kojto 111:4336505e4b1c 165 #define EXT1_ADC_1_PINMUX PINMUX_PA07B_ADC_AIN7
Kojto 111:4336505e4b1c 166 /** @} */
Kojto 111:4336505e4b1c 167
Kojto 111:4336505e4b1c 168 /** \name Extension header #1 PWM definitions
Kojto 111:4336505e4b1c 169 * @{
Kojto 111:4336505e4b1c 170 */
Kojto 111:4336505e4b1c 171 #define EXT1_PWM_MODULE TC3
Kojto 111:4336505e4b1c 172 #define EXT1_PWM_0_CHANNEL 0
Kojto 111:4336505e4b1c 173 #define EXT1_PWM_0_PIN PIN_PA18E_TC3_WO0
Kojto 111:4336505e4b1c 174 #define EXT1_PWM_0_MUX MUX_PA18E_TC3_WO0
Kojto 111:4336505e4b1c 175 #define EXT1_PWM_0_PINMUX PINMUX_PA18E_TC3_WO0
Kojto 111:4336505e4b1c 176 #define EXT1_PWM_1_CHANNEL 1
Kojto 111:4336505e4b1c 177 #define EXT1_PWM_1_PIN PIN_PA19E_TC3_WO1
Kojto 111:4336505e4b1c 178 #define EXT1_PWM_1_MUX MUX_PA19E_TC3_WO1
Kojto 111:4336505e4b1c 179 #define EXT1_PWM_1_PINMUX PINMUX_PA19E_TC3_WO1
Kojto 111:4336505e4b1c 180 /** @} */
Kojto 111:4336505e4b1c 181
Kojto 111:4336505e4b1c 182 /** \name Extension header #1 PWM for Control definitions
Kojto 111:4336505e4b1c 183 * @{
Kojto 111:4336505e4b1c 184 */
Kojto 111:4336505e4b1c 185 #define EXT1_PWM4CTRL_MODULE TCC0
Kojto 111:4336505e4b1c 186 #define EXT1_PWM4CTRL_0_CHANNEL 2
Kojto 111:4336505e4b1c 187 #define EXT1_PWM4CTRL_0_OUTPUT 2
Kojto 111:4336505e4b1c 188 #define EXT1_PWM4CTRL_0_PIN PIN_PA18F_TCC0_WO2
Kojto 111:4336505e4b1c 189 #define EXT1_PWM4CTRL_0_MUX MUX_PA18F_TCC0_WO2
Kojto 111:4336505e4b1c 190 #define EXT1_PWM4CTRL_0_PINMUX PINMUX_PA18F_TCC0_WO2
Kojto 111:4336505e4b1c 191 #define EXT1_PWM4CTRL_1_CHANNEL 3
Kojto 111:4336505e4b1c 192 #define EXT1_PWM4CTRL_1_OUTPUT 3
Kojto 111:4336505e4b1c 193 #define EXT1_PWM4CTRL_1_PIN PIN_PA19F_TCC0_WO3
Kojto 111:4336505e4b1c 194 #define EXT1_PWM4CTRL_1_MUX MUX_PA19F_TCC0_WO3
Kojto 111:4336505e4b1c 195 #define EXT1_PWM4CTRL_1_PINMUX PINMUX_PA19F_TCC0_WO3
Kojto 111:4336505e4b1c 196 /** @} */
Kojto 111:4336505e4b1c 197
Kojto 111:4336505e4b1c 198 /** \name Extension header #1 IRQ/External interrupt definitions
Kojto 111:4336505e4b1c 199 * @{
Kojto 111:4336505e4b1c 200 */
Kojto 111:4336505e4b1c 201 #define EXT1_IRQ_MODULE EIC
Kojto 111:4336505e4b1c 202 #define EXT1_IRQ_INPUT 6
Kojto 111:4336505e4b1c 203 #define EXT1_IRQ_PIN PIN_PA22A_EIC_EXTINT6
Kojto 111:4336505e4b1c 204 #define EXT1_IRQ_MUX MUX_PA22A_EIC_EXTINT6
Kojto 111:4336505e4b1c 205 #define EXT1_IRQ_PINMUX PINMUX_PA22A_EIC_EXTINT6
Kojto 111:4336505e4b1c 206 /** @} */
Kojto 111:4336505e4b1c 207
Kojto 111:4336505e4b1c 208 /** \name Extension header #1 I2C definitions
Kojto 111:4336505e4b1c 209 * @{
Kojto 111:4336505e4b1c 210 */
Kojto 111:4336505e4b1c 211 #define EXT1_I2C_MODULE SERCOM1
Kojto 111:4336505e4b1c 212 #define EXT1_I2C_SERCOM_PINMUX_PAD0 PINMUX_PA16C_SERCOM1_PAD0
Kojto 111:4336505e4b1c 213 #define EXT1_I2C_SERCOM_PINMUX_PAD1 PINMUX_PA17C_SERCOM1_PAD1
Kojto 111:4336505e4b1c 214 #define EXT1_I2C_SERCOM_DMAC_ID_TX SERCOM1_DMAC_ID_TX
Kojto 111:4336505e4b1c 215 #define EXT1_I2C_SERCOM_DMAC_ID_RX SERCOM1_DMAC_ID_RX
Kojto 111:4336505e4b1c 216 /** @} */
Kojto 111:4336505e4b1c 217
Kojto 111:4336505e4b1c 218 /** \name Extension header #1 UART definitions
Kojto 111:4336505e4b1c 219 * @{
Kojto 111:4336505e4b1c 220 */
Kojto 111:4336505e4b1c 221 #define EXT1_UART_MODULE SERCOM0
Kojto 111:4336505e4b1c 222 #define EXT1_UART_SERCOM_MUX_SETTING USART_RX_1_TX_0_XCK_1
Kojto 111:4336505e4b1c 223 #define EXT1_UART_SERCOM_PINMUX_PAD0 PINMUX_PA04D_SERCOM0_PAD0
Kojto 111:4336505e4b1c 224 #define EXT1_UART_SERCOM_PINMUX_PAD1 PINMUX_PA05D_SERCOM0_PAD1
Kojto 111:4336505e4b1c 225 #define EXT1_UART_SERCOM_PINMUX_PAD2 PINMUX_UNUSED
Kojto 111:4336505e4b1c 226 #define EXT1_UART_SERCOM_PINMUX_PAD3 PINMUX_UNUSED
Kojto 111:4336505e4b1c 227 #define EXT1_UART_SERCOM_DMAC_ID_TX SERCOM0_DMAC_ID_TX
Kojto 111:4336505e4b1c 228 #define EXT1_UART_SERCOM_DMAC_ID_RX SERCOM0_DMAC_ID_RX
Kojto 111:4336505e4b1c 229 /** @} */
Kojto 111:4336505e4b1c 230
Kojto 111:4336505e4b1c 231 /** \name Extension header #1 SPI definitions
Kojto 111:4336505e4b1c 232 * @{
Kojto 111:4336505e4b1c 233 */
Kojto 111:4336505e4b1c 234 #define EXT1_SPI_MODULE SERCOM5
Kojto 111:4336505e4b1c 235 #define EXT1_SPI_SERCOM_MUX_SETTING SPI_SIGNAL_MUX_SETTING_E
Kojto 111:4336505e4b1c 236 #define EXT1_SPI_SERCOM_PINMUX_PAD0 PINMUX_PB02D_SERCOM5_PAD0
Kojto 111:4336505e4b1c 237 #define EXT1_SPI_SERCOM_PINMUX_PAD1 PINMUX_PB03D_SERCOM5_PAD1
Kojto 111:4336505e4b1c 238 #define EXT1_SPI_SERCOM_PINMUX_PAD2 PINMUX_PB22D_SERCOM5_PAD2
Kojto 111:4336505e4b1c 239 #define EXT1_SPI_SERCOM_PINMUX_PAD3 PINMUX_PB23D_SERCOM5_PAD3
Kojto 111:4336505e4b1c 240 #define EXT1_SPI_SERCOM_DMAC_ID_TX SERCOM5_DMAC_ID_TX
Kojto 111:4336505e4b1c 241 #define EXT1_SPI_SERCOM_DMAC_ID_RX SERCOM5_DMAC_ID_RX
Kojto 111:4336505e4b1c 242 /** @} */
Kojto 111:4336505e4b1c 243
Kojto 111:4336505e4b1c 244 /** \name Extension header #3 pin definitions
Kojto 111:4336505e4b1c 245 * @{
Kojto 111:4336505e4b1c 246 */
Kojto 111:4336505e4b1c 247 #define EXT3_PIN_5 PIN_PA15
Kojto 111:4336505e4b1c 248 #define EXT3_PIN_10 PIN_PA08
Kojto 111:4336505e4b1c 249 #define EXT3_PIN_11 PIN_PA16
Kojto 111:4336505e4b1c 250 #define EXT3_PIN_12 PIN_PA17
Kojto 111:4336505e4b1c 251 #define EXT3_PIN_15 PIN_PA14
Kojto 111:4336505e4b1c 252 #define EXT3_PIN_16 PIN_PB22
Kojto 111:4336505e4b1c 253 #define EXT3_PIN_17 PIN_PB02
Kojto 111:4336505e4b1c 254 #define EXT3_PIN_18 PIN_PB23
Kojto 111:4336505e4b1c 255 /** @} */
Kojto 111:4336505e4b1c 256
Kojto 111:4336505e4b1c 257 /** \name Extension header #3 pin definitions by function
Kojto 111:4336505e4b1c 258 * @{
Kojto 111:4336505e4b1c 259 */
Kojto 111:4336505e4b1c 260 #define EXT3_PIN_GPIO_0 EXT3_PIN_5
Kojto 111:4336505e4b1c 261 #define EXT3_PIN_GPIO_1 EXT3_PIN_10
Kojto 111:4336505e4b1c 262 #define EXT3_PIN_I2C_SDA EXT3_PIN_11
Kojto 111:4336505e4b1c 263 #define EXT3_PIN_I2C_SCL EXT3_PIN_12
Kojto 111:4336505e4b1c 264 #define EXT3_PIN_GPIO_2 EXT3_PIN_15
Kojto 111:4336505e4b1c 265 #define EXT3_PIN_SPI_MOSI EXT3_PIN_16
Kojto 111:4336505e4b1c 266 #define EXT3_PIN_SPI_MISO EXT3_PIN_17
Kojto 111:4336505e4b1c 267 #define EXT3_PIN_SPI_SCK EXT3_PIN_18
Kojto 111:4336505e4b1c 268 /** @} */
Kojto 111:4336505e4b1c 269
Kojto 111:4336505e4b1c 270 /** \name Extension header #3 SPI definitions
Kojto 111:4336505e4b1c 271 * @{
Kojto 111:4336505e4b1c 272 */
Kojto 111:4336505e4b1c 273 #define EXT3_SPI_SLAVE_SELECT_PIN PIN_PA14
Kojto 111:4336505e4b1c 274 #define EXT3_SPI_MODULE SERCOM5
Kojto 111:4336505e4b1c 275 #define EXT3_SPI_SERCOM_MUX_SETTING SPI_SIGNAL_MUX_SETTING_E
Kojto 111:4336505e4b1c 276 #define EXT3_SPI_SERCOM_PINMUX_PAD0 PINMUX_PB02D_SERCOM5_PAD0
Kojto 111:4336505e4b1c 277 #define EXT3_SPI_SERCOM_PINMUX_PAD1 PINMUX_UNUSED
Kojto 111:4336505e4b1c 278 #define EXT3_SPI_SERCOM_PINMUX_PAD2 PINMUX_PB22D_SERCOM5_PAD2
Kojto 111:4336505e4b1c 279 #define EXT3_SPI_SERCOM_PINMUX_PAD3 PINMUX_PB23D_SERCOM5_PAD3
Kojto 111:4336505e4b1c 280 #define EXT3_SPI_SERCOM_DMAC_ID_TX SERCOM5_DMAC_ID_TX
Kojto 111:4336505e4b1c 281 #define EXT3_SPI_SERCOM_DMAC_ID_RX SERCOM5_DMAC_ID_RX
Kojto 111:4336505e4b1c 282 /** @} */
Kojto 111:4336505e4b1c 283
Kojto 111:4336505e4b1c 284 /** \name Extension header #3 Dataflash
Kojto 111:4336505e4b1c 285 * @{
Kojto 111:4336505e4b1c 286 */
Kojto 111:4336505e4b1c 287 #define EXT3_DATAFLASH_SPI_MODULE EXT3_SPI_MODULE
Kojto 111:4336505e4b1c 288 #define EXT3_DATAFLASH_SPI_MUX_SETTING EXT3_SPI_SERCOM_MUX_SETTING
Kojto 111:4336505e4b1c 289 #define EXT3_DATAFLASH_SPI_PINMUX_PAD0 EXT3_SPI_SERCOM_PINMUX_PAD0
Kojto 111:4336505e4b1c 290 #define EXT3_DATAFLASH_SPI_PINMUX_PAD1 EXT3_SPI_SERCOM_PINMUX_PAD1
Kojto 111:4336505e4b1c 291 #define EXT3_DATAFLASH_SPI_PINMUX_PAD2 EXT3_SPI_SERCOM_PINMUX_PAD2
Kojto 111:4336505e4b1c 292 #define EXT3_DATAFLASH_SPI_PINMUX_PAD3 EXT3_SPI_SERCOM_PINMUX_PAD3
Kojto 111:4336505e4b1c 293 /** @} */
Kojto 111:4336505e4b1c 294
Kojto 111:4336505e4b1c 295 /** \name USB definitions
Kojto 111:4336505e4b1c 296 * @{
Kojto 111:4336505e4b1c 297 */
Kojto 111:4336505e4b1c 298 #define USB_ID
Kojto 111:4336505e4b1c 299 #define USB_TARGET_DP_PIN PIN_PA25G_USB_DP
Kojto 111:4336505e4b1c 300 #define USB_TARGET_DP_MUX MUX_PA25G_USB_DP
Kojto 111:4336505e4b1c 301 #define USB_TARGET_DP_PINMUX PINMUX_PA25G_USB_DP
Kojto 111:4336505e4b1c 302 #define USB_TARGET_DM_PIN PIN_PA24G_USB_DM
Kojto 111:4336505e4b1c 303 #define USB_TARGET_DM_MUX MUX_PA24G_USB_DM
Kojto 111:4336505e4b1c 304 #define USB_TARGET_DM_PINMUX PINMUX_PA24G_USB_DM
Kojto 111:4336505e4b1c 305 #define USB_VBUS_PIN PIN_PA07
Kojto 111:4336505e4b1c 306 #define USB_VBUS_EIC_LINE 7
Kojto 111:4336505e4b1c 307 #define USB_VBUS_EIC_MUX MUX_PA07A_EIC_EXTINT7
Kojto 111:4336505e4b1c 308 #define USB_VBUS_EIC_PINMUX PINMUX_PA07A_EIC_EXTINT7
Kojto 111:4336505e4b1c 309 /* USB ID pin is not connected */
Kojto 111:4336505e4b1c 310 //#define USB_ID_PIN -1
Kojto 111:4336505e4b1c 311 //#define USB_ID_EIC_LINE -1
Kojto 111:4336505e4b1c 312 //#define USB_ID_EIC_MUX -1
Kojto 111:4336505e4b1c 313 //#define USB_ID_EIC_PINMUX -1
Kojto 111:4336505e4b1c 314 /** @} */
Kojto 111:4336505e4b1c 315
Kojto 111:4336505e4b1c 316 /** \name Embedded debugger GPIO interface definitions
Kojto 111:4336505e4b1c 317 * @{
Kojto 111:4336505e4b1c 318 */
Kojto 111:4336505e4b1c 319 #define EDBG_GPIO0_PIN PIN_PA08
Kojto 111:4336505e4b1c 320 #define EDBG_GPIO1_PIN PIN_PA09
Kojto 111:4336505e4b1c 321 #define EDBG_GPIO2_PIN PIN_PA12
Kojto 111:4336505e4b1c 322 #define EDBG_GPIO3_PIN PIN_PA14
Kojto 111:4336505e4b1c 323 /** @} */
Kojto 111:4336505e4b1c 324
Kojto 111:4336505e4b1c 325 /** \name Embedded debugger USART interface definitions
Kojto 111:4336505e4b1c 326 * @{
Kojto 111:4336505e4b1c 327 */
Kojto 111:4336505e4b1c 328 #define EDBG_UART_MODULE -1 /* Not available on this board */
Kojto 111:4336505e4b1c 329 #define EDBG_UART_RX_PIN -1 /* Not available on this board */
Kojto 111:4336505e4b1c 330 #define EDBG_UART_RX_MUX -1 /* Not available on this board */
Kojto 111:4336505e4b1c 331 #define EDBG_UART_RX_PINMUX -1 /* Not available on this board */
Kojto 111:4336505e4b1c 332 #define EDBG_UART_RX_SERCOM_PAD -1 /* Not available on this board */
Kojto 111:4336505e4b1c 333 #define EDBG_UART_TX_PIN -1 /* Not available on this board */
Kojto 111:4336505e4b1c 334 #define EDBG_UART_TX_MUX -1 /* Not available on this board */
Kojto 111:4336505e4b1c 335 #define EDBG_UART_TX_PINMUX -1 /* Not available on this board */
Kojto 111:4336505e4b1c 336 #define EDBG_UART_TX_SERCOM_PAD -1 /* Not available on this board */
Kojto 111:4336505e4b1c 337 /** @} */
Kojto 111:4336505e4b1c 338
Kojto 111:4336505e4b1c 339 /** \name Embedded debugger I2C interface definitions
Kojto 111:4336505e4b1c 340 * @{
Kojto 111:4336505e4b1c 341 */
Kojto 111:4336505e4b1c 342 #define EDBG_I2C_MODULE SERCOM1
Kojto 111:4336505e4b1c 343 #define EDBG_I2C_SERCOM_PINMUX_PAD0 PINMUX_PA16C_SERCOM1_PAD0
Kojto 111:4336505e4b1c 344 #define EDBG_I2C_SERCOM_PINMUX_PAD1 PINMUX_PA17C_SERCOM1_PAD1
Kojto 111:4336505e4b1c 345 #define EDBG_I2C_SERCOM_DMAC_ID_TX SERCOM1_DMAC_ID_TX
Kojto 111:4336505e4b1c 346 #define EDBG_I2C_SERCOM_DMAC_ID_RX SERCOM1_DMAC_ID_RX
Kojto 111:4336505e4b1c 347 /** @} */
Kojto 111:4336505e4b1c 348
Kojto 111:4336505e4b1c 349 /** \name Embedded debugger SPI interface definitions
Kojto 111:4336505e4b1c 350 * @{
Kojto 111:4336505e4b1c 351 */
Kojto 111:4336505e4b1c 352 #define EDBG_SPI_SLAVE_SELECT_PIN PIN_PA27
Kojto 111:4336505e4b1c 353 #define EDBG_SPI_MODULE SERCOM5
Kojto 111:4336505e4b1c 354 #define EDBG_SPI_SERCOM_MUX_SETTING SPI_SIGNAL_MUX_SETTING_E
Kojto 111:4336505e4b1c 355 #define EDBG_SPI_SERCOM_PINMUX_PAD0 PINMUX_PB02D_SERCOM5_PAD0
Kojto 111:4336505e4b1c 356 #define EDBG_SPI_SERCOM_PINMUX_PAD1 PINMUX_UNUSED
Kojto 111:4336505e4b1c 357 #define EDBG_SPI_SERCOM_PINMUX_PAD2 PINMUX_PB22D_SERCOM5_PAD2
Kojto 111:4336505e4b1c 358 #define EDBG_SPI_SERCOM_PINMUX_PAD3 PINMUX_PB23D_SERCOM5_PAD3
Kojto 111:4336505e4b1c 359 #define EDBG_SPI_SERCOM_DMAC_ID_TX SERCOM5_DMAC_ID_TX
Kojto 111:4336505e4b1c 360 #define EDBG_SPI_SERCOM_DMAC_ID_RX SERCOM5_DMAC_ID_RX
Kojto 111:4336505e4b1c 361 /** @} */
Kojto 111:4336505e4b1c 362
Kojto 111:4336505e4b1c 363 /** \name Embedded debugger CDC Gateway USART interface definitions
Kojto 111:4336505e4b1c 364 * @{
Kojto 111:4336505e4b1c 365 */
Kojto 111:4336505e4b1c 366 #define EDBG_CDC_MODULE SERCOM0
Kojto 111:4336505e4b1c 367 #define EDBG_CDC_SERCOM_MUX_SETTING USART_RX_1_TX_0_XCK_1
Kojto 111:4336505e4b1c 368 #define EDBG_CDC_SERCOM_PINMUX_PAD0 PINMUX_PA04D_SERCOM0_PAD0
Kojto 111:4336505e4b1c 369 #define EDBG_CDC_SERCOM_PINMUX_PAD1 PINMUX_PA05D_SERCOM0_PAD1
Kojto 111:4336505e4b1c 370 #define EDBG_CDC_SERCOM_PINMUX_PAD2 PINMUX_UNUSED
Kojto 111:4336505e4b1c 371 #define EDBG_CDC_SERCOM_PINMUX_PAD3 PINMUX_UNUSED
Kojto 111:4336505e4b1c 372 #define EDBG_CDC_SERCOM_DMAC_ID_TX SERCOM0_DMAC_ID_TX
Kojto 111:4336505e4b1c 373 #define EDBG_CDC_SERCOM_DMAC_ID_RX SERCOM0_DMAC_ID_RX
Kojto 111:4336505e4b1c 374 /** @} */
Kojto 111:4336505e4b1c 375
Kojto 111:4336505e4b1c 376 #define RF_SPI_MODULE SERCOM4
Kojto 111:4336505e4b1c 377 #define RF_SPI_SERCOM_MUX_SETTING SPI_SIGNAL_MUX_SETTING_E
Kojto 111:4336505e4b1c 378 #define RF_SPI_SERCOM_PINMUX_PAD0 PINMUX_PC19F_SERCOM4_PAD0
Kojto 111:4336505e4b1c 379 #define RF_SPI_SERCOM_PINMUX_PAD1 PINMUX_PB31D_SERCOM5_PAD1
Kojto 111:4336505e4b1c 380 #define RF_SPI_SERCOM_PINMUX_PAD2 PINMUX_PB30F_SERCOM4_PAD2
Kojto 111:4336505e4b1c 381 #define RF_SPI_SERCOM_PINMUX_PAD3 PINMUX_PC18F_SERCOM4_PAD3
Kojto 111:4336505e4b1c 382
Kojto 111:4336505e4b1c 383
Kojto 111:4336505e4b1c 384 #define RF_IRQ_MODULE EIC
Kojto 111:4336505e4b1c 385 #define RF_IRQ_INPUT 0
Kojto 111:4336505e4b1c 386 #define RF_IRQ_PIN PIN_PB00A_EIC_EXTINT0
Kojto 111:4336505e4b1c 387 #define RF_IRQ_MUX MUX_PB00A_EIC_EXTINT0
Kojto 111:4336505e4b1c 388 #define RF_IRQ_PINMUX PINMUX_PB00A_EIC_EXTINT0
Kojto 111:4336505e4b1c 389
Kojto 111:4336505e4b1c 390 /** \name 802.15.4 TRX Interface definitions
Kojto 111:4336505e4b1c 391 * @{
Kojto 111:4336505e4b1c 392 */
Kojto 111:4336505e4b1c 393
Kojto 111:4336505e4b1c 394 #define AT86RFX_SPI SERCOM4
Kojto 111:4336505e4b1c 395 #define AT86RFX_RST_PIN PIN_PB15
Kojto 111:4336505e4b1c 396 #define AT86RFX_IRQ_PIN PIN_PB00
Kojto 111:4336505e4b1c 397 #define AT86RFX_SLP_PIN PIN_PA20
Kojto 111:4336505e4b1c 398 #define AT86RFX_SPI_CS PIN_PB31
Kojto 111:4336505e4b1c 399 #define AT86RFX_SPI_MOSI PIN_PB30
Kojto 111:4336505e4b1c 400 #define AT86RFX_SPI_MISO PIN_PC19
Kojto 111:4336505e4b1c 401 #define AT86RFX_SPI_SCK PIN_PC18
Kojto 111:4336505e4b1c 402 #define PIN_RFCTRL1 PIN_PA09
Kojto 111:4336505e4b1c 403 #define PIN_RFCTRL2 PIN_PA12
Kojto 111:4336505e4b1c 404 #define RFCTRL_CFG_ANT_DIV 4
Kojto 111:4336505e4b1c 405
Kojto 111:4336505e4b1c 406
Kojto 111:4336505e4b1c 407 #define AT86RFX_SPI_SERCOM_MUX_SETTING RF_SPI_SERCOM_MUX_SETTING
Kojto 111:4336505e4b1c 408 #define AT86RFX_SPI_SERCOM_PINMUX_PAD0 RF_SPI_SERCOM_PINMUX_PAD0
Kojto 111:4336505e4b1c 409 #define AT86RFX_SPI_SERCOM_PINMUX_PAD1 PINMUX_UNUSED
Kojto 111:4336505e4b1c 410 #define AT86RFX_SPI_SERCOM_PINMUX_PAD2 RF_SPI_SERCOM_PINMUX_PAD2
Kojto 111:4336505e4b1c 411 #define AT86RFX_SPI_SERCOM_PINMUX_PAD3 RF_SPI_SERCOM_PINMUX_PAD3
Kojto 111:4336505e4b1c 412
Kojto 111:4336505e4b1c 413 #define AT86RFX_IRQ_CHAN RF_IRQ_INPUT
Kojto 111:4336505e4b1c 414 #define AT86RFX_IRQ_PINMUX RF_IRQ_PINMUX
Kojto 111:4336505e4b1c 415
Kojto 111:4336505e4b1c 416
Kojto 111:4336505e4b1c 417 /** Enables the transceiver main interrupt. */
Kojto 111:4336505e4b1c 418 #define ENABLE_TRX_IRQ() \
Kojto 111:4336505e4b1c 419 extint_chan_enable_callback(AT86RFX_IRQ_CHAN, EXTINT_CALLBACK_TYPE_DETECT)
Kojto 111:4336505e4b1c 420
Kojto 111:4336505e4b1c 421 /** Disables the transceiver main interrupt. */
Kojto 111:4336505e4b1c 422 #define DISABLE_TRX_IRQ() \
Kojto 111:4336505e4b1c 423 extint_chan_disable_callback(AT86RFX_IRQ_CHAN, EXTINT_CALLBACK_TYPE_DETECT)
Kojto 111:4336505e4b1c 424
Kojto 111:4336505e4b1c 425 /** Clears the transceiver main interrupt. */
Kojto 111:4336505e4b1c 426 #define CLEAR_TRX_IRQ() \
Kojto 111:4336505e4b1c 427 extint_chan_clear_detected(AT86RFX_IRQ_CHAN);
Kojto 111:4336505e4b1c 428
Kojto 111:4336505e4b1c 429 /*
Kojto 111:4336505e4b1c 430 * This macro saves the trx interrupt status and disables the trx interrupt.
Kojto 111:4336505e4b1c 431 */
Kojto 111:4336505e4b1c 432 #define ENTER_TRX_REGION() \
Kojto 111:4336505e4b1c 433 { extint_chan_disable_callback(AT86RFX_IRQ_CHAN, EXTINT_CALLBACK_TYPE_DETECT)
Kojto 111:4336505e4b1c 434
Kojto 111:4336505e4b1c 435 /*
Kojto 111:4336505e4b1c 436 * This macro restores the transceiver interrupt status
Kojto 111:4336505e4b1c 437 */
Kojto 111:4336505e4b1c 438 #define LEAVE_TRX_REGION() \
Kojto 111:4336505e4b1c 439 extint_chan_enable_callback(AT86RFX_IRQ_CHAN, EXTINT_CALLBACK_TYPE_DETECT); }
Kojto 111:4336505e4b1c 440
Kojto 111:4336505e4b1c 441 /** @} */
Kojto 111:4336505e4b1c 442 /**
Kojto 111:4336505e4b1c 443 * \brief Turns off the specified LEDs.
Kojto 111:4336505e4b1c 444 *
Kojto 111:4336505e4b1c 445 * \param led_gpio LED to turn off (LEDx_GPIO).
Kojto 111:4336505e4b1c 446 *
Kojto 111:4336505e4b1c 447 * \note The pins of the specified LEDs are set to GPIO output mode.
Kojto 111:4336505e4b1c 448 */
Kojto 111:4336505e4b1c 449 #define LED_Off(led_gpio) port_pin_set_output_level(led_gpio,true)
Kojto 111:4336505e4b1c 450
Kojto 111:4336505e4b1c 451 /**
Kojto 111:4336505e4b1c 452 * \brief Turns on the specified LEDs.
Kojto 111:4336505e4b1c 453 *
Kojto 111:4336505e4b1c 454 * \param led_gpio LED to turn on (LEDx_GPIO).
Kojto 111:4336505e4b1c 455 *
Kojto 111:4336505e4b1c 456 * \note The pins of the specified LEDs are set to GPIO output mode.
Kojto 111:4336505e4b1c 457 */
Kojto 111:4336505e4b1c 458 #define LED_On(led_gpio) port_pin_set_output_level(led_gpio,false)
Kojto 111:4336505e4b1c 459
Kojto 111:4336505e4b1c 460 /**
Kojto 111:4336505e4b1c 461 * \brief Toggles the specified LEDs.
Kojto 111:4336505e4b1c 462 *
Kojto 111:4336505e4b1c 463 * \param led_gpio LED to toggle (LEDx_GPIO).
Kojto 111:4336505e4b1c 464 *
Kojto 111:4336505e4b1c 465 * \note The pins of the specified LEDs are set to GPIO output mode.
Kojto 111:4336505e4b1c 466 */
Kojto 111:4336505e4b1c 467 #define LED_Toggle(led_gpio) port_pin_toggle_output_level(led_gpio)
Kojto 111:4336505e4b1c 468
Kojto 111:4336505e4b1c 469
Kojto 111:4336505e4b1c 470
Kojto 111:4336505e4b1c 471 #ifdef __cplusplus
Kojto 111:4336505e4b1c 472 }
Kojto 111:4336505e4b1c 473 #endif
Kojto 111:4336505e4b1c 474
Kojto 111:4336505e4b1c 475 #endif /* SAMR21_XPLAINED_PRO_H_INCLUDED */