zephyr/drivers/timer/Kconfig.riscv_machine
Camille BAUD f11f68eade drivers: timer: Harmonize mtime-based RISC-V timers
This commit replaces a bunch of ifdefs and bindings with a single
extensible binding, and makes all standard mtime system timers consistent.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-01-22 05:39:59 +01:00

36 lines
1.3 KiB
Text

# Copyright (c) 2014-2015 Wind River Systems, Inc.
# Copyright (c) 2016 Cadence Design Systems, Inc.
# Copyright (c) 2019-2023 Intel Corp.
# SPDX-License-Identifier: Apache-2.0
config RISCV_MACHINE_TIMER
bool "RISCV Machine Timer"
default y
depends on DT_HAS_RISCV_MACHINE_TIMER_ENABLED || \
DT_HAS_NUCLEI_SYSTIMER_ENABLED
select TICKLESS_CAPABLE
select TIMER_HAS_64BIT_CYCLE_COUNTER
help
This module implements a kernel device driver for the generic RISCV machine
timer driver. It provides the standard "system clock driver" interfaces.
if RISCV_MACHINE_TIMER
config RISCV_MACHINE_TIMER_SYSTEM_CLOCK_DIVIDER
int
default 0
help
Specifies the division ratio of the system clock supplied to the Machine Timer.
A clock obtained by dividing the system clock by a value of [2^N] is
supplied to the timer. Where N is this parameter's value.
When N=2, it is divided by 4, and when N=5, it is divided by 32.
Default case is N=0, this means use system clock as machine timer clock.
It is normal configuration for RISC-V machine clock.
This parameter usually depends on the hardware configuration.
The division ratio should define in devicetree,
and it is desirable usage that references it with using a function such as
dt_node_int_prop_int from Kconfig. (Tune in the conf file is not preferable.)
endif