# 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"
	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.stm32f10x"

source "drivers/clock_control/Kconfig.stm32f107xx"

source "drivers/clock_control/Kconfig.beetle"

endif # CLOCK_CONTROL
