xref: /openbmc/qemu/include/hw/watchdog/wdt_imx2.h (revision 37f95959c730ff29f58c85b7a98f0b825933bee1)
1*37f95959SGuenter Roeck /*
2*37f95959SGuenter Roeck  * Copyright (c) 2017, Impinj, Inc.
3*37f95959SGuenter Roeck  *
4*37f95959SGuenter Roeck  * i.MX2 Watchdog IP block
5*37f95959SGuenter Roeck  *
6*37f95959SGuenter Roeck  * Author: Andrey Smirnov <andrew.smirnov@gmail.com>
7*37f95959SGuenter Roeck  *
8*37f95959SGuenter Roeck  * This work is licensed under the terms of the GNU GPL, version 2 or later.
9*37f95959SGuenter Roeck  * See the COPYING file in the top-level directory.
10*37f95959SGuenter Roeck  */
11*37f95959SGuenter Roeck 
12*37f95959SGuenter Roeck #ifndef IMX2_WDT_H
13*37f95959SGuenter Roeck #define IMX2_WDT_H
14*37f95959SGuenter Roeck 
15*37f95959SGuenter Roeck #include "hw/sysbus.h"
16*37f95959SGuenter Roeck 
17*37f95959SGuenter Roeck #define TYPE_IMX2_WDT "imx2.wdt"
18*37f95959SGuenter Roeck #define IMX2_WDT(obj) OBJECT_CHECK(IMX2WdtState, (obj), TYPE_IMX2_WDT)
19*37f95959SGuenter Roeck 
20*37f95959SGuenter Roeck enum IMX2WdtRegisters {
21*37f95959SGuenter Roeck     IMX2_WDT_WCR     = 0x0000,
22*37f95959SGuenter Roeck     IMX2_WDT_REG_NUM = 0x0008 / sizeof(uint16_t) + 1,
23*37f95959SGuenter Roeck };
24*37f95959SGuenter Roeck 
25*37f95959SGuenter Roeck 
26*37f95959SGuenter Roeck typedef struct IMX2WdtState {
27*37f95959SGuenter Roeck     /* <private> */
28*37f95959SGuenter Roeck     SysBusDevice parent_obj;
29*37f95959SGuenter Roeck 
30*37f95959SGuenter Roeck     MemoryRegion mmio;
31*37f95959SGuenter Roeck } IMX2WdtState;
32*37f95959SGuenter Roeck 
33*37f95959SGuenter Roeck #endif /* IMX2_WDT_H */
34