board.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2021 Mesotic SAS
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
18 #include "cpu.h"
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
31 #define CLOCK_HFCLK (32U)
33 /* LFCLK Source clock selection:*/
34 /* - CLOCK_LFCLKSRC_SRC_LFRC: 32.768 kHz RC oscillator
35  * - CLOCK_LFCLKSRC_SRC_LFXO: 32.768 kHz crystal oscillator */
36 #define CLOCK_LFCLK (CLOCK_LFCLKSRC_SRC_LFXO)
43 #define LED0_PIN GPIO_PIN(0, 2)
44 #define LED1_PIN GPIO_PIN(0, 3)
45 #define LED2_PIN GPIO_PIN(0, 4)
46 #define LED3_PIN GPIO_PIN(0, 5)
48 #define LED0_MASK (1 << 2)
49 #define LED1_MASK (1 << 3)
50 #define LED2_MASK (1 << 4)
51 #define LED3_MASK (1 << 5)
53 #define LED_PORT (NRF_P0_S)
55 #define LED0_ON (LED_PORT->OUTSET = LED0_MASK)
56 #define LED0_OFF (LED_PORT->OUTCLR = LED0_MASK)
57 #define LED0_TOGGLE (LED_PORT->OUT ^= LED0_MASK)
59 #define LED1_ON (LED_PORT->OUTSET = LED1_MASK)
60 #define LED1_OFF (LED_PORT->OUTCLR = LED1_MASK)
61 #define LED1_TOGGLE (LED_PORT->OUT ^= LED1_MASK)
63 #define LED2_ON (LED_PORT->OUTSET = LED2_MASK)
64 #define LED2_OFF (LED_PORT->OUTCLR = LED2_MASK)
65 #define LED2_TOGGLE (LED_PORT->OUT ^= LED2_MASK)
67 #define LED3_ON (LED_PORT->OUTSET = LED3_MASK)
68 #define LED3_OFF (LED_PORT->OUTCLR = LED3_MASK)
69 #define LED3_TOGGLE (LED_PORT->OUT ^= LED3_MASK)
76 #define BTN0_PIN GPIO_PIN(0, 6)
77 #define BTN0_MODE GPIO_IN_PU
78 #define BTN1_PIN GPIO_PIN(0, 7)
79 #define BTN1_MODE GPIO_IN_PU
80 #define BTN2_PIN GPIO_PIN(0, 8)
81 #define BTN2_MODE GPIO_IN_PU
82 #define BTN3_PIN GPIO_PIN(0, 9)
83 #define BTN3_MODE GPIO_IN_PU
90 #define WS281X_TIMER_DEV TIMER_DEV(1)
91 #define WS281X_TIMER_MAX_VALUE TIMER_1_MAX_VALUE
94 #ifdef __cplusplus
95 }
96 #endif
97