zephyr/drivers/timer/Kconfig

159 lines
4.1 KiB
Plaintext

# Kconfig - timer driver configuration options
#
# Copyright (c) 2014-2015 Wind River Systems, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
menu "Timer Drivers"
config HPET_TIMER
bool "HPET timer"
default n
depends on X86
select IOAPIC
select LOAPIC
select TIMER_READS_ITS_FREQUENCY_AT_RUNTIME
help
This option selects High Precision Event Timer (HPET) as a
system timer.
config HPET_TIMER_LEGACY_EMULATION
bool "HPET timer legacy emulation mode"
default n
depends on HPET_TIMER
help
This option switches HPET to legacy emulation mode.
In this mode 8254 PIT is disabled, HPET timer0 is connected
to IOAPIC IRQ2, timer1 -- to IOAPIC IRQ8.
config HPET_TIMER_DEBUG
bool "Enable HPET debug output"
default n
depends on HPET_TIMER && PRINTK
help
This option enables HPET debugging output.
config HPET_TIMER_BASE_ADDRESS
hex "HPET Base Address"
default 0xFED00000
depends on HPET_TIMER
help
This options specifies the base address of the HPET timer device.
config HPET_TIMER_IRQ
int "HPET Timer IRQ"
default 20
depends on HPET_TIMER
help
This option specifies the IRQ used by the HPET timer.
config HPET_TIMER_IRQ_PRIORITY
int "HPET Timer IRQ Priority"
default 4
depends on HPET_TIMER
help
This option specifies the IRQ priority used by the HPET timer.
choice
depends on HPET_TIMER
prompt "HPET Interrupt Trigger Condition"
default HPET_TIMER_FALLING_EDGE
config HPET_TIMER_FALLING_EDGE
bool "Falling Edge"
help
This option signifies that the HPET timer uses falling edge interrupts.
config HPET_TIMER_RISING_EDGE
bool "Rising Edge"
help
This option signifies that the HPET timer uses rising edge interrupts.
config HPET_TIMER_LEVEL_HIGH
bool "Level High"
help
This option signifies that the HPET timer uses level high interrupts.
config HPET_TIMER_LEVEL_LOW
bool "Level Low"
help
This option signifies that the HPET timer uses level low interrupts.
endchoice
config LOAPIC_TIMER
bool "LOAPIC timer"
depends on (LOAPIC || MVIC) && X86
default n
help
This option selects LOAPIC timer as a system timer.
config LOAPIC_TIMER_IRQ
int "Local APIC Timer IRQ"
default 24
depends on LOAPIC_TIMER
help
This option specifies the IRQ used by the LOAPIC timer.
config LOAPIC_TIMER_IRQ_PRIORITY
int "Local APIC Timer IRQ Priority"
default 2
depends on LOAPIC_TIMER
help
This options specifies the IRQ priority used by the LOAPIC timer.
config LOAPIC_TIMER_DIVIDER_UNSUPPORTED
bool "LOAPIC timer divider unsupported"
depends on LOAPIC_TIMER && MVIC && X86
default n
help
This option selects if Local Apic Timer divider register is supported.
The MVIC interrupt controller does not provide the Timer Divide
Configuration Register (TDC).
config ARCV2_TIMER
bool "ARC Timer"
default y
depends on ARC
help
This module implements a kernel device driver for the ARCv2 processor timer 0
and provides the standard "system clock driver" interfaces.
config CORTEX_M_SYSTICK
bool "Cortex-M SYSTICK timer"
default y
depends on CPU_CORTEX_M
help
This module implements a kernel device driver for the Cortex-M processor
SYSTICK timer and provides the standard "system clock driver" interfaces.
config SYSTEM_CLOCK_DISABLE
bool "API to disable system clock"
default n
help
This option enables the sys_clock_disable() API in the kernel. It is
needed by some subsystems (which will automatically select it), but is
rarely needed by applications.
config TIMER_READS_ITS_FREQUENCY_AT_RUNTIME
bool "Timer queries its hardware to find its frequency at runtime"
default n
help
The drivers select this option automatically when needed. Do not modify
this unless you have a very good reason for it.
endmenu