xref: /openbmc/u-boot/arch/sh/lib/time.c (revision 0eee446e)
183d290c5STom Rini // SPDX-License-Identifier: GPL-2.0+
2ea0364f1SPeter Tyser /*
3ea0364f1SPeter Tyser  * (C) Copyright 2009
4ea0364f1SPeter Tyser  * Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
5ea0364f1SPeter Tyser  *
673f35e0bSNobuhiro Iwamatsu  * (C) Copyright 2007-2012
7ea0364f1SPeter Tyser  * Nobobuhiro Iwamatsu <iwamatsu@nigauri.org>
8ea0364f1SPeter Tyser  *
9ea0364f1SPeter Tyser  * (C) Copyright 2003
10ea0364f1SPeter Tyser  * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
11ea0364f1SPeter Tyser  */
12ea0364f1SPeter Tyser 
13ea0364f1SPeter Tyser #include <common.h>
14ea0364f1SPeter Tyser #include <asm/processor.h>
15ea0364f1SPeter Tyser #include <asm/io.h>
168b39df9eSMarek Vasut 
178b39df9eSMarek Vasut #if defined(CONFIG_CPU_SH3)
18*f02c1f69SMarek Vasut #define TSTR	0x2
19*f02c1f69SMarek Vasut #define TCR0	0xc
208b39df9eSMarek Vasut #endif /* CONFIG_CPU_SH3 */
218b39df9eSMarek Vasut 
228b39df9eSMarek Vasut #if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_RMOBILE)
23*f02c1f69SMarek Vasut #define TSTR	0x4
24*f02c1f69SMarek Vasut #define TCR0	0x10
258b39df9eSMarek Vasut #endif /* CONFIG_CPU_SH4 */
2673f35e0bSNobuhiro Iwamatsu 
27861bd4bcSNobuhiro Iwamatsu #define TCR_TPSC	0x07
2815f11fc6SMarek Vasut #define TSTR_STR0	BIT(0)
29861bd4bcSNobuhiro Iwamatsu 
timer_init(void)30ea0364f1SPeter Tyser int timer_init(void)
31ea0364f1SPeter Tyser {
32*f02c1f69SMarek Vasut 	writew(readw(TMU_BASE + TCR0) & ~TCR_TPSC, TMU_BASE + TCR0);
33*f02c1f69SMarek Vasut 	writeb(readb(TMU_BASE + TSTR) & ~TSTR_STR0, TMU_BASE + TSTR);
34*f02c1f69SMarek Vasut 	writeb(readb(TMU_BASE + TSTR) | TSTR_STR0, TMU_BASE + TSTR);
35ea0364f1SPeter Tyser 
36ea0364f1SPeter Tyser 	return 0;
37ea0364f1SPeter Tyser }
38ea0364f1SPeter Tyser 
39