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 bookkeeping. 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:22

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:22

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:22

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:22

Menu path: (Top)

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

At <Zephyr>/boards/arm/mec172xevb_assy6906/Kconfig.defconfig:18

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

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 32768
    depends on RTOS_TIMER && BOARD_MEC172XEVB_ASSY6906

At <Zephyr>/boards/arm/mec172xevb_assy6906/Kconfig.defconfig:34

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

Menu path: (Top)

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

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

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

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 1000

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

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

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:22

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:22

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:22

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 128
    depends on BOARD_HIFIVE1_REVB

At <Zephyr>/boards/riscv/hifive_unleashed/Kconfig.defconfig:9

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

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 1000
    depends on BOARD_HIFIVE_UNLEASHED

At <Zephyr>/boards/riscv/hifive_unmatched/Kconfig.defconfig:9

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

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 1000
    depends on BOARD_HIFIVE_UNMATCHED

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

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<nRF>/doc/_build/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:20

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<nRF>/doc/_build/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<nRF>/doc/_build/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/riscv/riscv-ite/it8xxx2/Kconfig.defconfig.series:19

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<nRF>/doc/_build/kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/riscv/riscv-ite/Kconfig.defconfig:4

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 32768
    depends on SOC_SERIES_RISCV32_IT8XXX2

At <Zephyr>/soc/riscv/riscv-privilege/andes_v5/Kconfig.defconfig.ae350:9

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<nRF>/doc/_build/kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/riscv/riscv-privilege/Kconfig.defconfig:6<Zephyr>/soc/riscv/riscv-privilege/andes_v5/Kconfig.defconfig.series:9

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 100 if !CACHE_ENABLE
    depends on SOC_RISCV_ANDES_AE350 && SOC_SERIES_RISCV_ANDES_V5

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

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<nRF>/doc/_build/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:31

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<nRF>/doc/_build/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:31

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<nRF>/doc/_build/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:35

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<nRF>/doc/_build/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>/soc/xtensa/nxp_adsp/imx8/Kconfig.defconfig.series:27

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:25<nRF>/doc/_build/kconfig/Kconfig.soc.defconfig:1<Zephyr>/soc/xtensa/nxp_adsp/Kconfig.defconfig:6

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 50000
    depends on SOC_SERIES_NXP_IMX8

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

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

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:20

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:27<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:27<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/riscv/riscv-ite/it8xxx2/Kconfig.defconfig.series:19

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:27<Zephyr>/soc/riscv/riscv-ite/Kconfig.defconfig:4

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 32768
    depends on SOC_SERIES_RISCV32_IT8XXX2

At <Zephyr>/soc/riscv/riscv-privilege/andes_v5/Kconfig.defconfig.ae350:9

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:27<Zephyr>/soc/riscv/riscv-privilege/Kconfig.defconfig:6<Zephyr>/soc/riscv/riscv-privilege/andes_v5/Kconfig.defconfig.series:9

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 100 if !CACHE_ENABLE
    depends on SOC_RISCV_ANDES_AE350 && SOC_SERIES_RISCV_ANDES_V5

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

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:27<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:31

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:27<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:31

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:27<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:35

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:27<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>/soc/xtensa/nxp_adsp/imx8/Kconfig.defconfig.series:27

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:27<Zephyr>/soc/xtensa/nxp_adsp/Kconfig.defconfig:6

Menu path: (Top)

config SYS_CLOCK_TICKS_PER_SEC
    int
    default 50000
    depends on SOC_SERIES_NXP_IMX8

At <Zephyr>/kernel/Kconfig:561

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

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_KERNEL
    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 bookkeeping. 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.)