board.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2024 TU Dresden
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
20 #include "cpu.h"
21 #include "board_common.h"
22 #include "periph/gpio.h"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
34 #define LED0_PIN GPIO_PIN(0, 26)
35 #define LED1_PIN GPIO_PIN(0, 30)
36 #define LED2_PIN GPIO_PIN(0, 6)
38 #define LED_PORT (NRF_P0)
39 #define LED0_MASK (1 << 26)
40 #define LED1_MASK (1 << 30)
41 #define LED2_MASK (1 << 6)
42 #define LED_MASK (LED0_MASK | LED1_MASK | LED2_MASK)
45 #define LED0_ON (LED_PORT->OUTCLR = LED0_MASK)
46 #define LED0_OFF (LED_PORT->OUTSET = LED0_MASK)
47 #define LED0_TOGGLE (LED_PORT->OUT ^= LED0_MASK)
49 #define LED1_ON (LED_PORT->OUTCLR = LED1_MASK)
50 #define LED1_OFF (LED_PORT->OUTSET = LED1_MASK)
51 #define LED1_TOGGLE (LED_PORT->OUT ^= LED1_MASK)
53 #define LED2_ON (LED_PORT->OUTCLR = LED2_MASK)
54 #define LED2_OFF (LED_PORT->OUTSET = LED2_MASK)
55 #define LED2_TOGGLE (LED_PORT->OUT ^= LED2_MASK)
67 #define XIAO_NRF52840_NOR_PAGE_SIZE (256)
68 #define XIAO_NRF52840_NOR_PAGES_PER_SECTOR (16)
69 #define XIAO_NRF52840_NOR_SECTOR_COUNT (512)
70 #define XIAO_NRF52840_NOR_FLAGS \
71  (SPI_NOR_F_SECT_4K | \
72  SPI_NOR_F_SECT_32K | \
73  SPI_NOR_F_SECT_64K)
74 #define XIAO_NRF52840_NOR_SPI_DEV SPI_DEV(1)
75 #define XIAO_NRF52840_NOR_SPI_CLK SPI_CLK_10MHZ
76 #define XIAO_NRF52840_NOR_SPI_CS GPIO_PIN(0, 25)
77 #define XIAO_NRF52840_NOR_SPI_WP GPIO_PIN(0, 22)
78 #define XIAO_NRF52840_NOR_SPI_HOLD GPIO_PIN(0, 23)
79 #define XIAO_NRF52840_NOR_SPI_MODE SPI_MODE_0
83 #define MTD_0 mtd_dev_get(0)
84 
85 #ifdef BOARD_SEEEDSTUDIO_XIAO_NRF52840_SENSE
92 #define LSM6DSXX_PARAM_I2C I2C_DEV(1)
93 #define LSM6DSXX_PARAM_ADDR (0x6A)
95 #define LSM6DS3_PWR_PIN GPIO_PIN(1, 8)
97 #endif
98 
103 #define CONFIG_ZTIMER_USEC_ADJUST_SET 7
104 #define CONFIG_ZTIMER_USEC_ADJUST_SLEEP 22
107 #ifdef __cplusplus
108 }
109 #endif
110 
Low-level GPIO peripheral driver interface definitions.