| Raphael Assenat | 362600f | 2006-06-25 05:48:24 -0700 | [diff] [blame] | 1 | /* | 
 | 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. */ | 
 | 15 | struct v3020_platform_data { | 
 | 16 | 	int leftshift; /* (1<<(leftshift)) & readl() */ | 
| Mike Rapoport | 9661584 | 2009-04-02 16:57:01 -0700 | [diff] [blame] | 17 |  | 
| Bill Pemberton | 758ef74 | 2010-04-30 09:34:38 -0400 | [diff] [blame] | 18 | 	unsigned int use_gpio:1; | 
| Mike Rapoport | 9661584 | 2009-04-02 16:57:01 -0700 | [diff] [blame] | 19 | 	unsigned int gpio_cs; | 
 | 20 | 	unsigned int gpio_wr; | 
 | 21 | 	unsigned int gpio_rd; | 
 | 22 | 	unsigned int gpio_io; | 
| Raphael Assenat | 362600f | 2006-06-25 05:48:24 -0700 | [diff] [blame] | 23 | }; | 
 | 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 */ |