Loading...
Searching...
No Matches
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
19
20#include <stdint.h>
21
22#include "periph/cpu_gpio.h"
23
24#ifdef __cplusplus
25extern "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
46#define STM32_USBDEV_FS_CONFIG_FLAG_DISCONN_INVERTED 0x01
48
52typedef struct {
53 uintptr_t base_addr;
54 uint32_t rcc_mask;
55 gpio_t dm;
56 gpio_t dp;
58 gpio_t disconn;
59 uint8_t irqn;
60 uint8_t apb;
61 uint8_t flags;
63
64#ifdef __cplusplus
65}
66#endif
67
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:52
gpio_t dm
Data- gpio.
Definition cpu_usbdev.h:55
gpio_af_t af
Alternative function.
Definition cpu_usbdev.h:57
gpio_t disconn
GPIO if used for USB disconnect.
Definition cpu_usbdev.h:58
uint32_t rcc_mask
bit in clock enable register
Definition cpu_usbdev.h:54
uint8_t flags
Configuration flags.
Definition cpu_usbdev.h:61
uintptr_t base_addr
USB peripheral base address.
Definition cpu_usbdev.h:53
uint8_t irqn
IRQ channel.
Definition cpu_usbdev.h:59
uint8_t apb
APB bus.
Definition cpu_usbdev.h:60
gpio_t dp
Data+ gpio.
Definition cpu_usbdev.h:56