Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:53

0001 /*
0002  * RTEMS generic MPC5200 BSP
0003  *
0004  * This file contains declarations for the pcf8563 RTC driver.
0005  *
0006  * Based on:
0007  * This file contains the definitions for Dallas Semiconductor
0008  * DS1307/DS1308 serial real-time clock/NVRAM.
0009  */
0010 
0011 /*
0012  * Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia
0013  * Author: Victor V. Vengerov <vvv@oktet.ru>
0014  * Copyright (c) 2005 embedded brains GmbH & Co. KG
0015  *
0016  * The license and distribution terms for this file may be
0017  * found in the file LICENSE in this distribution or at
0018  * http://www.rtems.org/license/LICENSE.
0019  */
0020 
0021 #ifndef __RTC_PCF8563__
0022 #define __RTC_PCF8563__
0023 
0024 #define PCF8563_I2C_ADDRESS  (0xA2) /* I2C bus address assigned to PCF8563 */
0025 
0026 #define PCF8563_CONTROL1_ADR   (0x00)
0027 #define PCF8563_CONTROL1_TEST1 (0x80) /* EXT_CLK test mode */
0028 #define PCF8563_CONTROL1_STOP  (0x20) /* stop RTC source clock, clear divider*/
0029 #define PCF8563_CONTROL1_TESTC (0x08) /* enable power-on reset override */
0030                                       /***********/
0031 #define PCF8563_CONTROL2_ADR   (0x01)
0032 #define PCF8563_CONTROL2_TITP  (0x10) /* 0: int output is level */
0033 #define PCF8563_CONTROL2_AF    (0x08) /* alarm flag */
0034 #define PCF8563_CONTROL2_TF    (0x04) /* timer flag */
0035 #define PCF8563_CONTROL2_AIE   (0x02) /* alarm interrupt enable */
0036 #define PCF8563_CONTROL2_TIE   (0x01) /* timer interrupt enable */
0037                                       /***********/
0038 
0039 #define PCF8563_SECOND_ADR   (0x02)
0040 #define PCF8563_SECOND_VL    (0x80) /* clock integrity no longer guaranteed */
0041 #define PCF8563_SECOND_MASK  (0x7f)
0042                                       /***********/
0043 
0044 #define PCF8563_MINUTE_ADR   (0x03)
0045 #define PCF8563_MINUTE_MASK  (0x7f)
0046                                       /***********/
0047 
0048 #define PCF8563_HOUR_ADR     (0x04)
0049 #define PCF8563_HOUR_MASK    (0x3f)
0050                                       /***********/
0051 
0052 #define PCF8563_DAY_ADR      (0x05)
0053 #define PCF8563_DAY_MASK     (0x3f)
0054 
0055 #define PCF8563_DAY_OF_WEEK_ADR  (0x06)
0056 #define PCF8563_DAY_OF_WEEK_MASK (0x07)
0057 
0058 #define PCF8563_MONTH_ADR    (0x07)
0059 #define PCF8563_MONTH_MASK   (0x1f)
0060 #define PCF8563_MONTH_CENTURY (0x80)
0061                                       /***********/
0062 
0063 #define PCF8563_YEAR_ADR     (0x08)
0064 #define PCF8563_YEAR_MASK    (0xff)
0065 
0066 #define PCF8563_MINUTE_ALARM_ADR      (0x09)
0067 #define PCF8563_HOUR_ALARM_ADR        (0x0A)
0068 #define PCF8563_DAY_ALARM_ADR         (0x0B)
0069 #define PCF8563_DAY_OF_WEEK_ALARM_ADR (0x0C)
0070 #define PCF8563_XXX_ALARM_AE          (0x80)
0071                                       /***********/
0072 
0073 #define PCF8563_CLKOUTCTL_ADR  (0x0D)
0074 #define PCF8563_CLKOUTCTL_FE   (0x80) /*  */
0075 #define PCF8563_CLKOUTCTL_FD   (0x03) /*  */
0076                                       /***********/
0077 
0078 #define PCF8563_TIMERCTL_ADR   (0x0E)
0079 #define PCF8563_TIMERCTL_FE    (0x80) /*  */
0080 #define PCF8563_TIMERCTL_FD    (0x03) /*  */
0081                                       /***********/
0082 
0083 #define PCF8563_TIMER_ADR      (0x0F)
0084 
0085 #endif /* __RTC_PCF8563__ */