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 Iwamatsustatic 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