1 /* Copyright (c) 2019-2025 Allwinner Technology Co., Ltd. ALL rights reserved.
2 
3  * Allwinner is a trademark of Allwinner Technology Co.,Ltd., registered in
4  * the the People's Republic of China and other countries.
5  * All Allwinner Technology Co.,Ltd. trademarks are used with permission.
6 
7  * DISCLAIMER
8  * THIRD PARTY LICENCES MAY BE REQUIRED TO IMPLEMENT THE SOLUTION/PRODUCT.
9  * IF YOU NEED TO INTEGRATE THIRD PARTY¡¯S TECHNOLOGY (SONY, DTS, DOLBY, AVS OR MPEGLA, ETC.)
10  * IN ALLWINNERS¡¯SDK OR PRODUCTS, YOU SHALL BE SOLELY RESPONSIBLE TO OBTAIN
11  * ALL APPROPRIATELY REQUIRED THIRD PARTY LICENCES.
12  * ALLWINNER SHALL HAVE NO WARRANTY, INDEMNITY OR OTHER OBLIGATIONS WITH RESPECT TO MATTERS
13  * COVERED UNDER ANY REQUIRED THIRD PARTY LICENSE.
14  * YOU ARE SOLELY RESPONSIBLE FOR YOUR USAGE OF THIRD PARTY¡¯S TECHNOLOGY.
15 
16 
17  * THIS SOFTWARE IS PROVIDED BY ALLWINNER"AS IS" AND TO THE MAXIMUM EXTENT
18  * PERMITTED BY LAW, ALLWINNER EXPRESSLY DISCLAIMS ALL WARRANTIES OF ANY KIND,
19  * WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION REGARDING
20  * THE TITLE, NON-INFRINGEMENT, ACCURACY, CONDITION, COMPLETENESS, PERFORMANCE
21  * OR MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
22  * IN NO EVENT SHALL ALLWINNER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25  * LOSS OF USE, DATA, OR PROFITS, OR BUSINESS INTERRUPTION)
26  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
27  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
29  * OF THE POSSIBILITY OF SUCH DAMAGE.
30 
31  */
32 
33 #ifndef __RTC_SUN8IW19_H__
34 #define __RTC_SUN8IW19_H__
35 
36 #define BIT(nr)     (1UL << (nr))
37 
38 #define SUNXI_RTC_BASE      0x07000000
39 #define SUNXI_RTC_DATA_BASE     (SUNXI_RTC_BASE+0x100)
40 
41 #define SUNXI_GIC_START 32
42 #define SUXNI_IRQ_RTC (SUNXI_GIC_START + 105)
43 
44 #define SUNXI_SIMPLIFIED_TIMER
45 
46 #define SUNXI_RTC_YMD               0x0010
47 
48 #define SUNXI_RTC_HMS               0x0014
49 
50 #define SUNXI_ALRM_DAY              0X0020
51 #define SUNXI_ALRM_COUNTER                      0x0020
52 #define SUNXI_ALRM_CURRENT                      0x0024
53 #define SUNXI_ALRM_HMS              0X0024
54 
55 #define SUNXI_ALRM_EN                           0x0028
56 #define SUNXI_ALRM_EN_CNT_EN                    BIT(0)
57 
58 #define SUNXI_ALRM_IRQ_EN                       0x002c
59 #define SUNXI_ALRM_IRQ_EN_CNT_IRQ_EN            BIT(0)
60 
61 #define SUNXI_ALRM_IRQ_STA                      0x0030
62 #define SUNXI_ALRM_IRQ_STA_CNT_IRQ_PEND         BIT(0)
63 
64 #define SUNXI_LOSC_CTRL             0x0000
65 #define SUNXI_LOSC_CTRL_RTC_ALARM_ACC       BIT(9)
66 #define SUNXI_LOSC_CTRL_RTC_HMS_ACC     BIT(8)
67 #define SUNXI_LOSC_CTRL_RTC_YMD_ACC     BIT(7)
68 #define REG_LOSCCTRL_MAGIC          0x16aa0000
69 #define REG_CLK32K_AUTO_SWT_EN          BIT(14)
70 #define REG_CLK32K_AUTO_SWT_BYPASS      BIT(15)
71 #define RTC_SOURCE_EXTERNAL         0x00000001
72 #define EXT_LOSC_GSM                0x00000008
73 #define SUNXI_ALARM_CONFIG                      0x0050
74 #define SUNXI_ALRM_WAKEUP_OUTPUT_EN             BIT(0)
75 
76 #endif /* __RTC-SUN8IW19_H__ */
77