@@ -747,6 +747,8 @@ source "env/Kconfig"
source "net/Kconfig"
+source "net-lwip/Kconfig"
+
source "drivers/Kconfig"
source "fs/Kconfig"
@@ -859,7 +859,7 @@ libs-$(CONFIG_OF_EMBED) += dts/
libs-y += env/
libs-y += lib/
libs-y += fs/
-libs-y += net/
+libs-$(CONFIG_NET) += net/
libs-y += disk/
libs-y += drivers/
libs-$(CONFIG_SYS_FSL_DDR) += drivers/ddr/fsl/
@@ -424,7 +424,7 @@ config LOGF_FUNC_PAD
config LOG_SYSLOG
bool "Log output to syslog server"
- depends on NET
+ depends on NET || NET_LWIP
help
Enables a log driver which broadcasts log records via UDP port 514
to syslog servers.
@@ -1055,6 +1055,7 @@ config SPL_DM_SPI_FLASH
config SPL_NET
bool "Support networking"
+ depends on !NET_LWIP
help
Enable support for network devices (such as Ethernet) in SPL.
This permits SPL to load U-Boot over a network link rather than
@@ -11,7 +11,7 @@ config DFU_OVER_USB
config DFU_OVER_TFTP
bool
- depends on NET
+ depends on NET || NET_LWIP
if DFU
config DFU_WRITE_ALT
@@ -27,7 +27,7 @@ config USB_FUNCTION_FASTBOOT
This enables the USB part of the fastboot gadget.
config UDP_FUNCTION_FASTBOOT
- depends on NET
+ depends on NET || NET_LWIP
select FASTBOOT
bool "Enable fastboot protocol over UDP"
help
@@ -41,7 +41,7 @@ config UDP_FUNCTION_FASTBOOT_PORT
The fastboot protocol requires a UDP port number.
config TCP_FUNCTION_FASTBOOT
- depends on NET
+ depends on NET || NET_LWIP
select FASTBOOT
bool "Enable fastboot protocol over TCP"
help
@@ -11,7 +11,7 @@ config MV88E6352_SWITCH
menuconfig PHYLIB
bool "Ethernet PHY (physical media interface) support"
- depends on NET
+ depends on NET || NET_LWIP
help
Enable Ethernet PHY (physical media interface) support.
@@ -224,7 +224,7 @@ endif # USB_GADGET_DOWNLOAD
config USB_ETHER
bool "USB Ethernet Gadget"
- depends on NET
+ depends on NET || NET_LWIP
default y if ARCH_SUNXI && USB_MUSB_GADGET
help
Creates an Ethernet network device through a USB peripheral
new file mode 100644
@@ -0,0 +1,15 @@
+#
+# Network configuration (with lwIP stack)
+#
+
+menuconfig NET_LWIP
+ bool "Networking support (lwIP stack) -- EXPERIMENTAL"
+ help
+ Include networking support based on the lwIP (lightweight IP)
+ TCP/IP stack (https://nongnu.org/lwip). This is a replacement for
+ the default U-Boot network stack and applications located in net/
+ and enabled via CONFIG_NET as well as other pieces of code that
+ depend on CONFIG_NET (such as cmd/net.c enabled via CONFIG_CMD_NET).
+ Therefore the two symbols CONFIG_NET and CONFIG_NET_LWIP are mutually
+ exclusive.
+ NOTE: This is currently a placeholder.
@@ -6,6 +6,7 @@ menuconfig NET
bool "Networking support"
default y
imply NETDEVICES
+ depends on !NET_LWIP
if NET
Prepare the introduction of the lwIP (lightweight IP) TCP/IP stack by adding a new net-lwip/ directory and the CONFIG_NET_LWIP symbol. At this point, enabling CONFIG_NET_LWIP simply disables CONFIG_NET. Subsequent commits will introduce the lwIP code, re-work the NETDEVICE integration and port some of the NET commands and features to lwIP. CONFIG_SPL_NET cannot be enabled when CONFIG_NET_LWIP=y. SPL_NET pulls some symbols that are part of NET (such as arp_init(), arp_timeout_check(), arp_receive(), net_arp_wait_packet_ip()). lwIP support in SPL may be added later. Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org> --- Kconfig | 2 ++ Makefile | 2 +- common/Kconfig | 2 +- common/spl/Kconfig | 1 + drivers/dfu/Kconfig | 2 +- drivers/fastboot/Kconfig | 4 ++-- drivers/net/phy/Kconfig | 2 +- drivers/usb/gadget/Kconfig | 2 +- net-lwip/Kconfig | 15 +++++++++++++++ net/Kconfig | 1 + 10 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 net-lwip/Kconfig