xref: /netbsd-src/sys/arch/sh3/include/tmureg.h (revision 970e24ee4656f1f9921b2fb32de1feb7b751bdbb)
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