:orphan: .. title:: SYS_CLOCK_TICKS_PER_SEC .. option:: 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 ======== - 32768 - 1000 - 32768 - 1000 - 1000 - 100 - 128 - 128 - 32768 - 4096 if \ :option:`STM32_LPTIM_TIMER ` && \ :option:`STM32_LPTIM_CLOCK_LSE ` - 4000 if \ :option:`STM32_LPTIM_TIMER ` && \ :option:`STM32_LPTIM_CLOCK_LSI ` - 32768 - 50000 - 50000 - 50000 - 50000 - 100 if \ :option:`QEMU_TARGET ` || \ :option:`SOC_POSIX ` - 10000 if \ :option:`TICKLESS_KERNEL ` - 100 Kconfig definitions =================== .. highlight:: kconfig At ``boards/arm/mec1501modular_assy6885/Kconfig.defconfig:23`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:18`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on \ :option:`RTOS_TIMER ` && \ :option:`BOARD_MEC1501MODULAR_ASSY6885 ` ---- At ``boards/arm/mec1501modular_assy6885/Kconfig.defconfig:37`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:18`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 1000 depends on !\ :option:`RTOS_TIMER ` && \ :option:`BOARD_MEC1501MODULAR_ASSY6885 ` ---- At ``boards/arm/mec15xxevb_assy6853/Kconfig.defconfig:22`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:18`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on \ :option:`RTOS_TIMER ` && \ :option:`BOARD_MEC15XXEVB_ASSY6853 ` ---- At ``boards/arm/mec15xxevb_assy6853/Kconfig.defconfig:37`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:18`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 1000 depends on !\ :option:`RTOS_TIMER ` && \ :option:`BOARD_MEC15XXEVB_ASSY6853 ` ---- At ``boards/arm/npcx7m6fb_evb/Kconfig.defconfig:11`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:18`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 1000 ---- At ``boards/arm/qemu_cortex_m0/Kconfig.defconfig:32`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:18`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 100 depends on \ :option:`BOARD_QEMU_CORTEX_M0 ` ---- At ``boards/riscv/hifive1/Kconfig.defconfig:8`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:18`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 128 depends on \ :option:`BOARD_HIFIVE1 ` ---- At ``boards/riscv/hifive1_revb/Kconfig.defconfig:18`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:18`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 128 depends on \ :option:`BOARD_HIFIVE1_REVB ` ---- At ``soc/arm/nordic_nrf/Kconfig.defconfig:24`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:19`` → ``/home/runner/work/bridle/bridle/workspace/build/Kconfig/Kconfig.soc.defconfig:1`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on \ :option:`SOC_FAMILY_NRF ` ---- At ``soc/arm/st_stm32/common/Kconfig.defconfig.series:16`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:19`` → ``/home/runner/work/bridle/bridle/workspace/build/Kconfig/Kconfig.soc.defconfig:1`` → ``soc/arm/st_stm32/Kconfig.defconfig:3`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 4096 if \ :option:`STM32_LPTIM_TIMER ` && \ :option:`STM32_LPTIM_CLOCK_LSE ` default 4000 if \ :option:`STM32_LPTIM_TIMER ` && \ :option:`STM32_LPTIM_CLOCK_LSI ` depends on \ :option:`SOC_FAMILY_STM32 ` ---- At ``soc/arm/ti_simplelink/cc13x2_cc26x2/Kconfig.defconfig.series:19`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:19`` → ``/home/runner/work/bridle/bridle/workspace/build/Kconfig/Kconfig.soc.defconfig:1`` → ``soc/arm/ti_simplelink/Kconfig.defconfig:3`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 32768 depends on \ :option:`SOC_SERIES_CC13X2_CC26X2 ` ---- At ``soc/xtensa/intel_adsp/cavs_v15/Kconfig.defconfig.series:31`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:19`` → ``/home/runner/work/bridle/bridle/workspace/build/Kconfig/Kconfig.soc.defconfig:1`` → ``soc/xtensa/intel_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on \ :option:`SOC_SERIES_INTEL_CAVS_V15 ` ---- At ``soc/xtensa/intel_adsp/cavs_v18/Kconfig.defconfig.series:31`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:19`` → ``/home/runner/work/bridle/bridle/workspace/build/Kconfig/Kconfig.soc.defconfig:1`` → ``soc/xtensa/intel_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on \ :option:`SOC_SERIES_INTEL_CAVS_V18 ` ---- At ``soc/xtensa/intel_adsp/cavs_v20/Kconfig.defconfig.series:31`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:19`` → ``/home/runner/work/bridle/bridle/workspace/build/Kconfig/Kconfig.soc.defconfig:1`` → ``soc/xtensa/intel_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on \ :option:`SOC_SERIES_INTEL_CAVS_V20 ` ---- At ``soc/xtensa/intel_adsp/cavs_v25/Kconfig.defconfig.series:31`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:19`` → ``/home/runner/work/bridle/bridle/workspace/build/Kconfig/Kconfig.soc.defconfig:1`` → ``soc/xtensa/intel_adsp/Kconfig.defconfig:6`` Menu path: (Top) .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int default 50000 depends on \ :option:`SOC_SERIES_INTEL_CAVS_V25 ` ---- At ``kernel/Kconfig:546`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:30`` Menu path: (Top) → General Kernel Options .. parsed-literal:: config SYS_CLOCK_TICKS_PER_SEC int "System tick frequency (in ticks/second)" default 100 if \ :option:`QEMU_TARGET ` || \ :option:`SOC_POSIX ` default 10000 if \ :option:`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 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.)*