Make is so that a different timer source can be provided instead of TSC on x86 platforms. BUG=b:72378235,b:72170796 Change-Id: I6faeecf7624a5aa4e1af8862036f1fbd2f54eb51 Signed-off-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/23435 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com> Reviewed-by: Furquan Shaikh <furquan@google.com>
		
			
				
	
	
		
			128 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ##
 | |
| ## This file is part of the coreboot project.
 | |
| ##
 | |
| ## This program is free software; you can redistribute it and/or modify
 | |
| ## it under the terms of the GNU General Public License as published by
 | |
| ## the Free Software Foundation; version 2 of the License.
 | |
| ##
 | |
| ## This program is distributed in the hope that it will be useful,
 | |
| ## but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
| ## GNU General Public License for more details.
 | |
| 
 | |
| choice
 | |
| 	prompt "Timer driver"
 | |
| 	default TIMER_NONE if !ARCH_X86
 | |
| 	default TIMER_RDTSC if ARCH_X86
 | |
| 
 | |
| config TIMER_RDTSC
 | |
| 	bool "x86 rdtsc"
 | |
| 	depends on ARCH_X86
 | |
| 
 | |
| config TIMER_NONE
 | |
| 	bool "None"
 | |
| 	help
 | |
| 	  The timer driver is provided by the payload itself.
 | |
| 
 | |
| config TIMER_MCT
 | |
| 	bool "Exynos MCT"
 | |
| 
 | |
| config TIMER_TEGRA_1US
 | |
| 	bool "Tegra 1us"
 | |
| 
 | |
| config TIMER_IPQ806X
 | |
| 	bool "Timer for ipq806x platforms"
 | |
| 
 | |
| config TIMER_ARMADA38X
 | |
|         bool "Timer for armada38x platforms"
 | |
| 	help
 | |
| 	  This is the timer driver for marvell armada38x
 | |
| 	  platforms.
 | |
| 
 | |
| config TIMER_IPQ40XX
 | |
| 	bool "Timer for ipq40xx platforms"
 | |
| 	help
 | |
| 	  This is the timer driver for QCA IPQ40xx based
 | |
| 	  platforms.
 | |
| 
 | |
| config TIMER_RK3288
 | |
| 	bool "Timer for Rockchip RK3288"
 | |
| 
 | |
| config TIMER_RK3399
 | |
| 	bool "Timer for Rockchip RK3399"
 | |
| 
 | |
| config TIMER_CYGNUS
 | |
| 	bool "Timer for Cygnus"
 | |
| 
 | |
| config TIMER_IMG_PISTACHIO
 | |
| 	bool "Timer for IMG Pistachio"
 | |
| 
 | |
| config TIMER_MTK
 | |
| 	bool "Timer for MediaTek MT8173"
 | |
| 
 | |
| config TIMER_MVMAP2315
 | |
| 	bool "Timer for Marvell MVMAP2315"
 | |
| 
 | |
| endchoice
 | |
| 
 | |
| config ARMADA38X_TIMER_FREQ
 | |
|         int "Hardware timer frequency"
 | |
|         depends on TIMER_ARMADA38X
 | |
|         default 25000000
 | |
| 
 | |
| config ARMADA38X_TIMER_REG
 | |
|         hex "Timer register address"
 | |
|         default 0xF1020314
 | |
|         depends on TIMER_ARMADA38X
 | |
| 
 | |
| config MVMAP2315_TIMER_FREQ
 | |
| 	int "Hardware timer frequency"
 | |
| 	depends on TIMER_MVMAP2315
 | |
| 	default 1000000
 | |
| 
 | |
| config MVMAP2315_TIMER_REG
 | |
| 	hex "Timer register address"
 | |
| 	depends on TIMER_MVMAP2315
 | |
| 	default 0xE1020004
 | |
| 
 | |
| config TIMER_GENERIC_HZ
 | |
| 	int "Generic Timer Frequency"
 | |
| 	default 500000000 if TIMER_CYGNUS
 | |
| 	default 48000000 if TIMER_IPQ40XX
 | |
| 	default 6250000 if TIMER_IPQ806X
 | |
| 	default 24000000 if TIMER_MCT
 | |
| 	default 13000000 if TIMER_MTK
 | |
| 	default 24000000 if TIMER_RK3288
 | |
| 	default 24000000 if TIMER_RK3399
 | |
| 	default 1000000 if TIMER_TEGRA_1US
 | |
| 	default 0
 | |
| 	help
 | |
| 	  Clock frequency of generic time counter in Hertz. Leave at 0 to
 | |
| 	  disable when using a non-generic timer driver.
 | |
| 
 | |
| config TIMER_GENERIC_REG
 | |
| 	hex "Generic Timer Register Address"
 | |
| 	default 0x19020200 if TIMER_CYGNUS
 | |
| 	default 0x004A2000 if TIMER_IPQ40XX
 | |
| 	default 0x0200A028 if TIMER_IPQ806X
 | |
| 	default 0x101C0100 if TIMER_MCT
 | |
| 	default 0x10008048 if TIMER_MTK
 | |
| 	default 0xff810028 if TIMER_RK3288
 | |
| 	default 0xff850008 if TIMER_RK3399
 | |
| 	default 0x60005010 if TIMER_TEGRA_1US
 | |
| 	default 0x0
 | |
| 	help
 | |
| 	  Register address to read generic time counter from.
 | |
| 
 | |
| config TIMER_GENERIC_HIGH_REG
 | |
| 	hex "Generic Timer High Register Address"
 | |
| 	default 0x19020204 if TIMER_CYGNUS
 | |
| 	default 0x004A2004 if TIMER_IPQ40XX
 | |
| 	default 0x101C0104 if TIMER_MCT
 | |
| 	default 0xff81002C if TIMER_RK3288
 | |
| 	default 0xff85000C if TIMER_RK3399
 | |
| 	default 0x0
 | |
| 	help
 | |
| 	  Register address to read high 32 bits of generic time counter from.
 | |
| 	  Leave at 0x0 for 32-bit counters.
 |