cslr_wdt.h

来自「dsp在音频处理中的运用」· C头文件 代码 · 共 172 行

H
172
字号
/** ============================================================================
 *   @file  cslr_wdt.h
 *
 *   @path  $(CSLPATH)\arm\wdt\src
 *
 *   @desc  Register layer header file for the OMAP3.2 watchdog timer CSL on ARM
 *          side
 * =============================================================================
 */

/*  ============================================================================
 *   Copyright (c) Texas Instruments Inc 2002, 2003, 2004
 *
 *   Use of this software is controlled by the terms and conditions found in the
 *   license agreement under which this software has been supplied.
 *   ===========================================================================
 */

/* =============================================================================
 *  Revision History
 *  ================
 *  24-May-2004 ka File Created.
 *  28-Jun-2004 ka Changes for the new CSL architecture
 *
 * =============================================================================
 */
#ifndef _CSLR_WDT_H_
#define _CSLR_WDT_H_

#include <cslr.h>
#include <tistdtypes.h>

/**
 * Register overlay structure
 */
typedef struct  {
    /** Watchdog timer control register */
    volatile Uint32 CNTL;

    /**
      * Watchdog timer load/read register. Both watchdog timer load register and
      * read register are present at the same offset (0x04). Load register is
      * selected when write access is made to this location. Read register is
      * selected when read access is made to this location.
      */
    volatile Uint32 LOADREAD;

    /** Watchdog timer mode register */
    volatile Uint32 MODE;
} CSL_WdtRegs;

/**
 * Overlay structure typedef definition
 */
typedef volatile CSL_WdtRegs * CSL_WdtRegsOvly;


/*******************************************************************************
 * Field Definition Macros
 ******************************************************************************/

/*******************************************************************************
 * Control register (CNTL)
 ******************************************************************************/

/** CNTL PTV - field mask */
#define CSL_WDT_CNTL_PTV_MASK            (0x00000E00u)
/** CNTL PTV - field shift value */
#define CSL_WDT_CNTL_PTV_SHIFT           (0x00000009u)
/** CNTL PTV - field reset value */
#define CSL_WDT_CNTL_PTV_RESETVAL        (0x00000007u)
/** Divide the input reference clock by 2 */
#define CSL_WDT_CNTL_PTV_CLKBY2          (0x00000000u)
/** Divide the input reference clock by 4 */
#define CSL_WDT_CNTL_PTV_CLKBY4          (0x00000001u)
/** Divide the input reference clock by 8 */
#define CSL_WDT_CNTL_PTV_CLKBY8          (0x00000002u)
/** Divide the input reference clock by 16 */
#define CSL_WDT_CNTL_PTV_CLKBY16         (0x00000003u)
/** Divide the input reference clock by 32 */
#define CSL_WDT_CNTL_PTV_CLKBY32         (0x00000004u)
/** Divide the input reference clock by 64 */
#define CSL_WDT_CNTL_PTV_CLKBY64         (0x00000005u)
/** Divide the input reference clock by 128 */
#define CSL_WDT_CNTL_PTV_CLKBY128        (0x00000006u)
/** Divide the input reference clock by 256 */
#define CSL_WDT_CNTL_PTV_CLKBY256        (0x00000007u)

/** CNTL AR - filed mask */
#define CSL_WDT_CNTL_AR_MASK             (0x00000100u)
/** CNTL AR - filed shift */
#define CSL_WDT_CNTL_AR_SHIFT            (0x00000008u)
/** CNTL AR - filed reset value */
#define CSL_WDT_CNTL_AR_RESETVAL         (0x00000001u)
/** CNTL AR - set in one-shot mode */
#define CSL_WDT_CNTL_AR_DISABLE          (0x00000000u)
/** CNTL AR - set in auto reload mode */
#define CSL_WDT_CNTL_AR_ENABLE           (0x00000001u)

/** CNTL ST - field mask */
#define CSL_WDT_CNTL_ST_MASK             (0x00000080u)
/** CNTL ST - field shift */
#define CSL_WDT_CNTL_ST_SHIFT            (0x00000007u)
/** CNTL ST - field reset value */
#define CSL_WDT_CNTL_ST_RESETVAL         (0x00000000u)
/** CNTL ST - stop the watchdog timer */
#define CSL_WDT_CNTL_ST_RESET            (0x00000000u)
/** CNTL ST - start the watchdog timer */
#define CSL_WDT_CNTL_ST_SET              (0x00000001u)

/** CNTL FREE - field mask */
#define CSL_WDT_CNTL_FREE_MASK           (0x00000002u)
/** CNTL FREE - field shift */
#define CSL_WDT_CNTL_FREE_SHIFT          (0x00000001u)
/** CNTL FREE - field reset value */
#define CSL_WDT_CNTL_FREE_RESETVAL       (0x00000001u)
/** CNTL FREE - stop counting on suspend indication */
#define CSL_WDT_CNTL_FREE_RESET          (0x00000000u)
/** CNTL FREE - a suspend indication has no effect on the count */
#define CSL_WDT_CNTL_FREE_SET            (0x00000001u)

/** CNTL reset value */
#define CSL_WDT_CNTL_RESETVAL            (0x00000F02u)


/*******************************************************************************
 * MPU Load/Read timer register
 ******************************************************************************/

/** LOAD_TIMER/VALUE_TIMER - field mask */
#define CSL_WDT_LOADREAD_LOADREAD_TIMER_MASK (0x0000FFFFu)
/** LOAD_TIMER/VALUE_TIMER - field shift */
#define CSL_WDT_LOADREAD_LOADREAD_TIMER_SHIFT (0x00000000u)
/** LOAD_TIMER/VALUE_TIMER - field reset value */
#define CSL_WDT_LOADREAD_LOADREAD_TIMER_RESETVAL (0x00000000u)

/** Load/Read timer register reset value */
#define CSL_WDT_LOADREAD_RESETVAL        (0x0000FFFFu)


/*******************************************************************************
 * Watchdog timer mode register
 ******************************************************************************/

/** WATCHDOG - field mask */
#define CSL_WDT_MODE_WATCHDOG_MASK       (0x00008000u)
/** WATCHDOG - field shift */
#define CSL_WDT_MODE_WATCHDOG_SHIFT      (0x0000000Fu)
/** WATCHDOG - field reset value */
#define CSL_WDT_MODE_WATCHDOG_RESETVAL   (0x00000001u)
/** General purpose timer mode */
#define CSL_WDT_MODE_WATCHDOG_GPT_MODE   (0x00000000u)
/** Watchdog timer mode */
#define CSL_WDT_MODE_WATCHDOG_WDT_MODE   (0x00000001u)

/** WATCHDOG_DIS - field mask */
#define CSL_WDT_MODE_WATCHDOG_DIS_MASK   (0x000000FFu)
/** WATCHDOG_DIS - field shift */
#define CSL_WDT_MODE_WATCHDOG_DIS_SHIFT  (0x00000000u)
/** WATCHDOG_DIS - reset value */
#define CSL_WDT_MODE_WATCHDOG_DIS_RESETVAL (0x00000000u)
/** Watchdog timer stop command 1 */
#define CSL_WDT_MODE_WATCHDOG_DIS_CMD1   (0x000000F5u)
/** Watchdog timer stop command 2 */
#define CSL_WDT_MODE_WATCHDOG_DIS_CMD2   (0x000000A0u)

/** Watchdog timer mode register reset value */
#define CSL_WDT_MODE_RESETVAL            (0x00008000u)

#endif /* _CSLR_WDT_001_H_ */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?