From b9f183bf1e6222fd90dfb360ecbf1a1ed798736b Mon Sep 17 00:00:00 2001 From: Guillaume Revaillot Date: Thu, 31 Jan 2019 18:31:23 +0100 Subject: [PATCH] stm32g0: add dma. same same, bit for bit, except not ;) - Channel request mapping now depends on a new DMAMUX peripheral, and there's no default preset. So, before enabling dma channel after its configuration, request must be configured by : dmamux_set_dma_channel_request(DMAMUX1, DMA_CHANNELx, request_number_from_datasheet); --- include/libopencm3/stm32/dma.h | 2 ++ include/libopencm3/stm32/g0/dma.h | 34 +++++++++++++++++++++++++++++++ lib/stm32/g0/Makefile | 1 + 3 files changed, 37 insertions(+) create mode 100644 include/libopencm3/stm32/g0/dma.h diff --git a/include/libopencm3/stm32/dma.h b/include/libopencm3/stm32/dma.h index 8ed90c27..f914cf09 100644 --- a/include/libopencm3/stm32/dma.h +++ b/include/libopencm3/stm32/dma.h @@ -38,6 +38,8 @@ # include #elif defined(STM32L4) # include +#elif defined(STM32G0) +# include #else # error "stm32 family not defined." #endif diff --git a/include/libopencm3/stm32/g0/dma.h b/include/libopencm3/stm32/g0/dma.h new file mode 100644 index 00000000..9d03346b --- /dev/null +++ b/include/libopencm3/stm32/g0/dma.h @@ -0,0 +1,34 @@ +/** @defgroup dma_defines DMA Defines + * + * @ingroup STM32G0xx_defines + * + * @brief Defined Constants and Types for the STM32G0xx DMA Controller + * + * @version 1.0.0 + * + * LGPL License Terms @ref lgpl_license + */ + +/* + * This file is part of the libopencm3 project. + * + * This library is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this library. If not, see . + */ + +#ifndef LIBOPENCM3_DMA_H +#define LIBOPENCM3_DMA_H + +#include + +#endif diff --git a/lib/stm32/g0/Makefile b/lib/stm32/g0/Makefile index cb75e4fe..d6e7acdb 100644 --- a/lib/stm32/g0/Makefile +++ b/lib/stm32/g0/Makefile @@ -35,6 +35,7 @@ TGT_CFLAGS += $(STANDARD_FLAGS) ARFLAGS = rcs OBJS += crc_common_all.o +OBJS += dma_common_l1f013.o OBJS += exti.o exti_common_all.o OBJS += flash.o flash_common_all.o OBJS += gpio_common_all.o gpio_common_f0234.o