linux/include/linux/ds17287rtc.h
<<
>>
Prefs
   1/*
   2 * ds17287rtc.h - register definitions for the ds1728[57] RTC / CMOS RAM
   3 *
   4 * This file is subject to the terms and conditions of the GNU General Public
   5 * License.  See the file "COPYING" in the main directory of this archive
   6 * for more details.
   7 *
   8 * (C) 2003 Guido Guenther <agx@sigxcpu.org>
   9 */
  10#ifndef __LINUX_DS17287RTC_H
  11#define __LINUX_DS17287RTC_H
  12
  13#include <linux/rtc.h>                  /* get the user-level API */
  14#include <linux/mc146818rtc.h>
  15
  16/* Register A */
  17#define DS_REGA_DV2     0x40            /* countdown chain */
  18#define DS_REGA_DV1     0x20            /* oscillator enable */
  19#define DS_REGA_DV0     0x10            /* bank select */
  20
  21/* bank 1 registers */
  22#define DS_B1_MODEL     0x40            /* model number byte */
  23#define DS_B1_SN1       0x41            /* serial number byte 1 */
  24#define DS_B1_SN2       0x42            /* serial number byte 2 */
  25#define DS_B1_SN3       0x43            /* serial number byte 3 */
  26#define DS_B1_SN4       0x44            /* serial number byte 4 */
  27#define DS_B1_SN5       0x45            /* serial number byte 5 */
  28#define DS_B1_SN6       0x46            /* serial number byte 6 */
  29#define DS_B1_CRC       0x47            /* CRC byte */
  30#define DS_B1_CENTURY   0x48            /* Century byte */
  31#define DS_B1_DALARM    0x49            /* date alarm */
  32#define DS_B1_XCTRL4A   0x4a            /* extendec control register 4a */
  33#define DS_B1_XCTRL4B   0x4b            /* extendec control register 4b */
  34#define DS_B1_RTCADDR2  0x4e            /* rtc address 2 */
  35#define DS_B1_RTCADDR3  0x4f            /* rtc address 3 */
  36#define DS_B1_RAMLSB    0x50            /* extended ram LSB */
  37#define DS_B1_RAMMSB    0x51            /* extended ram MSB */
  38#define DS_B1_RAMDPORT  0x53            /* extended ram data port */
  39
  40/* register details */
  41/* extended control register 4a */
  42#define DS_XCTRL4A_VRT2 0x80            /* valid ram and time */
  43#define DS_XCTRL4A_INCR 0x40            /* increment progress status */
  44#define DS_XCTRL4A_BME  0x20            /* burst mode enable */
  45#define DS_XCTRL4A_PAB  0x08            /* power active bar ctrl */
  46#define DS_XCTRL4A_RF   0x04            /* ram clear flag */
  47#define DS_XCTRL4A_WF   0x02            /* wake up alarm flag */
  48#define DS_XCTRL4A_KF   0x01            /* kickstart flag */
  49
  50/* interrupt causes */
  51#define DS_XCTRL4A_IFS  (DS_XCTRL4A_RF|DS_XCTRL4A_WF|DS_XCTRL4A_KF)
  52
  53/* extended control register 4b */
  54#define DS_XCTRL4B_ABE  0x80            /* auxiliary battery enable */
  55#define DS_XCTRL4B_E32K 0x40            /* enable 32.768 kHz Output */
  56#define DS_XCTRL4B_CS   0x20            /* crystal select */
  57#define DS_XCTRL4B_RCE  0x10            /* ram clear enable */
  58#define DS_XCTRL4B_PRS  0x08            /* PAB resec select */
  59#define DS_XCTRL4B_RIE  0x04            /* ram clear interrupt enable */
  60#define DS_XCTRL4B_WFE  0x02            /* wake up alarm interrupt enable */
  61#define DS_XCTRL4B_KFE  0x01            /* kickstart interrupt enable */
  62
  63/* interrupt enable bits */
  64#define DS_XCTRL4B_IFES (DS_XCTRL4B_RIE|DS_XCTRL4B_WFE|DS_XCTRL4B_KFE)
  65
  66#endif /* __LINUX_DS17287RTC_H */
  67