Loading...
Searching...
No Matches
periph_conf.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2018 Eistec AB
3 * SPDX-FileCopyrightText: 2018 HAW Hamburg
4 * SPDX-License-Identifier: LGPL-2.1-only
5 */
6
7#pragma once
8
19
20#include "periph_cpu.h"
21#include "periph_conf_common.h"
22#include "cfg_i2c_default.h"
23
24#ifdef __cplusplus
25extern "C"
26{
27#endif
28
33static const spi_conf_t spi_config[] = {
34 {
35 .dev = SPI1,
36 .pin_miso = GPIO_PIN(PORT_A, 17),
37 .pin_mosi = GPIO_PIN(PORT_A, 16),
38 .pin_clk = GPIO_PIN(PORT_A, 18),
39 .pin_cs = {
40 GPIO_PIN(PORT_A, 19),
45 },
46 .pcr = GPIO_AF_2,
47 .simmask = SIM_SCGC6_SPI1_MASK
48 }
49};
50#define SPI_NUMOF ARRAY_SIZE(spi_config)
52
57static const adc_conf_t adc_config[] = {
58 /* dev, pin, channel */
59 /* internal: temperature sensor */
60 /* The temperature sensor has a very high output impedance, it must not be
61 * sampled using hardware averaging, or the sampled values will be garbage */
62 [ 0] = { .dev = ADC0, .pin = GPIO_UNDEF, .chan = 26, .avg = ADC_AVG_NONE },
63 /* Note: the band gap buffer uses a bit of current and is turned off by default,
64 * Set PMC->REGSC |= PMC_REGSC_BGBE_MASK before reading or the input will be floating */
65 /* internal: band gap */
66 [ 1] = { .dev = ADC0, .pin = GPIO_UNDEF, .chan = 27, .avg = ADC_AVG_MAX },
67 /* internal: DCDC divided battery level */
68 [ 2] = { .dev = ADC0, .pin = GPIO_UNDEF, .chan = 23, .avg = ADC_AVG_MAX },
69};
70#define ADC_NUMOF ARRAY_SIZE(adc_config)
71/*
72 * KW41Z ADC reference settings:
73 * 0: VREFH external pin or VREF_OUT 1.2 V signal (if VREF module is enabled)
74 * 1: VDDA (analog supply input voltage)
75 * 2-3: reserved
76 *
77 * VREF_OUT and VREFH shares the pin on KW41Z and is tied to VDDA on the
78 * USB-KW41Z board, so it does not matter which setting is chosen here for this
79 * board.
80 */
81#define ADC_REF_SETTING 1
83
84#ifdef __cplusplus
85}
86#endif
87
@ PORT_A
port A
Definition periph_cpu.h:46
#define GPIO_PIN(x, y)
Define a CPU specific GPIO pin generator macro.
Definition periph_cpu.h:45
#define GPIO_UNDEF
Definition of a fitting UNDEF value.
#define SPI_CS_UNDEF
Define value for unused CS line.
Definition periph_cpu.h:362
#define ADC_AVG_NONE
Disable hardware averaging.
Definition periph_cpu.h:369
#define ADC_AVG_MAX
Maximum hardware averaging (32 samples)
Definition periph_cpu.h:373
ADC device configuration.
Definition periph_cpu.h:377
SPI device configuration.
Definition periph_cpu.h:336