From ff9664389bfb560145aa3b36ad8368900c57c3d8 Mon Sep 17 00:00:00 2001 From: Guillaume Revaillot Date: Fri, 11 Jan 2019 18:06:33 +0100 Subject: [PATCH] stm32: exti: move register definition of all current stm32 devices to common_v1 Preparation for stm32g0 support, as this chip's exti register map evolved and is no longer common ... --- .../libopencm3/stm32/common/exti_common_all.h | 9 ---- .../libopencm3/stm32/common/exti_common_v1.h | 44 +++++++++++++++++++ include/libopencm3/stm32/f0/exti.h | 3 ++ include/libopencm3/stm32/f1/exti.h | 1 + include/libopencm3/stm32/f2/exti.h | 1 + include/libopencm3/stm32/f3/exti.h | 1 + include/libopencm3/stm32/f4/exti.h | 1 + include/libopencm3/stm32/l0/exti.h | 1 + include/libopencm3/stm32/l1/exti.h | 1 + include/libopencm3/stm32/l4/exti.h | 1 + 10 files changed, 54 insertions(+), 9 deletions(-) create mode 100644 include/libopencm3/stm32/common/exti_common_v1.h diff --git a/include/libopencm3/stm32/common/exti_common_all.h b/include/libopencm3/stm32/common/exti_common_all.h index 18596ad4..61753618 100644 --- a/include/libopencm3/stm32/common/exti_common_all.h +++ b/include/libopencm3/stm32/common/exti_common_all.h @@ -29,15 +29,6 @@ #define LIBOPENCM3_EXTI_COMMON_ALL_H /**@{*/ -/* --- EXTI registers ------------------------------------------------------ */ - -#define EXTI_IMR MMIO32(EXTI_BASE + 0x00) -#define EXTI_EMR MMIO32(EXTI_BASE + 0x04) -#define EXTI_RTSR MMIO32(EXTI_BASE + 0x08) -#define EXTI_FTSR MMIO32(EXTI_BASE + 0x0c) -#define EXTI_SWIER MMIO32(EXTI_BASE + 0x10) -#define EXTI_PR MMIO32(EXTI_BASE + 0x14) - /* EXTI number definitions */ #define EXTI0 (1 << 0) #define EXTI1 (1 << 1) diff --git a/include/libopencm3/stm32/common/exti_common_v1.h b/include/libopencm3/stm32/common/exti_common_v1.h new file mode 100644 index 00000000..d7e3140c --- /dev/null +++ b/include/libopencm3/stm32/common/exti_common_v1.h @@ -0,0 +1,44 @@ +#pragma once + +/* + * 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 . + */ + +/** @cond */ +#if defined(LIBOPENCM3_EXTI_H) +/** @endcond */ + +/**@{*/ + +/* --- EXTI registers ------------------------------------------------------ */ + +#define EXTI_IMR MMIO32(EXTI_BASE + 0x00) +#define EXTI_EMR MMIO32(EXTI_BASE + 0x04) +#define EXTI_RTSR MMIO32(EXTI_BASE + 0x08) +#define EXTI_FTSR MMIO32(EXTI_BASE + 0x0c) +#define EXTI_SWIER MMIO32(EXTI_BASE + 0x10) +#define EXTI_PR MMIO32(EXTI_BASE + 0x14) + +BEGIN_DECLS + +END_DECLS + +/**@}*/ + +#else +#warning "exti_common_v1.h should not be included directly, only via exti.h" +#endif +/** @endcond */ diff --git a/include/libopencm3/stm32/f0/exti.h b/include/libopencm3/stm32/f0/exti.h index 3a99f5bb..0a3aebad 100644 --- a/include/libopencm3/stm32/f0/exti.h +++ b/include/libopencm3/stm32/f0/exti.h @@ -35,6 +35,9 @@ /**@{*/ #include +#include + + /**@}*/ #endif diff --git a/include/libopencm3/stm32/f1/exti.h b/include/libopencm3/stm32/f1/exti.h index 10882107..8fe1862a 100644 --- a/include/libopencm3/stm32/f1/exti.h +++ b/include/libopencm3/stm32/f1/exti.h @@ -37,5 +37,6 @@ #define LIBOPENCM3_EXTI_H #include +#include #endif diff --git a/include/libopencm3/stm32/f2/exti.h b/include/libopencm3/stm32/f2/exti.h index d21a921a..5015cde7 100644 --- a/include/libopencm3/stm32/f2/exti.h +++ b/include/libopencm3/stm32/f2/exti.h @@ -37,5 +37,6 @@ #define LIBOPENCM3_EXTI_H #include +#include #endif diff --git a/include/libopencm3/stm32/f3/exti.h b/include/libopencm3/stm32/f3/exti.h index d94916db..c5ef4e93 100644 --- a/include/libopencm3/stm32/f3/exti.h +++ b/include/libopencm3/stm32/f3/exti.h @@ -38,6 +38,7 @@ /**@{*/ #include +#include /* --- EXTI registers ------------------------------------------------------ */ #define EXTI_IMR2 MMIO32(EXTI_BASE + 0x18) diff --git a/include/libopencm3/stm32/f4/exti.h b/include/libopencm3/stm32/f4/exti.h index b9106787..8557dd7d 100644 --- a/include/libopencm3/stm32/f4/exti.h +++ b/include/libopencm3/stm32/f4/exti.h @@ -37,5 +37,6 @@ #define LIBOPENCM3_EXTI_H #include +#include #endif diff --git a/include/libopencm3/stm32/l0/exti.h b/include/libopencm3/stm32/l0/exti.h index b2af19b2..c1d90156 100644 --- a/include/libopencm3/stm32/l0/exti.h +++ b/include/libopencm3/stm32/l0/exti.h @@ -37,5 +37,6 @@ #define LIBOPENCM3_EXTI_H #include +#include #endif diff --git a/include/libopencm3/stm32/l1/exti.h b/include/libopencm3/stm32/l1/exti.h index 0f309537..81915766 100644 --- a/include/libopencm3/stm32/l1/exti.h +++ b/include/libopencm3/stm32/l1/exti.h @@ -37,5 +37,6 @@ #define LIBOPENCM3_EXTI_H #include +#include #endif diff --git a/include/libopencm3/stm32/l4/exti.h b/include/libopencm3/stm32/l4/exti.h index 3dd2c76c..627019dd 100644 --- a/include/libopencm3/stm32/l4/exti.h +++ b/include/libopencm3/stm32/l4/exti.h @@ -19,5 +19,6 @@ #define LIBOPENCM3_EXTI_H #include +#include #endif