]> Git Repo - J-u-boot.git/blob - drivers/timer/Kconfig
Merge tag 'v2024.07-rc5' into next
[J-u-boot.git] / drivers / timer / Kconfig
1 menu "Timer Support"
2
3 config TIMER
4         bool "Enable driver model for timer drivers"
5         depends on DM
6         help
7           Enable driver model for timer access. It uses the same API as
8           lib/time.c, but now implemented by the uclass. The first timer
9           will be used. The timer is usually a 32 bits free-running up
10           counter. There may be no real tick, and no timer interrupt.
11
12 config SPL_TIMER
13         bool "Enable driver model for timer drivers in SPL"
14         depends on TIMER && SPL
15         help
16           Enable support for timer drivers in SPL. These can be used to get
17           a timer value when in SPL, or perhaps for implementing a delay
18           function. This enables the drivers in drivers/timer as part of an
19           SPL build.
20
21 config TPL_TIMER
22         bool "Enable driver model for timer drivers in TPL"
23         depends on TIMER && TPL
24         help
25           Enable support for timer drivers in TPL. These can be used to get
26           a timer value when in TPL, or perhaps for implementing a delay
27           function. This enables the drivers in drivers/timer as part of an
28           TPL build.
29
30 config VPL_TIMER
31         bool "Enable driver model for timer drivers in VPL"
32         depends on TIMER && VPL
33         default y if TPL_TIMER
34         help
35           Enable support for timer drivers in VPL. These can be used to get
36           a timer value when in VPL, or perhaps for implementing a delay
37           function. This enables the drivers in drivers/timer as part of an
38           TPL build.
39
40 config TIMER_EARLY
41         bool "Allow timer to be used early in U-Boot"
42         depends on TIMER
43         # initr_bootstage() requires a timer and is called before initr_dm()
44         # so only the early timer is available
45         default y if X86 && BOOTSTAGE
46         help
47           In some cases the timer must be accessible before driver model is
48           active. Examples include when using CONFIG_TRACE to trace U-Boot's
49           execution before driver model is set up. Enable this option to
50           use an early timer. These functions must be supported by your timer
51           driver: timer_early_get_count() and timer_early_get_rate().
52
53 config ADI_SC5XX_TIMER
54         bool "ADI ADSP-SC5xx Timer Support"
55         depends on TIMER && (SC57X || SC58X || SC59X || SC59X_64)
56         help
57           gptimer based timer support on ADI's ADSP-SC5xx platforms. Available
58           but not required on sc59x-64-based platforms (598 and similar).
59           Required on 32-bit platforms (sc57x, sc58x, sc594 and earlier).
60
61 config ALTERA_TIMER
62         bool "Altera timer support"
63         depends on TIMER
64         help
65           Select this to enable a timer for Altera devices. Please find
66           details on the "Embedded Peripherals IP User Guide" of Altera.
67
68 config ANDES_PLMT_TIMER
69         bool
70         depends on RISCV_MMODE
71         help
72           The Andes PLMT block holds memory-mapped mtime register
73           associated with timer tick.
74
75 config SPL_ANDES_PLMT_TIMER
76         bool
77         depends on SPL_RISCV_MMODE
78         help
79           The Andes PLMT block holds memory-mapped mtime register
80           associated with timer tick.
81
82 config ARC_TIMER
83         bool "ARC timer support"
84         depends on TIMER && ARC && CLK
85         help
86           Select this to enable built-in ARC timers.
87           ARC cores may have up to 2 built-in timers: timer0 and timer1,
88           usually at least one of them exists. Either of them is supported
89           in U-Boot.
90
91 config ARM_TWD_TIMER
92         bool "ARM timer watchdog (TWD) timer support"
93         depends on TIMER && CLK
94         help
95           Select this to enable support for the ARM global timer watchdog timer.
96
97 config AST_TIMER
98         bool "Aspeed ast2400/ast2500 timer support"
99         depends on TIMER
100         default y if ARCH_ASPEED
101         help
102           Select this to enable timer for Aspeed ast2400/ast2500 devices.
103           This is a simple sys timer driver, it is compatible with lib/time.c,
104           but does not support any interrupts. Even though SoC has 8 hardware
105           counters, they are all treated as a single device by this driver.
106           This is mostly because they all share several registers which
107           makes it difficult to completely separate them.
108
109 config ATCPIT100_TIMER
110         bool "ATCPIT100 timer support"
111         depends on TIMER
112         help
113           Select this to enable a ATCPIT100 timer which will be embedded
114           in AE3XX, AE250 boards.
115
116 config ATMEL_PIT_TIMER
117         bool "Atmel periodic interval timer support"
118         depends on TIMER
119         help
120           Select this to enable a periodic interval timer for Atmel devices,
121           it is designed to offer maximum accuracy and efficient management,
122           even for systems with long response time.
123
124 config SPL_ATMEL_PIT_TIMER
125         bool "Atmel periodic interval timer support in SPL"
126         depends on SPL_TIMER
127         help
128           Select this to enable a periodic interval timer for Atmel devices,
129           it is designed to offer maximum accuracy and efficient management,
130           even for systems with long response time.
131           Select this to be available in SPL.
132
133 config ATMEL_TCB_TIMER
134         bool "Atmel timer counter support"
135         depends on TIMER
136         depends on ARCH_AT91
137         help
138           Select this to enable the use of the timer counter as a monotonic
139           counter.
140
141 config SPL_ATMEL_TCB_TIMER
142         bool "Atmel timer counter support in SPL"
143         depends on SPL_TIMER
144         depends on ARCH_AT91
145         help
146           Select this to enable the use of the timer counter as a monotonic
147           counter in SPL.
148
149 config CADENCE_TTC_TIMER
150         bool "Cadence TTC (Triple Timer Counter)"
151         depends on TIMER
152         help
153           Enables support for the cadence ttc driver. This driver is present
154           on Xilinx Zynq and ZynqMP SoCs.
155
156 config DESIGNWARE_APB_TIMER
157         bool "Designware APB Timer"
158         depends on TIMER
159         help
160           Enables support for the Designware APB Timer driver. This timer is
161           present on Altera SoCFPGA SoCs.
162
163 config FTTMR010_TIMER
164         bool "Faraday Technology timer support"
165         depends on TIMER
166         help
167           Select this to enable support for the timer found on
168           devices using Faraday Technology's IP.
169
170 config GXP_TIMER
171         bool "HPE GXP Timer"
172         depends on TIMER
173         help
174           Enables support for the GXP Timer driver. This timer is
175           present on HPE GXP SoCs.
176
177 config MPC83XX_TIMER
178         bool "MPC83xx timer support"
179         depends on TIMER
180         help
181           Select this to enable support for the timer found on
182           devices based on the MPC83xx family of SoCs.
183
184 config RENESAS_OSTM_TIMER
185         bool "Renesas RZ/A1 R7S72100 OSTM Timer"
186         depends on TIMER
187         help
188           Enables support for the Renesas OSTM Timer driver.
189           This timer is present on Renesas RZ/A1 R7S72100 SoCs.
190
191 config X86_TSC_TIMER_FREQ
192         int "x86 TSC timer frequency in Hz"
193         depends on X86_TSC_TIMER
194         default 1000000000
195         help
196           Sets the estimated CPU frequency in Hz when TSC is used as the
197           early timer and the frequency can neither be calibrated via some
198           hardware ways, nor got from device tree at the time when device
199           tree is not available yet.
200
201 config NOMADIK_MTU_TIMER
202         bool "Nomadik MTU Timer"
203         depends on TIMER
204         help
205           Enables support for the Nomadik Multi Timer Unit (MTU),
206           used in ST-Ericsson Ux500 SoCs.
207           The MTU provides 4 decrementing free-running timers.
208           At the moment, only the first timer is used by the driver.
209
210 config NPCM_TIMER
211         bool "Nuvoton NPCM timer support"
212         depends on TIMER
213         help
214           Select this to enable a timer on Nuvoton NPCM SoCs.
215           NPCM timer module has 5 down-counting timers, only the first timer
216           is used to implement timer ops. No support for early timer and
217           boot timer.
218
219 config OMAP_TIMER
220         bool "Omap timer support"
221         depends on TIMER
222         help
223           Select this to enable an timer for Omap devices.
224
225 config ORION_TIMER
226         bool "Orion timer support"
227         depends on TIMER
228         default y if ARCH_KIRKWOOD || (ARCH_MVEBU && ARMADA_32BIT)
229         select TIMER_EARLY if ARCH_MVEBU
230         help
231           Select this to enable an timer for Orion and Armada devices
232           like Armada XP etc.
233
234 config RISCV_TIMER
235         bool "RISC-V timer support"
236         depends on TIMER && RISCV
237         help
238           Select this to enable support for a generic RISC-V S-Mode timer
239           driver.
240
241 config ROCKCHIP_TIMER
242         bool "Rockchip timer support"
243         depends on TIMER
244         help
245           Select this to enable support for the timer found on
246           Rockchip devices.
247
248 config SANDBOX_TIMER
249         bool "Sandbox timer support"
250         depends on SANDBOX && TIMER
251         help
252           Select this to enable an emulated timer for sandbox. It gets
253           time from host os.
254
255 config ARM_GLOBAL_TIMER
256         bool "ARM Cortex A9 global timer support"
257         depends on TIMER
258         depends on ARM
259         default y if ARCH_STI
260         help
261           Select this to enable global timer found on ARM Cortex A9
262           based devices.
263
264 config SP804_TIMER
265         bool "ARM SP804 timer support"
266         depends on TIMER
267         help
268           ARM SP804 dual timer IP support
269
270 config STM32_TIMER
271         bool "STM32 timer support"
272         depends on TIMER
273         help
274           Select this to enable support for the timer found on
275           STM32 devices.
276
277 config TEGRA_TIMER
278         bool "Tegra timer support"
279         depends on TIMER
280         select TIMER_EARLY
281         help
282           Select this to enable support for the timer found on
283           Tegra devices.
284
285 config X86_TSC_TIMER
286         bool "x86 Time-Stamp Counter (TSC) timer support"
287         depends on TIMER && X86
288         help
289           Select this to enable Time-Stamp Counter (TSC) timer for x86.
290
291 config X86_TSC_READ_BASE
292         bool "Read the TSC timer base on start-up"
293         depends on X86_TSC_TIMER
294         help
295           On x86 platforms the TSC timer tick starts at the value 0 on reset.
296           This it makes no sense to read the timer on boot and use that as the
297           base, since we will miss some time taken to load U-Boot, etc. This
298           delay is controlled by the SoC and we cannot reduce it, but for
299           bootstage we want to record the time since reset as accurately as
300           possible.
301
302           The only exception is when U-Boot is used as a secondary bootloader,
303           where this option should be enabled.
304
305 config TPL_X86_TSC_TIMER_NATIVE
306         bool "x86 TSC timer uses native calibration"
307         depends on TPL && X86_TSC_TIMER
308         help
309           Selects native timer calibration for TPL and don't include the other
310           methods in the code. This helps to reduce code size in TPL and works
311           on fairly modern Intel chips. Code-size reductions is about 700
312           bytes.
313
314 config MTK_TIMER
315         bool "MediaTek timer support"
316         depends on TIMER
317         help
318           Select this to enable support for the timer found on
319           MediaTek devices.
320
321 config MCHP_PIT64B_TIMER
322         bool "Microchip 64-bit periodic interval timer support"
323         depends on TIMER
324         help
325           Select this to enable support for Microchip 64-bit periodic
326           interval timer.
327
328 config IMX_GPT_TIMER
329         bool "NXP i.MX GPT timer support"
330         depends on TIMER
331         help
332           Select this to enable support for the timer found on
333           NXP i.MX devices.
334
335 config XILINX_TIMER
336         bool "Xilinx timer support"
337         depends on TIMER
338         select REGMAP
339         select SPL_REGMAP if SPL
340         help
341           Select this to enable support for the timer found on
342           any Xilinx boards (axi timer).
343
344 config STARFIVE_TIMER
345         bool "Starfive timer support"
346         depends on TIMER
347         help
348           Select this to enable support for the timer found on
349           Starfive SoC.
350
351 endmenu
This page took 0.046179 seconds and 4 git commands to generate.