[BACK]Return to mk48txxreg.h CVS log [TXT][DIR] Up to [local] / sys / dev / ic

Annotation of sys/dev/ic/mk48txxreg.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: mk48txxreg.h,v 1.3 2002/03/19 01:48:47 jason Exp $    */
                      2: /*     $NetBSD: mk48txxreg.h,v 1.4 2000/11/11 11:59:42 pk Exp $ */
                      3: /*-
                      4:  * Copyright (c) 2000 The NetBSD Foundation, Inc.
                      5:  * All rights reserved.
                      6:  *
                      7:  * This code is derived from software contributed to The NetBSD Foundation
                      8:  * by Paul Kranenburg.
                      9:  *
                     10:  * Redistribution and use in source and binary forms, with or without
                     11:  * modification, are permitted provided that the following conditions
                     12:  * are met:
                     13:  * 1. Redistributions of source code must retain the above copyright
                     14:  *    notice, this list of conditions and the following disclaimer.
                     15:  * 2. Redistributions in binary form must reproduce the above copyright
                     16:  *    notice, this list of conditions and the following disclaimer in the
                     17:  *    documentation and/or other materials provided with the distribution.
                     18:  * 3. All advertising materials mentioning features or use of this software
                     19:  *    must display the following acknowledgement:
                     20:  *        This product includes software developed by the NetBSD
                     21:  *        Foundation, Inc. and its contributors.
                     22:  * 4. Neither the name of The NetBSD Foundation nor the names of its
                     23:  *    contributors may be used to endorse or promote products derived
                     24:  *    from this software without specific prior written permission.
                     25:  *
                     26:  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
                     27:  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
                     28:  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
                     29:  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
                     30:  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
                     31:  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
                     32:  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
                     33:  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
                     34:  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
                     35:  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
                     36:  * POSSIBILITY OF SUCH DAMAGE.
                     37:  */
                     38:
                     39: /*
                     40:  * Mostek MK48Txx clocks.
                     41:  *
                     42:  * The MK48T02 has 2KB of non-volatile memory. The time-of-day clock
                     43:  * registers start at offset 0x7f8.
                     44:  *
                     45:  * The MK48T08 and MK48T18 have 8KB of non-volatile memory
                     46:  *
                     47:  * The MK48T59 also has 8KB of non-volatile memory but in addition it
                     48:  * has a battery low detection bit and a power supply wakeup alarm for
                     49:  * power management.  It's at offset 0x1ff0 in the NVRAM.
                     50:  */
                     51:
                     52: /*
                     53:  * Mostek MK48TXX register definitions
                     54:  */
                     55:
                     56: /*
                     57:  * The first bank of eight registers at offset (nvramsz - 16) is
                     58:  * available only on recenter (which??) MK48Txx models.
                     59:  */
                     60: #define MK48TXX_X0     0       /* find out later */
                     61:                                /* ... */
                     62: #define MK48TXX_X7     7       /* find out later */
                     63: #define MK48TXX_ICSR   8       /* control register */
                     64: #define MK48TXX_ISEC   9       /* seconds (0..59; BCD) */
                     65: #define MK48TXX_IMIN   10      /* minutes (0..59; BCD) */
                     66: #define MK48TXX_IHOUR  11      /* hour (0..23; BCD) */
                     67: #define MK48TXX_IWDAY  12      /* weekday (1..7) */
                     68: #define MK48TXX_IDAY   13      /* day in month (1..31; BCD) */
                     69: #define MK48TXX_IMON   14      /* month (1..12; BCD) */
                     70: #define MK48TXX_IYEAR  15      /* year (0..99; BCD) */
                     71:
                     72: /* Bits in the control register */
                     73: #define MK48TXX_CSR_WRITE      0x80    /* want to write */
                     74: #define MK48TXX_CSR_READ       0x40    /* want to read (freeze clock) */
                     75:
                     76: #define MK48T02_CLKSZ          2048
                     77: #define MK48T02_CLKOFF         0x7f0
                     78:
                     79: #define MK48T08_CLKSZ          8192
                     80: #define MK48T08_CLKOFF         0x1ff0
                     81:
                     82: #define MK48T18_CLKSZ          8192
                     83: #define MK48T18_CLKOFF         0x1ff0
                     84:
                     85: #define MK48T59_CLKSZ          8192
                     86: #define MK48T59_CLKOFF         0x1ff0
                     87:
                     88: /* Chip attach function */
                     89: todr_chip_handle_t mk48txx_attach(bus_space_tag_t, bus_space_handle_t,
                     90:                                  const char *, int);
                     91:
                     92: /* Retrieve size of the on-chip NVRAM area */
                     93: int    mk48txx_get_nvram_size(todr_chip_handle_t, bus_size_t *);

CVSweb