From 0a5128d76e6fcab5e67ec31ba3081bf193408f20 Mon Sep 17 00:00:00 2001 From: Pieter Donker <donker@astron.nl> Date: Thu, 13 Jul 2006 14:14:24 +0000 Subject: [PATCH] Bugid:335 Moved all files from MAC-RTC-6_0devel1 branch to the HEAD. --- MAC/APL/PIC/TBB_Protocol/Makefile.am | 15 + MAC/APL/PIC/TBB_Protocol/TBB_Protocol.spec.in | 162 +++++ MAC/APL/PIC/TBB_Protocol/bootstrap | 3 + MAC/APL/PIC/TBB_Protocol/configure.in | 70 +++ MAC/APL/PIC/TBB_Protocol/src/Makefile.am | 37 ++ .../PIC/TBB_Protocol/src/TBB_Protocol.prot | 566 ++++++++++++++++++ MAC/APL/PIC/TBB_Protocol/src/TP_Protocol.prot | 387 ++++++++++++ 7 files changed, 1240 insertions(+) create mode 100644 MAC/APL/PIC/TBB_Protocol/Makefile.am create mode 100644 MAC/APL/PIC/TBB_Protocol/TBB_Protocol.spec.in create mode 100755 MAC/APL/PIC/TBB_Protocol/bootstrap create mode 100644 MAC/APL/PIC/TBB_Protocol/configure.in create mode 100644 MAC/APL/PIC/TBB_Protocol/src/Makefile.am create mode 100644 MAC/APL/PIC/TBB_Protocol/src/TBB_Protocol.prot create mode 100644 MAC/APL/PIC/TBB_Protocol/src/TP_Protocol.prot diff --git a/MAC/APL/PIC/TBB_Protocol/Makefile.am b/MAC/APL/PIC/TBB_Protocol/Makefile.am new file mode 100644 index 00000000000..4d1598507fd --- /dev/null +++ b/MAC/APL/PIC/TBB_Protocol/Makefile.am @@ -0,0 +1,15 @@ + +SUBDIRS = src + +DISTCHECK_CONFIGURE_FLAGS=\ + --with-common=$(prefix) \ + --with-gcfcommon=$(prefix) \ + --with-gcftm=$(prefix) \ + --with-rtccommon=$(prefix) + +EXTRA_DIST = \ + Makefile.common \ + TBB_Protocol.spec \ + autoconf_share/compiletool + +include $(top_srcdir)/Makefile.common diff --git a/MAC/APL/PIC/TBB_Protocol/TBB_Protocol.spec.in b/MAC/APL/PIC/TBB_Protocol/TBB_Protocol.spec.in new file mode 100644 index 00000000000..a48ebc65e6c --- /dev/null +++ b/MAC/APL/PIC/TBB_Protocol/TBB_Protocol.spec.in @@ -0,0 +1,162 @@ +# -*- Mode:rpm-spec -*- +# TBB_Protocol.spec.in +# + +############################################################################## +# +# Preamble +# +############################################################################## + +Summary:TBB_Protocol contains the library and headers necessary to communicate with the TBB board + +%define release @RPM_RELEASE@ +%define version @VERSION@ +%define pkgname @PACKAGE@ +%define pkgdir %{pkgname}-%{version}-%{release} +%define prefix /opt/lofar +%define configure_args @RPM_CONFIGURE_ARGS@ +##define build_kernel_version @BUILD_KERNEL_VERSION@ + +Name: %{pkgname} +Version: %{version} +Release: %{release} +Copyright: LGPL +Group: Application/System +Source: %{pkgname}-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{pkgdir}-root +URL: http://www.astron.nl +Prefix: %{prefix} +BuildArchitectures: i386 # Target platforms, i.e., i586 +##Requires: Common = 1.2 ## define dependent packages here +Packager: %{packager} +Distribution: The LOFAR project +Vendor: ASTRON + +AutoReqProv: no + +%description + +TBB_Protocol is a package containing the library and headers needed to communicate +with the TBBDriver. All events and any classes in the events are contained in the +library and header files. + +############################################################################## +# +# prep +# +############################################################################## +%prep +echo $prefix + +# create the build directory, untar the source +%setup + +############################################################################## +# +# build +# +############################################################################## +%build +./configure %{configure_args} --prefix=%{prefix} && make + +############################################################################## +# +# install +# +############################################################################## +%install +# To make things work with BUILDROOT +if [ "$RPM_BUILD_ROOT" != "%{_tmppath}/%{pkgdir}-root" ] +then + echo + echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + echo @ @ + echo @ RPM_BUILD_ROOT is not what I expected. Please clean it yourself. @ + echo @ @ + echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + echo +else + echo Cleaning RPM_BUILD_ROOT: "$RPM_BUILD_ROOT" + rm -rf "$RPM_BUILD_ROOT" +fi +mkdir -p $RPM_BUILD_ROOT%{prefix} +make DESTDIR="$RPM_BUILD_ROOT" install + +#uninstall + +############################################################################## +# +# verify +# +############################################################################## +#verify + +############################################################################## +# +# clean +# +############################################################################## +%clean +# Call me paranoid, but I do not want to be responsible for nuking +# someone's harddrive! +if [ "$RPM_BUILD_ROOT" != "%{_tmppath}/%{pkgdir}-root" ] +then + echo + echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + echo @ @ + echo @ RPM_BUILD_ROOT is not what I expected. Please clean it yourself. @ + echo @ @ + echo @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ + echo +else + echo Cleaning RPM_BUILD_ROOT: "$RPM_BUILD_ROOT" + rm -rf "$RPM_BUILD_ROOT" +fi + +############################################################################## +# +# files +# +############################################################################## + +# empty 'files' means all distributed files +%files +%defattr(-, root, root) +%{prefix} + +# Your application file list goes here +# %{prefix}/lib/lib*.so* + +# Documentation +# doc COPYING ChangeLog README AUTHORS NEWS +# doc doc/* + +# link the module to the correct path +%post + +# before uninstall +%preun + +# after uninstall +%postun + +############################################################################## +# +# package devel +# +############################################################################## + +#package devel +#Summary: Development files for %{pkgname} +#Group: Applications/System +#description devel +#Development files for %{pkgname}. + +#files devel + +# Your development files go here +# Programmers documentation goes here +#doc doc + +# end of file diff --git a/MAC/APL/PIC/TBB_Protocol/bootstrap b/MAC/APL/PIC/TBB_Protocol/bootstrap new file mode 100755 index 00000000000..7f674c41680 --- /dev/null +++ b/MAC/APL/PIC/TBB_Protocol/bootstrap @@ -0,0 +1,3 @@ +#!/bin/sh + +../../../../autoconf_share/bootstrap ../../../../autoconf_share diff --git a/MAC/APL/PIC/TBB_Protocol/configure.in b/MAC/APL/PIC/TBB_Protocol/configure.in new file mode 100644 index 00000000000..9d73912534b --- /dev/null +++ b/MAC/APL/PIC/TBB_Protocol/configure.in @@ -0,0 +1,70 @@ +dnl +dnl Process this file with autoconf to produce a configure script. +dnl +AC_INIT +dnl AC_CONFIG_AUX_DIR(config) +dnl AM_CONFIG_HEADER(config/config.h) +AM_CONFIG_HEADER(config.h) +AM_INIT_AUTOMAKE(TBB_Protocol, 1.0, no-define) + +dnl Initialize for LOFAR (may set compilers) +lofar_INIT + +dnl Checks for programs. +AC_PROG_AWK +AC_PROG_YACC +AC_PROG_CC +AC_PROG_CXX +AM_PROG_LEX +AC_PROG_INSTALL +AC_PROG_LN_S +AC_DISABLE_SHARED +AC_PROG_LIBTOOL + +dnl Checks for libraries. + +dnl dnl Replace `main' with a function in -lfl: +dnl AC_CHECK_LIB(fl, main) +dnl dnl Replace `main' with a function in -lcosev_r: +dnl AC_CHECK_LIB(cosev_r, main) +dnl dnl Replace `main' with a function in -lcosnm_r: +dnl AC_CHECK_LIB(cosnm_r, main) +dnl dnl Replace `main' with a function in -lorb_r: +dnl AC_CHECK_LIB(orb_r, main) +dnl dnl Replace `main' with a function in -lpthread: +dnl AC_CHECK_LIB(pthread, main) +dnl dnl Replace `main' with a function in -lvport_r: +dnl AC_CHECK_LIB(vport_r, main) + +dnl Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS(unistd.h) + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_SIZE_T + +dnl Checks for library functions. +AC_FUNC_VPRINTF + +dnl +dnl Check for LOFAR specific things +dnl +lofar_GENERAL +lofar_BLITZ +dnl lofar_MPI +lofar_INTERNAL(LCS/Common, common, LCS-Common-3_0, 1, Common/LofarTypes.h,,) +lofar_INTERNAL(MAC/GCF/TM, GCFTM, MAC-GCF-6_1rc2, 1, GCF/TM/GCF_Control.h,,) +lofar_INTERNAL(MAC/APL/RTCCommon, RTCCommon, MAC-RTC-6_0devel1, 1, APL/RTCCommon/Marshalling.h,,) + +dnl +dnl Output Makefiles +dnl +AC_OUTPUT( +include/Makefile +include/APL/Makefile +dnl include/APL/TP_Protocol/Makefile +src/Makefile +Makefile +TBB_Protocol.spec +) diff --git a/MAC/APL/PIC/TBB_Protocol/src/Makefile.am b/MAC/APL/PIC/TBB_Protocol/src/Makefile.am new file mode 100644 index 00000000000..c3cde412166 --- /dev/null +++ b/MAC/APL/PIC/TBB_Protocol/src/Makefile.am @@ -0,0 +1,37 @@ + +AM_CPPFLAGS = \ + -I$(top_builddir)/include + +AUTOGEN = autogen +SUFFIXES = .ph +%.cc: %.prot + $(AUTOGEN) --writable -L $(datadir)/GCF/TM $< + cp $*.ph $(top_builddir)/include/APL/TBB_Protocol + +%.ph: %.prot + $(AUTOGEN) --writable -L $(datadir)/GCF/TM $< + cp $*.ph $(top_builddir)/include/APL/TBB_Protocol + +EXTRA_DIST = \ + TBB_Protocol.prot\ + TP_Protocol.prot + +BUILT_SOURCES = \ + TBB_Protocol.ph\ + TBB_Protocol.cc\ + TP_Protocol.ph \ + TP_Protocol.cc + +pkgincludedir=$(includedir)/APL/TBB_Protocol +pkginclude_HEADERS = \ + $(BUILT_SOURCES) + +lib_LTLIBRARIES = libtbb_protocol.la + +libtbb_protocol_la_SOURCES = \ + $(BUILT_SOURCES) + +clean-local: + rm -f *.ph + +include $(top_srcdir)/Makefile.common diff --git a/MAC/APL/PIC/TBB_Protocol/src/TBB_Protocol.prot b/MAC/APL/PIC/TBB_Protocol/src/TBB_Protocol.prot new file mode 100644 index 00000000000..2b908a17457 --- /dev/null +++ b/MAC/APL/PIC/TBB_Protocol/src/TBB_Protocol.prot @@ -0,0 +1,566 @@ +// -*- mode: c++ -*-// +// Protocol definition for the TBB driver +// +autogen definitions protocol; + +description = "Protocol for the TBB driver interface"; +prefix = "TBB"; // for the signal names +id = "(LOFAR::GCF::TM::F_APL_PROTOCOL+22)"; // !! look if 22 is still available + +// specify extra include files +// e.g. +include = '<sys/time.h>'; +include = '<linux/types.h>'; +include = '<bitset>'; +include = '<Common/LofarTypes.h>'; + +include = '<APL/RTCCommon/Timestamp.h>'; + +prelude = << PRELUDE_END + + static const int MAX_N_TBBBOARDS = 12; + static const int SUCCESS = 1; + static const int FAILURE = 0; + +typedef class TBBVersion +{ + uint32 boardid; + uint32 swversion; + uint32 boardversion; + uint32 tp_version; + uint32 mp_version[4]; +}; + +PRELUDE_END; + + +// +// An "event" has a "signal" and a "dir" (direction) +// and zero or more "param"s. +// "dir" can be one of "IN" or "OUT". +// A "param" has a "name" and a "type". +// Userdefine types are +// + +// +// info about status type +// +// type uint32 (4 bytes) +// +// bit0 = 1, SUCCESS, all boards have responded +// = 0, FAILURE, one of the boards is not responding +// +// bit16 = bit0 and bit31 = bit15 from tbbmask +// bit16 .. bit31, = 1, if board response was OK +// = 0, if board response was not ok +// + +// +// if boardid = 0 is returnd, then the board was not on this driver +// + +// TBB events + +// data recording +event = { + signal = ALLOC; + dir = IN; + param = { + name = "tbbmask"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; + param = { + name = "pageaddr"; + type = "uint32"; + }; + param = { + name = "pagelength"; + type = "uint32"; + }; +}; + +event = { + signal = ALLOCACK; + dir = OUT; + param = { + name = "status"; + type = "uint32"; + }; +}; + +event = { + signal = FREE; + dir = IN; + param = { + name = "tbbmask"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; +}; + +event = { + signal = FREEACK; + dir = OUT; + param = { + name = "status"; + type = "uint32"; + }; +}; + +event = { + signal = RECORD; + dir = IN; + param = { + name = "tbbmask"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; +}; + +event = { + signal = RECORDACK; + dir = OUT; + param = { + name = "status"; + type = "uint32"; + }; +}; + +event = { + signal = STOP; + dir = IN; + param = { + name = "tbbmask"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; +}; + +event = { + signal = STOPACK; + dir = OUT; + param = { + name = "status"; + type = "uint32"; + }; +}; + +// Triggering +event = { + signal = TRIGGER; + dir = OUT; + param = { + name = "tbbmask"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; + param = { + name = "time"; + type = "uint32"; + }; + param = { + name = "sample"; + type = "uint32"; + }; +}; + +event = { + signal = TRIGGERACK; + dir = IN; + param = { + name = "status"; + type = "uint32"; + }; +}; + +event = { + signal = TRIGCLR; + dir = IN; + param = { + name = "tbbmask"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; +}; + +event = { + signal = TRIGCLRACK; + dir = OUT; + param = { + name = "status"; + type = "uint32"; + }; +}; + +// Data reading +event = { + signal = READ; + dir = IN; + param = { + name = "tbbmask"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; + param = { + name = "time"; + type = "uint32"; + }; + param = { + name = "period"; + type = "uint32"; + }; +}; + +event = { + signal = READACK; + dir = OUT; + param = { + name = "status"; + type = "uint32"; + }; +}; + +event = { + signal = UDP; + dir = IN; + param = { + name = "tbbmask"; + type = "uint32"; + }; + param = { + name = "udp"; + type = "uint32[2]"; + }; + param = { + name = "ip"; + type = "uint32[5]"; + }; + param = { + name = "mac"; + type = "uint32[2]"; + }; +}; + +event = { + signal = UDPACK; + dir = OUT; + param = { + name = "status"; + type = "uint32"; + }; +}; + +// Operation and Maintenance +// Board information +event = { + signal = VERSION; + dir = IN; + param = { + name = "tbbmask"; + type = "uint32"; + }; +}; + +event = { + signal = VERSIONACK; + dir = OUT; + param = { + name = "status"; + type = "uint32"; + }; + param = { + name = "tbbversion"; + type = "TBBVersion[MAX_N_TBBBOARDS]"; + }; +}; + +event = { + signal = SIZE; + dir = IN; + param = { + name = "tbbmask"; + type = "uint32"; + }; +}; + +event = { + signal = SIZEACK; + dir = OUT; + param = { + name = "status"; + type = "uint32"; + }; + param = { + name = "size"; + type = "uint32[MAX_N_TBBBOARDS]"; + }; +}; + +// Board status +event = { + signal = ERROR; + dir = OUT; + param = { + name = "code"; + type = "uint32"; + }; +}; + +event = { + signal = ERRORACK; + dir = IN; + param = { + name = "status"; + type = "uint32"; + }; +}; + +// Board control +event = { + signal = CLEAR; + dir = IN; + param = { + name = "tbbmask"; + type = "uint32"; + }; +}; + +event = { + signal = CLEARACK; + dir = OUT; + param = { + name = "status"; + type = "uint32"; + }; +}; + +event = { + signal = RESET; + dir = IN; + param = { + name = "tbbmask"; + type = "uint32"; + }; +}; + +event = { + signal = RESETACK; + dir = OUT; + param = { + name = "status"; + type = "uint32"; + }; +}; + +event = { + signal = CONFIG; + dir = IN; + param = { + name = "tbbmask"; + type = "uint32"; + }; + param = { + name = "image"; + type = "uint32"; + }; +}; + +event = { + signal = CONFIGACK; + dir = OUT; + param = { + name = "status"; + type = "uint32"; + }; +}; + +// Remote system update +event = { + signal = ERASEF; + dir = IN; + param = { + name = "boardid"; + type = "uint32"; + }; + param = { + name = "addr"; + type = "uint32"; + }; +}; + +event = { + signal = ERASEFACK; + dir = OUT; + param = { + name = "boardid"; + type = "uint32"; + }; + param = { + name = "status"; + type = "uint32"; + }; +}; + +event = { + signal = READF; + dir = IN; + param = { + name = "boardid"; + type = "uint32"; + }; + param = { + name = "addr"; + type = "uint32"; + }; +}; + +event = { + signal = READFACK; + dir = OUT; + param = { + name = "boardid"; + type = "uint32"; + }; + param = { + name = "addr"; + type = "uint32"; + }; + param = { + name = "data"; + type = "uint32[256]"; + }; +}; + + +event = { + signal = WRITEF; + dir = IN; + param = { + name = "boardid"; + type = "uint32"; + }; + param = { + name = "addr"; + type = "uint32"; + }; + param = { + name = "data"; + type = "uint32[256]"; + }; +}; + +event = { + signal = WRITEFACK; + dir = OUT; + param = { + name = "boardid"; + type = "uint32"; + }; + param = { + name = "status"; + type = "uint32"; + }; +}; + +// DDR2 Access +event = { + signal = READW; + dir = IN; + param = { + name = "boardid"; + type = "uint32"; + }; + param = { + name = "mp"; + type = "uint32"; + }; + param = { + name = "addr"; + type = "uint32"; + }; +}; + +event = { + signal = READWACK; + dir = OUT; + param = { + name = "boardid"; + type = "uint32"; + }; + param = { + name = "mp"; + type = "uint32"; + }; + param = { + name = "addr"; + type = "uint32"; + }; + param = { + name = "wordlo"; + type = "uint32"; + }; + param = { + name = "wordhi"; + type = "uint32"; + }; +}; + +event = { + signal = WRITEW; + dir = IN; + param = { + name = "boardid"; + type = "uint32"; + }; + param = { + name = "mp"; + type = "uint32"; + }; + param = { + name = "addr"; + type = "uint32"; + }; + param = { + name = "wordlo"; + type = "uint32"; + }; + param = { + name = "wordhi"; + type = "uint32"; + };}; + +event = { + signal = WRITEWACK; + dir = OUT; + param = { + name = "boardid"; + type = "uint32"; + }; + param = { + name = "status"; + type = "uint32"; + }; +}; + diff --git a/MAC/APL/PIC/TBB_Protocol/src/TP_Protocol.prot b/MAC/APL/PIC/TBB_Protocol/src/TP_Protocol.prot new file mode 100644 index 00000000000..6a62a56b372 --- /dev/null +++ b/MAC/APL/PIC/TBB_Protocol/src/TP_Protocol.prot @@ -0,0 +1,387 @@ +// -*- mode: c++ -*-// +// Protocol definition for the TBB board driver +// +autogen definitions protocol; + +description = "Protocol for the TBB driver interface"; +prefix = "TP"; // for the signal names +id = "(LOFAR::GCF::TM::F_APL_PROTOCOL+21)"; // !! look if 21 is still available + +// specify extra include files +// e.g. +include = '<sys/time.h>'; +include = '<linux/types.h>'; +include = '<bitset>'; +include = '<Common/LofarTypes.h>'; + +include = '<APL/RTCCommon/Timestamp.h>'; + +prelude = << PRELUDE_END + + static const int MAX_N_TBBBOARDS = 12; + static const int SUCCESS = 1; + static const int FAILURE = 0; + +PRELUDE_END; + +// +// An "event" has a "signal" and a "dir" (direction) +// and zero or more "param"s. +// "dir" can be one of "IN" or "OUT". +// A "param" has a "name" and a "type". +// Userdefine types are +// + +// +// TP events +// + +// data recording +event = { + noheader; + signal = ALLOC; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; + param = { + name = "pageaddr"; + type = "uint32"; + }; + param = { + name = "pagelength"; + type = "uint32"; + }; +}; + +event = { + noheader; + signal = FREE; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; +}; + +event = { + noheader; + signal = RECORD; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; +}; + +event = { + noheader; + signal = STOP; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; +}; + +// Triggering +event = { + noheader; + signal = TRIGGER; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; + param = { + name = "time"; + type = "uint32"; + }; + param = { + name = "sample"; + type = "uint32"; + }; +}; + +event = { + noheader; + signal = TRIGCLR; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; +}; + +// Data reading +event = { + noheader; + signal = READ; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "channel"; + type = "uint32"; + }; + param = { + name = "time"; + type = "uint32"; + }; + param = { + name = "period"; + type = "uint32"; + }; +}; + + +event = { + noheader; + signal = UDP; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "udp"; + type = "uint32[2]"; + }; + param = { + name = "ip"; + type = "uint32[5]"; + }; + param = { + name = "mac"; + type = "uint32[2]"; + }; +}; + +// Operation and Maintenance +// Board information +event = { + noheader; + signal = VERSION; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "boardid"; + type = "uint32"; + }; + param = { + name = "swversion"; + type = "uint32"; + }; + param = { + name = "boardvertsion"; + type = "uint32"; + }; + param = { + name = "tp_version"; + type = "uint32"; + }; + param = { + name = "mp_version"; + type = "uint32[4]"; + }; +}; + + +event = { + noheader; + signal = SIZE; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "size"; + type = "uint32"; + }; +}; + +// Board status +event = { + noheader; + signal = ERROR; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "code"; + type = "uint32"; + }; +}; + +// Board control +event = { + noheader; + signal = CLEAR; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; +}; + +event = { + noheader; + signal = RESET; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; +}; + +event = { + noheader; + signal = CONFIG; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "image"; + type = "uint32"; + }; +}; + +// Remote system update +event = { + noheader; + signal = ERASEF; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "addr"; + type = "uint32"; + }; +}; + +event = { + noheader; + signal = READF; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "addr"; + type = "uint32"; + }; + param = { + name = "data"; + type = "uint32[256]"; + }; +}; + +event = { + noheader; + signal = WRITEF; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "addr"; + type = "uint32"; + }; + param = { + name = "data"; + type = "uint32[256]"; + }; +}; + +// DDR2 Access +event = { + noheader; + signal = READW; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "mp"; + type = "uint32"; + }; + param = { + name = "addr"; + type = "uint32"; + }; + param = { + name = "wordlo"; + type = "uint32"; + }; + param = { + name = "wordhi"; + type = "uint32"; + }; +}; + +event = { + noheader; + signal = WRITEW; + dir = INOUT; + param = { + name = "opcode"; + type = "uint32"; + }; + param = { + name = "mp"; + type = "uint32"; + }; + param = { + name = "addr"; + type = "uint32"; + }; + param = { + name = "wordlo"; + type = "uint32"; + }; + param = { + name = "wordhi"; + type = "uint32"; + }; +}; + -- GitLab