# 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_32 select IOAPIC select LOAPIC 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_32 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_32 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. endmenu