diff --git a/README.md b/README.md deleted file mode 100644 index eec6aef9..00000000 --- a/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# sft-riscvpi-buildroot - diff --git a/package/alsa-lib/0004-setting-hdmi-output-as-alsa-default.patch b/package/alsa-lib/0004-setting-hdmi-output-as-alsa-default.patch new file mode 100644 index 00000000..7ca824e9 --- /dev/null +++ b/package/alsa-lib/0004-setting-hdmi-output-as-alsa-default.patch @@ -0,0 +1,19 @@ +Setting card:1 device:0 as alsa default config for DevKit. + +Signed-off-by: Leo Lu + + +diff -purN a/src/conf/alsa.conf b/src/conf/alsa.conf +--- a/src/conf/alsa.conf 2021-06-14 18:28:44.000000000 +0800 ++++ b/src/conf/alsa.conf 2023-04-20 16:17:08.532675092 +0800 +@@ -102,8 +102,8 @@ defaults.namehint.basic on + # show extended name hints + defaults.namehint.extended off + # +-defaults.ctl.card 0 +-defaults.pcm.card 0 ++defaults.ctl.card 1 ++defaults.pcm.card 1 + defaults.pcm.device 0 + defaults.pcm.subdevice -1 + defaults.pcm.nonblock 1 diff --git a/package/bluez5_utils-headers/0001-bluez5_utils-fix-the-compiler-issue-for-gcc-12.2.0.patch b/package/bluez5_utils-headers/0001-bluez5_utils-fix-the-compiler-issue-for-gcc-12.2.0.patch new file mode 100644 index 00000000..1b1027c9 --- /dev/null +++ b/package/bluez5_utils-headers/0001-bluez5_utils-fix-the-compiler-issue-for-gcc-12.2.0.patch @@ -0,0 +1,38 @@ +From 5f74b142f1bcb8003d6e84f71c7b958818756f3c Mon Sep 17 00:00:00 2001 +From: Andy Hu +Date: Fri, 19 May 2023 23:30:56 +0800 +Subject: [PATCH] bluez5_utils: fix the compiler issue for gcc 12.2.0 + +fix the conflicting types for 'pause'; have '_Bool(void *)' +which had defined in /usr/include/unistd.h is 'int pause (void)' + +Signed-off-by: Andy Hu +--- + profiles/audio/media.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/profiles/audio/media.c b/profiles/audio/media.c +index 02bf82a..0892532 100644 +--- a/profiles/audio/media.c ++++ b/profiles/audio/media.c +@@ -1280,7 +1280,7 @@ static bool stop(void *user_data) + return media_player_send(mp, "Stop"); + } + +-static bool pause(void *user_data) ++static bool func_pause(void *user_data) + { + struct media_player *mp = user_data; + +@@ -1330,7 +1330,7 @@ static struct avrcp_player_cb player_cb = { + .set_volume = set_volume, + .play = play, + .stop = stop, +- .pause = pause, ++ .pause = func_pause, + .next = next, + .previous = previous, + }; +-- +2.34.1 + diff --git a/package/bluez5_utils-headers/bluez5_utils-headers.mk b/package/bluez5_utils-headers/bluez5_utils-headers.mk index e6714310..a2e22148 100644 --- a/package/bluez5_utils-headers/bluez5_utils-headers.mk +++ b/package/bluez5_utils-headers/bluez5_utils-headers.mk @@ -5,7 +5,7 @@ ################################################################################ # Keep the version and patches in sync with bluez5_utils -BLUEZ5_UTILS_HEADERS_VERSION = 5.62 +BLUEZ5_UTILS_HEADERS_VERSION = 5.55 BLUEZ5_UTILS_HEADERS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_HEADERS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_HEADERS_DL_SUBDIR = bluez5_utils diff --git a/package/bluez5_utils/0001-bluez5_utils-fix-the-compiler-issue-for-gcc-12.2.0.patch b/package/bluez5_utils/0001-bluez5_utils-fix-the-compiler-issue-for-gcc-12.2.0.patch new file mode 100644 index 00000000..1b1027c9 --- /dev/null +++ b/package/bluez5_utils/0001-bluez5_utils-fix-the-compiler-issue-for-gcc-12.2.0.patch @@ -0,0 +1,38 @@ +From 5f74b142f1bcb8003d6e84f71c7b958818756f3c Mon Sep 17 00:00:00 2001 +From: Andy Hu +Date: Fri, 19 May 2023 23:30:56 +0800 +Subject: [PATCH] bluez5_utils: fix the compiler issue for gcc 12.2.0 + +fix the conflicting types for 'pause'; have '_Bool(void *)' +which had defined in /usr/include/unistd.h is 'int pause (void)' + +Signed-off-by: Andy Hu +--- + profiles/audio/media.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/profiles/audio/media.c b/profiles/audio/media.c +index 02bf82a..0892532 100644 +--- a/profiles/audio/media.c ++++ b/profiles/audio/media.c +@@ -1280,7 +1280,7 @@ static bool stop(void *user_data) + return media_player_send(mp, "Stop"); + } + +-static bool pause(void *user_data) ++static bool func_pause(void *user_data) + { + struct media_player *mp = user_data; + +@@ -1330,7 +1330,7 @@ static struct avrcp_player_cb player_cb = { + .set_volume = set_volume, + .play = play, + .stop = stop, +- .pause = pause, ++ .pause = func_pause, + .next = next, + .previous = previous, + }; +-- +2.34.1 + diff --git a/package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch b/package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch deleted file mode 100644 index 26c7f85e..00000000 --- a/package/bluez5_utils/0001-tools-mesh-cfgtest-include-limits.h.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 5158827fded7cb4daf550a5956aff0c74f6c38fc Mon Sep 17 00:00:00 2001 -From: Michael Nosthoff -Date: Thu, 22 Jul 2021 21:36:13 +0200 -Subject: [PATCH BlueZ] tools/mesh-cfgtest: include limits.h - -mesh-cfgtest.c uses PATH_MAX so it should include limits.h. - -fixes compilation error when enabling mesh support with musl-based -toolchains observed in buildroot autobuilders. - -http://autobuild.buildroot.net/results/20cc47f54de0b0d4bdf108c3715c590ae8ab476f/ -http://autobuild.buildroot.net/results/003968b25906579dbcf5a95d1e43fec0ab504ef5/ - -Signed-off-by: Michael Nosthoff ---- - tools/mesh-cfgtest.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/tools/mesh-cfgtest.c b/tools/mesh-cfgtest.c -index fa0474faa..116ab7f16 100644 ---- a/tools/mesh-cfgtest.c -+++ b/tools/mesh-cfgtest.c -@@ -21,6 +21,7 @@ - #include - #include - #include -+#include - #include - #include - #include --- -2.32.0 - diff --git a/package/bluez5_utils/Config.in b/package/bluez5_utils/Config.in index 2eea8c7c..016a16c4 100644 --- a/package/bluez5_utils/Config.in +++ b/package/bluez5_utils/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_BLUEZ5_UTILS - bool "bluez-utils" + bool "bluez-utils 5.x" depends on BR2_USE_WCHAR # libglib2 depends on BR2_TOOLCHAIN_HAS_THREADS # dbus, libglib2 depends on BR2_USE_MMU # dbus @@ -9,12 +9,17 @@ config BR2_PACKAGE_BLUEZ5_UTILS select BR2_PACKAGE_DBUS select BR2_PACKAGE_LIBGLIB2 help - BlueZ utils + bluez utils version 5.x - Provides Stack, Library and Tooling for Bluetooth Classic - and Bluetooth LE. + With this release BlueZ only supports the new Bluetooth + Management kernel interface (introduced in Linux 3.4). - BlueZ utils will use systemd and/or udev if enabled. + For Low Energy support at least kernel version 3.5 is + needed. + + The API is not backward compatible with BlueZ 4. + + Bluez utils will use systemd and/or udev if enabled. http://www.bluez.org http://www.kernel.org/pub/linux/bluetooth @@ -26,7 +31,7 @@ config BR2_PACKAGE_BLUEZ5_UTILS_OBEX depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBICAL help - Enable OBEX support. + Enable the OBEX support in Bluez 5.x. comment "OBEX support needs a toolchain w/ C++" depends on !BR2_INSTALL_LIBSTDCPP @@ -35,117 +40,75 @@ config BR2_PACKAGE_BLUEZ5_UTILS_CLIENT bool "build CLI client" select BR2_PACKAGE_READLINE help - Build the command line client "bluetoothctl". - -config BR2_PACKAGE_BLUEZ5_UTILS_MONITOR - bool "build monitor utility" - help - Build monitor utility btmon. - -config BR2_PACKAGE_BLUEZ5_UTILS_TOOLS - bool "build tools" - help - Build tools like bluemoon, btattach, hex2hcd, l2test, - l2ping, mpris-proxy, rctest. + Enable the Bluez 5.x command line client. config BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED - bool "install deprecated tools" - depends on BR2_PACKAGE_BLUEZ5_UTILS_CLIENT || BR2_PACKAGE_BLUEZ5_UTILS_TOOLS + bool "install deprecated tool" + depends on BR2_PACKAGE_BLUEZ5_UTILS_CLIENT help - Build deprecated tools. - - When "build tools" is selected these tools are installed: + Build BlueZ 5.x deprecated tools. These currently include: hciattach, hciconfig, hcitool, hcidump, rfcomm, sdptool, - ciptool. - - When CLI client is enabled "gatttool" is installed. + ciptool, gatttool. config BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL - bool "build experimental tools" + bool "build experimental obexd plugin" help - Build experimental tools. This is currently only the - "Nokia OBEX PC Suite tool". So, only if OBEX support is - enabled this option has an effect. - -config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO - bool "build audio plugins (a2dp and avrcp)" - help - Build plugins for audio profiles (for A2DP and AVRCP). + Build BlueZ 5.x experimental Nokia OBEX PC Suite plugin config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH bool "build health plugin" help - Build plugin for health profiles. - -config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID - bool "build hid plugin" - select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG - help - Build plugin for HID (input) profiles. - -config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG - bool "build hog plugin" - help - Build plugin for HoG (input) profiles. + Build BlueZ 5.x health plugin config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH - bool "build mesh plugin" + bool "build mesh profile" depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 # ell select BR2_PACKAGE_ELL select BR2_PACKAGE_JSON_C select BR2_PACKAGE_READLINE help - Build plugin for Mesh support. + Build BlueZ 5.x mesh plugin comment "mesh profile needs a toolchain w/ headers >= 4.12" depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12 config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MIDI - bool "build midi plugin" + bool "build midi profile" select BR2_PACKAGE_ALSA_LIB select BR2_PACKAGE_ALSA_LIB_SEQ help - Build MIDI support via ALSA sequencer. - -config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NETWORK - bool "build network plugin" - default y - help - Build plugin for PANU, NAP, GN profiles. + Build BlueZ 5.x midi plugin config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC bool "build nfc plugin" help - Build plugin for NFC pairing. + Build BlueZ 5.x nfc plugin config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP bool "build sap plugin" help - Build plugin for SAP profile. + Build BlueZ 5.x sap plugin config BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SIXAXIS bool "build sixaxis plugin" depends on BR2_PACKAGE_HAS_UDEV - select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime help - Build sixaxis plugin (support Sony Dualshock + Build BlueZ 5.x sixaxis plugin (support Sony Dualshock controller) comment "sixaxis plugin needs udev /dev management" depends on !BR2_PACKAGE_HAS_UDEV config BR2_PACKAGE_BLUEZ5_UTILS_TEST - bool "install test scripts" + bool "build tests" help - Install the python test scripts from the "test" directory. + Build BlueZ 5.x tests config BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI bool "build hid2hci tool" depends on BR2_PACKAGE_HAS_UDEV - select BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID # runtime - select BR2_PACKAGE_BLUEZ5_UTILS_TOOLS help - Build hid2hci tool + Build BlueZ 5.x hid2hci tool comment "hid2hci tool needs udev /dev management" depends on !BR2_PACKAGE_HAS_UDEV diff --git a/package/bluez5_utils/bluez5_utils.hash b/package/bluez5_utils/bluez5_utils.hash index 3ec4acac..d0f3b805 100644 --- a/package/bluez5_utils/bluez5_utils.hash +++ b/package/bluez5_utils/bluez5_utils.hash @@ -1,5 +1,4 @@ # From https://www.kernel.org/pub/linux/bluetooth/sha256sums.asc: -sha256 38090a5b750e17fc08d3e52178ed8d3254c5f4bd2c48830d5c1955b88e3bc0c2 bluez-5.62.tar.xz -# Locally computed +sha256 8863717113c4897e2ad3271fc808ea245319e6fd95eed2e934fae8e0894e9b88 bluez-5.55.tar.xz sha256 b499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc259 COPYING sha256 ec60b993835e2c6b79e6d9226345f4e614e686eb57dc13b6420c15a33a8996e5 COPYING.LIB diff --git a/package/bluez5_utils/bluez5_utils.mk b/package/bluez5_utils/bluez5_utils.mk index cf46d6e0..65965168 100644 --- a/package/bluez5_utils/bluez5_utils.mk +++ b/package/bluez5_utils/bluez5_utils.mk @@ -5,14 +5,12 @@ ################################################################################ # Keep the version and patches in sync with bluez5_utils-headers -BLUEZ5_UTILS_VERSION = 5.62 +BLUEZ5_UTILS_VERSION = 5.55 BLUEZ5_UTILS_SOURCE = bluez-$(BLUEZ5_UTILS_VERSION).tar.xz BLUEZ5_UTILS_SITE = $(BR2_KERNEL_MIRROR)/linux/bluetooth BLUEZ5_UTILS_INSTALL_STAGING = YES BLUEZ5_UTILS_LICENSE = GPL-2.0+, LGPL-2.1+ BLUEZ5_UTILS_LICENSE_FILES = COPYING COPYING.LIB -BLUEZ5_UTILS_CPE_ID_VENDOR = bluez -BLUEZ5_UTILS_CPE_ID_PRODUCT = bluez BLUEZ5_UTILS_DEPENDENCIES = \ $(if $(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),bluez5_utils-headers) \ @@ -20,9 +18,9 @@ BLUEZ5_UTILS_DEPENDENCIES = \ libglib2 BLUEZ5_UTILS_CONF_OPTS = \ + --enable-tools \ --enable-library \ --disable-cups \ - --disable-manpages \ --with-dbusconfdir=/etc ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_OBEX),y) @@ -39,18 +37,6 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-client endif -ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_MONITOR),y) -BLUEZ5_UTILS_CONF_OPTS += --enable-monitor -else -BLUEZ5_UTILS_CONF_OPTS += --disable-monitor -endif - -ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_TOOLS),y) -BLUEZ5_UTILS_CONF_OPTS += --enable-tools -else -BLUEZ5_UTILS_CONF_OPTS += --disable-tools -endif - # experimental plugins ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_EXPERIMENTAL),y) BLUEZ5_UTILS_CONF_OPTS += --enable-experimental @@ -58,13 +44,6 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-experimental endif -# enable audio plugins (a2dp and avrcp) -ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO),y) -BLUEZ5_UTILS_CONF_OPTS += --enable-a2dp --enable-avrcp -else -BLUEZ5_UTILS_CONF_OPTS += --disable-a2dp --disable-avrcp -endif - # enable health plugin ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HEALTH),y) BLUEZ5_UTILS_CONF_OPTS += --enable-health @@ -72,20 +51,6 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-health endif -# enable hid plugin -ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID),y) -BLUEZ5_UTILS_CONF_OPTS += --enable-hid -else -BLUEZ5_UTILS_CONF_OPTS += --disable-hid -endif - -# enable hog plugin -ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG),y) -BLUEZ5_UTILS_CONF_OPTS += --enable-hog -else -BLUEZ5_UTILS_CONF_OPTS += --disable-hog -endif - # enable mesh profile ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_MESH),y) BLUEZ5_UTILS_CONF_OPTS += --enable-external-ell --enable-mesh @@ -102,13 +67,6 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-midi endif -# enable network plugin -ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NETWORK),y) -BLUEZ5_UTILS_CONF_OPTS += --enable-network -else -BLUEZ5_UTILS_CONF_OPTS += --disable-network -endif - # enable nfc plugin ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC),y) BLUEZ5_UTILS_CONF_OPTS += --enable-nfc @@ -130,16 +88,12 @@ else BLUEZ5_UTILS_CONF_OPTS += --disable-sixaxis endif -ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y) # install gatttool (For some reason upstream choose not to do it by default) -# gattool depends on the client for readline -ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_CLIENT),y) +ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED),y) define BLUEZ5_UTILS_INSTALL_GATTTOOL $(INSTALL) -D -m 0755 $(@D)/attrib/gatttool $(TARGET_DIR)/usr/bin/gatttool endef BLUEZ5_UTILS_POST_INSTALL_TARGET_HOOKS += BLUEZ5_UTILS_INSTALL_GATTTOOL -endif - # hciattach_bcm43xx defines default firmware path in `/etc/firmware`, but # Broadcom firmware blobs are usually located in `/lib/firmware`. BLUEZ5_UTILS_CONF_ENV += \ diff --git a/package/hostapd/hostapd.mk b/package/hostapd/hostapd.mk index e988999d..f6680b0f 100644 --- a/package/hostapd/hostapd.mk +++ b/package/hostapd/hostapd.mk @@ -74,6 +74,7 @@ HOSTAPD_CONFIG_ENABLE += \ CONFIG_IEEE80211AC \ CONFIG_IEEE80211N \ CONFIG_IEEE80211R \ + CONFIG_IEEE80211AX \ CONFIG_INTERWORKING endif diff --git a/package/libnspr/0001-Bug-1765100-fix-build-on-mips-musl-libc.patch b/package/libnspr/0001-Bug-1765100-fix-build-on-mips-musl-libc.patch new file mode 100755 index 00000000..10bf7413 --- /dev/null +++ b/package/libnspr/0001-Bug-1765100-fix-build-on-mips-musl-libc.patch @@ -0,0 +1,33 @@ +From 00e5b818f2d9f3264107801fc2fcff33a9355a78 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Sun, 17 Apr 2022 23:55:26 +0200 +Subject: [PATCH] Bug 1765100 - fix build on mips+musl libc + +This patch fix build failure on mips with musl libc by using Linux + instead of the one provided by libc since musl doesn't +provide . + +Signed-off-by: Giulio Benetti +--- +This patch is pending upstream: +https://bugzilla.mozilla.org/show_bug.cgi?id=1765100 +--- + nspr/pr/include/md/_linux.cfg | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/nspr/pr/include/md/_linux.cfg b/pr/include/md/_linux.cfg +index 23b160fd..dbc0d40e 100644 +--- a/nspr/pr/include/md/_linux.cfg ++++ b/nspr/pr/include/md/_linux.cfg +@@ -499,7 +499,7 @@ + #elif defined(__mips__) + + /* For _ABI64 */ +-#include ++#include + + #ifdef __MIPSEB__ + #define IS_BIG_ENDIAN 1 +-- +2.25.1 + diff --git a/package/libnspr/libnspr.hash b/package/libnspr/libnspr.hash old mode 100644 new mode 100755 index 13d39587..4795b52a --- a/package/libnspr/libnspr.hash +++ b/package/libnspr/libnspr.hash @@ -1,4 +1,4 @@ -# From https://ftp.mozilla.org/pub/nspr/releases/v4.32/src/SHA256SUMS -sha256 bb6bf4f534b9559cf123dcdc6f9cd8167de950314a90a88b2a329c16836e7f6c nspr-4.32.tar.gz +# From https://ftp.mozilla.org/pub/nspr/releases/v4.34/src/SHA256SUMS +sha256 beef011cd15d8f40794984d17014366513cec5719bf1a78f5e8a3e3a1cebf99c nspr-4.34.tar.gz # Locally calculated sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 nspr/LICENSE diff --git a/package/libnspr/libnspr.mk b/package/libnspr/libnspr.mk old mode 100644 new mode 100755 index 8f16a807..5d64d110 --- a/package/libnspr/libnspr.mk +++ b/package/libnspr/libnspr.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBNSPR_VERSION = 4.32 +LIBNSPR_VERSION = 4.34 LIBNSPR_SOURCE = nspr-$(LIBNSPR_VERSION).tar.gz LIBNSPR_SITE = https://ftp.mozilla.org/pub/mozilla.org/nspr/releases/v$(LIBNSPR_VERSION)/src LIBNSPR_SUBDIR = nspr diff --git a/package/linux-firmware/linux-firmware.mk b/package/linux-firmware/linux-firmware.mk index 2aac644d..600a71a3 100644 --- a/package/linux-firmware/linux-firmware.mk +++ b/package/linux-firmware/linux-firmware.mk @@ -82,8 +82,7 @@ LINUX_FIRMWARE_FILES += \ rtl_bt/rtl8821c_config.bin rtl_bt/rtl8821c_fw.bin \ rtl_bt/rtl8822b_config.bin rtl_bt/rtl8822b_fw.bin \ rtl_bt/rtl8822cs_config.bin rtl_bt/rtl8822cs_fw.bin \ - rtl_bt/rtl8822cu_config.bin rtl_bt/rtl8822cu_fw.bin \ - rtl_bt/rtl8852bu_config.bin rtl_bt/rtl8852bu_fw.bin + rtl_bt/rtl8822cu_config.bin rtl_bt/rtl8822cu_fw.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt endif diff --git a/package/qt5/Config.in b/package/qt5/Config.in index 6f2428d8..b8d7a49c 100644 --- a/package/qt5/Config.in +++ b/package/qt5/Config.in @@ -7,7 +7,7 @@ config BR2_PACKAGE_QT5_JSCORE_AVAILABLE bool default y # Javascript engine is only available on certain architectures - depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 || BR2_mipsel + depends on BR2_arm || BR2_aarch64 || BR2_i386 || BR2_x86_64 || BR2_mipsel || BR2_riscv # ARM needs BLX, so v5t+ depends on !BR2_ARM_CPU_ARMV4 diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index 9da3de46..5e725e9a 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -232,8 +232,8 @@ QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_ICU),icu) QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_EXAMPLES),-make,-nomake) examples ifeq ($(BR2_PACKAGE_LIBINPUT),y) -QT5BASE_CONFIGURE_OPTS += -libinput -QT5BASE_DEPENDENCIES += libinput +QT5BASE_CONFIGURE_OPTS += -libinput -xkbcommon +QT5BASE_DEPENDENCIES += libinput libxkbcommon else QT5BASE_CONFIGURE_OPTS += -no-libinput endif diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in index 4e923c7f..cf0e0460 100644 --- a/package/qt5/qt5webengine/Config.in +++ b/package/qt5/qt5webengine/Config.in @@ -2,7 +2,7 @@ config BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS bool default y if BR2_aarch64 || BR2_arm || \ BR2_i386 || BR2_x86_64 || \ - BR2_mips || BR2_mips64 + BR2_mips || BR2_mips64 || BR2_riscv # -m32 flag is used for 32bit builds and host tools have # limited architecture support depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" diff --git a/package/qt5/qt5webkit/0010-add-riscv-support.patch b/package/qt5/qt5webkit/0010-add-riscv-support.patch new file mode 100644 index 00000000..8b7c416f --- /dev/null +++ b/package/qt5/qt5webkit/0010-add-riscv-support.patch @@ -0,0 +1,96 @@ +From ec4c0b5e652ce1080c72e9f527af6c586925ba6f Mon Sep 17 00:00:00 2001 +From: Andy Hu +Date: Wed, 12 Jul 2023 12:29:11 +0800 +Subject: [PATCH 1/2] add riscv support + +--- + Source/JavaScriptCore/CMakeLists.txt | 1 + + Source/WTF/wtf/Platform.h | 12 ++++++++++-- + Source/WTF/wtf/dtoa/utils.h | 6 +++--- + 3 files changed, 14 insertions(+), 5 deletions(-) + mode change 100644 => 100755 Source/JavaScriptCore/CMakeLists.txt + mode change 100644 => 100755 Source/WTF/wtf/Platform.h + mode change 100644 => 100755 Source/WTF/wtf/dtoa/utils.h + +diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt +old mode 100644 +new mode 100755 +index 73917eb5..479b7d3c +--- a/Source/JavaScriptCore/CMakeLists.txt ++++ b/Source/JavaScriptCore/CMakeLists.txt +@@ -535,6 +535,7 @@ if (WTF_CPU_ARM) + + list(APPEND JavaScriptCore_SOURCES ${DERIVED_SOURCES_DIR}/GeneratedJITStubs.obj) + endif () ++elseif (WTF_CPU_RISCV64) + elseif (WTF_CPU_MIPS) + elseif (WTF_CPU_X86) + elseif (WTF_CPU_X86_64) +diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h +old mode 100644 +new mode 100755 +index 9cf65684..e3956824 +--- a/Source/WTF/wtf/Platform.h ++++ b/Source/WTF/wtf/Platform.h +@@ -357,7 +357,14 @@ + #endif + #endif + +-#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(SPARC) || CPU(MIPS64) ++#if defined(__riscv) ++#define WTF_CPU_RISCV 1 ++#if __riscv_xlen == 64 ++#define WTF_CPU_RISCV64 1 ++#endif ++#endif ++ ++#if CPU(ARM) || CPU(MIPS) || CPU(SH4) || CPU(SPARC) || CPU(MIPS64) || CPU(RISCV) + #define WTF_CPU_NEEDS_ALIGNED_ACCESS 1 + #endif + +@@ -761,7 +768,8 @@ + || CPU(S390X) \ + || CPU(AARCH64) \ + || CPU(MIPS64) \ +- || CPU(PPC64) ++ || CPU(PPC64) \ ++ || CPU(RISCV64) + #define WTF_USE_JSVALUE64 1 + #else + #define WTF_USE_JSVALUE32_64 1 +diff --git a/Source/WTF/wtf/dtoa/utils.h b/Source/WTF/wtf/dtoa/utils.h +old mode 100644 +new mode 100755 +index 298bf4d9..07032773 +--- a/Source/WTF/wtf/dtoa/utils.h ++++ b/Source/WTF/wtf/dtoa/utils.h +@@ -49,7 +49,7 @@ + defined(__ARMEL__) || \ + defined(_MIPS_ARCH_MIPS32R2) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 +-#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA) || CPU(MIPS64) || CPU(AARCH64) || CPU(HPPA) ++#elif CPU(MIPS) || CPU(PPC) || CPU(PPC64) || OS(WINCE) || CPU(SH4) || CPU(S390) || CPU(S390X) || CPU(IA64) || CPU(SPARC) || CPU(ALPHA) || CPU(MIPS64) || CPU(AARCH64) || CPU(HPPA) || CPU(RISCV) + #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1 + #elif defined(_M_IX86) || defined(__i386__) + #if defined(_WIN32) +@@ -151,7 +151,7 @@ namespace double_conversion { + // spanning from and including 'from', to but not including 'to'. + BufferReference SubBufferReference(int from, int to) { + ASSERT(to <= length_); +- ASSERT(from < to); ++ ASSERT_WITH_SECURITY_IMPLICATION(from < to); + ASSERT(0 <= from); + return BufferReference(start() + from, to - from); + } +@@ -292,7 +292,7 @@ namespace double_conversion { + inline Dest BitCast(const Source& source) { + // Compile time assertion: sizeof(Dest) == sizeof(Source) + // A compile error here means your Dest and Source have different sizes. +- typedef char VerifySizesAreEqual[sizeof(Dest) == sizeof(Source) ? 1 : -1]; ++ static_assert(sizeof(Dest) == sizeof(Source), "Source and destination sizes must be equal"); + + Dest dest; + memcpy(&dest, &source, sizeof(dest)); +-- +2.41.0 + diff --git a/package/qt5/qt5webkit/0011-fix-the-compile-gobject-issue.patch b/package/qt5/qt5webkit/0011-fix-the-compile-gobject-issue.patch new file mode 100644 index 00000000..b0ed96b1 --- /dev/null +++ b/package/qt5/qt5webkit/0011-fix-the-compile-gobject-issue.patch @@ -0,0 +1,122 @@ +From 9770a62d43bce6381fe9d047146eb271be3c5ce1 Mon Sep 17 00:00:00 2001 +From: Andy Hu +Date: Wed, 12 Jul 2023 12:31:50 +0800 +Subject: [PATCH 2/2] fix the compile gobject issue +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +/space/code/visionfive_qtwebkit/work/buildroot_initramfs/host/riscv64-buildroot-linux-gnu/sysroot/usr/include/glib-2.0/glib/gmacros.h:247:24: error: expected unqualified-id before ‘typename’ + 247 | #define glib_typeof(t) typename std::remove_reference::type + | ^~~~~~~~ +/space/code/visionfive_qtwebkit/work/buildroot_initramfs/host/riscv64-buildroot-linux-gnu/sysroot/usr/include/glib-2.0/gobject/gobject.h:524:34: note: in expansion of macro ‘glib_typeof’ + 524 | #define g_object_ref_sink(Obj) ((glib_typeof (Obj)) (g_object_ref_sink) (Obj)) + | ^~~~~~~~~~~ +../WTF/wtf/gobject/GRefPtr.h:32:21: note: in expansion of macro ‘g_object_ref_sink’ + 32 | extern C gpointer g_object_ref_sink(gpointer); +--- + Source/WTF/wtf/dtoa/strtod.cc | 13 ++++++++++--- + Source/WTF/wtf/gobject/GRefPtr.h | 6 ++++-- + include/QtWebKit/QtWebKit | 1 + + 3 files changed, 15 insertions(+), 5 deletions(-) + mode change 100644 => 100755 Source/WTF/wtf/dtoa/strtod.cc + +diff --git a/Source/WTF/wtf/dtoa/strtod.cc b/Source/WTF/wtf/dtoa/strtod.cc +old mode 100644 +new mode 100755 +index 5f63b22a..5270c3e5 +--- a/Source/WTF/wtf/dtoa/strtod.cc ++++ b/Source/WTF/wtf/dtoa/strtod.cc +@@ -38,11 +38,13 @@ + namespace WTF { + + namespace double_conversion { +- ++ ++#if defined(DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS) + // 2^53 = 9007199254740992. + // Any integer with at most 15 decimal digits will hence fit into a double + // (which has a 53bit significand) without loss of precision. + static const int kMaxExactDoubleIntegerDecimalDigits = 15; ++#endif + // 2^64 = 18446744073709551616 > 10^19 + static const int kMaxUint64DecimalDigits = 19; + +@@ -58,7 +60,7 @@ namespace double_conversion { + // 2^64 = 18446744073709551616 + static const uint64_t kMaxUint64 = UINT64_2PART_C(0xFFFFFFFF, FFFFFFFF); + +- ++#if defined(DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS) + static const double exact_powers_of_ten[] = { + 1.0, // 10^0 + 10.0, +@@ -86,6 +88,7 @@ namespace double_conversion { + 10000000000000000000000.0 + }; + static const int kExactPowersOfTenSize = ARRAY_SIZE(exact_powers_of_ten); ++#endif + + // Maximum number of significant digits in the decimal representation. + // In fact the value is 772 (see conversions.cc), but to give us some margin +@@ -177,6 +180,9 @@ namespace double_conversion { + int exponent, + double* result) { + #if !defined(DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS) ++ UNUSED_PARAM(trimmed); ++ UNUSED_PARAM(exponent); ++ UNUSED_PARAM(result); + // On x86 the floating-point stack can be 64 or 80 bits wide. If it is + // 80 bits wide (as is the case on Linux) then double-rounding occurs and the + // result is not accurate. +@@ -184,7 +190,7 @@ namespace double_conversion { + // Note that the ARM simulator is compiled for 32bits. It therefore exhibits + // the same problem. + return false; +-#endif ++#else + if (trimmed.length() <= kMaxExactDoubleIntegerDecimalDigits) { + int read_digits; + // The trimmed input fits into a double. +@@ -222,6 +228,7 @@ namespace double_conversion { + } + } + return false; ++#endif + } + + +diff --git a/Source/WTF/wtf/gobject/GRefPtr.h b/Source/WTF/wtf/gobject/GRefPtr.h +index 6c50f4da..2715df86 100644 +--- a/Source/WTF/wtf/gobject/GRefPtr.h ++++ b/Source/WTF/wtf/gobject/GRefPtr.h +@@ -25,11 +25,13 @@ + + #if USE(GLIB) + ++#include ++ + #include + #include + +-extern "C" void g_object_unref(gpointer); +-extern "C" gpointer g_object_ref_sink(gpointer); ++//extern "C" void g_object_unref(gpointer); ++//extern "C" gpointer g_object_ref_sink(gpointer); + + namespace WTF { + +diff --git a/include/QtWebKit/QtWebKit b/include/QtWebKit/QtWebKit +index 9bc17d32..8b162a5f 100644 +--- a/include/QtWebKit/QtWebKit ++++ b/include/QtWebKit/QtWebKit +@@ -10,5 +10,6 @@ + #include "qwebpluginfactory.h" + #include "qwebsecurityorigin.h" + #include "qwebsettings.h" ++#include "util.h" + #include "qtwebkitversion.h" + #endif +-- +2.41.0 + diff --git a/package/qt5/qt5webkit/0012-Fix-the-qt5webkit-example-compile-issue.patch b/package/qt5/qt5webkit/0012-Fix-the-qt5webkit-example-compile-issue.patch new file mode 100644 index 00000000..2658df86 --- /dev/null +++ b/package/qt5/qt5webkit/0012-Fix-the-qt5webkit-example-compile-issue.patch @@ -0,0 +1,25 @@ +From e86ba68cddb9bcae8c63885af810d3563907d087 Mon Sep 17 00:00:00 2001 +From: Andy Hu +Date: Wed, 12 Jul 2023 19:39:13 +0800 +Subject: [PATCH] Fix the qt5webkit-example compile issue + +when compile qt5webkit-example had the below issue: +work/buildroot_initramfs/host/riscv64-buildroot-linux-gnu/sysroot/usr/include/qt5/QtWebKit/QtWebKit:13:10: fatal error: util.h: No such file or directory +--- + include/QtWebKit/QtWebKit | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/include/QtWebKit/QtWebKit b/include/QtWebKit/QtWebKit +index 8b162a5f..9bc17d32 100644 +--- a/include/QtWebKit/QtWebKit ++++ b/include/QtWebKit/QtWebKit +@@ -10,6 +10,5 @@ + #include "qwebpluginfactory.h" + #include "qwebsecurityorigin.h" + #include "qwebsettings.h" +-#include "util.h" + #include "qtwebkitversion.h" + #endif +-- +2.41.0 + diff --git a/package/starfive/Config.in b/package/starfive/Config.in index 41332737..cf7d8b7f 100644 --- a/package/starfive/Config.in +++ b/package/starfive/Config.in @@ -15,3 +15,6 @@ source "package/starfive/img-gpu-powervr/Config.in" source "package/starfive/drm_test/Config.in" source "package/starfive/pm/Config.in" source "package/starfive/v4l2_dec_test/Config.in" +source "package/starfive/starfive-firmware/Config.in" +source "package/starfive/qt_test/Config.in" +source "package/starfive/hifi4-sof/Config.in" diff --git a/package/starfive/hifi4-sof/Config.in b/package/starfive/hifi4-sof/Config.in new file mode 100644 index 00000000..014a0adb --- /dev/null +++ b/package/starfive/hifi4-sof/Config.in @@ -0,0 +1,5 @@ +config BR2_PACKAGE_HIFI4_SOF + bool "hifi4-sof" + help + hifi4-sof package + diff --git a/package/starfive/hifi4-sof/hifi4-sof.mk b/package/starfive/hifi4-sof/hifi4-sof.mk new file mode 100644 index 00000000..61c504f1 --- /dev/null +++ b/package/starfive/hifi4-sof/hifi4-sof.mk @@ -0,0 +1,32 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Copyright (C) 2022 StarFive Technology Co., Ltd. +# +# Description: HIFI4_SOF +# +HIFI4_SOF_VERSION:=1.0.0 +HIFI4_SOF_SITE=$(TOPDIR)/../soft_3rdpart/HiFi4 +HIFI4_SOF_SITE_METHOD=local + +define HIFI4_SOF_BUILD_CMDS + +endef + +define HIFI4_SOF_CLEAN_CMDS + +endef + +define HIFI4_SOF_INSTALL_TARGET_CMDS + mkdir -p $(TARGET_DIR)/lib/firmware/sof + $(INSTALL) -m 0755 $(@D)/sof-vf2.ri $(TARGET_DIR)/lib/firmware/sof/sof-vf2.ri + $(INSTALL) -m 0755 $(@D)/sof-vf2-wm8960-aec.tplg $(TARGET_DIR)/lib/firmware/sof/sof-vf2-wm8960-aec.tplg + $(INSTALL) -m 0755 $(@D)/sof-vf2-wm8960-mixer.tplg $(TARGET_DIR)/lib/firmware/sof/sof-vf2-wm8960-mixer.tplg + $(INSTALL) -m 0755 $(@D)/sof-vf2-wm8960.tplg $(TARGET_DIR)/lib/firmware/sof/sof-vf2-wm8960.tplg +endef + +define HIFI4_SOF_UNINSTALL_TARGET_CMDS + +endef + +$(eval $(generic-package)) + diff --git a/package/starfive/qt_test/Config.in b/package/starfive/qt_test/Config.in new file mode 100644 index 00000000..f05595bd --- /dev/null +++ b/package/starfive/qt_test/Config.in @@ -0,0 +1,6 @@ +comment "qt test package" + +config BR2_PACKAGE_QT_TEST + bool "qt_test" + help + Utility for testing qt project diff --git a/package/starfive/qt_test/qt_test.mk b/package/starfive/qt_test/qt_test.mk new file mode 100644 index 00000000..f90edbe1 --- /dev/null +++ b/package/starfive/qt_test/qt_test.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# qttest +# +################################################################################ +QT_TEST_VERSION:=1.0.0 +QT_TEST_SITE=$(TOPDIR)/package/starfive/qt_test/src +QT_TEST_SITE_METHOD=local +QT_TEST_DEPENDENCIES = qt5base + +define QT_TEST_INSTALL_TARGET_CMDS + cd $(@D); $(TARGET_MAKE_ENV) $(MAKE) INSTALL_ROOT=$(TARGET_DIR) install +endef + +$(eval $(qmake-package)) diff --git a/package/starfive/qt_test/src/main.cpp b/package/starfive/qt_test/src/main.cpp new file mode 100755 index 00000000..fd3e5334 --- /dev/null +++ b/package/starfive/qt_test/src/main.cpp @@ -0,0 +1,11 @@ +#include "mainwindow.h" + +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + w.show(); + return a.exec(); +} diff --git a/package/starfive/qt_test/src/mainwindow.cpp b/package/starfive/qt_test/src/mainwindow.cpp new file mode 100755 index 00000000..485d3fa5 --- /dev/null +++ b/package/starfive/qt_test/src/mainwindow.cpp @@ -0,0 +1,21 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" +#include + +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) + , ui(new Ui::MainWindow) +{ + ui->setupUi(this); +} + +MainWindow::~MainWindow() +{ + delete ui; +} + +void MainWindow::on_pushButton1_clicked() +{ + QMessageBox::information(this , "information" , "Welcome to Riscv World!", + QMessageBox::Ok|QMessageBox::Default ); +} diff --git a/package/starfive/qt_test/src/mainwindow.h b/package/starfive/qt_test/src/mainwindow.h new file mode 100755 index 00000000..1d606d4c --- /dev/null +++ b/package/starfive/qt_test/src/mainwindow.h @@ -0,0 +1,25 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +QT_BEGIN_NAMESPACE +namespace Ui { class MainWindow; } +QT_END_NAMESPACE + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = nullptr); + ~MainWindow(); + +private: + Ui::MainWindow *ui; + +private slots: + void on_pushButton1_clicked(); + +}; +#endif // MAINWINDOW_H diff --git a/package/starfive/qt_test/src/mainwindow.ui b/package/starfive/qt_test/src/mainwindow.ui new file mode 100755 index 00000000..c26771df --- /dev/null +++ b/package/starfive/qt_test/src/mainwindow.ui @@ -0,0 +1,95 @@ + + + MainWindow + + + + 0 + 0 + 800 + 600 + + + + MainWindow + + + + + + 310 + 220 + 106 + 30 + + + + PushButton + + + + + + 520 + 220 + 110 + 27 + + + + CheckBox + + + + + + 520 + 280 + 133 + 27 + + + + RadioButton + + + + + + + 0 + 0 + 800 + 26 + + + + + Menu + + + + + + Setting + + + + + + + + + + Langue + + + + + About + + + + + + diff --git a/package/starfive/qt_test/src/qt_test.pro b/package/starfive/qt_test/src/qt_test.pro new file mode 100755 index 00000000..688ba9d3 --- /dev/null +++ b/package/starfive/qt_test/src/qt_test.pro @@ -0,0 +1,31 @@ +QT += core gui + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets + +CONFIG += c++11 + +# The following define makes your compiler emit warnings if you use +# any Qt feature that has been marked deprecated (the exact warnings +# depend on your compiler). Please consult the documentation of the +# deprecated API in order to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS + +# You can also make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += \ + main.cpp \ + mainwindow.cpp + +HEADERS += \ + mainwindow.h + +FORMS += \ + mainwindow.ui + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /root/bin +!isEmpty(target.path): INSTALLS += target diff --git a/package/starfive/starfive-firmware/Config.in b/package/starfive/starfive-firmware/Config.in new file mode 100644 index 00000000..c005e427 --- /dev/null +++ b/package/starfive/starfive-firmware/Config.in @@ -0,0 +1,46 @@ +# starfive firmware packages + +config BR2_PACKAGE_STARFIVE_FIRMWARE + bool "starfive-firmware" + help + This package provides additional various binary firmware files + based on BR2_PACKAGE_LINUX_FIRMWARE (closed binary blobs) for + such devices like bluetooth, wifi cards etc. + +if BR2_PACKAGE_STARFIVE_FIRMWARE + +menu "Starfive Bluetooth firmware" + +config BR2_PACKAGE_STARFIVE_FIRMWARE_AP6256_BLUETOOTH + bool "AP6256 Bluetooth" + help + Firmware files for AP6256 Wireless bluetooth support. + +config BR2_PACKAGE_STARFIVE_FIRMWARE_RTL8852BU_BLUETOOTH + bool "RTL8852BU Bluetooth" + help + Firmware files for RTL8852BU Wireless bluetooth support. + +endmenu # Bluetooth + + +menu "Starfive WiFi firmware" + +config BR2_PACKAGE_STARFIVE_FIRMWARE_AP6256_SDIO_WIFI + bool "AP6256 SDIO Wifi" + help + Firmware files for the AP6256 Wifi module on SDIO. + +config BR2_PACKAGE_STARFIVE_FIRMWARE_ECR6600U_USB_WIFI + bool "ECR6600U USB Wifi" + help + Firmware files for the ECR6600U USB Wifi module. + +config BR2_PACKAGE_STARFIVE_FIRMWARE_AIC8800_USB_WIFI + bool "AIC8800 and AIC8800DC USB Wifi" + help + Firmware files for the AIC8800 and AIC8800DC USB Wifi module. + +endmenu # WiFi + +endif # BR2_PACKAGE_STARFIVE_FIRMWARE diff --git a/package/starfive/starfive-firmware/ECR6600U-usb-wifi/ECR6600U_transport.bin b/package/starfive/starfive-firmware/ECR6600U-usb-wifi/ECR6600U_transport.bin new file mode 100644 index 00000000..912a60c9 Binary files /dev/null and b/package/starfive/starfive-firmware/ECR6600U-usb-wifi/ECR6600U_transport.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/aic_userconfig.txt b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/aic_userconfig.txt new file mode 100755 index 00000000..3346009e --- /dev/null +++ b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/aic_userconfig.txt @@ -0,0 +1,30 @@ +# AIC USERCONFIG 2021/0911/2127 + +# txpwr_idx +enable=1 +dsss=9 +ofdmlowrate_2g4=10 +ofdm64qam_2g4=10 +ofdm256qam_2g4=9 +ofdm1024qam_2g4=8 +ofdmlowrate_5g=10 +ofdm64qam_5g=9 +ofdm256qam_5g=9 +ofdm1024qam_5g=8 + +# txpwr_ofst +ofst_enable=0 +ofst_chan_1_4=0 +ofst_chan_5_9=0 +ofst_chan_10_13=0 +ofst_chan_36_64=0 +ofst_chan_100_120=0 +ofst_chan_122_140=0 +ofst_chan_142_165=0 + +# xtal cap +xtal_enable=0 +xtal_cap=24 +xtal_cap_fine=31 + +# END \ No newline at end of file diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw.bin new file mode 100755 index 00000000..d8f781d3 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw_m2d.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw_m2d.bin new file mode 100755 index 00000000..45c3aa79 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw_m2d.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw_no_msg_ep.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw_no_msg_ep.bin new file mode 100755 index 00000000..ff06a222 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw_no_msg_ep.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw_no_msg_ep_rf.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw_no_msg_ep_rf.bin new file mode 100755 index 00000000..e4b2a998 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw_no_msg_ep_rf.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw_rf.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw_rf.bin new file mode 100755 index 00000000..fdf58bb8 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fmacfw_rf.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_adid.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_adid.bin new file mode 100755 index 00000000..8a9b7135 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_adid.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_adid_rf.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_adid_rf.bin new file mode 100755 index 00000000..8a9b7135 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_adid_rf.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_adid_u03.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_adid_u03.bin new file mode 100755 index 00000000..6e66b7fc Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_adid_u03.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_ble_scan.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_ble_scan.bin new file mode 100755 index 00000000..6759d4ee Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_ble_scan.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch.bin new file mode 100755 index 00000000..c94d7fbc Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch_rf.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch_rf.bin new file mode 100755 index 00000000..2207a140 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch_rf.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch_table.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch_table.bin new file mode 100755 index 00000000..17d38f7f Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch_table.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch_table_u03.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch_table_u03.bin new file mode 100755 index 00000000..14b2c0f0 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch_table_u03.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch_u03.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch_u03.bin new file mode 100755 index 00000000..f25cc34d Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/fw_patch_u03.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/m2d_ota.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/m2d_ota.bin new file mode 100755 index 00000000..3f2d6c6f Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800/m2d_ota.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/aic_userconfig_8800dc.txt b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/aic_userconfig_8800dc.txt new file mode 100755 index 00000000..5f4febb6 --- /dev/null +++ b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/aic_userconfig_8800dc.txt @@ -0,0 +1,60 @@ +# AIC USERCONFIG 2022/0803/1707 + +# txpwr_lvl +enable=1 +lvl_11b_11ag_1m_2g4=20 +lvl_11b_11ag_2m_2g4=20 +lvl_11b_11ag_5m5_2g4=20 +lvl_11b_11ag_11m_2g4=20 +lvl_11b_11ag_6m_2g4=20 +lvl_11b_11ag_9m_2g4=20 +lvl_11b_11ag_12m_2g4=20 +lvl_11b_11ag_18m_2g4=20 +lvl_11b_11ag_24m_2g4=18 +lvl_11b_11ag_36m_2g4=18 +lvl_11b_11ag_48m_2g4=16 +lvl_11b_11ag_54m_2g4=16 +lvl_11n_11ac_mcs0_2g4=20 +lvl_11n_11ac_mcs1_2g4=20 +lvl_11n_11ac_mcs2_2g4=20 +lvl_11n_11ac_mcs3_2g4=20 +lvl_11n_11ac_mcs4_2g4=18 +lvl_11n_11ac_mcs5_2g4=18 +lvl_11n_11ac_mcs6_2g4=16 +lvl_11n_11ac_mcs7_2g4=16 +lvl_11n_11ac_mcs8_2g4=16 +lvl_11n_11ac_mcs9_2g4=16 +lvl_11ax_mcs0_2g4=20 +lvl_11ax_mcs1_2g4=20 +lvl_11ax_mcs2_2g4=20 +lvl_11ax_mcs3_2g4=20 +lvl_11ax_mcs4_2g4=18 +lvl_11ax_mcs5_2g4=18 +lvl_11ax_mcs6_2g4=16 +lvl_11ax_mcs7_2g4=16 +lvl_11ax_mcs8_2g4=16 +lvl_11ax_mcs9_2g4=16 +lvl_11ax_mcs10_2g4=15 +lvl_11ax_mcs11_2g4=15 + +# txpwr_loss +loss_enable=0 +loss_value=2 + +# txpwr_ofst +ofst_enable=0 +ofst_chan_1_4=0 +ofst_chan_5_9=0 +ofst_chan_10_13=0 +ofst_chan_36_64=0 +ofst_chan_100_120=0 +ofst_chan_122_140=0 +ofst_chan_142_165=0 + +# xtal cap +xtal_enable=0 +xtal_cap=24 +xtal_cap_fine=31 + + + diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_8800dc.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_8800dc.bin new file mode 100755 index 00000000..f8613c06 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_8800dc.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_8800dc_ipc.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_8800dc_ipc.bin new file mode 100755 index 00000000..1fcc247d Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_8800dc_ipc.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_8800dc_ipc_u02.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_8800dc_ipc_u02.bin new file mode 100755 index 00000000..fb9cdecd Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_8800dc_ipc_u02.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_8800dc_u02.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_8800dc_u02.bin new file mode 100755 index 00000000..96889045 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_8800dc_u02.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_tbl_8800dc_ipc_u02.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_tbl_8800dc_ipc_u02.bin new file mode 100755 index 00000000..3dcf219d Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_tbl_8800dc_ipc_u02.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_tbl_8800dc_u02.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_tbl_8800dc_u02.bin new file mode 100755 index 00000000..6707bbe9 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_patch_tbl_8800dc_u02.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_rf_patch_8800dc.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_rf_patch_8800dc.bin new file mode 100755 index 00000000..28ad12f8 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fmacfw_rf_patch_8800dc.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fw_patch_8800dc.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fw_patch_8800dc.bin new file mode 100755 index 00000000..5d0bf999 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fw_patch_8800dc.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fw_patch_8800dc_u02.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fw_patch_8800dc_u02.bin new file mode 100755 index 00000000..50ee7ced Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fw_patch_8800dc_u02.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fw_patch_table_8800dc.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fw_patch_table_8800dc.bin new file mode 100755 index 00000000..c4d2fd59 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fw_patch_table_8800dc.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fw_patch_table_8800dc_u02.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fw_patch_table_8800dc_u02.bin new file mode 100755 index 00000000..83932800 Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/fw_patch_table_8800dc_u02.bin differ diff --git a/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/lmacfw_rf_8800dc.bin b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/lmacfw_rf_8800dc.bin new file mode 100755 index 00000000..30b6299a Binary files /dev/null and b/package/starfive/starfive-firmware/aic8800-usb-wifi/aic8800DC/lmacfw_rf_8800dc.bin differ diff --git a/package/starfive/starfive-firmware/ap6256-bluetooth/BCM4345C5.hcd b/package/starfive/starfive-firmware/ap6256-bluetooth/BCM4345C5.hcd new file mode 100644 index 00000000..e878cb78 Binary files /dev/null and b/package/starfive/starfive-firmware/ap6256-bluetooth/BCM4345C5.hcd differ diff --git a/package/starfive/starfive-firmware/ap6256-bluetooth/S36ap6256-bluetooth b/package/starfive/starfive-firmware/ap6256-bluetooth/S36ap6256-bluetooth new file mode 100755 index 00000000..5cb80ce2 --- /dev/null +++ b/package/starfive/starfive-firmware/ap6256-bluetooth/S36ap6256-bluetooth @@ -0,0 +1,41 @@ +#!/bin/sh +# +# This shell script to loading the ap6256 bluetooth firmware +# and set gpio52 to reset the bluetooth hardware. +# +DESC="loading ap6256 bluetooth firmware and reset bluetooth" + +[ -e /lib/firmware/BCM4345C5.hcd ] || exit + +case "$1" in + start) + echo "Starting $DESC: " + echo 52 > /sys/class/gpio/export + echo out > /sys/class/gpio/gpio52/direction + + echo 0 > /sys/class/gpio/gpio52/value + sleep 1 + echo 1 > /sys/class/gpio/gpio52/value + + brcm_patchram_plus --enable_hci --no2bytes --tosleep 200000 --baudrate 1500000 --patchram /lib/firmware/BCM4345C5.hcd /dev/ttyS1 & + ;; + stop) + echo "Stopping $DESC: " + echo 0 > /sys/class/gpio/gpio52/value + echo 52 > /sys/class/gpio/unexport + killall brcm_patchram_plus + ;; + restart|force-reload) + echo "Restarting $DESC: " + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "Usage: $0 {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/package/starfive/starfive-firmware/ap6256-sdio-wifi/fw_bcm43456c5_ag.bin b/package/starfive/starfive-firmware/ap6256-sdio-wifi/fw_bcm43456c5_ag.bin new file mode 100644 index 00000000..c3f8c328 Binary files /dev/null and b/package/starfive/starfive-firmware/ap6256-sdio-wifi/fw_bcm43456c5_ag.bin differ diff --git a/package/starfive/starfive-firmware/ap6256-sdio-wifi/nvram_ap6256.txt b/package/starfive/starfive-firmware/ap6256-sdio-wifi/nvram_ap6256.txt new file mode 100644 index 00000000..a61242b1 --- /dev/null +++ b/package/starfive/starfive-firmware/ap6256-sdio-wifi/nvram_ap6256.txt @@ -0,0 +1,142 @@ +#AP6256_NVRAM_V1.4_06112021 +# Cloned from bcm94345wlpagb_p2xx.txt +NVRAMRev=$Rev: 498373 $ +sromrev=11 +vendid=0x14e4 +devid=0x43ab +manfid=0x2d0 +prodid=0x06e4 +macaddr=00:90:4c:c5:12:38 +nocrc=1 +boardtype=0x6e4 +boardrev=0x1304 + +#XTAL 37.4MHz +xtalfreq=37400 +btc_mode=1 + +#----------------------------------------- +#boardflags: 5GHz eTR switch by default +# 2.4GHz eTR switch by default +# bit1 for btcoex +boardflags=0x00480201 +boardflags2=0x40800000 +boardflags3=0x48200100 +phycal_tempdelta=15 +rxchain=1 +txchain=1 +aa2g=1 +aa5g=1 +tssipos5g=1 +tssipos2g=1 +femctrl=0 +AvVmid_c0=1,165,2,100,2,100,2,100,2,100 + +pa2ga0=-154,5722,-656 + +#1pa2ga0=-195,5558,-672 +pa2ga1=-118,4850,-635 +pa5ga0=-193,6098,-740,-192,6095,-738,-199,5996,-730,-182,6148,-741 + + +#3pa5ga0=-214,6002,-737,-209,6102,-746,-209,6024,-738,-200,6149,-747 +#2pa5ga0=-203,5495,-683,-205,5489,-682,-207,5494,-678,-208,5549,-683 +#1pa5ga0=-203,5495,-683,-205,5489,-682,-207,5494,-678,-185,6130,-740 +pa5ga1=-142,4930,-655,-150,4859,-646,-156,4887,-644,-158,4864,-641 + + + +itrsw=1 +pdoffset2g40ma0=10 +pdoffset40ma0=0xaaaa +pdoffset80ma0=0xaaaa +extpagain5g=2 +extpagain2g=2 +tworangetssi2g=0 +tworangetssi5g=0 +# LTECX flags +# WCI2 +ltecxmux=0 +ltecxpadnum=0x0504 +ltecxfnsel=0x22 +ltecxgcigpio=0x32 + +maxp2ga0=78 +cckbw202gpo=0x5555 +cckbw20ul2gpo=0x5555 + +ofdmlrbw202gpo=0x2244 +dot11agofdmhrbw202gpo=0x7744 +ccode=DE +regrev=0 + + +mcsbw202gpo=0x98886422 +mcsbw402gpo=0x98777755 + +maxp5ga0=75,75,75,76 + +#5GHz_20MHz Offset +mcsbw205glpo=0xba753311 +mcsbw205gmpo=0xba753311 +mcsbw205ghpo=0xba753311 + +#5GHz_40MHz Offset +mcsbw405glpo=0xe8753311 +mcsbw405gmpo=0xe8753311 +mcsbw405ghpo=0xd9753311 + +#5GHz_80MHz Offset +mcsbw805glpo=0xea633311 +mcsbw805gmpo=0xe7422211 +mcsbw805ghpo=0xda632211 + + +swctrlmap_2g=0x00000000,0x00000000,0x00000000,0x010000,0x3ff +swctrlmap_5g=0x00100010,0x00200020,0x00200020,0x010000,0x3fe +swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x3 +swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x3 + +vcodivmode=1 +deadman_to=481500000 +ed_thresh2g=-54 +ed_thresh5g=-54 +eu_edthresh2g=-54 +eu_edthresh5g=-54 + +#ed_thresh2g=-69 +#ed_thresh5g=-69 +#eu_edthresh2g=-69 +#eu_edthresh5g=-69 +ldo1=4 +rawtempsense=0x1ff +cckPwrIdxCorr=3 +cckTssiDelay=150 +ofdmTssiDelay=150 +txpwr2gAdcScale=1 +txpwr5gAdcScale=1 +dot11b_opts=0x3aa85 +cbfilttype=0 +#fdsslevel_ch1=6 +#fdsslevel_ch11=4 +#btc_mode=1 + +muxenab=0x10 + +cckdigfilttype=5 + +fdss_level_2g=6 +#fdss_level_5g=6 +#pacalshift5g=0,0,1 + +tempthresh=102 + + + + +pa2ga0_tsmc=-154,5722,-656 +pa2g40a0_tsmc=-199,6126,-732 +pa5ga0_tsmc=-193,6098,-740,-192,6095,-738,-199,5996,-730,-182,6148,-741 +pa5g40a0_tsmc=-193,6098,-740,-192,6095,-738,-199,5996,-730,-182,6148,-741 +pa5g80a0_tsmc=-193,6098,-740,-192,6095,-738,-199,5996,-730,-182,6148,-741 +fdss_level_5g=4 diff --git a/package/starfive/starfive-firmware/rtl8852bu-bluetooth/rtl8852bu_config b/package/starfive/starfive-firmware/rtl8852bu-bluetooth/rtl8852bu_config new file mode 100644 index 00000000..104e676f Binary files /dev/null and b/package/starfive/starfive-firmware/rtl8852bu-bluetooth/rtl8852bu_config differ diff --git a/package/starfive/starfive-firmware/rtl8852bu-bluetooth/rtl8852bu_fw b/package/starfive/starfive-firmware/rtl8852bu-bluetooth/rtl8852bu_fw new file mode 100644 index 00000000..a5d96749 Binary files /dev/null and b/package/starfive/starfive-firmware/rtl8852bu-bluetooth/rtl8852bu_fw differ diff --git a/package/starfive/starfive-firmware/starfive-firmware.mk b/package/starfive/starfive-firmware/starfive-firmware.mk new file mode 100644 index 00000000..98b1e349 --- /dev/null +++ b/package/starfive/starfive-firmware/starfive-firmware.mk @@ -0,0 +1,63 @@ +################################################################################ +# +# starfive-firmware +# +################################################################################ +STARFIVE_FIRMWARE_LICENSE = Proprietary + +# AP6256 Bluetooth +ifeq ($(BR2_PACKAGE_STARFIVE_FIRMWARE_AP6256_BLUETOOTH),y) +define STARFIVE_FIRMWARE_INSTALL_AP6256_BLUETOOTH + @echo "install AP6256 BLUETOOTH firmware ..." + $(INSTALL) -m 0755 -D $(STARFIVE_FIRMWARE_PKGDIR)/ap6256-bluetooth/BCM4345C5.hcd $(TARGET_DIR)/lib/firmware/ + $(INSTALL) -m 0755 -D $(STARFIVE_FIRMWARE_PKGDIR)/ap6256-bluetooth/S36ap6256-bluetooth $(TARGET_DIR)/etc/init.d/ +endef +endif + +# AP6256 SDIO Wifi +ifeq ($(BR2_PACKAGE_STARFIVE_FIRMWARE_AP6256_SDIO_WIFI),y) +define STARFIVE_FIRMWARE_INSTALL_AP6256_SDIO_WIFI + @echo "install AP6256_SDIO_WIFI firmware ..." + $(INSTALL) -m 0755 -D $(STARFIVE_FIRMWARE_PKGDIR)/ap6256-sdio-wifi/fw_bcm43456c5_ag.bin $(TARGET_DIR)/lib/firmware/ + $(INSTALL) -m 0755 -D $(STARFIVE_FIRMWARE_PKGDIR)/ap6256-sdio-wifi/nvram_ap6256.txt $(TARGET_DIR)/lib/firmware/ +endef +endif + +# RTL8852BU Bluetooth +ifeq ($(BR2_PACKAGE_STARFIVE_FIRMWARE_RTL8852BU_BLUETOOTH),y) +define STARFIVE_FIRMWARE_INSTALL_RTL8852BU + @echo "install RTL8852BU bluetooth firmware ..." + $(INSTALL) -m 0755 -D $(STARFIVE_FIRMWARE_PKGDIR)/rtl8852bu-bluetooth/rtl8852bu_config $(TARGET_DIR)/lib/firmware/ + $(INSTALL) -m 0755 -D $(STARFIVE_FIRMWARE_PKGDIR)/rtl8852bu-bluetooth/rtl8852bu_fw $(TARGET_DIR)/lib/firmware/ +endef +endif + +# ECR6600U USB Wifi +ifeq ($(BR2_PACKAGE_STARFIVE_FIRMWARE_ECR6600U_USB_WIFI),y) +define STARFIVE_FIRMWARE_INSTALL_ECR6600U + @echo "install ECR6600U firmware ..." + $(INSTALL) -m 0755 -D $(STARFIVE_FIRMWARE_PKGDIR)/ECR6600U-usb-wifi/ECR6600U_transport.bin $(TARGET_DIR)/lib/firmware/ +endef +endif + +# AIC8800 or AIC8800DC USB Wifi +ifeq ($(BR2_PACKAGE_STARFIVE_FIRMWARE_AIC8800_USB_WIFI),y) +define STARFIVE_FIRMWARE_INSTALL_AIC8800 + @echo "install AIC8800 firmware ..." + $(INSTALL) -m 0755 -d $(TARGET_DIR)/lib/firmware/aic8800 + $(INSTALL) -m 0644 -t $(TARGET_DIR)/lib/firmware/aic8800 $(STARFIVE_FIRMWARE_PKGDIR)/aic8800-usb-wifi/aic8800/* + $(INSTALL) -m 0755 -d $(TARGET_DIR)/lib/firmware/aic8800DC + $(INSTALL) -m 0644 -t $(TARGET_DIR)/lib/firmware/aic8800DC $(STARFIVE_FIRMWARE_PKGDIR)/aic8800-usb-wifi/aic8800DC/* +endef +endif + +# install more firmware here +define STARFIVE_FIRMWARE_INSTALL_TARGET_CMDS + $(STARFIVE_FIRMWARE_INSTALL_AP6256_BLUETOOTH) + $(STARFIVE_FIRMWARE_INSTALL_AP6256_SDIO_WIFI) + $(STARFIVE_FIRMWARE_INSTALL_RTL8852BU) + $(STARFIVE_FIRMWARE_INSTALL_ECR6600U) + $(STARFIVE_FIRMWARE_INSTALL_AIC8800) +endef + +$(eval $(generic-package)) diff --git a/system/skeleton/init b/system/skeleton/init index 7586499a..aa9c23a0 100755 --- a/system/skeleton/init +++ b/system/skeleton/init @@ -40,6 +40,17 @@ if [ $ROOT == "/dev/nfs" ] && [ "x${NFSROOT}" != "x" ];then /sbin/ifup -a mount -t nfs -o nolock $NFSROOT /rootfs else + cnt=0 + while [ $cnt -lt 100 ] + do + if [ ! -e $ROOT ];then + sleep 0.1 + else + echo "find $ROOT: $cnt" + break + fi + let cnt++ + done mount $ROOT /rootfs/ if [ ! -e /rootfs/dev/console ]; then /bin/mknod /rootfs/dev/console c 5 1