flexcomm.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2020 iosabi
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser General
5  * Public License v2.1. See the file LICENSE in the top level directory for more
6  * details.
7  */
8 
9 #pragma once
10 
27 #include <stdint.h>
28 #include "periph_cpu.h"
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
39 typedef enum {
44 
51 int flexcomm_init(FLEXCOMM_Type *dev, flexcom_pselid_t mode);
52 
59 int flexcomm_instance_from_addr(const FLEXCOMM_Type *dev);
60 
61 #ifdef __cplusplus
62 }
63 #endif
64 
int flexcomm_init(FLEXCOMM_Type *dev, flexcom_pselid_t mode)
Initialize a flexcomm module to operate as the selected mode.
int flexcomm_instance_from_addr(const FLEXCOMM_Type *dev)
Obtain the flexcomm block number (0-based) from the address.
flexcom_pselid_t
Flexcomm PSELID values.
Definition: flexcomm.h:39
@ FLEXCOMM_ID_UART
UART mode.
Definition: flexcomm.h:40
@ FLEXCOMM_ID_SPI
SPI mode.
Definition: flexcomm.h:41
@ FLEXCOMM_ID_I2C
I2C mode.
Definition: flexcomm.h:42
Shared CPU specific definitions for the STM32 family.