uboot/arch/arm/mach-at91/include/mach/at91_wdt.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0+ */
   2/*
   3 * [origin: Linux kernel arch/arm/mach-at91/include/mach/at91_wdt.h]
   4 *
   5 * Copyright (C) 2008 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
   6 * Copyright (C) 2007 Andrew Victor
   7 * Copyright (C) 2018 Microchip Technology Inc.
   8 *
   9 * Watchdog Timer (WDT) - System peripherals regsters.
  10 * Based on AT91SAM9261 datasheet revision D.
  11 */
  12
  13#ifndef AT91_WDT_H
  14#define AT91_WDT_H
  15
  16#ifdef __ASSEMBLY__
  17
  18#define AT91_ASM_WDT_MR (ATMEL_BASE_WDT +  0x04)
  19
  20#else
  21
  22typedef struct at91_wdt {
  23        u32     cr;
  24        u32     mr;
  25        u32     sr;
  26} at91_wdt_t;
  27
  28struct at91_wdt_priv {
  29        void __iomem *regs;
  30        u32 regval;
  31};
  32
  33#endif
  34
  35/* Watchdog Control Register */
  36#define AT91_WDT_CR                     0x00
  37#define AT91_WDT_CR_WDRSTT              1
  38#define AT91_WDT_CR_KEY                 0xa5000000      /* KEY Password */
  39
  40/* Watchdog Mode Register*/
  41#define AT91_WDT_MR                     0X04
  42#define AT91_WDT_MR_WDV(x)              (x & 0xfff)
  43#define AT91_WDT_MR_WDFIEN              0x00001000
  44#define AT91_WDT_MR_WDRSTEN             0x00002000
  45#define AT91_WDT_MR_WDRPROC             0x00004000
  46#define AT91_WDT_MR_WDDIS               0x00008000
  47#define AT91_WDT_MR_WDD(x)              ((x & 0xfff) << 16)
  48#define AT91_WDT_MR_WDDBGHLT            0x10000000
  49#define AT91_WDT_MR_WDIDLEHLT           0x20000000
  50
  51/* Hardware timeout in seconds */
  52#define WDT_MAX_TIMEOUT         16
  53
  54#endif
  55