1*970e24eeSuwe /* $NetBSD: tmureg.h,v 1.11 2006/03/04 01:55:03 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 2965363da2Sitojun #ifndef _SH3_TMUREG_H_ 3065363da2Sitojun #define _SH3_TMUREG_H_ 31bbc655c4Such #include <sh3/devreg.h> 3265363da2Sitojun 3365363da2Sitojun /* 34f694c9fdSuch * TMU 3565363da2Sitojun */ 36f694c9fdSuch #define SH3_TOCR 0xfffffe90 37f694c9fdSuch #define SH3_TSTR 0xfffffe92 38f694c9fdSuch #define SH3_TCOR0 0xfffffe94 39f694c9fdSuch #define SH3_TCNT0 0xfffffe98 40f694c9fdSuch #define SH3_TCR0 0xfffffe9c 41f694c9fdSuch #define SH3_TCOR1 0xfffffea0 42f694c9fdSuch #define SH3_TCNT1 0xfffffea4 43f694c9fdSuch #define SH3_TCR1 0xfffffea8 44f694c9fdSuch #define SH3_TCOR2 0xfffffeac 45f694c9fdSuch #define SH3_TCNT2 0xfffffeb0 46f694c9fdSuch #define SH3_TCR2 0xfffffeb4 47f694c9fdSuch #define SH3_TCPR2 0xfffffeb8 4865363da2Sitojun 49f694c9fdSuch #define SH4_TOCR 0xffd80000 50f694c9fdSuch #define SH4_TSTR 0xffd80004 51f694c9fdSuch #define SH4_TCOR0 0xffd80008 52f694c9fdSuch #define SH4_TCNT0 0xffd8000c 53f694c9fdSuch #define SH4_TCR0 0xffd80010 54f694c9fdSuch #define SH4_TCOR1 0xffd80014 55f694c9fdSuch #define SH4_TCNT1 0xffd80018 56f694c9fdSuch #define SH4_TCR1 0xffd8001c 57f694c9fdSuch #define SH4_TCOR2 0xffd80020 58f694c9fdSuch #define SH4_TCNT2 0xffd80024 59f694c9fdSuch #define SH4_TCR2 0xffd80028 60f694c9fdSuch #define SH4_TCPR2 0xffd8002c 6163fcf30bSchristos #define SH4_TSTR2 0xfe100004 6263fcf30bSchristos #define SH4_TCOR3 0xfe100008 6363fcf30bSchristos #define SH4_TCNT3 0xfe10000c 6463fcf30bSchristos #define SH4_TCR3 0xfe100010 6563fcf30bSchristos #define SH4_TCOR4 0xfe100014 6663fcf30bSchristos #define SH4_TCNT4 0xfe100018 6763fcf30bSchristos #define SH4_TCR4 0xfe10001c 6863fcf30bSchristos 6965363da2Sitojun 7065363da2Sitojun #define TOCR_TCOE 0x01 7165363da2Sitojun #define TSTR_STR2 0x04 7265363da2Sitojun #define TSTR_STR1 0x02 7365363da2Sitojun #define TSTR_STR0 0x01 7465363da2Sitojun #define TCR_ICPF 0x0200 7565363da2Sitojun #define TCR_UNF 0x0100 7665363da2Sitojun #define TCR_ICPE1 0x0080 7765363da2Sitojun #define TCR_ICPE0 0x0040 7865363da2Sitojun #define TCR_UNIE 0x0020 7965363da2Sitojun #define TCR_CKEG1 0x0010 8065363da2Sitojun #define TCR_CKEG0 0x0008 8165363da2Sitojun #define TCR_TPSC2 0x0004 8265363da2Sitojun #define TCR_TPSC1 0x0002 8365363da2Sitojun #define TCR_TPSC0 0x0001 848cf5a56cSmsaitoh #define TCR_TPSC_P4 0x0000 858cf5a56cSmsaitoh #define TCR_TPSC_P16 0x0001 868cf5a56cSmsaitoh #define TCR_TPSC_P64 0x0002 87654f6d54Snonaka #define TCR_TPSC_P256 0x0003 88f694c9fdSuch #define SH3_TCR_TPSC_RTC 0x0004 89f694c9fdSuch #define SH3_TCR_TPSC_TCLK 0x0005 90654f6d54Snonaka #define SH4_TCR_TPSC_P1024 0x0004 91f694c9fdSuch #define SH4_TCR_TPSC_RTC 0x0006 92f694c9fdSuch #define SH4_TCR_TPSC_TCLK 0x0007 9363fcf30bSchristos #define SH4_TSTR2_STR4 0x02 9463fcf30bSchristos #define SH4_TSTR2_STR3 0x01 9563fcf30bSchristos 968cf5a56cSmsaitoh 97bbc655c4Such #ifndef _LOCORE 98bbc655c4Such #if defined(SH3) && defined(SH4) 99*970e24eeSuwe extern uint32_t __sh_TOCR; 100*970e24eeSuwe extern uint32_t __sh_TSTR; 101*970e24eeSuwe extern uint32_t __sh_TCOR0; 102*970e24eeSuwe extern uint32_t __sh_TCNT0; 103*970e24eeSuwe extern uint32_t __sh_TCR0; 104*970e24eeSuwe extern uint32_t __sh_TCOR1; 105*970e24eeSuwe extern uint32_t __sh_TCNT1; 106*970e24eeSuwe extern uint32_t __sh_TCR1; 107*970e24eeSuwe extern uint32_t __sh_TCOR2; 108*970e24eeSuwe extern uint32_t __sh_TCNT2; 109*970e24eeSuwe extern uint32_t __sh_TCR2; 110*970e24eeSuwe extern uint32_t __sh_TCPR2; 111bbc655c4Such #endif /* SH3 && SH4 */ 112bbc655c4Such #endif /* !_LOCORE */ 113bbc655c4Such 11465363da2Sitojun #endif /* !_SH3_TMUREG_H_ */ 115