Add initial iDMA drivers

This commit is contained in:
Michael Rogenmoser 2021-12-10 16:43:56 +01:00
parent a7e4be0eff
commit 2ea07afced
4 changed files with 14 additions and 0 deletions

View file

@ -98,6 +98,7 @@
#define ARCHI_HWCE_OFFSET 0x00001000
#define ARCHI_ICACHE_CTRL_OFFSET 0x00001400
#define ARCHI_MCHAN_EXT_OFFSET 0x00001800
#define ARCHI_IDMA_EXT_OFFSET 0x00001800
#define ARCHI_CLUSTER_PERIPHERALS_ADDR ( ARCHI_CLUSTER_ADDR + ARCHI_CLUSTER_PERIPHERALS_OFFSET )
#define ARCHI_CLUSTER_PERIPHERALS_GLOBAL_ADDR(cid) ( ARCHI_CLUSTER_GLOBAL_ADDR(cid) + ARCHI_CLUSTER_PERIPHERALS_OFFSET )
@ -107,6 +108,7 @@
#define ARCHI_EU_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_EU_OFFSET )
#define ARCHI_HWCE_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_HWCE_OFFSET )
#define ARCHI_MCHAN_EXT_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_MCHAN_EXT_OFFSET )
#define ARCHI_IDMA_EXT_ADDR ( ARCHI_CLUSTER_PERIPHERALS_ADDR + ARCHI_IDMA_EXT_OFFSET )
@ -118,11 +120,13 @@
#define ARCHI_EU_DEMUX_OFFSET ( 0x00000 )
#define ARCHI_MCHAN_DEMUX_OFFSET ( 0x00400 )
#define ARCHI_IDMA_DEMUX_OFFSET ( 0x00400 )
#define ARCHI_DEMUX_PERIPHERALS_ADDR ( ARCHI_CLUSTER_ADDR + ARCHI_DEMUX_PERIPHERALS_OFFSET )
#define ARCHI_EU_DEMUX_ADDR ( ARCHI_DEMUX_PERIPHERALS_ADDR + ARCHI_EU_DEMUX_OFFSET )
#define ARCHI_MCHAN_DEMUX_ADDR ( ARCHI_DEMUX_PERIPHERALS_ADDR + ARCHI_MCHAN_DEMUX_OFFSET )
#define ARCHI_IDMA_DEMUX_ADDR ( ARCHI_DEMUX_PERIPHERALS_ADDR + ARCHI_IDMA_DEMUX_OFFSET )
#endif

View file

@ -78,8 +78,12 @@
#define FLL_VERSION 1
#define RISCV_VERSION 4
#define MCHAN_VERSION 7
// #define IDMA_VERSION 1
#define PADS_VERSION 2
#if defined(MCHAN_VERSION) && defined(IDMA_VERSION)
#error "MCHAN and IDMA not compatible"
#endif
/*
* CLUSTER

View file

@ -40,6 +40,9 @@
#if MCHAN_VERSION == 7
#include "archi/dma/mchan_v7.h"
#endif
#if IDMA_VERSION == 1
#include "archi/dma/idma_v1.h"
#endif
#include "archi/udma/cpi/udma_cpi_v1.h"
#include "archi/udma/i2c/udma_i2c_v2.h"

View file

@ -29,6 +29,9 @@
#if MCHAN_VERSION == 7
#include "hal/dma/mchan_v7.h"
#endif
#if IDMA_VERSION == 1
#include "hal/dma/idma_v1.h"
#endif
#include "hal/timer/timer_v2.h"
#include "hal/soc_eu/soc_eu_v2.h"
#include "hal/cluster_ctrl/cluster_ctrl_v2.h"