:orphan: .. title:: CONFIG_SYS_CLOCK_TICKS_PER_SEC .. kconfig:: CONFIG_SYS_CLOCK_TICKS_PER_SEC CONFIG_SYS_CLOCK_TICKS_PER_SEC ############################## *System tick frequency (in ticks/second)* Type: ``int`` Help ==== .. code-block:: none 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 ======== - 32768 - 1000 - 32768 - 1000 - 32768 - 1000 - 1000 - 1000 - 100 - 128 - 128 - 1000 - 1000 - 32768 - 4096 if \ :kconfig:`STM32_LPTIM_TIMER ` && \ :kconfig:`STM32_LPTIM_CLOCK_LSE ` - 4000 if \ :kconfig:`STM32_LPTIM_TIMER ` && \ :kconfig:`STM32_LPTIM_CLOCK_LSI ` - 32768 - 32768 - 100 if !\ :kconfig:`CACHE_ENABLE ` - 50000 - 50000 - 50000 - 50000 - 50000 - 32768 - 4096 if \ :kconfig:`STM32_LPTIM_TIMER ` && \ :kconfig:`STM32_LPTIM_CLOCK_LSE ` - 4000 if \ :kconfig:`STM32_LPTIM_TIMER ` && \ :kconfig:`STM32_LPTIM_CLOCK_LSI ` - 32768 - 32768 - 100 if !\ :kconfig:`CACHE_ENABLE ` - 50000 - 50000 - 50000 - 50000 - 50000 - 100 if \ :kconfig:`QEMU_TARGET ` || \ :kconfig:`SOC_POSIX ` - 10000 if \ :kconfig:`TICKLESS_KERNEL ` - 100 Kconfig definitions =================== At ``/arm/mec1501modular_assy6885/Kconfig.defconfig:23`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on RTOS_TIMER && BOARD_MEC1501MODULAR_ASSY6885 ---- At ``/arm/mec1501modular_assy6885/Kconfig.defconfig:37`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 1000 depends on !RTOS_TIMER && BOARD_MEC1501MODULAR_ASSY6885 ---- At ``/arm/mec15xxevb_assy6853/Kconfig.defconfig:22`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on RTOS_TIMER && BOARD_MEC15XXEVB_ASSY6853 ---- At ``/arm/mec15xxevb_assy6853/Kconfig.defconfig:37`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 1000 depends on !RTOS_TIMER && BOARD_MEC15XXEVB_ASSY6853 ---- At ``/arm/mec172xevb_assy6906/Kconfig.defconfig:18`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on RTOS_TIMER && BOARD_MEC172XEVB_ASSY6906 ---- At ``/arm/mec172xevb_assy6906/Kconfig.defconfig:34`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 1000 depends on !RTOS_TIMER && BOARD_MEC172XEVB_ASSY6906 ---- At ``/arm/npcx7m6fb_evb/Kconfig.defconfig:11`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 1000 ---- At ``/arm/npcx9m6f_evb/Kconfig.defconfig:11`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 1000 ---- At ``/arm/qemu_cortex_m0/Kconfig.defconfig:32`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 100 depends on BOARD_QEMU_CORTEX_M0 ---- At ``/riscv/hifive1/Kconfig.defconfig:8`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 128 depends on BOARD_HIFIVE1 ---- At ``/riscv/hifive1_revb/Kconfig.defconfig:18`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 128 depends on BOARD_HIFIVE1_REVB ---- At ``/riscv/hifive_unleashed/Kconfig.defconfig:9`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 1000 depends on BOARD_HIFIVE_UNLEASHED ---- At ``/riscv/hifive_unmatched/Kconfig.defconfig:9`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:22`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 1000 depends on BOARD_HIFIVE_UNMATCHED ---- At ``/arm/nordic_nrf/Kconfig.defconfig:24`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on SOC_FAMILY_NRF ---- At ``/arm/st_stm32/common/Kconfig.defconfig.series:20`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/arm/st_stm32/Kconfig.defconfig:3`` Menu path: (Top) .. code-block:: kconfig 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 ``/arm/ti_simplelink/cc13x2_cc26x2/Kconfig.defconfig.series:19`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/arm/ti_simplelink/Kconfig.defconfig:3`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on SOC_SERIES_CC13X2_CC26X2 ---- At ``/riscv/riscv-ite/it8xxx2/Kconfig.defconfig.series:19`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/riscv/riscv-ite/Kconfig.defconfig:4`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on SOC_SERIES_RISCV32_IT8XXX2 ---- At ``/riscv/riscv-privilege/andes_v5/Kconfig.defconfig.ae350:9`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/riscv/riscv-privilege/Kconfig.defconfig:6`` → ``/riscv/riscv-privilege/andes_v5/Kconfig.defconfig.series:9`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 100 if !CACHE_ENABLE depends on SOC_RISCV_ANDES_AE350 && SOC_SERIES_RISCV_ANDES_V5 ---- At ``/xtensa/intel_adsp/cavs_v15/Kconfig.defconfig.series:31`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/xtensa/intel_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on SOC_SERIES_INTEL_CAVS_V15 ---- At ``/xtensa/intel_adsp/cavs_v18/Kconfig.defconfig.series:31`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/xtensa/intel_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on SOC_SERIES_INTEL_CAVS_V18 ---- At ``/xtensa/intel_adsp/cavs_v20/Kconfig.defconfig.series:31`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/xtensa/intel_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on SOC_SERIES_INTEL_CAVS_V20 ---- At ``/xtensa/intel_adsp/cavs_v25/Kconfig.defconfig.series:35`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/xtensa/intel_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on SOC_SERIES_INTEL_CAVS_V25 ---- At ``/xtensa/nxp_adsp/imx8/Kconfig.defconfig.series:27`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:25`` → ``/kconfig/Kconfig.soc.defconfig:1`` → ``/xtensa/nxp_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on SOC_SERIES_NXP_IMX8 ---- At ``/arm/nordic_nrf/Kconfig.defconfig:24`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on SOC_FAMILY_NRF ---- At ``/arm/st_stm32/common/Kconfig.defconfig.series:20`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/arm/st_stm32/Kconfig.defconfig:3`` Menu path: (Top) .. code-block:: kconfig 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 ``/arm/ti_simplelink/cc13x2_cc26x2/Kconfig.defconfig.series:19`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/arm/ti_simplelink/Kconfig.defconfig:3`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on SOC_SERIES_CC13X2_CC26X2 ---- At ``/riscv/riscv-ite/it8xxx2/Kconfig.defconfig.series:19`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/riscv/riscv-ite/Kconfig.defconfig:4`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on SOC_SERIES_RISCV32_IT8XXX2 ---- At ``/riscv/riscv-privilege/andes_v5/Kconfig.defconfig.ae350:9`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/riscv/riscv-privilege/Kconfig.defconfig:6`` → ``/riscv/riscv-privilege/andes_v5/Kconfig.defconfig.series:9`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 100 if !CACHE_ENABLE depends on SOC_RISCV_ANDES_AE350 && SOC_SERIES_RISCV_ANDES_V5 ---- At ``/xtensa/intel_adsp/cavs_v15/Kconfig.defconfig.series:31`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/xtensa/intel_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on SOC_SERIES_INTEL_CAVS_V15 ---- At ``/xtensa/intel_adsp/cavs_v18/Kconfig.defconfig.series:31`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/xtensa/intel_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on SOC_SERIES_INTEL_CAVS_V18 ---- At ``/xtensa/intel_adsp/cavs_v20/Kconfig.defconfig.series:31`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/xtensa/intel_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on SOC_SERIES_INTEL_CAVS_V20 ---- At ``/xtensa/intel_adsp/cavs_v25/Kconfig.defconfig.series:35`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/xtensa/intel_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on SOC_SERIES_INTEL_CAVS_V25 ---- At ``/xtensa/nxp_adsp/imx8/Kconfig.defconfig.series:27`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:27`` → ``/xtensa/nxp_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. code-block:: kconfig config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on SOC_SERIES_NXP_IMX8 ---- At ``/Kconfig:561`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:40`` Menu path: (Top) → General Kernel Options .. code-block:: kconfig 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.)*