board.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2018 Eistec AB
3  * SPDX-License-Identifier: LGPL-2.1-only
4  */
5 
6 #pragma once
7 
20 #include "cpu.h"
21 #include "periph_conf.h"
22 
23 #ifdef __cplusplus
24 extern "C"
25 {
26 #endif
27 
31 /* Disable ROM bootloader, launch user application from flash */
32 #define KINETIS_FOPT (0xff & ~(NV_FOPT_BOOTSRC_SEL_MASK | NV_FOPT_BOOTPIN_OPT_MASK))
33 
38 /* LEDs are named LED1, LED2 in the original board schematics, we remap the LEDs
39  * to 0-indexed: NXP LED1 -> RIOT LED0, NXP LED2 -> RIOT LED1 */
40 #define LED0_PIN GPIO_PIN(PORT_D, 5)
41 #define LED1_PIN GPIO_PIN(PORT_E, 31)
42 
43 #define LED0_MASK (1 << 5)
44 #define LED1_MASK (1 << 31)
45 
46 #define LED0_ON (GPIOD->PCOR = LED0_MASK)
47 #define LED0_OFF (GPIOD->PSOR = LED0_MASK)
48 #define LED0_TOGGLE (GPIOD->PTOR = LED0_MASK)
49 
50 #define LED1_ON (GPIOE->PCOR = LED1_MASK)
51 #define LED1_OFF (GPIOE->PSOR = LED1_MASK)
52 #define LED1_TOGGLE (GPIOE->PTOR = LED1_MASK)
59 #if IS_ACTIVE(KINETIS_XTIMER_SOURCE_PIT)
60 /* PIT xtimer configuration */
61 #define XTIMER_DEV (TIMER_PIT_DEV(0))
62 #define XTIMER_CHAN (0)
63 /* Default xtimer settings should work on the PIT */
64 #else
65 /* LPTMR xtimer configuration */
66 #define XTIMER_DEV (TIMER_LPTMR_DEV(0))
67 #define XTIMER_CHAN (0)
68 /* LPTMR is 16 bits wide and runs at 32768 Hz (clocked by the RTC) */
69 #define XTIMER_WIDTH (16)
70 #define XTIMER_BACKOFF (5)
71 #define XTIMER_ISR_BACKOFF (5)
72 #define XTIMER_OVERHEAD (4)
73 #define XTIMER_HZ (32768ul)
74 #endif
81 #define MAG3110_PARAM_I2C I2C_DEV(0)
82 #define MAG3110_PARAM_ADDR 0x0E
89 #define MMA8X5X_PARAM_I2C I2C_DEV(0)
90 #define MMA8X5X_PARAM_ADDR 0x1D
91 #define MMA8X5X_PARAM_TYPE (MMA8X5X_TYPE_MMA8451)
94 #ifdef __cplusplus
95 }
96 #endif
97 
Peripheral MCU configuration for the Zigduino board.