RTEMS 7.0-rc1
Loading...
Searching...
No Matches
pcf8563.h
1/* SPDX-License-Identifier: GPL-2.0+-with-RTEMS-exception */
2
3/*
4 * RTEMS generic MPC5200 BSP
5 *
6 * This file contains declarations for the pcf8563 RTC driver.
7 *
8 * Based on:
9 * This file contains the definitions for Dallas Semiconductor
10 * DS1307/DS1308 serial real-time clock/NVRAM.
11 */
12
13/*
14 * Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia
15 * Author: Victor V. Vengerov <vvv@oktet.ru>
16 * Copyright (c) 2005 embedded brains GmbH & Co. KG
17 *
18 * The license and distribution terms for this file may be
19 * found in the file LICENSE in this distribution or at
20 * http://www.rtems.org/license/LICENSE.
21 */
22
23#ifndef __RTC_PCF8563__
24#define __RTC_PCF8563__
25
26#define PCF8563_I2C_ADDRESS (0xA2) /* I2C bus address assigned to PCF8563 */
27
28#define PCF8563_CONTROL1_ADR (0x00)
29#define PCF8563_CONTROL1_TEST1 (0x80) /* EXT_CLK test mode */
30#define PCF8563_CONTROL1_STOP (0x20) /* stop RTC source clock, clear divider*/
31#define PCF8563_CONTROL1_TESTC (0x08) /* enable power-on reset override */
32 /***********/
33#define PCF8563_CONTROL2_ADR (0x01)
34#define PCF8563_CONTROL2_TITP (0x10) /* 0: int output is level */
35#define PCF8563_CONTROL2_AF (0x08) /* alarm flag */
36#define PCF8563_CONTROL2_TF (0x04) /* timer flag */
37#define PCF8563_CONTROL2_AIE (0x02) /* alarm interrupt enable */
38#define PCF8563_CONTROL2_TIE (0x01) /* timer interrupt enable */
39 /***********/
40
41#define PCF8563_SECOND_ADR (0x02)
42#define PCF8563_SECOND_VL (0x80) /* clock integrity no longer guaranteed */
43#define PCF8563_SECOND_MASK (0x7f)
44 /***********/
45
46#define PCF8563_MINUTE_ADR (0x03)
47#define PCF8563_MINUTE_MASK (0x7f)
48 /***********/
49
50#define PCF8563_HOUR_ADR (0x04)
51#define PCF8563_HOUR_MASK (0x3f)
52 /***********/
53
54#define PCF8563_DAY_ADR (0x05)
55#define PCF8563_DAY_MASK (0x3f)
56
57#define PCF8563_DAY_OF_WEEK_ADR (0x06)
58#define PCF8563_DAY_OF_WEEK_MASK (0x07)
59
60#define PCF8563_MONTH_ADR (0x07)
61#define PCF8563_MONTH_MASK (0x1f)
62#define PCF8563_MONTH_CENTURY (0x80)
63 /***********/
64
65#define PCF8563_YEAR_ADR (0x08)
66#define PCF8563_YEAR_MASK (0xff)
67
68#define PCF8563_MINUTE_ALARM_ADR (0x09)
69#define PCF8563_HOUR_ALARM_ADR (0x0A)
70#define PCF8563_DAY_ALARM_ADR (0x0B)
71#define PCF8563_DAY_OF_WEEK_ALARM_ADR (0x0C)
72#define PCF8563_XXX_ALARM_AE (0x80)
73 /***********/
74
75#define PCF8563_CLKOUTCTL_ADR (0x0D)
76#define PCF8563_CLKOUTCTL_FE (0x80) /* */
77#define PCF8563_CLKOUTCTL_FD (0x03) /* */
78 /***********/
79
80#define PCF8563_TIMERCTL_ADR (0x0E)
81#define PCF8563_TIMERCTL_FE (0x80) /* */
82#define PCF8563_TIMERCTL_FD (0x03) /* */
83 /***********/
84
85#define PCF8563_TIMER_ADR (0x0F)
86
87#endif /* __RTC_PCF8563__ */