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:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
Parent:
171:3a7713b1edbc
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Kojto 111:4336505e4b1c 1 /**
Kojto 111:4336505e4b1c 2 * \file
Kojto 111:4336505e4b1c 3 *
Kojto 111:4336505e4b1c 4 * \brief SAM W25 Xplained Pro board definition
Kojto 111:4336505e4b1c 5 *
Kojto 111:4336505e4b1c 6 * Copyright (c) 2015 Atmel Corporation. All rights reserved.
Kojto 111:4336505e4b1c 7 *
Kojto 111:4336505e4b1c 8 * \asf_license_start
Kojto 111:4336505e4b1c 9 *
Kojto 111:4336505e4b1c 10 * \page License
Kojto 111:4336505e4b1c 11 *
Kojto 111:4336505e4b1c 12 * Redistribution and use in source and binary forms, with or without
Kojto 111:4336505e4b1c 13 * modification, are permitted provided that the following conditions are met:
Kojto 111:4336505e4b1c 14 *
Kojto 111:4336505e4b1c 15 * 1. Redistributions of source code must retain the above copyright notice,
Kojto 111:4336505e4b1c 16 * this list of conditions and the following disclaimer.
Kojto 111:4336505e4b1c 17 *
Kojto 111:4336505e4b1c 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
Kojto 111:4336505e4b1c 19 * this list of conditions and the following disclaimer in the documentation
Kojto 111:4336505e4b1c 20 * and/or other materials provided with the distribution.
Kojto 111:4336505e4b1c 21 *
Kojto 111:4336505e4b1c 22 * 3. The name of Atmel may not be used to endorse or promote products derived
Kojto 111:4336505e4b1c 23 * from this software without specific prior written permission.
Kojto 111:4336505e4b1c 24 *
Kojto 111:4336505e4b1c 25 * 4. This software may only be redistributed and used in connection with an
Kojto 111:4336505e4b1c 26 * Atmel microcontroller product.
Kojto 111:4336505e4b1c 27 *
Kojto 111:4336505e4b1c 28 * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
Kojto 111:4336505e4b1c 29 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
Kojto 111:4336505e4b1c 30 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
Kojto 111:4336505e4b1c 31 * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
Kojto 111:4336505e4b1c 32 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Kojto 111:4336505e4b1c 33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
Kojto 111:4336505e4b1c 34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
Kojto 111:4336505e4b1c 35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
Kojto 111:4336505e4b1c 36 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
Kojto 111:4336505e4b1c 37 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
Kojto 111:4336505e4b1c 38 * POSSIBILITY OF SUCH DAMAGE.
Kojto 111:4336505e4b1c 39 *
Kojto 111:4336505e4b1c 40 * \asf_license_stop
Kojto 111:4336505e4b1c 41 *
Kojto 111:4336505e4b1c 42 */
Kojto 111:4336505e4b1c 43
Kojto 111:4336505e4b1c 44 #ifndef SAMW25_XPLAINED_PRO_H_INCLUDED
Kojto 111:4336505e4b1c 45 #define SAMW25_XPLAINED_PRO_H_INCLUDED
Kojto 111:4336505e4b1c 46
Kojto 111:4336505e4b1c 47 #include <conf_board.h>
Kojto 111:4336505e4b1c 48 #include <compiler.h>
Kojto 111:4336505e4b1c 49
Kojto 111:4336505e4b1c 50 #ifdef __cplusplus
Kojto 111:4336505e4b1c 51 extern "C" {
Kojto 111:4336505e4b1c 52 #endif
Kojto 111:4336505e4b1c 53
Kojto 111:4336505e4b1c 54 /**
Kojto 111:4336505e4b1c 55 * \ingroup group_common_boards
Kojto 111:4336505e4b1c 56 * \defgroup samd21_xplained_pro_group SAM D21 Xplained Pro board
Kojto 111:4336505e4b1c 57 *
Kojto 111:4336505e4b1c 58 * @{
Kojto 111:4336505e4b1c 59 */
Kojto 111:4336505e4b1c 60
Kojto 111:4336505e4b1c 61 void system_board_init(void);
Kojto 111:4336505e4b1c 62
Kojto 111:4336505e4b1c 63 /**
Kojto 111:4336505e4b1c 64 * \defgroup samd21_xplained_pro_features_group Features
Kojto 111:4336505e4b1c 65 *
Kojto 111:4336505e4b1c 66 * Symbols that describe features and capabilities of the board.
Kojto 111:4336505e4b1c 67 *
Kojto 111:4336505e4b1c 68 * @{
Kojto 111:4336505e4b1c 69 */
Kojto 111:4336505e4b1c 70
Kojto 111:4336505e4b1c 71 /** Name string macro */
Kojto 111:4336505e4b1c 72 #define BOARD_NAME "SAMW25_XPLAINED_PRO"
Kojto 111:4336505e4b1c 73
Kojto 111:4336505e4b1c 74 /** \name Resonator definitions
Kojto 111:4336505e4b1c 75 * @{ */
Kojto 111:4336505e4b1c 76 #define BOARD_FREQ_SLCK_XTAL (32768U)
Kojto 111:4336505e4b1c 77 #define BOARD_FREQ_SLCK_BYPASS (32768U)
Kojto 111:4336505e4b1c 78 #define BOARD_FREQ_MAINCK_XTAL 0 /* Not Mounted */
Kojto 111:4336505e4b1c 79 #define BOARD_FREQ_MAINCK_BYPASS 0 /* Not Mounted */
Kojto 111:4336505e4b1c 80 #define BOARD_MCK CHIP_FREQ_CPU_MAX
Kojto 111:4336505e4b1c 81 #define BOARD_OSC_STARTUP_US 15625
Kojto 111:4336505e4b1c 82 /** @} */
Kojto 111:4336505e4b1c 83
Kojto 111:4336505e4b1c 84 /** \name LED0 definitions
Kojto 111:4336505e4b1c 85 * @{ */
Kojto 111:4336505e4b1c 86 #define LED0_PIN PIN_PA23
Kojto 111:4336505e4b1c 87 #define LED0_ACTIVE false
Kojto 111:4336505e4b1c 88 #define LED0_INACTIVE !LED0_ACTIVE
Kojto 111:4336505e4b1c 89 /** @} */
Kojto 111:4336505e4b1c 90
Kojto 111:4336505e4b1c 91 /** \name SW0 definitions
Kojto 111:4336505e4b1c 92 * @{ */
Kojto 111:4336505e4b1c 93 #define SW0_PIN PIN_PB23
Kojto 111:4336505e4b1c 94 #define SW0_ACTIVE false
Kojto 111:4336505e4b1c 95 #define SW0_INACTIVE !SW0_ACTIVE
Kojto 111:4336505e4b1c 96 #define SW0_EIC_PIN PIN_PB23A_EIC_EXTINT7
Kojto 111:4336505e4b1c 97 #define SW0_EIC_MUX MUX_PA23A_EIC_EXTINT7
Kojto 111:4336505e4b1c 98 #define SW0_EIC_PINMUX PINMUX_PA23A_EIC_EXTINT7
Kojto 111:4336505e4b1c 99 #define SW0_EIC_LINE 7
Kojto 111:4336505e4b1c 100 /** @} */
Kojto 111:4336505e4b1c 101
Kojto 111:4336505e4b1c 102 /**
Kojto 111:4336505e4b1c 103 * \name LED #0 definitions
Kojto 111:4336505e4b1c 104 *
Kojto 111:4336505e4b1c 105 * Wrapper macros for LED0, to ensure common naming across all Xplained Pro
Kojto 111:4336505e4b1c 106 * boards.
Kojto 111:4336505e4b1c 107 *
Kojto 111:4336505e4b1c 108 * @{ */
Kojto 111:4336505e4b1c 109 #define LED_0_NAME "LED0 (yellow)"
Kojto 111:4336505e4b1c 110 #define LED_0_PIN LED0_PIN
Kojto 111:4336505e4b1c 111 #define LED_0_ACTIVE LED0_ACTIVE
Kojto 111:4336505e4b1c 112 #define LED_0_INACTIVE LED0_INACTIVE
Kojto 111:4336505e4b1c 113 #define LED0_GPIO LED0_PIN
Kojto 111:4336505e4b1c 114 #define LED0 LED0_PIN
Kojto 111:4336505e4b1c 115
Kojto 111:4336505e4b1c 116 #define LED_0_PWM_MODULE TCC0
Kojto 111:4336505e4b1c 117 #define LED_0_PWM_CHANNEL 0
Kojto 111:4336505e4b1c 118 #define LED_0_PWM_OUTPUT 0
Kojto 111:4336505e4b1c 119 #define LED_0_PWM_PIN PIN_PA23F_TCC0_WO5
Kojto 111:4336505e4b1c 120 #define LED_0_PWM_MUX MUX_PA23F_TCC0_WO5
Kojto 111:4336505e4b1c 121 #define LED_0_PWM_PINMUX PINMUX_PA23F_TCC0_WO5
Kojto 111:4336505e4b1c 122 /** @} */
Kojto 111:4336505e4b1c 123
Kojto 111:4336505e4b1c 124 /** Number of on-board LEDs */
Kojto 111:4336505e4b1c 125 #define LED_COUNT 1
Kojto 111:4336505e4b1c 126
Kojto 111:4336505e4b1c 127
Kojto 111:4336505e4b1c 128 /**
Kojto 111:4336505e4b1c 129 * \name Button #0 definitions
Kojto 111:4336505e4b1c 130 *
Kojto 111:4336505e4b1c 131 * Wrapper macros for SW0, to ensure common naming across all Xplained Pro
Kojto 111:4336505e4b1c 132 * boards.
Kojto 111:4336505e4b1c 133 *
Kojto 111:4336505e4b1c 134 * @{ */
Kojto 111:4336505e4b1c 135 #define BUTTON_0_NAME "SW0"
Kojto 111:4336505e4b1c 136 #define BUTTON_0_PIN SW0_PIN
Kojto 111:4336505e4b1c 137 #define BUTTON_0_ACTIVE SW0_ACTIVE
Kojto 111:4336505e4b1c 138 #define BUTTON_0_INACTIVE SW0_INACTIVE
Kojto 111:4336505e4b1c 139 #define BUTTON_0_EIC_PIN SW0_EIC_PIN
Kojto 111:4336505e4b1c 140 #define BUTTON_0_EIC_MUX SW0_EIC_MUX
Kojto 111:4336505e4b1c 141 #define BUTTON_0_EIC_PINMUX SW0_EIC_PINMUX
Kojto 111:4336505e4b1c 142 #define BUTTON_0_EIC_LINE SW0_EIC_LINE
Kojto 111:4336505e4b1c 143 /** @} */
Kojto 111:4336505e4b1c 144
Kojto 111:4336505e4b1c 145 /** Number of on-board buttons */
Kojto 111:4336505e4b1c 146 #define BUTTON_COUNT 1
Kojto 111:4336505e4b1c 147
Kojto 111:4336505e4b1c 148 /** \name Extension header #1 pin definitions
Kojto 111:4336505e4b1c 149 * @{
Kojto 111:4336505e4b1c 150 */
Kojto 111:4336505e4b1c 151 #define EXT1_PIN_3 PIN_PA02
Kojto 111:4336505e4b1c 152 #define EXT1_PIN_4 PIN_PA03
Kojto 111:4336505e4b1c 153 #define EXT1_PIN_5 PIN_PB02
Kojto 111:4336505e4b1c 154 #define EXT1_PIN_6 PIN_PB03
Kojto 111:4336505e4b1c 155 #define EXT1_PIN_7 PIN_PA10
Kojto 111:4336505e4b1c 156 #define EXT1_PIN_8 PIN_PA11
Kojto 111:4336505e4b1c 157 #define EXT1_PIN_9 PIN_PA20
Kojto 111:4336505e4b1c 158 #define EXT1_PIN_10 PIN_PA21
Kojto 111:4336505e4b1c 159 #define EXT1_PIN_11 PIN_PA08
Kojto 111:4336505e4b1c 160 #define EXT1_PIN_12 PIN_PA09
Kojto 111:4336505e4b1c 161 #define EXT1_PIN_13 PIN_PB11
Kojto 111:4336505e4b1c 162 #define EXT1_PIN_14 PIN_PB10
Kojto 111:4336505e4b1c 163 #define EXT1_PIN_15 PIN_PA17
Kojto 111:4336505e4b1c 164 #define EXT1_PIN_16 PIN_PA18
Kojto 111:4336505e4b1c 165 #define EXT1_PIN_17 PIN_PA16
Kojto 111:4336505e4b1c 166 #define EXT1_PIN_18 PIN_PA19
Kojto 111:4336505e4b1c 167 /** @} */
Kojto 111:4336505e4b1c 168
Kojto 111:4336505e4b1c 169 /** \name Extension header #1 pin definitions by function
Kojto 111:4336505e4b1c 170 * @{
Kojto 111:4336505e4b1c 171 */
Kojto 111:4336505e4b1c 172 #define EXT1_PIN_ADC_0 EXT1_PIN_3
Kojto 111:4336505e4b1c 173 #define EXT1_PIN_ADC_1 EXT1_PIN_4
Kojto 111:4336505e4b1c 174 #define EXT1_PIN_GPIO_0 EXT1_PIN_5
Kojto 111:4336505e4b1c 175 #define EXT1_PIN_GPIO_1 EXT1_PIN_6
Kojto 111:4336505e4b1c 176 #define EXT1_PIN_PWM_0 EXT1_PIN_7
Kojto 111:4336505e4b1c 177 #define EXT1_PIN_PWM_1 EXT1_PIN_8
Kojto 111:4336505e4b1c 178 #define EXT1_PIN_IRQ EXT1_PIN_9
Kojto 111:4336505e4b1c 179 #define EXT1_PIN_I2C_SDA EXT1_PIN_11
Kojto 111:4336505e4b1c 180 #define EXT1_PIN_I2C_SCL EXT1_PIN_12
Kojto 111:4336505e4b1c 181 #define EXT1_PIN_UART_RX EXT1_PIN_13
Kojto 111:4336505e4b1c 182 #define EXT1_PIN_UART_TX EXT1_PIN_14
Kojto 111:4336505e4b1c 183 #define EXT1_PIN_SPI_SS_1 EXT1_PIN_10
Kojto 111:4336505e4b1c 184 #define EXT1_PIN_SPI_SS_0 EXT1_PIN_15
Kojto 111:4336505e4b1c 185 #define EXT1_PIN_SPI_MOSI EXT1_PIN_16
Kojto 111:4336505e4b1c 186 #define EXT1_PIN_SPI_MISO EXT1_PIN_17
Kojto 111:4336505e4b1c 187 #define EXT1_PIN_SPI_SCK EXT1_PIN_18
Kojto 111:4336505e4b1c 188 /** @} */
Kojto 111:4336505e4b1c 189
Kojto 111:4336505e4b1c 190 /** \name Extension header #1 ADC definitions
Kojto 111:4336505e4b1c 191 * @{
Kojto 111:4336505e4b1c 192 */
Kojto 111:4336505e4b1c 193 #define EXT1_ADC_MODULE ADC
Kojto 111:4336505e4b1c 194 #define EXT1_ADC_0_CHANNEL 0
Kojto 111:4336505e4b1c 195 #define EXT1_ADC_0_PIN PIN_PA02B_ADC_AIN0
Kojto 111:4336505e4b1c 196 #define EXT1_ADC_0_MUX MUX_PA02B_ADC_AIN0
Kojto 111:4336505e4b1c 197 #define EXT1_ADC_0_PINMUX PINMUX_PA02B_ADC_AIN0
Kojto 111:4336505e4b1c 198 #define EXT1_ADC_1_CHANNEL 1
Kojto 111:4336505e4b1c 199 #define EXT1_ADC_1_PIN PIN_PA03B_ADC_AIN1
Kojto 111:4336505e4b1c 200 #define EXT1_ADC_1_MUX MUX_PA03B_ADC_AIN1
Kojto 111:4336505e4b1c 201 #define EXT1_ADC_1_PINMUX PINMUX_PA03B_ADC_AIN1
Kojto 111:4336505e4b1c 202 /** @} */
Kojto 111:4336505e4b1c 203
Kojto 111:4336505e4b1c 204 /** \name Extension header #1 PWM definitions
Kojto 111:4336505e4b1c 205 * @{
Kojto 111:4336505e4b1c 206 */
Kojto 111:4336505e4b1c 207 #define EXT1_PWM_MODULE TCC0
Kojto 111:4336505e4b1c 208 #define EXT1_PWM_0_CHANNEL 2
Kojto 111:4336505e4b1c 209 #define EXT1_PWM_0_PIN PIN_PA10F_TCC0_WO2
Kojto 111:4336505e4b1c 210 #define EXT1_PWM_0_MUX MUX_PA10F_TCC0_WO2
Kojto 111:4336505e4b1c 211 #define EXT1_PWM_0_PINMUX PINMUX_PA10F_TCC0_WO2
Kojto 111:4336505e4b1c 212 #define EXT1_PWM_1_CHANNEL 3
Kojto 111:4336505e4b1c 213 #define EXT1_PWM_1_PIN PIN_PA11F_TCC0_WO3
Kojto 111:4336505e4b1c 214 #define EXT1_PWM_1_MUX MUX_PA11F_TCC0_WO3
Kojto 111:4336505e4b1c 215 #define EXT1_PWM_1_PINMUX PINMUX_PA11F_TCC0_WO3
Kojto 111:4336505e4b1c 216 /** @} */
Kojto 111:4336505e4b1c 217
Kojto 111:4336505e4b1c 218 /** \name Extension header #1 IRQ/External interrupt definitions
Kojto 111:4336505e4b1c 219 * @{
Kojto 111:4336505e4b1c 220 */
Kojto 111:4336505e4b1c 221 #define EXT1_IRQ_MODULE EIC
Kojto 111:4336505e4b1c 222 #define EXT1_IRQ_INPUT 4
Kojto 111:4336505e4b1c 223 #define EXT1_IRQ_PIN PIN_PA20A_EIC_EXTINT4
Kojto 111:4336505e4b1c 224 #define EXT1_IRQ_MUX MUX_PA20A_EIC_EXTINT4
Kojto 111:4336505e4b1c 225 #define EXT1_IRQ_PINMUX PINMUX_PA20A_EIC_EXTINT4
Kojto 111:4336505e4b1c 226 /** @} */
Kojto 111:4336505e4b1c 227
Kojto 111:4336505e4b1c 228 /** \name Extension header #1 I2C definitions
Kojto 111:4336505e4b1c 229 * @{
Kojto 111:4336505e4b1c 230 */
Kojto 111:4336505e4b1c 231 #define EXT1_I2C_MODULE SERCOM0
Kojto 111:4336505e4b1c 232 #define EXT1_I2C_SERCOM_PINMUX_PAD0 PINMUX_PA08C_SERCOM0_PAD0
Kojto 111:4336505e4b1c 233 #define EXT1_I2C_SERCOM_PINMUX_PAD1 PINMUX_PA09C_SERCOM0_PAD1
Kojto 111:4336505e4b1c 234 /** @} */
Kojto 111:4336505e4b1c 235
Kojto 111:4336505e4b1c 236 /** \name Extension header #1 UART definitions
Kojto 111:4336505e4b1c 237 * @{
Kojto 111:4336505e4b1c 238 */
Kojto 111:4336505e4b1c 239 #define EXT1_UART_MODULE SERCOM4
Kojto 111:4336505e4b1c 240 #define EXT1_UART_SERCOM_MUX_SETTING USART_RX_3_TX_2_XCK_3
Kojto 111:4336505e4b1c 241 #define EXT1_UART_SERCOM_PINMUX_PAD0 PINMUX_UNUSED
Kojto 111:4336505e4b1c 242 #define EXT1_UART_SERCOM_PINMUX_PAD1 PINMUX_UNUSED
Kojto 111:4336505e4b1c 243 #define EXT1_UART_SERCOM_PINMUX_PAD2 PINMUX_PB10D_SERCOM4_PAD2
Kojto 111:4336505e4b1c 244 #define EXT1_UART_SERCOM_PINMUX_PAD3 PINMUX_PB11D_SERCOM4_PAD3
Kojto 111:4336505e4b1c 245 /** @} */
Kojto 111:4336505e4b1c 246
Kojto 111:4336505e4b1c 247 /** \name Extension header #1 SPI definitions
Kojto 111:4336505e4b1c 248 * @{
Kojto 111:4336505e4b1c 249 */
Kojto 111:4336505e4b1c 250 #define EXT1_SPI_MODULE SERCOM1
Kojto 111:4336505e4b1c 251 #define EXT1_SPI_SERCOM_MUX_SETTING SPI_SIGNAL_MUX_SETTING_E
Kojto 111:4336505e4b1c 252 #define EXT1_SPI_SERCOM_PINMUX_PAD0 PINMUX_PA16C_SERCOM1_PAD0
Kojto 111:4336505e4b1c 253 #define EXT1_SPI_SERCOM_PINMUX_PAD1 PINMUX_PA17C_SERCOM1_PAD1
Kojto 111:4336505e4b1c 254 #define EXT1_SPI_SERCOM_PINMUX_PAD2 PINMUX_PA18C_SERCOM1_PAD2
Kojto 111:4336505e4b1c 255 #define EXT1_SPI_SERCOM_PINMUX_PAD3 PINMUX_PA19C_SERCOM1_PAD3
Kojto 111:4336505e4b1c 256
Kojto 111:4336505e4b1c 257 /** \name Extension header #3 pin definitions
Kojto 111:4336505e4b1c 258 * @{
Kojto 111:4336505e4b1c 259 */
Kojto 111:4336505e4b1c 260 #define EXT3_PIN_3 PIN_PA04
Kojto 111:4336505e4b1c 261 #define EXT3_PIN_4 PIN_PA05
Kojto 111:4336505e4b1c 262 #define EXT3_PIN_5 PIN_PB22
Kojto 111:4336505e4b1c 263 #define EXT3_PIN_6 PIN_PB23
Kojto 111:4336505e4b1c 264 #define EXT3_PIN_7 PIN_PA22
Kojto 111:4336505e4b1c 265 #define EXT3_PIN_8 PIN_PA23
Kojto 111:4336505e4b1c 266 #define EXT3_PIN_9 PIN_PA06
Kojto 111:4336505e4b1c 267 #define EXT3_PIN_10 0
Kojto 111:4336505e4b1c 268 #define EXT3_PIN_11 PIN_PA08
Kojto 111:4336505e4b1c 269 #define EXT3_PIN_12 PIN_PA09
Kojto 111:4336505e4b1c 270 #define EXT3_PIN_13 PIN_PA01
Kojto 111:4336505e4b1c 271 #define EXT3_PIN_14 PIN_PA00
Kojto 111:4336505e4b1c 272 #define EXT3_PIN_15 PIN_PA07
Kojto 111:4336505e4b1c 273 #define EXT3_PIN_16 PIN_PA18
Kojto 111:4336505e4b1c 274 #define EXT3_PIN_17 PIN_PA16
Kojto 111:4336505e4b1c 275 #define EXT3_PIN_18 PIN_PA19
Kojto 111:4336505e4b1c 276 /** @} */
Kojto 111:4336505e4b1c 277
Kojto 111:4336505e4b1c 278 /** \name Extension header #3 pin definitions by function
Kojto 111:4336505e4b1c 279 * @{
Kojto 111:4336505e4b1c 280 */
Kojto 111:4336505e4b1c 281 #define EXT3_PIN_ADC_0 EXT3_PIN_3
Kojto 111:4336505e4b1c 282 #define EXT3_PIN_ADC_1 EXT3_PIN_4
Kojto 111:4336505e4b1c 283 #define EXT3_PIN_GPIO_0 EXT3_PIN_5
Kojto 111:4336505e4b1c 284 #define EXT3_PIN_GPIO_1 EXT3_PIN_6
Kojto 111:4336505e4b1c 285 #define EXT3_PIN_PWM_0 EXT3_PIN_7
Kojto 111:4336505e4b1c 286 #define EXT3_PIN_PWM_1 EXT3_PIN_8
Kojto 111:4336505e4b1c 287 #define EXT3_PIN_IRQ EXT3_PIN_9
Kojto 111:4336505e4b1c 288 #define EXT3_PIN_I2C_SDA EXT3_PIN_11
Kojto 111:4336505e4b1c 289 #define EXT3_PIN_I2C_SCL EXT3_PIN_12
Kojto 111:4336505e4b1c 290 #define EXT3_PIN_UART_RX EXT3_PIN_13
Kojto 111:4336505e4b1c 291 #define EXT3_PIN_UART_TX EXT3_PIN_14
Kojto 111:4336505e4b1c 292 #define EXT3_PIN_SPI_SS_0 EXT3_PIN_15
Kojto 111:4336505e4b1c 293 #define EXT3_PIN_SPI_MOSI EXT3_PIN_16
Kojto 111:4336505e4b1c 294 #define EXT3_PIN_SPI_MISO EXT3_PIN_17
Kojto 111:4336505e4b1c 295 #define EXT3_PIN_SPI_SCK EXT3_PIN_18
Kojto 111:4336505e4b1c 296 /** @} */
Kojto 111:4336505e4b1c 297
Kojto 111:4336505e4b1c 298 /** \name Extension header #3 ADC definitions
Kojto 111:4336505e4b1c 299 * @{
Kojto 111:4336505e4b1c 300 */
Kojto 111:4336505e4b1c 301 #define EXT3_ADC_MODULE ADC
Kojto 111:4336505e4b1c 302 #define EXT3_ADC_0_CHANNEL 4
Kojto 111:4336505e4b1c 303 #define EXT3_ADC_0_PIN PIN_PA04B_ADC_AIN4
Kojto 111:4336505e4b1c 304 #define EXT3_ADC_0_MUX MUX_PA04B_ADC_AIN4
Kojto 111:4336505e4b1c 305 #define EXT3_ADC_0_PINMUX PINMUX_PA04B_ADC_AIN4
Kojto 111:4336505e4b1c 306 #define EXT3_ADC_1_CHANNEL 5
Kojto 111:4336505e4b1c 307 #define EXT3_ADC_1_PIN PIN_PA05B_ADC_AIN5
Kojto 111:4336505e4b1c 308 #define EXT3_ADC_1_MUX MUX_PA05B_ADC_AIN5
Kojto 111:4336505e4b1c 309 #define EXT3_ADC_1_PINMUX PINMUX_PA05B_ADC_AIN5
Kojto 111:4336505e4b1c 310 /** @} */
Kojto 111:4336505e4b1c 311
Kojto 111:4336505e4b1c 312 /** \name Extension header #3 PWM definitions
Kojto 111:4336505e4b1c 313 * @{
Kojto 111:4336505e4b1c 314 */
Kojto 111:4336505e4b1c 315 #define EXT3_PWM_MODULE TC4
Kojto 111:4336505e4b1c 316 #define EXT3_PWM_0_CHANNEL 0
Kojto 111:4336505e4b1c 317 #define EXT3_PWM_0_PIN PIN_PA22E_TC4_WO0
Kojto 111:4336505e4b1c 318 #define EXT3_PWM_0_MUX MUX_PA22E_TC4_WO0
Kojto 111:4336505e4b1c 319 #define EXT3_PWM_0_PINMUX PINMUX_PA22E_TC4_WO0
Kojto 111:4336505e4b1c 320 #define EXT3_PWM_1_CHANNEL 1
Kojto 111:4336505e4b1c 321 #define EXT3_PWM_1_PIN PIN_PA23E_TC4_WO1
Kojto 111:4336505e4b1c 322 #define EXT3_PWM_1_MUX MUX_PA23E_TC4_WO1
Kojto 111:4336505e4b1c 323 #define EXT3_PWM_1_PINMUX PINMUX_PA23E_TC4_WO1
Kojto 111:4336505e4b1c 324 /** @} */
Kojto 111:4336505e4b1c 325
Kojto 111:4336505e4b1c 326 /** \name Extension header #3 IRQ/External interrupt definitions
Kojto 111:4336505e4b1c 327 * @{
Kojto 111:4336505e4b1c 328 */
Kojto 111:4336505e4b1c 329 #define EXT3_IRQ_MODULE EIC
Kojto 111:4336505e4b1c 330 #define EXT3_IRQ_INPUT 6
Kojto 111:4336505e4b1c 331 #define EXT3_IRQ_PIN PIN_PA06A_EIC_EXTINT6
Kojto 111:4336505e4b1c 332 #define EXT3_IRQ_MUX MUX_PA06A_EIC_EXTINT6
Kojto 111:4336505e4b1c 333 #define EXT3_IRQ_PINMUX PINMUX_PA06A_EIC_EXTINT6
Kojto 111:4336505e4b1c 334 /** @} */
Kojto 111:4336505e4b1c 335
Kojto 111:4336505e4b1c 336 /** \name Extension header #3 I2C definitions
Kojto 111:4336505e4b1c 337 * @{
Kojto 111:4336505e4b1c 338 */
Kojto 111:4336505e4b1c 339 #define EXT3_I2C_MODULE SERCOM0
Kojto 111:4336505e4b1c 340 #define EXT3_I2C_SERCOM_PINMUX_PAD0 PINMUX_PA08C_SERCOM0_PAD0
Kojto 111:4336505e4b1c 341 #define EXT3_I2C_SERCOM_PINMUX_PAD1 PINMUX_PA09C_SERCOM0_PAD1
Kojto 111:4336505e4b1c 342 /** @} */
Kojto 111:4336505e4b1c 343
Kojto 111:4336505e4b1c 344 /** \name Extension header #3 UART definitions
Kojto 111:4336505e4b1c 345 * @{
Kojto 111:4336505e4b1c 346 */
Kojto 111:4336505e4b1c 347 #define EXT3_UART_MODULE SERCOM1
Kojto 111:4336505e4b1c 348 #define EXT3_UART_SERCOM_MUX_SETTING USART_RX_1_TX_0_XCK_1
Kojto 111:4336505e4b1c 349 #define EXT3_UART_SERCOM_PINMUX_PAD0 PINMUX_PA00D_SERCOM1_PAD0
Kojto 111:4336505e4b1c 350 #define EXT3_UART_SERCOM_PINMUX_PAD1 PINMUX_PA01D_SERCOM1_PAD1
Kojto 111:4336505e4b1c 351 #define EXT3_UART_SERCOM_PINMUX_PAD2 PINMUX_UNUSED
Kojto 111:4336505e4b1c 352 #define EXT3_UART_SERCOM_PINMUX_PAD3 PINMUX_UNUSED
Kojto 111:4336505e4b1c 353 /** @} */
Kojto 111:4336505e4b1c 354
Kojto 111:4336505e4b1c 355 /** \name Extension header #3 SPI definitions
Kojto 111:4336505e4b1c 356 * @{
Kojto 111:4336505e4b1c 357 */
Kojto 111:4336505e4b1c 358 #define EXT3_SPI_MODULE SERCOM1
Kojto 111:4336505e4b1c 359 #define EXT3_SPI_SERCOM_MUX_SETTING SPI_SIGNAL_MUX_SETTING_E
Kojto 111:4336505e4b1c 360 #define EXT3_SPI_SERCOM_PINMUX_PAD0 PINMUX_PA16C_SERCOM1_PAD0
Kojto 111:4336505e4b1c 361 #define EXT3_SPI_SERCOM_PINMUX_PAD1 PINMUX_UNUSED /* PA07 */
Kojto 111:4336505e4b1c 362 #define EXT3_SPI_SERCOM_PINMUX_PAD2 PINMUX_PA18C_SERCOM1_PAD2
Kojto 111:4336505e4b1c 363 #define EXT3_SPI_SERCOM_PINMUX_PAD3 PINMUX_PA19C_SERCOM1_PAD3
Kojto 111:4336505e4b1c 364 /** @} */
Kojto 111:4336505e4b1c 365
Kojto 111:4336505e4b1c 366 /** \name Extension header #3 Dataflash
Kojto 111:4336505e4b1c 367 * @{
Kojto 111:4336505e4b1c 368 */
Kojto 111:4336505e4b1c 369 #define EXT3_DATAFLASH_SPI_MODULE EXT3_SPI_MODULE
Kojto 111:4336505e4b1c 370 #define EXT3_DATAFLASH_SPI_MUX_SETTING EXT3_SPI_SERCOM_MUX_SETTING
Kojto 111:4336505e4b1c 371 #define EXT3_DATAFLASH_SPI_PINMUX_PAD0 EXT3_SPI_SERCOM_PINMUX_PAD0
Kojto 111:4336505e4b1c 372 #define EXT3_DATAFLASH_SPI_PINMUX_PAD1 EXT3_SPI_SERCOM_PINMUX_PAD1
Kojto 111:4336505e4b1c 373 #define EXT3_DATAFLASH_SPI_PINMUX_PAD2 EXT3_SPI_SERCOM_PINMUX_PAD2
Kojto 111:4336505e4b1c 374 #define EXT3_DATAFLASH_SPI_PINMUX_PAD3 EXT3_SPI_SERCOM_PINMUX_PAD3
Kojto 111:4336505e4b1c 375 /** @} */
Kojto 111:4336505e4b1c 376
Kojto 111:4336505e4b1c 377 /** \name USB definitions
Kojto 111:4336505e4b1c 378 * @{
Kojto 111:4336505e4b1c 379 */
Kojto 111:4336505e4b1c 380 #define USB_ID
Kojto 111:4336505e4b1c 381 #define USB_TARGET_DP_PIN PIN_PA25G_USB_DP
Kojto 111:4336505e4b1c 382 #define USB_TARGET_DP_MUX MUX_PA25G_USB_DP
Kojto 111:4336505e4b1c 383 #define USB_TARGET_DP_PINMUX PINMUX_PA25G_USB_DP
Kojto 111:4336505e4b1c 384 #define USB_TARGET_DM_PIN PIN_PA24G_USB_DM
Kojto 111:4336505e4b1c 385 #define USB_TARGET_DM_MUX MUX_PA24G_USB_DM
Kojto 111:4336505e4b1c 386 #define USB_TARGET_DM_PINMUX PINMUX_PA24G_USB_DM
Kojto 111:4336505e4b1c 387 #define USB_VBUS_PIN PIN_PA05
Kojto 111:4336505e4b1c 388 #define USB_VBUS_EIC_LINE 5
Kojto 111:4336505e4b1c 389 #define USB_VBUS_EIC_MUX MUX_PA05A_EIC_EXTINT5
Kojto 111:4336505e4b1c 390 #define USB_VBUS_EIC_PINMUX PINMUX_PA05A_EIC_EXTINT5
Kojto 111:4336505e4b1c 391 #define USB_ID_PIN PIN_PA04
Kojto 111:4336505e4b1c 392 #define USB_ID_EIC_LINE 4
Kojto 111:4336505e4b1c 393 #define USB_ID_EIC_MUX MUX_PA04A_EIC_EXTINT4
Kojto 111:4336505e4b1c 394 #define USB_ID_EIC_PINMUX PINMUX_PA04A_EIC_EXTINT4
Kojto 111:4336505e4b1c 395 /** @} */
Kojto 111:4336505e4b1c 396
Kojto 111:4336505e4b1c 397 /** \name Embedded debugger GPIO interface definitions
Kojto 111:4336505e4b1c 398 * @{
Kojto 111:4336505e4b1c 399 */
Kojto 111:4336505e4b1c 400 #define EDBG_GPIO0_PIN PIN_PB22
Kojto 111:4336505e4b1c 401 #define EDBG_GPIO1_PIN PIN_PB23
Kojto 111:4336505e4b1c 402 #define EDBG_GPIO2_PIN PIN_PA22
Kojto 111:4336505e4b1c 403 #define EDBG_GPIO3_PIN PIN_PA24
Kojto 111:4336505e4b1c 404 /** @} */
Kojto 111:4336505e4b1c 405
Kojto 111:4336505e4b1c 406 /** \name Embedded debugger USART interface definitions
Kojto 111:4336505e4b1c 407 * @{
Kojto 111:4336505e4b1c 408 */
Kojto 111:4336505e4b1c 409 #define EDBG_UART_MODULE -1 /* Not available on this board */
Kojto 111:4336505e4b1c 410 #define EDBG_UART_RX_PIN -1 /* Not available on this board */
Kojto 111:4336505e4b1c 411 #define EDBG_UART_RX_MUX -1 /* Not available on this board */
Kojto 111:4336505e4b1c 412 #define EDBG_UART_RX_PINMUX -1 /* Not available on this board */
Kojto 111:4336505e4b1c 413 #define EDBG_UART_RX_SERCOM_PAD -1 /* Not available on this board */
Kojto 111:4336505e4b1c 414 #define EDBG_UART_TX_PIN -1 /* Not available on this board */
Kojto 111:4336505e4b1c 415 #define EDBG_UART_TX_MUX -1 /* Not available on this board */
Kojto 111:4336505e4b1c 416 #define EDBG_UART_TX_PINMUX -1 /* Not available on this board */
Kojto 111:4336505e4b1c 417 #define EDBG_UART_TX_SERCOM_PAD -1 /* Not available on this board */
Kojto 111:4336505e4b1c 418 /** @} */
Kojto 111:4336505e4b1c 419
Kojto 111:4336505e4b1c 420 /** \name Embedded debugger I2C interface definitions
Kojto 111:4336505e4b1c 421 * @{
Kojto 111:4336505e4b1c 422 */
Kojto 111:4336505e4b1c 423 #define EDBG_I2C_MODULE SERCOM0
Kojto 111:4336505e4b1c 424 #define EDBG_I2C_SERCOM_PINMUX_PAD0 PINMUX_PA08C_SERCOM0_PAD0
Kojto 111:4336505e4b1c 425 #define EDBG_I2C_SERCOM_PINMUX_PAD1 PINMUX_PA09C_SERCOM0_PAD1
Kojto 111:4336505e4b1c 426 /** @} */
Kojto 111:4336505e4b1c 427
Kojto 111:4336505e4b1c 428 /** \name Embedded debugger SPI interface definitions
Kojto 111:4336505e4b1c 429 * @{
Kojto 111:4336505e4b1c 430 */
Kojto 111:4336505e4b1c 431 #define EDBG_SPI_MODULE SERCOM1
Kojto 111:4336505e4b1c 432 #define EDBG_SPI_SERCOM_MUX_SETTING SPI_SIGNAL_MUX_SETTING_E
Kojto 111:4336505e4b1c 433 #define EDBG_SPI_SERCOM_PINMUX_PAD0 PINMUX_PA16C_SERCOM1_PAD0
Kojto 111:4336505e4b1c 434 #define EDBG_SPI_SERCOM_PINMUX_PAD1 PINMUX_UNUSED /* PA_06 */
Kojto 111:4336505e4b1c 435 #define EDBG_SPI_SERCOM_PINMUX_PAD2 PINMUX_PA18C_SERCOM1_PAD2
Kojto 111:4336505e4b1c 436 #define EDBG_SPI_SERCOM_PINMUX_PAD3 PINMUX_PA19C_SERCOM1_PAD3
Kojto 111:4336505e4b1c 437 /** @} */
Kojto 111:4336505e4b1c 438
Kojto 111:4336505e4b1c 439 /** \name Embedded debugger CDC Gateway USART interface definitions
Kojto 111:4336505e4b1c 440 * @{
Kojto 111:4336505e4b1c 441 */
Kojto 111:4336505e4b1c 442 #define EDBG_CDC_MODULE SERCOM4
Kojto 111:4336505e4b1c 443 #define EDBG_CDC_SERCOM_MUX_SETTING USART_RX_3_TX_2_XCK_3
Kojto 111:4336505e4b1c 444 #define EDBG_CDC_SERCOM_PINMUX_PAD0 PINMUX_UNUSED
Kojto 111:4336505e4b1c 445 #define EDBG_CDC_SERCOM_PINMUX_PAD1 PINMUX_UNUSED
Kojto 111:4336505e4b1c 446 #define EDBG_CDC_SERCOM_PINMUX_PAD2 PINMUX_PB10D_SERCOM4_PAD2
Kojto 111:4336505e4b1c 447 #define EDBG_CDC_SERCOM_PINMUX_PAD3 PINMUX_PB11D_SERCOM4_PAD3
Kojto 111:4336505e4b1c 448 /** @} */
Kojto 111:4336505e4b1c 449
Kojto 111:4336505e4b1c 450 /** @} */
Kojto 111:4336505e4b1c 451
Kojto 111:4336505e4b1c 452 /** \name 802.15.4 TRX Interface definitions
Kojto 111:4336505e4b1c 453 * @{
Kojto 111:4336505e4b1c 454 */
Kojto 111:4336505e4b1c 455
Kojto 111:4336505e4b1c 456 #define AT86RFX_SPI EXT1_SPI_MODULE
Kojto 111:4336505e4b1c 457 #define AT86RFX_RST_PIN EXT1_PIN_7
Kojto 111:4336505e4b1c 458 #define AT86RFX_MISC_PIN EXT1_PIN_12
Kojto 111:4336505e4b1c 459 #define AT86RFX_IRQ_PIN EXT1_PIN_9
Kojto 111:4336505e4b1c 460 #define AT86RFX_SLP_PIN EXT1_PIN_10
Kojto 111:4336505e4b1c 461 #define AT86RFX_SPI_CS EXT1_PIN_15
Kojto 111:4336505e4b1c 462 #define AT86RFX_SPI_MOSI EXT1_PIN_16
Kojto 111:4336505e4b1c 463 #define AT86RFX_SPI_MISO EXT1_PIN_17
Kojto 111:4336505e4b1c 464 #define AT86RFX_SPI_SCK EXT1_PIN_18
Kojto 111:4336505e4b1c 465 #define AT86RFX_CSD EXT1_PIN_5
Kojto 111:4336505e4b1c 466 #define AT86RFX_CPS EXT1_PIN_8
Kojto 111:4336505e4b1c 467
Kojto 111:4336505e4b1c 468 #define AT86RFX_SPI_SERCOM_MUX_SETTING EXT1_SPI_SERCOM_MUX_SETTING
Kojto 111:4336505e4b1c 469 #define AT86RFX_SPI_SERCOM_PINMUX_PAD0 EXT1_SPI_SERCOM_PINMUX_PAD0
Kojto 111:4336505e4b1c 470 #define AT86RFX_SPI_SERCOM_PINMUX_PAD1 PINMUX_UNUSED
Kojto 111:4336505e4b1c 471 #define AT86RFX_SPI_SERCOM_PINMUX_PAD2 EXT1_SPI_SERCOM_PINMUX_PAD2
Kojto 111:4336505e4b1c 472 #define AT86RFX_SPI_SERCOM_PINMUX_PAD3 EXT1_SPI_SERCOM_PINMUX_PAD3
Kojto 111:4336505e4b1c 473
Kojto 111:4336505e4b1c 474 #define AT86RFX_IRQ_CHAN EXT1_IRQ_INPUT
Kojto 111:4336505e4b1c 475 #define AT86RFX_IRQ_PINMUX EXT1_IRQ_PINMUX
Kojto 111:4336505e4b1c 476
Kojto 111:4336505e4b1c 477
Kojto 111:4336505e4b1c 478 /** Enables the transceiver main interrupt. */
Kojto 111:4336505e4b1c 479 #define ENABLE_TRX_IRQ()
Kojto 111:4336505e4b1c 480
Kojto 111:4336505e4b1c 481 /** Disables the transceiver main interrupt. */
Kojto 111:4336505e4b1c 482 #define DISABLE_TRX_IRQ()
Kojto 111:4336505e4b1c 483
Kojto 111:4336505e4b1c 484 /** Clears the transceiver main interrupt. */
Kojto 111:4336505e4b1c 485 #define CLEAR_TRX_IRQ()
Kojto 111:4336505e4b1c 486
Kojto 111:4336505e4b1c 487 /*
Kojto 111:4336505e4b1c 488 * This macro saves the trx interrupt status and disables the trx interrupt.
Kojto 111:4336505e4b1c 489 */
Kojto 111:4336505e4b1c 490 #define ENTER_TRX_REGION()
Kojto 111:4336505e4b1c 491
Kojto 111:4336505e4b1c 492 /*
Kojto 111:4336505e4b1c 493 * This macro restores the transceiver interrupt status
Kojto 111:4336505e4b1c 494 */
Kojto 111:4336505e4b1c 495 #define LEAVE_TRX_REGION()
Kojto 111:4336505e4b1c 496
Kojto 111:4336505e4b1c 497 /** @} */
Kojto 111:4336505e4b1c 498
Kojto 111:4336505e4b1c 499 /**
Kojto 111:4336505e4b1c 500 * \brief Turns off the specified LEDs.
Kojto 111:4336505e4b1c 501 *
Kojto 111:4336505e4b1c 502 * \param led_gpio LED to turn off (LEDx_GPIO).
Kojto 111:4336505e4b1c 503 *
Kojto 111:4336505e4b1c 504 * \note The pins of the specified LEDs are set to GPIO output mode.
Kojto 111:4336505e4b1c 505 */
Kojto 111:4336505e4b1c 506 #define LED_Off(led_gpio) port_pin_set_output_level(led_gpio,true)
Kojto 111:4336505e4b1c 507
Kojto 111:4336505e4b1c 508 /**
Kojto 111:4336505e4b1c 509 * \brief Turns on the specified LEDs.
Kojto 111:4336505e4b1c 510 *
Kojto 111:4336505e4b1c 511 * \param led_gpio LED to turn on (LEDx_GPIO).
Kojto 111:4336505e4b1c 512 *
Kojto 111:4336505e4b1c 513 * \note The pins of the specified LEDs are set to GPIO output mode.
Kojto 111:4336505e4b1c 514 */
Kojto 111:4336505e4b1c 515 #define LED_On(led_gpio) port_pin_set_output_level(led_gpio,false)
Kojto 111:4336505e4b1c 516
Kojto 111:4336505e4b1c 517 /**
Kojto 111:4336505e4b1c 518 * \brief Toggles the specified LEDs.
Kojto 111:4336505e4b1c 519 *
Kojto 111:4336505e4b1c 520 * \param led_gpio LED to toggle (LEDx_GPIO).
Kojto 111:4336505e4b1c 521 *
Kojto 111:4336505e4b1c 522 * \note The pins of the specified LEDs are set to GPIO output mode.
Kojto 111:4336505e4b1c 523 */
Kojto 111:4336505e4b1c 524 #define LED_Toggle(led_gpio) port_pin_toggle_output_level(led_gpio)
Kojto 111:4336505e4b1c 525
Kojto 111:4336505e4b1c 526 #ifdef __cplusplus
Kojto 111:4336505e4b1c 527 }
Kojto 111:4336505e4b1c 528 #endif
Kojto 111:4336505e4b1c 529
Kojto 111:4336505e4b1c 530 #endif /* SAMW25_XPLAINED_PRO_H_INCLUDED */