From 4df8aa247b7948ff1123d244b6357af55ad8f893 Mon Sep 17 00:00:00 2001 From: Chen Jichang Date: Thu, 28 Aug 2025 17:00:30 +0800 Subject: [PATCH 1/2] fix(gdma): correct the max burst size of p4 edma --- components/hal/esp32p4/include/hal/gdma_ll.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/hal/esp32p4/include/hal/gdma_ll.h b/components/hal/esp32p4/include/hal/gdma_ll.h index 789294163d..01d0985729 100644 --- a/components/hal/esp32p4/include/hal/gdma_ll.h +++ b/components/hal/esp32p4/include/hal/gdma_ll.h @@ -47,7 +47,7 @@ #define GDMA_LL_AHB_DESC_ALIGNMENT 4 #define GDMA_LL_AXI_DESC_ALIGNMENT 8 -#define GDMA_LL_MAX_BURST_SIZE_PSRAM 64 // PSRAM controller doesn't support burst access with size > 64 bytes +#define GDMA_LL_MAX_BURST_SIZE_PSRAM 128 // PSRAM controller doesn't support burst access with size > 128 bytes #define GDMA_LL_TX_ETM_EVENT_TABLE(group, chan, event) \ (uint32_t[2][GDMA_ETM_EVENT_MAX]){ \ From a9959455ce9c38af6cc0ffc6e4e89153d4d3a0b3 Mon Sep 17 00:00:00 2001 From: Chen Jichang Date: Thu, 28 Aug 2025 17:02:20 +0800 Subject: [PATCH 2/2] fix(gdma): p4 ahb dma can assess psram --- components/soc/esp32p4/include/soc/Kconfig.soc_caps.in | 4 ++++ components/soc/esp32p4/include/soc/soc_caps.h | 1 + 2 files changed, 5 insertions(+) diff --git a/components/soc/esp32p4/include/soc/Kconfig.soc_caps.in b/components/soc/esp32p4/include/soc/Kconfig.soc_caps.in index 671aca30e2..bec1eb431c 100644 --- a/components/soc/esp32p4/include/soc/Kconfig.soc_caps.in +++ b/components/soc/esp32p4/include/soc/Kconfig.soc_caps.in @@ -607,6 +607,10 @@ config SOC_GDMA_PAIRS_PER_GROUP_MAX int default 3 +config SOC_AHB_GDMA_SUPPORT_PSRAM + bool + default y + config SOC_AXI_GDMA_SUPPORT_PSRAM bool default y diff --git a/components/soc/esp32p4/include/soc/soc_caps.h b/components/soc/esp32p4/include/soc/soc_caps.h index 59519b23da..b40b99ec07 100644 --- a/components/soc/esp32p4/include/soc/soc_caps.h +++ b/components/soc/esp32p4/include/soc/soc_caps.h @@ -224,6 +224,7 @@ #define SOC_GDMA_SUPPORT_CRC 1 #define SOC_GDMA_NUM_GROUPS_MAX 2 #define SOC_GDMA_PAIRS_PER_GROUP_MAX 3 +#define SOC_AHB_GDMA_SUPPORT_PSRAM 1 #define SOC_AXI_GDMA_SUPPORT_PSRAM 1 #define SOC_GDMA_SUPPORT_ETM 1 #define SOC_GDMA_SUPPORT_SLEEP_RETENTION 1