zephyr/drivers/counter/Kconfig
Mike J. Chen f4a209c7ea drivers: counter: add support for ARM CRSAS-MA2
This adds support for ARM Corstone System Architecture Specification Ma2
(ARM CRSAS-MA2) System Counter and System Timer.

The HW consists of one 64-byt System Counter, and any number
of System Timers that have match registers to generate interrupts
based on the value of the System Counter.

The timers don't have any counter/timer of their own, meaning that
System Counter can't be started or stopped independently if there is an
enabled System Timer.

Add the crsas-ma2 timer to the test for counters.

Signed-off-by: Mike J. Chen <mjchen@google.com>
Signed-off-by: Krystian Hebel <khebel@antmicro.com>
2026-08-05 18:38:18 +01:00

148 lines
5 KiB
Text

# Counter configuration options
# Copyright (c) 2016 Intel Corporation
# SPDX-License-Identifier: Apache-2.0
menuconfig COUNTER
bool "Counter drivers"
help
Enable support for counter and timer.
if COUNTER
config COUNTER_CAPTURE
bool "Counter capture"
select EXPERIMENTAL
depends on COUNTER_SUPPORTS_CAPTURE
help
Enable support for counter capture. This is a feature that allows
hardware timestamping of external events as well as a software
interrupt on the event. This feature is not supported by all
counter drivers.
config COUNTER_SUPPORTS_CAPTURE
bool
help
Select this option if the counter driver supports the counter capture
API. This is to be set the driver.
config COUNTER_INIT_PRIORITY
int "Counter init priority"
default KERNEL_INIT_PRIORITY_DEVICE
help
Counter driver device initialization priority.
config COUNTER_SHELL
bool "Counter shell"
depends on SHELL
help
Enable Shell Commands for Counter and Timer
config COUNTER_64BITS_FREQ
bool
help
Select this option if the counter driver should use 64-bits for frequency.
This is typically set by drivers that have frequencies greater than
4,294,967,295 Hz.
config COUNTER_SUPPORTS_64BITS_TICKS
bool
help
Select this option if the counter driver supports 64-bits for ticks.
This is typically set by drivers that require extended
tick ranges beyond the 32-bit limit.
config COUNTER_64BITS_TICKS
bool "API to support ticks longer than 32-bits"
depends on COUNTER_SUPPORTS_64BITS_TICKS
help
This enables APIs to handle ticks larger than 32-bits with a
64-bit typedef. It is up to the driver to implement the necessary
functions to supports.
config COUNTER_CALIBRATION
bool "Counter driver calibration support"
help
Enable support for counter clock calibration. Calibration
is specified in parts per billion (ppb). A positive value
speeds up the counter, a negative value slows it down.
module = COUNTER
module-str = counter
source "subsys/logging/Kconfig.template.log_config"
# zephyr-keep-sorted-start
source "drivers/counter/Kconfig.ace"
source "drivers/counter/Kconfig.ambiq"
source "drivers/counter/Kconfig.ameba_tmr"
source "drivers/counter/Kconfig.andes_atcpit100"
source "drivers/counter/Kconfig.bee_rtc"
source "drivers/counter/Kconfig.bee_timer"
source "drivers/counter/Kconfig.bflb"
source "drivers/counter/Kconfig.cc23x0_lgpt"
source "drivers/counter/Kconfig.cc23x0_rtc"
source "drivers/counter/Kconfig.cmos"
source "drivers/counter/Kconfig.crsas_ma2"
source "drivers/counter/Kconfig.dtmr_cmsdk_apb"
source "drivers/counter/Kconfig.dw"
source "drivers/counter/Kconfig.esp32_rtc"
source "drivers/counter/Kconfig.esp32_tmr"
source "drivers/counter/Kconfig.gd32"
source "drivers/counter/Kconfig.imx_epit"
source "drivers/counter/Kconfig.infineon"
source "drivers/counter/Kconfig.infineon_tcpwm"
source "drivers/counter/Kconfig.ite_it51xxx"
source "drivers/counter/Kconfig.ite_it8xxx2"
source "drivers/counter/Kconfig.k3_rtc_counter"
source "drivers/counter/Kconfig.max32_rtc"
source "drivers/counter/Kconfig.max32_timer"
source "drivers/counter/Kconfig.max32_wut"
source "drivers/counter/Kconfig.mchp"
source "drivers/counter/Kconfig.mchp_sam_pit64b"
source "drivers/counter/Kconfig.mcp7940n"
source "drivers/counter/Kconfig.mcux_ctimer"
source "drivers/counter/Kconfig.mcux_ftm"
source "drivers/counter/Kconfig.mcux_gpt"
source "drivers/counter/Kconfig.mcux_lpc_rtc"
source "drivers/counter/Kconfig.mcux_lpit"
source "drivers/counter/Kconfig.mcux_lptmr"
source "drivers/counter/Kconfig.mcux_qtmr"
source "drivers/counter/Kconfig.mcux_rtc"
source "drivers/counter/Kconfig.mcux_rtc_jdp"
source "drivers/counter/Kconfig.mcux_snvs"
source "drivers/counter/Kconfig.mcux_stm"
source "drivers/counter/Kconfig.mcux_sysctr"
source "drivers/counter/Kconfig.mcux_tpm"
source "drivers/counter/Kconfig.mcux_tstmr"
source "drivers/counter/Kconfig.mcux_wake_timer"
source "drivers/counter/Kconfig.mspm0"
source "drivers/counter/Kconfig.native_sim"
source "drivers/counter/Kconfig.neorv32"
source "drivers/counter/Kconfig.npcx"
source "drivers/counter/Kconfig.nrfx"
source "drivers/counter/Kconfig.nxp_irtc"
source "drivers/counter/Kconfig.nxp_mrt"
source "drivers/counter/Kconfig.nxp_pit"
source "drivers/counter/Kconfig.nxp_s32"
source "drivers/counter/Kconfig.renesas_ra"
source "drivers/counter/Kconfig.renesas_rz"
source "drivers/counter/Kconfig.rpi_pico"
source "drivers/counter/Kconfig.rpi_pico_pit"
source "drivers/counter/Kconfig.rts5912"
source "drivers/counter/Kconfig.rts5912_slwtmr"
source "drivers/counter/Kconfig.sam"
source "drivers/counter/Kconfig.sam0"
source "drivers/counter/Kconfig.silabs"
source "drivers/counter/Kconfig.smartbond_timer"
source "drivers/counter/Kconfig.stm32_rtc"
source "drivers/counter/Kconfig.stm32_timer"
source "drivers/counter/Kconfig.tmr_cmsdk_apb"
source "drivers/counter/Kconfig.xec"
source "drivers/counter/Kconfig.xlnx"
source "drivers/counter/Kconfig.xlnx_ttc"
source "drivers/counter/Kconfig.xlnx_zynqmp_rtc"
# zephyr-keep-sorted-stop
source "drivers/counter/Kconfig.rv3032_counter"
endif # COUNTER