Skip to content

Commit a6d8251

Browse files
committed
feat(gdma): set default valid memory range for gdma
1 parent bf415f5 commit a6d8251

File tree

4 files changed

+28
-0
lines changed

4 files changed

+28
-0
lines changed

components/hal/esp32p4/include/hal/ahb_dma_ll.h

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,18 @@ static inline void ahb_dma_ll_reset_fsm(ahb_dma_dev_t *dev)
5757
dev->misc_conf.ahbm_rst_inter = 0;
5858
}
5959

60+
/**
61+
* @brief Preset valid memory range for AHB-DMA
62+
*
63+
* @param dev DMA register base address
64+
*/
65+
static inline void ahb_dma_ll_set_default_memory_range(ahb_dma_dev_t *dev)
66+
{
67+
// AHB-DMA can access L2MEM, L2ROM, MSPI Flash, MSPI PSRAM
68+
dev->intr_mem_start_addr.val = 0x40000000;
69+
dev->intr_mem_end_addr.val = 0x4FFC0000;
70+
}
71+
6072
///////////////////////////////////// RX /////////////////////////////////////////
6173
/**
6274
* @brief Get DMA RX channel interrupt status word

components/hal/esp32p4/include/hal/axi_dma_ll.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,20 @@ static inline void axi_dma_ll_reset_fsm(axi_dma_dev_t *dev)
5959
dev->misc_conf.axim_rst_wr_inter = 0;
6060
}
6161

62+
/**
63+
* @brief Preset valid memory range for AXI-DMA
64+
*
65+
* @param dev DMA register base address
66+
*/
67+
static inline void axi_dma_ll_set_default_memory_range(axi_dma_dev_t *dev)
68+
{
69+
// AXI-DMA can access L2MEM, L2ROM, MSPI Flash, MSPI PSRAM
70+
dev->intr_mem_start_addr.val = 0x4FC00000;
71+
dev->intr_mem_end_addr.val = 0x4FFC0000;
72+
dev->extr_mem_start_addr.val = 0x40000000;
73+
dev->extr_mem_end_addr.val = 0x4C000000;
74+
}
75+
6276
///////////////////////////////////// RX /////////////////////////////////////////
6377
/**
6478
* @brief Get DMA RX channel interrupt status word

components/hal/gdma_hal_ahb_v2.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,4 +244,5 @@ void gdma_ahb_hal_init(gdma_hal_context_t *hal, const gdma_hal_config_t *config)
244244
#if SOC_GDMA_SUPPORT_ETM
245245
hal->enable_etm_task = gdma_ahb_hal_enable_etm_task;
246246
#endif // SOC_GDMA_SUPPORT_ETM
247+
ahb_dma_ll_set_default_memory_range(hal->ahb_dma_dev);
247248
}

components/hal/gdma_hal_axi.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -244,4 +244,5 @@ void gdma_axi_hal_init(gdma_hal_context_t *hal, const gdma_hal_config_t *config)
244244
#if SOC_GDMA_SUPPORT_ETM
245245
hal->enable_etm_task = gdma_axi_hal_enable_etm_task;
246246
#endif // SOC_GDMA_SUPPORT_ETM
247+
axi_dma_ll_set_default_memory_range(hal->axi_dma_dev);
247248
}

0 commit comments

Comments
 (0)