blob: 8ba646e610d9232ce6b9b1a0bff42844a866b456 [file] [log] [blame]
Raphael Assenat362600f2006-06-25 05:48:24 -07001/*
2 * v3020.h - Registers definition and platform data structure for the v3020 RTC.
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 * Copyright (C) 2006, 8D Technologies inc.
9 */
10#ifndef __LINUX_V3020_H
11#define __LINUX_V3020_H
12
13/* The v3020 has only one data pin but which one
14 * is used depends on the board. */
15struct v3020_platform_data {
16 int leftshift; /* (1<<(leftshift)) & readl() */
Mike Rapoport96615842009-04-02 16:57:01 -070017
18 int use_gpio:1;
19 unsigned int gpio_cs;
20 unsigned int gpio_wr;
21 unsigned int gpio_rd;
22 unsigned int gpio_io;
Raphael Assenat362600f2006-06-25 05:48:24 -070023};
24
25#define V3020_STATUS_0 0x00
26#define V3020_STATUS_1 0x01
27#define V3020_SECONDS 0x02
28#define V3020_MINUTES 0x03
29#define V3020_HOURS 0x04
30#define V3020_MONTH_DAY 0x05
31#define V3020_MONTH 0x06
32#define V3020_YEAR 0x07
33#define V3020_WEEK_DAY 0x08
34#define V3020_WEEK 0x09
35
36#define V3020_IS_COMMAND(val) ((val)>=0x0E)
37
38#define V3020_CMD_RAM2CLOCK 0x0E
39#define V3020_CMD_CLOCK2RAM 0x0F
40
41#endif /* __LINUX_V3020_H */