Josef Söntgen 578a8c9918 wifi/pc: add rtlwifi driver
Due to lacking hardware access the driver was test with one RTL8188EE
based device, namely [10ec:8179] (rev 01), only. As the access to the
PCI config space is restricted the driver loads the non power-saving
FW and the driver port is therefor only tested with that. The
accesses are documented should we choose to support them one way or
another later on.

The 'wifi.run' run script as well as Sculpt served as testing ground
where the driver worked fine so far.

Fixes .
2023-02-27 08:20:45 +01:00

60 lines
1.4 KiB
PHP

REQUIRES := x86
TARGET_LIB_DIR := $(REP_DIR)/src/lib/wifi
SHARED_LIB := yes
LD_OPT += --version-script=$(TARGET_LIB_DIR)/symbol.map
LIBS += base jitterentropy pc_linux_generated pc_lx_emul
INC_DIR := $(TARGET_LIB_DIR)
SRC_CC += wlan.cc
SRC_CC += misc.cc
SRC_CC += firmware.cc
SRC_CC += socket_call.cc
SRC_CC += lx_emul/random.cc
SRC_CC += time.cc
SRC_C += dummies.c
SRC_C += lx_emul.c
SRC_C += lx_user.c
SRC_C += uplink.c
CC_OPT_lx_socket_call += -DKBUILD_MODNAME='"lx_socket_call"'
SRC_C += lx_socket_call.c
SRC_C += $(notdir $(wildcard $(TARGET_LIB_DIR)/generated_dummies.c))
SRC_C += lx_emul/common_dummies.c
CC_C_OPT += -I$(LX_SRC_DIR)/drivers/net/wireless/intel/iwlwifi
CC_C_OPT += -I$(LX_SRC_DIR)/drivers/net/wireless/realtek/rtlwifi
CC_C_OPT += -I$(LX_SRC_DIR)/drivers/net/wireless/realtek/rtlwifi/rtl8188ee
CC_C_OPT += -I$(LX_SRC_DIR)/include/linux
CC_C_OPT += -Wno-address-of-packed-member
# need net/rfkill/rfkill.h
CC_OPT_lx_emul += -I$(LX_SRC_DIR)
CC_C_OPT += -DCONFIG_RFKILL_INPUT
#CC_OPT += -DCONFIG_IWLWIFI_DEBUG
SRC_C += lx_emul/shadow/lib/kobject_uevent.c
vpath %.c $(REP_DIR)/src/lib/pc
vpath %.cc $(REP_DIR)/src/lib/pc
vpath %.c $(TARGET_LIB_DIR)
vpath %.cc $(TARGET_LIB_DIR)
$(LIB).lib.so: $(TARGET_LIB_DIR)/symbol.map
#
# Genode C-API backends
#
SRC_CC += genode_c_api/uplink.cc
vpath genode_c_api/uplink.cc $(subst /genode_c_api,,$(call select_from_repositories,src/lib/genode_c_api))