mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 23:21:46 +00:00
[PATCH] Add v3020 RTC support
This patch adds support for the v3020 RTC from EM Microelectronic. The v3020 RTC is designed to be connected on a bus using only one data bit. Since any data bit may be used, it is necessary to specify this to the driver by passing a struct v3020_platform_data pointer (see include/linux/rtc-v3020.h) to the driver. Part of the following code comes from the kernel patchs produced by Compulab for their products. The original file (available here: http://raph.people.8d.com/misc/emv3020.c) was released under the terms of the GPL license. [akpm@osdl.org: cleanups] Signed-off-by: Raphael Assenat <raph@raphnet.net> Cc: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
9be05b57bd
commit
362600fe60
4 changed files with 310 additions and 0 deletions
35
include/linux/rtc-v3020.h
Normal file
35
include/linux/rtc-v3020.h
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* v3020.h - Registers definition and platform data structure for the v3020 RTC.
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 2006, 8D Technologies inc.
|
||||
*/
|
||||
#ifndef __LINUX_V3020_H
|
||||
#define __LINUX_V3020_H
|
||||
|
||||
/* The v3020 has only one data pin but which one
|
||||
* is used depends on the board. */
|
||||
struct v3020_platform_data {
|
||||
int leftshift; /* (1<<(leftshift)) & readl() */
|
||||
};
|
||||
|
||||
#define V3020_STATUS_0 0x00
|
||||
#define V3020_STATUS_1 0x01
|
||||
#define V3020_SECONDS 0x02
|
||||
#define V3020_MINUTES 0x03
|
||||
#define V3020_HOURS 0x04
|
||||
#define V3020_MONTH_DAY 0x05
|
||||
#define V3020_MONTH 0x06
|
||||
#define V3020_YEAR 0x07
|
||||
#define V3020_WEEK_DAY 0x08
|
||||
#define V3020_WEEK 0x09
|
||||
|
||||
#define V3020_IS_COMMAND(val) ((val)>=0x0E)
|
||||
|
||||
#define V3020_CMD_RAM2CLOCK 0x0E
|
||||
#define V3020_CMD_CLOCK2RAM 0x0F
|
||||
|
||||
#endif /* __LINUX_V3020_H */
|
Loading…
Add table
Add a link
Reference in a new issue