Skip to content

Commit

Permalink
wifi-4003-ssv-6051-driver(:1)
Browse files Browse the repository at this point in the history
Original-Subject: add ssv6xxx wifi driver
None
X-Armbian: Patch-File: wifi-4003-ssv-6051-driver
X-Armbian: Patch-File-Counter: 1
X-Armbian: Patch-Rel-Directory: patch/kernel/archive/rockchip64-6.3
X-Armbian: Patch-Type: kernel
X-Armbian: Patch-Root-Type: core
X-Armbian: Patch-Sub-Type: common
X-Armbian: Original-Subject: add ssv6xxx wifi driver
  • Loading branch information
paolosabatino authored and Armbian AutoPatcher committed Nov 2, 2022
1 parent 4504958 commit 4b3e3f2
Show file tree
Hide file tree
Showing 60 changed files with 48,981 additions and 0 deletions.
1 change: 1 addition & 0 deletions drivers/net/wireless/Kconfig
Expand Up @@ -18,6 +18,7 @@ menuconfig WLAN

if WLAN

source "drivers/net/wireless/ssv6051/Kconfig"
source "drivers/net/wireless/admtek/Kconfig"
source "drivers/net/wireless/ath/Kconfig"
source "drivers/net/wireless/atmel/Kconfig"
Expand Down
1 change: 1 addition & 0 deletions drivers/net/wireless/Makefile
Expand Up @@ -3,6 +3,7 @@
# Makefile for the Linux Wireless network device drivers.
#

obj-$(CONFIG_SSV6051) += ssv6051/
obj-$(CONFIG_WLAN_VENDOR_ADMTEK) += admtek/
obj-$(CONFIG_WLAN_VENDOR_ATH) += ath/
obj-$(CONFIG_WLAN_VENDOR_ATMEL) += atmel/
Expand Down
11 changes: 11 additions & 0 deletions drivers/net/wireless/ssv6051/Kconfig
@@ -0,0 +1,11 @@
# SPDX-License-Identifier: GPL-2.0-only
config SSV6051
tristate "South Silicon Valley (ssv) 6051 family WLAN support"
depends on MAC80211
depends on (MMC = y)
default n
select FW_LOADER
help
Enable South Silicon Valley (SSV) 6051 family support.


26 changes: 26 additions & 0 deletions drivers/net/wireless/ssv6051/Makefile
@@ -0,0 +1,26 @@
# SPDX-License-Identifier: ISC

include $(src)/platform-config.mak

ccflags-y += \
-I $(srctree)/$(src) \
-I $(srctree)/$(src)/include

obj-$(CONFIG_SSV6051) += ssv6051.o
ssv6051-objs += \
ssv6051-generic-wlan.o \
ssvdevice/ssvdevice.o \
ssvdevice/ssv_cmd.o \
hci/ssv_hci.o \
smac/init.o \
smac/dev.o \
smac/ssv_rc.o \
smac/ssv_ht_rc.o \
smac/ap.o \
smac/ampdu.o \
smac/efuse.o \
smac/ssv_pm.o \
smac/sar.o \
smac/ssv_cfgvendor.o \
hwif/sdio/sdio.o

107 changes: 107 additions & 0 deletions drivers/net/wireless/ssv6051/Makefile.bak
@@ -0,0 +1,107 @@
KMODULE_NAME=ssv6051

KBUILD_TOP := $(PWD)

ifeq ($(KERNELRELEASE),)

KVERS_UNAME ?= $(shell uname -r)
KVERS_ARCH ?= $(shell arch)

KBUILD ?= $(shell readlink -f /lib/modules/$(KVERS_UNAME)/build)

ifeq (,$(KBUILD))
$(error kernel build tree not found - set KBUILD to configured kernel)
endif

#KCONFIG := $(KBUILD)/config
#ifeq (,$(wildcard $(KCONFIG)))
#$(error No .config found in $(KBUILD), set KBUILD to configured kernel)
#endif

ifneq (,$(wildcard $(KBUILD)/include/linux/version.h))
ifneq (,$(wildcard $(KBUILD)/include/generated/uapi/linux/version.h))
$(error Multiple copied of version.h found, clean build tree)
endif
endif

# Kernel Makefile doesn't always know the exact kernel version, so we
# get it from the kernel headers instead and pass it to make.
VERSION_H := $(KBUILD)/include/generated/utsrelease.h
ifeq (,$(wildcard $(VERSION_H)))
VERSION_H := $(KBUILD)/include/linux/utsrelease.h
endif
ifeq (,$(wildcard $(VERSION_H)))
VERSION_H := $(KBUILD)/include/linux/version.h
endif
ifeq (,$(wildcard $(VERSION_H)))
$(error Please run 'make modules_prepare' in $(KBUILD))
endif

KVERS := $(shell sed -ne 's/"//g;s/^\#define UTS_RELEASE //p' $(VERSION_H))

ifeq (,$(KVERS))
$(error Cannot find UTS_RELEASE in $(VERSION_H), please report)
endif

