xref: /qemu/include/hw/misc/stm32f2xx_syscfg.h (revision 3e7d06d05a3689972171ad6a289315d54ea2e915)
1bbbbd900SAlistair Francis /*
2bbbbd900SAlistair Francis  * STM32F2XX SYSCFG
3bbbbd900SAlistair Francis  *
4bbbbd900SAlistair Francis  * Copyright (c) 2014 Alistair Francis <alistair@alistair23.me>
5bbbbd900SAlistair Francis  *
6bbbbd900SAlistair Francis  * Permission is hereby granted, free of charge, to any person obtaining a copy
7bbbbd900SAlistair Francis  * of this software and associated documentation files (the "Software"), to deal
8bbbbd900SAlistair Francis  * in the Software without restriction, including without limitation the rights
9bbbbd900SAlistair Francis  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10bbbbd900SAlistair Francis  * copies of the Software, and to permit persons to whom the Software is
11bbbbd900SAlistair Francis  * furnished to do so, subject to the following conditions:
12bbbbd900SAlistair Francis  *
13bbbbd900SAlistair Francis  * The above copyright notice and this permission notice shall be included in
14bbbbd900SAlistair Francis  * all copies or substantial portions of the Software.
15bbbbd900SAlistair Francis  *
16bbbbd900SAlistair Francis  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17bbbbd900SAlistair Francis  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18bbbbd900SAlistair Francis  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19bbbbd900SAlistair Francis  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20bbbbd900SAlistair Francis  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21bbbbd900SAlistair Francis  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22bbbbd900SAlistair Francis  * THE SOFTWARE.
23bbbbd900SAlistair Francis  */
24bbbbd900SAlistair Francis 
25bbbbd900SAlistair Francis #ifndef HW_STM32F2XX_SYSCFG_H
26bbbbd900SAlistair Francis #define HW_STM32F2XX_SYSCFG_H
27bbbbd900SAlistair Francis 
28bbbbd900SAlistair Francis #include "hw/sysbus.h"
29db1015e9SEduardo Habkost #include "qom/object.h"
30bbbbd900SAlistair Francis 
31bbbbd900SAlistair Francis #define SYSCFG_MEMRMP  0x00
32bbbbd900SAlistair Francis #define SYSCFG_PMC     0x04
33bbbbd900SAlistair Francis #define SYSCFG_EXTICR1 0x08
34bbbbd900SAlistair Francis #define SYSCFG_EXTICR2 0x0C
35bbbbd900SAlistair Francis #define SYSCFG_EXTICR3 0x10
36bbbbd900SAlistair Francis #define SYSCFG_EXTICR4 0x14
37bbbbd900SAlistair Francis #define SYSCFG_CMPCR   0x20
38bbbbd900SAlistair Francis 
39bbbbd900SAlistair Francis #define TYPE_STM32F2XX_SYSCFG "stm32f2xx-syscfg"
40*8063396bSEduardo Habkost OBJECT_DECLARE_SIMPLE_TYPE(STM32F2XXSyscfgState, STM32F2XX_SYSCFG)
41bbbbd900SAlistair Francis 
42db1015e9SEduardo Habkost struct STM32F2XXSyscfgState {
43bbbbd900SAlistair Francis     /* <private> */
44bbbbd900SAlistair Francis     SysBusDevice parent_obj;
45bbbbd900SAlistair Francis 
46bbbbd900SAlistair Francis     /* <public> */
47bbbbd900SAlistair Francis     MemoryRegion mmio;
48bbbbd900SAlistair Francis 
49bbbbd900SAlistair Francis     uint32_t syscfg_memrmp;
50bbbbd900SAlistair Francis     uint32_t syscfg_pmc;
51bbbbd900SAlistair Francis     uint32_t syscfg_exticr1;
52bbbbd900SAlistair Francis     uint32_t syscfg_exticr2;
53bbbbd900SAlistair Francis     uint32_t syscfg_exticr3;
54bbbbd900SAlistair Francis     uint32_t syscfg_exticr4;
55bbbbd900SAlistair Francis     uint32_t syscfg_cmpcr;
56db1015e9SEduardo Habkost };
57bbbbd900SAlistair Francis 
58bbbbd900SAlistair Francis #endif /* HW_STM32F2XX_SYSCFG_H */
59