1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2025-12-27 15:31:17 +01:00
RIOT/boards/mcb2388/include/periph_conf.h
Benjamin Valentin d906d5aef8 boards/mcb2388: configure second SPI bus
SPI0 will always clash with the pins of the LCD display, so if we
want to use both SPI and the display we need to use SPI1.
2020-04-21 20:47:53 +02:00

149 lines
3.0 KiB
C

/*
* Copyright (C) 2019 Beuth Hochschule für Technik Berlin
*
* 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_mcb2388
* @{
*
* @file
* @brief MCB2388 peripheral configuration
*
* @author Benjamin Valentin <benpicco@beuth-hochschule.de>
*/
#ifndef PERIPH_CONF_H
#define PERIPH_CONF_H
#include "periph_cpu.h"
#include "kernel_defines.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @name Clock configuration
* @{
*/
#define XTAL_HZ (12000000U) /* the board provides a 12 MHz XTAL */
#define CLOCK_CORECLOCK (72000000U) /* the lpc2388 runs with 72MHz */
#define CLOCK_PCLK (CLOCK_CORECLOCK)
/** @} */
/**
* @name Timer configuration, select a number from 1 to 4
* @{
*/
#define TIMER_NUMOF (1U)
/** @} */
/**
* @name UART configuration
* @{
*/
static const uart_conf_t uart_config[] = {
{
.dev = UART0,
.irq_prio_rx = 6,
.pinsel_rx = 0,
.pinsel_tx = 0,
.pinsel_msk_rx = BIT4,
.pinsel_msk_tx = BIT6,
},
{
.dev = UART1,
.irq_prio_rx = 6,
.pinsel_rx = 1,
.pinsel_tx = 0,
.pinsel_msk_rx = BIT0,
.pinsel_msk_tx = BIT30,
}
};
#define UART_NUMOF (2)
/** @} */
/**
* @name SPI configuration
* @{
*/
static const spi_conf_t spi_config[] = {
{
.dev = SPI0,
.pinsel_mosi = 3,
.pinsel_miso = 3,
.pinsel_clk = 3,
.pinsel_msk_mosi = (BIT16 | BIT17), /* P1.24 */
.pinsel_msk_miso = (BIT14 | BIT15), /* P1.23 */
.pinsel_msk_clk = (BIT8 | BIT9), /* P1.20 */
},
{
.dev = SPI1,
.pinsel_mosi = 0,
.pinsel_miso = 0,
.pinsel_clk = 0,
.pinsel_msk_mosi = (BIT19), /* P0.9 */
.pinsel_msk_miso = (BIT17), /* P0.8 */
.pinsel_msk_clk = (BIT15), /* P0.7 */
},
};
#define SPI_NUMOF ARRAY_SIZE(spi_config)
/** @} */
/**
* @name ADC configuration
* @{
*/
static const adc_conf_t adc_config[] = {
{
.chan = 0,
.pinsel = 1,
.pinsel_msk = BIT14,
},
};
#define ADC_NUMOF (1)
/**
* @name I2C configuration
* @{
*/
static const i2c_conf_t i2c_config[] = {
{
.dev = I2C0,
.speed = I2C_SPEED_NORMAL,
.irq_prio = 5,
.pinsel_sda = 1,
.pinsel_scl = 1,
.pinsel_msk_sda = BIT22, /* P0.27 */
.pinsel_msk_scl = BIT24, /* P0.28 */
},
{
.dev = I2C1,
.speed = I2C_SPEED_NORMAL,
.irq_prio = 5,
.pinsel_sda = 1,
.pinsel_scl = 1,
.pinsel_msk_sda = BIT6 | BIT7, /* P0.19 */
.pinsel_msk_scl = BIT8 | BIT9, /* P0.20 */
},
};
#define I2C_NUMOF (2)
/** @} */
#ifdef __cplusplus
}
#endif
#endif /* PERIPH_CONF_H */
/** @} */