mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-17 10:04:26 +00:00
Merge pull request #1703 from oscardagrach/hikey960-dmac-fix
hikey960: initialize EDMAC and channels
This commit is contained in:
commit
03ce162080
2 changed files with 23 additions and 0 deletions
|
@ -14,6 +14,7 @@
|
|||
#include <generic_delay_timer.h>
|
||||
#include <gicv2.h>
|
||||
#include <hi3660.h>
|
||||
#include <mmio.h>
|
||||
#include <hisi_ipc.h>
|
||||
#include <interrupt_mgmt.h>
|
||||
#include <interrupt_props.h>
|
||||
|
@ -143,6 +144,19 @@ void bl31_plat_arch_setup(void)
|
|||
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)
|
||||
{
|
||||
/* Initialize the GIC driver, cpu and distributor interfaces */
|
||||
|
@ -151,6 +165,8 @@ void bl31_platform_setup(void)
|
|||
gicv2_pcpu_distif_init();
|
||||
gicv2_cpuif_enable();
|
||||
|
||||
hikey960_edma_init();
|
||||
|
||||
hisi_ipc_init();
|
||||
}
|
||||
|
||||
|
|
|
@ -366,4 +366,11 @@
|
|||
/* GPIO219: PD interrupt. pull up */
|
||||
#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 */
|
||||
|
|
Loading…
Add table
Reference in a new issue