1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * (C) Copyright 2001 Sysgo Real-Time Solutions, GmbH <www.elinos.com> 3*4882a593Smuzhiyun * Andreas Heppel <aheppel@sysgo.de> 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * SPDX-License-Identifier: GPL-2.0+ 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun /* 9*4882a593Smuzhiyun * Date & Time support for the MK48T59 RTC 10*4882a593Smuzhiyun */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #if defined(CONFIG_RTC_MK48T59) && defined(CONFIG_CMD_DATE) 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun #define RTC_PORT_ADDR0 CONFIG_SYS_ISA_IO + 0x70 16*4882a593Smuzhiyun #define RTC_PORT_ADDR1 RTC_PORT_ADDR0 + 0x1 17*4882a593Smuzhiyun #define RTC_PORT_DATA CONFIG_SYS_ISA_IO + 0x76 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun /* RTC Offsets */ 20*4882a593Smuzhiyun #define RTC_SECONDS 0x1FF9 21*4882a593Smuzhiyun #define RTC_MINUTES 0x1FFA 22*4882a593Smuzhiyun #define RTC_HOURS 0x1FFB 23*4882a593Smuzhiyun #define RTC_DAY_OF_WEEK 0x1FFC 24*4882a593Smuzhiyun #define RTC_DAY_OF_MONTH 0x1FFD 25*4882a593Smuzhiyun #define RTC_MONTH 0x1FFE 26*4882a593Smuzhiyun #define RTC_YEAR 0x1FFF 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun #define RTC_CONTROLA 0x1FF8 29*4882a593Smuzhiyun #define RTC_CA_WRITE 0x80 30*4882a593Smuzhiyun #define RTC_CA_READ 0x40 31*4882a593Smuzhiyun #define RTC_CA_CALIB_SIGN 0x20 32*4882a593Smuzhiyun #define RTC_CA_CALIB_MASK 0x1f 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun #define RTC_CONTROLB 0x1FF9 35*4882a593Smuzhiyun #define RTC_CB_STOP 0x80 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun #define RTC_WATCHDOG 0x1FF7 38*4882a593Smuzhiyun #define RTC_WDS 0x80 39*4882a593Smuzhiyun #define RTC_WD_RB_16TH 0x0 40*4882a593Smuzhiyun #define RTC_WD_RB_4TH 0x1 41*4882a593Smuzhiyun #define RTC_WD_RB_1 0x2 42*4882a593Smuzhiyun #define RTC_WD_RB_4 0x3 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun void rtc_set_watchdog(short multi, short res); 45*4882a593Smuzhiyun void *nvram_read(void *dest, const short src, size_t count); 46*4882a593Smuzhiyun void nvram_write(short dest, const void *src, size_t count); 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun #endif 49