/* $OpenBSD: ds1687reg.h,v 1.2 2008/03/31 07:14:00 jsing Exp $ */ /* * Copyright (c) 2007, Joel Sing <jsing@openbsd.org> * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* * Register locations/definitions for the Dallas Semiconductor (now Maxim) * DS1685 RTC chip and DS1687 stand-alone RTC EDIP. Product details are * available at: * * http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2757 * * Full data sheet is available from: * * http://datasheets.maxim-ic.com/en/ds/DS1685-DS1687.pdf * * The DS1687 contains a DS1685, which is an improved version of the older * DS1287 RTC. New/extended registers are available by selecting bank 1. * Register values are either in BCD (data mode 0) or binary (data mode 1). */ /* * DS1687 Registers. */ #define DS1687_SEC 0x00 /* Seconds. */ #define DS1687_SEC_ALRM 0x01 /* Alarm seconds. */ #define DS1687_MIN 0x02 /* Minutes. */ #define DS1687_MIN_ALRM 0x03 /* Alarm minutes. */ #define DS1687_HOUR 0x04 /* Hours. */ #define DS1687_HOUR_ALRM 0x05 /* Alarm hours. */ #define DS1687_DOW 0x06 /* Day of week (01-07). */ #define DS1687_DAY 0x07 /* Day (01-31). */ #define DS1687_MONTH 0x08 /* Month (01-12). */ #define DS1687_YEAR 0x09 /* Year (00-99). */ #define DS1687_CTRL_A 0x0a /* Control register A. */ #define DS1687_BANK_1 0x10 /* Bank select. */ #define DS1687_UIP 0x80 /* Update in progress. */ #define DS1687_CTRL_B 0x0b /* Control register B. */ #define DS1687_24_HR 0x02 /* Use 24 hour time. */ #define DS1687_DM_1 0x04 /* Data mode 1 (binary). */ #define DS1687_SET_CLOCK 0x80 /* Prohibit updates. */ #define DS1687_CTRL_C 0x0c /* Control register C. */ #define DS1687_CTRL_D 0x0d /* Control register D. */ #define DS1687_CENTURY 0x48 /* Century (bank 1). */ #define DS1687_DATE_ALRM 0x49 /* Date alarm (bank 1). */ #define DS1687_EXT_CTRL 0x4a /* Extended control register. */ #define DS1687_KICKSTART 0x01 /* Kickstart flag. */