578 lines
13 KiB
Plaintext
578 lines
13 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
comment "General Ethernet MAC Driver Options"
|
|
|
|
config NETDEV_LOOPBACK
|
|
bool
|
|
default n if !NET_LOOPBACK
|
|
default y if NET_LOOPBACK
|
|
select ARCH_HAVE_NETDEV_STATISTICS
|
|
---help---
|
|
Add support for the local network loopback device, lo.
|
|
|
|
if NETDEV_LOOPBACK
|
|
endif # NETDEV_LOOPBACK
|
|
|
|
config NETDEV_TELNET
|
|
bool "Telnet driver"
|
|
default n
|
|
depends on NET && NET_TCP
|
|
---help---
|
|
The Telnet driver generates a character driver instance to support a
|
|
Telnet session. This driver is used by the Telnet daemon. The
|
|
Telnet daemon will instantiate a new Telnet driver to support
|
|
standard I/O on the new Telnet session.
|
|
|
|
if NETDEV_TELNET
|
|
|
|
config TELNET_RXBUFFER_SIZE
|
|
int "Telnet RX buffer size"
|
|
default 256
|
|
|
|
config TELNET_TXBUFFER_SIZE
|
|
int "Telnet TX buffer size"
|
|
default 256
|
|
|
|
config TELNET_DUMPBUFFER
|
|
bool "Dump Telnet buffers"
|
|
default n
|
|
depends on DEBUG_NET
|
|
|
|
config TELNET_CHARACTER_MODE
|
|
bool "Character mode"
|
|
default n
|
|
---help---
|
|
The Telnet daemon works in character mode. In this case, the deamon
|
|
will echo a character which telnet client sent. By default, it works
|
|
in line mode.
|
|
|
|
endif # NETDEV_TELNET
|
|
|
|
config ARCH_HAVE_NETDEV_STATISTICS
|
|
bool
|
|
default n
|
|
|
|
config NETDEV_STATISTICS
|
|
bool "Network device driver statistics"
|
|
depends on NET_STATISTICS && ARCH_HAVE_NETDEV_STATISTICS
|
|
---help---
|
|
Enable to collect statistics from the network drivers (if supported
|
|
by the network driver).
|
|
|
|
config NETDEV_LATEINIT
|
|
bool "Late driver initialization"
|
|
default n
|
|
---help---
|
|
Normally, networking initialization occur in the later phase of the
|
|
boot process in the function up_initialize() when it calls the
|
|
driver initialization function, up_netintialize(). This
|
|
initialization occurs after a sufficient about of the OS has been
|
|
initialized so that driver registration can be performed, but
|
|
before the completion of OS initialization and before the first
|
|
application is started.
|
|
|
|
In a few situations, however, you may want to suppress this early
|
|
network driver initialization. As examples:
|
|
|
|
- If you are using SLIP or PPPD, then there will be no network
|
|
driver to be initialized,
|
|
- Certain multi-network configurations where a simple call to
|
|
up_netinitialize() may be insufficient, and
|
|
- Situations where there are other board-level hardware
|
|
dependencies so that the hardware is not in an appropriate
|
|
state for up_netinitialize() to be called.
|
|
|
|
Examples of this latter situation includes such things as network
|
|
drivers that required some setup via an I2C I/O expander, or network
|
|
drivers that depend on USB, SPI, I2C, PCI, serial, or other
|
|
interfaces that may not be ready when up_netiniailize() is normally
|
|
called.
|
|
|
|
config NET_DUMPPACKET
|
|
bool "Enable packet dumping"
|
|
depends on DEBUG_FEATURES
|
|
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 CONFIG_DEBUG_FEATURES.
|
|
|
|
comment "External Ethernet MAC Device Support"
|
|
|
|
menuconfig NET_DM90x0
|
|
bool "Davicom dm9000/dm9010 support"
|
|
default n
|
|
select ARCH_HAVE_NETDEV_STATISTICS
|
|
---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 "Autonegotiation"
|
|
|
|
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 "Number of DM90x0 interfaces"
|
|
default 1
|
|
depends on EXPERIMENTAL
|
|
|
|
choice
|
|
prompt "Work queue"
|
|
default DM9X_LPWORK if SCHED_LPWORK
|
|
default DM9X_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
|
|
depends on SCHED_WORKQUEUE
|
|
---help---
|
|
Work queue support is required to use the Ethernet driver. If the
|
|
low priority work queue is available, then it should be used by the
|
|
driver.
|
|
|
|
config DM9X_HPWORK
|
|
bool "High priority"
|
|
depends on SCHED_HPWORK
|
|
|
|
config DM9X_LPWORK
|
|
bool "Low priority"
|
|
depends on SCHED_LPWORK
|
|
|
|
endchoice # Work queue
|
|
|
|
endif # NET_DM90x0
|
|
|
|
menuconfig ENC28J60
|
|
bool "Microchip ENC28J60 support"
|
|
default n
|
|
select SPI
|
|
select ARCH_HAVE_NETDEV_STATISTICS
|
|
---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
|
|
|
|
choice
|
|
prompt "Work queue"
|
|
default ENC28J60_LPWORK if SCHED_LPWORK
|
|
default ENC28J60_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
|
|
depends on SCHED_WORKQUEUE
|
|
---help---
|
|
Work queue support is required to use the ENC28J60 driver. If the
|
|
low priority work queue is available, then it should be used by the
|
|
ENC28J60 driver.
|
|
|
|
config ENC28J60_HPWORK
|
|
bool "High priority"
|
|
depends on SCHED_HPWORK
|
|
|
|
config ENC28J60_LPWORK
|
|
bool "Low priority"
|
|
depends on SCHED_LPWORK
|
|
|
|
endchoice # Work queue
|
|
|
|
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_FEATURES && DEBUG_NET
|
|
---help---
|
|
Enable very low-level register access debug. Depends on
|
|
CONFIG_DEBUG_FEATURES and CONFIG_DEBUG_NET.
|
|
|
|
endif # ENC28J60
|
|
|
|
menuconfig ENCX24J600
|
|
bool "Microchip ENCX24J600 support"
|
|
default n
|
|
select SPI
|
|
select ARCH_HAVE_NETDEV_STATISTICS
|
|
---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 simutaneously
|
|
|
|
choice
|
|
prompt "Work queue"
|
|
default ENCX24J600_LPWORK if SCHED_LPWORK
|
|
default ENCX24J600_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
|
|
depends on SCHED_WORKQUEUE
|
|
---help---
|
|
Work queue support is required to use the ENCX24J600 driver. If the
|
|
low priority work queue is available, then it should be used by the
|
|
ENCX24J600 driver.
|
|
|
|
config ENCX24J600_HPWORK
|
|
bool "High priority"
|
|
depends on SCHED_HPWORK
|
|
|
|
config ENCX24J600_LPWORK
|
|
bool "Low priority"
|
|
depends on SCHED_LPWORK
|
|
|
|
endchoice # Work queue
|
|
|
|
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_FEATURES && DEBUG_NET
|
|
---help---
|
|
Enable very low-level register access debug. Depends on
|
|
CONFIG_DEBUG_FEATURES and CONFIG_DEBUG_NET.
|
|
|
|
endif # ENCX24J600
|
|
|
|
menuconfig NET_SLIP
|
|
bool "SLIP (serial line) support"
|
|
default n
|
|
select ARCH_HAVE_NETDEV_STATISTICS
|
|
---help---
|
|
Reference: RFC 1055
|
|
|
|
if NET_SLIP
|
|
|
|
config NET_SLIP_STACKSIZE
|
|
int "Daemon stack size"
|
|
default 2048
|
|
---help---
|
|
Provides the stack size for SLIP RX and TX.
|
|
|
|
config NET_SLIP_DEFPRIO
|
|
int "Daemon priority"
|
|
default 128
|
|
---help---
|
|
Provides the priority for SLIP RX and TX threads.
|
|
|
|
config NET_SLIP_NINTERFACES
|
|
int "Number of SLIP interfaces"
|
|
default 1
|
|
---help---
|
|
Determines the number of physical interfaces that will be supported.
|
|
|
|
endif
|
|
|
|
menuconfig NET_FTMAC100
|
|
bool "Faraday 10/100 Ethernet"
|
|
default n
|
|
---help---
|
|
Faraday 10/100 Ethernet support.
|
|
|
|
if NET_FTMAC100
|
|
|
|
config FTMAC100_BASE
|
|
hex "FTMAC100 base address"
|
|
default 0x0
|
|
|
|
config FTMAC100_IRQ
|
|
int "FTMAC100 IRQ number"
|
|
default 0
|
|
|
|
config FTMAC100_RX_DESC
|
|
int "Number of RX descriptors"
|
|
default 64
|
|
|
|
config FTMAC100_TX_DESC
|
|
int "Number of TX descriptors"
|
|
default 32
|
|
|
|
config FTMAC100_MAC0_ENV_ADDR
|
|
hex "MAC0 address location"
|
|
default 0
|
|
|
|
choice
|
|
prompt "Work queue"
|
|
default FTMAC100_LPWORK if SCHED_LPWORK
|
|
default FTMAC100_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
|
|
depends on SCHED_WORKQUEUE
|
|
---help---
|
|
Work queue support is required to use the FTMAC100 driver. If the
|
|
low priority work queue is available, then it should be used by the
|
|
FTMAC100 driver.
|
|
|
|
config FTMAC100_HPWORK
|
|
bool "High priority"
|
|
depends on SCHED_HPWORK
|
|
|
|
config FTMAC100_LPWORK
|
|
bool "Low priority"
|
|
depends on SCHED_LPWORK
|
|
|
|
endchoice # Work queue
|
|
|
|
endif # NET_FTMAC100
|
|
|
|
menuconfig NET_LAN91C111
|
|
bool "Microchip LAN91C111 Support"
|
|
select ARCH_HAVE_NETDEV_STATISTICS
|
|
---help---
|
|
References:
|
|
LAN91C111 Data Sheet, 10/100 Non-PCI Ethernet Single Chip MAC + PHY
|
|
DS00002276A, 2016 Microchip Technology Inc.
|
|
|
|
if NET_LAN91C111
|
|
|
|
choice
|
|
prompt "Work queue"
|
|
default LAN91C111_LPWORK if SCHED_LPWORK
|
|
default LAN91C111_HPWORK if !SCHED_LPWORK && SCHED_HPWORK
|
|
depends on SCHED_WORKQUEUE
|
|
---help---
|
|
Work queue support is required to use the Ethernet driver. If the
|
|
low priority work queue is available, then it should be used by the
|
|
driver.
|
|
|
|
config LAN91C111_HPWORK
|
|
bool "High priority"
|
|
depends on SCHED_HPWORK
|
|
|
|
config LAN91C111_LPWORK
|
|
bool "Low priority"
|
|
depends on SCHED_LPWORK
|
|
|
|
endchoice # Work queue
|
|
|
|
endif # NET_LAN91C111
|
|
|
|
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_KSZ8041
|
|
bool "Micrel KSZ8041 PHY"
|
|
|
|
config ETH0_PHY_KSZ8051
|
|
bool "Micrel KSZ8051 PHY"
|
|
|
|
config ETH0_PHY_KSZ8061
|
|
bool "Micrel KSZ8061 PHY"
|
|
|
|
config ETH0_PHY_KSZ8081
|
|
bool "Micrel KSZ8081 PHY"
|
|
|
|
config ETH0_PHY_KSZ90x1
|
|
bool "Micrel KSZ9021/31 PHY"
|
|
|
|
config ETH0_PHY_DP83848C
|
|
bool "National Semiconductor DP83848C PHY"
|
|
|
|
config ETH0_PHY_LAN8720
|
|
bool "SMSC LAN8720 PHY"
|
|
|
|
config ETH0_PHY_LAN8740
|
|
bool "SMSC LAN8740 PHY"
|
|
|
|
config ETH0_PHY_LAN8740A
|
|
bool "SMSC LAN8740A PHY"
|
|
|
|
config ETH0_PHY_LAN8742A
|
|
bool "SMSC LAN8742A PHY"
|
|
|
|
config ETH0_PHY_DM9161
|
|
bool "Davicom DM9161 PHY"
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Board PHY Selection (ETH1)"
|
|
default ETH1_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 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_KSZ8041
|
|
bool "Micrel KSZ8041 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 Semiconductor 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_FEATURES
|
|
---help---
|
|
Normally debug output is controlled by DEBUG_NET. However, that
|
|
may generate a LOT of debug output, especially if CONFIG_DEBUG_INFO is
|
|
also selected. This option is intended to force VERVOSE debug
|
|
output from certain PHY-related even if DEBUG_NET or CONFIG_DEBUG_INFO
|
|
are not selected. This allows for focused, unit-level debug of
|
|
the NSH network initialization logic.
|
|
|
|
endif # ARCH_HAVE_PHY
|