xref: /openbmc/u-boot/drivers/timer/Kconfig (revision 7e40d0a3)
1c8a7ba9eSThomas Choumenu "Timer Support"
2c8a7ba9eSThomas Chou
3c8a7ba9eSThomas Chouconfig TIMER
4435ae76eSBin Meng	bool "Enable driver model for timer drivers"
5c8a7ba9eSThomas Chou	depends on DM
6c8a7ba9eSThomas Chou	help
7435ae76eSBin Meng	  Enable driver model for timer access. It uses the same API as
8435ae76eSBin Meng	  lib/time.c, but now implemented by the uclass. The first timer
9c8a7ba9eSThomas Chou	  will be used. The timer is usually a 32 bits free-running up
10c8a7ba9eSThomas Chou	  counter. There may be no real tick, and no timer interrupt.
11c8a7ba9eSThomas Chou
12e9e5d9d2SPhilipp Tomsichconfig SPL_TIMER
13e9e5d9d2SPhilipp Tomsich	bool "Enable driver model for timer drivers in SPL"
14e9e5d9d2SPhilipp Tomsich	depends on TIMER && SPL
15e9e5d9d2SPhilipp Tomsich	help
16e9e5d9d2SPhilipp Tomsich	  Enable support for timer drivers in SPL. These can be used to get
17e9e5d9d2SPhilipp Tomsich	  a timer value when in SPL, or perhaps for implementing a delay
18e9e5d9d2SPhilipp Tomsich	  function. This enables the drivers in drivers/timer as part of an
19e9e5d9d2SPhilipp Tomsich	  SPL build.
20e9e5d9d2SPhilipp Tomsich
21e9e5d9d2SPhilipp Tomsichconfig TPL_TIMER
22e9e5d9d2SPhilipp Tomsich	bool "Enable driver model for timer drivers in TPL"
23e9e5d9d2SPhilipp Tomsich	depends on TIMER && TPL
24e9e5d9d2SPhilipp Tomsich	help
25e9e5d9d2SPhilipp Tomsich	  Enable support for timer drivers in TPL. These can be used to get
26e9e5d9d2SPhilipp Tomsich	  a timer value when in TPL, or perhaps for implementing a delay
27e9e5d9d2SPhilipp Tomsich	  function. This enables the drivers in drivers/timer as part of an
28e9e5d9d2SPhilipp Tomsich	  TPL build.
29e9e5d9d2SPhilipp Tomsich
30c95fec31SSimon Glassconfig TIMER_EARLY
31c95fec31SSimon Glass	bool "Allow timer to be used early in U-Boot"
32c95fec31SSimon Glass	depends on TIMER
3397d20f69SSimon Glass	# initr_bootstage() requires a timer and is called before initr_dm()
3497d20f69SSimon Glass	# so only the early timer is available
3597d20f69SSimon Glass	default y if X86 && BOOTSTAGE
36c95fec31SSimon Glass	help
37c95fec31SSimon Glass	  In some cases the timer must be accessible before driver model is
38c95fec31SSimon Glass	  active. Examples include when using CONFIG_TRACE to trace U-Boot's
39c95fec31SSimon Glass	  execution before driver model is set up. Enable this option to
40c95fec31SSimon Glass	  use an early timer. These functions must be supported by your timer
41c95fec31SSimon Glass	  driver: timer_early_get_count() and timer_early_get_rate().
42c95fec31SSimon Glass
4373fe4111SBin Mengconfig AG101P_TIMER
4473fe4111SBin Meng	bool "AG101P timer support"
4573fe4111SBin Meng	depends on TIMER && NDS32
4673fe4111SBin Meng	help
4773fe4111SBin Meng	  Select this to enable a timer for AG01P devices.
4873fe4111SBin Meng
49a54915d8SThomas Chouconfig ALTERA_TIMER
50435ae76eSBin Meng	bool "Altera timer support"
51a54915d8SThomas Chou	depends on TIMER
52a54915d8SThomas Chou	help
53435ae76eSBin Meng	  Select this to enable a timer for Altera devices. Please find
54a54915d8SThomas Chou	  details on the "Embedded Peripherals IP User Guide" of Altera.
55a54915d8SThomas Chou
5673fe4111SBin Mengconfig ARC_TIMER
5773fe4111SBin Meng	bool "ARC timer support"
5873fe4111SBin Meng	depends on TIMER && ARC && CLK
5973fe4111SBin Meng	help
6073fe4111SBin Meng	  Select this to enable built-in ARC timers.
6173fe4111SBin Meng	  ARC cores may have up to 2 built-in timers: timer0 and timer1,
6273fe4111SBin Meng	  usually at least one of them exists. Either of them is supported
6373fe4111SBin Meng	  in U-Boot.
6473fe4111SBin Meng
6573fe4111SBin Mengconfig AST_TIMER
6673fe4111SBin Meng	bool "Aspeed ast2400/ast2500 timer support"
6773fe4111SBin Meng	depends on TIMER
6873fe4111SBin Meng	default y if ARCH_ASPEED
6973fe4111SBin Meng	help
7073fe4111SBin Meng	  Select this to enable timer for Aspeed ast2400/ast2500 devices.
7173fe4111SBin Meng	  This is a simple sys timer driver, it is compatible with lib/time.c,
7273fe4111SBin Meng	  but does not support any interrupts. Even though SoC has 8 hardware
7373fe4111SBin Meng	  counters, they are all treated as a single device by this driver.
7473fe4111SBin Meng	  This is mostly because they all share several registers which
7573fe4111SBin Meng	  makes it difficult to completely separate them.
7673fe4111SBin Meng
7773fe4111SBin Mengconfig ATCPIT100_TIMER
7873fe4111SBin Meng	bool "ATCPIT100 timer support"
7973fe4111SBin Meng	depends on TIMER
8073fe4111SBin Meng	help
8173fe4111SBin Meng	  Select this to enable a ATCPIT100 timer which will be embedded
8273fe4111SBin Meng	  in AE3XX, AE250 boards.
8373fe4111SBin Meng
8447edaea4SWenyou.Yang@microchip.comconfig ATMEL_PIT_TIMER
8547edaea4SWenyou.Yang@microchip.com	bool "Atmel periodic interval timer support"
8647edaea4SWenyou.Yang@microchip.com	depends on TIMER
8747edaea4SWenyou.Yang@microchip.com	help
8847edaea4SWenyou.Yang@microchip.com	  Select this to enable a periodic interval timer for Atmel devices,
8947edaea4SWenyou.Yang@microchip.com	  it is designed to offer maximum accuracy and efficient management,
9047edaea4SWenyou.Yang@microchip.com	  even for systems with long response time.
9147edaea4SWenyou.Yang@microchip.com
9272c37d12SMichal Simekconfig CADENCE_TTC_TIMER
9372c37d12SMichal Simek	bool "Cadence TTC (Triple Timer Counter)"
9472c37d12SMichal Simek	depends on TIMER
9572c37d12SMichal Simek	help
9672c37d12SMichal Simek	  Enables support for the cadence ttc driver. This driver is present
9772c37d12SMichal Simek	  on Xilinx Zynq and ZynqMP SoCs.
9872c37d12SMichal Simek
9966011a08SMarek Vasutconfig DESIGNWARE_APB_TIMER
10066011a08SMarek Vasut	bool "Designware APB Timer"
10166011a08SMarek Vasut	depends on TIMER
10266011a08SMarek Vasut	help
10366011a08SMarek Vasut	  Enables support for the Designware APB Timer driver. This timer is
10466011a08SMarek Vasut	  present on Altera SoCFPGA SoCs.
10566011a08SMarek Vasut
10673fe4111SBin Mengconfig MPC83XX_TIMER
10773fe4111SBin Meng	bool "MPC83xx timer support"
10873fe4111SBin Meng	depends on TIMER
1099961a0b6SThomas Chou	help
11073fe4111SBin Meng	  Select this to enable support for the timer found on
11173fe4111SBin Meng	  devices based on the MPC83xx family of SoCs.
1127030f27eSBin Meng
1136ce38364SBin Mengconfig X86_TSC_TIMER_EARLY_FREQ
1146ce38364SBin Meng	int "x86 TSC timer frequency in MHz when used as the early timer"
1156ce38364SBin Meng	depends on X86_TSC_TIMER
1166ce38364SBin Meng	default 1000
1176ce38364SBin Meng	help
1186ce38364SBin Meng	  Sets the estimated CPU frequency in MHz when TSC is used as the
1196ce38364SBin Meng	  early timer and the frequency can neither be calibrated via some
1206ce38364SBin Meng	  hardware ways, nor got from device tree at the time when device
1216ce38364SBin Meng	  tree is not available yet.
1226ce38364SBin Meng
123dadf3137SMugunthan V Nconfig OMAP_TIMER
124dadf3137SMugunthan V N	bool "Omap timer support"
125dadf3137SMugunthan V N	depends on TIMER
126dadf3137SMugunthan V N	help
127dadf3137SMugunthan V N	  Select this to enable an timer for Omap devices.
128dadf3137SMugunthan V N
129*60262cd0SBin Mengconfig RISCV_TIMER
130*60262cd0SBin Meng	bool "RISC-V timer support"
131*60262cd0SBin Meng	depends on TIMER && RISCV
132*60262cd0SBin Meng	help
133*60262cd0SBin Meng	  Select this to enable support for the timer as defined
134*60262cd0SBin Meng	  by the RISC-V privileged architecture spec.
135*60262cd0SBin Meng
13673fe4111SBin Mengconfig ROCKCHIP_TIMER
13773fe4111SBin Meng	bool "Rockchip timer support"
1384697abeaSmaxims@google.com	depends on TIMER
1394697abeaSmaxims@google.com	help
14073fe4111SBin Meng	  Select this to enable support for the timer found on
14173fe4111SBin Meng	  Rockchip devices.
14273fe4111SBin Meng
14373fe4111SBin Mengconfig SANDBOX_TIMER
14473fe4111SBin Meng	bool "Sandbox timer support"
14573fe4111SBin Meng	depends on SANDBOX && TIMER
14673fe4111SBin Meng	help
14773fe4111SBin Meng	  Select this to enable an emulated timer for sandbox. It gets
14873fe4111SBin Meng	  time from host os.
1494697abeaSmaxims@google.com
150347cb2edSPatrice Chotardconfig STI_TIMER
151347cb2edSPatrice Chotard	bool "STi timer support"
152347cb2edSPatrice Chotard	depends on TIMER
153347cb2edSPatrice Chotard	default y if ARCH_STI
154347cb2edSPatrice Chotard	help
155347cb2edSPatrice Chotard	  Select this to enable a timer for STi devices.
156347cb2edSPatrice Chotard
1575120a083SPatrice Chotardconfig STM32_TIMER
1585120a083SPatrice Chotard	bool "STM32 timer support"
1595120a083SPatrice Chotard	depends on TIMER
1605120a083SPatrice Chotard	help
1615120a083SPatrice Chotard	  Select this to enable support for the timer found on
1625120a083SPatrice Chotard	  STM32 devices.
1635120a083SPatrice Chotard
16473fe4111SBin Mengconfig X86_TSC_TIMER
16573fe4111SBin Meng	bool "x86 Time-Stamp Counter (TSC) timer support"
16673fe4111SBin Meng	depends on TIMER && X86
1672c21749dSMario Six	help
16873fe4111SBin Meng	  Select this to enable Time-Stamp Counter (TSC) timer for x86.
1692c21749dSMario Six
170d3c3606cSRyder Leeconfig MTK_TIMER
171d3c3606cSRyder Lee	bool "MediaTek timer support"
172d3c3606cSRyder Lee	depends on TIMER
173d3c3606cSRyder Lee	help
174d3c3606cSRyder Lee	  Select this to enable support for the timer found on
175d3c3606cSRyder Lee	  MediaTek devices.
176d3c3606cSRyder Lee
177c8a7ba9eSThomas Chouendmenu
178