t

Fork of mbed-dev by mbed official

Committer:
mbed_official
Date:
Tue Apr 05 18:15:12 2016 +0100
Revision:
107:414e9c822e99
Synchronized with git revision dd3c5f7fa8473776950ec6e15c0e4adedb21cf2f

Full URL: https://github.com/mbedmicro/mbed/commit/dd3c5f7fa8473776950ec6e15c0e4adedb21cf2f/

* * Base Commit for SAMG55J19. No errors and no implementations.

* * Added gpio files.

* * Added pinmap files.

* * Base commit for usticker implementation.

* * Added gcc_arm export functionality

* * added files for usticker.
* added template file for samd55j19

* * GPIO IRQ base commit.

* * updated with changes in gpio irq driver.

* * Reverted back unexpected commit in SAM0 gpio driver.

* * updated gpio_irq driver.

* * correction in gpio and gpio_irq drivers.
* added support for some test for gpio.

* * base commit for peripheralpins for usart.
* update in serial apis.

* * updated serial apis.

* * updated serial apis and test.

* * update serial apis for asynch apis.

* * updated peripheral pins for i2c and spi.
* added test support for serial flow control

* * Base commit for low power ticker implementation.

* * base commit for port apis.
* update in lp ticker apis.

* * Added test support for port.

* * base commit for sleep apis.

* * Base commit for spi.

* * updated with corrections in gpio irq.
* usticker file updated with latest source.

* * updated with corrections for unexpected board reset.
* updated gpio irq apis and added test for the same.

* * updated sleep api for deepsleep.

* * updated serial apis.

* Added uc_ticker and SPI api implementations

* Removed unused SPI pin map

* Updated review feedback

* * implemented lpticker with TC module.
* updated files for KnR Coding Statndard.
* updated serial and usticker apis.

* * Base commit for AnalogueIn apis.

* * RTC apis base commit without implementation.

* * Updated with corrections in lpticker implementations.

* * Added implementation for rtc apis.

* * updated with implementations for pwm.
* changed usticker from TC0 to TC1.

* Added I2C support

* * removed setvector usage from usticker and lpticker implementations
* added tests for SAMG55J19

* * Removed unwanted .o and .d files.
* Updated I2C files for KnR Coding Standards.
* Update for reducing compiler warnings in peripheralpins,c
* Updated with PWM free implementation.

* * Removed unwanted headers file inclusion.
* Compiler warning corrections in serial_api.c

* * Updated ADC with 16 bit mode initialization and code refinements.
* Updated PWM with code refinements.

* Updated I2C review feedback and fixed style

* Updated target name for SAMG55

* * Added Test Support for I2C with AT30TSE75X and Added Support for SAMG55J19 in atmelstudio project exporter

* * Added Test Support for I2C with AT30TSE75X and Added Support for SAMG55J19 in atmelstudio project exporter

* Used NVIC_SetVector for interrupt callback

* Removed Target macro define in test

* Updated test cases to have SAMG55 support

* * Updated with corrections in Serial and SPI asynchronous implementations.
* Updated deepsleep api implementation
* Merged LP_Ticker with latest code from mbed 3.0 repository.

