2015-10-09 05:46:34 +00:00
|
|
|
menu "Timer Support"
|
|
|
|
|
|
|
|
config TIMER
|
2015-11-13 08:11:14 +00:00
|
|
|
bool "Enable driver model for timer drivers"
|
2015-10-09 05:46:34 +00:00
|
|
|
depends on DM
|
|
|
|
help
|
2015-11-13 08:11:14 +00:00
|
|
|
Enable driver model for timer access. It uses the same API as
|
|
|
|
lib/time.c, but now implemented by the uclass. The first timer
|
2015-10-09 05:46:34 +00:00
|
|
|
will be used. The timer is usually a 32 bits free-running up
|
|
|
|
counter. There may be no real tick, and no timer interrupt.
|
|
|
|
|
2017-07-28 15:38:42 +00:00
|
|
|
config SPL_TIMER
|
|
|
|
bool "Enable driver model for timer drivers in SPL"
|
|
|
|
depends on TIMER && SPL
|
|
|
|
help
|
|
|
|
Enable support for timer drivers in SPL. These can be used to get
|
|
|
|
a timer value when in SPL, or perhaps for implementing a delay
|
|
|
|
function. This enables the drivers in drivers/timer as part of an
|
|
|
|
SPL build.
|
|
|
|
|
|
|
|
config TPL_TIMER
|
|
|
|
bool "Enable driver model for timer drivers in TPL"
|
|
|
|
depends on TIMER && TPL
|
|
|
|
help
|
|
|
|
Enable support for timer drivers in TPL. These can be used to get
|
|
|
|
a timer value when in TPL, or perhaps for implementing a delay
|
|
|
|
function. This enables the drivers in drivers/timer as part of an
|
|
|
|
TPL build.
|
|
|
|
|
2022-04-30 06:56:53 +00:00
|
|
|
config VPL_TIMER
|
|
|
|
bool "Enable driver model for timer drivers in VPL"
|
|
|
|
depends on TIMER && VPL
|
|
|
|
default y if TPL_TIMER
|
|
|
|
help
|
|
|
|
Enable support for timer drivers in VPL. These can be used to get
|
|
|
|
a timer value when in VPL, or perhaps for implementing a delay
|
|
|
|
function. This enables the drivers in drivers/timer as part of an
|
|
|
|
TPL build.
|
|
|
|
|
2016-02-24 16:14:49 +00:00
|
|
|
config TIMER_EARLY
|
|
|
|
bool "Allow timer to be used early in U-Boot"
|
|
|
|
depends on TIMER
|
2018-09-02 23:02:24 +00:00
|
|
|
# initr_bootstage() requires a timer and is called before initr_dm()
|
|
|
|
# so only the early timer is available
|
|
|
|
default y if X86 && BOOTSTAGE
|
2016-02-24 16:14:49 +00:00
|
|
|
help
|
|
|
|
In some cases the timer must be accessible before driver model is
|
|
|
|
active. Examples include when using CONFIG_TRACE to trace U-Boot's
|
|
|
|
execution before driver model is set up. Enable this option to
|
|
|
|
use an early timer. These functions must be supported by your timer
|
|
|
|
driver: timer_early_get_count() and timer_early_get_rate().
|
|
|
|
|
2015-10-22 14:28:53 +00:00
|
|
|
config ALTERA_TIMER
|
2015-11-13 08:11:14 +00:00
|
|
|
bool "Altera timer support"
|
2015-10-22 14:28:53 +00:00
|
|
|
depends on TIMER
|
|
|
|
help
|
2015-11-13 08:11:14 +00:00
|
|
|
Select this to enable a timer for Altera devices. Please find
|
2015-10-22 14:28:53 +00:00
|
|
|
details on the "Embedded Peripherals IP User Guide" of Altera.
|
|
|
|
|
2020-10-26 01:46:57 +00:00
|
|
|
config ANDES_PLMT_TIMER
|
2020-10-26 01:46:56 +00:00
|
|
|
bool
|
|
|
|
depends on RISCV_MMODE || SPL_RISCV_MMODE
|
|
|
|
help
|
|
|
|
The Andes PLMT block holds memory-mapped mtime register
|
|
|
|
associated with timer tick.
|
|
|
|
|
2018-10-11 05:07:02 +00:00
|
|
|
config ARC_TIMER
|
|
|
|
bool "ARC timer support"
|
|
|
|
depends on TIMER && ARC && CLK
|
|
|
|
help
|
|
|
|
Select this to enable built-in ARC timers.
|
|
|
|
ARC cores may have up to 2 built-in timers: timer0 and timer1,
|
|
|
|
usually at least one of them exists. Either of them is supported
|
|
|
|
in U-Boot.
|
|
|
|
|
2022-08-05 06:16:28 +00:00
|
|
|
config ARM_TWD_TIMER
|
|
|
|
bool "ARM timer watchdog (TWD) timer support"
|
|
|
|
depends on TIMER && CLK
|
|
|
|
help
|
|
|
|
Select this to enable support for the ARM global timer watchdog timer.
|
|
|
|
|
2018-10-11 05:07:02 +00:00
|
|
|
config AST_TIMER
|
|
|
|
bool "Aspeed ast2400/ast2500 timer support"
|
|
|
|
depends on TIMER
|
|
|
|
default y if ARCH_ASPEED
|
|
|
|
help
|
|
|
|
Select this to enable timer for Aspeed ast2400/ast2500 devices.
|
|
|
|
This is a simple sys timer driver, it is compatible with lib/time.c,
|
|
|
|
but does not support any interrupts. Even though SoC has 8 hardware
|
|
|
|
counters, they are all treated as a single device by this driver.
|
|
|
|
This is mostly because they all share several registers which
|
|
|
|
makes it difficult to completely separate them.
|
|
|
|
|
|
|
|
config ATCPIT100_TIMER
|
|
|
|
bool "ATCPIT100 timer support"
|
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Select this to enable a ATCPIT100 timer which will be embedded
|
|
|
|
in AE3XX, AE250 boards.
|
|
|
|
|
2017-08-15 09:40:26 +00:00
|
|
|
config ATMEL_PIT_TIMER
|
|
|
|
bool "Atmel periodic interval timer support"
|
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Select this to enable a periodic interval timer for Atmel devices,
|
|
|
|
it is designed to offer maximum accuracy and efficient management,
|
|
|
|
even for systems with long response time.
|
|
|
|
|
2022-04-04 08:35:51 +00:00
|
|
|
config SPL_ATMEL_PIT_TIMER
|
|
|
|
bool "Atmel periodic interval timer support in SPL"
|
|
|
|
depends on SPL_TIMER
|
|
|
|
help
|
|
|
|
Select this to enable a periodic interval timer for Atmel devices,
|
|
|
|
it is designed to offer maximum accuracy and efficient management,
|
|
|
|
even for systems with long response time.
|
|
|
|
Select this to be available in SPL.
|
|
|
|
|
2022-03-31 08:55:06 +00:00
|
|
|
config ATMEL_TCB_TIMER
|
|
|
|
bool "Atmel timer counter support"
|
|
|
|
depends on TIMER
|
|
|
|
depends on ARCH_AT91
|
|
|
|
help
|
|
|
|
Select this to enable the use of the timer counter as a monotonic
|
|
|
|
counter.
|
|
|
|
|
2022-04-04 08:35:50 +00:00
|
|
|
config SPL_ATMEL_TCB_TIMER
|
|
|
|
bool "Atmel timer counter support in SPL"
|
|
|
|
depends on SPL_TIMER
|
|
|
|
depends on ARCH_AT91
|
|
|
|
help
|
|
|
|
Select this to enable the use of the timer counter as a monotonic
|
|
|
|
counter in SPL.
|
|
|
|
|
2018-04-17 11:40:46 +00:00
|
|
|
config CADENCE_TTC_TIMER
|
|
|
|
bool "Cadence TTC (Triple Timer Counter)"
|
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Enables support for the cadence ttc driver. This driver is present
|
|
|
|
on Xilinx Zynq and ZynqMP SoCs.
|
|
|
|
|
2018-08-18 13:58:32 +00:00
|
|
|
config DESIGNWARE_APB_TIMER
|
|
|
|
bool "Designware APB Timer"
|
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Enables support for the Designware APB Timer driver. This timer is
|
|
|
|
present on Altera SoCFPGA SoCs.
|
|
|
|
|
2022-06-08 21:21:35 +00:00
|
|
|
config GXP_TIMER
|
|
|
|
bool "HPE GXP Timer"
|
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Enables support for the GXP Timer driver. This timer is
|
|
|
|
present on HPE GXP SoCs.
|
|
|
|
|
2018-10-11 05:07:02 +00:00
|
|
|
config MPC83XX_TIMER
|
|
|
|
bool "MPC83xx timer support"
|
|
|
|
depends on TIMER
|
2015-11-13 08:11:24 +00:00
|
|
|
help
|
2018-10-11 05:07:02 +00:00
|
|
|
Select this to enable support for the timer found on
|
|
|
|
devices based on the MPC83xx family of SoCs.
|
2015-11-13 08:11:24 +00:00
|
|
|
|
2019-05-04 15:30:58 +00:00
|
|
|
config RENESAS_OSTM_TIMER
|
|
|
|
bool "Renesas RZ/A1 R7S72100 OSTM Timer"
|
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Enables support for the Renesas OSTM Timer driver.
|
|
|
|
This timer is present on Renesas RZ/A1 R7S72100 SoCs.
|
|
|
|
|
2021-07-28 04:00:22 +00:00
|
|
|
config X86_TSC_TIMER_FREQ
|
|
|
|
int "x86 TSC timer frequency in Hz"
|
2018-10-14 03:52:10 +00:00
|
|
|
depends on X86_TSC_TIMER
|
2021-07-28 04:00:22 +00:00
|
|
|
default 1000000000
|
2018-10-14 03:52:10 +00:00
|
|
|
help
|
2021-07-28 04:00:22 +00:00
|
|
|
Sets the estimated CPU frequency in Hz when TSC is used as the
|
2018-10-14 03:52:10 +00:00
|
|
|
early timer and the frequency can neither be calibrated via some
|
|
|
|
hardware ways, nor got from device tree at the time when device
|
|
|
|
tree is not available yet.
|
|
|
|
|
2020-01-04 17:45:15 +00:00
|
|
|
config NOMADIK_MTU_TIMER
|
|
|
|
bool "Nomadik MTU Timer"
|
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Enables support for the Nomadik Multi Timer Unit (MTU),
|
|
|
|
used in ST-Ericsson Ux500 SoCs.
|
|
|
|
The MTU provides 4 decrementing free-running timers.
|
|
|
|
At the moment, only the first timer is used by the driver.
|
|
|
|
|
2022-04-19 05:32:22 +00:00
|
|
|
config NPCM_TIMER
|
|
|
|
bool "Nuvoton NPCM timer support"
|
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Select this to enable a timer on Nuvoton NPCM SoCs.
|
|
|
|
NPCM timer module has 5 down-counting timers, only the first timer
|
|
|
|
is used to implement timer ops. No support for early timer and
|
|
|
|
boot timer.
|
|
|
|
|
2015-12-24 10:38:07 +00:00
|
|
|
config OMAP_TIMER
|
|
|
|
bool "Omap timer support"
|
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Select this to enable an timer for Omap devices.
|
|
|
|
|
2022-08-17 19:37:51 +00:00
|
|
|
config ORION_TIMER
|
|
|
|
bool "Orion timer support"
|
|
|
|
depends on TIMER
|
2022-09-15 14:20:37 +00:00
|
|
|
default y if ARCH_KIRKWOOD || (ARCH_MVEBU && ARMADA_32BIT)
|
|
|
|
select TIMER_EARLY if ARCH_MVEBU
|
2022-08-17 19:37:51 +00:00
|
|
|
help
|
2022-09-15 14:20:37 +00:00
|
|
|
Select this to enable an timer for Orion and Armada devices
|
|
|
|
like Armada XP etc.
|
2022-08-17 19:37:51 +00:00
|
|
|
|
2018-12-12 14:12:27 +00:00
|
|
|
config RISCV_TIMER
|
|
|
|
bool "RISC-V timer support"
|
|
|
|
depends on TIMER && RISCV
|
|
|
|
help
|
2020-09-28 14:52:21 +00:00
|
|
|
Select this to enable support for a generic RISC-V S-Mode timer
|
|
|
|
driver.
|
2018-12-12 14:12:27 +00:00
|
|
|
|
2018-10-11 05:07:02 +00:00
|
|
|
config ROCKCHIP_TIMER
|
|
|
|
bool "Rockchip timer support"
|
2017-01-18 21:44:55 +00:00
|
|
|
depends on TIMER
|
|
|
|
help
|
2018-10-11 05:07:02 +00:00
|
|
|
Select this to enable support for the timer found on
|
|
|
|
Rockchip devices.
|
|
|
|
|
|
|
|
config SANDBOX_TIMER
|
|
|
|
bool "Sandbox timer support"
|
|
|
|
depends on SANDBOX && TIMER
|
|
|
|
help
|
|
|
|
Select this to enable an emulated timer for sandbox. It gets
|
|
|
|
time from host os.
|
2017-01-18 21:44:55 +00:00
|
|
|
|
2022-08-24 04:44:32 +00:00
|
|
|
config ARM_GLOBAL_TIMER
|
|
|
|
bool "ARM Cortex A9 global timer support"
|
2017-02-21 12:37:05 +00:00
|
|
|
depends on TIMER
|
2022-08-24 04:44:32 +00:00
|
|
|
depends on ARM
|
2017-02-21 12:37:05 +00:00
|
|
|
default y if ARCH_STI
|
|
|
|
help
|
2022-08-24 04:44:32 +00:00
|
|
|
Select this to enable global timer found on ARM Cortex A9
|
|
|
|
based devices.
|
2017-02-21 12:37:05 +00:00
|
|
|
|
2018-02-07 09:44:45 +00:00
|
|
|
config STM32_TIMER
|
2018-10-11 05:07:02 +00:00
|
|
|
bool "STM32 timer support"
|
2018-02-07 09:44:45 +00:00
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Select this to enable support for the timer found on
|
|
|
|
STM32 devices.
|
|
|
|
|
2018-10-11 05:07:02 +00:00
|
|
|
config X86_TSC_TIMER
|
|
|
|
bool "x86 Time-Stamp Counter (TSC) timer support"
|
|
|
|
depends on TIMER && X86
|
2018-08-06 08:23:38 +00:00
|
|
|
help
|
2018-10-11 05:07:02 +00:00
|
|
|
Select this to enable Time-Stamp Counter (TSC) timer for x86.
|
2018-08-06 08:23:38 +00:00
|
|
|
|
2019-12-07 04:41:49 +00:00
|
|
|
config X86_TSC_READ_BASE
|
|
|
|
bool "Read the TSC timer base on start-up"
|
|
|
|
depends on X86_TSC_TIMER
|
|
|
|
help
|
|
|
|
On x86 platforms the TSC timer tick starts at the value 0 on reset.
|
|
|
|
This it makes no sense to read the timer on boot and use that as the
|
|
|
|
base, since we will miss some time taken to load U-Boot, etc. This
|
|
|
|
delay is controlled by the SoC and we cannot reduce it, but for
|
|
|
|
bootstage we want to record the time since reset as accurately as
|
|
|
|
possible.
|
|
|
|
|
|
|
|
The only exception is when U-Boot is used as a secondary bootloader,
|
|
|
|
where this option should be enabled.
|
|
|
|
|
2019-12-07 04:41:50 +00:00
|
|
|
config TPL_X86_TSC_TIMER_NATIVE
|
|
|
|
bool "x86 TSC timer uses native calibration"
|
|
|
|
depends on TPL && X86_TSC_TIMER
|
|
|
|
help
|
|
|
|
Selects native timer calibration for TPL and don't include the other
|
|
|
|
methods in the code. This helps to reduce code size in TPL and works
|
|
|
|
on fairly modern Intel chips. Code-size reductions is about 700
|
|
|
|
bytes.
|
|
|
|
|
2018-11-15 02:07:56 +00:00
|
|
|
config MTK_TIMER
|
|
|
|
bool "MediaTek timer support"
|
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Select this to enable support for the timer found on
|
|
|
|
MediaTek devices.
|
|
|
|
|
2020-09-07 15:36:33 +00:00
|
|
|
config MCHP_PIT64B_TIMER
|
|
|
|
bool "Microchip 64-bit periodic interval timer support"
|
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Select this to enable support for Microchip 64-bit periodic
|
|
|
|
interval timer.
|
|
|
|
|
2021-05-13 10:18:31 +00:00
|
|
|
config IMX_GPT_TIMER
|
|
|
|
bool "NXP i.MX GPT timer support"
|
|
|
|
depends on TIMER
|
|
|
|
help
|
|
|
|
Select this to enable support for the timer found on
|
|
|
|
NXP i.MX devices.
|
|
|
|
|
2022-06-24 12:16:32 +00:00
|
|
|
config XILINX_TIMER
|
|
|
|
bool "Xilinx timer support"
|
|
|
|
depends on TIMER
|
|
|
|
select REGMAP
|
2022-06-23 11:08:30 +00:00
|
|
|
select SPL_REGMAP if SPL
|
2022-06-24 12:16:32 +00:00
|
|
|
help
|
|
|
|
Select this to enable support for the timer found on
|
|
|
|
any Xilinx boards (axi timer).
|
|
|
|
|
2015-10-09 05:46:34 +00:00
|
|
|
endmenu
|