nuttx/drivers/net/Kconfig

366 lines
7.5 KiB
Plaintext

#
# 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