Loading...
Searching...
No Matches
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
19
20#include "cpu.h"
21#include "board_common.h"
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
33#define LED0_PIN GPIO_PIN(0, 26)
34#define LED1_PIN GPIO_PIN(0, 30)
35#define LED2_PIN GPIO_PIN(0, 6)
36
37#define LED_PORT (NRF_P0)
38#define LED0_MASK (1 << 26)
39#define LED1_MASK (1 << 30)
40#define LED2_MASK (1 << 6)
41#define LED_MASK (LED0_MASK | LED1_MASK | LED2_MASK)
43
44#define LED0_ON (LED_PORT->OUTCLR = LED0_MASK)
45#define LED0_OFF (LED_PORT->OUTSET = LED0_MASK)
46#define LED0_TOGGLE (LED_PORT->OUT ^= LED0_MASK)
47
48#define LED1_ON (LED_PORT->OUTCLR = LED1_MASK)
49#define LED1_OFF (LED_PORT->OUTSET = LED1_MASK)
50#define LED1_TOGGLE (LED_PORT->OUT ^= LED1_MASK)
51
52#define LED2_ON (LED_PORT->OUTCLR = LED2_MASK)
53#define LED2_OFF (LED_PORT->OUTSET = LED2_MASK)
54#define LED2_TOGGLE (LED_PORT->OUT ^= LED2_MASK)
56
66#define XIAO_NRF52840_NOR_PAGE_SIZE (256)
67#define XIAO_NRF52840_NOR_PAGES_PER_SECTOR (16)
68#define XIAO_NRF52840_NOR_SECTOR_COUNT (512)
69#define XIAO_NRF52840_NOR_FLAGS \
70 (SPI_NOR_F_SECT_4K | \
71 SPI_NOR_F_SECT_32K | \
72 SPI_NOR_F_SECT_64K)
73#define XIAO_NRF52840_NOR_SPI_DEV SPI_DEV(1)
74#define XIAO_NRF52840_NOR_SPI_CLK SPI_CLK_10MHZ
75#define XIAO_NRF52840_NOR_SPI_CS GPIO_PIN(0, 25)
76#define XIAO_NRF52840_NOR_SPI_WP GPIO_PIN(0, 22)
77#define XIAO_NRF52840_NOR_SPI_HOLD GPIO_PIN(0, 23)
78#define XIAO_NRF52840_NOR_SPI_MODE SPI_MODE_0
80
82#define MTD_0 mtd_dev_get(0)
83
84#ifdef BOARD_SEEEDSTUDIO_XIAO_NRF52840_SENSE
91#define LSM6DSXX_PARAM_I2C I2C_DEV(1)
92#define LSM6DSXX_PARAM_ADDR (0x6A)
93
94#define LSM6DS3_PWR_PIN GPIO_PIN(1, 8)
96#endif
97
98#if defined(BOARD_SEEEDSTUDIO_XIAO_NRF52840_SENSE) || defined(DOXYGEN)
108# ifndef PDM_DIN_PIN
109# define PDM_DIN_PIN GPIO_PIN(0, 16)
110# endif
111
115# ifndef PDM_CLK_PIN
116# define PDM_CLK_PIN GPIO_PIN(1, 0)
117# endif
118
122# ifndef PDM_PWR_PIN
123# define PDM_PWR_PIN GPIO_PIN(1, 10)
124# endif
125
130# ifndef PDM_MIC_CLK_MIN_HZ
131# define PDM_MIC_CLK_MIN_HZ 1300000
132# endif
133
138# ifndef PDM_MIC_CLK_MAX_HZ
139# define PDM_MIC_CLK_MAX_HZ 4800000
140# endif
142#endif /* defined(BOARD_SEEEDSTUDIO_XIAO_NRF52840_SENSE) || defined(DOXYGEN) */
143
148#define CONFIG_ZTIMER_USEC_ADJUST_SET 7
149#define CONFIG_ZTIMER_USEC_ADJUST_SLEEP 22
151
152#ifdef __cplusplus
153}
154#endif
155