summaryrefslogtreecommitdiff
path: root/payloads/libpayload/drivers/timer/Kconfig
blob: 9e274ee00e55dfcab7f9c54eb3265a3ef014ee27 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
##
## 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.