diff --git a/.github/workflows/build-main.yaml b/.github/workflows/build-main.yaml
index 6791ed916f..f4f69acc58 100644
--- a/.github/workflows/build-main.yaml
+++ b/.github/workflows/build-main.yaml
@@ -100,7 +100,7 @@ jobs:
### Installation Package Downloads
|**Device/Platform**|**Download Package**|**Documentation**|
|----|----|----|
- |**Anbernic RG351P/M, Game Console R33S, ODROID Go Advance, ODROID Go Super, Magicx XU10**|[JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3326/)|
+ |**Anbernic RG351P/M, Game Console R33S/R35S/R36S, ODROID Go Advance, ODROID Go Super, Magicx XU10**|[JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3326/)|
|**Anbernic RG552**|[JELOS-RK3399.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3399.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3399/)|
|**Atari VCS, AOKZOE, Ayaneo, Ayn, GPD, and other x86_64 devices**|[JELOS-AMD64.x86_64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-AMD64.x86_64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/AMD64/)|
|**Hardkernel ODROID Go Ultra, Powkiddy RGB10 Max 3 Pro**|[JELOS-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_GOU.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_GOU.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/S922X/)|
@@ -120,7 +120,7 @@ jobs:
### Update Package Downloads
|**Device/Platform**|**Download Package**|
|----|----|
- |**Anbernic RG351P/M, Game Console R33S,ODROID Go Advance, ODROID Go Super, Magicx XU10**|[JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.tar)|
+ |**Anbernic RG351P/M, Game Console R33S/R35S/R36S, ODROID Go Advance, ODROID Go Super, Magicx XU10**|[JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3326.aarch64-${{ steps.version.outputs.version }}.tar)|
|**Anbernic RG552**|[JELOS-RK3399.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3399.aarch64-${{ steps.version.outputs.version }}.tar)|
|****Atari VCS, AOKZOE, Ayaneo, Ayn, GPD, and other x86_64 devices****|[JELOS-AMD64.x86_64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-AMD64.x86_64-${{ steps.version.outputs.version }}.tar)|
|**Hardkernel ODROID Go Ultra, N2/N2+/N2L, Powkiddy RGB10 Max 3 Pro**|[JELOS-S922X.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-S922X.aarch64-${{ steps.version.outputs.version }}.tar)|
diff --git a/config/blocklist b/config/blocklist
index 1925e90926..9989ad9950 100644
--- a/config/blocklist
+++ b/config/blocklist
@@ -1,17 +1,18 @@
-pico-8 # Metapackage, doesn't need to update
+dolphin-sa # Wayland patch is now broken upstream
+duckstation-lr # Libretro support removed from upstream.
+duckstation-sa # Patches need to be reworked.
+gptokeyb # Newer versions break hotkeys
+gzdoom-sa # Stick to release versions.
+kronos-sa # Using the release version of kronos had better results.
+melonds-sa # Broken OpenGL renderer upstream
+mupen64plus-sa-ui-console # Causes segfaults
+nanoboyadvance-sa # SDL version removed after this commit
np2kai # Last major commit before hiatus is broken.
+openbor # Newer versions break controls, needs research.
+pico-8 # Metapackage, doesn't need to update
+ppsspp-sa # Manually update to release versions.
+retroarch # Manually update to release versions.
+rpcs3-sa # Need to update to llvm 16
+ryujinx-sa # Broken on JELOS after build 1.1740.
vice-sa # Doesn't support updating with the script.
-dolphin-sa # Wayland patch is now broken upstream
-duckstation-lr #Libretro support removed from upstream.
-duckstation-sa #Patches need to be reworked.
-rpcs3-sa #Need to update to llvm 16
-ryujinx-sa #broken on JELOS after build 1.1740.
-melonds-sa #Broken OpenGL renderer upstream
-nanoboyadvance-sa #SDL version removed after this commit
-mupen64plus-sa-ui-console #Causes segfaults
-kronos-sa #using the release version of kronos had better results.
-retroarch #pinning to release versions for stability.
-vita3k-sa #Patch updates needed.
-gzdoom-sa #Stick to release versions.
-openbor #newer versions break controls, needs research.
-gptokeyb #Newer versions break hotkeys
+vita3k-sa # Should be manually updated.
diff --git a/config/emulators/vircon32.conf b/config/emulators/vircon32.conf
new file mode 100644
index 0000000000..56dd813697
--- /dev/null
+++ b/config/emulators/vircon32.conf
@@ -0,0 +1,11 @@
+SYSTEM_NAME="vircon32"
+SYSTEM_FULLNAME="Vircon32"
+SYSTEM_MANUFACTURER="Various"
+SYSTEM_RELEASE="2021"
+SYSTEM_HARDWARE="game engine"
+SYSTEM_PATH="/storage/roms/vircon32"
+SYSTEM_EXTENSION=".v32"
+SYSTEM_COMMAND="/usr/bin/runemu.sh %ROM% -P%SYSTEM% --core=%CORE% --emulator=%EMULATOR% --controllers=\"%CONTROLLERSCONFIG%\""
+SYSTEM_PLATFORM="vircon32"
+SYSTEM_THEME="vircon32"
+SYSTEM_WIKI_PATH="vircon32"
diff --git a/distributions/JELOS/options b/distributions/JELOS/options
index 404b9af991..219b2aa744 100644
--- a/distributions/JELOS/options
+++ b/distributions/JELOS/options
@@ -42,7 +42,7 @@
# Define package sets to clean based on the type of build being executed.
# This should be updated to be more dynamic in the future.
- CLEAN_OS_BASE="emulators u-boot-script system-utils modules quirks autostart jelos"
+ CLEAN_OS_BASE="initramfs emulators u-boot-script system-utils modules quirks autostart jelos"
CLEAN_NETWORK="RTL8821CS-firmware"
CLEAN_EMU_32BIT="lib32 box86 pcsx_rearmed-lr arm"
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md
index 038c9d79f2..07cd298fa1 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md
@@ -126,5 +126,6 @@ This document describes all available systems emulators and cores available for
|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
|Various|ScummVM (scummvm)|2001|`games`|.sh .svm .scummvm|**scummvmsa:** scummvm (default)
**retroarch:** scummvm
|
+|Various|Vircon32 (vircon32)|2021|`vircon32`|.v32|**retroarch:** vircon32 (default)
|
|Watara|Supervision (supervision)|1992|`supervision`|.sv .zip .7z|**retroarch:** potator (default)
|
|Welback Holdings|Mega Duck (megaduck)|1993|`megaduck`|.bin .zip .7z|**retroarch:** sameduck (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md
index 6077c797db..7ac029dd4b 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md
@@ -78,8 +78,8 @@ This document describes all available systems emulators and cores available for
|Nintendo|Satellaview (satellaview)|1995|`satellaview`|.smc .fig .bs .sfc .bsx .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
|
|Nintendo|Super Famicom (sfc)|1990|`sfc`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
|
|Nintendo|Super NES MSU-1 (snesmsu1)|2012|`snesmsu1`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** beetle_supafaust
**mednafen:** snes_faust
|
-|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
|
-|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**mednafen:** snes_faust
**mednafen:** snes_faust
**mednafen:** snes_faust
|
+|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**mednafen:** snes_faust
|
+|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**mednafen:** snes_faust
**mednafen:** snes_faust
|
|Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)
**mednafen:** vb
|
|Panasonic|3DO (3do)|1993|`3do`|.iso .bin .chd .cue|**retroarch:** opera (default)
|
|Philips|CD-i (cdi)|1991|`cdi`|.chd .cue .iso|**retroarch:** same_cdi (default)
|
@@ -117,5 +117,6 @@ This document describes all available systems emulators and cores available for
|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
|Various|ScummVM (scummvm)|2001|`games`|.sh .svm .scummvm|**scummvmsa:** scummvm (default)
**retroarch:** scummvm
|
+|Various|Vircon32 (vircon32)|2021|`vircon32`|.v32|**retroarch:** vircon32 (default)
|
|Watara|Supervision (supervision)|1992|`supervision`|.sv .zip .7z|**retroarch:** potator (default)
|
|Welback Holdings|Mega Duck (megaduck)|1993|`megaduck`|.bin .zip .7z|**retroarch:** sameduck (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md
index e8ea141835..eebfec1f38 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md
@@ -79,8 +79,8 @@ This document describes all available systems emulators and cores available for
|Nintendo|Satellaview (satellaview)|1995|`satellaview`|.smc .fig .bs .sfc .bsx .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
|
|Nintendo|Super Famicom (sfc)|1990|`sfc`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
|
|Nintendo|Super NES MSU-1 (snesmsu1)|2012|`snesmsu1`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** beetle_supafaust
**mednafen:** snes_faust
|
-|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
|
-|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
**mednafen:** snes_faust
**mednafen:** snes_faust
**mednafen:** snes_faust
|
+|Nintendo|Super Nintendo (Hacks) (snesh)|1991|`snesh`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
**mednafen:** snes_faust
|
+|Nintendo|Super Nintendo (snes)|1991|`snes`|.smc .fig .sfc .swc .zip .7z|**retroarch:** snes9x (default)
**retroarch:** snes9x2010
**retroarch:** snes9x2002
**retroarch:** snes9x2005_plus
**retroarch:** beetle_supafaust
**retroarch:** bsnes_mercury_performance
**retroarch:** bsnes
**retroarch:** bsnes_hd_beta
**mednafen:** snes_faust
**mednafen:** snes_faust
|
|Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)
**mednafen:** vb
|
|Nintendo|Wii (wii)|2006|`wii`|.gcm .iso .gcz .ciso .wbfs .rvz .dol .wad|**dolphin:** dolphin-sa-wii (default)
**retroarch:** dolphin
|
|Panasonic|3DO (3do)|1993|`3do`|.iso .bin .chd .cue|**retroarch:** opera (default)
|
@@ -120,5 +120,6 @@ This document describes all available systems emulators and cores available for
|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
|Various|ScummVM (scummvm)|2001|`games`|.sh .svm .scummvm|**scummvmsa:** scummvm (default)
**retroarch:** scummvm
|
+|Various|Vircon32 (vircon32)|2021|`vircon32`|.v32|**retroarch:** vircon32 (default)
|
|Watara|Supervision (supervision)|1992|`supervision`|.sv .zip .7z|**retroarch:** potator (default)
|
|Welback Holdings|Mega Duck (megaduck)|1993|`megaduck`|.bin .zip .7z|**retroarch:** sameduck (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md
index a904ffbc58..1ee2626182 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md
@@ -117,5 +117,6 @@ This document describes all available systems emulators and cores available for
|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
|Various|ScummVM (scummvm)|2001|`games`|.sh .svm .scummvm|**scummvmsa:** scummvm (default)
**retroarch:** scummvm
|
+|Various|Vircon32 (vircon32)|2021|`vircon32`|.v32|**retroarch:** vircon32 (default)
|
|Watara|Supervision (supervision)|1992|`supervision`|.sv .zip .7z|**retroarch:** potator (default)
|
|Welback Holdings|Mega Duck (megaduck)|1993|`megaduck`|.bin .zip .7z|**retroarch:** sameduck (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md
index d983d8fbcd..4c8ea664c5 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md
@@ -120,5 +120,6 @@ This document describes all available systems emulators and cores available for
|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
|Various|ScummVM (scummvm)|2001|`games`|.sh .svm .scummvm|**scummvmsa:** scummvm (default)
**retroarch:** scummvm
|
+|Various|Vircon32 (vircon32)|2021|`vircon32`|.v32|**retroarch:** vircon32 (default)
|
|Watara|Supervision (supervision)|1992|`supervision`|.sv .zip .7z|**retroarch:** potator (default)
|
|Welback Holdings|Mega Duck (megaduck)|1993|`megaduck`|.bin .zip .7z|**retroarch:** sameduck (default)
|
diff --git a/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md
index 97eeb6d5df..6407f92319 100644
--- a/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md
+++ b/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md
@@ -121,5 +121,6 @@ This document describes all available systems emulators and cores available for
|Various|EasyRPG (easyrpg)|2003|`easyrpg`|.zip .easyrpg .ldb|**retroarch:** easyrpg (default)
|
|Various|OpenBOR (openbor)|2003|`openbor`|.pak|**OpenBOR:** OpenBOR (default)
|
|Various|ScummVM (scummvm)|2001|`games`|.sh .svm .scummvm|**retroarch:** scummvm (default)
|
+|Various|Vircon32 (vircon32)|2021|`vircon32`|.v32|**retroarch:** vircon32 (default)
|
|Watara|Supervision (supervision)|1992|`supervision`|.sv .zip .7z|**retroarch:** potator (default)
|
|Welback Holdings|Mega Duck (megaduck)|1993|`megaduck`|.bin .zip .7z|**retroarch:** sameduck (default)
|
diff --git a/packages/apps/jelos-gamepad/udev.d/99-JELOS-not-joysticks.rules b/packages/apps/jelos-gamepad/udev.d/99-JELOS-not-joysticks.rules
new file mode 100644
index 0000000000..32d4bcb1ab
--- /dev/null
+++ b/packages/apps/jelos-gamepad/udev.d/99-JELOS-not-joysticks.rules
@@ -0,0 +1 @@
+SUBSYSTEM=="input", ATTRS{name}=="gpio-keys-control", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
diff --git a/packages/apps/moonlight/package.mk b/packages/apps/moonlight/package.mk
index af07ecd630..2325778634 100644
--- a/packages/apps/moonlight/package.mk
+++ b/packages/apps/moonlight/package.mk
@@ -14,7 +14,7 @@ if [ "${TARGET_ARCH}" = "x86_64" ]
then
PKG_SITE+="qt"
PKG_URL="${PKG_SITE}.git"
- PKG_VERSION="3d8de56f251ad8ec4a237c1b59091697e8973c3a"
+ PKG_VERSION="7b29b221928111d7242f5a181b0bf14e9542bb6f"
PKG_DEPENDS_TARGET+=" qt5"
PKG_TOOLCHAIN="manual"
make_target() {
diff --git a/packages/emulators/libretro/beetle-pce-fast-lr/package.mk b/packages/emulators/libretro/beetle-pce-fast-lr/package.mk
index de1672fc9e..c3fbf62bf3 100644
--- a/packages/emulators/libretro/beetle-pce-fast-lr/package.mk
+++ b/packages/emulators/libretro/beetle-pce-fast-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="beetle-pce-fast-lr"
-PKG_VERSION="cfb9362fd0de38141d40266725829f25f574162a"
+PKG_VERSION="d97d9558fe218ea04821788cee1f2c03556e818a"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/beetle-pce-lr/package.mk b/packages/emulators/libretro/beetle-pce-lr/package.mk
index 26e0fb56bf..b522814757 100644
--- a/packages/emulators/libretro/beetle-pce-lr/package.mk
+++ b/packages/emulators/libretro/beetle-pce-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="beetle-pce-lr"
-PKG_VERSION="e8870b170ad4135bf5738c7206d7a27488d388ab"
+PKG_VERSION="753f067738e55a6325d3ca5206151a9acd9127f0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/beetle-supergrafx-lr/package.mk b/packages/emulators/libretro/beetle-supergrafx-lr/package.mk
index 6c235241ad..30581639c3 100644
--- a/packages/emulators/libretro/beetle-supergrafx-lr/package.mk
+++ b/packages/emulators/libretro/beetle-supergrafx-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="beetle-supergrafx-lr"
-PKG_VERSION="d24d383f88ff892e9f8dce7c1f3ce491f2f7731a"
+PKG_VERSION="32070ffd0082fd5127519bb6e92a2daecc359408"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/fbneo-lr/package.mk b/packages/emulators/libretro/fbneo-lr/package.mk
index 4331364896..11aa922b9a 100644
--- a/packages/emulators/libretro/fbneo-lr/package.mk
+++ b/packages/emulators/libretro/fbneo-lr/package.mk
@@ -4,7 +4,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="fbneo-lr"
-PKG_VERSION="e8cd9f81bc974f7427d9cff9ffc1d2f3a8d15f1f"
+PKG_VERSION="2adfb2723b5d7abcf33633fd30a794dce4263a5b"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Non-commercial"
diff --git a/packages/emulators/libretro/fmsx-lr/package.mk b/packages/emulators/libretro/fmsx-lr/package.mk
index f344674424..aebff3bc2c 100644
--- a/packages/emulators/libretro/fmsx-lr/package.mk
+++ b/packages/emulators/libretro/fmsx-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="fmsx-lr"
-PKG_VERSION="1806eed4376fbe2fad82fa19271ea298cfbb7795"
+PKG_VERSION="9b5cf868825a629cc4c7086768338165d3bbf706"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/freej2me-lr/package.mk b/packages/emulators/libretro/freej2me-lr/package.mk
index f8d4780524..1aaee5de7e 100644
--- a/packages/emulators/libretro/freej2me-lr/package.mk
+++ b/packages/emulators/libretro/freej2me-lr/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="freej2me-lr"
-PKG_VERSION="d8aa5d9a55a5673b77d5999342143ebdf131bfbd"
+PKG_VERSION="8b9bc8a19baf26e3d92f88934a64a32f1cbc2795"
PKG_REV="1"
PKG_ARCH="any"
PKG_SITE="https://github.com/hex007/freej2me"
diff --git a/packages/emulators/libretro/gambatte-lr/package.mk b/packages/emulators/libretro/gambatte-lr/package.mk
index 5623a29e65..38ec28e158 100644
--- a/packages/emulators/libretro/gambatte-lr/package.mk
+++ b/packages/emulators/libretro/gambatte-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="gambatte-lr"
-PKG_VERSION="c9a07107f121498a158762116d47d7068a247d3c"
+PKG_VERSION="05c4e10168aa3070b4ea01f7da7ab1c0d4241103"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/gearboy-lr/package.mk b/packages/emulators/libretro/gearboy-lr/package.mk
index 6ff0a4359d..a7105fdb22 100644
--- a/packages/emulators/libretro/gearboy-lr/package.mk
+++ b/packages/emulators/libretro/gearboy-lr/package.mk
@@ -15,7 +15,7 @@
################################################################################
PKG_NAME="gearboy-lr"
-PKG_VERSION="d403f61a75e1c81a100846baa5c1fe73d588c1ef"
+PKG_VERSION="8037339f2aaccd54dfd1a38b589ef2b3d3e2d4c4"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
diff --git a/packages/emulators/libretro/gearsystem-lr/package.mk b/packages/emulators/libretro/gearsystem-lr/package.mk
index 2a5aaa7034..93fa63103f 100644
--- a/packages/emulators/libretro/gearsystem-lr/package.mk
+++ b/packages/emulators/libretro/gearsystem-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="gearsystem-lr"
-PKG_VERSION="4b446ade9f990a57ef591f159fab1c717be88b2d"
+PKG_VERSION="0fda5894b310110532a5594b815c20cf9a6cb1ed"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv3"
diff --git a/packages/emulators/libretro/genesis-plus-gx-lr/package.mk b/packages/emulators/libretro/genesis-plus-gx-lr/package.mk
index a2ad7f5df2..ee33ad2768 100644
--- a/packages/emulators/libretro/genesis-plus-gx-lr/package.mk
+++ b/packages/emulators/libretro/genesis-plus-gx-lr/package.mk
@@ -21,7 +21,7 @@
################################################################################
PKG_NAME="genesis-plus-gx-lr"
-PKG_VERSION="59cdc560e21eeddfa4d5a5c935413cdaa9d660f3"
+PKG_VERSION="7aba063778534a78b080a737c0465667ebd66154"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Non-commercial"
diff --git a/packages/emulators/libretro/libretro-database/package.mk b/packages/emulators/libretro/libretro-database/package.mk
index d22c1a7944..37c5471000 100644
--- a/packages/emulators/libretro/libretro-database/package.mk
+++ b/packages/emulators/libretro/libretro-database/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="libretro-database"
-PKG_VERSION="2c121df3a1c661e7a686f159ec5500a2837eefb3"
+PKG_VERSION="8bca7df7f2edcc05916e14516eb522ae80627283"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
diff --git a/packages/emulators/libretro/mame-lr/package.mk b/packages/emulators/libretro/mame-lr/package.mk
index 300b8931a6..aed3904df6 100644
--- a/packages/emulators/libretro/mame-lr/package.mk
+++ b/packages/emulators/libretro/mame-lr/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2019 Trond Haugland (trondah@gmail.com)
PKG_NAME="mame-lr"
-PKG_VERSION="68520cf9defd1c2762bca7f266f13ad593b7b3f3"
+PKG_VERSION="8ebaec4073703f5050dac3f6c8da408943e15938"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/mame"
diff --git a/packages/emulators/libretro/mame2003-plus-lr/package.mk b/packages/emulators/libretro/mame2003-plus-lr/package.mk
index 6455f08268..020ac41d7e 100644
--- a/packages/emulators/libretro/mame2003-plus-lr/package.mk
+++ b/packages/emulators/libretro/mame2003-plus-lr/package.mk
@@ -21,7 +21,7 @@
################################################################################
PKG_NAME="mame2003-plus-lr"
-PKG_VERSION="53c6083a2044c3529a436b51c5206cd9a896d12c"
+PKG_VERSION="fc987f1913203a41bca7f6fd16e92c83729dd7fc"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="MAME"
diff --git a/packages/emulators/libretro/mupen64plus-nx-lr/package.mk b/packages/emulators/libretro/mupen64plus-nx-lr/package.mk
index 9e62f6ac1a..4541c8892c 100755
--- a/packages/emulators/libretro/mupen64plus-nx-lr/package.mk
+++ b/packages/emulators/libretro/mupen64plus-nx-lr/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="mupen64plus-nx-lr"
-PKG_VERSION="0e1dc5abacf91f1640206d32d18735e82071681e"
+PKG_VERSION="fa55ddca926d3c3ad2285911646919def4aa6fa3"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/mupen64plus-libretro-nx"
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
diff --git a/packages/emulators/libretro/nestopia-lr/package.mk b/packages/emulators/libretro/nestopia-lr/package.mk
index 627bd6e34c..6290fb1d15 100644
--- a/packages/emulators/libretro/nestopia-lr/package.mk
+++ b/packages/emulators/libretro/nestopia-lr/package.mk
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="nestopia-lr"
-PKG_VERSION="8050c38e5a1db6927b03510651809e8ef932b888"
+PKG_VERSION="407df997b65cddbff9b25abae0510e6645205677"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/pcsx_rearmed-lr/package.mk b/packages/emulators/libretro/pcsx_rearmed-lr/package.mk
index 0908bb7665..c004a405f8 100644
--- a/packages/emulators/libretro/pcsx_rearmed-lr/package.mk
+++ b/packages/emulators/libretro/pcsx_rearmed-lr/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="pcsx_rearmed-lr"
-PKG_VERSION="06cdf83a3a30bfb8cafee768dbe83bbaef6c8ddd"
+PKG_VERSION="9aefd427e47e1cdf94578e1913054bc14a44bab6"
PKG_ARCH="arm aarch64"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/libretro/pcsx_rearmed"
diff --git a/packages/emulators/libretro/scummvm-lr/package.mk b/packages/emulators/libretro/scummvm-lr/package.mk
index 68813dea0b..b60a8a7777 100644
--- a/packages/emulators/libretro/scummvm-lr/package.mk
+++ b/packages/emulators/libretro/scummvm-lr/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="scummvm-lr"
-PKG_VERSION="eba4a86797175f541f7e1a2a2dc0ee5c2bf4cca7"
+PKG_VERSION="6fa7403b8b1b6e18e3a3d02120b38aad6a73ad26"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
diff --git a/packages/emulators/libretro/slang-shaders/package.mk b/packages/emulators/libretro/slang-shaders/package.mk
index 0a11e3d071..c76c0d0210 100644
--- a/packages/emulators/libretro/slang-shaders/package.mk
+++ b/packages/emulators/libretro/slang-shaders/package.mk
@@ -20,7 +20,7 @@
################################################################################
PKG_NAME="slang-shaders"
-PKG_VERSION="5b4c9b2a75aba5f57fcb5b68662a06f0ed7c929f"
+PKG_VERSION="89a5f03de8ed4d26a5a217a8469ef6466c89b179"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
diff --git a/packages/emulators/libretro/tic80-lr/package.mk b/packages/emulators/libretro/tic80-lr/package.mk
index 6be35faac9..cca616faa1 100644
--- a/packages/emulators/libretro/tic80-lr/package.mk
+++ b/packages/emulators/libretro/tic80-lr/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="tic80-lr"
-PKG_VERSION="f4578a2f147f69b1cb489fb407de9900d4524578"
+PKG_VERSION="5cee27b49c4322a9d6e89f08fd083e3e91329d42"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/nesbox/TIC-80"
PKG_URL="${PKG_SITE}.git"
diff --git a/packages/emulators/libretro/vecx-lr/package.mk b/packages/emulators/libretro/vecx-lr/package.mk
index 527125297b..1df6d3d12c 100644
--- a/packages/emulators/libretro/vecx-lr/package.mk
+++ b/packages/emulators/libretro/vecx-lr/package.mk
@@ -19,7 +19,7 @@
################################################################################
PKG_NAME="vecx-lr"
-PKG_VERSION="a401c268e425dc8ae6a301e7fdb9a9e96f39b8ea"
+PKG_VERSION="56a99fa08a7601b304d752188ca573febf26faeb"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPLv2|LGPLv2.1"
diff --git a/packages/emulators/libretro/vircon32-lr/package.mk b/packages/emulators/libretro/vircon32-lr/package.mk
new file mode 100644
index 0000000000..fada82cb15
--- /dev/null
+++ b/packages/emulators/libretro/vircon32-lr/package.mk
@@ -0,0 +1,25 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2024-present AmberELEC (https://github.com/AmberELEC)
+
+PKG_NAME="vircon32-lr"
+PKG_VERSION="2868270d7d33403f7ec236a7de177ea74afd9b5d"
+PKG_LICENSE="GPLv2"
+PKG_SITE="https://github.com/vircon32/vircon32-libretro"
+PKG_URL="${PKG_SITE}.git"
+PKG_DEPENDS_TARGET="toolchain ${OPENGLES}"
+PKG_LONGDESC="Vircon32 32-bit Virtual Console"
+PKG_TOOLCHAIN="cmake-make"
+
+pre_configure_target() {
+ PKG_CMAKE_OPTS_TARGET="-DENABLE_OPENGLES2=1 \
+ -DPLATFORM=EMUELEC \
+ -DOPENGL_INCLUDE_DIR=${SYSROOT_PREFIX}/usr/include \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_RULE_MESSAGES=OFF \
+ -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON"
+}
+
+makeinstall_target() {
+ mkdir -p ${INSTALL}/usr/lib/libretro
+ cp -f vircon32_libretro.so ${INSTALL}/usr/lib/libretro
+}
diff --git a/packages/emulators/standalone/cemu-sa/package.mk b/packages/emulators/standalone/cemu-sa/package.mk
index 6e4c55af9c..d3e0446036 100644
--- a/packages/emulators/standalone/cemu-sa/package.mk
+++ b/packages/emulators/standalone/cemu-sa/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="cemu-sa"
-PKG_VERSION="4405116324fda4895ccdc1ec6bc32ee253b16261"
+PKG_VERSION="ca01e923bf03573d5023feb0f4464ce015910ea6"
PKG_ARCH="x86_64"
PKG_LICENSE="MPL-2.0"
PKG_SITE="https://github.com/cemu-project/Cemu"
diff --git a/packages/emulators/standalone/drastic-sa/config/drastic.gptk b/packages/emulators/standalone/drastic-sa/config/drastic.gptk
index 036a3b08b7..13dcd76844 100644
--- a/packages/emulators/standalone/drastic-sa/config/drastic.gptk
+++ b/packages/emulators/standalone/drastic-sa/config/drastic.gptk
@@ -1,4 +1,4 @@
-ack = e
+back = e
start = \\
a = d
a_hk = a
diff --git a/packages/emulators/standalone/flycast-sa/package.mk b/packages/emulators/standalone/flycast-sa/package.mk
index ad6af839a8..63c2de5b75 100644
--- a/packages/emulators/standalone/flycast-sa/package.mk
+++ b/packages/emulators/standalone/flycast-sa/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="flycast-sa"
-PKG_VERSION="195f401044fc3a77d6ae0dbd206d446d127b2769"
+PKG_VERSION="44fa364f36c43bed19b055096600f075c656f78c"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/flyinghead/flycast"
PKG_URL="${PKG_SITE}.git"
diff --git a/packages/emulators/standalone/hatarisa/package.mk b/packages/emulators/standalone/hatarisa/package.mk
index 50bcec3ad0..71c2825b56 100644
--- a/packages/emulators/standalone/hatarisa/package.mk
+++ b/packages/emulators/standalone/hatarisa/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2018-present 5schatten (https://github.com/5schatten)
PKG_NAME="hatarisa"
-PKG_VERSION="ed4c43db21d8910486cea8bf5a10a536fe8d746c"
+PKG_VERSION="aa25c4510b1cffd0bf36f9efd5224564a2804a95"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/hatari/hatari"
PKG_URL="https://github.com/hatari/hatari/archive/${PKG_VERSION}.tar.gz"
diff --git a/packages/emulators/standalone/ppsspp-sa/patches/001-do-not-mute.patch b/packages/emulators/standalone/ppsspp-sa/patches/001-do-not-mute.patch
new file mode 100644
index 0000000000..301940d878
--- /dev/null
+++ b/packages/emulators/standalone/ppsspp-sa/patches/001-do-not-mute.patch
@@ -0,0 +1,19 @@
+diff --git a/Core/Config.cpp b/Core/Config.cpp
+index 008ef0c127..470ffd4d15 100644
+--- a/Core/Config.cpp
++++ b/Core/Config.cpp
+@@ -1392,10 +1392,10 @@ void Config::PostLoadCleanup(bool gameSpecific) {
+ g_Config.bSkipBufferEffects = false;
+ }
+
+- // Automatically silence secondary instances. Could be an option I guess, but meh.
+- if (PPSSPP_ID > 1) {
+- g_Config.iGlobalVolume = 0;
+- }
++// // Automatically silence secondary instances. Could be an option I guess, but meh.
++// if (PPSSPP_ID > 1) {
++// g_Config.iGlobalVolume = 0;
++// }
+
+ // Automatically switch away from deprecated setting value.
+ if (iTexScalingLevel <= 0) {
diff --git a/packages/emulators/standalone/ppsspp-sa/scripts/start_ppsspp.sh b/packages/emulators/standalone/ppsspp-sa/scripts/start_ppsspp.sh
index d8c7b56b84..7cc3647e28 100755
--- a/packages/emulators/standalone/ppsspp-sa/scripts/start_ppsspp.sh
+++ b/packages/emulators/standalone/ppsspp-sa/scripts/start_ppsspp.sh
@@ -4,6 +4,15 @@
. /etc/profile
+SOURCE_DIR="/usr/config/ppsspp"
+CONF_DIR="/storage/.config/ppsspp"
+PPSSPP_INI="/PSP/SYSTEM/ppsspp.ini"
+
+if [ ! -d "${CONF_DIR}" ]
+then
+ cp -rf ${SOURCE_DIR} ${CONF_DIR}
+fi
+
#Set the cores to use
CORES=$(get_setting "cores" "${PLATFORM}" "${ROMNAME##*/}")
if [ "${CORES}" = "little" ]
@@ -27,98 +36,99 @@ fi
VSYNC=$(get_setting vsync psp "${GAME}")
#Frame Skip
- if [ "$FSKIP" = "0" ]
+ if [ "${FSKIP}" = "0" ]
then
- sed -i '/^FrameSkip =/c\FrameSkip = 0' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
- sed -i '/^FrameSkipType =/c\FrameSkipType = 0' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
- sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^FrameSkip =/c\FrameSkip = 0' ${CONF_DIR}/${PPSSPP_INI}
+ sed -i '/^FrameSkipType =/c\FrameSkipType = 0' ${CONF_DIR}/${PPSSPP_INI}
+ sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' ${CONF_DIR}/${PPSSPP_INI}
fi
- if [ "$FSKIP" = "1" ]
+ if [ "${FSKIP}" = "1" ]
then
- sed -i '/^FrameSkip =/c\FrameSkip = 1' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
- sed -i '/^FrameSkipType =/c\FrameSkipType = 0' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
- sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^FrameSkip =/c\FrameSkip = 1' ${CONF_DIR}/${PPSSPP_INI}
+ sed -i '/^FrameSkipType =/c\FrameSkipType = 0' ${CONF_DIR}/${PPSSPP_INI}
+ sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' ${CONF_DIR}/${PPSSPP_INI}
fi
- if [ "$FSKIP" = "2" ]
+ if [ "${FSKIP}" = "2" ]
then
- sed -i '/^FrameSkip =/c\FrameSkip = 2' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
- sed -i '/^FrameSkipType =/c\FrameSkipType = 0' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
- sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^FrameSkip =/c\FrameSkip = 2' ${CONF_DIR}/${PPSSPP_INI}
+ sed -i '/^FrameSkipType =/c\FrameSkipType = 0' ${CONF_DIR}/${PPSSPP_INI}
+ sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' ${CONF_DIR}/${PPSSPP_INI}
fi
- if [ "$FSKIP" = "3" ]
+ if [ "${FSKIP}" = "3" ]
then
- sed -i '/^FrameSkip =/c\FrameSkip = 3' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
- sed -i '/^FrameSkipType =/c\FrameSkipType = 0' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
- sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^FrameSkip =/c\FrameSkip = 3' ${CONF_DIR}/${PPSSPP_INI}
+ sed -i '/^FrameSkipType =/c\FrameSkipType = 0' ${CONF_DIR}/${PPSSPP_INI}
+ sed -i '/^AutoFrameSkip =/c\AutoFrameSkip = False' ${CONF_DIR}/${PPSSPP_INI}
fi
- if [ "$FSKIP" = "auto" ]
+ if [ "${FSKIP}" = "auto" ]
then
- sed -i '/AutoFrameSkip =/c\AutoFrameSkip = True' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/AutoFrameSkip =/c\AutoFrameSkip = True' ${CONF_DIR}/${PPSSPP_INI}
fi
#Graphics Backend
#Default to OpenGL / GLES if no option is set.
- sed -i '/^GraphicsBackend =/c\GraphicsBackend = 0 (OPENGL)' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^GraphicsBackend =/c\GraphicsBackend = 0 (OPENGL)' ${CONF_DIR}/${PPSSPP_INI}
- if [ "$GRENDERER" = "opengl" ]
+ if [ "${GRENDERER}" = "opengl" ]
then
- sed -i '/^GraphicsBackend =/c\GraphicsBackend = 0 (OPENGL)' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^GraphicsBackend =/c\GraphicsBackend = 0 (OPENGL)' ${CONF_DIR}/${PPSSPP_INI}
fi
- if [ "$GRENDERER" = "vulkan" ]
+ if [ "${GRENDERER}" = "vulkan" ]
then
- sed -i '/^GraphicsBackend =/c\GraphicsBackend = 3 (VULKAN)' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^GraphicsBackend =/c\GraphicsBackend = 3 (VULKAN)' ${CONF_DIR}/${PPSSPP_INI}
fi
#Internal Resolution
- if [ "$IRES" = "1" ]
+ if [ "${IRES}" = "1" ]
then
- sed -i '/^InternalResolution/c\InternalResolution = 1' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^InternalResolution/c\InternalResolution = 1' ${CONF_DIR}/${PPSSPP_INI}
fi
- if [ "$IRES" = "2" ]
+ if [ "${IRES}" = "2" ]
then
- sed -i '/^InternalResolution/c\InternalResolution = 2' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^InternalResolution/c\InternalResolution = 2' ${CONF_DIR}/${PPSSPP_INI}
fi
- if [ "$IRES" = "3" ]
+ if [ "${IRES}" = "3" ]
then
- sed -i '/^InternalResolution/c\InternalResolution = 3' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^InternalResolution/c\InternalResolution = 3' ${CONF_DIR}/${PPSSPP_INI}
fi
- if [ "$IRES" = "4" ]
+ if [ "${IRES}" = "4" ]
then
- sed -i '/^InternalResolution/c\InternalResolution = 4' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^InternalResolution/c\InternalResolution = 4' ${CONF_DIR}/${PPSSPP_INI}
fi
#Show FPS
- if [ "$FPS" = "0" ]
+ if [ "${FPS}" = "0" ]
then
- sed -i '/^iShowStatusFlags =/c\iShowStatusFlags = 0' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^iShowStatusFlags =/c\iShowStatusFlags = 0' ${CONF_DIR}/${PPSSPP_INI}
fi
- if [ "$FPS" = "1" ]
+ if [ "${FPS}" = "1" ]
then
- sed -i '/^iShowStatusFlags =/c\iShowStatusFlags = 2' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^iShowStatusFlags =/c\iShowStatusFlags = 2' ${CONF_DIR}/${PPSSPP_INI}
fi
#Skip Buffer Effects
- if [ "$SKIPB" = "0" ]
+ if [ "${SKIPB}" = "0" ]
then
- sed -i '/^SkipBufferEffects =/c\SkipBufferEffects = False' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^SkipBufferEffects =/c\SkipBufferEffects = False' ${CONF_DIR}/${PPSSPP_INI}
fi
- if [ "$SKIPB" = "1" ]
+ if [ "${SKIPB}" = "1" ]
then
- sed -i '/^SkipBufferEffects =/c\SkipBufferEffects = True' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^SkipBufferEffects =/c\SkipBufferEffects = True' ${CONF_DIR}/${PPSSPP_INI}
fi
#VSYNC
- if [ "$VSYNC" = "0" ]
+ if [ "${VSYNC}" = "0" ]
then
- sed -i '/^VSyncInterval =/c\VSyncInterval = False' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^VSyncInterval =/c\VSyncInterval = False' ${CONF_DIR}/${PPSSPP_INI}
fi
- if [ "$VSYNC" = "1" ]
+ if [ "${VSYNC}" = "1" ]
then
- sed -i '/^VSyncInterval =/c\VSyncInterval = True' /storage/.config/ppsspp/PSP/SYSTEM/ppsspp.ini
+ sed -i '/^VSyncInterval =/c\VSyncInterval = True' ${CONF_DIR}/${PPSSPP_INI}
fi
ARG=${1//[\\]/}
+
jslisten set "-9 ppsspp"
-export SDL_AUDIODRIVER=alsa
+
${EMUPERF} ppsspp --pause-menu-exit "${ARG}"
diff --git a/packages/emulators/standalone/ppsspp-sa/sources/AMD64/ppsspp.ini b/packages/emulators/standalone/ppsspp-sa/sources/AMD64/ppsspp.ini
index 5becefa63d..20e7335c4f 100755
--- a/packages/emulators/standalone/ppsspp-sa/sources/AMD64/ppsspp.ini
+++ b/packages/emulators/standalone/ppsspp-sa/sources/AMD64/ppsspp.ini
@@ -181,8 +181,7 @@ SoundSpeedHack = False
AudioResampler = False
GlobalVolume = 10
AltSpeedVolume = -1
-AudioDevice = es8316, ff890000.i2s-ES8316 HiFi ES8316 HiFi-0
-AutoAudioDevice = False
+AutoAudioDevice = True
ReverbVolume = 10
[Control]
HapticFeedback = False
diff --git a/packages/emulators/standalone/ppsspp-sa/sources/RK3399/ppsspp.ini b/packages/emulators/standalone/ppsspp-sa/sources/RK3399/ppsspp.ini
index a0d5f63fb8..ccf4921edd 100644
--- a/packages/emulators/standalone/ppsspp-sa/sources/RK3399/ppsspp.ini
+++ b/packages/emulators/standalone/ppsspp-sa/sources/RK3399/ppsspp.ini
@@ -187,8 +187,7 @@ SoundSpeedHack = False
AudioResampler = False
GlobalVolume = 10
AltSpeedVolume = -1
-AudioDevice = es8316, ff890000.i2s-ES8316 HiFi ES8316 HiFi-0
-AutoAudioDevice = False
+AutoAudioDevice = True
ReverbVolume = 10
[Control]
HapticFeedback = False
diff --git a/packages/emulators/standalone/ppsspp-sa/sources/RK3566-X55/ppsspp.ini b/packages/emulators/standalone/ppsspp-sa/sources/RK3566-X55/ppsspp.ini
index f90ec964e9..52c30f6c78 100755
--- a/packages/emulators/standalone/ppsspp-sa/sources/RK3566-X55/ppsspp.ini
+++ b/packages/emulators/standalone/ppsspp-sa/sources/RK3566-X55/ppsspp.ini
@@ -162,8 +162,7 @@ SoundSpeedHack = False
AudioResampler = False
GlobalVolume = 10
AltSpeedVolume = -1
-AudioDevice = es8316, ff890000.i2s-ES8316 HiFi ES8316 HiFi-0
-AutoAudioDevice = False
+AutoAudioDevice = True
ReverbVolume = 10
[Control]
HapticFeedback = False
diff --git a/packages/emulators/standalone/ppsspp-sa/sources/RK3566/ppsspp.ini b/packages/emulators/standalone/ppsspp-sa/sources/RK3566/ppsspp.ini
index f90ec964e9..52c30f6c78 100755
--- a/packages/emulators/standalone/ppsspp-sa/sources/RK3566/ppsspp.ini
+++ b/packages/emulators/standalone/ppsspp-sa/sources/RK3566/ppsspp.ini
@@ -162,8 +162,7 @@ SoundSpeedHack = False
AudioResampler = False
GlobalVolume = 10
AltSpeedVolume = -1
-AudioDevice = es8316, ff890000.i2s-ES8316 HiFi ES8316 HiFi-0
-AutoAudioDevice = False
+AutoAudioDevice = True
ReverbVolume = 10
[Control]
HapticFeedback = False
diff --git a/packages/emulators/standalone/retroarch/udev.d/99-8bitdo-bluetooth-controllers.rules b/packages/emulators/standalone/retroarch/udev.d/99-8bitdo-bluetooth-controllers.rules
index 45594b13d7..b6abb22f60 100644
--- a/packages/emulators/standalone/retroarch/udev.d/99-8bitdo-bluetooth-controllers.rules
+++ b/packages/emulators/standalone/retroarch/udev.d/99-8bitdo-bluetooth-controllers.rules
@@ -41,3 +41,9 @@ SUBSYSTEM=="input", ATTRS{name}=="8Bitdo Joy", MODE="0666", ENV{ID_INPUT_JOYSTIC
# 8Bitdo Zero GamePad Bluetooth mode(START) mode(START+R)
SUBSYSTEM=="input", ATTRS{name}=="8Bitdo Zero GamePad", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"
+
+# 8Bitdo 2.4ghz ultimate
+ACTION=="add", ATTRS{idVendor}=="2dc8", ATTRS{idProduct}=="3106", RUN+="/usr/sbin/modprobe xpad", RUN+="/bin/sh -c 'echo 2dc8 3106 > /sys/bus/usb/drivers/xpad/new_id'"
+
+# 8Bitdo M30
+ACTION=="add", ATTRS{idVendor}=="2dc8", ATTRS{idProduct}=="6002", RUN+="/usr/sbin/modprobe xpad", RUN+="/bin/sh -c 'echo 2dc8 6002 > /sys/bus/usb/drivers/xpad/new_id'"
diff --git a/packages/emulators/standalone/vita3k-sa/package.mk b/packages/emulators/standalone/vita3k-sa/package.mk
index cc2369c1a5..18f4d37997 100644
--- a/packages/emulators/standalone/vita3k-sa/package.mk
+++ b/packages/emulators/standalone/vita3k-sa/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="vita3k-sa"
-PKG_VERSION="da73a57"
+PKG_VERSION="6ce9b6598ed8e0cd7ac65553b75c8b03ed65e77a"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/Vita3K/Vita3K"
PKG_URL="${PKG_SITE}.git"
diff --git a/packages/emulators/standalone/yuzu-sa/package.mk b/packages/emulators/standalone/yuzu-sa/package.mk
index feb8c1b990..d41fecfe79 100644
--- a/packages/emulators/standalone/yuzu-sa/package.mk
+++ b/packages/emulators/standalone/yuzu-sa/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="yuzu-sa"
-PKG_VERSION="7cc7d027f74b5bffc0b3f8f3a6c3110999c7cc4c"
+PKG_VERSION="ad4ae399033853e6fe45a5e2a0009c614ab199fc"
PKG_ARCH="x86_64"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/yuzu-emu/yuzu"
diff --git a/packages/emulators/standalone/yuzu-sa/patches/001-fix-missing-include.patch b/packages/emulators/standalone/yuzu-sa/patches/001-fix-missing-include.patch
new file mode 100644
index 0000000000..17adf2de24
--- /dev/null
+++ b/packages/emulators/standalone/yuzu-sa/patches/001-fix-missing-include.patch
@@ -0,0 +1,12 @@
+diff --git a/src/core/hle/service/nvnflinger/hardware_composer.cpp b/src/core/hle/service/nvnflinger/hardware_composer.cpp
+index be7eb97a..cb660c01 100644
+--- a/src/core/hle/service/nvnflinger/hardware_composer.cpp
++++ b/src/core/hle/service/nvnflinger/hardware_composer.cpp
+@@ -12,6 +12,7 @@
+ #include "core/hle/service/nvnflinger/ui/graphic_buffer.h"
+ #include "core/hle/service/vi/display/vi_display.h"
+ #include "core/hle/service/vi/layer/vi_layer.h"
++#include
+
+ namespace Service::Nvnflinger {
+
diff --git a/packages/emulators/tools/control-gen/package.mk b/packages/emulators/tools/control-gen/package.mk
index b353fb7f49..6fc0d42dd1 100644
--- a/packages/emulators/tools/control-gen/package.mk
+++ b/packages/emulators/tools/control-gen/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="control-gen"
-PKG_VERSION="badce1ea44e6dda7e6ff461ad10ae1e72f0cfb32"
+PKG_VERSION="75ade0f0344d2338968313ff346412fe5b1e4df0"
PKG_ARCH="any"
PKG_LICENSE="GPLv2"
PKG_DEPENDS_TARGET="toolchain"
diff --git a/packages/emulators/tools/gamecontrollerdb/package.mk b/packages/emulators/tools/gamecontrollerdb/package.mk
index 9b3e4501fb..6e7b77613d 100644
--- a/packages/emulators/tools/gamecontrollerdb/package.mk
+++ b/packages/emulators/tools/gamecontrollerdb/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="gamecontrollerdb"
-PKG_VERSION="e15eac7b43d0527b475409b2a488681c5bbea1ea"
+PKG_VERSION="ae51c9942f0d985b2161d6b22986f041fc98ce5c"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_DEPENDS_TARGET="toolchain SDL2"
diff --git a/packages/emulators/tools/retroarch-joypads/package.mk b/packages/emulators/tools/retroarch-joypads/package.mk
index bf5478c7c7..0b1a4b89eb 100644
--- a/packages/emulators/tools/retroarch-joypads/package.mk
+++ b/packages/emulators/tools/retroarch-joypads/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="retroarch-joypads"
-PKG_VERSION="9999374439b6526cfec78dd1fc51ed889e51ec6d"
+PKG_VERSION="b61ceaf137db189901356c57a142828b23e4bebc"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/libretro/retroarch-joypad-autoconfig"
PKG_URL="${PKG_SITE}.git"
diff --git a/packages/emulators/tools/virtualgamepad/package.mk b/packages/emulators/tools/virtualcontroller/package.mk
similarity index 58%
rename from packages/emulators/tools/virtualgamepad/package.mk
rename to packages/emulators/tools/virtualcontroller/package.mk
index 7e19e63471..ed507f07eb 100644
--- a/packages/emulators/tools/virtualgamepad/package.mk
+++ b/packages/emulators/tools/virtualcontroller/package.mk
@@ -1,8 +1,8 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
-PKG_NAME="virtualgamepad"
-PKG_VERSION="a6e8459"
+PKG_NAME="virtualcontroller"
+PKG_VERSION="31985f2e1da8cfcf599a068845ddd3713ba3616c"
PKG_LICENSE="GPLv2"
PKG_SITE="https://github.com/macromorgan/input-wrapper"
PKG_URL="${PKG_SITE}.git"
@@ -11,10 +11,10 @@ PKG_TOOLCHAIN="make"
makeinstall_target() {
mkdir -p ${INSTALL}/usr/bin
- cp wrap ${INSTALL}/usr/bin/virtualgamepad
- chmod 0755 ${INSTALL}/usr/bin/virtualgamepad
+ cp virtual_controller ${INSTALL}/usr/bin/virtual_controller
+ chmod 0755 ${INSTALL}/usr/bin/virtual_controller
}
post_install() {
- enable_service virtualgamepad.service
+ enable_service virtualcontroller.service
}
diff --git a/packages/emulators/tools/virtualcontroller/system.d/virtualcontroller.service b/packages/emulators/tools/virtualcontroller/system.d/virtualcontroller.service
new file mode 100644
index 0000000000..105ea15b5c
--- /dev/null
+++ b/packages/emulators/tools/virtualcontroller/system.d/virtualcontroller.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=Virtual Controller Driver
+After=systemd-udev-settle.service
+Wants=systemd-udev-settle.service
+
+[Service]
+Type=simple
+Nice=-20
+OOMScoreAdjust=-1000
+Restart=always
+ExecStart=/usr/bin/virtual_controller
+
+[Install]
+WantedBy=multi-user.target
diff --git a/packages/emulators/tools/virtualcontroller/udev.d/99-JELOS-not-joysticks.rules b/packages/emulators/tools/virtualcontroller/udev.d/99-JELOS-not-joysticks.rules
new file mode 100644
index 0000000000..32d4bcb1ab
--- /dev/null
+++ b/packages/emulators/tools/virtualcontroller/udev.d/99-JELOS-not-joysticks.rules
@@ -0,0 +1 @@
+SUBSYSTEM=="input", ATTRS{name}=="gpio-keys-control", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}=""
diff --git a/packages/emulators/tools/virtualgamepad/system.d/virtualgamepad.service b/packages/emulators/tools/virtualgamepad/system.d/virtualgamepad.service
deleted file mode 100644
index 23af44bb57..0000000000
--- a/packages/emulators/tools/virtualgamepad/system.d/virtualgamepad.service
+++ /dev/null
@@ -1,9 +0,0 @@
-[Unit]
-Description=Virtual Gamepad Driver
-
-[Service]
-Type=simple
-ExecStart=/usr/bin/virtualgamepad
-
-[Install]
-WantedBy=multi-user.target
diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk
index 5c300599c6..a64cacd46d 100644
--- a/packages/graphics/mesa/package.mk
+++ b/packages/graphics/mesa/package.mk
@@ -17,13 +17,13 @@ case ${DEVICE} in
PKG_GIT_CLONE_BRANCH="csf"
;;
RK33*|RK3566) #Using upstream dev for panfrost
- PKG_VERSION="7adc7678a88edccfbd20af2307e7f50e9ed48e47"
+ PKG_VERSION="ad5fbc440767ee020ebf761bd7f3aaba0895c92d"
PKG_SITE="https://gitlab.freedesktop.org/mesa/mesa"
PKG_URL="${PKG_SITE}.git"
PKG_PATCH_DIRS+=" panfrost"
;;
*)
- PKG_VERSION="24.0.0"
+ PKG_VERSION="24.0.1"
PKG_SITE="http://www.mesa3d.org/"
PKG_URL="https://gitlab.freedesktop.org/mesa/mesa/-/archive/mesa-${PKG_VERSION}/mesa-mesa-${PKG_VERSION}.tar.gz"
;;
diff --git a/packages/graphics/wxwidgets/package.mk b/packages/graphics/wxwidgets/package.mk
index a71e722865..9b9cf9ed1a 100644
--- a/packages/graphics/wxwidgets/package.mk
+++ b/packages/graphics/wxwidgets/package.mk
@@ -2,20 +2,13 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="wxwidgets"
-PKG_VERSION="a812fff"
-#PKG_VERSION="c372724b3448de02a9135835f99f15a26e35f979"
+PKG_VERSION="b97aee4"
PKG_LICENSE="wxWindows Library Licence"
PKG_SITE="https://github.com/wxWidgets/wxWidgets"
PKG_URL="${PKG_SITE}.git"
-PKG_GIT_CLONE_BRANCH="3.2.2-hotfix"
+PKG_GIT_CLONE_BRANCH="3.2"
PKG_DEPENDS_TARGET="toolchain zlib libpng libjpeg-turbo gdk-pixbuf gtk3 libaio"
PKG_LONGDESC="wxWidgets is a free and open source cross-platform C++ framework for writing advanced GUI applications using native controls."
-PKG_BUILD_FLAGS="+pic"
-
-pre_configure_target() {
- LDFLAGS="${LDFLAGS} -fPIC"
- CXXFLAGS="${CXXFLAGS} -fPIC"
-}
post_install() {
cp ${PKG_BUILD}/.${TARGET_NAME}/lib/wx/config/gtk3-unicode-3.2 ${SYSROOT_PREFIX}/usr/bin/wx-config
diff --git a/packages/hardware/quirks/devices/Gameforce CHI/001-device_config b/packages/hardware/quirks/devices/Gameforce CHI/001-device_config
new file mode 100644
index 0000000000..65b60bc8f0
--- /dev/null
+++ b/packages/hardware/quirks/devices/Gameforce CHI/001-device_config
@@ -0,0 +1,17 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
+
+cat </storage/.config/profile.d/001-device_config
+# Device Features
+DEVICE_VOLUMECTL="true"
+DEVICE_POWER_LED="false"
+DEVICE_PLAYBACK_PATH_SPK="HP"
+DEVICE_PLAYBACK_PATH_HP="SPK"
+DEVICE_BRIGHTNESS="128"
+DEVICE_VOLUME="100"
+DEVICE_BATTERY_LED_STATUS="true"
+DEVICE_PWR_LED_GPIO="77"
+DEVICE_TEMP_SENSOR="/sys/devices/virtual/thermal/thermal_zone0/temp"
+DEVICE_MMC_EJECT="false"
+EOF
diff --git a/packages/hardware/quirks/devices/Gameforce CHI/002-start-input b/packages/hardware/quirks/devices/Gameforce CHI/002-start-input
new file mode 100644
index 0000000000..a4ec4930e4
--- /dev/null
+++ b/packages/hardware/quirks/devices/Gameforce CHI/002-start-input
@@ -0,0 +1,5 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
+
+/usr/bin/gameforce-chi-gamepad
diff --git a/packages/hardware/quirks/devices/Gameforce CHI/050-game_configs b/packages/hardware/quirks/devices/Gameforce CHI/050-game_configs
new file mode 100644
index 0000000000..88f79e3265
--- /dev/null
+++ b/packages/hardware/quirks/devices/Gameforce CHI/050-game_configs
@@ -0,0 +1,50 @@
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS)
+
+. /etc/profile
+
+#Set up gzdoom
+if [ ! -d "/storage/.config/gzdoom/" ]; then
+ cp -rf /usr/config/gzdoom /storage/.config/
+ sed -i '/Joy7=/c\Joy7=togglemap' /storage/.config/gzdoom/gzdoom.ini
+ sed -i '/Joy8=/c\Joy8=menu_main' /storage/.config/gzdoom/gzdoom.ini
+ sed -i '/Axis0scale=/c\Axis0scale=-0.8' /storage/.config/gzdoom/gzdoom.ini
+ sed -i '/Axis1scale=/c\Axis1scale=-0.6' /storage/.config/gzdoom/gzdoom.ini
+ sed -i '/vid_defheight=/c\vid_defheight=320' /storage/.config/gzdoom/gzdoom.ini
+ sed -i '/vid_defwidth=/c\vid_defwidth=480' /storage/.config/gzdoom/gzdoom.ini
+fi
+
+#Map ppsspp controls
+if grep RG351M -q "/stprage/.config/ppsspp/PSP/SYSTEM/controls.ini"
+then
+ exit 1
+else
+cat </storage/.config/ppsspp/PSP/SYSTEM/controls.ini
+#RG351M
+[ControlMapping]
+Up = 10-19
+Down = 10-20
+Left = 10-21
+Right = 10-22
+Circle = 10-189
+Cross = 10-190
+Square = 10-188
+Triangle = 10-191
+Start = 10-197
+Select = 10-196
+L = 10-193
+R = 10-192
+An.Up = 10-4002
+An.Down = 10-4003
+An.Left = 10-4000
+An.Right = 10-4001
+Fast-forward = 1-61
+Pause = 10-106
+Save State = 10-4010
+Load State = 10-4008
+RightAn.Up = 10-4007
+RightAn.Down = 10-4006
+RightAn.Left = 10-4005
+RightAn.Right = 10-4004
+EOF
+fi
diff --git a/packages/hardware/quirks/devices/Gameforce CHI/050-modifiers b/packages/hardware/quirks/devices/Gameforce CHI/050-modifiers
new file mode 100644
index 0000000000..36df82c365
--- /dev/null
+++ b/packages/hardware/quirks/devices/Gameforce CHI/050-modifiers
@@ -0,0 +1,8 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
+
+cat </storage/.config/profile.d/050-modifiers
+DEVICE_FUNC_KEYA_MODIFIER="BTN_THUMBL"
+DEVICE_FUNC_KEYB_MODIFIER="BTN_THUMBR"
+EOF
diff --git a/packages/hardware/quirks/devices/Gameforce CHI/100-jslisten-hotkey b/packages/hardware/quirks/devices/Gameforce CHI/100-jslisten-hotkey
new file mode 100644
index 0000000000..6b615ebd6f
--- /dev/null
+++ b/packages/hardware/quirks/devices/Gameforce CHI/100-jslisten-hotkey
@@ -0,0 +1,8 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0
+# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
+
+#Set dummy key for RG351M/P
+cat </storage/.config/profile.d/100-jslisten-hotkey
+BTN_VOLBRIGHT_HOTKEY=16 # Select
+EOF
diff --git a/packages/jelos/autostart/001-wifi b/packages/jelos/autostart/001-wifi
deleted file mode 100755
index a61b8c0bca..0000000000
--- a/packages/jelos/autostart/001-wifi
+++ /dev/null
@@ -1,2 +0,0 @@
-echo "mmc3:0001:1" > /sys/bus/sdio/drivers/rtw_8821cs/unbind
-echo "mmc3:0001:1" > /sys/bus/sdio/drivers/rtw_8821cs/bind
\ No newline at end of file
diff --git a/packages/jelos/config/system/configs/system.cfg b/packages/jelos/config/system/configs/system.cfg
index 71e852f7c9..b491116152 100644
--- a/packages/jelos/config/system/configs/system.cfg
+++ b/packages/jelos/config/system/configs/system.cfg
@@ -30,7 +30,6 @@ c64.integerscale=0
cdi.integerscale=0
cdi.ratio=4/3
chip-8.integerscale=0
-chip-8.ratio=4/3
cloud.backup=0
colecovision.integerscale=0
colecovision.ratio=4/3
@@ -204,6 +203,7 @@ vic20.integerscale=0
vic20.ratio=4/3
videopac.integerscale=0
videopac.ratio=4/3
+vircon32.integerscale=0
virtualboy.integerscale=0
weston.startup=/usr/bin/start_es.sh
wonderswancolor.integerscale=0
diff --git a/packages/jelos/sources/scripts/system-upgrade b/packages/jelos/sources/scripts/system-upgrade
index 942c8726ca..5efb36f201 100755
--- a/packages/jelos/sources/scripts/system-upgrade
+++ b/packages/jelos/sources/scripts/system-upgrade
@@ -95,7 +95,7 @@ case ${1} in
exit 0
;;
[0-9][0-9]*)
- LATEST_RELEASE_TAG=${1}
+ UPDATE_PACKAGE=${1}
FORCE=1
;;
esac
@@ -118,14 +118,12 @@ then
check_space available .update GAMES 4096000 2>/dev/null
fi
-if [ -z "${LATEST_RELEASE_TAG}" ]
+if [ -z "${UPDATE_PACKAGE}" ]
then
curl -o /tmp/release.data -H 'Cache-Control: no-cache' -Ls "${GIT_API}/releases"
- LATEST_RELEASE_TAG=$(cat /tmp/release.data | python -c "import sys, json; print(json.load(sys.stdin)[0]['tag_name'])")
- UPDATE_PACKAGE=$((grep "${OS_NAME}-${HW_DEVICE}.${HW_ARCH}.*tar.sha256" /tmp/release.data >/dev/null 2>&1 && echo true ) || echo false)
- if [ "${OS_VERSION}" -ge "${LATEST_RELEASE_TAG}" ] \
- && [ ! "${FORCE}" == "1" ] \
- || [ ! "${UPDATE_PACKAGE}" == "true" ]
+ UPDATE_PACKAGE=$(awk 'BEGIN {FS="\""} /'${OS_NAME}-${HW_DEVICE}.${HW_ARCH}'.*tar/ {print $4; exit}' /tmp/release.data | sed -e "s~${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-~~g;s~.tar$~~g")
+ if [ "${UPDATE_PACKAGE}" -le "${OS_VERSION}" ] \
+ || [ "${FORCE}" == "1" ]
then
cleanup
echo "No new updates are available..."
@@ -134,15 +132,15 @@ then
fi
fi
-echo -e "\nFetching: ${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${LATEST_RELEASE_TAG}.${EXTENSION}"
-curl -Lo "${UPDATE_PATH}/${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${LATEST_RELEASE_TAG}.${EXTENSION}" "${GIT_REPO}/releases/download/${LATEST_RELEASE_TAG}/${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${LATEST_RELEASE_TAG}.tar"
-echo -e "Fetching: ${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${LATEST_RELEASE_TAG}.${EXTENSION}.sha256"
-curl -Lo "${UPDATE_PATH}/${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${LATEST_RELEASE_TAG}.${EXTENSION}.sha256" "${GIT_REPO}/releases/download/${LATEST_RELEASE_TAG}/${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${LATEST_RELEASE_TAG}.tar.sha256"
+echo -e "\nFetching: ${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${UPDATE_PACKAGE}.${EXTENSION}"
+curl -Lo "${UPDATE_PATH}/${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${UPDATE_PACKAGE}.${EXTENSION}" "${GIT_REPO}/releases/download/${UPDATE_PACKAGE}/${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${UPDATE_PACKAGE}.tar"
+echo -e "Fetching: ${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${UPDATE_PACKAGE}.${EXTENSION}.sha256"
+curl -Lo "${UPDATE_PATH}/${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${UPDATE_PACKAGE}.${EXTENSION}.sha256" "${GIT_REPO}/releases/download/${UPDATE_PACKAGE}/${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${UPDATE_PACKAGE}.tar.sha256"
echo -e "\nVerifying download, please wait..."
# Verify
-MYSUM=$(sha256sum ${UPDATE_PATH}/${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${LATEST_RELEASE_TAG}.${EXTENSION} | awk '{print $1}')
-DLSUM=$(cat ${UPDATE_PATH}/${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${LATEST_RELEASE_TAG}.${EXTENSION}.sha256 | awk '{print $1}')
+MYSUM=$(sha256sum ${UPDATE_PATH}/${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${UPDATE_PACKAGE}.${EXTENSION} | awk '{print $1}')
+DLSUM=$(cat ${UPDATE_PATH}/${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-${UPDATE_PACKAGE}.${EXTENSION}.sha256 | awk '{print $1}')
if [ ! "${MYSUM}" == "${DLSUM}" ]
then
diff --git a/packages/jelos/sources/scripts/updatecheck b/packages/jelos/sources/scripts/updatecheck
index 54f7349b08..00d1e1f175 100755
--- a/packages/jelos/sources/scripts/updatecheck
+++ b/packages/jelos/sources/scripts/updatecheck
@@ -41,13 +41,11 @@ ONLINE_STATUS=$(check_network)
if [ "${ONLINE_STATUS}" == true ]
then
curl -o /tmp/release.data -H 'Cache-Control: no-cache' -Ls "${GIT_API}/releases"
- LATEST_RELEASE_TAG=$(cat /tmp/release.data | python -c "import sys, json; print(json.load(sys.stdin)[0]['tag_name'])")
- UPDATE_PACKAGE=$((grep "${OS_NAME}-${HW_DEVICE}.${HW_ARCH}.*tar.sha256" /tmp/release.data >/dev/null 2>&1 && echo true ) || echo false)
- if [ "${OS_VERSION}" -lt "${LATEST_RELEASE_TAG}" ] \
- || [ "${FORCE}" == "1" ] \
- && [ "${UPDATE_PACKAGE}" == "true" ]
+ UPDATE_PACKAGE=$(awk 'BEGIN {FS="\""} /'${OS_NAME}-${HW_DEVICE}.${HW_ARCH}'.*tar/ {print $4; exit}' /tmp/release.data | sed -e "s~${OS_NAME}-${HW_DEVICE}.${HW_ARCH}-~~g;s~.tar$~~g")
+ if [ "${UPDATE_PACKAGE}" -gt "${OS_VERSION}" ] \
+ || [ "${FORCE}" == "1" ]
then
- echo "${LATEST_RELEASE_TAG}"
+ echo "${UPDATE_PACKAGE}"
cleanup
exit 0
fi
diff --git a/packages/kernel/linux-drivers/RTL8188EU/package.mk b/packages/kernel/drivers/RTL8188EU/package.mk
similarity index 77%
rename from packages/kernel/linux-drivers/RTL8188EU/package.mk
rename to packages/kernel/drivers/RTL8188EU/package.mk
index d3c539f977..c4baca9439 100644
--- a/packages/kernel/linux-drivers/RTL8188EU/package.mk
+++ b/packages/kernel/drivers/RTL8188EU/package.mk
@@ -3,8 +3,9 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="RTL8188EU"
-PKG_VERSION="f42fc9c45d2086c415dce70d3018031b54a7beef"
+PKG_VERSION="f5d1c8df2e2d8b217ea0113bf2cf3e37df8cb716"
PKG_LICENSE="GPL"
+PKG_ARCH="aarch64 x86_64"
PKG_SITE="https://github.com/lwfinger/rtl8188eu"
PKG_URL="https://github.com/lwfinger/rtl8188eu/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain linux linux kernel-firmware"
@@ -26,6 +27,6 @@ make_target() {
}
makeinstall_target() {
- mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
- cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
}
diff --git a/packages/kernel/linux-drivers/RTL8188FU/package.mk b/packages/kernel/drivers/RTL8188FU/package.mk
similarity index 76%
rename from packages/kernel/linux-drivers/RTL8188FU/package.mk
rename to packages/kernel/drivers/RTL8188FU/package.mk
index 8de60f114c..bf7bc024d5 100644
--- a/packages/kernel/linux-drivers/RTL8188FU/package.mk
+++ b/packages/kernel/drivers/RTL8188FU/package.mk
@@ -1,5 +1,6 @@
PKG_NAME="RTL8188FU"
-PKG_VERSION="68ced40d862d13663294496bac2e9a91ffa0e5c7"
+PKG_VERSION="0ede0794073495da694aeb52cdd748c6ba2ff21c"
+PKG_ARCH="aarch64 x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/kelebek333/rtl8188fu"
PKG_URL="${PKG_SITE}.git"
@@ -23,8 +24,8 @@ make_target() {
}
makeinstall_target() {
- mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
- cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
mkdir -p ${INSTALL}/usr/lib/kernel-overlays/base/lib/firmware/rtlwifi
cp firmware/rtl8188fufw.bin ${INSTALL}/usr/lib/kernel-overlays/base/lib/firmware/rtlwifi
}
diff --git a/packages/kernel/linux-drivers/RTL8192CU/package.mk b/packages/kernel/drivers/RTL8192CU/package.mk
similarity index 81%
rename from packages/kernel/linux-drivers/RTL8192CU/package.mk
rename to packages/kernel/drivers/RTL8192CU/package.mk
index c031656d57..19de9657bf 100644
--- a/packages/kernel/linux-drivers/RTL8192CU/package.mk
+++ b/packages/kernel/drivers/RTL8192CU/package.mk
@@ -4,6 +4,7 @@
PKG_NAME="RTL8192CU"
PKG_VERSION="e5c01a328d2a17f6e6553e30c9cf546076d61021"
+PKG_ARCH="aarch64 x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/pvaret/rtl8192cu-fixes"
PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
@@ -25,6 +26,6 @@ make_target() {
}
makeinstall_target() {
- mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
- cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
}
diff --git a/packages/kernel/linux-drivers/RTL8192CU/patches/RTL8192CU-0001-add_device_ID_330d.patch b/packages/kernel/drivers/RTL8192CU/patches/RTL8192CU-0001-add_device_ID_330d.patch
similarity index 100%
rename from packages/kernel/linux-drivers/RTL8192CU/patches/RTL8192CU-0001-add_device_ID_330d.patch
rename to packages/kernel/drivers/RTL8192CU/patches/RTL8192CU-0001-add_device_ID_330d.patch
diff --git a/packages/kernel/linux-drivers/RTL8192EU/package.mk b/packages/kernel/drivers/RTL8192EU/package.mk
similarity index 77%
rename from packages/kernel/linux-drivers/RTL8192EU/package.mk
rename to packages/kernel/drivers/RTL8192EU/package.mk
index 1636580a5a..fbe53dfa32 100644
--- a/packages/kernel/linux-drivers/RTL8192EU/package.mk
+++ b/packages/kernel/drivers/RTL8192EU/package.mk
@@ -3,7 +3,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="RTL8192EU"
-PKG_VERSION="f2fc8af7ab58d2123eed1aa4428e713cdfc27976"
+PKG_VERSION="3cffd844ecf070346b1b4952164bc6658701c69e"
+PKG_ARCH="aarch64 x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/Mange/rtl8192eu-linux-driver"
PKG_URL="https://github.com/Mange/rtl8192eu-linux-driver/archive/${PKG_VERSION}.tar.gz"
@@ -26,6 +27,6 @@ make_target() {
}
makeinstall_target() {
- mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
- cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
}
diff --git a/packages/kernel/drivers/RTL8723DS/package.mk b/packages/kernel/drivers/RTL8723DS/package.mk
new file mode 100644
index 0000000000..67202e8de4
--- /dev/null
+++ b/packages/kernel/drivers/RTL8723DS/package.mk
@@ -0,0 +1,32 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
+# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
+
+PKG_NAME="RTL8723DS"
+PKG_VERSION="52e593e8c889b68ba58bd51cbdbcad7fe71362e4"
+PKG_LICENSE="GPL"
+PKG_ARCH="aarch64 x86_64"
+PKG_SITE="https://github.com/lwfinger/rtl8723ds"
+PKG_URL="https://github.com/lwfinger/rtl8723ds/archive/${PKG_VERSION}.tar.gz"
+PKG_DEPENDS_TARGET="toolchain linux linux kernel-firmware"
+PKG_NEED_UNPACK="${LINUX_DEPENDS}"
+PKG_LONGDESC="Realtek RTL81xxEU Linux 3.x driver"
+PKG_IS_KERNEL_PKG="yes"
+PKG_TOOLCHAIN="make"
+
+pre_make_target() {
+ unset LDFLAGS
+}
+
+make_target() {
+ make modules \
+ ARCH=${TARGET_KERNEL_ARCH} \
+ KSRC=$(kernel_path) \
+ CROSS_COMPILE=${TARGET_KERNEL_PREFIX} \
+ CONFIG_POWER_SAVING=y
+}
+
+makeinstall_target() {
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
+}
diff --git a/packages/kernel/linux-drivers/RTL8812AU/modprobe.d/8812au.conf b/packages/kernel/drivers/RTL8812AU/modprobe.d/8812au.conf
similarity index 100%
rename from packages/kernel/linux-drivers/RTL8812AU/modprobe.d/8812au.conf
rename to packages/kernel/drivers/RTL8812AU/modprobe.d/8812au.conf
diff --git a/packages/kernel/linux-drivers/RTL8812AU/package.mk b/packages/kernel/drivers/RTL8812AU/package.mk
similarity index 77%
rename from packages/kernel/linux-drivers/RTL8812AU/package.mk
rename to packages/kernel/drivers/RTL8812AU/package.mk
index 3ed9d0509c..616e263387 100644
--- a/packages/kernel/linux-drivers/RTL8812AU/package.mk
+++ b/packages/kernel/drivers/RTL8812AU/package.mk
@@ -4,7 +4,8 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="RTL8812AU"
-PKG_VERSION="2c4567a67b7aac1d6920af7c0928687553059305"
+PKG_VERSION="3d1123bd1386b373333d3280772f4d504a829e1b"
+PKG_ARCH="aarch64 x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/morrownr/8812au-20210629"
PKG_URL="${PKG_SITE}.git"
@@ -27,6 +28,6 @@ make_target() {
}
makeinstall_target() {
- mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
- cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
}
diff --git a/packages/kernel/linux-drivers/RTL8814AU/modprobe.d/8812au.conf b/packages/kernel/drivers/RTL8814AU/modprobe.d/8812au.conf
similarity index 100%
rename from packages/kernel/linux-drivers/RTL8814AU/modprobe.d/8812au.conf
rename to packages/kernel/drivers/RTL8814AU/modprobe.d/8812au.conf
diff --git a/packages/kernel/linux-drivers/RTL8814AU/package.mk b/packages/kernel/drivers/RTL8814AU/package.mk
similarity index 82%
rename from packages/kernel/linux-drivers/RTL8814AU/package.mk
rename to packages/kernel/drivers/RTL8814AU/package.mk
index e8a23477ec..ec3a6146f9 100644
--- a/packages/kernel/linux-drivers/RTL8814AU/package.mk
+++ b/packages/kernel/drivers/RTL8814AU/package.mk
@@ -5,6 +5,7 @@
PKG_NAME="RTL8814AU"
PKG_VERSION="866a9100c7b3f6508b81b31a22cae19dcacdacb9"
+PKG_ARCH="aarch64 x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/morrownr/8814au"
PKG_URL="${PKG_SITE}.git"
@@ -27,6 +28,6 @@ make_target() {
}
makeinstall_target() {
- mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
- cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
}
diff --git a/packages/kernel/linux-drivers/RTL8821AU/modprobe.d/8812au.conf b/packages/kernel/drivers/RTL8821AU/modprobe.d/8812au.conf
similarity index 100%
rename from packages/kernel/linux-drivers/RTL8821AU/modprobe.d/8812au.conf
rename to packages/kernel/drivers/RTL8821AU/modprobe.d/8812au.conf
diff --git a/packages/kernel/linux-drivers/RTL8821AU/package.mk b/packages/kernel/drivers/RTL8821AU/package.mk
similarity index 82%
rename from packages/kernel/linux-drivers/RTL8821AU/package.mk
rename to packages/kernel/drivers/RTL8821AU/package.mk
index 6cdf3dc86d..6e3ee2a710 100644
--- a/packages/kernel/linux-drivers/RTL8821AU/package.mk
+++ b/packages/kernel/drivers/RTL8821AU/package.mk
@@ -5,6 +5,7 @@
PKG_NAME="RTL8821AU"
PKG_VERSION="6cd61cfce48218c26b57db4733aa0d3cbf9a2f2c"
+PKG_ARCH="aarch64 x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/morrownr/8821au-20210708"
PKG_URL="${PKG_SITE}.git"
@@ -27,6 +28,6 @@ make_target() {
}
makeinstall_target() {
- mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
- cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
}
diff --git a/packages/kernel/linux-drivers/RTL8821CU/modprobe.d/8821cu.conf b/packages/kernel/drivers/RTL8821CU/modprobe.d/8821cu.conf
similarity index 100%
rename from packages/kernel/linux-drivers/RTL8821CU/modprobe.d/8821cu.conf
rename to packages/kernel/drivers/RTL8821CU/modprobe.d/8821cu.conf
diff --git a/packages/kernel/linux-drivers/RTL8821CU/package.mk b/packages/kernel/drivers/RTL8821CU/package.mk
similarity index 82%
rename from packages/kernel/linux-drivers/RTL8821CU/package.mk
rename to packages/kernel/drivers/RTL8821CU/package.mk
index 13f1e5dbd9..0a1366efc2 100644
--- a/packages/kernel/linux-drivers/RTL8821CU/package.mk
+++ b/packages/kernel/drivers/RTL8821CU/package.mk
@@ -5,6 +5,7 @@
PKG_NAME="RTL8821CU"
PKG_VERSION="5b39398e2de146edeb76716420f3288f508bea61"
+PKG_ARCH="aarch64 x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/morrownr/8821cu-20210916"
PKG_URL="${PKG_SITE}.git"
@@ -27,6 +28,6 @@ make_target() {
}
makeinstall_target() {
- mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
- cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
}
diff --git a/packages/kernel/linux-drivers/RTL8821CU/patches/001-fix_btcoex.patch b/packages/kernel/drivers/RTL8821CU/patches/001-fix_btcoex.patch
similarity index 100%
rename from packages/kernel/linux-drivers/RTL8821CU/patches/001-fix_btcoex.patch
rename to packages/kernel/drivers/RTL8821CU/patches/001-fix_btcoex.patch
diff --git a/packages/kernel/linux-drivers/RTL88x2BU/modprobe.d/8812bu.conf b/packages/kernel/drivers/RTL88x2BU/modprobe.d/8812bu.conf
similarity index 100%
rename from packages/kernel/linux-drivers/RTL88x2BU/modprobe.d/8812bu.conf
rename to packages/kernel/drivers/RTL88x2BU/modprobe.d/8812bu.conf
diff --git a/packages/kernel/linux-drivers/RTL88x2BU/package.mk b/packages/kernel/drivers/RTL88x2BU/package.mk
similarity index 82%
rename from packages/kernel/linux-drivers/RTL88x2BU/package.mk
rename to packages/kernel/drivers/RTL88x2BU/package.mk
index d5f8282f40..cee15ee435 100644
--- a/packages/kernel/linux-drivers/RTL88x2BU/package.mk
+++ b/packages/kernel/drivers/RTL88x2BU/package.mk
@@ -5,6 +5,7 @@
PKG_NAME="RTL88x2BU"
PKG_VERSION="cb741f8b773b76c4eb1858f489b4b141ff586365"
+PKG_ARCH="aarch64 x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/morrownr/88x2bu-20210702"
PKG_URL="${PKG_SITE}.git"
@@ -27,6 +28,6 @@ make_target() {
}
makeinstall_target() {
- mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
- cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/
}
diff --git a/packages/kernel/drivers/RTW88/package.mk b/packages/kernel/drivers/RTW88/package.mk
new file mode 100644
index 0000000000..3980f6ac66
--- /dev/null
+++ b/packages/kernel/drivers/RTW88/package.mk
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
+# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
+# Copyright (C) 2024 JELOS (https://github.com/JustEnoughLinuxOS)
+
+PKG_NAME="RTW88"
+PKG_VERSION="ca9f4e199efbf8c377e8a1769ba5b05b23f92c82"
+PKG_LICENSE="GPL"
+PKG_SITE="https://github.com/lwfinger/rtw88"
+PKG_URL="${PKG_SITE}.git"
+PKG_DEPENDS_TARGET="toolchain linux kernel-firmware"
+PKG_NEED_UNPACK="${LINUX_DEPENDS}"
+PKG_LONGDESC="Realtek RTW WIFI drivers."
+PKG_IS_KERNEL_PKG="yes"
+#PKG_TOOLCHAIN="make"
+
+pre_make_target() {
+ unset LDFLAGS
+}
+
+make_target() {
+ make V=1 \
+ ARCH=${TARGET_KERNEL_ARCH} \
+ KSRC=$(kernel_path) \
+ KVER=$(kernel_version) \
+ CROSS_COMPILE=${TARGET_KERNEL_PREFIX} \
+ all
+}
+
+makeinstall_target() {
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/kernel/net/wireless/rtw88/
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/kernel/net/wireless/rtw88/
+}
diff --git a/packages/kernel/drivers/RTW88/patches/001-build.patch b/packages/kernel/drivers/RTW88/patches/001-build.patch
new file mode 100644
index 0000000000..266a641e84
--- /dev/null
+++ b/packages/kernel/drivers/RTW88/patches/001-build.patch
@@ -0,0 +1,21 @@
+diff --git a/Makefile b/Makefile
+index 71aadc9..b93381a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,16 +1,8 @@
+ SHELL := /bin/sh
+-KVER ?= $(shell uname -r)
+-KSRC := /lib/modules/$(KVER)/build
+ FIRMWAREDIR := /lib/firmware/
+ PWD := $(shell pwd)
+ CLR_MODULE_FILES := *.mod.c *.mod *.o .*.cmd *.ko *~ .tmp_versions* modules.order Module.symvers
+ SYMBOL_FILE := Module.symvers
+-# Handle the move of the entire rtw88 tree
+-ifneq ("","$(wildcard /lib/modules/$(KVER)/kernel/drivers/net/wireless/realtek)")
+-MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/realtek/rtw88
+-else
+-MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/rtw88
+-endif
+
+ ifneq ("$(INSTALL_MOD_PATH)", "")
+ DEPMOD_ARGS = -b $(INSTALL_MOD_PATH)
diff --git a/packages/kernel/linux-drivers/RTL8852xx/package.mk b/packages/kernel/drivers/RTW89/package.mk
similarity index 75%
rename from packages/kernel/linux-drivers/RTL8852xx/package.mk
rename to packages/kernel/drivers/RTW89/package.mk
index ffb13a39be..51c3a1851c 100644
--- a/packages/kernel/linux-drivers/RTL8852xx/package.mk
+++ b/packages/kernel/drivers/RTW89/package.mk
@@ -1,8 +1,9 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
-PKG_NAME="RTL8852xx"
+PKG_NAME="RTW89"
PKG_VERSION="fce040c12fbf93bfd904ded48df60dea2c8d4423"
+PKG_ARCH="aarch64 x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/lwfinger/rtw89"
PKG_URL="https://github.com/lwfinger/rtw89/archive/${PKG_VERSION}.tar.gz"
@@ -21,6 +22,6 @@ make_target() {
}
makeinstall_target() {
- mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
- cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/rtw89
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/kernel/drivers/net/wireless/rtw89
}
diff --git a/packages/kernel/drivers/ayaneo-platform/package.mk b/packages/kernel/drivers/ayaneo-platform/package.mk
new file mode 100644
index 0000000000..fd8ba2fe85
--- /dev/null
+++ b/packages/kernel/drivers/ayaneo-platform/package.mk
@@ -0,0 +1,33 @@
+# SPDX-License-Identifier: GPL-2.0-or-later
+# Copyright (C) 2024 JELOS (https://github.com/JustEnoughLinuxOS)
+
+PKG_NAME="ayaneo-platform"
+PKG_VERSION="0a2cd164bb1db9248f4a017bb32fb9ab0c1fdd8c"
+PKG_LICENSE="GPL"
+PKG_SITE="https://github.com/ShadowBlip/ayaneo-platform"
+PKG_URL="${PKG_SITE}.git"
+PKG_ARCH="x86_64 i686"
+PKG_DEPENDS_TARGET="toolchain linux kernel-firmware"
+PKG_NEED_UNPACK="${LINUX_DEPENDS}"
+PKG_LONGDESC="A hwmon interface for PWM control, as well as RGB control and access to temperature sensors provided by the system EC."
+PKG_IS_KERNEL_PKG="yes"
+PKG_TOOLCHAIN="make"
+
+pre_make_target() {
+ unset LDFLAGS
+}
+
+make_target() {
+ make \
+ ARCH=${TARGET_KERNEL_ARCH} \
+ KSRC=$(kernel_path) \
+ CROSS_COMPILE=${TARGET_KERNEL_PREFIX} \
+ TARGET=$(kernel_version) \
+ KERNEL_MODULES=$(get_build_dir linux)/.install_pkg/$(get_full_module_dir) \
+ KERNEL_BUILD=$(get_build_dir linux) modules
+}
+
+makeinstall_target() {
+ mkdir -p ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+ cp *.ko ${INSTALL}/$(get_full_module_dir)/${PKG_NAME}
+}
diff --git a/packages/kernel/linux-drivers/ayn-platform/patches/001-build.patch b/packages/kernel/drivers/ayaneo-platform/patches/001-build.patch
similarity index 100%
rename from packages/kernel/linux-drivers/ayn-platform/patches/001-build.patch
rename to packages/kernel/drivers/ayaneo-platform/patches/001-build.patch
diff --git a/packages/kernel/linux-drivers/ayn-platform/package.mk b/packages/kernel/drivers/ayn-platform/package.mk
similarity index 94%
rename from packages/kernel/linux-drivers/ayn-platform/package.mk
rename to packages/kernel/drivers/ayn-platform/package.mk
index d2026222eb..29cb147a3c 100644
--- a/packages/kernel/linux-drivers/ayn-platform/package.mk
+++ b/packages/kernel/drivers/ayn-platform/package.mk
@@ -2,7 +2,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="ayn-platform"
-PKG_VERSION="068cce29a7ef31f32b6aed3ca8ab9c1c91308e41"
+PKG_VERSION="02befd684c15743f9c8fd8e018c50b86feb0ae7b"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/ShadowBlip/ayn-platform"
PKG_URL="${PKG_SITE}.git"
diff --git a/packages/kernel/drivers/ayn-platform/patches/001-build.patch b/packages/kernel/drivers/ayn-platform/patches/001-build.patch
new file mode 100644
index 0000000000..fcafc90ad3
--- /dev/null
+++ b/packages/kernel/drivers/ayn-platform/patches/001-build.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index 293002e..0990284 100644
+--- a/Makefile
++++ b/Makefile
+@@ -5,8 +5,6 @@ endif
+ # Or specific version
+ #TARGET = 2.6.33.5
+
+-KERNEL_MODULES = /lib/modules/$(TARGET)
+-
+ ifneq ("","$(wildcard /usr/src/linux-headers-$(TARGET)/*)")
+ # Ubuntu
+ KERNEL_BUILD = /usr/src/linux-headers-$(TARGET)
diff --git a/packages/kernel/linux-drivers/ryzensmu/modules-load.d/ryzen_smu.conf b/packages/kernel/drivers/ryzensmu/modules-load.d/ryzen_smu.conf
similarity index 100%
rename from packages/kernel/linux-drivers/ryzensmu/modules-load.d/ryzen_smu.conf
rename to packages/kernel/drivers/ryzensmu/modules-load.d/ryzen_smu.conf
diff --git a/packages/kernel/linux-drivers/ryzensmu/package.mk b/packages/kernel/drivers/ryzensmu/package.mk
similarity index 100%
rename from packages/kernel/linux-drivers/ryzensmu/package.mk
rename to packages/kernel/drivers/ryzensmu/package.mk
diff --git a/packages/kernel/linux-firmware/RTL8188FU-firmware/package.mk b/packages/kernel/firmware/RTL8188FU-firmware/package.mk
similarity index 100%
rename from packages/kernel/linux-firmware/RTL8188FU-firmware/package.mk
rename to packages/kernel/firmware/RTL8188FU-firmware/package.mk
diff --git a/packages/kernel/linux-firmware/RTL8723DS-firmware/firmware/rtl8723ds_config b/packages/kernel/firmware/RTL8723DS-firmware/firmware/rtl8723ds_config
similarity index 100%
rename from packages/kernel/linux-firmware/RTL8723DS-firmware/firmware/rtl8723ds_config
rename to packages/kernel/firmware/RTL8723DS-firmware/firmware/rtl8723ds_config
diff --git a/packages/kernel/linux-firmware/RTL8723DS-firmware/firmware/rtl8723ds_fw b/packages/kernel/firmware/RTL8723DS-firmware/firmware/rtl8723ds_fw
similarity index 100%
rename from packages/kernel/linux-firmware/RTL8723DS-firmware/firmware/rtl8723ds_fw
rename to packages/kernel/firmware/RTL8723DS-firmware/firmware/rtl8723ds_fw
diff --git a/packages/kernel/linux-firmware/RTL8723DS-firmware/package.mk b/packages/kernel/firmware/RTL8723DS-firmware/package.mk
similarity index 100%
rename from packages/kernel/linux-firmware/RTL8723DS-firmware/package.mk
rename to packages/kernel/firmware/RTL8723DS-firmware/package.mk
diff --git a/packages/kernel/linux-firmware/RTL8821CS-firmware/firmware/README b/packages/kernel/firmware/RTL8821CS-firmware/firmware/README
similarity index 100%
rename from packages/kernel/linux-firmware/RTL8821CS-firmware/firmware/README
rename to packages/kernel/firmware/RTL8821CS-firmware/firmware/README
diff --git a/packages/kernel/linux-firmware/RTL8821CS-firmware/firmware/rtl8821c_fw b/packages/kernel/firmware/RTL8821CS-firmware/firmware/rtl8821c_fw
similarity index 100%
rename from packages/kernel/linux-firmware/RTL8821CS-firmware/firmware/rtl8821c_fw
rename to packages/kernel/firmware/RTL8821CS-firmware/firmware/rtl8821c_fw
diff --git a/packages/kernel/linux-firmware/RTL8821CS-firmware/firmware/rtl8821cs_config b/packages/kernel/firmware/RTL8821CS-firmware/firmware/rtl8821cs_config
similarity index 100%
rename from packages/kernel/linux-firmware/RTL8821CS-firmware/firmware/rtl8821cs_config
rename to packages/kernel/firmware/RTL8821CS-firmware/firmware/rtl8821cs_config
diff --git a/packages/kernel/linux-firmware/RTL8821CS-firmware/package.mk b/packages/kernel/firmware/RTL8821CS-firmware/package.mk
similarity index 92%
rename from packages/kernel/linux-firmware/RTL8821CS-firmware/package.mk
rename to packages/kernel/firmware/RTL8821CS-firmware/package.mk
index 458f5ea9b9..d690290b05 100644
--- a/packages/kernel/linux-firmware/RTL8821CS-firmware/package.mk
+++ b/packages/kernel/firmware/RTL8821CS-firmware/package.mk
@@ -15,7 +15,7 @@ make_target() {
makeinstall_target() {
mkdir -p ${INSTALL}/$(get_full_firmware_dir) ||:
- cp -v ${PKG_DIR}/firmware/rtl8821c_fw ${INSTALL}/$(get_full_firmware_dir)
- cp -v ${PKG_DIR}/firmware/rtl8821cs_config ${INSTALL}/$(get_full_firmware_dir)/rtl8821c_config
+ cp -v ${PKG_DIR}/firmware/rtl8821c_fw ${INSTALL}/$(get_full_firmware_dir)/
+ cp -v ${PKG_DIR}/firmware/rtl8821cs_config ${INSTALL}/$(get_full_firmware_dir)/
}
diff --git a/packages/kernel/linux-firmware/asus-firmware/package.mk b/packages/kernel/firmware/asus-firmware/package.mk
similarity index 100%
rename from packages/kernel/linux-firmware/asus-firmware/package.mk
rename to packages/kernel/firmware/asus-firmware/package.mk
diff --git a/packages/kernel/linux-firmware/brcmfmac_sdio-firmware-imx/package.mk b/packages/kernel/firmware/brcmfmac_sdio-firmware-imx/package.mk
similarity index 100%
rename from packages/kernel/linux-firmware/brcmfmac_sdio-firmware-imx/package.mk
rename to packages/kernel/firmware/brcmfmac_sdio-firmware-imx/package.mk
diff --git a/packages/kernel/linux-firmware/brcmfmac_sdio-firmware-imx/system.d/brcmfmac_sdio-firmware@.service b/packages/kernel/firmware/brcmfmac_sdio-firmware-imx/system.d/brcmfmac_sdio-firmware@.service
similarity index 100%
rename from packages/kernel/linux-firmware/brcmfmac_sdio-firmware-imx/system.d/brcmfmac_sdio-firmware@.service
rename to packages/kernel/firmware/brcmfmac_sdio-firmware-imx/system.d/brcmfmac_sdio-firmware@.service
diff --git a/packages/kernel/linux-firmware/brcmfmac_sdio-firmware-imx/udev.d/80-brcmfmac_sdio.rules b/packages/kernel/firmware/brcmfmac_sdio-firmware-imx/udev.d/80-brcmfmac_sdio.rules
similarity index 100%
rename from packages/kernel/linux-firmware/brcmfmac_sdio-firmware-imx/udev.d/80-brcmfmac_sdio.rules
rename to packages/kernel/firmware/brcmfmac_sdio-firmware-imx/udev.d/80-brcmfmac_sdio.rules
diff --git a/packages/kernel/linux-firmware/brcmfmac_sdio-firmware/firmwares/any.dat b/packages/kernel/firmware/brcmfmac_sdio-firmware/firmwares/any.dat
similarity index 100%
rename from packages/kernel/linux-firmware/brcmfmac_sdio-firmware/firmwares/any.dat
rename to packages/kernel/firmware/brcmfmac_sdio-firmware/firmwares/any.dat
diff --git a/packages/kernel/linux-firmware/brcmfmac_sdio-firmware/package.mk b/packages/kernel/firmware/brcmfmac_sdio-firmware/package.mk
similarity index 100%
rename from packages/kernel/linux-firmware/brcmfmac_sdio-firmware/package.mk
rename to packages/kernel/firmware/brcmfmac_sdio-firmware/package.mk
diff --git a/packages/kernel/linux-firmware/brcmfmac_sdio-firmware/scripts/brcmfmac-firmware-setup b/packages/kernel/firmware/brcmfmac_sdio-firmware/scripts/brcmfmac-firmware-setup
similarity index 100%
rename from packages/kernel/linux-firmware/brcmfmac_sdio-firmware/scripts/brcmfmac-firmware-setup
rename to packages/kernel/firmware/brcmfmac_sdio-firmware/scripts/brcmfmac-firmware-setup
diff --git a/packages/kernel/linux-firmware/brcmfmac_sdio-firmware/system.d/brcmfmac-firmware.service b/packages/kernel/firmware/brcmfmac_sdio-firmware/system.d/brcmfmac-firmware.service
similarity index 100%
rename from packages/kernel/linux-firmware/brcmfmac_sdio-firmware/system.d/brcmfmac-firmware.service
rename to packages/kernel/firmware/brcmfmac_sdio-firmware/system.d/brcmfmac-firmware.service
diff --git a/packages/kernel/linux-firmware/esp8089-firmware/package.mk b/packages/kernel/firmware/esp8089-firmware/package.mk
similarity index 100%
rename from packages/kernel/linux-firmware/esp8089-firmware/package.mk
rename to packages/kernel/firmware/esp8089-firmware/package.mk
diff --git a/packages/kernel/linux-firmware/intel-ucode/package.mk b/packages/kernel/firmware/intel-ucode/package.mk
similarity index 100%
rename from packages/kernel/linux-firmware/intel-ucode/package.mk
rename to packages/kernel/firmware/intel-ucode/package.mk
diff --git a/packages/kernel/linux-firmware/intel-ucode/sources/intel-microcode2ucode.c b/packages/kernel/firmware/intel-ucode/sources/intel-microcode2ucode.c
similarity index 100%
rename from packages/kernel/linux-firmware/intel-ucode/sources/intel-microcode2ucode.c
rename to packages/kernel/firmware/intel-ucode/sources/intel-microcode2ucode.c
diff --git a/packages/kernel/linux-firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-cali.bin b/packages/kernel/firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-cali.bin
similarity index 100%
rename from packages/kernel/linux-firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-cali.bin
rename to packages/kernel/firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-cali.bin
diff --git a/packages/kernel/linux-firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-cali.wmfw b/packages/kernel/firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-cali.wmfw
similarity index 100%
rename from packages/kernel/linux-firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-cali.wmfw
rename to packages/kernel/firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-cali.wmfw
diff --git a/packages/kernel/linux-firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-prot.bin b/packages/kernel/firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-prot.bin
similarity index 100%
rename from packages/kernel/linux-firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-prot.bin
rename to packages/kernel/firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-prot.bin
diff --git a/packages/kernel/linux-firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-prot.wmfw b/packages/kernel/firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-prot.wmfw
similarity index 100%
rename from packages/kernel/linux-firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-prot.wmfw
rename to packages/kernel/firmware/kernel-firmware/extra-firmware/cirrus/cs35l41-dsp1-spk-prot.wmfw
diff --git a/packages/kernel/linux-firmware/kernel-firmware/extra-firmware/rtl_bt/rtl8761b_config.bin b/packages/kernel/firmware/kernel-firmware/extra-firmware/rtl_bt/rtl8761b_config.bin
similarity index 100%
rename from packages/kernel/linux-firmware/kernel-firmware/extra-firmware/rtl_bt/rtl8761b_config.bin
rename to packages/kernel/firmware/kernel-firmware/extra-firmware/rtl_bt/rtl8761b_config.bin
diff --git a/packages/kernel/linux-firmware/kernel-firmware/extra-firmware/rtl_bt/rtl8761b_fw.bin b/packages/kernel/firmware/kernel-firmware/extra-firmware/rtl_bt/rtl8761b_fw.bin
similarity index 100%
rename from packages/kernel/linux-firmware/kernel-firmware/extra-firmware/rtl_bt/rtl8761b_fw.bin
rename to packages/kernel/firmware/kernel-firmware/extra-firmware/rtl_bt/rtl8761b_fw.bin
diff --git a/packages/kernel/linux-firmware/kernel-firmware/firmwares/any.dat b/packages/kernel/firmware/kernel-firmware/firmwares/any.dat
similarity index 100%
rename from packages/kernel/linux-firmware/kernel-firmware/firmwares/any.dat
rename to packages/kernel/firmware/kernel-firmware/firmwares/any.dat
diff --git a/packages/kernel/linux-firmware/kernel-firmware/firmwares/x86_64.dat b/packages/kernel/firmware/kernel-firmware/firmwares/x86_64.dat
similarity index 100%
rename from packages/kernel/linux-firmware/kernel-firmware/firmwares/x86_64.dat
rename to packages/kernel/firmware/kernel-firmware/firmwares/x86_64.dat
diff --git a/packages/kernel/linux-firmware/kernel-firmware/package.mk b/packages/kernel/firmware/kernel-firmware/package.mk
similarity index 100%
rename from packages/kernel/linux-firmware/kernel-firmware/package.mk
rename to packages/kernel/firmware/kernel-firmware/package.mk
diff --git a/packages/kernel/linux-firmware/kernel-firmware/patches/kernel-firmware-02-add-brcmfmac-43xxx-configs.patch b/packages/kernel/firmware/kernel-firmware/patches/kernel-firmware-02-add-brcmfmac-43xxx-configs.patch
similarity index 100%
rename from packages/kernel/linux-firmware/kernel-firmware/patches/kernel-firmware-02-add-brcmfmac-43xxx-configs.patch
rename to packages/kernel/firmware/kernel-firmware/patches/kernel-firmware-02-add-brcmfmac-43xxx-configs.patch
diff --git a/packages/kernel/linux-firmware/libmali_rk3588/firmware/mali_csffw.bin b/packages/kernel/firmware/libmali_rk3588/firmware/mali_csffw.bin
similarity index 100%
rename from packages/kernel/linux-firmware/libmali_rk3588/firmware/mali_csffw.bin
rename to packages/kernel/firmware/libmali_rk3588/firmware/mali_csffw.bin
diff --git a/packages/kernel/linux-firmware/libmali_rk3588/package.mk b/packages/kernel/firmware/libmali_rk3588/package.mk
similarity index 100%
rename from packages/kernel/linux-firmware/libmali_rk3588/package.mk
rename to packages/kernel/firmware/libmali_rk3588/package.mk
diff --git a/packages/kernel/linux-firmware/dvb-firmware/package.mk b/packages/kernel/linux-firmware/dvb-firmware/package.mk
deleted file mode 100644
index cb043c8acf..0000000000
--- a/packages/kernel/linux-firmware/dvb-firmware/package.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
-# Copyright (C) 2016-2018 Team LibreELEC (https://libreelec.tv)
-# Copyright (C) 2018-present Team CoreELEC (https://coreelec.org)
-
-PKG_NAME="dvb-firmware"
-PKG_VERSION="1.4.0"
-PKG_SHA256="8831e5e9c88e343742083f62bd28ad56b8cbd21bb9fe730ed1c292f6689fe2c3"
-PKG_LICENSE="Free-to-use"
-PKG_SITE="https://github.com/CoreELEC/dvb-firmware"
-PKG_URL="https://github.com/CoreELEC/dvb-firmware/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain kernel-firmware"
-PKG_LONGDESC="dvb-firmware: firmwares for various DVB drivers"
-PKG_TOOLCHAIN="manual"
-
-makeinstall_target() {
- PKG_FW_DIR="${INSTALL}/$(get_kernel_overlay_dir)/lib/firmware"
- mkdir -p "$PKG_FW_DIR"
- cp -a "${PKG_BUILD}/firmware/"* "$PKG_FW_DIR"
-}
diff --git a/packages/kernel/linux-firmware/iwlwifi-firmware/package.mk b/packages/kernel/linux-firmware/iwlwifi-firmware/package.mk
deleted file mode 100644
index 21a8208074..0000000000
--- a/packages/kernel/linux-firmware/iwlwifi-firmware/package.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
-# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
-
-PKG_NAME="iwlwifi-firmware"
-PKG_VERSION="4858084"
-PKG_LICENSE="Free-to-use"
-PKG_SITE="https://github.com/LibreELEC/iwlwifi-firmware"
-PKG_URL="https://github.com/LibreELEC/iwlwifi-firmware/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain kernel-firmware"
-PKG_LONGDESC="iwlwifi-firmware: firmwares for various Intel WLAN drivers"
-PKG_TOOLCHAIN="manual"
-
-makeinstall_target() {
- DESTDIR=${INSTALL}/$(get_kernel_overlay_dir) ./install
-}
diff --git a/packages/kernel/linux-firmware/misc-firmware/package.mk b/packages/kernel/linux-firmware/misc-firmware/package.mk
deleted file mode 100644
index 260a6ecfc6..0000000000
--- a/packages/kernel/linux-firmware/misc-firmware/package.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
-# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
-
-PKG_NAME="misc-firmware"
-PKG_VERSION="a7ba8d5"
-PKG_LICENSE="Free-to-use"
-PKG_SITE="https://github.com/LibreELEC/misc-firmware"
-PKG_URL="https://github.com/LibreELEC/misc-firmware/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain linux kernel-firmware"
-PKG_LONGDESC="misc-firmware: firmwares for various drivers"
-PKG_TOOLCHAIN="manual"
-
-makeinstall_target() {
- DESTDIR=${INSTALL}/$(get_kernel_overlay_dir) ./install
-}
diff --git a/packages/kernel/linux-firmware/wlan-firmware/package.mk b/packages/kernel/linux-firmware/wlan-firmware/package.mk
deleted file mode 100644
index 13fbbde558..0000000000
--- a/packages/kernel/linux-firmware/wlan-firmware/package.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-or-later
-# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
-
-PKG_NAME="wlan-firmware"
-PKG_VERSION="8c5dcb7"
-PKG_LICENSE="Free-to-use"
-PKG_SITE="https://github.com/LibreELEC/wlan-firmware"
-PKG_URL="https://github.com/LibreELEC/wlan-firmware/archive/${PKG_VERSION}.tar.gz"
-PKG_DEPENDS_TARGET="toolchain rfkill linux kernel-firmware"
-PKG_LONGDESC="wlan-firmware: firmwares for various WLAN drivers"
-PKG_TOOLCHAIN="manual"
-
-makeinstall_target() {
- DESTDIR=${INSTALL}/$(get_kernel_overlay_dir) ./install
-}
diff --git a/packages/kernel/linux/package.mk b/packages/kernel/linux/package.mk
index edb340d9e5..c436f2ee21 100644
--- a/packages/kernel/linux/package.mk
+++ b/packages/kernel/linux/package.mk
@@ -4,7 +4,7 @@
PKG_NAME="linux"
PKG_LICENSE="GPL"
-PKG_VERSION="6.7.4"
+PKG_VERSION="6.7.5"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_SITE="http://www.kernel.org"
PKG_DEPENDS_HOST="ccache:host rdfind:host rsync:host openssl:host"
@@ -101,11 +101,6 @@ makeinstall_host() {
}
pre_make_target() {
- ( cd ${ROOT}
- rm -rf ${BUILD}/initramfs
- rm -f ${STAMPS_INSTALL}/initramfs/install_target ${STAMPS_INSTALL}/*/install_init
- ${SCRIPTS}/install initramfs
- )
pkg_lock_status "ACTIVE" "linux:target" "build"
cp ${PKG_KERNEL_CFG_FILE} ${PKG_BUILD}/.config
@@ -279,6 +274,11 @@ makeinstall_target() {
rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/build
rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/source
+ (
+ cd ${ROOT}
+ ${SCRIPTS}/install initramfs
+ )
+
if [ "${BOOTLOADER}" = "u-boot" ]; then
mkdir -p ${INSTALL}/usr/share/bootloader/device_trees
if [ -d arch/${TARGET_KERNEL_ARCH}/boot/dts/amlogic ]; then
diff --git a/packages/sysutils/busybox/config/busybox-init.conf b/packages/sysutils/busybox/config/busybox-init.conf
index 204cf9e62b..b38fb0dc02 100644
--- a/packages/sysutils/busybox/config/busybox-init.conf
+++ b/packages/sysutils/busybox/config/busybox-init.conf
@@ -577,7 +577,7 @@ CONFIG_LSMOD=y
# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
CONFIG_MODINFO=y
CONFIG_MODPROBE=y
-# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
+CONFIG_FEATURE_MODPROBE_BLACKLIST=y
CONFIG_RMMOD=y
#
@@ -586,15 +586,15 @@ CONFIG_RMMOD=y
# CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS is not set
# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
# CONFIG_FEATURE_2_4_MODULES is not set
-# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
-# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
-# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
-# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
-# CONFIG_FEATURE_MODUTILS_ALIAS is not set
-# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
+CONFIG_FEATURE_INSMOD_VERSION_CHECKING=y
+CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
+CONFIG_FEATURE_INSMOD_LOADINKMEM=y
+CONFIG_FEATURE_INSMOD_LOAD_MAP=y
+CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL=y
+CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
+CONFIG_FEATURE_INSMOD_TRY_MMAP=y
+CONFIG_FEATURE_MODUTILS_ALIAS=y
+CONFIG_FEATURE_MODUTILS_SYMBOLS=y
CONFIG_DEFAULT_MODULES_DIR=""
CONFIG_DEFAULT_DEPMOD_FILE=""
diff --git a/packages/sysutils/busybox/package.mk b/packages/sysutils/busybox/package.mk
index 1b5d7ad6f5..7b5a84989c 100644
--- a/packages/sysutils/busybox/package.mk
+++ b/packages/sysutils/busybox/package.mk
@@ -10,7 +10,7 @@ PKG_SITE="http://www.busybox.net"
PKG_URL="http://busybox.net/downloads/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_HOST="gcc:host"
PKG_DEPENDS_TARGET="toolchain busybox:host hdparm hd-idle dosfstools e2fsprogs zip unzip usbutils parted procps-ng gptfdisk libtirpc"
-PKG_DEPENDS_INIT="toolchain libtirpc"
+PKG_DEPENDS_INIT="toolchain libc:init glibc:init libtirpc"
PKG_LONGDESC="BusyBox combines tiny versions of many common UNIX utilities into a single small executable."
# busybox fails to build with GOLD support enabled with binutils-2.25
PKG_BUILD_FLAGS="-parallel -gold"
diff --git a/packages/sysutils/busybox/scripts/pastebinit b/packages/sysutils/busybox/scripts/pastebinit
index 6da8acfe73..ab9ced79e8 100755
--- a/packages/sysutils/busybox/scripts/pastebinit
+++ b/packages/sysutils/busybox/scripts/pastebinit
@@ -2,7 +2,7 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
-# Copyright (C) 2017-2018 Team LibreELEC (https://libreelec.tv)
-# Copyright (C) 2018-present Team CoreELEC (https://coreelec.org)
+# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
+# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
-cat "$@" | curl -F 'f:1=<-' https://paste.coreelec.org
+cat "$@" | curl -F 'sprunge=<-' http://sprunge.us
diff --git a/packages/sysutils/system-utils/sources/autostart/AMD64/002-overclock b/packages/sysutils/system-utils/sources/autostart/AMD64/002-overclock
index cf2f1cdbb6..2ac2322139 100755
--- a/packages/sysutils/system-utils/sources/autostart/AMD64/002-overclock
+++ b/packages/sysutils/system-utils/sources/autostart/AMD64/002-overclock
@@ -4,6 +4,7 @@
. /etc/profile.d/001-functions
+CPU_VENDOR=$(cpu_vendor)
case ${CPU_VENDOR} in
AuthenticAMD)
tocon "Configuring system TDP..."
diff --git a/packages/sysutils/systemd/patches/systemd-501-Start-debug-service-after-locale-to-ensure-file-syst.patch b/packages/sysutils/systemd/patches/systemd-501-Start-debug-service-after-locale-to-ensure-file-syst.patch
index 986791045b..9ab6cf8cf2 100644
--- a/packages/sysutils/systemd/patches/systemd-501-Start-debug-service-after-locale-to-ensure-file-syst.patch
+++ b/packages/sysutils/systemd/patches/systemd-501-Start-debug-service-after-locale-to-ensure-file-syst.patch
@@ -1,11 +1,11 @@
-diff -rupN systemd-stable-255.2.orig/units/debug-shell.service.in systemd-stable-255.2/units/debug-shell.service.in
---- systemd-stable-255.2.orig/units/debug-shell.service.in 2024-01-11 16:27:39.642715624 +0000
-+++ systemd-stable-255.2/units/debug-shell.service.in 2024-01-11 16:30:46.928752182 +0000
-@@ -24,6 +24,7 @@ StandardInput=tty
- TTYPath={{DEBUGTTY}}
- TTYReset=yes
- TTYVHangup=yes
+diff -rupN systemd-stable-253.16.orig/units/debug-shell.service.in systemd-stable-253.16/units/debug-shell.service.in
+--- systemd-stable-253.16.orig/units/debug-shell.service.in 2024-01-26 14:53:42.000000000 -0500
++++ systemd-stable-253.16/units/debug-shell.service.in 2024-02-14 12:25:50.660872467 -0500
+@@ -13,6 +13,7 @@ Documentation=man:systemd-debug-generato
+ DefaultDependencies=no
+ IgnoreOnIsolate=yes
+ ConditionPathExists={{DEBUGTTY}}
+After=locale.service
- KillMode=process
- IgnoreSIGPIPE=no
- # bash ignores SIGTERM
+
+ [Service]
+ Environment=TERM=linux
diff --git a/packages/themes/es-theme-art-book-next/package.mk b/packages/themes/es-theme-art-book-next/package.mk
index 4a3ab110b0..bc32759320 100644
--- a/packages/themes/es-theme-art-book-next/package.mk
+++ b/packages/themes/es-theme-art-book-next/package.mk
@@ -4,7 +4,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="es-theme-art-book-next"
-PKG_VERSION="33d432316fbc16a6552bb99ac11dd32e87539604"
+PKG_VERSION="cdf3fca911f285cb5b93178fc01210a81cbb14c0"
PKG_ARCH="any"
PKG_LICENSE="CUSTOM"
PKG_SITE="https://github.com/anthonycaccese/art-book-next-jelos"
diff --git a/packages/ui/emulationstation/config/common/es_features.cfg b/packages/ui/emulationstation/config/common/es_features.cfg
index 4c971edbb7..3ff7ccd14f 100644
--- a/packages/ui/emulationstation/config/common/es_features.cfg
+++ b/packages/ui/emulationstation/config/common/es_features.cfg
@@ -925,6 +925,7 @@
+
diff --git a/packages/ui/emulationstation/package.mk b/packages/ui/emulationstation/package.mk
index 93c78efbe1..ebaaf581f1 100644
--- a/packages/ui/emulationstation/package.mk
+++ b/packages/ui/emulationstation/package.mk
@@ -3,7 +3,7 @@
# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS)
PKG_NAME="emulationstation"
-PKG_VERSION="b690d7c772615f30a69bf52777efe80d269c0df3"
+PKG_VERSION="190d9e48b58801572ca3bdc6a6ee8bc455e0da36"
PKG_GIT_CLONE_BRANCH="main"
PKG_REV="1"
PKG_ARCH="any"
diff --git a/packages/virtual/emulators/package.mk b/packages/virtual/emulators/package.mk
index 1db7927dbe..402aac9e8a 100644
--- a/packages/virtual/emulators/package.mk
+++ b/packages/virtual/emulators/package.mk
@@ -26,7 +26,7 @@ LIBRETRO_CORES="81-lr a5200-lr arduous-lr atari800-lr beetle-gba-lr beetle-lynx-
prosystem-lr puae-lr puae2021-lr px68k-lr quasi88-lr quicknes-lr race-lr same_cdi-lr \
sameboy-lr sameduck-lr scummvm-lr smsplus-gx-lr snes9x-lr snes9x2002-lr snes9x2005_plus-lr snes9x2010-lr \
stella-lr swanstation-lr tic80-lr tgbdual-lr uzem-lr vba-next-lr minivmac-lr \
- vbam-lr vecx-lr vice-lr yabasanshiro-lr virtualjaguar-lr xmil-lr"
+ vbam-lr vecx-lr vice-lr vircon32-lr virtualjaguar-lr xmil-lr yabasanshiro-lr"
### Emulators or cores for specific devices
case "${DEVICE}" in
@@ -1212,6 +1212,10 @@ makeinstall_target() {
### EPOCH/YENO Super Cassette Vision
add_emu_core scv retroarch emuscv true
add_es_system scv
+
+ ### Vircon32
+ add_emu_core vircon32 retroarch vircon32 true
+ add_es_system vircon32
### PC Ports
case ${TARGET_ARCH} in
diff --git a/packages/virtual/gamesupport/package.mk b/packages/virtual/gamesupport/package.mk
index d783965958..189d1e32ef 100644
--- a/packages/virtual/gamesupport/package.mk
+++ b/packages/virtual/gamesupport/package.mk
@@ -7,7 +7,7 @@ PKG_SITE="https://jelos.org"
PKG_SECTION="virtual"
PKG_LONGDESC="Game support software metapackage."
-PKG_GAMESUPPORT="sixaxis gptokeyb jstest-sdl gamecontrollerdb sdljoytest control-gen virtualgamepad"
+PKG_GAMESUPPORT="sixaxis gptokeyb jstest-sdl gamecontrollerdb sdljoytest control-gen"
PKG_DEPENDS_TARGET="${PKG_GAMESUPPORT}"
diff --git a/packages/virtual/initramfs/package.mk b/packages/virtual/initramfs/package.mk
index c26ed99531..49aa5421d6 100644
--- a/packages/virtual/initramfs/package.mk
+++ b/packages/virtual/initramfs/package.mk
@@ -7,7 +7,7 @@ PKG_VERSION=""
PKG_LICENSE="GPL"
PKG_SITE="http://www.openelec.tv"
PKG_URL=""
-PKG_DEPENDS_TARGET="toolchain libc:init busybox:init util-linux:init e2fsprogs:init dosfstools:init exfat:init fakeroot:host spleen-font:init"
+PKG_DEPENDS_TARGET="libc:init glibc:init busybox:init util-linux:init e2fsprogs:init dosfstools:init exfat:init fakeroot:host spleen-font:init"
PKG_SECTION="virtual"
PKG_LONGDESC="debug is a Metapackage for installing initramfs"
@@ -20,7 +20,8 @@ if [ "${INITRAMFS_PARTED_SUPPORT}" = yes ]; then
fi
post_install() {
- ( cd ${BUILD}/initramfs
+ (
+ cd ${BUILD}/initramfs
if [ "${TARGET_ARCH}" = "x86_64" ]; then
ln -sfn /usr/lib ${BUILD}/initramfs/lib64
mkdir -p ${BUILD}/initramfs/usr
diff --git a/packages/virtual/linux-firmware/package.mk b/packages/virtual/linux-firmware/package.mk
index fa377ebba1..f35b111bb2 100644
--- a/packages/virtual/linux-firmware/package.mk
+++ b/packages/virtual/linux-firmware/package.mk
@@ -6,6 +6,6 @@ PKG_VERSION=""
PKG_LICENSE="GPL"
PKG_SITE=""
PKG_URL=""
-PKG_DEPENDS_TARGET="toolchain $FIRMWARE"
+PKG_DEPENDS_TARGET="toolchain kernel-firmware ${FIRMWARE}"
PKG_SECTION="virtual"
PKG_LONGDESC="linux-firmware is a meta-package to install various free firmware drivers"
diff --git a/packages/virtual/network/package.mk b/packages/virtual/network/package.mk
index 4debcfe08d..0e4d076970 100644
--- a/packages/virtual/network/package.mk
+++ b/packages/virtual/network/package.mk
@@ -7,7 +7,7 @@ PKG_VERSION=""
PKG_LICENSE="various"
PKG_SITE="https://libreelec.tv"
PKG_URL=""
-PKG_DEPENDS_TARGET="toolchain connman hostapd netbase ethtool openssh iw rsync tailscale avahi miniupnpc nss-mdns bluetool speedtest-cli"
+PKG_DEPENDS_TARGET="toolchain connman rfkill hostapd netbase ethtool openssh iw rsync tailscale avahi miniupnpc nss-mdns bluetool speedtest-cli"
PKG_SECTION="virtual"
PKG_LONGDESC="Metapackage for various packages to install network support"
diff --git a/projects/Amlogic/devices/S922X/options b/projects/Amlogic/devices/S922X/options
index 00e7a048a1..85ab9d4555 100644
--- a/projects/Amlogic/devices/S922X/options
+++ b/projects/Amlogic/devices/S922X/options
@@ -65,10 +65,10 @@
# additional packages to install
# ADDITIONAL_PACKAGES=""
- # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
+ # additional Firmware to use ( )
# Space separated list is supported,
- # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
- FIRMWARE="misc-firmware wlan-firmware libmali-vulkan"
+ # e.g. FIRMWARE=""
+ FIRMWARE="libmali-vulkan"
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
diff --git a/projects/Amlogic/options b/projects/Amlogic/options
index 98770fd70d..b554ed5a84 100644
--- a/projects/Amlogic/options
+++ b/projects/Amlogic/options
@@ -46,10 +46,10 @@
# Modules to install in initramfs for early boot
INITRAMFS_MODULES=""
- # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
+ # additional Firmware to use ( )
# Space separated list is supported,
- # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
- FIRMWARE="misc-firmware wlan-firmware"
+ # e.g. FIRMWARE=""
+ FIRMWARE=""
# additional packages to install
ADDITIONAL_PACKAGES=""
diff --git a/projects/Amlogic/packages/linux/package.mk b/projects/Amlogic/packages/linux/package.mk
index 9d567a0409..9838c5e57c 100644
--- a/projects/Amlogic/packages/linux/package.mk
+++ b/projects/Amlogic/packages/linux/package.mk
@@ -9,7 +9,6 @@ PKG_LICENSE="GPL"
PKG_SITE="https://github.com/JustEnoughLinuxOS"
PKG_DEPENDS_HOST="ccache:host rdfind:host rsync:host openssl:host"
PKG_DEPENDS_TARGET="toolchain rdfind:host linux:host cpio:host kmod:host xz:host wireless-regdb keyutils util-linux binutils ncurses openssl:host ${KERNEL_EXTRA_DEPENDS_TARGET}"
-PKG_DEPENDS_INIT="toolchain"
PKG_NEED_UNPACK="${LINUX_DEPENDS} $(get_pkg_directory initramfs) $(get_pkg_variable initramfs PKG_NEED_UNPACK)"
PKG_LONGDESC="This package builds the kernel for Amlogic devices"
PKG_IS_KERNEL_PKG="yes"
@@ -18,7 +17,7 @@ PKG_PATCH_DIRS+="${DEVICE}"
case ${DEVICE} in
S922X*)
- PKG_VERSION="6.7.4"
+ PKG_VERSION="6.7.5"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
;;
esac
@@ -36,10 +35,6 @@ if [ "${PKG_BUILD_PERF}" != "no" ] && grep -q ^CONFIG_PERF_EVENTS= ${PKG_KERNEL_
PKG_DEPENDS_TARGET="${PKG_DEPENDS_TARGET} elfutils libunwind zlib openssl"
fi
-if [ "${TARGET_ARCH}" = "x86_64" ]; then
- PKG_DEPENDS_TARGET="${PKG_DEPENDS_TARGET} intel-ucode:host kernel-firmware elfutils:host pciutils"
-fi
-
if [[ "${KERNEL_TARGET}" = uImage* ]]; then
PKG_DEPENDS_TARGET="${PKG_DEPENDS_TARGET} u-boot-tools:host"
fi
@@ -114,21 +109,13 @@ makeinstall_host() {
}
pre_make_target() {
- ( cd ${ROOT}
- rm -rf ${BUILD}/initramfs
- rm -f ${STAMPS_INSTALL}/initramfs/install_target ${STAMPS_INSTALL}/*/install_init
- ${SCRIPTS}/install initramfs
- )
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- # copy some extra firmware to linux tree
- mkdir -p ${PKG_BUILD}/external-firmware
- cp -a $(get_build_dir kernel-firmware)/{amdgpu,amd-ucode,i915,radeon,e100,rtl_nic} ${PKG_BUILD}/external-firmware
- cp -a $(get_build_dir intel-ucode)/intel-ucode ${PKG_BUILD}/external-firmware
-
- FW_LIST="$(find ${PKG_BUILD}/external-firmware \( -type f -o -type l \) \( -iname '*.bin' -o -iname '*.fw' -o -path '*/intel-ucode/*' \) | sed 's|.*external-firmware/||' | sort | xargs)"
- sed -i "s|CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" ${PKG_BUILD}/.config
- fi
+ # copy some extra firmware to linux tree (unused)
+ # mkdir -p ${PKG_BUILD}/external-firmware
+ # cp -a $(get_build_dir kernel-firmware)/{amdgpu,amd-ucode,i915,radeon,e100,rtl_nic} ${PKG_BUILD}/external-firmware
+ # cp -a $(get_build_dir intel-ucode)/intel-ucode ${PKG_BUILD}/external-firmware
+ # FW_LIST="$(find ${PKG_BUILD}/external-firmware \( -type f -o -type l \) \( -iname '*.bin' -o -iname '*.fw' -o -path '*/intel-ucode/*' \) | sed 's|.*external-firmware/||' | sort | xargs)"
+ # sed -i "s|CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" ${PKG_BUILD}/.config
yes "" | kernel_make oldconfig
@@ -175,10 +162,6 @@ make_target() {
)
fi
- ( cd ${ROOT}
- rm -rf ${BUILD}/initramfs
- ${SCRIPTS}/install initramfs
- )
pkg_lock_status "ACTIVE" "linux:target" "build"
# arm64 target does not support creating uImage.
@@ -196,13 +179,49 @@ make_target() {
rm -rf ${INSTALL}/$(get_kernel_overlay_dir)
fi
- # the modules target is required to get a proper Module.symvers
- # file with symbols from built-in and external modules.
- # Without that it'll contain only the symbols from the kernel
+ ### If INITRAMFS_MODULES exists, repack initramfs.
+ if [ -n "${INITRAMFS_MODULES}" ]; then
+
+ # the modules target is required to get a proper Module.symvers
+ # file with symbols from built-in and external modules.
+ # Without that it'll contain only the symbols from the kernel
+ kernel_make ${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD} modules
+ kernel_make INSTALL_MOD_PATH=${INSTALL}/$(get_kernel_overlay_dir) modules_install
+
+ rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/build
+ rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/source
+
+ rm -rf ${BUILD}/initramfs
+ rm -f ${STAMPS_INSTALL}/initramfs/install_target ${STAMPS_INSTALL}/*/install_init
+
+ mkdir -p ${BUILD}/initramfs/etc
+ mkdir -p ${BUILD}/initramfs/usr/lib/modules
+
+ for i in ${INITRAMFS_MODULES}; do
+ module=$(find ${INSTALL}/$(get_full_module_dir)/kernel -name ${i}.ko)
+ if [ -n "${module}" ]; then
+ echo ${i} >> ${BUILD}/initramfs/etc/modules
+ cp ${module} ${BUILD}/initramfs/usr/lib/modules
+ fi
+ done
+
+ fi
+
+ (
+ cd ${ROOT}
+ ${SCRIPTS}/install initramfs
+ )
+
+ # Build or rebuild the modules.
kernel_make ${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD} modules
- kernel_make INSTALL_MOD_PATH=${INSTALL}/$(get_kernel_overlay_dir) modules_install
- rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/build
- rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/source
+
+ if [ -z "${INITRAMFS_MODULES}" ]; then
+ # need to install modules here
+ kernel_make INSTALL_MOD_PATH=${INSTALL}/$(get_kernel_overlay_dir) modules_install
+
+ rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/build
+ rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/source
+ fi
if [ -n "${KERNEL_UIMAGE_TARGET}" ] ; then
@@ -256,31 +275,6 @@ makeinstall_target() {
fi
}
-make_init() {
- : # reuse make_target()
-}
-
-makeinstall_init() {
- if [ -n "${INITRAMFS_MODULES}" ]; then
- mkdir -p ${INSTALL}/etc
- mkdir -p ${INSTALL}/usr/lib/modules
-
- for i in ${INITRAMFS_MODULES}; do
- module=`find .install_pkg/$(get_full_module_dir)/kernel -name ${i}.ko`
- if [ -n "${module}" ]; then
- echo ${i} >> ${INSTALL}/etc/modules
- cp ${module} ${INSTALL}/usr/lib/modules/`basename ${module}`
- fi
- done
- fi
-
- if [ "${UVESAFB_SUPPORT}" = yes ]; then
- mkdir -p ${INSTALL}/usr/lib/modules
- uvesafb=`find .install_pkg/$(get_full_module_dir)/kernel -name uvesafb.ko`
- cp ${uvesafb} ${INSTALL}/usr/lib/modules/`basename ${uvesafb}`
- fi
-}
-
post_install() {
if [ ! -d ${INSTALL}/$(get_full_firmware_dir) ]
then
diff --git a/projects/Amlogic/packages/linux/patches/S922X/0010-drm-panel-st7701-add-odroid-go-ultra-panel-support.patch b/projects/Amlogic/packages/linux/patches/S922X/0010-drm-panel-st7701-add-odroid-go-ultra-panel-support.patch
index 748604665d..5bdfd08cdd 100644
--- a/projects/Amlogic/packages/linux/patches/S922X/0010-drm-panel-st7701-add-odroid-go-ultra-panel-support.patch
+++ b/projects/Amlogic/packages/linux/patches/S922X/0010-drm-panel-st7701-add-odroid-go-ultra-panel-support.patch
@@ -92,7 +92,7 @@ index 036ac403ed21..2676e6161a44 100644
};
+static const struct drm_display_mode go_ultra_mode = {
-+ .clock = 28748,
++ .clock = 29170,
+
+ .hdisplay = 480,
+ .hsync_start = 480 + 12,
@@ -100,9 +100,9 @@ index 036ac403ed21..2676e6161a44 100644
+ .htotal = 480 + 12 + 12 + 38,
+
+ .vdisplay = 854,
-+ .vsync_start = 854 + 0,
-+ .vsync_end = 854 + 0 + 19,
-+ .vtotal = 854 + 0 + 19 + 11,
++ .vsync_start = 854 + 2,
++ .vsync_end = 854 + 2 + 19,
++ .vtotal = 854 + 2 + 19 + 22,
+
+ .width_mm = 70,
+ .height_mm = 140,
diff --git a/projects/PC/devices/AMD64/linux/linux.x86_64.conf b/projects/PC/devices/AMD64/linux/linux.x86_64.conf
index f3f5003a61..6d8ce3b9f5 100644
--- a/projects/PC/devices/AMD64/linux/linux.x86_64.conf
+++ b/projects/PC/devices/AMD64/linux/linux.x86_64.conf
@@ -11633,7 +11633,7 @@ CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
CONFIG_STRICT_DEVMEM=y
-CONFIG_IO_STRICT_DEVMEM=y
+# CONFIG_IO_STRICT_DEVMEM is not set
#
# x86 Debugging
diff --git a/projects/PC/devices/AMD64/options b/projects/PC/devices/AMD64/options
index b86261bbfb..9582fc0b96 100644
--- a/projects/PC/devices/AMD64/options
+++ b/projects/PC/devices/AMD64/options
@@ -48,10 +48,10 @@
# additional packages to install
# ADDITIONAL_PACKAGES=""
- # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
+ # additional Firmware to use ( )
# Space separated list is supported,
- # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
- FIRMWARE="misc-firmware wlan-firmware asus-firmware"
+ # e.g. FIRMWARE=""
+ FIRMWARE="asus-firmware"
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
diff --git a/projects/PC/options b/projects/PC/options
index 1bdbaf2c66..ab27b71b9d 100644
--- a/projects/PC/options
+++ b/projects/PC/options
@@ -34,10 +34,10 @@
# setup project defaults
################################################################################
- # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
+ # additional Firmware to use ( )
# Space separated list is supported,
- # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
- FIRMWARE="misc-firmware wlan-firmware dvb-firmware iwlwifi-firmware"
+ # e.g. FIRMWARE=""
+ FIRMWARE=""
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
diff --git a/projects/Rockchip/devices/RK-ARMV8-A/options b/projects/Rockchip/devices/RK-ARMV8-A/options
index 3513bf742a..95f4bb31d0 100644
--- a/projects/Rockchip/devices/RK-ARMV8-A/options
+++ b/projects/Rockchip/devices/RK-ARMV8-A/options
@@ -69,9 +69,9 @@
# additional packages to install
ADDITIONAL_PACKAGES=""
- # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
+ # additional Firmware to use ( )
# Space separated list is supported,
- # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
+ # e.g. FIRMWARE=""
FIRMWARE=""
# additional drivers to install:
diff --git a/projects/Rockchip/devices/RK3326/boot/boot.ini b/projects/Rockchip/devices/RK3326/boot/boot.ini
index 4438411643..53b20bb9d3 100644
--- a/projects/Rockchip/devices/RK3326/boot/boot.ini
+++ b/projects/Rockchip/devices/RK3326/boot/boot.ini
@@ -24,13 +24,12 @@ elif test ${hwrev} = 'v10'; then
elif test ${hwrev} = 'rg351v'; then
load mmc 1:1 ${dtb_loadaddr} rk3326-anbernic-rg351v.dtb
elif test ${hwrev} = 'r33s'; then
-# if gpio input 11; then
-# load mmc 1:1 ${dtb_loadaddr} rk3326-powkiddy-rgb20s.dtb
-# else
+# load mmc 1:1 ${dtb_loadaddr} rk3326-powkiddy-rgb20s.dtb
load mmc 1:1 ${dtb_loadaddr} rk3326-gameconsole-r33s.dtb
-# fi
elif test ${hwrev} = 'xu10'; then
load mmc 1:1 ${dtb_loadaddr} rk3326-magicx-xu10.dtb
+elif test ${hwrev} = 'chi'; then
+ load mmc 1:1 ${dtb_loadaddr} rk3326-gameforce-chi.dtb
fi
booti ${loadaddr} - ${dtb_loadaddr}
diff --git a/projects/Rockchip/devices/RK3326/linux/linux.aarch64.conf b/projects/Rockchip/devices/RK3326/linux/linux.aarch64.conf
index f761e7e636..6b97635e47 100644
--- a/projects/Rockchip/devices/RK3326/linux/linux.aarch64.conf
+++ b/projects/Rockchip/devices/RK3326/linux/linux.aarch64.conf
@@ -2165,6 +2165,7 @@ CONFIG_JOYSTICK_ODROIDGO2_V11=y
CONFIG_JOYSTICK_ODROIDGO3=y
CONFIG_JOYSTICK_RGB20S=y
CONFIG_JOYSTICK_XU10=y
+CONFIG_JOYSTICK_GAMEFORCE_CHI=y
# CONFIG_JOYSTICK_SENSEHAT is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
diff --git a/projects/Rockchip/devices/RK3326/options b/projects/Rockchip/devices/RK3326/options
index 239d93d869..a9a1dddaed 100644
--- a/projects/Rockchip/devices/RK3326/options
+++ b/projects/Rockchip/devices/RK3326/options
@@ -31,7 +31,7 @@
BOOTLOADER="u-boot"
TRUST_LABEL="trust"
PARTITION_TABLE="msdos"
- DEVICE_DTB=("rk3326-anbernic-rg351m" "rk3326-anbernic-rg351v" "rk3326-gameconsole-r33s" "rk3326-gameconsole-r36s" "rk3326-odroid-go2" "rk3326-odroid-go2-v11" "rk3326-odroid-go3" "rk3326-powkiddy-rgb10" "rk3326-powkiddy-rgb20s" "rk3326-magicx-xu10")
+ DEVICE_DTB=("rk3326-anbernic-rg351m" "rk3326-anbernic-rg351v" "rk3326-gameconsole-r33s" "rk3326-gameconsole-r36s" "rk3326-gameforce-chi" "rk3326-odroid-go2" "rk3326-odroid-go2-v11" "rk3326-odroid-go3" "rk3326-powkiddy-rgb10" "rk3326-powkiddy-rgb20s" "rk3326-magicx-xu10")
UBOOT_DTB="${DEVICE_DTB[0]}"
UBOOT_CONFIG="odroidgoa_defconfig"
PKG_SOC="px30"
@@ -75,16 +75,16 @@
# additional packages to install
ADDITIONAL_PACKAGES="device-switch"
- # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
+ # additional Firmware to use ( )
# Space separated list is supported,
- # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
- FIRMWARE="misc-firmware wlan-firmware esp8089-firmware"
+ # e.g. FIRMWARE=""
+ FIRMWARE="esp8089-firmware"
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
- ADDITIONAL_DRIVERS="RTL8812AU RTL8814AU RTL8821AU RTL8821CU RTL88x2BU"
+ ADDITIONAL_DRIVERS="RTL8812AU RTL8814AU RTL8821AU RTL8821CU RTL88x2BU RTL8723DS"
# build and install driver addons (yes / no)
DRIVER_ADDONS_SUPPORT="no"
diff --git a/projects/Rockchip/devices/RK3399/options b/projects/Rockchip/devices/RK3399/options
index 07c923687b..7fa0eea4df 100644
--- a/projects/Rockchip/devices/RK3399/options
+++ b/projects/Rockchip/devices/RK3399/options
@@ -77,10 +77,10 @@
# additional packages to install
ADDITIONAL_PACKAGES=""
- # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
+ # additional Firmware to use ( )
# Space separated list is supported,
- # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
- FIRMWARE="misc-firmware wlan-firmware RTL8188FU-firmware"
+ # e.g. FIRMWARE=""
+ FIRMWARE="RTL8188FU-firmware"
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
diff --git a/projects/Rockchip/devices/RK3566-X55/options b/projects/Rockchip/devices/RK3566-X55/options
index 37c5e6cef1..83e9e68202 100644
--- a/projects/Rockchip/devices/RK3566-X55/options
+++ b/projects/Rockchip/devices/RK3566-X55/options
@@ -79,10 +79,10 @@
# additional packages to install
# ADDITIONAL_PACKAGES=""
- # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
+ # additional Firmware to use ( )
# Space separated list is supported,
- # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
- FIRMWARE="misc-firmware"
+ # e.g. FIRMWARE=""
+ FIRMWARE=""
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
diff --git a/projects/Rockchip/devices/RK3566/linux/linux.aarch64.conf b/projects/Rockchip/devices/RK3566/linux/linux.aarch64.conf
index 721676b7f8..e2cf6dc90d 100644
--- a/projects/Rockchip/devices/RK3566/linux/linux.aarch64.conf
+++ b/projects/Rockchip/devices/RK3566/linux/linux.aarch64.conf
@@ -1,46 +1,394 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/arm64 6.8.0-rc3 Kernel Configuration
+#
+CONFIG_CC_VERSION_TEXT="aarch64-jelos-linux-gnueabi-gcc-12.3.1 (GCC) 12.3.1 20240103"
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=120301
+CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=24100
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=24100
+CONFIG_LLD_VERSION=0
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
+CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
+CONFIG_PAHOLE_VERSION=0
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_TABLE_SORT=y
+CONFIG_THREAD_INFO_IN_TASK=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
+CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_BUILD_SALT=""
+CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="@DEVICENAME@"
CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_WATCH_QUEUE=y
# CONFIG_CROSS_MEMORY_ATTACH is not set
CONFIG_USELIB=y
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_IRQ_IPI=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_IRQ_MSI_IOMMU=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+# CONFIG_GENERIC_IRQ_DEBUGFS is not set
+# end of IRQ subsystem
+
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+# CONFIG_NO_HZ is not set
CONFIG_HIGH_RES_TIMERS=y
+# end of Timers subsystem
+
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
+
+#
+# BPF subsystem
+#
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_BPF_JIT_ALWAYS_ON=y
+CONFIG_BPF_JIT_DEFAULT_ON=y
# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set
+# CONFIG_BPF_PRELOAD is not set
+# end of BPF subsystem
+
+CONFIG_PREEMPT_BUILD=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
+CONFIG_PREEMPTION=y
+# CONFIG_PREEMPT_DYNAMIC is not set
+# CONFIG_SCHED_CORE is not set
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_SCHED_AVG_IRQ=y
+CONFIG_SCHED_THERMAL_PRESSURE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+# CONFIG_TASKSTATS is not set
+# CONFIG_PSI is not set
+# end of CPU/Task time and stats accounting
+
+CONFIG_CPU_ISOLATION=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_TREE_SRCU=y
+CONFIG_TASKS_RCU_GENERIC=y
+CONFIG_TASKS_RCU=y
+CONFIG_TASKS_TRACE_RCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
+# end of RCU Subsystem
+
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
+# CONFIG_IKHEADERS is not set
CONFIG_LOG_BUF_SHIFT=18
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+# CONFIG_PRINTK_INDEX is not set
+CONFIG_GENERIC_SCHED_CLOCK=y
+
+#
+# Scheduler features
+#
+# CONFIG_UCLAMP_TASK is not set
+# end of Scheduler features
+
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
+CONFIG_GCC11_NO_ARRAY_BOUNDS=y
+CONFIG_CC_NO_ARRAY_BOUNDS=y
+CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
+CONFIG_CC_NO_STRINGOP_OVERFLOW=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+CONFIG_CGROUPS=y
+CONFIG_PAGE_COUNTER=y
+# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
+CONFIG_MEMCG_KMEM=y
CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
+CONFIG_SCHED_MM_CID=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
+# CONFIG_CGROUP_MISC is not set
+# CONFIG_CGROUP_DEBUG is not set
+CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_TIME_NS=y
+CONFIG_IPC_NS=y
+# CONFIG_USER_NS is not set
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_SCHED_AUTOGROUP=y
CONFIG_RELAY=y
+# CONFIG_BLK_DEV_INITRD is not set
CONFIG_INITRAMFS_SOURCE="@INITRAMFS_SOURCE@"
+CONFIG_INITRAMFS_ROOT_UID=0
+CONFIG_INITRAMFS_ROOT_GID=0
+CONFIG_RD_GZIP=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+CONFIG_RD_ZSTD=y
+# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set
+# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
+# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
+# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
CONFIG_INITRAMFS_COMPRESSION_LZO=y
+# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set
+# CONFIG_INITRAMFS_COMPRESSION_ZSTD is not set
+# CONFIG_INITRAMFS_COMPRESSION_NONE is not set
CONFIG_BOOT_CONFIG=y
-CONFIG_CC_OPTIMIZE_FOR_SIZE=y
+# CONFIG_BOOT_CONFIG_FORCE is not set
+# CONFIG_BOOT_CONFIG_EMBED is not set
+CONFIG_INITRAMFS_PRESERVE_MTIME=y
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_LD_ORPHAN_WARN=y
+CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
+CONFIG_SYSCTL=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_EXPERT=y
+CONFIG_UID16=y
+CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
+CONFIG_SYSFS_SYSCALL=y
+CONFIG_FHANDLE=y
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_IO_URING=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_MEMBARRIER=y
+CONFIG_KCMP=y
+CONFIG_RSEQ=y
+# CONFIG_DEBUG_RSEQ is not set
+CONFIG_CACHESTAT_SYSCALL=y
+# CONFIG_PC104 is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_ALL=y
+CONFIG_KALLSYMS_BASE_RELATIVE=y
+CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
+# end of Kernel Performance Events And Counters
+
+CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
+
+#
+# Kexec and crash features
+#
+# CONFIG_KEXEC is not set
+# CONFIG_KEXEC_FILE is not set
+# CONFIG_CRASH_DUMP is not set
+# end of Kexec and crash features
+# end of General setup
+
+CONFIG_ARM64=y
+CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
+CONFIG_64BIT=y
+CONFIG_MMU=y
+CONFIG_ARM64_PAGE_SHIFT=12
+CONFIG_ARM64_CONT_PTE_SHIFT=4
+CONFIG_ARM64_CONT_PMD_SHIFT=4
+CONFIG_ARCH_MMAP_RND_BITS_MIN=18
+CONFIG_ARCH_MMAP_RND_BITS_MAX=24
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_SMP=y
+CONFIG_KERNEL_MODE_NEON=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=3
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
+
+#
+# Platform selection
+#
+# CONFIG_ARCH_ACTIONS is not set
+# CONFIG_ARCH_SUNXI is not set
+# CONFIG_ARCH_ALPINE is not set
+# CONFIG_ARCH_APPLE is not set
+# CONFIG_ARCH_BCM is not set
+# CONFIG_ARCH_BERLIN is not set
+# CONFIG_ARCH_BITMAIN is not set
+# CONFIG_ARCH_EXYNOS is not set
+# CONFIG_ARCH_SPARX5 is not set
+# CONFIG_ARCH_K3 is not set
+# CONFIG_ARCH_LG1K is not set
+# CONFIG_ARCH_HISI is not set
+# CONFIG_ARCH_KEEMBAY is not set
+# CONFIG_ARCH_MEDIATEK is not set
+# CONFIG_ARCH_MESON is not set
+# CONFIG_ARCH_MVEBU is not set
+# CONFIG_ARCH_NXP is not set
+# CONFIG_ARCH_MA35 is not set
+# CONFIG_ARCH_NPCM is not set
+# CONFIG_ARCH_PENSANDO is not set
+# CONFIG_ARCH_QCOM is not set
+# CONFIG_ARCH_REALTEK is not set
+# CONFIG_ARCH_RENESAS is not set
CONFIG_ARCH_ROCKCHIP=y
+# CONFIG_ARCH_SEATTLE is not set
+# CONFIG_ARCH_INTEL_SOCFPGA is not set
+# CONFIG_ARCH_STM32 is not set
+# CONFIG_ARCH_SYNQUACER is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_SPRD is not set
+# CONFIG_ARCH_THUNDER is not set
+# CONFIG_ARCH_THUNDER2 is not set
+# CONFIG_ARCH_UNIPHIER is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_VISCONTI is not set
+# CONFIG_ARCH_XGENE is not set
+# CONFIG_ARCH_ZYNQMP is not set
+# end of Platform selection
+
+#
+# Kernel Features
+#
+
+#
+# ARM errata workarounds via the alternatives framework
+#
+CONFIG_AMPERE_ERRATUM_AC03_CPU_38=y
+CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
+CONFIG_ARM64_ERRATUM_826319=y
+CONFIG_ARM64_ERRATUM_827319=y
+CONFIG_ARM64_ERRATUM_824069=y
+CONFIG_ARM64_ERRATUM_819472=y
+CONFIG_ARM64_ERRATUM_832075=y
+CONFIG_ARM64_ERRATUM_1742098=y
+CONFIG_ARM64_ERRATUM_845719=y
+CONFIG_ARM64_ERRATUM_843419=y
+CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
+CONFIG_ARM64_ERRATUM_1024718=y
+CONFIG_ARM64_ERRATUM_1418040=y
+CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y
+CONFIG_ARM64_ERRATUM_1165522=y
+CONFIG_ARM64_ERRATUM_1319367=y
+CONFIG_ARM64_ERRATUM_1530923=y
+CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
+CONFIG_ARM64_ERRATUM_2441007=y
+CONFIG_ARM64_ERRATUM_1286807=y
+CONFIG_ARM64_ERRATUM_1463225=y
+CONFIG_ARM64_ERRATUM_1542419=y
+CONFIG_ARM64_ERRATUM_1508412=y
+CONFIG_ARM64_ERRATUM_2051678=y
+CONFIG_ARM64_ERRATUM_2077057=y
+CONFIG_ARM64_ERRATUM_2658417=y
+CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y
+CONFIG_ARM64_ERRATUM_2054223=y
+CONFIG_ARM64_ERRATUM_2067961=y
+CONFIG_ARM64_ERRATUM_2441009=y
+CONFIG_ARM64_ERRATUM_2457168=y
+CONFIG_ARM64_ERRATUM_2645198=y
+CONFIG_ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD=y
+CONFIG_ARM64_ERRATUM_2966298=y
+CONFIG_ARM64_ERRATUM_3117295=y
# CONFIG_CAVIUM_ERRATUM_22375 is not set
# CONFIG_CAVIUM_ERRATUM_23154 is not set
# CONFIG_CAVIUM_ERRATUM_27456 is not set
@@ -53,75 +401,587 @@ CONFIG_ARCH_ROCKCHIP=y
# CONFIG_QCOM_QDF2400_ERRATUM_0065 is not set
# CONFIG_QCOM_FALKOR_ERRATUM_E1041 is not set
# CONFIG_NVIDIA_CARMEL_CNP_ERRATUM is not set
+CONFIG_ROCKCHIP_ERRATUM_3588001=y
# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
+# end of ARM errata workarounds via the alternatives framework
+
+CONFIG_ARM64_4K_PAGES=y
+# CONFIG_ARM64_16K_PAGES is not set
+# CONFIG_ARM64_64K_PAGES is not set
+CONFIG_ARM64_VA_BITS_39=y
+# CONFIG_ARM64_VA_BITS_48 is not set
+CONFIG_ARM64_VA_BITS=39
+CONFIG_ARM64_PA_BITS_48=y
+CONFIG_ARM64_PA_BITS=48
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_SCHED_MC=y
+# CONFIG_SCHED_CLUSTER is not set
CONFIG_SCHED_SMT=y
CONFIG_NR_CPUS=4
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_NUMA is not set
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_SCHED_HRTICK=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
+# CONFIG_PARAVIRT is not set
+# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
+CONFIG_ARCH_SUPPORTS_KEXEC=y
+CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
+CONFIG_ARCH_SUPPORTS_KEXEC_IMAGE_VERIFY_SIG=y
+CONFIG_ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG=y
+CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
+# CONFIG_XEN is not set
+CONFIG_ARCH_FORCE_MAX_ORDER=10
+CONFIG_UNMAP_KERNEL_AT_EL0=y
+CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y
+CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
CONFIG_ARM64_SW_TTBR0_PAN=y
+CONFIG_ARM64_TAGGED_ADDR_ABI=y
CONFIG_COMPAT=y
+CONFIG_KUSER_HELPERS=y
+# CONFIG_COMPAT_ALIGNMENT_FIXUPS is not set
CONFIG_ARMV8_DEPRECATED=y
+# CONFIG_SWP_EMULATION is not set
+# CONFIG_CP15_BARRIER_EMULATION is not set
+# CONFIG_SETEND_EMULATION is not set
+
+#
+# ARMv8.1 architectural features
+#
+CONFIG_ARM64_HW_AFDBM=y
+CONFIG_ARM64_PAN=y
+CONFIG_AS_HAS_LSE_ATOMICS=y
+CONFIG_ARM64_LSE_ATOMICS=y
+CONFIG_ARM64_USE_LSE_ATOMICS=y
+# end of ARMv8.1 architectural features
+
+#
+# ARMv8.2 architectural features
+#
+CONFIG_AS_HAS_ARMV8_2=y
+CONFIG_AS_HAS_SHA3=y
CONFIG_ARM64_PMEM=y
+CONFIG_ARM64_RAS_EXTN=y
+CONFIG_ARM64_CNP=y
+# end of ARMv8.2 architectural features
+
+#
+# ARMv8.3 architectural features
+#
+CONFIG_ARM64_PTR_AUTH=y
+CONFIG_ARM64_PTR_AUTH_KERNEL=y
+CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y
+CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y
+CONFIG_AS_HAS_ARMV8_3=y
+CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y
+CONFIG_AS_HAS_LDAPR=y
+# end of ARMv8.3 architectural features
+
+#
+# ARMv8.4 architectural features
+#
+CONFIG_ARM64_AMU_EXTN=y
+CONFIG_AS_HAS_ARMV8_4=y
+CONFIG_ARM64_TLB_RANGE=y
+# end of ARMv8.4 architectural features
+
+#
+# ARMv8.5 architectural features
+#
+CONFIG_AS_HAS_ARMV8_5=y
# CONFIG_ARM64_BTI is not set
+CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y
+CONFIG_ARM64_E0PD=y
+CONFIG_ARM64_AS_HAS_MTE=y
+CONFIG_ARM64_MTE=y
+# end of ARMv8.5 architectural features
+
+#
+# ARMv8.7 architectural features
+#
+CONFIG_ARM64_EPAN=y
+# end of ARMv8.7 architectural features
+
+CONFIG_ARM64_SVE=y
+CONFIG_ARM64_SME=y
+# CONFIG_ARM64_PSEUDO_NMI is not set
+CONFIG_RELOCATABLE=y
CONFIG_RANDOMIZE_BASE=y
+CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
+CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
+CONFIG_STACKPROTECTOR_PER_TASK=y
+# end of Kernel Features
+
+#
+# Boot options
+#
+CONFIG_CMDLINE=""
# CONFIG_EFI is not set
+# end of Boot options
+
+#
+# Power management options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
CONFIG_SUSPEND_SKIP_SYNC=y
+# CONFIG_HIBERNATION is not set
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_AUTOSLEEP=y
+# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
+# CONFIG_PM_WAKELOCKS is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
+CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
+CONFIG_PM_GENERIC_DOMAINS_OF=y
+CONFIG_CPU_PM=y
CONFIG_ENERGY_MODEL=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# end of Power management options
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Idle
+#
CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_CPU_IDLE_GOV_TEO is not set
+CONFIG_DT_IDLE_STATES=y
+CONFIG_DT_IDLE_GENPD=y
+
+#
+# ARM CPU Idle Drivers
+#
CONFIG_ARM_PSCI_CPUIDLE=y
+CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y
+# end of ARM CPU Idle Drivers
+# end of CPU Idle
+
+#
+# CPU Frequency scaling
+#
CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
+# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+#
+# CPU frequency scaling drivers
+#
CONFIG_CPUFREQ_DT=y
+CONFIG_CPUFREQ_DT_PLATDEV=y
+# CONFIG_ARM_SCPI_CPUFREQ is not set
CONFIG_ARM_SCMI_CPUFREQ=y
+# end of CPU Frequency scaling
+# end of CPU Power Management
+
+CONFIG_HAVE_KVM=y
+# CONFIG_VIRTUALIZATION is not set
+
+#
+# General architecture-dependent options
+#
+CONFIG_ARCH_HAS_SUBPAGE_FAULTS=y
+CONFIG_HOTPLUG_CORE_SYNC=y
+CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
+# CONFIG_KPROBES is not set
+# CONFIG_JUMP_LABEL is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_HAVE_NMI=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_KEEPINITRD=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_MMU_GATHER_TABLE_FREE=y
+CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP=y
+CONFIG_SECCOMP_FILTER=y
+# CONFIG_SECCOMP_CACHE_DEBUG is not set
+CONFIG_HAVE_ARCH_STACKLEAK=y
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y
+# CONFIG_SHADOW_CALL_STACK is not set
+CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_ARCH_MMAP_RND_BITS=18
+CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_COMPAT_OLD_SIGACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
+CONFIG_RANDOMIZE_KSTACK_OFFSET=y
+# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_HAVE_ARCH_COMPILER_H=y
+CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+# CONFIG_LOCK_EVENT_COUNTS is not set
+CONFIG_ARCH_HAS_RELR=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
+CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
+CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y
+CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+# end of GCOV-based kernel profiling
+
+CONFIG_HAVE_GCC_PLUGINS=y
# CONFIG_GCC_PLUGINS is not set
+CONFIG_FUNCTION_ALIGNMENT_4B=y
+CONFIG_FUNCTION_ALIGNMENT=4
+# end of General architecture-dependent options
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
CONFIG_MODULES=y
+# CONFIG_MODULE_DEBUG is not set
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_MODULE_COMPRESS_NONE=y
+# CONFIG_MODULE_COMPRESS_GZIP is not set
+# CONFIG_MODULE_COMPRESS_XZ is not set
+# CONFIG_MODULE_COMPRESS_ZSTD is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
+# CONFIG_TRIM_UNUSED_KSYMS is not set
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_DEV_BSGLIB=y
+# CONFIG_BLK_DEV_INTEGRITY is not set
+CONFIG_BLK_DEV_WRITE_MOUNTED=y
+# CONFIG_BLK_DEV_ZONED is not set
+# CONFIG_BLK_DEV_THROTTLING is not set
+# CONFIG_BLK_WBT is not set
+# CONFIG_BLK_CGROUP_IOLATENCY is not set
+# CONFIG_BLK_CGROUP_IOCOST is not set
+# CONFIG_BLK_CGROUP_IOPRIO is not set
+CONFIG_BLK_DEBUG_FS=y
+# CONFIG_BLK_SED_OPAL is not set
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
+
+#
+# Partition Types
+#
CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_AIX_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+# CONFIG_CMDLINE_PARTITION is not set
+# end of Partition Types
+
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
+CONFIG_BLK_MQ_STACKING=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=y
# CONFIG_MQ_IOSCHED_KYBER is not set
# CONFIG_IOSCHED_BFQ is not set
+# end of IO Schedulers
+
+CONFIG_PADATA=y
+CONFIG_ASN1=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
+CONFIG_QUEUED_SPINLOCKS=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
+CONFIG_FREEZER=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_STATE=y
+CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y
+CONFIG_ARCH_HAVE_ELF_PROT=y
+CONFIG_ARCH_USE_GNU_PROPERTY=y
+CONFIG_ELFCORE=y
+CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
+CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=y
+CONFIG_COREDUMP=y
+# end of Executable file formats
+
+#
+# Memory Management options
+#
+CONFIG_SWAP=y
+# CONFIG_ZSWAP is not set
+CONFIG_ZSMALLOC=y
+# CONFIG_ZSMALLOC_STAT is not set
+CONFIG_ZSMALLOC_CHAIN_SIZE=8
+
+#
+# Slab allocator options
+#
+CONFIG_SLUB=y
+# CONFIG_SLUB_TINY is not set
# CONFIG_SLAB_MERGE_DEFAULT is not set
+# CONFIG_SLAB_FREELIST_RANDOM is not set
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+# CONFIG_SLUB_STATS is not set
# CONFIG_SLUB_CPU_PARTIAL is not set
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
+# end of Slab allocator options
+
+# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
# CONFIG_COMPAT_BRK is not set
+CONFIG_SPARSEMEM=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_FAST_GUP=y
+CONFIG_ARCH_KEEP_MEMBLOCK=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+# CONFIG_MEMORY_HOTPLUG is not set
+CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
# CONFIG_COMPACTION is not set
+# CONFIG_PAGE_REPORTING is not set
+CONFIG_MIGRATION=y
+CONFIG_PCP_BATCH_SCALE_MAX=5
+CONFIG_PHYS_ADDR_T_64BIT=y
+# CONFIG_KSM is not set
CONFIG_DEFAULT_MMAP_MIN_ADDR=32768
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_MEMORY_FAILURE is not set
+CONFIG_ARCH_WANTS_THP_SWAP=y
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+# CONFIG_CMA is not set
+CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ARCH_HAS_PTE_DEVMAP=y
+CONFIG_ARCH_HAS_ZONE_DMA_SET=y
+CONFIG_ZONE_DMA=y
+CONFIG_ZONE_DMA32=y
+CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
+CONFIG_ARCH_USES_PG_ARCH_X=y
# CONFIG_VM_EVENT_COUNTERS is not set
+# CONFIG_PERCPU_STATS is not set
+# CONFIG_GUP_TEST is not set
+# CONFIG_DMAPOOL_TEST is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_SECRETMEM=y
+# CONFIG_ANON_VMA_NAME is not set
+# CONFIG_USERFAULTFD is not set
+# CONFIG_LRU_GEN is not set
+CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
+CONFIG_PER_VMA_LOCK=y
+CONFIG_LOCK_MM_AND_FIND_VMA=y
+
+#
+# Data Access Monitoring
+#
+# CONFIG_DAMON is not set
+# end of Data Access Monitoring
+# end of Memory Management options
+
CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+CONFIG_NET_INGRESS=y
+CONFIG_NET_EGRESS=y
+CONFIG_NET_XGRESS=y
+CONFIG_SKB_EXTENSIONS=y
+
+#
+# Networking options
+#
CONFIG_PACKET=y
+# CONFIG_PACKET_DIAG is not set
CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
CONFIG_UNIX_DIAG=m
+# CONFIG_TLS is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+# CONFIG_XFRM_STATISTICS is not set
+CONFIG_XFRM_AH=y
+CONFIG_XFRM_ESP=y
+CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=y
+# CONFIG_NET_KEY_MIGRATE is not set
+# CONFIG_XDP_SOCKETS is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=y
CONFIG_NET_IPGRE=m
+# CONFIG_NET_IPGRE_BROADCAST is not set
+CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+# CONFIG_NET_IPVTI is not set
+CONFIG_NET_UDP_TUNNEL=y
+# CONFIG_NET_FOU is not set
+# CONFIG_NET_FOU_IP_TUNNELS is not set
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
+# CONFIG_INET_ESP_OFFLOAD is not set
+# CONFIG_INET_ESPINTCP is not set
CONFIG_INET_IPCOMP=y
+CONFIG_INET_TABLE_PERTURB_ORDER=16
+CONFIG_INET_XFRM_TUNNEL=y
+CONFIG_INET_TUNNEL=y
# CONFIG_INET_DIAG is not set
CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=m
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+# CONFIG_TCP_CONG_NV is not set
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
@@ -129,21 +989,56 @@ CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
CONFIG_TCP_CONG_CDG=m
+# CONFIG_TCP_CONG_BBR is not set
+CONFIG_DEFAULT_RENO=y
+CONFIG_DEFAULT_TCP_CONG="reno"
+CONFIG_TCP_SIGPOOL=y
+# CONFIG_TCP_AO is not set
CONFIG_TCP_MD5SIG=y
# CONFIG_IPV6 is not set
+# CONFIG_NETLABEL is not set
+# CONFIG_MPTCP is not set
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NET_PTP_CLASSIFY=y
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
CONFIG_NETFILTER=y
+CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_INGRESS=y
+CONFIG_NETFILTER_EGRESS=y
+CONFIG_NETFILTER_NETLINK=y
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
+CONFIG_NETFILTER_FAMILY_ARP=y
+CONFIG_NETFILTER_BPF_LINK=y
+# CONFIG_NETFILTER_NETLINK_HOOK is not set
+CONFIG_NETFILTER_NETLINK_ACCT=m
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
+CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NF_CONNTRACK=m
+CONFIG_NF_LOG_SYSLOG=m
+CONFIG_NETFILTER_CONNCOUNT=m
+CONFIG_NF_CONNTRACK_MARK=y
+# CONFIG_NF_CONNTRACK_ZONES is not set
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CONNTRACK_OVS=y
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_GRE=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=m
@@ -152,35 +1047,79 @@ CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
+# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_REDIRECT=y
+CONFIG_NF_NAT_MASQUERADE=y
+CONFIG_NF_NAT_OVS=y
+CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NF_TABLES=m
+# CONFIG_NF_TABLES_NETDEV is not set
+# CONFIG_NFT_NUMGEN is not set
CONFIG_NFT_CT=m
+# CONFIG_NFT_CONNLIMIT is not set
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_REDIR=m
+# CONFIG_NFT_TUNNEL is not set
CONFIG_NFT_QUEUE=m
+# CONFIG_NFT_QUOTA is not set
CONFIG_NFT_REJECT=m
CONFIG_NFT_COMPAT=m
CONFIG_NFT_HASH=m
+# CONFIG_NFT_XFRM is not set
+# CONFIG_NFT_SOCKET is not set
+# CONFIG_NFT_OSF is not set
+# CONFIG_NFT_TPROXY is not set
+# CONFIG_NFT_SYNPROXY is not set
+# CONFIG_NF_FLOW_TABLE is not set
+CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XTABLES_COMPAT=y
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_HMARK=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
CONFIG_NETFILTER_XT_TARGET_LED=m
CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_NAT=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_BPF=m
CONFIG_NETFILTER_XT_MATCH_CGROUP=m
@@ -195,9 +1134,11 @@ CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
@@ -225,7 +1166,10 @@ CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
CONFIG_NETFILTER_XT_MATCH_TIME=m
CONFIG_NETFILTER_XT_MATCH_U32=m
+# end of Core Netfilter Configuration
+
CONFIG_IP_SET=y
+CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=m
CONFIG_IP_SET_BITMAP_IPMAC=m
CONFIG_IP_SET_BITMAP_PORT=m
@@ -234,6 +1178,7 @@ CONFIG_IP_SET_HASH_IPMARK=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
+# CONFIG_IP_SET_HASH_IPMAC is not set
CONFIG_IP_SET_HASH_MAC=m
CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_HASH_NET=m
@@ -242,11 +1187,22 @@ CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETIFACE=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_VS=m
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
@@ -257,11 +1213,43 @@ CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
+# CONFIG_IP_VS_MH is not set
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
+# CONFIG_IP_VS_TWOS is not set
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS MH scheduler
+#
+CONFIG_IP_VS_MH_TAB_INDEX=12
+
+#
+# IPVS application helper
+#
+# CONFIG_IP_VS_FTP is not set
CONFIG_IP_VS_NFCT=y
+# CONFIG_IP_VS_PE_SIP is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_SOCKET_IPV4=m
+CONFIG_NF_TPROXY_IPV4=m
+# CONFIG_NF_TABLES_IPV4 is not set
+# CONFIG_NF_TABLES_ARP is not set
+CONFIG_NF_DUP_IPV4=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
+CONFIG_NF_REJECT_IPV4=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
@@ -282,8 +1270,11 @@ CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
+# end of IP: Netfilter Configuration
+
CONFIG_NF_TABLES_BRIDGE=m
CONFIG_NFT_BRIDGE_META=m
+# CONFIG_NF_CONNTRACK_BRIDGE is not set
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
@@ -304,194 +1295,1383 @@ CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
+# CONFIG_IP_DCCP is not set
+# CONFIG_IP_SCTP is not set
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP is not set
+CONFIG_STP=y
CONFIG_BRIDGE=y
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+# CONFIG_BRIDGE_VLAN_FILTERING is not set
+# CONFIG_BRIDGE_MRP is not set
+# CONFIG_BRIDGE_CFM is not set
+# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=y
+# CONFIG_VLAN_8021Q_GVRP is not set
+# CONFIG_VLAN_8021Q_MVRP is not set
+CONFIG_LLC=y
+# CONFIG_LLC2 is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
CONFIG_NET_SCH_HTB=y
+# CONFIG_NET_SCH_HFSC is not set
+# CONFIG_NET_SCH_PRIO is not set
+# CONFIG_NET_SCH_MULTIQ is not set
+# CONFIG_NET_SCH_RED is not set
+# CONFIG_NET_SCH_SFB is not set
+# CONFIG_NET_SCH_SFQ is not set
+# CONFIG_NET_SCH_TEQL is not set
+# CONFIG_NET_SCH_TBF is not set
+# CONFIG_NET_SCH_CBS is not set
+# CONFIG_NET_SCH_ETF is not set
+# CONFIG_NET_SCH_TAPRIO is not set
+# CONFIG_NET_SCH_GRED is not set
+# CONFIG_NET_SCH_NETEM is not set
+# CONFIG_NET_SCH_DRR is not set
+# CONFIG_NET_SCH_MQPRIO is not set
+# CONFIG_NET_SCH_SKBPRIO is not set
+# CONFIG_NET_SCH_CHOKE is not set
+# CONFIG_NET_SCH_QFQ is not set
CONFIG_NET_SCH_CODEL=y
CONFIG_NET_SCH_FQ_CODEL=y
+# CONFIG_NET_SCH_CAKE is not set
+# CONFIG_NET_SCH_FQ is not set
+# CONFIG_NET_SCH_HHF is not set
+# CONFIG_NET_SCH_PIE is not set
+# CONFIG_NET_SCH_PLUG is not set
+# CONFIG_NET_SCH_ETS is not set
+# CONFIG_NET_SCH_DEFAULT is not set
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+# CONFIG_NET_CLS_BASIC is not set
+# CONFIG_NET_CLS_ROUTE4 is not set
+# CONFIG_NET_CLS_FW is not set
CONFIG_NET_CLS_U32=y
+# CONFIG_CLS_U32_PERF is not set
CONFIG_CLS_U32_MARK=y
+# CONFIG_NET_CLS_FLOW is not set
CONFIG_NET_CLS_CGROUP=y
+# CONFIG_NET_CLS_BPF is not set
+# CONFIG_NET_CLS_FLOWER is not set
+# CONFIG_NET_CLS_MATCHALL is not set
+# CONFIG_NET_EMATCH is not set
+# CONFIG_NET_CLS_ACT is not set
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
CONFIG_DNS_RESOLVER=y
+# CONFIG_BATMAN_ADV is not set
CONFIG_OPENVSWITCH=m
+CONFIG_OPENVSWITCH_GRE=m
+CONFIG_OPENVSWITCH_VXLAN=m
+# CONFIG_VSOCKETS is not set
+# CONFIG_NETLINK_DIAG is not set
+CONFIG_MPLS=y
+CONFIG_NET_MPLS_GSO=m
+# CONFIG_MPLS_ROUTING is not set
+CONFIG_NET_NSH=m
+# CONFIG_HSR is not set
+# CONFIG_NET_SWITCHDEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
+# CONFIG_QRTR is not set
+# CONFIG_NET_NCSI is not set
+CONFIG_PCPU_DEV_REFCNT=y
+CONFIG_MAX_SKB_FRAGS=17
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
+CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
+CONFIG_CGROUP_NET_CLASSID=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+# CONFIG_BPF_STREAM_PARSER is not set
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# end of Network testing
+# end of Networking options
+
+# CONFIG_HAMRADIO is not set
CONFIG_CAN=y
+CONFIG_CAN_RAW=y
+CONFIG_CAN_BCM=y
+CONFIG_CAN_GW=y
+# CONFIG_CAN_J1939 is not set
+# CONFIG_CAN_ISOTP is not set
CONFIG_BT=m
+CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=y
+# CONFIG_BT_RFCOMM_TTY is not set
+# CONFIG_BT_BNEP is not set
+# CONFIG_BT_CMTP is not set
CONFIG_BT_HIDP=y
CONFIG_BT_HS=y
+CONFIG_BT_LE=y
+CONFIG_BT_LE_L2CAP_ECRED=y
+# CONFIG_BT_LEDS is not set
+# CONFIG_BT_MSFTEXT is not set
+# CONFIG_BT_AOSPEXT is not set
+CONFIG_BT_DEBUGFS=y
+# CONFIG_BT_SELFTEST is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_INTEL=m
+CONFIG_BT_BCM=m
+CONFIG_BT_RTL=m
CONFIG_BT_HCIBTUSB=m
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
+CONFIG_BT_HCIBTUSB_POLL_SYNC=y
+CONFIG_BT_HCIBTUSB_BCM=y
+# CONFIG_BT_HCIBTUSB_MTK is not set
+CONFIG_BT_HCIBTUSB_RTL=y
+# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_SERDEV=y
+CONFIG_BT_HCIUART_H4=y
+# CONFIG_BT_HCIUART_NOKIA is not set
+# CONFIG_BT_HCIUART_BCSP is not set
CONFIG_BT_HCIUART_ATH3K=y
+# CONFIG_BT_HCIUART_LL is not set
+# CONFIG_BT_HCIUART_3WIRE is not set
+# CONFIG_BT_HCIUART_INTEL is not set
+# CONFIG_BT_HCIUART_BCM is not set
+# CONFIG_BT_HCIUART_RTL is not set
+# CONFIG_BT_HCIUART_QCA is not set
+# CONFIG_BT_HCIUART_AG6XX is not set
+# CONFIG_BT_HCIUART_MRVL is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBCM4377 is not set
+# CONFIG_BT_HCIBPA10X is not set
CONFIG_BT_HCIBFUSB=m
CONFIG_BT_HCIVHCI=m
CONFIG_BT_MRVL=m
CONFIG_BT_MRVL_SDIO=m
+# CONFIG_BT_ATH3K is not set
+# CONFIG_BT_MTKSDIO is not set
+# CONFIG_BT_MTKUART is not set
+# CONFIG_BT_NXPUART is not set
+# end of Bluetooth device drivers
+
+# CONFIG_AF_RXRPC is not set
+# CONFIG_AF_KCM is not set
+# CONFIG_MCTP is not set
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
+CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
+CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
# CONFIG_CFG80211_DEFAULT_PS is not set
+# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_CRDA_SUPPORT is not set
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL_GPIO=m
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+# CONFIG_NFC is not set
+# CONFIG_PSAMPLE is not set
+# CONFIG_NET_IFE is not set
+# CONFIG_LWTUNNEL is not set
+CONFIG_DST_CACHE=y
+CONFIG_GRO_CELLS=y
+CONFIG_NET_SELFTESTS=y
+CONFIG_NET_SOCK_MSG=y
+CONFIG_PAGE_POOL=y
+# CONFIG_PAGE_POOL_STATS is not set
+# CONFIG_FAILOVER is not set
# CONFIG_ETHTOOL_NETLINK is not set
+
+#
+# Device Drivers
+#
+CONFIG_ARM_AMBA=y
+CONFIG_HAVE_PCI=y
CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCI_SYSCALL=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCIEAER=y
+# CONFIG_PCIEAER_INJECT is not set
+# CONFIG_PCIE_ECRC is not set
+CONFIG_PCIEASPM=y
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+# CONFIG_PCIE_DPC is not set
+# CONFIG_PCIE_PTM is not set
+CONFIG_PCI_MSI=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_PCI_DEBUG is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCI_IOV is not set
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
+# CONFIG_PCIE_BUS_TUNE_OFF is not set
+CONFIG_PCIE_BUS_DEFAULT=y
+# CONFIG_PCIE_BUS_SAFE is not set
+# CONFIG_PCIE_BUS_PERFORMANCE is not set
+# CONFIG_PCIE_BUS_PEER2PEER is not set
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# PCI controller drivers
+#
+# CONFIG_PCIE_ALTERA is not set
+# CONFIG_PCI_HOST_THUNDER_PEM is not set
+# CONFIG_PCI_HOST_THUNDER_ECAM is not set
+# CONFIG_PCI_FTPCI100 is not set
+# CONFIG_PCI_HOST_GENERIC is not set
+# CONFIG_PCIE_MICROCHIP_HOST is not set
+CONFIG_PCIE_ROCKCHIP=y
CONFIG_PCIE_ROCKCHIP_HOST=y
+# CONFIG_PCI_XGENE is not set
+# CONFIG_PCIE_XILINX is not set
+
+#
+# Cadence-based PCIe controllers
+#
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
+# end of Cadence-based PCIe controllers
+
+#
+# DesignWare-based PCIe controllers
+#
+CONFIG_PCIE_DW=y
+CONFIG_PCIE_DW_HOST=y
+# CONFIG_PCIE_AL is not set
+# CONFIG_PCI_MESON is not set
+# CONFIG_PCI_HISI is not set
+# CONFIG_PCIE_KIRIN is not set
+# CONFIG_PCIE_DW_PLAT_HOST is not set
CONFIG_PCIE_ROCKCHIP_DW_HOST=y
+# end of DesignWare-based PCIe controllers
+
+#
+# Mobiveil-based PCIe controllers
+#
+# end of Mobiveil-based PCIe controllers
+# end of PCI controller drivers
+
+#
+# PCI Endpoint
+#
+# CONFIG_PCI_ENDPOINT is not set
+# end of PCI Endpoint
+
+#
+# PCI switch controller drivers
+#
+# CONFIG_PCI_SW_SWITCHTEC is not set
+# end of PCI switch controller drivers
+
+# CONFIG_CXL_BUS is not set
+# CONFIG_PCCARD is not set
+# CONFIG_RAPIDIO is not set
+
+#
+# Generic Driver Options
+#
CONFIG_UEVENT_HELPER=y
+CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS_SAFE=y
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+
+#
+# Firmware loader
+#
+CONFIG_FW_LOADER=y
+CONFIG_FW_LOADER_DEBUG=y
+CONFIG_FW_LOADER_PAGED_BUF=y
+CONFIG_FW_LOADER_SYSFS=y
+CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+# CONFIG_FW_LOADER_COMPRESS is not set
+CONFIG_FW_CACHE=y
+# CONFIG_FW_UPLOAD is not set
+# end of Firmware loader
+
+CONFIG_WANT_DEV_COREDUMP=y
# CONFIG_ALLOW_DEV_COREDUMP is not set
+# CONFIG_DEBUG_DRIVER is not set
CONFIG_DEBUG_DEVRES=y
+# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
+# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
+CONFIG_GENERIC_CPU_DEVICES=y
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_CPU_VULNERABILITIES=y
+CONFIG_SOC_BUS=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_SPI=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_DMA_FENCE_TRACE is not set
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
+# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
+# end of Generic Driver Options
+
+#
+# Bus devices
+#
+# CONFIG_MOXTET is not set
+# CONFIG_VEXPRESS_CONFIG is not set
+# CONFIG_MHI_BUS is not set
+# CONFIG_MHI_BUS_EP is not set
+# end of Bus devices
+
+#
+# Cache Drivers
+#
+# end of Cache Drivers
+
CONFIG_CONNECTOR=y
+CONFIG_PROC_EVENTS=y
+
+#
+# Firmware Drivers
+#
+
+#
+# ARM System Control and Management Interface Protocol
+#
CONFIG_ARM_SCMI_PROTOCOL=y
+# CONFIG_ARM_SCMI_RAW_MODE_SUPPORT is not set
+CONFIG_ARM_SCMI_HAVE_TRANSPORT=y
+CONFIG_ARM_SCMI_HAVE_SHMEM=y
+CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y
+CONFIG_ARM_SCMI_TRANSPORT_SMC=y
+# CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE is not set
CONFIG_ARM_SCMI_POWER_CONTROL=y
+# end of ARM System Control and Management Interface Protocol
+
CONFIG_ARM_SCPI_PROTOCOL=y
+# CONFIG_FIRMWARE_MEMMAP is not set
+# CONFIG_FW_CFG_SYSFS is not set
CONFIG_ARM_FFA_TRANSPORT=y
+CONFIG_ARM_FFA_SMCCC=y
+# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_ARM_PSCI_FW=y
+# CONFIG_ARM_PSCI_CHECKER is not set
+
+#
+# Qualcomm firmware drivers
+#
+# end of Qualcomm firmware drivers
+
+CONFIG_HAVE_ARM_SMCCC=y
+CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
+CONFIG_ARM_SMCCC_SOC_ID=y
+
+#
+# Tegra firmware driver
+#
+# end of Tegra firmware driver
+# end of Firmware Drivers
+
+# CONFIG_GNSS is not set
CONFIG_MTD=y
+# CONFIG_MTD_TESTS is not set
+
+#
+# Partition parsers
+#
+# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTD_OF_PARTS=y
+# CONFIG_MTD_AFS_PARTS is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# end of Partition parsers
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
+
+#
+# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK.
+#
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+# CONFIG_MTD_SWAP is not set
+# CONFIG_MTD_PARTITIONED_MASTER is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# end of RAM/ROM/Flash chip drivers
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+# end of Mapping drivers for chip access
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_MCHP23K256 is not set
+# CONFIG_MTD_MCHP48L640 is not set
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOCG3 is not set
+# end of Self-contained MTD device drivers
+
+#
+# NAND
+#
+# CONFIG_MTD_ONENAND is not set
+# CONFIG_MTD_RAW_NAND is not set
+# CONFIG_MTD_SPI_NAND is not set
+
+#
+# ECC engine support
+#
+# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set
+# CONFIG_MTD_NAND_ECC_SW_BCH is not set
+# CONFIG_MTD_NAND_ECC_MXIC is not set
+# end of ECC engine support
+# end of NAND
+
+#
+# LPDDR & LPDDR2 PCM memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# end of LPDDR & LPDDR2 PCM memory drivers
+
CONFIG_MTD_SPI_NOR=y
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set
+CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y
+# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set
+# CONFIG_MTD_UBI is not set
+# CONFIG_MTD_HYPERBUS is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+# CONFIG_OF_UNITTEST is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_RESERVED_MEM=y
+CONFIG_OF_RESOLVE=y
CONFIG_OF_OVERLAY=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_NULL_BLK is not set
+CONFIG_CDROM=y
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_ZRAM=y
+CONFIG_ZRAM_DEF_COMP_LZORLE=y
+# CONFIG_ZRAM_DEF_COMP_ZSTD is not set
+# CONFIG_ZRAM_DEF_COMP_LZ4 is not set
+# CONFIG_ZRAM_DEF_COMP_LZO is not set
+# CONFIG_ZRAM_DEF_COMP_LZ4HC is not set
+CONFIG_ZRAM_DEF_COMP="lzo-rle"
+# CONFIG_ZRAM_WRITEBACK is not set
+# CONFIG_ZRAM_TRACK_ENTRY_ACTIME is not set
+# CONFIG_ZRAM_MEMORY_TRACKING is not set
+# CONFIG_ZRAM_MULTI_COMP is not set
CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=1
+CONFIG_BLK_DEV_RAM_SIZE=4096
+# CONFIG_CDROM_PKTCDVD is not set
CONFIG_ATA_OVER_ETH=m
CONFIG_BLK_DEV_RBD=m
+# CONFIG_BLK_DEV_UBLK is not set
+
+#
+# NVME Support
+#
+CONFIG_NVME_CORE=m
CONFIG_BLK_DEV_NVME=m
+# CONFIG_NVME_MULTIPATH is not set
+# CONFIG_NVME_VERBOSE_ERRORS is not set
+# CONFIG_NVME_HWMON is not set
+# CONFIG_NVME_FC is not set
+# CONFIG_NVME_TCP is not set
+# CONFIG_NVME_HOST_AUTH is not set
+# CONFIG_NVME_TARGET is not set
+# end of NVME Support
+
+#
+# Misc devices
+#
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_LATTICE_ECP3_CONFIG is not set
CONFIG_SRAM=y
+# CONFIG_DW_XDATA_PCIE is not set
+# CONFIG_PCI_ENDPOINT_TEST is not set
+# CONFIG_XILINX_SDFEC is not set
+# CONFIG_HISI_HIKEY_USB is not set
+# CONFIG_OPEN_DICE is not set
+# CONFIG_VCPU_STALL_DETECTOR is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_MAX6875 is not set
CONFIG_EEPROM_93CX6=y
+# CONFIG_EEPROM_93XX46 is not set
+# CONFIG_EEPROM_IDT_89HPESX is not set
+# CONFIG_EEPROM_EE1004 is not set
+# end of EEPROM support
+
+# CONFIG_CB710_CORE is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# end of Texas Instruments shared transport line discipline
+
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+# CONFIG_ALTERA_STAPL is not set
+# CONFIG_VMWARE_VMCI is not set
+# CONFIG_GENWQE is not set
+# CONFIG_ECHO is not set
+# CONFIG_BCM_VK is not set
+# CONFIG_MISC_ALCOR_PCI is not set
+# CONFIG_MISC_RTSX_PCI is not set
+# CONFIG_MISC_RTSX_USB is not set
+# CONFIG_UACCE is not set
+# CONFIG_PVPANIC is not set
+# CONFIG_GP_PCI1XXXX is not set
+# end of Misc devices
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+CONFIG_RAID_ATTRS=m
+CONFIG_SCSI_COMMON=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
CONFIG_BLK_DEV_SR=y
+# CONFIG_CHR_DEV_SG is not set
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
CONFIG_SCSI_SCAN_ASYNC=y
+
+#
+# SCSI Transports
+#
CONFIG_SCSI_SPI_ATTRS=y
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+CONFIG_SCSI_SAS_ATTRS=m
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# end of SCSI Transports
+
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_ISCSI_BOOT_SYSFS is not set
+# CONFIG_SCSI_CXGB3_ISCSI is not set
+# CONFIG_SCSI_CXGB4_ISCSI is not set
+# CONFIG_SCSI_BNX2_ISCSI is not set
+# CONFIG_BE2ISCSI is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_HPSA is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_3W_SAS is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_HISI_SAS is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_MVUMI is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_ESAS2R is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
CONFIG_MEGARAID_SAS=m
+CONFIG_SCSI_MPT3SAS=m
+CONFIG_SCSI_MPT2SAS_MAX_SGE=128
+CONFIG_SCSI_MPT3SAS_MAX_SGE=128
CONFIG_SCSI_MPT2SAS=m
+# CONFIG_SCSI_MPI3MR is not set
+# CONFIG_SCSI_SMARTPQI is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_MYRB is not set
+# CONFIG_SCSI_MYRS is not set
+# CONFIG_SCSI_SNIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FDOMAIN_PCI is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_AM53C974 is not set
+# CONFIG_SCSI_WD719X is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_PMCRAID is not set
+# CONFIG_SCSI_PM8001 is not set
+# CONFIG_SCSI_DH is not set
+# end of SCSI device support
+
CONFIG_ATA=y
+CONFIG_SATA_HOST=y
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_FORCE=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
CONFIG_SATA_AHCI=y
+CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_AHCI_PLATFORM=y
+# CONFIG_AHCI_DWC is not set
+# CONFIG_AHCI_CEVA is not set
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_SATA_ACARD_AHCI is not set
+# CONFIG_SATA_SIL24 is not set
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_SX4 is not set
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+# CONFIG_ATA_PIIX is not set
+# CONFIG_SATA_DWC is not set
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PROMISE=m
CONFIG_SATA_SIL=m
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_SVW is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+
+#
+# PATA SFF controllers with BMDMA
+#
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_ATP867X is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_IT8213 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NINJA32 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RDC is not set
+# CONFIG_PATA_SCH is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_TOSHIBA is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+
+#
+# PIO-only SFF controllers
+#
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_OF_PLATFORM is not set
+# CONFIG_PATA_RZ1000 is not set
+
+#
+# Generic fallback / legacy drivers
+#
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
-CONFIG_MD_LINEAR=m
+CONFIG_BLK_DEV_MD=y
+CONFIG_MD_AUTODETECT=y
+CONFIG_MD_BITMAP_FILE=y
+CONFIG_MD_RAID0=y
+CONFIG_MD_RAID1=y
+CONFIG_MD_RAID10=y
+CONFIG_MD_RAID456=y
CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
+CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y
+# CONFIG_DM_DEBUG is not set
+# CONFIG_DM_UNSTRIPED is not set
CONFIG_DM_CRYPT=m
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_THIN_PROVISIONING is not set
+# CONFIG_DM_CACHE is not set
+# CONFIG_DM_WRITECACHE is not set
+# CONFIG_DM_EBS is not set
+# CONFIG_DM_ERA is not set
+# CONFIG_DM_CLONE is not set
+# CONFIG_DM_MIRROR is not set
CONFIG_DM_RAID=y
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+# CONFIG_DM_DELAY is not set
+# CONFIG_DM_DUST is not set
+# CONFIG_DM_INIT is not set
+# CONFIG_DM_UEVENT is not set
+# CONFIG_DM_FLAKEY is not set
+# CONFIG_DM_VERITY is not set
+# CONFIG_DM_SWITCH is not set
+# CONFIG_DM_LOG_WRITES is not set
+# CONFIG_DM_INTEGRITY is not set
+# CONFIG_TARGET_CORE is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+# end of IEEE 1394 (FireWire) support
+
CONFIG_NETDEVICES=y
+CONFIG_MII=y
+CONFIG_NET_CORE=y
+# CONFIG_BONDING is not set
+# CONFIG_DUMMY is not set
CONFIG_WIREGUARD=y
+# CONFIG_WIREGUARD_DEBUG is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_NET_FC is not set
+# CONFIG_NET_TEAM is not set
CONFIG_MACVLAN=y
+# CONFIG_MACVTAP is not set
+CONFIG_IPVLAN_L3S=y
CONFIG_IPVLAN=y
+# CONFIG_IPVTAP is not set
CONFIG_VXLAN=m
+# CONFIG_GENEVE is not set
+# CONFIG_BAREUDP is not set
+# CONFIG_GTP is not set
+# CONFIG_AMT is not set
+# CONFIG_MACSEC is not set
+# CONFIG_NETCONSOLE is not set
CONFIG_TUN=m
+# CONFIG_TUN_VNET_CROSS_LE is not set
CONFIG_VETH=y
+# CONFIG_NLMON is not set
+# CONFIG_NETKIT is not set
+# CONFIG_NET_VRF is not set
+# CONFIG_ARCNET is not set
+CONFIG_ETHERNET=y
+CONFIG_MDIO=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_VENDOR_ADAPTEC is not set
# CONFIG_NET_VENDOR_AGERE is not set
+CONFIG_NET_VENDOR_ALACRITECH=y
+# CONFIG_SLICOSS is not set
# CONFIG_NET_VENDOR_ALTEON is not set
+# CONFIG_ALTERA_TSE is not set
+CONFIG_NET_VENDOR_AMAZON=y
+# CONFIG_ENA_ETHERNET is not set
# CONFIG_NET_VENDOR_AMD is not set
+CONFIG_NET_VENDOR_AQUANTIA=y
+# CONFIG_AQTION is not set
# CONFIG_NET_VENDOR_ARC is not set
+CONFIG_NET_VENDOR_ASIX=y
+# CONFIG_SPI_AX88796C is not set
# CONFIG_NET_VENDOR_ATHEROS is not set
# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_NET_VENDOR_CADENCE=y
+# CONFIG_MACB is not set
# CONFIG_NET_VENDOR_CAVIUM is not set
# CONFIG_NET_VENDOR_CHELSIO is not set
# CONFIG_NET_VENDOR_CISCO is not set
+CONFIG_NET_VENDOR_CORTINA=y
+# CONFIG_GEMINI_ETHERNET is not set
+CONFIG_NET_VENDOR_DAVICOM=y
+# CONFIG_DM9051 is not set
+# CONFIG_DNET is not set
# CONFIG_NET_VENDOR_DEC is not set
# CONFIG_NET_VENDOR_DLINK is not set
# CONFIG_NET_VENDOR_EMULEX is not set
+CONFIG_NET_VENDOR_ENGLEDER=y
+# CONFIG_TSNEP is not set
# CONFIG_NET_VENDOR_EZCHIP is not set
+CONFIG_NET_VENDOR_FUNGIBLE=y
+# CONFIG_FUN_ETH is not set
+CONFIG_NET_VENDOR_GOOGLE=y
+# CONFIG_GVE is not set
# CONFIG_NET_VENDOR_HISILICON is not set
+CONFIG_NET_VENDOR_HUAWEI=y
+# CONFIG_HINIC is not set
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_IGB=y
+CONFIG_IGB_HWMON=y
+# CONFIG_IGBVF is not set
CONFIG_IXGBE=y
+CONFIG_IXGBE_HWMON=y
+# CONFIG_IXGBEVF is not set
+# CONFIG_I40E is not set
+# CONFIG_I40EVF is not set
+# CONFIG_ICE is not set
+# CONFIG_FM10K is not set
+# CONFIG_IGC is not set
+# CONFIG_IDPF is not set
+# CONFIG_JME is not set
+CONFIG_NET_VENDOR_ADI=y
+CONFIG_NET_VENDOR_LITEX=y
+# CONFIG_LITEX_LITEETH is not set
# CONFIG_NET_VENDOR_MARVELL is not set
# CONFIG_NET_VENDOR_MELLANOX is not set
# CONFIG_NET_VENDOR_MICREL is not set
# CONFIG_NET_VENDOR_MICROCHIP is not set
+CONFIG_NET_VENDOR_MICROSEMI=y
+CONFIG_NET_VENDOR_MICROSOFT=y
# CONFIG_NET_VENDOR_MYRI is not set
+# CONFIG_FEALNX is not set
+CONFIG_NET_VENDOR_NI=y
+# CONFIG_NI_XGE_MANAGEMENT_ENET is not set
# CONFIG_NET_VENDOR_NATSEMI is not set
+CONFIG_NET_VENDOR_NETERION=y
+# CONFIG_S2IO is not set
+CONFIG_NET_VENDOR_NETRONOME=y
+# CONFIG_NFP is not set
# CONFIG_NET_VENDOR_NVIDIA is not set
# CONFIG_NET_VENDOR_OKI is not set
+# CONFIG_ETHOC is not set
+CONFIG_NET_VENDOR_PACKET_ENGINES=y
+# CONFIG_HAMACHI is not set
+# CONFIG_YELLOWFIN is not set
+CONFIG_NET_VENDOR_PENSANDO=y
+# CONFIG_IONIC is not set
# CONFIG_NET_VENDOR_QLOGIC is not set
# CONFIG_NET_VENDOR_BROCADE is not set
# CONFIG_NET_VENDOR_QUALCOMM is not set
# CONFIG_NET_VENDOR_RDC is not set
-# CONFIG_NET_VENDOR_REALTEK is not set
+CONFIG_NET_VENDOR_REALTEK=y
# CONFIG_NET_VENDOR_RENESAS is not set
# CONFIG_NET_VENDOR_ROCKER is not set
# CONFIG_NET_VENDOR_SAMSUNG is not set
# CONFIG_NET_VENDOR_SEEQ is not set
# CONFIG_NET_VENDOR_SILAN is not set
# CONFIG_NET_VENDOR_SIS is not set
+CONFIG_NET_VENDOR_SOLARFLARE=y
+# CONFIG_SFC is not set
+# CONFIG_SFC_FALCON is not set
+# CONFIG_SFC_SIENA is not set
# CONFIG_NET_VENDOR_SMSC is not set
+CONFIG_NET_VENDOR_SOCIONEXT=y
+CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=y
+# CONFIG_STMMAC_SELFTESTS is not set
+CONFIG_STMMAC_PLATFORM=y
+# CONFIG_DWMAC_DWC_QOS_ETH is not set
+CONFIG_DWMAC_GENERIC=y
+CONFIG_DWMAC_ROCKCHIP=y
+# CONFIG_DWMAC_INTEL_PLAT is not set
+# CONFIG_STMMAC_PCI is not set
# CONFIG_NET_VENDOR_SUN is not set
# CONFIG_NET_VENDOR_SYNOPSYS is not set
# CONFIG_NET_VENDOR_TEHUTI is not set
# CONFIG_NET_VENDOR_TI is not set
+CONFIG_NET_VENDOR_VERTEXCOM=y
+# CONFIG_MSE102X is not set
# CONFIG_NET_VENDOR_VIA is not set
+CONFIG_NET_VENDOR_WANGXUN=y
+# CONFIG_NGBE is not set
+# CONFIG_TXGBE is not set
# CONFIG_NET_VENDOR_WIZNET is not set
+CONFIG_NET_VENDOR_XILINX=y
+# CONFIG_XILINX_EMACLITE is not set
+# CONFIG_XILINX_LL_TEMAC is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PHYLINK=y
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+# CONFIG_LED_TRIGGER_PHY is not set
+CONFIG_PHYLIB_LEDS=y
+CONFIG_FIXED_PHY=y
+# CONFIG_SFP is not set
+
+#
+# MII PHY device drivers
+#
+# CONFIG_AMD_PHY is not set
+# CONFIG_ADIN_PHY is not set
+# CONFIG_ADIN1100_PHY is not set
+# CONFIG_AQUANTIA_PHY is not set
+CONFIG_AX88796B_PHY=y
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_BCM54140_PHY is not set
+# CONFIG_BCM7XXX_PHY is not set
+# CONFIG_BCM84881_PHY is not set
+# CONFIG_BCM87XX_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_CORTINA_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_INTEL_XWAY_PHY is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_MARVELL_10G_PHY is not set
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
+# CONFIG_MARVELL_88X2222_PHY is not set
+# CONFIG_MAXLINEAR_GPHY is not set
+# CONFIG_MEDIATEK_GE_PHY is not set
+# CONFIG_MICREL_PHY is not set
+# CONFIG_MICROCHIP_T1S_PHY is not set
+# CONFIG_MICROCHIP_PHY is not set
+# CONFIG_MICROCHIP_T1_PHY is not set
+# CONFIG_MICROSEMI_PHY is not set
+# CONFIG_MOTORCOMM_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_NXP_CBTX_PHY is not set
+# CONFIG_NXP_C45_TJA11XX_PHY is not set
+# CONFIG_NXP_TJA11XX_PHY is not set
+# CONFIG_NCN26000_PHY is not set
+# CONFIG_AT803X_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_RENESAS_PHY is not set
CONFIG_ROCKCHIP_PHY=y
+# CONFIG_SMSC_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_TERANETICS_PHY is not set
+# CONFIG_DP83822_PHY is not set
+# CONFIG_DP83TC811_PHY is not set
+# CONFIG_DP83848_PHY is not set
+# CONFIG_DP83867_PHY is not set
+# CONFIG_DP83869_PHY is not set
+# CONFIG_DP83TD510_PHY is not set
+# CONFIG_DP83TG720_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_XILINX_GMII2RGMII is not set
+# CONFIG_MICREL_KS8995MA is not set
+# CONFIG_PSE_CONTROLLER is not set
+CONFIG_CAN_DEV=y
+# CONFIG_CAN_VCAN is not set
+# CONFIG_CAN_VXCAN is not set
+CONFIG_CAN_NETLINK=y
+CONFIG_CAN_CALC_BITTIMING=y
+# CONFIG_CAN_CAN327 is not set
+# CONFIG_CAN_FLEXCAN is not set
+# CONFIG_CAN_GRCAN is not set
+# CONFIG_CAN_KVASER_PCIEFD is not set
+# CONFIG_CAN_SLCAN is not set
+# CONFIG_CAN_XILINXCAN is not set
+# CONFIG_CAN_C_CAN is not set
+# CONFIG_CAN_CC770 is not set
+# CONFIG_CAN_CTUCANFD_PCI is not set
+# CONFIG_CAN_CTUCANFD_PLATFORM is not set
+# CONFIG_CAN_IFI_CANFD is not set
+# CONFIG_CAN_M_CAN is not set
+# CONFIG_CAN_PEAK_PCIEFD is not set
CONFIG_CAN_SJA1000=y
+# CONFIG_CAN_EMS_PCI is not set
+# CONFIG_CAN_F81601 is not set
+# CONFIG_CAN_KVASER_PCI is not set
+# CONFIG_CAN_PEAK_PCI is not set
CONFIG_CAN_PLX_PCI=y
+# CONFIG_CAN_SJA1000_ISA is not set
+# CONFIG_CAN_SJA1000_PLATFORM is not set
+# CONFIG_CAN_SOFTING is not set
+
+#
+# CAN SPI interfaces
+#
+# CONFIG_CAN_HI311X is not set
+# CONFIG_CAN_MCP251X is not set
+# CONFIG_CAN_MCP251XFD is not set
+# end of CAN SPI interfaces
+
+#
+# CAN USB interfaces
+#
+# CONFIG_CAN_8DEV_USB is not set
+# CONFIG_CAN_EMS_USB is not set
+# CONFIG_CAN_ESD_USB is not set
+# CONFIG_CAN_ETAS_ES58X is not set
+# CONFIG_CAN_F81604 is not set
+# CONFIG_CAN_GS_USB is not set
+# CONFIG_CAN_KVASER_USB is not set
+# CONFIG_CAN_MCBA_USB is not set
+# CONFIG_CAN_PEAK_USB is not set
+# CONFIG_CAN_UCAN is not set
+# end of CAN USB interfaces
+
+# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_MDIO_DEVRES=y
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_MDIO_BCM_UNIMAC is not set
+# CONFIG_MDIO_HISI_FEMAC is not set
+# CONFIG_MDIO_MVUSB is not set
+# CONFIG_MDIO_MSCC_MIIM is not set
+# CONFIG_MDIO_OCTEON is not set
+# CONFIG_MDIO_IPQ4019 is not set
+# CONFIG_MDIO_IPQ8064 is not set
+# CONFIG_MDIO_THUNDER is not set
+
+#
+# MDIO Multiplexers
+#
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
+# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
+# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+
+#
+# PCS device drivers
+#
+CONFIG_PCS_XPCS=y
+# end of PCS device drivers
+
CONFIG_PPP=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPP_DEFLATE=m
+# CONFIG_PPP_FILTER is not set
+# CONFIG_PPP_MPPE is not set
+# CONFIG_PPP_MULTILINK is not set
CONFIG_PPPOE=m
+# CONFIG_PPPOE_HASH_BITS_1 is not set
+# CONFIG_PPPOE_HASH_BITS_2 is not set
+CONFIG_PPPOE_HASH_BITS_4=y
+# CONFIG_PPPOE_HASH_BITS_8 is not set
+CONFIG_PPPOE_HASH_BITS=4
+# CONFIG_PPTP is not set
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+CONFIG_USB_NET_DRIVERS=y
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
CONFIG_USB_RTL8150=y
CONFIG_USB_RTL8152=y
+# CONFIG_USB_LAN78XX is not set
CONFIG_USB_USBNET=y
+CONFIG_USB_NET_AX8817X=y
+CONFIG_USB_NET_AX88179_178A=y
+CONFIG_USB_NET_CDCETHER=y
+# CONFIG_USB_NET_CDC_EEM is not set
+CONFIG_USB_NET_CDC_NCM=y
+# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
CONFIG_USB_NET_CDC_MBIM=y
+# CONFIG_USB_NET_DM9601 is not set
+# CONFIG_USB_NET_SR9700 is not set
+# CONFIG_USB_NET_SR9800 is not set
+# CONFIG_USB_NET_SMSC75XX is not set
+# CONFIG_USB_NET_SMSC95XX is not set
+# CONFIG_USB_NET_GL620A is not set
# CONFIG_USB_NET_NET1080 is not set
+# CONFIG_USB_NET_PLUSB is not set
+# CONFIG_USB_NET_MCS7830 is not set
CONFIG_USB_NET_RNDIS_HOST=y
# CONFIG_USB_NET_CDC_SUBSET is not set
# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_KALMIA is not set
CONFIG_USB_NET_QMI_WWAN=y
+# CONFIG_USB_HSO is not set
+# CONFIG_USB_NET_INT51X1 is not set
+# CONFIG_USB_IPHETH is not set
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_USB_VL600 is not set
+# CONFIG_USB_NET_CH9200 is not set
+# CONFIG_USB_NET_AQC111 is not set
+CONFIG_USB_RTL8153_ECM=y
+CONFIG_WLAN=y
+CONFIG_WLAN_VENDOR_ADMTEK=y
+# CONFIG_ADM8211 is not set
+CONFIG_ATH_COMMON=m
+CONFIG_WLAN_VENDOR_ATH=y
+# CONFIG_ATH_DEBUG is not set
CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH5K_PCI=y
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K=m
+CONFIG_ATH9K_PCI=y
+# CONFIG_ATH9K_AHB is not set
+# CONFIG_ATH9K_DYNACK is not set
+# CONFIG_ATH9K_WOW is not set
+CONFIG_ATH9K_RFKILL=y
+# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+CONFIG_ATH9K_PCOEM=y
+# CONFIG_ATH9K_PCI_NO_EEPROM is not set
+# CONFIG_ATH9K_HTC is not set
+# CONFIG_ATH9K_HWRNG is not set
+# CONFIG_CARL9170 is not set
CONFIG_ATH6KL=m
+# CONFIG_ATH6KL_SDIO is not set
CONFIG_ATH6KL_USB=m
+# CONFIG_ATH6KL_DEBUG is not set
CONFIG_AR5523=m
+# CONFIG_WIL6210 is not set
CONFIG_ATH10K=m
+CONFIG_ATH10K_CE=y
+# CONFIG_ATH10K_PCI is not set
+# CONFIG_ATH10K_SDIO is not set
+# CONFIG_ATH10K_USB is not set
+# CONFIG_ATH10K_DEBUG is not set
+# CONFIG_ATH10K_DEBUGFS is not set
CONFIG_WCN36XX=m
+# CONFIG_WCN36XX_DEBUGFS is not set
+# CONFIG_ATH11K is not set
+# CONFIG_ATH12K is not set
+CONFIG_WLAN_VENDOR_ATMEL=y
CONFIG_AT76C50X_USB=m
+CONFIG_WLAN_VENDOR_BROADCOM=y
CONFIG_B43=m
+CONFIG_B43_BCMA=y
+CONFIG_B43_SSB=y
+CONFIG_B43_BUSES_BCMA_AND_SSB=y
+# CONFIG_B43_BUSES_BCMA is not set
+# CONFIG_B43_BUSES_SSB is not set
+CONFIG_B43_PCI_AUTOSELECT=y
+CONFIG_B43_PCICORE_AUTOSELECT=y
+# CONFIG_B43_SDIO is not set
+CONFIG_B43_BCMA_PIO=y
+CONFIG_B43_PIO=y
+CONFIG_B43_PHY_G=y
+CONFIG_B43_PHY_N=y
+CONFIG_B43_PHY_LP=y
+CONFIG_B43_PHY_HT=y
+CONFIG_B43_LEDS=y
+CONFIG_B43_HWRNG=y
+# CONFIG_B43_DEBUG is not set
+# CONFIG_B43LEGACY is not set
+CONFIG_BRCMUTIL=m
+# CONFIG_BRCMSMAC is not set
CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_PROTO_BCDC=y
+CONFIG_BRCMFMAC_PROTO_MSGBUF=y
# CONFIG_BRCMFMAC_SDIO is not set
CONFIG_BRCMFMAC_USB=y
CONFIG_BRCMFMAC_PCIE=y
+# CONFIG_BRCM_TRACING is not set
+# CONFIG_BRCMDBG is not set
+CONFIG_WLAN_VENDOR_INTEL=y
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+# CONFIG_IWL4965 is not set
+# CONFIG_IWL3945 is not set
+# CONFIG_IWLWIFI is not set
+CONFIG_WLAN_VENDOR_INTERSIL=y
+# CONFIG_P54_COMMON is not set
+CONFIG_WLAN_VENDOR_MARVELL=y
CONFIG_LIBERTAS=m
CONFIG_LIBERTAS_USB=m
+# CONFIG_LIBERTAS_SDIO is not set
+# CONFIG_LIBERTAS_SPI is not set
+# CONFIG_LIBERTAS_DEBUG is not set
+# CONFIG_LIBERTAS_MESH is not set
CONFIG_LIBERTAS_THINFIRM=m
+# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set
+# CONFIG_LIBERTAS_THINFIRM_USB is not set
CONFIG_MWIFIEX=m
CONFIG_MWIFIEX_SDIO=m
+# CONFIG_MWIFIEX_PCIE is not set
CONFIG_MWIFIEX_USB=m
+# CONFIG_MWL8K is not set
+CONFIG_WLAN_VENDOR_MEDIATEK=y
CONFIG_MT7601U=m
+# CONFIG_MT76x0U is not set
+# CONFIG_MT76x0E is not set
+# CONFIG_MT76x2E is not set
+# CONFIG_MT76x2U is not set
+# CONFIG_MT7603E is not set
+# CONFIG_MT7615E is not set
+# CONFIG_MT7663U is not set
+# CONFIG_MT7663S is not set
+# CONFIG_MT7915E is not set
+# CONFIG_MT7921E is not set
+# CONFIG_MT7921S is not set
+# CONFIG_MT7921U is not set
+# CONFIG_MT7996E is not set
+# CONFIG_MT7925E is not set
+# CONFIG_MT7925U is not set
+CONFIG_WLAN_VENDOR_MICROCHIP=y
+# CONFIG_WILC1000_SDIO is not set
+# CONFIG_WILC1000_SPI is not set
+CONFIG_WLAN_VENDOR_PURELIFI=y
+# CONFIG_PLFXLC is not set
+CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_RT2X00=m
+# CONFIG_RT2400PCI is not set
+# CONFIG_RT2500PCI is not set
+# CONFIG_RT61PCI is not set
+# CONFIG_RT2800PCI is not set
CONFIG_RT2500USB=m
CONFIG_RT73USB=m
CONFIG_RT2800USB=m
+CONFIG_RT2800USB_RT33XX=y
+CONFIG_RT2800USB_RT35XX=y
CONFIG_RT2800USB_RT3573=y
CONFIG_RT2800USB_RT53XX=y
CONFIG_RT2800USB_RT55XX=y
CONFIG_RT2800USB_UNKNOWN=y
+CONFIG_RT2800_LIB=m
+CONFIG_RT2X00_LIB_USB=m
+CONFIG_RT2X00_LIB=m
+CONFIG_RT2X00_LIB_FIRMWARE=y
+CONFIG_RT2X00_LIB_CRYPTO=y
+CONFIG_RT2X00_LIB_LEDS=y
+# CONFIG_RT2X00_DEBUG is not set
+CONFIG_WLAN_VENDOR_REALTEK=y
CONFIG_RTL8180=m
CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_RTL_CARDS=m
CONFIG_RTL8192CE=m
CONFIG_RTL8192SE=m
CONFIG_RTL8192DE=m
@@ -500,136 +2680,1318 @@ CONFIG_RTL8723BE=m
CONFIG_RTL8188EE=m
CONFIG_RTL8192EE=m
CONFIG_RTL8821AE=m
+# CONFIG_RTL8192CU is not set
+CONFIG_RTLWIFI=m
+CONFIG_RTLWIFI_PCI=m
+CONFIG_RTLWIFI_DEBUG=y
+CONFIG_RTL8192C_COMMON=m
+CONFIG_RTL8723_COMMON=m
+CONFIG_RTLBTCOEXIST=m
CONFIG_RTL8XXXU=m
-CONFIG_RTL8XXXU_UNTESTED=y
+# CONFIG_RTL8XXXU_UNTESTED is not set
CONFIG_RTW88=m
+CONFIG_RTW88_CORE=m
+CONFIG_RTW88_PCI=m
+CONFIG_RTW88_SDIO=m
+CONFIG_RTW88_USB=m
+CONFIG_RTW88_8822B=m
+CONFIG_RTW88_8822C=m
+CONFIG_RTW88_8723D=m
+CONFIG_RTW88_8821C=m
CONFIG_RTW88_8822BE=m
+CONFIG_RTW88_8822BS=m
CONFIG_RTW88_8822BU=m
CONFIG_RTW88_8822CE=m
+CONFIG_RTW88_8822CS=m
CONFIG_RTW88_8822CU=m
CONFIG_RTW88_8723DE=m
CONFIG_RTW88_8723DS=m
CONFIG_RTW88_8723DU=m
CONFIG_RTW88_8821CE=m
CONFIG_RTW88_8821CS=m
+CONFIG_RTW88_8821CU=m
+# CONFIG_RTW88_DEBUG is not set
+# CONFIG_RTW88_DEBUGFS is not set
CONFIG_RTW89=m
+CONFIG_RTW89_CORE=m
+CONFIG_RTW89_PCI=m
+CONFIG_RTW89_8852A=m
+CONFIG_RTW89_8852C=m
+# CONFIG_RTW89_8851BE is not set
CONFIG_RTW89_8852AE=m
+# CONFIG_RTW89_8852BE is not set
CONFIG_RTW89_8852CE=m
+# CONFIG_RTW89_DEBUGMSG is not set
+# CONFIG_RTW89_DEBUGFS is not set
+CONFIG_WLAN_VENDOR_RSI=y
+# CONFIG_RSI_91X is not set
+CONFIG_WLAN_VENDOR_SILABS=y
+# CONFIG_WFX is not set
+CONFIG_WLAN_VENDOR_ST=y
+# CONFIG_CW1200 is not set
+CONFIG_WLAN_VENDOR_TI=y
+# CONFIG_WL1251 is not set
+# CONFIG_WL12XX is not set
+# CONFIG_WL18XX is not set
+# CONFIG_WLCORE is not set
+CONFIG_WLAN_VENDOR_ZYDAS=y
CONFIG_ZD1211RW=m
+# CONFIG_ZD1211RW_DEBUG is not set
+CONFIG_WLAN_VENDOR_QUANTENNA=y
+# CONFIG_QTNFMAC_PCIE is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_VIRT_WIFI is not set
+# CONFIG_WAN is not set
+
+#
+# Wireless WAN
+#
+# CONFIG_WWAN is not set
+# end of Wireless WAN
+
+# CONFIG_VMXNET3 is not set
+# CONFIG_NETDEVSIM is not set
+# CONFIG_NET_FAILOVER is not set
CONFIG_ISDN=y
+CONFIG_ISDN_CAPI=y
+# CONFIG_MISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_LEDS=y
+CONFIG_INPUT_FF_MEMLESS=y
+# CONFIG_INPUT_SPARSEKMAP is not set
CONFIG_INPUT_MATRIXKMAP=y
+CONFIG_INPUT_VIVALDIFMAP=y
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ADC=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1050 is not set
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_DLINK_DIR685 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
CONFIG_KEYBOARD_GPIO=y
CONFIG_KEYBOARD_GPIO_POLLED=y
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_PINEPHONE is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
+# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_CAP11XX is not set
+# CONFIG_KEYBOARD_BCM is not set
+# CONFIG_KEYBOARD_CYPRESS_SF is not set
+CONFIG_INPUT_MOUSE=y
# CONFIG_MOUSE_PS2 is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_CYAPA is not set
+# CONFIG_MOUSE_ELAN_I2C is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
+# CONFIG_MOUSE_SYNAPTICS_USB is not set
CONFIG_INPUT_JOYSTICK=y
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_A3D is not set
CONFIG_JOYSTICK_ADC=y
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GRIP_MP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+# CONFIG_JOYSTICK_IFORCE is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TWIDJOY is not set
+# CONFIG_JOYSTICK_ZHENHUA is not set
+# CONFIG_JOYSTICK_AS5011 is not set
+# CONFIG_JOYSTICK_JOYDUMP is not set
CONFIG_JOYSTICK_XPAD=m
CONFIG_JOYSTICK_XPAD_FF=y
+# CONFIG_JOYSTICK_XPAD_LEDS is not set
+# CONFIG_JOYSTICK_PSXPAD_SPI is not set
+# CONFIG_JOYSTICK_PXRC is not set
+# CONFIG_JOYSTICK_QWIIC is not set
+# CONFIG_JOYSTICK_FSIA6B is not set
+# CONFIG_JOYSTICK_SENSEHAT is not set
+# CONFIG_JOYSTICK_SEESAW is not set
CONFIG_INPUT_TABLET=y
+# CONFIG_TABLET_USB_ACECAD is not set
+# CONFIG_TABLET_USB_AIPTEK is not set
+# CONFIG_TABLET_USB_HANWANG is not set
+# CONFIG_TABLET_USB_KBTAB is not set
+# CONFIG_TABLET_USB_PEGASUS is not set
+# CONFIG_TABLET_SERIAL_WACOM4 is not set
CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_AD7877 is not set
+# CONFIG_TOUCHSCREEN_AD7879 is not set
+# CONFIG_TOUCHSCREEN_ADC is not set
+# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
CONFIG_TOUCHSCREEN_ATMEL_MXT=y
+# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set
+# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
+# CONFIG_TOUCHSCREEN_BU21013 is not set
+# CONFIG_TOUCHSCREEN_BU21029 is not set
+# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
+# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
+# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
+# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
+# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
+# CONFIG_TOUCHSCREEN_CYTTSP5 is not set
+# CONFIG_TOUCHSCREEN_DYNAPRO is not set
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+# CONFIG_TOUCHSCREEN_EETI is not set
+# CONFIG_TOUCHSCREEN_EGALAX is not set
+# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
+# CONFIG_TOUCHSCREEN_EXC3000 is not set
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
CONFIG_TOUCHSCREEN_GOODIX=y
+# CONFIG_TOUCHSCREEN_HIDEEP is not set
+# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX=y
+# CONFIG_TOUCHSCREEN_ILI210X is not set
+# CONFIG_TOUCHSCREEN_ILITEK is not set
+# CONFIG_TOUCHSCREEN_S6SY761 is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_EKTF2127 is not set
+# CONFIG_TOUCHSCREEN_ELAN is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
+# CONFIG_TOUCHSCREEN_MAX11801 is not set
+# CONFIG_TOUCHSCREEN_MCS5000 is not set
+# CONFIG_TOUCHSCREEN_MMS114 is not set
+# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
+# CONFIG_TOUCHSCREEN_MSG2638 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set
+# CONFIG_TOUCHSCREEN_IMAGIS is not set
+# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_PIXCIR is not set
+# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
+CONFIG_TOUCHSCREEN_USB_EGALAX=y
+CONFIG_TOUCHSCREEN_USB_PANJIT=y
+CONFIG_TOUCHSCREEN_USB_3M=y
+CONFIG_TOUCHSCREEN_USB_ITM=y
+CONFIG_TOUCHSCREEN_USB_ETURBO=y
+CONFIG_TOUCHSCREEN_USB_GUNZE=y
+CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
+CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
+CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
+CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
+CONFIG_TOUCHSCREEN_USB_GOTOP=y
+CONFIG_TOUCHSCREEN_USB_JASTEC=y
+CONFIG_TOUCHSCREEN_USB_ELO=y
+CONFIG_TOUCHSCREEN_USB_E2I=y
+CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
+CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
+CONFIG_TOUCHSCREEN_USB_NEXIO=y
+CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
+# CONFIG_TOUCHSCREEN_TSC2004 is not set
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
+# CONFIG_TOUCHSCREEN_RM_TS is not set
+# CONFIG_TOUCHSCREEN_SILEAD is not set
+# CONFIG_TOUCHSCREEN_SIS_I2C is not set
+# CONFIG_TOUCHSCREEN_ST1232 is not set
+# CONFIG_TOUCHSCREEN_STMFTS is not set
+# CONFIG_TOUCHSCREEN_SUR40 is not set
+# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
+# CONFIG_TOUCHSCREEN_SX8654 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+# CONFIG_TOUCHSCREEN_ZET6223 is not set
+# CONFIG_TOUCHSCREEN_ZFORCE is not set
+# CONFIG_TOUCHSCREEN_COLIBRI_VF50 is not set
+# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
+# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
+# CONFIG_TOUCHSCREEN_ZINITIX is not set
+# CONFIG_TOUCHSCREEN_HIMAX_HX83112B is not set
CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
+# CONFIG_INPUT_BMA150 is not set
+# CONFIG_INPUT_E3X0_BUTTON is not set
+# CONFIG_INPUT_MMA8450 is not set
+# CONFIG_INPUT_GPIO_BEEPER is not set
+# CONFIG_INPUT_GPIO_DECODER is not set
+# CONFIG_INPUT_GPIO_VIBRA is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_KXTJ9 is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+# CONFIG_INPUT_REGULATOR_HAPTIC is not set
CONFIG_INPUT_UINPUT=y
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_PWM_BEEPER is not set
CONFIG_INPUT_PWM_VIBRA=y
CONFIG_INPUT_RK805_PWRKEY=y
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+# CONFIG_INPUT_DA7280_HAPTICS is not set
+# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_IMS_PCU is not set
+# CONFIG_INPUT_IQS269A is not set
+# CONFIG_INPUT_IQS626A is not set
+# CONFIG_INPUT_IQS7222 is not set
+# CONFIG_INPUT_CMA3000 is not set
+# CONFIG_INPUT_DRV260X_HAPTICS is not set
+# CONFIG_INPUT_DRV2665_HAPTICS is not set
+# CONFIG_INPUT_DRV2667_HAPTICS is not set
+CONFIG_RMI4_CORE=y
+# CONFIG_RMI4_I2C is not set
+# CONFIG_RMI4_SPI is not set
+# CONFIG_RMI4_SMB is not set
+CONFIG_RMI4_F03=y
+CONFIG_RMI4_F03_SERIO=y
+CONFIG_RMI4_2D_SENSOR=y
+CONFIG_RMI4_F11=y
+CONFIG_RMI4_F12=y
+CONFIG_RMI4_F30=y
+# CONFIG_RMI4_F34 is not set
+# CONFIG_RMI4_F3A is not set
+# CONFIG_RMI4_F54 is not set
+# CONFIG_RMI4_F55 is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
CONFIG_SERIO_SERPORT=m
+# CONFIG_SERIO_AMBAKMI is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_SERIO_APBPS2 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
+# CONFIG_USERIO is not set
CONFIG_GAMEPORT=y
+# CONFIG_GAMEPORT_EMU10K1 is not set
+# CONFIG_GAMEPORT_FM801 is not set
+# end of Hardware I/O ports
+# end of Input device support
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
+CONFIG_LEGACY_TIOCSTI=y
+CONFIG_LDISC_AUTOLOAD=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
+CONFIG_SERIAL_8250_16550A_VARIANTS=y
+# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DMA=y
# CONFIG_SERIAL_8250_PCI is not set
+CONFIG_SERIAL_8250_EXAR=y
CONFIG_SERIAL_8250_NR_UARTS=5
CONFIG_SERIAL_8250_RUNTIME_UARTS=5
CONFIG_SERIAL_8250_EXTENDED=y
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+# CONFIG_SERIAL_8250_PCI1XXXX is not set
CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+CONFIG_SERIAL_8250_DWLIB=y
+CONFIG_SERIAL_8250_FSL=y
CONFIG_SERIAL_8250_DW=y
+# CONFIG_SERIAL_8250_RT288X is not set
+CONFIG_SERIAL_8250_PERICOM=y
CONFIG_SERIAL_OF_PLATFORM=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_AMBA_PL010 is not set
CONFIG_SERIAL_AMBA_PL011=y
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+# CONFIG_SERIAL_EARLYCON_SEMIHOST is not set
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
+# CONFIG_SERIAL_FSL_LINFLEXUART is not set
+# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
+# CONFIG_SERIAL_SPRD is not set
+# end of Serial drivers
+
+CONFIG_SERIAL_MCTRL_GPIO=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+# CONFIG_NOZOMI is not set
+# CONFIG_NULL_TTY is not set
+# CONFIG_HVC_DCC is not set
CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
+# CONFIG_TTY_PRINTK is not set
+# CONFIG_VIRTIO_CONSOLE is not set
+# CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_HW_RANDOM_BA431 is not set
+# CONFIG_HW_RANDOM_CCTRNG is not set
+# CONFIG_HW_RANDOM_XIPHERA is not set
+CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=y
+CONFIG_HW_RANDOM_CN10K=y
+# CONFIG_APPLICOM is not set
+CONFIG_DEVMEM=y
+CONFIG_DEVPORT=y
CONFIG_TCG_TPM=y
+CONFIG_HW_RANDOM_TPM=y
+# CONFIG_TCG_TIS is not set
+# CONFIG_TCG_TIS_SPI is not set
+# CONFIG_TCG_TIS_I2C is not set
+# CONFIG_TCG_TIS_I2C_CR50 is not set
+# CONFIG_TCG_TIS_I2C_ATMEL is not set
+# CONFIG_TCG_TIS_I2C_INFINEON is not set
+# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+# CONFIG_TCG_ATMEL is not set
+# CONFIG_TCG_VTPM_PROXY is not set
+# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
+# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
+# CONFIG_XILLYBUS is not set
+# CONFIG_XILLYUSB is not set
+# end of Character devices
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
# CONFIG_I2C_COMPAT is not set
CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=y
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_MUX_GPIO is not set
+# CONFIG_I2C_MUX_GPMUX is not set
+# CONFIG_I2C_MUX_LTC4306 is not set
+# CONFIG_I2C_MUX_PCA9541 is not set
+# CONFIG_I2C_MUX_PCA954x is not set
+# CONFIG_I2C_MUX_PINCTRL is not set
+# CONFIG_I2C_MUX_REG is not set
+# CONFIG_I2C_DEMUX_PINCTRL is not set
+# CONFIG_I2C_MUX_MLXCPLD is not set
+# end of Multiplexer I2C Chip support
+
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_NVIDIA_GPU is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CADENCE is not set
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=y
+# CONFIG_I2C_DESIGNWARE_SLAVE is not set
CONFIG_I2C_DESIGNWARE_PLATFORM=y
+# CONFIG_I2C_DESIGNWARE_PCI is not set
+# CONFIG_I2C_EMEV2 is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_HISI is not set
+# CONFIG_I2C_NOMADIK is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
CONFIG_I2C_RK3X=y
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_THUNDERX is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_CP2615 is not set
+# CONFIG_I2C_PCI1XXXX is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_VIRTIO is not set
+# end of I2C Hardware Bus support
+
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_SLAVE is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# end of I2C support
+
+# CONFIG_I3C is not set
CONFIG_SPI=y
+# CONFIG_SPI_DEBUG is not set
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_AXI_SPI_ENGINE is not set
+CONFIG_SPI_BITBANG=y
+# CONFIG_SPI_CADENCE is not set
+# CONFIG_SPI_CADENCE_QUADSPI is not set
+# CONFIG_SPI_CADENCE_XSPI is not set
+# CONFIG_SPI_DESIGNWARE is not set
CONFIG_SPI_GPIO=y
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_MICROCHIP_CORE is not set
+# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PCI1XXXX is not set
+# CONFIG_SPI_PL022 is not set
+# CONFIG_SPI_PXA2XX is not set
CONFIG_SPI_ROCKCHIP=y
CONFIG_SPI_ROCKCHIP_SFC=y
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_SIFIVE is not set
+# CONFIG_SPI_SN_F_OSPI is not set
+# CONFIG_SPI_MXIC is not set
+# CONFIG_SPI_THUNDERX is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_ZYNQMP_GQSPI is not set
+# CONFIG_SPI_AMD is not set
+
+#
+# SPI Multiplexer support
+#
CONFIG_SPI_MUX=y
+
+#
+# SPI Protocol Masters
+#
CONFIG_SPI_SPIDEV=y
+# CONFIG_SPI_LOOPBACK_TEST is not set
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_SPI_SLAVE is not set
+CONFIG_SPI_DYNAMIC=y
+# CONFIG_SPMI is not set
+# CONFIG_HSI is not set
+CONFIG_PPS=y
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+CONFIG_PTP_1588_CLOCK_KVM=y
+# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
+# CONFIG_PTP_1588_CLOCK_IDTCM is not set
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
+# CONFIG_PTP_1588_CLOCK_OCP is not set
+# end of PTP clock support
+
+CONFIG_PINCTRL=y
+CONFIG_GENERIC_PINCTRL_GROUPS=y
+CONFIG_PINMUX=y
+CONFIG_GENERIC_PINMUX_FUNCTIONS=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+# CONFIG_DEBUG_PINCTRL is not set
+# CONFIG_PINCTRL_CY8C95X0 is not set
+# CONFIG_PINCTRL_MCP23S08 is not set
+# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
+# CONFIG_PINCTRL_OCELOT is not set
CONFIG_PINCTRL_RK805=y
+CONFIG_PINCTRL_ROCKCHIP=y
CONFIG_PINCTRL_SINGLE=y
+# CONFIG_PINCTRL_STMFX is not set
+# CONFIG_PINCTRL_SX150X is not set
+
+#
+# Renesas pinctrl drivers
+#
+# end of Renesas pinctrl drivers
+
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+# CONFIG_DEBUG_GPIO is not set
CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+CONFIG_GPIO_GENERIC=y
+
+#
+# Memory mapped GPIO drivers
+#
+# CONFIG_GPIO_74XX_MMIO is not set
+# CONFIG_GPIO_ALTERA is not set
+# CONFIG_GPIO_CADENCE is not set
CONFIG_GPIO_DWAPB=y
+# CONFIG_GPIO_EXAR is not set
+# CONFIG_GPIO_FTGPIO010 is not set
CONFIG_GPIO_GENERIC_PLATFORM=y
+# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_HISI is not set
+# CONFIG_GPIO_HLWD is not set
+# CONFIG_GPIO_LOGICVC is not set
+# CONFIG_GPIO_MB86S7X is not set
+# CONFIG_GPIO_PL061 is not set
+CONFIG_GPIO_ROCKCHIP=y
+# CONFIG_GPIO_SIFIVE is not set
+# CONFIG_GPIO_SYSCON is not set
+# CONFIG_GPIO_XGENE is not set
+# CONFIG_GPIO_XILINX is not set
+# CONFIG_GPIO_AMD_FCH is not set
+# end of Memory mapped GPIO drivers
+
+#
+# I2C GPIO expanders
+#
+# CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_FXL6408 is not set
+# CONFIG_GPIO_DS4520 is not set
+# CONFIG_GPIO_GW_PLD is not set
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCA9570 is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_TPIC2810 is not set
+# end of I2C GPIO expanders
+
+#
+# MFD GPIO expanders
+#
+# CONFIG_GPIO_TPS6586X is not set
+# end of MFD GPIO expanders
+
+#
+# PCI GPIO expanders
+#
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_PCI_IDIO_16 is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
+# CONFIG_GPIO_RDC321X is not set
+# end of PCI GPIO expanders
+
+#
+# SPI GPIO expanders
+#
+# CONFIG_GPIO_74X164 is not set
+# CONFIG_GPIO_MAX3191X is not set
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_PISOSR is not set
+# CONFIG_GPIO_XRA1403 is not set
+# end of SPI GPIO expanders
+
+#
+# USB GPIO expanders
+#
+# end of USB GPIO expanders
+
+#
+# Virtual GPIO drivers
+#
+# CONFIG_GPIO_AGGREGATOR is not set
+# CONFIG_GPIO_LATCH is not set
+# CONFIG_GPIO_MOCKUP is not set
+# CONFIG_GPIO_SIM is not set
+# end of Virtual GPIO drivers
+
+# CONFIG_W1 is not set
+CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_GPIO=y
CONFIG_POWER_RESET_GPIO_RESTART=y
+# CONFIG_POWER_RESET_LTC2952 is not set
+# CONFIG_POWER_RESET_REGULATOR is not set
+# CONFIG_POWER_RESET_RESTART is not set
+# CONFIG_POWER_RESET_XGENE is not set
CONFIG_POWER_RESET_SYSCON=y
CONFIG_POWER_RESET_SYSCON_POWEROFF=y
+CONFIG_REBOOT_MODE=y
CONFIG_SYSCON_REBOOT_MODE=y
+# CONFIG_NVMEM_REBOOT_MODE is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_POWER_SUPPLY_HWMON=y
+# CONFIG_GENERIC_ADC_BATTERY is not set
+# CONFIG_IP5XXX_POWER is not set
+# CONFIG_TEST_POWER is not set
+# CONFIG_CHARGER_ADP5061 is not set
CONFIG_BATTERY_CW2015=y
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_SAMSUNG_SDI is not set
CONFIG_BATTERY_SBS=y
+# CONFIG_CHARGER_SBS is not set
+# CONFIG_MANAGER_SBS is not set
+# CONFIG_BATTERY_BQ27XXX is not set
+# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_ISP1704 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_LP8727 is not set
CONFIG_CHARGER_GPIO=y
+# CONFIG_CHARGER_MANAGER is not set
+# CONFIG_CHARGER_LT3651 is not set
+# CONFIG_CHARGER_LTC4162L is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
+# CONFIG_CHARGER_MAX77976 is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_CHARGER_BQ24190 is not set
+# CONFIG_CHARGER_BQ24257 is not set
CONFIG_CHARGER_BQ24735=y
+# CONFIG_CHARGER_BQ2515X is not set
+# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_BQ25980 is not set
+# CONFIG_CHARGER_BQ256XX is not set
CONFIG_CHARGER_RK817=y
+# CONFIG_CHARGER_SMB347 is not set
+# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_GOLDFISH is not set
+# CONFIG_BATTERY_RT5033 is not set
+# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_RT9467 is not set
+# CONFIG_CHARGER_RT9471 is not set
+# CONFIG_CHARGER_UCS1002 is not set
+# CONFIG_CHARGER_BD99954 is not set
+# CONFIG_BATTERY_UG3105 is not set
+# CONFIG_FUEL_GAUGE_MM8013 is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7314 is not set
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM1177 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7310 is not set
+# CONFIG_SENSORS_ADT7410 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_AHT10 is not set
+# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
+# CONFIG_SENSORS_AS370 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
+# CONFIG_SENSORS_ARM_SCMI is not set
+# CONFIG_SENSORS_ARM_SCPI is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_CORSAIR_CPRO is not set
+# CONFIG_SENSORS_CORSAIR_PSU is not set
+# CONFIG_SENSORS_DRIVETEMP is not set
+# CONFIG_SENSORS_DS620 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_I5K_AMB is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_FTSTEUTATES is not set
+# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_G762 is not set
+# CONFIG_SENSORS_GPIO_FAN is not set
+# CONFIG_SENSORS_HIH6130 is not set
+# CONFIG_SENSORS_HS3001 is not set
+# CONFIG_SENSORS_IIO_HWMON is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_JC42 is not set
+# CONFIG_SENSORS_POWERZ is not set
+# CONFIG_SENSORS_POWR1220 is not set
+# CONFIG_SENSORS_LINEAGE is not set
+# CONFIG_SENSORS_LTC2945 is not set
+# CONFIG_SENSORS_LTC2947_I2C is not set
+# CONFIG_SENSORS_LTC2947_SPI is not set
+# CONFIG_SENSORS_LTC2990 is not set
+# CONFIG_SENSORS_LTC2991 is not set
+# CONFIG_SENSORS_LTC2992 is not set
+# CONFIG_SENSORS_LTC4151 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4222 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LTC4260 is not set
+# CONFIG_SENSORS_LTC4261 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX127 is not set
+# CONFIG_SENSORS_MAX16065 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX1668 is not set
+# CONFIG_SENSORS_MAX197 is not set
+# CONFIG_SENSORS_MAX31722 is not set
+# CONFIG_SENSORS_MAX31730 is not set
+# CONFIG_SENSORS_MAX31760 is not set
+# CONFIG_MAX31827 is not set
+# CONFIG_SENSORS_MAX6620 is not set
+# CONFIG_SENSORS_MAX6621 is not set
+# CONFIG_SENSORS_MAX6639 is not set
+# CONFIG_SENSORS_MAX6642 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_MAX6697 is not set
+# CONFIG_SENSORS_MAX31790 is not set
+# CONFIG_SENSORS_MC34VR500 is not set
+# CONFIG_SENSORS_MCP3021 is not set
+# CONFIG_SENSORS_TC654 is not set
+# CONFIG_SENSORS_TPS23861 is not set
+# CONFIG_SENSORS_MR75203 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LM95234 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_LM95245 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_NTC_THERMISTOR is not set
+# CONFIG_SENSORS_NCT6683 is not set
+# CONFIG_SENSORS_NCT6775 is not set
+# CONFIG_SENSORS_NCT6775_I2C is not set
+# CONFIG_SENSORS_NCT7802 is not set
+# CONFIG_SENSORS_NCT7904 is not set
+# CONFIG_SENSORS_NPCM7XX is not set
+# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
+# CONFIG_SENSORS_NZXT_SMART2 is not set
+# CONFIG_SENSORS_OCC_P8_I2C is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_PMBUS is not set
CONFIG_SENSORS_PWM_FAN=y
+# CONFIG_SENSORS_SBTSI is not set
+# CONFIG_SENSORS_SBRMI is not set
+# CONFIG_SENSORS_SHT15 is not set
+# CONFIG_SENSORS_SHT21 is not set
+# CONFIG_SENSORS_SHT3x is not set
+# CONFIG_SENSORS_SHT4x is not set
+# CONFIG_SENSORS_SHTC1 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_EMC2103 is not set
+# CONFIG_SENSORS_EMC2305 is not set
+# CONFIG_SENSORS_EMC6W201 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SCH5627 is not set
+# CONFIG_SENSORS_SCH5636 is not set
+# CONFIG_SENSORS_STTS751 is not set
+# CONFIG_SENSORS_ADC128D818 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_ADS7871 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_INA209 is not set
+# CONFIG_SENSORS_INA2XX is not set
+# CONFIG_SENSORS_INA238 is not set
+# CONFIG_SENSORS_INA3221 is not set
+# CONFIG_SENSORS_TC74 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP102 is not set
+# CONFIG_SENSORS_TMP103 is not set
+# CONFIG_SENSORS_TMP108 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_TMP464 is not set
+# CONFIG_SENSORS_TMP513 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83773G is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83795 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
CONFIG_THERMAL=y
+# CONFIG_THERMAL_NETLINK is not set
+# CONFIG_THERMAL_STATISTICS is not set
+# CONFIG_THERMAL_DEBUGFS is not set
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_OF=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
+# CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR=y
CONFIG_THERMAL_GOV_FAIR_SHARE=y
CONFIG_THERMAL_GOV_STEP_WISE=y
+# CONFIG_THERMAL_GOV_BANG_BANG is not set
+# CONFIG_THERMAL_GOV_USER_SPACE is not set
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
CONFIG_CPU_THERMAL=y
+CONFIG_CPU_FREQ_THERMAL=y
CONFIG_DEVFREQ_THERMAL=y
+# CONFIG_THERMAL_EMULATION is not set
+# CONFIG_THERMAL_MMIO is not set
CONFIG_ROCKCHIP_THERMAL=y
CONFIG_GENERIC_ADC_THERMAL=y
CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
+CONFIG_WATCHDOG_OPEN_TIMEOUT=0
+# CONFIG_WATCHDOG_SYSFS is not set
+# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
+
+#
+# Watchdog Pretimeout Governors
+#
+# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_GPIO_WATCHDOG is not set
+# CONFIG_XILINX_WATCHDOG is not set
+# CONFIG_XILINX_WINDOW_WATCHDOG is not set
+# CONFIG_ZIIRAVE_WATCHDOG is not set
+# CONFIG_ARM_SP805_WATCHDOG is not set
+# CONFIG_ARM_SBSA_WATCHDOG is not set
+# CONFIG_CADENCE_WATCHDOG is not set
CONFIG_DW_WATCHDOG=y
+# CONFIG_MAX63XX_WATCHDOG is not set
+# CONFIG_ARM_SMC_WATCHDOG is not set
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_HP_WATCHDOG is not set
+# CONFIG_MEN_A21_WDT is not set
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=y
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_BLOCKIO=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_B43_PCI_BRIDGE=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+# CONFIG_SSB_SDIOHOST is not set
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+# CONFIG_SSB_DRIVER_GPIO is not set
+CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=y
+CONFIG_BCMA_BLOCKIO=y
+CONFIG_BCMA_HOST_PCI_POSSIBLE=y
+CONFIG_BCMA_HOST_PCI=y
+# CONFIG_BCMA_HOST_SOC is not set
+CONFIG_BCMA_DRIVER_PCI=y
+# CONFIG_BCMA_DRIVER_GMAC_CMN is not set
+# CONFIG_BCMA_DRIVER_GPIO is not set
+# CONFIG_BCMA_DEBUG is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_ACT8945A is not set
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_MFD_SMPRO is not set
+# CONFIG_MFD_AS3722 is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_ATMEL_FLEXCOM is not set
+# CONFIG_MFD_ATMEL_HLCDC is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_BD9571MWV is not set
+# CONFIG_MFD_AXP20X_I2C is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_MADERA is not set
+# CONFIG_MFD_MAX5970 is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_DA9052_SPI is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
+# CONFIG_MFD_GATEWORKS_GSC is not set
+# CONFIG_MFD_MC13XXX_SPI is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_MFD_MP2629 is not set
+# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_IQS62X is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77541 is not set
+# CONFIG_MFD_MAX77620 is not set
+# CONFIG_MFD_MAX77650 is not set
+# CONFIG_MFD_MAX77686 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77714 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MT6360 is not set
+# CONFIG_MFD_MT6370 is not set
+# CONFIG_MFD_MT6397 is not set
+# CONFIG_MFD_MENF21BMC is not set
+# CONFIG_MFD_OCELOT is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_NTXEC is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_SY7636A is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT4831 is not set
+# CONFIG_MFD_RT5033 is not set
+# CONFIG_MFD_RT5120 is not set
+# CONFIG_MFD_RC5T583 is not set
+CONFIG_MFD_RK8XX=y
CONFIG_MFD_RK8XX_I2C=y
+# CONFIG_MFD_RK8XX_SPI is not set
+# CONFIG_MFD_RN5T618 is not set
+# CONFIG_MFD_SEC_CORE is not set
+# CONFIG_MFD_SI476X_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_MFD_STMPE is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_TI_LMU is not set
+# CONFIG_MFD_PALMAS is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65086 is not set
+# CONFIG_MFD_TPS65090 is not set
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TI_LP873X is not set
+# CONFIG_MFD_TI_LP87565 is not set
+# CONFIG_MFD_TPS65218 is not set
+# CONFIG_MFD_TPS65219 is not set
CONFIG_MFD_TPS6586X=y
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS6594_I2C is not set
+# CONFIG_MFD_TPS6594_SPI is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TQMX86 is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_LOCHNAGAR is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_ARIZONA_SPI is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_ROHM_BD718XX is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
+# CONFIG_MFD_ROHM_BD957XMUF is not set
+# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_STMFX is not set
+# CONFIG_MFD_ATC260X_I2C is not set
+# CONFIG_MFD_KHADAS_MCU is not set
+# CONFIG_MFD_QCOM_PM8008 is not set
+# CONFIG_RAVE_SP_CORE is not set
+# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
+# CONFIG_MFD_RSMU_I2C is not set
+# CONFIG_MFD_RSMU_SPI is not set
+# end of Multifunction device drivers
+
CONFIG_REGULATOR=y
CONFIG_REGULATOR_DEBUG=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_VIRTUAL_CONSUMER=y
CONFIG_REGULATOR_USERSPACE_CONSUMER=y
+# CONFIG_REGULATOR_NETLINK_EVENTS is not set
+# CONFIG_REGULATOR_88PG86X is not set
CONFIG_REGULATOR_ACT8865=y
+# CONFIG_REGULATOR_AD5398 is not set
CONFIG_REGULATOR_ARM_SCMI=y
+# CONFIG_REGULATOR_AW37503 is not set
+# CONFIG_REGULATOR_DA9121 is not set
+# CONFIG_REGULATOR_DA9210 is not set
+# CONFIG_REGULATOR_DA9211 is not set
CONFIG_REGULATOR_FAN53555=y
+# CONFIG_REGULATOR_FAN53880 is not set
CONFIG_REGULATOR_GPIO=y
+# CONFIG_REGULATOR_ISL9305 is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_LP872X is not set
+# CONFIG_REGULATOR_LP8755 is not set
+# CONFIG_REGULATOR_LTC3589 is not set
+# CONFIG_REGULATOR_LTC3676 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77503 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8893 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_MAX8973 is not set
+# CONFIG_REGULATOR_MAX20086 is not set
+# CONFIG_REGULATOR_MAX20411 is not set
+# CONFIG_REGULATOR_MAX77826 is not set
+# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP5416 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MP886X is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
+# CONFIG_REGULATOR_MT6311 is not set
+# CONFIG_REGULATOR_PCA9450 is not set
+# CONFIG_REGULATOR_PF8X00 is not set
+# CONFIG_REGULATOR_PFUZE100 is not set
+# CONFIG_REGULATOR_PV88060 is not set
+# CONFIG_REGULATOR_PV88080 is not set
+# CONFIG_REGULATOR_PV88090 is not set
CONFIG_REGULATOR_PWM=y
+# CONFIG_REGULATOR_RAA215300 is not set
+# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
CONFIG_REGULATOR_RK808=y
+# CONFIG_REGULATOR_RT4801 is not set
+# CONFIG_REGULATOR_RT4803 is not set
+# CONFIG_REGULATOR_RT5190A is not set
+# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RT5759 is not set
+# CONFIG_REGULATOR_RT6160 is not set
+# CONFIG_REGULATOR_RT6190 is not set
+# CONFIG_REGULATOR_RT6245 is not set
+# CONFIG_REGULATOR_RTQ2134 is not set
+# CONFIG_REGULATOR_RTMV20 is not set
+# CONFIG_REGULATOR_RTQ6752 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
+# CONFIG_REGULATOR_SLG51000 is not set
+# CONFIG_REGULATOR_SY8106A is not set
+# CONFIG_REGULATOR_SY8824X is not set
+# CONFIG_REGULATOR_SY8827N is not set
+# CONFIG_REGULATOR_TPS51632 is not set
+# CONFIG_REGULATOR_TPS62360 is not set
+# CONFIG_REGULATOR_TPS6286X is not set
+# CONFIG_REGULATOR_TPS6287X is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_TPS65132 is not set
+# CONFIG_REGULATOR_TPS6524X is not set
CONFIG_REGULATOR_TPS6586X=y
CONFIG_REGULATOR_VCTRL=y
CONFIG_RC_CORE=y
+# CONFIG_BPF_LIRC_MODE2 is not set
CONFIG_LIRC=y
+CONFIG_RC_MAP=y
CONFIG_RC_DECODERS=y
+# CONFIG_IR_IMON_DECODER is not set
CONFIG_IR_JVC_DECODER=y
CONFIG_IR_MCE_KBD_DECODER=y
CONFIG_IR_NEC_DECODER=y
CONFIG_IR_RC5_DECODER=y
CONFIG_IR_RC6_DECODER=y
+# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_SANYO_DECODER=y
CONFIG_IR_SHARP_DECODER=y
CONFIG_IR_SONY_DECODER=y
CONFIG_IR_XMP_DECODER=y
CONFIG_RC_DEVICES=y
CONFIG_IR_GPIO_CIR=y
+# CONFIG_IR_GPIO_TX is not set
+# CONFIG_IR_HIX5HD2 is not set
+# CONFIG_IR_IGORPLUGUSB is not set
+# CONFIG_IR_IGUANA is not set
+# CONFIG_IR_IMON is not set
+# CONFIG_IR_IMON_RAW is not set
+# CONFIG_IR_MCEUSB is not set
+# CONFIG_IR_PWM_TX is not set
+# CONFIG_IR_REDRAT3 is not set
+# CONFIG_IR_SERIAL is not set
+# CONFIG_IR_SPI is not set
+# CONFIG_IR_STREAMZAP is not set
+# CONFIG_IR_TOY is not set
+# CONFIG_IR_TTUSBIR is not set
+# CONFIG_RC_ATI_REMOTE is not set
+# CONFIG_RC_LOOPBACK is not set
+# CONFIG_RC_XBOX_DVD is not set
+CONFIG_CEC_CORE=y
+CONFIG_CEC_NOTIFIER=y
+
+#
+# CEC support
+#
CONFIG_MEDIA_CEC_RC=y
CONFIG_MEDIA_CEC_SUPPORT=y
+# CONFIG_CEC_CH7322 is not set
+# CONFIG_CEC_GPIO is not set
CONFIG_USB_PULSE8_CEC=m
CONFIG_USB_RAINSHADOW_CEC=m
+# end of CEC support
+
CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_SUPPORT_FILTER=y
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+
+#
+# Media device types
+#
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
@@ -637,18 +3999,94 @@ CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
CONFIG_MEDIA_PLATFORM_SUPPORT=y
CONFIG_MEDIA_TEST_SUPPORT=y
+# end of Media device types
+
+CONFIG_VIDEO_DEV=y
+CONFIG_MEDIA_CONTROLLER=y
+CONFIG_DVB_CORE=y
+
+#
+# Video4Linux options
+#
+CONFIG_VIDEO_V4L2_I2C=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_H264=y
+CONFIG_V4L2_VP9=y
+CONFIG_V4L2_MEM2MEM_DEV=y
+CONFIG_V4L2_FWNODE=y
+CONFIG_V4L2_ASYNC=y
+CONFIG_V4L2_CCI=y
+CONFIG_V4L2_CCI_I2C=y
+# end of Video4Linux options
+
+#
+# Media controller options
+#
+CONFIG_MEDIA_CONTROLLER_DVB=y
+# end of Media controller options
+
+#
+# Digital TV options
+#
+# CONFIG_DVB_MMAP is not set
+CONFIG_DVB_NET=y
CONFIG_DVB_MAX_ADAPTERS=8
# CONFIG_DVB_DYNAMIC_MINORS is not set
+# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
+# CONFIG_DVB_ULE_DEBUG is not set
+# end of Digital TV options
+
+#
+# Media drivers
+#
+
+#
+# Drivers filtered as selected at 'Filter media drivers'
+#
+
+#
+# Media drivers
+#
CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+# CONFIG_USB_GSPCA is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_USB_S2255 is not set
CONFIG_VIDEO_USBTV=m
CONFIG_USB_VIDEO_CLASS=y
# CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV is not set
+
+#
+# Analog TV USB devices
+#
+# CONFIG_VIDEO_GO7007 is not set
+# CONFIG_VIDEO_HDPVR is not set
+# CONFIG_VIDEO_PVRUSB2 is not set
+# CONFIG_VIDEO_STK1160 is not set
+
+#
+# Analog/digital TV USB devices
+#
CONFIG_VIDEO_AU0828=m
+CONFIG_VIDEO_AU0828_V4L2=y
+# CONFIG_VIDEO_AU0828_RC is not set
CONFIG_VIDEO_CX231XX=m
+CONFIG_VIDEO_CX231XX_RC=y
CONFIG_VIDEO_CX231XX_ALSA=m
CONFIG_VIDEO_CX231XX_DVB=m
+
+#
+# Digital TV USB devices
+#
CONFIG_DVB_AS102=m
CONFIG_DVB_B2C2_FLEXCOP_USB=m
+# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set
CONFIG_DVB_USB_V2=m
CONFIG_DVB_USB_AF9015=m
CONFIG_DVB_USB_AF9035=m
@@ -662,15 +4100,20 @@ CONFIG_DVB_USB_GL861=m
CONFIG_DVB_USB_LME2510=m
CONFIG_DVB_USB_MXL111SF=m
CONFIG_DVB_USB_RTL28XXU=m
+# CONFIG_DVB_USB_ZD1301 is not set
CONFIG_DVB_USB=y
+# CONFIG_DVB_USB_DEBUG is not set
CONFIG_DVB_USB_A800=m
CONFIG_DVB_USB_AF9005=m
CONFIG_DVB_USB_AF9005_REMOTE=m
CONFIG_DVB_USB_AZ6027=m
CONFIG_DVB_USB_CINERGY_T2=m
CONFIG_DVB_USB_CXUSB=m
+# CONFIG_DVB_USB_CXUSB_ANALOG is not set
CONFIG_DVB_USB_DIB0700=m
+CONFIG_DVB_USB_DIB3000MC=m
CONFIG_DVB_USB_DIBUSB_MB=m
+# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set
CONFIG_DVB_USB_DIBUSB_MC=m
CONFIG_DVB_USB_DIGITV=m
CONFIG_DVB_USB_DTT200U=m
@@ -686,149 +4129,1413 @@ CONFIG_DVB_USB_TTUSB2=m
CONFIG_DVB_USB_UMT_010=m
CONFIG_DVB_USB_VP702X=m
CONFIG_DVB_USB_VP7045=m
+# CONFIG_SMS_USB_DRV is not set
CONFIG_DVB_TTUSB_BUDGET=m
CONFIG_DVB_TTUSB_DEC=m
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
CONFIG_VIDEO_EM28XX=m
CONFIG_VIDEO_EM28XX_V4L2=m
CONFIG_VIDEO_EM28XX_ALSA=m
CONFIG_VIDEO_EM28XX_DVB=m
+CONFIG_VIDEO_EM28XX_RC=m
+
+#
+# Software defined radio USB devices
+#
CONFIG_USB_AIRSPY=m
CONFIG_USB_HACKRF=m
CONFIG_USB_MSI2500=m
CONFIG_MEDIA_PCI_SUPPORT=y
+
+#
+# Media capture support
+#
+# CONFIG_VIDEO_MGB4 is not set
+# CONFIG_VIDEO_SOLO6X10 is not set
+# CONFIG_VIDEO_TW5864 is not set
+# CONFIG_VIDEO_TW68 is not set
+# CONFIG_VIDEO_TW686X is not set
+# CONFIG_VIDEO_ZORAN is not set
+
+#
+# Media capture/analog TV support
+#
+# CONFIG_VIDEO_DT3155 is not set
+# CONFIG_VIDEO_IVTV is not set
+# CONFIG_VIDEO_HEXIUM_GEMINI is not set
+# CONFIG_VIDEO_HEXIUM_ORION is not set
+# CONFIG_VIDEO_MXB is not set
+
+#
+# Media capture/analog/hybrid TV support
+#
+# CONFIG_VIDEO_BT848 is not set
+# CONFIG_VIDEO_CX18 is not set
CONFIG_VIDEO_CX23885=m
+# CONFIG_MEDIA_ALTERA_CI is not set
CONFIG_VIDEO_CX25821=m
+# CONFIG_VIDEO_CX25821_ALSA is not set
+# CONFIG_VIDEO_CX88 is not set
+# CONFIG_VIDEO_SAA7134 is not set
+# CONFIG_VIDEO_SAA7164 is not set
+
+#
+# Media digital TV PCI Adapters
+#
+# CONFIG_DVB_B2C2_FLEXCOP_PCI is not set
+# CONFIG_DVB_DDBRIDGE is not set
+# CONFIG_DVB_DM1105 is not set
+# CONFIG_MANTIS_CORE is not set
+# CONFIG_DVB_NETUP_UNIDVB is not set
+# CONFIG_DVB_NGENE is not set
+# CONFIG_DVB_PLUTO2 is not set
+# CONFIG_DVB_PT1 is not set
+# CONFIG_DVB_PT3 is not set
+# CONFIG_DVB_SMIPCIE is not set
+# CONFIG_DVB_BUDGET_CORE is not set
+CONFIG_RADIO_ADAPTERS=y
+# CONFIG_RADIO_MAXIRADIO is not set
+# CONFIG_RADIO_SAA7706H is not set
+# CONFIG_RADIO_SHARK is not set
+# CONFIG_RADIO_SHARK2 is not set
+# CONFIG_RADIO_SI4713 is not set
+# CONFIG_RADIO_TEA5764 is not set
+# CONFIG_RADIO_TEF6862 is not set
+# CONFIG_RADIO_WL1273 is not set
+# CONFIG_USB_DSBR is not set
+# CONFIG_USB_KEENE is not set
+# CONFIG_USB_MA901 is not set
+# CONFIG_USB_MR800 is not set
+# CONFIG_USB_RAREMONO is not set
+# CONFIG_RADIO_SI470X is not set
+CONFIG_MEDIA_PLATFORM_DRIVERS=y
CONFIG_V4L_PLATFORM_DRIVERS=y
+# CONFIG_SDR_PLATFORM_DRIVERS is not set
CONFIG_DVB_PLATFORM_DRIVERS=y
CONFIG_V4L_MEM2MEM_DRIVERS=y
+# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
+# CONFIG_VIDEO_MUX is not set
+
+#
+# Allegro DVT media platform drivers
+#
+
+#
+# Amlogic media platform drivers
+#
+
+#
+# Amphion drivers
+#
+
+#
+# Aspeed media platform drivers
+#
+
+#
+# Atmel media platform drivers
+#
+
+#
+# Cadence media platform drivers
+#
+# CONFIG_VIDEO_CADENCE_CSI2RX is not set
+# CONFIG_VIDEO_CADENCE_CSI2TX is not set
+
+#
+# Chips&Media media platform drivers
+#
+
+#
+# Intel media platform drivers
+#
+
+#
+# Marvell media platform drivers
+#
+# CONFIG_VIDEO_CAFE_CCIC is not set
+
+#
+# Mediatek media platform drivers
+#
+
+#
+# Microchip Technology, Inc. media platform drivers
+#
+
+#
+# Nuvoton media platform drivers
+#
+
+#
+# NVidia media platform drivers
+#
+
+#
+# NXP media platform drivers
+#
+
+#
+# Qualcomm media platform drivers
+#
+
+#
+# Renesas media platform drivers
+#
+
+#
+# Rockchip media platform drivers
+#
CONFIG_VIDEO_ROCKCHIP_RGA=y
+# CONFIG_VIDEO_ROCKCHIP_ISP1 is not set
+
+#
+# Samsung media platform drivers
+#
+
+#
+# STMicroelectronics media platform drivers
+#
+
+#
+# Sunxi media platform drivers
+#
+
+#
+# Texas Instruments drivers
+#
+
+#
+# Verisilicon media platform drivers
+#
CONFIG_VIDEO_HANTRO=y
+CONFIG_VIDEO_HANTRO_ROCKCHIP=y
+
+#
+# VIA media platform drivers
+#
+
+#
+# Xilinx media platform drivers
+#
+# CONFIG_VIDEO_XILINX is not set
+
+#
+# MMC/SDIO DVB adapters
+#
+# CONFIG_SMS_SDIO_DRV is not set
+# CONFIG_V4L_TEST_DRIVERS is not set
+# CONFIG_DVB_TEST_DRIVERS is not set
+CONFIG_CYPRESS_FIRMWARE=y
+CONFIG_TTPCI_EEPROM=m
+CONFIG_UVC_COMMON=y
+CONFIG_VIDEO_CX2341X=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_DVB_B2C2_FLEXCOP=m
+CONFIG_VIDEOBUF2_CORE=y
+CONFIG_VIDEOBUF2_V4L2=y
+CONFIG_VIDEOBUF2_MEMOPS=y
+CONFIG_VIDEOBUF2_DMA_CONTIG=y
+CONFIG_VIDEOBUF2_VMALLOC=y
+CONFIG_VIDEOBUF2_DMA_SG=y
+CONFIG_VIDEOBUF2_DVB=m
+# end of Media drivers
+
+#
+# Media ancillary drivers
+#
+CONFIG_MEDIA_ATTACH=y
+
+#
+# IR I2C driver auto-selected by 'Autoselect ancillary drivers'
+#
# CONFIG_VIDEO_IR_I2C is not set
+CONFIG_VIDEO_CAMERA_SENSOR=y
+# CONFIG_VIDEO_ALVIUM_CSI2 is not set
+# CONFIG_VIDEO_AR0521 is not set
+# CONFIG_VIDEO_GC0308 is not set
+# CONFIG_VIDEO_GC2145 is not set
+# CONFIG_VIDEO_HI556 is not set
+# CONFIG_VIDEO_HI846 is not set
+# CONFIG_VIDEO_HI847 is not set
+# CONFIG_VIDEO_IMX208 is not set
+# CONFIG_VIDEO_IMX214 is not set
CONFIG_VIDEO_IMX219=y
+# CONFIG_VIDEO_IMX258 is not set
+# CONFIG_VIDEO_IMX274 is not set
+# CONFIG_VIDEO_IMX290 is not set
+# CONFIG_VIDEO_IMX296 is not set
+# CONFIG_VIDEO_IMX319 is not set
+# CONFIG_VIDEO_IMX334 is not set
+# CONFIG_VIDEO_IMX335 is not set
+# CONFIG_VIDEO_IMX355 is not set
+# CONFIG_VIDEO_IMX412 is not set
+# CONFIG_VIDEO_IMX415 is not set
+# CONFIG_VIDEO_MT9M001 is not set
+# CONFIG_VIDEO_MT9M111 is not set
+# CONFIG_VIDEO_MT9M114 is not set
+# CONFIG_VIDEO_MT9P031 is not set
+# CONFIG_VIDEO_MT9T112 is not set
+CONFIG_VIDEO_MT9V011=m
+# CONFIG_VIDEO_MT9V032 is not set
+# CONFIG_VIDEO_MT9V111 is not set
+# CONFIG_VIDEO_OG01A1B is not set
+# CONFIG_VIDEO_OV01A10 is not set
+# CONFIG_VIDEO_OV02A10 is not set
+# CONFIG_VIDEO_OV08D10 is not set
+# CONFIG_VIDEO_OV08X40 is not set
+# CONFIG_VIDEO_OV13858 is not set
+# CONFIG_VIDEO_OV13B10 is not set
+CONFIG_VIDEO_OV2640=m
+# CONFIG_VIDEO_OV2659 is not set
+# CONFIG_VIDEO_OV2680 is not set
+# CONFIG_VIDEO_OV2685 is not set
+# CONFIG_VIDEO_OV4689 is not set
+# CONFIG_VIDEO_OV5640 is not set
CONFIG_VIDEO_OV5645=y
+# CONFIG_VIDEO_OV5647 is not set
+# CONFIG_VIDEO_OV5648 is not set
+# CONFIG_VIDEO_OV5670 is not set
+# CONFIG_VIDEO_OV5675 is not set
+# CONFIG_VIDEO_OV5693 is not set
+# CONFIG_VIDEO_OV5695 is not set
+# CONFIG_VIDEO_OV64A40 is not set
+# CONFIG_VIDEO_OV6650 is not set
+# CONFIG_VIDEO_OV7251 is not set
+# CONFIG_VIDEO_OV7640 is not set
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_OV772X is not set
+# CONFIG_VIDEO_OV7740 is not set
+# CONFIG_VIDEO_OV8856 is not set
+# CONFIG_VIDEO_OV8858 is not set
+# CONFIG_VIDEO_OV8865 is not set
+# CONFIG_VIDEO_OV9282 is not set
+# CONFIG_VIDEO_OV9640 is not set
+# CONFIG_VIDEO_OV9650 is not set
+# CONFIG_VIDEO_RDACM20 is not set
+# CONFIG_VIDEO_RDACM21 is not set
+# CONFIG_VIDEO_RJ54N1 is not set
+# CONFIG_VIDEO_S5C73M3 is not set
+# CONFIG_VIDEO_S5K5BAF is not set
+# CONFIG_VIDEO_S5K6A3 is not set
+# CONFIG_VIDEO_ST_VGXY61 is not set
+# CONFIG_VIDEO_CCS is not set
+# CONFIG_VIDEO_ET8EK8 is not set
+
+#
+# Camera ISPs
+#
+# CONFIG_VIDEO_THP7312 is not set
+# end of Camera ISPs
+
+#
+# Lens drivers
+#
+# CONFIG_VIDEO_AD5820 is not set
+# CONFIG_VIDEO_AK7375 is not set
+# CONFIG_VIDEO_DW9714 is not set
+# CONFIG_VIDEO_DW9719 is not set
+# CONFIG_VIDEO_DW9768 is not set
+# CONFIG_VIDEO_DW9807_VCM is not set
+# end of Lens drivers
+
+#
+# Flash devices
+#
+# CONFIG_VIDEO_ADP1653 is not set
+# CONFIG_VIDEO_LM3560 is not set
+# CONFIG_VIDEO_LM3646 is not set
+# end of Flash devices
+
+#
+# Audio decoders, processors and mixers
+#
+CONFIG_VIDEO_CS3308=m
+# CONFIG_VIDEO_CS5345 is not set
+# CONFIG_VIDEO_CS53L32A is not set
+CONFIG_VIDEO_MSP3400=m
+# CONFIG_VIDEO_SONY_BTF_MPX is not set
+# CONFIG_VIDEO_TDA1997X is not set
+# CONFIG_VIDEO_TDA7432 is not set
+# CONFIG_VIDEO_TDA9840 is not set
+# CONFIG_VIDEO_TEA6415C is not set
+# CONFIG_VIDEO_TEA6420 is not set
+# CONFIG_VIDEO_TLV320AIC23B is not set
+# CONFIG_VIDEO_TVAUDIO is not set
+# CONFIG_VIDEO_UDA1342 is not set
+# CONFIG_VIDEO_VP27SMPX is not set
+# CONFIG_VIDEO_WM8739 is not set
+# CONFIG_VIDEO_WM8775 is not set
+# end of Audio decoders, processors and mixers
+
+#
+# RDS decoders
+#
+# CONFIG_VIDEO_SAA6588 is not set
+# end of RDS decoders
+
+#
+# Video decoders
+#
+# CONFIG_VIDEO_ADV7180 is not set
+# CONFIG_VIDEO_ADV7183 is not set
+# CONFIG_VIDEO_ADV748X is not set
+# CONFIG_VIDEO_ADV7604 is not set
+# CONFIG_VIDEO_ADV7842 is not set
+# CONFIG_VIDEO_BT819 is not set
+# CONFIG_VIDEO_BT856 is not set
+# CONFIG_VIDEO_BT866 is not set
+# CONFIG_VIDEO_ISL7998X is not set
+# CONFIG_VIDEO_KS0127 is not set
+# CONFIG_VIDEO_MAX9286 is not set
+# CONFIG_VIDEO_ML86V7667 is not set
+# CONFIG_VIDEO_SAA7110 is not set
+CONFIG_VIDEO_SAA711X=m
+# CONFIG_VIDEO_TC358743 is not set
+# CONFIG_VIDEO_TC358746 is not set
+# CONFIG_VIDEO_TVP514X is not set
+CONFIG_VIDEO_TVP5150=m
+# CONFIG_VIDEO_TVP7002 is not set
+# CONFIG_VIDEO_TW2804 is not set
+# CONFIG_VIDEO_TW9900 is not set
+# CONFIG_VIDEO_TW9903 is not set
+# CONFIG_VIDEO_TW9906 is not set
+# CONFIG_VIDEO_TW9910 is not set
+# CONFIG_VIDEO_VPX3220 is not set
+
+#
+# Video and audio decoders
+#
+# CONFIG_VIDEO_SAA717X is not set
+CONFIG_VIDEO_CX25840=m
+# end of Video decoders
+
+#
+# Video encoders
+#
+# CONFIG_VIDEO_ADV7170 is not set
+# CONFIG_VIDEO_ADV7175 is not set
+# CONFIG_VIDEO_ADV7343 is not set
+# CONFIG_VIDEO_ADV7393 is not set
+# CONFIG_VIDEO_ADV7511 is not set
+# CONFIG_VIDEO_AK881X is not set
+# CONFIG_VIDEO_SAA7127 is not set
+# CONFIG_VIDEO_SAA7185 is not set
+# CONFIG_VIDEO_THS8200 is not set
+# end of Video encoders
+
+#
+# Video improvement chips
+#
+# CONFIG_VIDEO_UPD64031A is not set
+# CONFIG_VIDEO_UPD64083 is not set
+# end of Video improvement chips
+
+#
+# Audio/Video compression chips
+#
+# CONFIG_VIDEO_SAA6752HS is not set
+# end of Audio/Video compression chips
+
+#
+# SDR tuner chips
+#
+# CONFIG_SDR_MAX2175 is not set
+# end of SDR tuner chips
+
+#
+# Miscellaneous helper chips
+#
+# CONFIG_VIDEO_I2C is not set
+# CONFIG_VIDEO_M52790 is not set
+# CONFIG_VIDEO_ST_MIPID02 is not set
+# CONFIG_VIDEO_THS7303 is not set
+# end of Miscellaneous helper chips
+
+#
+# Video serializers and deserializers
+#
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
+# end of Video serializers and deserializers
+
+#
+# Media SPI Adapters
+#
CONFIG_CXD2880_SPI_DRV=m
+# CONFIG_VIDEO_GS1662 is not set
+# end of Media SPI Adapters
+
+CONFIG_MEDIA_TUNER=y
+
+#
+# Customize TV tuners
+#
+CONFIG_MEDIA_TUNER_E4000=m
+CONFIG_MEDIA_TUNER_FC0011=m
+CONFIG_MEDIA_TUNER_FC0012=m
+CONFIG_MEDIA_TUNER_FC0013=m
+CONFIG_MEDIA_TUNER_FC2580=m
+CONFIG_MEDIA_TUNER_IT913X=m
+CONFIG_MEDIA_TUNER_M88RS6000T=m
+CONFIG_MEDIA_TUNER_MAX2165=m
+CONFIG_MEDIA_TUNER_MC44S803=y
+CONFIG_MEDIA_TUNER_MSI001=m
+CONFIG_MEDIA_TUNER_MT2060=m
+CONFIG_MEDIA_TUNER_MT2063=m
+CONFIG_MEDIA_TUNER_MT20XX=y
+CONFIG_MEDIA_TUNER_MT2131=m
+CONFIG_MEDIA_TUNER_MT2266=m
+# CONFIG_MEDIA_TUNER_MXL301RF is not set
+CONFIG_MEDIA_TUNER_MXL5005S=m
+CONFIG_MEDIA_TUNER_MXL5007T=m
+# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set
+CONFIG_MEDIA_TUNER_QM1D1C0042=m
+CONFIG_MEDIA_TUNER_QT1010=m
+CONFIG_MEDIA_TUNER_R820T=m
+CONFIG_MEDIA_TUNER_SI2157=m
+CONFIG_MEDIA_TUNER_SIMPLE=y
+CONFIG_MEDIA_TUNER_TDA18212=m
+CONFIG_MEDIA_TUNER_TDA18218=m
+CONFIG_MEDIA_TUNER_TDA18250=m
+CONFIG_MEDIA_TUNER_TDA18271=y
+CONFIG_MEDIA_TUNER_TDA827X=y
+CONFIG_MEDIA_TUNER_TDA8290=y
+CONFIG_MEDIA_TUNER_TDA9887=y
+CONFIG_MEDIA_TUNER_TEA5761=y
+CONFIG_MEDIA_TUNER_TEA5767=y
+CONFIG_MEDIA_TUNER_TUA9001=m
+CONFIG_MEDIA_TUNER_XC2028=y
+CONFIG_MEDIA_TUNER_XC4000=y
+CONFIG_MEDIA_TUNER_XC5000=y
+# end of Customize TV tuners
+
+#
+# Customise DVB Frontends
+#
+
+#
+# Multistandard (satellite) frontends
+#
+CONFIG_DVB_M88DS3103=m
+# CONFIG_DVB_MXL5XX is not set
+CONFIG_DVB_STB0899=m
+CONFIG_DVB_STB6100=m
+CONFIG_DVB_STV090x=m
+# CONFIG_DVB_STV0910 is not set
+CONFIG_DVB_STV6110x=m
+# CONFIG_DVB_STV6111 is not set
+
+#
+# Multistandard (cable + terrestrial) frontends
+#
+CONFIG_DVB_DRXK=m
+CONFIG_DVB_MN88472=m
+CONFIG_DVB_MN88473=m
+CONFIG_DVB_SI2165=m
+CONFIG_DVB_TDA18271C2DD=m
+
+#
+# DVB-S (satellite) frontends
+#
+# CONFIG_DVB_CX24110 is not set
+CONFIG_DVB_CX24116=m
+CONFIG_DVB_CX24117=m
+CONFIG_DVB_CX24120=m
+CONFIG_DVB_CX24123=m
+CONFIG_DVB_DS3000=m
+# CONFIG_DVB_MB86A16 is not set
+CONFIG_DVB_MT312=m
+CONFIG_DVB_S5H1420=m
+CONFIG_DVB_SI21XX=m
+CONFIG_DVB_STB6000=m
+CONFIG_DVB_STV0288=m
+CONFIG_DVB_STV0299=m
+CONFIG_DVB_STV0900=m
+CONFIG_DVB_STV6110=m
+CONFIG_DVB_TDA10071=m
+CONFIG_DVB_TDA10086=m
+CONFIG_DVB_TDA8083=m
+# CONFIG_DVB_TDA8261 is not set
+CONFIG_DVB_TDA826X=m
+CONFIG_DVB_TS2020=m
+# CONFIG_DVB_TUA6100 is not set
+CONFIG_DVB_TUNER_CX24113=m
+CONFIG_DVB_TUNER_ITD1000=m
+# CONFIG_DVB_VES1X93 is not set
+# CONFIG_DVB_ZL10036 is not set
+CONFIG_DVB_ZL10039=m
+
+#
+# DVB-T (terrestrial) frontends
+#
+CONFIG_DVB_AF9013=m
+CONFIG_DVB_AS102_FE=m
+CONFIG_DVB_CX22700=m
+CONFIG_DVB_CX22702=m
+CONFIG_DVB_CXD2820R=m
+CONFIG_DVB_CXD2841ER=m
+CONFIG_DVB_DIB3000MB=m
+CONFIG_DVB_DIB3000MC=m
+CONFIG_DVB_DIB7000M=m
+CONFIG_DVB_DIB7000P=m
+# CONFIG_DVB_DIB9000 is not set
+CONFIG_DVB_DRXD=m
+CONFIG_DVB_EC100=m
+CONFIG_DVB_GP8PSK_FE=m
+# CONFIG_DVB_L64781 is not set
+CONFIG_DVB_MT352=m
+CONFIG_DVB_NXT6000=m
+CONFIG_DVB_RTL2830=m
+CONFIG_DVB_RTL2832=m
+CONFIG_DVB_RTL2832_SDR=m
+# CONFIG_DVB_S5H1432 is not set
+CONFIG_DVB_SI2168=m
+# CONFIG_DVB_SP887X is not set
+CONFIG_DVB_STV0367=m
+CONFIG_DVB_TDA10048=m
+CONFIG_DVB_TDA1004X=m
+# CONFIG_DVB_ZD1301_DEMOD is not set
+CONFIG_DVB_ZL10353=m
+# CONFIG_DVB_CXD2880 is not set
+
+#
+# DVB-C (cable) frontends
+#
+CONFIG_DVB_STV0297=m
+# CONFIG_DVB_TDA10021 is not set
+CONFIG_DVB_TDA10023=m
+CONFIG_DVB_VES1820=m
+
+#
+# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
+#
+CONFIG_DVB_AU8522=m
+CONFIG_DVB_AU8522_DTV=m
+CONFIG_DVB_AU8522_V4L=m
+CONFIG_DVB_BCM3510=m
+CONFIG_DVB_LG2160=m
+CONFIG_DVB_LGDT3305=m
+CONFIG_DVB_LGDT3306A=m
+CONFIG_DVB_LGDT330X=m
+CONFIG_DVB_MXL692=m
+CONFIG_DVB_NXT200X=m
+# CONFIG_DVB_OR51132 is not set
+# CONFIG_DVB_OR51211 is not set
+CONFIG_DVB_S5H1409=m
+CONFIG_DVB_S5H1411=m
+
+#
+# ISDB-T (terrestrial) frontends
+#
+CONFIG_DVB_DIB8000=m
+CONFIG_DVB_MB86A20S=m
+CONFIG_DVB_S921=m
+
+#
+# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
+#
+# CONFIG_DVB_MN88443X is not set
+CONFIG_DVB_TC90522=m
+
+#
+# Digital terrestrial only tuners/PLL
+#
+CONFIG_DVB_PLL=m
+CONFIG_DVB_TUNER_DIB0070=m
+CONFIG_DVB_TUNER_DIB0090=m
+
+#
+# SEC control devices for DVB-S
+#
+CONFIG_DVB_A8293=m
+CONFIG_DVB_AF9033=m
CONFIG_DVB_ASCOT2E=m
+CONFIG_DVB_ATBM8830=m
CONFIG_DVB_HELENE=m
CONFIG_DVB_HORUS3A=m
CONFIG_DVB_ISL6405=m
+CONFIG_DVB_ISL6421=m
+CONFIG_DVB_ISL6423=m
+CONFIG_DVB_IX2505V=m
CONFIG_DVB_LGS8GL5=m
+CONFIG_DVB_LGS8GXX=m
CONFIG_DVB_LNBH25=m
CONFIG_DVB_LNBH29=m
+CONFIG_DVB_LNBP21=m
+CONFIG_DVB_LNBP22=m
+CONFIG_DVB_M88RS2000=m
CONFIG_DVB_TDA665x=m
+CONFIG_DVB_DRX39XYJ=m
+
+#
+# Common Interface (EN50221) controller drivers
+#
CONFIG_DVB_CXD2099=m
+CONFIG_DVB_SP2=m
+# end of Customise DVB Frontends
+
+#
+# Tools to develop new frontends
+#
+# CONFIG_DVB_DUMMY_FE is not set
+# end of Media ancillary drivers
+
+#
+# Graphics support
+#
+CONFIG_VIDEO_CMDLINE=y
+CONFIG_VIDEO_NOMODESET=y
+# CONFIG_AUXDISPLAY is not set
CONFIG_DRM=y
+CONFIG_DRM_MIPI_DBI=y
+CONFIG_DRM_MIPI_DSI=y
+# CONFIG_DRM_DEBUG_MM is not set
+CONFIG_DRM_KMS_HELPER=y
+# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
+# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
+CONFIG_DRM_FBDEV_EMULATION=y
+CONFIG_DRM_FBDEV_OVERALLOC=100
+# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
+CONFIG_DRM_DISPLAY_HELPER=y
+CONFIG_DRM_DISPLAY_HDMI_HELPER=y
+# CONFIG_DRM_DP_AUX_CHARDEV is not set
+# CONFIG_DRM_DP_CEC is not set
+CONFIG_DRM_GEM_DMA_HELPER=y
+CONFIG_DRM_GEM_SHMEM_HELPER=y
+CONFIG_DRM_SCHED=y
+
+#
+# I2C encoder or helper chips
+#
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+# CONFIG_DRM_I2C_NXP_TDA998X is not set
+# CONFIG_DRM_I2C_NXP_TDA9950 is not set
+# end of I2C encoder or helper chips
+
+#
+# ARM devices
+#
+# CONFIG_DRM_HDLCD is not set
CONFIG_DRM_MALI_DISPLAY=y
+# CONFIG_DRM_KOMEDA is not set
+# end of ARM devices
+
+# CONFIG_DRM_RADEON is not set
+# CONFIG_DRM_AMDGPU is not set
+# CONFIG_DRM_NOUVEAU is not set
+# CONFIG_DRM_XE is not set
+# CONFIG_DRM_VGEM is not set
+# CONFIG_DRM_VKMS is not set
CONFIG_DRM_ROCKCHIP=y
+CONFIG_ROCKCHIP_VOP=y
CONFIG_ROCKCHIP_VOP2=y
+# CONFIG_ROCKCHIP_ANALOGIX_DP is not set
+# CONFIG_ROCKCHIP_CDN_DP is not set
CONFIG_ROCKCHIP_DW_HDMI=y
CONFIG_ROCKCHIP_DW_MIPI_DSI=y
+# CONFIG_ROCKCHIP_INNO_HDMI is not set
+# CONFIG_ROCKCHIP_LVDS is not set
+# CONFIG_ROCKCHIP_RGB is not set
+# CONFIG_ROCKCHIP_RK3066_HDMI is not set
+# CONFIG_DRM_VMWGFX is not set
+# CONFIG_DRM_UDL is not set
+# CONFIG_DRM_AST is not set
+# CONFIG_DRM_MGAG200 is not set
+# CONFIG_DRM_QXL is not set
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
+# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
+# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
+# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
+# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set
+# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
+# CONFIG_DRM_PANEL_DSI_CM is not set
+# CONFIG_DRM_PANEL_LVDS is not set
+# CONFIG_DRM_PANEL_SIMPLE is not set
+# CONFIG_DRM_PANEL_EDP is not set
+# CONFIG_DRM_PANEL_EBBG_FT8719 is not set
CONFIG_DRM_PANEL_ELIDA_KD35T133=y
+# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
+# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
CONFIG_DRM_PANEL_HIMAX_HX8394=y
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9805 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9882T is not set
+# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
+# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
+# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set
+# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_JDI_LPM102A188A is not set
+# CONFIG_DRM_PANEL_JDI_R63452 is not set
+# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
+# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
+# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
+# CONFIG_DRM_PANEL_LG_LG4573 is not set
CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966=y
+# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
CONFIG_DRM_PANEL_NEWVISION_NV3051D=y
+# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
+# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
+# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
+# CONFIG_DRM_PANEL_ORISETECH_OTA5601A is not set
+# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
+# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
+# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
+# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM692E5 is not set
+# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
+# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
+# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
CONFIG_DRM_PANEL_SITRONIX_ST7701=y
CONFIG_DRM_PANEL_SITRONIX_ST7703=y
+# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SYNAPTICS_R63353 is not set
+# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
+# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
+# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
+# CONFIG_DRM_PANEL_STARTEK_KD070FHFID015 is not set
+# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
+# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
+# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
+# CONFIG_DRM_PANEL_TPO_TPG110 is not set
+# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
+# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
+# CONFIG_DRM_PANEL_VISIONOX_R66451 is not set
+# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
+# end of Display Panels
+
+CONFIG_DRM_BRIDGE=y
+CONFIG_DRM_PANEL_BRIDGE=y
+
+#
+# Display Interface Bridges
+#
+# CONFIG_DRM_CHIPONE_ICN6211 is not set
+# CONFIG_DRM_CHRONTEL_CH7033 is not set
CONFIG_DRM_DISPLAY_CONNECTOR=y
+# CONFIG_DRM_ITE_IT6505 is not set
+# CONFIG_DRM_LONTIUM_LT8912B is not set
+# CONFIG_DRM_LONTIUM_LT9211 is not set
+# CONFIG_DRM_LONTIUM_LT9611 is not set
+# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_ITE_IT66121 is not set
+# CONFIG_DRM_LVDS_CODEC is not set
+# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
+# CONFIG_DRM_NWL_MIPI_DSI is not set
+# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PARADE_PS8622 is not set
+# CONFIG_DRM_PARADE_PS8640 is not set
+# CONFIG_DRM_SAMSUNG_DSIM is not set
+# CONFIG_DRM_SIL_SII8620 is not set
+# CONFIG_DRM_SII902X is not set
+# CONFIG_DRM_SII9234 is not set
+# CONFIG_DRM_SIMPLE_BRIDGE is not set
+# CONFIG_DRM_THINE_THC63LVD1024 is not set
+# CONFIG_DRM_TOSHIBA_TC358762 is not set
+# CONFIG_DRM_TOSHIBA_TC358764 is not set
+# CONFIG_DRM_TOSHIBA_TC358767 is not set
+# CONFIG_DRM_TOSHIBA_TC358768 is not set
+# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TI_DLPC3433 is not set
+# CONFIG_DRM_TI_TFP410 is not set
+# CONFIG_DRM_TI_SN65DSI83 is not set
+# CONFIG_DRM_TI_SN65DSI86 is not set
+# CONFIG_DRM_TI_TPD12S015 is not set
+# CONFIG_DRM_ANALOGIX_ANX6345 is not set
+# CONFIG_DRM_ANALOGIX_ANX78XX is not set
+# CONFIG_DRM_ANALOGIX_ANX7625 is not set
+# CONFIG_DRM_I2C_ADV7511 is not set
+# CONFIG_DRM_CDNS_DSI is not set
+# CONFIG_DRM_CDNS_MHDP8546 is not set
+CONFIG_DRM_DW_HDMI=y
+# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
+CONFIG_DRM_DW_HDMI_I2S_AUDIO=y
+# CONFIG_DRM_DW_HDMI_GP_AUDIO is not set
CONFIG_DRM_DW_HDMI_CEC=y
+CONFIG_DRM_DW_MIPI_DSI=y
+# end of Display Interface Bridges
+
+# CONFIG_DRM_ETNAVIV is not set
+# CONFIG_DRM_HISI_HIBMC is not set
+# CONFIG_DRM_HISI_KIRIN is not set
+# CONFIG_DRM_LOGICVC is not set
+# CONFIG_DRM_ARCPGU is not set
+# CONFIG_DRM_BOCHS is not set
+# CONFIG_DRM_CIRRUS_QEMU is not set
+# CONFIG_DRM_GM12U320 is not set
CONFIG_DRM_PANEL_MIPI_DBI=y
+# CONFIG_DRM_SIMPLEDRM is not set
+# CONFIG_TINYDRM_HX8357D is not set
+# CONFIG_TINYDRM_ILI9163 is not set
+# CONFIG_TINYDRM_ILI9225 is not set
+# CONFIG_TINYDRM_ILI9341 is not set
+# CONFIG_TINYDRM_ILI9486 is not set
+# CONFIG_TINYDRM_MI0283QT is not set
+# CONFIG_TINYDRM_REPAPER is not set
+# CONFIG_TINYDRM_ST7586 is not set
+# CONFIG_TINYDRM_ST7735R is not set
+# CONFIG_DRM_PL111 is not set
+# CONFIG_DRM_LIMA is not set
CONFIG_DRM_PANFROST=y
+# CONFIG_DRM_TIDSS is not set
+# CONFIG_DRM_GUD is not set
+# CONFIG_DRM_SSD130X is not set
+# CONFIG_DRM_POWERVR is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+
+#
+# Frame buffer Devices
+#
CONFIG_FB=y
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_OPENCORES is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_SMSCUFX is not set
+# CONFIG_FB_UDL is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_SIMPLE is not set
+# CONFIG_FB_SSD1307 is not set
+# CONFIG_FB_SM712 is not set
+CONFIG_FB_CORE=y
+CONFIG_FB_NOTIFY=y
CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DEVICE=y
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYSMEM_FOPS=y
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_DMAMEM_HELPERS=y
+CONFIG_FB_SYSMEM_HELPERS=y
+CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+# end of Frame buffer Devices
+
+#
+# Backlight & LCD device support
+#
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_KTD253 is not set
+# CONFIG_BACKLIGHT_KTZ8866 is not set
CONFIG_BACKLIGHT_PWM=y
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+# CONFIG_BACKLIGHT_LM3630A is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+# CONFIG_BACKLIGHT_LP855X is not set
+# CONFIG_BACKLIGHT_MP3309C is not set
+# CONFIG_BACKLIGHT_GPIO is not set
+# CONFIG_BACKLIGHT_LV5207LP is not set
+# CONFIG_BACKLIGHT_BD6107 is not set
+# CONFIG_BACKLIGHT_ARCXCNN is not set
CONFIG_BACKLIGHT_LED=y
+# end of Backlight & LCD device support
+
+CONFIG_VIDEOMODE_HELPERS=y
+CONFIG_HDMI=y
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
+# end of Console display driver support
+
+# CONFIG_LOGO is not set
+# end of Graphics support
+
+# CONFIG_DRM_ACCEL is not set
CONFIG_SOUND=y
CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_PCM_ELD=y
+CONFIG_SND_PCM_IEC958=y
+CONFIG_SND_DMAENGINE_PCM=y
+CONFIG_SND_HWDEP=y
+CONFIG_SND_SEQ_DEVICE=y
+CONFIG_SND_RAWMIDI=y
+CONFIG_SND_JACK=y
+CONFIG_SND_JACK_INPUT_DEV=y
+# CONFIG_SND_OSSEMUL is not set
+CONFIG_SND_PCM_TIMER=y
CONFIG_SND_HRTIMER=y
CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_MAX_CARDS=32
# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_PROC_FS=y
# CONFIG_SND_VERBOSE_PROCFS is not set
CONFIG_SND_VERBOSE_PRINTK=y
+CONFIG_SND_CTL_FAST_LOOKUP=y
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_CTL_INPUT_VALIDATION is not set
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_SEQ_MIDI_EVENT=y
+CONFIG_SND_SEQ_MIDI=y
+# CONFIG_SND_SEQ_UMP is not set
# CONFIG_SND_DRIVERS is not set
# CONFIG_SND_PCI is not set
+
+#
+# HD-Audio
+#
+# end of HD-Audio
+
+CONFIG_SND_HDA_PREALLOC_SIZE=64
# CONFIG_SND_SPI is not set
+CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
+# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set
+CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
+# CONFIG_SND_USB_UA101 is not set
+# CONFIG_SND_USB_CAIAQ is not set
+# CONFIG_SND_USB_6FIRE is not set
+# CONFIG_SND_USB_HIFACE is not set
+# CONFIG_SND_BCD2000 is not set
+# CONFIG_SND_USB_POD is not set
+# CONFIG_SND_USB_PODHD is not set
+# CONFIG_SND_USB_TONEPORT is not set
+# CONFIG_SND_USB_VARIAX is not set
CONFIG_SND_SOC=y
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+# CONFIG_SND_SOC_ADI is not set
+# CONFIG_SND_SOC_AMD_ACP is not set
+# CONFIG_SND_AMD_ACP_CONFIG is not set
+# CONFIG_SND_ATMEL_SOC is not set
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
+# CONFIG_SND_DESIGNWARE_I2S is not set
+
+#
+# SoC Audio for Freescale CPUs
+#
+
+#
+# Common SoC Audio options for Freescale CPUs:
+#
+# CONFIG_SND_SOC_FSL_ASRC is not set
CONFIG_SND_SOC_FSL_SAI=y
+# CONFIG_SND_SOC_FSL_MQS is not set
+# CONFIG_SND_SOC_FSL_AUDMIX is not set
+# CONFIG_SND_SOC_FSL_SSI is not set
+# CONFIG_SND_SOC_FSL_SPDIF is not set
+# CONFIG_SND_SOC_FSL_ESAI is not set
+# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_XCVR is not set
+CONFIG_SND_SOC_FSL_UTILS=y
+# CONFIG_SND_SOC_IMX_AUDMUX is not set
+# end of SoC Audio for Freescale CPUs
+
+# CONFIG_SND_SOC_CHV3_I2S is not set
+# CONFIG_SND_I2S_HI6210_I2S is not set
+# CONFIG_SND_SOC_IMG is not set
+# CONFIG_SND_SOC_MTK_BTCVSD is not set
CONFIG_SND_SOC_ROCKCHIP=y
+CONFIG_SND_SOC_ROCKCHIP_I2S=y
CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=y
CONFIG_SND_SOC_ROCKCHIP_PDM=y
CONFIG_SND_SOC_ROCKCHIP_SPDIF=y
+# CONFIG_SND_SOC_ROCKCHIP_MAX98090 is not set
+# CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set
CONFIG_SND_SOC_RK3288_HDMI_ANALOG=y
+# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set
+# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
+
+#
+# STMicroelectronics STM32 SOC audio support
+#
+# end of STMicroelectronics STM32 SOC audio support
+
+# CONFIG_SND_SOC_XILINX_I2S is not set
+# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
+# CONFIG_SND_SOC_XILINX_SPDIF is not set
+# CONFIG_SND_SOC_XTFPGA_I2S is not set
+CONFIG_SND_SOC_I2C_AND_SPI=y
+
+#
+# CODEC drivers
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_ADAU1372_I2C is not set
+# CONFIG_SND_SOC_ADAU1372_SPI is not set
+# CONFIG_SND_SOC_ADAU1701 is not set
+# CONFIG_SND_SOC_ADAU1761_I2C is not set
+# CONFIG_SND_SOC_ADAU1761_SPI is not set
+# CONFIG_SND_SOC_ADAU7002 is not set
+# CONFIG_SND_SOC_ADAU7118_HW is not set
+# CONFIG_SND_SOC_ADAU7118_I2C is not set
+# CONFIG_SND_SOC_AK4104 is not set
+# CONFIG_SND_SOC_AK4118 is not set
+# CONFIG_SND_SOC_AK4375 is not set
+# CONFIG_SND_SOC_AK4458 is not set
+# CONFIG_SND_SOC_AK4554 is not set
+# CONFIG_SND_SOC_AK4613 is not set
+# CONFIG_SND_SOC_AK4642 is not set
+# CONFIG_SND_SOC_AK5386 is not set
+# CONFIG_SND_SOC_AK5558 is not set
+# CONFIG_SND_SOC_ALC5623 is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
+# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88395 is not set
+# CONFIG_SND_SOC_AW88261 is not set
+# CONFIG_SND_SOC_AW87390 is not set
+# CONFIG_SND_SOC_AW88399 is not set
+# CONFIG_SND_SOC_BD28623 is not set
+# CONFIG_SND_SOC_BT_SCO is not set
+# CONFIG_SND_SOC_CHV3_CODEC is not set
+# CONFIG_SND_SOC_CS35L32 is not set
+# CONFIG_SND_SOC_CS35L33 is not set
+# CONFIG_SND_SOC_CS35L34 is not set
+# CONFIG_SND_SOC_CS35L35 is not set
+# CONFIG_SND_SOC_CS35L36 is not set
+# CONFIG_SND_SOC_CS35L41_SPI is not set
+# CONFIG_SND_SOC_CS35L41_I2C is not set
+# CONFIG_SND_SOC_CS35L45_SPI is not set
+# CONFIG_SND_SOC_CS35L45_I2C is not set
+# CONFIG_SND_SOC_CS35L56_I2C is not set
+# CONFIG_SND_SOC_CS35L56_SPI is not set
+# CONFIG_SND_SOC_CS42L42 is not set
+# CONFIG_SND_SOC_CS42L51_I2C is not set
+# CONFIG_SND_SOC_CS42L52 is not set
+# CONFIG_SND_SOC_CS42L56 is not set
+# CONFIG_SND_SOC_CS42L73 is not set
+# CONFIG_SND_SOC_CS42L83 is not set
+# CONFIG_SND_SOC_CS4234 is not set
+# CONFIG_SND_SOC_CS4265 is not set
+# CONFIG_SND_SOC_CS4270 is not set
+# CONFIG_SND_SOC_CS4271_I2C is not set
+# CONFIG_SND_SOC_CS4271_SPI is not set
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
+# CONFIG_SND_SOC_CS43130 is not set
+# CONFIG_SND_SOC_CS4341 is not set
+# CONFIG_SND_SOC_CS4349 is not set
+# CONFIG_SND_SOC_CS53L30 is not set
+# CONFIG_SND_SOC_CX2072X is not set
+# CONFIG_SND_SOC_DA7213 is not set
+# CONFIG_SND_SOC_DMIC is not set
+CONFIG_SND_SOC_HDMI_CODEC=y
+# CONFIG_SND_SOC_ES7134 is not set
+# CONFIG_SND_SOC_ES7241 is not set
CONFIG_SND_SOC_ES8316=y
+# CONFIG_SND_SOC_ES8326 is not set
+CONFIG_SND_SOC_ES8328=y
+CONFIG_SND_SOC_ES8328_I2C=y
+CONFIG_SND_SOC_ES8328_SPI=y
+# CONFIG_SND_SOC_GTM601 is not set
+# CONFIG_SND_SOC_HDA is not set
+# CONFIG_SND_SOC_ICS43432 is not set
+# CONFIG_SND_SOC_IDT821034 is not set
+# CONFIG_SND_SOC_INNO_RK3036 is not set
+# CONFIG_SND_SOC_MAX98088 is not set
CONFIG_SND_SOC_MAX98090=y
+# CONFIG_SND_SOC_MAX98357A is not set
+# CONFIG_SND_SOC_MAX98504 is not set
+# CONFIG_SND_SOC_MAX9867 is not set
+# CONFIG_SND_SOC_MAX98927 is not set
+# CONFIG_SND_SOC_MAX98520 is not set
+# CONFIG_SND_SOC_MAX98373_I2C is not set
+# CONFIG_SND_SOC_MAX98388 is not set
+# CONFIG_SND_SOC_MAX98390 is not set
+# CONFIG_SND_SOC_MAX98396 is not set
+# CONFIG_SND_SOC_MAX9860 is not set
+# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_PCM1681 is not set
+# CONFIG_SND_SOC_PCM1789_I2C is not set
+# CONFIG_SND_SOC_PCM179X_I2C is not set
+# CONFIG_SND_SOC_PCM179X_SPI is not set
+# CONFIG_SND_SOC_PCM186X_I2C is not set
+# CONFIG_SND_SOC_PCM186X_SPI is not set
+# CONFIG_SND_SOC_PCM3060_I2C is not set
+# CONFIG_SND_SOC_PCM3060_SPI is not set
+# CONFIG_SND_SOC_PCM3168A_I2C is not set
+# CONFIG_SND_SOC_PCM3168A_SPI is not set
+# CONFIG_SND_SOC_PCM5102A is not set
+# CONFIG_SND_SOC_PCM512x_I2C is not set
+# CONFIG_SND_SOC_PCM512x_SPI is not set
+# CONFIG_SND_SOC_PEB2466 is not set
+# CONFIG_SND_SOC_RK3328 is not set
CONFIG_SND_SOC_RK817=y
+# CONFIG_SND_SOC_RT5616 is not set
+# CONFIG_SND_SOC_RT5631 is not set
+# CONFIG_SND_SOC_RT5640 is not set
+# CONFIG_SND_SOC_RT5659 is not set
+# CONFIG_SND_SOC_RT9120 is not set
+# CONFIG_SND_SOC_RTQ9128 is not set
+# CONFIG_SND_SOC_SGTL5000 is not set
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=y
+# CONFIG_SND_SOC_SIMPLE_MUX is not set
+# CONFIG_SND_SOC_SMA1303 is not set
CONFIG_SND_SOC_SPDIF=y
+# CONFIG_SND_SOC_SRC4XXX_I2C is not set
+# CONFIG_SND_SOC_SSM2305 is not set
+# CONFIG_SND_SOC_SSM2518 is not set
+# CONFIG_SND_SOC_SSM2602_SPI is not set
+# CONFIG_SND_SOC_SSM2602_I2C is not set
+# CONFIG_SND_SOC_SSM3515 is not set
+# CONFIG_SND_SOC_SSM4567 is not set
+# CONFIG_SND_SOC_STA32X is not set
+# CONFIG_SND_SOC_STA350 is not set
+# CONFIG_SND_SOC_STI_SAS is not set
+# CONFIG_SND_SOC_TAS2552 is not set
+# CONFIG_SND_SOC_TAS2562 is not set
+# CONFIG_SND_SOC_TAS2764 is not set
+# CONFIG_SND_SOC_TAS2770 is not set
+# CONFIG_SND_SOC_TAS2780 is not set
+# CONFIG_SND_SOC_TAS2781_I2C is not set
+# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
+# CONFIG_SND_SOC_TAS5720 is not set
+# CONFIG_SND_SOC_TAS5805M is not set
+# CONFIG_SND_SOC_TAS6424 is not set
+# CONFIG_SND_SOC_TDA7419 is not set
+# CONFIG_SND_SOC_TFA9879 is not set
+# CONFIG_SND_SOC_TFA989X is not set
+# CONFIG_SND_SOC_TLV320ADC3XXX is not set
+# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TLV320ADCX140 is not set
CONFIG_SND_SOC_TS3A227E=y
+# CONFIG_SND_SOC_TSCS42XX is not set
+# CONFIG_SND_SOC_TSCS454 is not set
+# CONFIG_SND_SOC_UDA1334 is not set
+# CONFIG_SND_SOC_WM8510 is not set
+# CONFIG_SND_SOC_WM8523 is not set
+# CONFIG_SND_SOC_WM8524 is not set
+# CONFIG_SND_SOC_WM8580 is not set
+# CONFIG_SND_SOC_WM8711 is not set
+# CONFIG_SND_SOC_WM8728 is not set
+# CONFIG_SND_SOC_WM8731_I2C is not set
+# CONFIG_SND_SOC_WM8731_SPI is not set
+# CONFIG_SND_SOC_WM8737 is not set
+# CONFIG_SND_SOC_WM8741 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8770 is not set
+# CONFIG_SND_SOC_WM8776 is not set
+# CONFIG_SND_SOC_WM8782 is not set
+# CONFIG_SND_SOC_WM8804_I2C is not set
+# CONFIG_SND_SOC_WM8804_SPI is not set
+# CONFIG_SND_SOC_WM8903 is not set
+# CONFIG_SND_SOC_WM8904 is not set
+# CONFIG_SND_SOC_WM8940 is not set
+# CONFIG_SND_SOC_WM8960 is not set
+# CONFIG_SND_SOC_WM8961 is not set
+# CONFIG_SND_SOC_WM8962 is not set
+# CONFIG_SND_SOC_WM8974 is not set
+# CONFIG_SND_SOC_WM8978 is not set
+# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_ZL38060 is not set
+# CONFIG_SND_SOC_MAX9759 is not set
+# CONFIG_SND_SOC_MT6351 is not set
+# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
+# CONFIG_SND_SOC_NAU8315 is not set
+# CONFIG_SND_SOC_NAU8540 is not set
+# CONFIG_SND_SOC_NAU8810 is not set
+# CONFIG_SND_SOC_NAU8821 is not set
+# CONFIG_SND_SOC_NAU8822 is not set
+# CONFIG_SND_SOC_NAU8824 is not set
+# CONFIG_SND_SOC_TPA6130A2 is not set
+# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_VA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_RX_MACRO is not set
+# CONFIG_SND_SOC_LPASS_TX_MACRO is not set
+# end of CODEC drivers
+
+CONFIG_SND_SIMPLE_CARD_UTILS=y
CONFIG_SND_SIMPLE_CARD=y
CONFIG_SND_AUDIO_GRAPH_CARD=y
CONFIG_SND_AUDIO_GRAPH_CARD2=y
CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE=y
CONFIG_SND_TEST_COMPONENT=y
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
+CONFIG_HID_GENERIC=y
+
+#
+# Special HID drivers
+#
CONFIG_HID_A4TECH=y
+# CONFIG_HID_ACCUTOUCH is not set
CONFIG_HID_ACRUX=y
+# CONFIG_HID_ACRUX_FF is not set
CONFIG_HID_APPLE=y
CONFIG_HID_APPLEIR=y
+# CONFIG_HID_ASUS is not set
CONFIG_HID_AUREAL=y
CONFIG_HID_BELKIN=y
CONFIG_HID_BETOP_FF=y
+# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CORSAIR=y
+# CONFIG_HID_COUGAR is not set
+# CONFIG_HID_MACALLY is not set
CONFIG_HID_PRODIKEYS=y
+# CONFIG_HID_CMEDIA is not set
CONFIG_HID_CP2112=y
+# CONFIG_HID_CREATIVE_SB0540 is not set
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=y
+# CONFIG_HID_ELAN is not set
CONFIG_HID_ELECOM=y
CONFIG_HID_ELO=y
+# CONFIG_HID_EVISION is not set
CONFIG_HID_EZKEY=y
+# CONFIG_HID_FT260 is not set
CONFIG_HID_GEMBIRD=y
CONFIG_HID_GFRM=y
+# CONFIG_HID_GLORIOUS is not set
CONFIG_HID_HOLTEK=y
CONFIG_HOLTEK_FF=y
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
+# CONFIG_HID_VIVALDI is not set
CONFIG_HID_GT683R=y
CONFIG_HID_KEYTOUCH=y
CONFIG_HID_KYE=y
CONFIG_HID_UCLOGIC=y
CONFIG_HID_WALTOP=y
+# CONFIG_HID_VIEWSONIC is not set
+# CONFIG_HID_VRC2 is not set
+# CONFIG_HID_XIAOMI is not set
CONFIG_HID_GYRATION=y
CONFIG_HID_ICADE=y
+# CONFIG_HID_ITE is not set
+# CONFIG_HID_JABRA is not set
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LCPOWER=y
+CONFIG_HID_LED=y
CONFIG_HID_LENOVO=y
+# CONFIG_HID_LETSKETCH is not set
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=y
+CONFIG_HID_LOGITECH_HIDPP=y
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
+CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=y
+# CONFIG_HID_MALTRON is not set
+# CONFIG_HID_MAYFLASH is not set
+# CONFIG_HID_MEGAWORLD_FF is not set
+# CONFIG_HID_REDRAGON is not set
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_MULTITOUCH=y
+# CONFIG_HID_NINTENDO is not set
+# CONFIG_HID_NTI is not set
CONFIG_HID_NTRIG=y
+# CONFIG_HID_NVIDIA_SHIELD is not set
CONFIG_HID_ORTEK=y
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PENMOUNT=y
CONFIG_HID_PETALYNX=y
+# CONFIG_HID_PICOLCD is not set
CONFIG_HID_PLANTRONICS=y
+# CONFIG_HID_PXRC is not set
+# CONFIG_HID_RAZER is not set
CONFIG_HID_PRIMAX=y
+# CONFIG_HID_RETRODE is not set
CONFIG_HID_ROCCAT=y
CONFIG_HID_SAITEK=y
CONFIG_HID_SAMSUNG=y
+# CONFIG_HID_SEMITEK is not set
+# CONFIG_HID_SIGMAMICRO is not set
CONFIG_HID_SONY=y
+# CONFIG_SONY_FF is not set
CONFIG_HID_SPEEDLINK=y
+# CONFIG_HID_STEAM is not set
CONFIG_HID_STEELSERIES=y
CONFIG_HID_SUNPLUS=y
CONFIG_HID_RMI=y
@@ -838,9 +5545,12 @@ CONFIG_HID_SMARTJOYPLUS=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_HID_TIVO=y
CONFIG_HID_TOPSEED=y
+# CONFIG_HID_TOPRE is not set
CONFIG_HID_THINGM=y
CONFIG_HID_THRUSTMASTER=y
CONFIG_THRUSTMASTER_FF=y
+# CONFIG_HID_UDRAW_PS3 is not set
+# CONFIG_HID_U2FZERO is not set
CONFIG_HID_WACOM=y
CONFIG_HID_WIIMOTE=y
CONFIG_HID_XINMO=y
@@ -850,25 +5560,102 @@ CONFIG_HID_ZYDACRON=y
CONFIG_HID_SENSOR_HUB=y
CONFIG_HID_SENSOR_CUSTOM_SENSOR=y
CONFIG_HID_ALPS=y
+# CONFIG_HID_MCP2200 is not set
+# CONFIG_HID_MCP2221 is not set
+# end of Special HID drivers
+
+#
+# HID-BPF support
+#
+# end of HID-BPF support
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=y
+# CONFIG_HID_PID is not set
CONFIG_USB_HIDDEV=y
+# end of USB HID support
+
+CONFIG_I2C_HID=y
+# CONFIG_I2C_HID_OF is not set
+# CONFIG_I2C_HID_OF_ELAN is not set
CONFIG_I2C_HID_OF_GOODIX=y
+CONFIG_I2C_HID_CORE=y
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+# CONFIG_USB_LED_TRIG is not set
+# CONFIG_USB_ULPI_BUS is not set
+# CONFIG_USB_CONN_GPIO is not set
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_PCI=y
+# CONFIG_USB_PCI_AMD is not set
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
# CONFIG_USB_DEFAULT_PERSIST is not set
+# CONFIG_USB_FEW_INIT_RETRIES is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
CONFIG_USB_OTG=y
CONFIG_USB_OTG_PRODUCTLIST=y
+# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
CONFIG_USB_OTG_FSM=y
CONFIG_USB_LEDS_TRIGGER_USBPORT=y
+CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_MON=y
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_XHCI_HCD=y
+# CONFIG_USB_XHCI_DBGCAP is not set
+CONFIG_USB_XHCI_PCI=y
+# CONFIG_USB_XHCI_PCI_RENESAS is not set
+CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=y
+# CONFIG_USB_EHCI_FSL is not set
CONFIG_USB_EHCI_HCD_PLATFORM=y
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_OHCI_HCD=y
# CONFIG_USB_OHCI_HCD_PCI is not set
+# CONFIG_USB_OHCI_HCD_SSB is not set
CONFIG_USB_OHCI_HCD_PLATFORM=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HCD_BCMA is not set
+# CONFIG_USB_HCD_SSB is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+
+#
+# USB Device Class drivers
+#
CONFIG_USB_ACM=y
+# CONFIG_USB_PRINTER is not set
+CONFIG_USB_WDM=y
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
CONFIG_USB_STORAGE_REALTEK=y
+CONFIG_REALTEK_AUTOPM=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
@@ -882,117 +5669,1489 @@ CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
CONFIG_USB_STORAGE_ENE_UB6250=y
CONFIG_USB_UAS=y
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+# CONFIG_USBIP_CORE is not set
+
+#
+# USB dual-mode controller drivers
+#
+# CONFIG_USB_CDNS_SUPPORT is not set
+# CONFIG_USB_MUSB_HDRC is not set
CONFIG_USB_DWC3=y
+# CONFIG_USB_DWC3_HOST is not set
+# CONFIG_USB_DWC3_GADGET is not set
+CONFIG_USB_DWC3_DUAL_ROLE=y
+
+#
+# Platform Glue Driver Support
+#
+CONFIG_USB_DWC3_HAPS=y
+CONFIG_USB_DWC3_OF_SIMPLE=y
CONFIG_USB_DWC2=y
+# CONFIG_USB_DWC2_HOST is not set
+
+#
+# Gadget/Dual-role mode requires USB Gadget support to be enabled
+#
+# CONFIG_USB_DWC2_PERIPHERAL is not set
+CONFIG_USB_DWC2_DUAL_ROLE=y
+# CONFIG_USB_DWC2_PCI is not set
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_ISP1760 is not set
+
+#
+# USB port drivers
+#
CONFIG_USB_SERIAL=y
+# CONFIG_USB_SERIAL_CONSOLE is not set
CONFIG_USB_SERIAL_GENERIC=y
+# CONFIG_USB_SERIAL_SIMPLE is not set
+# CONFIG_USB_SERIAL_AIRCABLE is not set
+# CONFIG_USB_SERIAL_ARK3116 is not set
+# CONFIG_USB_SERIAL_BELKIN is not set
CONFIG_USB_SERIAL_CH341=y
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
CONFIG_USB_SERIAL_CP210X=y
+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
+# CONFIG_USB_SERIAL_EMPEG is not set
CONFIG_USB_SERIAL_FTDI_SIO=y
+# CONFIG_USB_SERIAL_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
+# CONFIG_USB_SERIAL_IR is not set
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+# CONFIG_USB_SERIAL_F81232 is not set
+# CONFIG_USB_SERIAL_F8153X is not set
+# CONFIG_USB_SERIAL_GARMIN is not set
+# CONFIG_USB_SERIAL_IPW is not set
+# CONFIG_USB_SERIAL_IUU is not set
+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
CONFIG_USB_SERIAL_KEYSPAN=y
+# CONFIG_USB_SERIAL_KLSI is not set
+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
+# CONFIG_USB_SERIAL_MCT_U232 is not set
+# CONFIG_USB_SERIAL_METRO is not set
+# CONFIG_USB_SERIAL_MOS7720 is not set
+# CONFIG_USB_SERIAL_MOS7840 is not set
+# CONFIG_USB_SERIAL_MXUPORT is not set
+# CONFIG_USB_SERIAL_NAVMAN is not set
CONFIG_USB_SERIAL_PL2303=y
CONFIG_USB_SERIAL_OTI6858=y
+# CONFIG_USB_SERIAL_QCAUX is not set
CONFIG_USB_SERIAL_QUALCOMM=y
+# CONFIG_USB_SERIAL_SPCP8X5 is not set
+# CONFIG_USB_SERIAL_SAFE is not set
CONFIG_USB_SERIAL_SIERRAWIRELESS=y
+# CONFIG_USB_SERIAL_SYMBOL is not set
+# CONFIG_USB_SERIAL_TI is not set
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
+# CONFIG_USB_SERIAL_OMNINET is not set
+# CONFIG_USB_SERIAL_OPTICON is not set
+# CONFIG_USB_SERIAL_XSENS_MT is not set
+# CONFIG_USB_SERIAL_WISHBONE is not set
+# CONFIG_USB_SERIAL_SSU100 is not set
+# CONFIG_USB_SERIAL_QT2 is not set
+# CONFIG_USB_SERIAL_UPD78F0730 is not set
+# CONFIG_USB_SERIAL_XR is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_APPLE_MFI_FASTCHARGE is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+CONFIG_USB_EZUSB_FX2=y
+# CONFIG_USB_HUB_USB251XB is not set
+# CONFIG_USB_HSIC_USB3503 is not set
+# CONFIG_USB_HSIC_USB4604 is not set
+# CONFIG_USB_LINK_LAYER_TEST is not set
+# CONFIG_USB_CHAOSKEY is not set
+# CONFIG_USB_ONBOARD_HUB is not set
+
+#
+# USB Physical Layer drivers
+#
+CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ISP1301 is not set
+# CONFIG_USB_ULPI is not set
+# end of USB Physical Layer drivers
+
CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG is not set
CONFIG_USB_GADGET_DEBUG_FILES=y
+# CONFIG_USB_GADGET_DEBUG_FS is not set
CONFIG_USB_GADGET_VBUS_DRAW=500
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
CONFIG_U_SERIAL_CONSOLE=y
+
+#
+# USB Peripheral Controller
+#
+# CONFIG_USB_GR_UDC is not set
+# CONFIG_USB_R8A66597 is not set
+# CONFIG_USB_PXA27X is not set
+# CONFIG_USB_MV_UDC is not set
+# CONFIG_USB_MV_U3D is not set
+# CONFIG_USB_SNP_UDC_PLAT is not set
+# CONFIG_USB_M66592 is not set
+# CONFIG_USB_BDC_UDC is not set
+# CONFIG_USB_AMD5536UDC is not set
+# CONFIG_USB_NET2272 is not set
+# CONFIG_USB_NET2280 is not set
+# CONFIG_USB_GOKU is not set
+# CONFIG_USB_EG20T is not set
+# CONFIG_USB_GADGET_XILINX is not set
+# CONFIG_USB_MAX3420_UDC is not set
+# CONFIG_USB_DUMMY_HCD is not set
+# end of USB Peripheral Controller
+
+CONFIG_USB_LIBCOMPOSITE=y
+CONFIG_USB_F_ACM=y
+CONFIG_USB_U_SERIAL=y
+CONFIG_USB_F_SERIAL=m
+CONFIG_USB_F_OBEX=m
+CONFIG_USB_F_MASS_STORAGE=y
+CONFIG_USB_F_FS=y
+CONFIG_USB_F_UVC=y
CONFIG_USB_CONFIGFS=y
+# CONFIG_USB_CONFIGFS_SERIAL is not set
CONFIG_USB_CONFIGFS_ACM=y
+# CONFIG_USB_CONFIGFS_OBEX is not set
+# CONFIG_USB_CONFIGFS_NCM is not set
+# CONFIG_USB_CONFIGFS_ECM is not set
+# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set
+# CONFIG_USB_CONFIGFS_RNDIS is not set
+# CONFIG_USB_CONFIGFS_EEM is not set
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+# CONFIG_USB_CONFIGFS_F_LB_SS is not set
CONFIG_USB_CONFIGFS_F_FS=y
+# CONFIG_USB_CONFIGFS_F_UAC1 is not set
+# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
+# CONFIG_USB_CONFIGFS_F_UAC2 is not set
+# CONFIG_USB_CONFIGFS_F_MIDI is not set
+# CONFIG_USB_CONFIGFS_F_MIDI2 is not set
+# CONFIG_USB_CONFIGFS_F_HID is not set
CONFIG_USB_CONFIGFS_F_UVC=y
+# CONFIG_USB_CONFIGFS_F_PRINTER is not set
+
+#
+# USB Gadget precomposed configurations
+#
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_ETH is not set
+# CONFIG_USB_G_NCM is not set
CONFIG_USB_GADGETFS=m
CONFIG_USB_FUNCTIONFS=m
+# CONFIG_USB_FUNCTIONFS_ETH is not set
+# CONFIG_USB_FUNCTIONFS_RNDIS is not set
+CONFIG_USB_FUNCTIONFS_GENERIC=y
CONFIG_USB_MASS_STORAGE=m
CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+# CONFIG_USB_CDC_COMPOSITE is not set
+# CONFIG_USB_G_ACM_MS is not set
+# CONFIG_USB_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_DBGP is not set
+# CONFIG_USB_G_WEBCAM is not set
+# CONFIG_USB_RAW_GADGET is not set
+# end of USB Gadget precomposed configurations
+
CONFIG_TYPEC=y
CONFIG_TYPEC_TCPM=y
+# CONFIG_TYPEC_TCPCI is not set
CONFIG_TYPEC_FUSB302=y
+# CONFIG_TYPEC_UCSI is not set
+# CONFIG_TYPEC_TPS6598X is not set
+# CONFIG_TYPEC_ANX7411 is not set
+# CONFIG_TYPEC_RT1719 is not set
+# CONFIG_TYPEC_HD3SS3220 is not set
+# CONFIG_TYPEC_STUSB160X is not set
+# CONFIG_TYPEC_WUSB3801 is not set
+
+#
+# USB Type-C Multiplexer/DeMultiplexer Switch support
+#
+# CONFIG_TYPEC_MUX_FSA4480 is not set
+# CONFIG_TYPEC_MUX_GPIO_SBU is not set
+# CONFIG_TYPEC_MUX_PI3USB30532 is not set
+# CONFIG_TYPEC_MUX_NB7VPQ904M is not set
+# CONFIG_TYPEC_MUX_PTN36502 is not set
+# CONFIG_TYPEC_MUX_WCD939X_USBSS is not set
+# end of USB Type-C Multiplexer/DeMultiplexer Switch support
+
+#
+# USB Type-C Alternate Mode drivers
+#
CONFIG_TYPEC_DP_ALTMODE=y
+# CONFIG_TYPEC_NVIDIA_ALTMODE is not set
+# end of USB Type-C Alternate Mode drivers
+
+CONFIG_USB_ROLE_SWITCH=y
CONFIG_MMC=y
+CONFIG_PWRSEQ_EMMC=y
+# CONFIG_PWRSEQ_SD8787 is not set
+CONFIG_PWRSEQ_SIMPLE=y
+CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=32
+# CONFIG_SDIO_UART is not set
CONFIG_MMC_TEST=y
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_ARMMMCI is not set
CONFIG_MMC_SDHCI=y
+# CONFIG_MMC_SDHCI_PCI is not set
CONFIG_MMC_SDHCI_PLTFM=y
+# CONFIG_MMC_SDHCI_OF_ARASAN is not set
+# CONFIG_MMC_SDHCI_OF_AT91 is not set
CONFIG_MMC_SDHCI_OF_DWCMSHC=y
+# CONFIG_MMC_SDHCI_CADENCE is not set
+# CONFIG_MMC_SDHCI_F_SDH30 is not set
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
CONFIG_MMC_DW=y
+CONFIG_MMC_DW_PLTFM=y
+# CONFIG_MMC_DW_BLUEFIELD is not set
+# CONFIG_MMC_DW_EXYNOS is not set
+# CONFIG_MMC_DW_HI3798CV200 is not set
+# CONFIG_MMC_DW_K3 is not set
+# CONFIG_MMC_DW_PCI is not set
CONFIG_MMC_DW_ROCKCHIP=y
+# CONFIG_MMC_VUB300 is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MMC_USDHI6ROL0 is not set
+# CONFIG_MMC_CQHCI is not set
CONFIG_MMC_HSQ=y
+# CONFIG_MMC_TOSHIBA_PCI is not set
+# CONFIG_MMC_MTK is not set
+# CONFIG_MMC_SDHCI_XENON is not set
+# CONFIG_SCSI_UFSHCD is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+# CONFIG_LEDS_CLASS_FLASH is not set
+# CONFIG_LEDS_CLASS_MULTICOLOR is not set
+# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_AN30259A is not set
+# CONFIG_LEDS_AW200XX is not set
+# CONFIG_LEDS_AW2013 is not set
+# CONFIG_LEDS_BCM6328 is not set
+# CONFIG_LEDS_BCM6358 is not set
+# CONFIG_LEDS_CR0014114 is not set
+# CONFIG_LEDS_EL15203000 is not set
+# CONFIG_LEDS_LM3530 is not set
+# CONFIG_LEDS_LM3532 is not set
+# CONFIG_LEDS_LM3642 is not set
+# CONFIG_LEDS_LM3692X is not set
+# CONFIG_LEDS_PCA9532 is not set
CONFIG_LEDS_GPIO=y
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_LP3952 is not set
+# CONFIG_LEDS_LP50XX is not set
+# CONFIG_LEDS_LP55XX_COMMON is not set
+# CONFIG_LEDS_LP8860 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
+# CONFIG_LEDS_DAC124S085 is not set
CONFIG_LEDS_PWM=y
+# CONFIG_LEDS_REGULATOR is not set
+# CONFIG_LEDS_BD2606MVV is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+# CONFIG_LEDS_TCA6507 is not set
+# CONFIG_LEDS_TLC591XX is not set
+# CONFIG_LEDS_LM355x is not set
+# CONFIG_LEDS_IS31FL319X is not set
CONFIG_LEDS_IS31FL32XX=y
+
+#
+# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
+#
+# CONFIG_LEDS_BLINKM is not set
CONFIG_LEDS_SYSCON=y
+# CONFIG_LEDS_MLXREG is not set
+# CONFIG_LEDS_USER is not set
+# CONFIG_LEDS_SPI_BYTE is not set
+# CONFIG_LEDS_LM3697 is not set
+
+#
+# Flash and Torch LED drivers
+#
+
+#
+# RGB LED drivers
+#
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_ONESHOT=y
CONFIG_LEDS_TRIGGER_DISK=y
+# CONFIG_LEDS_TRIGGER_MTD is not set
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
CONFIG_LEDS_TRIGGER_CPU=y
+# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
+# CONFIG_LEDS_TRIGGER_GPIO is not set
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
+# CONFIG_LEDS_TRIGGER_CAMERA is not set
+# CONFIG_LEDS_TRIGGER_PANIC is not set
+# CONFIG_LEDS_TRIGGER_NETDEV is not set
+# CONFIG_LEDS_TRIGGER_PATTERN is not set
+# CONFIG_LEDS_TRIGGER_AUDIO is not set
+# CONFIG_LEDS_TRIGGER_TTY is not set
+
+#
+# Simple LED drivers
+#
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC_SUPPORT=y
+# CONFIG_EDAC is not set
+CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_SYSTOHC is not set
+# CONFIG_RTC_DEBUG is not set
+CONFIG_RTC_NVMEM=y
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
# CONFIG_RTC_INTF_PROC is not set
# CONFIG_RTC_INTF_DEV is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_ABB5ZES3 is not set
+# CONFIG_RTC_DRV_ABEOZ9 is not set
+# CONFIG_RTC_DRV_ABX80X is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
CONFIG_RTC_DRV_HYM8563=y
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_MAX31335 is not set
+# CONFIG_RTC_DRV_NCT3018Y is not set
CONFIG_RTC_DRV_RK808=y
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_ISL12022 is not set
+# CONFIG_RTC_DRV_ISL12026 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8523 is not set
+# CONFIG_RTC_DRV_PCF85063 is not set
+# CONFIG_RTC_DRV_PCF85363 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+# CONFIG_RTC_DRV_TPS6586X is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8010 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+# CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3028 is not set
+# CONFIG_RTC_DRV_RV3032 is not set
+# CONFIG_RTC_DRV_RV8803 is not set
+# CONFIG_RTC_DRV_SD3078 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1302 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1343 is not set
+# CONFIG_RTC_DRV_DS1347 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6916 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_MCP795 is not set
+CONFIG_RTC_I2C_AND_SPI=y
+
+#
+# SPI and I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS3232 is not set
+# CONFIG_RTC_DRV_PCF2127 is not set
+# CONFIG_RTC_DRV_RV3029C2 is not set
+# CONFIG_RTC_DRV_RX6110 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1685_FAMILY is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_DS2404 is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_ZYNQMP is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PL030 is not set
+# CONFIG_RTC_DRV_PL031 is not set
+# CONFIG_RTC_DRV_CADENCE is not set
+# CONFIG_RTC_DRV_FTRTC010 is not set
+# CONFIG_RTC_DRV_R7301 is not set
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_HID_SENSOR_TIME is not set
+# CONFIG_RTC_DRV_GOLDFISH is not set
CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_OF=y
+# CONFIG_ALTERA_MSGDMA is not set
+# CONFIG_AMBA_PL08X is not set
+# CONFIG_BCM_SBA_RAID is not set
+# CONFIG_DW_AXI_DMAC is not set
+# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_QDMA is not set
+# CONFIG_INTEL_IDMA64 is not set
+# CONFIG_MV_XOR_V2 is not set
CONFIG_PL330_DMA=y
+# CONFIG_PLX_DMA is not set
+# CONFIG_XILINX_DMA is not set
+# CONFIG_XILINX_XDMA is not set
+# CONFIG_XILINX_ZYNQMP_DMA is not set
+# CONFIG_XILINX_ZYNQMP_DPDMA is not set
+# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_HIDMA is not set
+# CONFIG_DW_DMAC is not set
+# CONFIG_DW_DMAC_PCI is not set
+# CONFIG_DW_EDMA is not set
+# CONFIG_SF_PDMA is not set
+
+#
+# DMA Clients
+#
+# CONFIG_ASYNC_TX_DMA is not set
+# CONFIG_DMATEST is not set
+
+#
+# DMABUF options
+#
+CONFIG_SYNC_FILE=y
+# CONFIG_SW_SYNC is not set
CONFIG_UDMABUF=y
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_DEBUG is not set
+# CONFIG_DMABUF_SELFTESTS is not set
CONFIG_DMABUF_HEAPS=y
+# CONFIG_DMABUF_SYSFS_STATS is not set
CONFIG_DMABUF_HEAPS_SYSTEM=y
+# end of DMABUF options
+
+# CONFIG_UIO is not set
+# CONFIG_VFIO is not set
+# CONFIG_VIRT_DRIVERS is not set
# CONFIG_VIRTIO_MENU is not set
+# CONFIG_VDPA is not set
# CONFIG_VHOST_MENU is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+# end of Microsoft Hyper-V guest support
+
+# CONFIG_GREYBUS is not set
+# CONFIG_COMEDI is not set
CONFIG_STAGING=y
+# CONFIG_PRISM2_USB is not set
+# CONFIG_RTLLIB is not set
CONFIG_RTL8723BS=m
CONFIG_R8712U=m
+# CONFIG_RTS5208 is not set
+# CONFIG_VT6655 is not set
+# CONFIG_VT6656 is not set
+
+#
+# IIO staging drivers
+#
+
+#
+# Accelerometers
+#
+# CONFIG_ADIS16203 is not set
+# CONFIG_ADIS16240 is not set
+# end of Accelerometers
+
+#
+# Analog to digital converters
+#
+# CONFIG_AD7816 is not set
+# end of Analog to digital converters
+
+#
+# Analog digital bi-direction converters
+#
+# CONFIG_ADT7316 is not set
+# end of Analog digital bi-direction converters
+
+#
+# Direct Digital Synthesis
+#
+# CONFIG_AD9832 is not set
+# CONFIG_AD9834 is not set
+# end of Direct Digital Synthesis
+
+#
+# Network Analyzer, Impedance Converters
+#
+# CONFIG_AD5933 is not set
+# end of Network Analyzer, Impedance Converters
+# end of IIO staging drivers
+
+# CONFIG_FB_SM750 is not set
CONFIG_STAGING_MEDIA=y
+# CONFIG_DVB_AV7110 is not set
+# CONFIG_VIDEO_MAX96712 is not set
CONFIG_VIDEO_ROCKCHIP_VDEC=y
+
+#
+# StarFive media platform drivers
+#
+# CONFIG_STAGING_MEDIA_DEPRECATED is not set
+# CONFIG_STAGING_BOARD is not set
+# CONFIG_LTE_GDM724X is not set
+# CONFIG_FB_TFT is not set
+# CONFIG_KS7010 is not set
+# CONFIG_PI433 is not set
+# CONFIG_XIL_AXIS_FIFO is not set
+# CONFIG_FIELDBUS_DEV is not set
+# CONFIG_VME_BUS is not set
+# CONFIG_GOLDFISH is not set
CONFIG_CHROME_PLATFORMS=y
+# CONFIG_CROS_EC is not set
+# CONFIG_CROS_HPS_I2C is not set
+# CONFIG_MELLANOX_PLATFORM is not set
# CONFIG_SURFACE_PLATFORMS is not set
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Clock driver for ARM Reference designs
+#
+# CONFIG_CLK_ICST is not set
+# CONFIG_CLK_SP810 is not set
+# end of Clock driver for ARM Reference designs
+
+# CONFIG_LMK04832 is not set
+# CONFIG_COMMON_CLK_MAX9485 is not set
CONFIG_COMMON_CLK_RK808=y
CONFIG_COMMON_CLK_SCMI=y
CONFIG_COMMON_CLK_SCPI=y
+# CONFIG_COMMON_CLK_SI5341 is not set
+# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI514 is not set
+# CONFIG_COMMON_CLK_SI544 is not set
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
+# CONFIG_COMMON_CLK_CDCE925 is not set
+# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
CONFIG_COMMON_CLK_XGENE=y
CONFIG_COMMON_CLK_PWM=y
+# CONFIG_COMMON_CLK_RS9_PCIE is not set
+# CONFIG_COMMON_CLK_SI521XX is not set
+# CONFIG_COMMON_CLK_VC3 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
+# CONFIG_COMMON_CLK_VC7 is not set
CONFIG_COMMON_CLK_FIXED_MMIO=y
+CONFIG_COMMON_CLK_ROCKCHIP=y
+CONFIG_CLK_PX30=y
# CONFIG_CLK_RK3308 is not set
# CONFIG_CLK_RK3328 is not set
# CONFIG_CLK_RK3368 is not set
# CONFIG_CLK_RK3399 is not set
+CONFIG_CLK_RK3568=y
+CONFIG_CLK_RK3588=y
+# CONFIG_XILINX_VCU is not set
+# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_HWSPINLOCK is not set
+
+#
+# Clock Source drivers
+#
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_ROCKCHIP_TIMER=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
# CONFIG_FSL_ERRATUM_A008585 is not set
# CONFIG_HISILICON_ERRATUM_161010101 is not set
# CONFIG_ARM64_ERRATUM_858921 is not set
+# end of Clock Source drivers
+
CONFIG_MAILBOX=y
CONFIG_ARM_MHU=y
+# CONFIG_ARM_MHU_V2 is not set
CONFIG_PLATFORM_MHU=y
+# CONFIG_PL320_MBOX is not set
CONFIG_ROCKCHIP_MBOX=y
+# CONFIG_ALTERA_MBOX is not set
+# CONFIG_MAILBOX_TEST is not set
+CONFIG_IOMMU_IOVA=y
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_IOMMU_IO_PGTABLE=y
+CONFIG_IOMMU_IO_PGTABLE_LPAE=y
+# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
+# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
+# CONFIG_IOMMU_IO_PGTABLE_DART is not set
+# end of Generic IOMMU Pagetable Support
+
+# CONFIG_IOMMU_DEBUGFS is not set
+CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
+# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set
+# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
+CONFIG_OF_IOMMU=y
+CONFIG_IOMMU_DMA=y
+# CONFIG_IOMMUFD is not set
CONFIG_ROCKCHIP_IOMMU=y
CONFIG_ARM_SMMU=y
+# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set
+CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
CONFIG_ARM_SMMU_V3=y
+# CONFIG_ARM_SMMU_V3_SVA is not set
+
+#
+# Remoteproc drivers
+#
+# CONFIG_REMOTEPROC is not set
+# end of Remoteproc drivers
+
+#
+# Rpmsg drivers
+#
+# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_VIRTIO is not set
+# end of Rpmsg drivers
+
+# CONFIG_SOUNDWIRE is not set
+
+#
+# SOC (System On Chip) specific Drivers
+#
+
+#
+# Amlogic SoC drivers
+#
+# end of Amlogic SoC drivers
+
+#
+# Broadcom SoC drivers
+#
+# end of Broadcom SoC drivers
+
+#
+# NXP/Freescale QorIQ SoC drivers
+#
+# CONFIG_QUICC_ENGINE is not set
+# CONFIG_FSL_RCPM is not set
+# end of NXP/Freescale QorIQ SoC drivers
+
+#
+# fujitsu SoC drivers
+#
+# end of fujitsu SoC drivers
+
+#
+# i.MX SoC drivers
+#
+# end of i.MX SoC drivers
+
+#
+# Enable LiteX SoC Builder specific drivers
+#
+# CONFIG_LITEX_SOC_CONTROLLER is not set
+# end of Enable LiteX SoC Builder specific drivers
+
+# CONFIG_WPCM450_SOC is not set
+
+#
+# Qualcomm SoC drivers
+#
+# end of Qualcomm SoC drivers
+
+CONFIG_ROCKCHIP_GRF=y
CONFIG_ROCKCHIP_IODOMAIN=y
+# CONFIG_SOC_TI is not set
+
+#
+# Xilinx SoC drivers
+#
+# end of Xilinx SoC drivers
+# end of SOC (System On Chip) specific Drivers
+
+#
+# PM Domains
+#
+
+#
+# Amlogic PM Domains
+#
+# end of Amlogic PM Domains
+
+CONFIG_ARM_SCMI_PERF_DOMAIN=y
+CONFIG_ARM_SCMI_POWER_DOMAIN=y
+CONFIG_ARM_SCPI_POWER_DOMAIN=y
+
+#
+# Broadcom PM Domains
+#
+# end of Broadcom PM Domains
+
+#
+# i.MX PM Domains
+#
+# end of i.MX PM Domains
+
+#
+# Qualcomm PM Domains
+#
+# end of Qualcomm PM Domains
+
CONFIG_ROCKCHIP_PM_DOMAINS=y
+# end of PM Domains
+
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
CONFIG_DEVFREQ_GOV_POWERSAVE=y
+# CONFIG_DEVFREQ_GOV_USERSPACE is not set
+# CONFIG_DEVFREQ_GOV_PASSIVE is not set
+
+#
+# DEVFREQ Drivers
+#
CONFIG_ARM_RK3399_DMC_DEVFREQ=y
+CONFIG_PM_DEVFREQ_EVENT=y
+CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=y
+CONFIG_EXTCON=y
+
+#
+# Extcon Device Drivers
+#
+# CONFIG_EXTCON_ADC_JACK is not set
+# CONFIG_EXTCON_FSA9480 is not set
+# CONFIG_EXTCON_GPIO is not set
+# CONFIG_EXTCON_MAX3355 is not set
+# CONFIG_EXTCON_PTN5150 is not set
+# CONFIG_EXTCON_RT8973A is not set
+# CONFIG_EXTCON_SM5502 is not set
+# CONFIG_EXTCON_USB_GPIO is not set
+# CONFIG_EXTCON_USBC_TUSB320 is not set
CONFIG_MEMORY=y
+# CONFIG_ARM_PL172_MPMC is not set
CONFIG_IIO=y
+CONFIG_IIO_BUFFER=y
+CONFIG_IIO_BUFFER_CB=y
+# CONFIG_IIO_BUFFER_DMA is not set
+# CONFIG_IIO_BUFFER_DMAENGINE is not set
CONFIG_IIO_BUFFER_HW_CONSUMER=y
+CONFIG_IIO_KFIFO_BUF=y
+CONFIG_IIO_TRIGGERED_BUFFER=y
+CONFIG_IIO_CONFIGFS=y
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
CONFIG_IIO_SW_DEVICE=y
CONFIG_IIO_SW_TRIGGER=y
CONFIG_IIO_TRIGGERED_EVENT=y
+
+#
+# Accelerometers
+#
+# CONFIG_ADIS16201 is not set
+# CONFIG_ADIS16209 is not set
+# CONFIG_ADXL313_I2C is not set
+# CONFIG_ADXL313_SPI is not set
+# CONFIG_ADXL345_I2C is not set
+# CONFIG_ADXL345_SPI is not set
+# CONFIG_ADXL355_I2C is not set
+# CONFIG_ADXL355_SPI is not set
+# CONFIG_ADXL367_SPI is not set
+# CONFIG_ADXL367_I2C is not set
+# CONFIG_ADXL372_SPI is not set
+# CONFIG_ADXL372_I2C is not set
+# CONFIG_BMA180 is not set
+# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
+# CONFIG_BMC150_ACCEL is not set
+# CONFIG_BMI088_ACCEL is not set
+# CONFIG_DA280 is not set
+# CONFIG_DA311 is not set
+# CONFIG_DMARD06 is not set
+# CONFIG_DMARD09 is not set
+# CONFIG_DMARD10 is not set
+# CONFIG_FXLS8962AF_I2C is not set
+# CONFIG_FXLS8962AF_SPI is not set
+# CONFIG_HID_SENSOR_ACCEL_3D is not set
+# CONFIG_IIO_ST_ACCEL_3AXIS is not set
+# CONFIG_IIO_KX022A_SPI is not set
+# CONFIG_IIO_KX022A_I2C is not set
+# CONFIG_KXSD9 is not set
+# CONFIG_KXCJK1013 is not set
+# CONFIG_MC3230 is not set
+# CONFIG_MMA7455_I2C is not set
+# CONFIG_MMA7455_SPI is not set
+# CONFIG_MMA7660 is not set
+# CONFIG_MMA8452 is not set
+# CONFIG_MMA9551 is not set
+# CONFIG_MMA9553 is not set
+# CONFIG_MSA311 is not set
+# CONFIG_MXC4005 is not set
+# CONFIG_MXC6255 is not set
+# CONFIG_SCA3000 is not set
+# CONFIG_SCA3300 is not set
+# CONFIG_STK8312 is not set
+# CONFIG_STK8BA50 is not set
+# end of Accelerometers
+
+#
+# Analog to digital converters
+#
+# CONFIG_AD4130 is not set
+# CONFIG_AD7091R5 is not set
+# CONFIG_AD7091R8 is not set
+# CONFIG_AD7124 is not set
+# CONFIG_AD7192 is not set
+# CONFIG_AD7266 is not set
+# CONFIG_AD7280 is not set
+# CONFIG_AD7291 is not set
+# CONFIG_AD7292 is not set
+# CONFIG_AD7298 is not set
+# CONFIG_AD7476 is not set
+# CONFIG_AD7606_IFACE_PARALLEL is not set
+# CONFIG_AD7606_IFACE_SPI is not set
+# CONFIG_AD7766 is not set
+# CONFIG_AD7768_1 is not set
+# CONFIG_AD7780 is not set
+# CONFIG_AD7791 is not set
+# CONFIG_AD7793 is not set
+# CONFIG_AD7887 is not set
+# CONFIG_AD7923 is not set
+# CONFIG_AD7949 is not set
+# CONFIG_AD799X is not set
+# CONFIG_ADI_AXI_ADC is not set
+# CONFIG_CC10001_ADC is not set
+# CONFIG_ENVELOPE_DETECTOR is not set
+# CONFIG_HI8435 is not set
+# CONFIG_HX711 is not set
+# CONFIG_INA2XX_ADC is not set
+# CONFIG_LTC2309 is not set
+# CONFIG_LTC2471 is not set
+# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
+# CONFIG_LTC2497 is not set
+# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
+# CONFIG_MAX1118 is not set
+# CONFIG_MAX11205 is not set
+# CONFIG_MAX11410 is not set
+# CONFIG_MAX1241 is not set
+# CONFIG_MAX1363 is not set
+# CONFIG_MAX34408 is not set
+# CONFIG_MAX9611 is not set
+# CONFIG_MCP320X is not set
+# CONFIG_MCP3422 is not set
+# CONFIG_MCP3564 is not set
+# CONFIG_MCP3911 is not set
+# CONFIG_NAU7802 is not set
CONFIG_ROCKCHIP_SARADC=y
+# CONFIG_RICHTEK_RTQ6056 is not set
+# CONFIG_SD_ADC_MODULATOR is not set
+# CONFIG_TI_ADC081C is not set
+# CONFIG_TI_ADC0832 is not set
+# CONFIG_TI_ADC084S021 is not set
+# CONFIG_TI_ADC12138 is not set
+# CONFIG_TI_ADC108S102 is not set
+# CONFIG_TI_ADC128S052 is not set
+# CONFIG_TI_ADC161S626 is not set
+# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7924 is not set
+# CONFIG_TI_ADS1100 is not set
+# CONFIG_TI_ADS7950 is not set
+# CONFIG_TI_ADS8344 is not set
+# CONFIG_TI_ADS8688 is not set
+# CONFIG_TI_ADS124S08 is not set
+# CONFIG_TI_ADS131E08 is not set
+# CONFIG_TI_LMP92064 is not set
+# CONFIG_TI_TLC4541 is not set
+# CONFIG_TI_TSC2046 is not set
+# CONFIG_VF610_ADC is not set
+# CONFIG_XILINX_XADC is not set
+# end of Analog to digital converters
+
+#
+# Analog to digital and digital to analog converters
+#
+# CONFIG_AD74115 is not set
+# CONFIG_AD74413R is not set
+# end of Analog to digital and digital to analog converters
+
+#
+# Analog Front Ends
+#
+# CONFIG_IIO_RESCALE is not set
+# end of Analog Front Ends
+
+#
+# Amplifiers
+#
+# CONFIG_AD8366 is not set
+# CONFIG_ADA4250 is not set
+# CONFIG_HMC425 is not set
+# end of Amplifiers
+
+#
+# Capacitance to digital converters
+#
+# CONFIG_AD7150 is not set
+# CONFIG_AD7746 is not set
+# end of Capacitance to digital converters
+
+#
+# Chemical Sensors
+#
+# CONFIG_AOSONG_AGS02MA is not set
+# CONFIG_ATLAS_PH_SENSOR is not set
+# CONFIG_ATLAS_EZO_SENSOR is not set
+# CONFIG_BME680 is not set
+# CONFIG_CCS811 is not set
+# CONFIG_IAQCORE is not set
+# CONFIG_PMS7003 is not set
+# CONFIG_SCD30_CORE is not set
+# CONFIG_SCD4X is not set
+# CONFIG_SENSIRION_SGP30 is not set
+# CONFIG_SENSIRION_SGP40 is not set
+# CONFIG_SPS30_I2C is not set
+# CONFIG_SPS30_SERIAL is not set
+# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
+# CONFIG_VZ89X is not set
+# end of Chemical Sensors
+
+#
+# Hid Sensor IIO Common
+#
+# CONFIG_HID_SENSOR_IIO_COMMON is not set
+# end of Hid Sensor IIO Common
+
+#
+# IIO SCMI Sensors
+#
+# CONFIG_IIO_SCMI is not set
+# end of IIO SCMI Sensors
+
+#
+# SSP Sensor Common
+#
+# CONFIG_IIO_SSP_SENSORHUB is not set
+# end of SSP Sensor Common
+
+#
+# Digital to analog converters
+#
+# CONFIG_AD3552R is not set
+# CONFIG_AD5064 is not set
+# CONFIG_AD5360 is not set
+# CONFIG_AD5380 is not set
+# CONFIG_AD5421 is not set
+# CONFIG_AD5446 is not set
+# CONFIG_AD5449 is not set
+# CONFIG_AD5592R is not set
+# CONFIG_AD5593R is not set
+# CONFIG_AD5504 is not set
+# CONFIG_AD5624R_SPI is not set
+# CONFIG_LTC2688 is not set
+# CONFIG_AD5686_SPI is not set
+# CONFIG_AD5696_I2C is not set
+# CONFIG_AD5755 is not set
+# CONFIG_AD5758 is not set
+# CONFIG_AD5761 is not set
+# CONFIG_AD5764 is not set
+# CONFIG_AD5766 is not set
+# CONFIG_AD5770R is not set
+# CONFIG_AD5791 is not set
+# CONFIG_AD7293 is not set
+# CONFIG_AD7303 is not set
+# CONFIG_AD8801 is not set
+# CONFIG_DPOT_DAC is not set
+# CONFIG_DS4424 is not set
+# CONFIG_LTC1660 is not set
+# CONFIG_LTC2632 is not set
+# CONFIG_M62332 is not set
+# CONFIG_MAX517 is not set
+# CONFIG_MAX5522 is not set
+# CONFIG_MAX5821 is not set
+# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
+# CONFIG_MCP4821 is not set
+# CONFIG_MCP4922 is not set
+# CONFIG_TI_DAC082S085 is not set
+# CONFIG_TI_DAC5571 is not set
+# CONFIG_TI_DAC7311 is not set
+# CONFIG_TI_DAC7612 is not set
+# CONFIG_VF610_DAC is not set
+# end of Digital to analog converters
+
+#
+# IIO dummy driver
+#
+# CONFIG_IIO_SIMPLE_DUMMY is not set
+# end of IIO dummy driver
+
+#
+# Filters
+#
+# CONFIG_ADMV8818 is not set
+# end of Filters
+
+#
+# Frequency Synthesizers DDS/PLL
+#
+
+#
+# Clock Generator/Distribution
+#
+# CONFIG_AD9523 is not set
+# end of Clock Generator/Distribution
+
+#
+# Phase-Locked Loop (PLL) frequency synthesizers
+#
+# CONFIG_ADF4350 is not set
+# CONFIG_ADF4371 is not set
+# CONFIG_ADF4377 is not set
+# CONFIG_ADMV1013 is not set
+# CONFIG_ADMV1014 is not set
+# CONFIG_ADMV4420 is not set
+# CONFIG_ADRF6780 is not set
+# end of Phase-Locked Loop (PLL) frequency synthesizers
+# end of Frequency Synthesizers DDS/PLL
+
+#
+# Digital gyroscope sensors
+#
+# CONFIG_ADIS16080 is not set
+# CONFIG_ADIS16130 is not set
+# CONFIG_ADIS16136 is not set
+# CONFIG_ADIS16260 is not set
+# CONFIG_ADXRS290 is not set
+# CONFIG_ADXRS450 is not set
+# CONFIG_BMG160 is not set
+# CONFIG_FXAS21002C is not set
+# CONFIG_HID_SENSOR_GYRO_3D is not set
+# CONFIG_MPU3050_I2C is not set
+# CONFIG_IIO_ST_GYRO_3AXIS is not set
+# CONFIG_ITG3200 is not set
+# end of Digital gyroscope sensors
+
+#
+# Health Sensors
+#
+
+#
+# Heart Rate Monitors
+#
+# CONFIG_AFE4403 is not set
+# CONFIG_AFE4404 is not set
+# CONFIG_MAX30100 is not set
+# CONFIG_MAX30102 is not set
+# end of Heart Rate Monitors
+# end of Health Sensors
+
+#
+# Humidity sensors
+#
+# CONFIG_AM2315 is not set
+# CONFIG_DHT11 is not set
+# CONFIG_HDC100X is not set
+# CONFIG_HDC2010 is not set
+# CONFIG_HID_SENSOR_HUMIDITY is not set
+# CONFIG_HTS221 is not set
+# CONFIG_HTU21 is not set
+# CONFIG_SI7005 is not set
+# CONFIG_SI7020 is not set
+# end of Humidity sensors
+
+#
+# Inertial measurement units
+#
+# CONFIG_ADIS16400 is not set
+# CONFIG_ADIS16460 is not set
+# CONFIG_ADIS16475 is not set
+# CONFIG_ADIS16480 is not set
+# CONFIG_BMI160_I2C is not set
+# CONFIG_BMI160_SPI is not set
+# CONFIG_BMI323_I2C is not set
+# CONFIG_BMI323_SPI is not set
+# CONFIG_BOSCH_BNO055_SERIAL is not set
+# CONFIG_BOSCH_BNO055_I2C is not set
+# CONFIG_FXOS8700_I2C is not set
+# CONFIG_FXOS8700_SPI is not set
+# CONFIG_KMX61 is not set
+# CONFIG_INV_ICM42600_I2C is not set
+# CONFIG_INV_ICM42600_SPI is not set
+# CONFIG_INV_MPU6050_I2C is not set
+# CONFIG_INV_MPU6050_SPI is not set
+# CONFIG_IIO_ST_LSM6DSX is not set
+# CONFIG_IIO_ST_LSM9DS0 is not set
+# end of Inertial measurement units
+
+#
+# Light sensors
+#
+# CONFIG_ADJD_S311 is not set
+# CONFIG_ADUX1020 is not set
+# CONFIG_AL3010 is not set
+# CONFIG_AL3320A is not set
+# CONFIG_APDS9300 is not set
+# CONFIG_APDS9960 is not set
+# CONFIG_AS73211 is not set
+# CONFIG_BH1750 is not set
+# CONFIG_BH1780 is not set
+# CONFIG_CM32181 is not set
+# CONFIG_CM3232 is not set
+# CONFIG_CM3323 is not set
+# CONFIG_CM3605 is not set
+# CONFIG_CM36651 is not set
+# CONFIG_GP2AP002 is not set
+# CONFIG_GP2AP020A00F is not set
CONFIG_SENSORS_ISL29018=y
+# CONFIG_SENSORS_ISL29028 is not set
+# CONFIG_ISL29125 is not set
+# CONFIG_ISL76682 is not set
+# CONFIG_HID_SENSOR_ALS is not set
+# CONFIG_HID_SENSOR_PROX is not set
+# CONFIG_JSA1212 is not set
+# CONFIG_ROHM_BU27008 is not set
+# CONFIG_ROHM_BU27034 is not set
+# CONFIG_RPR0521 is not set
+# CONFIG_LTR390 is not set
+# CONFIG_LTR501 is not set
+# CONFIG_LTRF216A is not set
+# CONFIG_LV0104CS is not set
+# CONFIG_MAX44000 is not set
+# CONFIG_MAX44009 is not set
+# CONFIG_NOA1305 is not set
+# CONFIG_OPT3001 is not set
+# CONFIG_OPT4001 is not set
+# CONFIG_PA12203001 is not set
+# CONFIG_SI1133 is not set
+# CONFIG_SI1145 is not set
+# CONFIG_STK3310 is not set
+# CONFIG_ST_UVIS25 is not set
+# CONFIG_TCS3414 is not set
+# CONFIG_TCS3472 is not set
CONFIG_SENSORS_TSL2563=y
CONFIG_TSL2583=y
+# CONFIG_TSL2591 is not set
+# CONFIG_TSL2772 is not set
+# CONFIG_TSL4531 is not set
+# CONFIG_US5182D is not set
+# CONFIG_VCNL4000 is not set
+# CONFIG_VCNL4035 is not set
+# CONFIG_VEML6030 is not set
+# CONFIG_VEML6070 is not set
+# CONFIG_VEML6075 is not set
+# CONFIG_VL6180 is not set
+# CONFIG_ZOPT2201 is not set
+# end of Light sensors
+
+#
+# Magnetometer sensors
+#
+# CONFIG_AK8974 is not set
+# CONFIG_AK8975 is not set
+# CONFIG_AK09911 is not set
+# CONFIG_BMC150_MAGN_I2C is not set
+# CONFIG_BMC150_MAGN_SPI is not set
+# CONFIG_MAG3110 is not set
+# CONFIG_HID_SENSOR_MAGNETOMETER_3D is not set
+# CONFIG_MMC35240 is not set
+# CONFIG_IIO_ST_MAGN_3AXIS is not set
+# CONFIG_SENSORS_HMC5843_I2C is not set
+# CONFIG_SENSORS_HMC5843_SPI is not set
+# CONFIG_SENSORS_RM3100_I2C is not set
+# CONFIG_SENSORS_RM3100_SPI is not set
+# CONFIG_TI_TMAG5273 is not set
+# CONFIG_YAMAHA_YAS530 is not set
+# end of Magnetometer sensors
+
+#
+# Multiplexers
+#
CONFIG_IIO_MUX=y
+# end of Multiplexers
+
+#
+# Inclinometer sensors
+#
+# CONFIG_HID_SENSOR_INCLINOMETER_3D is not set
+# CONFIG_HID_SENSOR_DEVICE_ROTATION is not set
+# end of Inclinometer sensors
+
+#
+# Triggers - standalone
+#
CONFIG_IIO_HRTIMER_TRIGGER=y
+# CONFIG_IIO_INTERRUPT_TRIGGER is not set
+# CONFIG_IIO_TIGHTLOOP_TRIGGER is not set
CONFIG_IIO_SYSFS_TRIGGER=y
+# end of Triggers - standalone
+
+#
+# Linear and angular position sensors
+#
+# CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE is not set
+# end of Linear and angular position sensors
+
+#
+# Digital potentiometers
+#
+# CONFIG_AD5110 is not set
+# CONFIG_AD5272 is not set
+# CONFIG_DS1803 is not set
+# CONFIG_MAX5432 is not set
+# CONFIG_MAX5481 is not set
+# CONFIG_MAX5487 is not set
+# CONFIG_MCP4018 is not set
+# CONFIG_MCP4131 is not set
+# CONFIG_MCP4531 is not set
+# CONFIG_MCP41010 is not set
+# CONFIG_TPL0102 is not set
+# CONFIG_X9250 is not set
+# end of Digital potentiometers
+
+#
+# Digital potentiostats
+#
+# CONFIG_LMP91000 is not set
+# end of Digital potentiostats
+
+#
+# Pressure sensors
+#
+# CONFIG_ABP060MG is not set
+# CONFIG_ROHM_BM1390 is not set
+# CONFIG_BMP280 is not set
+# CONFIG_DLHL60D is not set
+# CONFIG_DPS310 is not set
+# CONFIG_HID_SENSOR_PRESS is not set
+# CONFIG_HP03 is not set
+# CONFIG_HSC030PA is not set
+# CONFIG_ICP10100 is not set
+# CONFIG_MPL115_I2C is not set
+# CONFIG_MPL115_SPI is not set
+# CONFIG_MPL3115 is not set
+# CONFIG_MPRLS0025PA is not set
+# CONFIG_MS5611 is not set
+# CONFIG_MS5637 is not set
+# CONFIG_IIO_ST_PRESS is not set
+# CONFIG_T5403 is not set
+# CONFIG_HP206C is not set
+# CONFIG_ZPA2326 is not set
+# end of Pressure sensors
+
+#
+# Lightning sensors
+#
+# CONFIG_AS3935 is not set
+# end of Lightning sensors
+
+#
+# Proximity and distance sensors
+#
+# CONFIG_IRSD200 is not set
+# CONFIG_ISL29501 is not set
+# CONFIG_LIDAR_LITE_V2 is not set
+# CONFIG_MB1232 is not set
+# CONFIG_PING is not set
+# CONFIG_RFD77402 is not set
+# CONFIG_SRF04 is not set
+# CONFIG_SX9310 is not set
+# CONFIG_SX9324 is not set
+# CONFIG_SX9360 is not set
+# CONFIG_SX9500 is not set
+# CONFIG_SRF08 is not set
+# CONFIG_VCNL3020 is not set
+# CONFIG_VL53L0X_I2C is not set
+# end of Proximity and distance sensors
+
+#
+# Resolver to digital converters
+#
+# CONFIG_AD2S90 is not set
+# CONFIG_AD2S1200 is not set
+# CONFIG_AD2S1210 is not set
+# end of Resolver to digital converters
+
+#
+# Temperature sensors
+#
+# CONFIG_LTC2983 is not set
+# CONFIG_MAXIM_THERMOCOUPLE is not set
+# CONFIG_HID_SENSOR_TEMP is not set
+# CONFIG_MLX90614 is not set
+# CONFIG_MLX90632 is not set
+# CONFIG_MLX90635 is not set
+# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
+# CONFIG_TMP117 is not set
+# CONFIG_TSYS01 is not set
+# CONFIG_TSYS02D is not set
+# CONFIG_MAX30208 is not set
+# CONFIG_MAX31856 is not set
+# CONFIG_MAX31865 is not set
+# CONFIG_MCP9600 is not set
+# end of Temperature sensors
+
+# CONFIG_NTB is not set
CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+# CONFIG_PWM_DEBUG is not set
+# CONFIG_PWM_ATMEL_TCB is not set
+# CONFIG_PWM_CLK is not set
+# CONFIG_PWM_DWC is not set
+# CONFIG_PWM_FSL_FTM is not set
+# CONFIG_PWM_PCA9685 is not set
CONFIG_PWM_ROCKCHIP=y
+# CONFIG_PWM_XILINX is not set
+
+#
+# IRQ chip support
+#
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_MAX_NR=1
+CONFIG_ARM_GIC_V2M=y
+CONFIG_ARM_GIC_V3=y
+CONFIG_ARM_GIC_V3_ITS=y
+CONFIG_ARM_GIC_V3_ITS_PCI=y
+# CONFIG_AL_FIC is not set
+# CONFIG_XILINX_INTC is not set
+CONFIG_PARTITION_PERCPU=y
+# end of IRQ chip support
+
+# CONFIG_IPACK_BUS is not set
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_SCMI=y
+# CONFIG_RESET_SIMPLE is not set
+# CONFIG_RESET_TI_SYSCON is not set
+# CONFIG_RESET_TI_TPS380X is not set
+
+#
+# PHY Subsystem
+#
+CONFIG_GENERIC_PHY=y
+CONFIG_GENERIC_PHY_MIPI_DPHY=y
+# CONFIG_PHY_CAN_TRANSCEIVER is not set
+
+#
+# PHY drivers for Broadcom platforms
+#
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# end of PHY drivers for Broadcom platforms
+
+# CONFIG_PHY_CADENCE_TORRENT is not set
+# CONFIG_PHY_CADENCE_DPHY is not set
+# CONFIG_PHY_CADENCE_DPHY_RX is not set
+# CONFIG_PHY_CADENCE_SIERRA is not set
+# CONFIG_PHY_CADENCE_SALVO is not set
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_LAN966X_SERDES is not set
+# CONFIG_PHY_CPCAP_USB is not set
+# CONFIG_PHY_MAPPHONE_MDM6600 is not set
+# CONFIG_PHY_OCELOT_SERDES is not set
CONFIG_PHY_ROCKCHIP_DP=y
CONFIG_PHY_ROCKCHIP_DPHY_RX0=y
CONFIG_PHY_ROCKCHIP_EMMC=y
@@ -1005,109 +7164,1010 @@ CONFIG_PHY_ROCKCHIP_PCIE=y
CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y
CONFIG_PHY_ROCKCHIP_TYPEC=y
CONFIG_PHY_ROCKCHIP_USB=y
+# CONFIG_PHY_SAMSUNG_USB2 is not set
+# end of PHY Subsystem
+
+# CONFIG_POWERCAP is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+# CONFIG_ARM_CCI_PMU is not set
+# CONFIG_ARM_CCN is not set
+# CONFIG_ARM_CMN is not set
+CONFIG_ARM_PMU=y
CONFIG_ARM_SMMU_V3_PMU=y
+CONFIG_ARM_PMUV3=y
+# CONFIG_ARM_DSU_PMU is not set
+# CONFIG_ARM_SPE_PMU is not set
+# CONFIG_HISI_PCIE_PMU is not set
+# CONFIG_HNS3_PMU is not set
+# CONFIG_DWC_PCIE_PMU is not set
+# CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU is not set
+# end of Performance monitor support
+
+CONFIG_RAS=y
+# CONFIG_USB4 is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID_BINDER_IPC is not set
+# end of Android
+
+# CONFIG_LIBNVDIMM is not set
+# CONFIG_DAX is not set
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SYSFS=y
+CONFIG_NVMEM_LAYOUTS=y
+
+#
+# Layout Types
+#
+# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
+# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
+# end of Layout Types
+
+# CONFIG_NVMEM_RMEM is not set
+# CONFIG_NVMEM_ROCKCHIP_EFUSE is not set
+# CONFIG_NVMEM_ROCKCHIP_OTP is not set
+# CONFIG_NVMEM_U_BOOT_ENV is not set
+
+#
+# HW tracing support
+#
+# CONFIG_STM is not set
+# CONFIG_INTEL_TH is not set
+# CONFIG_HISI_PTT is not set
+# end of HW tracing support
+
+# CONFIG_FPGA is not set
+# CONFIG_FSI is not set
+# CONFIG_TEE is not set
+CONFIG_MULTIPLEXER=y
+
+#
+# Multiplexer drivers
+#
+# CONFIG_MUX_ADG792A is not set
+# CONFIG_MUX_ADGS1408 is not set
CONFIG_MUX_GPIO=y
CONFIG_MUX_MMIO=y
+# end of Multiplexer drivers
+
+CONFIG_PM_OPP=y
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
+# CONFIG_COUNTER is not set
+# CONFIG_MOST is not set
+# CONFIG_PECI is not set
+# CONFIG_HTE is not set
+# CONFIG_CDX_BUS is not set
+# end of Device Drivers
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+# CONFIG_VALIDATE_FS_PARSER is not set
+CONFIG_FS_IOMAP=y
+CONFIG_FS_STACK=y
+CONFIG_BUFFER_HEAD=y
+CONFIG_LEGACY_DIRECT_IO=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
# CONFIG_EXT4_USE_FOR_EXT2 is not set
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
CONFIG_XFS_FS=y
+CONFIG_XFS_SUPPORT_V4=y
+CONFIG_XFS_SUPPORT_ASCII_CI=y
+# CONFIG_XFS_QUOTA is not set
+# CONFIG_XFS_POSIX_ACL is not set
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_ONLINE_SCRUB is not set
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_BTRFS_FS is not set
+# CONFIG_NILFS2_FS is not set
+# CONFIG_F2FS_FS is not set
+# CONFIG_BCACHEFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+# CONFIG_EXPORTFS_BLOCK_OPS is not set
+CONFIG_FILE_LOCKING=y
+# CONFIG_FS_ENCRYPTION is not set
+# CONFIG_FS_VERITY is not set
+CONFIG_FSNOTIFY=y
# CONFIG_DNOTIFY is not set
+CONFIG_INOTIFY_USER=y
+# CONFIG_FANOTIFY is not set
+# CONFIG_QUOTA is not set
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=y
+# CONFIG_CUSE is not set
+# CONFIG_VIRTIO_FS is not set
CONFIG_OVERLAY_FS=y
-CONFIG_FSCACHE=y
+# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
+CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
+# CONFIG_OVERLAY_FS_INDEX is not set
+# CONFIG_OVERLAY_FS_XINO_AUTO is not set
+# CONFIG_OVERLAY_FS_METACOPY is not set
+# CONFIG_OVERLAY_FS_DEBUG is not set
+
+#
+# Caches
+#
+# end of Caches
+
+#
+# CD-ROM/DVD Filesystems
+#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
+# CONFIG_UDF_FS is not set
+# end of CD-ROM/DVD Filesystems
+
+#
+# DOS/FAT/EXFAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
+# CONFIG_FAT_DEFAULT_UTF8 is not set
CONFIG_EXFAT_FS=y
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+# CONFIG_NTFS_FS is not set
+# CONFIG_NTFS3_FS is not set
+# end of DOS/FAT/EXFAT/NT Filesystems
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+# CONFIG_PROC_CHILDREN is not set
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_TMPFS_INODE64 is not set
+# CONFIG_TMPFS_QUOTA is not set
+CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
+# CONFIG_HUGETLBFS is not set
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
+CONFIG_CONFIGFS_FS=y
+# end of Pseudo filesystems
+
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ORANGEFS_FS is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_ECRYPT_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+# CONFIG_CRAMFS is not set
CONFIG_SQUASHFS=y
+# CONFIG_SQUASHFS_FILE_CACHE is not set
+# CONFIG_SQUASHFS_FILE_DIRECT is not set
+# CONFIG_SQUASHFS_DECOMP_SINGLE is not set
+# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
+# CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE is not set
+# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
+# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
+# CONFIG_SQUASHFS_XATTR is not set
+CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+# CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
+CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
+CONFIG_PSTORE_COMPRESS=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_PMSG is not set
+# CONFIG_PSTORE_RAM is not set
+# CONFIG_PSTORE_BLK is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_EROFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD is not set
+# CONFIG_CEPH_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_SMB_SERVER is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf-8"
CONFIG_NLS_CODEPAGE_437=y
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_MAC_ROMAN is not set
+# CONFIG_NLS_MAC_CELTIC is not set
+# CONFIG_NLS_MAC_CENTEURO is not set
+# CONFIG_NLS_MAC_CROATIAN is not set
+# CONFIG_NLS_MAC_CYRILLIC is not set
+# CONFIG_NLS_MAC_GAELIC is not set
+# CONFIG_NLS_MAC_GREEK is not set
+# CONFIG_NLS_MAC_ICELAND is not set
+# CONFIG_NLS_MAC_INUIT is not set
+# CONFIG_NLS_MAC_ROMANIAN is not set
+# CONFIG_NLS_MAC_TURKISH is not set
CONFIG_NLS_UTF8=y
+# CONFIG_DLM is not set
+# CONFIG_UNICODE is not set
+CONFIG_IO_WQ=y
+# end of File systems
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_KEYS_REQUEST_CACHE is not set
+# CONFIG_PERSISTENT_KEYRINGS is not set
+# CONFIG_BIG_KEYS is not set
+# CONFIG_TRUSTED_KEYS is not set
+# CONFIG_ENCRYPTED_KEYS is not set
+# CONFIG_KEY_DH_OPERATIONS is not set
+# CONFIG_KEY_NOTIFICATIONS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+# CONFIG_SECURITY_PATH is not set
CONFIG_HARDENED_USERCOPY=y
+# CONFIG_FORTIFY_SOURCE is not set
CONFIG_STATIC_USERMODEHELPER=y
+CONFIG_STATIC_USERMODEHELPER_PATH="/sbin/usermode-helper"
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_LOADPIN is not set
+# CONFIG_SECURITY_YAMA is not set
+# CONFIG_SECURITY_SAFESETID is not set
+# CONFIG_SECURITY_LOCKDOWN_LSM is not set
+# CONFIG_SECURITY_LANDLOCK is not set
+CONFIG_INTEGRITY=y
+# CONFIG_INTEGRITY_SIGNATURE is not set
+# CONFIG_IMA is not set
+# CONFIG_EVM is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_LSM="selinux,integrity"
+
+#
+# Kernel hardening options
+#
+
+#
+# Memory initialization
+#
+CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
CONFIG_INIT_STACK_NONE=y
+# CONFIG_INIT_STACK_ALL_PATTERN is not set
+# CONFIG_INIT_STACK_ALL_ZERO is not set
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
CONFIG_INIT_ON_FREE_DEFAULT_ON=y
+CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
+# CONFIG_ZERO_CALL_USED_REGS is not set
+# end of Memory initialization
+
+#
+# Hardening of kernel data structures
+#
+# CONFIG_LIST_HARDENED is not set
+# CONFIG_BUG_ON_DATA_CORRUPTION is not set
+# end of Hardening of kernel data structures
+
+CONFIG_RANDSTRUCT_NONE=y
+# end of Kernel hardening options
+# end of Security options
+
+CONFIG_XOR_BLOCKS=y
+CONFIG_ASYNC_CORE=y
+CONFIG_ASYNC_MEMCPY=y
+CONFIG_ASYNC_XOR=y
+CONFIG_ASYNC_PQ=y
+CONFIG_ASYNC_RAID6_RECOV=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_SIG2=y
+CONFIG_CRYPTO_SKCIPHER=y
+CONFIG_CRYPTO_SKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=y
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=y
+CONFIG_CRYPTO_KPP2=y
+CONFIG_CRYPTO_KPP=y
+CONFIG_CRYPTO_ACOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=y
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=y
CONFIG_CRYPTO_CRYPTD=y
+CONFIG_CRYPTO_AUTHENC=y
+# CONFIG_CRYPTO_TEST is not set
+CONFIG_CRYPTO_ENGINE=y
+# end of Crypto core or helper
+
+#
+# Public-key cryptography
+#
+CONFIG_CRYPTO_RSA=y
+# CONFIG_CRYPTO_DH is not set
+CONFIG_CRYPTO_ECC=y
CONFIG_CRYPTO_ECDH=y
+# CONFIG_CRYPTO_ECDSA is not set
+# CONFIG_CRYPTO_ECRDSA is not set
+# CONFIG_CRYPTO_SM2 is not set
+# CONFIG_CRYPTO_CURVE25519 is not set
+# end of Public-key cryptography
+
+#
+# Block ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_AES_TI is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARIA is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=y
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SEED is not set
+# CONFIG_CRYPTO_SERPENT is not set
+# CONFIG_CRYPTO_SM4_GENERIC is not set
+# CONFIG_CRYPTO_TEA is not set
CONFIG_CRYPTO_TWOFISH=y
+CONFIG_CRYPTO_TWOFISH_COMMON=y
+# end of Block ciphers
+
+#
+# Length-preserving ciphers and modes
+#
+# CONFIG_CRYPTO_ADIANTUM is not set
CONFIG_CRYPTO_ARC4=y
+CONFIG_CRYPTO_CHACHA20=y
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_HCTR2 is not set
+# CONFIG_CRYPTO_KEYWRAP is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
CONFIG_CRYPTO_XTS=y
+CONFIG_CRYPTO_NHPOLY1305=y
+# end of Length-preserving ciphers and modes
+
+#
+# AEAD (authenticated encryption with associated data) ciphers
+#
+# CONFIG_CRYPTO_AEGIS128 is not set
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_CCM=y
+CONFIG_CRYPTO_GCM=y
+CONFIG_CRYPTO_GENIV=y
+CONFIG_CRYPTO_SEQIV=y
+CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_ESSIV=y
+# end of AEAD (authenticated encryption with associated data) ciphers
+
+#
+# Hashes, digests, and MACs
+#
+# CONFIG_CRYPTO_BLAKE2B is not set
CONFIG_CRYPTO_CMAC=y
+CONFIG_CRYPTO_GHASH=y
+CONFIG_CRYPTO_HMAC=y
+# CONFIG_CRYPTO_MD4 is not set
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+CONFIG_CRYPTO_POLY1305=y
+# CONFIG_CRYPTO_RMD160 is not set
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_SHA3=y
+# CONFIG_CRYPTO_SM3_GENERIC is not set
+# CONFIG_CRYPTO_STREEBOG is not set
+# CONFIG_CRYPTO_VMAC is not set
+# CONFIG_CRYPTO_WP512 is not set
CONFIG_CRYPTO_XCBC=y
+# CONFIG_CRYPTO_XXHASH is not set
+# end of Hashes, digests, and MACs
+
+#
+# CRCs (cyclic redundancy checks)
+#
+CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=y
+CONFIG_CRYPTO_CRCT10DIF=y
+# CONFIG_CRYPTO_CRC64_ROCKSOFT is not set
+# end of CRCs (cyclic redundancy checks)
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
+# CONFIG_CRYPTO_842 is not set
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_LZ4HC=y
CONFIG_CRYPTO_ZSTD=y
+# end of Compression
+
+#
+# Random number generation
+#
CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_DRBG_MENU=y
+CONFIG_CRYPTO_DRBG_HMAC=y
+# CONFIG_CRYPTO_DRBG_HASH is not set
+# CONFIG_CRYPTO_DRBG_CTR is not set
+CONFIG_CRYPTO_DRBG=y
+CONFIG_CRYPTO_JITTERENTROPY=y
+CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
+CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
+CONFIG_CRYPTO_JITTERENTROPY_OSR=1
+# end of Random number generation
+
+#
+# Userspace interface
+#
+CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
CONFIG_CRYPTO_USER_API_RNG=y
+# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
CONFIG_CRYPTO_USER_API_AEAD=y
+CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
CONFIG_CRYPTO_STATS=y
+# end of Userspace interface
+
+CONFIG_CRYPTO_HASH_INFO=y
CONFIG_CRYPTO_NHPOLY1305_NEON=y
+CONFIG_CRYPTO_CHACHA20_NEON=y
+
+#
+# Accelerated Cryptographic Algorithms for CPU (arm64)
+#
CONFIG_CRYPTO_GHASH_ARM64_CE=y
+CONFIG_CRYPTO_POLY1305_NEON=y
CONFIG_CRYPTO_SHA1_ARM64_CE=y
+CONFIG_CRYPTO_SHA256_ARM64=y
CONFIG_CRYPTO_SHA2_ARM64_CE=y
+CONFIG_CRYPTO_SHA512_ARM64=y
CONFIG_CRYPTO_SHA512_ARM64_CE=y
+# CONFIG_CRYPTO_SHA3_ARM64 is not set
+# CONFIG_CRYPTO_SM3_NEON is not set
+# CONFIG_CRYPTO_SM3_ARM64_CE is not set
+# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
CONFIG_CRYPTO_AES_ARM64=y
+CONFIG_CRYPTO_AES_ARM64_CE=y
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=y
CONFIG_CRYPTO_AES_ARM64_BS=y
+# CONFIG_CRYPTO_SM4_ARM64_CE is not set
+# CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set
+# CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
+# CONFIG_CRYPTO_SM4_ARM64_CE_CCM is not set
+# CONFIG_CRYPTO_SM4_ARM64_CE_GCM is not set
+# CONFIG_CRYPTO_CRCT10DIF_ARM64_CE is not set
+# end of Accelerated Cryptographic Algorithms for CPU (arm64)
+
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
+# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
+# CONFIG_CRYPTO_DEV_CCP is not set
+# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
+# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
+# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set
+# CONFIG_CRYPTO_DEV_QAT_C62X is not set
+# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
+# CONFIG_CRYPTO_DEV_QAT_420XX is not set
+# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
+# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set
+# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set
+# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set
CONFIG_CRYPTO_DEV_ROCKCHIP=y
+# CONFIG_CRYPTO_DEV_ROCKCHIP_DEBUG is not set
+# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
+# CONFIG_CRYPTO_DEV_CCREE is not set
+# CONFIG_CRYPTO_DEV_HISI_SEC is not set
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
+CONFIG_ASYMMETRIC_KEY_TYPE=y
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
+CONFIG_X509_CERTIFICATE_PARSER=y
+# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set
+CONFIG_PKCS7_MESSAGE_PARSER=y
+# CONFIG_PKCS7_TEST_KEY is not set
+# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
+# CONFIG_FIPS_SIGNATURE_SELFTEST is not set
+
+#
+# Certificates for signature checking
+#
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
+# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
+# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
+# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
+# end of Certificates for signature checking
+
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=y
+CONFIG_RAID6_PQ_BENCHMARK=y
+CONFIG_LINEAR_RANGES=y
+# CONFIG_PACKING is not set
+CONFIG_BITREVERSE=y
+CONFIG_HAVE_ARCH_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
CONFIG_CORDIC=y
+# CONFIG_PRIME_NUMBERS is not set
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
+CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
+# CONFIG_INDIRECT_PIO is not set
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_UTILS=y
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=y
+CONFIG_CRYPTO_LIB_GF128MUL=y
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y
+CONFIG_CRYPTO_LIB_CHACHA=y
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y
+CONFIG_CRYPTO_LIB_CURVE25519=y
+CONFIG_CRYPTO_LIB_DES=y
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
+CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=y
+CONFIG_CRYPTO_LIB_POLY1305=y
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y
+CONFIG_CRYPTO_LIB_SHA1=y
+CONFIG_CRYPTO_LIB_SHA256=y
+# end of Crypto library routines
+
CONFIG_CRC_CCITT=y
+CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
+# CONFIG_CRC64_ROCKSOFT is not set
CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC64=m
+# CONFIG_CRC4 is not set
CONFIG_CRC7=y
+CONFIG_LIBCRC32C=y
+# CONFIG_CRC8 is not set
+CONFIG_XXHASH=y
+CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_COMPRESS=y
+CONFIG_LZ4HC_COMPRESS=y
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_ZSTD_COMMON=y
+CONFIG_ZSTD_COMPRESS=y
+CONFIG_ZSTD_DECOMPRESS=y
+CONFIG_XZ_DEC=y
# CONFIG_XZ_DEC_X86 is not set
# CONFIG_XZ_DEC_POWERPC is not set
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
# CONFIG_XZ_DEC_SPARC is not set
+# CONFIG_XZ_DEC_MICROLZMA is not set
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DECOMPRESS_LZ4=y
+CONFIG_DECOMPRESS_ZSTD=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_XARRAY_MULTI=y
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_CLOSURES=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAS_DMA=y
+CONFIG_DMA_OPS=y
+CONFIG_NEED_SG_DMA_FLAGS=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DMA_DECLARE_COHERENT=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
+CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
+CONFIG_SWIOTLB=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
+CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y
+# CONFIG_DMA_RESTRICTED_POOL is not set
+CONFIG_DMA_NONCOHERENT_MMAP=y
+CONFIG_DMA_COHERENT_POOL=y
+CONFIG_DMA_DIRECT_REMAP=y
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_SGL_ALLOC=y
+# CONFIG_FORCE_NR_CPUS is not set
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_GLOB=y
+# CONFIG_GLOB_SELFTEST is not set
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
+CONFIG_CLZ_TAB=y
+CONFIG_IRQ_POLL=y
+CONFIG_MPILIB=y
+CONFIG_LIBFDT=y
+CONFIG_OID_REGISTRY=y
+CONFIG_HAVE_GENERIC_VDSO=y
+CONFIG_GENERIC_GETTIMEOFDAY=y
+CONFIG_GENERIC_VDSO_TIME_NS=y
+CONFIG_FONT_SUPPORT=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_SG_POOL=y
+CONFIG_ARCH_HAS_PMEM_API=y
+CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
+CONFIG_ARCH_STACKWALK=y
+CONFIG_SBITMAP=y
+# CONFIG_LWQ_TEST is not set
+# end of Library routines
+
+CONFIG_GENERIC_IOREMAP=y
+CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
+# CONFIG_STACKTRACE_BUILD_ID is not set
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
+CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7
+# CONFIG_BOOT_PRINTK_DELAY is not set
CONFIG_DYNAMIC_DEBUG=y
+CONFIG_DYNAMIC_DEBUG_CORE=y
# CONFIG_SYMBOLIC_ERRNAME is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+# end of printk and dmesg options
+
+CONFIG_DEBUG_KERNEL=y
# CONFIG_DEBUG_MISC is not set
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_AS_HAS_NON_CONST_ULEB128=y
+CONFIG_DEBUG_INFO_NONE=y
+# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
+# CONFIG_DEBUG_INFO_DWARF4 is not set
+# CONFIG_DEBUG_INFO_DWARF5 is not set
+CONFIG_FRAME_WARN=2048
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_READABLE_ASM is not set
+# CONFIG_HEADERS_INSTALL is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# CONFIG_VMLINUX_MAP is not set
+# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
+# end of Compile-time checks and compiler options
+
+#
+# Generic Kernel Debugging Instruments
+#
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0
+CONFIG_MAGIC_SYSRQ_SERIAL=y
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_DEBUG_FS=y
+CONFIG_DEBUG_FS_ALLOW_ALL=y
+# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
+# CONFIG_DEBUG_FS_ALLOW_NONE is not set
+CONFIG_HAVE_ARCH_KGDB=y
+# CONFIG_KGDB is not set
+CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
+# CONFIG_UBSAN is not set
+CONFIG_HAVE_ARCH_KCSAN=y
+CONFIG_HAVE_KCSAN_COMPILER=y
+# CONFIG_KCSAN is not set
+# end of Generic Kernel Debugging Instruments
+
+#
+# Networking Debugging
+#
+# CONFIG_NET_DEV_REFCNT_TRACKER is not set
+# CONFIG_NET_NS_REFCNT_TRACKER is not set
+# CONFIG_DEBUG_NET is not set
+# end of Networking Debugging
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
# CONFIG_SLUB_DEBUG is not set
+# CONFIG_PAGE_OWNER is not set
+# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_RODATA_TEST is not set
+CONFIG_ARCH_HAS_DEBUG_WX=y
+# CONFIG_DEBUG_WX is not set
+CONFIG_GENERIC_PTDUMP=y
+# CONFIG_PTDUMP_DEBUGFS is not set
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_DEBUG_KMEMLEAK is not set
+# CONFIG_PER_VMA_LOCK_STATS is not set
+# CONFIG_DEBUG_OBJECTS is not set
+# CONFIG_SHRINKER_DEBUG is not set
+# CONFIG_DEBUG_STACK_USAGE is not set
+# CONFIG_SCHED_STACK_END_CHECK is not set
+CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
+# CONFIG_DEBUG_VM is not set
+# CONFIG_DEBUG_VM_PGTABLE is not set
+CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
+# CONFIG_DEBUG_VIRTUAL is not set
+# CONFIG_DEBUG_MEMORY_INIT is not set
+# CONFIG_DEBUG_PER_CPU_MAPS is not set
+CONFIG_HAVE_ARCH_KASAN=y
+CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y
+CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y
+CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
+CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_CC_HAS_KASAN_SW_TAGS=y
+CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
+# CONFIG_KASAN is not set
+CONFIG_HAVE_ARCH_KFENCE=y
+# CONFIG_KFENCE is not set
+# end of Memory Debugging
+
+# CONFIG_DEBUG_SHIRQ is not set
+
+#
+# Debug Oops, Lockups and Hangs
+#
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
CONFIG_PANIC_TIMEOUT=1
+# CONFIG_SOFTLOCKUP_DETECTOR is not set
+CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
+# CONFIG_HARDLOCKUP_DETECTOR is not set
CONFIG_DETECT_HUNG_TASK=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
+# CONFIG_WQ_WATCHDOG is not set
+# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set
+# CONFIG_TEST_LOCKUP is not set
+# end of Debug Oops, Lockups and Hangs
+
+#
+# Scheduler Debugging
+#
# CONFIG_SCHED_DEBUG is not set
+CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
+# end of Scheduler Debugging
+
+# CONFIG_DEBUG_TIMEKEEPING is not set
+# CONFIG_DEBUG_PREEMPT is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
+# CONFIG_PROVE_LOCKING is not set
+# CONFIG_LOCK_STAT is not set
+# CONFIG_DEBUG_RT_MUTEXES is not set
CONFIG_DEBUG_SPINLOCK=y
+# CONFIG_DEBUG_MUTEXES is not set
+# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
+# CONFIG_DEBUG_RWSEMS is not set
+# CONFIG_DEBUG_LOCK_ALLOC is not set
+# CONFIG_DEBUG_ATOMIC_SLEEP is not set
+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
+# CONFIG_LOCK_TORTURE_TEST is not set
+# CONFIG_WW_MUTEX_SELFTEST is not set
+# CONFIG_SCF_TORTURE_TEST is not set
+# CONFIG_CSD_LOCK_WAIT_DEBUG is not set
+# end of Lock Debugging (spinlocks, mutexes, etc...)
+
+# CONFIG_DEBUG_IRQFLAGS is not set
CONFIG_STACKTRACE=y
-CONFIG_DEBUG_CREDENTIALS=y
+# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
+# CONFIG_DEBUG_KOBJECT is not set
+
+#
+# Debug kernel data structures
+#
+# CONFIG_DEBUG_LIST is not set
+# CONFIG_DEBUG_PLIST is not set
+# CONFIG_DEBUG_SG is not set
+# CONFIG_DEBUG_NOTIFIERS is not set
+# CONFIG_DEBUG_CLOSURES is not set
+# CONFIG_DEBUG_MAPLE_TREE is not set
+# end of Debug kernel data structures
+
+#
+# RCU Debugging
+#
+# CONFIG_RCU_SCALE_TEST is not set
+# CONFIG_RCU_TORTURE_TEST is not set
+# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=20
+# CONFIG_RCU_CPU_STALL_CPUTIME is not set
# CONFIG_RCU_TRACE is not set
+# CONFIG_RCU_EQS_DEBUG is not set
+# end of RCU Debugging
+
+# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
+# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
+# CONFIG_LATENCYTOP is not set
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACING_SUPPORT=y
# CONFIG_FTRACE is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
# CONFIG_STRICT_DEVMEM is not set
+
+#
+# arm64 Debugging
+#
+# CONFIG_PID_IN_CONTEXTIDR is not set
+# CONFIG_ARM64_RELOC_TEST is not set
+# CONFIG_CORESIGHT is not set
+# end of arm64 Debugging
+
+#
+# Kernel Testing and Coverage
+#
+# CONFIG_KUNIT is not set
+# CONFIG_NOTIFIER_ERROR_INJECTION is not set
+# CONFIG_FAULT_INJECTION is not set
+CONFIG_ARCH_HAS_KCOV=y
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
+# CONFIG_KCOV is not set
# CONFIG_RUNTIME_TESTING_MENU is not set
+CONFIG_ARCH_USE_MEMTEST=y
+# CONFIG_MEMTEST is not set
+# end of Kernel Testing and Coverage
+
+#
+# Rust hacking
+#
+# end of Rust hacking
+# end of Kernel hacking
diff --git a/projects/Rockchip/devices/RK3566/options b/projects/Rockchip/devices/RK3566/options
index e6e2636b2a..a883272a2e 100644
--- a/projects/Rockchip/devices/RK3566/options
+++ b/projects/Rockchip/devices/RK3566/options
@@ -77,12 +77,15 @@
EXTRA_CMDLINE="quiet rootwait earlycon=uart8250,mmio32,0xfe660000 console=ttyS2,1500000n8 console=tty1 ssh consoleblank=0 systemd.show_status=0 loglevel=0 panic=20"
# additional packages to install
- # ADDITIONAL_PACKAGES=""
+ #ADDITIONAL_PACKAGES=""
- # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
+ # additional Firmware to use ( )
# Space separated list is supported,
- # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
- FIRMWARE="misc-firmware"
+ # e.g. FIRMWARE=""
+ FIRMWARE=""
+
+ # Modules to install in initramfs for early boot
+ INITRAMFS_MODULES=""
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
diff --git a/projects/Rockchip/devices/RK3588/options b/projects/Rockchip/devices/RK3588/options
index d079036579..58908246c7 100755
--- a/projects/Rockchip/devices/RK3588/options
+++ b/projects/Rockchip/devices/RK3588/options
@@ -79,16 +79,16 @@
# additional packages to install
# ADDITIONAL_PACKAGES=""
- # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
+ # additional Firmware to use ( )
# Space separated list is supported,
- # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
- FIRMWARE="misc-firmware wlan-firmware libmali_rk3588 RTL8821CS-firmware"
+ # e.g. FIRMWARE=""
+ FIRMWARE="libmali_rk3588 RTL8821CS-firmware"
# additional drivers to install:
# for a list of additional drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
- ADDITIONAL_DRIVERS+=" RTL8852xx"
+ ADDITIONAL_DRIVERS+=" RTW89"
# build and install driver addons (yes / no)
DRIVER_ADDONS_SUPPORT="no"
diff --git a/projects/Rockchip/options b/projects/Rockchip/options
index 988a56cd7e..339260ee4d 100755
--- a/projects/Rockchip/options
+++ b/projects/Rockchip/options
@@ -49,10 +49,10 @@
# Modules to install in initramfs for early boot
INITRAMFS_MODULES=""
- # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
+ # additional Firmware to use ( )
# Space separated list is supported,
- # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
- FIRMWARE="misc-firmware wlan-firmware dvb-firmware rockchip-firmware"
+ # e.g. FIRMWARE=""
+ FIRMWARE=" rockchip-firmware"
# additional packages to install
# ADDITIONAL_PACKAGES=""
diff --git a/projects/Rockchip/packages/linux/package.mk b/projects/Rockchip/packages/linux/package.mk
index fc9d2db5ed..34c74bfa2a 100644
--- a/projects/Rockchip/packages/linux/package.mk
+++ b/projects/Rockchip/packages/linux/package.mk
@@ -9,7 +9,6 @@ PKG_LICENSE="GPL"
PKG_SITE="https://github.com/JustEnoughLinuxOS"
PKG_DEPENDS_HOST="ccache:host rdfind:host rsync:host openssl:host"
PKG_DEPENDS_TARGET="toolchain rdfind:host linux:host cpio:host kmod:host xz:host lz4:host wireless-regdb keyutils util-linux binutils ncurses openssl:host ${KERNEL_EXTRA_DEPENDS_TARGET}"
-PKG_DEPENDS_INIT="toolchain"
PKG_NEED_UNPACK="${LINUX_DEPENDS} $(get_pkg_directory initramfs) $(get_pkg_variable initramfs PKG_NEED_UNPACK)"
PKG_LONGDESC="This package builds the kernel for Rockchip devices"
PKG_IS_KERNEL_PKG="yes"
@@ -24,11 +23,11 @@ case ${DEVICE} in
PKG_GIT_CLONE_BRANCH="main"
;;
RK3399|RK3326|RK-ARMV8-A)
- PKG_VERSION="6.7.4"
+ PKG_VERSION="6.7.5"
PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz"
;;
RK356*)
- PKG_VERSION="6.8-rc3"
+ PKG_VERSION="6.8-rc5"
PKG_URL="https://git.kernel.org/torvalds/t/${PKG_NAME}-${PKG_VERSION}.tar.gz"
;;
esac
@@ -46,10 +45,6 @@ if [ "${PKG_BUILD_PERF}" != "no" ] && grep -q ^CONFIG_PERF_EVENTS= ${PKG_KERNEL_
PKG_DEPENDS_TARGET="${PKG_DEPENDS_TARGET} elfutils libunwind zlib openssl"
fi
-if [ "${TARGET_ARCH}" = "x86_64" ]; then
- PKG_DEPENDS_TARGET="${PKG_DEPENDS_TARGET} intel-ucode:host kernel-firmware elfutils:host pciutils"
-fi
-
if [[ "${KERNEL_TARGET}" = uImage* ]]; then
PKG_DEPENDS_TARGET="${PKG_DEPENDS_TARGET} u-boot-tools:host"
fi
@@ -124,21 +119,11 @@ makeinstall_host() {
}
pre_make_target() {
- ( cd ${ROOT}
- rm -rf ${BUILD}/initramfs
- rm -f ${STAMPS_INSTALL}/initramfs/install_target ${STAMPS_INSTALL}/*/install_init
- ${SCRIPTS}/install initramfs
- )
- if [ "${TARGET_ARCH}" = "x86_64" ]; then
- # copy some extra firmware to linux tree
- mkdir -p ${PKG_BUILD}/external-firmware
- cp -a $(get_build_dir kernel-firmware)/{amd,amdgpu,amd-ucode,intel,i915,radeon,e100,rtl_nic} ${PKG_BUILD}/external-firmware
-
- cp -a $(get_build_dir intel-ucode)/intel-ucode ${PKG_BUILD}/external-firmware
-
- FW_LIST="$(find ${PKG_BUILD}/external-firmware \( -type f -o -type l \) \( -iname '*.bin' -o -iname '*.fw' -o -path '*/intel-ucode/*' \) | sed 's|.*external-firmware/||' | sort | xargs)"
- sed -i "s|CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" ${PKG_BUILD}/.config
- fi
+ # copy some extra firmware to linux tree (unused)
+ # mkdir -p ${PKG_BUILD}/external-firmware
+ # cp -a $(get_build_dir kernel-firmware)/rockchip ${PKG_BUILD}/external-firmware
+ # FW_LIST="$(find ${PKG_BUILD}/external-firmware \( -type f -o -type l \) \( -iname '*.bin' -o -iname '*.fw' \) | sed 's|.*external-firmware/||' | sort | xargs)"
+ # sed -i "s|CONFIG_EXTRA_FIRMWARE=.*|CONFIG_EXTRA_FIRMWARE=\"${FW_LIST}\"|" ${PKG_BUILD}/.config
yes "" | kernel_make oldconfig
@@ -185,10 +170,6 @@ make_target() {
)
fi
- ( cd ${ROOT}
- rm -rf ${BUILD}/initramfs
- ${SCRIPTS}/install initramfs
- )
pkg_lock_status "ACTIVE" "linux:target" "build"
# arm64 target does not support creating uImage.
@@ -206,13 +187,46 @@ make_target() {
rm -rf ${INSTALL}/$(get_kernel_overlay_dir)
fi
- # the modules target is required to get a proper Module.symvers
- # file with symbols from built-in and external modules.
- # Without that it'll contain only the symbols from the kernel
+ ### If INITRAMFS_MODULES exists, repack initramfs.
+ if [ -n "${INITRAMFS_MODULES}" ]; then
+
+ # the modules target is required to get a proper Module.symvers
+ # file with symbols from built-in and external modules.
+ # Without that it'll contain only the symbols from the kernel
+ kernel_make ${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD} modules
+ kernel_make INSTALL_MOD_PATH=${INSTALL}/$(get_kernel_overlay_dir) modules_install
+
+ rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/build
+ rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/source
+
+ mkdir -p ${BUILD}/initramfs/etc
+ mkdir -p ${BUILD}/initramfs/usr/lib/modules
+
+ for i in ${INITRAMFS_MODULES}; do
+ module=$(find ${INSTALL}/$(get_full_module_dir)/kernel -name ${i}.ko)
+ if [ -n "${module}" ]; then
+ echo ${i} >> ${BUILD}/initramfs/etc/modules
+ cp ${module} ${BUILD}/initramfs/usr/lib/modules
+ fi
+ done
+
+ fi
+
+ (
+ cd ${ROOT}
+ ${SCRIPTS}/install initramfs
+ )
+
+ # Build or rebuild the modules.
kernel_make ${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD} modules
- kernel_make INSTALL_MOD_PATH=${INSTALL}/$(get_kernel_overlay_dir) modules_install
- rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/build
- rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/source
+
+ if [ -z "${INITRAMFS_MODULES}" ]; then
+ # need to install modules here
+ kernel_make INSTALL_MOD_PATH=${INSTALL}/$(get_kernel_overlay_dir) modules_install
+
+ rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/build
+ rm -f ${INSTALL}/$(get_kernel_overlay_dir)/lib/modules/*/source
+ fi
if [ -n "${KERNEL_UIMAGE_TARGET}" ] ; then
@@ -263,31 +277,6 @@ makeinstall_target() {
fi
}
-make_init() {
- : # reuse make_target()
-}
-
-makeinstall_init() {
- if [ -n "${INITRAMFS_MODULES}" ]; then
- mkdir -p ${INSTALL}/etc
- mkdir -p ${INSTALL}/usr/lib/modules
-
- for i in ${INITRAMFS_MODULES}; do
- module=`find .install_pkg/$(get_full_module_dir)/kernel -name ${i}.ko`
- if [ -n "${module}" ]; then
- echo ${i} >> ${INSTALL}/etc/modules
- cp ${module} ${INSTALL}/usr/lib/modules/`basename ${module}`
- fi
- done
- fi
-
- if [ "${UVESAFB_SUPPORT}" = yes ]; then
- mkdir -p ${INSTALL}/usr/lib/modules
- uvesafb=`find .install_pkg/$(get_full_module_dir)/kernel -name uvesafb.ko`
- cp ${uvesafb} ${INSTALL}/usr/lib/modules/`basename ${uvesafb}`
- fi
-}
-
post_install() {
if [ ! -d ${INSTALL}/$(get_full_firmware_dir) ]
then
diff --git a/projects/Rockchip/packages/linux/patches/RK3326/000-rk3326-dts.patch b/projects/Rockchip/packages/linux/patches/RK3326/000-rk3326-dts.patch
index 07eae5c474..10c7286062 100644
--- a/projects/Rockchip/packages/linux/patches/RK3326/000-rk3326-dts.patch
+++ b/projects/Rockchip/packages/linux/patches/RK3326/000-rk3326-dts.patch
@@ -1,13 +1,14 @@
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/Makefile linux/arch/arm64/boot/dts/rockchip/Makefile
---- linux.orig/arch/arm64/boot/dts/rockchip/Makefile 2024-02-03 14:24:30.507369024 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/Makefile 2024-02-03 14:49:01.857898202 +0000
-@@ -9,9 +9,15 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-ro
+--- linux.orig/arch/arm64/boot/dts/rockchip/Makefile 2024-02-15 14:44:49.334307319 +0000
++++ linux/arch/arm64/boot/dts/rockchip/Makefile 2024-02-17 06:35:22.915906533 +0000
+@@ -9,9 +9,16 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-ro
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-rock-pi-s.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3318-a95x-z2.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-anbernic-rg351m.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-anbernic-rg351v.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-gameconsole-r33s.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-gameconsole-r36s.dtb
++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-gameforce-chi.dtb
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-magicx-xu10.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3326-odroid-go2-v11.dtb
@@ -18,8 +19,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/Makefile linux/arch/arm64/boo
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-nanopi-r2c.dtb
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/px30.dtsi linux/arch/arm64/boot/dts/rockchip/px30.dtsi
---- linux.orig/arch/arm64/boot/dts/rockchip/px30.dtsi 2024-02-03 14:24:30.507369024 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/px30.dtsi 2024-02-03 14:25:41.221185291 +0000
+--- linux.orig/arch/arm64/boot/dts/rockchip/px30.dtsi 2024-02-15 14:44:49.334307319 +0000
++++ linux/arch/arm64/boot/dts/rockchip/px30.dtsi 2024-02-17 06:32:20.483322663 +0000
@@ -114,32 +114,22 @@
compatible = "operating-points-v2";
opp-shared;
@@ -118,8 +119,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/px30.dtsi linux/arch/arm64/bo
};
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts
---- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts 2024-02-03 14:24:30.507369024 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts 2024-02-03 14:25:41.221185291 +0000
+--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts 2024-02-15 14:44:49.334307319 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts 2024-02-17 06:32:20.483322663 +0000
@@ -12,6 +12,25 @@
model = "Anbernic RG351M";
compatible = "anbernic,rg351m", "rockchip,rk3326";
@@ -172,7 +173,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts li
+};
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts 1970-01-01 00:00:00.000000000 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts 2024-02-03 14:25:41.221185291 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts 2024-02-17 06:32:20.483322663 +0000
@@ -0,0 +1,124 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
@@ -300,7 +301,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts li
+};
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts 1970-01-01 00:00:00.000000000 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts 2024-02-03 14:53:29.435899433 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts 2024-02-17 06:32:20.483322663 +0000
@@ -0,0 +1,117 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
@@ -421,7 +422,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts l
+};
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r36s.dts linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r36s.dts
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r36s.dts 1970-01-01 00:00:00.000000000 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r36s.dts 2024-02-03 14:56:33.563329307 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r36s.dts 2024-02-17 06:32:20.483322663 +0000
@@ -0,0 +1,207 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
@@ -561,12 +562,12 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r36s.dts l
+ label = "GPIO F4";
+ linux,code = ; // 0x2c3
+ };
-+ /*sw13 {
++ sw13 {
+ gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
+ label = "GPIO F5";
+ linux,code = ; // 0x2c4
+ };
-+ sw14 {
++ /*sw14 {
+ gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>;
+ label = "GPIO F6";
+ linux,code = ; // 0x13c
@@ -632,7 +633,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r36s.dts l
+};
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r3xs.dtsi linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r3xs.dtsi
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r3xs.dtsi 1970-01-01 00:00:00.000000000 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r3xs.dtsi 2024-02-03 14:46:31.754519839 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r3xs.dtsi 2024-02-17 06:32:20.483322663 +0000
@@ -0,0 +1,545 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
@@ -1179,9 +1180,828 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r3xs.dtsi
+ };
+ };
+};
+diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts linux/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts
+--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts 1970-01-01 00:00:00.000000000 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameforce-chi.dts 2024-02-17 06:34:23.866426919 +0000
+@@ -0,0 +1,815 @@
++// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
++/*
++ * Copyright (c) 2019 Hardkernel Co., Ltd
++ * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
++ * Copyright (c) 2022 Maya Matuszczyk
++ * Copyright (c) 2024 Batocera https://github.com/batocera-linux/batocera.linux/blob/master/board/batocera/rockchip/rk3326/linux_patches/0002-rk3326-gameforce-dts.patch
++ * Copyright (c) 2024 Juliano Dorigão
++ */
++
++/dts-v1/;
++#include
++#include
++#include
++#include
++#include "rk3326.dtsi"
++
++/ {
++ model = "Gameforce CHI";
++ compatible = "gameforce,chi", "rockchip,rk3326";
++
++ aliases {
++ mmc0 = &sdmmc;
++ };
++
++ chosen {
++ stdout-path = "serial2:115200n8";
++ };
++
++ backlight: backlight {
++ compatible = "pwm-backlight";
++ power-supply = <&vcc_bl>;
++ pwms = <&pwm1 0 25000 0>;
++ brightness-levels = <
++ 0 1 2 3 4 5 6 7
++ 8 9 10 11 12 13 14 15
++ 16 17 18 19 20 21 22 23
++ 24 25 26 27 28 29 30 31
++ 32 33 34 35 36 37 38 39
++ 40 41 42 43 44 45 46 47
++ 48 49 50 51 52 53 54 55
++ 56 57 58 59 60 61 62 63
++ 64 65 66 67 68 69 70 71
++ 72 73 74 75 76 77 78 79
++ 80 81 82 83 84 85 86 87
++ 88 89 90 91 92 93 94 95
++ 96 97 98 99 100 101 102 103
++ 104 105 106 107 108 109 110 111
++ 112 113 114 115 116 117 118 119
++ 120 121 122 123 124 125 126 127
++ 128 129 130 131 132 133 134 135
++ 136 137 138 139 140 141 142 143
++ 144 145 146 147 148 149 150 151
++ 152 153 154 155 156 157 158 159
++ 160 161 162 163 164 165 166 167
++ 168 169 170 171 172 173 174 175
++ 176 177 178 179 180 181 182 183
++ 184 185 186 187 188 189 190 191
++ 192 193 194 195 196 197 198 199
++ 200 201 202 203 204 205 206 207
++ 208 209 210 211 212 213 214 215
++ 216 217 218 219 220 221 222 223
++ 224 225 226 227 228 229 230 231
++ 232 233 234 235 236 237 238 239
++ 240 241 242 243 244 245 246 247
++ 248 249 250 251 252 253 254 255>;
++ default-brightness-level = <200>;
++ };
++
++ adc-keys {
++ compatible = "volume-keys";
++ keyup-threshold-microvolt = <1800000>;
++
++ happy1-key {
++ linux,code = ;
++ label = "volume down";
++ press-threshold-microvolt = <15000>;
++ };
++
++ happy2-key {
++ linux,code = ;
++ label = "volume up";
++ press-threshold-microvolt = <300000>;
++ };
++ };
++
++ vibrators {
++ compatible = "gpio,vibrators";
++ vibrator0-gpio = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>;
++ vibrator1-gpio = <&gpio3 RK_PC2 GPIO_ACTIVE_HIGH>;
++ status = "okay";
++ };
++
++ joypad: gameforce-gamepad {
++ compatible = "gameforce-gamepad";
++ pinctrl-names = "default";
++ pinctrl-0 = <&btn_pins>;
++
++ io-channel-names = "joy_x", "joy_y", "volume-buttons";
++ io-channels = <&saradc 0>, <&saradc 1>, <&saradc 2>;
++
++ button-adc-count = <2>;
++ button-adc-scale = <2>;
++ button-adc-deadzone = <20>;
++
++ button-adc-x-range = <1800>;
++ button-adc-y-range = <1800>;
++
++ button-adc-fuzz = <32>;
++ button-adc-flat = <32>;
++
++ poll-interval = <10>;
++
++ button-sw1 {
++ gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_LOW>;
++ label = "DPAD-UP";
++ linux,code = ;
++ };
++
++ button-sw2 {
++ gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_LOW>;
++ label = "DPAD-DOWN";
++ linux,code = ;
++ };
++
++ button-sw3 {
++ gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>;
++ label = "DPAD-LEFT";
++ linux,code = ;
++ };
++
++ button-sw4 {
++ gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>;
++ label = "DPAD-RIGHT";
++ linux,code = ;
++ };
++
++ button-sw5 {
++ gpios = <&gpio2 RK_PB0 GPIO_ACTIVE_LOW>;
++ label = "BTN-A";
++ linux,code = ;
++ };
++
++ button-sw6 {
++ gpios = <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>;
++ label = "BTN-B";
++ linux,code = ;
++ };
++
++ button-sw7 {
++ gpios = <&gpio2 RK_PB2 GPIO_ACTIVE_LOW>;
++ label = "BTN-Y";
++ linux,code = ;
++ };
++
++ button-sw8 {
++ gpios = <&gpio2 RK_PB3 GPIO_ACTIVE_LOW>;
++ label = "BTN-X";
++ linux,code = ;
++ };
++
++ btn_home: button-sw9 {
++ gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
++ label = "BTN-HOME";
++ linux,code = ;
++ };
++
++ btn_select: button-sw10 {
++ gpios = <&gpio2 RK_PA3 GPIO_ACTIVE_LOW>;
++ label = "BTN-SET";
++ linux,code = ;
++ };
++
++ btn_start: button-sw11 {
++ gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
++ label = "BTN-START";
++ linux,code = ;
++ };
++
++ button-sw12 {
++ gpios = <&gpio2 RK_PA6 GPIO_ACTIVE_LOW>;
++ label = "TOP-LEFT";
++ linux,code = ;
++ };
++
++ button-sw13 {
++ gpios = <&gpio2 RK_PA4 GPIO_ACTIVE_LOW>;
++ label = "TOP-LEFT2";
++ linux,code = ;
++ };
++
++ button-sw14 {
++ gpios = <&gpio2 RK_PA7 GPIO_ACTIVE_LOW>;
++ label = "TOP-RIGHT";
++ linux,code = ;
++ };
++
++ button-sw15 {
++ gpios = <&gpio2 RK_PA5 GPIO_ACTIVE_LOW>;
++ label = "TOP-RIGHT2";
++ linux,code = ;
++ };
++ };
++
++ leds: gpio_leds {
++ compatible = "gpio-leds";
++ pinctrl-names = "led_pins";
++ pinctrl-0 = <&led_pins>;
++
++ heartbeat {
++ label = "heartbeat";
++ gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
++ linux,default-trigger = "heartbeat";
++ };
++
++ red {
++ label = "red";
++ gpios = <&gpio3 RK_PC4 GPIO_ACTIVE_HIGH>;
++ default-state = "off";
++ };
++
++ green {
++ label = "green";
++ gpios = <&gpio3 RK_PC5 GPIO_ACTIVE_HIGH>;
++ default-state = "off";
++ };
++
++ blue {
++ label = "blue";
++ gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>;
++ default-state = "off";
++ };
++ };
++
++ rk817-sound {
++ compatible = "simple-audio-card";
++ simple-audio-card,name = "rk817_ext";
++ simple-audio-card,aux-devs = <&spk_amp>;
++ simple-audio-card,format = "i2s";
++ simple-audio-card,hp-det-gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
++ simple-audio-card,mclk-fs = <256>;
++ simple-audio-card,widgets =
++ "Microphone", "Mic Jack",
++ "Headphone", "Headphones",
++ "Speaker", "Internal Speakers";
++ simple-audio-card,routing =
++ "MICL", "Mic Jack",
++ "Headphones", "HPOL",
++ "Headphones", "HPOR",
++ "Internal Speakers", "Speaker Amp OUTL",
++ "Internal Speakers", "Speaker Amp OUTR",
++ "Speaker Amp INL", "HPOL",
++ "Speaker Amp INR", "HPOR";
++ simple-audio-card,pin-switches = "Internal Speakers";
++
++ simple-audio-card,codec {
++ sound-dai = <&rk817>;
++ };
++
++ simple-audio-card,cpu {
++ sound-dai = <&i2s1_2ch>;
++ };
++ };
++
++ spk_amp: audio-amplifier {
++ compatible = "simple-audio-amplifier";
++ enable-gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
++ pinctrl-0 = <&spk_amp_enable_h>;
++ pinctrl-names = "default";
++ sound-name-prefix = "Speaker Amp";
++ };
++
++ wifi_pwrseq: wifi-pwrseq {
++ compatible = "mmc-pwrseq-simple";
++ pinctrl-names = "default";
++ pinctrl-0 = <&wifi_pwrseq_pins>;
++ reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>;
++ };
++
++ battery: battery {
++ compatible = "simple-battery";
++ charge-full-design-microamp-hours = <3000000>;
++ charge-term-current-microamp = <300000>;
++ constant-charge-current-max-microamp = <1500000>;
++ constant-charge-voltage-max-microvolt = <4200000>;
++ factory-internal-resistance-micro-ohms = <180000>;
++ voltage-max-design-microvolt = <4100000>;
++ voltage-min-design-microvolt = <3400000>;
++
++ ocv-capacity-celsius = <20>;
++ ocv-capacity-table-0 = <4046950 100>, <4001920 95>, <3967900 90>, <3919950 85>,
++ <3888450 80>, <3861850 75>, <3831540 70>, <3799130 65>,
++ <3768190 60>, <3745650 55>, <3726610 50>, <3711630 45>,
++ <3696720 40>, <3685660 35>, <3674950 30>, <3663050 25>,
++ <3649470 20>, <3635260 15>, <3616920 10>, <3592440 5>,
++ <3574170 0>;
++ };
++
++ vccsys: vccsys {
++ compatible = "regulator-fixed";
++ regulator-name = "vcc3v8_sys";
++ regulator-always-on;
++ regulator-min-microvolt = <3800000>;
++ regulator-max-microvolt = <3800000>;
++ };
++
++ vcc_host: vcc_host {
++ compatible = "regulator-fixed";
++ regulator-name = "vcc_host";
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5000000>;
++
++ gpio = <&gpio0 RK_PB7 GPIO_ACTIVE_HIGH>;
++ enable-active-high;
++ regulator-always-on;
++ regulator-boot-on;
++ vin-supply = <&usb_midu>;
++ };
++};
++
++&cpu0 {
++ cpu-supply = <&vdd_arm>;
++};
++
++&cpu1 {
++ cpu-supply = <&vdd_arm>;
++};
++
++&cpu2 {
++ cpu-supply = <&vdd_arm>;
++};
++
++&cpu3 {
++ cpu-supply = <&vdd_arm>;
++};
++
++&cru {
++ assigned-clocks = <&cru PLL_NPLL>,
++ <&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
++ <&cru HCLK_BUS_PRE>, <&cru HCLK_PERI_PRE>,
++ <&cru PCLK_BUS_PRE>, <&cru SCLK_GPU>;
++
++ assigned-clock-rates = <1188000000>,
++ <200000000>, <200000000>,
++ <150000000>, <150000000>,
++ <100000000>, <200000000>;
++};
++
++&display_subsystem {
++ status = "okay";
++};
++
++&dsi {
++ status = "okay";
++
++ ports {
++ mipi_out: port@1 {
++ reg = <1>;
++
++ mipi_out_panel: endpoint {
++ remote-endpoint = <&mipi_in_panel>;
++ };
++ };
++ };
++
++ internal_display: panel@0 {
++ compatible = "gameforce,chi-panel";
++ reg = <0>;
++ backlight = <&backlight>;
++ reset-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
++ rotation = <0>;
++ iovcc-supply = <&vcc_lcd>;
++ vdd-supply = <&vcc_lcd>;
++
++ port {
++ mipi_in_panel: endpoint {
++ remote-endpoint = <&mipi_out_panel>;
++ };
++ };
++ };
++};
++
++&dsi_dphy {
++ status = "okay";
++};
++
++&emmc {
++ status = "disabled";
++};
++
++
++&sfc {
++ status = "disabled";
++};
++
++&gpu {
++ mali-supply = <&vdd_logic>;
++ status = "okay";
++};
++
++&i2c0 {
++ clock-frequency = <400000>;
++ i2c-scl-falling-time-ns = <16>;
++ i2c-scl-rising-time-ns = <280>;
++ status = "okay";
++
++ rk817: pmic@20 {
++ compatible = "rockchip,rk817";
++ reg = <0x20>;
++ interrupt-parent = <&gpio0>;
++ interrupts = ;
++ clock-output-names = "rk808-clkout1", "rk808-clkout2";
++ clock-names = "mclk";
++ clocks = <&cru SCLK_I2S1_OUT>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
++ rockchip,system-power-controller;
++ wakeup-source;
++ #clock-cells = <1>;
++ #sound-dai-cells = <0>;
++
++ vcc1-supply = <&vccsys>;
++ vcc2-supply = <&vccsys>;
++ vcc3-supply = <&vccsys>;
++ vcc4-supply = <&vccsys>;
++ vcc5-supply = <&vccsys>;
++ vcc6-supply = <&vccsys>;
++ vcc7-supply = <&vcc_3v0>;
++ vcc8-supply = <&vccsys>;
++
++ regulators {
++ vdd_logic: DCDC_REG1 {
++ regulator-name = "vdd_logic";
++ regulator-min-microvolt = <950000>;
++ regulator-max-microvolt = <1350000>;
++ regulator-ramp-delay = <6001>;
++ regulator-always-on;
++ regulator-boot-on;
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <950000>;
++ };
++ };
++
++ vdd_arm: DCDC_REG2 {
++ regulator-name = "vdd_arm";
++ regulator-min-microvolt = <950000>;
++ regulator-max-microvolt = <1350000>;
++ regulator-ramp-delay = <6001>;
++ regulator-always-on;
++ regulator-boot-on;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ regulator-suspend-microvolt = <950000>;
++ };
++ };
++
++ vcc_ddr: DCDC_REG3 {
++ regulator-name = "vcc_ddr";
++ regulator-always-on;
++ regulator-boot-on;
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ };
++ };
++
++ vcc_3v0: DCDC_REG4 {
++ regulator-name = "vcc_3v0";
++ regulator-min-microvolt = <3000000>;
++ regulator-max-microvolt = <3000000>;
++ regulator-always-on;
++ regulator-boot-on;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ regulator-suspend-microvolt = <3000000>;
++ };
++ };
++
++ vcc_1v8: LDO_REG2 {
++ regulator-name = "vcc_1v8";
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <1800000>;
++ regulator-always-on;
++ regulator-boot-on;
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <1800000>;
++ };
++ };
++
++ vdd_1v0: LDO_REG3 {
++ regulator-name = "vdd_1v0";
++ regulator-min-microvolt = <1000000>;
++ regulator-max-microvolt = <1000000>;
++ regulator-always-on;
++ regulator-boot-on;
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <1000000>;
++ };
++ };
++
++ vcc3v0_pmu: LDO_REG4 {
++ regulator-name = "vcc3v0_pmu";
++ regulator-min-microvolt = <3000000>;
++ regulator-max-microvolt = <3000000>;
++ regulator-always-on;
++ regulator-boot-on;
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <3000000>;
++ };
++ };
++
++ vccio_sd: LDO_REG5 {
++ regulator-name = "vccio_sd";
++ regulator-min-microvolt = <1800000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-always-on;
++ regulator-boot-on;
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <3300000>;
++ };
++ };
++
++ vcc_sd: LDO_REG6 {
++ regulator-name = "vcc_sd";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++ regulator-boot-on;
++
++ regulator-state-mem {
++ regulator-on-in-suspend;
++ regulator-suspend-microvolt = <3300000>;
++ };
++ };
++
++ vcc_bl: LDO_REG7 {
++ regulator-name = "vcc_bl";
++ regulator-min-microvolt = <3300000>;
++ regulator-max-microvolt = <3300000>;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ regulator-suspend-microvolt = <3300000>;
++ };
++ };
++
++ vcc_lcd: LDO_REG8 {
++ regulator-name = "vcc_lcd";
++ regulator-min-microvolt = <2800000>;
++ regulator-max-microvolt = <2800000>;
++
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ regulator-suspend-microvolt = <2800000>;
++ };
++ };
++
++ LDO_REG9 {
++ /* unused */
++ };
++
++ usb_midu: BOOST {
++ regulator-name = "usb_midu";
++ regulator-min-microvolt = <5000000>;
++ regulator-max-microvolt = <5400000>;
++ regulator-always-on;
++ regulator-boot-on;
++ };
++ };
++
++ rk817_charger: charger {
++ rockchip,resistor-sense-micro-ohms = <10000>;
++ rockchip,sleep-enter-current-microamp = <300000>;
++ rockchip,sleep-filter-current-microamp = <100000>;
++ };
++ };
++};
++
++/* EXT Header(P2): 7(SCL:GPIO0.C2), 8(SDA:GPIO0.C3) */
++&i2c1 {
++ clock-frequency = <400000>;
++ status = "disabled";
++};
++
++/* MIPI CSI I2C */
++&i2c2 {
++ status = "disabled";
++};
++
++/* I2S 1 Channel Used */
++&i2s1_2ch {
++ status = "okay";
++ #sound-dai-cells = <0>;
++};
++
++&io_domains {
++ vccio1-supply = <&vcc3v0_pmu>;
++ vccio2-supply = <&vccio_sd>;
++ vccio3-supply = <&vcc_3v0>;
++ vccio4-supply = <&vcc_3v0>;
++ vccio5-supply = <&vcc_3v0>;
++ vccio6-supply = <&vcc_3v0>;
++ status = "okay";
++};
++
++&isp_mmu {
++ status = "okay";
++};
++
++&spi0 {
++ status = "disabled";
++};
++
++&pmu_io_domains {
++ pmuio1-supply = <&vcc_1v8>;
++ pmuio2-supply = <&vcc3v0_pmu>;
++ status = "okay";
++};
++
++&pwm1 {
++ status = "okay";
++};
++
++&pwm3 {
++ status = "okay";
++};
++
++&saradc {
++ vref-supply = <&vcc_1v8>;
++ status = "okay";
++};
++
++&sdmmc {
++ bus-width = <4>;
++ cap-mmc-highspeed;
++ cap-sd-highspeed;
++ supports-sd;
++ card-detect-delay = <800>;
++ ignore-pm-notify;
++ cd-gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_LOW>; /*[> CD GPIO <]*/
++ sd-uhs-sdr12;
++ sd-uhs-sdr25;
++ sd-uhs-sdr50;
++ sd-uhs-sdr104;
++ vmmc-supply = <&vcc_sd>;
++ vqmmc-supply = <&vccio_sd>;
++ status = "okay";
++};
++
++&sdio {
++ bus-width = <4>;
++ cap-sd-highspeed;
++ cap-sdio-irq;
++ disable-wp;
++ supports-sdio;
++ ignore-pm-notify;
++ keep-power-in-suspend;
++ non-removable;
++ mmc-pwrseq = <&wifi_pwrseq>;
++ sd-uhs-sdr104;
++ status = "okay";
++
++ rtl8723ds: wifi@1 {
++ compatible = "wlan-platdata";
++ rockchip,grf = <&grf>;
++ wifi_chip_type = "realtek,rtl8723ds";
++ WIFI,host_wake_irq = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
++ sdio_vref = <3300>;
++ status = "okay";
++ };
++};
++
++&sfc {
++ pinctrl-0 = <&sfc_clk &sfc_cs0 &sfc_bus2>;
++ pinctrl-names = "default";
++ #address-cells = <1>;
++ #size-cells = <0>;
++ status = "okay";
++
++ flash@0 {
++ compatible = "jedec,spi-nor";
++ reg = <0>;
++ spi-max-frequency = <108000000>;
++ spi-rx-bus-width = <2>;
++ spi-tx-bus-width = <1>;
++ };
++};
++
++&tsadc {
++ status = "okay";
++};
++
++&u2phy {
++ status = "okay";
++
++ u2phy_host: host-port {
++ status = "okay";
++ };
++
++ u2phy_otg: otg-port {
++ status = "disable";
++ };
++};
++/*
++&uart0 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart0_xfer &uart0_cts>;
++ status = "okay";
++};
++*/
++/* EXT Header(P2): 2(RXD:GPIO1.C0),3(TXD:.C1),4(CTS:.C2),5(RTS:.C3) */
++&uart1 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart1_xfer &uart1_cts>;
++ status = "okay";
++};
++
++&uart2 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart2m1_xfer>;
++ status = "okay";
++};
++
++&vopb {
++ status = "okay";
++};
++
++&vopb_mmu {
++ status = "okay";
++};
++
++&rk817_charger {
++ monitored-battery = <&battery>;
++};
++
++&pinctrl {
++ btns {
++ btn_pins: btn-pins {
++ rockchip,pins = <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>,
++ <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_up>,
++ <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>,
++ <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>,
++ <2 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>,
++ <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>,
++ <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>,
++ <2 RK_PB3 RK_FUNC_GPIO &pcfg_pull_up>,
++ <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>,
++ <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>,
++ <2 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>,
++ <2 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>,
++ <2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
++ <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
++ <2 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>;
++ };
++ };
++
++ audio-amplifier {
++ spk_amp_enable_h: spk-amp-enable-h {
++ rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++ };
++
++ headphone {
++ hp_det: hp-det {
++ rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>;
++ };
++ };
++
++ leds {
++ led_pins: led-pins {
++ rockchip,pins = <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>,
++ <3 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>,
++ <3 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>,
++ <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++ };
++
++ pmic {
++ dc_det: dc-det {
++ rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++
++ pmic_int: pmic-int {
++ rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
++ };
++
++ soc_slppin_gpio: soc_slppin_gpio {
++ rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
++ };
++
++ soc_slppin_rst: soc_slppin_rst {
++ rockchip,pins = <0 RK_PA4 2 &pcfg_pull_none>;
++ };
++
++ soc_slppin_slp: soc_slppin_slp {
++ rockchip,pins = <0 RK_PA4 1 &pcfg_pull_none>;
++ };
++ };
++
++ wifi {
++ wifi_pwrseq_pins: wifi-pwrseq-pins {
++ rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
++ };
++ };
++};
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts linux/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts 1970-01-01 00:00:00.000000000 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts 2024-02-03 14:25:41.221185291 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts 2024-02-17 06:32:20.483322663 +0000
@@ -0,0 +1,828 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
@@ -2012,8 +2832,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts linux/
+ };
+};
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi
---- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi 2024-02-03 14:24:30.507369024 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi 2024-02-03 14:25:41.221185291 +0000
+--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi 2024-02-15 14:44:49.334307319 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi 2024-02-17 06:32:20.487322762 +0000
@@ -25,93 +25,40 @@
compatible = "pwm-backlight";
power-supply = <&vcc_bl>;
@@ -2170,8 +2990,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi linux/a
#clock-cells = <1>;
#sound-dai-cells = <0>;
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts
---- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts 2024-02-03 14:24:30.507369024 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts 2024-02-03 14:25:41.221185291 +0000
+--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts 2024-02-15 14:44:49.334307319 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts 2024-02-17 06:32:20.487322762 +0000
@@ -16,31 +16,187 @@
mmc1 = &sdio;
};
@@ -2453,8 +3273,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts lin
<2 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>,
<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>,
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts
---- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts 2024-02-03 14:24:30.507369024 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts 2024-02-03 14:25:41.221185291 +0000
+--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts 2024-02-15 14:44:49.334307319 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts 2024-02-17 06:32:20.487322762 +0000
@@ -12,30 +12,175 @@
model = "ODROID-GO Advance";
compatible = "hardkernel,rk3326-odroid-go2", "rockchip,rk3326";
@@ -2687,8 +3507,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts linux/a
+ };
+};
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts
---- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts 2024-02-03 14:24:30.507369024 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts 2024-02-03 14:25:41.221185291 +0000
+--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts 2024-02-15 14:44:49.334307319 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts 2024-02-17 06:32:20.487322762 +0000
@@ -12,67 +12,196 @@
model = "ODROID-GO Super";
compatible = "hardkernel,rk3326-odroid-go3", "rockchip,rk3326";
@@ -2998,7 +3818,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts linux/a
};
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts 1970-01-01 00:00:00.000000000 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts 2024-02-03 14:25:41.221185291 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts 2024-02-17 06:32:20.487322762 +0000
@@ -0,0 +1,280 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
@@ -3282,7 +4102,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts lin
+};
diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb20s.dts linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb20s.dts
--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb20s.dts 1970-01-01 00:00:00.000000000 +0000
-+++ linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb20s.dts 2024-02-03 14:25:41.221185291 +0000
++++ linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb20s.dts 2024-02-17 06:32:20.487322762 +0000
@@ -0,0 +1,340 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+/*
diff --git a/projects/Rockchip/packages/linux/patches/RK3326/001-panel-updates.patch b/projects/Rockchip/packages/linux/patches/RK3326/001-panel-updates.patch
index fd554be65f..7538dbdd55 100644
--- a/projects/Rockchip/packages/linux/patches/RK3326/001-panel-updates.patch
+++ b/projects/Rockchip/packages/linux/patches/RK3326/001-panel-updates.patch
@@ -1,6 +1,6 @@
diff -rupN linux.orig/drivers/gpu/drm/panel/panel-elida-kd35t133.c linux/drivers/gpu/drm/panel/panel-elida-kd35t133.c
---- linux.orig/drivers/gpu/drm/panel/panel-elida-kd35t133.c 2024-01-29 19:42:59.344227350 +0000
-+++ linux/drivers/gpu/drm/panel/panel-elida-kd35t133.c 2024-01-29 19:46:14.500635108 +0000
+--- linux.orig/drivers/gpu/drm/panel/panel-elida-kd35t133.c 2024-02-15 14:44:51.546356020 +0000
++++ linux/drivers/gpu/drm/panel/panel-elida-kd35t133.c 2024-02-15 15:05:47.414681181 +0000
@@ -109,6 +109,8 @@ static int kd35t133_unprepare(struct drm
regulator_disable(ctx->iovcc);
regulator_disable(ctx->vdd);
@@ -11,8 +11,8 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-elida-kd35t133.c linux/drivers
return 0;
diff -rupN linux.orig/drivers/gpu/drm/panel/panel-newvision-nv3051d.c linux/drivers/gpu/drm/panel/panel-newvision-nv3051d.c
---- linux.orig/drivers/gpu/drm/panel/panel-newvision-nv3051d.c 2024-01-29 19:42:59.344227350 +0000
-+++ linux/drivers/gpu/drm/panel/panel-newvision-nv3051d.c 2024-01-29 21:01:52.715952484 +0000
+--- linux.orig/drivers/gpu/drm/panel/panel-newvision-nv3051d.c 2024-02-15 14:44:51.550356106 +0000
++++ linux/drivers/gpu/drm/panel/panel-newvision-nv3051d.c 2024-02-15 15:05:47.414681181 +0000
@@ -28,6 +28,7 @@ struct nv3051d_panel_info {
unsigned int num_modes;
u16 width_mm, height_mm;
@@ -99,8 +99,8 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-newvision-nv3051d.c linux/driv
};
MODULE_DEVICE_TABLE(of, newvision_nv3051d_of_match);
diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/drivers/gpu/drm/panel/panel-sitronix-st7703.c
---- linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c 2024-01-29 19:42:59.348227440 +0000
-+++ linux/drivers/gpu/drm/panel/panel-sitronix-st7703.c 2024-01-29 19:46:14.500635108 +0000
+--- linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c 2024-02-15 14:44:51.554356195 +0000
++++ linux/drivers/gpu/drm/panel/panel-sitronix-st7703.c 2024-02-15 15:10:41.576698949 +0000
@@ -13,7 +13,7 @@
#include
#include
@@ -334,7 +334,193 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41, 0x35,
0x07, 0x0D, 0x0E, 0x12, 0x13, 0x10, 0x12, 0x12,
0x18, 0x00, 0x09, 0x0D, 0x23, 0x27, 0x3C, 0x41,
-@@ -341,7 +361,15 @@ static const struct st7703_panel_desc xb
+@@ -333,6 +353,185 @@ static const struct drm_display_mode xbd
+ .height_mm = 136,
+ };
+
++
++// Copyright (C) Batocera (https://github.com/batocera-linux/batocera.linux/blob/master/board/batocera/rockchip/rk3326/linux_patches/0001-gameforce-panel-st7703.patch)
++static int gameforce_init_sequence(struct st7703 *ctx)
++{
++ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
++
++ /*
++ * Init sequence was supplied by the panel vendor.
++ */
++
++ /* Magic sequence to unlock user commands below. */
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, 0xF1, 0x12, 0x83);
++ msleep(20);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI,
++ 0x31, /* VC_main = 0, Lane_Number = 3 (4 lanes) */
++ 0x81, /* DSI_LDO_SEL = 1.7V, RTERM = 90 Ohm */
++ 0x05, /* IHSRX = x6 (Low High Speed driving ability) */
++ 0xF9, /* TX_CLK_SEL = fDSICLK/16 */
++ 0x0E, /* HFP_OSC (min. HFP number in DSI mode) */
++ 0x0E, /* HBP_OSC (min. HBP number in DSI mode) */
++ /* The rest is undocumented in ST7703 datasheet */
++ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x44, 0x25, 0x00, 0x91, 0x0a, 0x00, 0x00, 0x02,
++ 0x4F, 0xD1, 0x00, 0x00, 0x37);
++
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT, 0x25); /* PCCS = 2, ECP_DC_DIV = 1/4 HSYNC */
++
++ /* Undocumented command. */
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_UNKNOWN_BF, 0x02, 0x11, 0x00);
++
++ /* RGB I/F porch timing */
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF,
++ 0x0C, /* VBP_RGB_GEN */
++ 0x10, /* VFP_RGB_GEN */
++ 0x0A, /* DE_BP_RGB_GEN */
++ 0x50, /* DE_FP_RGB_GEN */
++ /* The rest is undocumented in ST7703 datasheet */
++ 0x03, 0xFF,
++ 0x00, 0x00,
++ 0x00, 0x00);
++
++ /* Source driving settings. */
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR,
++ 0x73, /* N_POPON */
++ 0x73, /* N_NOPON */
++ 0x50, /* I_POPON */
++ 0x50, /* I_NOPON */
++ 0x00, /* SCR[31,24] */
++ 0x00, /* SCR[23,16] */
++ 0x08, /* SCR[15,8] */
++ 0x70, /* SCR[7,0] */
++ 0x00 /* Undocumented */);
++
++ /* NVDDD_SEL = -1.8V, VDDD_SEL = out of range (possibly 1.9V?) */
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x46);
++
++ /*
++ * SS_PANEL = 1 (reverse scan), GS_PANEL = 0 (normal scan)
++ * REV_PANEL = 1 (normally black panel), BGR_PANEL = 1 (BGR)
++ */
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0B);
++
++ /* Zig-Zag Type C column inversion. */
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80);
++
++ /* Set display resolution. */
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP,
++ 0x00, /* NL = 480 */
++ 0x13, /* RES_V_LSB = 0, BLK_CON = VSSD,
++ * RESO_SEL = 720RGB
++ */
++ 0xF0 /* WHITE_GND_EN = 1 (GND),
++ * WHITE_FRAME_SEL = 7 frames,
++ * ISC = 0 frames
++ */);
++
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ,
++ 0x07, /* PNOEQ */
++ 0x07, /* NNOEQ */
++ 0x0B, /* PEQGND */
++ 0x0B, /* NEQGND */
++ 0x03, /* PEQVCI */
++ 0x0B, /* NEQVCI */
++ 0x00, /* PEQVCI1 */
++ 0x00, /* NEQVCI1 */
++ 0x00, /* reserved */
++ 0x00, /* reserved */
++ 0xFF, /* reserved */
++ 0x00, /* reserved */
++ 0xC0, /* ESD_DET_DATA_WHITE = 1, ESD_WHITE_EN = 1 */
++ 0x10 /* SLPIN_OPTION = 1 (no need vsync after sleep-in)
++ * VEDIO_NO_CHECK_EN = 0
++ * ESD_WHITE_GND_EN = 0
++ * ESD_DET_TIME_SEL = 0 frames
++ */);
++
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER,
++ 0x53, /* VBTHS, VBTLS: VGH = 17V, VBL = -11V */
++ 0x00, /* FBOFF_VGH = 0, FBOFF_VGL = 0 */
++ 0x1E, /* VRP */
++ 0x1E, /* VRN */
++ 0x77, /* reserved */
++ 0xE1, /* APS = 1 (small),
++ * VGL_DET_EN = 1, VGH_DET_EN = 1,
++ * VGL_TURBO = 1, VGH_TURBO = 1
++ */
++ 0xCC, /* VGH1_L_DIV, VGL1_L_DIV (1.5MHz) */
++ 0xDD, /* VGH1_R_DIV, VGL1_R_DIV (1.5MHz) */
++ 0x67, /* VGH2_L_DIV, VGL2_L_DIV (2.6MHz) */
++ 0x77, /* VGH2_R_DIV, VGL2_R_DIV (2.6MHz) */
++ 0x33, /* VGH3_L_DIV, VGL3_L_DIV (4.5MHz) */
++ 0x33 /* VGH3_R_DIV, VGL3_R_DIV (4.5MHz) */);
++
++ /* Reference voltage. */
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP,
++ 0x10, /* VREF_SEL = 4.2V */
++ 0x10 /* NVREF_SEL = 4.2V */);
++ msleep(20);
++
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM,
++ 0x6C, /* VCOMDC_F = -0.67V */
++ 0x7C /* VCOMDC_B = -0.67V */);
++
++ /* This command is to set forward GIP timing. */
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1,
++ 0x08, 0x00, 0x0E, 0x00, 0x00, 0xB0, 0xB1, 0x11,
++ 0x31, 0x23, 0x28, 0x10, 0xB0, 0xB1, 0x27, 0x08,
++ 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x04,
++ 0x02, 0x00, 0x00, 0x00, 0x88, 0x88, 0xBA, 0x60,
++ 0x24, 0x08, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
++ 0x88, 0xBA, 0x71, 0x35, 0x18, 0x88, 0x88, 0x88,
++ 0x88, 0x88, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
++
++ /* This command is to set backward GIP timing. */
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2,
++ 0x97, 0x0A, 0x82, 0x02, 0x13, 0x07, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x80, 0x88, 0xBA, 0x17,
++ 0x53, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x81,
++ 0x88, 0xBA, 0x06, 0x42, 0x88, 0x88, 0x88, 0x88,
++ 0x88, 0x88, 0x23, 0x10, 0x00, 0x02, 0x80, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00);
++
++ /* Adjust the gamma characteristics of the panel. */
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA,
++ 0x00, 0x07, 0x0B, 0x27, 0x2D, 0x3F, 0x3B, 0x37,
++ 0x05, 0x0A, 0x0B, 0x0F, 0x11, 0x0F, 0x12, 0x12,
++ 0x18, 0x00, 0x07, 0x0B, 0x27, 0x2D, 0x3F, 0x3B,
++ 0x37, 0x05, 0x0A, 0x0B, 0x0F, 0x11, 0x0F, 0x12,
++ 0x12, 0x18);
++
++ return 0;
++}
++
++static const struct drm_display_mode gameforce_mode = {
++ .hdisplay = 640,
++ .hsync_start = 640 + 120,
++ .hsync_end = 640 + 120 + 120,
++ .htotal = 640 + 120 + 120 + 120,
++ .vdisplay = 480,
++ .vsync_start = 480 + 13,
++ .vsync_end = 480 + 13 + 17,
++ .vtotal = 480 + 13 + 17 + 5,
++ .clock = 30900,
++ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
++ .width_mm = 53,
++ .height_mm = 71,
++};
++
++static const struct st7703_panel_desc gameforce_desc = {
++ .mode = &gameforce_mode,
++ .lanes = 2,
++ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE | MIPI_DSI_MODE_VIDEO_BURST | MIPI_DSI_MODE_LPM /*| MIPI_DSI_MODE_EOT_PACKET*/,
++ .format = MIPI_DSI_FMT_RGB888,
++ .init_sequence = gameforce_init_sequence,
++};
++
+ static const struct st7703_panel_desc xbd599_desc = {
+ .mode = &xbd599_mode,
+ .lanes = 4,
+@@ -341,7 +540,15 @@ static const struct st7703_panel_desc xb
.init_sequence = xbd599_init_sequence,
};
@@ -351,7 +537,7 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
{
struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
-@@ -349,44 +377,44 @@ static int rg353v2_init_sequence(struct
+@@ -349,44 +556,44 @@ static int rg353v2_init_sequence(struct
* Init sequence was supplied by the panel vendor.
*/
@@ -416,7 +602,7 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
0x00, 0xb0, 0xb1, 0x11, 0x31, 0x23, 0x28, 0x80,
0xb0, 0xb1, 0x27, 0x08, 0x00, 0x04, 0x02, 0x00,
0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00,
-@@ -395,7 +423,7 @@ static int rg353v2_init_sequence(struct
+@@ -395,7 +602,7 @@ static int rg353v2_init_sequence(struct
0x18, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00,
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00);
@@ -425,7 +611,7 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
0x03, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x81, 0x88, 0xba, 0x17, 0x53, 0x88, 0x88, 0x88,
0x88, 0x88, 0x88, 0x80, 0x88, 0xba, 0x06, 0x42,
-@@ -404,12 +432,12 @@ static int rg353v2_init_sequence(struct
+@@ -404,12 +611,12 @@ static int rg353v2_init_sequence(struct
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00);
@@ -440,7 +626,7 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
.hdisplay = 640,
.hsync_start = 640 + 40,
.hsync_end = 640 + 40 + 2,
-@@ -424,15 +452,210 @@ static const struct drm_display_mode rg3
+@@ -424,15 +631,210 @@ static const struct drm_display_mode rg3
.height_mm = 57,
};
@@ -448,13 +634,14 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
- .mode = &rg353v2_mode,
+static const struct st7703_panel_desc rg351v2_desc = {
+ .mode = &rg351v2_mode,
-+ .lanes = 4,
-+ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
-+ MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_LPM,
-+ .format = MIPI_DSI_FMT_RGB888,
+ .lanes = 4,
+ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
+ MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_LPM,
+ .format = MIPI_DSI_FMT_RGB888,
+- .init_sequence = rg353v2_init_sequence,
+ .init_sequence = rg351v2_init_sequence,
-+};
-+
+ };
+
+static int xu10_init_sequence(struct st7703 *ctx)
+{
+ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
@@ -542,14 +729,13 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
+
+static const struct st7703_panel_desc xu10_desc = {
+ .mode = &xu10_mode,
- .lanes = 4,
- .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
- MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_LPM,
- .format = MIPI_DSI_FMT_RGB888,
-- .init_sequence = rg353v2_init_sequence,
++ .lanes = 4,
++ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
++ MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_LPM,
++ .format = MIPI_DSI_FMT_RGB888,
+ .init_sequence = xu10_init_sequence,
- };
-
++};
++
+static int r36s_init_sequence(struct st7703 *ctx)
+{
+ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
@@ -654,7 +840,7 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
static int rgb30panel_init_sequence(struct st7703 *ctx)
{
struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
-@@ -446,31 +669,31 @@ static int rgb30panel_init_sequence(stru
+@@ -446,31 +848,31 @@ static int rgb30panel_init_sequence(stru
mipi_dsi_dcs_exit_sleep_mode(dsi);
msleep(250);
@@ -701,7 +887,7 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
0x0f, 0xa1, 0x80, 0x12, 0x31, 0x23, 0x47, 0x86,
0xa1, 0x80, 0x47, 0x08, 0x00, 0x00, 0x0d, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
-@@ -479,7 +702,7 @@ static int rgb30panel_init_sequence(stru
+@@ -479,7 +881,7 @@ static int rgb30panel_init_sequence(stru
0x13, 0x88, 0x88, 0x88, 0x88, 0x88, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00);
@@ -710,7 +896,7 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
0x01, 0x78, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
0x4f, 0x31, 0x8b, 0xa8, 0x31, 0x75, 0x88, 0x88,
0x88, 0x88, 0x88, 0x4f, 0x20, 0x8b, 0xa8, 0x20,
-@@ -488,7 +711,7 @@ static int rgb30panel_init_sequence(stru
+@@ -488,7 +890,7 @@ static int rgb30panel_init_sequence(stru
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x40, 0xa1, 0x80, 0x00, 0x00, 0x00,
0x00);
@@ -719,7 +905,7 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
0x29, 0x3b, 0x3f, 0x42, 0x39, 0x06, 0x0d, 0x10,
0x13, 0x15, 0x14, 0x15, 0x10, 0x17, 0x00, 0x0a,
0x0f, 0x29, 0x3b, 0x3f, 0x42, 0x39, 0x06, 0x0d,
-@@ -667,7 +890,7 @@ static int allpixelson_set(void *data, u
+@@ -667,7 +1069,7 @@ static int allpixelson_set(void *data, u
struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
dev_dbg(ctx->dev, "Setting all pixels on\n");
@@ -728,7 +914,7 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
msleep(val * 1000);
/* Reset the panel to get video back */
drm_panel_disable(&ctx->panel);
-@@ -783,7 +1006,9 @@ static void st7703_remove(struct mipi_ds
+@@ -783,10 +1185,13 @@ static void st7703_remove(struct mipi_ds
}
static const struct of_device_id st7703_of_match[] = {
@@ -739,7 +925,11 @@ diff -rupN linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c linux/driver
{ .compatible = "powkiddy,rgb30-panel", .data = &rgb30panel_desc },
{ .compatible = "rocktech,jh057n00900", .data = &jh057n00900_panel_desc },
{ .compatible = "xingbangda,xbd599", .data = &xbd599_desc },
-@@ -802,6 +1027,6 @@ static struct mipi_dsi_driver st7703_dri
++ { .compatible = "gameforce,chi-panel", .data = &gameforce_desc },
+ { /* sentinel */ }
+ };
+ MODULE_DEVICE_TABLE(of, st7703_of_match);
+@@ -802,6 +1207,6 @@ static struct mipi_dsi_driver st7703_dri
};
module_mipi_dsi_driver(st7703_driver);
diff --git a/projects/Rockchip/packages/linux/patches/RK3326/004-input-drivers.patch b/projects/Rockchip/packages/linux/patches/RK3326/004-input-drivers.patch
index ec3598263c..934c4e70a9 100644
--- a/projects/Rockchip/packages/linux/patches/RK3326/004-input-drivers.patch
+++ b/projects/Rockchip/packages/linux/patches/RK3326/004-input-drivers.patch
@@ -1,6 +1,6 @@
diff -rupN linux.orig/drivers/gpio/gpiolib-of.c linux/drivers/gpio/gpiolib-of.c
---- linux.orig/drivers/gpio/gpiolib-of.c 2024-01-29 06:18:08.163711909 +0000
-+++ linux/drivers/gpio/gpiolib-of.c 2024-01-29 06:19:30.953540557 +0000
+--- linux.orig/drivers/gpio/gpiolib-of.c 2024-02-15 14:44:50.566334442 +0000
++++ linux/drivers/gpio/gpiolib-of.c 2024-02-15 15:26:39.682128004 +0000
@@ -25,21 +25,6 @@
#include "gpiolib.h"
#include "gpiolib-of.h"
@@ -45,8 +45,8 @@ diff -rupN linux.orig/drivers/gpio/gpiolib-of.c linux/drivers/gpio/gpiolib-of.c
* of_get_named_gpio() - Get a GPIO number to use with GPIO API
* @np: device node to get GPIO from
diff -rupN linux.orig/drivers/input/Kconfig linux/drivers/input/Kconfig
---- linux.orig/drivers/input/Kconfig 2024-01-29 06:18:08.495719572 +0000
-+++ linux/drivers/input/Kconfig 2024-01-29 06:19:30.953540557 +0000
+--- linux.orig/drivers/input/Kconfig 2024-02-15 14:44:51.830362270 +0000
++++ linux/drivers/input/Kconfig 2024-02-15 15:26:39.682128004 +0000
@@ -51,6 +51,19 @@ config INPUT_FF_MEMLESS
To compile this driver as a module, choose M here: the
module will be called ff-memless.
@@ -68,8 +68,8 @@ diff -rupN linux.orig/drivers/input/Kconfig linux/drivers/input/Kconfig
tristate "Sparse keymap support library"
help
diff -rupN linux.orig/drivers/input/Makefile linux/drivers/input/Makefile
---- linux.orig/drivers/input/Makefile 2024-01-29 06:18:08.495719572 +0000
-+++ linux/drivers/input/Makefile 2024-01-29 06:19:30.953540557 +0000
+--- linux.orig/drivers/input/Makefile 2024-02-15 14:44:51.830362270 +0000
++++ linux/drivers/input/Makefile 2024-02-15 15:26:39.682128004 +0000
@@ -10,6 +10,7 @@ input-core-y := input.o input-compat.o i
input-core-y += touchscreen.o
@@ -80,7 +80,7 @@ diff -rupN linux.orig/drivers/input/Makefile linux/drivers/input/Makefile
obj-$(CONFIG_INPUT_VIVALDIFMAP) += vivaldi-fmap.o
diff -rupN linux.orig/drivers/input/input-polldev.c linux/drivers/input/input-polldev.c
--- linux.orig/drivers/input/input-polldev.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux/drivers/input/input-polldev.c 2024-01-29 06:19:30.953540557 +0000
++++ linux/drivers/input/input-polldev.c 2024-02-15 15:26:39.682128004 +0000
@@ -0,0 +1,362 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
@@ -445,9 +445,9 @@ diff -rupN linux.orig/drivers/input/input-polldev.c linux/drivers/input/input-po
+}
+EXPORT_SYMBOL(input_unregister_polled_device);
diff -rupN linux.orig/drivers/input/joystick/Kconfig linux/drivers/input/joystick/Kconfig
---- linux.orig/drivers/input/joystick/Kconfig 2024-01-29 06:18:08.495719572 +0000
-+++ linux/drivers/input/joystick/Kconfig 2024-01-29 06:29:57.539189141 +0000
-@@ -400,6 +400,31 @@ config JOYSTICK_N64
+--- linux.orig/drivers/input/joystick/Kconfig 2024-02-15 14:44:51.834362359 +0000
++++ linux/drivers/input/joystick/Kconfig 2024-02-16 13:56:59.646751062 +0000
+@@ -400,6 +400,36 @@ config JOYSTICK_N64
Say Y here if you want enable support for the four
built-in controller ports on the Nintendo 64 console.
@@ -475,14 +475,27 @@ diff -rupN linux.orig/drivers/input/joystick/Kconfig linux/drivers/input/joystic
+ tristate "XU10 joypad driver"
+ help
+ Made for XU10.
++
++config JOYSTICK_GAMEFORCE_CHI
++ tristate "gameforce joypad driver"
++ help
++ Made for Gameforce CHI.
+
config JOYSTICK_SENSEHAT
tristate "Raspberry Pi Sense HAT joystick"
depends on INPUT && I2C
diff -rupN linux.orig/drivers/input/joystick/Makefile linux/drivers/input/joystick/Makefile
---- linux.orig/drivers/input/joystick/Makefile 2024-01-29 06:18:08.495719572 +0000
-+++ linux/drivers/input/joystick/Makefile 2024-01-29 06:28:09.660788600 +0000
-@@ -25,6 +25,10 @@ obj-$(CONFIG_JOYSTICK_JOYDUMP) += joydu
+--- linux.orig/drivers/input/joystick/Makefile 2024-02-15 14:44:51.834362359 +0000
++++ linux/drivers/input/joystick/Makefile 2024-02-15 22:21:50.407922538 +0000
+@@ -15,6 +15,7 @@ obj-$(CONFIG_JOYSTICK_COBRA) += cobra.o
+ obj-$(CONFIG_JOYSTICK_DB9) += db9.o
+ obj-$(CONFIG_JOYSTICK_FSIA6B) += fsia6b.o
+ obj-$(CONFIG_JOYSTICK_GAMECON) += gamecon.o
++obj-$(CONFIG_JOYSTICK_GAMEFORCE_CHI) += gameforce-joypad.o
+ obj-$(CONFIG_JOYSTICK_GF2K) += gf2k.o
+ obj-$(CONFIG_JOYSTICK_GRIP) += grip.o
+ obj-$(CONFIG_JOYSTICK_GRIP_MP) += grip_mp.o
+@@ -25,6 +26,10 @@ obj-$(CONFIG_JOYSTICK_JOYDUMP) += joydu
obj-$(CONFIG_JOYSTICK_MAGELLAN) += magellan.o
obj-$(CONFIG_JOYSTICK_MAPLE) += maplecontrol.o
obj-$(CONFIG_JOYSTICK_N64) += n64joy.o
@@ -493,15 +506,1349 @@ diff -rupN linux.orig/drivers/input/joystick/Makefile linux/drivers/input/joysti
obj-$(CONFIG_JOYSTICK_PSXPAD_SPI) += psxpad-spi.o
obj-$(CONFIG_JOYSTICK_PXRC) += pxrc.o
obj-$(CONFIG_JOYSTICK_QWIIC) += qwiic-joystick.o
-@@ -39,4 +43,5 @@ obj-$(CONFIG_JOYSTICK_TWIDJOY) += twidj
+@@ -39,4 +44,5 @@ obj-$(CONFIG_JOYSTICK_TWIDJOY) += twidj
obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o
obj-$(CONFIG_JOYSTICK_WALKERA0701) += walkera0701.o
obj-$(CONFIG_JOYSTICK_XPAD) += xpad.o
+obj-$(CONFIG_JOYSTICK_XU10) += xu10-joypad.o
obj-$(CONFIG_JOYSTICK_ZHENHUA) += zhenhua.o
+diff -rupN linux.orig/drivers/input/joystick/gameforce-joypad.c linux/drivers/input/joystick/gameforce-joypad.c
+--- linux.orig/drivers/input/joystick/gameforce-joypad.c 1970-01-01 00:00:00.000000000 +0000
++++ linux/drivers/input/joystick/gameforce-joypad.c 2024-02-15 22:18:17.735235573 +0000
+@@ -0,0 +1,1330 @@
++/*
++ * SARADC joystick & GPIO Button driver for Linux(Gameforce CHI)
++ */
++/*
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ *
++ * Should you need to contact me, the author, you can do so either by
++ * e-mail - mail your message to , or by paper mail:
++ * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic
++ */
++
++/*----------------------------------------------------------------------------*/
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++#include
++
++#define RIGHT_ADC_JOYSTICK
++#define VOLUME_ADC_KEYS
++#define VIBRATORS_FF
++
++#ifdef RIGHT_ADC_JOYSTICK
++#include
++#include "../input-compat.h"
++#endif
++
++/*----------------------------------------------------------------------------*/
++#define DRV_NAME "gameforce_gamepad"
++/*----------------------------------------------------------------------------*/
++#ifdef VOLUME_ADC_KEYS
++struct of_device_id adckeys_of_match[] = {
++ { .compatible = "volume-keys", },
++ {},
++};
++#endif
++
++#ifdef VIBRATORS_FF
++struct of_device_id vibrators_of_match[] = {
++ { .compatible = "gpio,vibrators", },
++ {},
++};
++
++
++struct gpio_vib {
++ struct work_struct work;
++ int speed;
++ int index;
++ int last_index;
++ bool active;
++ int gpio0;
++ int gpio1;
++};
++#endif
++
++#ifdef VOLUME_ADC_KEYS
++struct adc_keys_button {
++ u32 voltage;
++ u32 keycode;
++};
++
++struct adc_keys_state {
++ struct iio_channel *channel;
++ u32 num_keys;
++ u32 last_key;
++ u32 keyup_voltage;
++ const struct adc_keys_button *map;
++};
++#endif
++
++struct bt_adc {
++ /* IIO ADC Channel */
++ struct iio_channel *channel;
++ /* report value (mV) */
++ int old_value;
++ /* report type */
++ int report_type;
++ /* input device init value (mV) */
++ int max, min;
++ /* calibrated adc value */
++ int cal;
++ /* adc scale value */
++ int scale;
++ /* invert report */
++ bool invert;
++};
++
++struct bt_gpio {
++ /* GPIO Request label */
++ const char *label;
++ /* GPIO Number */
++ int num;
++ /* report type */
++ int report_type;
++ /* report linux code */
++ int linux_code;
++ /* prev button value */
++ bool old_value;
++ /* button press level */
++ bool active_level;
++};
++
++struct joypad {
++ struct device *dev;
++ int poll_interval;
++
++ /* report enable/disable */
++ bool enable;
++
++ /* report reference point */
++ bool invert_absx;
++ bool invert_absy;
++
++ /* report interval (ms) */
++ int bt_gpio_count;
++ struct bt_gpio *gpios;
++ /* button auto repeat */
++ int auto_repeat;
++
++ /* report threshold (mV) */
++ int bt_adc_fuzz, bt_adc_flat;
++ int bt_adc_x_range, bt_adc_y_range;
++ /* adc read value scale */
++ int bt_adc_scale;
++ /* joystick deadzone control */
++ int bt_adc_deadzone;
++ int bt_adc_count;
++ struct bt_adc *adcs;
++#ifdef VOLUME_ADC_KEYS
++ /*adc key saradc[2]*/
++ struct adc_keys_state *st;
++#endif
++#ifdef VIBRATORS_FF
++ /* vibrator */
++ struct gpio_vib *vib;
++#endif
++ struct mutex lock;
++};
++
++#ifdef RIGHT_ADC_JOYSTICK
++struct input_dev *global_input = NULL;
++#endif
++/*----------------------------------------------------------------------------*/
++//
++// set to the value in the boot.ini file. (if exist)
++//
++/*----------------------------------------------------------------------------*/
++static unsigned int g_button_adc_x_range = 0;
++static unsigned int g_button_adc_y_range = 0;
++static unsigned int g_button_adc_fuzz = 0;
++static unsigned int g_button_adc_flat = 0;
++static unsigned int g_button_adc_scale = 0;
++static unsigned int g_button_adc_deadzone = 0;
++
++static int __init button_adcx_range_setup(char *str)
++{
++ if (!str)
++ return -EINVAL;
++
++ g_button_adc_x_range = simple_strtoul(str, NULL, 10);
++
++ return 0;
++}
++__setup("button-adc-x-range=", button_adcx_range_setup);
++
++static int __init button_adcy_range_setup(char *str)
++{
++ if (!str)
++ return -EINVAL;
++
++ g_button_adc_y_range = simple_strtoul(str, NULL, 10);
++
++ return 0;
++}
++__setup("button-adc-y-range=", button_adcy_range_setup);
++
++static int button_adc_fuzz(char *str)
++{
++ if (!str)
++ return -EINVAL;
++ g_button_adc_fuzz = simple_strtoul(str, NULL, 10);
++ return 0;
++}
++__setup("button-adc-fuzz=", button_adc_fuzz);
++
++static int button_adc_flat(char *str)
++{
++ if (!str)
++ return -EINVAL;
++ g_button_adc_flat = simple_strtoul(str, NULL, 10);
++ return 0;
++}
++__setup("button-adc-flat=", button_adc_flat);
++
++static int button_adc_scale(char *str)
++{
++ if (!str)
++ return -EINVAL;
++ g_button_adc_scale = simple_strtoul(str, NULL, 10);
++ return 0;
++}
++__setup("button-adc-scale=", button_adc_scale);
++
++static int button_adc_deadzone(char *str)
++{
++ if (!str)
++ return -EINVAL;
++ g_button_adc_deadzone = simple_strtoul(str, NULL, 10);
++ return 0;
++}
++__setup("button-adc-deadzone=", button_adc_deadzone);
++
++/*----------------------------------------------------------------------------*/
++/*----------------------------------------------------------------------------*/
++static int joypad_adc_read(struct bt_adc *adc)
++{
++ int value;
++
++ if (iio_read_channel_processed(adc->channel, &value))
++ return 0;
++
++ value *= adc->scale;
++
++ return (adc->invert ? (adc->max - value) : value);
++}
++
++/*----------------------------------------------------------------------------*/
++/*----------------------------------------------------------------------------*/
++/*
++ * ATTRIBUTES:
++ *
++ * /sys/devices/platform/DRV_NAME/poll_interval [rw]
++ */
++/*----------------------------------------------------------------------------*/
++static ssize_t joypad_store_poll_interval(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf,
++ size_t count)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct joypad *joypad = platform_get_drvdata(pdev);
++
++ mutex_lock(&joypad->lock);
++ joypad->poll_interval = simple_strtoul(buf, NULL, 10);
++ mutex_unlock(&joypad->lock);
++
++ return count;
++}
++
++/*----------------------------------------------------------------------------*/
++static ssize_t joypad_show_poll_interval(struct device *dev,
++ struct device_attribute *attr,
++ char *buf)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct joypad *joypad = platform_get_drvdata(pdev);
++
++ return sprintf(buf, "%d\n", joypad->poll_interval);
++}
++
++/*----------------------------------------------------------------------------*/
++static DEVICE_ATTR(poll_interval, S_IWUSR | S_IRUGO,
++ joypad_show_poll_interval,
++ joypad_store_poll_interval);
++
++/*----------------------------------------------------------------------------*/
++/*
++ * ATTRIBUTES:
++ *
++ * /sys/devices/platform/DRV_NAME/adc_fuzz [r]
++ */
++/*----------------------------------------------------------------------------*/
++static ssize_t joypad_show_adc_fuzz(struct device *dev,
++ struct device_attribute *attr,
++ char *buf)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct joypad *joypad = platform_get_drvdata(pdev);
++
++ return sprintf(buf, "%d\n", joypad->bt_adc_fuzz);
++}
++
++/*----------------------------------------------------------------------------*/
++static DEVICE_ATTR(adc_fuzz, S_IWUSR | S_IRUGO,
++ joypad_show_adc_fuzz,
++ NULL);
++
++/*----------------------------------------------------------------------------*/
++/*
++ * ATTRIBUTES:
++ *
++ * /sys/devices/platform/DRV_NAME/adc_flat [r]
++ */
++/*----------------------------------------------------------------------------*/
++static ssize_t joypad_show_adc_flat(struct device *dev,
++ struct device_attribute *attr,
++ char *buf)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct joypad *joypad = platform_get_drvdata(pdev);
++
++ return sprintf(buf, "%d\n", joypad->bt_adc_flat);
++}
++
++/*----------------------------------------------------------------------------*/
++static DEVICE_ATTR(adc_flat, S_IWUSR | S_IRUGO,
++ joypad_show_adc_flat,
++ NULL);
++
++/*----------------------------------------------------------------------------*/
++/*
++ * ATTRIBUTES:
++ *
++ * /sys/devices/platform/DRV_NAME/enable [rw]
++ */
++/*----------------------------------------------------------------------------*/
++static ssize_t joypad_store_enable(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf,
++ size_t count)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct joypad *joypad = platform_get_drvdata(pdev);
++
++ mutex_lock(&joypad->lock);
++ joypad->enable = simple_strtoul(buf, NULL, 10);
++ mutex_unlock(&joypad->lock);
++
++ return count;
++}
++
++/*----------------------------------------------------------------------------*/
++static ssize_t joypad_show_enable(struct device *dev,
++ struct device_attribute *attr,
++ char *buf)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct joypad *joypad = platform_get_drvdata(pdev);
++
++ return sprintf(buf, "%d\n", joypad->enable);
++}
++
++/*----------------------------------------------------------------------------*/
++static DEVICE_ATTR(enable, S_IWUSR | S_IRUGO,
++ joypad_show_enable,
++ joypad_store_enable);
++
++/*----------------------------------------------------------------------------*/
++/*
++ * ATTRIBUTES:
++ *
++ * /sys/devices/platform/DRV_NAME/adc_cal [rw]
++ */
++/*----------------------------------------------------------------------------*/
++static ssize_t joypad_store_adc_cal(struct device *dev,
++ struct device_attribute *attr,
++ const char *buf,
++ size_t count)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct joypad *joypad = platform_get_drvdata(pdev);
++ bool calibration;
++
++ calibration = simple_strtoul(buf, NULL, 10);
++
++ if (calibration) {
++ int nbtn;
++
++ mutex_lock(&joypad->lock);
++ for (nbtn = 0; nbtn < joypad->bt_adc_count; nbtn++) {
++ struct bt_adc *adc = &joypad->adcs[nbtn];
++
++ adc->cal = joypad_adc_read(adc);
++ if (!adc->cal) {
++ dev_err(joypad->dev, "%s : saradc channels[%d]!\n",
++ __func__, nbtn);
++ continue;
++ }
++ adc->old_value = adc->cal;
++ }
++ mutex_unlock(&joypad->lock);
++ }
++ return count;
++}
++
++/*----------------------------------------------------------------------------*/
++static ssize_t joypad_show_adc_cal(struct device *dev,
++ struct device_attribute *attr,
++ char *buf)
++{
++ struct platform_device *pdev = to_platform_device(dev);
++ struct joypad *joypad = platform_get_drvdata(pdev);
++ int nbtn;
++ ssize_t pos;
++
++ for (nbtn = 0, pos = 0; nbtn < joypad->bt_adc_count; nbtn++) {
++ struct bt_adc *adc = &joypad->adcs[nbtn];
++ pos += sprintf(&buf[pos], "adc[%d]->cal = %d ",
++ nbtn, adc->cal);
++ }
++ pos += sprintf(&buf[pos], "\n");
++ return pos;
++}
++
++/*----------------------------------------------------------------------------*/
++static DEVICE_ATTR(adc_cal, S_IWUSR | S_IRUGO,
++ joypad_show_adc_cal,
++ joypad_store_adc_cal);
++
++/*----------------------------------------------------------------------------*/
++/*----------------------------------------------------------------------------*/
++static struct attribute *joypad_attrs[] = {
++ &dev_attr_poll_interval.attr,
++ &dev_attr_adc_fuzz.attr,
++ &dev_attr_adc_flat.attr,
++ &dev_attr_enable.attr,
++ &dev_attr_adc_cal.attr,
++ NULL,
++};
++
++static struct attribute_group joypad_attr_group = {
++ .attrs = joypad_attrs,
++};
++
++/*----------------------------------------------------------------------------*/
++/*----------------------------------------------------------------------------*/
++static void joypad_gpio_check(struct input_polled_dev *poll_dev)
++{
++ struct joypad *joypad = poll_dev->private;
++ int nbtn, value;
++
++ for (nbtn = 0; nbtn < joypad->bt_gpio_count; nbtn++) {
++ struct bt_gpio *gpio = &joypad->gpios[nbtn];
++
++ if (gpio_get_value_cansleep(gpio->num) < 0) {
++ dev_err(joypad->dev, "failed to get gpio state\n");
++ continue;
++ }
++ value = gpio_get_value(gpio->num);
++ if (value != gpio->old_value) {
++ input_event(poll_dev->input,
++ gpio->report_type,
++ gpio->linux_code,
++ (value == gpio->active_level) ? 1 : 0);
++ gpio->old_value = value;
++ }
++ }
++ input_sync(poll_dev->input);
++}
++
++/*----------------------------------------------------------------------------*/
++static void joypad_adc_check(struct input_polled_dev *poll_dev)
++{
++ struct joypad *joypad = poll_dev->private;
++ int nbtn, value;
++
++ for (nbtn = 0; nbtn < joypad->bt_adc_count; nbtn++) {
++ struct bt_adc *adc = &joypad->adcs[nbtn];
++
++ value = joypad_adc_read(adc);
++ if (!value) {
++ dev_err(joypad->dev, "%s : saradc channels[%d]!\n",
++ __func__, nbtn);
++ continue;
++ }
++
++ /* Joystick Deadzone check */
++ if (joypad->bt_adc_deadzone) {
++ if ((value < adc->cal + joypad->bt_adc_deadzone) &&
++ (value > adc->cal - joypad->bt_adc_deadzone))
++ value = adc->cal;
++ }
++ value = value - adc->cal;
++ value = value > adc->max ? adc->max : value;
++ value = value < adc->min ? adc->min : value;
++
++ if (nbtn == 0)
++ {
++ // adc-x value is default inverted(h/w)
++ input_report_abs(poll_dev->input,
++ adc->report_type, value);
++ }
++ else
++ {
++ input_report_abs(poll_dev->input,
++ adc->report_type, value * (-1));
++ }
++ adc->old_value = value;
++ }
++ input_sync(poll_dev->input);
++}
++
++/*----------------------------------------------------------------------------*/
++#ifdef VOLUME_ADC_KEYS
++static int joypad_vol_check(struct input_polled_dev *poll_dev)
++{
++ struct joypad *joypad = poll_dev->private;
++ //struct adc_keys_state *st = dev->private;
++ int i, value, ret;
++ u32 diff, closest = 0xffffffff;
++ int keycode = 0;
++
++ ret = iio_read_channel_processed(joypad->st->channel, &value);
++ if (unlikely(ret < 0)) {
++ /* Forcibly release key if any was pressed */
++ value = joypad->st->keyup_voltage;
++ } else {
++ for (i = 0; i < joypad->st->num_keys; i++) {
++ diff = abs(joypad->st->map[i].voltage - value);
++ if (diff < closest) {
++ closest = diff;
++ keycode = joypad->st->map[i].keycode;
++ }
++ }
++ }
++
++ if (((157 320) && (value<1700)))
++ return -1;
++ if (abs(joypad->st->keyup_voltage - value) < closest)
++ keycode = 0;
++
++ if (joypad->st->last_key && joypad->st->last_key != keycode)
++ input_report_key(poll_dev->input, joypad->st->last_key, 0);
++
++ if (keycode)
++ input_report_key(poll_dev->input, keycode, 1);
++
++ input_sync(poll_dev->input);
++ joypad->st->last_key = keycode;
++
++ return 0;
++}
++#endif
++/*----------------------------------------------------------------------------*/
++static void joypad_poll(struct input_polled_dev *poll_dev)
++{
++ struct joypad *joypad = poll_dev->private;
++
++ if (joypad->enable) {
++ joypad_adc_check(poll_dev);
++ joypad_gpio_check(poll_dev);
++ #ifdef VOLUME_ADC_KEYS
++ joypad_vol_check(poll_dev);
++ #endif
++ }
++ if (poll_dev->poll_interval != joypad->poll_interval) {
++ mutex_lock(&joypad->lock);
++ poll_dev->poll_interval = joypad->poll_interval;
++ mutex_unlock(&joypad->lock);
++ }
++}
++
++/*----------------------------------------------------------------------------*/
++static void joypad_open(struct input_polled_dev *poll_dev)
++{
++ struct joypad *joypad = poll_dev->private;
++ int nbtn;
++
++ for (nbtn = 0; nbtn < joypad->bt_gpio_count; nbtn++) {
++ struct bt_gpio *gpio = &joypad->gpios[nbtn];
++ gpio->old_value = gpio->active_level ? 0 : 1;
++ }
++ for (nbtn = 0; nbtn < joypad->bt_adc_count; nbtn++) {
++ struct bt_adc *adc = &joypad->adcs[nbtn];
++
++ adc->old_value = joypad_adc_read(adc);
++ if (!adc->old_value) {
++ dev_err(joypad->dev, "%s : saradc channels[%d]!\n",
++ __func__, nbtn);
++ continue;
++ }
++ adc->cal = adc->old_value;
++ dev_info(joypad->dev, "%s : adc[%d] adc->cal = %d\n",
++ __func__, nbtn, adc->cal);
++ }
++ /* buttons status sync */
++ joypad_adc_check(poll_dev);
++ joypad_gpio_check(poll_dev);
++
++ /* button report enable */
++ mutex_lock(&joypad->lock);
++ joypad->enable = true;
++ mutex_unlock(&joypad->lock);
++
++ dev_info(joypad->dev, "%s : opened\n", __func__);
++}
++
++/*----------------------------------------------------------------------------*/
++static void joypad_close(struct input_polled_dev *poll_dev)
++{
++ struct joypad *joypad = poll_dev->private;
++
++ /* button report disable */
++ mutex_lock(&joypad->lock);
++ joypad->enable = false;
++ mutex_unlock(&joypad->lock);
++
++ dev_info(joypad->dev, "%s : closed\n", __func__);
++}
++#ifdef VIBRATORS_FF
++/**
++ * gpio_vib_set - handler to start/stop vibration
++ * @vib: pointer to vibrator structure
++ * @on: state to set
++ */
++static int gpio_vib_set(struct gpio_vib *vib, bool on)
++{
++ if (on) {
++ if (vib->last_index) {
++ gpio_direction_output(vib->gpio1, 1);
++ gpio_set_value(vib->gpio1, 1);
++ } else {
++ gpio_direction_output(vib->gpio0, 1);
++ gpio_set_value(vib->gpio0, 1);
++ }
++ }
++ else {
++ if (vib->last_index) {
++ gpio_direction_output(vib->gpio1, 0);
++ gpio_set_value(vib->gpio1, 0);
++ } else {
++ gpio_direction_output(vib->gpio0, 0);
++ gpio_set_value(vib->gpio0, 0);
++ }
++ }
++
++ return 0;
++}
++
++/**
++ * vib_work_handler - worker to set vibration level
++ * @work: pointer to work_struct
++ */
++static void vib_work_handler(struct work_struct *work)
++{
++ struct gpio_vib *vib = container_of(work, struct gpio_vib, work);
++ //struct joypad *joypad = container_of(vib, struct joypad, vib);
++
++ /*
++ * pmic vibrator supports voltage ranges from 1.2 to 3.1V, so
++ * scale the level to fit into these ranges.
++ */
++ printk("%s speed = %d\n", __func__, vib->speed);
++ if (vib->speed) {
++ vib->active = true;
++ } else {
++ vib->active = false;
++ }
++
++ gpio_vib_set(vib, vib->active);
++}
++#endif
++
++/*----------------------------------------------------------------------------*/
++static int joypad_adc_setup(struct device *dev, struct joypad *joypad)
++{
++ int nbtn = 0;
++
++ joypad->adcs = devm_kzalloc(dev, joypad->bt_adc_count *
++ sizeof(struct bt_adc), GFP_KERNEL);
++
++ if (!joypad->adcs) {
++ dev_err(dev, "%s devm_kzmalloc error!", __func__);
++ return -ENOMEM;
++ }
++
++ for (nbtn = 0; nbtn < joypad->bt_adc_count; nbtn++) {
++ struct bt_adc *adc = &joypad->adcs[nbtn];
++ enum iio_chan_type type;
++
++ adc->scale = joypad->bt_adc_scale;
++ if (nbtn) {
++ adc->channel =
++ devm_iio_channel_get(dev, "joy_y");
++ adc->report_type = ABS_Y;
++ if (joypad->invert_absy)
++ adc->invert = true;
++
++ adc->max = (joypad->bt_adc_y_range / 2) - 1;
++ adc->min = -(joypad->bt_adc_y_range / 2);
++ }
++ else {
++ adc->channel =
++ devm_iio_channel_get(dev, "joy_x");
++ adc->report_type = ABS_X;
++ if (joypad->invert_absx)
++ adc->invert = true;
++
++ adc->max = (joypad->bt_adc_x_range / 2) - 1;
++ adc->min = -(joypad->bt_adc_x_range / 2);
++ }
++
++ if (IS_ERR(adc->channel)) {
++ dev_err(dev, "iio channel[%d] get error\n", nbtn);
++ return -EINVAL;
++ }
++ if (!adc->channel->indio_dev)
++ return -ENXIO;
++
++ if (iio_get_channel_type(adc->channel, &type))
++ return -EINVAL;
++
++ if (type != IIO_VOLTAGE) {
++ dev_err(dev, "Incompatible channel %d type %d\n",
++ nbtn, type);
++ return -EINVAL;
++ }
++ }
++ if (nbtn == 0)
++ return -EINVAL;
++
++ return 0;
++}
++
++/*----------------------------------------------------------------------------*/
++static int joypad_gpio_setup(struct device *dev, struct joypad *joypad)
++{
++ struct device_node *node, *pp;
++ int nbtn;
++
++ node = dev->of_node;
++ if (!node)
++ return -ENODEV;
++
++ joypad->gpios = devm_kzalloc(dev, joypad->bt_gpio_count *
++ sizeof(struct bt_gpio), GFP_KERNEL);
++
++ if (!joypad->gpios) {
++ dev_err(dev, "%s devm_kzmalloc error!", __func__);
++ return -ENOMEM;
++ }
++
++ nbtn = 0;
++ for_each_child_of_node(node, pp) {
++ enum of_gpio_flags flags;
++ struct bt_gpio *gpio = &joypad->gpios[nbtn++];
++ int error;
++
++ gpio->num = of_get_gpio_flags(pp, 0, &flags);
++ if (gpio->num < 0) {
++ error = gpio->num;
++ dev_err(dev, "Failed to get gpio flags, error: %d\n",
++ error);
++ return error;
++ }
++
++ /* gpio active level(key press level) */
++ gpio->active_level = (flags & OF_GPIO_ACTIVE_LOW) ? 0 : 1;
++
++ gpio->label = of_get_property(pp, "label", NULL);
++
++ if (gpio_is_valid(gpio->num)) {
++ error = devm_gpio_request_one(dev, gpio->num,
++ GPIOF_IN, gpio->label);
++ if (error < 0) {
++ dev_err(dev,
++ "Failed to request GPIO %d, error %d\n",
++ gpio->num, error);
++ return error;
++ }
++ }
++ if (of_property_read_u32(pp, "linux,code", &gpio->linux_code)) {
++ dev_err(dev, "Button without keycode: 0x%x\n",
++ gpio->num);
++ return -EINVAL;
++ }
++ if (of_property_read_u32(pp, "linux,input-type",
++ &gpio->report_type))
++ gpio->report_type = EV_KEY;
++ }
++ if (nbtn == 0)
++ return -EINVAL;
++
++ return 0;
++}
++
++/*----------------------------------------------------------------------------*/
++#ifdef VOLUME_ADC_KEYS
++static int joypad_vol_setup(struct device *dev, struct joypad *joypad)
++{
++ struct device_node *node, *pp;
++ struct adc_keys_button *map;
++ //struct device *adckey_dev;
++ enum iio_chan_type type;
++ int i;
++ int error;
++
++ node = NULL;
++ node = of_find_matching_node(NULL, adckeys_of_match);
++
++ if(node) {
++
++ printk("%s into ...\n", __func__);
++ //adckey_dev = container_of(node, struct device, of_node);
++ joypad->st = devm_kzalloc(dev, sizeof(*joypad->st), GFP_KERNEL);
++
++ joypad->st->channel = devm_iio_channel_get(dev, "volume-buttons");
++ if (IS_ERR(joypad->st->channel))
++ return PTR_ERR(joypad->st->channel);
++
++ if (!joypad->st->channel->indio_dev)
++ return -ENXIO;
++
++ error = iio_get_channel_type(joypad->st->channel, &type);
++ if (error < 0)
++ return error;
++
++ if (type != IIO_VOLTAGE) {
++ dev_err(dev, "Incompatible channel type %d\n", type);
++ return -EINVAL;
++ }
++
++ if (of_property_read_u32(node, "keyup-threshold-microvolt",
++ &joypad->st->keyup_voltage)) {
++ dev_err(dev, "Invalid or missing keyup voltage\n");
++ return -EINVAL;
++ }
++ joypad->st->keyup_voltage /= 1000;
++ printk("%s : keyup_voltage = %d\n", __func__, joypad->st->keyup_voltage);
++
++ joypad->st->num_keys = of_get_child_count(node);
++ if (joypad->st->num_keys == 0) {
++ dev_err(dev, "keymap is missing\n");
++ return -EINVAL;
++ }
++ printk("%s : adc_keys = %d\n", __func__, joypad->st->num_keys);
++
++ map = devm_kmalloc_array(dev, joypad->st->num_keys, sizeof(*map), GFP_KERNEL);
++ if (!map)
++ return -ENOMEM;
++
++ i = 0;
++ for_each_child_of_node(node, pp) {
++ if (of_property_read_u32(pp, "press-threshold-microvolt", &map[i].voltage)) {
++ dev_err(dev, "Key with invalid or missing voltage\n");
++ return -EINVAL;
++ }
++ map[i].voltage /= 1000;
++ printk("%s : key[%d] voltage = %d\n", __func__, i, map[i].voltage);
++
++ if (of_property_read_u32(pp, "linux,code", &map[i].keycode)) {
++ dev_err(dev, "Key with invalid or missing linux,code\n");
++ return -EINVAL;
++ }
++ printk("%s : key[%d] keycode = %d\n", __func__, i, map[i].keycode);
++
++ i++;
++ }
++ joypad->st->map = map;
++
++ }
++ if (i == 0)
++ return -EINVAL;
++
++ printk("%s end ...\n", __func__);
++ return 0;
++}
++#endif
++/*----------------------------------------------------------------------------*/
++#ifdef VIBRATORS_FF
++static int joypad_vib_setup(struct device *dev, struct joypad *joypad)
++{
++ struct device_node *node;
++ int ret = 0;
++
++ node = NULL;
++ node = of_find_matching_node(NULL, vibrators_of_match);
++
++ if(node) {
++
++ printk("%s into ... joypad = %p\n", __func__, joypad);
++ joypad->vib = devm_kzalloc(dev, sizeof(*joypad->vib), GFP_KERNEL);
++
++ joypad->vib->gpio0 = of_get_named_gpio_flags(node, "vibrator0-gpio", 0, NULL);
++ if (!gpio_is_valid(joypad->vib->gpio0))
++ return -1;
++
++ printk("%s get vibrator0-gpio = %d \n", __func__, joypad->vib->gpio0);
++ ret = devm_gpio_request(dev, joypad->vib->gpio0, "vibrator0");
++ if (ret < 0)
++ return ret;
++
++ joypad->vib->gpio1 = of_get_named_gpio_flags(node, "vibrator1-gpio", 0, NULL);
++ if (!gpio_is_valid(joypad->vib->gpio1))
++ return -1;
++
++ printk("%s get vibrator1-gpio = %d \n", __func__, joypad->vib->gpio1);
++ ret = devm_gpio_request(dev, joypad->vib->gpio1, "vibrator1");
++ if (ret < 0)
++ return ret;
++
++ INIT_WORK(&joypad->vib->work, vib_work_handler);
++
++ }
++
++ printk("%s end ...\n", __func__);
++ return 0;
++}
++
++/**
++ * gpio_vib_play_effect - function to handle vib effects.
++ * @dev: input device pointer
++ * @data: data of effect
++ * @effect: effect to play
++ *
++ * Currently this driver supports only rumble effects.
++ */
++static int gpio_vib_play_effect(struct input_dev *dev, void *data,
++ struct ff_effect *effect)
++{
++ __u16 strong;
++ __u16 weak;
++ //struct joypad *joypad = input_get_drvdata(dev);
++ struct joypad *joypad = data;
++
++ printk("%s joypad gpio key count = %d\n", __func__, joypad->bt_gpio_count);
++ printk("%s joypad = %p, get vibrator0-gpio = %d \n", __func__, joypad, joypad->vib->gpio0);
++ strong = effect->u.rumble.strong_magnitude;
++ weak = effect->u.rumble.weak_magnitude;
++
++ printk("%s strong = 0x%x, weak = 0x%x\n", __func__, strong, weak);
++ #if 1
++ if ((strong > 1) && ((weak == 0) || (weak == 1))) {
++ joypad->vib->speed = effect->u.rumble.strong_magnitude >> 8;
++ joypad->vib->index = weak;
++ joypad->vib->last_index = joypad->vib->index;
++ }
++ else if ((strong == 0) && ((weak == 0) || (weak == 1))) {
++ joypad->vib->speed = 0;
++ }
++ else if ((weak > 0) && ((strong == 0) || (strong == 1))) {
++ joypad->vib->speed = effect->u.rumble.weak_magnitude >> 8;
++ joypad->vib->index = strong;
++ joypad->vib->last_index = joypad->vib->index;
++ }
++ else if ((weak > 0) && ((strong == 0) || (strong == 1))) {
++ joypad->vib->speed = 0;
++ }
++
++ printk("%s speed = %d, index = %d\n", __func__, joypad->vib->speed, joypad->vib->index);
++ schedule_work(&joypad->vib->work);
++ #endif
++ return 0;
++}
++#endif
++
++/*----------------------------------------------------------------------------*/
++static int joypad_input_setup(struct device *dev, struct joypad *joypad)
++{
++ struct input_polled_dev *poll_dev;
++ struct input_dev *input;
++ int nbtn, error;
++
++ poll_dev = devm_input_allocate_polled_device(dev);
++ if (!poll_dev) {
++ dev_err(dev, "no memory for polled device\n");
++ return -ENOMEM;
++ }
++
++ poll_dev->private = joypad;
++ poll_dev->poll = joypad_poll;
++ poll_dev->poll_interval = joypad->poll_interval;
++ poll_dev->open = joypad_open;
++ poll_dev->close = joypad_close;
++
++ input = poll_dev->input;
++ #ifdef RIGHT_ADC_JOYSTICK
++ global_input = poll_dev->input;
++ #endif
++ input->name = DRV_NAME;
++ input->phys = DRV_NAME"/input0";
++
++ input->id.bustype = BUS_HOST;
++ input->id.vendor = 0x0003;
++ input->id.product = 0x0003;
++ input->id.version = 0x0302;
++
++ /* IIO ADC key setup (0 mv ~ 1800 mv) * adc->scale */
++ __set_bit(EV_ABS, input->evbit);
++ for(nbtn = 0; nbtn < joypad->bt_adc_count; nbtn++) {
++ struct bt_adc *adc = &joypad->adcs[nbtn];
++ input_set_abs_params(input, adc->report_type,
++ adc->min, adc->max,
++ joypad->bt_adc_fuzz,
++ joypad->bt_adc_flat);
++ dev_info(dev,
++ "%s : SCALE = %d, ABS min = %d, max = %d,"
++ " fuzz = %d, flat = %d, deadzone = %d\n",
++ __func__, adc->scale, adc->min, adc->max,
++ joypad->bt_adc_fuzz, joypad->bt_adc_flat,
++ joypad->bt_adc_deadzone);
++ }
++ #ifdef RIGHT_ADC_JOYSTICK
++ /* Right Analog */
++ input_set_abs_params(input, ABS_RX, -900, 899, 32, 32);
++ input_set_abs_params(input, ABS_RY, -900, 899, 32, 32);
++ #endif
++
++ /* GPIO key setup */
++ __set_bit(EV_KEY, input->evbit);
++ for(nbtn = 0; nbtn < joypad->bt_gpio_count; nbtn++) {
++ struct bt_gpio *gpio = &joypad->gpios[nbtn];
++ input_set_capability(input, gpio->report_type,
++ gpio->linux_code);
++ }
++#ifdef VOLUME_ADC_KEYS
++ /* ADC key setup */
++ for (nbtn = 0; nbtn < joypad->st->num_keys; nbtn++)
++ __set_bit(joypad->st->map[nbtn].keycode, input->keybit);
++#endif
++ if (joypad->auto_repeat)
++ __set_bit(EV_REP, input->evbit);
++#ifdef VIBRATORS_FF
++ /* vibrator for ff */
++ input_set_capability(input, EV_FF, FF_RUMBLE);
++ error = input_ff_create_memless(input, joypad, gpio_vib_play_effect);
++ if (error)
++ return error;
++#endif
++ joypad->dev = dev;
++
++ error = input_register_polled_device(poll_dev);
++ if (error) {
++ dev_err(dev, "unable to register polled device, err=%d\n",
++ error);
++ return error;
++ }
++ return 0;
++}
++
++/*----------------------------------------------------------------------------*/
++static void joypad_setup_value_check(struct device *dev, struct joypad *joypad)
++{
++ /*
++ fuzz: specifies fuzz value that is used to filter noise from
++ the event stream.
++ */
++ if (g_button_adc_fuzz)
++ joypad->bt_adc_fuzz = g_button_adc_fuzz;
++ else
++ device_property_read_u32(dev, "button-adc-fuzz",
++ &joypad->bt_adc_fuzz);
++ /*
++ flat: values that are within this value will be discarded by
++ joydev interface and reported as 0 instead.
++ */
++ if (g_button_adc_flat)
++ joypad->bt_adc_flat = g_button_adc_flat;
++ else
++ device_property_read_u32(dev, "button-adc-flat",
++ &joypad->bt_adc_flat);
++
++ /* Joystick report value control */
++ if (g_button_adc_scale)
++ joypad->bt_adc_scale = g_button_adc_scale;
++ else
++ device_property_read_u32(dev, "button-adc-scale",
++ &joypad->bt_adc_scale);
++
++ /* Joystick deadzone value control */
++ if (g_button_adc_deadzone)
++ joypad->bt_adc_deadzone = g_button_adc_deadzone;
++ else
++ device_property_read_u32(dev, "button-adc-deadzone",
++ &joypad->bt_adc_deadzone);
++
++ if (g_button_adc_x_range)
++ joypad->bt_adc_x_range = g_button_adc_x_range;
++ else
++ device_property_read_u32(dev, "button-adc-x-range",
++ &joypad->bt_adc_x_range);
++ if (g_button_adc_y_range)
++ joypad->bt_adc_y_range = g_button_adc_y_range;
++ else
++ device_property_read_u32(dev, "button-adc-y-range",
++ &joypad->bt_adc_y_range);
++}
++
++/*----------------------------------------------------------------------------*/
++static int joypad_dt_parse(struct device *dev, struct joypad *joypad)
++{
++ int error = 0;
++
++ /* initialize value check from boot.ini */
++ joypad_setup_value_check(dev, joypad);
++
++ device_property_read_u32(dev, "button-adc-count",
++ &joypad->bt_adc_count);
++
++ device_property_read_u32(dev, "poll-interval",
++ &joypad->poll_interval);
++
++ joypad->auto_repeat = device_property_present(dev, "autorepeat");
++
++ /* change the report reference point? (ADC MAX - read value) */
++ joypad->invert_absx = device_property_present(dev, "invert-absx");
++ joypad->invert_absy = device_property_present(dev, "invert-absy");
++ dev_info(dev, "%s : invert-absx = %d, inveret-absy = %d\n",
++ __func__, joypad->invert_absx, joypad->invert_absy);
++
++ joypad->bt_gpio_count = device_get_child_node_count(dev);
++
++ if ((joypad->bt_adc_count == 0) || (joypad->bt_gpio_count == 0)) {
++ dev_err(dev, "adc key = %d, gpio key = %d error!",
++ joypad->bt_adc_count, joypad->bt_gpio_count);
++ return -EINVAL;
++ }
++
++ error = joypad_adc_setup(dev, joypad);
++ if (error)
++ return error;
++
++ error = joypad_gpio_setup(dev, joypad);
++ if (error)
++ return error;
++#ifdef VOLUME_ADC_KEYS
++ error = joypad_vol_setup(dev, joypad);
++ printk("222 %s : error = %d\n", __func__, error);
++ if (error)
++ return error;
++#endif
++#ifdef VIBRATORS_FF
++ error = joypad_vib_setup(dev, joypad);
++ printk("333 %s : error = %d\n", __func__, error);
++ if (error)
++ return error;
++#endif
++ return error;
++}
++
++#ifdef RIGHT_ADC_JOYSTICK
++static int joypad_misc_open(struct inode *inode, struct file *file)
++{
++ printk("%s ...\n", __func__);
++
++ //file->private_data = global_input;
++ nonseekable_open(inode, file);
++
++ return 0;
++}
++
++static int joypad_misc_release(struct inode *inode, struct file *file)
++{
++ //struct input_dev *dev = file->private_data;
++
++ //input_unregister_device(dev);
++ //kfree(dev);
++
++ return 0;
++}
++
++//static ssize_t joypad_inject_events(struct input_dev *dev, const char __user *buffer, size_t count
++static ssize_t joypad_inject_events(const char __user *buffer, size_t count)
++{
++ struct input_event ev;
++ size_t bytes = 0;
++
++ if (count != 0 && count < input_event_size())
++ return -EINVAL;
++
++ while (bytes + input_event_size() <= count) {
++ /*
++ * Note that even if some events were fetched successfully
++ * we are still going to return EFAULT instead of partial
++ * count to let userspace know that it got it's buffers
++ * all wrong.
++ */
++ if (input_event_from_user(buffer + bytes, &ev))
++ return -EFAULT;
++
++ //input_event(dev, ev.type, ev.code, ev.value);
++ input_event(global_input, ev.type, ev.code, ev.value);
++ bytes += input_event_size();
++ }
++
++ return bytes;
++}
++
++static ssize_t joypad_misc_write(struct file *file, const char __user *buffer,
++ size_t count, loff_t *ppos)
++{
++ //struct input_dev *dev = file->private_data;
++ int retval;
++
++ if (count == 0)
++ return 0;
++
++ retval = mutex_lock_interruptible(&global_input->mutex);
++ if (retval)
++ return retval;
++
++ //retval = joypad_inject_events(dev, buffer, count);
++ retval = joypad_inject_events(buffer, count);
++
++ mutex_unlock(&global_input->mutex);
++
++ return retval;
++}
++
++static long joypad_misc_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
++{
++ int ret = 0;
++ return ret;
++}
++
++
++static const struct file_operations joypad_fops = {
++ .owner = THIS_MODULE,
++ .open = joypad_misc_open,
++ .release = joypad_misc_release,
++ .write = joypad_misc_write,
++ .unlocked_ioctl = joypad_misc_ioctl,
++ .llseek = no_llseek,
++
++};
++
++
++static struct miscdevice joypad_misc_dev = {
++ .minor = MISC_DYNAMIC_MINOR,
++ .name = "joypad",
++ .fops = &joypad_fops,
++};
++#endif
++/*----------------------------------------------------------------------------*/
++static int joypad_probe(struct platform_device *pdev)
++{
++ struct joypad *joypad;
++ struct device *dev = &pdev->dev;
++ int error;
++
++ joypad = devm_kzalloc(dev, sizeof(struct joypad), GFP_KERNEL);
++ if (!joypad) {
++ dev_err(dev, "joypad devm_kzmalloc error!");
++ return -ENOMEM;
++ }
++
++ /* device tree data parse */
++ error = joypad_dt_parse(dev, joypad);
++ if (error) {
++ dev_err(dev, "dt parse error!(err = %d)\n", error);
++ return error;
++ }
++
++ mutex_init(&joypad->lock);
++ platform_set_drvdata(pdev, joypad);
++
++ error = sysfs_create_group(&pdev->dev.kobj, &joypad_attr_group);
++ if (error) {
++ dev_err(dev, "create sysfs group fail, error: %d\n",
++ error);
++ return error;
++ }
++
++ /* poll input device setup */
++ error = joypad_input_setup(dev, joypad);
++ if (error) {
++ dev_err(dev, "input setup failed!(err = %d)\n", error);
++ return error;
++ }
++#ifdef RIGHT_ADC_JOYSTICK
++ error = misc_register(&joypad_misc_dev);
++ if (error < 0)
++ printk("%s :fail to register misc device.\n", __func__);
++#endif
++ dev_info(dev, "%s : probe success\n", __func__);
++ return 0;
++}
++
++/*----------------------------------------------------------------------------*/
++static const struct of_device_id joypad_of_match[] = {
++ /*{ .compatible = "odroidgo2-joypad", },*/
++ { .compatible = "gameforce-gamepad", },
++ {},
++};
++
++MODULE_DEVICE_TABLE(of, joypad_of_match);
++
++/*----------------------------------------------------------------------------*/
++static struct platform_driver joypad_driver = {
++ .probe = joypad_probe,
++ .driver = {
++ .name = DRV_NAME,
++ .of_match_table = of_match_ptr(joypad_of_match),
++ },
++};
++
++/*----------------------------------------------------------------------------*/
++static int __init joypad_init(void)
++{
++ return platform_driver_register(&joypad_driver);
++}
++
++/*----------------------------------------------------------------------------*/
++static void __exit joypad_exit(void)
++{
++ platform_driver_unregister(&joypad_driver);
++}
++
++/*----------------------------------------------------------------------------*/
++late_initcall(joypad_init);
++module_exit(joypad_exit);
++
++/*----------------------------------------------------------------------------*/
++MODULE_AUTHOR("Hardkernel Co.,LTD");
++MODULE_DESCRIPTION("Keypad driver(ADC&GPIO) for Gameforce CHI");
++MODULE_LICENSE("GPL v2");
++MODULE_ALIAS("platform:" DRV_NAME);
++
++/*----------------------------------------------------------------------------*/
diff -rupN linux.orig/drivers/input/joystick/odroidgo2-joypad.c linux/drivers/input/joystick/odroidgo2-joypad.c
--- linux.orig/drivers/input/joystick/odroidgo2-joypad.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux/drivers/input/joystick/odroidgo2-joypad.c 2024-01-29 06:19:30.953540557 +0000
++++ linux/drivers/input/joystick/odroidgo2-joypad.c 2024-02-15 15:26:39.682128004 +0000
@@ -0,0 +1,878 @@
+/*
+ * SARADC joystick & GPIO Button driver for Linux(Hardkernel ODROIDGO2-Advance)
@@ -1383,7 +2730,7 @@ diff -rupN linux.orig/drivers/input/joystick/odroidgo2-joypad.c linux/drivers/in
+/*----------------------------------------------------------------------------*/
diff -rupN linux.orig/drivers/input/joystick/odroidgo2-v11-joypad.c linux/drivers/input/joystick/odroidgo2-v11-joypad.c
--- linux.orig/drivers/input/joystick/odroidgo2-v11-joypad.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux/drivers/input/joystick/odroidgo2-v11-joypad.c 2024-01-29 06:19:30.953540557 +0000
++++ linux/drivers/input/joystick/odroidgo2-v11-joypad.c 2024-02-15 15:26:39.682128004 +0000
@@ -0,0 +1,878 @@
+/*
+ * SARADC joystick & GPIO Button driver for Linux(Hardkernel ODROIDGO2-Advance)
@@ -2264,8 +3611,8 @@ diff -rupN linux.orig/drivers/input/joystick/odroidgo2-v11-joypad.c linux/driver
+
+/*----------------------------------------------------------------------------*/
diff -rupN linux.orig/drivers/input/joystick/odroidgo3-joypad.c linux/drivers/input/joystick/odroidgo3-joypad.c
---- linux.orig/drivers/input/joystick/odroidgo3-joypad.c 1969-12-31 19:00:00.000000000 -0500
-+++ linux/drivers/input/joystick/odroidgo3-joypad.c 2024-02-01 13:43:52.000000000 -0500
+--- linux.orig/drivers/input/joystick/odroidgo3-joypad.c 1970-01-01 00:00:00.000000000 +0000
++++ linux/drivers/input/joystick/odroidgo3-joypad.c 2024-02-15 15:26:39.682128004 +0000
@@ -0,0 +1,1108 @@
+/*
+ * SARADC joystick & GPIO Button driver for Linux(Hardkernel ODROIDGO2-Advance)
@@ -3377,7 +4724,7 @@ diff -rupN linux.orig/drivers/input/joystick/odroidgo3-joypad.c linux/drivers/in
+/*----------------------------------------------------------------------------*/
diff -rupN linux.orig/drivers/input/joystick/rgb20s-joypad.c linux/drivers/input/joystick/rgb20s-joypad.c
--- linux.orig/drivers/input/joystick/rgb20s-joypad.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux/drivers/input/joystick/rgb20s-joypad.c 2024-01-29 06:27:07.151404545 +0000
++++ linux/drivers/input/joystick/rgb20s-joypad.c 2024-02-15 15:26:39.682128004 +0000
@@ -0,0 +1,1373 @@
+/*
+ * SARADC joystick & GPIO Button driver for Linux(Powkiddy RGB20S)
@@ -4754,7 +6101,7 @@ diff -rupN linux.orig/drivers/input/joystick/rgb20s-joypad.c linux/drivers/input
+/*----------------------------------------------------------------------------*/
diff -rupN linux.orig/drivers/input/joystick/xu10-joypad.c linux/drivers/input/joystick/xu10-joypad.c
--- linux.orig/drivers/input/joystick/xu10-joypad.c 1970-01-01 00:00:00.000000000 +0000
-+++ linux/drivers/input/joystick/xu10-joypad.c 2024-01-29 06:19:30.953540557 +0000
++++ linux/drivers/input/joystick/xu10-joypad.c 2024-02-15 15:26:39.682128004 +0000
@@ -0,0 +1,1119 @@
+/*
+ * SARADC joystick & GPIO Button driver for Linux(Hardkernel MagicX-XU10)
@@ -5876,8 +7223,8 @@ diff -rupN linux.orig/drivers/input/joystick/xu10-joypad.c linux/drivers/input/j
+
+/*----------------------------------------------------------------------------*/
diff -rupN linux.orig/drivers/power/supply/rk817_charger.c linux/drivers/power/supply/rk817_charger.c
---- linux.orig/drivers/power/supply/rk817_charger.c 2024-01-29 06:18:08.779726126 +0000
-+++ linux/drivers/power/supply/rk817_charger.c 2024-01-29 06:19:30.953540557 +0000
+--- linux.orig/drivers/power/supply/rk817_charger.c 2024-02-15 14:44:53.330395291 +0000
++++ linux/drivers/power/supply/rk817_charger.c 2024-02-15 15:26:39.682128004 +0000
@@ -679,7 +679,7 @@ static enum power_supply_usb_type rk817_
};
@@ -5889,7 +7236,7 @@ diff -rupN linux.orig/drivers/power/supply/rk817_charger.c linux/drivers/power/s
.num_properties = ARRAY_SIZE(rk817_bat_props),
diff -rupN linux.orig/include/linux/input-polldev.h linux/include/linux/input-polldev.h
--- linux.orig/include/linux/input-polldev.h 1970-01-01 00:00:00.000000000 +0000
-+++ linux/include/linux/input-polldev.h 2024-01-29 06:19:30.953540557 +0000
++++ linux/include/linux/input-polldev.h 2024-02-15 15:26:39.682128004 +0000
@@ -0,0 +1,58 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef _INPUT_POLLDEV_H
@@ -5950,8 +7297,8 @@ diff -rupN linux.orig/include/linux/input-polldev.h linux/include/linux/input-po
+
+#endif
diff -rupN linux.orig/include/linux/of_gpio.h linux/include/linux/of_gpio.h
---- linux.orig/include/linux/of_gpio.h 2024-01-29 06:18:09.007731389 +0000
-+++ linux/include/linux/of_gpio.h 2024-01-29 06:19:30.953540557 +0000
+--- linux.orig/include/linux/of_gpio.h 2024-02-15 14:44:54.398418804 +0000
++++ linux/include/linux/of_gpio.h 2024-02-15 15:26:39.682128004 +0000
@@ -17,8 +17,26 @@
struct device_node;
diff --git a/projects/Rockchip/packages/linux/patches/RK3566/008-invert-abs-helper.patch b/projects/Rockchip/packages/linux/patches/RK3566/008-invert-abs-helper.patch
deleted file mode 100644
index afb829f4a2..0000000000
--- a/projects/Rockchip/packages/linux/patches/RK3566/008-invert-abs-helper.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From: Chris Morgan
-To: linux-input@vger.kernel.org
-Cc: dmitry.torokhov@gmail.com, hdegoede@redhat.com,
- paul@crapouillou.net, peter.hutterer@who-t.net, svv@google.com,
- biswarupp@google.com, contact@artur-rojek.eu,
- Chris Morgan
-Subject: [PATCH 1/2] Input: add input_invert_abs()
-Date: Sun, 31 Dec 2023 14:56:42 -0600 [thread overview]
-Message-ID: <20231231205643.129435-2-macroalpha82@gmail.com> (raw)
-In-Reply-To: <20231231205643.129435-1-macroalpha82@gmail.com>
-
-From: Chris Morgan
-
-Add a helper function to make it easier for a driver to invert abs
-values when needed. It is up to the driver itself to track axes that
-need to be inverted and normalize the data before it is passed on.
-
-This function assumes that drivers will set the min and max values
-so that min < max and then will simply call this function each time
-the values need to be inverted.
-
-Signed-off-by: Chris Morgan
----
- drivers/input/input.c | 19 +++++++++++++++++++
- include/linux/input.h | 1 +
- 2 files changed, 20 insertions(+)
-
-diff --git a/drivers/input/input.c b/drivers/input/input.c
-index 8c5fdb0f858a..f135aed165a1 100644
---- a/drivers/input/input.c
-+++ b/drivers/input/input.c
-@@ -552,6 +552,25 @@ void input_copy_abs(struct input_dev *dst, unsigned int dst_axis,
- }
- EXPORT_SYMBOL(input_copy_abs);
-
-+/**
-+ * input_invert_abs - Invert the abs value for an inverted axis.
-+ * @dev: Input device with absolute events
-+ * @axis: ABS_* value selecting the destination axis for the event to
-+ * invert.
-+ * @val: Value to be inverted based on min and max values of the axis.
-+ *
-+ * Return an inverted value for a given ABS axis based on its min and
-+ * max values.
-+ */
-+int input_invert_abs(struct input_dev *dev, unsigned int axis, int val)
-+{
-+ int min = dev->absinfo[axis].minimum;
-+ int max = dev->absinfo[axis].maximum;
-+
-+ return (max + min) - val;
-+}
-+EXPORT_SYMBOL(input_invert_abs);
-+
- /**
- * input_grab_device - grabs device for exclusive use
- * @handle: input handle that wants to own the device
-diff --git a/include/linux/input.h b/include/linux/input.h
-index de6503c0edb8..deb5f8bb0ec7 100644
---- a/include/linux/input.h
-+++ b/include/linux/input.h
-@@ -477,6 +477,7 @@ void input_set_abs_params(struct input_dev *dev, unsigned int axis,
- int min, int max, int fuzz, int flat);
- void input_copy_abs(struct input_dev *dst, unsigned int dst_axis,
- const struct input_dev *src, unsigned int src_axis);
-+int input_invert_abs(struct input_dev *dev, unsigned int axis, int val);
-
- #define INPUT_GENERATE_ABS_ACCESSORS(_suffix, _item) \
- static inline int input_abs_get_##_suffix(struct input_dev *dev, \
---
-2.34.1
diff --git a/projects/Rockchip/packages/linux/patches/RK3566/009-invert-abs.patch b/projects/Rockchip/packages/linux/patches/RK3566/009-invert-abs.patch
index 5635651a1c..2545602660 100644
--- a/projects/Rockchip/packages/linux/patches/RK3566/009-invert-abs.patch
+++ b/projects/Rockchip/packages/linux/patches/RK3566/009-invert-abs.patch
@@ -1,19 +1,17 @@
-From: Chris Morgan
+iiFrom: Chris Morgan
To: linux-input@vger.kernel.org
-Cc: dmitry.torokhov@gmail.com, hdegoede@redhat.com,
+Cc: contact@artur-rojek.eu, hdegoede@redhat.com,
paul@crapouillou.net, peter.hutterer@who-t.net, svv@google.com,
- biswarupp@google.com, contact@artur-rojek.eu,
- Chris Morgan
-Subject: [PATCH 2/2] Input: adc-joystick: Handle inverted axes
-Date: Sun, 31 Dec 2023 14:56:43 -0600 [thread overview]
-Message-ID: <20231231205643.129435-3-macroalpha82@gmail.com> (raw)
-In-Reply-To: <20231231205643.129435-1-macroalpha82@gmail.com>
+ biswarupp@google.com, Chris Morgan
+Subject: [PATCH V4] Input: adc-joystick: Handle inverted axes
+Date: Wed, 24 Jan 2024 14:47:54 -0600 [thread overview]
+Message-ID: <20240124204754.43982-1-macroalpha82@gmail.com> (raw)
From: Chris Morgan
When one or more axes are inverted, (where min > max), normalize the
-data so that min < max and call a helper function to invert the
-values reported to the input stack.
+data so that min < max and invert the values reported to the input
+stack.
This ensures we can continue defining the device correctly in the
device tree while not breaking downstream assumptions that min is
@@ -21,14 +19,34 @@ always less than max.
Signed-off-by: Chris Morgan
---
- drivers/input/joystick/adc-joystick.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
+Changes since V3:
+ - Add include for minmax.h.
+ - Use swap() instead of min_array()/max_array().
+ - Dropped Ack due to change.
+Changes since V2:
+ - Explicitly set bool value to "true" instead of "1".
+ - Split adc_joystick_invert() function definition to 2 lines.
+ - Corrected changes message location.
+Changes since V1:
+ - Moved proposed helper for inversion from input stack to adc-joystick
+ driver.
+
+ drivers/input/joystick/adc-joystick.c | 21 +++++++++++++++++++++
+ 1 file changed, 21 insertions(+)
diff --git a/drivers/input/joystick/adc-joystick.c b/drivers/input/joystick/adc-joystick.c
-index c0deff5d4282..4e8d446987b6 100644
+index c0deff5d4282..3b05b2e413d0 100644
--- a/drivers/input/joystick/adc-joystick.c
+++ b/drivers/input/joystick/adc-joystick.c
-@@ -18,6 +18,7 @@ struct adc_joystick_axis {
+@@ -7,6 +7,7 @@
+ #include
+ #include
+ #include
++#include
+ #include
+ #include
+ #include
+@@ -18,6 +19,7 @@ struct adc_joystick_axis {
s32 range[2];
s32 fuzz;
s32 flat;
@@ -36,42 +54,52 @@ index c0deff5d4282..4e8d446987b6 100644
};
struct adc_joystick {
-@@ -38,6 +39,8 @@ static void adc_joystick_poll(struct input_dev *input)
+@@ -29,6 +31,15 @@ struct adc_joystick {
+ bool polled;
+ };
+
++static int adc_joystick_invert(struct input_dev *dev,
++ unsigned int axis, int val)
++{
++ int min = dev->absinfo[axis].minimum;
++ int max = dev->absinfo[axis].maximum;
++
++ return (max + min) - val;
++}
++
+ static void adc_joystick_poll(struct input_dev *input)
+ {
+ struct adc_joystick *joy = input_get_drvdata(input);
+@@ -38,6 +49,8 @@ static void adc_joystick_poll(struct input_dev *input)
ret = iio_read_channel_raw(&joy->chans[i], &val);
if (ret < 0)
return;
+ if (joy->axes[i].inverted)
-+ val = input_invert_abs(input, i, val);
++ val = adc_joystick_invert(input, i, val);
input_report_abs(input, joy->axes[i].code, val);
}
input_sync(input);
-@@ -86,6 +89,8 @@ static int adc_joystick_handle(const void *data, void *private)
+@@ -86,6 +99,8 @@ static int adc_joystick_handle(const void *data, void *private)
val = sign_extend32(val, msb);
else
val &= GENMASK(msb, 0);
+ if (joy->axes[i].inverted)
-+ val = input_invert_abs(joy->input, i, val);
++ val = adc_joystick_invert(joy->input, i, val);
input_report_abs(joy->input, joy->axes[i].code, val);
}
-@@ -168,11 +173,17 @@ static int adc_joystick_set_axes(struct device *dev, struct adc_joystick *joy)
+@@ -168,6 +183,12 @@ static int adc_joystick_set_axes(struct device *dev, struct adc_joystick *joy)
goto err_fwnode_put;
}
+ if (axes[i].range[0] > axes[i].range[1]) {
+ dev_dbg(dev, "abs-axis %d inverted\n", i);
-+ axes[i].inverted = 1;
++ axes[i].inverted = true;
++ swap(axes[i].range[0], axes[i].range[1]);
+ }
+
fwnode_property_read_u32(child, "abs-fuzz", &axes[i].fuzz);
fwnode_property_read_u32(child, "abs-flat", &axes[i].flat);
- input_set_abs_params(joy->input, axes[i].code,
-- axes[i].range[0], axes[i].range[1],
-+ min_array(axes[i].range, 2),
-+ max_array(axes[i].range, 2),
- axes[i].fuzz, axes[i].flat);
- input_set_capability(joy->input, EV_ABS, axes[i].code);
- }
--
2.34.1
diff --git a/projects/Rockchip/packages/linux/patches/RK3566/010-powkiddy-rgb10max3.patch b/projects/Rockchip/packages/linux/patches/RK3566/010-powkiddy-rgb10max3.patch
deleted file mode 100644
index 3b9a63ddef..0000000000
--- a/projects/Rockchip/packages/linux/patches/RK3566/010-powkiddy-rgb10max3.patch
+++ /dev/null
@@ -1,261 +0,0 @@
-diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
-index b7371afb6227..2ee31fc6bd8e 100644
---- a/arch/arm64/boot/dts/rockchip/Makefile
-+++ b/arch/arm64/boot/dts/rockchip/Makefile
-@@ -79,6 +79,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg503.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.1.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.2.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-powkiddy-rgb30.dtb
-+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-powkiddy-rgb10max3.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-powkiddy-rk2023.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-a.dtb
- dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-b.dtb
-diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb10max3.dts b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb10max3.dts
-new file mode 100644
-index 000000000000..26884dfda818
---- /dev/null
-+++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb10max3.dts
-@@ -0,0 +1,40 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+
-+/dts-v1/;
-+
-+#include
-+#include
-+#include
-+#include "rk3566-powkiddy-rk2023.dtsi"
-+
-+/ {
-+ model = "Powkiddy RGB10 Max 3";
-+ compatible = "powkiddy,rgb10max3", "rockchip,rk3566";
-+};
-+
-+&cru {
-+ assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>,
-+ <&pmucru PLL_PPLL>, <&cru PLL_VPLL>;
-+ assigned-clock-rates = <32768>, <1200000000>,
-+ <200000000>, <292500000>;
-+};
-+
-+&dsi0 {
-+ panel: panel@0 {
-+ compatible = "powkiddy,rgb10max3-panel";
-+ reg = <0>;
-+ backlight = <&backlight>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&lcd_rst>;
-+ reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>;
-+ vcc-supply = <&vcc3v3_lcd0_n>;
-+ iovcc-supply = <&vcc3v3_lcd0_n>;
-+ rotation = <270>;
-+
-+ port {
-+ mipi_in_panel: endpoint {
-+ remote-endpoint = <&mipi_out_panel>;
-+ };
-+ };
-+ };
-+};
-diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
-index b55bafd1a8be..e8d1730241b4 100644
---- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
-+++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
-@@ -58,7 +58,7 @@ struct st7703 {
- struct gpio_desc *reset_gpio;
- struct regulator *vcc;
- struct regulator *iovcc;
-- bool prepared;
-+ enum drm_panel_orientation orientation;
-
- struct dentry *debugfs;
- const struct st7703_panel_desc *desc;
-@@ -493,6 +493,76 @@ static int rgb30panel_init_sequence(struct st7703 *ctx)
- 0x13, 0x15, 0x14, 0x15, 0x10, 0x17, 0x00, 0x0a,
- 0x0f, 0x29, 0x3b, 0x3f, 0x42, 0x39, 0x06, 0x0d,
- 0x10, 0x13, 0x15, 0x14, 0x15, 0x10, 0x17);
-+ return 0;
-+}
-+
-+static int rgb10max3_init_sequence(struct st7703 *ctx)
-+{
-+ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
-+
-+ /*
-+ * Init sequence was supplied by the panel vendor.
-+ */
-+
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, 0xf1, 0x12, 0x83);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETAPID, 0x00, 0x00, 0x00,
-+ 0xda, 0x80);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP, 0xc8, 0x02, 0x30);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF, 0x10, 0x10, 0x28,
-+ 0x28, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP, 0x04, 0x04);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM, 0x78, 0x78);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT, 0x25, 0x22, 0xf0,
-+ 0x63);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI, 0x33, 0x81, 0x05, 0xf9,
-+ 0x0e, 0x0e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x44, 0x25, 0x00, 0x90, 0x0a, 0x00,
-+ 0x00, 0x01, 0x4f, 0x01, 0x00, 0x00, 0x37);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x47);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_UNKNOWN_BF, 0x02, 0x11, 0x00);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR, 0x73, 0x73, 0x50, 0x50,
-+ 0x00, 0x00, 0x12, 0x70, 0x00);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER, 0x25, 0x00, 0x32,
-+ 0x32, 0x77, 0xe1, 0xff, 0xff, 0xcc, 0xcc, 0x77,
-+ 0x77);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETECO, 0x82, 0x00, 0xbf, 0xff,
-+ 0x00, 0xff);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETIO, 0xb8, 0x00, 0x0a, 0x00,
-+ 0x00, 0x00);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETCABC, 0x10, 0x40, 0x1e,
-+ 0x02);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0b);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA, 0x00, 0x04, 0x07,
-+ 0x2a, 0x39, 0x3f, 0x36, 0x31, 0x06, 0x0b, 0x0e,
-+ 0x12, 0x14, 0x12, 0x13, 0x0f, 0x17, 0x00, 0x04,
-+ 0x07, 0x2a, 0x39, 0x3f, 0x36, 0x31, 0x06, 0x0b,
-+ 0x0e, 0x12, 0x14, 0x12, 0x13, 0x0f, 0x17);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ, 0x03, 0x03, 0x03, 0x03,
-+ 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0x80,
-+ 0xc0, 0x10);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1, 0xc8, 0x10, 0x08, 0x00,
-+ 0x00, 0x41, 0xf8, 0x12, 0x31, 0x23, 0x37, 0x86,
-+ 0x11, 0xc8, 0x37, 0x2a, 0x00, 0x00, 0x0c, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
-+ 0x88, 0x20, 0x46, 0x02, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0xff, 0x88, 0x31, 0x57, 0x13, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0x88, 0xff, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2, 0x00, 0x1a, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x8f, 0x13, 0x31, 0x75, 0x88, 0x88, 0x88, 0x88,
-+ 0x88, 0x88, 0xf8, 0x8f, 0x02, 0x20, 0x64, 0x88,
-+ 0x88, 0x88, 0x88, 0x88, 0x88, 0xf8, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-+ 0x00);
-+ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_UNKNOWN_EF, 0xff, 0xff, 0x01);
-+
-+
-+
-
- return 0;
- }
-@@ -512,6 +582,21 @@ static const struct drm_display_mode rgb30panel_mode = {
- .height_mm = 76,
- };
-
-+static const struct drm_display_mode rgb10max3panel_mode = {
-+ .hdisplay = 720,
-+ .hsync_start = 720 + 60,
-+ .hsync_end = 720 + 60 + 10,
-+ .htotal = 720 + 60 + 10 + 20,
-+ .vdisplay = 1280,
-+ .vsync_start = 1280 + 16,
-+ .vsync_end = 1280 + 16 + 4,
-+ .vtotal = 1280 + 16 + 4 + 14,
-+ .clock = 60000,
-+ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
-+ .width_mm = 63,
-+ .height_mm = 111,
-+};
-+
- static const struct st7703_panel_desc rgb30panel_desc = {
- .mode = &rgb30panel_mode,
- .lanes = 4,
-@@ -521,6 +606,15 @@ static const struct st7703_panel_desc rgb30panel_desc = {
- .init_sequence = rgb30panel_init_sequence,
- };
-
-+static const struct st7703_panel_desc rgb10max3panel_desc = {
-+ .mode = &rgb10max3panel_mode,
-+ .lanes = 4,
-+ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
-+ MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_LPM,
-+ .format = MIPI_DSI_FMT_RGB888,
-+ .init_sequence = rgb10max3_init_sequence,
-+};
-+
- static int st7703_enable(struct drm_panel *panel)
- {
- struct st7703 *ctx = panel_to_st7703(panel);
-@@ -575,13 +669,9 @@ static int st7703_unprepare(struct drm_panel *panel)
- {
- struct st7703 *ctx = panel_to_st7703(panel);
-
-- if (!ctx->prepared)
-- return 0;
--
- gpiod_set_value_cansleep(ctx->reset_gpio, 1);
- regulator_disable(ctx->iovcc);
- regulator_disable(ctx->vcc);
-- ctx->prepared = false;
-
- return 0;
- }
-@@ -591,9 +681,6 @@ static int st7703_prepare(struct drm_panel *panel)
- struct st7703 *ctx = panel_to_st7703(panel);
- int ret;
-
-- if (ctx->prepared)
-- return 0;
--
- dev_dbg(ctx->dev, "Resetting the panel\n");
- gpiod_set_value_cansleep(ctx->reset_gpio, 1);
-
-@@ -616,8 +703,6 @@ static int st7703_prepare(struct drm_panel *panel)
- gpiod_set_value_cansleep(ctx->reset_gpio, 0);
- usleep_range(15000, 20000);
-
-- ctx->prepared = true;
--
- return 0;
- }
-
-@@ -653,12 +738,20 @@ static int st7703_get_modes(struct drm_panel *panel,
- return 1;
- }
-
-+static enum drm_panel_orientation st7703_get_orientation(struct drm_panel *panel)
-+{
-+ struct st7703 *ctx = panel_to_st7703(panel);
-+
-+ return ctx->orientation;
-+}
-+
- static const struct drm_panel_funcs st7703_drm_funcs = {
- .disable = st7703_disable,
- .unprepare = st7703_unprepare,
- .prepare = st7703_prepare,
- .enable = st7703_enable,
- .get_modes = st7703_get_modes,
-+ .get_orientation = st7703_get_orientation,
- };
-
- static int allpixelson_set(void *data, u64 val)
-@@ -709,6 +802,12 @@ static int st7703_probe(struct mipi_dsi_device *dsi)
- if (IS_ERR(ctx->reset_gpio))
- return dev_err_probe(dev, PTR_ERR(ctx->reset_gpio), "Failed to get reset gpio\n");
-
-+ ret = of_drm_get_panel_orientation(dev->of_node, &ctx->orientation);
-+ if (ret < 0) {
-+ dev_err(dev, "%pOF: failed to get orientation %d\n", dev->of_node, ret);
-+ return ret;
-+ }
-+
- mipi_dsi_set_drvdata(dsi, ctx);
-
- ctx->dev = dev;
-@@ -785,6 +884,7 @@ static void st7703_remove(struct mipi_dsi_device *dsi)
- static const struct of_device_id st7703_of_match[] = {
- { .compatible = "anbernic,rg353v-panel-v2", .data = &rg353v2_desc },
- { .compatible = "powkiddy,rgb30-panel", .data = &rgb30panel_desc },
-+ { .compatible = "powkiddy,rgb10max3-panel", .data = &rgb10max3panel_desc },
- { .compatible = "rocktech,jh057n00900", .data = &jh057n00900_panel_desc },
- { .compatible = "xingbangda,xbd599", .data = &xbd599_desc },
- { /* sentinel */ }
diff --git a/projects/Rockchip/packages/linux/patches/RK3566/010-rgb10-max3-panel-dtbindings.patch b/projects/Rockchip/packages/linux/patches/RK3566/010-rgb10-max3-panel-dtbindings.patch
new file mode 100644
index 0000000000..e369a9cfc5
--- /dev/null
+++ b/projects/Rockchip/packages/linux/patches/RK3566/010-rgb10-max3-panel-dtbindings.patch
@@ -0,0 +1,29 @@
+commit 9913a60f318b6c88ea8385048952e3557464bb84
+Author: Chris Morgan
+Date: Mon Feb 12 12:49:44 2024 -0600
+
+ dt-bindings: display: Add Powkiddy RGB10MAX3 panel
+
+ The RGB10MAX3 panel is a panel specific to the Powkiddy RGB10MAX3
+ handheld device that measures 5 inches diagonally with a resolution
+ of 720x1280.
+
+ Signed-off-by: Chris Morgan
+ Acked-by: Krzysztof Kozlowski
+ Reviewed-by: Guido Günther
+ Signed-off-by: Heiko Stuebner
+ Link: https://patchwork.freedesktop.org/patch/msgid/20240212184950.52210-2-macroalpha82@gmail.com
+
+diff --git a/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml b/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml
+index 97cccd8a8479..8dfe8951bf5b 100644
+--- a/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml
++++ b/Documentation/devicetree/bindings/display/panel/rocktech,jh057n00900.yaml
+@@ -22,6 +22,8 @@ properties:
+ enum:
+ # Anberic RG353V-V2 5.0" 640x480 TFT LCD panel
+ - anbernic,rg353v-panel-v2
++ # Powkiddy RGB10MAX3 5.0" 720x1280 TFT LCD panel
++ - powkiddy,rgb10max3-panel
+ # Powkiddy RGB30 3.0" 720x720 TFT LCD panel
+ - powkiddy,rgb30-panel
+ # Rocktech JH057N00900 5.5" 720x1440 TFT LCD panel
diff --git a/projects/Rockchip/packages/linux/patches/RK3566/011-rgb10-max3-panel.patch b/projects/Rockchip/packages/linux/patches/RK3566/011-rgb10-max3-panel.patch
new file mode 100644
index 0000000000..fed4ae5f3e
--- /dev/null
+++ b/projects/Rockchip/packages/linux/patches/RK3566/011-rgb10-max3-panel.patch
@@ -0,0 +1,125 @@
+commit e0c732291250e205fb834881ad7ecf9ee3ffef45
+Author: Chris Morgan
+Date: Mon Feb 12 12:49:45 2024 -0600
+
+ drm/panel: st7703: Add Powkiddy RGB10MAX3 Panel Support
+
+ The Powkiddy RGB10MAX3 is a handheld device with a 5 inch 720x1280
+ display panel with a Sitronix ST7703 display controller. The panel
+ is installed rotated 270 degrees.
+
+ Signed-off-by: Chris Morgan
+ Reviewed-by: Guido Günther
+ Reviewed-by: Jessica Zhang
+ Signed-off-by: Heiko Stuebner
+ Link: https://patchwork.freedesktop.org/patch/msgid/20240212184950.52210-3-macroalpha82@gmail.com
+
+diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
+index b55bafd1a8be..939ba05c9b58 100644
+--- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
++++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
+@@ -521,6 +521,96 @@ static const struct st7703_panel_desc rgb30panel_desc = {
+ .init_sequence = rgb30panel_init_sequence,
+ };
+
++static int rgb10max3_panel_init_sequence(struct st7703 *ctx)
++{
++ struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev);
++
++ /* Init sequence extracted from Powkiddy RGB10MAX3 BSP kernel. */
++
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEXTC, 0xf1, 0x12, 0x83);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETAPID, 0x00, 0x00, 0x00, 0xda,
++ 0x80);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETDISP, 0xc8, 0x02, 0x30);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETRGBIF, 0x10, 0x10, 0x28,
++ 0x28, 0x03, 0xff, 0x00, 0x00, 0x00, 0x00);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETCYC, 0x80);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETBGP, 0x04, 0x04);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVCOM, 0x78, 0x78);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER_EXT, 0x25, 0x22, 0xf0,
++ 0x63);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETMIPI, 0x33, 0x81, 0x05, 0xf9,
++ 0x0e, 0x0e, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x44, 0x25, 0x00, 0x90, 0x0a, 0x00,
++ 0x00, 0x01, 0x4f, 0x01, 0x00, 0x00, 0x37);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETVDC, 0x47);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_UNKNOWN_BF, 0x02, 0x11, 0x00);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETSCR, 0x73, 0x73, 0x50, 0x50,
++ 0x00, 0x00, 0x12, 0x70, 0x00);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPOWER, 0x25, 0x00, 0x32,
++ 0x32, 0x77, 0xe1, 0xff, 0xff, 0xcc, 0xcc, 0x77,
++ 0x77);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETECO, 0x82, 0x00, 0xbf, 0xff,
++ 0x00, 0xff);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETIO, 0xb8, 0x00, 0x0a, 0x00,
++ 0x00, 0x00);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETCABC, 0x10, 0x40, 0x1e,
++ 0x02);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETPANEL, 0x0b);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGAMMA, 0x00, 0x04, 0x07,
++ 0x2a, 0x39, 0x3f, 0x36, 0x31, 0x06, 0x0b, 0x0e,
++ 0x12, 0x14, 0x12, 0x13, 0x0f, 0x17, 0x00, 0x04,
++ 0x07, 0x2a, 0x39, 0x3f, 0x36, 0x31, 0x06, 0x0b,
++ 0x0e, 0x12, 0x14, 0x12, 0x13, 0x0f, 0x17);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETEQ, 0x03, 0x03, 0x03, 0x03,
++ 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0xff, 0x80,
++ 0xc0, 0x10);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP1, 0xc8, 0x10, 0x08, 0x00,
++ 0x00, 0x41, 0xf8, 0x12, 0x31, 0x23, 0x37, 0x86,
++ 0x11, 0xc8, 0x37, 0x2a, 0x00, 0x00, 0x0c, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00,
++ 0x88, 0x20, 0x46, 0x02, 0x88, 0x88, 0x88, 0x88,
++ 0x88, 0x88, 0xff, 0x88, 0x31, 0x57, 0x13, 0x88,
++ 0x88, 0x88, 0x88, 0x88, 0x88, 0xff, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_SETGIP2, 0x00, 0x1a, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x8f, 0x13, 0x31, 0x75, 0x88, 0x88, 0x88, 0x88,
++ 0x88, 0x88, 0xf8, 0x8f, 0x02, 0x20, 0x64, 0x88,
++ 0x88, 0x88, 0x88, 0x88, 0x88, 0xf8, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00);
++ mipi_dsi_dcs_write_seq(dsi, ST7703_CMD_UNKNOWN_EF, 0xff, 0xff, 0x01);
++
++ return 0;
++}
++
++static const struct drm_display_mode rgb10max3_panel_mode = {
++ .hdisplay = 720,
++ .hsync_start = 720 + 40,
++ .hsync_end = 720 + 40 + 10,
++ .htotal = 720 + 40 + 10 + 40,
++ .vdisplay = 1280,
++ .vsync_start = 1280 + 16,
++ .vsync_end = 1280 + 16 + 4,
++ .vtotal = 1280 + 16 + 4 + 14,
++ .clock = 63800,
++ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
++ .width_mm = 62,
++ .height_mm = 109,
++};
++
++static const struct st7703_panel_desc rgb10max3_panel_desc = {
++ .mode = &rgb10max3_panel_mode,
++ .lanes = 4,
++ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST |
++ MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_LPM,
++ .format = MIPI_DSI_FMT_RGB888,
++ .init_sequence = rgb10max3_panel_init_sequence,
++};
++
+ static int st7703_enable(struct drm_panel *panel)
+ {
+ struct st7703 *ctx = panel_to_st7703(panel);
+@@ -784,6 +874,7 @@ static void st7703_remove(struct mipi_dsi_device *dsi)
+
+ static const struct of_device_id st7703_of_match[] = {
+ { .compatible = "anbernic,rg353v-panel-v2", .data = &rg353v2_desc },
++ { .compatible = "powkiddy,rgb10max3-panel", .data = &rgb10max3_panel_desc },
+ { .compatible = "powkiddy,rgb30-panel", .data = &rgb30panel_desc },
+ { .compatible = "rocktech,jh057n00900", .data = &jh057n00900_panel_desc },
+ { .compatible = "xingbangda,xbd599", .data = &xbd599_desc },
diff --git a/projects/Rockchip/packages/linux/patches/RK3566/012-st7703-rotation.patch b/projects/Rockchip/packages/linux/patches/RK3566/012-st7703-rotation.patch
new file mode 100644
index 0000000000..a92a8ca64b
--- /dev/null
+++ b/projects/Rockchip/packages/linux/patches/RK3566/012-st7703-rotation.patch
@@ -0,0 +1,57 @@
+commit 762195e5c26936b891fb54ba0183aa3ef366b41e
+Author: Chris Morgan
+Date: Mon Feb 12 12:49:47 2024 -0600
+
+ drm/panel: st7703: Add Panel Rotation Support
+
+ Add support for panel rotation to ST7703 based devices.
+
+ Signed-off-by: Chris Morgan
+ Reviewed-by: Guido Günther
+ Signed-off-by: Heiko Stuebner
+ Link: https://patchwork.freedesktop.org/patch/msgid/20240212184950.52210-5-macroalpha82@gmail.com
+
+diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7703.c b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
+index 939ba05c9b58..a3e142f156d5 100644
+--- a/drivers/gpu/drm/panel/panel-sitronix-st7703.c
++++ b/drivers/gpu/drm/panel/panel-sitronix-st7703.c
+@@ -62,6 +62,7 @@ struct st7703 {
+
+ struct dentry *debugfs;
+ const struct st7703_panel_desc *desc;
++ enum drm_panel_orientation orientation;
+ };
+
+ struct st7703_panel_desc {
+@@ -743,12 +744,20 @@ static int st7703_get_modes(struct drm_panel *panel,
+ return 1;
+ }
+
++static enum drm_panel_orientation st7703_get_orientation(struct drm_panel *panel)
++{
++ struct st7703 *st7703 = panel_to_st7703(panel);
++
++ return st7703->orientation;
++}
++
+ static const struct drm_panel_funcs st7703_drm_funcs = {
+ .disable = st7703_disable,
+ .unprepare = st7703_unprepare,
+ .prepare = st7703_prepare,
+ .enable = st7703_enable,
+ .get_modes = st7703_get_modes,
++ .get_orientation = st7703_get_orientation,
+ };
+
+ static int allpixelson_set(void *data, u64 val)
+@@ -817,6 +826,10 @@ static int st7703_probe(struct mipi_dsi_device *dsi)
+ return dev_err_probe(dev, PTR_ERR(ctx->iovcc),
+ "Failed to request iovcc regulator\n");
+
++ ret = of_drm_get_panel_orientation(dsi->dev.of_node, &ctx->orientation);
++ if (ret < 0)
++ return dev_err_probe(&dsi->dev, ret, "Failed to get orientation\n");
++
+ drm_panel_init(&ctx->panel, dev, &st7703_drm_funcs,
+ DRM_MODE_CONNECTOR_DSI);
+
diff --git a/projects/Rockchip/packages/linux/patches/RK3566/013-rk2023-dtsi-rgb10-max3-update.patch b/projects/Rockchip/packages/linux/patches/RK3566/013-rk2023-dtsi-rgb10-max3-update.patch
new file mode 100644
index 0000000000..16eb497182
--- /dev/null
+++ b/projects/Rockchip/packages/linux/patches/RK3566/013-rk2023-dtsi-rgb10-max3-update.patch
@@ -0,0 +1,106 @@
+commit 039a03c377d64ec832a8fb1b8f8b5badd404989f
+Author: Chris Morgan
+Date: Mon Feb 12 12:49:48 2024 -0600
+
+ arm64: dts: rockchip: Update powkiddy rk2023 dtsi for RGB10MAX3
+
+ Move the vdd_cpu regulator to the device specific dts. This is in
+ preparation of adding the Powkiddy RGB10MAX3 device, which uses
+ a different vendor for the CPU regulator at a different i2c address.
+
+ Also add a phandle to the bluetooth device so that we can change the
+ compatible string for the RGB10MAX3. This device uses the same pinouts
+ but a different bluetooth device.
+
+ Signed-off-by: Chris Morgan
+ Link: https://lore.kernel.org/r/20240212184950.52210-6-macroalpha82@gmail.com
+ Signed-off-by: Heiko Stuebner
+
+diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts
+index 0ac64f043b80..1f567a14ac84 100644
+--- a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts
++++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb30.dts
+@@ -37,3 +37,21 @@ mipi_in_panel: endpoint {
+ };
+ };
+ };
++
++&i2c0 {
++ vdd_cpu: regulator@1c {
++ compatible = "tcs,tcs4525";
++ reg = <0x1c>;
++ fcs,suspend-voltage-selector = <1>;
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <712500>;
++ regulator-max-microvolt = <1390000>;
++ regulator-name = "vdd_cpu";
++ regulator-ramp-delay = <2300>;
++ vin-supply = <&vcc_sys>;
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++};
+diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dts b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dts
+index ba32d0793dca..bc9933d9e262 100644
+--- a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dts
++++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dts
+@@ -36,3 +36,21 @@ mipi_in_panel: endpoint {
+ };
+ };
+ };
++
++&i2c0 {
++ vdd_cpu: regulator@1c {
++ compatible = "tcs,tcs4525";
++ reg = <0x1c>;
++ fcs,suspend-voltage-selector = <1>;
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <712500>;
++ regulator-max-microvolt = <1390000>;
++ regulator-name = "vdd_cpu";
++ regulator-ramp-delay = <2300>;
++ vin-supply = <&vcc_sys>;
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++};
+diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi
+index 0fa8f06f94cd..3ab751a01cb2 100644
+--- a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi
++++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi
+@@ -614,22 +614,6 @@ rk817_charger: charger {
+ rockchip,sleep-filter-current-microamp = <100000>;
+ };
+ };
+-
+- vdd_cpu: regulator@1c {
+- compatible = "tcs,tcs4525";
+- reg = <0x1c>;
+- fcs,suspend-voltage-selector = <1>;
+- regulator-always-on;
+- regulator-boot-on;
+- regulator-min-microvolt = <712500>;
+- regulator-max-microvolt = <1390000>;
+- regulator-name = "vdd_cpu";
+- regulator-ramp-delay = <2300>;
+- vin-supply = <&vcc_sys>;
+- regulator-state-mem {
+- regulator-off-in-suspend;
+- };
+- };
+ };
+
+ &i2c5 {
+@@ -805,7 +789,7 @@ &uart1 {
+ uart-has-rtscts;
+ status = "okay";
+
+- bluetooth {
++ bluetooth: bluetooth {
+ compatible = "realtek,rtl8821cs-bt", "realtek,rtl8723bs-bt";
+ device-wake-gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>;
+ enable-gpios = <&gpio4 3 GPIO_ACTIVE_HIGH>;
diff --git a/projects/Rockchip/packages/linux/patches/RK3566/014-rgb10-max3-dtbindings.patch b/projects/Rockchip/packages/linux/patches/RK3566/014-rgb10-max3-dtbindings.patch
new file mode 100644
index 0000000000..002dfc7533
--- /dev/null
+++ b/projects/Rockchip/packages/linux/patches/RK3566/014-rgb10-max3-dtbindings.patch
@@ -0,0 +1,26 @@
+commit fbe7823623a8c02759afdfb521709f4fa216849a
+Author: Chris Morgan
+Date: Mon Feb 12 12:49:49 2024 -0600
+
+ dt-bindings: arm: rockchip: Add Powkiddy RGB10MAX3
+
+ The Powkiddy RGB10MAX3 is a handheld gaming device made by Powkiddy and
+ powered by the Rockchip RK3566 SoC.
+
+ Signed-off-by: Chris Morgan
+ Acked-by: Krzysztof Kozlowski
+ Link: https://lore.kernel.org/r/20240212184950.52210-7-macroalpha82@gmail.com
+ Signed-off-by: Heiko Stuebner
+
+diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml
+index 433a25f4e744..ca2432e803b3 100644
+--- a/Documentation/devicetree/bindings/arm/rockchip.yaml
++++ b/Documentation/devicetree/bindings/arm/rockchip.yaml
+@@ -694,6 +694,7 @@ properties:
+ - description: Powkiddy RK3566 Handheld Gaming Console
+ items:
+ - enum:
++ - powkiddy,rgb10max3
+ - powkiddy,rgb30
+ - powkiddy,rk2023
+ - powkiddy,x55
diff --git a/projects/Rockchip/packages/linux/patches/RK3566/015-rgb10-max3-dts-makefile.patch b/projects/Rockchip/packages/linux/patches/RK3566/015-rgb10-max3-dts-makefile.patch
new file mode 100644
index 0000000000..77ba89546c
--- /dev/null
+++ b/projects/Rockchip/packages/linux/patches/RK3566/015-rgb10-max3-dts-makefile.patch
@@ -0,0 +1,12 @@
+diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile
+index a7b30e1..3c4f87e 100644
+--- a/arch/arm64/boot/dts/rockchip/Makefile
++++ b/arch/arm64/boot/dts/rockchip/Makefile
+@@ -78,6 +78,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg353vs.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-anbernic-rg503.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.1.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.2.dtb
++dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-powkiddy-rgb10max3.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-powkiddy-rgb30.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-powkiddy-rk2023.dtb
+ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-powkiddy-x55.dtb
diff --git a/projects/Rockchip/packages/linux/patches/RK3566/016-rgb10-max3-dts.patch b/projects/Rockchip/packages/linux/patches/RK3566/016-rgb10-max3-dts.patch
new file mode 100644
index 0000000000..31cf1d1491
--- /dev/null
+++ b/projects/Rockchip/packages/linux/patches/RK3566/016-rgb10-max3-dts.patch
@@ -0,0 +1,110 @@
+commit 4b325c0d4f539b553a4529f16476f08757779293
+Author: Chris Morgan
+Date: Mon Feb 12 12:49:50 2024 -0600
+
+ arm64: dts: rockchip: Add Powkiddy RGB10MAX3
+
+ Add support for the Powkiddy RGB10MAX3. The Powkiddy RGB10MAX3 is a
+ handheld gaming device with a 720p 5.0 inch screen powered by the
+ Rockchip RK3566 SoC. It includes a Realtek 8723ds WiFi/BT module, 2 ADC
+ joysticks powered by a 4-way muxed ADC channel, and several GPIO
+ face buttons. There are 2 SDMMC slots (sdmmc1 and sdmmc3), 3 pwm
+ controlled LEDs, and the device includes 1GB of RAM.
+
+ Signed-off-by: Chris Morgan
+ Link: https://lore.kernel.org/r/20240212184950.52210-8-macroalpha82@gmail.com
+ Signed-off-by: Heiko Stuebner
+
+diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb10max3.dts b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb10max3.dts
+new file mode 100644
+index 000000000000..e5a474e681dd
+--- /dev/null
++++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb10max3.dts
+@@ -0,0 +1,87 @@
++// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
++
++/dts-v1/;
++
++#include
++#include
++#include
++#include "rk3566-powkiddy-rk2023.dtsi"
++
++/ {
++ model = "Powkiddy RGB10MAX3";
++ compatible = "powkiddy,rgb10max3", "rockchip,rk3566";
++};
++
++&bluetooth {
++ compatible = "realtek,rtl8723ds-bt";
++};
++
++&cru {
++ assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>,
++ <&pmucru PLL_PPLL>, <&cru PLL_VPLL>;
++ assigned-clock-rates = <32768>, <1200000000>,
++ <200000000>, <126400000>;
++};
++
++&dsi0 {
++ panel: panel@0 {
++ compatible = "powkiddy,rgb10max3-panel";
++ reg = <0>;
++ backlight = <&backlight>;
++ iovcc-supply = <&vcc3v3_lcd0_n>;
++ pinctrl-0 = <&lcd_rst>;
++ pinctrl-names = "default";
++ reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>;
++ rotation = <270>;
++ vcc-supply = <&vcc3v3_lcd0_n>;
++
++ port {
++ mipi_in_panel: endpoint {
++ remote-endpoint = <&mipi_out_panel>;
++ };
++ };
++ };
++};
++
++&green_led {
++ default-state = "on";
++ function = LED_FUNCTION_POWER;
++};
++
++&i2c0 {
++ vdd_cpu: regulator@40 {
++ compatible = "fcs,fan53555";
++ reg = <0x40>;
++ fcs,suspend-voltage-selector = <1>;
++ regulator-always-on;
++ regulator-boot-on;
++ regulator-min-microvolt = <712500>;
++ regulator-max-microvolt = <1390000>;
++ regulator-name = "vdd_cpu";
++ regulator-ramp-delay = <2300>;
++ vin-supply = <&vcc_sys>;
++ regulator-state-mem {
++ regulator-off-in-suspend;
++ };
++ };
++};
++
++&leds {
++ amber_led: led-2 {
++ color = ;
++ function = LED_FUNCTION_CHARGING;
++ max-brightness = <255>;
++ pwms = <&pwm0 0 25000 0>;
++ };
++};
++
++&pwm0 {
++ pinctrl-0 = <&pwm0m1_pins>;
++ pinctrl-names = "default";
++ status = "okay";
++};
++
++&red_led {
++ default-state = "off";
++ function = LED_FUNCTION_STATUS;
++};
diff --git a/projects/Rockchip/packages/linux/patches/RK3566/011-fix-powkiddy-model-names.patch b/projects/Rockchip/packages/linux/patches/RK3566/017-fix-powkiddy-model-names.patch
similarity index 100%
rename from projects/Rockchip/packages/linux/patches/RK3566/011-fix-powkiddy-model-names.patch
rename to projects/Rockchip/packages/linux/patches/RK3566/017-fix-powkiddy-model-names.patch
diff --git a/projects/Rockchip/packages/u-boot/package.mk b/projects/Rockchip/packages/u-boot/package.mk
index 925ac0f59a..723510803e 100644
--- a/projects/Rockchip/packages/u-boot/package.mk
+++ b/projects/Rockchip/packages/u-boot/package.mk
@@ -19,7 +19,7 @@ case ${DEVICE} in
;;
RK356*)
PKG_URL="https://github.com/u-boot/u-boot.git"
- PKG_VERSION="27089f1e4d11fd7e0619097b59258d0428cde2ac"
+ PKG_VERSION="e8f2404e093daf6cc3ac2b3233e3c6770d13e371"
PKG_GIT_CLONE_BRANCH="master"
;;
RK3399)
diff --git a/projects/Rockchip/packages/u-boot/patches/RK3326/001-add-rg351x.patch b/projects/Rockchip/packages/u-boot/patches/RK3326/001-set-hwrev.patch
similarity index 63%
rename from projects/Rockchip/packages/u-boot/patches/RK3326/001-add-rg351x.patch
rename to projects/Rockchip/packages/u-boot/patches/RK3326/001-set-hwrev.patch
index 36ff9a08a6..f85cf3281c 100644
--- a/projects/Rockchip/packages/u-boot/patches/RK3326/001-add-rg351x.patch
+++ b/projects/Rockchip/packages/u-boot/patches/RK3326/001-set-hwrev.patch
@@ -1,7 +1,7 @@
-diff -rupN uboot.orig/cmd/hwrev.c uboot/cmd/hwrev.c
---- uboot.orig/cmd/hwrev.c 2024-01-04 18:59:49.400779885 +0000
-+++ uboot/cmd/hwrev.c 2024-01-04 19:02:14.336283106 +0000
-@@ -34,6 +34,21 @@ int do_hwrev(cmd_tbl_t *cmdtp, int flag,
+diff -rupN u-boot.orig/cmd/hwrev.c u-boot/cmd/hwrev.c
+--- u-boot.orig/cmd/hwrev.c 2024-02-15 14:49:02.135798042 +0000
++++ u-boot/cmd/hwrev.c 2024-02-15 14:54:37.885602790 +0000
+@@ -34,6 +34,26 @@ int do_hwrev(cmd_tbl_t *cmdtp, int flag,
env_set("hwrev", "v10-go3");
env_set("dtb_name", "rk3326-odroidgo3-linux.dtb");
}
@@ -19,6 +19,11 @@ diff -rupN uboot.orig/cmd/hwrev.c uboot/cmd/hwrev.c
+ else if (check_range(1000, 1050, hwrev_adc)) {
+ env_set("hwrev", "xu10");
+ env_set("dtb_name", "rk3326-magicx-xu10.dtb");
++ }
++ /* CHI */
++ else if (check_range(460, 489, hwrev_adc)) {
++ env_set("hwrev", "chi");
++ env_set("dtb_name", "rk3326-gameforce-chi.dtb");
+ }
/* engineer samples */
else {
diff --git a/projects/Rockchip/packages/u-boot/patches/RK3566/001-v3-add_additional_boards_and_features_to_rgxx3.patch b/projects/Rockchip/packages/u-boot/patches/RK3566/001-v3-add_additional_boards_and_features_to_rgxx3.patch
index 602bbcfa8e..ace6886dd8 100644
--- a/projects/Rockchip/packages/u-boot/patches/RK3566/001-v3-add_additional_boards_and_features_to_rgxx3.patch
+++ b/projects/Rockchip/packages/u-boot/patches/RK3566/001-v3-add_additional_boards_and_features_to_rgxx3.patch
@@ -1,389 +1,37 @@
-From: Chris Morgan
-To: u-boot@lists.denx.de
-Cc: andre.przywara@arm.com, kever.yang@rock-chips.com,
- philipp.tomsich@vrull.eu, sjg@chromium.org,
- Chris Morgan
-Subject: [PATCH V3 0/7] Add Additional Boards and Features to RGxx3
-Date: Mon, 11 Dec 2023 17:21:18 -0600 [thread overview]
-Message-ID: <20231211232125.171438-1-macroalpha82@gmail.com> (raw)
-
-From: Chris Morgan
-
-The RGxx3 is a pseudo-device for U-Boot that works for every Anbernic
-RGxx3 series device on the market. Add support for another series of
-very similar devices from Powkiddy.
-
-Changes since V2:
- - Modify the mach-rockchip level rockchip_dnl_key_pressed() so that
- we can also call it in SPL mode and eliminate the board specific
- function. This requires adding ADC support to SPL. Additionally,
- I had to change the regulator for the saradc to a fixed regulator
- and add GPIO and regulator support to SPL.
- - Move the board specific board_rng_seed to the mach-rockchip level
- board file so that other rockchip boards with a hardware RNG can
- benefit. This should only be called if both the Rockchip
- hardware RNG as well as the rng seed functions are enabled.
- - Add two new boards (the RG-ARC-D and RG-ARC-S). I removed the
- previous code review due to the extensive changes made.
-
-Changes since V1:
- - Update verbiage around function button to say "recovery" mode
- instead of calling it "maskrom" mode, which has a specific
- meaning. Also note that recovery function was done in a board
- specific manner to ensure it can run early.
- - Update board level documentation for the RGxx3.
-
-Chris Morgan (7):
- board: rockchip: Refactor panel auto-detect code
- spl: Add Kconfig options for ADC
- rockchip: boot_mode: Allow rockchip_dnl_key_pressed() in SPL
- board: rockchip: Add Recovery Button for Anbernic RGxx3
- rockchip: board: Add board_rng_seed() for all Rockchip devices
- board: rockchip: Add support for new boards to RGxx3
- doc: board: anbernic: Update rgxx3 to add new boards
-
- .../arm/dts/rk3566-anbernic-rgxx3-u-boot.dtsi | 11 +
- arch/arm/mach-rockchip/Makefile | 4 +-
- arch/arm/mach-rockchip/board.c | 32 +++
- arch/arm/mach-rockchip/boot_mode.c | 11 +-
- board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c | 194 +++++++++++-------
- common/spl/Kconfig | 7 +
- configs/anbernic-rgxx3-rk3566_defconfig | 16 +-
- doc/board/anbernic/rgxx3.rst | 20 +-
- drivers/Makefile | 1 +
- drivers/adc/Makefile | 2 +-
- include/configs/anbernic-rgxx3-rk3566.h | 2 +
- 11 files changed, 210 insertions(+), 90 deletions(-)
-
---
-2.34.1
-
-From: Chris Morgan
-To: u-boot@lists.denx.de
-Cc: andre.przywara@arm.com, kever.yang@rock-chips.com,
- philipp.tomsich@vrull.eu, sjg@chromium.org,
- Chris Morgan
-Subject: [PATCH V3 1/7] board: rockchip: Refactor panel auto-detect code
-Date: Mon, 11 Dec 2023 17:21:19 -0600 [thread overview]
-Message-ID: <20231211232125.171438-2-macroalpha82@gmail.com> (raw)
-In-Reply-To: <20231211232125.171438-1-macroalpha82@gmail.com>
-
-From: Chris Morgan
-
-Make the inability to detect a panel using the auto detection code not
-fail the entire boot process. This means that if the panel ID cannot
-be read we don't set an environment variable for the panel, and if an
-environment variable for the panel is not set we don't attempt to
-update the compatible string. Changes to the code also ensure that
-when there are multiple compatible strings required for the panel
-we use them both, which solves some issues that will pop up soon
-for the Linux driver.
-
-Signed-off-by: Chris Morgan
----
- board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c | 115 +++++++++++++--------
- 1 file changed, 74 insertions(+), 41 deletions(-)
-
-diff --git a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
-index 3f1a42d184..3d0c614623 100644
---- a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
-+++ b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
-@@ -40,6 +40,7 @@ struct rg3xx_model {
- const char *board;
- const char *board_name;
- const char *fdtfile;
-+ const bool detect_panel;
- };
-
- enum rgxx3_device_id {
-@@ -54,52 +55,67 @@ enum rgxx3_device_id {
-
- static const struct rg3xx_model rg3xx_model_details[] = {
- [RG353M] = {
-- 517, /* Observed average from device */
-- "rk3566-anbernic-rg353m",
-- "RG353M",
-- DTB_DIR "rk3566-anbernic-rg353p.dtb", /* Identical devices */
-+ .adc_value = 517, /* Observed average from device */
-+ .board = "rk3566-anbernic-rg353m",
-+ .board_name = "RG353M",
-+ /* Device is identical to RG353P. */
-+ .fdtfile = DTB_DIR "rk3566-anbernic-rg353p.dtb",
-+ .detect_panel = 1,
- },
- [RG353P] = {
-- 860, /* Documented value of 860 */
-- "rk3566-anbernic-rg353p",
-- "RG353P",
-- DTB_DIR "rk3566-anbernic-rg353p.dtb",
-+ .adc_value = 860, /* Documented value of 860 */
-+ .board = "rk3566-anbernic-rg353p",
-+ .board_name = "RG353P",
-+ .fdtfile = DTB_DIR "rk3566-anbernic-rg353p.dtb",
-+ .detect_panel = 1,
- },
- [RG353V] = {
-- 695, /* Observed average from device */
-- "rk3566-anbernic-rg353v",
-- "RG353V",
-- DTB_DIR "rk3566-anbernic-rg353v.dtb",
-+ .adc_value = 695, /* Observed average from device */
-+ .board = "rk3566-anbernic-rg353v",
-+ .board_name = "RG353V",
-+ .fdtfile = DTB_DIR "rk3566-anbernic-rg353v.dtb",
-+ .detect_panel = 1,
- },
- [RG503] = {
-- 1023, /* Observed average from device */
-- "rk3566-anbernic-rg503",
-- "RG503",
-- DTB_DIR "rk3566-anbernic-rg503.dtb",
-+ .adc_value = 1023, /* Observed average from device */
-+ .board = "rk3566-anbernic-rg503",
-+ .board_name = "RG503",
-+ .fdtfile = DTB_DIR "rk3566-anbernic-rg503.dtb",
-+ .detect_panel = 0,
- },
- /* Devices with duplicate ADC value */
- [RG353PS] = {
-- 860, /* Observed average from device */
-- "rk3566-anbernic-rg353ps",
-- "RG353PS",
-- DTB_DIR "rk3566-anbernic-rg353ps.dtb",
-+ .adc_value = 860, /* Observed average from device */
-+ .board = "rk3566-anbernic-rg353ps",
-+ .board_name = "RG353PS",
-+ .fdtfile = DTB_DIR "rk3566-anbernic-rg353ps.dtb",
-+ .detect_panel = 1,
- },
- [RG353VS] = {
-- 695, /* Gathered from second hand information */
-- "rk3566-anbernic-rg353vs",
-- "RG353VS",
-- DTB_DIR "rk3566-anbernic-rg353vs.dtb",
-+ .adc_value = 695, /* Gathered from second hand information */
-+ .board = "rk3566-anbernic-rg353vs",
-+ .board_name = "RG353VS",
-+ .fdtfile = DTB_DIR "rk3566-anbernic-rg353vs.dtb",
-+ .detect_panel = 1,
- },
- };
-
- struct rg353_panel {
- const u16 id;
-- const char *panel_compat;
-+ const char *panel_compat[2];
- };
-
- static const struct rg353_panel rg353_panel_details[] = {
-- { .id = 0x3052, .panel_compat = "newvision,nv3051d"},
-- { .id = 0x3821, .panel_compat = "anbernic,rg353v-panel-v2"},
-+ {
-+ .id = 0x3052,
-+ .panel_compat[0] = "anbernic,rg353p-panel",
-+ .panel_compat[1] = "newvision,nv3051d",
-+ },
-+ {
-+ .id = 0x3821,
-+ .panel_compat[0] = "anbernic,rg353v-panel-v2",
-+ .panel_compat[1] = NULL,
-+ },
+diff --git a/arch/arm/dts/rk3566-anbernic-rgxx3-u-boot.dtsi b/arch/arm/dts/rk3566-anbernic-rgxx3-u-boot.dtsi
+index fa3df73c3..62a788a8e 100644
+--- a/arch/arm/dts/rk3566-anbernic-rgxx3-u-boot.dtsi
++++ b/arch/arm/dts/rk3566-anbernic-rgxx3-u-boot.dtsi
+@@ -75,6 +75,12 @@
+ /delete-property/ clock-names;
};
-
- /*
-@@ -298,11 +314,10 @@ int rgxx3_detect_display(void)
- if (!panel) {
- printf("Unable to identify panel_id %x\n",
- (panel_id[0] << 8) | panel_id[1]);
-- env_set("panel", "unknown");
- return -EINVAL;
- }
-
-- env_set("panel", panel->panel_compat);
-+ env_set("panel", panel->panel_compat[0]);
-
- return 0;
- }
-@@ -367,13 +382,14 @@ int rgxx3_detect_device(void)
- rg3xx_model_details[board_id].board_name);
- env_set("fdtfile", rg3xx_model_details[board_id].fdtfile);
-
-- /* Detect the panel type for any device that isn't a 503. */
-- if (board_id == RG503)
-+ /* Skip panel detection for when it is not needed. */
-+ if (!rg3xx_model_details[board_id].detect_panel)
- return 0;
-
-+ /* Warn but don't fail for errors in auto-detection of the panel. */
- ret = rgxx3_detect_display();
- if (ret)
-- return ret;
-+ printf("Failed to detect panel type\n");
-
- return 0;
- }
-@@ -400,7 +416,8 @@ int rk_board_late_init(void)
-
- int ft_board_setup(void *blob, struct bd_info *bd)
- {
-- int node, ret;
-+ const struct rg353_panel *panel = NULL;
-+ int node, ret, i;
- char *env;
-
- /* No fixups necessary for the RG503 */
-@@ -414,6 +431,12 @@ int ft_board_setup(void *blob, struct bd_info *bd)
- rg3xx_model_details[RG353M].board_name,
- sizeof(rg3xx_model_details[RG353M].board_name));
-
-+ env = env_get("panel");
-+ if (!env) {
-+ printf("Can't get panel env\n");
-+ return 0;
-+ }
-+
- /*
- * Check if the environment variable doesn't equal the panel.
- * If it doesn't, update the devicetree to the correct panel.
-@@ -424,12 +447,6 @@ int ft_board_setup(void *blob, struct bd_info *bd)
- return -ENODEV;
- }
-
-- env = env_get("panel");
-- if (!env) {
-- printf("Can't get panel env\n");
-- return -ENODEV;
-- }
--
- ret = fdt_node_check_compatible(blob, node, env);
- if (ret < 0)
- return -ENODEV;
-@@ -438,8 +455,24 @@ int ft_board_setup(void *blob, struct bd_info *bd)
- if (!ret)
- return 0;
-
-- do_fixup_by_path_string(blob, "/dsi@fe060000/panel@0",
-- "compatible", env);
-+ /* Panels don't match, search by first compatible value. */
-+ for (i = 0; i < ARRAY_SIZE(rg353_panel_details); i++) {
-+ if (!strcmp(env, rg353_panel_details[i].panel_compat[0])) {
-+ panel = &rg353_panel_details[i];
-+ break;
-+ }
-+ }
-+
-+ if (!panel) {
-+ printf("Unable to identify panel by compat string\n");
-+ return -ENODEV;
-+ }
+
++&saradc {
++ bootph-all;
++ vref-supply = <&vcc_sys>;
++ status = "okay";
++};
+
-+ /* Set the compatible with the auto-detected values */
-+ fdt_setprop_string(blob, node, "compatible", panel->panel_compat[0]);
-+ if (panel->panel_compat[1])
-+ fdt_appendprop_string(blob, node, "compatible",
-+ panel->panel_compat[1]);
-
- return 0;
- }
---
-2.34.1
-
-From: Chris Morgan
-To: u-boot@lists.denx.de
-Cc: andre.przywara@arm.com, kever.yang@rock-chips.com,
- philipp.tomsich@vrull.eu, sjg@chromium.org,
- Chris Morgan
-Subject: [PATCH V3 2/7] spl: Add Kconfig options for ADC
-Date: Mon, 11 Dec 2023 17:21:20 -0600 [thread overview]
-Message-ID: <20231211232125.171438-3-macroalpha82@gmail.com> (raw)
-In-Reply-To: <20231211232125.171438-1-macroalpha82@gmail.com>
-
-From: Chris Morgan
-
-Add kconfig options to enable ADC in SPL
-
-Signed-off-by: Chris Morgan
----
- common/spl/Kconfig | 7 +++++++
- drivers/Makefile | 1 +
- drivers/adc/Makefile | 2 +-
- 3 files changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/common/spl/Kconfig b/common/spl/Kconfig
-index c521b02f4a..ada9dcea5c 100644
---- a/common/spl/Kconfig
-+++ b/common/spl/Kconfig
-@@ -579,6 +579,13 @@ config SPL_FIT_IMAGE_TINY
- ensure this information is available to the next image
- invoked).
-
-+config SPL_ADC
-+ bool "Support ADC drivers"
-+ help
-+ Enable ADC drivers in SPL. These drivers can allow the reading of
-+ analog values from one or more channels. Enable this option to
-+ build the drivers in drivers/adc as part of an SPL build.
+ &sdhci {
+ pinctrl-0 = <&emmc_bus8>, <&emmc_clk>, <&emmc_cmd>,
+ <&emmc_datastrobe>, <&emmc_rstnout>;
+@@ -87,3 +93,8 @@
+ vqmmc-supply = <&vcc_1v8>;
+ status = "okay";
+ };
+
- config SPL_CACHE
- bool "Support CACHE drivers"
- help
-diff --git a/drivers/Makefile b/drivers/Makefile
-index bf73b7718c..81ba2c534e 100644
---- a/drivers/Makefile
-+++ b/drivers/Makefile
-@@ -1,5 +1,6 @@
- # SPDX-License-Identifier: GPL-2.0+
-
-+obj-$(CONFIG_$(SPL_)ADC) += adc/
- obj-$(CONFIG_$(SPL_TPL_)BIOSEMU) += bios_emulator/
- obj-$(CONFIG_$(SPL_TPL_)BLK) += block/
- obj-$(CONFIG_$(SPL_TPL_)BOOTCOUNT_LIMIT) += bootcount/
-diff --git a/drivers/adc/Makefile b/drivers/adc/Makefile
-index 5336c82097..9eb07769b0 100644
---- a/drivers/adc/Makefile
-+++ b/drivers/adc/Makefile
-@@ -4,7 +4,7 @@
- # Przemyslaw Marczak
- #
-
--obj-$(CONFIG_ADC) += adc-uclass.o
-+obj-$(CONFIG_$(SPL_)ADC) += adc-uclass.o
- obj-$(CONFIG_ADC_EXYNOS) += exynos-adc.o
- obj-$(CONFIG_ADC_SANDBOX) += sandbox.o
- obj-$(CONFIG_SARADC_ROCKCHIP) += rockchip-saradc.o
---
-2.34.1
-
-From: Chris Morgan
-To: u-boot@lists.denx.de
-Cc: andre.przywara@arm.com, kever.yang@rock-chips.com,
- philipp.tomsich@vrull.eu, sjg@chromium.org,
- Chris Morgan
-Subject: [PATCH V3 3/7] rockchip: boot_mode: Allow rockchip_dnl_key_pressed() in SPL
-Date: Mon, 11 Dec 2023 17:21:21 -0600 [thread overview]
-Message-ID: <20231211232125.171438-4-macroalpha82@gmail.com> (raw)
-In-Reply-To: <20231211232125.171438-1-macroalpha82@gmail.com>
-
-From: Chris Morgan
-
-Update the rockchip_dnl_key_pressed() so that it can run in
-SPL. Also change the ADC channel to a define that can be
-overridden by a board specific option.
-
-Signed-off-by: Chris Morgan
----
- arch/arm/mach-rockchip/Makefile | 4 ++--
- arch/arm/mach-rockchip/boot_mode.c | 11 ++++++++++-
- 2 files changed, 12 insertions(+), 3 deletions(-)
-
++&vcc_sys {
++ bootph-all;
++ status = "okay";
++};
diff --git a/arch/arm/mach-rockchip/Makefile b/arch/arm/mach-rockchip/Makefile
-index 1dc92066bb..ff089ae949 100644
+index 1dc92066b..ff089ae94 100644
--- a/arch/arm/mach-rockchip/Makefile
+++ b/arch/arm/mach-rockchip/Makefile
@@ -15,13 +15,13 @@ obj-tpl-$(CONFIG_ROCKCHIP_PX30) += px30-board-tpl.o
-
+
obj-spl-$(CONFIG_ROCKCHIP_RK3036) += rk3036-board-spl.o
-
+
-ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_TPL_BUILD),)
-
# Always include boot_mode.o, as we bypass it (i.e. turn it off)
@@ -397,13 +45,13 @@ index 1dc92066bb..ff089ae949 100644
obj-$(CONFIG_MISC_INIT_R) += misc.o
endif
diff --git a/arch/arm/mach-rockchip/boot_mode.c b/arch/arm/mach-rockchip/boot_mode.c
-index eb8f65ae4e..d2308768be 100644
+index eb8f65ae4..d2308768b 100644
--- a/arch/arm/mach-rockchip/boot_mode.c
+++ b/arch/arm/mach-rockchip/boot_mode.c
@@ -38,6 +38,10 @@ void set_back_to_bootrom_dnl_flag(void)
#define KEY_DOWN_MIN_VAL 0
#define KEY_DOWN_MAX_VAL 30
-
+
+#ifndef RK_DNL_ADC_CHAN
+#define RK_DNL_ADC_CHAN 1
+#endif
@@ -422,7 +70,7 @@ index eb8f65ae4e..d2308768be 100644
}
}
@@ -73,11 +78,13 @@ __weak int rockchip_dnl_key_pressed(void)
-
+
void rockchip_dnl_mode_check(void)
{
+#if CONFIG_IS_ENABLED(ADC)
@@ -433,98 +81,39 @@ index eb8f65ae4e..d2308768be 100644
}
+#endif
}
-
+
int setup_boot_mode(void)
@@ -90,6 +97,7 @@ int setup_boot_mode(void)
boot_mode = readl(reg);
debug("%s: boot mode 0x%08x\n", __func__, boot_mode);
-
+
+#if !defined(CONFIG_SPL_BUILD) && !defined(CONFIG_TPL_BUILD)
/* Clear boot mode */
writel(BOOT_NORMAL, reg);
-
+
@@ -103,6 +111,7 @@ int setup_boot_mode(void)
env_set("preboot", "setenv preboot; ums mmc 0");
break;
}
+#endif
-
+
return 0;
}
---
-2.34.1
-
-From: Chris Morgan
-To: u-boot@lists.denx.de
-Cc: andre.przywara@arm.com, kever.yang@rock-chips.com,
- philipp.tomsich@vrull.eu, sjg@chromium.org,
- Chris Morgan
-Subject: [PATCH V3 4/7] board: rockchip: Add Recovery Button for Anbernic RGxx3
-Date: Mon, 11 Dec 2023 17:21:22 -0600 [thread overview]
-Message-ID: <20231211232125.171438-5-macroalpha82@gmail.com> (raw)
-In-Reply-To: <20231211232125.171438-1-macroalpha82@gmail.com>
-
-From: Chris Morgan
-
-Add support for users to enter recovery mode by holding the function
-button when they power up the device.
-
-Since the device has soldered eMMC and sometimes does not expose a clk
-pin on the mainboard there is a small chance that a user who flashes a
-bad bootloader may not be able to recover if the headers themselves
-are valid. As a result this check is done during spl_early_init() to
-ensure that it runs as early as possible, and it does so by directly
-manipulating the ADC hardware in lieu of loading the ADC driver.
-
-Signed-off-by: Chris Morgan
----
- arch/arm/dts/rk3566-anbernic-rgxx3-u-boot.dtsi | 11 +++++++++++
- board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c | 6 +++++-
- configs/anbernic-rgxx3-rk3566_defconfig | 16 ++++++++++++----
- include/configs/anbernic-rgxx3-rk3566.h | 2 ++
- 4 files changed, 30 insertions(+), 5 deletions(-)
-
-diff --git a/arch/arm/dts/rk3566-anbernic-rgxx3-u-boot.dtsi b/arch/arm/dts/rk3566-anbernic-rgxx3-u-boot.dtsi
-index f986e1941e..e3ab196d22 100644
---- a/arch/arm/dts/rk3566-anbernic-rgxx3-u-boot.dtsi
-+++ b/arch/arm/dts/rk3566-anbernic-rgxx3-u-boot.dtsi
-@@ -76,6 +76,12 @@
- /delete-property/ clock-names;
- };
-
-+&saradc {
-+ bootph-all;
-+ vref-supply = <&vcc_sys>;
-+ status = "okay";
-+};
-+
- &sdhci {
- pinctrl-0 = <&emmc_bus8>, <&emmc_clk>, <&emmc_cmd>,
- <&emmc_datastrobe>, <&emmc_rstnout>;
-@@ -94,3 +100,8 @@
- bootph-all;
- status = "okay";
- };
-+
-+&vcc_sys {
-+ bootph-all;
-+ status = "okay";
-+};
diff --git a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
-index 3d0c614623..45854709f5 100644
+index d05502f67..e12a85a02 100644
--- a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
+++ b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
@@ -5,6 +5,7 @@
-
+
#include
#include
+#include
#include
#include
#include
-@@ -119,11 +120,14 @@ static const struct rg353_panel rg353_panel_details[] = {
+@@ -150,11 +151,14 @@ static const struct rg353_panel rg353_panel_details[] = {
};
-
+
/*
- * Start LED very early so user knows device is on. Set color
+ * Check if rockchip_dnl button is pressed and reboot into rockusb if
@@ -538,8 +127,26 @@ index 3d0c614623..45854709f5 100644
/* Set GPIO0_C5, GPIO0_C6, and GPIO0_C7 to output. */
writel(GPIO_WRITEMASK(GPIO_C7 | GPIO_C6 | GPIO_C5) | \
(GPIO_C7 | GPIO_C6 | GPIO_C5),
+diff --git a/common/spl/Kconfig b/common/spl/Kconfig
+index 6405374bc..bd3fe74fc 100644
+--- a/common/spl/Kconfig
++++ b/common/spl/Kconfig
+@@ -595,6 +595,13 @@ config SPL_FIT_IMAGE_TINY
+ ensure this information is available to the next image
+ invoked).
+
++config SPL_ADC
++ bool "Support ADC drivers"
++ help
++ Enable ADC drivers in SPL. These drivers can allow the reading of
++ analog values from one or more channels. Enable this option to
++ build the drivers in drivers/adc as part of an SPL build.
++
+ config SPL_CACHE
+ bool "Support CACHE drivers"
+ help
diff --git a/configs/anbernic-rgxx3-rk3566_defconfig b/configs/anbernic-rgxx3-rk3566_defconfig
-index ed6643d9d4..4e72f75815 100644
+index ed6643d9d..4e72f7581 100644
--- a/configs/anbernic-rgxx3-rk3566_defconfig
+++ b/configs/anbernic-rgxx3-rk3566_defconfig
@@ -3,6 +3,7 @@ CONFIG_SKIP_LOWLEVEL_INIT=y
@@ -613,307 +220,38 @@ index ed6643d9d4..4e72f75815 100644
+# CONFIG_RSA is not set
CONFIG_ERRNO_STR=y
# CONFIG_EFI_LOADER is not set
+diff --git a/drivers/Makefile b/drivers/Makefile
+index bf73b7718..81ba2c534 100644
+--- a/drivers/Makefile
++++ b/drivers/Makefile
+@@ -1,5 +1,6 @@
+ # SPDX-License-Identifier: GPL-2.0+
+
++obj-$(CONFIG_$(SPL_)ADC) += adc/
+ obj-$(CONFIG_$(SPL_TPL_)BIOSEMU) += bios_emulator/
+ obj-$(CONFIG_$(SPL_TPL_)BLK) += block/
+ obj-$(CONFIG_$(SPL_TPL_)BOOTCOUNT_LIMIT) += bootcount/
+diff --git a/drivers/adc/Makefile b/drivers/adc/Makefile
+index 5336c8209..9eb07769b 100644
+--- a/drivers/adc/Makefile
++++ b/drivers/adc/Makefile
+@@ -4,7 +4,7 @@
+ # Przemyslaw Marczak
+ #
+
+-obj-$(CONFIG_ADC) += adc-uclass.o
++obj-$(CONFIG_$(SPL_)ADC) += adc-uclass.o
+ obj-$(CONFIG_ADC_EXYNOS) += exynos-adc.o
+ obj-$(CONFIG_ADC_SANDBOX) += sandbox.o
+ obj-$(CONFIG_SARADC_ROCKCHIP) += rockchip-saradc.o
diff --git a/include/configs/anbernic-rgxx3-rk3566.h b/include/configs/anbernic-rgxx3-rk3566.h
-index 3c4ea4e7d8..2aaac55c06 100644
+index 3c4ea4e7d..2aaac55c0 100644
--- a/include/configs/anbernic-rgxx3-rk3566.h
+++ b/include/configs/anbernic-rgxx3-rk3566.h
@@ -9,4 +9,6 @@
"stdout=serial,vidconsole\0" \
"stderr=serial,vidconsole\0"
-
+
+#define RK_DNL_ADC_CHAN 0
+
#endif
---
-2.34.1
-
-From: Chris Morgan
-To: u-boot@lists.denx.de
-Cc: andre.przywara@arm.com, kever.yang@rock-chips.com,
- philipp.tomsich@vrull.eu, sjg@chromium.org,
- Chris Morgan
-Subject: [PATCH V3 5/7] rockchip: board: Add board_rng_seed() for all Rockchip devices
-Date: Mon, 11 Dec 2023 17:21:23 -0600 [thread overview]
-Message-ID: <20231211232125.171438-6-macroalpha82@gmail.com> (raw)
-In-Reply-To: <20231211232125.171438-1-macroalpha82@gmail.com>
-
-From: Chris Morgan
-
-Allow all rockchip devices to use the hardware RNG to seed Linux
-RNG.
-
-Signed-off-by: Chris Morgan
----
- arch/arm/mach-rockchip/board.c | 32 ++++++++++++++++++++++
- board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c | 29 --------------------
- 2 files changed, 32 insertions(+), 29 deletions(-)
-
-diff --git a/arch/arm/mach-rockchip/board.c b/arch/arm/mach-rockchip/board.c
-index 57f08e0be0..77145524ea 100644
---- a/arch/arm/mach-rockchip/board.c
-+++ b/arch/arm/mach-rockchip/board.c
-@@ -348,3 +348,35 @@ __weak int misc_init_r(void)
- return ret;
- }
- #endif
-+
-+#if IS_ENABLED(CONFIG_BOARD_RNG_SEED) && IS_ENABLED(CONFIG_RNG_ROCKCHIP)
-+#include
-+
-+/* Use hardware rng to seed Linux random. */
-+__weak int board_rng_seed(struct abuf *buf)
-+{
-+ struct udevice *dev;
-+ size_t len = 0x8;
-+ u64 *data;
-+
-+ data = malloc(len);
-+ if (!data) {
-+ printf("Out of memory\n");
-+ return -ENOMEM;
-+ }
-+
-+ if (uclass_get_device(UCLASS_RNG, 0, &dev) || !dev) {
-+ printf("No RNG device\n");
-+ return -ENODEV;
-+ }
-+
-+ if (dm_rng_read(dev, data, len)) {
-+ printf("Reading RNG failed\n");
-+ return -EIO;
-+ }
-+
-+ abuf_init_set(buf, data, len);
-+
-+ return 0;
-+}
-+#endif
-diff --git a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
-index 45854709f5..7bef5a53f0 100644
---- a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
-+++ b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
-@@ -17,7 +17,6 @@
- #include
- #include
- #include
--#include
- #include
- #include
-
-@@ -137,34 +136,6 @@ void spl_board_init(void)
- (GPIO0_BASE + GPIO_SWPORT_DR_H));
- }
-
--/* Use hardware rng to seed Linux random. */
--int board_rng_seed(struct abuf *buf)
--{
-- struct udevice *dev;
-- size_t len = 0x8;
-- u64 *data;
--
-- data = malloc(len);
-- if (!data) {
-- printf("Out of memory\n");
-- return -ENOMEM;
-- }
--
-- if (uclass_get_device(UCLASS_RNG, 0, &dev) || !dev) {
-- printf("No RNG device\n");
-- return -ENODEV;
-- }
--
-- if (dm_rng_read(dev, data, len)) {
-- printf("Reading RNG failed\n");
-- return -EIO;
-- }
--
-- abuf_init_set(buf, data, len);
--
-- return 0;
--}
--
- /*
- * Buzz the buzzer so the user knows something is going on. Make it
- * optional in case PWM is disabled.
---
-2.34.1
-From: Chris Morgan
-To: u-boot@lists.denx.de
-Cc: andre.przywara@arm.com, kever.yang@rock-chips.com,
- philipp.tomsich@vrull.eu, sjg@chromium.org,
- Chris Morgan
-Subject: [PATCH V3 6/7] board: rockchip: Add support for new boards to RGxx3
-Date: Mon, 11 Dec 2023 17:21:24 -0600 [thread overview]
-Message-ID: <20231211232125.171438-7-macroalpha82@gmail.com> (raw)
-In-Reply-To: <20231211232125.171438-1-macroalpha82@gmail.com>
-
-From: Chris Morgan
-
-Add support for the Anbernic RG-ARC-D, Anbernic RG-ARC-S, Powkiddy
-RK2023, and Powkiddy RGB30 to the Anbernic RGxx3. While the Powkiddy
-devices are manufactured by Powkiddy instead of Anbernic,
-the hardware is so similar they can all use the same bootloader.
-
-Signed-off-by: Chris Morgan
----
- board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c | 44 +++++++++++++++++++---
- 1 file changed, 39 insertions(+), 5 deletions(-)
-
-diff --git a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
-index 7bef5a53f0..2445663d43 100644
---- a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
-+++ b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
-@@ -48,9 +48,13 @@ enum rgxx3_device_id {
- RG353P,
- RG353V,
- RG503,
-+ RGB30,
-+ RK2023,
-+ RGARCD,
- /* Devices with duplicate ADC value */
- RG353PS,
- RG353VS,
-+ RGARCS,
- };
-
- static const struct rg3xx_model rg3xx_model_details[] = {
-@@ -83,6 +87,27 @@ static const struct rg3xx_model rg3xx_model_details[] = {
- .fdtfile = DTB_DIR "rk3566-anbernic-rg503.dtb",
- .detect_panel = 0,
- },
-+ [RGB30] = {
-+ .adc_value = 383, /* Gathered from second hand information */
-+ .board = "rk3566-powkiddy-rgb30",
-+ .board_name = "RGB30",
-+ .fdtfile = DTB_DIR "rk3566-powkiddy-rgb30.dtb",
-+ .detect_panel = 0,
-+ },
-+ [RK2023] = {
-+ .adc_value = 635, /* Observed average from device */
-+ .board = "rk3566-powkiddy-rk2023",
-+ .board_name = "RK2023",
-+ .fdtfile = DTB_DIR "rk3566-powkiddy-rk2023.dtb",
-+ .detect_panel = 0,
-+ },
-+ [RGARCD] = {
-+ .adc_value = 183, /* Observed average from device */
-+ .board = "rk3566-anbernic-rg-arc-d",
-+ .board_name = "Anbernic RG ARC-D",
-+ .fdtfile = DTB_DIR "rk3566-anbernic-rg-arc-d.dtb",
-+ .detect_panel = 0,
-+ },
- /* Devices with duplicate ADC value */
- [RG353PS] = {
- .adc_value = 860, /* Observed average from device */
-@@ -98,6 +123,13 @@ static const struct rg3xx_model rg3xx_model_details[] = {
- .fdtfile = DTB_DIR "rk3566-anbernic-rg353vs.dtb",
- .detect_panel = 1,
- },
-+ [RGARCS] = {
-+ .adc_value = 183, /* Observed average from device */
-+ .board = "rk3566-anbernic-rg-arc-s",
-+ .board_name = "Anbernic RG ARC-S",
-+ .fdtfile = DTB_DIR "rk3566-anbernic-rg-arc-s.dtb",
-+ .detect_panel = 0,
-+ },
- };
-
- struct rg353_panel {
-@@ -332,19 +364,21 @@ int rgxx3_detect_device(void)
- }
-
- /*
-- * Try to access the eMMC on an RG353V or RG353P. If it's
-- * missing, it's an RG353VS or RG353PS. Note we could also
-- * check for a touchscreen at 0x1a on i2c2.
-+ * Try to access the eMMC on an RG353V, RG353P, or RG Arc D.
-+ * If it's missing, it's an RG353VS, RG353PS, or RG Arc S.
-+ * Note we could also check for a touchscreen at 0x1a on i2c2.
- */
-- if (board_id == RG353V || board_id == RG353P) {
-+ if (board_id == RG353V || board_id == RG353P || board_id == RGARCD) {
- mmc = find_mmc_device(0);
- if (mmc) {
- ret = mmc_init(mmc);
- if (ret) {
- if (board_id == RG353V)
- board_id = RG353VS;
-- else
-+ if (board_id == RG353P)
- board_id = RG353PS;
-+ else
-+ board_id = RGARCS;
- }
- }
- }
---
-2.34.1
-
-From: Chris Morgan
-To: u-boot@lists.denx.de
-Cc: andre.przywara@arm.com, kever.yang@rock-chips.com,
- philipp.tomsich@vrull.eu, sjg@chromium.org,
- Chris Morgan
-Subject: [PATCH V3 7/7] doc: board: anbernic: Update rgxx3 to add new boards
-Date: Mon, 11 Dec 2023 17:21:25 -0600 [thread overview]
-Message-ID: <20231211232125.171438-8-macroalpha82@gmail.com> (raw)
-In-Reply-To: <20231211232125.171438-1-macroalpha82@gmail.com>
-
-From: Chris Morgan
-
-Update the RGxx3 documentation to note that it now supports the
-RG-ARC-D, RG-ARC-S, Powkiddy RK2023, and Powkiddy RGB30. Also update
-verbiage around panel detection to note that it is no longer hard coded
-to the RG503.
-
-Signed-off-by: Chris Morgan
----
- doc/board/anbernic/rgxx3.rst | 20 ++++++++++++++------
- 1 file changed, 14 insertions(+), 6 deletions(-)
-
-diff --git a/doc/board/anbernic/rgxx3.rst b/doc/board/anbernic/rgxx3.rst
-index 7d1beb423c..d159ed2f76 100644
---- a/doc/board/anbernic/rgxx3.rst
-+++ b/doc/board/anbernic/rgxx3.rst
-@@ -5,6 +5,8 @@ U-Boot for Anbernic RGxx3 Devices
-
- This allows U-Boot to boot the following Anbernic devices:
-
-+ - Anbernic RG-ARC-D
-+ - Anbernic RG-ARC-S
- - Anbernic RG353M
- - Anbernic RG353P
- - Anbernic RG353PS
-@@ -12,18 +14,24 @@ This allows U-Boot to boot the following Anbernic devices:
- - Anbernic RG353VS
- - Anbernic RG503
-
-+Additionally, the following very similar non-Anbernic devices are also
-+supported:
-+
-+ - Powkiddy RGB30
-+ - Powkiddy RK2023
-+
- The correct device is detected automatically by comparing ADC values
- from ADC channel 1. In the event of an RG353V or RG353P, an attempt
- is then made to probe for an eMMC and if it fails the device is assumed
- to be an RG353VS or RG353PS. Based on the detected device, the
- environment variables "board", "board_name", and "fdtfile" are set to
- the correct values corresponding to the board which can be read by a
--boot script to boot with the correct device tree. If the board detected
--is not of type RG503 (which currently has only 1 panel revision) a
--panel detect is then performed by probing a "dummy" display on the DSI
--bus and then querying the display ID. The display ID is then compared
--to a table to get the known compatible string for use in Linux, and
--this string is saved as an environment variable of "panel".
-+boot script to boot with the correct device tree. If a board is defined
-+as requiring panel detection, a panel detect is then performed by
-+probing a "dummy" display on the DSI bus and then querying the display
-+ID. The display ID is then compared to a table to get the known
-+compatible string for use in Linux, and this string is saved as an
-+environment variable of "panel".
-
- FDT fixups are performed in the event of an RG353M to change the device
- name, or in the event the panel detected does not match the devicetree.
---
-2.34.1
diff --git a/projects/Rockchip/packages/u-boot/patches/RK3566/003-fix-dtb-and-vs.patch b/projects/Rockchip/packages/u-boot/patches/RK3566/003-fix-dtb-and-vs.patch
index 08d3f2b040..5073a95098 100644
--- a/projects/Rockchip/packages/u-boot/patches/RK3566/003-fix-dtb-and-vs.patch
+++ b/projects/Rockchip/packages/u-boot/patches/RK3566/003-fix-dtb-and-vs.patch
@@ -1,8 +1,8 @@
diff --git a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
-index 2445663d4..194605ff0 100644
+index d05502f67..98b3bc145 100644
--- a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
+++ b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c
-@@ -33,7 +33,7 @@
+@@ -32,7 +32,7 @@
#define GPIO_WRITEMASK(bits) ((bits) << 16)
@@ -11,21 +11,12 @@ index 2445663d4..194605ff0 100644
struct rg3xx_model {
const u16 adc_value;
-@@ -375,7 +375,7 @@ int rgxx3_detect_device(void)
- if (ret) {
- if (board_id == RG353V)
- board_id = RG353VS;
-- if (board_id == RG353P)
-+ else if (board_id == RG353P)
- board_id = RG353PS;
- else
- board_id = RGARCS;
diff --git a/configs/anbernic-rgxx3-rk3566_defconfig b/configs/anbernic-rgxx3-rk3566_defconfig
-index 4e72f7581..27911cc9f 100644
+index ed6643d9d..83e8358a0 100644
--- a/configs/anbernic-rgxx3-rk3566_defconfig
+++ b/configs/anbernic-rgxx3-rk3566_defconfig
-@@ -30,7 +30,7 @@ CONFIG_SPL_LOAD_FIT=y
- CONFIG_LEGACY_IMAGE_FORMAT=y
+@@ -27,7 +27,7 @@ CONFIG_FIT_VERBOSE=y
+ CONFIG_SPL_LOAD_FIT=y
CONFIG_OF_BOARD_SETUP=y
CONFIG_OF_STDOUT_VIA_ALIAS=y
-CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-anbernic-rgxx3.dtb"
diff --git a/scripts/build_distro b/scripts/build_distro
index dc8a2915b9..c540f9a592 100755
--- a/scripts/build_distro
+++ b/scripts/build_distro
@@ -96,7 +96,7 @@ then
echo "Clean: ${package}"
./scripts/clean ${package} 2>/dev/null ||:
done
- rm -rf build.${DISTRO}-${DEVICE_ROOT}.${ARCH}/.stamps/initramfs
+ rm -rf build.${DISTRO}-${DEVICE_ROOT}.${ARCH}/{.stamps/initramfs,initramfs}
fi
# Clean out old builds before starting the new one.