summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/eth_comm/include
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/powerpc/eth_comm/include')
-rw-r--r--c/src/lib/libbsp/powerpc/eth_comm/include/Makefile.in33
-rw-r--r--c/src/lib/libbsp/powerpc/eth_comm/include/bsp.h116
-rw-r--r--c/src/lib/libbsp/powerpc/eth_comm/include/canbus.h172
-rw-r--r--c/src/lib/libbsp/powerpc/eth_comm/include/coverhd.h115
-rw-r--r--c/src/lib/libbsp/powerpc/eth_comm/include/info.h90
5 files changed, 526 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/powerpc/eth_comm/include/Makefile.in b/c/src/lib/libbsp/powerpc/eth_comm/include/Makefile.in
new file mode 100644
index 0000000000..7fda2ca6d4
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/eth_comm/include/Makefile.in
@@ -0,0 +1,33 @@
+#
+# $Id$
+#
+
+@SET_MAKE@
+srcdir = @srcdir@
+VPATH = @srcdir@
+RTEMS_ROOT = @top_srcdir@
+PROJECT_ROOT = @PROJECT_ROOT@
+
+H_FILES = $(srcdir)/bsp.h $(srcdir)/coverhd.h $(srcdir)/canbus.h $(srcdir)/info.h
+
+#
+# Equate files are for including from assembly preprocessed by
+# gm4 or gasp. No examples are provided except for those for
+# other CPUs. The best way to generate them would be to
+# provide a program which generates the constants used based
+# on the C equivalents.
+#
+
+EQ_FILES =
+
+SRCS=$(H_FILES) $(EQ_FILES)
+
+include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
+include $(RTEMS_ROOT)/make/leaf.cfg
+
+CLEAN_ADDITIONS +=
+CLOBBER_ADDITIONS +=
+
+all: $(SRCS)
+ $(INSTALL) -m 444 $(H_FILES) $(PROJECT_INCLUDE)
+ $(INSTALL) -m 444 $(EQ_FILES) $(PROJECT_INCLUDE)
diff --git a/c/src/lib/libbsp/powerpc/eth_comm/include/bsp.h b/c/src/lib/libbsp/powerpc/eth_comm/include/bsp.h
new file mode 100644
index 0000000000..c6f774d679
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/eth_comm/include/bsp.h
@@ -0,0 +1,116 @@
+/* bsp.h
+ *
+ * This include file contains all board IO definitions.
+ *
+ * XXX : put yours in here
+ *
+ * COPYRIGHT (c) 1989-1998.
+ * On-Line Applications Research Corporation (OAR).
+ * Copyright assigned to U.S. Government, 1994.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#ifndef __NO_BSP_h
+#define __NO_BSP_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <rtems.h>
+#include <console.h>
+#include <clockdrv.h>
+
+/*
+ * Network driver configuration
+ */
+struct rtems_bsdnet_ifconfig;
+extern int rtems_enet_driver_attach (struct rtems_bsdnet_ifconfig *config);
+#define RTEMS_BSP_NETWORK_DRIVER_NAME "eth1"
+#define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_enet_driver_attach
+
+/*
+ * We need to decide how much memory will be non-cacheable. This
+ * will mainly be memory that will be used in DMA (network and serial
+ * buffers).
+ */
+#define NOCACHE_MEM_SIZE 512*1024
+
+/*
+ * Define the time limits for RTEMS Test Suite test durations.
+ * Long test and short test duration limits are provided. These
+ * values are in seconds and need to be converted to ticks for the
+ * application.
+ *
+ */
+
+#define MAX_LONG_TEST_DURATION 300 /* 5 minutes = 300 seconds */
+#define MAX_SHORT_TEST_DURATION 3 /* 3 seconds */
+
+/*
+ * Stuff for Time Test 27
+ */
+
+#define MUST_WAIT_FOR_INTERRUPT 0
+
+#define Install_tm27_vector( handler ) set_vector( (handler), PPC_IRQ_SCALL, 1 )
+
+#define Cause_tm27_intr() asm volatile ("sc")
+
+#define Clear_tm27_intr()
+
+#define Lower_tm27_intr()
+
+/* Constants */
+
+#define RAM_START 0
+#define RAM_END 0x100000
+
+/* miscellaneous stuff assumed to exist */
+
+extern rtems_configuration_table BSP_Configuration;
+
+/*
+ * Device Driver Table Entries
+ */
+
+/*
+ * NOTE: Use the standard Console driver entry
+ */
+
+/*
+ * NOTE: Use the standard Clock driver entry
+ */
+
+/*
+ * How many libio files we want
+ */
+
+#define BSP_LIBIO_MAX_FDS 20
+
+/* functions */
+
+void bsp_cleanup( void );
+
+void M860ExecuteRISC( rtems_unsigned16 command );
+void *M860AllocateBufferDescriptors( int count );
+void *M860AllocateRiscTimers( int count );
+extern char M860DefaultWatchdogFeeder;
+
+rtems_isr_entry set_vector( /* returns old vector */
+ rtems_isr_entry handler, /* isr routine */
+ rtems_vector_number vector, /* vector number */
+ int type /* RTEMS or RAW intr */
+);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/c/src/lib/libbsp/powerpc/eth_comm/include/canbus.h b/c/src/lib/libbsp/powerpc/eth_comm/include/canbus.h
new file mode 100644
index 0000000000..bcac59343c
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/eth_comm/include/canbus.h
@@ -0,0 +1,172 @@
+/* canbus.h
+ *
+ * This include file contains all canbus IO definitions
+ *
+ * Written by Jay Monkman (jmonkman@frasca.com)
+ *
+ * COPYRIGHT (c) 1998
+ * Frasca International, Inc.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id:
+ */
+
+#ifndef __CANBUS_H_
+#define __CANBUS_H_
+
+#include <rtems.h>
+
+typedef struct i82527_msg_t_ {
+ rtems_unsigned8 ctrl0 __attribute__ ((packed)); /* Control 0 register */
+ rtems_unsigned8 ctrl1 __attribute__ ((packed)); /* Control 1 register */
+ rtems_unsigned32 arb __attribute__ ((packed)); /* Arbitration reg */
+ rtems_unsigned8 cfg __attribute__ ((packed)); /* Message config reg */
+ rtems_unsigned8 data[8] __attribute__ ((packed)); /* Actual message */
+} i82527_msg_t;
+
+typedef struct i82527_t_ {
+ rtems_unsigned8 ctrl __attribute__ ((packed)); /* Control register */
+ rtems_unsigned8 status __attribute__ ((packed)); /* Status register */
+ rtems_unsigned8 cir __attribute__ ((packed)); /* CPU interface reg */
+ rtems_unsigned8 _res0 __attribute__ ((packed));
+ rtems_unsigned16 hsr __attribute__ ((packed)); /* High speed read */
+ rtems_unsigned16 gms __attribute__ ((packed)); /* Global Mask - std */
+ rtems_unsigned32 gml __attribute__ ((packed)); /* Global Mask - long */
+ rtems_unsigned32 mlm __attribute__ ((packed)); /* Mask last message */
+ i82527_msg_t msg1 __attribute__ ((packed)); /* Message 1 */
+ rtems_unsigned8 clkout __attribute__ ((packed)); /* CLKOUT register */
+ i82527_msg_t msg2 __attribute__ ((packed)); /* Message 2 */
+ rtems_unsigned8 bcr __attribute__ ((packed)); /* Bus config register */
+ i82527_msg_t msg3 __attribute__ ((packed)); /* Message 3 */
+ rtems_unsigned8 btr0 __attribute__ ((packed)); /* Bit timing reg 0 */
+ i82527_msg_t msg4 __attribute__ ((packed)); /* Message 4 */
+ rtems_unsigned8 btr1 __attribute__ ((packed)); /* Bit timing reg 1 */
+ i82527_msg_t msg5 __attribute__ ((packed)); /* Message 5 */
+ rtems_unsigned8 intr __attribute__ ((packed)); /* Interrupt register */
+ i82527_msg_t msg6 __attribute__ ((packed)); /* Message 6 */
+ rtems_unsigned8 _res1 __attribute__ ((packed));
+ i82527_msg_t msg7 __attribute__ ((packed)); /* Message 7 */
+ rtems_unsigned8 _res2 __attribute__ ((packed));
+ i82527_msg_t msg8 __attribute__ ((packed)); /* Message 8 */
+ rtems_unsigned8 _res3 __attribute__ ((packed));
+ i82527_msg_t msg9 __attribute__ ((packed)); /* Message 9 */
+ rtems_unsigned8 p1conf __attribute__ ((packed)); /* Port 1 config */
+ i82527_msg_t msg10 __attribute__ ((packed)); /* Message 10 */
+ rtems_unsigned8 p2conf __attribute__ ((packed)); /* Port 2 config */
+ i82527_msg_t msg11 __attribute__ ((packed)); /* Message 11 */
+ rtems_unsigned8 p1in __attribute__ ((packed)); /* Port 1 in */
+ i82527_msg_t msg12 __attribute__ ((packed)); /* Message 12 */
+ rtems_unsigned8 p2in __attribute__ ((packed)); /* Port 2 in */
+ i82527_msg_t msg13 __attribute__ ((packed)); /* Message 13 */
+ rtems_unsigned8 p1out __attribute__ ((packed)); /* Port 1 out */
+ i82527_msg_t msg14 __attribute__ ((packed)); /* Message 14 */
+ rtems_unsigned8 p2out __attribute__ ((packed)); /* Port 2 out */
+ i82527_msg_t msg15 __attribute__ ((packed)); /* Message 15 */
+ rtems_unsigned8 sra __attribute__ ((packed)); /* Serial reset address */
+} i82527_t;
+
+#define I82527_CTRL_CCE (1<<6)
+#define I82527_CTRL_EIE (1<<3)
+#define I82527_CTRL_SIE (1<<2)
+#define I82527_CTRL_IE (1<<1)
+#define I82527_CTRL_INIT (1)
+#define I82527_STATUS_BOFF (1<<7)
+#define I82527_STATUS_WARN (1<<6)
+#define I82527_STATUS_WAKE (1<<5)
+#define I82527_STATUS_RXOK (1<<4)
+#define I82527_STATUS_TXOK (1<<3)
+#define I82527_STATUS_LEC (7)
+#define I82527_STATUS_LEC_NONE 0
+#define I82527_STATUS_LEC_STUFF 1
+#define I82527_STATUS_LEC_FORM 2
+#define I82527_STATUS_LEC_ACK 3
+#define I82527_STATUS_LEC_BIT1 4
+#define I82527_STATUS_LEC_BIT0 5
+#define I82527_STATUS_LEC_CRC 6
+#define I82527_CIR_RSTSTAT (1<<7)
+#define I82527_CIR_DSC (1<<6)
+#define I82527_CIR_DMC (1<<5)
+#define I82527_CIR_PWD (1<<4)
+#define I82527_CIR_SLEEP (1<<3)
+#define I82527_CIR_MUX (1<<2)
+#define I82527_CIR_CEN (1)
+#define I82527_CLKOUT_SL1 (1<<5)
+#define I82527_CLKOUT_SLO (1<<4)
+#define I82527_BCR_COBY (1<<6)
+#define I82527_BCR_POL (1<<5)
+#define I82527_DCT1 (1<<3)
+#define I82527_DCR1 (1<<1)
+#define I82527_DCR0 (1)
+#define I82527_BTR1_SPL (1<<7)
+#define I82527_MSG_CTRL_MSGVAL (2<<6)
+#define I82527_MSG_CTRL_MSGVAL_NC (3<<6)
+#define I82527_MSG_CTRL_MSGVAL_SET (2<<6)
+#define I82527_MSG_CTRL_MSGVAL_CLR (1<<6)
+#define I82527_MSG_CTRL_TXIE (2<<4)
+#define I82527_MSG_CTRL_TXIE_NC (3<<4)
+#define I82527_MSG_CTRL_TXIE_SET (2<<4)
+#define I82527_MSG_CTRL_TXIE_CLR (1<<4)
+#define I82527_MSG_CTRL_RXIE (2<<2)
+#define I82527_MSG_CTRL_RXIE_NC (3<<2)
+#define I82527_MSG_CTRL_RXIE_SET (2<<2)
+#define I82527_MSG_CTRL_RXIE_CLR (1<<2)
+#define I82527_MSG_CTRL_INTPND (2)
+#define I82527_MSG_CTRL_INTPND_NC (3)
+#define I82527_MSG_CTRL_INTPND_SET (2)
+#define I82527_MSG_CTRL_INTPND_CLR (1)
+#define I82527_MSG_CTRL_RMTPND (2<<6)
+#define I82527_MSG_CTRL_RMTPND_NC (3<<6)
+#define I82527_MSG_CTRL_RMTPND_SET (2<<6)
+#define I82527_MSG_CTRL_RMTPND_CLR (1<<6)
+#define I82527_MSG_CTRL_TXRQ (2<<4)
+#define I82527_MSG_CTRL_TXRQ_NC (3<<4)
+#define I82527_MSG_CTRL_TXRQ_SET (2<<4)
+#define I82527_MSG_CTRL_TXRQ_CLR (1<<4)
+#define I82527_MSG_CTRL_MSGLST (2<<2)
+#define I82527_MSG_CTRL_MSGLST_NC (3<<2)
+#define I82527_MSG_CTRL_MSGLST_SET (2<<2)
+#define I82527_MSG_CTRL_MSGLST_CLR (1<<2)
+#define I82527_MSG_CTRL_CPUUPD (2<<2)
+#define I82527_MSG_CTRL_CPUUPD_NC (3<<2)
+#define I82527_MSG_CTRL_CPUUPD_SET (2<<2)
+#define I82527_MSG_CTRL_CPUUPD_CLR (1<<2)
+#define I82527_MSG_CTRL_NEWDAT (2)
+#define I82527_MSG_CTRL_NEWDAT_NC (3)
+#define I82527_MSG_CTRL_NEWDAT_SET (2)
+#define I82527_MSG_CTRL_NEWDAT_CLR (1)
+#define I82527_MSG_CFG_DIR (1<<3)
+#define I82527_MSG_CFG_XTD (1<<2)
+
+extern i82527_t canbus0;
+extern i82527_t canbus1;
+extern i82527_t canbus2;
+
+
+rtems_device_driver canbus_initialize(rtems_device_major_number,
+ rtems_device_minor_number,
+ void *);
+rtems_device_driver canbus_open(rtems_device_major_number,
+ rtems_device_minor_number,
+ void *);
+rtems_device_driver canbus_close(rtems_device_major_number,
+ rtems_device_minor_number,
+ void *);
+rtems_device_driver canbus_read(rtems_device_major_number,
+ rtems_device_minor_number,
+ void *);
+rtems_device_driver canbus_write(rtems_device_major_number,
+ rtems_device_minor_number,
+ void *);
+rtems_device_driver canbus_control(rtems_device_major_number,
+ rtems_device_minor_number,
+ void *);
+
+
+#define CANBUS_DRIVER_TABLE_ENTRY \
+ { canbus_initialize, canbus_open, canbus_close, \
+ canbus_read, canbus_write, canbus_control }
+
+#endif /* __CANBUS_H_ */
diff --git a/c/src/lib/libbsp/powerpc/eth_comm/include/coverhd.h b/c/src/lib/libbsp/powerpc/eth_comm/include/coverhd.h
new file mode 100644
index 0000000000..9f0911fe8a
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/eth_comm/include/coverhd.h
@@ -0,0 +1,115 @@
+/* coverhd.h
+ *
+ * This include file has defines to represent the overhead associated
+ * with calling a particular directive from C. These are used in the
+ * Timing Test Suite to ignore the overhead required to pass arguments
+ * to directives. On some CPUs and/or target boards, this overhead
+ * is significant and makes it difficult to distinguish internal
+ * RTEMS execution time from that used to call the directive.
+ * This file should be updated after running the C overhead timing
+ * test. Once this update has been performed, the RTEMS Time Test
+ * Suite should be rebuilt to account for these overhead times in the
+ * timing results.
+ *
+ * NOTE: If these are all zero, then the times reported include
+ * all calling overhead including passing of arguments.
+ *
+ * COPYRIGHT (c) 1989-1998.
+ * On-Line Applications Research Corporation (OAR).
+ * Copyright assigned to U.S. Government, 1994.
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#ifndef __COVERHD_h
+#define __COVERHD_h
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE 0
+#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE 0
+#define CALLING_OVERHEAD_TASK_CREATE 0
+#define CALLING_OVERHEAD_TASK_IDENT 0
+#define CALLING_OVERHEAD_TASK_START 0
+#define CALLING_OVERHEAD_TASK_RESTART 0
+#define CALLING_OVERHEAD_TASK_DELETE 0
+#define CALLING_OVERHEAD_TASK_SUSPEND 0
+#define CALLING_OVERHEAD_TASK_RESUME 0
+#define CALLING_OVERHEAD_TASK_SET_PRIORITY 0
+#define CALLING_OVERHEAD_TASK_MODE 0
+#define CALLING_OVERHEAD_TASK_GET_NOTE 0
+#define CALLING_OVERHEAD_TASK_SET_NOTE 0
+#define CALLING_OVERHEAD_TASK_WAKE_WHEN 2
+#define CALLING_OVERHEAD_TASK_WAKE_AFTER 0
+#define CALLING_OVERHEAD_INTERRUPT_CATCH 0
+#define CALLING_OVERHEAD_CLOCK_GET 2
+#define CALLING_OVERHEAD_CLOCK_SET 2
+#define CALLING_OVERHEAD_CLOCK_TICK 0
+
+#define CALLING_OVERHEAD_TIMER_CREATE 0
+#define CALLING_OVERHEAD_TIMER_IDENT 0
+#define CALLING_OVERHEAD_TIMER_DELETE 0
+#define CALLING_OVERHEAD_TIMER_FIRE_AFTER 0
+#define CALLING_OVERHEAD_TIMER_FIRE_WHEN 2
+#define CALLING_OVERHEAD_TIMER_RESET 0
+#define CALLING_OVERHEAD_TIMER_CANCEL 0
+#define CALLING_OVERHEAD_SEMAPHORE_CREATE 0
+#define CALLING_OVERHEAD_SEMAPHORE_IDENT 0
+#define CALLING_OVERHEAD_SEMAPHORE_DELETE 0
+#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN 0
+#define CALLING_OVERHEAD_SEMAPHORE_RELEASE 0
+#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE 0
+#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT 0
+#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE 0
+#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND 0
+#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT 0
+#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST 0
+#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE 0
+#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH 0
+
+#define CALLING_OVERHEAD_EVENT_SEND 0
+#define CALLING_OVERHEAD_EVENT_RECEIVE 0
+#define CALLING_OVERHEAD_SIGNAL_CATCH 0
+#define CALLING_OVERHEAD_SIGNAL_SEND 0
+#define CALLING_OVERHEAD_PARTITION_CREATE 0
+#define CALLING_OVERHEAD_PARTITION_IDENT 0
+#define CALLING_OVERHEAD_PARTITION_DELETE 0
+#define CALLING_OVERHEAD_PARTITION_GET_BUFFER 0
+#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER 0
+#define CALLING_OVERHEAD_REGION_CREATE 0
+#define CALLING_OVERHEAD_REGION_IDENT 0
+#define CALLING_OVERHEAD_REGION_DELETE 0
+#define CALLING_OVERHEAD_REGION_GET_SEGMENT 0
+#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT 0
+#define CALLING_OVERHEAD_PORT_CREATE 0
+#define CALLING_OVERHEAD_PORT_IDENT 0
+#define CALLING_OVERHEAD_PORT_DELETE 0
+#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 0
+#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 0
+
+#define CALLING_OVERHEAD_IO_INITIALIZE 0
+#define CALLING_OVERHEAD_IO_OPEN 0
+#define CALLING_OVERHEAD_IO_CLOSE 0
+#define CALLING_OVERHEAD_IO_READ 0
+#define CALLING_OVERHEAD_IO_WRITE 0
+#define CALLING_OVERHEAD_IO_CONTROL 0
+#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED 0
+#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE 0
+#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT 0
+#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE 0
+#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL 0
+#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD 0
+#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE 0
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+/* end of include file */
diff --git a/c/src/lib/libbsp/powerpc/eth_comm/include/info.h b/c/src/lib/libbsp/powerpc/eth_comm/include/info.h
new file mode 100644
index 0000000000..881f962995
--- /dev/null
+++ b/c/src/lib/libbsp/powerpc/eth_comm/include/info.h
@@ -0,0 +1,90 @@
+/* info.h - Defines board info block structure and macros for
+ * handling elements of struct for ethernet comm board
+ *
+ * Written by Jay Monkman 7/21/98
+ * Copyright Frasca International, Inc 1998
+ */
+
+#ifndef __info_h__
+#define __info_h__
+
+typedef struct BoardInfoBlock_ {
+ rtems_unsigned16 size; /* size of info block in bytes */
+ rtems_unsigned8 eth_id[6]; /* ethernet id of ethernet interface */
+ rtems_unsigned32 cpu_spd; /* cpu speed in Hz */
+ rtems_unsigned32 flash_size; /* size of flash memory in bytes */
+ rtems_unsigned32 ram_size; /* size of ram in bytes */
+ rtems_unsigned32 version; /* version of firmare (x.y format) */
+ rtems_unsigned32 if429; /* mask for arinc429 interface */
+ rtems_unsigned32 ifcsdb; /* mask for csdb interface */
+ rtems_unsigned16 if232; /* mask for rs232 interface */
+ rtems_unsigned8 ifcan; /* mask for canbus interface */
+ rtems_unsigned8 if568; /* mask for arinc568 interface */
+ rtems_unsigned8 fpn[16]; /* Frasca part number in ASCII */
+ rtems_unsigned16 rev; /* Board revision */
+ rtems_unsigned32 ip_num; /* Board IP number */
+
+} boardinfo_t;
+
+#define IFACE_ARINC429_TX0 0x00000001;
+#define IFACE_ARINC429_RX0 0x00000002;
+#define IFACE_ARINC429_TX1 0x00000004;
+#define IFACE_ARINC429_RX1 0x00000008;
+#define IFACE_ARINC429_TX2 0x00000010;
+#define IFACE_ARINC429_RX2 0x00000020;
+#define IFACE_ARINC429_TX3 0x00000040;
+#define IFACE_ARINC429_RX3 0x00000080;
+#define IFACE_ARINC429_TX4 0x00000100;
+#define IFACE_ARINC429_RX4 0x00000200;
+#define IFACE_ARINC429_TX5 0x00000400;
+#define IFACE_ARINC429_RX5 0x00000800;
+#define IFACE_ARINC429_TX6 0x00001000;
+#define IFACE_ARINC429_RX6 0x00002000;
+#define IFACE_ARINC429_TX7 0x00004000;
+#define IFACE_ARINC429_RX7 0x00008000;
+
+#define IFACE_ARINC568_TX0 0x0001;
+#define IFACE_ARINC568_RX0 0x0002;
+#define IFACE_ARINC568_TX1 0x0004;
+#define IFACE_ARINC568_RX1 0x0008;
+
+#define IFACE_CSDB_TX0 0x00000001;
+#define IFACE_CSDB_RX0 0x00000002;
+#define IFACE_CSDB_TX1 0x00000004;
+#define IFACE_CSDB_RX1 0x00000008;
+#define IFACE_CSDB_TX2 0x00000010;
+#define IFACE_CSDB_RX2 0x00000020;
+#define IFACE_CSDB_TX3 0x00000040;
+#define IFACE_CSDB_RX3 0x00000080;
+#define IFACE_CSDB_TX4 0x00000100;
+#define IFACE_CSDB_RX4 0x00000200;
+#define IFACE_CSDB_TX5 0x00000400;
+#define IFACE_CSDB_RX5 0x00000800;
+#define IFACE_CSDB_TX6 0x00001000;
+#define IFACE_CSDB_RX6 0x00002000;
+#define IFACE_CSDB_TX7 0x00004000;
+#define IFACE_CSDB_RX7 0x00008000;
+#define IFACE_CSDB_TX8 0x00010000;
+#define IFACE_CSDB_RX8 0x00020000;
+
+#define IFACE_CAN_TX0 0x0001;
+#define IFACE_CAN_RX0 0x0002;
+#define IFACE_CAN_TX1 0x0004;
+#define IFACE_CAN_RX1 0x0008;
+#define IFACE_CAN_TX2 0x0010;
+#define IFACE_CAN_RX2 0x0020;
+
+#define IFACE_RS232_TX0 0x0001;
+#define IFACE_RS232_RX0 0x0002;
+#define IFACE_RS232_TX1 0x0004;
+#define IFACE_RS232_RX1 0x0008;
+#define IFACE_RS232_TX2 0x0010;
+#define IFACE_RS232_RX2 0x0020;
+#define IFACE_RS232_TX3 0x0040;
+#define IFACE_RS232_RX3 0x0080;
+#define IFACE_RS232_TX4 0x0100;
+#define IFACE_RS232_RX4 0x0200;
+
+
+
+#endif /* __info_h__*/