mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-03 07:57:49 +00:00
ssv6xxx-aml: new driver package
This commit is contained in:
parent
b93eaea2ab
commit
59f4a0e37a
64
packages/linux-drivers/amlogic/ssv6xxx-aml/package.mk
Normal file
64
packages/linux-drivers/amlogic/ssv6xxx-aml/package.mk
Normal file
@ -0,0 +1,64 @@
|
||||
################################################################################
|
||||
# This file is part of LibreELEC - https://libreelec.tv
|
||||
# Copyright (C) 2017-present Team LibreELEC
|
||||
#
|
||||
# LibreELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# LibreELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="ssv6xxx-aml"
|
||||
PKG_VERSION="1041e7d"
|
||||
PKG_SHA256="1d96db8eec06c8a2c43f2c8024cc573e2bbce08fb0504fd9b6671224335e7d5f"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://libreelec.tv"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_SECTION="driver"
|
||||
PKG_SHORTDESC="ssv6xxx Linux driver"
|
||||
PKG_LONGDESC="ssv6xxx Linux driver"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
pre_configure_target() {
|
||||
sed -i 's,hw_cap_p2p = on,hw_cap_p2p = off,g' firmware/ssv6051-wifi.cfg
|
||||
}
|
||||
|
||||
pre_make_target() {
|
||||
unset LDFLAGS
|
||||
}
|
||||
|
||||
make_target() {
|
||||
if [ "$TARGET_KERNEL_ARCH" = "arm64" ]; then
|
||||
PLATFORM="aml-s905"
|
||||
else
|
||||
PLATFORM="aml-s805"
|
||||
fi
|
||||
|
||||
cd $PKG_BUILD
|
||||
./ver_info.pl include/ssv_version.h
|
||||
cp Makefile.android Makefile
|
||||
sed -i 's,PLATFORMS =,PLATFORMS = '"$PLATFORM"',g' Makefile
|
||||
make module SSV_ARCH="$TARGET_KERNEL_ARCH" \
|
||||
SSV_CROSS="$TARGET_PREFIX" \
|
||||
SSV_KERNEL_PATH="$(kernel_path)"
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/$(get_full_module_dir)/$PKG_NAME
|
||||
find $PKG_BUILD/ -name \*.ko -not -path '*/\.*' -exec cp {} $INSTALL/$(get_full_module_dir)/$PKG_NAME \;
|
||||
|
||||
mkdir -p $INSTALL/$(get_full_firmware_dir)/$PKG_NAME
|
||||
cp $PKG_BUILD/firmware/* $INSTALL/$(get_full_firmware_dir)/$PKG_NAME
|
||||
}
|
@ -0,0 +1,86 @@
|
||||
diff --git a/Makefile.android b/Makefile.android
|
||||
index 82211e1..0deeee5 100755
|
||||
--- a/Makefile.android
|
||||
+++ b/Makefile.android
|
||||
@@ -2,10 +2,8 @@ PLATFORMS =
|
||||
|
||||
KBUILD_TOP := $(PWD)
|
||||
|
||||
-SSV_PATH=$(ANDROID_BUILD_TOP)/hardware/wifi/icomm/ssv6xxx/ssv6051/
|
||||
-
|
||||
-include $(SSV_PATH)/ssv6051.cfg
|
||||
-include $(SSV_PATH)/platform-config.mak
|
||||
+include ${KBUILD_TOP}/ssv6051.cfg
|
||||
+include ${KBUILD_TOP}/platform-config.mak
|
||||
|
||||
PWD := $(shell pwd)
|
||||
|
||||
@@ -69,7 +67,7 @@ obj-$(CONFIG_SSV6200_CORE) += $(KMODULE_NAME).o
|
||||
all:module strip
|
||||
|
||||
module:
|
||||
- make -C $(SSV_KERNEL_PATH) ARCH=$(SSV_ARCH) CROSS_COMPILE=$(SSV_CROSS) \
|
||||
+ $(MAKE) -C $(SSV_KERNEL_PATH) ARCH=$(SSV_ARCH) CROSS_COMPILE=$(SSV_CROSS) \
|
||||
EXTRA_CFLAGS="$(EXTRA_CFLAGS)" M=$(PWD) modules
|
||||
|
||||
install:
|
||||
@@ -92,6 +90,6 @@ ifneq ($(SSV_STRIP),)
|
||||
endif
|
||||
|
||||
clean:
|
||||
- make -C $(SSV_KERNEL_PATH) ARCH=$(SSV_ARCH) CROSS_COMPILE=$(SSV_CROSS) \
|
||||
+ $(MAKE) -C $(SSV_KERNEL_PATH) ARCH=$(SSV_ARCH) CROSS_COMPILE=$(SSV_CROSS) \
|
||||
M=$(PWD) clean
|
||||
rm $(DEF_PARSER_H)
|
||||
diff --git a/firmware/ssv6051-wifi.cfg b/firmware/ssv6051-wifi.cfg
|
||||
index 6c3a823..9c623a0 100755
|
||||
--- a/firmware/ssv6051-wifi.cfg
|
||||
+++ b/firmware/ssv6051-wifi.cfg
|
||||
@@ -11,7 +11,7 @@
|
||||
# Priority.3 default firmware
|
||||
##################################################
|
||||
|
||||
-firmware_path = /system/etc/wifi/ssv6051/
|
||||
+firmware_path = /usr/lib/firmware/
|
||||
|
||||
############################################################
|
||||
# MAC address
|
||||
|
||||
diff --git a/platform-config.mak b/platform-config.mak
|
||||
index bf35b70..f02e2b5 100755
|
||||
--- a/platform-config.mak
|
||||
+++ b/platform-config.mak
|
||||
@@ -5,7 +5,7 @@ CONFIG_SSV6200_CORE=m
|
||||
###########################################################################
|
||||
# Compiler options #
|
||||
###########################################################################
|
||||
-ccflags-y += -Werror
|
||||
+# ccflags-y += -Werror
|
||||
|
||||
# Enable -g to help debug. Deassembly from .o to .S would help to track to
|
||||
# the problomatic line from call stack dump.
|
||||
diff --git a/ssv6051.cfg b/ssv6051.cfg
|
||||
index 7cf12c2..a6960fa 100755
|
||||
--- a/ssv6051.cfg
|
||||
+++ b/ssv6051.cfg
|
||||
@@ -16,6 +16,6 @@ ccflags-y += -DCONFIG_SSV_RSSI
|
||||
#SSV_CROSS = $(ANDROID_BUILD_TOP)/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/bin/aarch64-linux-android-
|
||||
#SSV_KERNEL_PATH = $(ANDROID_BUILD_TOP)/out/target/product/p201/obj/KERNEL_OBJ/
|
||||
|
||||
-SSV_ARCH = arm64
|
||||
+#SSV_ARCH = arm64
|
||||
#KMODDESTDIR = $(MODDESTDIR)
|
||||
|
||||
diff --git a/ssvdevice/ssvdevice.c b/ssvdevice/ssvdevice.c
|
||||
index ff4305e..375827f 100755
|
||||
--- a/ssvdevice/ssvdevice.c
|
||||
+++ b/ssvdevice/ssvdevice.c
|
||||
@@ -35,7 +35,7 @@
|
||||
MODULE_AUTHOR("iComm Semiconductor Co., Ltd");
|
||||
MODULE_DESCRIPTION("Shared library for SSV wireless LAN cards.");
|
||||
MODULE_LICENSE("Dual BSD/GPL");
|
||||
-static char *stacfgpath = NULL;
|
||||
+static char *stacfgpath = "/usr/lib/firmware/ssv6051-wifi.cfg";
|
||||
EXPORT_SYMBOL(stacfgpath);
|
||||
module_param(stacfgpath, charp, 0000);
|
||||
MODULE_PARM_DESC(stacfgpath, "Get path of sta cfg");
|
Loading…
x
Reference in New Issue
Block a user