1comment "openpowerlink needs a toolchain w/ C++, threads"
2	depends on BR2_i386 || BR2_x86_64
3	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
4
5config BR2_PACKAGE_OPENPOWERLINK
6	bool "openpowerlink"
7	depends on BR2_INSTALL_LIBSTDCPP
8	depends on BR2_TOOLCHAIN_HAS_THREADS
9	depends on BR2_i386 || BR2_x86_64
10	help
11	  openPOWERLINK is an Open Source Industrial Ethernet stack
12	  implementing the POWERLINK protocol for Managing Node (MN,
13	  POWERLINK Master) and Controlled Node (CN, POWERLINK Slave).
14
15	  It is provided by
16	  SYSTEC electronic (http://www.systec-electronic.com),
17	  B&R (http://www.br-automation.com) and
18	  Kalycito (http://www.kalycito.com).
19
20	  http://openpowerlink.sourceforge.net/web/
21
22if BR2_PACKAGE_OPENPOWERLINK
23
24choice
25	prompt "MN/CN mode"
26
27config BR2_PACKAGE_OPENPOWERLINK_MN
28	bool "Managing Node"
29	help
30	  Enable Managing Node (master) mode
31
32config BR2_PACKAGE_OPENPOWERLINK_CN
33	bool "Controlled Node"
34	help
35	  Enable Controlled Node (slave) mode
36
37endchoice
38
39choice
40	prompt "stack type"
41	default BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB if BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE # legacy
42	default BR2_PACKAGE_OPENPOWERLINK_STACK_USERSPACE_DAEMON_LIB if BR2_PACKAGE_OPENPOWERLINK_LIBPCAP # legacy
43
44config BR2_PACKAGE_OPENPOWERLINK_STACK_MONOLITHIC_USER_STACK_LIB
45	bool "linked into application"
46	select BR2_PACKAGE_LIBPCAP
47	help
48	  Compile a monolithic openPOWERLINK library. The library
49	  contains an Ethernet driver which is using the PCAP library
50	  for accessing the network. No kernel-side driver is needed.
51
52config BR2_PACKAGE_OPENPOWERLINK_STACK_USERSPACE_DAEMON_LIB
53	bool "user-space pcap daemon"
54	select BR2_PACKAGE_LIBPCAP
55	help
56	  Compile openPOWERLINK application library which contains the
57	  interface to a Linux user space driver, and the Linux user
58	  space driver. It is used for implementing a multi-process
59	  solution where the openPOWERLINK layer is running as a
60	  separate Linux user space daemon (i.e. a PCAP based user
61	  space daemon).  No kernel-side stack is needed.
62
63config BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB
64	bool "kernel-space driver"
65	depends on BR2_LINUX_KERNEL
66	help
67	  Compile openPOWERLINK application library which contains the
68	  interface to a Linux kernel space driver. This will also
69	  build and install a Linux kernel module openPOWERLINK
70	  driver.
71
72config BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_PCIE_STACK_LIB
73	bool "kernel-space PCIe driver"
74	depends on BR2_LINUX_KERNEL
75	depends on BR2_PACKAGE_OPENPOWERLINK_MN # MN support only
76	help
77	  Compile openPOWERLINK application library which contains the
78	  interface to a Linux kernel PCIe interface driver. The kernel
79	  part of the openPOWERLINK stack is located on an external PCIe
80	  device. The status/control and data exchange between the
81	  application and kernel stack is handled by the PCIe interface
82	  driver.
83
84comment "openpowerlink kernel stack needs a Linux kernel to be built"
85	depends on !BR2_LINUX_KERNEL
86
87endchoice
88
89if BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB
90
91menu "Ethernet drivers"
92
93config BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_82573
94	bool "Intel 82573"
95	default y
96
97config BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_8255x
98	bool "Intel 8255x"
99
100config BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_I210
101	bool "Intel I210"
102
103config BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_RTL8111
104	bool "Realtek RTL-8111/8168"
105
106config BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_RTL8139
107	bool "Realtek RTL-8139"
108
109endmenu
110
111endif # BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB
112
113config BR2_PACKAGE_OPENPOWERLINK_KERNEL_PCIE_DRIVER
114	bool "PCIe Powerlink Driver"
115	depends on BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_PCIE_STACK_LIB
116
117menu "demos"
118
119config BR2_PACKAGE_OPENPOWERLINK_DEMO_MN_CONSOLE
120	bool "console MN demo"
121	depends on BR2_PACKAGE_OPENPOWERLINK_MN
122
123config BR2_PACKAGE_OPENPOWERLINK_DEMO_CN_CONSOLE
124	bool "console CN demo"
125	depends on BR2_PACKAGE_OPENPOWERLINK_CN
126
127endmenu
128
129endif # BR2_PACKAGE_OPENPOWERLINK
130