INST_DIR = /lib/modules/$(KVERS)/misc

#include $(KCONFIG)

endif

include $(KBUILD_TOP)/platform-config.mak

EXTRA_CFLAGS := -I$(KBUILD_TOP) -I$(KBUILD_TOP)/include #-Wno-error=missing-attributes
DEF_PARSER_H = $(KBUILD_TOP)/include/ssv_conf_parser.h

OBJS := ssvdevice/ssvdevice.c \
ssvdevice/ssv_cmd.c \
hci/ssv_hci.c \
smac/init.c \
smac/dev.c \
smac/ssv_rc.c \
smac/ssv_ht_rc.c \
smac/ap.c \
smac/ampdu.c \
smac/efuse.c \
smac/ssv_pm.c \
smac/sar.c \
hwif/sdio/sdio.c \
ssv6051-generic-wlan.c

ifeq ($(findstring -DCONFIG_SSV6XXX_DEBUGFS, $(ccflags-y)), -DCONFIG_SSV6XXX_DEBUGFS)
OBJS += smac/ssv6xxx_debugfs.c
endif

ifeq ($(findstring -DCONFIG_SSV_VENDOR_EXT_SUPPORT, $(ccflags-y)), -DCONFIG_SSV_VENDOR_EXT_SUPPORT)
OBJS += smac/ssv_cfgvendor.c
endif

ifeq ($(findstring -DCONFIG_SSV_SMARTLINK, $(ccflags-y)), -DCONFIG_SSV_SMARTLINK)
OBJS += smac/smartlink.c
endif

$(KMODULE_NAME)-y += $(ASMS:.S=.o)
$(KMODULE_NAME)-y += $(OBJS:.c=.o)

obj-$(CONFIG_SSV6200_CORE) += $(KMODULE_NAME).o

all: modules

modules:
ARCH=arm $(MAKE) -C $(KBUILD) M=$(KBUILD_TOP)

clean:
find -type f -iname '*.o' -exec rm {} \;
find -type f -iname '*.o.cmd' -exec rm {} \;
rm -f *.o *.ko .*.cmd *.mod.c *.symvers modules.order
rm -rf .tmp_versions

install: modules
mkdir -p -m 755 $(DESTDIR)$(INST_DIR)
install -m 0644 $(KMODULE_NAME).ko $(DESTDIR)$(INST_DIR)
ifndef DESTDIR
-/sbin/depmod -a $(KVERS)
endif

.PHONY: all modules clean install
91 changes: 91 additions & 0 deletions drivers/net/wireless/ssv6051/firmware/ssv6051-wifi.cfg
@@ -0,0 +1,91 @@
############################################################
# ROCKCHIP RK3X28 & RK322X
# WIFI-CONFIGURATION
##################################################

##################################################
# Firmware setting
# Priority.1 insmod parameter "cfgfirmwarepath"
# Priority.2 firmware_path
# Priority.3 default firmware
##################################################
firmware_path = /vendor/etc/firmware/

############################################################
# MAC address
#
# Priority 1. From wifi.cfg [ hw_mac & hw_mac_2 ]
#
# Priority 2. From e-fuse[ON/OFF switch by wifi.cfg]
#
# Priority 3. From insert module parameter
#
# Priority 4. From external file path
# path only support some special charater "_" ":" "/" "." "-"
#
# Priority 5. Default[Software mode]
#
# 0. => 00:33:33:33:33:33
# 1. => Always random
# 2. => First random and write to file[Default path mac_output_path]
#
############################################################
ignore_efuse_mac = 0
#mac_address_path = /xxxx/xxxx
mac_address_mode = 2
mac_output_path = /data/wifimac

##################################################
# Hardware setting
#
#volt regulator(DCDC-0 LDO-1)
#
##################################################
xtal_clock = 24
volt_regulator = 1

##################################################
# Default channel after wifi on
# value range: [1 ~ 14]
##################################################
def_chan = 6
##################################################
# Hardware Capability Settings:
##################################################
hw_cap_ht = on
hw_cap_gf = off
hw_cap_2ghz = on
hw_cap_5ghz = off
hw_cap_security = on
hw_cap_sgi_20 = on
hw_cap_sgi_40 = off
hw_cap_ap = on
hw_cap_p2p = on
hw_cap_ampdu_rx = on
hw_cap_ampdu_tx = on
use_wpa2_only = 1
##################################################
# TX power level setting [0-14]
# The larger the number the smaller the TX power
# 0 - The maximum power
# 1 level = -0.5db
#
# 6051Z .. 4 or 4
# 6051Q .. 2 or 5
# 6051P .. 0 or 0
#
##################################################
#wifi_tx_gain_level_b = 2
#wifi_tx_gain_level_gn = 5
################################################
# Signal strength control
# rssi control
#rssi_ctl = 10


##################################################
# Import extenal configuration(UP to 64 groups)
# example:
# register = CE010010:91919191
# register = 00CC0010:00091919
##################################################

0 comments on commit 4b3e3f2

Please sign in to comment.