| menu "Timer Support" |
| |
| config TIMER |
| bool "Enable driver model for timer drivers" |
| depends on DM |
| help |
| Enable driver model for timer access. It uses the same API as |
| lib/time.c, but now implemented by the uclass. The first timer |
| will be used. The timer is usually a 32 bits free-running up |
| counter. There may be no real tick, and no timer interrupt. |
| |
| 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. |
| |
| 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. |
| |
| config TIMER_EARLY |
| bool "Allow timer to be used early in U-Boot" |
| depends on TIMER |
| # initr_bootstage() requires a timer and is called before initr_dm() |
| # so only the early timer is available |
| default y if X86 && BOOTSTAGE |
| 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(). |
| |
| config ALTERA_TIMER |
| bool "Altera timer support" |
| depends on TIMER |
| help |
| Select this to enable a timer for Altera devices. Please find |
| details on the "Embedded Peripherals IP User Guide" of Altera. |
| |
| config ANDES_PLMT_TIMER |
| bool |
| depends on RISCV_MMODE || SPL_RISCV_MMODE |
| help |
| The Andes PLMT block holds memory-mapped mtime register |
| associated with timer tick. |
| |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| config MPC83XX_TIMER |
| bool "MPC83xx timer support" |
| depends on TIMER |
| help |
| Select this to enable support for the timer found on |
| devices based on the MPC83xx family of SoCs. |
| |
| 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. |
| |
| config X86_TSC_TIMER_FREQ |
| int "x86 TSC timer frequency in Hz" |
| depends on X86_TSC_TIMER |
| default 1000000000 |
| help |
| Sets the estimated CPU frequency in Hz when TSC is used as the |
| 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. |
| |
| 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. |
| |
| 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. |
| |
| config OMAP_TIMER |
| bool "Omap timer support" |
| depends on TIMER |
| help |
| Select this to enable an timer for Omap devices. |
| |
| config ORION_TIMER |
| bool "Orion timer support" |
| depends on TIMER |
| default y if ARCH_KIRKWOOD || (ARCH_MVEBU && ARMADA_32BIT) |
| select TIMER_EARLY if ARCH_MVEBU |
| help |
| Select this to enable an timer for Orion and Armada devices |
| like Armada XP etc. |
| |
| config RISCV_TIMER |
| bool "RISC-V timer support" |
| depends on TIMER && RISCV |
| help |
| Select this to enable support for a generic RISC-V S-Mode timer |
| driver. |
| |
| config ROCKCHIP_TIMER |
| bool "Rockchip timer support" |
| depends on TIMER |
| help |
| 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. |
| |
| config ARM_GLOBAL_TIMER |
| bool "ARM Cortex A9 global timer support" |
| depends on TIMER |
| depends on ARM |
| default y if ARCH_STI |
| help |
| Select this to enable global timer found on ARM Cortex A9 |
| based devices. |
| |
| config SP804_TIMER |
| bool "ARM SP804 timer support" |
| depends on TIMER |
| help |
| ARM SP804 dual timer IP support |
| |
| config STM32_TIMER |
| bool "STM32 timer support" |
| depends on TIMER |
| help |
| Select this to enable support for the timer found on |
| STM32 devices. |
| |
| config TEGRA_TIMER |
| bool "Tegra timer support" |
| depends on TIMER |
| select TIMER_EARLY |
| help |
| Select this to enable support for the timer found on |
| Tegra devices. |
| |
| config X86_TSC_TIMER |
| bool "x86 Time-Stamp Counter (TSC) timer support" |
| depends on TIMER && X86 |
| help |
| Select this to enable Time-Stamp Counter (TSC) timer for x86. |
| |
| 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. |
| |
| 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. |
| |
| config MTK_TIMER |
| bool "MediaTek timer support" |
| depends on TIMER |
| help |
| Select this to enable support for the timer found on |
| MediaTek devices. |
| |
| 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. |
| |
| 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. |
| |
| config XILINX_TIMER |
| bool "Xilinx timer support" |
| depends on TIMER |
| select REGMAP |
| select SPL_REGMAP if SPL |
| help |
| Select this to enable support for the timer found on |
| any Xilinx boards (axi timer). |
| |
| endmenu |