# Kconfig - Clock controller driver configuration options

#
# Copyright (c) 2015 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

#
# Clock controller drivers
#
menuconfig CLOCK_CONTROL
	bool
	prompt "Hardware clock controller support"
	default n
	help
	  Enable support for hardware clock controller. Such hardware can
	  provide clock for other subsystem, and thus can be also used for
	  power efficiency by controlling their clock. Note that this has
	  nothing to do with RTC.

if CLOCK_CONTROL

config SYS_LOG_CLOCK_CONTROL_LEVEL
	int
	prompt "Hardware clock controller drivers log level"
	depends on SYS_LOG
	default 0
	help
	  Sets log level for clock controller drivers

	  Levels are:

	  - 0 OFF, do not write

	  - 1 ERROR, only write SYS_LOG_ERR

	  - 2 WARNING, write SYS_LOG_WRN in addition to previous level

	  - 3 INFO, write SYS_LOG_INF in addition to previous levels

	  - 4 DEBUG, write SYS_LOG_DBG in addition to previous levels

source "drivers/clock_control/Kconfig.nrf5"

source "drivers/clock_control/Kconfig.quark_se"

source "drivers/clock_control/Kconfig.stm32"

source "drivers/clock_control/Kconfig.beetle"

endif # CLOCK_CONTROL
