1 1.1 shige /* $NetBSD: r2025reg.h,v 1.1 2006/03/06 19:55:08 shige Exp $ */ 2 1.1 shige 3 1.1 shige /*- 4 1.1 shige * Copyright (c) 2006 Shigeyuki Fukushima. 5 1.1 shige * All rights reserved. 6 1.1 shige * 7 1.1 shige * Written by Shigeyuki Fukushima. 8 1.1 shige * 9 1.1 shige * Redistribution and use in source and binary forms, with or without 10 1.1 shige * modification, are permitted provided that the following conditions 11 1.1 shige * are met: 12 1.1 shige * 1. Redistributions of source code must retain the above copyright 13 1.1 shige * notice, this list of conditions and the following disclaimer. 14 1.1 shige * 2. Redistributions in binary form must reproduce the above 15 1.1 shige * copyright notice, this list of conditions and the following 16 1.1 shige * disclaimer in the documentation and/or other materials provided 17 1.1 shige * with the distribution. 18 1.1 shige * 3. The name of the author may not be used to endorse or promote 19 1.1 shige * products derived from this software without specific prior 20 1.1 shige * written permission. 21 1.1 shige * 22 1.1 shige * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 23 1.1 shige * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 24 1.1 shige * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25 1.1 shige * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 26 1.1 shige * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27 1.1 shige * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 28 1.1 shige * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 29 1.1 shige * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 30 1.1 shige * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 31 1.1 shige * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 32 1.1 shige * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 33 1.1 shige */ 34 1.1 shige 35 1.1 shige #ifndef _DEV_I2C_R2025REG_H_ 36 1.1 shige #define _DEV_I2C_R2025REG_H_ 37 1.1 shige 38 1.1 shige /* 39 1.1 shige * R2025S/D Real-Time Clock 40 1.1 shige */ 41 1.1 shige 42 1.1 shige /* I2C Slave Address */ 43 1.1 shige #define R2025_ADDR 0x32 44 1.1 shige 45 1.1 shige /* Register size */ 46 1.1 shige #define R2025_REG_SIZE 16 47 1.1 shige 48 1.1 shige #define R2025_CLK_SIZE 7 /* 7bytes: 0x0-0x6 */ 49 1.1 shige 50 1.1 shige /* Registers */ 51 1.1 shige #define R2025_REG_SEC 0x0 52 1.1 shige #define R2025_REG_MIN 0x1 53 1.1 shige #define R2025_REG_HOUR 0x2 54 1.1 shige #define R2025_REG_WDAY 0x3 55 1.1 shige #define R2025_REG_DAY 0x4 56 1.1 shige #define R2025_REG_MON 0x5 57 1.1 shige #define R2025_REG_YEAR 0x6 58 1.1 shige #define R2025_REG_CORRECTCLOCK 0x7 59 1.1 shige #define R2025_REG_ALARMW_MIN 0x8 60 1.1 shige #define R2025_REG_ALARMW_HOUR 0x9 61 1.1 shige #define R2025_REG_ALARMW_WDAY 0xa 62 1.1 shige #define R2025_REG_ALARMD_MIN 0xb 63 1.1 shige #define R2025_REG_ALARMD_HOUR 0xc 64 1.1 shige #define R2025_REG_RESERVED 0xd 65 1.1 shige #define R2025_REG_CTRL1 0xe 66 1.1 shige #define R2025_REG_CTRL2 0xf 67 1.1 shige 68 1.1 shige 69 1.1 shige /* Register mask */ 70 1.1 shige #define R2025_REG_SEC_MASK 0x7f 71 1.1 shige #define R2025_REG_MIN_MASK 0x7f 72 1.1 shige #define R2025_REG_HOUR_MASK 0x3f 73 1.1 shige #define R2025_REG_WDAY_MASK 0x07 74 1.1 shige #define R2025_REG_DAY_MASK 0x3f 75 1.1 shige #define R2025_REG_MON_MASK 0x1f 76 1.1 shige #define R2025_REG_YEAR_MASK 0xff 77 1.1 shige #define R2025_REG_CORRECTCLOCK_MASK 0x7f 78 1.1 shige #define R2025_REG_ALARMW_MIN_MASK 0x7f 79 1.1 shige #define R2025_REG_ALARMW_HOUR_MASK 0x3f 80 1.1 shige #define R2025_REG_ALARMW_WDAY_MASK 0x7f 81 1.1 shige #define R2025_REG_ALARMD_MIN_MASK 0x7f 82 1.1 shige #define R2025_REG_ALARMD_HOUR_MASK 0x3f 83 1.1 shige #define R2025_REG_CTRL1_MASK 0xff 84 1.1 shige #define R2025_REG_CTRL2_MASK 0xff 85 1.1 shige 86 1.1 shige /* Register flag: R2025_MON */ 87 1.1 shige #define R2025_REG_MON_Y1920 (1u << 7) 88 1.1 shige 89 1.1 shige /* Register flag: R2025_CTRL1 */ 90 1.1 shige #define R2025_REG_CTRL1_WALE (1u << 7) 91 1.1 shige #define R2025_REG_CTRL1_DALE (1u << 6) 92 1.1 shige #define R2025_REG_CTRL1_H1224 (1u << 5) 93 1.1 shige #define R2025_REG_CTRL1_CLEN2 (1u << 4) 94 1.1 shige #define R2025_REG_CTRL1_TEST (1u << 3) 95 1.1 shige #define R2025_REG_CTRL1_CT2 (1u << 2) 96 1.1 shige #define R2025_REG_CTRL1_CT1 (1u << 1) 97 1.1 shige #define R2025_REG_CTRL1_CT0 (1u << 0) 98 1.1 shige 99 1.1 shige /* Register flag: R2025_CTRL2 */ 100 1.1 shige #define R2025_REG_CTRL2_VDSL (1u << 7) 101 1.1 shige #define R2025_REG_CTRL2_VDET (1u << 6) 102 1.1 shige #define R2025_REG_CTRL2_XST (1u << 5) 103 1.1 shige #define R2025_REG_CTRL2_PON (1u << 4) 104 1.1 shige #define R2025_REG_CTRL2_CLEN1 (1u << 3) 105 1.1 shige #define R2025_REG_CTRL2_CTFG (1u << 2) 106 1.1 shige #define R2025_REG_CTRL2_WAFG (1u << 1) 107 1.1 shige #define R2025_REG_CTRL2_DAFG (1u << 0) 108 1.1 shige 109 1.1 shige #endif /* _DEV_I2C_R2025REG_H_ */ 110