From b7a6655bdc9fa85f4eb18a5be7ee93868e0a0a31 Mon Sep 17 00:00:00 2001 From: Linda Date: Tue, 6 Jun 2023 18:33:15 +0800 Subject: [PATCH] docs: update the number of interrupts for esp32h2 --- docs/en/api-reference/system/intr_alloc.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/en/api-reference/system/intr_alloc.rst b/docs/en/api-reference/system/intr_alloc.rst index bf7108f5fc..7ce67d630b 100644 --- a/docs/en/api-reference/system/intr_alloc.rst +++ b/docs/en/api-reference/system/intr_alloc.rst @@ -16,10 +16,14 @@ Overview The {IDF_TARGET_NAME} has two cores, with 32 interrupts. Each interrupt has a certain priority level, most (but not all) interrupts are connected to the interrupt mux. -.. only:: esp32c2 or esp32c3 or esp32c6 or esp32h2 +.. only:: esp32c2 or esp32c3 The {IDF_TARGET_NAME} has one core, with 31 interrupts. Each interrupt has a programmable priority level. +.. only:: esp32c6 or esp32h2 + + The {IDF_TARGET_NAME} has one core, with 28 external asynchronous interrupts. Each interrupt has a programmable priority level. In addition, there are also 4 core local interrupt sources (CLINT). See *{IDF_TARGET_NAME} Technical Reference Manual* [`PDF <{IDF_TARGET_TRM_EN_URL}#riscvcpu>`__] for more details. + Because there are more interrupt sources than interrupts, sometimes it makes sense to share an interrupt in multiple drivers. The :cpp:func:`esp_intr_alloc` abstraction exists to hide all these implementation details. A driver can allocate an interrupt for a certain peripheral by calling :cpp:func:`esp_intr_alloc` (or :cpp:func:`esp_intr_alloc_intrstatus`). It can use the flags passed to this function to set the type of interrupt allocated, specifying a particular level or trigger method. The interrupt allocation code will then find an applicable interrupt, use the interrupt mux to hook it up to the peripheral, and install the given interrupt handler and ISR to it. @@ -96,5 +100,3 @@ API Reference ------------- .. include-build-file:: inc/esp_intr_alloc.inc - -