esp-idf/components/soc/esp32p4/gdma_periph.c
morris 57879e772d feat(gdma): support channel allocator on esp32p4
There's two GDMA groups on ESP32P4, one is connected to AHB bus,
and another one is connected AXI bus.
We now have two seperate APIs for allocating DMA channels,
depends on the bus type.
2023-07-19 18:18:07 +08:00

47 lines
1.5 KiB
C

/*
* SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "soc/gdma_periph.h"
const gdma_signal_conn_t gdma_periph_signals = {
.groups = {
[0] = {
.module = PERIPH_AHB_PDMA_MODULE,
.pairs = {
[0] = {
.rx_irq_id = ETS_AHB_PDMA_IN_CH0_INTR_SOURCE,
.tx_irq_id = ETS_AHB_PDMA_OUT_CH0_INTR_SOURCE,
},
[1] = {
.rx_irq_id = ETS_AHB_PDMA_IN_CH1_INTR_SOURCE,
.tx_irq_id = ETS_AHB_PDMA_OUT_CH1_INTR_SOURCE,
},
[2] = {
.rx_irq_id = ETS_AHB_PDMA_IN_CH2_INTR_SOURCE,
.tx_irq_id = ETS_AHB_PDMA_OUT_CH2_INTR_SOURCE,
}
}
},
[1] = {
.module = PERIPH_AXI_PDMA_MODULE,
.pairs = {
[0] = {
.rx_irq_id = ETS_AXI_PDMA_IN_CH0_INTR_SOURCE,
.tx_irq_id = ETS_AXI_PDMA_OUT_CH0_INTR_SOURCE,
},
[1] = {
.rx_irq_id = ETS_AXI_PDMA_IN_CH1_INTR_SOURCE,
.tx_irq_id = ETS_AXI_PDMA_OUT_CH1_INTR_SOURCE,
},
[2] = {
.rx_irq_id = ETS_AXI_PDMA_IN_CH2_INTR_SOURCE,
.tx_irq_id = ETS_AXI_PDMA_OUT_CH2_INTR_SOURCE,
}
}
}
}
};