1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/boards/xg23-pk6068a/include/board.h

137 lines
3.0 KiB
C

/*
* Copyright (C) 2022 SSV Software Systems GmbH
*
* 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_xg23-pk6068a
* @{
*
* @file
* @brief Board specific definitions for the xG23-PK6068A
*
* @author Juergen Fitschen <me@jue.yt>
*/
#ifndef BOARD_H
#define BOARD_H
#include "cpu.h"
#include "periph_conf.h"
#include "periph_cpu.h"
#include "periph/gpio.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Initialize pm_layered with no pre-defined blockers
*
* All peripheral drivers keep track of required pm modes.
*/
#define PM_BLOCKER_INITIAL { 0, 0, 0 }
/**
* @name ztimer configuration
* @{
*/
#define CONFIG_ZTIMER_LPTIMER_DEV TIMER_DEV(1)
#define CONFIG_ZTIMER_LPTIMER_FREQ LFXO_FREQ
#define CONFIG_ZTIMER_LPTIMER_WIDTH 24
#define CONFIG_ZTIMER_LPTIMER_BLOCK_PM_MODE EFM32_PM_MODE_EM3
/** @} */
/**
* @brief Power mode required for GPIO IRQs
*
* If all GPIO IRQs are expected on port A or B, EM3 is the lowest allowed
* power mode. No power level has to be blocked in this case.
* If GPIO IRQs shall be fired on port C or D, we must stay in EM1.
* Uncomment the line down below in this case.
*/
/* #define GPIO_INT_PM_BLOCKER PM_MODE_EM2 */
/**
* @name Board VCOM interface
*
* Define the GPIO pin to enable the VCOM interface
*/
#define VCOM_UART UART_DEV(0)
#define VCOM_EN_PIN GPIO_PIN(PB, 0)
/**
* @name Push button pin definitions
* @{
*/
#define PB0_PIN GPIO_PIN(PB, 1)
#define PB1_PIN GPIO_PIN(PB, 3)
/** @} */
/**
* @name LED pin definitions
* @{
*/
#define LED0_PIN GPIO_PIN(PB, 2)
#define LED1_PIN GPIO_PIN(PD, 3)
/** @} */
/**
* @name Macros for controlling the on-board LEDs
* @{
*/
#define LED0_ON gpio_set(LED0_PIN)
#define LED0_OFF gpio_clear(LED0_PIN)
#define LED0_TOGGLE gpio_toggle(LED0_PIN)
#define LED1_ON gpio_set(LED1_PIN)
#define LED1_OFF gpio_clear(LED1_PIN)
#define LED1_TOGGLE gpio_toggle(LED1_PIN)
/** @} */
/**
* @name Display configuration
*
* Connection to the on-board Sharp Memory LCD (LS013B7DH03).
* @{
*/
#define DISP_SPI SPI_DEV(0)
#define DISP_SCS_PIN GPIO_PIN(PC, 8)
#define DISP_EXTCOMIN_PIN GPIO_PIN(PC, 6)
#define DISP_ENABLE_PIN GPIO_PIN(PC, 9)
/** @} */
/**
* @name Flash configuration
*
* Connection to the on-board MX25R8035F.
* @{
*/
#define FLASH_SPI SPI_DEV(0)
#define FLASH_CS_PIN GPIO_PIN(PC, 4)
/** @} */
/**
* @name Sensor configuration
*
* Connection to the on-board Si7021 temperature & humidity sensor.
* @{
*/
#define SI70XX_PARAM_I2C_DEV I2C_DEV(0)
#define SI7021_EN_PIN GPIO_PIN(PC, 9)
/** @} */
/**
* @brief Initialize board specific hardware
*/
void board_init(void);
#ifdef __cplusplus
}
#endif
#endif /* BOARD_H */
/** @} */