~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to include/linux/rtc/m48t59.h

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * include/linux/rtc/m48t59.h
 
3
 *
 
4
 * Definitions for the platform data of m48t59 RTC chip driver.
 
5
 *
 
6
 * Copyright (c) 2007 Wind River Systems, Inc.
 
7
 *
 
8
 * Mark Zhan <rongkai.zhan@windriver.com>
 
9
 *
 
10
 * This program is free software; you can redistribute it and/or modify
 
11
 * it under the terms of the GNU General Public License version 2 as
 
12
 * published by the Free Software Foundation.
 
13
 */
 
14
 
 
15
#ifndef _LINUX_RTC_M48T59_H_
 
16
#define _LINUX_RTC_M48T59_H_
 
17
 
 
18
/*
 
19
 * M48T59 Register Offset
 
20
 */
 
21
#define M48T59_YEAR             0xf
 
22
#define M48T59_MONTH            0xe
 
23
#define M48T59_MDAY             0xd     /* Day of Month */
 
24
#define M48T59_WDAY             0xc     /* Day of Week */
 
25
#define M48T59_WDAY_CB                  0x20    /* Century Bit */
 
26
#define M48T59_WDAY_CEB                 0x10    /* Century Enable Bit */
 
27
#define M48T59_HOUR             0xb
 
28
#define M48T59_MIN              0xa
 
29
#define M48T59_SEC              0x9
 
30
#define M48T59_CNTL             0x8
 
31
#define M48T59_CNTL_READ                0x40
 
32
#define M48T59_CNTL_WRITE               0x80
 
33
#define M48T59_WATCHDOG         0x7
 
34
#define M48T59_INTR             0x6
 
35
#define M48T59_INTR_AFE                 0x80    /* Alarm Interrupt Enable */
 
36
#define M48T59_INTR_ABE                 0x20
 
37
#define M48T59_ALARM_DATE       0x5
 
38
#define M48T59_ALARM_HOUR       0x4
 
39
#define M48T59_ALARM_MIN        0x3
 
40
#define M48T59_ALARM_SEC        0x2
 
41
#define M48T59_UNUSED           0x1
 
42
#define M48T59_FLAGS            0x0
 
43
#define M48T59_FLAGS_WDT                0x80    /* watchdog timer expired */
 
44
#define M48T59_FLAGS_AF                 0x40    /* alarm */
 
45
#define M48T59_FLAGS_BF                 0x10    /* low battery */
 
46
 
 
47
#define M48T59RTC_TYPE_M48T59   0 /* to keep compatibility */
 
48
#define M48T59RTC_TYPE_M48T02   1
 
49
#define M48T59RTC_TYPE_M48T08   2
 
50
 
 
51
struct m48t59_plat_data {
 
52
        /* The method to access M48T59 registers */
 
53
        void (*write_byte)(struct device *dev, u32 ofs, u8 val);
 
54
        unsigned char (*read_byte)(struct device *dev, u32 ofs);
 
55
 
 
56
        int type; /* RTC model */
 
57
 
 
58
        /* ioaddr mapped externally */
 
59
        void __iomem *ioaddr;
 
60
        /* offset to RTC registers, automatically set according to the type */
 
61
        unsigned int offset;
 
62
};
 
63
 
 
64
#endif /* _LINUX_RTC_M48T59_H_ */