Commit 87f6740c authored by Ryan Grachek's avatar Ryan Grachek
Browse files

hikey960: initialize EDMAC and channels



This is needed to utilize the DMA controller on the hikey960
Signed-off-by: default avatarRyan Grachek <ryan@edited.us>
parent 37e8ab53
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
#include <generic_delay_timer.h> #include <generic_delay_timer.h>
#include <gicv2.h> #include <gicv2.h>
#include <hi3660.h> #include <hi3660.h>
#include <mmio.h>
#include <hisi_ipc.h> #include <hisi_ipc.h>
#include <interrupt_mgmt.h> #include <interrupt_mgmt.h>
#include <interrupt_props.h> #include <interrupt_props.h>
...@@ -143,6 +144,19 @@ void bl31_plat_arch_setup(void) ...@@ -143,6 +144,19 @@ void bl31_plat_arch_setup(void)
BL31_COHERENT_RAM_LIMIT); BL31_COHERENT_RAM_LIMIT);
} }
static void hikey960_edma_init(void)
{
int i;
uint32_t non_secure;
non_secure = EDMAC_SEC_CTRL_INTR_SEC | EDMAC_SEC_CTRL_GLOBAL_SEC;
mmio_write_32(EDMAC_SEC_CTRL, non_secure);
for (i = 0; i < EDMAC_CHANNEL_NUMS; i++) {
mmio_write_32(EDMAC_AXI_CONF(i), (1 << 6) | (1 << 18));
}
}
void bl31_platform_setup(void) void bl31_platform_setup(void)
{ {
/* Initialize the GIC driver, cpu and distributor interfaces */ /* Initialize the GIC driver, cpu and distributor interfaces */
...@@ -151,6 +165,8 @@ void bl31_platform_setup(void) ...@@ -151,6 +165,8 @@ void bl31_platform_setup(void)
gicv2_pcpu_distif_init(); gicv2_pcpu_distif_init();
gicv2_cpuif_enable(); gicv2_cpuif_enable();
hikey960_edma_init();
hisi_ipc_init(); hisi_ipc_init();
} }
......
...@@ -366,4 +366,11 @@ ...@@ -366,4 +366,11 @@
/* GPIO219: PD interrupt. pull up */ /* GPIO219: PD interrupt. pull up */
#define IOCG_AO_043_REG (IOCG_AO_REG_BASE + 0x030) #define IOCG_AO_043_REG (IOCG_AO_REG_BASE + 0x030)
#define EDMAC_BASE 0xfdf30000
#define EDMAC_SEC_CTRL (EDMAC_BASE + 0x694)
#define EDMAC_AXI_CONF(x) (EDMAC_BASE + 0x820 + (x << 6))
#define EDMAC_SEC_CTRL_INTR_SEC (1 << 1)
#define EDMAC_SEC_CTRL_GLOBAL_SEC (1 << 0)
#define EDMAC_CHANNEL_NUMS 16
#endif /* HI3660_H */ #endif /* HI3660_H */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment