mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
packages: drop amlogic-specific packages
This commit is contained in:
parent
f0b6c134bc
commit
7bd39a17c5
@ -10,14 +10,6 @@ PKG_URL="https://github.com/mighty-p/t2scan/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="A small channel scan tool which generates DVB-T/T2 channels.conf files."
|
||||
|
||||
# aml 3.14 hack
|
||||
pre_configure_target() {
|
||||
if [ "$LINUX" = "amlogic-3.14" -o "$LINUX" = "amlogic-3.10" ]; then
|
||||
sed -i 's/DVB_HEADER=0/DVB_HEADER=1/g' $PKG_BUILD/configure*
|
||||
sed -i 's/HAS_DVB_API5=0/HAS_DVB_API5=1/g' $PKG_BUILD/configure*
|
||||
fi
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
:
|
||||
}
|
||||
|
@ -11,14 +11,6 @@ PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="A channel scan tool which generates ATSC, DVB-C, DVB-S/S2 and DVB-T channels.conf files."
|
||||
PKG_TOOLCHAIN="autotools"
|
||||
|
||||
# aml 3.14 hack
|
||||
pre_configure_target() {
|
||||
if [ "$LINUX" = "amlogic-3.14" -o "$LINUX" = "amlogic-3.10" ]; then
|
||||
sed -i 's/DVB_HEADER=0/DVB_HEADER=1/g' $PKG_BUILD/configure*
|
||||
sed -i 's/HAS_DVB_API5=0/HAS_DVB_API5=1/g' $PKG_BUILD/configure*
|
||||
fi
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
:
|
||||
}
|
||||
|
@ -25,10 +25,7 @@ PKG_DISPMANX_SUPPORT="-DENABLE_DISPMANX=0"
|
||||
PKG_FB_SUPPORT="-DENABLE_FB=1"
|
||||
PKG_X11_SUPPORT="-DENABLE_X11=0"
|
||||
|
||||
if [ "$KODIPLAYER_DRIVER" = "libamcodec" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libamcodec"
|
||||
PKG_AMLOGIC_SUPPORT="-DENABLE_AMLOGIC=1"
|
||||
elif [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then
|
||||
if [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET bcm2835-driver"
|
||||
PKG_DISPMANX_SUPPORT="-DENABLE_DISPMANX=1"
|
||||
PKG_FB_SUPPORT="-DENABLE_FB=0"
|
||||
|
@ -22,16 +22,6 @@ if [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET bcm2835-driver"
|
||||
fi
|
||||
|
||||
if [ "$KODIPLAYER_DRIVER" = "libamcodec" ]; then
|
||||
if [ "$TARGET_KERNEL_ARCH" = "arm64" ]; then
|
||||
PKG_CMAKE_OPTS_TARGET="$PKG_CMAKE_OPTS_TARGET -DHAVE_AOCEC_API=1"
|
||||
else
|
||||
PKG_CMAKE_OPTS_TARGET="$PKG_CMAKE_OPTS_TARGET -DHAVE_AMLOGIC_API=1"
|
||||
fi
|
||||
else
|
||||
PKG_CMAKE_OPTS_TARGET="$PKG_CMAKE_OPTS_TARGET -DHAVE_AOCEC_API=0 -DHAVE_AMLOGIC_API=0"
|
||||
fi
|
||||
|
||||
# libX11 and xrandr to read the sink's EDID, used to determine the PC's HDMI physical address
|
||||
if [ "$DISPLAYSERVER" = "x11" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libX11 libXrandr"
|
||||
|
@ -1,68 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
|
||||
PKG_NAME="opengl-meson"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="nonfree"
|
||||
PKG_SITE="http://openlinux.amlogic.com:8000/download/ARM/filesystem/"
|
||||
case $MESON_FAMILY in
|
||||
8)
|
||||
PKG_VERSION="8-r5p1-02rel0-armhf"
|
||||
PKG_SHA256="717739c9f65f6782e3185aad09d01f228873315f70f9a58c0526b9e63a6e386f"
|
||||
;;
|
||||
6)
|
||||
PKG_VERSION="6-r5p1-02rel0-armhf"
|
||||
PKG_SHA256="de38a1fa23191bd5de5c85c66627d4537775ee4634b71baa8d0e241b8b9d4ba2"
|
||||
;;
|
||||
gxbb)
|
||||
if [ "$TARGET_ARCH" = "arm" ]; then
|
||||
PKG_VERSION="8-r5p1-02rel0-armhf"
|
||||
PKG_SHA256="717739c9f65f6782e3185aad09d01f228873315f70f9a58c0526b9e63a6e386f"
|
||||
else
|
||||
PKG_VERSION="gxbb-r5p1-01rel0"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="OpenGL ES pre-compiled libraries for Mali GPUs found in Amlogic Meson SoCs."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $SYSROOT_PREFIX/usr/include
|
||||
cp -PR usr/include/* $SYSROOT_PREFIX/usr/include
|
||||
|
||||
mkdir -p $SYSROOT_PREFIX/usr/lib
|
||||
cp -PR usr/lib/libMali.so $SYSROOT_PREFIX/usr/lib
|
||||
|
||||
ln -sf libMali.so $SYSROOT_PREFIX/usr/lib/libEGL.so.1.4
|
||||
ln -sf libEGL.so.1.4 $SYSROOT_PREFIX/usr/lib/libEGL.so.1
|
||||
ln -sf libEGL.so.1 $SYSROOT_PREFIX/usr/lib/libEGL.so
|
||||
|
||||
ln -sf libMali.so $SYSROOT_PREFIX/usr/lib/libGLESv1_CM.so.1.1
|
||||
ln -sf libGLESv1_CM.so.1.1 $SYSROOT_PREFIX/usr/lib/libGLESv1_CM.so.1
|
||||
ln -sf libGLESv1_CM.so.1 $SYSROOT_PREFIX/usr/lib/libGLESv1_CM.so
|
||||
|
||||
ln -sf libMali.so $SYSROOT_PREFIX/usr/lib/libGLESv2.so.2.0
|
||||
ln -sf libGLESv2.so.2.0 $SYSROOT_PREFIX/usr/lib/libGLESv2.so.2
|
||||
ln -sf libGLESv2.so.2 $SYSROOT_PREFIX/usr/lib/libGLESv2.so
|
||||
|
||||
mkdir -p $INSTALL/usr/lib
|
||||
cp -PR usr/lib/libMali.so $INSTALL/usr/lib
|
||||
|
||||
ln -sf libMali.so $INSTALL/usr/lib/libEGL.so.1.4
|
||||
ln -sf libEGL.so.1.4 $INSTALL/usr/lib/libEGL.so.1
|
||||
ln -sf libEGL.so.1 $INSTALL/usr/lib/libEGL.so
|
||||
|
||||
ln -sf libMali.so $INSTALL/usr/lib/libGLESv1_CM.so.1.1
|
||||
ln -sf libGLESv1_CM.so.1.1 $INSTALL/usr/lib/libGLESv1_CM.so.1
|
||||
ln -sf libGLESv1_CM.so.1 $INSTALL/usr/lib/libGLESv1_CM.so
|
||||
|
||||
ln -sf libMali.so $INSTALL/usr/lib/libGLESv2.so.2.0
|
||||
ln -sf libGLESv2.so.2.0 $INSTALL/usr/lib/libGLESv2.so.2
|
||||
ln -sf libGLESv2.so.2 $INSTALL/usr/lib/libGLESv2.so
|
||||
}
|
||||
|
||||
post_install() {
|
||||
enable_service unbind-console.service
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
[Unit]
|
||||
Description=Unbind framebuffer console
|
||||
|
||||
ConditionPathExists=/sys/class/vtconsole/vtcon1/bind
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/sh -c 'echo 0 > /sys/class/vtconsole/vtcon1/bind'
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical.target
|
@ -1,2 +0,0 @@
|
||||
100
|
||||
- Initial add-on
|
Binary file not shown.
Before Width: | Height: | Size: 67 KiB |
@ -1,51 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="crazycat_aml"
|
||||
PKG_VERSION="835dc72da3ee63df7f4057bd0507887454c005d1"
|
||||
PKG_SHA256="3d68d368a9eda15688c6686caa854a045a753740ec93553d80a4bcfc14c2950a"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://bitbucket.org/CrazyCat/media_build"
|
||||
PKG_URL="https://bitbucket.org/CrazyCat/media_build/get/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux media_tree_cc_aml"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS media_tree_cc_aml"
|
||||
PKG_SECTION="driver.dvb"
|
||||
PKG_LONGDESC="DVB drivers from the latest kernel"
|
||||
|
||||
PKG_IS_ADDON="embedded"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_ADDON_IS_STANDALONE="yes"
|
||||
PKG_ADDON_NAME="DVB drivers from the latest kernel"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
PKG_ADDON_VERSION="${ADDON_VERSION}.${PKG_REV}"
|
||||
|
||||
pre_make_target() {
|
||||
export KERNEL_VER=$(get_module_dir)
|
||||
export LDFLAGS=""
|
||||
}
|
||||
|
||||
make_target() {
|
||||
cp -RP $(get_build_dir media_tree_cc_aml)/* $PKG_BUILD/linux
|
||||
|
||||
# compile modules
|
||||
echo "obj-y += video_dev/" >> "$PKG_BUILD/linux/drivers/media/platform/meson/Makefile"
|
||||
echo "obj-y += wetek/" >> "$PKG_BUILD/linux/drivers/media/platform/meson/Makefile"
|
||||
|
||||
# make config all
|
||||
kernel_make VER=$KERNEL_VER SRCDIR=$(kernel_path) allyesconfig
|
||||
|
||||
# deactivate several build options
|
||||
sed '/CONFIG_VIDEO_S5C73M3=m/d' -i $PKG_BUILD/v4l/.config
|
||||
|
||||
# enable AML drivers
|
||||
echo "CONFIG_IR_MESON=m" >> $PKG_BUILD/v4l/.config
|
||||
echo "CONFIG_V4L_AMLOGIC_VIDEO=m" >> $PKG_BUILD/v4l/.config
|
||||
echo "CONFIG_VIDEOBUF_RESOURCE=m" >> $PKG_BUILD/v4l/.config
|
||||
|
||||
kernel_make VER=$KERNEL_VER SRCDIR=$(kernel_path)
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
install_driver_addon_files "$PKG_BUILD/v4l/"
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
[Patch] without this patch you need to install libproc-processtable-perl at host system
|
||||
|
||||
--- a/v4l/Makefile
|
||||
+++ b/v4l/Makefile
|
||||
@@ -51,7 +51,7 @@
|
||||
@echo Kernel build directory is $(OUTDIR)
|
||||
$(MAKE) -C ../linux apply_patches
|
||||
$(MAKE) -C $(OUTDIR) SUBDIRS=$(PWD) $(MYCFLAGS) modules
|
||||
- ./scripts/rmmod.pl check
|
||||
+# ./scripts/rmmod.pl check
|
||||
# $(MAKE) checkpatch
|
||||
|
||||
mismatch:: prepare firmware
|
@ -1,13 +0,0 @@
|
||||
--- a/v4l/scripts/make_kconfig.pl
|
||||
+++ b/v4l/scripts/make_kconfig.pl
|
||||
@@ -626,6 +626,10 @@ ($$)
|
||||
close OUT;
|
||||
|
||||
# These options should default to off
|
||||
+disable_config('MEDIA_ANALOG_TV_SUPPORT');
|
||||
+disable_config('MEDIA_CAMERA_SUPPORT');
|
||||
+disable_config('MEDIA_CEC_SUPPORT');
|
||||
+disable_config('SOC_CAMERA');
|
||||
disable_config('DVB_AV7110_FIRMWARE');
|
||||
disable_config('DVB_CINERGYT2_TUNING');
|
||||
disable_config('VIDEO_HELPER_CHIPS_AUTO');
|
@ -1,7 +0,0 @@
|
||||
--- /dev/null
|
||||
+++ b/v4l/config-mycompat.h
|
||||
@@ -0,0 +1,3 @@
|
||||
+#undef NEED_PFN_TO_PHYS
|
||||
+#undef NEED_WRITEL_RELAXED
|
||||
+#undef NEED_PM_RUNTIME_GET
|
||||
--
|
@ -1,2 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
@ -1,26 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="media_tree_cc_aml"
|
||||
PKG_VERSION="2018-09-23"
|
||||
PKG_SHA256="3b0cf3699317c04d9184b7e25056065fd374b20b851ee86a63ea2c70e219ee9e"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://bitbucket.org/CrazyCat/media_build/downloads/"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="Source of Linux Kernel media_tree subsystem to build with media_build."
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
unpack() {
|
||||
mkdir -p $PKG_BUILD/
|
||||
tar -xf $SOURCES/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.xz -C $PKG_BUILD/
|
||||
|
||||
# hack/workaround for borked upstream kernel/media_build
|
||||
# without removing atomisp there a lot additional includes that
|
||||
# slowdown build process after modpost from 3min to 6min
|
||||
# even if atomisp is disabled via kernel.conf
|
||||
rm -rf $PKG_BUILD/drivers/staging/media/atomisp
|
||||
sed -i 's|^.*drivers/staging/media/atomisp.*$||' \
|
||||
$PKG_BUILD/drivers/staging/media/Kconfig
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
From 3f1f8303b6e0be751d7a7c55031c8ab840ed5c1a Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Reichl <hias@horus.com>
|
||||
Date: Fri, 24 Aug 2018 23:31:51 +0200
|
||||
Subject: [PATCH] media: rc: ir-rc6-decoder: enable toggle bit for Kathrein
|
||||
RCU-676 remote
|
||||
|
||||
The Kathrein RCU-676 remote uses the 32-bit rc6 protocol and toggles
|
||||
bit 15 (0x8000) on repeated button presses, like MCE remotes.
|
||||
|
||||
Add it's customer code 0x80460000 to the 32-bit rc6 toggle
|
||||
handling code to get proper scancodes and toggle reports.
|
||||
|
||||
Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||
---
|
||||
drivers/media/rc/ir-rc6-decoder.c | 9 +++++++--
|
||||
1 file changed, 7 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/media/rc/ir-rc6-decoder.c b/drivers/media/rc/ir-rc6-decoder.c
|
||||
index 68487ce9f79b..d96aed1343e4 100644
|
||||
--- a/drivers/media/rc/ir-rc6-decoder.c
|
||||
+++ b/drivers/media/rc/ir-rc6-decoder.c
|
||||
@@ -40,6 +40,7 @@
|
||||
#define RC6_6A_MCE_TOGGLE_MASK 0x8000 /* for the body bits */
|
||||
#define RC6_6A_LCC_MASK 0xffff0000 /* RC6-6A-32 long customer code mask */
|
||||
#define RC6_6A_MCE_CC 0x800f0000 /* MCE customer code */
|
||||
+#define RC6_6A_KATHREIN_CC 0x80460000 /* Kathrein RCU-676 customer code */
|
||||
#ifndef CHAR_BIT
|
||||
#define CHAR_BIT 8 /* Normally in <limits.h> */
|
||||
#endif
|
||||
@@ -242,13 +243,17 @@ static int ir_rc6_decode(struct rc_dev *dev, struct ir_raw_event ev)
|
||||
toggle = 0;
|
||||
break;
|
||||
case 32:
|
||||
- if ((scancode & RC6_6A_LCC_MASK) == RC6_6A_MCE_CC) {
|
||||
+ switch (scancode & RC6_6A_LCC_MASK) {
|
||||
+ case RC6_6A_MCE_CC:
|
||||
+ case RC6_6A_KATHREIN_CC:
|
||||
protocol = RC_PROTO_RC6_MCE;
|
||||
toggle = !!(scancode & RC6_6A_MCE_TOGGLE_MASK);
|
||||
scancode &= ~RC6_6A_MCE_TOGGLE_MASK;
|
||||
- } else {
|
||||
+ break;
|
||||
+ default:
|
||||
protocol = RC_PROTO_RC6_6A_32;
|
||||
toggle = 0;
|
||||
+ break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
--
|
||||
2.11.0
|
||||
|
@ -1,41 +0,0 @@
|
||||
From ae1ccaa3587c0bd3d6d01841fa2e668cdf738f1e Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Reichl <hias@horus.com>
|
||||
Date: Sun, 3 Feb 2019 14:24:00 +0100
|
||||
Subject: [PATCH] media: rc: ir-rc6-decoder: enable toggle bit for Zotac
|
||||
remotes
|
||||
|
||||
The Zotac RC2604323/01G and RC2604329/02BG remotes use the 32-bit
|
||||
rc6 protocol and toggle bit 15 (0x8000) on repeated button presses,
|
||||
like MCE remotes.
|
||||
|
||||
Add the customer code 0x80340000 to the 32-bit rc6 toggle
|
||||
handling code to get proper scancodes and toggle reports.
|
||||
|
||||
Signed-off-by: Matthias Reichl <hias@horus.com>
|
||||
---
|
||||
drivers/media/rc/ir-rc6-decoder.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/drivers/media/rc/ir-rc6-decoder.c b/drivers/media/rc/ir-rc6-decoder.c
|
||||
index d96aed1343e4..5cc302fa4daa 100644
|
||||
--- a/drivers/media/rc/ir-rc6-decoder.c
|
||||
+++ b/drivers/media/rc/ir-rc6-decoder.c
|
||||
@@ -40,6 +40,7 @@
|
||||
#define RC6_6A_MCE_TOGGLE_MASK 0x8000 /* for the body bits */
|
||||
#define RC6_6A_LCC_MASK 0xffff0000 /* RC6-6A-32 long customer code mask */
|
||||
#define RC6_6A_MCE_CC 0x800f0000 /* MCE customer code */
|
||||
+#define RC6_6A_ZOTAC_CC 0x80340000 /* Zotac customer code */
|
||||
#define RC6_6A_KATHREIN_CC 0x80460000 /* Kathrein RCU-676 customer code */
|
||||
#ifndef CHAR_BIT
|
||||
#define CHAR_BIT 8 /* Normally in <limits.h> */
|
||||
@@ -246,6 +247,7 @@ static int ir_rc6_decode(struct rc_dev *dev, struct ir_raw_event ev)
|
||||
switch (scancode & RC6_6A_LCC_MASK) {
|
||||
case RC6_6A_MCE_CC:
|
||||
case RC6_6A_KATHREIN_CC:
|
||||
+ case RC6_6A_ZOTAC_CC:
|
||||
protocol = RC_PROTO_RC6_MCE;
|
||||
toggle = !!(scancode & RC6_6A_MCE_TOGGLE_MASK);
|
||||
scancode &= ~RC6_6A_MCE_TOGGLE_MASK;
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,22 +0,0 @@
|
||||
https://bitbucket.org/CrazyCat/linux_media/commits/ebd9c45524383e09d993563f4bd3cc765796b38a/raw
|
||||
https://forum.libreelec.tv/thread/14405-dual-tbs-5520se-libreelec-9-0-0-intel-generic/?postID=110926#post110926
|
||||
fixes TBS5520se scanning of frequencies
|
||||
|
||||
From: CrazyCat
|
||||
Date: Mon, 12 Nov 2018 19:49:55 +0200
|
||||
Subject: [PATCH] si2183: Fixed minimal frequency for DVB-C.
|
||||
|
||||
diff --git a/drivers/media/dvb-frontends/si2183.c b/drivers/media/dvb-frontends/si2183.c
|
||||
index f1cc0da..333abd0 100644
|
||||
--- a/drivers/media/dvb-frontends/si2183.c
|
||||
+++ b/drivers/media/dvb-frontends/si2183.c
|
||||
@@ -1335,7 +1335,7 @@ static int si2183_set_property(struct dvb_frontend *fe,
|
||||
break;
|
||||
case SYS_DVBC_ANNEX_A:
|
||||
case SYS_DVBC_ANNEX_B:
|
||||
- fe->ops.info.frequency_min_hz = 470 * MHz;
|
||||
+ fe->ops.info.frequency_min_hz = 47 * MHz;
|
||||
fe->ops.info.frequency_max_hz = 862 * MHz;
|
||||
fe->ops.info.frequency_stepsize_hz = 62500;
|
||||
break;
|
||||
|
@ -1,34 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="RTL8188EU-aml"
|
||||
PKG_VERSION="2d358c5"
|
||||
PKG_SHA256="adf31d56d3a94bca814f1bd0de24af61fae85d25a259124b5d16c1d23cc72c91"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/khadas/android_hardware_wifi_realtek_drivers_8188eu"
|
||||
PKG_URL="https://github.com/khadas/android_hardware_wifi_realtek_drivers_8188eu/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="Realtek RTL8188EU Linux driver"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
post_unpack() {
|
||||
sed -i 's/-DCONFIG_CONCURRENT_MODE//g; s/^CONFIG_POWER_SAVING.*$/CONFIG_POWER_SAVING = n/g; s/^CONFIG_RTW_DEBUG.*/CONFIG_RTW_DEBUG = n/g' $PKG_BUILD/*/Makefile
|
||||
sed -i 's/^#define CONFIG_DEBUG.*//g' $PKG_BUILD/*/include/autoconf.h
|
||||
sed -i 's/#define DEFAULT_RANDOM_MACADDR.*1/#define DEFAULT_RANDOM_MACADDR 0/g' $PKG_BUILD/*/core/rtw_ieee80211.c
|
||||
}
|
||||
|
||||
make_target() {
|
||||
LDFLAGS="" make -C $(kernel_path) M=$PKG_BUILD/rtl8xxx_EU \
|
||||
ARCH=$TARGET_KERNEL_ARCH \
|
||||
KSRC=$(kernel_path) \
|
||||
CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
|
||||
USER_EXTRA_CFLAGS="-fgnu89-inline"
|
||||
}
|
||||
|
||||
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 \;
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
From b67364bd4236f890238fb44df1bbba228b42ffe1 Mon Sep 17 00:00:00 2001
|
||||
From: kszaq <kszaquitto@gmail.com>
|
||||
Date: Mon, 2 Oct 2017 11:13:42 +0200
|
||||
Subject: [PATCH] Add support for a few USB dongles
|
||||
|
||||
---
|
||||
rtl8xxx_EU/os_dep/linux/usb_intf.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/rtl8xxx_EU/os_dep/linux/usb_intf.c b/rtl8xxx_EU/os_dep/linux/usb_intf.c
|
||||
index 2fbffd6..4892838 100755
|
||||
--- a/rtl8xxx_EU/os_dep/linux/usb_intf.c
|
||||
+++ b/rtl8xxx_EU/os_dep/linux/usb_intf.c
|
||||
@@ -138,6 +138,12 @@ static struct usb_device_id rtw_usb_id_tbl[] = {
|
||||
/*=== Customer ID ===*/
|
||||
/****** 8188EUS ********/
|
||||
{USB_DEVICE(0x07B8, 0x8179), .driver_info = RTL8188E}, /* Abocom - Abocom */
|
||||
+ {USB_DEVICE(0x0DF6, 0x0076), .driver_info = RTL8188E}, /* Sitecom N150 v2 */
|
||||
+ {USB_DEVICE(0x2001, 0x330F), .driver_info = RTL8188E}, /* DLink DWA-125 REV D1 */
|
||||
+ {USB_DEVICE(0x2001, 0x3310), .driver_info = RTL8188E}, /* Dlink DWA-123 REV D1 */
|
||||
+ {USB_DEVICE(0x2001, 0x3311), .driver_info = RTL8188E}, /* DLink GO-USB-N150 REV B1 */
|
||||
+ {USB_DEVICE(0x056E, 0x4008), .driver_info = RTL8188E}, /* Elecom WDC-150SU2M */
|
||||
+ {USB_DEVICE(0x2357, 0x010c), .driver_info = RTL8188E}, /* TP-Link TL-WN722N v2 */
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_RTL8812A
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,38 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="RTL8189ES-aml"
|
||||
PKG_VERSION="f971e4b"
|
||||
PKG_SHA256="a87d891e3a42d70429b39f01216775dee95b0dc9093f9576ca7417e74f21ee2b"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/khadas/android_hardware_wifi_realtek_drivers_8189es"
|
||||
PKG_URL="https://github.com/khadas/android_hardware_wifi_realtek_drivers_8189es/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="Realtek RTL8189ES Linux driver"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
post_unpack() {
|
||||
sed -i 's/-DCONFIG_CONCURRENT_MODE//g; s/^CONFIG_POWER_SAVING.*$/CONFIG_POWER_SAVING = n/g; s/^CONFIG_RTW_DEBUG.*/CONFIG_RTW_DEBUG = n/g' $PKG_BUILD/*/Makefile
|
||||
sed -i 's/^#define CONFIG_DEBUG.*//g' $PKG_BUILD/*/include/autoconf.h
|
||||
sed -i 's/#define DEFAULT_RANDOM_MACADDR.*1/#define DEFAULT_RANDOM_MACADDR 0/g' $PKG_BUILD/*/core/rtw_ieee80211.c
|
||||
}
|
||||
|
||||
pre_make_target() {
|
||||
unset LDFLAGS
|
||||
}
|
||||
|
||||
make_target() {
|
||||
make -C $(kernel_path) M=$PKG_BUILD/rtl8189ES \
|
||||
ARCH=$TARGET_KERNEL_ARCH \
|
||||
KSRC=$(kernel_path) \
|
||||
CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
|
||||
USER_EXTRA_CFLAGS="-fgnu89-inline"
|
||||
}
|
||||
|
||||
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 \;
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="RTL8189FS-aml"
|
||||
PKG_VERSION="538ba58"
|
||||
PKG_SHA256="3dc7602481096b8890d48915e16bf0eb1554ca1b7a3dfec6450486468aadb826"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/khadas/android_hardware_wifi_realtek_drivers_8189ftv"
|
||||
PKG_URL="https://github.com/khadas/android_hardware_wifi_realtek_drivers_8189ftv/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="Realtek RTL8189FS Linux driver"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
post_unpack() {
|
||||
sed -i 's/-DCONFIG_CONCURRENT_MODE//g; s/^CONFIG_POWER_SAVING.*$/CONFIG_POWER_SAVING = n/g; s/^CONFIG_RTW_DEBUG.*/CONFIG_RTW_DEBUG = n/g' $PKG_BUILD/*/Makefile
|
||||
sed -i 's/^#define CONFIG_DEBUG.*//g' $PKG_BUILD/*/include/autoconf.h
|
||||
sed -i 's/#define DEFAULT_RANDOM_MACADDR.*1/#define DEFAULT_RANDOM_MACADDR 0/g' $PKG_BUILD/*/core/rtw_ieee80211.c
|
||||
}
|
||||
|
||||
pre_make_target() {
|
||||
unset LDFLAGS
|
||||
}
|
||||
|
||||
make_target() {
|
||||
make -C $(kernel_path) M=$PKG_BUILD/rtl8189FS \
|
||||
ARCH=$TARGET_KERNEL_ARCH \
|
||||
KSRC=$(kernel_path) \
|
||||
CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
|
||||
USER_EXTRA_CFLAGS="-fgnu89-inline"
|
||||
}
|
||||
|
||||
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 \;
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="RTL8723BS-aml"
|
||||
PKG_VERSION="ee9d86a"
|
||||
PKG_SHA256="4d1c5fe0d05edbf5eab96dfe5ff99b7d56c098f4d4d317351fa25e75606de094"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/khadas/android_hardware_wifi_realtek_drivers_8723bs"
|
||||
PKG_URL="https://github.com/khadas/android_hardware_wifi_realtek_drivers_8723bs/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="Realtek RTL8723BS Linux driver"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
post_unpack() {
|
||||
sed -i 's/-DCONFIG_CONCURRENT_MODE//g; s/^CONFIG_POWER_SAVING.*$/CONFIG_POWER_SAVING = n/g; s/^CONFIG_RTW_DEBUG.*/CONFIG_RTW_DEBUG = n/g' $PKG_BUILD/*/Makefile
|
||||
sed -i 's/^#define CONFIG_DEBUG.*//g' $PKG_BUILD/*/include/autoconf.h
|
||||
sed -i 's/#define DEFAULT_RANDOM_MACADDR.*1/#define DEFAULT_RANDOM_MACADDR 0/g' $PKG_BUILD/*/core/rtw_ieee80211.c
|
||||
}
|
||||
|
||||
pre_make_target() {
|
||||
unset LDFLAGS
|
||||
}
|
||||
|
||||
make_target() {
|
||||
make -C $(kernel_path) M=$PKG_BUILD/rtl8723BS \
|
||||
ARCH=$TARGET_KERNEL_ARCH \
|
||||
KSRC=$(kernel_path) \
|
||||
CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
|
||||
USER_EXTRA_CFLAGS="-fgnu89-inline"
|
||||
}
|
||||
|
||||
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 \;
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="RTL8723DS-aml"
|
||||
PKG_VERSION="fb4adf7"
|
||||
PKG_SHA256="00da0a7773286df38e8785be2891025e4fa6c4ff5ace9450e54cae85f143847e"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/khadas/android_hardware_wifi_realtek_drivers_8723ds"
|
||||
PKG_URL="https://github.com/khadas/android_hardware_wifi_realtek_drivers_8723ds/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="Realtek RTL8723DS Linux driver"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
post_unpack() {
|
||||
sed -i 's/-DCONFIG_CONCURRENT_MODE//g; s/^CONFIG_POWER_SAVING.*$/CONFIG_POWER_SAVING = n/g; s/^CONFIG_RTW_DEBUG.*/CONFIG_RTW_DEBUG = n/g' $PKG_BUILD/*/Makefile
|
||||
sed -i 's/^#define CONFIG_DEBUG.*//g' $PKG_BUILD/*/include/autoconf.h
|
||||
sed -i 's/#define DEFAULT_RANDOM_MACADDR.*1/#define DEFAULT_RANDOM_MACADDR 0/g' $PKG_BUILD/*/core/rtw_ieee80211.c
|
||||
}
|
||||
|
||||
pre_make_target() {
|
||||
unset LDFLAGS
|
||||
}
|
||||
|
||||
make_target() {
|
||||
make -C $(kernel_path) M=$PKG_BUILD/rtl8723DS \
|
||||
ARCH=$TARGET_KERNEL_ARCH \
|
||||
KSRC=$(kernel_path) \
|
||||
CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
|
||||
USER_EXTRA_CFLAGS="-fgnu89-inline"
|
||||
}
|
||||
|
||||
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 \;
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="RTL8822BU-aml"
|
||||
PKG_VERSION="9df3607"
|
||||
PKG_SHA256="d7005150d0737f81475437e55430b2cef780664db6948f5a17fecc32c915d317"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/khadas/android_hardware_wifi_realtek_drivers_8822bu"
|
||||
PKG_URL="https://github.com/khadas/android_hardware_wifi_realtek_drivers_8822bu/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="Realtek RTL8822BU Linux driver"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
post_unpack() {
|
||||
sed -i 's/-DCONFIG_CONCURRENT_MODE//g; s/^CONFIG_POWER_SAVING.*$/CONFIG_POWER_SAVING = n/g; s/^CONFIG_RTW_DEBUG.*/CONFIG_RTW_DEBUG = n/g' $PKG_BUILD/*/Makefile
|
||||
sed -i 's/^#define CONFIG_DEBUG.*//g' $PKG_BUILD/*/include/autoconf.h
|
||||
sed -i 's/#define DEFAULT_RANDOM_MACADDR.*1/#define DEFAULT_RANDOM_MACADDR 0/g' $PKG_BUILD/*/core/rtw_ieee80211.c
|
||||
}
|
||||
|
||||
pre_make_target() {
|
||||
unset LDFLAGS
|
||||
}
|
||||
|
||||
make_target() {
|
||||
make -C $(kernel_path) M=$PKG_BUILD/rtl8822BU \
|
||||
ARCH=$TARGET_KERNEL_ARCH \
|
||||
KSRC=$(kernel_path) \
|
||||
CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
|
||||
USER_EXTRA_CFLAGS="-fgnu89-inline"
|
||||
}
|
||||
|
||||
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 \;
|
||||
}
|
@ -1 +0,0 @@
|
||||
options dhd firmware_path=/usr/lib/firmware/brcm/ nvram_path=/usr/lib/firmware/brcm/
|
@ -1,31 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="ap6xxx-aml"
|
||||
PKG_VERSION="99b3459"
|
||||
PKG_SHA256="5f2bfc29616d869ad5fb41e0782887d73cafe0bae8a13e7e945bb32b2a2c0877"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/khadas/android_hardware_wifi_broadcom_drivers_ap6xxx"
|
||||
PKG_URL="https://github.com/khadas/android_hardware_wifi_broadcom_drivers_ap6xxx/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="ap6xxx: Linux drivers for AP6xxx WLAN chips used in some devices based on Amlogic SoCs"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
pre_make_target() {
|
||||
unset LDFLAGS
|
||||
}
|
||||
|
||||
make_target() {
|
||||
make -C $(kernel_path) M=$PKG_BUILD/bcmdhd.1.363.59.144.x.cn \
|
||||
ARCH=$TARGET_KERNEL_ARCH \
|
||||
CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
|
||||
CONFIG_BCMDHD_DISABLE_WOWLAN=y
|
||||
}
|
||||
|
||||
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 \;
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
From fb537b584b78c0407c663ed4076e4ff79b36a14c Mon Sep 17 00:00:00 2001
|
||||
From: kszaq <kszaquitto@gmail.com>
|
||||
Date: Thu, 14 Sep 2017 21:20:18 +0200
|
||||
Subject: [PATCH 1/4] bcmdhd: Add new SDIO vendor/device ID for AP6212
|
||||
|
||||
---
|
||||
bcmdhd.1.363.59.144.x.cn/bcmsdh_sdmmc_linux.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/bcmdhd.1.363.59.144.x.cn/bcmsdh_sdmmc_linux.c b/bcmdhd.1.363.59.144.x.cn/bcmsdh_sdmmc_linux.c
|
||||
index af321a6..f7d9a09 100644
|
||||
--- a/bcmdhd.1.363.59.144.x.cn/bcmsdh_sdmmc_linux.c
|
||||
+++ b/bcmdhd.1.363.59.144.x.cn/bcmsdh_sdmmc_linux.c
|
||||
@@ -74,6 +74,9 @@
|
||||
#if !defined(SDIO_DEVICE_ID_BROADCOM_43239)
|
||||
#define SDIO_DEVICE_ID_BROADCOM_43239 43239
|
||||
#endif /* !defined(SDIO_DEVICE_ID_BROADCOM_43239) */
|
||||
+#if !defined(SDIO_DEVICE_ID_BROADCOM_4343)
|
||||
+#define SDIO_DEVICE_ID_BROADCOM_4343 0xa9a6
|
||||
+#endif /* !defined(SDIO_DEVICE_ID_BROADCOM_4343) */
|
||||
|
||||
extern void wl_cfg80211_set_parent_dev(void *dev);
|
||||
extern void sdioh_sdmmc_devintr_off(sdioh_info_t *sd);
|
||||
@@ -217,6 +220,7 @@ static void bcmsdh_sdmmc_remove(struct sdio_func *func)
|
||||
/* devices we support, null terminated */
|
||||
static const struct sdio_device_id bcmsdh_sdmmc_ids[] = {
|
||||
{ SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_DEFAULT) },
|
||||
+ { SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_4343) },
|
||||
{ SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_4325_SDGWB) },
|
||||
{ SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_4325) },
|
||||
{ SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_4329) },
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,53 +0,0 @@
|
||||
From cd000f263d8433f2a1a29d7e722cd57e47b30fc5 Mon Sep 17 00:00:00 2001
|
||||
From: kszaq <kszaquitto@gmail.com>
|
||||
Date: Thu, 14 Sep 2017 21:20:55 +0200
|
||||
Subject: [PATCH 2/4] bcmdhd: add BCM4335 firmware loading support
|
||||
|
||||
---
|
||||
bcmdhd.1.363.59.144.x.cn/dhd_config.c | 10 ++++++++++
|
||||
bcmdhd.1.363.59.144.x.cn/dhd_config.h | 1 +
|
||||
2 files changed, 11 insertions(+)
|
||||
|
||||
diff --git a/bcmdhd.1.363.59.144.x.cn/dhd_config.c b/bcmdhd.1.363.59.144.x.cn/dhd_config.c
|
||||
index ff07d18..b668400 100644
|
||||
--- a/bcmdhd.1.363.59.144.x.cn/dhd_config.c
|
||||
+++ b/bcmdhd.1.363.59.144.x.cn/dhd_config.c
|
||||
@@ -141,6 +141,14 @@ const static char *bcm43241b4_ag_fw_name[] = {
|
||||
"fw_bcm43241b4_ag_mfg.bin"
|
||||
};
|
||||
|
||||
+const static char *bcm4335b0_ag_fw_name[] = {
|
||||
+ "fw_bcm4335b0_ag.bin",
|
||||
+ "fw_bcm4335b0_ag_apsta.bin",
|
||||
+ "fw_bcm4335b0_ag_p2p.bin",
|
||||
+ "fw_bcm4335b0_ag_es.bin",
|
||||
+ "fw_bcm4335b0_ag_mfg.bin"
|
||||
+};
|
||||
+
|
||||
const static char *bcm4339a0_ag_fw_name[] = {
|
||||
"fw_bcm4339a0_ag.bin",
|
||||
"fw_bcm4339a0_ag_apsta.bin",
|
||||
@@ -529,6 +537,8 @@ dhd_conf_set_fw_name_by_chip(dhd_pub_t *dhd, char *fw_path)
|
||||
case BCM4335_CHIP_ID:
|
||||
if (chiprev == BCM4335A0_CHIP_REV)
|
||||
strcpy(&fw_path[i+1], bcm4339a0_ag_fw_name[fw_type]);
|
||||
+ else if (chiprev == BCM4335B0_CHIP_REV)
|
||||
+ strcpy(&fw_path[i+1], bcm4335b0_ag_fw_name[fw_type]);
|
||||
break;
|
||||
case BCM4345_CHIP_ID:
|
||||
case BCM43454_CHIP_ID:
|
||||
diff --git a/bcmdhd.1.363.59.144.x.cn/dhd_config.h b/bcmdhd.1.363.59.144.x.cn/dhd_config.h
|
||||
index cc76e8b..450df56 100644
|
||||
--- a/bcmdhd.1.363.59.144.x.cn/dhd_config.h
|
||||
+++ b/bcmdhd.1.363.59.144.x.cn/dhd_config.h
|
||||
@@ -28,6 +28,7 @@ extern uint dhd_slpauto;
|
||||
#define BCM43341B0_CHIP_REV 2
|
||||
#define BCM43241B4_CHIP_REV 5
|
||||
#define BCM4335A0_CHIP_REV 2
|
||||
+#define BCM4335B0_CHIP_REV 1
|
||||
#define BCM4339A0_CHIP_REV 1
|
||||
#define BCM43455C0_CHIP_REV 6
|
||||
#define BCM4354A1_CHIP_REV 1
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 24affe6bf59dfd6fd9b62b3118e4b2b9e555181a Mon Sep 17 00:00:00 2001
|
||||
From: kszaq <kszaquitto@gmail.com>
|
||||
Date: Thu, 14 Sep 2017 21:21:18 +0200
|
||||
Subject: [PATCH 3/4] bcmdhd: match only Broadcom SDIO devices
|
||||
|
||||
---
|
||||
bcmdhd.1.363.59.144.x.cn/bcmsdh_sdmmc_linux.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bcmdhd.1.363.59.144.x.cn/bcmsdh_sdmmc_linux.c b/bcmdhd.1.363.59.144.x.cn/bcmsdh_sdmmc_linux.c
|
||||
index f7d9a09..47ca535 100644
|
||||
--- a/bcmdhd.1.363.59.144.x.cn/bcmsdh_sdmmc_linux.c
|
||||
+++ b/bcmdhd.1.363.59.144.x.cn/bcmsdh_sdmmc_linux.c
|
||||
@@ -229,7 +229,7 @@ static const struct sdio_device_id bcmsdh_sdmmc_ids[] = {
|
||||
{ SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_4334) },
|
||||
{ SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_4324) },
|
||||
{ SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_DEVICE_ID_BROADCOM_43239) },
|
||||
- { SDIO_DEVICE_CLASS(SDIO_CLASS_NONE) },
|
||||
+ { SDIO_DEVICE(SDIO_VENDOR_ID_BROADCOM, SDIO_ANY_ID) },
|
||||
{ /* end: all zeroes */ },
|
||||
};
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,37 +0,0 @@
|
||||
From b9edf37b14f64a8bed5586898e3503322a5b8bfc Mon Sep 17 00:00:00 2001
|
||||
From: kszaq <kszaquitto@gmail.com>
|
||||
Date: Thu, 5 Oct 2017 22:04:11 +0200
|
||||
Subject: [PATCH 4/4] bcmdhd: if driver is not yet initialized, wait and retry
|
||||
|
||||
---
|
||||
bcmdhd.1.363.59.144.x.cn/dhd_linux.c | 14 +++++++++++---
|
||||
1 file changed, 11 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/bcmdhd.1.363.59.144.x.cn/dhd_linux.c b/bcmdhd.1.363.59.144.x.cn/dhd_linux.c
|
||||
index c64f851..1754fb7 100644
|
||||
--- a/bcmdhd.1.363.59.144.x.cn/dhd_linux.c
|
||||
+++ b/bcmdhd.1.363.59.144.x.cn/dhd_linux.c
|
||||
@@ -6127,9 +6127,17 @@ dhd_open(struct net_device *net)
|
||||
int ifidx;
|
||||
int32 ret = 0;
|
||||
|
||||
- if (!dhd_download_fw_on_driverload && !dhd_driver_init_done) {
|
||||
- DHD_ERROR(("%s: WLAN driver is not initialized\n", __FUNCTION__));
|
||||
- return -1;
|
||||
+ for (int retry = 0; ++retry; ) {
|
||||
+ if (!dhd_download_fw_on_driverload && !dhd_driver_init_done) {
|
||||
+ DHD_ERROR(("%s: WLAN driver is not initialized\n", __FUNCTION__));
|
||||
+ if (retry > 1) {
|
||||
+ return -1;
|
||||
+ } else {
|
||||
+ OSL_SLEEP(1000);
|
||||
+ }
|
||||
+ } else {
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
|
||||
printf("%s: Enter %p\n", __FUNCTION__, net);
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,16 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="avl6862-aml"
|
||||
PKG_VERSION="1.0"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://libreelec.tv"
|
||||
PKG_URL=""
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_SECTION="virtual"
|
||||
PKG_LONGDESC="avl6862-aml: Internal DVB tuner driver for Amlogic devices developed by afl1"
|
||||
|
||||
post_install() {
|
||||
enable_service amlogic-dvb.service
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
[Unit]
|
||||
Description=Amlogic DVB module loader
|
||||
ConditionPathExists=/proc/device-tree/dvbfe/dtv_demod0
|
||||
After=kernel-overlays.service
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/bin/sh -c '[ `cat /proc/device-tree/dvbfe/dtv_demod0` = "Avl6211" ] && /sbin/modprobe aml_fe'
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
@ -1,37 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="fd628-aml"
|
||||
PKG_VERSION="8047f2e"
|
||||
PKG_SHA256="168b9ae9df56834462a68654fb204468a4c8df31ce2b88d654fdff378e5eacda"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/arthur-liberman/linux_fd628"
|
||||
PKG_URL="https://github.com/arthur-liberman/linux_fd628/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="fd628-aml: Driver for Amlogic FD628 display"
|
||||
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
pre_make_target() {
|
||||
unset LDFLAGS
|
||||
}
|
||||
|
||||
make_target() {
|
||||
kernel_make -C "$(kernel_path)" M="$PKG_BUILD/driver"
|
||||
|
||||
make FD628Service
|
||||
}
|
||||
|
||||
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/usr/sbin
|
||||
cp -P FD628Service $INSTALL/usr/sbin
|
||||
}
|
||||
|
||||
post_install() {
|
||||
enable_service fd628.service
|
||||
}
|
@ -1,6 +0,0 @@
|
||||
default:
|
||||
obj-m += driver/aml_fd628.o
|
||||
$(MAKE) modules
|
||||
|
||||
FD628Service: FD628Service.c
|
||||
$(CC) $(CFLAGS) -Wall -w -o $@ $^ -lm -lpthread
|
@ -1,15 +0,0 @@
|
||||
[Unit]
|
||||
Description=Amlogic FD628 Service
|
||||
ConditionPathExists=/proc/device-tree/le-vfd/
|
||||
ConditionPathExists=/storage/.config/vfd.conf
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
EnvironmentFile=/storage/.config/vfd.conf
|
||||
ExecStart=/bin/sh -c '[ `cat /proc/device-tree/le-vfd/compatible` = "le,vfd" ] && /sbin/modprobe aml_fd628 vfd_gpio_clk=${vfd_gpio_clk} vfd_gpio_dat=${vfd_gpio_dat} vfd_gpio_stb=${vfd_gpio_stb} vfd_chars=${vfd_chars} vfd_dot_bits=${vfd_dot_bits} vfd_display_type=${vfd_display_type}'
|
||||
ExecStart=/bin/sh -c '[ `cat /proc/device-tree/le-vfd/compatible` = "le,vfd" ] && /usr/sbin/FD628Service'
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
||||
|
@ -1,33 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="mt7601u-aml"
|
||||
PKG_VERSION="4e61a61"
|
||||
PKG_SHA256="814a63d8654f87a76cc06425ad2120daa32646f5220341a26296e4a6643b013a"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/khadas/android_hardware_wifi_mtk_drivers_mt7601"
|
||||
PKG_URL="https://github.com/khadas/android_hardware_wifi_mtk_drivers_mt7601/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="mt7601u Linux driver"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
pre_make_target() {
|
||||
unset LDFLAGS
|
||||
}
|
||||
|
||||
make_target() {
|
||||
make -C $(kernel_path) M=$PKG_BUILD \
|
||||
ARCH=$TARGET_KERNEL_ARCH \
|
||||
CROSS_COMPILE=$TARGET_KERNEL_PREFIX
|
||||
}
|
||||
|
||||
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)
|
||||
cp $PKG_BUILD/RT2870STA_7601.dat $INSTALL/$(get_full_firmware_dir)
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
diff --git a/include/os/rt_linux.h b/include/os/rt_linux.h
|
||||
index 0303698..36dd603 100755
|
||||
--- a/include/os/rt_linux.h
|
||||
+++ b/include/os/rt_linux.h
|
||||
@@ -159,7 +159,7 @@ typedef struct usb_ctrlrequest devctrlrequest;
|
||||
#ifdef ALLWINNER
|
||||
#define STA_PROFILE_PATH "/system/vendor/modules/RT2870STA_7601.dat"
|
||||
#else
|
||||
-#define STA_PROFILE_PATH "/system/etc/wifi/RT2870STA_7601.dat"
|
||||
+#define STA_PROFILE_PATH "/lib/firmware/RT2870STA_7601.dat"
|
||||
#endif
|
||||
#define STA_DRIVER_VERSION "JEDI.L0.MP1.mt7601u.v1.2"
|
||||
#define DRIVER_ROLE "STA"
|
@ -1,35 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="mt7603u-aml"
|
||||
PKG_VERSION="0c53dfb"
|
||||
PKG_SHA256="9e3eab02f3c3dd7de373c5d631c2069771e6ad783ecda36a484030ab4ec0ccec"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/khadas/android_hardware_wifi_mtk_drivers_mt7603"
|
||||
PKG_URL="https://github.com/khadas/android_hardware_wifi_mtk_drivers_mt7603/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="mt7603u Linux driver"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
pre_make_target() {
|
||||
unset LDFLAGS
|
||||
}
|
||||
|
||||
make_target() {
|
||||
make LINUX_SRC=$(kernel_path) \
|
||||
ARCH=$TARGET_KERNEL_ARCH \
|
||||
CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
|
||||
RT28xx_DIR=$PKG_BUILD \
|
||||
-f $PKG_BUILD/Makefile
|
||||
}
|
||||
|
||||
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)
|
||||
cp $PKG_BUILD/conf/MT7603USTA.dat $INSTALL/$(get_full_firmware_dir)
|
||||
}
|
@ -1,38 +0,0 @@
|
||||
diff --git a/include/os/rt_linux.h b/include/os/rt_linux.h
|
||||
index 9ddc4ea..258907a 100755
|
||||
--- a/include/os/rt_linux.h
|
||||
+++ b/include/os/rt_linux.h
|
||||
@@ -201,7 +201,7 @@ typedef struct usb_ctrlrequest devctrlrequest;
|
||||
|
||||
#ifdef CONFIG_STA_SUPPORT
|
||||
#ifdef RTMP_MAC_PCI
|
||||
-#define STA_PROFILE_PATH "/system/etc/wifi/RT2870STA_7603.dat"
|
||||
+#define STA_PROFILE_PATH "/lib/firmware/RT2870STA_7603.dat"
|
||||
#define STA_DRIVER_VERSION "3.0.0.0"
|
||||
#ifdef MULTIPLE_CARD_SUPPORT
|
||||
#define CARD_INFO_PATH "/etc/Wireless/RT2860STA/RT2860STACard.dat"
|
||||
@@ -210,12 +210,12 @@ typedef struct usb_ctrlrequest devctrlrequest;
|
||||
|
||||
#ifdef RTMP_MAC_USB
|
||||
#ifdef HE_BD_CFG80211_SUPPORT
|
||||
-#define STA_PROFILE_PATH "/system/etc/wifi/RT2870STA_7603.dat"
|
||||
+#define STA_PROFILE_PATH "/lib/firmware/RT2870STA_7603.dat"
|
||||
#else
|
||||
#ifdef USE_CHIP_DEPENDENT_PROFILE_NAME
|
||||
-#define STA_PROFILE_PATH "/system/etc/wifi/RT2870STA_7603.dat"
|
||||
+#define STA_PROFILE_PATH "/lib/firmware/RT2870STA_7603.dat"
|
||||
#else
|
||||
-#define STA_PROFILE_PATH "/system/etc/wifi/RT2870STA_7603.dat"
|
||||
+#define STA_PROFILE_PATH "/lib/firmware/RT2870STA_7603.dat"
|
||||
#endif /* USE_CHIP_DEPENDENT_PROFILE_NAME */
|
||||
#endif /* HE_BD_CFG80211_SUPPORT */
|
||||
#define STA_DRIVER_VERSION "JEDI.L0.MP1.mt7603u.v1.8"
|
||||
@@ -227,7 +227,7 @@ typedef struct usb_ctrlrequest devctrlrequest;
|
||||
|
||||
|
||||
#ifdef RTMP_MAC_SDIO
|
||||
-#define STA_PROFILE_PATH "/system/etc/wifi/RT2870STA_7603.dat"
|
||||
+#define STA_PROFILE_PATH "/lib/firmware/RT2870STA_7603.dat"
|
||||
#define STA_DRIVER_VERSION "3.0.0.0"
|
||||
#ifdef MULTIPLE_CARD_SUPPORT
|
||||
#define CARD_INFO_PATH "/etc/Wireless/RT2870STA/RT2870STACard.dat"
|
@ -1,13 +0,0 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 65d0a5c..7fc16f4 100755
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -234,7 +234,7 @@ endif
|
||||
ifeq ($(PREALLOC), YES)
|
||||
#build prealloc.ko
|
||||
cp -f $(RT28xx_DIR)/os/linux/Makefile.6.prealloc $(RT28xx_DIR)/os/linux/Makefile
|
||||
- $(MAKE) ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
|
||||
+ $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
|
||||
endif
|
||||
cp -f $(RT28xx_DIR)/os/linux/Makefile.6 $(RT28xx_DIR)/os/linux/Makefile
|
||||
ifeq ($(PLATFORM),DM6446)
|
@ -1,37 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="qca9377-aml"
|
||||
PKG_VERSION="0cc65f9"
|
||||
PKG_SHA256="336f6e95fc16874a81daf5289c656688a90c5df566ffeaea708f7ac2f5198b9e"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://boundarydevices.com/new-silex-wifi-802-11ac-bt4-1-module/"
|
||||
PKG_URL="https://github.com/boundarydevices/qcacld-2.0/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="qca9377 Linux Driver"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
post_unpack() {
|
||||
sed -i 's,-Wall,,g; s,-Werror,,g' $PKG_BUILD/Kbuild
|
||||
sed -i 's,CDEFINES :=,CDEFINES := -Wno-misleading-indentation -Wno-unused-variable -Wno-unused-function,g' $PKG_BUILD/Kbuild
|
||||
}
|
||||
|
||||
pre_make_target() {
|
||||
unset LDFLAGS
|
||||
unset CFLAGS
|
||||
}
|
||||
|
||||
make_target() {
|
||||
make KERNEL_SRC="$(kernel_path)" \
|
||||
ARCH=$TARGET_KERNEL_ARCH \
|
||||
CROSS_COMPILE=$TARGET_KERNEL_PREFIX \
|
||||
CONFIG_CLD_HL_SDIO_CORE=y
|
||||
}
|
||||
|
||||
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 \;
|
||||
}
|
@ -1,538 +0,0 @@
|
||||
From 7d4ee23fb20cc5e17d8d79db20a0d6704ac3df6c Mon Sep 17 00:00:00 2001
|
||||
From: kszaq <kszaquitto@gmail.com>
|
||||
Date: Tue, 10 Jan 2017 22:43:12 +0100
|
||||
Subject: [PATCH] Modify SDIO and firmware handling to support chips used in
|
||||
Amlogic devices
|
||||
|
||||
---
|
||||
CORE/HDD/src/wlan_hdd_cfg.c | 10 +-
|
||||
CORE/HDD/src/wlan_hdd_main.c | 180 ++++++++++++++++++++-
|
||||
CORE/SERVICES/BMI/ol_fw.c | 8 +-
|
||||
CORE/SERVICES/HIF/sdio/linux/if_ath_sdio.c | 6 -
|
||||
.../sdio/linux/native_sdio/include/hif_internal.h | 2 +-
|
||||
CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c | 62 +++----
|
||||
6 files changed, 209 insertions(+), 59 deletions(-)
|
||||
|
||||
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
|
||||
index af7f399..5eedfcb 100644
|
||||
--- a/CORE/HDD/src/wlan_hdd_cfg.c
|
||||
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
|
||||
@@ -60,6 +60,8 @@
|
||||
#include <pmcApi.h>
|
||||
#include <wlan_hdd_misc.h>
|
||||
|
||||
+extern int qca_request_firmware(const struct firmware **firmware_p, const char *name,struct device *device);
|
||||
+
|
||||
static char *mac_param;
|
||||
module_param_named(mac, mac_param, charp, S_IRUGO);
|
||||
MODULE_PARM_DESC(mac, "mac address override");
|
||||
@@ -4411,11 +4413,11 @@ VOS_STATUS hdd_parse_config_ini(hdd_context_t* pHddCtx)
|
||||
|
||||
memset(cfgIniTable, 0, sizeof(cfgIniTable));
|
||||
|
||||
- status = request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
|
||||
+ status = qca_request_firmware(&fw, WLAN_INI_FILE, pHddCtx->parent_dev);
|
||||
|
||||
if(status)
|
||||
{
|
||||
- hddLog(VOS_TRACE_LEVEL_FATAL, "%s: request_firmware failed %d",__func__, status);
|
||||
+ hddLog(VOS_TRACE_LEVEL_FATAL, "%s: qca_request_firmware failed %d",__func__, status);
|
||||
vos_status = VOS_STATUS_E_FAILURE;
|
||||
goto config_exit;
|
||||
}
|
||||
@@ -5104,11 +5106,11 @@ VOS_STATUS hdd_update_mac_config(hdd_context_t *pHddCtx)
|
||||
}
|
||||
|
||||
memset(macTable, 0, sizeof(macTable));
|
||||
- status = request_firmware(&fw, WLAN_MAC_FILE, pHddCtx->parent_dev);
|
||||
+ status = qca_request_firmware(&fw, WLAN_MAC_FILE, pHddCtx->parent_dev);
|
||||
|
||||
if (status)
|
||||
{
|
||||
- hddLog(VOS_TRACE_LEVEL_WARN, "%s: request_firmware failed %d",
|
||||
+ hddLog(VOS_TRACE_LEVEL_WARN, "%s: qca_request_firmware failed %d",
|
||||
__func__, status);
|
||||
vos_status = VOS_STATUS_E_FAILURE;
|
||||
return vos_status;
|
||||
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
|
||||
index 1919627..3bcc6b0 100644
|
||||
--- a/CORE/HDD/src/wlan_hdd_main.c
|
||||
+++ b/CORE/HDD/src/wlan_hdd_main.c
|
||||
@@ -239,6 +239,163 @@ static VOS_STATUS hdd_parse_ese_beacon_req(tANI_U8 *pValue,
|
||||
/*
|
||||
* Android DRIVER command structures
|
||||
*/
|
||||
+//tkun add
|
||||
+ typedef char A_CHAR;
|
||||
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,20)
|
||||
+ #define GET_INODE_FROM_FILEP(filp) \
|
||||
+ (filp)->f_path.dentry->d_inode
|
||||
+ #else
|
||||
+ #define GET_INODE_FROM_FILEP(filp) \
|
||||
+ (filp)->f_dentry->d_inode
|
||||
+ #endif
|
||||
+// #define A_MALLOC(size) kmalloc((size), GFP_KERNEL)
|
||||
+ #define A_MALLOC_NOWAIT(size) kmalloc((size), GFP_ATOMIC)
|
||||
+// #define A_FREE(addr) kfree(addr);addr=NULL;
|
||||
+//#define A_MEMCPY(dst, src, len) memcpy((dst), (src), (len))
|
||||
+// #define A_MEMZERO(addr, len) memset((addr), 0, (len))
|
||||
+ #define A_MEMCMP(addr1, addr2, len) memcmp((addr1), (addr2), (len))
|
||||
+ #define A_ROUND_UP(x, y) ((((x) + ((y) - 1)) / (y)) * (y))
|
||||
+
|
||||
+ char qcafwpath[256] = "/lib/firmware";
|
||||
+
|
||||
+ int android_readwrite_file(const A_CHAR *filename, A_CHAR *rbuf, const A_CHAR *wbuf, size_t length)
|
||||
+ {
|
||||
+ int ret = 0;
|
||||
+ struct file *filp = (struct file *)-ENOENT;
|
||||
+ mm_segment_t oldfs;
|
||||
+ oldfs = get_fs();
|
||||
+ set_fs(KERNEL_DS);
|
||||
+
|
||||
+ // printk("%s: filename %s \n",__func__,filename);
|
||||
+ do {
|
||||
+ int mode = (wbuf) ? O_RDWR : O_RDONLY;
|
||||
+ filp = filp_open(filename, mode, S_IRUSR);
|
||||
+ if (IS_ERR(filp) || !filp->f_op) {
|
||||
+ printk("%s: file %s filp_open error\n", __FUNCTION__, filename);
|
||||
+ ret = -ENOENT;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (length==0) {
|
||||
+ /* Read the length of the file only */
|
||||
+ struct inode *inode;
|
||||
+
|
||||
+ inode = GET_INODE_FROM_FILEP(filp);
|
||||
+ if (!inode) {
|
||||
+ // printk("%s: Get inode from %s failed\n", __FUNCTION__, filen ame);
|
||||
+ ret = -ENOENT;
|
||||
+ break;
|
||||
+ }
|
||||
+ ret = i_size_read(inode->i_mapping->host);
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if (wbuf) {
|
||||
+ if ( (ret=filp->f_op->write(filp, wbuf, length, &filp->f_pos)) < 0) {
|
||||
+// printk("%s: Write %u bytes to file %s error %d\n", __FUNCTION__,
|
||||
+ // length, filename, ret);
|
||||
+ break;
|
||||
+ }
|
||||
+ } else {
|
||||
+ if ( (ret=filp->f_op->read(filp, rbuf, length, &filp->f_pos)) < 0) {
|
||||
+// printk ("%s: Read %u bytes from file %s error %d\n", __FUNCTION__,
|
||||
+ // length, filename, ret);
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ } while (0);
|
||||
+
|
||||
+ if (!IS_ERR(filp)) {
|
||||
+ filp_close(filp, NULL);
|
||||
+ }
|
||||
+ set_fs(oldfs);
|
||||
+
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ int android_request_firmware(const struct firmware **firmware_p, const char *name,struct device *device)
|
||||
+ {
|
||||
+ int ret = 0;
|
||||
+ struct firmware *firmware;
|
||||
+ char filename[256];
|
||||
+ const char *raw_filename = name;
|
||||
+ *firmware_p = firmware = A_MALLOC(sizeof(*firmware));
|
||||
+ if (!firmware)
|
||||
+ return -ENOMEM;
|
||||
+ A_MEMZERO(firmware, sizeof(*firmware));
|
||||
+ do {
|
||||
+ size_t length, bufsize, bmisize;
|
||||
+
|
||||
+ if (snprintf(filename, sizeof(filename), "%s/%s", qcafwpath,
|
||||
+ raw_filename) >= sizeof(filename)) {
|
||||
+ printk("snprintf: %s/%s\n", qcafwpath, raw_filename);
|
||||
+ ret = -1;
|
||||
+ break;
|
||||
+ }
|
||||
+ if ( (ret=android_readwrite_file(filename, NULL, NULL, 0)) < 0) {
|
||||
+ break;
|
||||
+ } else {
|
||||
+ length = ret;
|
||||
+ }
|
||||
+
|
||||
+ if (strcmp(raw_filename, "softmac") == 0) {
|
||||
+ bufsize = length = 17;
|
||||
+ } else {
|
||||
+ bufsize = ALIGN(length, PAGE_SIZE);
|
||||
+ bmisize = A_ROUND_UP(length, 4);
|
||||
+ bufsize = max(bmisize, bufsize);
|
||||
+ }
|
||||
+ firmware->data = vmalloc(bufsize);
|
||||
+ firmware->size = length;
|
||||
+
|
||||
+ // printk("AR6K: %s(): raw_filename=%s, bufsize=%d\n", __FUNCTION__, ra w_filename, bufsize);
|
||||
+
|
||||
+ if (!firmware->data) {
|
||||
+ printk("%s: Cannot allocate buffer for firmware\n", __FUNCTION__);
|
||||
+ ret = -ENOMEM;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ if ( (ret=android_readwrite_file(filename, (char*)firmware->data, NULL, length)) != length) {
|
||||
+// printk("%s: file read error, ret %d request %d\n", __FUNCTION__,ret,length);
|
||||
+// ret = -1;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ } while (0);
|
||||
+
|
||||
+ if (ret<0) {
|
||||
+ if (firmware) {
|
||||
+ if (firmware->data)
|
||||
+ vfree(firmware->data);
|
||||
+ A_FREE(firmware);
|
||||
+ }
|
||||
+ *firmware_p = NULL;
|
||||
+ } else {
|
||||
+ ret = 0;
|
||||
+ }
|
||||
+ return ret;
|
||||
+ }
|
||||
+
|
||||
+ void android_release_firmware(const struct firmware *firmware)
|
||||
+ {
|
||||
+ if (firmware) {
|
||||
+ if (firmware->data)
|
||||
+ vfree(firmware->data);
|
||||
+ kfree(firmware);
|
||||
+ }
|
||||
+ }
|
||||
+extern int qca_request_firmware(const struct firmware **firmware_p,const char *name,struct device *device)
|
||||
+ {
|
||||
+ // int uevent = 1;
|
||||
+
|
||||
+ //return _request_firmware(firmware_p, name, device, uevent, false);
|
||||
+
|
||||
+ return android_request_firmware(firmware_p, name,device);
|
||||
+
|
||||
+
|
||||
+ }
|
||||
struct android_wifi_reassoc_params {
|
||||
unsigned char bssid[18];
|
||||
int channel;
|
||||
@@ -7778,7 +7935,7 @@ VOS_STATUS hdd_get_cfg_file_size(v_VOID_t *pCtx, char *pFileName, v_SIZE_t *pBuf
|
||||
|
||||
ENTER();
|
||||
|
||||
- status = request_firmware(&pHddCtx->fw, pFileName, pHddCtx->parent_dev);
|
||||
+ status = qca_request_firmware(&pHddCtx->fw, pFileName, pHddCtx->parent_dev);
|
||||
|
||||
if(status || !pHddCtx->fw || !pHddCtx->fw->data) {
|
||||
hddLog(VOS_TRACE_LEVEL_FATAL,"%s: CFG download failed",__func__);
|
||||
@@ -7819,7 +7976,7 @@ VOS_STATUS hdd_read_cfg_file(v_VOID_t *pCtx, char *pFileName,
|
||||
|
||||
ENTER();
|
||||
|
||||
- status = request_firmware(&pHddCtx->fw, pFileName, pHddCtx->parent_dev);
|
||||
+ status = qca_request_firmware(&pHddCtx->fw, pFileName, pHddCtx->parent_dev);
|
||||
|
||||
if(status || !pHddCtx->fw || !pHddCtx->fw->data) {
|
||||
hddLog(VOS_TRACE_LEVEL_FATAL,"%s: CFG download failed",__func__);
|
||||
@@ -12860,15 +13017,34 @@ static int hdd_driver_init( void)
|
||||
\return - 0 for success, non zero for failure
|
||||
|
||||
--------------------------------------------------------------------------*/
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0))
|
||||
+extern int wifi_setup_dt(void);
|
||||
+extern void wifi_teardown_dt(void);
|
||||
+#endif
|
||||
+extern void extern_wifi_set_enable(int is_on);
|
||||
+extern void sdio_reinit(void);
|
||||
+
|
||||
#ifdef MODULE
|
||||
static int __init hdd_module_init ( void)
|
||||
{
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0))
|
||||
+ wifi_setup_dt();
|
||||
+#endif
|
||||
+ extern_wifi_set_enable(0);
|
||||
+ mdelay(200);
|
||||
+ extern_wifi_set_enable(1);
|
||||
+ mdelay(200);
|
||||
+sdio_reinit();
|
||||
+
|
||||
return hdd_driver_init();
|
||||
}
|
||||
#else /* #ifdef MODULE */
|
||||
static int __init hdd_module_init ( void)
|
||||
{
|
||||
/* Driver initialization is delayed to fwpath_changed_handler */
|
||||
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 14, 0))
|
||||
+wifi_teardown_dt();
|
||||
+#endif
|
||||
return 0;
|
||||
}
|
||||
#endif /* #ifdef MODULE */
|
||||
diff --git a/CORE/SERVICES/BMI/ol_fw.c b/CORE/SERVICES/BMI/ol_fw.c
|
||||
index 66d741e..6e0e8d8 100644
|
||||
--- a/CORE/SERVICES/BMI/ol_fw.c
|
||||
+++ b/CORE/SERVICES/BMI/ol_fw.c
|
||||
@@ -118,7 +118,7 @@ static int ol_get_fw_files_for_target(struct ol_fw_files *pfw_files,
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
-
|
||||
+extern int qca_request_firmware(const struct firmware **firmware_p, const char *name,struct device *device);
|
||||
#ifdef HIF_USB
|
||||
static A_STATUS ol_usb_extra_initialization(struct ol_softc *scn);
|
||||
#endif
|
||||
@@ -164,7 +164,7 @@ static int ol_transfer_single_bin_file(struct ol_softc *scn,
|
||||
__func__));
|
||||
}
|
||||
|
||||
- if (request_firmware(&fw_entry, filename, scn->sc_osdev->device) != 0)
|
||||
+ if (qca_request_firmware(&fw_entry, filename, scn->sc_osdev->device) != 0)
|
||||
{
|
||||
AR_DEBUG_PRINTF(ATH_DEBUG_ERR,
|
||||
("%s: Failed to get %s\n",
|
||||
@@ -492,7 +492,7 @@ static int ol_transfer_bin_file(struct ol_softc *scn, ATH_BIN_FILE file,
|
||||
break;
|
||||
}
|
||||
|
||||
- if (request_firmware(&fw_entry, filename, scn->sc_osdev->device) != 0)
|
||||
+ if (qca_request_firmware(&fw_entry, filename, scn->sc_osdev->device) != 0)
|
||||
{
|
||||
printk("%s: Failed to get %s\n", __func__, filename);
|
||||
|
||||
@@ -506,7 +506,7 @@ static int ol_transfer_bin_file(struct ol_softc *scn, ATH_BIN_FILE file,
|
||||
filename = scn->fw_files.board_data;
|
||||
printk("%s: Trying to load default %s\n",
|
||||
__func__, filename);
|
||||
- if (request_firmware(&fw_entry, filename,
|
||||
+ if (qca_request_firmware(&fw_entry, filename,
|
||||
scn->sc_osdev->device) != 0) {
|
||||
printk("%s: Failed to get %s\n",
|
||||
__func__, filename);
|
||||
diff --git a/CORE/SERVICES/HIF/sdio/linux/if_ath_sdio.c b/CORE/SERVICES/HIF/sdio/linux/if_ath_sdio.c
|
||||
index c99020e..6bafed8 100644
|
||||
--- a/CORE/SERVICES/HIF/sdio/linux/if_ath_sdio.c
|
||||
+++ b/CORE/SERVICES/HIF/sdio/linux/if_ath_sdio.c
|
||||
@@ -234,12 +234,6 @@ ath_hif_sdio_remove(void *context, void *hif_handle)
|
||||
{
|
||||
ENTER();
|
||||
|
||||
- if (!sc) {
|
||||
- VOS_TRACE(VOS_MODULE_ID_HIF, VOS_TRACE_LEVEL_ERROR,
|
||||
- "Global SDIO context is NULL");
|
||||
- return A_ERROR;
|
||||
- }
|
||||
-
|
||||
athdiag_procfs_remove();
|
||||
|
||||
#ifndef TARGET_DUMP_FOR_NON_QC_PLATFORM
|
||||
diff --git a/CORE/SERVICES/HIF/sdio/linux/native_sdio/include/hif_internal.h b/CORE/SERVICES/HIF/sdio/linux/native_sdio/include/hif_internal.h
|
||||
index 382e38c..234bc09 100644
|
||||
--- a/CORE/SERVICES/HIF/sdio/linux/native_sdio/include/hif_internal.h
|
||||
+++ b/CORE/SERVICES/HIF/sdio/linux/native_sdio/include/hif_internal.h
|
||||
@@ -112,7 +112,7 @@ struct hif_device {
|
||||
A_BOOL swap_mailbox;
|
||||
};
|
||||
|
||||
-#define HIF_DMA_BUFFER_SIZE (4 * 1024)
|
||||
+#define HIF_DMA_BUFFER_SIZE (56 * 1024)
|
||||
#define CMD53_FIXED_ADDRESS 1
|
||||
#define CMD53_INCR_ADDRESS 2
|
||||
|
||||
diff --git a/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c b/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
|
||||
index d45ebd9..9fb1057 100644
|
||||
--- a/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
|
||||
+++ b/CORE/SERVICES/HIF/sdio/linux/native_sdio/src/hif.c
|
||||
@@ -64,7 +64,8 @@
|
||||
((request->request & HIF_WRITE)&& \
|
||||
(request->address >= 0x1000 && request->address < 0x1FFFF))
|
||||
#endif
|
||||
-unsigned int mmcbusmode = 0;
|
||||
+//unsigned int mmcbusmode = 0;
|
||||
+unsigned int mmcbusmode = 5;
|
||||
module_param(mmcbusmode, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
|
||||
MODULE_PARM_DESC(mmcbusmode, "Set MMC driver Bus Mode: 1-SDR12, 2-SDR25, 3-SDR50, 4-DDR50, 5-SDR104");
|
||||
EXPORT_SYMBOL(mmcbusmode);
|
||||
@@ -74,7 +75,9 @@ module_param(mmcbuswidth, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
|
||||
MODULE_PARM_DESC(mmcbuswidth, "Set MMC driver Bus Width: 1-1Bit, 4-4Bit, 8-8Bit");
|
||||
EXPORT_SYMBOL(mmcbuswidth);
|
||||
|
||||
-unsigned int mmcclock = 0;
|
||||
+//unsigned int mmcclock = 0;
|
||||
+//unsigned int mmcclock = 166666666;
|
||||
+unsigned int mmcclock = 200000000;
|
||||
module_param(mmcclock, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
|
||||
MODULE_PARM_DESC(mmcclock, "Set MMC driver Clock value");
|
||||
EXPORT_SYMBOL(mmcclock);
|
||||
@@ -95,7 +98,7 @@ unsigned int asyncintdelay = 2;
|
||||
module_param(asyncintdelay, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
|
||||
MODULE_PARM_DESC(asyncintdelay, "Delay clock count for aysnc interrupt, 2 is default, vaild values are 1 and 2");
|
||||
#else
|
||||
-unsigned int asyncintdelay = 0;
|
||||
+unsigned int asyncintdelay = 2;
|
||||
module_param(asyncintdelay, uint, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH);
|
||||
MODULE_PARM_DESC(asyncintdelay, "Delay clock count for aysnc interrupt, 0 is default, vaild values are 1 and 2");
|
||||
#endif
|
||||
@@ -412,12 +415,6 @@ __HIFReadWrite(HIF_DEVICE *device,
|
||||
tbuffer = device->dma_buffer;
|
||||
/* copy the write data to the dma buffer */
|
||||
AR_DEBUG_ASSERT(length <= HIF_DMA_BUFFER_SIZE);
|
||||
- if (length > HIF_DMA_BUFFER_SIZE) {
|
||||
- AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
|
||||
- ("AR6000: Invalid write length: %d\n", length));
|
||||
- status = A_EINVAL;
|
||||
- break;
|
||||
- }
|
||||
memcpy(tbuffer, buffer, length);
|
||||
bounced = TRUE;
|
||||
} else {
|
||||
@@ -440,12 +437,6 @@ __HIFReadWrite(HIF_DEVICE *device,
|
||||
if (BUFFER_NEEDS_BOUNCE(buffer)) {
|
||||
AR_DEBUG_ASSERT(device->dma_buffer != NULL);
|
||||
AR_DEBUG_ASSERT(length <= HIF_DMA_BUFFER_SIZE);
|
||||
- if (length > HIF_DMA_BUFFER_SIZE) {
|
||||
- AR_DEBUG_PRINTF(ATH_DEBUG_ERROR,
|
||||
- ("AR6000: Invalid read length: %d\n", length));
|
||||
- status = A_EINVAL;
|
||||
- break;
|
||||
- }
|
||||
tbuffer = device->dma_buffer;
|
||||
bounced = TRUE;
|
||||
} else {
|
||||
@@ -695,7 +686,7 @@ static int async_task(void *param)
|
||||
complete_and_exit(&device->async_completion, 0);
|
||||
return 0;
|
||||
}
|
||||
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32))
|
||||
+#if 1
|
||||
static A_INT32 IssueSDCommand(HIF_DEVICE *device, A_UINT32 opcode, A_UINT32 arg, A_UINT32 flags, A_UINT32 *resp)
|
||||
{
|
||||
struct mmc_command cmd;
|
||||
@@ -719,6 +710,7 @@ static A_INT32 IssueSDCommand(HIF_DEVICE *device, A_UINT32 opcode, A_UINT32 arg,
|
||||
return err;
|
||||
}
|
||||
#endif
|
||||
+//extern int sdio_reset_comm(struct mmc_card *card);
|
||||
A_STATUS ReinitSDIO(HIF_DEVICE *device)
|
||||
{
|
||||
A_INT32 err = 0;
|
||||
@@ -733,10 +725,12 @@ A_STATUS ReinitSDIO(HIF_DEVICE *device)
|
||||
host = card->host;
|
||||
|
||||
AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("AR6000: +ReinitSDIO \n"));
|
||||
+
|
||||
+// err = sdio_reset_comm(card);
|
||||
+#if 1
|
||||
sdio_claim_host(func);
|
||||
|
||||
do {
|
||||
-#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,32))
|
||||
/* 2.6.32 kernel does part of the SDIO initalization upon resume */
|
||||
A_BOOL lt_2_6_32 = (LINUX_VERSION_CODE<KERNEL_VERSION(2,6,32));
|
||||
if (lt_2_6_32) {
|
||||
@@ -783,19 +777,10 @@ A_STATUS ReinitSDIO(HIF_DEVICE *device)
|
||||
break;
|
||||
}
|
||||
|
||||
- if (!host->ocr) {
|
||||
- /* Issue CMD5, arg = 0 */
|
||||
- err = IssueSDCommand(device, SD_IO_SEND_OP_COND, 0, (MMC_RSP_R4 | MMC_CMD_BCR), &resp);
|
||||
- if (err) {
|
||||
- AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("ReinitSDIO: CMD5 failed : %d \n",err));
|
||||
- break;
|
||||
- }
|
||||
- host->ocr = resp;
|
||||
- }
|
||||
|
||||
/* Issue CMD5, arg = ocr. Wait till card is ready */
|
||||
for (i=0;i<100;i++) {
|
||||
- err = IssueSDCommand(device, SD_IO_SEND_OP_COND, host->ocr, (MMC_RSP_R4 | MMC_CMD_BCR), &resp);
|
||||
+ err = IssueSDCommand(device, SD_IO_SEND_OP_COND, 0, (MMC_RSP_R4 | MMC_CMD_BCR), &resp);
|
||||
if (err) {
|
||||
AR_DEBUG_PRINTF(ATH_DEBUG_ERR, ("ReinitSDIO: CMD5 failed : %d \n",err));
|
||||
break;
|
||||
@@ -828,7 +813,7 @@ A_STATUS ReinitSDIO(HIF_DEVICE *device)
|
||||
break;
|
||||
}
|
||||
}
|
||||
-#endif
|
||||
+
|
||||
/* Enable high speed */
|
||||
if (card->host->caps & MMC_CAP_SD_HIGHSPEED) {
|
||||
AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("ReinitSDIO: Set high speed mode\n"));
|
||||
@@ -891,7 +876,7 @@ A_STATUS ReinitSDIO(HIF_DEVICE *device)
|
||||
|
||||
sdio_release_host(func);
|
||||
AR_DEBUG_PRINTF(ATH_DEBUG_TRACE, ("AR6000: -ReinitSDIO \n"));
|
||||
-
|
||||
+#endif
|
||||
return (err) ? A_ERROR : A_OK;
|
||||
}
|
||||
|
||||
@@ -1320,6 +1305,7 @@ static int hifDeviceInserted(struct sdio_func *func, const struct sdio_device_id
|
||||
/*
|
||||
TODO: MMC SDIO3.0 Setting should also be modified in ReInit() function when Power Manage work.
|
||||
*/
|
||||
+#if 1
|
||||
{
|
||||
A_UINT32 clock, clock_set = 12500000;
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
|
||||
@@ -1578,7 +1564,7 @@ TODO: MMC SDIO3.0 Setting should also be modified in ReInit() function when Powe
|
||||
|
||||
sdio_release_host(func);
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
spin_lock_init(&device->lock);
|
||||
|
||||
spin_lock_init(&device->asynclock);
|
||||
@@ -2070,12 +2056,10 @@ static int hifDeviceSuspend(struct device *dev)
|
||||
return -1;
|
||||
}
|
||||
} else {
|
||||
- if (wma_suspend_target(temp_module, 0)) {
|
||||
- AR_DEBUG_PRINTF(ATH_DEBUG_ERROR, ("PDEV Suspend Failed\n"));
|
||||
- return -1;
|
||||
- }
|
||||
+ if (wma_suspend_target(temp_module, 0)) {
|
||||
+ printk(KERN_ERR "wma_suspend_target failed.\n");
|
||||
+ }
|
||||
}
|
||||
-
|
||||
if (pm_flag & MMC_PM_WAKE_SDIO_IRQ){
|
||||
AR_DEBUG_PRINTF(ATH_DEBUG_INFO, ("hifDeviceSuspend: wow enter\n"));
|
||||
config = HIF_DEVICE_POWER_DOWN;
|
||||
@@ -2295,9 +2279,7 @@ static HIF_DEVICE *
|
||||
addHifDevice(struct sdio_func *func)
|
||||
{
|
||||
HIF_DEVICE *hifdevice = NULL;
|
||||
-#if(LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) && !defined(WITH_BACKPORTS)
|
||||
int ret = 0;
|
||||
-#endif
|
||||
ENTER();
|
||||
AR_DEBUG_ASSERT(func != NULL);
|
||||
hifdevice = (HIF_DEVICE *)A_MALLOC(sizeof(HIF_DEVICE));
|
||||
@@ -2310,13 +2292,9 @@ addHifDevice(struct sdio_func *func)
|
||||
hifdevice->func = func;
|
||||
hifdevice->powerConfig = HIF_DEVICE_POWER_UP;
|
||||
hifdevice->DeviceState = HIF_DEVICE_STATE_ON;
|
||||
-#if(LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) && !defined(WITH_BACKPORTS)
|
||||
ret = sdio_set_drvdata(func, hifdevice);
|
||||
+
|
||||
EXIT("status %d", ret);
|
||||
-#else
|
||||
- sdio_set_drvdata(func, hifdevice);
|
||||
- EXIT();
|
||||
-#endif
|
||||
return hifdevice;
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1 +0,0 @@
|
||||
ACTION=="add|change", SUBSYSTEM=="net", ENV{INTERFACE}=="wlan*", ATTRS{vendor}=="0x0271", RUN+="/usr/bin/systemctl restart connman.service"
|
@ -1,47 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
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_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_KERNEL_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)/ssv6051
|
||||
cp $PKG_BUILD/firmware/* $INSTALL/$(get_full_firmware_dir)/ssv6051
|
||||
}
|
@ -1,86 +0,0 @@
|
||||
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/ssv6051/
|
||||
|
||||
############################################################
|
||||
# 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/ssv6051-wifi.cfg";
|
||||
EXPORT_SYMBOL(stacfgpath);
|
||||
module_param(stacfgpath, charp, 0000);
|
||||
MODULE_PARM_DESC(stacfgpath, "Get path of sta cfg");
|
@ -1,9 +0,0 @@
|
||||
kso_enable=0
|
||||
ccode=CN
|
||||
regrev=38
|
||||
mimo_bw_cap=1
|
||||
PM=0
|
||||
nv_by_chip=3 \
|
||||
17221 6 nvram_ap6255.txt \
|
||||
17200 4 nvram_ap6330.txt \
|
||||
17209 1 nvram_ap6335.txt
|
@ -1 +0,0 @@
|
||||
options dhd firmware_path=/lib/firmware/brcm/ nvram_path=/lib/firmware/brcm/
|
@ -1 +0,0 @@
|
||||
dhd
|
@ -1,32 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="brcmap6xxx-aml"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://openlinux.amlogic.com:8000/download/ARM/wifi/"
|
||||
PKG_VERSION="de3f5c5"
|
||||
PKG_SHA256="5d109f630aa8c92b6c4ab8622d405dcbc2a7c4f07f1e5a8834358be230d2c35b"
|
||||
PKG_URL="https://github.com/openwetek/brcmap6xxx-aml/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux wlan-firmware-aml"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="brcmap6xxx-aml: Linux drivers for AP6xxx WLAN chips used in some devices based on Amlogic SoCs"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
|
||||
make_target() {
|
||||
cd bcmdhd_1_201_59_x
|
||||
LDFLAGS="" make V=1 \
|
||||
-C $(kernel_path) M=$PKG_BUILD/bcmdhd_1_201_59_x \
|
||||
ARCH=$TARGET_KERNEL_ARCH \
|
||||
CROSS_COMPILE=$TARGET_KERNEL_PREFIX
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/$(get_full_module_dir)/bcmdhd
|
||||
cp *.ko $INSTALL/$(get_full_module_dir)/bcmdhd
|
||||
|
||||
mkdir -p $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
cp $PKG_DIR/config/config.txt $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="gpu-aml"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://openlinux.amlogic.com:8000/download/ARM/gpu/"
|
||||
PKG_VERSION="fe7a4d8"
|
||||
PKG_SHA256="518f855a2b191e50d09c2d0b3e671b5ed4b5e4db06aa3a718e29ef30cc0d9a57"
|
||||
PKG_URL="https://github.com/khadas/android_hardware_arm_gpu/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_LONGDESC="gpu-aml: Linux drivers for Mali GPUs found in Amlogic Meson SoCs"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
PKG_IS_KERNEL_PKG="yes"
|
||||
|
||||
configure_package() {
|
||||
PKG_UTGARD_VERSION="r5p1"
|
||||
PKG_UTGARD_BUILD_DIR="$PKG_BUILD/utgard/$PKG_UTGARD_VERSION"
|
||||
PKG_MIDGARD_VERSION="r16p0"
|
||||
PKG_MIDGARD_BUILD_DIR="$PKG_BUILD/midgard/$PKG_MIDGARD_VERSION/kernel/drivers/gpu/arm/midgard"
|
||||
}
|
||||
|
||||
pre_configure_target() {
|
||||
sed -e "s|shell date|shell date -R|g" -i $PKG_BUILD/utgard/*/Kbuild
|
||||
sed -e "s|USING_GPU_UTILIZATION=1|USING_GPU_UTILIZATION=0|g" -i $PKG_BUILD/utgard/platform/Kbuild.amlogic
|
||||
}
|
||||
|
||||
pre_make_target() {
|
||||
ln -s $PKG_BUILD/utgard/platform $PKG_UTGARD_BUILD_DIR/platform
|
||||
}
|
||||
|
||||
make_target() {
|
||||
if [ "$MESON_FAMILY" = "gxm" ] ; then
|
||||
kernel_make -C $(kernel_path) M=$PKG_MIDGARD_BUILD_DIR \
|
||||
EXTRA_CFLAGS="-DCONFIG_MALI_PLATFORM_DEVICETREE -DCONFIG_MALI_BACKEND=gpu" \
|
||||
CONFIG_MALI_MIDGARD=m CONFIG_MALI_PLATFORM_DEVICETREE=y CONFIG_MALI_BACKEND=gpu modules
|
||||
else
|
||||
kernel_make -C $(kernel_path) M=$PKG_UTGARD_BUILD_DIR \
|
||||
EXTRA_CFLAGS="-DCONFIG_MALI450=y" \
|
||||
CONFIG_MALI400=m CONFIG_MALI450=y
|
||||
fi
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
if [ "$MESON_FAMILY" = "gxm" ] ; then
|
||||
kernel_make -C $(kernel_path) M=$PKG_MIDGARD_BUILD_DIR \
|
||||
INSTALL_MOD_PATH=$INSTALL/$(get_kernel_overlay_dir) INSTALL_MOD_STRIP=1 DEPMOD=: \
|
||||
modules_install
|
||||
else
|
||||
kernel_make -C $(kernel_path) M=$PKG_UTGARD_BUILD_DIR \
|
||||
INSTALL_MOD_PATH=$INSTALL/$(get_kernel_overlay_dir) INSTALL_MOD_STRIP=1 DEPMOD=: \
|
||||
modules_install
|
||||
fi
|
||||
}
|
@ -1,22 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="brcmfmac_sdio-firmware-all-aml"
|
||||
PKG_VERSION="02b8502"
|
||||
PKG_SHA256="899f1da77994d337cfe57ec3f38cc13247769d8df6c56b2541f5b8fea6438f16"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/kszaq/brcmfmac_sdio-firmware-aml"
|
||||
PKG_URL="https://github.com/kszaq/brcmfmac_sdio-firmware-aml/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="Firmware for brcm bluetooth chips used in some Amlogic based devices."
|
||||
|
||||
post_makeinstall_target() {
|
||||
cd $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
for f in *.hcd; do
|
||||
ln -sr $f $(grep --text -o 'BCM\S*' $f).hcd 2>/dev/null || true
|
||||
ln -sr $f $(grep --text -o 'BCM\S*' $f | cut -c4-).hcd 2>/dev/null || true
|
||||
ln -sr $f $(echo $f | sed -r 's/[^.]*/\U&/') 2>/dev/null || true
|
||||
ln -sr bcm4335_V0343.0353.hcd BCM4335A0.hcd 2>/dev/null || true
|
||||
done
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
diff -Naur a/Makefile b/Makefile
|
||||
--- a/Makefile 2014-10-07 14:00:34.000000000 -0700
|
||||
+++ b/Makefile 2016-12-06 11:24:34.855522455 -0800
|
||||
@@ -15,8 +15,8 @@
|
||||
install:
|
||||
mkdir -p $(DESTDIR)/usr/bin
|
||||
cp -P $(PROG) $(DESTDIR)/usr/bin
|
||||
- mkdir -p $(DESTDIR)/lib/firmware
|
||||
- cp -PR firmware/brcm $(DESTDIR)/lib/firmware/
|
||||
+ mkdir -p $(DESTDIR)/usr/lib/kernel-overlays/base/lib/firmware
|
||||
+ cp -PR firmware/brcm $(DESTDIR)/usr/lib/kernel-overlays/base/lib/firmware/
|
||||
|
||||
clean:
|
||||
rm -f $(PROG)
|
@ -1,8 +0,0 @@
|
||||
[Unit]
|
||||
Description=Broadcom sdio firmware update
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
RemainAfterExit=yes
|
||||
EnvironmentFile=/usr/share/bttty.conf
|
||||
ExecStart=/usr/bin/hciattach -n -s 115200 ${BTTTY} bcm43xx 2000000
|
@ -1,8 +0,0 @@
|
||||
[Unit]
|
||||
Description=Broadcom sdio firmware update for %I
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
RemainAfterExit=yes
|
||||
EnvironmentFile=/usr/share/bttty.conf
|
||||
ExecStart=/usr/bin/brcm_patchram_plus --patchram /usr/lib/kernel-overlays/base/lib/firmware/brcm/%I.hcd --baudrate 2000000 --use_baudrate_for_download ${BTTTY} --enable_hci --no2bytes --tosleep=50000
|
@ -1,12 +0,0 @@
|
||||
################################################################################
|
||||
# udev rules file for loading brcmfmac_sdio-firmware
|
||||
################################################################################
|
||||
|
||||
### Broadcom bcm43362/bcm20710a1 bluetooth device
|
||||
SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x02d0", ATTRS{device}=="0xa962", ACTION=="add", \
|
||||
TAG+="systemd", ENV{SYSTEMD_WANTS}+="brcmfmac_sdio-firmware@bcm20710a1.service", GOTO="end"
|
||||
|
||||
SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x02d0", ACTION=="add", \
|
||||
TAG+="systemd", ENV{SYSTEMD_WANTS}+="brcmfmac_sdio-firmware-aml.service"
|
||||
|
||||
LABEL="end"
|
@ -1,15 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
|
||||
PKG_NAME="brcmfmac_sdio-firmware-aml"
|
||||
PKG_VERSION="0.1"
|
||||
PKG_SHA256="37e19eb005882793d26d0def8704417b21beb1c24d2b4489715e4ed7e7818776"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/LibreELEC/LibreELEC.tv"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="Firmware for brcm bluetooth chips used in some Amlogic based devices."
|
||||
|
||||
makeinstall_target() {
|
||||
DESTDIR=$INSTALL FWDIR=$INSTALL/$(get_kernel_overlay_dir) make install
|
||||
}
|
@ -1,14 +0,0 @@
|
||||
diff -Naur brcmfmac_sdio-firmware-aml-0.1.orig/Makefile brcmfmac_sdio-firmware-aml-0.1/Makefile
|
||||
--- brcmfmac_sdio-firmware-aml-0.1.orig/Makefile 2014-10-07 23:00:34.000000000 +0200
|
||||
+++ brcmfmac_sdio-firmware-aml-0.1/Makefile 2017-11-09 11:52:47.102781882 +0100
|
||||
@@ -15,8 +15,8 @@
|
||||
install:
|
||||
mkdir -p $(DESTDIR)/usr/bin
|
||||
cp -P $(PROG) $(DESTDIR)/usr/bin
|
||||
- mkdir -p $(DESTDIR)/lib/firmware
|
||||
- cp -PR firmware/brcm $(DESTDIR)/lib/firmware/
|
||||
+ mkdir -p $(FWDIR)/lib/firmware
|
||||
+ cp -PR firmware/brcm $(FWDIR)/lib/firmware/
|
||||
|
||||
clean:
|
||||
rm -f $(PROG)
|
@ -1,8 +0,0 @@
|
||||
[Unit]
|
||||
Description=Broadcom sdio firmware update for %I
|
||||
ConditionPathExists=/dev/ttyS1
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/brcm_patchram_plus --patchram /lib/firmware/brcm/%I.hcd --baudrate 2000000 --use_baudrate_for_download /dev/ttyS1 --enable_hci --no2bytes --tosleep=50000
|
@ -1,30 +0,0 @@
|
||||
################################################################################
|
||||
# udev rules file for loading brcmfmac_sdio-firmware
|
||||
################################################################################
|
||||
|
||||
ACTION!="add", GOTO="end"
|
||||
SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x02d0", ATTRS{device}=="0xa962", GOTO="begin"
|
||||
SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x02d0", ATTRS{device}=="0x4330", GOTO="begin"
|
||||
SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x02d0", ATTRS{device}=="0x4335", GOTO="begin"
|
||||
SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x02d0", ATTRS{device}=="0xa9bf", GOTO="begin"
|
||||
GOTO="end"
|
||||
LABEL="begin"
|
||||
### Broadcom bcm43362/bcm20710a1 bluetooth device
|
||||
ATTRS{vendor}=="0x02d0", ATTRS{device}=="0xa962", \
|
||||
ENV{brcm_device}="bcm20710a1"
|
||||
|
||||
### Broadcom bcm4330/bcm40183b2 bluetooth device
|
||||
ATTRS{vendor}=="0x02d0", ATTRS{device}=="0x4330", \
|
||||
ENV{brcm_device}="bcm40183b2"
|
||||
|
||||
### Broadcom bcm4335/bcm4335c0 bluetooth device
|
||||
ATTRS{vendor}=="0x02d0", ATTRS{device}=="0x4335", \
|
||||
ENV{brcm_device}="bcm4335c0"
|
||||
|
||||
### Broadcom bcm4345c0 bluetooth device
|
||||
ATTRS{vendor}=="0x02d0", ATTRS{device}=="0xa9bf", \
|
||||
ENV{brcm_device}="bcm4345c0"
|
||||
|
||||
ENV{brcm_device}=="bcm*", ACTION=="add", \
|
||||
TAG+="systemd", ENV{SYSTEMD_WANTS}+="brcmfmac_sdio-firmware@$env{brcm_device}.service"
|
||||
LABEL="end"
|
@ -1,18 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="qca9377-firmware-aml"
|
||||
PKG_VERSION="1.0.0-3"
|
||||
PKG_SHA256="9a9f214943e77e89ce8fc8c0dc5b41bc253478a9d92383a76590993df861f36d"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="BSD-3c"
|
||||
PKG_SITE="http://linode.boundarydevices.com/repos/apt/ubuntu-relx/pool/main/q/qca-firmware/"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="qca9377 Linux firmware"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/$(get_full_firmware_dir)
|
||||
cp -a * $INSTALL/$(get_full_firmware_dir)
|
||||
}
|
@ -1,8 +0,0 @@
|
||||
[Unit]
|
||||
Description=QCA Bluetooth firmware service
|
||||
ConditionPathExists=/dev/ttyS1
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/hciattach -n -s 115200 /dev/ttyS1 qca 2000000
|
@ -1,6 +0,0 @@
|
||||
################################################################################
|
||||
# udev rules file for loading qca9377-firmware-aml
|
||||
################################################################################
|
||||
|
||||
ACTION=="add", SUBSYSTEMS=="sdio", ATTRS{vendor}=="0x0271", ATTRS{device}=="0x0701", \
|
||||
TAG+="systemd", ENV{SYSTEMD_WANTS}+="qca9377-firmware-aml.service"
|
@ -1,36 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="wlan-firmware-aml"
|
||||
PKG_VERSION="5f5fae7"
|
||||
PKG_SHA256="a926edbd87b028afcf8048c776859fa2bf0dca006df6a0f6867ce3915bd21494"
|
||||
PKG_LICENSE="Free-to-use"
|
||||
PKG_SITE="http://openlinux.amlogic.com:8000/download/ARM/wifi/"
|
||||
PKG_URL="https://github.com/openwetek/wlan-firmware-aml/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_LONGDESC="wlan-firmware-aml: Firmware for various WLAN chips used in the devices based on Amlogic SoCs"
|
||||
PKG_TOOLCHAIN="manual"
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
|
||||
# AP6210
|
||||
cp -PR bcm_ampak/config/AP6210/Wi-Fi/fw_bcm40181a2*.bin $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
cp -P bcm_ampak/config/AP6210/Wi-Fi/nvram_ap6210.txt $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
cp -P bcm_ampak/config/AP6210/BT/bcm20710a1.hcd $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
|
||||
# AP6255
|
||||
cp -PR bcm_ampak/config/6255/fw_bcm43455c0_*.bin $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
cp -P bcm_ampak/config/6255/nvram.txt $INSTALL/$(get_full_firmware_dir)/brcm/nvram_ap6255.txt
|
||||
cp -P bcm_ampak/config/6255/BT/BCM4345C0.hcd $INSTALL/$(get_full_firmware_dir)/brcm/bcm4345c0.hcd
|
||||
|
||||
# AP6330
|
||||
cp -PR bcm_ampak/config/AP6330/Wi-Fi/fw_bcm40183b2*.bin $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
cp -P bcm_ampak/config/AP6330/Wi-Fi/nvram_ap6330.txt $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
cp -P bcm_ampak/config/AP6330/BT/bcm40183b2.hcd $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
|
||||
# AP6335
|
||||
cp -PR bcm_ampak/config/6335/fw_bcm4339a0_*.bin $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
cp -P bcm_ampak/config/6335/nvram.txt $INSTALL/$(get_full_firmware_dir)/brcm/nvram_ap6335.txt
|
||||
cp -P bcm_ampak/config/6335/BT/bcm4335c0.hcd $INSTALL/$(get_full_firmware_dir)/brcm
|
||||
}
|
@ -1,35 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
|
||||
PKG_NAME="libamcodec"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="other"
|
||||
PKG_SITE="http://openlinux.amlogic.com"
|
||||
case $TARGET_KERNEL_ARCH in
|
||||
arm)
|
||||
PKG_VERSION="5e23a81"
|
||||
PKG_SHA256="412cfafbd9725f5186b884b9599ff6561d2031b44d9873e79d377631a2b5f9b9"
|
||||
PKG_URL="https://github.com/codesnake/libamcodec/archive/$PKG_VERSION.tar.gz"
|
||||
;;
|
||||
arm64)
|
||||
PKG_VERSION="bb19db7"
|
||||
PKG_SHA256="81f78b37f2c14313b68cad5c43237dc3a217afaaad4f41e07a840e26673309c4"
|
||||
PKG_URL="https://github.com/surkovalex/libamcodec/archive/$PKG_VERSION.tar.gz"
|
||||
;;
|
||||
esac
|
||||
PKG_DEPENDS_TARGET="toolchain alsa-lib"
|
||||
PKG_LONGDESC="libamplayer: Interface library for Amlogic media codecs"
|
||||
|
||||
post_unpack() {
|
||||
sed -e "s|-lamadec||g" -i $PKG_BUILD/amcodec/Makefile
|
||||
}
|
||||
|
||||
make_target() {
|
||||
mkdir -p $SYSROOT_PREFIX/usr/lib
|
||||
make -C amcodec HEADERS_DIR="$SYSROOT_PREFIX/usr/include/amcodec" PREFIX="$SYSROOT_PREFIX/usr" install
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/lib
|
||||
make -C amcodec HEADERS_DIR="$INSTALL/usr/include/amcodec" PREFIX="$INSTALL/usr" install
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
# OpenELEC NEC remote
|
||||
|
||||
factory_code = 0x00680001
|
||||
work_mode = 1
|
||||
repeat_enable = 1
|
||||
release_delay = 150
|
||||
debug_enable = 1
|
||||
reg_control = 0xfbe40
|
||||
|
||||
key_begin
|
||||
0xdb 116 ;POWER
|
||||
key_end
|
||||
|
@ -1,11 +0,0 @@
|
||||
# WeTek Play NEC remote
|
||||
factory_code = 0xbc430001
|
||||
work_mode = 1
|
||||
repeat_enable = 1
|
||||
release_delay = 150
|
||||
debug_enable = 1
|
||||
reg_control = 0xfbe40
|
||||
|
||||
key_begin
|
||||
0xca 116 ;POWER
|
||||
key_end
|
@ -1,27 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
||||
|
||||
PKG_NAME="amremote"
|
||||
PKG_VERSION="6431040"
|
||||
PKG_SHA256="5859680b0951ed3d2265999b7ad5309060587815df4dd1c48c6fa9aae039d5c5"
|
||||
PKG_ARCH="arm aarch64"
|
||||
PKG_LICENSE="other"
|
||||
PKG_SITE="http://www.amlogic.com"
|
||||
PKG_URL="https://github.com/codesnake/amremote/archive/$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain usbutils"
|
||||
PKG_LONGDESC="amremote - IR remote configuration utility for Amlogic-based devices"
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/bin
|
||||
cp remotecfg $INSTALL/usr/bin
|
||||
|
||||
mkdir -p $INSTALL/usr/lib/libreelec
|
||||
cp $PKG_DIR/scripts/* $INSTALL/usr/lib/libreelec
|
||||
|
||||
mkdir -p $INSTALL/etc/amremote
|
||||
cp $PKG_DIR/config/*.conf $INSTALL/etc/amremote
|
||||
}
|
||||
|
||||
post_install() {
|
||||
enable_service amlogic-remotecfg.service
|
||||
}
|
@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
# Copyright (C) 2014 Stephan Raue (stephan@openelec.tv)
|
||||
|
||||
# check the Security chip if we run on a WeTek device
|
||||
lsusb -d 096e:0006 &> /dev/null
|
||||
LSUSB_RET=$?
|
||||
|
||||
if [ -f /storage/.config/remote.conf ]; then
|
||||
/usr/bin/remotecfg /storage/.config/remote.conf
|
||||
elif [ -f /etc/amremote/remote.conf ]; then
|
||||
/usr/bin/remotecfg /etc/amremote/remote.conf
|
||||
elif [ "$LSUSB_RET" = 0 ]; then
|
||||
/usr/bin/remotecfg /etc/amremote/wetek.conf
|
||||
elif [ "$LSUSB_RET" = 1 ]; then
|
||||
/usr/bin/remotecfg /etc/amremote/libreelec.conf
|
||||
fi
|
@ -1,11 +0,0 @@
|
||||
[Unit]
|
||||
Description=Amlogic IR remote support
|
||||
ConditionPathExists=/dev/amremote
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/lib/libreelec/remote-config
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
@ -1,18 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="aml-dtbtools"
|
||||
PKG_VERSION="cce100f"
|
||||
PKG_SHA256="8bcaa83fcc9e85c9c04930e7411447d96a97da0809c5ecd9af91c8b554133c41"
|
||||
PKG_LICENSE="free"
|
||||
PKG_SITE="https://github.com/Wilhansen/aml-dtbtools"
|
||||
PKG_URL="https://github.com/Wilhansen/aml-dtbtools/archive/${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_HOST="gcc:host"
|
||||
PKG_LONGDESC="AML DTB Tools"
|
||||
|
||||
PKG_MAKE_OPTS_HOST="dtbTool"
|
||||
|
||||
makeinstall_host() {
|
||||
mkdir -p $TOOLCHAIN/bin
|
||||
cp dtbTool $TOOLCHAIN/bin
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
# Configuration file for fw_(printenv/setenv) utility.
|
||||
# Up to two entries are valid, in this case the redundant
|
||||
# environment sector is assumed present.
|
||||
# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.
|
||||
# Futhermore, if the Flash sector size is ommitted, this value is assumed to
|
||||
# be the same as the Environment size, which is valid for NOR and SPI-dataflash
|
||||
|
||||
# NOR example
|
||||
# MTD device name Device offset Env. size Flash sector size Number of sectors
|
||||
#/dev/mtd1 0x0000 0x4000 0x4000
|
||||
#/dev/mtd2 0x0000 0x4000 0x4000
|
||||
|
||||
# MTD SPI-dataflash example
|
||||
# MTD device name Device offset Env. size Flash sector size Number of sectors
|
||||
#/dev/mtd5 0x4200 0x4200
|
||||
#/dev/mtd6 0x4200 0x4200
|
||||
|
||||
# NAND example
|
||||
#/dev/mtd0 0x4000 0x4000 0x20000 2
|
||||
|
||||
# Block device example
|
||||
#/dev/mmcblk0 0xc0000 0x20000
|
||||
|
||||
# VFAT example
|
||||
#/boot/uboot.env 0x0000 0x4000
|
||||
|
||||
# Amlogic NAND
|
||||
/dev/nand_env 0x000000 0x10000 0x10000
|
||||
|
||||
# Amlogic eMMC
|
||||
/dev/env 0x000000 0x10000 0x10000
|
@ -1,37 +0,0 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
|
||||
|
||||
PKG_NAME="u-boot-tools-aml"
|
||||
PKG_VERSION="2016.03"
|
||||
PKG_SHA256="e49337262ecac44dbdeac140f2c6ebd1eba345e0162b0464172e7f05583ed7bb"
|
||||
PKG_SITE="https://www.denx.de/wiki/U-Boot"
|
||||
PKG_URL="ftp://ftp.denx.de/pub/u-boot/u-boot-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_HOST="gcc:host"
|
||||
PKG_DEPENDS_TARGET="toolchain u-boot-tools-aml:host"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_LONGDESC="Das U-Boot is a cross-platform bootloader for embedded systems."
|
||||
|
||||
make_host() {
|
||||
make mrproper
|
||||
make dummy_defconfig
|
||||
make tools-only
|
||||
}
|
||||
|
||||
make_target() {
|
||||
CROSS_COMPILE="$TARGET_PREFIX" LDFLAGS="" ARCH=arm make dummy_defconfig
|
||||
CROSS_COMPILE="$TARGET_PREFIX" LDFLAGS="" ARCH=arm make env
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
mkdir -p $TOOLCHAIN/bin
|
||||
cp tools/mkimage $TOOLCHAIN/bin
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/etc
|
||||
cp $PKG_DIR/config/fw_env.config $INSTALL/etc/fw_env.config
|
||||
|
||||
mkdir -p $INSTALL/usr/sbin
|
||||
cp tools/env/fw_printenv $INSTALL/usr/sbin/fw_printenv
|
||||
cp tools/env/fw_printenv $INSTALL/usr/sbin/fw_setenv
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
--- a/configs/dummy_defconfig
|
||||
+++ b/configs/dummy_defconfig
|
||||
@@ -0,0 +1,2 @@
|
||||
+CONFIG_ARM=y
|
||||
+
|
@ -1,23 +0,0 @@
|
||||
--- u-boot-tools-2016.01/tools/env/fw_env.c.orig 2016-01-12 15:06:54.000000000 +0100
|
||||
+++ u-boot-tools-2016.01/tools/env/fw_env.c 2016-03-22 09:47:07.014381827 +0100
|
||||
@@ -1453,6 +1453,7 @@
|
||||
int rc;
|
||||
char dump[128];
|
||||
char *devname;
|
||||
+ int fd_test;
|
||||
|
||||
fp = fopen (fname, "r");
|
||||
if (fp == NULL)
|
||||
@@ -1473,6 +1474,12 @@
|
||||
if (rc < 3)
|
||||
continue;
|
||||
|
||||
+ fd_test = open (devname, O_RDWR);
|
||||
+ if (fd_test < 0)
|
||||
+ continue;
|
||||
+ if (close (fd_test))
|
||||
+ continue;
|
||||
+
|
||||
DEVNAME(i) = devname;
|
||||
|
||||
if (rc < 4)
|
@ -1,52 +0,0 @@
|
||||
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
|
||||
index 8b0317a..575f12a 100644
|
||||
--- a/tools/env/fw_env.c
|
||||
+++ b/tools/env/fw_env.c
|
||||
@@ -888,12 +888,13 @@ static int flash_write_buf (int dev, int fd, void *buf, size_t count,
|
||||
}
|
||||
}
|
||||
|
||||
- if (lseek (fd, blockstart, SEEK_SET) == -1) {
|
||||
- fprintf (stderr,
|
||||
- "Seek error on %s: %s\n",
|
||||
- DEVNAME (dev), strerror (errno));
|
||||
- return -1;
|
||||
- }
|
||||
+ if (blockstart != 0)
|
||||
+ if (lseek (fd, blockstart, SEEK_SET) == -1) {
|
||||
+ fprintf (stderr,
|
||||
+ "Seek error on %s: %s\n",
|
||||
+ DEVNAME (dev), strerror (errno));
|
||||
+ return -1;
|
||||
+ }
|
||||
|
||||
#ifdef DEBUG
|
||||
fprintf(stderr, "Write 0x%x bytes at 0x%llx\n", erasesize,
|
||||
@@ -1025,25 +1026,8 @@ static int flash_read (int fd)
|
||||
return -1;
|
||||
}
|
||||
|
||||
- if (S_ISCHR(st.st_mode)) {
|
||||
- rc = ioctl(fd, MEMGETINFO, &mtdinfo);
|
||||
- if (rc < 0) {
|
||||
- fprintf(stderr, "Cannot get MTD information for %s\n",
|
||||
- DEVNAME(dev_current));
|
||||
- return -1;
|
||||
- }
|
||||
- if (mtdinfo.type != MTD_NORFLASH &&
|
||||
- mtdinfo.type != MTD_NANDFLASH &&
|
||||
- mtdinfo.type != MTD_DATAFLASH &&
|
||||
- mtdinfo.type != MTD_UBIVOLUME) {
|
||||
- fprintf (stderr, "Unsupported flash type %u on %s\n",
|
||||
- mtdinfo.type, DEVNAME(dev_current));
|
||||
- return -1;
|
||||
- }
|
||||
- } else {
|
||||
- memset(&mtdinfo, 0, sizeof(mtdinfo));
|
||||
- mtdinfo.type = MTD_ABSENT;
|
||||
- }
|
||||
+ memset(&mtdinfo, 0, sizeof(mtdinfo));
|
||||
+ mtdinfo.type = MTD_ABSENT;
|
||||
|
||||
DEVTYPE(dev_current) = mtdinfo.type;
|
||||
|
Loading…
x
Reference in New Issue
Block a user