* * updated with corrections in I2C Asynch implementation.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 107:414e9c822e99 1 /**
mbed_official 107:414e9c822e99 2 * \file
mbed_official 107:414e9c822e99 3 *
mbed_official 107:414e9c822e99 4 * \brief SAMG55 Xplained Pro board definition
mbed_official 107:414e9c822e99 5 *
mbed_official 107:414e9c822e99 6 * Copyright (c) 2014-2015 Atmel Corporation. All rights reserved.
mbed_official 107:414e9c822e99 7 *
mbed_official 107:414e9c822e99 8 * \asf_license_start
mbed_official 107:414e9c822e99 9 *
mbed_official 107:414e9c822e99 10 * \page License
mbed_official 107:414e9c822e99 11 *
mbed_official 107:414e9c822e99 12 * Redistribution and use in source and binary forms, with or without
mbed_official 107:414e9c822e99 13 * modification, are permitted provided that the following conditions are met:
mbed_official 107:414e9c822e99 14 *
mbed_official 107:414e9c822e99 15 * 1. Redistributions of source code must retain the above copyright notice,
mbed_official 107:414e9c822e99 16 * this list of conditions and the following disclaimer.
mbed_official 107:414e9c822e99 17 *
mbed_official 107:414e9c822e99 18 * 2. Redistributions in binary form must reproduce the above copyright notice,
mbed_official 107:414e9c822e99 19 * this list of conditions and the following disclaimer in the documentation
mbed_official 107:414e9c822e99 20 * and/or other materials provided with the distribution.
mbed_official 107:414e9c822e99 21 *
mbed_official 107:414e9c822e99 22 * 3. The name of Atmel may not be used to endorse or promote products derived
mbed_official 107:414e9c822e99 23 * from this software without specific prior written permission.
mbed_official 107:414e9c822e99 24 *
mbed_official 107:414e9c822e99 25 * 4. This software may only be redistributed and used in connection with an
mbed_official 107:414e9c822e99 26 * Atmel microcontroller product.
mbed_official 107:414e9c822e99 27 *
mbed_official 107:414e9c822e99 28 * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED
mbed_official 107:414e9c822e99 29 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
mbed_official 107:414e9c822e99 30 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
mbed_official 107:414e9c822e99 31 * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR
mbed_official 107:414e9c822e99 32 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
mbed_official 107:414e9c822e99 33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
mbed_official 107:414e9c822e99 34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
mbed_official 107:414e9c822e99 35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
mbed_official 107:414e9c822e99 36 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
mbed_official 107:414e9c822e99 37 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
mbed_official 107:414e9c822e99 38 * POSSIBILITY OF SUCH DAMAGE.
mbed_official 107:414e9c822e99 39 *
mbed_official 107:414e9c822e99 40 * \asf_license_stop
mbed_official 107:414e9c822e99 41 *
mbed_official 107:414e9c822e99 42 */
mbed_official 107:414e9c822e99 43 /*
mbed_official 107:414e9c822e99 44 * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a>
mbed_official 107:414e9c822e99 45 */
mbed_official 107:414e9c822e99 46
mbed_official 107:414e9c822e99 47 #ifndef SAMG55_XPLAINED_PRO_H_INCLUDED
mbed_official 107:414e9c822e99 48 #define SAMG55_XPLAINED_PRO_H_INCLUDED
mbed_official 107:414e9c822e99 49
mbed_official 107:414e9c822e99 50 #include <conf_board.h>
mbed_official 107:414e9c822e99 51 #include <compiler.h>
mbed_official 107:414e9c822e99 52
mbed_official 107:414e9c822e99 53 /**
mbed_official 107:414e9c822e99 54 * \ingroup group_common_boards
mbed_official 107:414e9c822e99 55 * \defgroup samg55_xplained_pro_group SAMG55 Xplained Pro board
mbed_official 107:414e9c822e99 56 *
mbed_official 107:414e9c822e99 57 * @{
mbed_official 107:414e9c822e99 58 */
mbed_official 107:414e9c822e99 59
mbed_official 107:414e9c822e99 60 void system_board_init(void);
mbed_official 107:414e9c822e99 61
mbed_official 107:414e9c822e99 62 /**
mbed_official 107:414e9c822e99 63 * \defgroup samg55_config_group Configuration
mbed_official 107:414e9c822e99 64 *
mbed_official 107:414e9c822e99 65 * Symbols to use for configuring the board and its initialization.
mbed_official 107:414e9c822e99 66 *
mbed_official 107:414e9c822e99 67 * @{
mbed_official 107:414e9c822e99 68 */
mbed_official 107:414e9c822e99 69 #ifdef __DOXYGEN__
mbed_official 107:414e9c822e99 70
mbed_official 107:414e9c822e99 71 /* ! \name Initialization */
mbed_official 107:414e9c822e99 72 /* @{ */
mbed_official 107:414e9c822e99 73
mbed_official 107:414e9c822e99 74 /**
mbed_official 107:414e9c822e99 75 * \def CONF_BOARD_KEEP_WATCHDOG_AT_INIT
mbed_official 107:414e9c822e99 76 * \brief If defined, the watchdog will remain enabled
mbed_official 107:414e9c822e99 77 *
mbed_official 107:414e9c822e99 78 * If this symbol is defined, the watchdog is left running with its current
mbed_official 107:414e9c822e99 79 * configuration. Otherwise, it is disabled during board initialization.
mbed_official 107:414e9c822e99 80 */
mbed_official 107:414e9c822e99 81 # ifndef CONF_BOARD_KEEP_WATCHDOG_AT_INIT
mbed_official 107:414e9c822e99 82 # define CONF_BOARD_KEEP_WATCHDOG_AT_INIT
mbed_official 107:414e9c822e99 83 # endif
mbed_official 107:414e9c822e99 84
mbed_official 107:414e9c822e99 85 /* @} */
mbed_official 107:414e9c822e99 86
mbed_official 107:414e9c822e99 87 #endif /* __DOXYGEN__ */
mbed_official 107:414e9c822e99 88 /**@} */
mbed_official 107:414e9c822e99 89
mbed_official 107:414e9c822e99 90 /**
mbed_official 107:414e9c822e99 91 * \defgroup samg55_xplained_pro_features_group Features
mbed_official 107:414e9c822e99 92 *
mbed_official 107:414e9c822e99 93 * Symbols that describe features and capabilities of the board.
mbed_official 107:414e9c822e99 94 *
mbed_official 107:414e9c822e99 95 * @{
mbed_official 107:414e9c822e99 96 */
mbed_official 107:414e9c822e99 97
mbed_official 107:414e9c822e99 98 /** Name string macro */
mbed_official 107:414e9c822e99 99 #define BOARD_NAME "SAMG55_XPLAINED_PRO"
mbed_official 107:414e9c822e99 100
mbed_official 107:414e9c822e99 101 /** \name Resonator definitions
mbed_official 107:414e9c822e99 102 * @{ */
mbed_official 107:414e9c822e99 103 #define BOARD_FREQ_SLCK_XTAL (32768U)
mbed_official 107:414e9c822e99 104 #define BOARD_FREQ_SLCK_BYPASS (32768U)
mbed_official 107:414e9c822e99 105 #define BOARD_FREQ_MAINCK_XTAL 0 /* Not Mounted */
mbed_official 107:414e9c822e99 106 #define BOARD_FREQ_MAINCK_BYPASS 0 /* Not Mounted */
mbed_official 107:414e9c822e99 107 #define BOARD_MCK CHIP_FREQ_CPU_MAX
mbed_official 107:414e9c822e99 108 /*TBD startup time needs to be adjusted according to measurements */
mbed_official 107:414e9c822e99 109 #define BOARD_OSC_STARTUP_US 15625
mbed_official 107:414e9c822e99 110
mbed_official 107:414e9c822e99 111 /** @} */
mbed_official 107:414e9c822e99 112
mbed_official 107:414e9c822e99 113 /** \name LED0 definitions
mbed_official 107:414e9c822e99 114 * @{ */
mbed_official 107:414e9c822e99 115 #define LED0_GPIO (PIO_PA6_IDX)
mbed_official 107:414e9c822e99 116 #define LED0_FLAGS (PIO_OUTPUT_1 | PIO_DEFAULT)
mbed_official 107:414e9c822e99 117
mbed_official 107:414e9c822e99 118 #define LED0_PIN IOPORT_CREATE_PIN(PIOA, 6)
mbed_official 107:414e9c822e99 119 #define LED0_ACTIVE_LEVEL false
mbed_official 107:414e9c822e99 120 #define LED0_INACTIVE_LEVEL !LED0_ACTIVE_LEVEL
mbed_official 107:414e9c822e99 121 /** @} */
mbed_official 107:414e9c822e99 122
mbed_official 107:414e9c822e99 123 /** \name SW0 definitions
mbed_official 107:414e9c822e99 124 * @{ */
mbed_official 107:414e9c822e99 125 #define SW0_PIN IOPORT_CREATE_PIN(PIOA, 2)
mbed_official 107:414e9c822e99 126 #define SW0_ACTIVE false
mbed_official 107:414e9c822e99 127 #define SW0_INACTIVE !SW0_ACTIVE
mbed_official 107:414e9c822e99 128 #define SW0_SUPC_INPUT 2
mbed_official 107:414e9c822e99 129 /** @} */
mbed_official 107:414e9c822e99 130
mbed_official 107:414e9c822e99 131 /**
mbed_official 107:414e9c822e99 132 * Wrapper macros for SW0, to ensure common naming across all Xplained Pro
mbed_official 107:414e9c822e99 133 * boards.
mbed_official 107:414e9c822e99 134 */
mbed_official 107:414e9c822e99 135 #define PIN_SW0 {PIO_PA2, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE}
mbed_official 107:414e9c822e99 136 #define PIN_SW0_MASK PIO_PA2
mbed_official 107:414e9c822e99 137 #define PIN_SW0_PIO PIOA
mbed_official 107:414e9c822e99 138 #define PIN_SW0_ID ID_PIOA
mbed_official 107:414e9c822e99 139 #define PIN_SW0_TYPE PIO_INPUT
mbed_official 107:414e9c822e99 140 #define PIN_SW0_ATTR (PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE)
mbed_official 107:414e9c822e99 141 //@}
mbed_official 107:414e9c822e99 142
mbed_official 107:414e9c822e99 143 /**
mbed_official 107:414e9c822e99 144 * \name LED #0 definitions
mbed_official 107:414e9c822e99 145 *
mbed_official 107:414e9c822e99 146 * Wrapper macros for LED0, to ensure common naming across all Xplained Pro
mbed_official 107:414e9c822e99 147 * boards.
mbed_official 107:414e9c822e99 148 *
mbed_official 107:414e9c822e99 149 * @{ */
mbed_official 107:414e9c822e99 150 #define LED_0_NAME "LED0 (yellow)"
mbed_official 107:414e9c822e99 151 #define LED_0_PIN LED0_PIN
mbed_official 107:414e9c822e99 152 #define LED_0_ACTIVE LED0_ACTIVE_LEVEL
mbed_official 107:414e9c822e99 153 #define LED_0_INACTIVE LED0_INACTIVE_LEVEL
mbed_official 107:414e9c822e99 154
mbed_official 107:414e9c822e99 155 #define PIN_LED_0 {PIO_PA16, PIOA, ID_PIOA, PIO_OUTPUT_1, PIO_DEFAULT}
mbed_official 107:414e9c822e99 156 #define PIN_LED_0_MASK PIO_PA16
mbed_official 107:414e9c822e99 157 #define PIN_LED_0_PIO PIOA
mbed_official 107:414e9c822e99 158 #define PIN_LED_0_ID ID_PIOA
mbed_official 107:414e9c822e99 159 #define PIN_LED_0_TYPE PIO_OUTPUT_1
mbed_official 107:414e9c822e99 160 #define PIN_LED_0_ATTR PIO_DEFAULT
mbed_official 107:414e9c822e99 161 /** @} */
mbed_official 107:414e9c822e99 162
mbed_official 107:414e9c822e99 163 /** Number of on-board LEDs */
mbed_official 107:414e9c822e99 164 #define LED_COUNT 1
mbed_official 107:414e9c822e99 165
mbed_official 107:414e9c822e99 166 /**
mbed_official 107:414e9c822e99 167 * \name Button #0 definitions
mbed_official 107:414e9c822e99 168 *
mbed_official 107:414e9c822e99 169 * Wrapper macros for SW0, to ensure common naming across all Xplained Pro
mbed_official 107:414e9c822e99 170 * boards.
mbed_official 107:414e9c822e99 171 *
mbed_official 107:414e9c822e99 172 * @{ */
mbed_official 107:414e9c822e99 173 #define BUTTON_0_NAME "SW0"
mbed_official 107:414e9c822e99 174 #define BUTTON_0_PIN SW0_PIN
mbed_official 107:414e9c822e99 175 #define BUTTON_0_ACTIVE SW0_ACTIVE
mbed_official 107:414e9c822e99 176 #define BUTTON_0_INACTIVE SW0_INACTIVE
mbed_official 107:414e9c822e99 177 #define BUTTON_0_SUPC_INPUT SW0_SUPC_INPUT
mbed_official 107:414e9c822e99 178
mbed_official 107:414e9c822e99 179 #define PUSHBUTTON_1_NAME "SW0"
mbed_official 107:414e9c822e99 180 #define PIN_PUSHBUTTON_1 {PIO_PA2, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE}
mbed_official 107:414e9c822e99 181 #define PIN_PUSHBUTTON_1_MASK PIO_PA2
mbed_official 107:414e9c822e99 182 #define PIN_PUSHBUTTON_1_PIO PIOA
mbed_official 107:414e9c822e99 183 #define PIN_PUSHBUTTON_1_ID ID_PIOA
mbed_official 107:414e9c822e99 184 #define PIN_PUSHBUTTON_1_TYPE PIO_INPUT
mbed_official 107:414e9c822e99 185 #define PIN_PUSHBUTTON_1_ATTR PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE
mbed_official 107:414e9c822e99 186 /** @} */
mbed_official 107:414e9c822e99 187
mbed_official 107:414e9c822e99 188 /** Number of on-board buttons */
mbed_official 107:414e9c822e99 189 #define BUTTON_COUNT 1
mbed_official 107:414e9c822e99 190
mbed_official 107:414e9c822e99 191 #define CONSOLE_UART USART7
mbed_official 107:414e9c822e99 192 #define CONSOLE_UART_ID ID_FLEXCOM7
mbed_official 107:414e9c822e99 193 /** USART7 pins (TXD7 and RXD7) definitions, PA27,28. */
mbed_official 107:414e9c822e99 194 #define PINS_USART7 (PIO_PA27B_RXD7| PIO_PA28B_TXD7)
mbed_official 107:414e9c822e99 195 #define PINS_USART7_FLAGS (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 196
mbed_official 107:414e9c822e99 197 #define PINS_USART7_PORT IOPORT_PIOA
mbed_official 107:414e9c822e99 198 #define PINS_USART7_MASK (PIO_PA27B_RXD7 | PIO_PA28B_TXD7)
mbed_official 107:414e9c822e99 199 #define PINS_USART7_PIO PIOA
mbed_official 107:414e9c822e99 200 #define PINS_USART7_ID ID_PIOA
mbed_official 107:414e9c822e99 201 #define PINS_USART7_TYPE PIO_PERIPH_B
mbed_official 107:414e9c822e99 202 #define PINS_USART7_ATTR PIO_DEFAULT
mbed_official 107:414e9c822e99 203
mbed_official 107:414e9c822e99 204 /** PCK1 pin definition (PA17) */
mbed_official 107:414e9c822e99 205 #define PIN_PCK1 (PIO_PA17_IDX)
mbed_official 107:414e9c822e99 206 #define PIN_PCK1_MUX (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 207 #define PIN_PCK1_FLAGS (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 208 #define PIN_PCK1_PORT IOPORT_PIOA
mbed_official 107:414e9c822e99 209 #define PIN_PCK1_MASK PIO_PA17B_PCK1
mbed_official 107:414e9c822e99 210 #define PIN_PCK1_PIO PIOA
mbed_official 107:414e9c822e99 211 #define PIN_PCK1_ID ID_PIOA
mbed_official 107:414e9c822e99 212 #define PIN_PCK1_TYPE PIO_PERIPH_B
mbed_official 107:414e9c822e99 213 #define PIN_PCK1_ATTR PIO_DEFAULT
mbed_official 107:414e9c822e99 214
mbed_official 107:414e9c822e99 215 #define PIN_TC0_TIOA0 (PIO_PA0_IDX)
mbed_official 107:414e9c822e99 216 #define PIN_TC0_TIOA0_MUX (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 217 #define PIN_TC0_TIOA0_FLAGS (PIO_PERIPH_B | PIO_DEFAULT)
mbed_official 107:414e9c822e99 218
mbed_official 107:414e9c822e99 219 #define PIN_TC0_TIOA1 (PIO_PA23_IDX)
mbed_official 107:414e9c822e99 220 #define PIN_TC0_TIOA1_MUX (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 221 #define PIN_TC0_TIOA1_FLAGS (PIO_PERIPH_B | PIO_DEFAULT)
mbed_official 107:414e9c822e99 222 //! \name SPI
mbed_official 107:414e9c822e99 223 //@{
mbed_official 107:414e9c822e99 224 /** SPI MISO pin definition. */
mbed_official 107:414e9c822e99 225 #define SPI_MISO_GPIO (PIO_PA12_IDX)
mbed_official 107:414e9c822e99 226 #define SPI_MISO_FLAGS (IOPORT_MODE_MUX_A)
mbed_official 107:414e9c822e99 227 /** SPI MOSI pin definition. */
mbed_official 107:414e9c822e99 228 #define SPI_MOSI_GPIO (PIO_PA13_IDX)
mbed_official 107:414e9c822e99 229 #define SPI_MOSI_FLAGS (IOPORT_MODE_MUX_A)
mbed_official 107:414e9c822e99 230 /** SPI SPCK pin definition. */
mbed_official 107:414e9c822e99 231 #define SPI_SPCK_GPIO (PIO_PA14_IDX)
mbed_official 107:414e9c822e99 232 #define SPI_SPCK_FLAGS (IOPORT_MODE_MUX_A)
mbed_official 107:414e9c822e99 233
mbed_official 107:414e9c822e99 234 /** SPI chip select 0 pin definition. */
mbed_official 107:414e9c822e99 235 #define SPI_NPCS0_GPIO (PIO_PA11_IDX)
mbed_official 107:414e9c822e99 236 #define SPI_NPCS0_FLAGS (IOPORT_MODE_MUX_A)
mbed_official 107:414e9c822e99 237 /** SPI chip select 1 pin definition. */
mbed_official 107:414e9c822e99 238 #define SPI_NPCS1_GPIO (PIO_PA5_IDX)
mbed_official 107:414e9c822e99 239 #define SPI_NPCS1_FLAGS (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 240 //@}
mbed_official 107:414e9c822e99 241
mbed_official 107:414e9c822e99 242 /** \name Extension header #1 pin definitions
mbed_official 107:414e9c822e99 243 * @{
mbed_official 107:414e9c822e99 244 */
mbed_official 107:414e9c822e99 245 #define EXT1_PIN_3 IOPORT_CREATE_PIN(PIOA, 17)
mbed_official 107:414e9c822e99 246 #define EXT1_PIN_4 IOPORT_CREATE_PIN(PIOA, 18)
mbed_official 107:414e9c822e99 247 #define EXT1_PIN_5 IOPORT_CREATE_PIN(PIOA, 26)
mbed_official 107:414e9c822e99 248 #define EXT1_PIN_6 IOPORT_CREATE_PIN(PIOA, 25)
mbed_official 107:414e9c822e99 249 #define EXT1_PIN_7 IOPORT_CREATE_PIN(PIOA, 0)
mbed_official 107:414e9c822e99 250 #define EXT1_PIN_8 IOPORT_CREATE_PIN(PIOA, 23)
mbed_official 107:414e9c822e99 251 #define EXT1_PIN_9 IOPORT_CREATE_PIN(PIOA, 24)
mbed_official 107:414e9c822e99 252 #define EXT1_PIN_10 IOPORT_CREATE_PIN(PIOA, 29)
mbed_official 107:414e9c822e99 253 #define EXT1_PIN_11 IOPORT_CREATE_PIN(PIOB, 10)
mbed_official 107:414e9c822e99 254 #define EXT1_PIN_12 IOPORT_CREATE_PIN(PIOB, 11)
mbed_official 107:414e9c822e99 255 #define EXT1_PIN_13 IOPORT_CREATE_PIN(PIOA, 9)
mbed_official 107:414e9c822e99 256 #define EXT1_PIN_14 IOPORT_CREATE_PIN(PIOA, 10)
mbed_official 107:414e9c822e99 257 #define EXT1_PIN_15 IOPORT_CREATE_PIN(PIOA, 11)
mbed_official 107:414e9c822e99 258 #define EXT1_PIN_16 IOPORT_CREATE_PIN(PIOA, 13)
mbed_official 107:414e9c822e99 259 #define EXT1_PIN_17 IOPORT_CREATE_PIN(PIOA, 12)
mbed_official 107:414e9c822e99 260 #define EXT1_PIN_18 IOPORT_CREATE_PIN(PIOA, 14)
mbed_official 107:414e9c822e99 261 /** @} */
mbed_official 107:414e9c822e99 262
mbed_official 107:414e9c822e99 263 /** \name Extension header #1 pin definitions by function
mbed_official 107:414e9c822e99 264 * @{
mbed_official 107:414e9c822e99 265 */
mbed_official 107:414e9c822e99 266 #define EXT1_PIN_ADC_0 EXT1_PIN_3
mbed_official 107:414e9c822e99 267 #define EXT1_PIN_ADC_1 EXT1_PIN_4
mbed_official 107:414e9c822e99 268 #define EXT1_PIN_GPIO_0 EXT1_PIN_5
mbed_official 107:414e9c822e99 269 #define EXT1_PIN_GPIO_1 EXT1_PIN_6
mbed_official 107:414e9c822e99 270 #define EXT1_PIN_PWM_0 EXT1_PIN_7
mbed_official 107:414e9c822e99 271 #define EXT1_PIN_PWM_1 EXT1_PIN_8
mbed_official 107:414e9c822e99 272 #define EXT1_PIN_IRQ EXT1_PIN_9
mbed_official 107:414e9c822e99 273 #define EXT1_PIN_I2C_SDA EXT1_PIN_11
mbed_official 107:414e9c822e99 274 #define EXT1_PIN_I2C_SCL EXT1_PIN_12
mbed_official 107:414e9c822e99 275 #define EXT1_PIN_UART_RX EXT1_PIN_13
mbed_official 107:414e9c822e99 276 #define EXT1_PIN_UART_TX EXT1_PIN_14
mbed_official 107:414e9c822e99 277 #define EXT1_PIN_SPI_SS_1 EXT1_PIN_10
mbed_official 107:414e9c822e99 278 #define EXT1_PIN_SPI_SS_0 EXT1_PIN_15
mbed_official 107:414e9c822e99 279 #define EXT1_PIN_SPI_MOSI EXT1_PIN_16
mbed_official 107:414e9c822e99 280 #define EXT1_PIN_SPI_MISO EXT1_PIN_17
mbed_official 107:414e9c822e99 281 #define EXT1_PIN_SPI_SCK EXT1_PIN_18
mbed_official 107:414e9c822e99 282 /** @} */
mbed_official 107:414e9c822e99 283
mbed_official 107:414e9c822e99 284 /** \name Extension header #1 ADC definitions
mbed_official 107:414e9c822e99 285 * @{
mbed_official 107:414e9c822e99 286 */
mbed_official 107:414e9c822e99 287 #define EXT1_ADC_MODULE ADC
mbed_official 107:414e9c822e99 288 #define EXT1_ADC_0_CHANNEL 0
mbed_official 107:414e9c822e99 289 #define EXT1_ADC_1_CHANNEL 1
mbed_official 107:414e9c822e99 290 /** @} */
mbed_official 107:414e9c822e99 291
mbed_official 107:414e9c822e99 292 /** \name Extension header #1 PWM definitions
mbed_official 107:414e9c822e99 293 * @{
mbed_official 107:414e9c822e99 294 */
mbed_official 107:414e9c822e99 295 #define EXT1_PWM_MODULE TC0
mbed_official 107:414e9c822e99 296 #define EXT1_PWM_0_CHANNEL 0
mbed_official 107:414e9c822e99 297 #define EXT1_PWM_0_MUX IOPORT_MODE_MUX_B
mbed_official 107:414e9c822e99 298 #define EXT1_PWM_1_CHANNEL 1
mbed_official 107:414e9c822e99 299 #define EXT1_PWM_1_MUX IOPORT_MODE_MUX_B
mbed_official 107:414e9c822e99 300 /** @} */
mbed_official 107:414e9c822e99 301
mbed_official 107:414e9c822e99 302 /** \name Extension header #1 IRQ/External interrupt definitions
mbed_official 107:414e9c822e99 303 * @{
mbed_official 107:414e9c822e99 304 */
mbed_official 107:414e9c822e99 305 #define EXT1_IRQ_MODULE SUPC
mbed_official 107:414e9c822e99 306 #define EXT1_IRQ_INPUT 11
mbed_official 107:414e9c822e99 307 /** @} */
mbed_official 107:414e9c822e99 308
mbed_official 107:414e9c822e99 309 /** \name Extension header #1 I2C definitions
mbed_official 107:414e9c822e99 310 * @{
mbed_official 107:414e9c822e99 311 */
mbed_official 107:414e9c822e99 312 #define EXT1_TWI_MODULE TWI4
mbed_official 107:414e9c822e99 313 #define EXT1_TWI_TWD_MUX IOPORT_MODE_MUX_B
mbed_official 107:414e9c822e99 314 #define EXT1_TWI_TWCK_MUX IOPORT_MODE_MUX_B
mbed_official 107:414e9c822e99 315 /** @} */
mbed_official 107:414e9c822e99 316
mbed_official 107:414e9c822e99 317 /** \name Extension header #1 UART definitions
mbed_official 107:414e9c822e99 318 * @{
mbed_official 107:414e9c822e99 319 */
mbed_official 107:414e9c822e99 320 #define EXT1_UART_MODULE USART0
mbed_official 107:414e9c822e99 321 #define EXT1_UART_RXD_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 322 #define EXT1_UART_TXD_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 323 /** @} */
mbed_official 107:414e9c822e99 324
mbed_official 107:414e9c822e99 325 /** \name Extension header #1 SPI definitions
mbed_official 107:414e9c822e99 326 * @{
mbed_official 107:414e9c822e99 327 */
mbed_official 107:414e9c822e99 328 #define EXT1_SPI_MODULE SPI5
mbed_official 107:414e9c822e99 329 #define EXT1_SPI_MISO_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 330 #define EXT1_SPI_MOSI_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 331 #define EXT1_SPI_SPCK_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 332 #define EXT1_SPI_NPCS0_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 333 /** @} */
mbed_official 107:414e9c822e99 334
mbed_official 107:414e9c822e99 335 /** \name Extension header #3 pin definitions
mbed_official 107:414e9c822e99 336 * @{
mbed_official 107:414e9c822e99 337 */
mbed_official 107:414e9c822e99 338 #define EXT3_PIN_3 IOPORT_CREATE_PIN(PIOA, 19)
mbed_official 107:414e9c822e99 339 #define EXT3_PIN_4 IOPORT_CREATE_PIN(PIOA, 20)
mbed_official 107:414e9c822e99 340 #define EXT3_PIN_5 IOPORT_CREATE_PIN(PIOA, 30)
mbed_official 107:414e9c822e99 341 #define EXT3_PIN_6 IOPORT_CREATE_PIN(PIOB, 15)
mbed_official 107:414e9c822e99 342 #define EXT3_PIN_7 IOPORT_CREATE_PIN(PIOA, 1)
mbed_official 107:414e9c822e99 343 #define EXT3_PIN_8 IOPORT_CREATE_PIN(PIOB, 13)
mbed_official 107:414e9c822e99 344 #define EXT3_PIN_9 IOPORT_CREATE_PIN(PIOB, 3)
mbed_official 107:414e9c822e99 345 #define EXT3_PIN_10 IOPORT_CREATE_PIN(PIOA, 15)
mbed_official 107:414e9c822e99 346 #define EXT3_PIN_11 IOPORT_CREATE_PIN(PIOB, 8)
mbed_official 107:414e9c822e99 347 #define EXT3_PIN_12 IOPORT_CREATE_PIN(PIOB, 9)
mbed_official 107:414e9c822e99 348 #define EXT3_PIN_13 IOPORT_CREATE_PIN(PIOB, 1)
mbed_official 107:414e9c822e99 349 #define EXT3_PIN_14 IOPORT_CREATE_PIN(PIOB, 0)
mbed_official 107:414e9c822e99 350 #define EXT3_PIN_15 IOPORT_CREATE_PIN(PIOA, 5)
mbed_official 107:414e9c822e99 351 #define EXT3_PIN_16 IOPORT_CREATE_PIN(PIOA, 13)
mbed_official 107:414e9c822e99 352 #define EXT3_PIN_17 IOPORT_CREATE_PIN(PIOA, 12)
mbed_official 107:414e9c822e99 353 #define EXT3_PIN_18 IOPORT_CREATE_PIN(PIOA, 14)
mbed_official 107:414e9c822e99 354 /** @} */
mbed_official 107:414e9c822e99 355
mbed_official 107:414e9c822e99 356 /** \name Extension header #3 pin definitions by function
mbed_official 107:414e9c822e99 357 * @{
mbed_official 107:414e9c822e99 358 */
mbed_official 107:414e9c822e99 359 #define EXT3_PIN_ADC_0 EXT3_PIN_3
mbed_official 107:414e9c822e99 360 #define EXT3_PIN_ADC_1 EXT3_PIN_4
mbed_official 107:414e9c822e99 361 #define EXT3_PIN_GPIO_0 EXT3_PIN_5
mbed_official 107:414e9c822e99 362 #define EXT3_PIN_PWM_0 EXT3_PIN_7
mbed_official 107:414e9c822e99 363 #define EXT3_PIN_IRQ EXT3_PIN_9
mbed_official 107:414e9c822e99 364 #define EXT3_PIN_I2C_SDA EXT3_PIN_11
mbed_official 107:414e9c822e99 365 #define EXT3_PIN_I2C_SCL EXT3_PIN_12
mbed_official 107:414e9c822e99 366 #define EXT3_PIN_UART_RX EXT3_PIN_13
mbed_official 107:414e9c822e99 367 #define EXT3_PIN_UART_TX EXT3_PIN_14
mbed_official 107:414e9c822e99 368 #define EXT3_PIN_SPI_SS_1 EXT3_PIN_10
mbed_official 107:414e9c822e99 369 #define EXT3_PIN_SPI_SS_0 EXT3_PIN_15
mbed_official 107:414e9c822e99 370 #define EXT3_PIN_SPI_MOSI EXT3_PIN_16
mbed_official 107:414e9c822e99 371 #define EXT3_PIN_SPI_MISO EXT3_PIN_17
mbed_official 107:414e9c822e99 372 #define EXT3_PIN_SPI_SCK EXT3_PIN_18
mbed_official 107:414e9c822e99 373 /** @} */
mbed_official 107:414e9c822e99 374
mbed_official 107:414e9c822e99 375 /** \name Extension header #3 ADC definitions
mbed_official 107:414e9c822e99 376 * @{
mbed_official 107:414e9c822e99 377 */
mbed_official 107:414e9c822e99 378 #define EXT3_ADC_MODULE ADC
mbed_official 107:414e9c822e99 379 #define EXT3_ADC_0_CHANNEL 2
mbed_official 107:414e9c822e99 380 #define EXT3_ADC_1_CHANNEL 3
mbed_official 107:414e9c822e99 381 /** @} */
mbed_official 107:414e9c822e99 382
mbed_official 107:414e9c822e99 383 /** \name Extension header #3 PWM definitions
mbed_official 107:414e9c822e99 384 * @{
mbed_official 107:414e9c822e99 385 */
mbed_official 107:414e9c822e99 386 #define EXT3_PWM_MODULE TC2
mbed_official 107:414e9c822e99 387 #define EXT3_PWM_0_CHANNEL 0
mbed_official 107:414e9c822e99 388 #define EXT3_PWM_0_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 389 /** @} */
mbed_official 107:414e9c822e99 390
mbed_official 107:414e9c822e99 391 /** \name Extension header #3 IRQ/External interrupt definitions
mbed_official 107:414e9c822e99 392 * @{
mbed_official 107:414e9c822e99 393 */
mbed_official 107:414e9c822e99 394 #define EXT3_IRQ_MODULE SUPC
mbed_official 107:414e9c822e99 395 #define EXT3_IRQ_INPUT 10
mbed_official 107:414e9c822e99 396 /** @} */
mbed_official 107:414e9c822e99 397
mbed_official 107:414e9c822e99 398 /** \name Extension header #3 I2C definitions
mbed_official 107:414e9c822e99 399 * @{
mbed_official 107:414e9c822e99 400 */
mbed_official 107:414e9c822e99 401 #define EXT3_TWI_MODULE TWI1
mbed_official 107:414e9c822e99 402 #define EXT3_TWI_TWD_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 403 #define EXT3_TWI_TWCK_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 404 /** @} */
mbed_official 107:414e9c822e99 405
mbed_official 107:414e9c822e99 406 /** \name Extension header #3 UART definitions
mbed_official 107:414e9c822e99 407 * @{
mbed_official 107:414e9c822e99 408 */
mbed_official 107:414e9c822e99 409 #define EXT3_UART_MODULE UART0
mbed_official 107:414e9c822e99 410 #define EXT3_UART_RXD_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 411 #define EXT3_UART_TXD_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 412 /** @} */
mbed_official 107:414e9c822e99 413
mbed_official 107:414e9c822e99 414 /** \name Extension header #3 SPI definitions
mbed_official 107:414e9c822e99 415 * @{
mbed_official 107:414e9c822e99 416 */
mbed_official 107:414e9c822e99 417 #define EXT3_SPI_MODULE SPI5
mbed_official 107:414e9c822e99 418 #define EXT3_SPI_MISO_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 419 #define EXT3_SPI_MOSI_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 420 #define EXT3_SPI_SPCK_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 421 #define EXT3_SPI_NPCS1_MUX IOPORT_MODE_MUX_B
mbed_official 107:414e9c822e99 422 /** @} */
mbed_official 107:414e9c822e99 423
mbed_official 107:414e9c822e99 424 /** \name Extension header #4 pin definitions
mbed_official 107:414e9c822e99 425 * @{
mbed_official 107:414e9c822e99 426 */
mbed_official 107:414e9c822e99 427 #define EXT4_PIN_5 IOPORT_CREATE_PIN(PIOA, 31)
mbed_official 107:414e9c822e99 428 #define EXT4_PIN_9 IOPORT_CREATE_PIN(PIOB, 14)
mbed_official 107:414e9c822e99 429 #define EXT4_PIN_11 IOPORT_CREATE_PIN(PIOB, 10)
mbed_official 107:414e9c822e99 430 #define EXT4_PIN_12 IOPORT_CREATE_PIN(PIOB, 11)
mbed_official 107:414e9c822e99 431 /** @} */
mbed_official 107:414e9c822e99 432
mbed_official 107:414e9c822e99 433 /** \name Extension header #4 pin definitions by function
mbed_official 107:414e9c822e99 434 * @{
mbed_official 107:414e9c822e99 435 */
mbed_official 107:414e9c822e99 436 #define EXT4_PIN_GPIO_0 EXT3_PIN_5
mbed_official 107:414e9c822e99 437 #define EXT4_PIN_IRQ EXT3_PIN_9
mbed_official 107:414e9c822e99 438 #define EXT4_PIN_I2C_SDA EXT3_PIN_11
mbed_official 107:414e9c822e99 439 #define EXT4_PIN_I2C_SCL EXT3_PIN_12
mbed_official 107:414e9c822e99 440 /** @} */
mbed_official 107:414e9c822e99 441
mbed_official 107:414e9c822e99 442 /** \name Extension header #4 IRQ/External interrupt definitions
mbed_official 107:414e9c822e99 443 * @{
mbed_official 107:414e9c822e99 444 */
mbed_official 107:414e9c822e99 445 #define EXT4_IRQ_MODULE SUPC
mbed_official 107:414e9c822e99 446 #define EXT4_IRQ_INPUT 14
mbed_official 107:414e9c822e99 447 /** @} */
mbed_official 107:414e9c822e99 448
mbed_official 107:414e9c822e99 449 /** \name Extension header #4 TWI definitions
mbed_official 107:414e9c822e99 450 * @{
mbed_official 107:414e9c822e99 451 */
mbed_official 107:414e9c822e99 452 #define EXT4_TWI_MODULE TWI1
mbed_official 107:414e9c822e99 453 #define EXT4_TWI_TWD_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 454 #define EXT4_TWI_TWCK_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 455 /** @} */
mbed_official 107:414e9c822e99 456
mbed_official 107:414e9c822e99 457 /** \name Embedded debugger GPIO interface definitions
mbed_official 107:414e9c822e99 458 * @{
mbed_official 107:414e9c822e99 459 */
mbed_official 107:414e9c822e99 460 #define EDBG_GPIO0_PIN IOPORT_CREATE_PIN(PIOA, 15)
mbed_official 107:414e9c822e99 461 #define EDBG_GPIO1_PIN IOPORT_CREATE_PIN(PIOB, 3)
mbed_official 107:414e9c822e99 462 #define EDBG_GPIO2_PIN IOPORT_CREATE_PIN(PIOB, 4)
mbed_official 107:414e9c822e99 463 #define EDBG_GPIO3_PIN IOPROT_CREATE_PIN(PIOB, 9)
mbed_official 107:414e9c822e99 464 /** @} */
mbed_official 107:414e9c822e99 465
mbed_official 107:414e9c822e99 466 /** \name Embedded debugger USART interface definitions
mbed_official 107:414e9c822e99 467 * @{
mbed_official 107:414e9c822e99 468 */
mbed_official 107:414e9c822e99 469 #define EDBG_UART_MODULE USART
mbed_official 107:414e9c822e99 470 #define EDBG_UART_RX_PIN IOPORT_CREATE_PIN(PIOA, 5)
mbed_official 107:414e9c822e99 471 #define EDBG_UART_RX_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 472 #define EDBG_UART_TX_PIN IOPORT_CREATE_PIN(PIOA, 6)
mbed_official 107:414e9c822e99 473 #define EDBG_UART_TX_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 474 /** @} */
mbed_official 107:414e9c822e99 475
mbed_official 107:414e9c822e99 476 /** \name Embedded debugger I2C interface definitions
mbed_official 107:414e9c822e99 477 * @{
mbed_official 107:414e9c822e99 478 */
mbed_official 107:414e9c822e99 479 #define EDBG_TWI_MODULE TWI1
mbed_official 107:414e9c822e99 480 #define EDBG_TWI_TWD_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 481 #define EDBG_TWI_TWCK_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 482 /** @} */
mbed_official 107:414e9c822e99 483
mbed_official 107:414e9c822e99 484 /** \name Embedded debugger CDC Gateway USART interface definitions
mbed_official 107:414e9c822e99 485 * @{
mbed_official 107:414e9c822e99 486 */
mbed_official 107:414e9c822e99 487 #define EDBG_CDC_UART_MODULE UART0
mbed_official 107:414e9c822e99 488 #define EDBG_CDC_UART_RX_PIN IOPORT_CREATE_PIN(PIOA, 9)
mbed_official 107:414e9c822e99 489 #define EDBG_CDC_UART_RX_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 490 #define EDBG_CDC_UART_TX_PIN IOPORT_CREATE_PIN(PIOA, 10)
mbed_official 107:414e9c822e99 491 #define EDBG_CDC_UART_TX_MUX IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 492 /** @} */
mbed_official 107:414e9c822e99 493
mbed_official 107:414e9c822e99 494 //! \name OLED
mbed_official 107:414e9c822e99 495 //@{
mbed_official 107:414e9c822e99 496 /** OLED command/data select pin */
mbed_official 107:414e9c822e99 497 #define UG_2832HSWEG04_DATA_CMD_GPIO (PIO_PA30_IDX)
mbed_official 107:414e9c822e99 498 /** OLED reset pin */
mbed_official 107:414e9c822e99 499 #define UG_2832HSWEG04_RESET_GPIO (PIO_PA15_IDX)
mbed_official 107:414e9c822e99 500 /** OLED SPI configuration */
mbed_official 107:414e9c822e99 501 #define UG_2832HSWEG04_SS 1
mbed_official 107:414e9c822e99 502 #define UG_2832HSWEG04_BAUDRATE 5000000
mbed_official 107:414e9c822e99 503 //! \name OLED dimensions
mbed_official 107:414e9c822e99 504 //@{
mbed_official 107:414e9c822e99 505 #define LCD_WIDTH_PIXELS (128)
mbed_official 107:414e9c822e99 506 #define LCD_HEIGHT_PIXELS (32)
mbed_official 107:414e9c822e99 507 //@}
mbed_official 107:414e9c822e99 508 //@}
mbed_official 107:414e9c822e99 509
mbed_official 107:414e9c822e99 510 /** \name TWI
mbed_official 107:414e9c822e99 511 * @{
mbed_official 107:414e9c822e99 512 */
mbed_official 107:414e9c822e99 513 /** TWI0 pin definitions */
mbed_official 107:414e9c822e99 514 #define TWI0_DATA_GPIO PIO_PA9_IDX
mbed_official 107:414e9c822e99 515 #define TWI0_DATA_FLAGS IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 516 #define TWI0_CLK_GPIO PIO_PA10_IDX
mbed_official 107:414e9c822e99 517 #define TWI0_CLK_FLAGS IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 518 /** TWI1 pin definitions */
mbed_official 107:414e9c822e99 519 #define TWI1_DATA_GPIO PIO_PB2_IDX
mbed_official 107:414e9c822e99 520 #define TWI1_DATA_FLAGS IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 521 #define TWI1_CLK_GPIO PIO_PB3_IDX
mbed_official 107:414e9c822e99 522 #define TWI1_CLK_FLAGS IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 523 /** TWI4 pin definitions */
mbed_official 107:414e9c822e99 524 #define TWI4_DATA_GPIO EXT1_PIN_11
mbed_official 107:414e9c822e99 525 #define TWI4_DATA_FLAGS IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 526 #define TWI4_CLK_GPIO EXT1_PIN_12
mbed_official 107:414e9c822e99 527 #define TWI4_CLK_FLAGS IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 528 /** TWI6 pin definitions */
mbed_official 107:414e9c822e99 529 #define TWI6_DATA_GPIO EXT3_PIN_11
mbed_official 107:414e9c822e99 530 #define TWI6_DATA_FLAGS IOPORT_MODE_MUX_B
mbed_official 107:414e9c822e99 531 #define TWI6_CLK_GPIO EXT3_PIN_12
mbed_official 107:414e9c822e99 532 #define TWI6_CLK_FLAGS IOPORT_MODE_MUX_B
mbed_official 107:414e9c822e99 533 /** @} */
mbed_official 107:414e9c822e99 534
mbed_official 107:414e9c822e99 535 /** \name USART
mbed_official 107:414e9c822e99 536 * @{
mbed_official 107:414e9c822e99 537 */
mbed_official 107:414e9c822e99 538 /** USART0 pin definitions */
mbed_official 107:414e9c822e99 539 #define USART0_RXD_GPIO EXT1_PIN_13
mbed_official 107:414e9c822e99 540 #define USART0_RXD_FLAGS IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 541 #define USART0_TXD_GPIO EXT1_PIN_14
mbed_official 107:414e9c822e99 542 #define USART0_TXD_FLAGS IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 543 #define USART0_SCK_GPIO EXT3_PIN_14
mbed_official 107:414e9c822e99 544 #define USART0_SCK_FLAGS IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 545 #define USART0_CTS_GPIO EXT1_PIN_6
mbed_official 107:414e9c822e99 546 #define USART0_CTS_FLAGS IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 547 #define USART0_RTS_GPIO EXT1_PIN_5
mbed_official 107:414e9c822e99 548 #define USART0_RTS_FLAGS IOPORT_MODE_MUX_A
mbed_official 107:414e9c822e99 549
mbed_official 107:414e9c822e99 550 /** USART6 pin definitions */
mbed_official 107:414e9c822e99 551 #define USART6_RXD_GPIO EXT4_PIN_12
mbed_official 107:414e9c822e99 552 #define USART6_RXD_FLAGS IOPORT_MODE_MUX_B
mbed_official 107:414e9c822e99 553 #define USART6_TXD_GPIO EXT4_PIN_11
mbed_official 107:414e9c822e99 554 #define USART6_TXD_FLAGS IOPORT_MODE_MUX_B
mbed_official 107:414e9c822e99 555 #define USART6_SCK_GPIO EXT3_PIN_8
mbed_official 107:414e9c822e99 556 #define USART6_SCK_FLAGS IOPORT_MODE_MUX_B
mbed_official 107:414e9c822e99 557 #define USART6_CTS_GPIO EXT4_PIN_9
mbed_official 107:414e9c822e99 558 #define USART6_CTS_FLAGS IOPORT_MODE_MUX_B
mbed_official 107:414e9c822e99 559 #define USART6_RTS_GPIO EXT3_PIN_6
mbed_official 107:414e9c822e99 560 #define USART6_RTS_FLAGS IOPORT_MODE_MUX_B
mbed_official 107:414e9c822e99 561 /** @} */
mbed_official 107:414e9c822e99 562
mbed_official 107:414e9c822e99 563 //! \name I2S0
mbed_official 107:414e9c822e99 564 //@{
mbed_official 107:414e9c822e99 565 /** I2S0 SCK pin definition. */
mbed_official 107:414e9c822e99 566 #define I2S0_SCK_GPIO (PIO_PA0_IDX)
mbed_official 107:414e9c822e99 567 #define I2S0_SCK_FLAGS (IOPORT_MODE_MUX_A)
mbed_official 107:414e9c822e99 568 /** I2S0 MCK pin definition. */
mbed_official 107:414e9c822e99 569 #define I2S0_MCK_GPIO (PIO_PA4_IDX)
mbed_official 107:414e9c822e99 570 #define I2S0_MCK_FLAGS (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 571 /** I2S0 SDI pin definition. */
mbed_official 107:414e9c822e99 572 #define I2S0_SDI_GPIO (PIO_PA2_IDX)
mbed_official 107:414e9c822e99 573 #define I2S0_SDI_FLAGS (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 574 /** I2S0 SDO pin definition. */
mbed_official 107:414e9c822e99 575 #define I2S0_SDO_GPIO (PIO_PA3_IDX)
mbed_official 107:414e9c822e99 576 #define I2S0_SDO_FLAGS (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 577 /** I2S0 WS pin definition. */
mbed_official 107:414e9c822e99 578 #define I2S0_WS_GPIO (PIO_PA1_IDX)
mbed_official 107:414e9c822e99 579 #define I2S0_WS_FLAGS (IOPORT_MODE_MUX_A)
mbed_official 107:414e9c822e99 580 //@}
mbed_official 107:414e9c822e99 581
mbed_official 107:414e9c822e99 582 //! \name I2S1
mbed_official 107:414e9c822e99 583 //@{
mbed_official 107:414e9c822e99 584 /** I2S1 SCK pin definition. */
mbed_official 107:414e9c822e99 585 #define I2S1_SCK_GPIO (PIO_PA19_IDX)
mbed_official 107:414e9c822e99 586 #define I2S1_SCK_FLAGS (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 587 /** I2S1 MCK pin definition. */
mbed_official 107:414e9c822e99 588 #define I2S1_MCK_GPIO (PIO_PA24_IDX)
mbed_official 107:414e9c822e99 589 #define I2S1_MCK_FLAGS (IOPORT_MODE_MUX_A)
mbed_official 107:414e9c822e99 590 /** I2S1 SDI pin definition. */
mbed_official 107:414e9c822e99 591 #define I2S1_SDI_GPIO (PIO_PA22_IDX)
mbed_official 107:414e9c822e99 592 #define I2S1_SDI_FLAGS (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 593 /** I2S1 SDO pin definition. */
mbed_official 107:414e9c822e99 594 #define I2S1_SDO_GPIO (PIO_PA23_IDX)
mbed_official 107:414e9c822e99 595 #define I2S1_SDO_FLAGS (IOPORT_MODE_MUX_A)
mbed_official 107:414e9c822e99 596 /** I2S1 WS pin definition. */
mbed_official 107:414e9c822e99 597 #define I2S1_WS_GPIO (PIO_PA20_IDX)
mbed_official 107:414e9c822e99 598 #define I2S1_WS_FLAGS (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 599 //@}
mbed_official 107:414e9c822e99 600
mbed_official 107:414e9c822e99 601 //! \name IO1 button definitions */
mbed_official 107:414e9c822e99 602 //@{
mbed_official 107:414e9c822e99 603 /** Push button #1 definition. Attributes = pull-up + debounce + interrupt on rising edge. */
mbed_official 107:414e9c822e99 604 #define PUSHBUTTON_1_NAME "SW0"
mbed_official 107:414e9c822e99 605 #define GPIO_PUSH_BUTTON_1 (PIO_PA2_IDX)
mbed_official 107:414e9c822e99 606 #define GPIO_PUSH_BUTTON_1_FLAGS (PIO_INPUT | PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE)
mbed_official 107:414e9c822e99 607 //@}
mbed_official 107:414e9c822e99 608
mbed_official 107:414e9c822e99 609 //! \name Light Sensor
mbed_official 107:414e9c822e99 610 //@{
mbed_official 107:414e9c822e99 611 #define LIGHT_SENSOR_GPIO PIO_PA17_IDX
mbed_official 107:414e9c822e99 612 #define LIGHT_SENSOR_FLAGS PIO_INPUT
mbed_official 107:414e9c822e99 613 //@}
mbed_official 107:414e9c822e99 614
mbed_official 107:414e9c822e99 615 /** \name USB definitions
mbed_official 107:414e9c822e99 616 * @{
mbed_official 107:414e9c822e99 617 */
mbed_official 107:414e9c822e99 618 #define PIN_USB_VBUS {PIO_PB4, PIOB, ID_PIOB, PIO_INPUT, PIO_PULLUP}
mbed_official 107:414e9c822e99 619 #define USB_VBUS_FLAGS (PIO_INPUT | PIO_DEBOUNCE | PIO_IT_EDGE)
mbed_official 107:414e9c822e99 620 #define USB_VBUS_PIN_IRQn (PIOB_IRQn)
mbed_official 107:414e9c822e99 621 #define USB_VBUS_PIN (PIO_PB4_IDX)
mbed_official 107:414e9c822e99 622 #define USB_VBUS_PIO_ID (ID_PIOB)
mbed_official 107:414e9c822e99 623 #define USB_VBUS_PIO_MASK (PIO_PB4)
mbed_official 107:414e9c822e99 624
mbed_official 107:414e9c822e99 625 /** USB D- pin (System function) */
mbed_official 107:414e9c822e99 626 #define PIN_USB_DM {PIO_PA21}
mbed_official 107:414e9c822e99 627 /** USB D+ pin (System function) */
mbed_official 107:414e9c822e99 628 #define PIN_USB_DP {PIO_PA22}
mbed_official 107:414e9c822e99 629 /** @} */
mbed_official 107:414e9c822e99 630
mbed_official 107:414e9c822e99 631 //! \name IO1 SD card definitions */
mbed_official 107:414e9c822e99 632 //@{
mbed_official 107:414e9c822e99 633 #define SD_MMC_SPI_MEM_CNT 1
mbed_official 107:414e9c822e99 634 #define SD_MMC_0_CD_GPIO (PIO_PA29_IDX)
mbed_official 107:414e9c822e99 635 #define SD_MMC_0_CD_DIR (IOPORT_DIR_INPUT)
mbed_official 107:414e9c822e99 636 #define SD_MMC_0_CD_MODE (IOPORT_MODE_PULLUP)
mbed_official 107:414e9c822e99 637 #define SD_MMC_0_CD_DETECT_VALUE 0
mbed_official 107:414e9c822e99 638 #define SD_MMC_SPI SPI5
mbed_official 107:414e9c822e99 639 #define SD_MMC_SPI_0_CS 0
mbed_official 107:414e9c822e99 640 #define SD_MMC_0_CD_PIO_ID ID_PIOA
mbed_official 107:414e9c822e99 641 /**
mbed_official 107:414e9c822e99 642 * Wrapper macros for IO1 SD, to ensure common naming across all Xplained Pro
mbed_official 107:414e9c822e99 643 * boards.
mbed_official 107:414e9c822e99 644 */
mbed_official 107:414e9c822e99 645 #define SD_MMC_0_CD_FLAGS (PIO_INPUT | PIO_PULLUP)
mbed_official 107:414e9c822e99 646 #define SD_MMC_0_CD {PIO_PA29, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE}
mbed_official 107:414e9c822e99 647 #define SD_MMC_0_CD_MASK PIO_PA29
mbed_official 107:414e9c822e99 648 #define SD_MMC_0_CD_PIO PIOA
mbed_official 107:414e9c822e99 649 #define SD_MMC_0_CD_ID ID_PIOA
mbed_official 107:414e9c822e99 650 #define SD_MMC_0_CD_TYPE PIO_INPUT
mbed_official 107:414e9c822e99 651 #define SD_MMC_0_CD_ATTR (PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_EDGE)
mbed_official 107:414e9c822e99 652 //@}
mbed_official 107:414e9c822e99 653
mbed_official 107:414e9c822e99 654 //! \name IO1 temperature sensor definitions */
mbed_official 107:414e9c822e99 655 //@{
mbed_official 107:414e9c822e99 656 #define BOARD_AT30TSE_TWI TWI4
mbed_official 107:414e9c822e99 657 #define BOARD_AT30TSE_TWI_ID ID_TWI4
mbed_official 107:414e9c822e99 658 #define BOARD_TWI_SPEED (400000u)
mbed_official 107:414e9c822e99 659 #define BOARD_USING_AT30TSE AT30TSE758
mbed_official 107:414e9c822e99 660 #define BOARD_AT30TSE_DEVICE_ADDR 0x07
mbed_official 107:414e9c822e99 661 //@}
mbed_official 107:414e9c822e99 662
mbed_official 107:414e9c822e99 663 //! \name OLED1 led definitions */
mbed_official 107:414e9c822e99 664 //@{
mbed_official 107:414e9c822e99 665 #define OLED1_LED1_PIN EXT3_PIN_7
mbed_official 107:414e9c822e99 666 #define OLED1_LED1_ACTIVE false
mbed_official 107:414e9c822e99 667 #define OLED1_LED1_INACTIVE !OLED1_LED1_ACTIVE
mbed_official 107:414e9c822e99 668
mbed_official 107:414e9c822e99 669 #define OLED1_LED2_PIN EXT3_PIN_8
mbed_official 107:414e9c822e99 670 #define OLED1_LED2_ACTIVE false
mbed_official 107:414e9c822e99 671 #define OLED1_LED2_INACTIVE !OLED1_LED2_ACTIVE
mbed_official 107:414e9c822e99 672
mbed_official 107:414e9c822e99 673 #define OLED1_LED3_PIN EXT3_PIN_6
mbed_official 107:414e9c822e99 674 #define OLED1_LED3_ACTIVE false
mbed_official 107:414e9c822e99 675 #define OLED1_LED3_INACTIVE !OLED1_LED3_ACTIVE
mbed_official 107:414e9c822e99 676 //@}
mbed_official 107:414e9c822e99 677
mbed_official 107:414e9c822e99 678 //! \name OLED1 button definitions */
mbed_official 107:414e9c822e99 679 //@{
mbed_official 107:414e9c822e99 680 /** Push button #1 definition. Attributes = pull-up + debounce + interrupt on rising edge. */
mbed_official 107:414e9c822e99 681 #define OLED1_PUSHBUTTON_1_NAME "BUTTON 1"
mbed_official 107:414e9c822e99 682 #define OLED1_GPIO_PUSH_BUTTON_1 (PIO_PB3_IDX)
mbed_official 107:414e9c822e99 683 #define OLED1_GPIO_PUSH_BUTTON_1_FLAGS (PIO_INPUT | PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE)
mbed_official 107:414e9c822e99 684
mbed_official 107:414e9c822e99 685 #define OLED1_PIN_PUSHBUTTON_1 {PIO_PB3, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE}
mbed_official 107:414e9c822e99 686 #define OLED1_PIN_PUSHBUTTON_1_MASK PIO_PB3
mbed_official 107:414e9c822e99 687 #define OLED1_PIN_PUSHBUTTON_1_PIO PIOB
mbed_official 107:414e9c822e99 688 #define OLED1_PIN_PUSHBUTTON_1_ID ID_PIOB
mbed_official 107:414e9c822e99 689 #define OLED1_PIN_PUSHBUTTON_1_TYPE PIO_INPUT
mbed_official 107:414e9c822e99 690 #define OLED1_PIN_PUSHBUTTON_1_ATTR (PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE)
mbed_official 107:414e9c822e99 691
mbed_official 107:414e9c822e99 692 /** Push button #2 definition. Attributes = pull-up + debounce + interrupt on rising edge. */
mbed_official 107:414e9c822e99 693 #define OLED1_PUSHBUTTON_2_NAME "BUTTON 2"
mbed_official 107:414e9c822e99 694 #define OLED1_GPIO_PUSH_BUTTON_2 (PIO_PA19_IDX)
mbed_official 107:414e9c822e99 695 #define OLED1_GPIO_PUSH_BUTTON_2_FLAGS (PIO_INPUT | PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE)
mbed_official 107:414e9c822e99 696
mbed_official 107:414e9c822e99 697 #define OLED1_PIN_PUSHBUTTON_2 {PIO_PA19, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE}
mbed_official 107:414e9c822e99 698 #define OLED1_PIN_PUSHBUTTON_2_MASK PIO_PA19
mbed_official 107:414e9c822e99 699 #define OLED1_PIN_PUSHBUTTON_2_PIO PIOA
mbed_official 107:414e9c822e99 700 #define OLED1_PIN_PUSHBUTTON_2_ID ID_PIOA
mbed_official 107:414e9c822e99 701 #define OLED1_PIN_PUSHBUTTON_2_TYPE PIO_INPUT
mbed_official 107:414e9c822e99 702 #define OLED1_PIN_PUSHBUTTON_2_ATTR (PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE)
mbed_official 107:414e9c822e99 703
mbed_official 107:414e9c822e99 704 /** Push button #3 definition. Attributes = pull-up + debounce + interrupt on rising edge. */
mbed_official 107:414e9c822e99 705 #define OLED1_PUSHBUTTON_3_NAME "BUTTON 3"
mbed_official 107:414e9c822e99 706 #define OLED1_GPIO_PUSH_BUTTON_3 (PIO_PA20_IDX)
mbed_official 107:414e9c822e99 707 #define OLED1_GPIO_PUSH_BUTTON_3_FLAGS (PIO_INPUT | PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE)
mbed_official 107:414e9c822e99 708
mbed_official 107:414e9c822e99 709 #define OLED1_PIN_PUSHBUTTON_3 {PIO_PA20, PIOA, ID_PIOA, PIO_INPUT, PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE}
mbed_official 107:414e9c822e99 710 #define OLED1_PIN_PUSHBUTTON_3_MASK PIO_PA20
mbed_official 107:414e9c822e99 711 #define OLED1_PIN_PUSHBUTTON_3_PIO PIOA
mbed_official 107:414e9c822e99 712 #define OLED1_PIN_PUSHBUTTON_3_ID ID_PIOA
mbed_official 107:414e9c822e99 713 #define OLED1_PIN_PUSHBUTTON_3_TYPE PIO_INPUT
mbed_official 107:414e9c822e99 714 #define OLED1_PIN_PUSHBUTTON_3_ATTR (PIO_PULLUP | PIO_DEBOUNCE | PIO_IT_RISE_EDGE)
mbed_official 107:414e9c822e99 715 //@}
mbed_official 107:414e9c822e99 716
mbed_official 107:414e9c822e99 717 //! \name PDM
mbed_official 107:414e9c822e99 718 //@{
mbed_official 107:414e9c822e99 719 /** PDM CLK pin definition. */
mbed_official 107:414e9c822e99 720 #define PDM_CLK_GPIO (PIO_PA10_IDX)
mbed_official 107:414e9c822e99 721 #define PDM_CLK_FLAGS (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 722 /** PDM DAT pin definition. */
mbed_official 107:414e9c822e99 723 #define PDM_DAT_GPIO (PIO_PA9_IDX)
mbed_official 107:414e9c822e99 724 #define PDM_DAT_FLAGS (IOPORT_MODE_MUX_B)
mbed_official 107:414e9c822e99 725 //@}
mbed_official 107:414e9c822e99 726
mbed_official 107:414e9c822e99 727 /** @} */
mbed_official 107:414e9c822e99 728
mbed_official 107:414e9c822e99 729 /** @} */
mbed_official 107:414e9c822e99 730
mbed_official 107:414e9c822e99 731 #endif /* SAMG55_XPLAINED_PRO_H_INCLUDED */