summaryrefslogtreecommitdiff
path: root/nuttx/drivers/net/Kconfig
blob: 4a122789266178bf966bc80d05c1f437e804f81b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#

comment "General Ethernet MAC Driver Options"

config NETDEV_MULTINIC
	bool "Multiple NIC support"
	default n
	---help---
		Select this option if you board and/or MCU are capable of supporting
		multiple Ethernet MAC drivers.

config NET_DUMPPACKET
	bool "Enable packet dumping"
	depends on DEBUG
	default n
	---help---
		Some Ethernet MAC drivers supporting dumping of received and
		transmitted packets as a debug option.  This setting enables that
		debug option. Also needs DEBUG.

comment "External Ethernet MAC Device Support"

config NET_DM90x0
	bool "Davicom dm9000/dm9010 support"
	default n
	---help---
		References: Davicom data sheets (DM9000-DS-F03-041906.pdf,
		DM9010-DS-F01-103006.pdf) and looking at lots of other DM90x0
		drivers.

if NET_DM90x0

config DM9X_BASE
	hex "DM90x0 base address"
	default 0x0

config DM9X_IRQ
	int "DM90x0 IRQ number"
	default 0

choice
	prompt "DM90x0 bus width"
	default DM9X_BUSWIDTH16

config DM9X_BUSWIDTH8
	bool "8-bits"

config DM9X_BUSWIDTH16
	bool "16-bits"

config DM9X_BUSWIDTH32
	bool "32-bits"

endchoice # DM90x0 bus width

config DM9X_CHECKSUM
	bool "Checksum enable"
	default n

config DM9X_ETRANS
	bool "TX poll"
	default n

choice
	prompt "DM90x0 mode"
	default DM9X_MODE_AUTO

config DM9X_MODE_AUTO
	bool "Autonegotion"

config DM9X_MODE_10MHD
	bool "10BaseT half duplex"

config DM9X_MODE_10MFD
	bool "10BaseT full duplex"

config DM9X_MODE_100MHD
	bool "100BaseT half duplex"

config DM9X_MODE_100MFD
	bool "100BaseT full duplex"

endchoice # DM90x0 mode

config DM9X_NINTERFACES
	int "Nubmer of DM90x0 interfaces"
	default 1
	depends on EXPERIMENTAL

config DM9X_STATS
	bool "DM90x0 statistics"
	default n

endif #  NET_DM90x0

config NET_CS89x0
	bool "CS89x0 support"
	default n
	depends on EXPERIMENTAL
	---help---
	Under construction -- do not use

config ENC28J60
	bool "Microchip ENC28J60 support"
	default n
	select SPI
	---help---
		References:
		ENC28J60 Data Sheet, Stand-Alone Ethernet Controller with SPI Interface,
		DS39662C, 2008 Microchip Technology Inc.

if ENC28J60
config ENC28J60_NINTERFACES
	int "Number of physical ENC28J60"
	default 1
	range 1,1
	---help---
		Specifies the number of physical ENC28J60
		devices that will be supported.

config ENC28J60_SPIMODE
	int "SPI mode"
	default 0
	---help---
		Controls the SPI mode.  The ENC28J60 spec says that it supports SPI
		mode 0,0 only: "The implementation used on this device supports SPI
		mode 0,0 only. In addition, the SPI port requires that SCK be at Idle
		in a low state; selectable clock polarity is not supported."
		However, sometimes you need to tinker with these things.

config ENC28J60_FREQUENCY
	int "SPI frequency"
	default 20000000
	---help---
		Define to use a different bus frequency

config ENC28J60_STATS
	bool "Network statistics support"
	default n
	---help---
		Collect network statistics

config ENC28J60_HALFDUPPLEX
	bool "Enable half dupplex"
	default n
	---help---
		Default is full duplex

config ENC28J60_DUMPPACKET
	bool "Dump Packets"
	default n
	---help---
		If selected, the ENC28J60 driver  will dump the contents of each
		packet to the console.

config ENC28J60_REGDEBUG
	bool "Register-Level Debug"
	default n
	depends on DEBUG && DEBUG_NET
	---help---
		Enable very low-level register access debug.  Depends on DEBUG and DEBUG_NET.

endif

config ENCX24J600
	bool "Microchip ENCX24J600 support"
	default n
	select SPI
	select NET_RXAVAIL
	---help---
		References:
		ENC424J600/624J600 Data Sheet Stand-Alone 10/100 Ethernet Controller
		with SPI or Parallel Interface DS39935B, 2009 Microchip Technology Inc.

if ENCX24J600
config ENC28J60_NINTERFACES
	int "Number of physical ENCX24J600"
	default 1
	range 1,1
	---help---
		Specifies the number of physical ENCX24J600
		devices that will be supported.

