/* * Copyright (C) 2014 Christian Mehlis * * 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_airfy-beacon * @{ * * @file * @brief Peripheral MCU configuration for the Airfy Beacon board * * @author Christian Mehlis * @author Hauke Petersen */ #ifndef PERIPH_CONF_H #define PERIPH_CONF_H #include "periph_cpu.h" #ifdef __cplusplus extern "C" { #endif /** * @name Clock configuration * * @note The radio will not work with the internal RC oscillator! * * @{ */ #define CLOCK_HFCLK (16U) /* set to 0: internal RC oscillator 16: 16MHz crystal 32: 32MHz crystal */ #define CLOCK_LFCLK (1) /* set to 0: internal RC oscillator * 1: 32.768 kHz crystal * 2: derived from HFCLK */ /** @} */ /** * @name Timer configuration * @{ */ static const timer_conf_t timer_config[] = { /* dev, channels, width */ { NRF_TIMER0, 3, TIMER_BITMODE_BITMODE_24Bit, TIMER0_IRQn } }; #define TIMER_0_ISR isr_timer0 #define TIMER_NUMOF (sizeof(timer_config) / sizeof(timer_config[0])) /** @} */ /** * @name UART configuration * * The CPU only supports one UART device, so we keep it simple * @{ */ #define UART_NUMOF (1U) #define UART_PIN_RX 17 #define UART_PIN_TX 18 /** @} */ /** * @name Real time counter configuration * @{ */ #define RTT_NUMOF (1U) #define RTT_DEV (1) /* NRF_RTC1 */ #define RTT_MAX_VALUE (0x00ffffff) #define RTT_FREQUENCY (1024) /** @} */ /** * @name SPI configuration * @{ */ static const spi_conf_t spi_config[] = { { .dev = NRF_SPI0, .sclk = 15, .mosi = 13, .miso = 14 } }; #define SPI_NUMOF (sizeof(spi_config) / sizeof(spi_config[0])) /** @} */ /** * @name I2C (TWI) configuration * @{ */ static const i2c_conf_t i2c_config[] = { { .dev = NRF_TWI0, .pin_scl = 7, .pin_sda = 8, .ppi = 0 }, { .dev = NRF_TWI1, .pin_scl = 9, .pin_sda = 10, .ppi = 1 } }; #define I2C_NUMOF (sizeof(i2c_config) / sizeof(i2c_config[0])) /** @} */ /** * @name ADC configuration * * The configuration consists simply of a list of channels that should be used * @{ */ #define ADC_CONFIG {3, 4, 5, 6} #define ADC_NUMOF (4) /** @} */ /** * @name Radio device configuration * * The radio is not guarded by a NUMOF define, as the radio is selected by its * own module in the build system. * @{ */ #define RADIO_IRQ_PRIO 1 /** @} */ #ifdef __cplusplus } /* end extern "C" */ #endif #endif /* PERIPH_CONF_H */