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_SUN20IW1_H__
34 #define __RTC_SUN20IW1_H__
35 
36 #undef BIT
37 #define BIT(nr)     (1UL << (nr))
38 
39 #define SUNXI_RTC_BASE      0x07090000
40 #define SUNXI_RTC_DATA_BASE     (SUNXI_RTC_BASE+0x100)
41 
42 #define SUNXI_GIC_START 32
43 #define SUXNI_IRQ_RTC (SUNXI_GIC_START + 128)
44 
45 #define SUNXI_SIMPLIFIED_TIMER      1
46 
47 #define SUNXI_RTC_YMD               0x0010
48 
49 #define SUNXI_RTC_HMS               0x0014
50 
51 #define SUNXI_ALRM_DAY              0X0020
52 #define SUNXI_ALRM_COUNTER                      0x0020
53 #define SUNXI_ALRM_CURRENT                      0x0024
54 #define SUNXI_ALRM_HMS              0X0024
55 
56 #define SUNXI_ALRM_EN                           0x0028
57 #define SUNXI_ALRM_EN_CNT_EN                    BIT(0)
58 
59 #define SUNXI_ALRM_IRQ_EN                       0x002c
60 #define SUNXI_ALRM_IRQ_EN_CNT_IRQ_EN            BIT(0)
61 
62 #define SUNXI_ALRM_IRQ_STA                      0x0030
63 #define SUNXI_ALRM_IRQ_STA_CNT_IRQ_PEND         BIT(0)
64 
65 #define SUNXI_LOSC_CTRL             0x0000
66 //#define SUNXI_LOSC_CTRL_RTC_ALARM_ACC       BIT(9)
67 #define SUNXI_LOSC_CTRL_RTC_HMS_ACC     BIT(8)
68 #define SUNXI_LOSC_CTRL_RTC_YMD_ACC     BIT(7)
69 #define REG_LOSCCTRL_MAGIC          0x16aa0000
70 #define REG_CLK32K_AUTO_SWT_EN          BIT(14)
71 #define REG_CLK32K_AUTO_SWT_BYPASS      BIT(15)
72 #define RTC_SOURCE_EXTERNAL         0x00000001
73 #define EXT_LOSC_GSM                0x00000008
74 #define SUNXI_ALARM_CONFIG                      0x0050
75 #define SUNXI_ALRM_WAKEUP_OUTPUT_EN             BIT(0)
76 
77 #endif /* __RTC-SUN20IW1_H__ */
78