xref: /rk3399_rockchip-uboot/include/sh_tmu.h (revision c98b171e1098f94b2ff7720c45a25a602882f876)
173f35e0bSNobuhiro Iwamatsu /*
273f35e0bSNobuhiro Iwamatsu  * Copyright (C) 2012  Renesas Solutions Corp.
373f35e0bSNobuhiro Iwamatsu  *
473f35e0bSNobuhiro Iwamatsu  * See file CREDITS for list of people who contributed to this
573f35e0bSNobuhiro Iwamatsu  * project.
673f35e0bSNobuhiro Iwamatsu  *
773f35e0bSNobuhiro Iwamatsu  * This program is free software; you can redistribute it and/or
873f35e0bSNobuhiro Iwamatsu  * modify it under the terms of the GNU General Public License as
973f35e0bSNobuhiro Iwamatsu  * published by the Free Software Foundation; either version 2 of
1073f35e0bSNobuhiro Iwamatsu  * the License.
1173f35e0bSNobuhiro Iwamatsu  *
1273f35e0bSNobuhiro Iwamatsu  * This program is distributed in the hope that it will be useful,
1373f35e0bSNobuhiro Iwamatsu  * but WITHOUT ANY WARRANTY; without even the implied warranty of
1473f35e0bSNobuhiro Iwamatsu  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1573f35e0bSNobuhiro Iwamatsu  * GNU General Public License for more details.
1673f35e0bSNobuhiro Iwamatsu  *
1773f35e0bSNobuhiro Iwamatsu  * You should have received a copy of the GNU General Public License
1873f35e0bSNobuhiro Iwamatsu  * along with this program; if not, write to the Free Software
1973f35e0bSNobuhiro Iwamatsu  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
2073f35e0bSNobuhiro Iwamatsu  * MA 02111-1307 USA
2173f35e0bSNobuhiro Iwamatsu  */
2273f35e0bSNobuhiro Iwamatsu 
2373f35e0bSNobuhiro Iwamatsu #ifndef __SH_TMU_H
2473f35e0bSNobuhiro Iwamatsu #define __SH_TMU_H
2573f35e0bSNobuhiro Iwamatsu 
2673f35e0bSNobuhiro Iwamatsu #include <asm/types.h>
2773f35e0bSNobuhiro Iwamatsu 
287d236662SMasahiro Yamada #if defined(CONFIG_CPU_SH3)
2973f35e0bSNobuhiro Iwamatsu struct tmu_regs {
3073f35e0bSNobuhiro Iwamatsu 	u8	tocr;
3173f35e0bSNobuhiro Iwamatsu 	u8	reserved0;
3273f35e0bSNobuhiro Iwamatsu 	u8	tstr;
3373f35e0bSNobuhiro Iwamatsu 	u8	reserved1;
3473f35e0bSNobuhiro Iwamatsu 	u32	tcor0;
3573f35e0bSNobuhiro Iwamatsu 	u32	tcnt0;
3673f35e0bSNobuhiro Iwamatsu 	u16	tcr0;
3773f35e0bSNobuhiro Iwamatsu 	u16	reserved2;
3873f35e0bSNobuhiro Iwamatsu 	u32	tcor1;
3973f35e0bSNobuhiro Iwamatsu 	u32	tcnt1;
4073f35e0bSNobuhiro Iwamatsu 	u16	tcr1;
4173f35e0bSNobuhiro Iwamatsu 	u16	reserved3;
4273f35e0bSNobuhiro Iwamatsu 	u32	tcor2;
4373f35e0bSNobuhiro Iwamatsu 	u32	tcnt2;
4473f35e0bSNobuhiro Iwamatsu 	u16	tcr2;
4573f35e0bSNobuhiro Iwamatsu 	u16	reserved4;
4673f35e0bSNobuhiro Iwamatsu 	u32	tcpr2;
4773f35e0bSNobuhiro Iwamatsu };
487d236662SMasahiro Yamada #endif /* CONFIG_CPU_SH3 */
4973f35e0bSNobuhiro Iwamatsu 
50*1cc95f6eSNobuhiro Iwamatsu #if defined(CONFIG_CPU_SH4) || defined(CONFIG_ARCH_RMOBILE)
5173f35e0bSNobuhiro Iwamatsu struct tmu_regs {
5273f35e0bSNobuhiro Iwamatsu 	u32 reserved;
5373f35e0bSNobuhiro Iwamatsu 	u8  tstr;
5473f35e0bSNobuhiro Iwamatsu 	u8  reserved2[3];
5573f35e0bSNobuhiro Iwamatsu 	u32 tcor0;
5673f35e0bSNobuhiro Iwamatsu 	u32 tcnt0;
5773f35e0bSNobuhiro Iwamatsu 	u16 tcr0;
5873f35e0bSNobuhiro Iwamatsu 	u16 reserved3;
5973f35e0bSNobuhiro Iwamatsu 	u32 tcor1;
6073f35e0bSNobuhiro Iwamatsu 	u32 tcnt1;
6173f35e0bSNobuhiro Iwamatsu 	u16 tcr1;
6273f35e0bSNobuhiro Iwamatsu 	u16 reserved4;
6373f35e0bSNobuhiro Iwamatsu 	u32 tcor2;
6473f35e0bSNobuhiro Iwamatsu 	u32 tcnt2;
6573f35e0bSNobuhiro Iwamatsu 	u16 tcr2;
6673f35e0bSNobuhiro Iwamatsu 	u16 reserved5;
6773f35e0bSNobuhiro Iwamatsu };
687d236662SMasahiro Yamada #endif /* CONFIG_CPU_SH4 */
6973f35e0bSNobuhiro Iwamatsu 
get_tmu0_clk_rate(void)7073f35e0bSNobuhiro Iwamatsu static inline unsigned long get_tmu0_clk_rate(void)
7173f35e0bSNobuhiro Iwamatsu {
72857febf3SNobuhiro Iwamatsu 	return CONFIG_SH_TMU_CLK_FREQ;
7373f35e0bSNobuhiro Iwamatsu }
7473f35e0bSNobuhiro Iwamatsu 
7573f35e0bSNobuhiro Iwamatsu #endif	/* __SH_TMU_H */
76