1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-01-15 14:52:45 +01:00
RIOT/boards/qn9080dk/include/periph_conf.h
iosabi e72049a180 boards/qn9080dk: Add ADC configuration
The QN9080DK board has 6 Analog Input lines in the J6 header, labeled
"A0" to "A5". This configuration enables these lines as ADC lines 0 to 5
as well as some other channel options available as lines 6 and up.
2021-01-30 17:25:09 +00:00

107 lines
2.5 KiB
C

/*
* Copyright (C) 2020 iosabi
*
* This file is subject to the terms and conditions of the GNU Lesser
* General Public License v2.1. See the file LICENSE in the top level
* directory for more details.
*/
/**
* @ingroup boards_qn9080dk
* @{
*
* @file
* @brief Configuration of CPU peripherals for QN9080DK base board board
*
* @author iosabi <iosabi@protonmail.com>
*/
#ifndef PERIPH_CONF_H
#define PERIPH_CONF_H
#include <stdint.h>
#include "cpu.h"
#include "periph_cpu.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @name ADC configuration
*
* Names "An" are as described in the "Analog In" header on the PCB. All "An"
* inputs are configured referenced to 1.8V.
* @{
*/
static const adc_conf_t adc_config[] = {
ADC_CHANNEL_ADC7_VINN | ADC_VINN_AVSS | ADC_VREF_GAIN_X15, /* A0 */
ADC_CHANNEL_ADC6_VINN | ADC_VINN_AVSS | ADC_VREF_GAIN_X15, /* A1 */
ADC_CHANNEL_ADC4_VINN | ADC_VINN_AVSS | ADC_VREF_GAIN_X15, /* A2 */
ADC_CHANNEL_ADC5_VINN | ADC_VINN_AVSS | ADC_VREF_GAIN_X15, /* A3 */
ADC_CHANNEL_ADC1_VINN | ADC_VINN_AVSS | ADC_VREF_GAIN_X15, /* A4 */
ADC_CHANNEL_ADC0_VINN | ADC_VINN_AVSS | ADC_VREF_GAIN_X15, /* A5 */
ADC_CHANNEL_ADC6_ADC7 | ADC_VREF_GAIN_X15, /* A1-A0 */
ADC_CHANNEL_ADC4_ADC5 | ADC_VREF_GAIN_X15, /* A2-A3 */
ADC_CHANNEL_ADC0_ADC1 | ADC_VREF_GAIN_X15, /* A5-A4 */
ADC_CHANNEL_TEMP, /* temperature */
ADC_CHANNEL_VCC4_VINN | ADC_VINN_AVSS, /* Vcc/4 */
};
#define ADC_NUMOF ARRAY_SIZE(adc_config)
/** @} */
/**
* @name I2C configuration
* @{
*/
static const i2c_conf_t i2c_config[] = {
{
.dev = I2C1,
.pin_scl = GPIO_PIN(PORT_A, 6),
.pin_sda = GPIO_PIN(PORT_A, 7),
.speed = I2C_SPEED_FAST,
},
};
#define I2C_NUMOF ARRAY_SIZE(i2c_config)
/** @} */
/**
* @name UART configuration
* @{
*/
static const uart_conf_t uart_config[] = {
{
.dev = USART0,
.rx_pin = GPIO_PIN(PORT_A, 17),
.tx_pin = GPIO_PIN(PORT_A, 16),
},
};
#define UART_NUMOF ARRAY_SIZE(uart_config)
/** @} */
/**
* @name Timer configuration
* @{
*/
#define TIMER_NUMOF 4
/** @} */
/* put here the board peripherals definitions:
- Available clocks
- PWMs
- SPIs
- ADC
- RTC
- RTT
etc
*/
#ifdef __cplusplus
}
#endif
#endif /* PERIPH_CONF_H */
/** @} */