config ENCX24J600_SPIMODE
	int "SPI mode"
	default 0
	---help---
		Controls the SPI mode.  The ENCX24J600 spec says that it supports SPI
		mode 0,0 only: "The implementation used on this device supports SPI
		mode 0,0 only. In addition, the SPI port requires that SCK be at Idle
		in a low state; selectable clock polarity is not supported."
		However, sometimes you need to tinker with these things.

config ENCX24J600_FREQUENCY
	int "SPI frequency"
	default 14000000
	---help---
		Define to use a different bus frequency

config ENCX24J600_NRXDESCR
	int "Descriptor Count"
	default 8
	---help---
		Defines how many descriptors are preallocated for the
		transmission and reception queues.
		The ENC has a relative large packet buffer of 24kB which can
		be used to buffer multiple packets silmutaneously

config ENCX24J600_STATS
	bool "Network statistics support"
	default n
	---help---
		Collect network statistics

config ENCX24J600_DUMPPACKET
	bool "Dump Packets"
	default n
	---help---
		If selected, the ENCX24J600 driver  will dump the contents of each
		packet to the console.

config ENCX24J600_REGDEBUG
	bool "Register-Level Debug"
	default n
	depends on DEBUG && DEBUG_NET
	---help---
		Enable very low-level register access debug.  Depends on DEBUG and DEBUG_NET.

endif

config NET_E1000
	bool "E1000 support"
	default n

if NET_E1000

config E1000_N_TX_DESC
	int "Number of TX descriptors"
	default 128

config E1000_N_RX_DESC
	int "Number of RX descriptors"
	default 128

config E1000_BUFF_SIZE
	int "Buffer size"
	default 2048

endif # NET_E1000

config NET_SLIP
	bool "SLIP (serial line) support"
	default n
	---help---
		Reference: RFC 1055

config NET_VNET
	bool "VNET support"
	default n

if NET_VNET

config VNET_NINTERFACES
	int "Number of VNET interfaces"
	default 1

endif # NET_VNET

if ARCH_HAVE_PHY

comment "External Ethernet PHY Device Support"

config ARCH_PHY_INTERRUPT
	bool
	default n

choice
	prompt "Board PHY Selection (ETH0)"
	default ETH0_PHY_NONE
	---help---
		Identify the PHY on your board.  This setting is not used by all Ethernet
		drivers nor do all Ethernet drivers support all PHYs.

config ETH0_PHY_NONE
	bool "No PHY support"

config ETH0_PHY_AM79C874
	bool "AMD Am79C874 PHY"

config ETH0_PHY_KS8721
	bool "Micrel KS8721 PHY"

config ETH0_PHY_KSZ8051
	bool "Micrel KSZ8051 PHY"

config ETH0_PHY_KSZ8081
	bool "Micrel KSZ8081 PHY"

config ETH0_PHY_KSZ90x1
	bool "Micrel KSZ9021/31 PHY"

config ETH0_PHY_DP83848C
	bool "National Semiconduction DP83848C PHY"

config ETH0_PHY_LAN8720
	bool "SMSC LAN8720 PHY"

config ETH0_PHY_DM9161
	bool "Davicom DM9161 PHY"

endchoice

choice
	prompt "Board PHY Selection (ETH1)"
	default ETH1_PHY_NONE
	depends on NETDEV_MULTINIC
	---help---
		Identify the PHY on your board.  This setting is not used by all Ethernet
		drivers nor do all Ethernet drivers support all PHYs.

config ETH1_PHY_NONE
	bool "No PHY support"

config ETH1_PHY_AM79C874
	 bool "AMD Am79C874 PHY"

config ETH1_PHY_KS8721
	bool "Micrel KS8721 PHY"

config ETH1_PHY_KSZ8051
	bool "Micrel KSZ8051 PHY"

config ETH1_PHY_KSZ8081
	bool "Micrel KSZ8081 PHY"

config ETH1_PHY_KSZ90x1
	bool "Micrel KSZ9021/31 PHY"

config ETH1_PHY_DP83848C
	bool "National Semiconduction DP83848C PHY"

config ETH1_PHY_LAN8720
	bool "SMSC LAN8720 PHY"

config ETH1_PHY_DM9161
	bool "Davicom DM9161 PHY"

endchoice

config NETDEV_PHY_DEBUG
	bool "PHY debug"
	default n
	depends on DEBUG
	---help---
		Normally debug output is controlled by DEBUG_NET.  However, that
		may generate a LOT of debug output, especially if DEBUG_VERBOSE is
		also selected.  This option is intended to force VERVOSE debug
		output from certain PHY-related even if DEBUG_NET or DEBUG_VERBOSE
		are not selected.  This allows for focused, unit-level debug of
		the NSH network initialization logic.

endif # ARCH_HAVE_PHY