mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-08-05 08:57:50 +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