CONFIG_SYS_CLOCK_TICKS_PER_SEC

System tick frequency (in ticks/second)

Type: int

Help

This option specifies the nominal frequency of the system clock in Hz.

For asynchronous timekeeping, the kernel defines a “ticks” concept. A “tick” is the internal count in which the kernel does all its internal uptime and timeout bookeeping. Interrupts are expected to be delivered on tick boundaries to the extent practical, and no fractional ticks are tracked.

The choice of tick rate is configurable by this option. Also the number of cycles per tick should be chosen so that 1 millisecond is exactly represented by an integral number of ticks. Defaults on most hardware platforms (ones that support setting arbitrary interrupt timeouts) are expected to be in the range of 10 kHz, with software emulation platforms and legacy drivers using a more traditional 100 Hz value.

Note that when available and enabled, in “tickless” mode this config variable specifies the minimum available timing granularity, not necessarily the number or frequency of interrupts delivered to the kernel.

A value of 0 completely disables timer support in the kernel.

Defaults

Kconfig definitions

At <Zephyr>/boards/arm/mec1501modular_assy6885/Kconfig.defconfig:23

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:24

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 32768
    depends on RTOS_TIMER && BOARD_MEC1501MODULAR_ASSY6885

At <Zephyr>/boards/arm/mec1501modular_assy6885/Kconfig.defconfig:37

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:24

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 1000
    depends on !RTOS_TIMER && BOARD_MEC1501MODULAR_ASSY6885

At <Zephyr>/boards/arm/mec15xxevb_assy6853/Kconfig.defconfig:22

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:24

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 32768
    depends on RTOS_TIMER && BOARD_MEC15XXEVB_ASSY6853

At <Zephyr>/boards/arm/mec15xxevb_assy6853/Kconfig.defconfig:37

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:24

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 1000
    depends on !RTOS_TIMER && BOARD_MEC15XXEVB_ASSY6853

At <Zephyr>/boards/arm/npcx7m6fb_evb/Kconfig.defconfig:11

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:24

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 1000

At <Zephyr>/boards/arm/qemu_cortex_m0/Kconfig.defconfig:32

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:24

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 100
    depends on BOARD_QEMU_CORTEX_M0

At <Zephyr>/boards/riscv/hifive1/Kconfig.defconfig:8

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:24

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 128
    depends on BOARD_HIFIVE1

At <Zephyr>/boards/riscv/hifive1_revb/Kconfig.defconfig:18

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:24

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 128
    depends on BOARD_HIFIVE1_REVB

At <Zephyr>/soc/arm/nordic_nrf/Kconfig.defconfig:24

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<BuildDir>/Kconfig/Kconfig.soc.defconfig:1

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 32768
    depends on SOC_FAMILY_NRF

At <Zephyr>/soc/arm/st_stm32/common/Kconfig.defconfig.series:16

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<BuildDir>/Kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/arm/st_stm32/Kconfig.defconfig:3

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 4096 if STM32_LPTIM_TIMER && STM32_LPTIM_CLOCK_LSE
    default 4000 if STM32_LPTIM_TIMER && STM32_LPTIM_CLOCK_LSI
    depends on SOC_FAMILY_STM32

At <Zephyr>/soc/arm/ti_simplelink/cc13x2_cc26x2/Kconfig.defconfig.series:19

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<BuildDir>/Kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/arm/ti_simplelink/Kconfig.defconfig:3

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 32768
    depends on SOC_SERIES_CC13X2_CC26X2

At <Zephyr>/soc/xtensa/intel_adsp/cavs_v15/Kconfig.defconfig.series:30

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<BuildDir>/Kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/xtensa/intel_adsp/Kconfig.defconfig:6

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 50000
    depends on SOC_SERIES_INTEL_CAVS_V15

At <Zephyr>/soc/xtensa/intel_adsp/cavs_v18/Kconfig.defconfig.series:18

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<BuildDir>/Kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/xtensa/intel_adsp/Kconfig.defconfig:6

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 50000
    depends on SOC_SERIES_INTEL_CAVS_V18

At <Zephyr>/soc/xtensa/intel_adsp/cavs_v20/Kconfig.defconfig.series:18

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<BuildDir>/Kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/xtensa/intel_adsp/Kconfig.defconfig:6

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 50000
    depends on SOC_SERIES_INTEL_CAVS_V20

At <Zephyr>/soc/xtensa/intel_adsp/cavs_v25/Kconfig.defconfig.series:18

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<BuildDir>/Kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/xtensa/intel_adsp/Kconfig.defconfig:6

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 50000
    depends on SOC_SERIES_INTEL_CAVS_V25

At <Zephyr>/kernel/Kconfig:558

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:30

Menu path: (Top) → General Kernel Options

config SYS_CLOCK_TICKS_PER_SEC
    int "System tick frequency (in ticks/second)"
    default 100 if QEMU_TARGET || SOC_POSIX
    default 10000 if TICKLESS_CAPABLE
    default 100
    help
      This option specifies the nominal frequency of the system clock in Hz.

      For asynchronous timekeeping, the kernel defines a "ticks" concept. A
      "tick" is the internal count in which the kernel does all its internal
      uptime and timeout bookeeping. Interrupts are expected to be delivered
      on tick boundaries to the extent practical, and no fractional ticks
      are tracked.

      The choice of tick rate is configurable by this option. Also the number
      of cycles per tick should be chosen so that 1 millisecond is exactly
      represented by an integral number of ticks. Defaults on most hardware
      platforms (ones that support setting arbitrary interrupt timeouts) are
      expected to be in the range of 10 kHz, with software emulation
      platforms and legacy drivers using a more traditional 100 Hz value.

      Note that when available and enabled, in "tickless" mode
      this config variable specifies the minimum available timing
      granularity, not necessarily the number or frequency of
      interrupts delivered to the kernel.

      A value of 0 completely disables timer support in the kernel.

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)