:orphan: .. title:: MULTI_LEVEL_INTERRUPTS .. option:: CONFIG_MULTI_LEVEL_INTERRUPTS *Multi-level interrupt support* Type: ``bool`` Help ==== Multiple levels of interrupts are normally used to increase the number of addressable interrupts in a system. For example, if two levels are used, a second level interrupt aggregator would combine all interrupts routed to it into one IRQ line in the first level interrupt controller. If three levels are used, a third level aggregator combines its input interrupts into one IRQ line at the second level. The number of interrupt levels is usually determined by the hardware. (The term "aggregator" here means "interrupt controller".) Direct dependencies =================== \ :option:`SOC_SERIES_INTEL_CAVS_V15 ` || \ :option:`SOC_SERIES_INTEL_CAVS_V18 ` || \ :option:`SOC_SERIES_INTEL_CAVS_V20 ` || \ :option:`SOC_SERIES_INTEL_CAVS_V25 ` || \ :option:`GEN_SW_ISR_TABLE ` *(Includes any dependencies from ifs and menus.)* Defaults ======== - y - y - y - y Symbols that select this symbol =============================== - \ :option:`PLIC ` Kconfig definitions =================== .. highlight:: kconfig At ``soc/xtensa/intel_adsp/cavs_v15/Kconfig.defconfig.series:45`` 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 MULTI_LEVEL_INTERRUPTS bool default y depends on \ :option:`SOC_SERIES_INTEL_CAVS_V15 ` ---- At ``soc/xtensa/intel_adsp/cavs_v18/Kconfig.defconfig.series:45`` 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 MULTI_LEVEL_INTERRUPTS bool default y depends on \ :option:`SOC_SERIES_INTEL_CAVS_V18 ` ---- At ``soc/xtensa/intel_adsp/cavs_v20/Kconfig.defconfig.series:45`` 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 MULTI_LEVEL_INTERRUPTS bool default y depends on \ :option:`SOC_SERIES_INTEL_CAVS_V20 ` ---- At ``soc/xtensa/intel_adsp/cavs_v25/Kconfig.defconfig.series:45`` 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 MULTI_LEVEL_INTERRUPTS bool default y depends on \ :option:`SOC_SERIES_INTEL_CAVS_V25 ` ---- At ``drivers/interrupt_controller/Kconfig.multilevel:7`` Included via ``Kconfig:8`` → ``Kconfig.zephyr:32`` → ``drivers/Kconfig:26`` → ``drivers/interrupt_controller/Kconfig:49`` Menu path: (Top) → Device Drivers → Interrupt Controllers .. parsed-literal:: config MULTI_LEVEL_INTERRUPTS bool "Multi-level interrupt support" depends on \ :option:`GEN_SW_ISR_TABLE ` help Multiple levels of interrupts are normally used to increase the number of addressable interrupts in a system. For example, if two levels are used, a second level interrupt aggregator would combine all interrupts routed to it into one IRQ line in the first level interrupt controller. If three levels are used, a third level aggregator combines its input interrupts into one IRQ line at the second level. The number of interrupt levels is usually determined by the hardware. (The term "aggregator" here means "interrupt controller".) *(The 'depends on' condition includes propagated dependencies from ifs and menus.)*