Home | History | Annotate | Line # | Download | only in i2c
pcf8583reg.h revision 1.2.126.1
      1  1.2.126.1    rmind /*	$NetBSD: pcf8583reg.h,v 1.2.126.1 2013/08/28 23:59:25 rmind Exp $	*/
      2        1.1  thorpej 
      3        1.1  thorpej /*
      4        1.1  thorpej  * Ben Harris, 2000
      5        1.1  thorpej  *
      6        1.1  thorpej  * This file is in the public domain
      7        1.1  thorpej  */
      8        1.1  thorpej 
      9        1.1  thorpej /*
     10        1.1  thorpej  * Philips PCF8583 RTC registers
     11        1.1  thorpej  */
     12        1.1  thorpej 
     13        1.1  thorpej /* We only have clock mode registers here */
     14        1.1  thorpej 
     15        1.1  thorpej #ifndef _PCF8583REG_H
     16        1.1  thorpej #define _PCF8583REG_H
     17        1.1  thorpej 
     18        1.1  thorpej /*
     19        1.1  thorpej  * PCF8583 RTC I2C address:
     20        1.1  thorpej  *
     21        1.1  thorpej  *	101 0000
     22        1.1  thorpej  */
     23  1.2.126.1    rmind #define PCF8583_ADDRMASK	0x3ff
     24        1.1  thorpej #define PCF8583_ADDR		0x50
     25        1.1  thorpej 
     26        1.1  thorpej #define PCF8583_REG_CSR		0x00
     27        1.1  thorpej #define PCF8583_REG_CENTI	0x01
     28        1.1  thorpej #define PCF8583_REG_SEC		0x02
     29        1.1  thorpej #define PCF8583_REG_MIN		0x03
     30        1.1  thorpej #define PCF8583_REG_HOUR	0x04
     31        1.1  thorpej #define PCF8583_REG_YEARDATE	0x05
     32        1.1  thorpej #define PCF8583_REG_WKDYMON	0x06
     33        1.1  thorpej #define PCF8583_REG_TIMER	0x07
     34        1.1  thorpej #define PCF8583_REG_ALMCTL	0x08
     35        1.1  thorpej #define PCF8583_REG_ALMCENTI	0x09
     36        1.1  thorpej #define PCF8583_REG_ALMSEC	0x0a
     37        1.1  thorpej #define PCF8583_REG_ALMMIN	0x0b
     38        1.1  thorpej #define PCF8583_REG_ALMHOUR	0x0c
     39        1.1  thorpej #define PCF8583_REG_ALMDAY	0x0d
     40        1.1  thorpej #define PCF8583_REG_ALMMON	0x0e
     41        1.1  thorpej #define PCF8583_REG_ALMTIMER	0x0f
     42        1.1  thorpej 
     43        1.1  thorpej #define	PCF8583_NVRAM_START	0x10
     44        1.1  thorpej #define	PCF8583_NVRAM_SIZE	240
     45        1.1  thorpej 
     46        1.1  thorpej #define PCF8583_CSR_TIMER	0x01
     47        1.1  thorpej #define PCF8583_CSR_SECTICK	0x01
     48        1.1  thorpej #define PCF8583_CSR_ALARM	0x02
     49        1.1  thorpej #define PCF8583_CSR_MINTICK	0x02
     50        1.1  thorpej #define PCF8583_CSR_ALARMENABLE	0x04
     51        1.1  thorpej #define PCF8583_CSR_MASK	0x08
     52        1.1  thorpej #define PCF8583_CSR_FN_MASK	0x30
     53        1.1  thorpej #define PCF8583_CSR_FN_32768HZ	0x00
     54        1.1  thorpej #define PCF8583_CSR_FN_50HZ	0x10
     55        1.1  thorpej #define PCF8583_CSR_FN_EVENT	0x20
     56        1.1  thorpej #define PCF8583_CSR_FN_TEST	0x30
     57        1.1  thorpej #define PCF8583_CSR_HOLD	0x40
     58        1.1  thorpej #define PCF8583_CSR_STOP	0x80
     59        1.1  thorpej 
     60        1.1  thorpej #define PCF8583_HOUR_MASK	0x3f
     61        1.1  thorpej #define PCF8583_HOUR_PM		0x40
     62        1.1  thorpej #define PCF8583_HOUR_12H	0x80
     63        1.1  thorpej 
     64        1.1  thorpej #define PCF8583_DATE_MASK	0x3f
     65        1.1  thorpej #define PCF8583_YEAR_MASK	0xc0
     66        1.1  thorpej #define PCF8583_YEAR_SHIFT	6
     67        1.1  thorpej 
     68        1.1  thorpej #define PCF8583_MON_MASK	0x1f
     69        1.1  thorpej #define PCF8583_WKDY_MASK	0xe0
     70        1.1  thorpej #define PCF8583_WKDY_SHIFT	5
     71        1.1  thorpej 
     72        1.1  thorpej #define PCF8583_ALMCTL_TIMER_MASK	0x07
     73        1.1  thorpej #define PCF8583_ALMCTL_TIMER_OFF	0x00
     74        1.1  thorpej #define PCF8583_ALMCTL_TIMER_CENTI	0x01
     75        1.1  thorpej #define PCF8583_ALMCTL_TIMER_SEC	0x02
     76        1.1  thorpej #define PCF8583_ALMCTL_TIMER_MIN	0x03
     77        1.1  thorpej #define PCF8583_ALMCTL_TIMER_HOUR	0x04
     78        1.1  thorpej #define PCF8583_ALMCTL_TIMER_DAY	0x05
     79        1.1  thorpej #define PCF8583_ALMCTL_TIMER_TEST	0x07
     80        1.1  thorpej #define PCF8583_ALMCTL_TIMERINT		0x08
     81        1.1  thorpej #define PCF8583_ALMCTL_CLKALM_MASK	0x30
     82        1.1  thorpej #define PCF8583_ALMCTL_CLKALM_NONE	0x00
     83        1.1  thorpej #define PCF8583_ALMCTL_CLKALM_DAILY	0x10
     84        1.1  thorpej #define PCF8583_ALMCTL_CLKALM_WKDY	0x20
     85        1.1  thorpej #define PCF8583_ALMCTL_CLKALM_DATED	0x30
     86        1.1  thorpej #define PCF8583_ALMCTL_TIMERALM		0x40
     87        1.1  thorpej #define PCF8583_ALMCTL_ALMINT		0x80
     88        1.1  thorpej 
     89        1.1  thorpej #endif	/* _PCF8583REG_H */
     90