1*a619033dSuwe /* $NetBSD: rtcreg.h,v 1.11 2006/10/19 03:26:10 uwe Exp $ */ 265363da2Sitojun 365363da2Sitojun /*- 465363da2Sitojun * Copyright (C) 1999 SAITOH Masanobu. All rights reserved. 565363da2Sitojun * 665363da2Sitojun * Redistribution and use in source and binary forms, with or without 765363da2Sitojun * modification, are permitted provided that the following conditions 865363da2Sitojun * are met: 965363da2Sitojun * 1. Redistributions of source code must retain the above copyright 1065363da2Sitojun * notice, this list of conditions and the following disclaimer. 1165363da2Sitojun * 2. Redistributions in binary form must reproduce the above copyright 1265363da2Sitojun * notice, this list of conditions and the following disclaimer in the 1365363da2Sitojun * documentation and/or other materials provided with the distribution. 1465363da2Sitojun * 3. The name of the author may not be used to endorse or promote products 1565363da2Sitojun * derived from this software without specific prior written permission. 1665363da2Sitojun * 1765363da2Sitojun * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 1865363da2Sitojun * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 1965363da2Sitojun * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 2065363da2Sitojun * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 2165363da2Sitojun * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 2265363da2Sitojun * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2365363da2Sitojun * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2465363da2Sitojun * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2565363da2Sitojun * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2665363da2Sitojun * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2765363da2Sitojun */ 2865363da2Sitojun 2993da9db9Such #ifndef _SH3_RTCREG_H_ 3093da9db9Such #define _SH3_RTCREG_H_ 31bbc655c4Such #include <sh3/devreg.h> 3265363da2Sitojun 3365363da2Sitojun /* 34f694c9fdSuch * RTC 3565363da2Sitojun */ 36f694c9fdSuch #define SH3_R64CNT 0xfffffec0 37f694c9fdSuch #define SH3_RSECCNT 0xfffffec2 38f694c9fdSuch #define SH3_RMINCNT 0xfffffec4 39f694c9fdSuch #define SH3_RHRCNT 0xfffffec6 40f694c9fdSuch #define SH3_RWKCNT 0xfffffec8 41f694c9fdSuch #define SH3_RDAYCNT 0xfffffeca 42f694c9fdSuch #define SH3_RMONCNT 0xfffffecc 43f694c9fdSuch #define SH3_RYRCNT 0xfffffece 44f694c9fdSuch #define SH3_RSECAR 0xfffffed0 45f694c9fdSuch #define SH3_RMINAR 0xfffffed2 46f694c9fdSuch #define SH3_RHRAR 0xfffffed4 47f694c9fdSuch #define SH3_RWKAR 0xfffffed6 48f694c9fdSuch #define SH3_RDAYAR 0xfffffed8 49f694c9fdSuch #define SH3_RMONAR 0xfffffeda 50f694c9fdSuch #define SH3_RCR1 0xfffffedc 51f694c9fdSuch #define SH3_RCR2 0xfffffede 5265363da2Sitojun 53f694c9fdSuch #define SH4_R64CNT 0xffc80000 54f694c9fdSuch #define SH4_RSECCNT 0xffc80004 55f694c9fdSuch #define SH4_RMINCNT 0xffc80008 56f694c9fdSuch #define SH4_RHRCNT 0xffc8000c 57f694c9fdSuch #define SH4_RWKCNT 0xffc80010 58f694c9fdSuch #define SH4_RDAYCNT 0xffc80014 59f694c9fdSuch #define SH4_RMONCNT 0xffc80018 60f694c9fdSuch #define SH4_RYRCNT 0xffc8001c /* 16 bit */ 61f694c9fdSuch #define SH4_RSECAR 0xffc80020 62f694c9fdSuch #define SH4_RMINAR 0xffc80024 63f694c9fdSuch #define SH4_RHRAR 0xffc80028 64f694c9fdSuch #define SH4_RWKAR 0xffc8002c 65f694c9fdSuch #define SH4_RDAYAR 0xffc80030 66f694c9fdSuch #define SH4_RMONAR 0xffc80034 67f694c9fdSuch #define SH4_RCR1 0xffc80038 68f694c9fdSuch #define SH4_RCR2 0xffc8003c 6965363da2Sitojun 708089b6b5Suwe #define SH_RCR1_CF 0x80 /* carry flag */ 718089b6b5Suwe #define SH_RCR1_CIE 0x10 /* carry interrupt enable */ 728089b6b5Suwe #define SH_RCR1_AIE 0x08 /* alarm interrupt enable */ 738089b6b5Suwe #define SH_RCR1_AF 0x01 /* alarm flag */ 748089b6b5Suwe 758089b6b5Suwe #define SH_RCR2_PEF 0x80 /* periodic interrupt flag */ 768089b6b5Suwe #define SH_RCR2_PES2 0x40 /* periodic interrupt freq */ 778089b6b5Suwe #define SH_RCR2_PES1 0x20 /* -//- */ 788089b6b5Suwe #define SH_RCR2_PES0 0x10 /* -//- */ 79f694c9fdSuch #define SH_RCR2_ENABLE 0x08 80*a619033dSuwe #define SH_RCR2_ADJ 0x04 /* 30 second adjustment */ 81f694c9fdSuch #define SH_RCR2_RESET 0x02 82f694c9fdSuch #define SH_RCR2_START 0x01 831e7bb239Smsaitoh 84*a619033dSuwe #define SH_RCR2_BITS "\177\20" \ 85*a619033dSuwe "b\7PEF\0" \ 86*a619033dSuwe "f\4\3PES\0" \ 87*a619033dSuwe ":\0(none)\0" ":\1(1/256)\0" ":\2(1/64)\0" ":\3(1/16)\0" \ 88*a619033dSuwe ":\4(1/4)\0" ":\5(1/2)\0" ":\6(1)\0" ":\7(2)\0" \ 89*a619033dSuwe "b\3ENABLE\0" "b\2ADJ\n" "b\1RESET\0" "b\0START\0" 90*a619033dSuwe 91*a619033dSuwe 92bbc655c4Such #ifndef _LOCORE 93bbc655c4Such #if defined(SH3) && defined(SH4) 94970e24eeSuwe extern uint32_t __sh_R64CNT; 95970e24eeSuwe extern uint32_t __sh_RSECCNT; 96970e24eeSuwe extern uint32_t __sh_RMINCNT; 97970e24eeSuwe extern uint32_t __sh_RHRCNT; 98970e24eeSuwe extern uint32_t __sh_RWKCNT; 99970e24eeSuwe extern uint32_t __sh_RDAYCNT; 100970e24eeSuwe extern uint32_t __sh_RMONCNT; 101970e24eeSuwe extern uint32_t __sh_RYRCNT; 102970e24eeSuwe extern uint32_t __sh_RSECAR; 103970e24eeSuwe extern uint32_t __sh_RMINAR; 104970e24eeSuwe extern uint32_t __sh_RHRAR; 105970e24eeSuwe extern uint32_t __sh_RWKAR; 106970e24eeSuwe extern uint32_t __sh_RDAYAR; 107970e24eeSuwe extern uint32_t __sh_RMONAR; 108970e24eeSuwe extern uint32_t __sh_RCR1; 109970e24eeSuwe extern uint32_t __sh_RCR2; 110bbc655c4Such #endif /* SH3 && SH4 */ 111bbc655c4Such #endif /* !_LOCORE */ 112bbc655c4Such 11393da9db9Such #endif /* !_SH3_RTCREG_H_ */ 114