1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

boards/samr34-xpro: add doc.txt

This commit is contained in:
Benjamin Valentin 2022-01-26 18:43:17 +01:00
parent 07a4756242
commit b67de309a4
2 changed files with 65 additions and 27 deletions

View File

@ -0,0 +1,40 @@
/**
@defgroup boards_samr34-xpro Microchip SAM R34 Xplained Pro
@ingroup boards
@brief Support for the Microchip SAM R34 Xplained Pro and WLR089 Xplained Pro
## Overview
The `SAMR34 Xplained Pro` is a compact evaluation board by Microchip featuring a
SAMR34J18 SoC. The SoC includes a SAML21 ARM Cortex-M0+ micro-controller
bundled with Semtech's SX1276, a 868/915 MHz LoRa compatible radio.
For programming the MCU comes with 40Kb of RAM and 256Kb of flash memory.
## Hardware
![samr34-xpro image](https://www.microchip.com/content/dam/mchp/mrt-dam/devtools/3072-180605-wpd-dm320111-2.jpg)
An evaluation board for the radio certified WLR089 module exists as the WLR089 Xplained Pro, it is compatible with the `samr34-xpro`.
![wlr089-xpro](https://www.microchip.com/content/dam/mchp/mrt-dam/devtools/3411-264438-1598368489-c14679-200616-wsg-ev23m25a-wlr089-explained-pro-evaluation-board.jpg)
### MCU
| MCU | SAMR34J18B |
|:---------- |:--------------------- |
| Family | ARM Cortex-M0+ |
| Vendor | Atmel |
| RAM | 32 kiB + 8 kiB battery RAM |
| Flash | 256 KiB |
| Frequency | up to 48MHz |
| FPU | no |
| Timers | 6 (3xTC (8,16,32 bit), 3xTCC (16 bit)) |
| ADCs | 1x 12-bit (8 channels)|
| UARTs | max 5 (shared with SPI and I2C) |
| SPIs | max 5 (see UART) |
| I2Cs | max 5 (see UART) |
| Vcc | 1.8V - 3.6V |
| Datasheet | [Datasheet](https://ww1.microchip.com/downloads/en/DeviceDoc/SAMR34-R35-Low-Power-LoRa-Sub-GHz-SiP-Data-Sheet-DS70005356B.pdf) |
| Board Manual | [SAM R34 XPro](https://www.microchip.com/en-us/development-tool/DM320111)<br>[WLR089 XPro](https://www.microchip.com/en-us/development-tool/EV23M25A)|
*/

View File

@ -7,9 +7,7 @@
*/
/**
* @defgroup boards_samr34-xpro Microchip SAM R34 Xplained Pro
* @ingroup boards
* @brief Support for the Microchip SAM R34 Xplained Pro board.
* @ingroup boards_samr34-xpro
* @{
*
* @file
@ -32,50 +30,50 @@ extern "C" {
* @name Semtech SX1276 configuration
* @{
*/
#define SX127X_PARAM_SPI (SPI_DEV(0))
#define SX127X_PARAM_SPI_NSS GPIO_PIN(1, 31) /* D10 */
#define SX127X_PARAM_RESET GPIO_PIN(1, 15) /* A0 */
#define SX127X_PARAM_DIO0 GPIO_PIN(1, 16) /* D2 */
#define SX127X_PARAM_DIO1 GPIO_PIN(0, 11) /* D3 */
#define SX127X_PARAM_DIO2 GPIO_PIN(0, 12) /* D4 */
#define SX127X_PARAM_DIO3 GPIO_PIN(1, 17) /* D5 */
#define SX127X_PARAM_PASELECT (SX127X_PA_RFO)
#define SX127X_PARAM_SPI SPI_DEV(0) /**< internal SPI */
#define SX127X_PARAM_SPI_NSS GPIO_PIN(1, 31) /**< D10 */
#define SX127X_PARAM_RESET GPIO_PIN(1, 15) /**< A0 */
#define SX127X_PARAM_DIO0 GPIO_PIN(1, 16) /**< D2 */
#define SX127X_PARAM_DIO1 GPIO_PIN(0, 11) /**< D3 */
#define SX127X_PARAM_DIO2 GPIO_PIN(0, 12) /**< D4 */
#define SX127X_PARAM_DIO3 GPIO_PIN(1, 17) /**< D5 */
#define SX127X_PARAM_PASELECT SX127X_PA_RFO /**< no boost */
/** @}*/
/**
* @name Board specific configuration
* @{
*/
#define TCXO_PWR_PIN GPIO_PIN(PA, 9)
#define TX_OUTPUT_SEL_PIN GPIO_PIN(PA, 13)
#define TCXO_PWR_PIN GPIO_PIN(PA, 9) /**< 32 MHz oscillator for radio enable */
#define TX_OUTPUT_SEL_PIN GPIO_PIN(PA, 13) /**< BAND_SEL */
/** @}*/
/**
* @name LED pin definitions and handlers
* @{
*/
#define LED_PORT PORT->Group[0]
#define LED_PORT PORT->Group[0] /**< GPIO port */
#define LED0_PIN GPIO_PIN(PA, 18)
#define LED0_MASK (1 << 18)
#define LED0_ON (LED_PORT.OUTCLR.reg = LED0_MASK)
#define LED0_OFF (LED_PORT.OUTSET.reg = LED0_MASK)
#define LED0_TOGGLE (LED_PORT.OUTTGL.reg = LED0_MASK)
#define LED0_PIN GPIO_PIN(PA, 18) /**< GPIO pin */
#define LED0_MASK (1 << 18) /**< GPIO pin mask */
#define LED0_ON (LED_PORT.OUTCLR.reg = LED0_MASK) /**< enable LED */
#define LED0_OFF (LED_PORT.OUTSET.reg = LED0_MASK) /**< disable LED */
#define LED0_TOGGLE (LED_PORT.OUTTGL.reg = LED0_MASK) /**< toggle LED */
#define LED1_PIN GPIO_PIN(PA, 19)
#define LED1_MASK (1 << 19)
#define LED1_ON (LED_PORT.OUTCLR.reg = LED1_MASK)
#define LED1_OFF (LED_PORT.OUTSET.reg = LED1_MASK)
#define LED1_TOGGLE (LED_PORT.OUTTGL.reg = LED1_MASK)
#define LED1_PIN GPIO_PIN(PA, 19) /**< GPIO pin */
#define LED1_MASK (1 << 19) /**< GPIO pin mask */
#define LED1_ON (LED_PORT.OUTCLR.reg = LED1_MASK) /**< enable LED */
#define LED1_OFF (LED_PORT.OUTSET.reg = LED1_MASK) /**< disable LED */
#define LED1_TOGGLE (LED_PORT.OUTTGL.reg = LED1_MASK) /**< toggle LED */
/** @} */
/**
* @name BTN0 (SW0 Button) pin definitions
* @{
*/
#define BTN0_PORT PORT->Group[0]
#define BTN0_PIN GPIO_PIN(PA, 28)
#define BTN0_MODE GPIO_IN_PU
#define BTN0_PORT PORT->Group[0] /**< GPIO port */
#define BTN0_PIN GPIO_PIN(PA, 28) /**< GPIO pin */
#define BTN0_MODE GPIO_IN_PU /**< Pull Up GPIO */
/** @} */
/**