# 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_FAMILY_ESPRESSIF_ESP32
	depends on SOC_SERIES_ESP32C2 || SOC_SERIES_ESP32C3 || SOC_SERIES_ESP32C6
	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.
