# Example configuration file for VILLASnode
#
# This example includes all valid configuration options for the server.
# Please note, that using all options at the same time does not really
# makes sense. The purpose of this example is to serve as a reference.
#
# The syntax of this file is similar to JSON.
# A detailed description of the format can be found here:
#   http://www.hyperrealm.com/libconfig/libconfig_manual.html#Configuration-Files
#
# Author:	Steffen Vogel <stvogel@eonerc.rwth-aachen.de>
# Copyright:	2016, Institute for Automation of Complex Power Systems, EONERC
##

# Some global settings are used by multiple configuration files
# and therefore defined in separate files
@include "global.conf"
@include "plugins.conf"

fpga = {
	/* Card identification */
	id = "10ee:7022";
	slot = "01:00.0";

	intc  = 0x5000;
	reset = 0x2000;
	do_reset = true;

	ips = {
		switch_0 = {
			vlnv = "xilinx.com:ip:axis_interconnect:2.1"
			baseaddr = 0x0000;
			numports = 3;
		},
		rtds_0 = {
			vlnv = "acs.eonerc.rwth-aachen.de:user:rtds_axis:1.0"
			baseaddr = 0x3000;
			port = 0;
		},
		dma_0 = {
			vlnv = "xilinx.com:ip:axi_dma:7.1";
			baseaddr = 0x1000;
			port = 2;
			irq = 0
		},
		hls_dft_0 = {
			vlnv = "acs.eonerc.rwth-aachen.de:hls:hls_dft:1.0";
			port = 1;
			switch = "switch_0";
		}
	}

	/* Configure switch */
	paths = (
		{ in = "dma",     out = "hls_dft" },
		{ in = "hls_dft", out = "dma" }
	)
}

nodes = {
	dma = {
		datamover = "dma_0";
		use_irqs = false;
	}

}