# Copyright (c) 2021 Espressif Systems (Shanghai) Co., Ltd.
# SPDX-License-Identifier: Apache-2.0

config INTC_ESP32C3
	bool "ESP32C3 interrupt controller driver"
	depends on SOC_SERIES_ESP32C3
	default y
	help
	  Enables the esp32c3 interrupt controller driver to handle ISR
	  management at SoC level.

config INTC_ESP32C3_DECISIONS_LOG
	bool "Espressif's interrupt allocator logging"
	depends on INTC_ESP32C3
	select LOG
	help
	  Enable this option to visualize information on decisions made by the
	  interrupt allocator. This has no impact on the interrupt allocator usage
	  but may be valuable for debugging purposes. When enabled, messages are
	  print to the serial console.
