cpu_usbdev.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2016 Freie Universität Berlin
3  * SPDX-FileCopyrightText: 2017 OTA keys S.A.
4  * SPDX-License-Identifier: LGPL-2.1-only
5  */
6 
7 #pragma once
8 
20 #include <stdint.h>
21 
22 #include "periph/cpu_gpio.h"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
31 #define USBDEV_CPU_DMA_ALIGNMENT (4)
32 
36 #define USBDEV_CPU_DMA_REQUIREMENTS __attribute__((aligned(USBDEV_CPU_DMA_ALIGNMENT)))
37 
41 typedef struct {
42  uintptr_t base_addr;
43  uint32_t rcc_mask;
44  uint8_t irqn;
45  uint8_t apb;
46  gpio_t dm;
47  gpio_t dp;
49  gpio_t disconn;
51 
52 #ifdef __cplusplus
53 }
54 #endif
55 
GPIO CPU definitions for the STM32 family.
gpio_af_t
Override alternative GPIO mode options.
Definition: periph_cpu.h:162
stm32 USB device FS configuration
Definition: cpu_usbdev.h:41
gpio_t dm
Data- gpio.
Definition: cpu_usbdev.h:46
gpio_af_t af
Alternative function.
Definition: cpu_usbdev.h:48
gpio_t disconn
GPIO if used for USB disconnect.
Definition: cpu_usbdev.h:49
uint32_t rcc_mask
bit in clock enable register
Definition: cpu_usbdev.h:43
uintptr_t base_addr
USB peripheral base address.
Definition: cpu_usbdev.h:42
uint8_t irqn
IRQ channel.
Definition: cpu_usbdev.h:44
uint8_t apb
APB bus.
Definition: cpu_usbdev.h:45
gpio_t dp
Data+ gpio.
Definition: cpu_usbdev.h:47