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