mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
ports/stm32: Add missing security support for N6 non-circular DMA.
This commit is contained in:
parent
a11eb9d6a8
commit
3b18e36f45
@ -352,6 +352,12 @@ int stm_dma_init(DMA_HandleTypeDef *dma_descr, void *dma_channel, uint32_t reque
|
|||||||
dma_init_done = !circular;
|
dma_init_done = !circular;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(STM32N6)
|
||||||
|
if (stm_dma_sec_config(dma_descr) != HAL_OK) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (dma_init_done) {
|
if (dma_init_done) {
|
||||||
HAL_DMA_DeInit(dma_descr);
|
HAL_DMA_DeInit(dma_descr);
|
||||||
if (HAL_DMA_Init(dma_descr) != HAL_OK) {
|
if (HAL_DMA_Init(dma_descr) != HAL_OK) {
|
||||||
@ -407,13 +413,17 @@ int stm_dma_ll_init(DMA_HandleTypeDef *dma_descr, DMA_QListTypeDef *dma_queue,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int stm_dma_sec_config(DMA_HandleTypeDef *dma_descr) {
|
||||||
uint32_t chan_flags = DMA_CHANNEL_PRIV | DMA_CHANNEL_SEC |
|
uint32_t chan_flags = DMA_CHANNEL_PRIV | DMA_CHANNEL_SEC |
|
||||||
DMA_CHANNEL_SRC_SEC | DMA_CHANNEL_DEST_SEC;
|
DMA_CHANNEL_SRC_SEC | DMA_CHANNEL_DEST_SEC;
|
||||||
if (HAL_DMA_ConfigChannelAttributes(dma_descr, chan_flags) != HAL_OK) {
|
if (HAL_DMA_ConfigChannelAttributes(dma_descr, chan_flags) != HAL_OK) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_hp) {
|
if (stm_dma_is_hp_channel(dma_descr->Instance)) {
|
||||||
DMA_IsolationConfigTypeDef isocfg = {
|
DMA_IsolationConfigTypeDef isocfg = {
|
||||||
.CidFiltering = DMA_ISOLATION_ON,
|
.CidFiltering = DMA_ISOLATION_ON,
|
||||||
.StaticCid = DMA_CHANNEL_STATIC_CID_1,
|
.StaticCid = DMA_CHANNEL_STATIC_CID_1,
|
||||||
|
|||||||
@ -46,6 +46,7 @@ int stm_dma_init(DMA_HandleTypeDef *dma_descr, void *dma_channel, uint32_t reque
|
|||||||
#if defined(STM32N6)
|
#if defined(STM32N6)
|
||||||
int stm_dma_ll_init(DMA_HandleTypeDef *dma_descr, DMA_QListTypeDef *dma_queue,
|
int stm_dma_ll_init(DMA_HandleTypeDef *dma_descr, DMA_QListTypeDef *dma_queue,
|
||||||
DMA_NodeTypeDef *dma_nodes, size_t nodes_count, uint32_t ports);
|
DMA_NodeTypeDef *dma_nodes, size_t nodes_count, uint32_t ports);
|
||||||
|
int stm_dma_sec_config(DMA_HandleTypeDef *dma_descr);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef OMV_MDMA_CHANNEL_DCMI_0
|
#ifdef OMV_MDMA_CHANNEL_DCMI_0
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user