Hi,
I want to use the EDMA. When I initialize the EDMA the firmware chrashes if it want to read or write at address 0x63300000.
Here is my Code:
// EDMA wakeup dependency enable HW_WR_REG32(SOC_CORE_CM_CORE_BASE + PM_L3MAIN1_TPTC1_WKDEP, 0x1); while( ((HW_RD_REG32(SOC_CORE_CM_CORE_BASE + PM_L3MAIN1_TPTC1_WKDEP) & 0x00030000U) != 0x0U) && (u32_cnt < EDMA3_MAX_WKUPDEP_CNT)) { u32_cnt++; } u32_cnt = 0; HW_WR_REG32(SOC_CORE_CM_CORE_BASE + PM_L3MAIN1_TPTC2_WKDEP, 0x1); while( ((HW_RD_REG32(SOC_CORE_CM_CORE_BASE + PM_L3MAIN1_TPTC2_WKDEP) & 0x00030000U) != 0x0U) && (u32_cnt < EDMA3_MAX_WKUPDEP_CNT)) { u32_cnt++; } u32_cnt = 0; HW_WR_REG32(SOC_CORE_CM_CORE_BASE + PM_L3MAIN1_TPCC_WKDEP, 0x1); while( ((HW_RD_REG32(SOC_CORE_CM_CORE_BASE + PM_L3MAIN1_TPCC_WKDEP) & 0x00030000U) != 0x0U) && (u32_cnt < EDMA3_MAX_WKUPDEP_CNT)) { u32_cnt++; } /* Do EDMA init Done once in the beginning of application */ EDMAsetRegion(EDMA3_CC_REGION); EDMA3Init(SOC_EDMA_TPCC_BASE_VIRT, EDMA3_EVT_QUEUE); -->Inside this function it crashes if its access 0x63300000 address
Inside of EDMA3Init() at first line : HW_WR_REG32(baseAddr + EDMA_TPCC_EMCR, EDMA3_SET_ALL_BITS); it crashes due to 0x63300000 address access.
My dts-file:
&edma { status = "okay"; }; &edma_tptc0 { status = "okay"; }; &edma_tptc1 { status = "okay"; };
Any suggestion?