1067e68e7SAndrey Smirnov /* 2067e68e7SAndrey Smirnov * Copyright (c) 2017, Impinj, Inc. 3067e68e7SAndrey Smirnov * 4067e68e7SAndrey Smirnov * i.MX2 Watchdog IP block 5067e68e7SAndrey Smirnov * 6067e68e7SAndrey Smirnov * Author: Andrey Smirnov <andrew.smirnov@gmail.com> 7067e68e7SAndrey Smirnov * 8067e68e7SAndrey Smirnov * This work is licensed under the terms of the GNU GPL, version 2 or later. 9067e68e7SAndrey Smirnov * See the COPYING file in the top-level directory. 10067e68e7SAndrey Smirnov */ 11067e68e7SAndrey Smirnov 12067e68e7SAndrey Smirnov #ifndef IMX2_WDT_H 13067e68e7SAndrey Smirnov #define IMX2_WDT_H 14067e68e7SAndrey Smirnov 15067e68e7SAndrey Smirnov #include "hw/sysbus.h" 16067e68e7SAndrey Smirnov 17067e68e7SAndrey Smirnov #define TYPE_IMX2_WDT "imx2.wdt" 18067e68e7SAndrey Smirnov #define IMX2_WDT(obj) OBJECT_CHECK(IMX2WdtState, (obj), TYPE_IMX2_WDT) 19067e68e7SAndrey Smirnov 20067e68e7SAndrey Smirnov enum IMX2WdtRegisters { 21067e68e7SAndrey Smirnov IMX2_WDT_WCR = 0x0000, 22067e68e7SAndrey Smirnov IMX2_WDT_REG_NUM = 0x0008 / sizeof(uint16_t) + 1, 23067e68e7SAndrey Smirnov }; 24067e68e7SAndrey Smirnov 25067e68e7SAndrey Smirnov 26067e68e7SAndrey Smirnov typedef struct IMX2WdtState { 27067e68e7SAndrey Smirnov /* <private> */ 28067e68e7SAndrey Smirnov SysBusDevice parent_obj; 29067e68e7SAndrey Smirnov 30067e68e7SAndrey Smirnov MemoryRegion mmio; 31067e68e7SAndrey Smirnov } IMX2WdtState; 32067e68e7SAndrey Smirnov 33067e68e7SAndrey Smirnov #endif /* IMX7_SNVS_H */ 34