aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging
diff options
context:
space:
mode:
authorDaniel Krueger <daniel.krueger@systec-electronic.com>2008-12-19 11:41:57 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2009-01-06 13:52:36 -0800
commit9d7164cfdb611c2f864d535ae5794f23db3d84f7 (patch)
tree046847f7d6432f1f3dc8236f62492503f4c9ebdc /drivers/staging
parent37bcd24b845abbfd85c838ee9ce07c2b254d3a05 (diff)
Staging: add epl stack
This is the openPOWERLINK network stack from systec electronic. It's a bit messed up as there is a driver mixed into the middle of it, lots of work needs to be done to unwind the different portions to make it sane. Cc: Daniel Krueger <daniel.krueger@systec-electronic.com> Cc: Ronald Sieber <Ronald.Sieber@systec-electronic.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging')
-rw-r--r--drivers/staging/Kconfig2
-rw-r--r--drivers/staging/Makefile1
-rw-r--r--drivers/staging/epl/Benchmark.h443
-rw-r--r--drivers/staging/epl/Debug.h750
-rw-r--r--drivers/staging/epl/Edrv8139.c1317
-rw-r--r--drivers/staging/epl/EdrvFec.h126
-rw-r--r--drivers/staging/epl/EdrvFec5282.h347
-rw-r--r--drivers/staging/epl/EdrvSim.h94
-rw-r--r--drivers/staging/epl/Epl.h304
-rw-r--r--drivers/staging/epl/EplAmi.h380
-rw-r--r--drivers/staging/epl/EplApiGeneric.c2093
-rw-r--r--drivers/staging/epl/EplApiLinux.h153
-rw-r--r--drivers/staging/epl/EplApiLinuxKernel.c1317
-rw-r--r--drivers/staging/epl/EplApiProcessImage.c374
-rw-r--r--drivers/staging/epl/EplCfg.h207
-rw-r--r--drivers/staging/epl/EplDef.h362
-rw-r--r--drivers/staging/epl/EplDll.h220
-rw-r--r--drivers/staging/epl/EplDllCal.h131
-rw-r--r--drivers/staging/epl/EplDllk.c3783
-rw-r--r--drivers/staging/epl/EplDllkCal.c1193
-rw-r--r--drivers/staging/epl/EplDlluCal.c534
-rw-r--r--drivers/staging/epl/EplErrDef.h302
-rw-r--r--drivers/staging/epl/EplErrorHandlerk.c800
-rw-r--r--drivers/staging/epl/EplEvent.h303
-rw-r--r--drivers/staging/epl/EplEventk.c858
-rw-r--r--drivers/staging/epl/EplEventu.c813
-rw-r--r--drivers/staging/epl/EplFrame.h374
-rw-r--r--drivers/staging/epl/EplIdentu.c497
-rw-r--r--drivers/staging/epl/EplInc.h398
-rw-r--r--drivers/staging/epl/EplInstDef.h386
-rw-r--r--drivers/staging/epl/EplLed.h104
-rw-r--r--drivers/staging/epl/EplNmt.h248
-rw-r--r--drivers/staging/epl/EplNmtCnu.c691
-rw-r--r--drivers/staging/epl/EplNmtMnu.c2798
-rw-r--r--drivers/staging/epl/EplNmtk.c1750
-rw-r--r--drivers/staging/epl/EplNmtkCal.c157
-rw-r--r--drivers/staging/epl/EplNmtu.c681
-rw-r--r--drivers/staging/epl/EplNmtuCal.c164
-rw-r--r--drivers/staging/epl/EplObd.c3505
-rw-r--r--drivers/staging/epl/EplObd.h504
-rw-r--r--drivers/staging/epl/EplObdMacro.h362
-rw-r--r--drivers/staging/epl/EplObdkCal.c154
-rw-r--r--drivers/staging/epl/EplObdu.c512
-rw-r--r--drivers/staging/epl/EplObduCal.c562
-rw-r--r--drivers/staging/epl/EplObjDef.h220
-rw-r--r--drivers/staging/epl/EplPdo.h126
-rw-r--r--drivers/staging/epl/EplPdok.c692
-rw-r--r--drivers/staging/epl/EplPdokCal.c274
-rw-r--r--drivers/staging/epl/EplPdou.c608
-rw-r--r--drivers/staging/epl/EplSdo.h271
-rw-r--r--drivers/staging/epl/EplSdoAc.h113
-rw-r--r--drivers/staging/epl/EplSdoAsndu.c509
-rw-r--r--drivers/staging/epl/EplSdoAsySequ.c2401
-rw-r--r--drivers/staging/epl/EplSdoComu.c3029
-rw-r--r--drivers/staging/epl/EplSdoUdpu.c821
-rw-r--r--drivers/staging/epl/EplStatusu.c387
-rw-r--r--drivers/staging/epl/EplTarget.h240
-rw-r--r--drivers/staging/epl/EplTimer.h125
-rw-r--r--drivers/staging/epl/EplTimeruLinuxKernel.c472
-rw-r--r--drivers/staging/epl/EplTimeruNull.c323
-rw-r--r--drivers/staging/epl/EplTimeruWin32.c551
-rw-r--r--drivers/staging/epl/EplVersion.h100
-rw-r--r--drivers/staging/epl/Kconfig6
-rw-r--r--drivers/staging/epl/Makefile41
-rw-r--r--drivers/staging/epl/SharedBuff.c2041
-rw-r--r--drivers/staging/epl/SharedBuff.h183
-rw-r--r--drivers/staging/epl/ShbIpc-LinuxKernel.c1031
-rw-r--r--drivers/staging/epl/ShbIpc-Win32.c1328
-rw-r--r--drivers/staging/epl/ShbIpc.h120
-rw-r--r--drivers/staging/epl/ShbLinuxKernel.h68
-rw-r--r--drivers/staging/epl/SocketLinuxKernel.c210
-rw-r--r--drivers/staging/epl/SocketLinuxKernel.h108
-rw-r--r--drivers/staging/epl/TimerHighReskX86.c555
-rw-r--r--drivers/staging/epl/VirtualEthernetLinux.c358
-rw-r--r--drivers/staging/epl/amix86.c945
-rw-r--r--drivers/staging/epl/demo_main.c937
-rw-r--r--drivers/staging/epl/edrv.h183
-rw-r--r--drivers/staging/epl/global.h1468
-rw-r--r--drivers/staging/epl/kernel/EplDllk.h171
-rw-r--r--drivers/staging/epl/kernel/EplDllkCal.h136
-rw-r--r--drivers/staging/epl/kernel/EplErrorHandlerk.h104
-rw-r--r--drivers/staging/epl/kernel/EplEventk.h114
-rw-r--r--drivers/staging/epl/kernel/EplNmtk.h110
-rw-r--r--drivers/staging/epl/kernel/EplNmtkCal.h96
-rw-r--r--drivers/staging/epl/kernel/EplObdk.h196
-rw-r--r--drivers/staging/epl/kernel/EplObdkCal.h96
-rw-r--r--drivers/staging/epl/kernel/EplPdok.h116
-rw-r--r--drivers/staging/epl/kernel/EplPdokCal.h106
-rw-r--r--drivers/staging/epl/kernel/EplTimerHighResk.h112
-rw-r--r--drivers/staging/epl/kernel/EplTimerk.h122
-rw-r--r--drivers/staging/epl/kernel/VirtualEthernet.h101
-rw-r--r--drivers/staging/epl/proc_fs.c420
-rw-r--r--drivers/staging/epl/proc_fs.h94
-rw-r--r--drivers/staging/epl/user/EplCfgMau.h299
-rw-r--r--drivers/staging/epl/user/EplDllu.h108
-rw-r--r--drivers/staging/epl/user/EplDlluCal.h120
-rw-r--r--drivers/staging/epl/user/EplEventu.h115
-rw-r--r--drivers/staging/epl/user/EplIdentu.h113
-rw-r--r--drivers/staging/epl/user/EplLedu.h116
-rw-r--r--drivers/staging/epl/user/EplNmtCnu.h112
-rw-r--r--drivers/staging/epl/user/EplNmtMnu.h136
-rw-r--r--drivers/staging/epl/user/EplNmtu.h161
-rw-r--r--drivers/staging/epl/user/EplNmtuCal.h97
-rw-r--r--drivers/staging/epl/user/EplObdu.h196
-rw-r--r--drivers/staging/epl/user/EplObduCal.h148
-rw-r--r--drivers/staging/epl/user/EplPdou.h114
-rw-r--r--drivers/staging/epl/user/EplSdoAsndu.h113
-rw-r--r--drivers/staging/epl/user/EplSdoAsySequ.h123
-rw-r--r--drivers/staging/epl/user/EplSdoComu.h135
-rw-r--r--drivers/staging/epl/user/EplSdoUdpu.h114
-rw-r--r--drivers/staging/epl/user/EplStatusu.h109
-rw-r--r--drivers/staging/epl/user/EplTimeru.h113
112 files changed, 56534 insertions, 0 deletions
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index 15f2b1148df..c06397139ae 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -91,5 +91,7 @@ source "drivers/staging/mimio/Kconfig"
source "drivers/staging/frontier/Kconfig"
+source "drivers/staging/epl/Kconfig"
+
endif # !STAGING_EXCLUDE_BUILD
endif # STAGING
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index d33803092b6..53478e84d1d 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -28,3 +28,4 @@ obj-$(CONFIG_RTL8187SE) += rtl8187se/
obj-$(CONFIG_USB_RSPI) += rspiusb/
obj-$(CONFIG_INPUT_MIMIO) += mimio/
obj-$(CONFIG_TRANZPORT) += frontier/
+obj-$(CONFIG_EPL) += epl/
diff --git a/drivers/staging/epl/Benchmark.h b/drivers/staging/epl/Benchmark.h
new file mode 100644
index 00000000000..681c1d9e323
--- /dev/null
+++ b/drivers/staging/epl/Benchmark.h
@@ -0,0 +1,443 @@
+/****************************************************************************
+
+ (c) SYSTEC electronic GmbH, D-07973 Greiz, August-Bebel-Str. 29
+ www.systec-electronic.com
+
+ Project: openPOWERLINK
+
+ Description: header file for benchmarking
+
+ License:
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ 1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of SYSTEC electronic GmbH nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without prior written permission. For written
+ permission, please contact info@systec-electronic.com.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+
+ Severability Clause:
+
+ If a provision of this License is or becomes illegal, invalid or
+ unenforceable in any jurisdiction, that shall not affect:
+ 1. the validity or enforceability in that jurisdiction of any other
+ provision of this License; or
+ 2. the validity or enforceability in other jurisdictions of that or
+ any other provision of this License.
+
+ -------------------------------------------------------------------------
+
+ $RCSfile: Benchmark.h,v $
+
+ $Author: D.Krueger $
+
+ $Revision: 1.5 $ $Date: 2008/04/17 21:36:32 $
+
+ $State: Exp $
+
+ Build Environment:
+ ...
+
+ -------------------------------------------------------------------------
+
+ Revision History:
+
+ 2006/08/16 d.k.: start of implementation
+
+****************************************************************************/
+
+#ifndef _BENCHMARK_H_
+#define _BENCHMARK_H_
+
+#include "global.h"
+
+
+#if (TARGET_SYSTEM == _NO_OS_) && (DEV_SYSTEM == _DEV_GNU_CF548X_)
+ #include "common.h"
+
+#elif (TARGET_SYSTEM == _LINUX_) && defined(__KERNEL__)
+
+// #include <linux/config.h>
+ #include <linux/kernel.h>
+
+ #ifdef CONFIG_COLDFIRE
+ #include <asm/coldfire.h>
+ #include <asm/m5485gpio.h>
+
+ #define BENCHMARK_SET(x) MCF_GPIO_PODR_PCIBG |= (1 << (x)) // (x+1)
+ #define BENCHMARK_RESET(x) MCF_GPIO_PODR_PCIBG &= ~(1 << (x)) // (x+1)
+ #define BENCHMARK_TOGGLE(x) MCF_GPIO_PODR_PCIBR ^= (1 << (x - 5))
+ #else
+ #undef BENCHMARK_MODULES
+ #define BENCHMARK_MODULES 0x00000000
+ #endif
+
+#else
+ // disable Benchmarking
+ #undef BENCHMARK_MODULES
+ #define BENCHMARK_MODULES 0x00000000
+#endif
+
+/***************************************************************************/
+/* */
+/* */
+/* G L O B A L D E F I N I T I O N S */
+/* */
+/* */
+/***************************************************************************/
+
+//---------------------------------------------------------------------------
+// const defines
+//---------------------------------------------------------------------------
+
+#ifndef BENCHMARK_MODULES
+#define BENCHMARK_MODULES 0x00000000
+#endif
+
+#define BENCHMARK_MOD_01 0x00000001
+#define BENCHMARK_MOD_02 0x00000002
+#define BENCHMARK_MOD_03 0x00000004
+#define BENCHMARK_MOD_04 0x00000008
+#define BENCHMARK_MOD_05 0x00000010
+#define BENCHMARK_MOD_06 0x00000020
+#define BENCHMARK_MOD_07 0x00000040
+#define BENCHMARK_MOD_08 0x00000080
+#define BENCHMARK_MOD_09 0x00000100
+#d