| # |
| # For a description of the syntax of this configuration file, |
| # see the file kconfig-language.txt in the NuttX tools repository. |
| # |
| |
| menuconfig NETDEVICES |
| bool "Network Device/PHY Support" |
| default y |
| depends on NET |
| ---help--- |
| Network interface driver and PHY selections. This options enables |
| selection of drivers for external Ethernet MAC chips. The majority |
| of MCUs, however, have built-in, internal Ethernet MAC peripherals |
| and that Ethernet support is selected in the MCU-specific |
| configuration menus. |
| |
| Most Ethernet MAC drivers, whether internal or external, will |
| require configuration of an external PHY device. That external PHY |
| device is also selected via this menu. |
| |
| if NETDEVICES |
| |
| comment "Upper-half Network Device Driver Options" |
| |
| choice |
| prompt "Netdev poll worker" |
| |
| config NETDEV_LPWORK_THREAD |
| bool "Use low-priority worker thread to do netdev poll" |
| depends on SCHED_LPWORK |
| |
| config NETDEV_HPWORK_THREAD |
| bool "Use high-priority worker thread to do netdev poll" |
| depends on SCHED_HPWORK |
| |
| config NETDEV_WORK_THREAD |
| bool "Use a dedicated work thread to do netdev poll" |
| |
| endchoice # Netdev poll worker |
| |
| config NETDEV_WORK_THREAD_POLLING_PERIOD |
| int "Polling period, the units are microseconds" |
| default 0 |
| depends on NETDEV_WORK_THREAD |
| ---help--- |
| Disable the txdone and rxready interrupt and use polling |
| period to receive packets when the value is not 0. |
| |
| config NETDEV_WORK_THREAD_PRIORITY |
| int "Priority of work poll thread" |
| default 100 |
| depends on NETDEV_WORK_THREAD |
| ---help--- |
| The priority of work poll thread in netdev. |
| |
| config NETDEV_WIRELESS_HANDLER |
| bool "Support wireless handler in upper-half driver" |
| default y |
| depends on NETDEV_WIRELESS_IOCTL |
| ---help--- |
| Enable the wireless handler support in upper-half driver. |
| |
| comment "General Ethernet MAC Driver Options" |
| |
| config NET_RPMSG_DRV |
| bool "RPMSG net driver" |
| depends on RPMSG |
| select ARCH_HAVE_NETDEV_STATISTICS |
| ---help--- |
| Use the RPMSG as net device, transfer packet between remoteproc. |
| |
| if NET_RPMSG_DRV |
| |
| config NET_RPMSG_PRIORITY |
| int "net prmsg priority" |
| default 100 |
| ---help--- |
| The priority for net rmpsg task. |
| |
| config NET_RPMSG_STACKSIZE |
| int "net RPMSG stack size" |
| default DEFAULT_TASK_STACKSIZE |
| ---help--- |
| The stack size allocated for the net RPMSG task. |
| |
| endif # NET_RPMSG_DRV |
| |
| 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_MAXLCLIENTS |
| int "Maximum Telnet clients" |
| default 8 |
| ---help--- |
| The maximum number of Telnet clients tasks is limited by this |
| number. This limitation is somewhat artificial since it only |
| determines the size of a fixed-size, preallocated, internal array. |
| |
| config TELNET_SUPPORT_NAWS |
| bool "Support NAWS (Negotiate About Window Size)" |
| default n |
| |
| config TELNET_DUMPBUFFER |
| bool "Dump Telnet buffers" |
| default n |
| depends on DEBUG_NET |
| |
| endif # NETDEV_TELNET |
| |
| 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 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 |
| |
| 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 |
| |
| 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 ENCX24J600_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 simultaneously |
| |
| 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_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 |
| |
| 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 |
| endif # NET_LAN91C111 |
| |
| menuconfig NET_SKELETON |
| bool "Skeleton network support" |
| default n |
| select ARCH_HAVE_NETDEV_STATISTICS |
| ---help--- |
| NuttX skeleton network driver |
| |
| if NET_SKELETON |
| config NET_SKELETON_IRQ |
| int "Skeleton IRQ number" |
| default 0 |
| |
| config NET_SKELETON_NINTERFACES |
| int "Number of physical skeleton devices" |
| default 1 |
| endif |
| |
| menuconfig NET_W5500 |
| bool "WIZnet W5500 Support" |
| default n |
| select SPI |
| select ARCH_HAVE_NETDEV_STATISTICS |
| ---help--- |
| References: |
| W5500 Datasheet, Version 1.0.9, 2013 WIZnet Co., Ltd. |
| |
| if NET_W5500 |
| |
| config NET_W5500_NINTERFACES |
| int "Number of physical W5500 devices" |
| default 1 |
| range 1 1 |
| ---help--- |
| Specifies the number of physical WIZnet W5500 |
| devices that will be supported. |
| |
| endif # W5500 |
| |
| config NET_KSZ9477 |
| bool "Management interface for ksz9477 ethernet switch" |
| default n |
| ---help--- |
| Support for Microchip/Micrel KSZ9477 managed switch. To use this, |
| one must also select the management interface (I2C / SPI) and |
| call the driver's init from board initialization code or from the |
| ethernet driver. |
| |
| choice |
| prompt "Management bus for the kzs9477 switch" |
| default NET_KSZ9477_I2C |
| depends on NET_KSZ9477 |
| ---help--- |
| Select the used management interface |
| |
| config NET_KSZ9477_I2C |
| bool "Use I2C management interface" |
| |
| config NET_KSZ9477_SPI |
| bool "Use SPI management interface" |
| |
| endchoice |
| |
| config NET_KSZ9477_PORT_VLAN |
| bool "Use simple port-based VLAN configuration by default" |
| depends on NET_KSZ9477 |
| default n |
| ---help--- |
| Set connections between switch ports by default at switch init. |
| For each port, set a bit mask indicating to which ports it is allowed |
| to forward packets. Bit 0 is for PHY1 port, bit 1 for PHY2 port etc. |
| |
| config NET_KSZ9477_PORT_VLAN_PHY1 |
| hex "Bitmask for PHY1 port connections" |
| depends on NET_KSZ9477_PORT_VLAN |
| default 0x1f |
| |
| config NET_KSZ9477_PORT_VLAN_PHY2 |
| hex "Bitmask for PHY2 port connections" |
| depends on NET_KSZ9477_PORT_VLAN |
| default 0x1f |
| |
| config NET_KSZ9477_PORT_VLAN_PHY3 |
| hex "Bitmask for PHY3 port connections" |
| depends on NET_KSZ9477_PORT_VLAN |
| default 0x1f |
| |
| config NET_KSZ9477_PORT_VLAN_PHY4 |
| hex "Bitmask for PHY4 port connections" |
| depends on NET_KSZ9477_PORT_VLAN |
| default 0x1f |
| |
| config NET_KSZ9477_PORT_VLAN_PHY5 |
| hex "Bitmask for PHY4 port connections" |
| depends on NET_KSZ9477_PORT_VLAN |
| default 0x1f |
| |
| config NET_KSZ9477_PORT_VLAN_RMII |
| hex "Bitmask for RMII port connections" |
| depends on NET_KSZ9477_PORT_VLAN |
| default 0x1f |
| |
| config NET_KSZ9477_PORT_VLAN_SGMII |
| hex "Bitmask for SGMII port connections" |
| depends on NET_KSZ9477_PORT_VLAN |
| default 0x1f |
| |
| config NET_KSZ9477_PORT_SNIFF |
| bool "Enable support for the port mirroring and snooping" |
| depends on NET_KSZ9477 |
| default n |
| ---help--- |
| Enables possibility to set rx/tx mirroring and sniffer port. |
| All the packets received on port A and/or transmitted on port B |
| can be mirrored on the sniffer port. |
| |
| menuconfig NET_LAN9250 |
| bool "Microchip LAN9250 support" |
| default n |
| select SPI |
| select ARCH_HAVE_NETDEV_STATISTICS |
| ---help--- |
| Enable LAN9250 SPI Ethernet driver. |
| |
| if NET_LAN9250 |
| |
| choice LAN9250_INTERFACE |
| prompt "Select interface" |
| default LAN9250_SPI |
| ---help--- |
| Select LAN9250 interface: SPI(4-line) or SQI(6-line). |
| |
| config LAN9250_SPI |
| bool "SPI" |
| |
| config LAN9250_SQI |
| bool "SQI" |
| endchoice |
| |
| config LAN9250_SPI_EXCLUSIVE |
| bool "SPI Exclusive" |
| default n |
| ---help--- |
| The SPI is exclusive for LAN9250. |
| |
| config LAN9250_SPIMODE |
| int "SPI mode" |
| default 0 |
| ---help--- |
| Controls the SPI mode. |
| |
| config LAN9250_FREQUENCY |
| int "SPI frequency" |
| default 10000000 |
| ---help--- |
| Define to use a different bus frequency. |
| |
| config LAN9250_HALFDUPPLEX |
| bool "Enable half duplex" |
| default n |
| ---help--- |
| Default is full duplex. |
| |
| config LAN9250_DUMPPACKET |
| bool "Dump Packets" |
| default n |
| ---help--- |
| If selected, the LAN9250 driver will dump the contents of each |
| packet to the console. |
| |
| config LAN9250_REGDEBUG |
| bool "Register-Level Debug" |
| default n |
| depends on DEBUG_FEATURES && DEBUG_NET |
| ---help--- |
| Enable very low-level register access debug. |
| |
| endif # NET_LAN9250 |
| |
| if ARCH_HAVE_PHY |
| |
| comment "External Ethernet PHY Device Support" |
| |
| 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_MULTI |
| bool "Multiple PHYs are supported" |
| ---help--- |
| The Board will provide a list of PHYs to probe for. |
| The first one found on the bpard will be used. |
| This setting is not supported by all Ethernet drivers. |
| |
| config ETH0_PHY_AM79C874 |
| bool "AMD Am79C874 PHY" |
| |
| config ETH0_PHY_AR8031 |
| bool "Atheros AR8031 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_DP83825I |
| bool "Texas Instruments DP83825I PHY" |
| |
| config ETH0_PHY_TJA1100 |
| bool "NXP TJA1100 PHY" |
| select ARCH_PHY_100BASE_T1 |
| |
| config ETH0_PHY_TJA1101 |
| bool "NXP TJA1101 PHY" |
| select ARCH_PHY_100BASE_T1 |
| |
| config ETH0_PHY_TJA1103 |
| bool "NXP TJA1103 PHY" |
| select ARCH_PHY_100BASE_T1 |
| |
| 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_RTL8211F |
| bool "Realtek RTL8211F PHY" |
| |
| config ETH0_PHY_DM9161 |
| bool "Davicom DM9161 PHY" |
| |
| config ETH0_PHY_YT8512 |
| bool "Motorcomm YT8512 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_DP83825I |
| bool "Texas Instruments DP83825I PHY" |
| |
| config ETH1_PHY_TJA1100 |
| bool "NXP TJA1100 PHY" |
| select ARCH_PHY_100BASE_T1 |
| |
| config ETH1_PHY_TJA1101 |
| bool "NXP TJA1101 PHY" |
| select ARCH_PHY_100BASE_T1 |
| |
| config ETH1_PHY_LAN8720 |
| bool "SMSC LAN8720 PHY" |
| |
| config ETH1_PHY_RTL8211F |
| bool "Realtek RTL8211F PHY" |
| |
| config ETH1_PHY_DM9161 |
| bool "Davicom DM9161 PHY" |
| |
| config ETH1_PHY_YT8512 |
| bool "Motorcomm YT8512 PHY" |
| |
| endchoice |
| |
| config ARCH_PHY_100BASE_T1 |
| bool |
| default n |
| |
| if (ARCH_PHY_100BASE_T1) |
| |
| choice |
| prompt "Automotive Ethernet 100BASE-T1 master/slave mode" |
| default PHY_100BASE_T1_SLAVE |
| ---help--- |
| Automotive Ethernet 100BASE-T1 requires the PHY to be configured |
| in either master or slave mode. |
| |
| config PHY_100BASE_T1_MASTER |
| bool "Master" |
| |
| config PHY_100BASE_T1_SLAVE |
| bool "Slave" |
| |
| endchoice # 100BASE-T1 master/slave mode |
| |
| endif |
| |
| 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 |
| |
| config DRIVERS_WIFI_SIM |
| bool "WiFi SIM support" |
| depends on NETDEV_WIRELESS_IOCTL |
| default n |
| |
| config WIFI_SIM_CONFDIR |
| string "Virt WiFi configuration directory" |
| default "/etc/wifi" |
| depends on DRIVERS_WIFI_SIM |
| ---help--- |
| Provides the full path to location in the file system where WiFi-SIM |
| BSS configuration will be accessed. This is a string and should not |
| include any trailing '/'. |
| |
| config WIFI_SIM_NUMBER |
| int "Number of Simulated WiFi Device" |
| default 0 |
| depends on DRIVERS_WIFI_SIM |
| ---help--- |
| The number of simulated wifi network devices. |
| |
| endif # NETDEVICES |