From f7b43f80e6ec9c95227b457a925810cf19bd41b9 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Sun, 17 Mar 2024 22:04:09 +0000 Subject: [PATCH 01/77] start rocknix --- .gitignore | 2 +- config/options | 2 +- packages/apps/jelos-gamepad/package.mk | 20 - .../patches/common/000-jelos-gamepad.patch | 56 - .../system.d/jelos_gamepad.service | 9 - .../udev.d/99-JELOS-not-joysticks.rules | 1 - packages/rocknix/autostart/001-setup | 41 + packages/rocknix/autostart/002-kernel | 14 + packages/rocknix/autostart/003-upgrade | 18 + packages/rocknix/autostart/006-display | 36 + packages/rocknix/autostart/007-rootpw | 27 + packages/rocknix/autostart/008-perfmode | 41 + packages/rocknix/autostart/009-sleepmode | 17 + packages/rocknix/autostart/010-uimode | 26 + packages/rocknix/autostart/050-audio | 46 + packages/rocknix/autostart/055-hdmi-check | 29 + packages/rocknix/autostart/080-network | 17 + packages/rocknix/autostart/081-usbgadget | 10 + .../rocknix/autostart/099-networkservices | 42 + .../rocknix/config/system/configs/system.cfg | 219 ++++ packages/rocknix/config/system/configs/tz | 593 +++++++++ packages/rocknix/package.mk | 96 ++ packages/rocknix/profile.d/001-functions | 206 +++ .../rocknix/profile.d/020-audio_latency.conf | 9 + packages/rocknix/profile.d/099-freqfunctions | 118 ++ packages/rocknix/sources/issue | 7 + packages/rocknix/sources/post-update | 96 ++ packages/rocknix/sources/scripts/amionline | 20 + packages/rocknix/sources/scripts/automount | 227 ++++ packages/rocknix/sources/scripts/backuptool | 69 + .../sources/scripts/batocera-bluetooth | 110 ++ .../sources/scripts/batocera-bluetooth-agent | 461 +++++++ .../rocknix/sources/scripts/batocera-config | 297 +++++ .../rocknix/sources/scripts/batocera-info | 1 + .../sources/scripts/batocera-resolution | 18 + .../scripts/batocera-retroachievements-info | 104 ++ .../rocknix/sources/scripts/batocera-scraper | 79 ++ .../rocknix/sources/scripts/batocera-settings | 267 ++++ .../rocknix/sources/scripts/batocera-systems | 612 +++++++++ packages/rocknix/sources/scripts/benchmark | 112 ++ packages/rocknix/sources/scripts/bezels.sh | 217 ++++ packages/rocknix/sources/scripts/brightness | 90 ++ packages/rocknix/sources/scripts/chksysconfig | 39 + .../rocknix/sources/scripts/cleanup_overlay | 11 + packages/rocknix/sources/scripts/error.sh | 19 + packages/rocknix/sources/scripts/factoryreset | 39 + packages/rocknix/sources/scripts/find.sh | 6 + packages/rocknix/sources/scripts/getfilters | 11 + packages/rocknix/sources/scripts/getoverlays | 12 + packages/rocknix/sources/scripts/getshaders | 23 + packages/rocknix/sources/scripts/jelos-info | 140 +++ packages/rocknix/sources/scripts/led_flash | 42 + packages/rocknix/sources/scripts/migrate_roms | 36 + packages/rocknix/sources/scripts/paneladj | 104 ++ packages/rocknix/sources/scripts/run | 35 + packages/rocknix/sources/scripts/runemu.sh | 461 +++++++ packages/rocknix/sources/scripts/say | 22 + packages/rocknix/sources/scripts/setemu.sh | 30 + packages/rocknix/sources/scripts/setrootpass | 44 + .../rocknix/sources/scripts/setsettings.sh | 1109 +++++++++++++++++ .../rocknix/sources/scripts/show_changelog | 32 + packages/rocknix/sources/scripts/suspendmode | 55 + .../rocknix/sources/scripts/system-upgrade | 166 +++ packages/rocknix/sources/scripts/timeinfo | 22 + packages/rocknix/sources/scripts/toggle-ipv6 | 16 + packages/rocknix/sources/scripts/updatecheck | 55 + packages/rocknix/sources/scripts/usbgadget | 113 ++ packages/rocknix/sources/scripts/volume | 40 + packages/rocknix/sources/scripts/wifictl | 220 ++++ .../rocknix/system.d/bluetooth-agent.service | 11 + .../rocknix/system.d/jelos-automount.service | 14 + packages/rocknix/system.d/jelos.target | 9 + .../rocknix/system.d/save-sysconfig.service | 12 + packages/virtual/image/package.mk | 2 +- scripts/build_distro | 2 +- 75 files changed, 7344 insertions(+), 90 deletions(-) delete mode 100644 packages/apps/jelos-gamepad/package.mk delete mode 100644 packages/apps/jelos-gamepad/patches/common/000-jelos-gamepad.patch delete mode 100644 packages/apps/jelos-gamepad/system.d/jelos_gamepad.service delete mode 100644 packages/apps/jelos-gamepad/udev.d/99-JELOS-not-joysticks.rules create mode 100755 packages/rocknix/autostart/001-setup create mode 100755 packages/rocknix/autostart/002-kernel create mode 100755 packages/rocknix/autostart/003-upgrade create mode 100755 packages/rocknix/autostart/006-display create mode 100755 packages/rocknix/autostart/007-rootpw create mode 100755 packages/rocknix/autostart/008-perfmode create mode 100755 packages/rocknix/autostart/009-sleepmode create mode 100755 packages/rocknix/autostart/010-uimode create mode 100755 packages/rocknix/autostart/050-audio create mode 100755 packages/rocknix/autostart/055-hdmi-check create mode 100755 packages/rocknix/autostart/080-network create mode 100755 packages/rocknix/autostart/081-usbgadget create mode 100755 packages/rocknix/autostart/099-networkservices create mode 100644 packages/rocknix/config/system/configs/system.cfg create mode 100644 packages/rocknix/config/system/configs/tz create mode 100644 packages/rocknix/package.mk create mode 100644 packages/rocknix/profile.d/001-functions create mode 100644 packages/rocknix/profile.d/020-audio_latency.conf create mode 100644 packages/rocknix/profile.d/099-freqfunctions create mode 100644 packages/rocknix/sources/issue create mode 100644 packages/rocknix/sources/post-update create mode 100755 packages/rocknix/sources/scripts/amionline create mode 100755 packages/rocknix/sources/scripts/automount create mode 100755 packages/rocknix/sources/scripts/backuptool create mode 100755 packages/rocknix/sources/scripts/batocera-bluetooth create mode 100755 packages/rocknix/sources/scripts/batocera-bluetooth-agent create mode 100755 packages/rocknix/sources/scripts/batocera-config create mode 120000 packages/rocknix/sources/scripts/batocera-info create mode 100755 packages/rocknix/sources/scripts/batocera-resolution create mode 100755 packages/rocknix/sources/scripts/batocera-retroachievements-info create mode 100755 packages/rocknix/sources/scripts/batocera-scraper create mode 100755 packages/rocknix/sources/scripts/batocera-settings create mode 100755 packages/rocknix/sources/scripts/batocera-systems create mode 100755 packages/rocknix/sources/scripts/benchmark create mode 100755 packages/rocknix/sources/scripts/bezels.sh create mode 100755 packages/rocknix/sources/scripts/brightness create mode 100755 packages/rocknix/sources/scripts/chksysconfig create mode 100755 packages/rocknix/sources/scripts/cleanup_overlay create mode 100755 packages/rocknix/sources/scripts/error.sh create mode 100755 packages/rocknix/sources/scripts/factoryreset create mode 100755 packages/rocknix/sources/scripts/find.sh create mode 100755 packages/rocknix/sources/scripts/getfilters create mode 100755 packages/rocknix/sources/scripts/getoverlays create mode 100755 packages/rocknix/sources/scripts/getshaders create mode 100755 packages/rocknix/sources/scripts/jelos-info create mode 100755 packages/rocknix/sources/scripts/led_flash create mode 100644 packages/rocknix/sources/scripts/migrate_roms create mode 100755 packages/rocknix/sources/scripts/paneladj create mode 100755 packages/rocknix/sources/scripts/run create mode 100755 packages/rocknix/sources/scripts/runemu.sh create mode 100755 packages/rocknix/sources/scripts/say create mode 100755 packages/rocknix/sources/scripts/setemu.sh create mode 100755 packages/rocknix/sources/scripts/setrootpass create mode 100755 packages/rocknix/sources/scripts/setsettings.sh create mode 100755 packages/rocknix/sources/scripts/show_changelog create mode 100755 packages/rocknix/sources/scripts/suspendmode create mode 100755 packages/rocknix/sources/scripts/system-upgrade create mode 100755 packages/rocknix/sources/scripts/timeinfo create mode 100755 packages/rocknix/sources/scripts/toggle-ipv6 create mode 100755 packages/rocknix/sources/scripts/updatecheck create mode 100755 packages/rocknix/sources/scripts/usbgadget create mode 100755 packages/rocknix/sources/scripts/volume create mode 100755 packages/rocknix/sources/scripts/wifictl create mode 100644 packages/rocknix/system.d/bluetooth-agent.service create mode 100644 packages/rocknix/system.d/jelos-automount.service create mode 100644 packages/rocknix/system.d/jelos.target create mode 100644 packages/rocknix/system.d/save-sysconfig.service diff --git a/.gitignore b/.gitignore index 36d6e52ea..da01a0ca9 100644 --- a/.gitignore +++ b/.gitignore @@ -17,7 +17,7 @@ /target/ # options -.jelos +.rocknix # private working directory /.work/ diff --git a/config/options b/config/options index 1d10db766..12ff7b50e 100644 --- a/config/options +++ b/config/options @@ -22,7 +22,7 @@ DISTRO_DIR="${ROOT}/distributions" PROJECT_DIR="${ROOT}/projects" # determines DISTRO, if not forced by user -DISTRO="${DISTRO:-JELOS}" +DISTRO="${DISTRO:-ROCKNIX}" # determines PROJECT, if not forced by user PROJECT="${PROJECT:-PC}" diff --git a/packages/apps/jelos-gamepad/package.mk b/packages/apps/jelos-gamepad/package.mk deleted file mode 100644 index ae095c926..000000000 --- a/packages/apps/jelos-gamepad/package.mk +++ /dev/null @@ -1,20 +0,0 @@ -PKG_NAME="jelos-gamepad" -PKG_VERSION="b1fc0fb69047011d99b54029be500280d33a8027" -PKG_ARCH="aarch64" -PKG_LICENSE="GPLv3" -PKG_SITE="https://github.com/R-ARM/rinputer2" -PKG_URL="$PKG_SITE.git" -PKG_DEPENDS_TARGET="toolchain" -PKG_TOOLCHAIN="make" -GET_HANDLER_SUPPORT="git" -PKG_PATCH_DIRS+=" common" - -makeinstall_target() { - mkdir -p $INSTALL/usr/bin - cp rinputer2 ${INSTALL}/usr/bin/jelos_gamepad - chmod 0755 ${INSTALL}/usr/bin/jelos_gamepad -} - -post_install() { - enable_service jelos_gamepad.service -} diff --git a/packages/apps/jelos-gamepad/patches/common/000-jelos-gamepad.patch b/packages/apps/jelos-gamepad/patches/common/000-jelos-gamepad.patch deleted file mode 100644 index 30f9cea1e..000000000 --- a/packages/apps/jelos-gamepad/patches/common/000-jelos-gamepad.patch +++ /dev/null @@ -1,56 +0,0 @@ -diff -rupN rinputer2.orig/main.c rinputer2/main.c ---- rinputer2.orig/main.c 2023-11-23 04:47:16.344733862 +0000 -+++ rinputer2/main.c 2023-11-23 15:00:20.535535759 +0000 -@@ -240,7 +240,7 @@ int rescan_devices(struct rinputer_devic - continue; - - // let's not make a loop -- if(strncmp("Rinputer", name, 8) == 0) -+ if(strncmp("JELOS Gamepad", name, 8) == 0) - continue; - // ignore steam-created controllers - // they have this name, with a digit at the end -@@ -316,10 +316,10 @@ int main(void) - - ioctl(outfd, UI_SET_EVBIT, EV_KEY); - -- //ioctl(outfd, UI_SET_KEYBIT, BTN_DPAD_UP); // dpad up -- //ioctl(outfd, UI_SET_KEYBIT, BTN_DPAD_DOWN); // dpad down -- //ioctl(outfd, UI_SET_KEYBIT, BTN_DPAD_LEFT); // dpad left -- //ioctl(outfd, UI_SET_KEYBIT, BTN_DPAD_RIGHT); // dpad right -+ ioctl(outfd, UI_SET_KEYBIT, BTN_DPAD_UP); // dpad up -+ ioctl(outfd, UI_SET_KEYBIT, BTN_DPAD_DOWN); // dpad down -+ ioctl(outfd, UI_SET_KEYBIT, BTN_DPAD_LEFT); // dpad left -+ ioctl(outfd, UI_SET_KEYBIT, BTN_DPAD_RIGHT); // dpad right - - ioctl(outfd, UI_SET_KEYBIT, BTN_NORTH); // x - ioctl(outfd, UI_SET_KEYBIT, BTN_SOUTH); // b -@@ -332,6 +332,9 @@ int main(void) - ioctl(outfd, UI_SET_KEYBIT, BTN_TR2); // L2 - ioctl(outfd, UI_SET_KEYBIT, BTN_TL2); // R2 - -+ ioctl(outfd, UI_SET_KEYBIT, BTN_THUMBL); // L3 -+ ioctl(outfd, UI_SET_KEYBIT, BTN_THUMBR); // R3 -+ - ioctl(outfd, UI_SET_KEYBIT, BTN_SELECT); - ioctl(outfd, UI_SET_KEYBIT, BTN_START); - -@@ -350,15 +353,15 @@ int main(void) - setup_abs(outfd, ABS_RZ); - - // dpad -- setup_abs(outfd, ABS_HAT0X); -- setup_abs(outfd, ABS_HAT0Y); -+ //setup_abs(outfd, ABS_HAT0X); -+ //setup_abs(outfd, ABS_HAT0Y); - - // maybe we should pretend to be xbox gamepad? - memset(&usetup, 0, sizeof(usetup)); - usetup.id.bustype = BUS_USB; - usetup.id.vendor = 0x1234; - usetup.id.product = 0x5678; -- strcpy(usetup.name, "Rinputer"); -+ strcpy(usetup.name, "JELOS Gamepad"); - - ioctl(outfd, UI_DEV_SETUP, &usetup); - ioctl(outfd, UI_DEV_CREATE); diff --git a/packages/apps/jelos-gamepad/system.d/jelos_gamepad.service b/packages/apps/jelos-gamepad/system.d/jelos_gamepad.service deleted file mode 100644 index d5b6152cd..000000000 --- a/packages/apps/jelos-gamepad/system.d/jelos_gamepad.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Ragnarok Input Daemon - -[Service] -Type=simple -ExecStart=/usr/bin/jelos_gamepad - -[Install] -WantedBy=multi-user.target 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 deleted file mode 100644 index 32d4bcb1a..000000000 --- a/packages/apps/jelos-gamepad/udev.d/99-JELOS-not-joysticks.rules +++ /dev/null @@ -1 +0,0 @@ -SUBSYSTEM=="input", ATTRS{name}=="gpio-keys-control", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}="" diff --git a/packages/rocknix/autostart/001-setup b/packages/rocknix/autostart/001-setup new file mode 100755 index 000000000..1c373c792 --- /dev/null +++ b/packages/rocknix/autostart/001-setup @@ -0,0 +1,41 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +if [ -d "/storage/cache/.cores" ] +then + rm -rf /storage/cache/.cores +fi + +if [ ! -d "/tmp/cache" ] +then + mkdir -p /tmp/cache +fi + +ln -sf /tmp/cache /storage/cache/.cores + +if [ ! -d "/storage/.config/profile.d" ] +then + mkdir -p /storage/.config/profile.d +fi + +### Inspect the system config and revert +### to last known good state if corrupt. +/usr/bin/chksysconfig verify + +### Clean up settings +sort_settings + +### We do not want to mount the cloud drive on startup +### so we'll reset the mount option to 0. +set_setting clouddrive.mounted 0 + +### Set up the runtime directory. +if [ ! -d "/var/run/0-runtime-dir" ] +then + mkdir -p /var/run/0-runtime-dir +fi + +chmod 0700 /var/run/0-runtime-dir diff --git a/packages/rocknix/autostart/002-kernel b/packages/rocknix/autostart/002-kernel new file mode 100755 index 000000000..e0243f504 --- /dev/null +++ b/packages/rocknix/autostart/002-kernel @@ -0,0 +1,14 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +# Minimal OS variable loading for performance +. /etc/profile.d/001-functions + +tocon "Applying kernel parameters..." +sysctl vm.swappiness=1 +sysctl kernel.nmi_watchdog=0 +sysctl vm.laptop_mode=5 +sysctl vm.dirty_writeback_centisecs=1500 + +toggle-ipv6 diff --git a/packages/rocknix/autostart/003-upgrade b/packages/rocknix/autostart/003-upgrade new file mode 100755 index 000000000..5021e7c28 --- /dev/null +++ b/packages/rocknix/autostart/003-upgrade @@ -0,0 +1,18 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +# Minimal OS variable loading for performance +. /etc/profile.d/001-functions + +if [ "$(cat /storage/.boot.hint 2>/dev/null)" = "UPDATE" ] +then + if [ -e "/usr/share/post-update" ] + then + tocon "Performing post-update configuration..." + /usr/share/post-update >/var/log/upgrade.log 2>&1 + fi + rm /storage/.boot.hint +else + echo "No update hint found." >/var/log/upgrade.log 2>&1 +fi diff --git a/packages/rocknix/autostart/006-display b/packages/rocknix/autostart/006-display new file mode 100755 index 000000000..bd0a4a5f9 --- /dev/null +++ b/packages/rocknix/autostart/006-display @@ -0,0 +1,36 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +# Minimal OS variable loading for performance +. /etc/profile.d/001-functions + +tocon "Configuring display..." + +### Variables may need to be device specific here. +BRIGHTNESS=$(get_setting system.brightness) +if [[ -z ${BRIGHTNESS} ]] +then + BRIGHTNESS="6" +fi + +# Ensure user doesn't get "locked out" with super low brightness +if [[ "${BRIGHTNESS}" = "0" ]] +then + BRIGHTNESS=1 +fi + +brightness set ${BRIGHTNESS} + +### Set the aspect ratio in ES. +ASPECT=$(get_aspect_ratio) + +ES_CONFIG="/storage/.config/emulationstation/es_settings.cfg" +ES_ASPECT="${ASPECT/:/-}" +if [ "$(grep subset.aspect-ratio ${ES_CONFIG})" ] +then + sed -i 's||g' ${ES_CONFIG} +else + sed -i '/<\/config>/i \\t' ${ES_CONFIG} +fi + diff --git a/packages/rocknix/autostart/007-rootpw b/packages/rocknix/autostart/007-rootpw new file mode 100755 index 000000000..f6a6343a7 --- /dev/null +++ b/packages/rocknix/autostart/007-rootpw @@ -0,0 +1,27 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +# Minimal OS variable loading for performance +. /etc/profile.d/001-functions + +tocon "Setting root password..." + +if [ ! -d "/storage/.cache/samba" ] +then + mkdir -p /storage/.cache/samba + touch /storage/.cache/samba/smbpasswd +fi + +ROTATION=$(get_setting rotate.root.password) +if [ "${ROTATION}" == "0" ] +then + ROOTPASS=$(get_setting root.password) + setrootpass "${ROOTPASS}" + exit 0 +fi + +# Randomly generate the root password on startup +ROOTPASS=$(openssl rand -base64 10 2>/dev/null | sed "s#==##g") + +/usr/bin/setrootpass "${ROOTPASS}" diff --git a/packages/rocknix/autostart/008-perfmode b/packages/rocknix/autostart/008-perfmode new file mode 100755 index 000000000..f6e88167f --- /dev/null +++ b/packages/rocknix/autostart/008-perfmode @@ -0,0 +1,41 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +# Minimal OS variable loading for performance +. /etc/profile.d/001-functions +. /etc/profile.d/030-powerfunctions +. /etc/profile.d/099-freqfunctions + +tocon "Setting performance mode..." + +### Enable the desired number of threads. +tocon "Restoring cpu threads..." +NUMTHREADS=$(get_setting "system.threads") +if [ -n "${NUMTHREADS}" ] +then + onlinethreads ${NUMTHREADS} 0 +else + onlinethreads all 1 +fi + +### If we don't have a default governor set, set it +### to schedutil if the device supports it, otherwise +### set to performance, but don't enable it. +if [ -z "$(get_setting system.cpugovernor)" ] +then + GOVTEST="$(awk '/schedutil/ {print $1}' /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors)" + if [ -n "${GOVTEST}" ] + then + set_setting system.cpugovernor schedutil + else + set_setting system.cpugovernor performance + fi +fi + +### Set the default GPU performance mode +GPUPERF=$(get_setting system.gpuperf) +if [ -n "${GPUPERF}" ] +then + gpu_performance_level ${GPUPERF} +fi diff --git a/packages/rocknix/autostart/009-sleepmode b/packages/rocknix/autostart/009-sleepmode new file mode 100755 index 000000000..74482f941 --- /dev/null +++ b/packages/rocknix/autostart/009-sleepmode @@ -0,0 +1,17 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +# Minimal OS variable loading for performance +. /etc/profile.d/001-functions + +tocon "Configure suspend mode..." + +### Configure suspend mode. +MYSLEEPMODE=$(get_setting system.suspendmode) +if [ -n "${MYSLEEPMODE}" ] +then + /usr/bin/suspendmode ${MYSLEEPMODE} +else + /usr/bin/suspendmode mem +fi diff --git a/packages/rocknix/autostart/010-uimode b/packages/rocknix/autostart/010-uimode new file mode 100755 index 000000000..9e9187d67 --- /dev/null +++ b/packages/rocknix/autostart/010-uimode @@ -0,0 +1,26 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +# Minimal OS variable loading for performance +. /etc/profile.d/001-functions + +tocon "Configuring user interface..." + +UIMODE=$(get_setting desktop.enabled) +if [ "${UIMODE}" = "1" ] || \ + [ ! -e "/usr/bin/emulationstation" ] +then + cp -f /usr/share/weston/weston.ini /storage/.config/weston.ini +else + cp -f /usr/share/weston/kiosk.ini /storage/.config/weston.ini +fi + +STARTUP=$(get_setting weston.startup) +if [ -z "${STARTUP}" ] && \ + [ -e "/usr/bin/emulationstation" ] +then + STARTUP="/usr/bin/start_es.sh" + set_setting weston.startup "${STARTUP}" +fi +sed -i "s#@STARTUP@#${STARTUP}#g" /storage/.config/weston.ini diff --git a/packages/rocknix/autostart/050-audio b/packages/rocknix/autostart/050-audio new file mode 100755 index 000000000..c9bd0ff9e --- /dev/null +++ b/packages/rocknix/autostart/050-audio @@ -0,0 +1,46 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +tocon "Configuring Audio..." + +STATE=$(systemctl isactive pipewire-pulse) +if [ "${STATE}" = "inactive" ] +then + systemctl start pipewire-pulse +fi + +### Auto switch between internal and bluetooth devices +pactl load-module module-switch-on-connect 2>/dev/null + +### Set up audio routing (Internal or HDMI) +/usr/bin/hdmi_sense 2>/dev/null + +### Set the default audio path, needed for some devices +if [ ! -z "${DEVICE_PLAYBACK_PATH_SPK}" ] +then + if [ -z "${DEVICE_PLAYBACK_PATH}" ] + then + export DEVICE_PLAYBACK_PATH="Playback Path" + fi + amixer -c 0 cset name="${DEVICE_PLAYBACK_PATH}" ${DEVICE_PLAYBACK_PATH_SPK} 2>/dev/null +fi + +VOLUME=$(get_setting audio.volume) +if [ -z ${VOLUME} ] +then + VOLUME="60" +elif [ -n "${DEVICE_VOLUME}" ] +then + VOLUME="${DEVICE_VOLUME}" +fi + +### Set the primary card volume to 100% +### to eliminate low audio on some devices. +amixer -c 0 -q sset "Master" 100% + +### Now set the pipewire mixer volume +/usr/bin/volume ${VOLUME} + diff --git a/packages/rocknix/autostart/055-hdmi-check b/packages/rocknix/autostart/055-hdmi-check new file mode 100755 index 000000000..9bb3362b5 --- /dev/null +++ b/packages/rocknix/autostart/055-hdmi-check @@ -0,0 +1,29 @@ +#!/bin/bash +# SPDX-License-Identifier: MIT +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) +# Copyright (C) 2023-present christianhaitian (https://github.com/christianhaitian) +# Copyright (C) 2023-present Rocky5 (https://github.com/rocky5) + +# The purpose of this script is to permanently set the resolution +# output for hdmi when connected. + +xres="$(cat /sys/class/graphics/fb0/modes | grep -o -P '(?<=:).*(?=p-)' | cut -dx -f1)" + +# drm_tool source available at https://github.com/christianhaitian/drm_tool.git + +mode="$(/usr/bin/drm_tool list | awk '/1280x720.*60/ {print substr($2,1,length($2)-1); exit}')" +mode2="$(/usr/bin/drm_tool list | awk '/1920x1080.*60/ {print substr($2,1,length($2)-1); exit}')" + +# Now we tell drm what the hdmi mode is by writing to /var/run/drmMode +# This will get picked up by SDL2 as long as it's been patched with the batocera +# drm resolution patch. This patch can be found at +# https://github.com/christianhaitian/rk3566_core_builds/raw/master/patches/sdl2-patch-0003-drm-resolution.patch + +if [ $xres -eq "1280" ]; then + echo $mode | tee /var/run/drmMode +elif [ $xres -eq "1920" ]; then + echo $mode2 | tee /var/run/drmConn +else + echo 0 | tee /var/run/drmMode + echo 1 | tee /var/run/drmConn +fi diff --git a/packages/rocknix/autostart/080-network b/packages/rocknix/autostart/080-network new file mode 100755 index 000000000..213ef26cd --- /dev/null +++ b/packages/rocknix/autostart/080-network @@ -0,0 +1,17 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +# Minimal OS variable loading for performance +. /etc/profile.d/001-functions + +tocon "Configuring network..." + +if [ "$(get_setting network.enabled)" == "0" ] || [ "$1" == "disable" ] +then + nohup wifictl disable & +elif [ "$(get_setting network.enabled)" == "1" ] || [ "$1" == "enable" ] +then + nohup wifictl enable & +fi + diff --git a/packages/rocknix/autostart/081-usbgadget b/packages/rocknix/autostart/081-usbgadget new file mode 100755 index 000000000..068696eab --- /dev/null +++ b/packages/rocknix/autostart/081-usbgadget @@ -0,0 +1,10 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +if [ -r /storage/.cache/usbgadget/usbgadget.conf ] ; then + USB_MODE=$(cat /storage/.cache/usbgadget/usbgadget.conf | cut -d "=" -f2) + if [ "${USB_MODE}" = cdc ] || [ "${USB_MODE}" = mtp ]; then + /usr/bin/usbgadget start $USB_MODE + fi +fi diff --git a/packages/rocknix/autostart/099-networkservices b/packages/rocknix/autostart/099-networkservices new file mode 100755 index 000000000..7b605c649 --- /dev/null +++ b/packages/rocknix/autostart/099-networkservices @@ -0,0 +1,42 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +# Minimal OS variable loading for performance +. /etc/profile.d/001-functions + +tocon "Starting services..." + +for SERVICE in /usr/lib/autostart/daemons/* +do + source ${SERVICE} + + + if [ ! -d "/storage/.cache/services" ] + then + mkdir -p "/storage/.cache/services" + fi + + if [ -n "${CONF}" ] && \ + [ -e "/storage/.cache/services/${CONF}" ] + then + rm -f "/storage/.cache/services/${CONF}" + fi + + statemgr() { + for daemon in ${DAEMONS[@]} + do + nohup systemctl ${1} ${daemon} & + done + } + + case "$STATE" in + "1") + touch "/storage/.cache/services/${CONF}" + statemgr start + ;; + *) + statemgr stop + ;; + esac +done diff --git a/packages/rocknix/config/system/configs/system.cfg b/packages/rocknix/config/system/configs/system.cfg new file mode 100644 index 000000000..ec6190c13 --- /dev/null +++ b/packages/rocknix/config/system/configs/system.cfg @@ -0,0 +1,219 @@ +3do.integerscale=0 +3do.ratio=4/3 +advmame_auto_gamepad=0 +amigacd32.integerscale=0 +amigacd32.ratio=4/3 +amiga.integerscale=0 +amiga.ratio=4/3 +amstradcpc.integerscale=0 +arcade.autosave=0 +atari2600.integerscale=0 +atari5200.integerscale=0 +atari7800.integerscale=0 +atari800.integerscale=0 +atarilynx.integerscale=0 +atarilynx.ratio=core +atarist.integerscale=0 +atomiswave.integerscale=0 +atomiswave.ratio=4/3 +audio.bgmusic=1 +audio.device=headphone +audio.display_titles=1 +audio.persystem=0 +audio.preamp=50 +audio.volume=60 +bluetooth.enabled=0 +boot=Emulationstation +c128.integerscale=0 +c16.integerscale=0 +c64.integerscale=0 +cdi.integerscale=0 +cdi.ratio=4/3 +chip-8.integerscale=0 +cloud.backup=0 +colecovision.integerscale=0 +colecovision.ratio=4/3 +cooling.profile=quiet +cps1.integerscale=0 +cps2.integerscale=0 +cps3.integerscale=0 +daphne.integerscale=0 +daphne.ratio=4/3 +desktop.enabled=0 +display.brightness=50 +display.contrast=50 +display.hue=50 +display.saturation=50 +dreamcast.integerscale=0 +dreamcast.ratio=4/3 +easyrpg.integerscale=0 +famicom.integerscale=0 +famicom.ratio=4/3 +fbn.integerscale=0 +fbn.ratio=core +fds.integerscale=0 +fds.ratio=4/3 +fstrim.enabled=0 +gamegear.integerscale=0 +gbah.ratio=3/2 +gba.ratio=3/2 +gbch.integerscale=0 +gbc.integerscale=0 +gbh.integerscale=0 +gb.integerscale=0 +genesis.integerscale=0 +genesis.ratio=4/3 +genh.integerscale=0 +genh.ratio=4/3 +ggh.integerscale=0 +global.analogue=1 +global.audiolatency=32 +global.autosave=2 +global.incrementalsavestates=0 +global.maxincrementalsaves=0 +global.netplay=0 +global.netplay.port=55435 +global.netplay.relay=none +global.ratio=core +global.retroachievements=0 +global.retroachievements.challengeindicators=0 +global.retroachievements.hardcore=0 +global.retroachievements.leaderboards=disabled +global.retroachievements.password= +global.retroachievements.richpresence=0 +global.retroachievements.screenshot=0 +global.retroachievements.soundenable=0 +global.retroachievements.testunofficial=0 +global.retroachievements.username= +global.retroachievements.verbose=0 +global.retroarch.menu_driver=ozone +global.rewind=0 +global.runahead=0 +global.secondinstance=0 +intellivision.integerscale=0 +intellivision.ratio=4/3 +ipv6.enabled=0 +mame.autosave=0 +mame.integerscale=0 +mastersystem.integerscale=0 +megacd.integerscale=0 +megacd.ratio=4/3 +megadrive.integerscale=0 +megadrive-japan.integerscale=0 +megadrive-japan.ratio=4/3 +megadrive.ratio=4/3 +megaduck.integerscale=0 +moto.integerscale=0 +moto.ratio=4/3 +msx2.integerscale=0 +msx2.ratio=4/3 +msx.integerscale=0 +msx.ratio=4/3 +n64.controller_pak=2 +n64.game_aspect_ratio=4:3 +n64.input_configuration=zlswap +n64.integerscale=0 +n64.internal_resolution=1 +n64.parallel_n64_gamespeed=fullspeed +n64.parallel_n64_gfx_accuracy=medium +n64.parallel_n64_internal_resolution=480p +n64.parallel_n64_video_core=glide64 +n64.ratio=4/3 +n64.rsp_plugin=hle +n64.show_fps=0 +naomi.integerscale=0 +naomi.ratio=4/3 +neocd.integerscale=0 +neocd.ratio=core +neogeo.integerscale=0 +neogeo.ratio=core +nesh.integerscale=0 +nesh.ratio=4/3 +nes.integerscale=0 +nes.ratio=4/3 +network.enabled=0 +ngpc.intergerscale=1 +ngp.integerscale=0 +odyssey2.integerscale=0 +odyssey2.ratio=4/3 +pc-9800.integerscale=0 +pc-9800.ratio=4/3 +pcenginecd.integerscale=0 +pcenginecd.ratio=4/3 +pcengine.integerscale=0 +pcengine.ratio=4/3 +pcfx.integerscale=0 +pcfx.ratio=4/3 +pc.integerscale=0 +pc.ratio=4/3 +pet.ratio=4/3 +pokemini.ratio=3/2 +psx.integerscale=0 +psx.ratio=4/3 +rotate.root.password=1 +samba.enabled=0 +saturn.integerscale=0 +saturn.ratio=4/3 +scv.integerscale=0 +scv.ratio=4/3 +sega32x.integerscale=0 +sega32x.ratio=4/3 +segacd.integerscale=0 +segacd.ratio=4/3 +sfc.integerscale=0 +sfc.ratio=4/3 +sg-1000.integerscale=0 +simplehttp.enabled=0 +snesh.integerscale=0 +snesh.ratio=4/3 +snes.integerscale=0 +snesmsu1.integerscale=0 +snesmsu1.ratio=4/3 +snes.ratio=4/3 +splash.enabled=0 +ssh.enabled=0 +supergrafx.integerscale=0 +supergrafx.ratio=4/3 +supervision.integerscale=0 +syncthing.enabled=0 +system.autohotkeys=1 +system.automount=1 +system.battery.warning=0 +system.hostname=@DEVICENAME@ +system.language=en_US +system.loglevel=none +system.power.audio=1 +system.merged.storage=0 +system.power.cpu=1 +system.power.pcie=0 +system.power.rtpm=0 +system.powersave=0 +system.power.wifi=0 +system.timezone=America/New_York +tg16cd.integerscale=0 +tg16cd.ratio=4/3 +tg16.integerscale=0 +tg16.ratio=4/3 +updates.branch=stable +updates.enabled=1 +updates.force=0 +uzebox.integerscale=0 +uzebox.integerscale=0 +vectrex.integerscale=0 +vectrex.ratio=3/4 +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 +wonderswan.integerscale=0 +wts.enabled=1 +x68000.integerscale=0 +x68000.ratio=4/3 +zx81.integerscale=0 +zx81.ratio=4/3 +zxspectrum.integerscale=0 +zxspectrum.ratio=4/3 diff --git a/packages/rocknix/config/system/configs/tz b/packages/rocknix/config/system/configs/tz new file mode 100644 index 000000000..fe39d982c --- /dev/null +++ b/packages/rocknix/config/system/configs/tz @@ -0,0 +1,593 @@ +Africa/Abidjan +Africa/Accra +Africa/Addis_Ababa +Africa/Algiers +Africa/Asmara +Africa/Asmera +Africa/Bamako +Africa/Bangui +Africa/Banjul +Africa/Bissau +Africa/Blantyre +Africa/Brazzaville +Africa/Bujumbura +Africa/Cairo +Africa/Casablanca +Africa/Ceuta +Africa/Conakry +Africa/Dakar +Africa/Dar_es_Salaam +Africa/Djibouti +Africa/Douala +Africa/El_Aaiun +Africa/Freetown +Africa/Gaborone +Africa/Harare +Africa/Johannesburg +Africa/Juba +Africa/Kampala +Africa/Khartoum +Africa/Kigali +Africa/Kinshasa +Africa/Lagos +Africa/Libreville +Africa/Lome +Africa/Luanda +Africa/Lubumbashi +Africa/Lusaka +Africa/Malabo +Africa/Maputo +Africa/Maseru +Africa/Mbabane +Africa/Mogadishu +Africa/Monrovia +Africa/Nairobi +Africa/Ndjamena +Africa/Niamey +Africa/Nouakchott +Africa/Ouagadougou +Africa/Porto-Novo +Africa/Sao_Tome +Africa/Timbuktu +Africa/Tripoli +Africa/Tunis +Africa/Windhoek +America/Adak +America/Anchorage +America/Anguilla +America/Antigua +America/Araguaina +America/Argentina/Buenos_Aires +America/Argentina/Catamarca +America/Argentina/ComodRivadavia +America/Argentina/Cordoba +America/Argentina/Jujuy +America/Argentina/La_Rioja +America/Argentina/Mendoza +America/Argentina/Rio_Gallegos +America/Argentina/Salta +America/Argentina/San_Juan +America/Argentina/San_Luis +America/Argentina/Tucuman +America/Argentina/Ushuaia +America/Aruba +America/Asuncion +America/Atikokan +America/Atka +America/Bahia +America/Bahia_Banderas +America/Barbados +America/Belem +America/Belize +America/Blanc-Sablon +America/Boa_Vista +America/Bogota +America/Boise +America/Buenos_Aires +America/Cambridge_Bay +America/Campo_Grande +America/Cancun +America/Caracas +America/Catamarca +America/Cayenne +America/Cayman +America/Chicago +America/Chihuahua +America/Coral_Harbour +America/Cordoba +America/Costa_Rica +America/Creston +America/Cuiaba +America/Curacao +America/Danmarkshavn +America/Dawson +America/Dawson_Creek +America/Denver +America/Detroit +America/Dominica +America/Edmonton +America/Eirunepe +America/El_Salvador +America/Ensenada +America/Fort_Nelson +America/Fort_Wayne +America/Fortaleza +America/Glace_Bay +America/Godthab +America/Goose_Bay +America/Grand_Turk +America/Grenada +America/Guadeloupe +America/Guatemala +America/Guayaquil +America/Guyana +America/Halifax +America/Havana +America/Hermosillo +America/Indiana/Indianapolis +America/Indiana/Knox +America/Indiana/Marengo +America/Indiana/Petersburg +America/Indiana/Tell_City +America/Indiana/Vevay +America/Indiana/Vincennes +America/Indiana/Winamac +America/Indianapolis +America/Inuvik +America/Iqaluit +America/Jamaica +America/Jujuy +America/Juneau +America/Kentucky/Louisville +America/Kentucky/Monticello +America/Knox_IN +America/Kralendijk +America/La_Paz +America/Lima +America/Los_Angeles +America/Louisville +America/Lower_Princes +America/Maceio +America/Managua +America/Manaus +America/Marigot +America/Martinique +America/Matamoros +America/Mazatlan +America/Mendoza +America/Menominee +America/Merida +America/Metlakatla +America/Mexico_City +America/Miquelon +America/Moncton +America/Monterrey +America/Montevideo +America/Montreal +America/Montserrat +America/Nassau +America/New_York +America/Nipigon +America/Nome +America/Noronha +America/North_Dakota/Beulah +America/North_Dakota/Center +America/North_Dakota/New_Salem +America/Ojinaga +America/Panama +America/Pangnirtung +America/Paramaribo +America/Phoenix +America/Port-au-Prince +America/Port_of_Spain +America/Porto_Acre +America/Porto_Velho +America/Puerto_Rico +America/Punta_Arenas +America/Rainy_River +America/Rankin_Inlet +America/Recife +America/Regina +America/Resolute +America/Rio_Branco +America/Rosario +America/Santa_Isabel +America/Santarem +America/Santiago +America/Santo_Domingo +America/Sao_Paulo +America/Scoresbysund +America/Shiprock +America/Sitka +America/St_Barthelemy +America/St_Johns +America/St_Kitts +America/St_Lucia +America/St_Thomas +America/St_Vincent +America/Swift_Current +America/Tegucigalpa +America/Thule +America/Thunder_Bay +America/Tijuana +America/Toronto +America/Tortola +America/Vancouver +America/Virgin +America/Whitehorse +America/Winnipeg +America/Yakutat +America/Yellowknife +Antarctica/Casey +Antarctica/Davis +Antarctica/DumontDUrville +Antarctica/Macquarie +Antarctica/Mawson +Antarctica/McMurdo +Antarctica/Palmer +Antarctica/Rothera +Antarctica/South_Pole +Antarctica/Syowa +Antarctica/Troll +Antarctica/Vostok +Arctic/Longyearbyen +Asia/Aden +Asia/Almaty +Asia/Amman +Asia/Anadyr +Asia/Aqtau +Asia/Aqtobe +Asia/Ashgabat +Asia/Ashkhabad +Asia/Atyrau +Asia/Baghdad +Asia/Bahrain +Asia/Baku +Asia/Bangkok +Asia/Barnaul +Asia/Beirut +Asia/Bishkek +Asia/Brunei +Asia/Calcutta +Asia/Chita +Asia/Choibalsan +Asia/Chongqing +Asia/Chungking +Asia/Colombo +Asia/Dacca +Asia/Damascus +Asia/Dhaka +Asia/Dili +Asia/Dubai +Asia/Dushanbe +Asia/Famagusta +Asia/Gaza +Asia/Harbin +Asia/Hebron +Asia/Ho_Chi_Minh +Asia/Hong_Kong +Asia/Hovd +Asia/Irkutsk +Asia/Istanbul +Asia/Jakarta +Asia/Jayapura +Asia/Jerusalem +Asia/Kabul +Asia/Kamchatka +Asia/Karachi +Asia/Kashgar +Asia/Kathmandu +Asia/Katmandu +Asia/Khandyga +Asia/Kolkata +Asia/Krasnoyarsk +Asia/Kuala_Lumpur +Asia/Kuching +Asia/Kuwait +Asia/Macao +Asia/Macau +Asia/Magadan +Asia/Makassar +Asia/Manila +Asia/Muscat +Asia/Nicosia +Asia/Novokuznetsk +Asia/Novosibirsk +Asia/Omsk +Asia/Oral +Asia/Phnom_Penh +Asia/Pontianak +Asia/Pyongyang +Asia/Qatar +Asia/Qostanay +Asia/Qyzylorda +Asia/Rangoon +Asia/Riyadh +Asia/Saigon +Asia/Sakhalin +Asia/Samarkand +Asia/Seoul +Asia/Shanghai +Asia/Singapore +Asia/Srednekolymsk +Asia/Taipei +Asia/Tashkent +Asia/Tbilisi +Asia/Tehran +Asia/Tel_Aviv +Asia/Thimbu +Asia/Thimphu +Asia/Tokyo +Asia/Tomsk +Asia/Ujung_Pandang +Asia/Ulaanbaatar +Asia/Ulan_Bator +Asia/Urumqi +Asia/Ust-Nera +Asia/Vientiane +Asia/Vladivostok +Asia/Yakutsk +Asia/Yangon +Asia/Yekaterinburg +Asia/Yerevan +Atlantic/Azores +Atlantic/Bermuda +Atlantic/Canary +Atlantic/Cape_Verde +Atlantic/Faeroe +Atlantic/Faroe +Atlantic/Jan_Mayen +Atlantic/Madeira +Atlantic/Reykjavik +Atlantic/South_Georgia +Atlantic/St_Helena +Atlantic/Stanley +Australia/ACT +Australia/Adelaide +Australia/Brisbane +Australia/Broken_Hill +Australia/Canberra +Australia/Currie +Australia/Darwin +Australia/Eucla +Australia/Hobart +Australia/LHI +Australia/Lindeman +Australia/Lord_Howe +Australia/Melbourne +Australia/NSW +Australia/North +Australia/Perth +Australia/Queensland +Australia/South +Australia/Sydney +Australia/Tasmania +Australia/Victoria +Australia/West +Australia/Yancowinna +Brazil/Acre +Brazil/DeNoronha +Brazil/East +Brazil/West +CET +CST6CDT +Canada/Atlantic +Canada/Central +Canada/Eastern +Canada/Mountain +Canada/Newfoundland +Canada/Pacific +Canada/Saskatchewan +Canada/Yukon +Chile/Continental +Chile/EasterIsland +Cuba +EET +EST +EST5EDT +Egypt +Eire +Etc/GMT +Etc/GMT+0 +Etc/GMT+1 +Etc/GMT+10 +Etc/GMT+11 +Etc/GMT+12 +Etc/GMT+2 +Etc/GMT+3 +Etc/GMT+4 +Etc/GMT+5 +Etc/GMT+6 +Etc/GMT+7 +Etc/GMT+8 +Etc/GMT+9 +Etc/GMT-0 +Etc/GMT-1 +Etc/GMT-10 +Etc/GMT-11 +Etc/GMT-12 +Etc/GMT-13 +Etc/GMT-14 +Etc/GMT-2 +Etc/GMT-3 +Etc/GMT-4 +Etc/GMT-5 +Etc/GMT-6 +Etc/GMT-7 +Etc/GMT-8 +Etc/GMT-9 +Etc/GMT0 +Etc/Greenwich +Etc/UCT +Etc/UTC +Etc/Universal +Etc/Zulu +Europe/Amsterdam +Europe/Andorra +Europe/Astrakhan +Europe/Athens +Europe/Belfast +Europe/Belgrade +Europe/Berlin +Europe/Bratislava +Europe/Brussels +Europe/Bucharest +Europe/Budapest +Europe/Busingen +Europe/Chisinau +Europe/Copenhagen +Europe/Dublin +Europe/Gibraltar +Europe/Guernsey +Europe/Helsinki +Europe/Isle_of_Man +Europe/Istanbul +Europe/Jersey +Europe/Kaliningrad +Europe/Kiev +Europe/Kirov +Europe/Lisbon +Europe/Ljubljana +Europe/London +Europe/Luxembourg +Europe/Madrid +Europe/Malta +Europe/Mariehamn +Europe/Minsk +Europe/Monaco +Europe/Moscow +Europe/Nicosia +Europe/Oslo +Europe/Paris +Europe/Podgorica +Europe/Prague +Europe/Riga +Europe/Rome +Europe/Samara +Europe/San_Marino +Europe/Sarajevo +Europe/Saratov +Europe/Simferopol +Europe/Skopje +Europe/Sofia +Europe/Stockholm +Europe/Tallinn +Europe/Tirane +Europe/Tiraspol +Europe/Ulyanovsk +Europe/Uzhgorod +Europe/Vaduz +Europe/Vatican +Europe/Vienna +Europe/Vilnius +Europe/Volgograd +Europe/Warsaw +Europe/Zagreb +Europe/Zaporozhye +Europe/Zurich +GB +GB-Eire +GMT +GMT+0 +GMT-0 +GMT0 +Greenwich +HST +Hongkong +Iceland +Indian/Antananarivo +Indian/Chagos +Indian/Christmas +Indian/Cocos +Indian/Comoro +Indian/Kerguelen +Indian/Mahe +Indian/Maldives +Indian/Mauritius +Indian/Mayotte +Indian/Reunion +Iran +Israel +Jamaica +Japan +Kwajalein +Libya +MET +MST +MST7MDT +Mexico/BajaNorte +Mexico/BajaSur +Mexico/General +NZ +NZ-CHAT +Navajo +PRC +PST8PDT +Pacific/Apia +Pacific/Auckland +Pacific/Bougainville +Pacific/Chatham +Pacific/Chuuk +Pacific/Easter +Pacific/Efate +Pacific/Enderbury +Pacific/Fakaofo +Pacific/Fiji +Pacific/Funafuti +Pacific/Galapagos +Pacific/Gambier +Pacific/Guadalcanal +Pacific/Guam +Pacific/Honolulu +Pacific/Johnston +Pacific/Kiritimati +Pacific/Kosrae +Pacific/Kwajalein +Pacific/Majuro +Pacific/Marquesas +Pacific/Midway +Pacific/Nauru +Pacific/Niue +Pacific/Norfolk +Pacific/Noumea +Pacific/Pago_Pago +Pacific/Palau +Pacific/Pitcairn +Pacific/Pohnpei +Pacific/Ponape +Pacific/Port_Moresby +Pacific/Rarotonga +Pacific/Saipan +Pacific/Samoa +Pacific/Tahiti +Pacific/Tarawa +Pacific/Tongatapu +Pacific/Truk +Pacific/Wake +Pacific/Wallis +Pacific/Yap +Poland +Portugal +ROC +ROK +Singapore +Turkey +UCT +US/Alaska +US/Aleutian +US/Arizona +US/Central +US/East-Indiana +US/Eastern +US/Hawaii +US/Indiana-Starke +US/Michigan +US/Mountain +US/Pacific +US/Pacific-New +US/Samoa +UTC +Universal +W-SU +WET +Zulu diff --git a/packages/rocknix/package.mk b/packages/rocknix/package.mk new file mode 100644 index 000000000..8b4223ae1 --- /dev/null +++ b/packages/rocknix/package.mk @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +PKG_NAME="jelos" +PKG_VERSION="" +PKG_ARCH="any" +PKG_LICENSE="GPLv2" +PKG_SITE="" +PKG_URL="" +PKG_DEPENDS_TARGET="toolchain" +PKG_SHORTDESC="JELOS Meta Package" +PKG_LONGDESC="JELOS Meta Package" +PKG_IS_ADDON="no" +PKG_AUTORECONF="no" +PKG_TOOLCHAIN="make" + +make_target() { + : +} + +makeinstall_target() { + + mkdir -p ${INSTALL}/usr/config/ + rsync -av ${PKG_DIR}/config/* ${INSTALL}/usr/config/ + ln -sf /storage/.config/system ${INSTALL}/system + find ${INSTALL}/usr/config/system/ -type f -exec chmod o+x {} \; + + mkdir -p ${INSTALL}/usr/bin/ + + ### Compatibility links for ports + ln -s /storage/roms ${INSTALL}/roms + + ### Add some quality of life customizations for hardworking devs. + if [ -n "${LOCAL_SSH_KEYS_FILE}" ] + then + mkdir -p ${INSTALL}/usr/config/ssh + cp ${LOCAL_SSH_KEYS_FILE} ${INSTALL}/usr/config/ssh/authorized_keys + fi + + if [ -n "${LOCAL_WIFI_SSID}" ] + then + sed -i "s#network.enabled=0#network.enabled=1#g" ${INSTALL}/usr/config/system/configs/system.cfg + cat <> ${INSTALL}/usr/config/system/configs/system.cfg +wifi.ssid=${LOCAL_WIFI_SSID} +wifi.key=${LOCAL_WIFI_KEY} +EOF + fi +} + +post_install() { + ln -sf jelos.target ${INSTALL}/usr/lib/systemd/system/default.target + + if [ ! -d "${INSTALL}/usr/share" ] + then + mkdir "${INSTALL}/usr/share" + fi + cp ${PKG_DIR}/sources/post-update ${INSTALL}/usr/share + chmod 755 ${INSTALL}/usr/share/post-update + + # Issue banner + BUILD_ID=$(git rev-parse HEAD) + cp ${PKG_DIR}/sources/issue ${INSTALL}/etc + ln -s /etc/issue ${INSTALL}/etc/motd + cat <> ${INSTALL}/etc/issue +... Version: ${OS_VERSION} (${BUILD_ID:0:7}) +... Built: ${BUILD_DATE} + +EOF + + cp ${PKG_DIR}/sources/scripts/* ${INSTALL}/usr/bin + chmod 0755 ${INSTALL}/usr/bin/* 2>/dev/null ||: + + ### Fix and migrate to autostart package + enable_service jelos-autostart.service + + ### Take a backup of the system configuration on shutdown + enable_service save-sysconfig.service + + sed -i "s#@DEVICENAME@#${DEVICE}#g" ${INSTALL}/usr/config/system/configs/system.cfg + + ### Defaults for non-main builds. + BUILD_BRANCH="$(git branch --show-current)" + if [ ! "${BUILD_BRANCH}" = "main" ] + then + sed -i "s#ssh.enabled=0#ssh.enabled=1#g" ${INSTALL}/usr/config/system/configs/system.cfg + sed -i "s#network.enabled=0#network.enabled=1#g" ${INSTALL}/usr/config/system/configs/system.cfg + sed -i "s#system.loglevel=none#system.loglevel=verbose#g" ${INSTALL}/usr/config/system/configs/system.cfg + fi + + ### Disable automount on AMD64 + if [ "${DEVICE}" = "AMD64" ] + then + sed -i "s#system.automount=1#system.automount=0#g" ${INSTALL}/usr/config/system/configs/system.cfg + fi + +} diff --git a/packages/rocknix/profile.d/001-functions b/packages/rocknix/profile.d/001-functions new file mode 100644 index 000000000..c0d3a28f0 --- /dev/null +++ b/packages/rocknix/profile.d/001-functions @@ -0,0 +1,206 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert) +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/os-release + +export XDG_RUNTIME_DIR=/var/run/0-runtime-dir +export PATH="/usr/bin:/usr/local/bin:/storage/bin:${PATH}" +export SDL_GAMECONTROLLERCONFIG_FILE="/storage/.config/SDL-GameControllerDB/gamecontrollerdb.txt" + +J_DIR="/storage/.config/system" +J_CONF="${J_DIR}/configs/system.cfg" +J_CONF_LOCK="/tmp/.system.cfg.lock" +ES_CONF="/storage/.emulationstation/es_settings.cfg" + +function tocon() { + echo -ne "\033[1000H\033[2K==> ${*}" >/dev/console +} + +function log() { + SOURCE=${1//\/*\//} + MESSAGE=${*#${1}} + MESSAGE=${MESSAGE# } + logger -t ${SOURCE} "${MESSAGE}" + echo "$(date) ${SOURCE}: ${MESSAGE}" >>/var/log/messages +} + +function get_setting() { + if [ -n "${3}" ] + then + ### Test to see if we have a game setting. + VAR="$2\[\"$(echo ${3} | sed -E "s~'~\\\x27~g"';s~[()&]~\\&~g')\"\]\.$1" + OUTPUT=$(awk 'BEGIN {FS="="} /^'"${VAR}"'/ {print $NF}' ${J_CONF}) + if [ ! -z "${OUTPUT}" ] + then + echo ${OUTPUT} + return + else + ### If not, check to see if we have a system setting. + LOCAL=$(awk -F: '/^'"${2}.${1}"'=/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF}) + if [ ! -z "${LOCAL}" ] + then + echo ${LOCAL} + return + fi + fi + fi + + if [ -z "${3}" ] && [ -n "${2}" ] + then + ### Check to see if we have a global setting. + LOCAL=$(awk -F: '/^'"${2}.${1}"'=/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF}) + if [ ! -z "${LOCAL}" ] + then + echo ${LOCAL} + return + fi + fi + + ### Check to see if we have a "system." global setting. + SYSTEM=$(awk -F: '/^system.'"${1}"='/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF}) + if [ -n "${SYSTEM}" ] + then + echo ${SYSTEM} + return + fi + + ### Check to see if we have a "global." global setting." + LOCAL=$(awk -F: '/^'"${1}"='/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF}) + if [ -z "${LOCAL}" ] + then + awk -F: '/^global.'"${1}"='/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF} + return + else + echo ${LOCAL} + fi + return +} + +function wait_lock() { + while true + do + if (set -o noclobber; echo "$$" > "${J_CONF_LOCK}") 2>/dev/null + then + trap 'rm -f "$lockfile"; exit $?' INT TERM EXIT + break + else + sleep 1 + fi + done +} + +function del_setting() { + wait_lock + if [[ "${1}" =~ ^[[:alnum:]] ]] + then + sed -i "/^${1}=/d" "${J_CONF}" + fi + rm -f "${J_CONF_LOCK}" +} + +function sort_settings() { + wait_lock + cat "${J_CONF}" | grep ^[a-z0-9] | sort >"${J_CONF}.tmp" + mv "${J_CONF}.tmp" "${J_CONF}" + rm -f "${J_CONF_LOCK}" +} + +function set_kill() { + if [ "${1}" = "set" ] + then + cat </tmp/.process-kill-data +${2} +EOF + elif [ "${1}" = "stop" ] + then + if [ -e "/tmp/.process-kill-data" ] + then + rm -f "/tmp/.process-kill-data" + fi + fi +} + +function set_setting() { + + if [ ! -d "/storage/.config/system/configs" ] + then + mkdir -p /storage/.config/system/configs + fi + if [ ! -e "/storage/.config/system/configs/system.cfg" ] + then + cp -f /usr/config/system/configs/system.cfg /storage/.config/system/configs/system.cfg + fi + + if [[ "${1}" =~ ^[[:alnum:]] ]] + then + del_setting "${1}" + if [ ! "${2}" = "default" ] + then + wait_lock + echo "${1}=${2}" >> "${J_CONF}" + rm -f "${J_CONF_LOCK}" + fi + fi +} + +function battery_percent() { + awk 'BEGIN {FS="="} /POWER_SUPPLY_CAPACITY=/ {print $2}' /sys/class/power_supply/[Bb][Aa][Tt]*/uevent 2>/dev/null +} + +function get_es_setting() { + echo $(sed -n "s|\s*<${1} name=\"${2}\" value=\"\(.*\)\" />|\1|p" ${ES_CONF}) +} + +function fbwidth() { + local ORIENTATION=$(/dev/null 2>&1 + done + + for thread in $(seq ${THREADS} 1 ${AVAILABLE_THREADS}) + do + echo ${MODE} | tee /sys/devices/system/cpu/cpu${thread}/online >/dev/null 2>&1 + done +} + +set_cpu_gov() { + for POLICY in $(ls /sys/devices/system/cpu/cpufreq 2>/dev/null | grep policy[0-9]) + do + if [ -e "/sys/devices/system/cpu/cpufreq/${POLICY}/scaling_governor" ] + then + echo $1 >/sys/devices/system/cpu/cpufreq/${POLICY}/scaling_governor 2>/dev/null + fi + done +} + +set_dmc_gov() { + if [ -e "${DMC_FREQ}/governor" ] + then + for governor in $1 dmc_$1 simple_$1 + do + echo ${governor} >${DMC_FREQ}/governor 2>/dev/null + if [ "$?" = 0 ] + then + return + fi + done + fi +} + +set_gpu_gov() { + if [ -e "${GPU_FREQ}/governor" ] + then + for governor in $1 dmc_$1 simple_$1 + do + echo ${governor} >${GPU_FREQ}/governor 2>/dev/null + if [ "$?" = 0 ] + then + return + fi + done + fi +} + +onlinethreads() { + set_online_threads ${1} ${2} +} + +performance() { + set_cpu_gov performance + set_dmc_gov performance +} + +ondemand() { + set_cpu_gov ondemand + set_dmc_gov ondemand +} + +schedutil() { + set_cpu_gov schedutil + set_dmc_gov ondemand +} + +powersave() { + set_cpu_gov powersave + set_dmc_gov powersave +} diff --git a/packages/rocknix/sources/issue b/packages/rocknix/sources/issue new file mode 100644 index 000000000..380ec5b24 --- /dev/null +++ b/packages/rocknix/sources/issue @@ -0,0 +1,7 @@ + + ██ ███████ ██  ████████ ███████ + ██ ██ ██  ██ ██ ██ + ██ ███████ ██  ██ ██ ███████ +██ ██ ██ ██  ██ ██ ██ +███████ ███████ ███████ ████████ ███████ + diff --git a/packages/rocknix/sources/post-update b/packages/rocknix/sources/post-update new file mode 100644 index 000000000..d8d558996 --- /dev/null +++ b/packages/rocknix/sources/post-update @@ -0,0 +1,96 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +LOG="/var/log/boot.log" + +### This script contains items that we only want to execute after a JELOS upgrade, +### or after a fresh installation. + +### Items in this block should always run after updates. +################################################################################ + +echo "Rebuild library cache..." >>${LOG} +tocon "Rebuilding library cache..." +### Rebuild the library cache +rm -f /storage/.cache/ld.so.cache +ldconfig -X + +echo "Sync configuration files..." >>${LOG} +tocon "Re-sync configuration files..." +### Sync configurations +if [ -d "/storage/.config/system/configs" ] +then + EXCLUDE="--exclude=configs" +fi + +### Remove and link es configs so they are managed with OS updates. +for es_cfg in es_features.cfg es_systems.cfg +do + mv /storage/.config/emulationstation/${es_cfg} /storage/.config/emulationstation/last_${es_cfg} >/dev/null 2>&1 + ln -s /usr/config/emulationstation/${es_cfg} /storage/.config/emulationstation/${es_cfg} >/dev/null 2>&1 +done + +rsync -a --delete ${EXCLUDE} /usr/config/system/ /storage/.config/system/ +rsync -a --ignore-existing /usr/config/game /storage/.config/ +rsync -a /usr/config/modules /storage/.config/ + +if [ -f "/storage/.config/emulationstation/resources/logo.png" ] +then + rm -f /storage/.config/emulationstation/resources/logo.png +fi + +echo "Sync modules..." >>${LOG} +tocon "Update tool modules..." +rsync -a /usr/config/modules/* /storage/.config/modules/ +cp -f /usr/config/retroarch/retroarch-core-options.cfg /storage/.config/retroarch/retroarch-core-options.cfg + +### Apply developer ssh keys if they exist +echo "Apply dev keys if available..." >>${LOG} +if [ -e /usr/config/ssh/authorized_keys ] +then + tocon "Update developer keys..." + cp /usr/config/ssh/authorized_keys /storage/.ssh +fi + +### Sync rsync configs +echo "Update rsync configuration files..." >>${LOG} +rsync --ignore-existing /usr/config/rsync-rules.conf /storage/.config/ +rsync --ignore-existing /usr/config/rsync.conf /storage/.config/ + +### Sync locale data +tocon "Re-sync locale data..." +rsync -a --delete /usr/config/locale/* /storage/.config/locale/ >>/var/log/configure.log 2>&1 +rm -rf /storage/.config/emulationstation/locale >>/var/log/configure.log 2>&1 ||: +ln -sf /usr/share/locale /storage/.config/emulationstation/locale >>/var/log/configure.log 2>&1 ||: + +### Fix Japanese language bug +if [ ! -e "/storage/.config/ppsspp/assets/NotoSansJP-Regular.ttf" ] +then + cd /storage/.config/ppsspp/assets + cp /usr/config/ppsspp/assets/NotoSansJP-Regular.ttf . + ln -s NotoSansJP-Regular.ttf Roboto-Condensed.ttf + cd - +fi + +### Add items below this line that are safe to remove after a period of time. +################################################################################ + +## 20240312 clean config files on specific rk3326 devices +model=$(cat /sys/firmware/devicetree/base/model) +clean_list="ODROID-GO Advance Black Edition Powkiddy RGB10" +if echo "${clean_list}" | grep "$model"; then + rm -rf /storage/.config/mupen64plus + rm -rf /storage/.config/drastic + rm -f /storage/.config/ppsspp/PSP/SYSTEM/controls.ini + rm -f /storage/.config/mednafen/mednafen.cfg +fi +if [ "${model}" = "Powkiddy RGB10" ]; then + rm -f /storage/joypads/odroidgo2_v11_joypad.cfg +fi + +### 20240207 - Update Vita launchers and data. +rsync -ah --update /usr/config/vita3k/* /storage/.config/vita3k 2>/dev/null +rm -f "/storage/.config/vita3k/launcher/Start Vita3K.sh" diff --git a/packages/rocknix/sources/scripts/amionline b/packages/rocknix/sources/scripts/amionline new file mode 100755 index 000000000..3551d0478 --- /dev/null +++ b/packages/rocknix/sources/scripts/amionline @@ -0,0 +1,20 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +ip route | awk '/default/ {print $3}' >/dev/null 2>&1 +if [ ! $? = 0 ] +then + echo false + exit 1 +else + ping www.google.com -c1 -w1 >/dev/null 2>&1 + if [ ! $? = 0 ] + then + echo false + exit 1 + else + echo true + exit 0 + fi +fi diff --git a/packages/rocknix/sources/scripts/automount b/packages/rocknix/sources/scripts/automount new file mode 100755 index 000000000..77c6ce329 --- /dev/null +++ b/packages/rocknix/sources/scripts/automount @@ -0,0 +1,227 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile +. /etc/os-release + +### Vars +UPDATE_ROOT="/storage/.update" +MOUNT_GAMES=$(get_setting system.automount) +GAMES_DEVICE=$(get_setting system.gamesdevice) +MS_PATH="/storage/roms" + +function unmount() { + log $0 "Unmount ${1}." + umount -f "${1}" 2>/dev/null ||: +} + +function add_readme() { + cat </storage/roms/README +Use the \`Create Game Directories\` option in \`System Settings\` to create your game directories. +EOF +} + +function start_ms() { + ### Entrypoint will be either games card found (external), or not found (internal). + MOUNT_PATH="/storage/games-${1}" + + MS_DEVICE=$(get_setting system.merged.device) + ### If the merge target isn't defined and we have an external microsd, we should use the external card by default. + if [ -z "${MS_DEVICE}" ] && \ + [ "${1}" = "external" ] + then + set_setting system.merged.device external + fi + + ### Determine if internal or external is the primary target by configuration. + case ${MS_DEVICE} in + internal) + LOWER="external" + UPPER="internal" + ;; + *) + LOWER="internal" + UPPER="external" + ;; + esac + + for GAME_PATH in internal external + do + if [ ! -d "/storage/games-${GAME_PATH}/roms" ] + then + log $0 "Create /storage/games-${GAME_PATH}/roms." + mkdir -p "/storage/games-${GAME_PATH}/roms" + fi + done + + MS_ENABLED=$(get_setting system.merged.storage) + if [ -e "/storage/.ms_unsupported" ] || \ + [ ! "${MS_ENABLED}" = 1 ] + then + log $0 "Executing bind mount of ${MOUNT_PATH} to ${MS_PATH}" + mount --bind ${MOUNT_PATH}/roms ${MS_PATH} + else + log $0 "Enabling merged storage of /storage/games-${LOWER} and /storage/games-${UPPER} to ${MS_PATH}." + + for DIR in /storage/games-${UPPER}/.tmp/games-workdir /storage/games-${LOWER}/roms /storage/games-${UPPER}/roms + do + if [ ! -d "${DIR}" ] + then + mkdir -p "${DIR}" + fi + done + mount overlay -t overlay -o lowerdir=/storage/games-${LOWER}/roms,upperdir=/storage/games-${UPPER}/roms,workdir=/storage/games-${UPPER}/.tmp/games-workdir ${MS_PATH} + fi +} + +start_overlay() { + if [ -e "/storage/.overlay_unsupported" ] + then + # If we're not using the overlay, bind mount the external storage path + # so we don't need to change any configs. + grep ${MOUNT_PATH} /proc/mounts >/dev/null 2>&1 + if [ ! $? = 0 ] + then + MOUNT_PATH="/storage/games-internal" + fi + log $0 "Executing bind mount of ${MOUNT_PATH} to ${OVERLAY_PATH}" + mount --bind ${MOUNT_PATH} ${OVERLAY_PATH} + exit 0 + else + log $0 "Enabling overlay." + systemctl enable storage-roms.mount >/dev/null 2>&1 + systemctl start storage-roms.mount >/dev/null 2>&1 + fi +} + +if [[ ! "${MOUNT_GAMES}" =~ [0-9] ]] +then + set_setting system.automount 1 +elif [[ "${MOUNT_GAMES}" == "0" ]] +then + start_ms internal + add_readme + exit 0 +fi + +function load_modules() { + for MODULE in exfat vfat + do + lsmod | grep ${MODULE} >/dev/null 2>&1 + if [ ! $? = 0 ] + then + log $0 "Loading ${MODULE}." + modprobe ${MODULE} >/dev/null 2>&1 + fi + done +} + +function mount_games() { + MOUNT_PATH="/storage/games-external" + FSTYPE=$(blkid -o export ${1} | awk 'BEGIN {FS="="} /TYPE/ {print $2}') + case ${FSTYPE} in + ext4) + log $0 "Found supported partition for overlayfs." + if [ -e "/storage/.ms_unsupported" ] + then + rm -f /storage/.ms_unsupported + fi + touch /storage/.ms_supported + ;; + *) + log $0 "Partition does not support overlayfs, disabling." + if [ -e "/storage/.ms_supported" ] + then + rm -f /storage/.ms_supported + fi + touch /storage/.ms_unsupported + ;; + esac + + if [ ! -d "${MOUNT_PATH}" ] + then + log $0 "Create directory ${MOUNT_PATH}" + /usr/bin/busybox mkdir -p ${MOUNT_PATH} >/dev/null 2>&1 + fi + + NULL=$(cat /proc/mounts | grep -v -e "/var/media" 2>/dev/null | grep ${1}) + if [ ! "$?" = "0" ] && \ + [ -e "${1}" ] && \ + [ ! -e "/storage/.please_resize_me" ] + then + + ### Udevil shouldn't mount it this early, but just in-case. + umount /var/media/* 2>/dev/null + + log $0 "Checking filesystem ${1}." + fsck -Mly ${1} >/dev/null 2>&1 + + log $0 "Mounting ${1} on ${MOUNT_PATH}" + /usr/bin/busybox mount ${1} ${MOUNT_PATH} >/dev/null 2>&1 + fi + start_ms external + add_readme + exit 0 +} + +function find_games() { + if /usr/bin/busybox mountpoint -q /storage + then + for DEV in $(for dev in mmcblk[0-9] sd[a-z] nvme[0-9]; do blkid | grep ${dev} | awk 'BEGIN {FS=":"}; /ext4/ || /fat/ {print $1}' | sort -r; done) + do + ROOTDEV=$(echo ${DEV} | sed -e "s#^/.*/##g" -e "s#p[0-9].*\$##g") + log $0 "Inspecting ${DEV}." + SIZE=$(awk '/'${ROOTDEV}'$/ {print $3}' /proc/partitions) + if (( ${SIZE} <= 8388608 )) + then + log $0 "Device ${ROOTDEV} is too small, ignoring." + # We don't want to mount partitions smaller than ~8GB. + continue + fi + if [ -L "/sys/class/block/${ROOTDEV}boot0" ] + then + log $0 "Device ${ROOTDEV} might be Android, ignoring." + # Assume this is an android boot device and ignore it. + continue + fi + ISMOUNTED="$(grep "${DEV}" /proc/mounts) >/dev/null 2>&1" + if [ ! "$?" = 0 ] && \ + [ -e "${DEV}" ] && \ + [ ! -e "/storage/.please_resize_me" ] + then + GAMES_DEVICE=${DEV} + log $0 "Found ${DEV} available to mount." + mount_games "${DEV}" + else + log $0 "${DEV} not available." + fi + done + log $0 "Could not find external card to mount, assume internal." + + MS_DEVICE=$(get_setting system.merged.device) + ### If the merge target isn't defined and we do not have an external microsd, we should use the internal card by default. + if [ -z "${MS_DEVICE}" ] + then + set_setting system.merged.device internal + fi + start_ms internal + add_readme + exit 0 + fi +} + +## Main.. + +load_modules + +### Unmount any existing storage before beginning operations. +unmount /storage/games-external +unmount /storage/roms + +if [ -e "${GAMES_DEVICE}" ] +then + mount_games ${GAMES_DEVICE} +else + find_games +fi diff --git a/packages/rocknix/sources/scripts/backuptool b/packages/rocknix/sources/scripts/backuptool new file mode 100755 index 000000000..805c960cf --- /dev/null +++ b/packages/rocknix/sources/scripts/backuptool @@ -0,0 +1,69 @@ +#!/bin/bash + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert) +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +# NOTE: to customize your backups, create a backuptool.conf file in +# /storage/.config like this: + +# LOCATIONS=( +# /storage/.config/retroarch/* +# /storage/roms/savestates/* +# /some/other/folder/file.name* +# ) + +BACKUPFOLDER="/storage/roms/backup" +BACKUPFILE="${BACKUPFOLDER}/${OS_NAME}_BACKUP.zip" +mkdir -p ${BACKUPFOLDER} + +DEFAULT=( + /storage/.config/fancontrol.conf + /storage/.config/backuptool.conf + /storage/.cache/bluetooth/* + /storage/.cache/connman* + /storage/.config/system/configs/system.cfg + /storage/.config/ppsspp/* + /storage/.config/retroarch/* + /storage/.config/moonlight/* + /storage/.config/game/* + /storage/.emulationstation/es_*.cfg + /storage/.emulationstation/scripts/* + /storage/.emulationstation/themesettings/* + $(find /storage/.emulationstation/themes/* -type d -maxdepth 0 -not -path "*es-theme-art-book-next" -not -path "*system-theme") +) + +if [ -e "/storage/.config/backuptool.conf" ] +then + source /storage/.config/backuptool.conf + if [ ! $? = 0 ] + then + WARN="Error loading custom backuptool configs. Using defaults." + ${DEBUG} && echo "${WARN}" + logger -t backuptool "${WARN}" + COMPRESSLOCATIONS=(${DEFAULT[@]}) + else + COMPRESSLOCATIONS=(${LOCATIONS[@]}) + fi +else + COMPRESSLOCATIONS=(${DEFAULT[@]}) +fi + +case "${1}" in + "restore") + unzip -o ${BACKUPFILE} -d / + ;; + "backup") + if [ -f ${BACKUPFILE} ] + then + TODAY=`date +%y-%m-%d_%H_%M_%S` + ARCHIVEFILENAME="ARCHIVED_${OS_NAME}_BACKUP-${TODAY}.zip" + mv ${BACKUPFILE} "${BACKUPFOLDER}/${ARCHIVEFILENAME}" + fi + [ -f "${BACKUPFILE}" ] && rm "${BACKUPFILE}" + zip -9 -r ${BACKUPFILE} \ + ${COMPRESSLOCATIONS[@]} + ;; +esac diff --git a/packages/rocknix/sources/scripts/batocera-bluetooth b/packages/rocknix/sources/scripts/batocera-bluetooth new file mode 100755 index 000000000..d5b7dce7e --- /dev/null +++ b/packages/rocknix/sources/scripts/batocera-bluetooth @@ -0,0 +1,110 @@ +#!/bin/bash + +ACTION=$1 +shift + +do_help() { + echo "${1} list" >&2 + echo "${1} trust" >&2 + echo "${1} remove " >&2 +} + +do_list() { + find /storage/.cache/bluetooth -type f -name info | + while read FILE + do + if grep -qE '^Trusted=true$' "${FILE}" + then + DEVNAME=$(grep -E '^Name=' "${FILE}" | sed -e s+"^Name="++) + DEVADDR=$(basename $(dirname "${FILE}")) + echo "${DEVADDR} ${DEVNAME}" + fi + done +} + +do_remove() { + DEV="${1}" + + # output is never nice + if ! (echo "untrust ${DEV}" ; echo "remove ${DEV}") | bluetoothctl >/dev/null 2>/dev/null + then + return 1 + fi + + return 0 +} + +do_trust() { + NPID=$(pgrep -f batocera-bluetooth-agent) + test -z "${NPID}" && return 0 + + touch "/var/run/bt_status" || retrun 1 + LAST_MSG=$(cat "/var/run/bt_status") + + # start discovering + kill -10 "${NPID}" + + trap "kill -12 ${NPID}" 2 3 + + N=30 + while test $N -gt 0 + do + NEW_MSG=$(cat "/var/run/bt_status") + if test "${LAST_MSG}" != "${NEW_MSG}" + then + LAST_MSG="${NEW_MSG}" + echo "${NEW_MSG}" + fi + sleep 1 + let N-- + done + + # stop discovering + kill -12 "${NPID}" + +} + +do_starttrust() { + NPID=$(pgrep -f batocera-bluetooth-agent) + test -z "${NPID}" && exit 0 + + # start discovering + kill -10 "${NPID}" +} + +do_stoptrust() { + NPID=$(pgrep -f batocera-bluetooth-agent) + test -z "${NPID}" && exit 0 + + # stop discovering + kill -12 "${NPID}" +} + +case "${ACTION}" in + "list") + do_list + ;; + "trust") + do_trust + ;; + "starttrust") + do_starttrust + ;; + "stoptrust") + do_stoptrust + ;; + "remove") + if test $# = 1 + then + do_remove "${1}" || exit 1 + else + do_help "${0}" + exit 1 + fi + ;; + *) + do_help "${0}" + exit 1 +esac + +exit 0 diff --git a/packages/rocknix/sources/scripts/batocera-bluetooth-agent b/packages/rocknix/sources/scripts/batocera-bluetooth-agent new file mode 100755 index 000000000..adfc1b779 --- /dev/null +++ b/packages/rocknix/sources/scripts/batocera-bluetooth-agent @@ -0,0 +1,461 @@ +#!/usr/bin/python + +from __future__ import absolute_import, print_function + +from optparse import OptionParser, make_option +import dbus +import dbus.service +import dbus.mainloop.glib +import bluezutils +import time +import os +import logging +import signal +from gi.repository import GLib + +AGENT_INTERFACE = 'org.bluez.Agent1' + +gadapter = None +gdiscovering = False +gdevices = {} +g_devices_seen = {} + +logging.basicConfig(filename='/var/log/bluetooth-agent.log', level=logging.DEBUG, format='%(asctime)s %(message)s') + +def bool2str(val, valiftrue, valiffalse): + if val: + return valiftrue + else: + return valiffalse + +def logging_status(msg): + with open("/var/run/bt_status", "w") as file: + file.write(msg + "\n") + +def connect_device(path, address, properties, forceConnect, typeInput, typeAudio): + global gdiscovering + + devName = "" + trusted = False + connected = False + + # avoid devices without interesting information + if "Trusted" not in properties: + return + if "Connected" not in properties: + return + + rproperties = {} + # Get the adapter name and bt mac + for key, value in properties.items(): + if type(value) is dbus.String: + value = value.encode('ascii', 'replace') + rproperties[key] = value + + trusted = rproperties["Trusted"] + paired = rproperties["Paired"] + devName = getDevName(rproperties) + shortDevName = getShortDevName(rproperties) + connected = rproperties["Connected"] + + # skip non input devices + if "Icon" not in properties: + logging.info("Skipping device {} (no type)".format(getDevName(rproperties))); + return + + if not ( (typeInput and properties["Icon"].startswith("input")) or (typeAudio and properties["Icon"].startswith("audio")) ): + logging.info("Skipping device {} because of type {}".format(getDevName(rproperties), properties["Icon"])); + return + + blacklistAddr, blacklistName = getBlacklistAddrAndName(properties) + + # add device to the seen list + if blacklistAddr not in g_devices_seen: + g_devices_seen[blacklistAddr] = { "name": blacklistName } + updateKnownDevicesList(g_devices_seen) + + # skip blacklisted devices + if blacklistAddr is not None and isDeviceBlacklisted(blacklistAddr): + logging.info("Skipping blacklisted device {}".format(blacklistName)) + return + + logging.info("event for " + devName + "(paired=" + bool2str(paired, "paired", "not paired") + ", trusted=" + bool2str(trusted, "trusted", "untrusted") + ", connected=" + bool2str(connected, "connected", "disconnected") + ")") + + # skipping connected devices + if paired and trusted and connected: + logging.info("Skipping already connected device {}".format(getDevName(rproperties))); + return + + if not paired: + if connected == False and gdiscovering: + doParing(address, devName, shortDevName) + return + + # now it is paired + if not trusted and (gdiscovering or forceConnect): + logging.info("Trusting (" + devName + ")") + logging_status("Trusting " + shortDevName + "...") + bluezProps = dbus.Interface(bus.get_object("org.bluez", path), "org.freedesktop.DBus.Properties") + bluezProps.Set("org.bluez.Device1", "Trusted", True) + + # now it is paired and trusted + # Connect if Trusted and paired + if not connected or forceConnect: + doConnect(address, devName, shortDevName) + +def doParing(address, devName, shortDevName): + logging.info("Pairing... (" + devName + ")") + logging_status("Pairing " + shortDevName + "...") + device = bluezutils.find_device(address) + try: + device.Pair() + except Exception as e: + logging.info("Pairing failed (" + devName + ")") + logging_status("Pairing failed (" + shortDevName + ")") + +def doConnect(address, devName, shortDevName): + global gadapter + global gdiscovering + + try: + # discovery stopped during connection to help some devices + if gdiscovering: + logging.info("Stop discovery") + gadapter.StopDiscovery() + + device = bluezutils.find_device(address) + ntry=5 + while ntry > 0: + ntry = ntry -1 + try: + logging.info("Connecting... (" + devName + ")") + logging_status("Connecting " + shortDevName + "...") + device.Connect() + logging.info("Connected successfully (" + devName + ")") + logging_status("Connected successfully (" + shortDevName + ")") + + if gdiscovering: + logging.info("Start discovery") + gadapter.StartDiscovery() + return + except dbus.exceptions.DBusException as err: + logging.info("dbus: " + err.get_dbus_message()) + time.sleep(1) + except Exception as err: + logging.info("Connection failed (" + devName + ")") + time.sleep(1) + + logging.info("Connection failed. Give up. (" + devName + ")") + logging_status("Connection failed. Give up. (" + shortDevName + ")") + if gdiscovering: + logging.info("Start discovery") + gadapter.StartDiscovery() + except Exception as e: + if gdiscovering: + logging.info("Start discovery") + gadapter.StartDiscovery() + # don't raise, while startdiscovery doesn't like it + #raise e + +def getDevName(properties): + #devName = properties["Name"] + " (" + properties["Address"] + ", " + properties["Icon"] + ")" + #devStatus = "Trusted=" + str(properties["Trusted"]) + ", paired=" + str(properties["Paired"]) + ", connected=" + str(properties["Connected"]), ", blocked=" + str(properties["Blocked"]) + #devTech = "legacyPairing: " + str(properties["LegacyPairing"]) # + ", RSSI: " + properties["RSSI"] + + if "Name" in properties and "Address" in properties and "Icon" in properties: + return str(properties["Name"]) + " (" + str(properties["Address"]) + ", " + str(properties["Icon"]) + ")" + + if "Name" in properties and "Address" in properties: + return str(properties["Name"]) + " (" + str(properties["Address"]) + ")" + + if "Name" in properties and "Icon" in properties: + return str(properties["Name"]) + " (" + str(properties["Icon"]) + ")" + + if "Name" in properties: + return str(properties["Name"]) + + if "Address" in properties and "Icon" in properties: + return str(properties["Address"]) + " (" + str(properties["Icon"]) + ")" + + if "Address" in properties: + return str(properties["Address"]) + + if "Icon" in properties: + return str(properties["Icon"]) + + return "unknown" + +def updateKnownDevicesList(g_devices_seen): + f = open("/var/run/bluetooth_seen", "w") + for key in g_devices_seen: + f.write("{} {}\n".format(key, g_devices_seen[key]["name"])) + f.close() + +def isDeviceBlacklisted(blacklistAddr): + datafile = "/var/lib/bluetooth/bluetooth_blacklisted" + + # reread the file each time in case somebody changed it + if not os.path.isfile(datafile): + return False + + with open(datafile) as file: + lines = file.readlines() + for line in lines: + if line[0:len(blacklistAddr)] == blacklistAddr: + return True + + return False + +def getBlacklistAddrAndName(properties): + if "Address" not in properties: + return None + address = str(properties["Address"]) + name = "" + + if "Name" in properties: + name = str(properties["Name"]) + elif "Icon" in properties: + name = str(properties["Icon"]) + else: + name = "unknown" + + return address, name + +def getShortDevName(properties): + if "Name" in properties: + return str(properties["Name"]) + + if "Address" in properties: + return str(properties["Address"]) + + if "Icon" in properties: + return str(properties["Icon"]) + + return "unknown" + +def getBluetoothWantedTypes(): + if not os.path.isfile("/var/run/bt_types"): + logging.info("no bt_types file") + return True, True + + btype = "" + with open("/var/run/bt_types", "r") as file: + btype = file.read().strip() + logging.info("bt_type: {}".format(btype)) + + if btype == "": + return True, True + if btype == "pad": + return True, False + if btype == "audio": + return False, True + return False, False + +def interfaces_added(path, interfaces): + global gdevices + + if "org.bluez.Device1" not in interfaces: + return + if not interfaces["org.bluez.Device1"]: + return + + properties = interfaces["org.bluez.Device1"] + + if path in gdevices: + gdevices[path] = merge2dicts(gdevices[path], properties) + else: + gdevices[path] = properties + + if "Address" in gdevices[path]: + typeInput, typeAudio = getBluetoothWantedTypes() + connect_device(path, properties["Address"], gdevices[path], False, typeInput, typeAudio) + +def properties_changed(interface, changed, invalidated, path): + global gdevices + + if interface != "org.bluez.Device1": + return + + if path in gdevices: + gdevices[path] = merge2dicts(gdevices[path], changed) + else: + gdevices[path] = changed + + #logging.info("Properties changed:") + #logging.info(changed) + #logging.info(invalidated) + + if "Paired" in changed and changed["Paired"] == True: + # ok, do as in simple-agent, trust and connect + typeInput, typeAudio = getBluetoothWantedTypes() + connect_device(path, gdevices[path]["Address"], gdevices[path], True, typeInput, typeAudio) + return + + # ok, it is now connected, what else ? + if "Connected" in changed and changed["Connected"] == True: + return + + if "Connected" in changed and changed["Connected"] == False: + logging.info("Skipping (property Connected changed to False)"); + return + + if "Address" in gdevices[path]: + typeInput, typeAudio = getBluetoothWantedTypes() + connect_device(path, gdevices[path]["Address"], gdevices[path], False, typeInput, typeAudio) + +def merge2dicts(d1, d2): + res = d1.copy() + res.update(d2) + return res + +def user_signal_start_discovery(signum, frame): + global gdiscovering + global gadapter + + try: + if gdiscovering == False: + gdiscovering = True + logging.info("Start discovery (signal)") + gadapter.StartDiscovery() + except: + pass + +def user_signal_stop_discovery(signum, frame): + global gdiscovering + global gadapter + + try: + if gdiscovering: + gdiscovering = False + logging.info("Stop discovery (signal)") + gadapter.StopDiscovery() + except: + pass + +class Agent(dbus.service.Object): + exit_on_release = True + + def set_exit_on_release(self, exit_on_release): + self.exit_on_release = exit_on_release + + @dbus.service.method(AGENT_INTERFACE, in_signature="", out_signature="") + def Release(self): + logging.info("agent: Release") + if self.exit_on_release: + mainloop.quit() + + @dbus.service.method(AGENT_INTERFACE, in_signature="os", out_signature="") + def AuthorizeService(self, device, uuid): + logging.info("agent: AuthorizeService") + return + + @dbus.service.method(AGENT_INTERFACE, in_signature="o", out_signature="s") + def RequestPinCode(self, device): + logging.info("RequestPinCode (%s)" % (device)) + return "0000" + + @dbus.service.method(AGENT_INTERFACE, in_signature="o", out_signature="u") + def RequestPasskey(self, device): + logging.info("RequestPasskey (%s)" % (device)) + return 0 + + @dbus.service.method(AGENT_INTERFACE, in_signature="ouq", out_signature="") + def DisplayPasskey(self, device, passkey, entered): + logging.info("agent: DisplayPasskey (%s, %06u entered %u)" % (device, passkey, entered)) + + @dbus.service.method(AGENT_INTERFACE, in_signature="os", out_signature="") + def DisplayPinCode(self, device, pincode): + logging.info("agent: DisplayPinCode (%s, %s)" % (device, pincode)) + + @dbus.service.method(AGENT_INTERFACE, in_signature="ou", out_signature="") + def RequestConfirmation(self, device, passkey): + logging.info("agent: RequestConfirmation") + return + + @dbus.service.method(AGENT_INTERFACE, in_signature="o", out_signature="") + def RequestAuthorization(self, device): + logging.info("agent: RequestAuthorization") + return + + @dbus.service.method(AGENT_INTERFACE, in_signature="", out_signature="") + def Cancel(self): + logging.info("agent: Cancel") + +def do_main_loop(dev_id): + global gadapter + + # adapter + try: + adapter = bluezutils.find_adapter(dev_id) + except: + # try to find any adapter + adapter = bluezutils.find_adapter(None) + logging.info("adapter found") + + gadapter = adapter + adapters = {} + + om = dbus.Interface(bus.get_object("org.bluez", "/"), "org.freedesktop.DBus.ObjectManager") + objects = om.GetManagedObjects() + for path, interfaces in objects.items(): + if "org.bluez.Device1" in interfaces: + gdevices[path] = interfaces["org.bluez.Device1"] + if "org.bluez.Adapter1" in interfaces: + adapters[path] = interfaces["org.bluez.Adapter1"] + + adapter_props = adapters[adapter.object_path] + logging.info(adapter_props["Name"] + "(" + adapter_props["Address"] + "), powered=" + str(adapter_props["Powered"])) + + # power on adapter if needed + if adapter_props["Powered"] == 0: + try: + logging.info("powering on adapter ("+ adapter_props["Address"] +")") + adapterSetter = dbus.Interface(bus.get_object("org.bluez", adapter.object_path), "org.freedesktop.DBus.Properties") + adapterSetter.Set("org.bluez.Adapter1", "Powered", True) + except: + pass # hum, not nice + + gdiscovering = False + + # events + # use events while i manage to stop discovery only from the process having started it + signal.signal(signal.SIGUSR1, user_signal_start_discovery) + signal.signal(signal.SIGUSR2, user_signal_stop_discovery) + + mainloop = GLib.MainLoop() + mainloop.run() + +if __name__ == '__main__': + # options + option_list = [ make_option("-i", "--device", action="store", type="string", dest="dev_id") ] + parser = OptionParser(option_list=option_list) + (options, args) = parser.parse_args() + + # initialize the seen devices file + updateKnownDevicesList(g_devices_seen) + + # register dbus + dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) + bus = dbus.SystemBus() + + bus.add_signal_receiver(interfaces_added, dbus_interface = "org.freedesktop.DBus.ObjectManager", signal_name = "InterfacesAdded") + bus.add_signal_receiver(properties_changed, dbus_interface = "org.freedesktop.DBus.Properties", signal_name = "PropertiesChanged", arg0 = "org.bluez.Device1", path_keyword = "path") + + # register the agent + agentpath = "/storage/agent" + obj = bus.get_object("org.bluez", "/org/bluez") + manager = dbus.Interface(obj, "org.bluez.AgentManager1") + manager.RegisterAgent(agentpath, "NoInputNoOutput") + manager.RequestDefaultAgent(agentpath) + agent = Agent(bus, agentpath) + logging.info("agent registered") + + # run the agent, allows some tries while hardware can take time to initiate + time.sleep(2) + try: + do_main_loop(options.dev_id) + except Exception as e: + logging.error("agent fails") + logging.error(e, exc_info=True) + raise + logging.error("agent gave up") diff --git a/packages/rocknix/sources/scripts/batocera-config b/packages/rocknix/sources/scripts/batocera-config new file mode 100755 index 000000000..48515c45c --- /dev/null +++ b/packages/rocknix/sources/scripts/batocera-config @@ -0,0 +1,297 @@ +#!/bin/bash + +. /etc/profile +. /etc/os-release + +if [ ! "$1" ];then + echo -e "usage : batocera-config [command] [args]\nWith command in\n\toverscan [enable|disable]\n\tlsaudio\n\tgetaudio\n\taudio [hdmi|jack|auto|custom|x,y]\n\tcanupdate\n\tupdate\n\twifi [enable|disable] ssid key\n\tstorage [current|list|INTERNAL|ANYEXTERNAL|RAM|DEV UUID]\n\tsetRootPassword [password]\n\tgetRootPassword\n\ttz [|tz]" + exit 1 +fi +configFile="/storage/.config/system/configs/config.txt" +storageFile="/storage/.config/system/configs/batocera-boot.conf" +command="$1" +mode="$2" +extra1="$3" +extra2="$4" +extra3="$5" +extra4="$6" +arch=${HW_DEVICE} + +updateurl="https://127.0.0.1" + +preBootConfig() { + mount -o remount,rw /boot +} + +postBootConfig() { + mount -o remount,ro /boot +} + +bato_config_set_value () { + key=$1 + value=$2 + [ -z "$value" ] && value=0 + cat "$configFile" | grep "$key" + valPresent=$? + if [ "$valPresent" != "0" ];then + echo "$key=$value" >> "$configFile" + else + sed -i "s/#\?$key=.*/$key=$value/g" "$configFile" + fi +} + +#log=/userdata/system/logs/batocera.log +#systemsetting="python /usr/lib/python2.7/site-packages/configgen/settings/batoceraSettings.py" + +log=/var/log/systemsettings.log +systemsetting="/usr/bin/batocera-settings" + + +echo "----config ----" >> $log + +if [ "$command" == "getRootPassword" ]; then + # security disabled, force the default one without changing boot configuration + securityenabled="`$systemsetting -command load -key system.security.enabled`" + if [ "$securityenabled" != "1" ];then + echo "linux" + exit 0 + fi + + ENCPASSWD=$(grep -E '^[ \t]*rootshadowpassword[ \t]*=' "${storageFile}" | sed -e s+'^[ \t]*rootshadowpassword[ \t]*='++) + if test -z "${ENCPASSWD}" + then + exit 1 + fi + if ! batocera-encode decode "${ENCPASSWD}" + then + exit 1 + fi + exit 0 +fi + +if [ "$command" == "setRootPassword" ]; then + PASSWD=${2} + + # security disabled, don't change + securityenabled="`$systemsetting -command load -key system.security.enabled`" + if [ "$securityenabled" != "1" ];then + exit 0 + fi + + # if no password if provided, generate one + if test -z "${PASSWD}" + then + PASSWD=$(tr -cd _A-Z-a-z-0-9 < /dev/urandom | fold -w8 | head -n1) + fi + PASSWDENC=$(batocera-encode encode "${PASSWD}") + + preBootConfig + if grep -qE '^[ \t]*rootshadowpassword[ \t]*=' "${storageFile}" + then + # update it + if ! sed -i -e s@'^[ \t]*rootshadowpassword[ \t]*=.*$'@"rootshadowpassword=${PASSWDENC}"@ "${storageFile}" + then + postBootConfig + exit 1 + fi + postBootConfig + exit 0 + else + # create it + if ! echo "rootshadowpassword=${PASSWDENC}" >> "${storageFile}" + then + postBootConfig + exit 1 + fi + postBootConfig + exit 0 + fi +fi + +if [ "$command" == "overscan" ]; then +if [ "$mode" == "set" ];then +# set will set overscan values abd also enable this mode + if [ -z "$extra1" ] || [ -z "$extra2" ] || [ -z "$extra3" ] || [ -z "$extra4" ]; then + echo "$0 $command $mode needs 4 arguments:" + echo "$0 $command $mode overscan_left overscan_right overscan_top overscan_bottom" + exit 2 + fi + preBootConfig + [ -f "$configFile" ] || touch "$configFile" + + echo "setting overscan values $extra1 $extra2 $extra3 $extra4 " >> $log + bato_config_set_value disable_overscan 0 + bato_config_set_value overscan_scale 1 + bato_config_set_value overscan_left "$extra1" + bato_config_set_value overscan_right "$extra2" + bato_config_set_value overscan_top "$extra3" + bato_config_set_value overscan_bottom "$extra4" + + postBootConfig + exit 0 + +fi +if [ -f "$configFile" ];then + preBootConfig + if [ "$mode" == "enable" ];then + echo "enabling overscan" >> $log + bato_config_set_value disable_overscan 0 + bato_config_set_value overscan_scale 1 + elif [ "$mode" == "disable" ];then + echo "disabling overscan" >> $log + bato_config_set_value disable_overscan 1 + bato_config_set_value overscan_scale 0 + else + postBootConfig + exit 1 + fi + postBootConfig + exit 0 +else + exit 2 +fi +fi + +if [ "$command" == "lsoutputs" ] +then + echo "auto" + batocera-resolution listOutputs +fi + +if [ "$command" == "lsaudio" ];then + if [[ "${arch}" =~ "rpi" ]] + then + echo "hdmi" + echo "jack" + echo "auto" + elif [[ "${arch}" =~ "x86" ]];then + echo "auto" + echo "custom" + LANG=C aplay -l | grep -E '^card [0-9]*:' | sed -e s+'^card \([0-9]*\): \([^,]*\), device \([0-9]*\): [^\[]* \[\([^]]*\)].*$'+'\1,\3 \4 \2'+ + else + echo "auto" + fi +fi + +if [ "$command" == "getaudio" ];then + $systemsetting -command load -key audio.device + exit 0 +fi + +if [ "$command" == "audio" ];then + # this code is specific to the rpi + # don't set it on other boards + # find a more generic way would be nice + if [[ "${arch}" =~ "rpi" ]] + then + # this is specific to the rpi + cmdVal="0" + if [ "$mode" == "hdmi" ];then + cmdVal="2" + elif [ "$mode" == "jack" ];then + cmdVal="1" + fi + echo "setting audio output mode : $mode" >> $log + amixer -c 0 -M cset numid=3 $cmdVal || exit 1 + elif [[ "${arch}" =~ "x86" ]] + then + # auto: no .asoundrc file + # custom: don't touch the .asoundrc file + # any other, create the .asoundrd file + if [ "$mode" == "auto" ];then + rm -rf /userdata/system/.asoundrc || exit 1 + elif [ "$mode" != "custom" ];then + if echo "${mode}" | grep -qE '^[0-9]*,[0-9]* ' + then + cardnb=$(echo "${mode}" | sed -e s+'^\([0-9]*\),.*$'+'\1'+) + devicenb=$(echo "${mode}" | sed -e s+'^[0-9]*,\([0-9]*\) .*$'+'\1'+) + cat > /userdata/system/.asoundrc <> $log + + # on my pc, the master is turned off at boot + # i don't know what are the rules to set here. + amixer -c 0 -M set ${DEVICE_AUDIO_MIXER} unmute || exit 1 + amixer -c 0 -M set ${DEVICE_AUDIO_MIXER} -- ${mode}% || exit 1 + + # maximize the sound to be sure it's not 0, allow errors + amixer -c 0 -M set PCM -- 100% #|| exit 1 + amixer -c 0 -M set Headphone -- 100% #|| exit 1 + exit 0 + fi + exit 12 +fi + +if [ "$command" == "gpiocontrollers" ];then + command="module" + mode="load" + extra1="mk_arcade_joystick_rpi" + extra2="map=1,2" +fi + +if [ "$command" == "module" ];then + modulename="$extra1" + map="$extra2" + # remove in all cases + rmmod /lib/modules/`uname -r`/extra/${modulename}.ko >> $log + + if [ "$mode" == "load" ];then + echo "loading module $modulename args = $map" >> $log + insmod /lib/modules/`uname -r`/extra/${modulename}.ko $map >> $log + [ "$?" ] || exit 1 + fi + exit 0 +fi + +if [ "$command" == "canupdate" ];then + available=$(updatecheck canupdate) + echo "$available" + if [[ "$available" != "no" ]]; then + exit 0 + fi + exit 12 +fi + +if [ "$command" == "update" ];then + system-upgrade + exit $? +fi + +if [[ "$command" == "storage" ]]; then + exit 0; +fi + +if [[ "$command" == "forgetBT" ]]; then + killall -9 hcitool + systemctl stop bluetooth + rm -rf /storage/.cache/bluetooth/* + systemctl start bluetooth + exit 0 +fi + +if [ "$command" == "tz" ];then + if test "$mode" == "" + then + cat /storage/.config/system/configs/tz + else + if test -f "/usr/share/zoneinfo/${mode}" + then + echo "TIMEZONE=${mode}" > /storage/.cache/timezone + systemctl restart tz-data.service + fi + fi + exit $? +fi + +exit 10 diff --git a/packages/rocknix/sources/scripts/batocera-info b/packages/rocknix/sources/scripts/batocera-info new file mode 120000 index 000000000..e55cf7223 --- /dev/null +++ b/packages/rocknix/sources/scripts/batocera-info @@ -0,0 +1 @@ +jelos-info \ No newline at end of file diff --git a/packages/rocknix/sources/scripts/batocera-resolution b/packages/rocknix/sources/scripts/batocera-resolution new file mode 100755 index 000000000..fcaf8a03e --- /dev/null +++ b/packages/rocknix/sources/scripts/batocera-resolution @@ -0,0 +1,18 @@ +#!/bin/bash + +ACTION=$1 +shift + +FILEMODES="/sys/class/graphics/fb0/modes" + +case "${ACTION}" in + "listModes") + ;; + "setMode") + ;; + "currentMode"|"currentResolution") + # mode can be different from resolution (ie on rpi) + test -e "${FILEMODES}" && head -1 "${FILEMODES}" | sed -e s+'^[^:]:\([0-9]*\)x\([0-9]*\)[a-z]*.*$'+'\1x\2'+ + ;; +esac +exit 0 diff --git a/packages/rocknix/sources/scripts/batocera-retroachievements-info b/packages/rocknix/sources/scripts/batocera-retroachievements-info new file mode 100755 index 000000000..a36f9008e --- /dev/null +++ b/packages/rocknix/sources/scripts/batocera-retroachievements-info @@ -0,0 +1,104 @@ +#!/bin/bash +# +# Get RetroAchievements information for Batocera +# +# @lbrpdx on Batocera Forums and Discord +# +# 20191124 - v2 with now outputs in XML format (for Batocera 5.25+) +# 20200113 - updated for retroachievements.org HTML changes +# 20200124 - added badges for each game played +# 20200304 - fixed a bug in rare cases where a RA game has no success icons +# 20200410 - updated for retroachievements.org HTML changes, again +# 20200625 - retroachievements.org HTML changes, again +# 20201104 - retroachievements.org HTML changes, again, again +# +# Usage: +# batocera-retroachievements-info +# +CONFIGFILE="/storage/.config/system/configs/system.cfg" +TIMEOUT=4 # seconds before timeout (>2 sec) +USER="" + +############################### +# +function usage() { + echo "$0 username" + echo " - where username is the RetroAchievements username you want to check out" + exit 1 +} + +############################### +# +function process() { + fn=$(date +"%s") + tmpfile=/tmp/ra_$fn + curl -H 'Cache-Control: no-cache' -m "$TIMEOUT" -o $tmpfile https://retroachievements.org/user/$USER 2>/dev/null + if [ x"$?" != x0 ]; then + echo "" + echo "" + echo " $fn" + echo " RetroAchievements website is too slow to respond" + echo "" + exit 1; + fi + cat "$tmpfile" | awk -v FS="(
|
)" '{print $2}' | uniq > "$tmpfile"_2 + idcard=$(cat "$tmpfile" | sed -e "/^[[:blank:]]*$/d" | awk -v FS="(

Member Since: |
Account Type:)" '{print $2}' | uniq) + parsedid=$(echo "$idcard" | sed -e "/^[[:blank:]]*$/d" | sed -e "s;\(.*\)
Last Activity: \(.*\);\1@\2;") + avcompletion=$(cat "$tmpfile" | sed -e "/^[[:blank:]]*$/d" | awk -v FS="(
Average Completion: |
Site Rank:)" '{print $2}' | sed -e "/^[[:blank:]]*$/d" | uniq) + points=$(cat "$tmpfile"_2 | sed -e "/^[[:blank:]]*$/d" | awk -v FS="( |)" '{print $2}' | sed -e "s;(\([0-9]*\) points);\1;") + if [ x"$points" != x ] && [ "$points" -ge 1 ]; then + rank=$(cat "$tmpfile"_2 | sed -e "/^[[:blank:]]*$/d" | awk -v FS="(globalRanking.php|

)" '{print $3}' | sed -e "s/\?[a-zA-Z0-9=&;']*>//" -e "s;;;" -e "s;%).*;%);") + ## For future use: UserPic is RetroAchievements' user avatar - however the S3 bucket is protected. + # UserPic=$(cat $tmpfile | grep 'meta property=.og:image. content=' | cut -d= -f3 | awk -F\' '{print $2}') + # Workaround: use the line below + UserPic="https://retroachievements.org/UserPic/$USER".png + pic="" + curl -H 'Cache-Control: no-cache' -m "$TIMEOUT" -f -s "$UserPic" >/dev/null 2>/dev/null + if [ x"$?" == x0 ]; then + pic=" $UserPic\n" + fi + echo "" + echo "" + echo " $fn" + echo " $USER" + echo " $points" + echo " $rank" + echo " $avcompletion" + echo -ne "$pic" + echo "$parsedid" | sed -e "s;\(.*\)@\(.*\); \1\n \2;" + xmllint --html "$tmpfile" 2>/dev/null | grep '.*points.' | sed -e "/^[[:blank:]]*$/d" | sed -e 's:\(.*\)points\.
:\1points\@\\\n:g;' > "$tmpfile"_2 + cat "$tmpfile"_2 | awk -v FS="(href=\"/[gG]ame/[0-9]*\">|@)" '{print $2}' | sed -e "s;

\(Last played[ 0-9:-]*\)
\(.*\);@\2@\1;" | sed -e "s;achievements, ;achievements@;" | sed -e "s;Earned ;;" | sed -e "/^[[:blank:]]*$/d" > "$tmpfile"_st + cat "$tmpfile"_2 | grep -e 'div class="bb_inline" onmouseover' -e '^$' | sed "s:.*src=\"\(.*/Badge/.*\.png\)\".*:\1:" | sed "s;^$;https://batocera.org/favicon-64.png;" > "$tmpfile"_ba + i=0 + if [ $(cat "$tmpfile"_ba | wc -l) -eq $(cat "$tmpfile"_st | wc -l) ]; then + while IFS= read -r line || [[ -n "$line" ]]; do + i=$((i+1)) + echo "$line" | sed -e "s;\(.*\)@\(.*\) achievements@\(.*\) points@Last played \(.*\); \n \1\n \2\n \3\n \4;" + cat "$tmpfile"_ba | head -n "$i" | tail -n 1 | sed "s:^: :;s:$::" + echo " " + done < "$tmpfile"_st + else + echo "$res" | sed -e "s;\(.*\)@\(.*\) achievements@\(.*\) points@Last played \(.*\); \n \1\n \2\n \3\n \4\n ;" + fi + echo "
" + else + echo "" + echo "" + echo " $fn" + echo " Player $USER hasn't unlocked any RetroAchievement yet" + echo "" + fi + rm "$tmpfile" "$tmpfile"_2 "$tmpfile"_st "$tmpfile"_ba 2>/dev/null +} + +#### Main loop +# +if [ $# -lt 1 ]; then + [ -f "$CONFIGFILE" ] && USER=$(grep -E "^[ \t]*global.retroachievements.username=" "$CONFIGFILE" | cut -d= -f2 | uniq) +else + tmp="$1" + [ x"${tmp::1}" == "x-" ] && usage || USER="$1" +fi + +[ x"$USER" == x ] && usage || process + diff --git a/packages/rocknix/sources/scripts/batocera-scraper b/packages/rocknix/sources/scripts/batocera-scraper new file mode 100755 index 000000000..ee407c36c --- /dev/null +++ b/packages/rocknix/sources/scripts/batocera-scraper @@ -0,0 +1,79 @@ +#!/bin/bash + +systemsetting="/usr/bin/batocera-settings" +syslang=$($systemsetting -command load -key system.language) +IMGSTYLE=$($systemsetting -command load -key scrapper.style) + +if test $# = 1 +then + DOSYS=$1 +fi + +# supported languages : en, fr, es, de, pt +case "${syslang}" in + fr_FR) + sslang=fr,en + ;; + es_ES) + sslang=es,en + ;; + de_DE) + sslang=de,en + ;; + pt_PT) + sslang=pt,en + ;; + pt_BR) + sslang=pt,en + ;; + *) + sslang=en +esac + +if test -z "${IMGSTYLE}" +then + IMGSTYLE="b,f,a,l,3b,s" +fi + +do_scrap() { + LRDIR=$1 + NF=$(ls "${LRDIR}" | grep -vE '\.txt$|\.xml$' | wc -l) + if test "${NF}" -gt 0 + then + BASEDIR=$(basename "${LRDIR}") + echo "GAME: system ${BASEDIR}" + EXTRAOPT= + + for x in "mame" "fba" "fba_libretro" "neogeo" + do + test "${LRDIR}" = "/storage/roms/${x}" && EXTRAOPT="-mame" + done + + (cd "${LRDIR}" && sselph-scraper -console_src ss,gdb,ovgdb -lang "${sslang}" -console_img "${IMGSTYLE}" -download_videos -workers 5 ${EXTRAOPT}) 2>&1 + fi +} + +# find system to scrape +(if test -n "${DOSYS}" + then + test -d "/storage/roms/${DOSYS}" && echo "/storage/roms/${DOSYS}" + else + find /storage/roms -maxdepth 1 -mindepth 1 -type d + fi) | + while read RDIR1 + do + # read the 2 next dir + read RDIR2 + read RDIR3 + read RDIR4 + + do_scrap "${RDIR1}" & + test -n "${RDIR2}" && do_scrap "${RDIR2}" & + test -n "${RDIR3}" && do_scrap "${RDIR3}" & + test -n "${RDIR4}" && do_scrap "${RDIR4}" & + wait + + done + +# synchronize to not make the usb/sdcard slowing down once finnished +sync diff --git a/packages/rocknix/sources/scripts/batocera-settings b/packages/rocknix/sources/scripts/batocera-settings new file mode 100755 index 000000000..eead7fa0d --- /dev/null +++ b/packages/rocknix/sources/scripts/batocera-settings @@ -0,0 +1,267 @@ +#!/bin/bash + +# batocera-settings can mimic batoceraSettings.py +# goal: abolish this python script, it's useless for the sake of the load feature only +# get a more user friendly environment for setting, getting and saving keys +# +# Usage of BASE COMMAND: +# longform: --command --key --value +# +# shortform: +# +# --command load write enable disable status +# --key any key in system.cfg (kodi.enabled...) +# --value any alphanumerical string +# use quotation marks to avoid globbing use slashes escape special characters + +# This script reads only 1st occurrence if string and writes only to this first hit +# +# This script uses #-Character to comment values +# +# If there is a boolean value (0,1) then then enable and disable command will set the corresponding +# boolean value. + +# Examples: +# 'batocera-settings --command load --key wifi.enabled' will print out 0 or 1 +# 'batocera-settings --command write --key wifi.ssid -value "This is my NET"' will set 'wlan.ssid=This is my NET' +# 'batocera-settings enable wifi.ssid' will remove # from configfile (activate) +# 'batocera-settings disable wifi.enabled' will set key wifi.enabled=0 +# 'botocera-settings /myown/config.file --command status --key my.key' will output status of own config.file and my.key + +# by cyperghost - 2019/12/30 + +##### INITS ##### +BATOCERA_CONFIGFILE="/storage/.config/system/configs/system.cfg" +COMMENT_CHAR_SEARCH="[#|;]" +COMMENT_CHAR="#" +##### INITS ##### + +##### Function Calls ##### + +function get_config() { + #Will search for key.value and #key.value for only one occurrence + #If the character is the COMMENT CHAR then set value to it + #Otherwise strip till the equal-char to obtain value + local val + local ret + val="$(grep -E -m1 "^\s*$1\s*=" $BATOCERA_CONFIGFILE)" + ret=$? + if [[ $ret -eq 1 ]]; then + val="$(grep -E -m1 "^$COMMENT_CHAR_SEARCH\s*$1\s*=" $BATOCERA_CONFIGFILE)" + ret=$? + [[ $ret -eq 0 ]] && val=$COMMENT_CHAR + else + #Maybe here some finetuning to catch key.value = ENTRY without blanks + val="${val#*=}" + fi + echo "$val" + return $ret +} + +function set_config() { + #Will search for first key.name at beginning of line and write value to it + sed -i "1,/^\(\s*$1\s*=\).*/s//\1$2/" "$BATOCERA_CONFIGFILE" +} + +function uncomment_config() { + #Will search for first Comment Char at beginning of line and remove it + sed -i "1,/^$COMMENT_CHAR_SEARCH\(\s*$1\)/s//\1/" "$BATOCERA_CONFIGFILE" +} + +function comment_config() { + #Will search for first key.name at beginning of line and add a comment char to it + sed -i "1,/^\(\s*$1\)/s//$COMMENT_CHAR\1/" "$BATOCERA_CONFIGFILE" +} + +function check_argument() { + # This method does not accept arguments starting with '-'. + if [[ -z "$2" || "$2" =~ ^- ]]; then + echo >&2 + echo "ERROR: '$1' is missing an argument." >&2 + echo >&2 + echo "Just type '$0' to see usage page." >&2 + echo >&2 + return 1 + fi +} + +function dash_style() { + #This function is needed to "simulate" the python script with single dash + #commands. It will also accept the more common posix double dashes + #Accept dashes and double dashes and build new array ii with parameter set + #The else-branch can be used for the shortform + + for i in --command --key --value; do + if [[ -z "$1" ]]; then + continue + elif [[ "$i" =~ ^-{0,1}"${1,,}" ]]; then + check_argument $1 $2 + [[ $? -eq 0 ]] || exit 1 + ii+=("$2") + shift 2 + else + ii+=("$1") + shift 1 + fi + done +} + + +function usage() { +val=" Usage of BASE COMMAND: + + --command --key --value + + shortform: + + --command load write enable disable status + --key any key in system.cfg (kodi.enabled...) + --value any alphanumerical string + use quotation marks to avoid globbing + + For write command --value must be provided + + exit codes: exit 0 = value is available, proper exit + exit 1 = general error + exit 2 = file error + exit 10 = value found, but empty + exit 11 = value found, but not activated + exit 12 = value not found + + If you don't set a filename then default is '~/storage/.config/system.cfg'" + +echo "$val" + +} +##### Function Calls ##### + +##### MAIN FUNCTION ##### +function main() { + + #Filename parsed? + if [[ -f "$1" ]]; then + BATOCERA_CONFIGFILE="$1" + shift + else + [[ -f "$BATOCERA_CONFIGFILE" ]] || { echo "not found: $BATOCERA_CONFIGFILE" >&2; exit 2; } + fi + + #How much arguments are parsed, up to 6 then it is the long format + #up to 3 then it is the short format + if [[ ${#@} -eq 0 || ${#@} -gt 6 ]]; then + usage + exit 1 + else + dash_style "$@" + command="${ii[0]}" + keyvalue="${ii[1]}" + newvalue="${ii[2]}" + unset ii + fi + + [[ -z $keyvalue ]] && { echo "error: Please provide a proper keyvalue" >&2; exit 1; } + + # value processing, switch case + case "${command,,}" in + + "read"|"get"|"load") + val="$(get_config $keyvalue)" + ret=$? + [[ "$val" == "$COMMENT_CHAR" ]] && exit 11 + [[ -z "$val" && $ret -eq 0 ]] && exit 10 + [[ -z "$val" && $ret -eq 1 ]] && exit 12 + [[ -n "$val" ]] && echo "$val" && exit 0 + ;; + + "stat"|"status") + val="$(get_config $keyvalue)" + ret=$? + [[ -f "$BATOCERA_CONFIGFILE" ]] && echo "ok: found '$BATOCERA_CONFIGFILE'" >&2 || echo "error: not found '$BATOCERA_CONFIGFILE'" >&2 + [[ -w "$BATOCERA_CONFIGFILE" ]] && echo "ok: r/w file '$BATOCERA_CONFIGFILE'" >&2 || echo "error: r/o file '$BATOCERA_CONFIGFILE'" >&2 + [[ -z "$val" && $ret -eq 1 ]] && echo "error: '$keyvalue' not found!" >&2 + [[ -z "$val" && $ret -eq 0 ]] && echo "error: '$keyvalue' is empty - use 'comment' command to retrieve" >&2 + [[ "$val" == "$COMMENT_CHAR" ]] && echo "error: '$keyvalue' is commented $COMMENT_CHAR!" >&2 && val= + [[ -n "$val" ]] && echo "ok: '$keyvalue' $val" + exit 0 + ;; + + "set"|"write"|"save") + #Is file write protected? + [[ -w "$BATOCERA_CONFIGFILE" ]] || { echo "r/o file: $BATOCERA_CONFIGFILE" >&2; exit 2; } + #We can comment line above to erase keys, it's much saver to check if a value is setted + [[ -z "$newvalue" ]] && echo "error: '$keyvalue' needs value to be setted" >&2 && exit 1 + + val="$(get_config $keyvalue)" + ret=$? + if [[ "$val" == "$COMMENT_CHAR" ]]; then + echo "$keyvalue: hashed out!" >&2 + uncomment_config "$keyvalue" + set_config "$keyvalue" "$newvalue" + echo "$keyvalue: set from '$val' to '$newvalue'" >&2 + exit 0 + elif [[ -z "$val" && $ret -eq 1 ]]; then + echo "$keyvalue: not found!" >&2 + exit 12 + elif [[ "$val" != "$newvalue" ]]; then + set_config "$keyvalue" "$newvalue" + exit 0 + fi + ;; + + "uncomment"|"enable"|"activate") + val="$(get_config $keyvalue)" + ret=$? + # Boolean + if [[ "$val" == "$COMMENT_CHAR" ]]; then + uncomment_config "$keyvalue" + echo "$keyvalue: removed '$COMMENT_CHAR', key is active" >&2 + elif [[ "$val" == "0" ]]; then + set_config "$keyvalue" "1" + echo "$keyvalue: boolean set '1'" >&2 + elif [[ -z "$val" && $ret -eq 1 ]]; then + echo "$keyvalue: not found!" && exit 2 + fi + ;; + + "comment"|"disable"|"remark") + val="$(get_config $keyvalue)" + ret=$? + # Boolean + [[ "$val" == "$COMMENT_CHAR" || "$val" == "0" ]] && exit 0 + if [[ -z "$val" && $ret -eq 1 ]]; then + echo "$keyvalue: not found!" >&2 && exit 12 + elif [[ "$val" == "1" ]]; then + set_config "$keyvalue" "0" + echo "$keyvalue: boolean set to '0'" >&2 + else + comment_config "$keyvalue" + echo "$keyvalue: added '$COMMENT_CHAR', key is not active" >&2 + fi + ;; + + *) + echo "ERROR: invalid command '$command'" >&2 + exit 1 + ;; + esac +} +##### MAIN FUNCTION ##### + +##### MAIN CALL ##### + +# Prepare arrays from fob python script +# Keyword for python call is mimic_python +# Attention the unset is needed to eliminate first argument (python basefile) + +if [[ "${#@}" -eq 1 && "$1" =~ "mimic_python" ]]; then + #batoceraSettings.py fob + readarray -t arr <<< "$1" + unset arr[0] +else + #regular call by shell + arr=("$@") +fi + +main "${arr[@]}" + +##### MAIN CALL ##### diff --git a/packages/rocknix/sources/scripts/batocera-systems b/packages/rocknix/sources/scripts/batocera-systems new file mode 100755 index 000000000..5ba58e7c4 --- /dev/null +++ b/packages/rocknix/sources/scripts/batocera-systems @@ -0,0 +1,612 @@ +#!/usr/bin/env python + +from __future__ import print_function + +from hashlib import md5 +from os.path import isfile +from collections import OrderedDict +import sys + +systems = { + + # Atari + "atari5200": {"name": "Atari 5200", "biosFiles": [{"md5": "281f20ea4320404ec820fb7ec0693b38", "file": "bios/5200.rom"}]}, + + "atari800": {"name": "Atari 800", "biosFiles": [{"md5": "06daac977823773a3eea3422fd26a703", "file": "bios/ATARIXL.ROM"}, + {"md5": "0bac0c6a50104045d902df4503a4c30b", "file": "bios/ATARIBAS.ROM"}, + {"md5": "eb1f32f5d9f382db1bbfb8d7f9cb343a", "file": "bios/ATARIOSA.ROM"}, + {"md5": "a3e8d617c95d08031fe1b20d541434b2", "file": "bios/ATARIOSB.ROM"}]}, + + "atari7800": {"name": "Atari 7800", "biosFiles": [{"md5": "0763f1ffb006ddbe32e52d497ee848ae", "file": "bios/7800 BIOS (U).rom"}]}, + + "atarist": {"name": "Atari ST", "biosFiles": [{"md5": "b2a8570de2e850c5acf81cb80512d9f6", "file": "bios/tos.img"}]}, + + "atarilynx": {"name": "Lynx", "biosFiles": [{"md5": "fcd403db69f54290b51035d82f835e7b", "file": "bios/lynxboot.img"}]}, + + + # Colecovision + "colecovision": {"name": "Colecovision", "biosFiles": [{"md5": "", "file": "bios/Machines/COL - Bit Corporation Dina/config.ini"}, + {"md5": "1de922acdd742d31349c2801e9768c35", "file": "bios/Machines/COL - Bit Corporation Dina/czz50-1.rom"}, + {"md5": "72b089dc55b7fe7ffb5028f365e8c045", "file": "bios/Machines/COL - Bit Corporation Dina/czz50-2.rom"}, + {"md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/Machines/COL - ColecoVision/coleco.rom"}, + {"md5": "", "file": "bios/Machines/COL - ColecoVision/config.ini"}, + {"md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/Machines/COL - ColecoVision with Opcode Memory Extension/coleco.rom"}, + {"md5": "", "file": "bios/Machines/COL - ColecoVision with Opcode Memory Extension/config.ini"}, + {"md5": "", "file": "bios/Machines/COL - Spectravideo SVI-603 Coleco/config.ini"}, + {"md5": "c60a2e85572c0ccb69505a7646d5c1b6", "file": "bios/Machines/COL - Spectravideo SVI-603 Coleco/SVI603.ROM"}, + {"md5": "", "file": "bios/Databases/colecodb.xml"}, + {"md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/colecovision.rom"}, + {"md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/BIOS.col"}]}, + + + # Commodore + "amiga": {"name": "Amiga/CD32", "biosFiles": [{"md5": "89da1838a24460e4b93f4f0c5d92d48d", "file": "bios/CDTV Extended-ROM v1.0 (1991)(Commodore)(CDTV)[!].rom"}, + {"md5": "85ad74194e87c08904327de1a9443b7a", "file": "bios/Kickstart v1.2 r33.180 (1986)(Commodore)(A500-A1000-A2000)[!].rom"}, + {"md5": "68c9c0826f6c0ca20546d588ee77391c", "file": "bios/Kickstart v1.2 rev 33.166 (1986)(Commodore)(A1000).rom"}, + {"md5": "192d6d950d0ed3df8040b788502831c2", "file": "bios/Kickstart v1.3 r34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[o].rom"}, + {"md5": "82a21c1890cae844b3df741f2762d48d", "file": "bios/Kickstart v1.3 r34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[!].rom"}, + {"md5": "dc10d7bdd1b6f450773dfb558477c230", "file": "bios/Kickstart v2.04 r37.175 (1991)(Commodore)(A500+)[!].rom"}, + {"md5": "465646c9b6729f77eea5314d1f057951", "file": "bios/Kickstart v2.05 r37.350 (1992)(Commodore)(A600HD)[!].rom"}, + {"md5": "5f8924d013dd57a89cf349f4cdedc6b1", "file": "bios/Kickstart v3.1 r40.60 (1993)(Commodore)(CD32).rom"}, + {"md5": "646773759326fbac3b2311fd8c8793ee", "file": "bios/Kickstart v3.1 r40.68 (1993)(Commodore)(A1200)[!].rom"}, + {"md5": "413590e50098a056cfec418d3df0212d", "file": "bios/Kickstart v3.1 r40.68 (1993)(Commodore)(A3000).rom"}, + {"md5": "9bdedde6a4f33555b4a270c8ca53297d", "file": "bios/Kickstart v3.1 r40.68 (1993)(Commodore)(A4000).rom"}, + {"md5": "85ad74194e87c08904327de1a9443b7a", "file": "bios/kick33180.A500"}, + {"md5": "82a21c1890cae844b3df741f2762d48d", "file": "bios/kick34005.A500"}, + {"md5": "dc10d7bdd1b6f450773dfb558477c230", "file": "bios/kick37175.A500"}, + {"md5": "5f8924d013dd57a89cf349f4cdedc6b1", "file": "bios/kick40060.CD32"}, + {"md5": "bb72565701b1b6faece07d68ea5da639", "file": "bios/kick40060.CD32.ext"}, + {"md5": "e40a5dfb3d017ba8779faba30cbd1c8e", "file": "bios/kick40063.A600"}, + {"md5": "646773759326fbac3b2311fd8c8793ee", "file": "bios/kick40068.A1200"}, + {"md5": "9bdedde6a4f33555b4a270c8ca53297d", "file": "bios/kick40068.A4000"}, + {"md5": "bb72565701b1b6faece07d68ea5da639", "file": "bios/CD32 Extended-ROM r40.60 (1993)(Commodore)(CD32).rom"}]}, + + + # Magnavox and Philips + "o2em": {"name": "Odyssey 2", "biosFiles": [{"md5": "562d5ebf9e030a40d6fabfc2f33139fd", "file": "bios/o2rom.bin"}, + {"md5": "f1071cdb0b6b10dde94d3bc8a6146387", "file": "bios/c52.bin"}, + {"md5": "c500ff71236068e0dc0d0603d265ae76", "file": "bios/g7400.bin"}, + {"md5": "279008e4a0db2dc5f1c048853b033828", "file": "bios/jopac.bin"}]}, + + + # Mattel + "intellivision": {"name": "Mattel Intellivision", "biosFiles": [{"md5": "62e761035cb657903761800f4437b8af", "file": "bios/exec.bin"}, + {"md5": "0cd5946c6473e42e8e4c2137785e427f", "file": "bios/grom.bin"}, + {"md5": "2e72a9a2b897d330a35c8b07a6146c52", "file": "bios/ECS.bin"}, + {"md5": "d5530f74681ec6e0f282dab42e6b1c5f", "file": "bios/IVOICE.bin"}]}, + + + # Microsoft + "msx": {"name": "MSX", "biosFiles": [{"md5": "", "file": "bios/Machines/Forte II Games - Pesadelo/config.ini"}, + {"md5": "", "file": "bios/Machines/Forte II Games - Pesadelo/pesadelo.rom"}, + {"md5": "", "file": "bios/Machines/MSX/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX/MSX.ROM"}, + {"md5": "", "file": "bios/Machines/MSX/MSX2.ROM"}, + {"md5": "", "file": "bios/Machines/MSX/MSX2EXT.ROM"}, + {"md5": "", "file": "bios/Machines/MSX/MSX2P.ROM"}, + {"md5": "", "file": "bios/Machines/MSX/MSX2PEXT.ROM"}, + {"md5": "", "file": "bios/Machines/MSX/MSXDOS2.ROM"}, + {"md5": "", "file": "bios/Machines/MSX - Al Alamiah AX-170/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Arabic/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Brazilian/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Brazilian/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX - C-BIOS/cbios.txt"}, + {"md5": "", "file": "bios/Machines/MSX - C-BIOS/cbios_logo_msx1.rom"}, + {"md5": "", "file": "bios/Machines/MSX - C-BIOS/cbios_main_msx1.rom"}, + {"md5": "", "file": "bios/Machines/MSX - C-BIOS/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Canon V-10/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Canon V-20/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Daewoo DPC-100/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Daewoo DPC-180/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Daewoo DPC-200/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Estonian/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Frael Bruc 100-1/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - French/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - German/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - German/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX - Goldstar FC-200/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Gradiente Expert 1.0/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Gradiente Expert 1.1/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Gradiente Expert 1.3/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Gradiente Expert DDPlus/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Gradiente Expert Plus/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Japanese/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Japanese/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX - JVC HC-7GB/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Korean/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Korean/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX - Mitsubishi ML-F80/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Mitsubishi ML-FX1/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - National CF-1200/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1 (a)/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1F/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1FM/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1MK2/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8220/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8220 (a)/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8245/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8245F/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8250/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8255/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8280/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8280G/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Philips VG-8230/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Philips VG-8235/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sharp Epcom HotBit 1.2/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sharp Epcom HotBit 1.3b/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sharp Epcom HotBit 1.3p/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sony HB-10P/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sony HB-201/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sony HB-201P/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sony HB-20P/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sony HB-501P/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sony HB-55D/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sony HB-55P/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sony HB-75D/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sony HB-75P/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Spanish/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Spectravideo SVI-728/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Spectravideo SVI-738/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Spectravideo SVI-738-2 CUC/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Spectravideo SVI-738-2 JP Grobler/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Spectravideo SVI-738-2 LC Grosso/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Swedish/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Talent TPC-310/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Toshiba HX-23/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Toshiba HX-23F/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Virtual Haesung Console/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Yamaha CX7M/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Yamaha CX7M-128/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX2+/MSX.ROM"}, + {"md5": "", "file": "bios/Machines/MSX2+/MSX2.ROM"}, + {"md5": "", "file": "bios/Machines/MSX2+/MSX2EXT.ROM"}, + {"md5": "", "file": "bios/Machines/MSX2+/MSX2P.ROM"}, + {"md5": "", "file": "bios/Machines/MSX2+/MSX2PEXT.ROM"}, + {"md5": "", "file": "bios/Machines/MSX2+/MSXDOS2.ROM"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Brazilian/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios.txt"}, + {"md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios_logo_msx2+.rom"}, + {"md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios_main_msx2+.rom"}, + {"md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios_music.rom"}, + {"md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios_sub.rom"}, + {"md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Ciel Expert 3 IDE/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Ciel Expert 3 Turbo/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Spectravideo SVI-738 Swedish/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Swedish/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Swedish/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX - Talent DPC-200/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Talent DPC-200A/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Toshiba HX-10/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Toshiba HX-10S/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Toshiba HX-20/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yamaha CX5M-1/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yamaha CX5M-128/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yamaha CX5M-2/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yamaha CX5MII/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS303/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS503/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS503F/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS503II/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS503IIR/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS503M/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yashica YC-64/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yeno DPC-64/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yeno MX64/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX2/MSX.ROM"}, + {"md5": "", "file": "bios/Machines/MSX2/MSX2.ROM"}, + {"md5": "", "file": "bios/Machines/MSX2/MSX2EXT.ROM"}, + {"md5": "", "file": "bios/Machines/MSX2/MSX2P.ROM"}, + {"md5": "", "file": "bios/Machines/MSX2/MSX2PEXT.ROM"}, + {"md5": "", "file": "bios/Machines/MSX2/MSXDOS2.ROM"}, + {"md5": "", "file": "bios/Machines/MSX2 - Al Alamiah AX-350/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Al Alamiah AX-370/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Arabic/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Arabic/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX2 - Brazilian/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Brazilian/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX2 - C-BIOS/cbios.txt"}, + {"md5": "", "file": "bios/Machines/MSX2 - C-BIOS/cbios_logo_msx2.rom"}, + {"md5": "", "file": "bios/Machines/MSX2 - C-BIOS/cbios_main_msx2.rom"}, + {"md5": "", "file": "bios/Machines/MSX2 - C-BIOS/cbios_sub.rom"}, + {"md5": "", "file": "bios/Machines/MSX2 - C-BIOS/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Daewoo CPC-300/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Daewoo CPC-300E/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Daewoo CPC-400/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Daewoo CPC-400S/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Estonian/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - French/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - French/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX2 - German/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - German/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX2 - Gradiente Expert 2.0/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Japanese/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Japanese/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX2 - Korean/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Korean/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX2 - National FS-4500/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - National FS-4600/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - National FS-4700/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - National FS-5000/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - National FS-5500F1/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - National FS-5500F2/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Daewoo DPC-200E/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - National CF-2000/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sharp Epcom HotBit 1.1/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Spectravideo SVI-738 Henrik Gilvad/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS503IIR Estonian/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Only PSG/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Only PSG/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX2 - Philips VG-8235F/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Spanish/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Spanish/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX2+ - European/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - National CF-2700/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - National CF-3000/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - National CF-3300/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - National FS-1300/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - National FS-4000/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Olympia PHC-2/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Olympia PHC-28/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Panasonic CF-2700G/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Philips NMS-801/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Philips VG-8000/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Philips VG-8010/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Philips VG-8010F/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Philips VG-8020-00/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Philips VG-8020-20/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Philips VG-8020F/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Pioneer PX-7/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Pioneer PX-V60/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Russian/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sanyo MPC-100/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sanyo MPC-64/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sanyo PHC-28L/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sanyo PHC-28S/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX - Sanyo Wavy MPC-10/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Gradiente Expert AC88+/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Gradiente Expert DDX+/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - MSXPLAYer 2003/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Panasonic FS-A1FX/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Panasonic FS-A1WSX/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Panasonic FS-A1WX/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Panasonic FS-A1WX (a)/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Sanyo Wavy PHC-35J/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Sanyo Wavy PHC-70FD1/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Sanyo Wavy PHC-70FD2/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Sony HB-F1XDJ/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Sony HB-F1XV/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2+ - Sony HB-F9S+/config.ini"}, + {"md5": "", "file": "bios/Machines/MSXturboR/config.ini"}, + {"md5": "", "file": "bios/Machines/MSXturboR - European/config.ini"}, + {"md5": "", "file": "bios/Machines/MSXturboR - Panasonic FS-A1GT/config.ini"}, + {"md5": "", "file": "bios/Machines/MSXturboR - Panasonic FS-A1ST/config.ini"}, + {"md5": "", "file": "bios/Machines/MSXturboR - Panasonic FS-A1ST (a)/config.ini"}, + {"md5": "", "file": "bios/Machines/MSXturboR - Panasonic FS-A1ST (b)/config.ini"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2G.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXDOS23.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/ARAB1.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/ARABIC.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/BEERIDE.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/FMPAC.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/GCVMX80.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/HANGUL.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/KANJI.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MICROSOLDISK.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MOONSOUND.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2AR.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2AREXT.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2BR.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2BREXT.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2EXT.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2FR.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2FREXT.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2GEXT.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2HAN.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2J.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2JEXT.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2KR.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2KREXT.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2P.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2PEXT.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2PMUS.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2R.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2R2.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2REXT.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2SE.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2SP.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSX2SPEXT.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXAR.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXBR.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXDOS2.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXFR.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXG.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXHAN.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXJ.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXKANJI.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXKR.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXR.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXR2.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXSE.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXSP.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXTR.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXTREXT.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXTRMUS.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/MSXTROPT.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/NATIONALDISK.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/NOVAXIS.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/nowindDos1.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/nowindDos2.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/PAINT.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/PANASONICDISK.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/PHILIPSDISK.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/RS232.ROM"}, + {"md5": "", "file": "bios/Machines/Shared Roms/Shared.txt"}, + {"md5": "", "file": "bios/Machines/Shared Roms/SUNRISEIDE.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/SWP.rom"}, + {"md5": "", "file": "bios/Machines/Shared Roms/XBASIC2.rom"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-318/config.ini"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-318/svi318.rom"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328/config.ini"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328/svi328.rom"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Column/config.ini"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Column/svi328a.rom"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Column/svi806.rom"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Swedish/config.ini"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Swedish/svi328a.rom"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Swedish/svi806se.rom"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 MK2/config.ini"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 MK2/svi328a.rom"}, + {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 MK2/svi806.rom"}, + {"md5": "", "file": "bios/Machines/Turbo-R/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX2 - Philips VG-8240/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Russian/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Russian/hardwareconfig.xml"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sanyo Wavy MPC-25FD/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sanyo Wavy PHC-23/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sharp Epcom HotBit 2.0/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F1/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F1II/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F1XD/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F1XDMK2/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F500/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F500P/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F700D/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F700F/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F700P/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F700S/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F900/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F900 (a)/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F9P/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F9P Russian/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F9S/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-G900AP/config.ini"}, + {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-G900P/config.ini"}]}, + + + # NEC + "pcengine": {"name": "PC Engine", "biosFiles": [{"md5": "38179df8f4ac870017db21ebcbf53114;ff1a674273fe3540ccef576376407d1d", "file": "bios/syscard3.pce"}]}, + + "pcfx": {"name": "PC-FX", "biosFiles": [{"md5": "08e36edbea28a017f79f8d4f7ff9b6d7", "file": "bios/pcfx.rom"}]}, + + "supergrafx": {"name": "Supergrafx", "biosFiles": [{"md5": "38179df8f4ac870017db21ebcbf53114;ff1a674273fe3540ccef576376407d1d", "file": "bios/syscard3.pce"}, + {"md5": "", "file": "bios/syscard2.pce"}, + {"md5": "", "file": "bios/syscard1.pce"}, + {"md5": "", "file": "bios/gexpress.pce"}]}, + + "pc88": {"name": "NEC - PC-8800", "biosFiles": [{"md5": "", "file": "bios/quasi88/DISK.ROM"}, + {"md5": "", "file": "bios/quasi88/N88.ROM"}, + {"md5": "", "file": "bios/quasi88/N88N.ROM"}, + {"md5": "", "file": "bios/quasi88/N88_0.ROM"}, + {"md5": "", "file": "bios/quasi88/N88_1.ROM"}, + {"md5": "", "file": "bios/quasi88/N88_2.ROM"}, + {"md5": "", "file": "bios/quasi88/N88_3.ROM"}, + {"md5": "", "file": "bios/quasi88/N88_KNJ1.ROM"}, + {"md5": "", "file": "bios/quasi88/N88_KNJ2.ROM"}]}, + + # Nintendo + "fds": {"name": "Nintendo Family Computer Disk System", "biosFiles": [{"md5": "", "file": "bios/NstDatabase.xml"}, + {"md5": "ca30b50f880eb660a320674ed365ef7a", "file": "bios/disksys.rom"}]}, + + "gb": {"name": "Game Boy", "biosFiles": [{"md5": "32fbbd84168d3482956eb3c5051637f5", "file": "bios/gb_bios.bin"}, + {"md5": "dbfce9db9deaa2567f6a84fde55f9680", "file": "bios/gbc_bios.bin"}]}, + + "gbc": {"name": "Game Boy Color", "biosFiles": [{"md5": "32fbbd84168d3482956eb3c5051637f5", "file": "bios/gb_bios.bin"}, + {"md5": "dbfce9db9deaa2567f6a84fde55f9680", "file": "bios/gbc_bios.bin"}]}, + + "gba": {"name": "Game Boy Advance", "biosFiles": [{"md5": "a860e8c0b6d573d191e4ec7db1b1e4f6", "file": "bios/gba_bios.bin"}, + {"md5": "32fbbd84168d3482956eb3c5051637f5", "file": "bios/gb_bios.bin"}, + {"md5": "dbfce9db9deaa2567f6a84fde55f9680", "file": "bios/gbc_bios.bin"}, + {"md5": "d574d4f9c12f305074798f54c091a8b4", "file": "bios/sgb_bios.bin"}]}, + + "n64": {"name": "Nintendo 64", "biosFiles": [{"md5": "8d3d9f294b6e174bc7b1d2fd1c727530", "file": "bios/64DD_IPL.bin"}]}, + + "nds": {"name": "Nintendo DS", "biosFiles": [{"md5": "145eaef5bd3037cbc247c213bb3da1b3", "file": "bios/firmware.bin"}, + {"md5": "df692a80a5b1bc90728bc3dfc76cd948", "file": "bios/bios7.bin"}, + {"md5": "a392174eb3e572fed6447e956bde4b25", "file": "bios/bios9.bin"}]}, + + "satellaview": {"name": "Satellaview", "biosFiles": [{"md5": "fed4d8242cfbed61343d53d48432aced;96cf17bf589fcbfa6f8de2dc84f19fa2", "file": "bios/BS-X.bin"}]}, + + "sufami": {"name": "Sufami", "biosFiles": [{"md5": "d3a44ba7d42a74d3ac58cb9c14c6a5ca", "file": "bios/STBIOS.bin"}]}, + + + # Panasonic, Sanyo and Goldstar + "3do": {"name": "3DO", "biosFiles": [{"md5": "f47264dd47fe30f73ab3c010015c155b", "file": "bios/panafz1.bin"}, + {"md5": "51f2f43ae2f3508a14d9f56597e2d3ce", "file": "bios/panafz10.bin"}, + {"md5": "8639fd5e549bd6238cfee79e3e749114", "file": "bios/goldstar.bin"}, + {"md5": "35fa1a1ebaaeea286dc5cd15487c13ea", "file": "bios/sanyotry.bin"}, + {"md5": "8970fc987ab89a7f64da9f8a8c4333ff", "file": "bios/3do_arcade_saot.bin"}]}, + + + # Sega + "naomi": {"name": "Naomi", "biosFiles": [{"md5": "3bffafac42a7767d8dcecf771f5552ba", "file": "bios/dc/naomi_boot.bin"}, + {"md5": "e63d892cdb8b532351dc7020bb60b6f4", "file": "bios/dc/naomi.zip"}]}, + + "atomiswave": {"name": "Atomiswave", "biosFiles": [{"md5": "0ec5ae5b5a5c4959fa8b43fcf8687f7c", "file": "bios/dc/awbios.zip"}]}, + + "dreamcast": {"name": "Dreamcast", "biosFiles": [{"md5": "e10c53c2f8b90bab96ead2d368858623", "file": "bios/dc/dc_boot.bin"}, + {"md5": "0a93f7940c455905bea6e392dfde92a4", "file": "bios/dc/dc_flash.bin"}]}, + + "gamegear": {"name": "Game Gear", "biosFiles": [{"md5": "672e104c3be3a238301aceffc3b23fd6", "file": "bios/bios.gg"}]}, + + "mastersystem": {"name": "MasterSystem", "biosFiles": [{"md5": "840481177270d5642a14ca71ee72844c", "file": "bios/bios_E.sms"}, + {"md5": "840481177270d5642a14ca71ee72844c", "file": "bios/bios_U.sms"}, + {"md5": "24a519c53f67b00640d0048ef7089105", "file": "bios/bios_J.sms"}]}, + + "saturn": {"name": "Sega Saturn", "biosFiles": [{"md5": "af5828fdff51384f99b3c4926be27762", "file": "bios/saturn_bios.bin"}, + {"md5": "85ec9ca47d8f6807718151cbcca8b964", "file": "bios/sega_101.bin"}, + {"md5": "3240872c70984b6cbfda1586cab68dbe", "file": "bios/mpr-17933.bin"}, + {"md5": "255113ba943c92a54facd25a10fd780c", "file": "bios/mpr-18811-mx.ic1"}, + {"md5": "1cd19988d1d72a3e7caa0b73234c96b4", "file": "bios/mpr-19367-mx.ic1"}, + {"md5": "53a094ad3a188f86de4e64624fe9b3ca", "file": "bios/stvbios.zip"}]}, + + "segacd": {"name": "Sega CD", "biosFiles": [{"md5": "e66fa1dc5820d254611fdcdba0662372", "file": "bios/bios_CD_E.bin"}, + {"md5": "854b9150240a198070150e4566ae1290", "file": "bios/bios_CD_U.bin"}, + {"md5": "278a9397d192149e84e820ac621a8edd", "file": "bios/bios_CD_J.bin"}]}, + + "sc-3000": {"name": "SC-3000", "biosFiles": [{"md5": "", "file": "bios/Machines/SEGA - SC-3000/config.ini"}]}, + + + # Sharp + "x68000": {"name": "Sharp x68000", "biosFiles": [{"md5": "", "file": "bios/keropi/iplrom.dat"}, + {"md5": "", "file": "bios/keropi/iplrom30.dat"}, + {"md5": "", "file": "bios/keropi/iplromco.dat"}, + {"md5": "", "file": "bios/keropi/iplromxv.dat"}, + {"md5": "", "file": "bios/keropi/cgrom.dat"}]}, + + "x1": {"name": "Sharp X1", "biosFiles": [{"md5": "eeeea1cd29c6e0e8b094790ae969bfa7", "file": "bios/xmil/IPLROM.X1"}, + {"md5": "851e4a5936f17d13f8c39a980cf00d77", "file": "bios/xmil/IPLROM.X1T"}]}, + + + # SNK + "neogeo": {"name": "NeoGeo", "biosFiles": [{"md5": "", "file": "neogeo/neogeo.zip"}]}, + + "neogeocd": {"name": "NeoGeo CD", "biosFiles": [{"md5": "", "file": "neogeo/neogeo.zip"}, + {"md5": "", "file": "bios/neocdz.zip"}, + {"md5": "e255264d85d5765013b1b2fa8109dd53", "file": "bios/neocd/ng-lo.rom"}, + {"md5": "f39572af7584cb5b3f70ae8cc848aba2", "file": "bios/neocd/neocd_z.rom"}]}, + + + # Sony Computer Entertainment + "psx": {"name": "PSX", "biosFiles": [{"md5": "8dd7d5296a650fac7319bce665a6a53c", "file": "bios/scph5500.bin"}, + {"md5": "490f666e1afb15b7362b406ed1cea246", "file": "bios/scph5501.bin"}, + {"md5": "32736f17079d0b2b7024407c39bd3050", "file": "bios/scph5502.bin"}]}, + + + # Sinclair + "zxspectrum": {"name": "ZX Spectrum", "biosFiles": [{"md5": "", "file": "bios/128p-0.rom"}, + {"md5": "", "file": "bios/128p-1.rom"}, + {"md5": "", "file": "bios/trdos.rom"}, + {"md5": "", "file": "bios/gluck.rom"}, + {"md5": "", "file": "bios/256s-0.rom"}, + {"md5": "", "file": "bios/256s-1.rom"}, + {"md5": "", "file": "bios/256s-2.rom"}, + {"md5": "", "file": "bios/256s-3.rom"}]}, + + + } + + +class BiosStatus: + MISSING = "MISSING" + UNTESTED = "UNTESTED" + + +def md5sum(filename, blocksize=65536): + hash = md5() + with open(filename, "rb") as f: + for block in iter(lambda: f.read(blocksize), b""): + hash.update(block) + return hash.hexdigest() + + +def checkBios(systems, prefix): + missingBios = {} + for system in systems.keys(): + for file in systems[system]["biosFiles"]: + x = 0 + filepath = prefix + "/" + file["file"] + if ";" in file["md5"]: + filehashes = file["md5"].split(";") + else: + filehashes = (file["md5"],) + if isfile(filepath): + md5 = md5sum(filepath) + if md5 not in filehashes and file["md5"] != "": + if system not in missingBios: + missingBios[system] = {} + for filehash in filehashes: + x += 1 + missingBios[system][file["file"]+"(hash%s)" % x] = {"status": BiosStatus.UNTESTED, "md5": filehash, "file": file["file"]} + else: + if system not in missingBios: + missingBios[system] = {} + for filehash in filehashes: + x += 1 + missingBios[system][file["file"]+"(hash%s)" % x] = {"status": BiosStatus.MISSING, "md5": filehash, "file": file["file"]} + return missingBios + + +# Returns True if missing, False if nothing is missing +def displayMissingBios(systems, missingBios): + sortedMissingBios = OrderedDict(sorted(missingBios.items())) + if sortedMissingBios: + for system in sortedMissingBios: + print("> {}".format(systems[system]["name"])) + for file in sortedMissingBios[system].keys(): + md5str = "-" + if sortedMissingBios[system][file]["md5"] != "": + md5str = sortedMissingBios[system][file]["md5"] + print("{} {} {}".format(sortedMissingBios[system][file]["status"], md5str, sortedMissingBios[system][file]["file"])) + return True + else: + print("No missing bios") + return False + + +def createReadme(systems): + for system in sorted(systems): + print("{}:".format(systems[system]["name"])) + for bios in systems[system]["biosFiles"]: + if ";" in bios["md5"]: + filehashes = bios["md5"].split(";") + else: + filehashes = (bios["md5"],) + for filehash in filehashes: + print("{:32} {}".format(filehash, "/storage/roms/" + bios["file"])) + print("") + +if __name__ == '__main__': + if len(sys.argv) == 1: + prefix = "/storage/roms/" + if displayMissingBios(systems, checkBios(systems, prefix)): + exit(2) + elif sys.argv[1] == "--createReadme": + createReadme(systems) + elif len(sys.argv) == 3 and sys.argv[1] in ["--filter", "--strictfilter"]: + prefix = "/storage/roms/" + lowered_name = sys.argv[2].lower() + + filtered_systems = {} + for system in systems: + lowered_system = system.lower() + lowered_system_name = systems[system]['name'].lower() + + if ((lowered_name == lowered_system or lowered_name == lowered_system_name) or + (sys.argv[1] == "--filter" and (lowered_name in lowered_system or lowered_name in lowered_system_name))): + filtered_systems[system] = systems[system] + + if len(filtered_systems) == 0: + print("No system named {} found".format(sys.argv[2])) + exit(1) + + if displayMissingBios(filtered_systems, checkBios(filtered_systems, prefix)): + exit(2) diff --git a/packages/rocknix/sources/scripts/benchmark b/packages/rocknix/sources/scripts/benchmark new file mode 100755 index 000000000..0e42bed05 --- /dev/null +++ b/packages/rocknix/sources/scripts/benchmark @@ -0,0 +1,112 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +if [ ! "${HW_ARCH}" = "x86_64" ] +then + echo "This platform is not currently supported." + exit 1 +fi + +HOSTNAME=$(hostname) + +if [ -z "${1}" ] +then + BENCHLOG="${1}" +else + BENCHLOG="benchmark.log" +fi + +LOG="${HOME}/${BENCHLOG}.log" + +SYSTEM_TDP=$(get_setting system.overclock) +SYSTEM_GOV=$(get_setting system.cpugovernor) +SYSTEM_EPP=$(get_setting system.power.epp) +SYSTEM_GPU=$(get_setting system.gpuperf) +SYSTEM_THREADS=$(get_setting system.threads) +SYSTEM_POWERSAVE=$(get_setting system.powersave) +SYSTEM_COOLING=$(get_setting cooling.profile) + +case ${1} in + performance) + onlinethreads all + performance + gpu_performance_level profile_peak + cpu_perftune performance + set_setting system.powersave 0 + systemctl restart powerstate + set_setting cooling.profile auto + systemctl restart fancontrol + ;; + balanced_performance) + onlinethreads all + schedutil + gpu_performance_level auto + cpu_perftune balance_performance + set_setting system.powersave 0 + systemctl restart powerstate + set_setting cooling.profile auto + systemctl restart fancontrol + ;; + balanced_powersave) + onlinethreads 4 + powersave + gpu_performance_level low + cpu_perftune balance_power + set_setting system.powersave 1 + systemctl restart powerstate + set_setting cooling.profile quiet + systemctl restart fancontrol + ;; + powersave) + onlinethreads 4 + powersave + gpu_performance_level low + cpu_perftune power + set_setting system.powersave 1 + systemctl restart powerstate + set_setting cooling.profile quiet + systemctl restart fancontrol + ;; + *) + # Default Settings + onlinethreads all + schedutil + gpu_performance_level auto + cpu_perftune balance_performance + set_setting system.powersave 0 + systemctl restart powerstate + set_setting cooling.profile auto + systemctl restart fancontrol + ;; +esac + +if [ -e "${LOG}" ] +then + rm -f ${LOG} +fi + +echo "${HOSTNAME} - ${1}" + +for TDP in 4.5w 6w 9w 15w 18w 24w 28w +do + overclock ${TDP} >/dev/null 2>&1 + echo "Testing @ ${TDP}" 2>&1 | tee -a ${LOG} + echo "----" 2>&1 | tee -a ${LOG} + glmark2-es2-wayland --fullscreen --annotate 2>&1 | awk '/glmark2 Score:/ {print "GLMark: "$3}' | tee -a ${LOG} + cd /usr/bin + ./7z b 2>&1 | awk '/^Tot:/ {print "7z: "$4}' | tee -a ${LOG} + echo "----" 2>&1 | tee -a ${LOG} +done + +overclock ${SYSTEM_TDP} +onlinethreads ${SYSTEM_THREADS} +${SYSTEM_GOV} +gpu_performance_level ${SYSTEM_GPU} +cpu_perftune ${SYSTEM_EPP} +set_setting system.powersave ${SYSTEM_POWERSAVE} +systemctl restart powerstate +set_setting cooling.profile ${SYSTEM_COOLING} +systemctl restart fancontrol diff --git a/packages/rocknix/sources/scripts/bezels.sh b/packages/rocknix/sources/scripts/bezels.sh new file mode 100755 index 000000000..283e47415 --- /dev/null +++ b/packages/rocknix/sources/scripts/bezels.sh @@ -0,0 +1,217 @@ +#!/bin/sh + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2019-present SumavisionQ5 (https://github.com/SumavisionQ5) +# Modifications by Shanti Gilbert (https://github.com/shantigilbert) + +PLATFORM="$1" + +ROMNAME=$(basename "${2%.*}") +RACONFIG="/storage/.config/retroarch/retroarch.cfg" +OPACITY="1.000000" +AR_INDEX="23" +BEZELDIR="/storage/roms/bezels" +INIFILE="/storage/.config/system/bezels/settings.ini" +DEFAULT_BEZEL="false" + +case $PLATFORM in + "arcade"|"fba"|"fbn"|"neogeo"|"mame"|cps*) + PLATFORM="ARCADE" + ;; + "default") + if [ -f "/storage/.config/bezels_enabled" ]; then + clear_bezel + sed -i '/input_overlay = "/d' $RACONFIG + rm "/storage/.config/bezels_enabled" + fi + exit 0 + ;; + "RETROPIE") + # fbterm does not need bezels + exit 0 + ;; +esac + + if [ ! -f "/storage/.config/bezels_enabled" ]; then + touch /storage/.config/bezels_enabled + fi + +# we make sure the platform is all lowercase +PLATFORM=${PLATFORM,,} + +# if a backup does not exists make a copy of retroarch.cfg so we can return to it when we disable bezels + # for future use...maybe + #if [ ! -f "$RACONFIG.org" ]; then + # cp "$RACONFIG" "$RACONFIG.org" + #fi + +# bezelmap.cfg in $BEZELDIR/ is to share bezels between arcade clones and parent. +BEZELMAP="/storage/.config/system/bezels/arcademap.cfg" +BZLNAME=$(sed -n "/"$PLATFORM"_"$ROMNAME" = /p" "$BEZELMAP") +BZLNAME="${BZLNAME#*\"}" +BZLNAME="${BZLNAME%\"*}" +OVERLAYDIR1=$(find $BEZELDIR/$PLATFORM -maxdepth 1 -iname "$ROMNAME*.cfg" | sort -V | head -n 1) +[ ! -z "$BZLNAME" ] && OVERLAYDIR2=$(find $BEZELDIR/$PLATFORM -maxdepth 1 -iname "$BZLNAME*.cfg" | sort -V | head -n 1) +OVERLAYDIR3="$BEZELDIR/$PLATFORM/default.cfg" + +clear_bezel() { + sed -i '/aspect_ratio_index = "/d' $RACONFIG + sed -i '/custom_viewport_width = "/d' $RACONFIG + sed -i '/custom_viewport_height = "/d' $RACONFIG + sed -i '/custom_viewport_x = "/d' $RACONFIG + sed -i '/custom_viewport_y = "/d' $RACONFIG + sed -i '/video_scale_integer = "/d' $RACONFIG + sed -i '/input_overlay_opacity = "/d' $RACONFIG + echo 'video_scale_integer = "false"' >> $RACONFIG + echo 'input_overlay_opacity = "0.150000"' >> $RACONFIG + } + +set_bezel() { +# $OPACITY: input_overlay_opacity +# ${AR}_INDEX: aspect_ratio_index +# $1: custom_viewport_width +# $2: custom_viewport_height +# $3: ustom_viewport_x +# $4: custom_viewport_y +# $5: video_scale_integer +# $6: video_scale + + clear_bezel + sed -i '/input_overlay_opacity = "/d' $RACONFIG + sed -i "1i input_overlay_opacity = \"$OPACITY\"" $RACONFIG + sed -i "2i aspect_ratio_index = \"${AR}_INDEX\"" $RACONFIG + sed -i "3i custom_viewport_width = \"$1\"" $RACONFIG + sed -i "4i custom_viewport_height = \"$2\"" $RACONFIG + sed -i "5i custom_viewport_x = \"$3\"" $RACONFIG + sed -i "6i custom_viewport_y = \"$4\"" $RACONFIG + sed -i "7i video_scale_integer = \"$5\"" $RACONFIG + } + +check_overlay_dir() { + +# The bezel will be searched and used in following order: +# 1.$OVERLAYDIR1 will be used, if it does not exist, then +# 2.$OVERLAYDIR2 will be used, if it does not exist, then +# 3.$OVERLAYDIR2 platform default bezel as "$BEZELDIR/"$PLATFORM"/default.cfg\" will be used. +# 4.Default bezel at "$BEZELDIR/default.cfg\" will be used. + + sed -i '/input_overlay = "/d' $RACONFIG + + if [ -f "$OVERLAYDIR1" ]; then + echo -e "input_overlay = \""$OVERLAYDIR1"\"\n" >> $RACONFIG + elif [ -f "$OVERLAYDIR2" ]; then + echo -e "input_overlay = \""$OVERLAYDIR2"\"\n" >> $RACONFIG + elif [ -f "$OVERLAYDIR3" ]; then + echo -e "input_overlay = \""$OVERLAYDIR3"\"\n" >> $RACONFIG + else + echo -e "input_overlay = \"$BEZELDIR/default.cfg\"\n" >> $RACONFIG + DEFAULT_BEZEL="true" + fi +} + +# Only 720P and 1080P can use bezels. For 480p/i and 576p/i we just delete bezel config. +hdmimode=$(cat /sys/class/display/mode) + +case $hdmimode in + 480*) + sed -i '/input_overlay = "/d' $RACONFIG + clear_bezel + ;; + 576*) + sed -i '/input_overlay = "/d' $RACONFIG + clear_bezel + ;; + 720p*) + + check_overlay_dir "$PLATFORM" + case "$PLATFORM" in + "gba") + set_bezel "467" "316" "405" "190" "false" + ;; + "gamegear") + set_bezel "780" "580" "245" "70" "false" + ;; + "gb") + set_bezel "429" "380" "420" "155" "false" + ;; + "gbc") + set_bezel "430" "380" "425" "155" "false" + ;; + "ngp") + set_bezel "461" "428" "407" "145" "false" + ;; + "ngpc") + set_bezel "460" "428" "407" "145" "false" + ;; + "wonderswan") + set_bezel "645" "407" "325" "150" "false" + ;; + "wonderswancolor") + set_bezel "643" "405" "325" "150" "false" + ;; + *) + # delete aspect_ratio_index to make sure video is expanded fullscreen. Only certain AMD64 platforms need custom_viewport. + clear_bezel + sed -i '/input_overlay_opacity = "/d' $RACONFIG + sed -i "1i input_overlay_opacity = \"$OPACITY\"" $RACONFIG + ;; + esac + ;; + # For Amlogic TV box, the following resolution is 1080p/i. + 1080*) + check_overlay_dir "$PLATFORM" + case "$1" in + "gba") + set_bezel "698" "472" "609" "288" "false" + ;; + "gamegear") + set_bezel "1160" "850" "380" "120" "false" + ;; + "gb") + set_bezel "625" "565" "645" "235" "false" + ;; + "gbc") + set_bezel "625" "565" "645" "235" "false" + ;; + "ngp") + set_bezel "700" "635" "610" "220" "false" + ;; + "ngpc") + set_bezel "700" "640" "610" "215" "false" + ;; + "wonderswan") + set_bezel "950" "605" "490" "225" "false" + ;; + "wonderswancolor") + set_bezel "950" "605" "490" "225" "false" + ;; + *) + clear_bezel + sed -i '/input_overlay_opacity = "/d' $RACONFIG + sed -i "1i input_overlay_opacity = \"$OPACITY\"" $RACONFIG + ;; + esac + ;; +esac + + if [ "$DEFAULT_BEZEL" = "true" ]; then + set_bezel "1427" "1070" "247" "10" "false" + fi + +# If we disable bezel in setting.ini for certain platform, we just delete bezel config. +Bezel=$(sed -n "/"$PLATFORM"_Bezel = /p" $INIFILE) +Bezel="${Bezel#*\"}" +Bezel="${Bezel%\"*}" +if [ "$Bezel" = "OFF" ]; then +sed -i '/input_overlay = "/d' $RACONFIG +fi + +# Note: +# 1. Different AMD64 platforms have different bezels, they may need different viewport value even for same platform. +# So, I think this script should be stored in $BEZELDIR/ or some place wich can be modified by users. +# 2. For Arcade games, I created a bezelmap.cfg in $BEZELDIR/ in order to share bezels between arcade clones and parent. +# In fact, ROMs of other platforms can share certain bezel if you write mapping relationship in bezelmap.cfg. +# 3. I modified es_systems.cfg to set $1 as platfrom for all platfrom. +# For some libretro core such as /usr/bin/sx05reRunEmu.sh LIBRETRO scummvm %ROM%, $1 not right platform value, +# you may need some tunings on them. +# 4. I am a Linux noob, so the codes are a mess. Sorry for that:) diff --git a/packages/rocknix/sources/scripts/brightness b/packages/rocknix/sources/scripts/brightness new file mode 100755 index 000000000..736d0ad28 --- /dev/null +++ b/packages/rocknix/sources/scripts/brightness @@ -0,0 +1,90 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +## Load minimal distribution settings to improve +## performance. +. /etc/profile.d/001-functions + +BRIGHTNESS_DEV="$(find /sys/class/backlight/*/ -name brightness -print -quit 2>/dev/null)" +BRIGHTNESS_PATH="${BRIGHTNESS_DEV%/brightness}" + +declare -a BRIGHTNESS_TABLE +BRIGHTNESS_TABLE=($(get_setting brightness_table)) +if [ -z ${BRIGHTNESS_TABLE} ]; then + BRIGHTNESS_TABLE=(0 0.04 0.08 0.13 0.19 0.25 0.33 0.42 0.54 0.71 1) + set_setting brightness_table "${BRIGHTNESS_TABLE[*]}" +fi +NUM_STEPS=${#BRIGHTNESS_TABLE[@]} + +MAX=$(<$(find /sys/class/backlight/*/ -name max_brightness -print -quit 2>/dev/null)) +function compute() { + echo "${BRIGHTNESS_TABLE[$NEXT]} * ${MAX}" | bc -l +} + +if [ ! -f "${BRIGHTNESS_DEV}" ] +then + echo "ERROR: There is no BRIGHTNESS object to manage." + exit 1 +fi + +getBrightness() { + echo $(<${BRIGHTNESS_DEV}) +} + +setBrightness() { + echo "${1}" > ${BRIGHTNESS_DEV} + set_setting system.brightness "${2}" +} + +stepUp() { + CURRENT=$(get_setting system.brightness) + NEXT=$(( ${CURRENT} + 1 )) + if (( ${NEXT} >= $NUM_STEPS )) + then + NEXT=$(( $NUM_STEPS - 1 )) + fi + + BRIGHTNESS=$(printf '%.0f' "$(compute)") + if (($BRIGHTNESS > $MAX )) + then + BRIGHTNESS=$MAX + fi + + setBrightness ${BRIGHTNESS} ${NEXT} +} + +stepDown() { + CURRENT=$(get_setting system.brightness) + NEXT=$(( ${CURRENT} - 1 )) + if (( ${NEXT} < 0 )) + then + NEXT=0 + fi + + BRIGHTNESS=$(printf '%.0f' "$(compute)") + + setBrightness ${BRIGHTNESS} ${NEXT} +} + +case ${1} in + "up") + stepUp + ;; + "down") + stepDown + ;; + "device") + echo ${BRIGHTNESS_DEV} + ;; + "path") + echo ${BRIGHTNESS_PATH} + ;; + "set") + NEXT=${2} + setBrightness "$(printf '%.0f' "$(compute)")" ${2} + ;; + *) + echo $(getBrightness) + ;; +esac diff --git a/packages/rocknix/sources/scripts/chksysconfig b/packages/rocknix/sources/scripts/chksysconfig new file mode 100755 index 000000000..1e946475d --- /dev/null +++ b/packages/rocknix/sources/scripts/chksysconfig @@ -0,0 +1,39 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +CFG_PATH="/storage/.config/system/configs" + +backup() { + TYPE=$(grep a ${CFG_PATH}/system.cfg 2>&1) + if [[ ! "${TYPE}" =~ binary ]] + then + cp ${CFG_PATH}/system.cfg ${CFG_PATH}/system.cfg.backup + fi +} + +restore() { + cp ${CFG_PATH}/system.cfg.backup ${CFG_PATH}/system.cfg +} + +verify() { + TYPE=$(grep a ${CFG_PATH}/system.cfg 2>&1) + if [[ "${TYPE}" =~ binary ]] + then + restore + fi +} + +case ${1} in + verify) + verify + ;; + backup) + backup + ;; + restore) + restore + ;; +esac diff --git a/packages/rocknix/sources/scripts/cleanup_overlay b/packages/rocknix/sources/scripts/cleanup_overlay new file mode 100755 index 000000000..924ddf044 --- /dev/null +++ b/packages/rocknix/sources/scripts/cleanup_overlay @@ -0,0 +1,11 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +for STORAGE in /storage/games-internal /storage/games-external +do + find ${STORAGE} -type d -empty -delete +done +reboot diff --git a/packages/rocknix/sources/scripts/error.sh b/packages/rocknix/sources/scripts/error.sh new file mode 100755 index 000000000..db010efe2 --- /dev/null +++ b/packages/rocknix/sources/scripts/error.sh @@ -0,0 +1,19 @@ +#!/usr/bin/bash +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2021-present 351ELEC + +. /etc/profile + +clear +if [ -n "$1" ] +then + text_viewer -w -e -t "BIOS ERROR" -m "$*" +else + ERROR=$(tail -n 25 /var/log/es_launch_stderr.log) + if [ !-z "${ERROR}" ]; + then + text_viewer -w -e -t ERROR -m "${ERROR}" + fi +fi + +clear diff --git a/packages/rocknix/sources/scripts/factoryreset b/packages/rocknix/sources/scripts/factoryreset new file mode 100755 index 000000000..3c2e0a2d8 --- /dev/null +++ b/packages/rocknix/sources/scripts/factoryreset @@ -0,0 +1,39 @@ +#!/bin/bash + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert) +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +case "${1}" in + "retroarch") + rm -f /storage/.config/retroarch/retroarch.cfg + cp -rf /usr/config/retroarch/retroarch.cfg /storage/.config/retroarch/retroarch.cfg + ;; + "retroarch-full") + rm -rf /storage/.config/retroarch + cp -rf /usr/config/retroarch /storage/.config/ + ;; + "mednafen") + rm -f /storage/.config/mednafen/mednafen.cfg + ;; + "overlays") + rm -rf $(cat /usr/lib/systemd/system/tmp-*.mount | grep -Eo 'upperdir=.*,' | sed -e 's~upperdir=~~g; s~,~~g') + sync + systemctl reboot + ;; + "audio") + systemctl stop pipewire-pulse pipewire-pulse.socket pipewire pipewire.socket wireplumber + rm -rf /storage/.local/state /storage/.config/pulse /storage/asound* + systemctl reboot + ;; + "ALL") + swapoff -a 2>/dev/null + umount /storage/roms 2>/dev/null ||: + umount /storage/games-external 2>/dev/null ||: + cd / + find /storage -mindepth 1 \( ! -regex '^/storage/.update.*' -a ! -regex '^/storage/roms.*' -a ! -regex '^/storage/games-.*' \) -delete 2>/dev/null + mkdir /storage/.config/ + sync 2>/dev/null + systemctl reboot + ;; +esac diff --git a/packages/rocknix/sources/scripts/find.sh b/packages/rocknix/sources/scripts/find.sh new file mode 100755 index 000000000..d363e3b2e --- /dev/null +++ b/packages/rocknix/sources/scripts/find.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert) + +find / -type d \( -path /var/media -o -path /storage/roms \) -prune -o -iname *${1}* -print diff --git a/packages/rocknix/sources/scripts/getfilters b/packages/rocknix/sources/scripts/getfilters new file mode 100755 index 000000000..1298d5637 --- /dev/null +++ b/packages/rocknix/sources/scripts/getfilters @@ -0,0 +1,11 @@ +#!/bin/sh + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert) +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +find /usr/share/retroarch/filters/64bit/video/ -name '*.filt' -print0 | + while IFS= read -r -d '' line; do + echo ${line#/usr/share/retroarch/filters/64bit/video/}, +done | sort + diff --git a/packages/rocknix/sources/scripts/getoverlays b/packages/rocknix/sources/scripts/getoverlays new file mode 100755 index 000000000..96f73aff9 --- /dev/null +++ b/packages/rocknix/sources/scripts/getoverlays @@ -0,0 +1,12 @@ +#!/bin/bash + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert) +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + + +find /storage/overlays/ -name '*.cfg' -print0 | + while IFS= read -r -d '' line; do + echo ${line#/storage/overlays/}, +done | sort + diff --git a/packages/rocknix/sources/scripts/getshaders b/packages/rocknix/sources/scripts/getshaders new file mode 100755 index 000000000..318fa5908 --- /dev/null +++ b/packages/rocknix/sources/scripts/getshaders @@ -0,0 +1,23 @@ +#!/bin/bash + +. /etc/profile + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert) +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +if [ -z "$UI_SHADER" ]; then + option=".*\.\(glslp\|slangp\)$" +else + option=".*\.\($UI_SHADER\)$" +fi + +for dir in /tmp/shaders +do + if [ -d "${dir}" ]; then + find ${dir} -regex "${option}" -print0 | + while IFS= read -r -d '' line; do + echo ${line#${dir}/}, + done | sort + fi +done diff --git a/packages/rocknix/sources/scripts/jelos-info b/packages/rocknix/sources/scripts/jelos-info new file mode 100755 index 000000000..c01d6f5d7 --- /dev/null +++ b/packages/rocknix/sources/scripts/jelos-info @@ -0,0 +1,140 @@ +#!/bin/bash + +source /etc/profile + +### Apply device quirks +if [ -e "/sys/firmware/devicetree/base/model" ] +then + export QUIRK_DEVICE="$(tr -d '\0' /dev/null)" +else + export QUIRK_DEVICE="$(tr -d '\0' /dev/null) $(tr -d '\0' /dev/null)" +fi +export QUIRK_DEVICE="$(echo ${QUIRK_DEVICE} | sed -e "s#[/]#-#g")" + +info_quirks() { + for QUIRK in /usr/lib/autostart/quirks/platforms/"${HW_DEVICE}"/info.d/${1}/* \ + /usr/lib/autostart/quirks/devices/"${QUIRK_DEVICE}"/info.d/${1}/* + do + "${QUIRK}" 2>/dev/null + done +} + +### short version (for osd) +if test "$1" = "--short" +then + BATT=$(awk 'BEGIN {FS="="} /POWER_SUPPLY_CAPACITY=/ {print $2; exit}' /sys/class/power_supply/{BAT,bat}*/uevent 2>/dev/null) + DT=$(date +%H:%M) + if test -n "${BATT}" + then + echo "Battery: ${BATT}% - ${DT}" + else + echo "${DT}" + fi + exit 0 +fi +### + +V_CPUNB=$(grep -E $'^processor\t:' /proc/cpuinfo | wc -l) +V_CPUMODEL1=$(grep -E $'^model name\t:' /proc/cpuinfo | head -1 | sed -e s+'^model name\t: '++) +V_SYSTEM=$(uname -rs) +V_ARCH=$(uname -m) + +[[ "$V_CPUMODEL1" ]] || V_CPUMODEL1="${HW_CPU}" + +# battery +BATT=$(awk 'BEGIN {FS="="} /POWER_SUPPLY_CAPACITY=/ {print $2; exit}' /sys/class/power_supply/{BAT,bat}*/uevent 2>/dev/null) + +case ${HW_ARCH} in + aarch64) + declare -a CF MF + + CNTR=0 + for CPUFREQ in /sys/devices/system/cpu/cpufreq/* + do + if [[ "${CPUFREQ}" =~ boost ]] + then + continue + fi + if [ "${CNTR}" -eq 0 ] + then + CF+=("CURRENT FREQUENCY:") + MF+=("MAXIMUM FREQUENCY:") + fi + RELCPUS=$(cat ${CPUFREQ}/related_cpus 2>/dev/null) + if [ "${#RELCPUS}" -gt 1 ] + then + FIELD="$(cat ${CPUFREQ}/related_cpus 2>/dev/null | awk '{print $1"-"$NF}')" + else + FIELD="$(cat ${CPUFREQ}/related_cpus 2>/dev/null)" + fi + CF+=("THREADS ${FIELD}: $(( $(cat ${CPUFREQ}/scaling_cur_freq 2>/dev/null | sort | tail -n 1) / 1000))MHz") + MF+=("THREADS ${FIELD}: $(( $(cat ${CPUFREQ}/scaling_max_freq 2>/dev/null | sort | tail -n 1) / 1000))MHz") + CNTR=$(( CNTR + 1 )) + done + ;; +esac + +echo "SYSTEM INFORMATION:" +echo "DEVICE: ${QUIRK_DEVICE}" +echo "OPERATING SYSTEM: ${OS_NAME}" +echo "VERSION: ${OS_VERSION}" +echo "BUILD ID: ${BUILD_ID:0:7} (${BUILD_BRANCH})" +echo "KERNEL: ${V_SYSTEM} ($(uname -m))" +echo "DISK SPACE:" +echo "/storage: $(df -h /storage | awk '/dev/ {print $3"/"$2" ("$5")"}')" +echo "/storage/games-internal: $(df -h /storage/games-internal | awk '/dev/ {print $3"/"$2" ("$5")"}')" +echo "/storage/games-external: $(df -h /storage/games-external | awk '/dev/ {print $3"/"$2" ("$5")"}')" + +if test -n "${BATT}" +then + echo "BATTERY INFORMATION:" + echo "BATTERY REMAINING: ${BATT}%" + BATPATH="/sys/class/power_supply/$(ls /sys/class/power_supply/ | grep -i bat | tail -n 1)" + if [ -e "${BATPATH}/health" ] + then + echo "BATTERY HEALTH: $(cat ${BATPATH}/health)" + fi + if [ -e "${BATPATH}/status" ] + then + echo "BATTERY STATE: $(cat ${BATPATH}/status)" + fi +fi +echo "CPU INFORMATION:" +echo "CPU: ${V_CPUMODEL1} (${V_CPUNB} Cores)" + +# temperature +# Unit: millidegree Celsius +if [ -n "${DEVICE_TEMP_SENSOR}" ] +then + TEMPE=$(printf "%.0f" $(awk '{ total += $1; count++ } END { print total/count }' ${DEVICE_TEMP_SENSOR} 2>/dev/null) 2>/dev/null | sed -e s+"[0-9][0-9][0-9]$"++) + if [ -n "${TEMPE}" ] + then + echo "CPU TEMPERATURE: ${TEMPE}°" + fi +fi + +if [ "${DEVICE_HAS_FAN}" = "true" ] +then + FANSPEED=$(cat ${DEVICE_FAN_INPUT} 2>/dev/null) + if [ "${FANSPEED}" = "0" ] + then + FANSPEED="OFF" + else + FANSPEED="${FANSPEED} RPM" + fi + echo "CPU FAN: ${FANSPEED}" +fi +case ${HW_ARCH} in + aarch64) + for C in "${CF[@]}" + do + echo ${C} + done + for M in "${MF[@]}" + do + echo ${M} + done + ;; +esac + +info_quirks diff --git a/packages/rocknix/sources/scripts/led_flash b/packages/rocknix/sources/scripts/led_flash new file mode 100755 index 000000000..660e20001 --- /dev/null +++ b/packages/rocknix/sources/scripts/led_flash @@ -0,0 +1,42 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +COLOR=$(get_setting led.color) +BRI=$(get_setting led.brightness) + +if [ -z "${COLOR}" ] || \ + [ "${COLOR}" = "off" ] || \ + [ -n "${DEVICE_LED_CHARGING}" ] +then + FLASH_COLOR="red" +else + FLASH_COLOR="${COLOR}" +fi + +if [ "${DEVICE_LED_BRIGHTNESS}" = "true" ] +then + ledcontrol brightness mid +fi + +for i in $(seq 1 1 3) +do + ledcontrol ${FLASH_COLOR} + sleep .5 + ledcontrol poweroff + sleep .5 +done + +if [ -n "${COLOR}" ] +then + ledcontrol ${COLOR} +else + ledcontrol default +fi + +if [ "${DEVICE_LED_BRIGHTNESS}" = "true" ] +then + ledcontrol brightness ${BRI} +fi diff --git a/packages/rocknix/sources/scripts/migrate_roms b/packages/rocknix/sources/scripts/migrate_roms new file mode 100644 index 000000000..b3ab9abbf --- /dev/null +++ b/packages/rocknix/sources/scripts/migrate_roms @@ -0,0 +1,36 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +LOGFILE="/var/log/migrate.log" + +read -p "WARNING: This tool can cause data loss... Make sure you have a backup before proceeding... Press control-c now to cancel, or any other key to continue..." + +for GAMES in /storage/games-internal /storage/games-external +do + echo "Working on ${GAMES}..." + if [ ! -d "${GAMES}/roms" ] + then + echo "Making ${GAMES}/roms..." + mkdir -p "${GAMES}/roms" >>${LOGFILE} 2>&1 1|>>${LOGFILE} + fi + for DIR in $(find "${GAMES}/" -type d -maxdepth 1 -mindepth 1 2>/dev/null) + do + TARGET_DIR=$(basename ${DIR}) + echo "Working on ${DIR}..." + if [[ "${DIR}" =~ roms$ ]] + then + continue + fi + if [ ! -d "${GAMES}/roms/${TARGET_DIR}" ] + then + echo "Making ${GAMES}/roms/${TARGET_DIR}..." + mkdir -p "${GAMES}/roms/${TARGET_DIR}" >>${LOGFILE} 2>&1 + fi + mv "${DIR}"/* "${GAMES}/roms/${TARGET_DIR}" >>${LOGFILE} 2>&1 + rsync -av --remove-source-files "${DIR}"/* "${GAMES}/roms/${TARGET_DIR}" >>${LOGFILE} 2>&1 + done + echo "Clean empties in ${GAMES}..." + find "${GAMES}" -type d -empty -delete >>${LOGFILE} 2>&1 1|>>${LOGFILE} + echo "Your games have been migrated, however you will need to manually clean up stale directories. Please reboot your system now by running the `reboot` command." +done diff --git a/packages/rocknix/sources/scripts/paneladj b/packages/rocknix/sources/scripts/paneladj new file mode 100755 index 000000000..2f25badde --- /dev/null +++ b/packages/rocknix/sources/scripts/paneladj @@ -0,0 +1,104 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +# ARGS: +# +# 1 - property to adjust (gamma (brightness)/contrast/saturation/hue) +# 2 - up/down or a defined value + +PROPERTY=${1} +NEWVAL=${2} + +# Command usage: +# drm_tool set /dev/dri/card0 133 saturation value + +# Define the basics +MIN=1 +MAX=100 +STEP=1 + +if [ ! -e /dev/dri/card0 ] +then + echo "ERROR: No display found." + exit 1 +fi + +log() { + $DEBUG && echo "Info: ${*}" >>/var/log/display.log +} + +getValue() { + MYVAL=$(get_setting display.${1}) + if [ -n "${MYVAL}" ] + then + if [ "${MYVAL}" > "${MAX}" ] + then + MYVAL=${MAX} + elif [ "${MYVAL}" < "${MIN}" ] + then + MYVAL=${MIN} + fi + echo ${MYVAL} + else + echo $(drm_tool list 2>/dev/null | sed -n '/Connector: '${CONNECTOR}'/,$p' | awk '/'${1}'/ {print $5}') + fi +} + +setValue() { + log "Set (${1}: ${2})" + drm_tool set /dev/dri/card0 ${CONNECTOR} ${1} ${2} 2>/dev/null + if [ $? = 0 ] + then + set_setting display.${1} ${2} + fi +} + +stepUp() { + LASTVAL=$(getValue ${PROPERTY}) + NEWVAL=$(expr ${LASTVAL} + 1) + log "Step up (${PROPERTY}: ${NEWVAL})" + setValue ${PROPERTY} ${NEWVAL} +} + +stepDown() { + LASTVAL=$(getValue ${PROPERTY}) + NEWVAL=$(expr ${LASTVAL} - 1) + log "Step down (${PROPERTY}: ${NEWVAL})" + setValue ${PROPERTY} ${NEWVAL} +} + +restoreSettings() { + for PROPERTY in brightness contrast saturation hue + do + RESTVAL=$(getValue ${PROPERTY}) + setValue ${PROPERTY} ${RESTVAL} + done +} + +CONNECTOR=$(drm_tool list | grep -B1 "mode.*:" | awk '/Connector/ {print $2}') + +case ${NEWVAL} in + "up") + stepUp + ;; + "down") + stepDown + ;; + "restore") + restoreSettings + ;; + *) + if [[ "${NEWVAL}" =~ ^[0-9] ]] && \ + [ "${NEWVAL}" -le "${MAX}" ] && \ + [ "${NEWVAL}" -ge "${MIN}" ] + then + setValue ${PROPERTY} ${NEWVAL} + else + echo "Error: Invalid value." + exit 1 + fi + ;; +esac diff --git a/packages/rocknix/sources/scripts/run b/packages/rocknix/sources/scripts/run new file mode 100755 index 000000000..cbfd078ed --- /dev/null +++ b/packages/rocknix/sources/scripts/run @@ -0,0 +1,35 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +ui_state() { + clear >/dev/console + systemctl ${1} ${UI_SERVICE} +} + +if [ "${UI_SERVICE}" = "weston.service" ] +then + if [ -f "${*}" ] + then + RUN=$(echo ${*} | sed 's# #\\ #g') + weston-terminal --command="${RUN}" + else + weston-terminal --command="${*}" + fi +else + ui_state stop + clear >/dev/console + $* >/dev/console + if [ "$?" == 0 ] + then + ui_state start + exit 0 + else + "$*" >/dev/console + ui_state start + exit 0 + fi +fi + diff --git a/packages/rocknix/sources/scripts/runemu.sh b/packages/rocknix/sources/scripts/runemu.sh new file mode 100755 index 000000000..09822ccdf --- /dev/null +++ b/packages/rocknix/sources/scripts/runemu.sh @@ -0,0 +1,461 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert) +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +# Source predefined functions and variables +. /etc/profile +. /etc/os-release + +### Switch to performance mode early to speed up configuration and reduce time it takes to get into games. +performance + +# Command line schema +# $1 = Game/Port +# $2 = Platform +# $3 = Core +# $4 = Emulator + +ARGUMENTS="$@" +PLATFORM="${ARGUMENTS##*-P}" # read from -P onwards +PLATFORM="${PLATFORM%% *}" # until a space is found +CORE="${ARGUMENTS##*--core=}" # read from --core= onwards +CORE="${CORE%% *}" # until a space is found +EMULATOR="${ARGUMENTS##*--emulator=}" # read from --emulator= onwards +EMULATOR="${EMULATOR%% *}" # until a space is found +ROMNAME="$1" +BASEROMNAME=${ROMNAME##*/} +GAMEFOLDER="${ROMNAME//${BASEROMNAME}}" + +### Define the variables used throughout the script +BLUETOOTH_STATE=$(get_setting bluetooth.enabled) +ES_CONFIG="/storage/.emulationstation/es_settings.cfg" +VERBOSE=false +LOG_DIRECTORY="/var/log" +LOG_FILE="exec.log" +RUN_SHELL="/usr/bin/bash" +RETROARCH_TEMP_CONFIG="/storage/.config/retroarch/retroarch.cfg" +RETROARCH_APPEND_CONFIG="/tmp/.retroarch.cfg" +NETWORK_PLAY="No" +SET_SETTINGS_TMP="/tmp/shader" +OUTPUT_LOG="${LOG_DIRECTORY}/${LOG_FILE}" +SCRIPT_NAME=$(basename "$0") + +### Function Library +function log() { + if [ ${LOG} == true ] + then + if [[ ! -d "$LOG_DIRECTORY" ]] + then + mkdir -p "$LOG_DIRECTORY" + fi + echo "${SCRIPT_NAME}: $*" 2>&1 | tee -a ${LOG_DIRECTORY}/${LOG_FILE} + else + echo "${SCRIPT_NAME}: $*" + fi +} + +function loginit() { + if [ ${LOG} == true ] + then + if [ -e ${LOG_DIRECTORY}/${LOG_FILE} ] + then + rm -f ${LOG_DIRECTORY}/${LOG_FILE} + fi + cat <${LOG_DIRECTORY}/${LOG_FILE} +Emulation Run Log - Started at $(date) + +ARG1: $1 +ARG2: $2 +ARG3: $3 +ARG4: $4 +ARGS: $* +EMULATOR: ${EMULATOR} +PLATFORM: ${PLATFORM} +CORE: ${CORE} +ROM NAME: ${ROMNAME} +BASE ROM NAME: ${ROMNAME##*/} +USING CONFIG: ${RETROARCH_TEMP_CONFIG} +USING APPENDCONFIG : ${RETROARCH_APPEND_CONFIG} + +EOF + else + log $0 "Emulation Run Log - Started at $(date)" + fi +} + +function quit() { + ${VERBOSE} && log $0 "Cleaning up and exiting" + bluetooth enable + set_kill set "emulationstation" + clear_screen + DEVICE_CPU_GOVERNOR=$(get_setting system.cpugovernor) + ${DEVICE_CPU_GOVERNOR} + exit $1 +} + +function clear_screen() { + ${VERBOSE} && log $0 "Clearing screen" + clear +} + +function bluetooth() { + if [ "$1" == "disable" ] + then + ${VERBOSE} && log $0 "Disabling BT" + if [[ "${BLUETOOTH_STATE}" == "1" ]] + then + NPID=$(pgrep -f batocera-bluetooth-agent) + if [[ ! -z "$NPID" ]]; then + kill "$NPID" + fi + fi + elif [ "$1" == "enable" ] + then + ${VERBOSE} && log $0 "Enabling BT" + if [[ "${BLUETOOTH_STATE}" == "1" ]] + then + systemd-run batocera-bluetooth-agent + fi + fi +} + +### Enable logging +case $(get_setting system.loglevel) in + off|none) + LOG=false + ;; + verbose) + LOG=true + VERBOSE=true + ;; + *) + LOG=true + ;; +esac + +### Prepare to load our emulator and game. +loginit "$1" "$2" "$3" "$4" +clear_screen +bluetooth disable +set_kill stop + +### Determine which emulator we're launching and make appropriate adjustments before launching. +${VERBOSE} && log $0 "Configuring for ${EMULATOR}" +case ${EMULATOR} in + mednafen) + set_kill set "-9 mednafen" + RUNTHIS='${RUN_SHELL} /usr/bin/start_mednafen.sh "${ROMNAME}" "${CORE}" "${PLATFORM}"' + ;; + retroarch) + # Make sure NETWORK_PLAY isn't defined before we start our tests/configuration. + del_setting netplay.mode + + case ${ARGUMENTS} in + *"--host"*) + ${VERBOSE} && log $0 "Setup netplay host." + NETWORK_PLAY="${ARGUMENTS##*--host}" # read from --host onwards + NETWORK_PLAY="${NETWORK_PLAY%%--nick*}" # until --nick is found + NETWORK_PLAY="--host ${NETWORK_PLAY} --nick" + set_setting netplay.mode "host" + ;; + *"--connect"*) + ${VERBOSE} && log $0 "Setup netplay client." + NETWORK_PLAY="${ARGUMENTS##*--connect}" # read from --connect onwards + NETWORK_PLAY="${NETWORK_PLAY%%--nick*}" # until --nick is found + NETWORK_PLAY="--connect ${NETWORK_PLAY} --nick" + set_setting netplay.mode "client" + ;; + *"--netplaymode spectator"*) + ${VERBOSE} && log $0 "Setup netplay spectator." + set_setting "netplay.mode" "spectator" + ;; + esac + + ### Set set_kill to kill the appropriate retroarch + set_kill set "retroarch retroarch32" + + ### Assume we're running 64bit Retroarch + RABIN="retroarch" + + case ${HW_ARCH} in + aarch64) + if [[ "${CORE}" =~ pcsx_rearmed32 ]] || \ + [[ "${CORE}" =~ gpsp ]] || \ + [[ "${CORE}" =~ desmume ]] + then + ### Configure for 32bit Retroarch + ${VERBOSE} && log $0 "Configuring for 32bit cores." + export LIBRARY_PATH="/usr/lib32" + export LD_LIBRARY_PATH="${LIBRARY_PATH}" + export SPA_PLUGIN_DIR="${LIBRARY_PATH}/spa-0.2" + export PIPEWIRE_MODULE_DIR="${LIBRARY_PATH}/pipewire-0.3/" + export LIBGL_DRIVERS_PATH="${LIBRARY_PATH}/dri" + export RABIN="retroarch32" + fi + ;; + esac + + + ### Configure specific emulator requirements + case ${CORE} in + freej2me*) + ${VERBOSE} && log $0 "Setup freej2me requirements." + /usr/bin/freej2me.sh + JAVA_HOME='/storage/jdk' + export JAVA_HOME + PATH="$JAVA_HOME/bin:$PATH" + export PATH + ;; + easyrpg*) + # easyrpg needs runtime files to be downloaded on the first run + ${VERBOSE} && log $0 "Setup easyrpg requirements." + /usr/bin/easyrpg.sh + ;; + esac + + + RUNTHIS='${EMUPERF} /usr/bin/${RABIN} -L /tmp/cores/${CORE}_libretro.so --config ${RETROARCH_TEMP_CONFIG} --appendconfig ${RETROARCH_APPEND_CONFIG} "${ROMNAME}"' + + CONTROLLERCONFIG="${ARGUMENTS#*--controllers=*}" + + if [[ "${ARGUMENTS}" == *"-state_slot"* ]] + then + CONTROLLERCONFIG="${CONTROLLERCONFIG%% -state_slot*}" # until -state is found + SNAPSHOT="${ARGUMENTS#*-state_slot *}" # -state_slot x + SNAPSHOT="${SNAPSHOT%% -*}" + if [[ "${ARGUMENTS}" == *"-autosave"* ]]; then + CONTROLLERCONFIG="${CONTROLLERCONFIG%% -autosave*}" # until -autosave is found + AUTOSAVE="${ARGUMENTS#*-autosave *}" # -autosave x + AUTOSAVE="${AUTOSAVE%% -*}" + else + AUTOSAVE="" + fi + else + CONTROLLERCONFIG="${CONTROLLERCONFIG%% --*}" # until a -- is found + SNAPSHOT="" + AUTOSAVE="" + fi + + # Configure platform specific requirements + case ${PLATFORM} in + "atomiswave") + rm ${ROMNAME}.nvmem* + ;; + "scummvm") + GAMEDIR=$(cat "${ROMNAME}" | awk 'BEGIN {FS="\""}; {print $2}') + cd "${GAMEDIR}" + RUNTHIS='${RUN_SHELL} /usr/bin/start_scummvm.sh libretro .' + ;; + esac + + ### Configure retroarch + if [ -e "${SET_SETTINGS_TMP}" ] + then + rm -f "${SET_SETTINGS_TMP}" + fi + ${VERBOSE} && log $0 "Execute setsettings (${PLATFORM} ${ROMNAME} ${CORE} --controllers=${CONTROLLERCONFIG} --autosave=${AUTOSAVE} --snapshot=${SNAPSHOT})" + (/usr/bin/setsettings.sh "${PLATFORM}" "${ROMNAME}" "${CORE}" --controllers="${CONTROLLERCONFIG}" --autosave="${AUTOSAVE}" --snapshot="${SNAPSHOT}" >${SET_SETTINGS_TMP}) + + ### If setsettings wrote data in the background, grab it and assign it to EXTRAOPTS + if [ -e "${SET_SETTINGS_TMP}" ] + then + EXTRAOPTS=$(cat ${SET_SETTINGS_TMP}) + rm -f ${SET_SETTINGS_TMP} + ${VERBOSE} && log $0 "Extra Options: ${EXTRAOPTS}" + fi + + if [[ ${EXTRAOPTS} != 0 ]]; then + RUNTHIS=$(echo ${RUNTHIS} | sed "s|--config|${EXTRAOPTS} --config|") + fi + ;; + *) + case ${PLATFORM} in + "setup") + RUNTHIS='${RUN_SHELL} "${ROMNAME}"' + ;; + "gamecube") + RUNTHIS='${RUN_SHELL} /usr/bin/start_dolphin_gc.sh "${ROMNAME}"' + ;; + "wii") + RUNTHIS='${RUN_SHELL} /usr/bin/start_dolphin_wii.sh "${ROMNAME}"' + ;; + "ports") + RUNTHIS='${RUN_SHELL} "${ROMNAME}"' + sed -i "/^ACTIVE_GAME=/c\ACTIVE_GAME=\"${ROMNAME}\"" /storage/.config/PortMaster/mapper.txt + ;; + "shell") + RUNTHIS='${RUN_SHELL} "${ROMNAME}"' + ;; + *) + RUNTHIS='${RUN_SHELL} "start_${CORE%-*}.sh" "${ROMNAME}"' + ;; + esac + ;; +esac + +### Execution time. +clear_screen +${VERBOSE} && log $0 "executing game: ${ROMNAME}" +${VERBOSE} && log $0 "script to execute: ${RUNTHIS}" + +### Set the cores to use +CORES=$(get_setting "cores" "${PLATFORM}" "${ROMNAME##*/}") +${VERBOSE} && log $0 "Configure big.little (${CORES})" +case ${CORES} in + little) + EMUPERF="${SLOW_CORES}" + ;; + big) + EMUPERF="${FAST_CORES}" + ;; + *) + unset EMUPERF + ;; +esac + +### We need the original system cooling profile later so get it now! +COOLINGPROFILE=$(get_setting cooling.profile) + +### Set CPU TDP and EPP +CPU_VENDOR=$(cpu_vendor) +case ${CPU_VENDOR} in + AuthenticAMD) + ### Set the overclock mode + OVERCLOCK=$(get_setting "overclock" "${PLATFORM}" "${ROMNAME##*/}") + if [ ! -z "${OVERCLOCK}" ] + then + ${VERBOSE} && log $0 "Set TDP to (${OVERCLOCK})" + /usr/bin/overclock ${OVERCLOCK} + fi + ;; +esac + +### Apply energy performance preference +if [ -e "/usr/bin/set_epp" ] +then + EPP=$(get_setting "power.epp" "${PLATFORM}" "${ROMNAME##*/}") + if [ ! -z ${EPP} ] + then + ${VERBOSE} && log $0 "Set EPP to (${EPP})" + /usr/bin/set_epp ${EPP} + fi +fi + +### Configure GPU performance mode +GPUPERF=$(get_setting "gpuperf" "${PLATFORM}" "${ROMNAME##*/}") +if [ ! -z ${GPUPERF} ] +then + ${VERBOSE} && log $0 "Set GPU performance to (${GPUPERF})" + gpu_performance_level ${GPUPERF} + get_gpu_performance_level >/tmp/.gpu_performance_level +fi + +if [ "${DEVICE_HAS_FAN}" = "true" ] +then + ### Set any custom fan profile (make this better!) + GAMEFAN=$(get_setting "cooling.profile" "${PLATFORM}" "${ROMNAME##*/}") + if [ ! -z "${GAMEFAN}" ] + then + ${VERBOSE} && log $0 "Set fan profile to (${GAMEFAN})" + set_setting cooling.profile ${GAMEFAN} + systemctl restart fancontrol + fi +fi + +### Offline all but the number of threads we need for this game if configured. +NUMTHREADS=$(get_setting "threads" "${PLATFORM}" "${ROMNAME##*/}") +if [ -n "${NUMTHREADS}" ] && + [ ! ${NUMTHREADS} = "default" ] +then + ${VERBOSE} && log $0 "Configure active cores (${NUMTHREADS})" + onlinethreads ${NUMTHREADS} 0 +fi + +### Set the performance mode for emulation +PERFORMANCE_MODE=$(get_setting "cpugovernor" "${PLATFORM}" "${ROMNAME##*/}") +${VERBOSE} && log $0 "Set emulation performance mode to (${PERFORMANCE_MODE})" +${PERFORMANCE_MODE} + +# If the rom is a shell script just execute it, useful for DOSBOX and ScummVM scan scripts +if [[ "${ROMNAME}" == *".sh" ]]; then + ${VERBOSE} && log $0 "Executing shell script ${ROMNAME}" + "${ROMNAME}" &>>${OUTPUT_LOG} + ret_error=$? +else + ${VERBOSE} && log $0 "Executing $(eval echo ${RUNTHIS})" + eval ${RUNTHIS} &>>${OUTPUT_LOG} + ret_error=$? +fi + +### Switch back to performance mode to clean up +performance + +clear_screen + +### Restore cooling profile. +if [ "${DEVICE_HAS_FAN}" = "true" ] +then + ${VERBOSE} && log $0 "Restore system cooling profile (${COOLINGPROFILE})" + set_setting cooling.profile ${COOLINGPROFILE} + systemctl restart fancontrol & +fi + +### Restore system GPU performance mode +GPUPERF=$(get_setting "system.gpuperf") +if [ ! -z ${GPUPERF} ] +then + ${VERBOSE} && log $0 "Restore system GPU performance mode (${GPUPERF})" + gpu_performance_level ${GPUPERF} & +else + ${VERBOSE} && log $0 "Restore system GPU performance mode (auto)" + gpu_performance_level auto & +fi +rm -f /tmp/.gpu_performance_level 2>/dev/null + +### Restore system EPP +EPP=$(get_setting "system.power.epp") +if [ ! -z ${EPP} ] +then + ${VERBOSE} && log $0 "Restore system EPP (${EPP})" + /usr/bin/set_epp ${EPP} & +fi + +### Restore system TDP +OVERCLOCK=$(get_setting "system.overclock") +if [ ! -z "${OVERCLOCK}" ] +then + ${VERBOSE} && log $0 "Restore system TDP (${OVERCLOCK})" + /usr/bin/overclock ${OVERCLOCK} & +fi + +### Reset the number of cores to use. +NUMTHREADS=$(get_setting "system.threads") +${VERBOSE} && log $0 "Restore active threads (${NUMTHREADS})" +if [ -n "${NUMTHREADS}" ] +then + onlinethreads ${NUMTHREADS} 0 & +else + onlinethreads all 1 & +fi + +### Backup save games +CLOUD_BACKUP=$(get_setting "cloud.backup") +if [ "${CLOUD_BACKUP}" = "1" ] +then + INETUP=$(/usr/bin/amionline >/dev/null 2>&1) + if [ $? == 0 ] + then + log $0 "backup saves to the cloud." + /usr/bin/run /usr/bin/cloud_backup + fi +fi + +${VERBOSE} && log $0 "Checking errors: ${ret_error} " +if [ "${ret_error}" == "0" ] +then + quit 0 +else + log $0 "exiting with ${ret_error}" + quit 1 +fi diff --git a/packages/rocknix/sources/scripts/say b/packages/rocknix/sources/scripts/say new file mode 100755 index 000000000..9e4a0a641 --- /dev/null +++ b/packages/rocknix/sources/scripts/say @@ -0,0 +1,22 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +AUDIOTEST=$(ps -ef | grep [p]ipewire) +if [ ! $? = 0 ] +then + PLAYCMD="aplay -q" +else + PLAYCMD="paplay" +fi + +case $1 in + -b) + espeak --stdout "$(battery_percent)%" | ${PLAYCMD} + ;; + *) + espeak --stdout "$*" | ${PLAYCMD} + ;; +esac diff --git a/packages/rocknix/sources/scripts/setemu.sh b/packages/rocknix/sources/scripts/setemu.sh new file mode 100755 index 000000000..405aad50b --- /dev/null +++ b/packages/rocknix/sources/scripts/setemu.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert) + +## workaround for ES performance with big conf files +## This is no longer in use! + +EE_CONF="/storage/.config/system/configs/emuoptions.conf" + +[ ! -f ${EE_CONF} ] && touch ${EE_CONF} + +case "$1" in +"set") + PAT=$(echo "$2" | sed -e 's|\"|\\"|g' | sed -e 's|\[|\\\[|g' | sed -e 's|\]|\\\]|g') + sed -i "/$PAT/d" "${EE_CONF}" + S2=${2} + S3=${3} + shift 2 + if [ "${S3}" != "auto" ]; then + [ ${S3} == "disable" ] && echo "#${S2}=" >> "${EE_CONF}" || echo "${S2}=${@}" >> "${EE_CONF}" + fi + ;; +"get") + PAT=$(echo ${2} | sed -e 's|\"|\\"|g' | sed -e 's|\[|\\\[|g' | sed -e 's|\]|\\\]|g' | sed -e 's|(|\\\(|g' | sed -e 's|)|\\\)|g') + PAT="^${PAT}=(.*)" + EES=$(cat "${EE_CONF}" | grep -oE "${PAT}") + echo "${EES##*=}" + ;; +esac diff --git a/packages/rocknix/sources/scripts/setrootpass b/packages/rocknix/sources/scripts/setrootpass new file mode 100755 index 000000000..9f063a346 --- /dev/null +++ b/packages/rocknix/sources/scripts/setrootpass @@ -0,0 +1,44 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +ROOTPASS="$1" + +LPC=$(awk -F: '/^root/{print $3}' /storage/.cache/shadow) +CURRENT=$(awk -F: '/^root/{print $2}' /storage/.cache/shadow) + +# Turn it into a usable hash +NEW=$(cryptpw -m sha512 "${ROOTPASS}" 2>/dev/null) + +# Set the root password. +sed -i "s#root:${CURRENT}:${LPC}::::::#root:${NEW}:${LPC}::::::#g" /storage/.cache/shadow 2>/dev/null + +# Create a root user and set the password. +echo -ne "${ROOTPASS}\n${ROOTPASS}\n" | smbpasswd -sa root 2>/dev/null + +# Set the root user and password for SyncThing +syncthing generate --gui-user "root" --gui-password "${ROOTPASS}" >/dev/null 2>&1 + +# Save the password so we can display it in ES +set_setting root.password "${ROOTPASS}" + +# Restart syncthing if it was enabled. +SYNCSTATUS=$(get_setting syncthing.enabled) +SYNCACTIVE=$(systemctl status syncthing | awk '/active/ {print $2}') +if [ "${SYNCSTATUS}" = "1" ] && + [ "${SYNCACTIVE}" = "active" ] +then + systemctl restart syncthing >/dev/null 2>&1 +fi + +# Restart simple-http-server if it is enabled +SIMPLESTATUS=$(get_setting simplehttp.enabled) +SIMPLEACTIVE=$(systemctl status simple-http-server | awk '/active/ {print $2}') +if [ "${SIMPLESTATUS}" = "1" ] && + [ "${SIMPLEACTIVE}" = "active" ] +then + systemctl restart simple-http-server >/dev/null 2>&1 +fi + diff --git a/packages/rocknix/sources/scripts/setsettings.sh b/packages/rocknix/sources/scripts/setsettings.sh new file mode 100755 index 000000000..c0df1af9c --- /dev/null +++ b/packages/rocknix/sources/scripts/setsettings.sh @@ -0,0 +1,1109 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +### +### System configuration variables +### + +SYSTEM_CONFIG="/storage/.config/system/configs/system.cfg" +RETROARCH_PATH="/storage/.config/retroarch" +RETROARCH_CONFIG="${RETROARCH_PATH}/retroarch.cfg" +RETROARCH_TEMPLATE="/usr/config/retroarch/retroarch.cfg" + +ROMS_DIR="/storage/roms" +SNAPSHOTS="${ROMS_DIR}/savestates" + +TMP_CONFIG="/tmp/.retroarch.cfg" +LOG_DIR="/var/log" +LOG_FILE="exec.log" +LOCK_FILE="/tmp/.retroarch.lock" + +### +### Variables parsed from the command line +### + +PLATFORM=${1,,} +ROM="${2##*/}" +CORE=${3,,} + + +#Autosave +AUTOSAVE="$@" +AUTOSAVE="${AUTOSAVE#*-autosave=*}" +AUTOSAVE="${AUTOSAVE% --*}" + +#Snapshot +SNAPSHOT="$@" +SNAPSHOT="${SNAPSHOT#*--snapshot=*}" + +#Controllers +CONTROLLERS="$@" +CONTROLLERS="${CONTROLLERS#*--controllers=*}" + +### +### Arrays containing various supported/non-supported attributes. +### + +declare -a HAS_CHEEVOS=( arcade + atari2600 + atari7800 + atarilynx + cdi + colecovision + cps1 + cps2 + cps3 + dreamcast + famicom + fbn + fds + gamegear + gb + gba + gbah + gbc + gbch + gbh + genesis + genh + ggh + intellivision + mastersystem + megacd + megadrive + megadrive-japan + msx + msx2 + n64 + neogeo + neogeocd + nes + nesh + ngp + ngpc + odyssey2 + pcengine + pcenginecd + pcfx + pokemini + psp + psx + sega32x + segacd + sfc + sg-1000 + snes + snesh + snesmsu1 + supergrafx + supervision + tg16 + tg16cd + vectrex + virtualboy + wonderswan + wonderswancolor +) + +declare -a NO_REWIND=( atomiswave + dreamcast + mame + n64 + naomi + neogeocd + odyssey2 + psp + pspminis + saturn + sega32x + zxspectrum +) + +declare -a NO_RUNAHEAD=( atomiswave + dreamcast + n64 + naomi + neogeocd + psp + saturn + sega32x +) + +declare -a NO_ANALOG=( dreamcast + gc + n64 + nds + ps2 + psp + pspminis + psx + wii + wonderswan + wonderswancolor +) + +declare -a IS_32BIT=( gpsp + pcsx_rearmed +) + +declare -a CORE_RATIOS=( 4/3 + 16/9 + 16/10 + 16/15 + 21/9 + 1/1 + 2/1 + 3/2 + 3/4 + 4/1 + 9/16 + 5/4 + 6/5 + 7/9 + 8/3 + 8/7 + 19/12 + 19/14 + 30/17 + 32/9 + config + squarepixel + core + custom + full +) + +declare -a LANG_CODES=( ["false"]="0" + ["En"]="1" + ["Fr"]="3" + ["Pt"]="49" + ["De"]="5" + ["El"]="30" + ["Es"]="2" + ["Cs"]="8" + ["Da"]="9" + ["Hr"]="11" + ["Hu"]="35" + ["It"]="4" + ["Ja"]="6" + ["Ko"]="12" + ["Nl"]="7" + ["Nn"]="46" + ["Po"]="48" + ["Ro"]="50" + ["Ru"]="51" + ["Sv"]="10" + ["Tr"]="59" + ["Zh"]="13" +) + +### +### Fetch common settings +### + +LOGGING=$(get_setting system.loglevel) +if [ -z "${LOGGING}" ] +then + LOGGING="none" +fi + +### +### Set up +### + +### Create log directory if it doesn't exist +if [ ! -d "${LOG_DIR}" ] +then + mkdir -p ${LOG_DIR} +fi + +if [ -e "${LOCK_FILE}" ] +then + rm -f "${LOCK_FILE}" +fi + +### Clean up temp files +for FILE in ${TMP_CONFIG} ${TMP_CONFIG}.sed +do + if [ -f "${FILE}" ] + then + rm -f "${FILE}" + fi +done + +### +### Core functions +### + +function log() { + if [ ${LOGGING} = "verbose" ] + then + echo "$(printf '%(%c)T\n' -1): setsettings: $*" >> ${LOG_DIR}/${LOG_FILE} 2>&1 + fi +} + +function cleanup() { + log "Work complete" + sync + exit +} + +function game_setting() { + if [ -n "${1}" ] + then + SETTING=$(get_setting "${1}" "${PLATFORM}" "${ROM}") + log "Fetch \"${1}\" \"${PLATFORM}\" \"${ROM}\"] (${SETTING})" + echo ${SETTING} + fi +} + +function clear_setting() { + log "Remove setting [${1}]" + if [ ! -f "${TMP_CONFIG}.sed" ] + then + echo -n 'sed -i "/^'${1}'/d;' >${TMP_CONFIG}.sed + else + echo -n ' /^'${1}'/d;' >>${TMP_CONFIG}.sed + fi +} + +function flush_settings() { + echo -n '" '${RETROARCH_CONFIG}' >/dev/null 2>&1' >>${TMP_CONFIG}.sed + chmod 0755 ${TMP_CONFIG}.sed + ${TMP_CONFIG}.sed >/dev/null 2>&1 ||: + rm -f ${TMP_CONFIG}.sed +} + +function add_setting() { + if [ ! "${1}" = "none" ] + then + local OS_SETTING="$(game_setting ${1})" + fi + local RETROARCH_KEY="${2}" + local RETROARCH_VALUE="${3}" + if [ -z "${RETROARCH_VALUE}" ]& \ + [ ! "${1}" = "none" ] + then + RETROARCH_VALUE="${OS_SETTING}" + fi + clear_setting "${RETROARCH_KEY}" + echo "${RETROARCH_KEY} = \"${RETROARCH_VALUE}\"" >>${TMP_CONFIG} + log "Added setting: ${RETROARCH_KEY} = \"${RETROARCH_VALUE}\"" +} + +function match() { + local seek="${1}" + shift + local myarray=(${@}) + if [[ "${myarray[*]}" =~ ${seek} ]] + then + local MATCH="1" + else + local MATCH="0" + fi + log "Match: [${seek}] [${MATCH}] (${myarray[*]})" + echo ${MATCH} +} + +### +### Game data functions +### + +### Configure retroarch paths +function set_retroarch_paths() { + for RPATH in assets_directory cache_directory \ + cheat_database_path content_database_path \ + content_database_path joypad_autoconfig_dir \ + libretro_directory libretro_info_path \ + overlay_directory video_shader_dir + do + clear_setting "${RPATH}" + done + flush_settings + cat <>${RETROARCH_CONFIG} +assets_directory = "/tmp/assets" +cache_directory = "/tmp/cache" +cheat_database_path = "/tmp/database/cht" +content_database_path = "/tmp/database/rdb" +joypad_autoconfig_dir = "/tmp/joypads" +libretro_directory = "/tmp/cores" +libretro_info_path = "/tmp/cores" +overlay_directory = "/tmp/overlays" +video_shader_dir = "/tmp/shaders" +EOF +} + +### Configure retroarch hotkeys +function configure_hotkeys() { + log "Configure hotkeys..." + local MY_CONTROLLER=$(grep -b4 js0 /proc/bus/input/devices | awk 'BEGIN {FS="\""}; /Name/ {printf $2}') + + ### Remove any input settings retroarch may have added. + sed -i '/input_player[0-9]/d' ${RETROARCH_CONFIG} + + if [ "$(get_setting system.autohotkeys)" == "1" ] + then + if [ -e "/tmp/joypads/${MY_CONTROLLER}.cfg" ] + then + cp /tmp/joypads/"${MY_CONTROLLER}.cfg" /tmp + sed -i "s# = #=#g" /tmp/"${MY_CONTROLLER}.cfg" + source /tmp/"${MY_CONTROLLER}.cfg" + for HKEYSETTING in input_enable_hotkey_btn input_bind_hold \ + input_exit_emulator_btn input_fps_toggle_btn \ + input_menu_toggle_btn input_save_state_btn \ + input_load_state_btn input_toggle_fast_forward_btn \ + input_toggle_fast_forward_axis input_rewind_axis \ + input_rewind_btn + do + clear_setting "${HKEYSETTING}" + done + flush_settings + if [ -z ${input_enable_hotkey_btn+x} ] + then + echo 'input_enable_hotkey_btn = '\"${input_select_btn}\" >>${RETROARCH_CONFIG} + else + echo 'input_enable_hotkey_btn = '\"${input_enable_hotkey_btn}\" >>${RETROARCH_CONFIG} + fi + cat <>${RETROARCH_CONFIG} +input_bind_hold = "${input_select_btn}" +input_exit_emulator_btn = "${input_start_btn}" +input_fps_toggle_btn = "${input_y_btn}" +input_menu_toggle_btn = "${input_x_btn}" +input_save_state_btn = "${input_r_btn}" +input_load_state_btn = "${input_l_btn}" +EOF + if [ -n "${input_r2_btn}" ] && \ + [ -n "${input_l2_btn}" ] + then + cat <>${RETROARCH_CONFIG} +input_toggle_fast_forward_axis = "nul" +input_toggle_fast_forward_btn = "${input_r2_btn}" +input_rewind_axis = "nul" +input_rewind_btn = "${input_l2_btn}" +EOF + elif [ -n "${input_r2_axis}" ] && \ + [ -n "${input_l2_axis}" ] + then + cat <>${RETROARCH_CONFIG} +input_toggle_fast_forward_axis = "${input_r2_axis}" +input_toggle_fast_forward_btn = "nul" +input_rewind_axis = "${input_l2_axis}" +input_rewind_btn = "nul" +EOF + fi + rm -f /tmp/"${MY_CONTROLLER}.cfg" + fi + fi +} + +function set_ra_menudriver() { + add_setting "retroarch.menu_driver" "menu_driver" + local MENU_DRIVER=$(game_setting retroarch.menu_driver) + case ${MENU_DRIVER} in + rgui) + add_setting "none" "menu_linear_filter" "true" + ;; + esac +} + +function set_fps() { + add_setting "showFPS" "fps_show" +} + +function set_config_save() { + add_setting "config_save_on_exit" "false" +} + +function set_cheevos() { + local USE_CHEEVOS=$(game_setting "retroachievements") + local CHECK_CHEEVOS="$(match "${PLATFORM}" "${HAS_CHEEVOS[@]}")" + if [ "${USE_CHEEVOS}" = 1 ] && \ + [ "${CHECK_CHEEVOS}" = 1 ] + then + add_setting "none" "cheevos_enable" "true" + add_setting "retroachievements.username" "cheevos_username" + add_setting "retroachievements.password" "cheevos_password" + add_setting "retroachievements.hardcore" "cheevos_hardcore_mode_enable" + add_setting "retroachievements.leaderboards" "cheevos_leaderboards_enable" + add_setting "retroachievements.verbose" "cheevos_verbose_enable" + add_setting "retroachievements.screenshot" "cheevos_auto_screenshot" + add_setting "retroachievements.richpresence" "cheevos_richpresence_enable" + add_setting "retroachievements.challengeindicators" "cheevos_challenge_indicators" + add_setting "retroachievements.testunofficial" "cheevos_test_unofficial" + add_setting "retroachievements.badges" "cheevos_badges_enable" + add_setting "retroachievements.active" "cheevos_start_active" + add_setting "retroachievements.soundenable" "cheevos_unlock_sound_enable" + else + add_setting "none" "cheevos_enable" "false" + fi +} + +function set_netplay() { + USE_NETPLAY=$(game_setting "netplay") + if [ "${USE_NETPLAY}" = 1 ] + then + add_setting "none" "savestate_auto_load" "false" + add_setting "none" "savestate_auto_save" "false" + add_setting "retroachievements.hardcore" "cheevos_hardcore_mode_enable" "false" + add_setting "global.netplay.nickname" "netplay_nickname" + add_setting "global.netplay.password" "netplay_password" + add_setting "netplay_public_announce" "netplay_public_announce" + local NETPLAY_MODE=$(game_setting "netplay.mode") + local NETPLAY_PORT=$(game_setting "global.netplay.port") + case ${NETPLAY_MODE} in + host) + add_setting "none" "netplay_mode" "false" + add_setting "none" "netplay_client_swap_input" "false" + add_setting "global.netplay.port" "netplay_ip_port" "${NETPLAY_PORT}" + case ${CORE} in + gambatte) + log "Configuring gameboy link server." + if [ ! -d "${RETROARCH_PATH}/config/Gambatte" ] + then + mkdir -p "${RETROARCH_PATH}/config/Gambatte" + fi + local GAMBATTE_CONF="${RETROARCH_PATH}/config/Gambatte/Gambatte.opt" + ### Rework this to use add_setting and be configurable in ES. + sed -i '/gambatte_gb_link_mode/d; \ + /gambatte_gb_link_network_port/d' ${GAMBATTE_CONF} + cat <>${GAMBATTE_CONF} +gambatte_gb_link_mode = "Network Server" +gambatte_gb_link_network_port = "$(( ${NETPLAY_PORT} + 1 ))" +EOF + ;; + tgbdual) + log "Configuring tgbdual for network play" + if [ ! -d "${RETROARCH_PATH}/config/TGB Dual" ] + then + mkdir -p "${RETROARCH_PATH}/config/TGB Dual" + fi + local TGBDUAL_CONF="${RETROARCH_PATH}/config/TGB Dual/TGB Dual.opt" + sed -i '/tgbdual_gblink_enable/d; \ + /tgbdual_single_screen_mp/d; \ + /tgbdual_switch_screens/d; \ + /tgbdual_audio_output/d' "${TGBDUAL_CONF}" + cat <>"${TGBDUAL_CONF}" +tgbdual_gblink_enable = "enabled" +tgbdual_single_screen_mp = "player 1 only" +tgbdual_switch_screens = "normal" +tgbdual_audio_output = "Game Boy #1" +EOF + echo -n " --host" + ;; + genesis_plus_gx) + log "Configure genesis_plus_gx 4 way play." + add_setting "none" "input_libretro_device_p2" "1025" + echo -n " --host" + ;; + + snes9x) + log "Configure snes9x multitap." + add_setting "none" "input_libretro_device_p2" "257" + echo -n " --host" + ;; + *) + echo -n " --host" + ;; + esac + ;; + client) + local NETPLAY_HOST_IP=$(get_setting global.netplay.host) + add_setting "global.netplay.port" "${NETPLAY_PORT}" + if [ ! -z "${NETPLAY_HOST_IP}" ] + then + add_setting "none" "netplay_ip_address" "${NETPLAY_HOST_IP}" + case ${CORE} in + gambatte) + log "Configuring gameboy link client." + if [ ! -d "${RETROARCH_PATH}/config/Gambatte" ] + then + mkdir -p "${RETROARCH_PATH}/config/Gambatte" + fi + add_setting "none" "netplay_mode" "false" + add_setting "none" "netplay_client_swap_input" "false" + local GAMBATTE_CONF="${RETROARCH_PATH}/config/Gambatte/Gambatte.opt" + sed -i '/gambatte_gb_link_mode/d; \ + /gambatte_gb_link_network_port/d' ${GAMBATTE_CONF} + cat <>${GAMBATTE_CONF} +gambatte_gb_link_mode = "Network Client" +gambatte_gb_link_network_port = "$(( ${NETPLAY_PORT} + 1 ))" +EOF + + sed -i '/gambatte_gb_link_network_server_ip_/d' ${GAMBATTE_CONF} + + local IPARRAY=(${NETPLAY_HOST_IP//./ }) + for ELEM in ${IPARRAY[*]} + do + ADDR="${ADDR}$(printf "%03d" "${ELEM}")" + done + + local COUNT=1 + for (( i=0; i<${#ADDR}; i++ )); + do + cat <>${GAMBATTE_CONF} +gambatte_gb_link_network_server_ip_${COUNT} = "${ADDR:$i:1}" +EOF + COUNT=$(( ${COUNT} + 1 )) + done + ;; + tgbdual) + log "Configuring tgbdual for network play" + if [ ! -d "${RETROARCH_PATH}/config/TGB Dual" ] + then + mkdir -p "${RETROARCH_PATH}/config/TGB Dual" + fi + local TGBDUAL_CONF="${RETROARCH_PATH}/config/TGB Dual/TGB Dual.opt" + local PLAYER=$(get_setting wifi.adhoc.id) + if [ -z "${PLAYER}" ] + then + PLAYER=2 + fi + sed -i '/tgbdual_gblink_enable/d; \ + /tgbdual_single_screen_mp/d; \ + /tgbdual_switch_screens/d; \ + /tgbdual_audio_output/d' "${TGBDUAL_CONF}" + cat <"${TGBDUAL_CONF}" +tgbdual_gblink_enable = "enabled" +tgbdual_single_screen_mp = "player ${PLAYER} only" +tgbdual_switch_screens = "normal" +tgbdual_audio_output = "Game Boy #${PLAYER}" +EOF + add_setting "none" "netplay_mode" "true" + add_setting "none" "netplay_client_swap_input" "true" + echo -n " --connect ${NETPLAY_HOST_IP}" + ;; + *) + add_setting "none" "netplay_mode" "true" + add_setting "none" "netplay_client_swap_input" "true" + echo -n " --connect ${NETPLAY_HOST_IP}" + ;; + esac + fi + ;; + esac + local NETPLAY_RELAY=$(game_setting global.netplay.relay) + if [ -n "${NETPLAY_RELAY}" ] + then + case $(NETPLAY_RELAY) in + none|false|0) + add_setting "none" "netplay_use_mitm_server" "false" + ;; + *) + add_setting "none" "netplay_use_mitm_server" "true" + add_setting "none" "netplay_mitm_server" "${NETPLAY_RELAY}" + ;; + esac + else + add_setting "none" "netplay_use_mitm_server" "false" + fi + else + add_setting "none" "netplay" "false" + fi +} + +function set_translation() { + local USE_AI_SERVICE="$(game_setting ai_service_enabled)" + case ${USE_AI_SERVICE} in + 0|false|none) + add_setting "none" "ai_service_enable" "false" + ;; + *) + add_setting "none" "ai_service_enable" "true" + local AI_LANG="$(game_setting ai_target_lang)" + local AI_URL="$(game_setting ai_service_url)" + case ${AI_URL} in + 0|false|none) + add_setting "none" "ai_service_url" "http://ztranslate.net/service?api_key=BATOCERA&mode=Fast&output=png&target_lang=${AI_LANG}" + ;; + *) + add_setting "none" "ai_service_url" "${AI_URL}&mode=Fast&output=png&target_lang=${AI_LANG}" + ;; + esac + ;; + esac +} + +function set_aspectratio() { + local ASPECT_RATIO="$(game_setting ratio)" + case ${ASPECT_RATIO} in + 0|false|none) + add_setting "none" "aspect_ratio_index" "22" + ;; + *) + for AR in ${!CORE_RATIOS[@]} + do + if [ "${CORE_RATIOS[${AR}]}" = "${ASPECT_RATIO}" ] + then + add_setting "none" "aspect_ratio_index" "${AR}" + break + fi + done + ;; + esac +# add_setting "positionx" "custom_viewport_x" +# add_setting "positiony" "custom_viewport_y" +# add_setting "width" "custom_viewport_width" +# add_setting "height" "custom_viewport_height" + add_setting "rotation" "video_rotation" +} + +function set_filtering() { + add_setting "smooth" "video_smooth" +} + +function set_integerscale() { + add_setting "integerscale" "video_scale_integer" + add_setting "integerscaleoverscale" "video_scale_integer_overscale" +} + +function set_rgascale() { + add_setting "rgascale" "video_ctx_scaling" +} + +function set_shader() { + local SHADER="$(game_setting shaderset)" + case ${SHADER} in + 0|false|none) + add_setting "none" "video_shader_enable" "false" + ;; + *) + add_setting "none" "video_shader_enable" "true" + add_setting "none" "video_shader" "${SHADER}" + echo -n " --set-shader /tmp/shaders/${SHADER}" + ;; + esac +} + +function set_filter() { + local FILTER="$(game_setting filterset)" + case ${FILTER} in + 0|false|none) + add_setting "none" "video_filter" "" + ;; + *) + local FILTER_PATH="/usr/share/retroarch/filters" + add_setting "none" "video_ctx_scaling" "false" + local CHECK_BITNESS="$(match ${CORE} ${IS_32BIT[@]})" + if [ "${CHECK_BITNESS}" = 1 ] + then + BITS="32" + else + BITS="64" + fi + add_setting "none" "video_filter" "${FILTER_PATH}/${BITS}bit/video/${FILTER}" + add_setting "none" "video_filter_dir" "${FILTER_PATH}/${BITS}bit/video/" + add_setting "none" "audio_filter_dir" "${FILTER_PATH}/${BITS}bit/audio" + ;; + esac +} + +function set_overlay() { + local OVERLAY="$(game_setting overlayset)" + case ${OVERLAY} in + 0|false|none) + add_setting "none" "input_overlay_enable" "false" + add_setting "none" "input_overlay" "" + ;; + *) + local OVERLAY_PATH="/storage/overlays" + add_setting "none" "input_overlay_enable" "true" + add_setting "none" "input_overlay" "${OVERLAY_PATH}/${OVERLAY}" + ;; + esac +} + +function set_rewind() { + local REWIND="$(game_setting rewind)" + case ${REWIND} in + 1) + case $(match ${PLATFORM} ${NO_REWIND[@]}) in + 0) + add_setting "none" "rewind_enable" "true" + ;; + *) + add_setting "none" "rewind_enable" "false" + ;; + esac + ;; + *) + add_setting "none" "rewind_enable" "false" + ;; + esac +} + +function set_savestates() { + local SAVESTATES="$(game_setting incrementalsavestates)" + local MAXINCREMENTALSAVES="$(game_setting maxincrementalsaves)" + case ${SAVESTATES} in + 0|false|none) + add_setting "none" "savestate_auto_index" "false" + ;; + *) + add_setting "none" "savestate_auto_index" "true" + ;; + esac + add_setting "none" "savestate_max_keep" "${MAXINCREMENTALSAVES}" +} + +function set_autosave() { + local SETAUTOSAVE=false + + # argument overrides user setting + case ${AUTOSAVE} in + 0) + SETAUTOSAVE=false + ;; + 1) + SETAUTOSAVE=true + ;; + *) + local AUTOSAVE_SETTING="$(game_setting autosave)" + case ${AUTOSAVE_SETTING} in + [1-3]) + SETAUTOSAVE=true + ;; + esac + ;; + esac + + add_setting "none" "savestate_directory" "${SNAPSHOTS}/${PLATFORM}" + if [ ! -d "${SNAPSHOTS}/${PLATFORM}" ] + then + mkdir "${SNAPSHOTS}/${PLATFORM}" + fi + + if [ ! -z "${SNAPSHOT}" ] + then + add_setting "none" "state_slot" "${SNAPSHOT}" + fi + + add_setting "none" "savestate_auto_load" "${SETAUTOSAVE}" + add_setting "none" "savestate_auto_save" "${SETAUTOSAVE}" +} + +function set_runahead() { + local RUNAHEAD="$(game_setting runahead)" + local HAS_RUNAHEAD="$(match ${PLATFORM} ${NO_RUNAHEAD[@]})" + case ${HAS_RUNAHEAD} in + 1) + add_setting "none" "run_ahead_enabled" "false" + add_setting "none" "run_ahead_frames" "0" + ;; + *) + if [ "${RUNAHEAD}" -gt 0 ] + then + add_setting "none" "run_ahead_enabled" "true" + add_setting "none" "run_ahead_frames" "${RUNAHEAD}" + add_setting "secondinstance" "run_ahead_secondary_instance" + else + add_setting "none" "run_ahead_enabled" "false" + add_setting "none" "run_ahead_frames" "0" + fi + ;; + esac +} + +function set_audiolatency() { + add_setting "audiolatency" "audio_latency" +} + +function set_analogsupport() { + local HAS_ANALOG="$(match ${PLATFORM} ${NO_ANALOG[@]})" + case ${HAS_ANALOG} in + 1) + add_setting "none" "input_player1_analog_dpad_mode" "0" + ;; + *) + add_setting "analogue" "input_player1_analog_dpad_mode" "1" + ;; + esac +} + +function set_tatemode() { + log "Setup tate mode..." + if [ "${CORE}" = "mame2003_plus" ] + then + local TATEMODE="$(game_setting tatemode)" + local MAME2003DIR="${RETROARCH_PATH}/config/MAME 2003-Plus" + local MAME2003REMAPDIR="/storage/remappings/MAME 2003-Plus" + if [ ! -d "${MAME2003DIR}" ] + then + mkdir -p "${MAME2003DIR}" + fi + if [ ! -d "${MAME2003REMAPDIR}" ] + then + mkdir -p "${MAME2003REMAPDIR}" + fi + case ${TATEMODE} in + 1|true) + cp "/usr/config/retroarch/TATE-MAME 2003-Plus.rmp" "${MAME2003REMAPDIR}/MAME 2003-Plus.rmp" + if [ "$(grep mame2003-plus_tate_mode "${MAME2003DIR}/MAME 2003-Plus.opt" > /dev/null 2>&1)" ] + then + sed -i 's#mame2003-plus_tate_mode.*$#mame2003-plus_tate_mode = "enabled"#' "${MAME2003DIR}/MAME 2003-Plus.opt" 2>/dev/null + else + echo 'mame2003-plus_tate_mode = "enabled"' > "${MAME2003DIR}/MAME 2003-Plus.opt" + fi + ;; + *) + if [ -e "${MAME2003DIR}/MAME 2003-Plus.opt" ] + then + sed -i 's#mame2003-plus_tate_mode.*$#mame2003-plus_tate_mode = "disabled"#' "${MAME2003DIR}/MAME 2003-Plus.opt" 2>/dev/null + fi + if [ -e "${MAME2003REMAPDIR}/MAME 2003-Plus.rmp" ] + then + rm -f "${MAME2003REMAPDIR}/MAME 2003-Plus.rmp" + fi + ;; + esac + fi +} + +function set_n64opts() { + log "Set up N64..." + if [ "${CORE}" = "parallel_n64" ] + then + local PARALLELN64DIR="${RETROARCH_PATH}/config/ParaLLEl N64" + if [ ! -d "${PARALLELN64DIR}" ] + then + mkdir -p "${PARALLELN64DIR}" + fi + + if [ ! -f "${PARALLELN64DIR}/ParaLLEl N64.opt" ] + then + cp "/usr/config/retroarch/ParaLLEl N64.opt" "${PARALLELN64DIR}/ParaLLEl N64.opt" + fi + local VIDEO_CORE="$(game_setting parallel_n64_video_core)" + sed -i '/parallel-n64-gfxplugin = /c\parallel-n64-gfxplugin = "'${VIDEO_CORE}'"' "${PARALLELN64DIR}/ParaLLEl N64.opt" + local SCREENSIZE="$(game_setting parallel_n64_internal_resolution)" + sed -i '/parallel-n64-screensize = /c\parallel-n64-screensize = "'${SCREENSIZE}'"' "${PARALLELN64DIR}/ParaLLEl N64.opt" + local GAMESPEED="$(game_setting parallel_n64_gamespeed)" + sed -i '/parallel-n64-framerate = /c\parallel-n64-framerate = "'${GAMESPEED}'"' "${PARALLELN64DIR}/ParaLLEl N64.opt" + local ACCURACY="$(game_setting parallel_n64_gfx_accuracy)" + sed -i '/parallel-n64-gfxplugin-accuracy = /c\parallel-n64-gfxplugin-accuracy = "'${ACCURACY}'"' "${PARALLELN64DIR}/ParaLLEl N64.opt" + local CONTROLLERPAK="$(game_setting parallel_n64_controller_pak)" + sed -i '/parallel-n64-pak1 = /c\parallel-n64-pak1 = "'${CONTROLLERPAK}'"' "${PARALLELN64DIR}/ParaLLEl N64.opt" + fi +} + +function set_saturnopts() { + log "Set up Saturn..." + if [ "${CORE}" = "kronos" ] + then + log "Set up Kronos..." + local KRONOSDIR="${RETROARCH_PATH}/Kronos/config/Kronos" + if [ ! -d "${KRONOSDIR}" ] + then + mkdir -p "${KRONOSDIR}" + fi + + if [ ! -f "${KRONOSDIR}/Kronos.opt" ] + then + cp "/usr/config/retroarch/Kronos.opt" "${KRONOSDIR}/Kronos.opt" + fi + local KRONOSOPT="${KRONOSDIR}/Kronos.opt" + local HLE_BIOS="$(game_setting force_hle_bios)" + sed -i '/kronos_force_hle_bios = /c\kronos_force_hle_bios = "'${HLE_BIOS}'"' "${KRONOSOPT}" + local ADDON_CART="$(game_setting addon_cartridge)" + sed -i '/kronos_addon_cartridge = /c\kronos_addon_cartridge = "'${ADDON_CART}'"' "${KRONOSOPT}" + local TESSELATION="$(game_setting tesselation)" + sed -i '/kronos_polygon_mode = /c\kronos_polygon_mode = "'${TESSELATION}'"' "${KRONOSOPT}" + local RESOLUTION="$(game_setting resolution)" + sed -i '/kronos_resolution_mode = /c\kronos_resolution_mode = "'${RESOLUTION}'"' "${KRONOSOPT}" + local COMPUTE_SHADER="$(game_setting compute_shader)" + sed -i '/kronos_use_cs = /c\kronos_use_cs = "'${COMPUTE_SHADER}'"' "${KRONOSOPT}" + local TRANSPARENCY="$(game_setting transparency)" + sed -i '/kronos_mesh_mode = /c\kronos_mesh_mode = "'${TRANSPARENCY}'"' "${KRONOSOPT}" + fi +} + +function set_snesopts() { + log "Set up SNES..." + if [ "${CORE}" = "beetle_supafaust" ] + then + log "Set up beetle_supafaust" + local FAUSTDIR="${RETROARCH_PATH}/config/Supafaust" + if [ ! -d "${FAUSTDIR}" ] + then + mkdir -p "${FAUSTDIR}" + fi + if [ ! -f "${FAUSTDIR}/Supafaust.opt" ] + then + cp "/usr/config/retroarch/Supafaust.opt" "${FAUSTDIR}/Supafaust.opt" + fi + fi +} + +function set_dreamcastopts() { + log "Set up Dreamcast..." + if [ "${CORE}" = "flycast" ] + then + local FLYCASTDIR="${RETROARCH_PATH}/config/Flycast" + if [ ! -d "${FLYCASTDIR}" ] + then + mkdir -p "${FLYCASTDIR}" + fi + + if [ ! -f "${FLYCASTDIR}/Flycast.opt" ] + then + cp "/usr/config/retroarch/Flycast.opt" "${FLYCASTDIR}/Flycast.opt" + fi + local FRAME_SKIP="$(game_setting frame_skip)" + sed -i '/flycast_auto_skip_frame = /c\flycast_auto_skip_frame = "'${FRAME_SKIP}'"' "${FLYCASTDIR}/Flycast.opt" + fi +} + +function set_atari() { + log "Set up Atari (FIXME)..." + if [ "${CORE}" = "atari800" ] + then + ATARICONF="/storage/.config/system/configs/atari800.cfg" + ATARI800CONF="${RETROARCH_PATH}/config/Atari800/Atari800.opt" + if [ ! -f "$ATARI800CONF" ] + then + touch "$ATARI800CONF" + fi + sed -i "/RAM_SIZE=/d" ${ATARICONF} + sed -i "/STEREO_POKEY=/d" ${ATARICONF} + sed -i "/BUILTIN_BASIC=/d" ${ATARICONF} + sed -i "/atari800_system =/d" ${ATARI800CONF} + + if [ "${PLATFORM}" == "atari5200" ]; then + add_setting "none" "atari800_system" "5200" + echo "atari800_system = \"5200\"" >> ${ATARI800CONF} + echo "RAM_SIZE=16" >> ${ATARICONF} + echo "STEREO_POKEY=0" >> ${ATARICONF} + echo "BUILTIN_BASIC=0" >> ${ATARICONF} + else + add_setting "none" "atari800_system" "800XL (64K)" + echo "atari800_system = \"800XL (64K)\"" >> ${ATARI800CONF} + echo "RAM_SIZE=64" >> ${ATARICONF} + echo "STEREO_POKEY=1" >> ${ATARICONF} + echo "BUILTIN_BASIC=1" >> ${ATARICONF} + fi + flush_settings + fi +} + +function set_gambatte() { + log "Set up Gambatte..." + if [ "${CORE}" = "gambatte" ] + then + GAMBATTECONF="${RETROARCH_PATH}/config/Gambatte/Gambatte.opt" + if [ ! -f "GAMBATTECONF" ] + then + echo 'gambatte_gbc_color_correction = "disabled"' > ${GAMBATTECONF} + else + sed -i "/gambatte_gb_colorization =/d" ${GAMBATTECONF} + sed -i "/gambatte_gb_internal_palette =/d" ${GAMBATTECONF} + fi + local COLORIZATION=$(game_setting renderer.colorization) + local TWB1_COLORIZATION=$(game_setting renderer.twb1_colorization) + local TWB2_COLORIZATION=$(game_setting renderer.twb2_colorization) + local TWB3_COLORIZATION=$(game_setting renderer.twb3_colorization) + local PIXELSHIFT1_COLORIZATION=$(game_setting renderer.pixelshift1_colorization) + + if [ -n "${COLORIZATION}" ] + then + case ${COLORIZATION} in + 0|false|none) + echo 'gambatte_gb_colorization = "disabled"' >> ${GAMBATTECONF} + ;; + "Best Guess") + echo 'gambatte_gb_colorization = "auto"' >> ${GAMBATTECONF} + ;; + GBC|SGB) + echo 'gambatte_gb_colorization = "'${COLORIZATION}'"' >> ${GAMBATTECONF} + ;; + *) + echo 'gambatte_gb_colorization = "internal"' >> ${GAMBATTECONF} + echo 'gambatte_gb_internal_palette = "'${COLORIZATION}'"' >> ${GAMBATTECONF} + echo 'gambatte_gb_palette_twb64_1 = "'${TWB1_COLORIZATION}'"' >> ${GAMBATTECONF} + echo 'gambatte_gb_palette_twb64_2 = "'${TWB2_COLORIZATION}'"' >> ${GAMBATTECONF} + echo 'gambatte_gb_palette_twb64_3 = "'${TWB3_COLORIZATION}'"' >> ${GAMBATTECONF} + echo 'gambatte_gb_palette_pixelshift_1 = "'${PIXELSHIFT1_COLORIZATION}'"' >> ${GAMBATTECONF} + ;; + esac + fi + fi +} + +function setup_controllers() { + for i in $(seq 1 1 5) + do + log "Controller setup (${i})" + if [[ "$CONTROLLERS" == *p${i}* ]] + then + PINDEX="${CONTROLLERS#*-p${i}index }" + PINDEX="${PINDEX%% -p${i}guid*}" + log "Set up controller ($i) (${PINDEX})" + add_setting "none" "input_player${i}_joypad_index" "${PINDEX}" + case ${PLATFORM} in + atari5200) + add_setting "none" "input_libretro_device_p${i}" "513" + ;; + esac + fi + done + flush_settings +} + +### +### Execute functions +### + +### +### Functions that must be run without parallelization. +### + +set_retroarch_paths +setup_controllers +configure_hotkeys + +### +### Game specific functions +### + +set_atari & +set_gambatte & + +wait +flush_settings + +### +### Functions that can execute in parallel. +### + +set_ra_menudriver & +set_config_save & +set_fps & +set_cheevos & +set_translation & +set_aspectratio & +set_filtering & +set_integerscale & +set_rgascale & +set_shader & +set_filter & +set_overlay & +set_rewind & +set_savestates & +set_autosave & +set_netplay & +set_runahead & +set_audiolatency & +set_analogsupport & +set_tatemode & +set_n64opts & +set_saturnopts & +set_snesopts & +set_dreamcastopts & + +### Sed operations are expensive, so they are staged and executed as +### a single process when all forks complete. +wait +flush_settings + +cleanup diff --git a/packages/rocknix/sources/scripts/show_changelog b/packages/rocknix/sources/scripts/show_changelog new file mode 100755 index 000000000..98f2598fa --- /dev/null +++ b/packages/rocknix/sources/scripts/show_changelog @@ -0,0 +1,32 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +CHANGELOG="/storage/.cache/changelog" + +if [ ! -e "${CHANGELOG}" ] +then + exit 0 +fi + +WIDTH=$(fbwidth) + +if [ "${WIDTH}" -le "480" ] +then + FONTSIZE=8 +elif [ "${WIDTH}" -gt "480" ] && [ "${WIDTH}" -le "640" ] +then + FONTSIZE=12 +elif [ "${WIDTH}" -gt "640" ] && [ "${WIDTH}" -le "720" ] +then + FONTSIZE=14 +elif [ "${WIDTH}" -gt "720" ] && [ "${WIDTH}" -lt "1080" ] +then + FONTSIZE=20 +else + FONTSIZE=24 +fi + +/usr/bin/text_viewer -f ${FONTSIZE} ${CHANGELOG} diff --git a/packages/rocknix/sources/scripts/suspendmode b/packages/rocknix/sources/scripts/suspendmode new file mode 100755 index 000000000..dfe6f52e2 --- /dev/null +++ b/packages/rocknix/sources/scripts/suspendmode @@ -0,0 +1,55 @@ +#!/bin/bash +. /etc/profile + +REQUESTED_MODE="${*}" +SUSPEND_MODE=$(get_setting system.suspendmode) + +if [ ! "${REQUESTED_MODE}" = "${SUSPEND_MODE}" ] +then + cat </storage/.config/sleep.conf.d/sleep.conf + [Sleep] +EOF + case ${REQUESTED_MODE} in + off) + cat <>/storage/.config/sleep.conf.d/sleep.conf + AllowSuspend=no +EOF + ;; + freeze) + cat <>/storage/.config/sleep.conf.d/sleep.conf + AllowSuspend=yes + SuspendState=freeze standby mem +EOF + ;; + standby) + cat <>/storage/.config/sleep.conf.d/sleep.conf + AllowSuspend=yes + SuspendState=standby mem freeze +EOF + ;; + mem) + cat <>/storage/.config/sleep.conf.d/sleep.conf + AllowSuspend=yes + SuspendState=mem standby freeze +EOF + ;; + default) + del_setting system.suspendmode + if [ -e "/usr/lib/autostart/quirks/platforms/${HW_DEVICE}/030-suspend_mode" ] + then + "/usr/lib/autostart/quirks/devices/${QUIRK_DEVICE}/030-suspend_mode" + elif [ -e "/usr/lib/autostart/quirks/devices/${QUIRK_DEVICE}/030-suspend_mode" ] + then + "/usr/lib/autostart/quirks/platforms/${HW_DEVICE}/030-suspend_mode" + fi + ;; + *) + cat <>/storage/.config/sleep.conf.d/sleep.conf + AllowSuspend=yes + SuspendState=${REQUESTED_MODE} +EOF + ;; + esac + set_setting system.suspendmode ${1} + systemctl restart systemd-logind +fi diff --git a/packages/rocknix/sources/scripts/system-upgrade b/packages/rocknix/sources/scripts/system-upgrade new file mode 100755 index 000000000..8a6a7ff2f --- /dev/null +++ b/packages/rocknix/sources/scripts/system-upgrade @@ -0,0 +1,166 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + + +ORGANIZATION="${GIT_ORGANIZATION}" +BRANCH="$(get_setting updates.branch)" +case ${BRANCH} in + dev) + PROJECT="${GIT_REPO}-dev" + ;; + *) + PROJECT="${GIT_REPO}" + ;; +esac + +FORCE="$(get_setting updates.force)" + +GIT_REPO="https://github.com/${ORGANIZATION}/${PROJECT}" +GIT_API="https://api.github.com/repos/${ORGANIZATION}/${PROJECT}" +UPDATE_PATH="/storage/.update" +EXTENSION="tar" + +function check_network() { + GW=$(ip route | awk '/eth0/ {a=$0} END{print $1}') + if [[ ${GW} =~ [0-9] ]] + then + echo true + else + echo false + fi +} + +get_available() { + echo $(df | awk '/'$1'/ {printf $4; exit}') +} + +get_size() { + echo $(df | awk '/'$1'/ {printf $2; exit}') +} + +check_space() { + MYSIZE="$(get_$1 $2)" + VOLNAME="$3" + REQUIRED="$4" + if [ "${MYSIZE}" -lt "${REQUIRED}" ] + then + NEEDED=$(( (${REQUIRED} - ${MYSIZE} ) / 1024 )) + echo -e "There is not enough free space available ${VOLNAME} to install this update. Free up an additional ${NEEDED}MB, or reflash the newer version." + echo "Exiting in 5 seconds..." && sleep 5 + exit 1 + fi +} + +get_changelog() { + echo "Fetching change log." + echo -e "Change Log" >/storage/.cache/changelog + lynx --dump "${GIT_REPO}/releases/latest" 2>/dev/null | awk '/Contributors|Assets [0-9]/ {exit}; /Change Log/{p++;if(p==1){next}}p;' >>/storage/.cache/changelog + if [ ! "$?" = "0" ] + then + echo "Unable to fetch the change log, please ensure you have a network connection." >>/storage/.cache/changelog + fi +} + +get_release_list() { + DATA=($(curl -H 'Cache-Control: no-cache' -Ls "${GIT_API}/releases" 2>/dev/null | python -c "import sys, json; data=json.load(sys.stdin); print(\"\\n\".join([str(data[i]['tag_name']) for i in range(10)]))")) + if [ ! -z "${DATA}" ] + then + printf "%s\n" "${DATA[@]}" + else + echo "Unable to fetch releases." + fi +} + +function cleanup() { + if [ -e "/tmp/release.data" ] + then + rm -f /tmp/release.data + fi +} + +### +### Check for passed arguments. If we receive changelog, fetch it. If we receive a version, force install it. +### + +case ${1} in + changelog) + get_changelog >/dev/null 2>&1 + exit 0 + ;; + releases) + get_release_list + exit 0 + ;; + [0-9][0-9]*) + UPDATE_PACKAGE=${1} + FORCE=1 + ;; +esac + +ONLINE_STATUS=$(check_network) +if [ ! "${ONLINE_STATUS}" == true ] +then + echo "System not online, cannot continue..." + echo "Exiting in 5 seconds..." && sleep 5 + exit 0 +fi + +echo -e "=> ${OS_NAME} UPGRADE UTILITY" + +# Check storage +check_space size flash boot 2048000 2>/dev/null + +if [ "$(mountpoint -q /storage/roms)" ] +then + check_space available .update GAMES 4096000 2>/dev/null +fi + +if [ -z "${UPDATE_PACKAGE}" ] +then + curl -o /tmp/release.data -H 'Cache-Control: no-cache' -Ls "${GIT_API}/releases" + 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..." + echo "Exiting in 5 seconds..." && sleep 5 + exit 0 + fi +fi + +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}-${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 + echo "Verification failed, cleaning up and exiting..." + rm -f ${UPDATE_PATH}/* + sleep 5 + clear + exit 1 +else + echo "Verification successful..." +fi + +get_changelog + +if [ "${FORCE}" == "1" ] +then + set_setting updates.force 0 +fi + +echo -e "\nRebooting to complete OS upgrade..." +sync +sleep 3 +reboot diff --git a/packages/rocknix/sources/scripts/timeinfo b/packages/rocknix/sources/scripts/timeinfo new file mode 100755 index 000000000..8b43dbe09 --- /dev/null +++ b/packages/rocknix/sources/scripts/timeinfo @@ -0,0 +1,22 @@ +#!/bin/bash + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2020-2022 Shanti Gilbert (https://github.com/shantigilbert) +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +function get_timezone() { + readlink -f /etc/localtime | sed 's;/usr/share/zoneinfo/;;' +} + +function list_timezones() { + cat /usr/share/zoneinfo/zone1970.tab | grep -v "^#" | awk '{ print $3"," }' | sort -u +} + +case "${1}" in + "current_timezone") + get_timezone + ;; + "timezones") + list_timezones + ;; +esac diff --git a/packages/rocknix/sources/scripts/toggle-ipv6 b/packages/rocknix/sources/scripts/toggle-ipv6 new file mode 100755 index 000000000..2e4fc62ab --- /dev/null +++ b/packages/rocknix/sources/scripts/toggle-ipv6 @@ -0,0 +1,16 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +if [ "$(get_setting ipv6.enabled)" == "1" ] +then + sysctl net.ipv6.conf.all.disable_ipv6=0 + sysctl net.ipv6.conf.default.disable_ipv6=0 + sysctl net.ipv6.conf.lo.disable_ipv6=0 +else + sysctl net.ipv6.conf.all.disable_ipv6=1 + sysctl net.ipv6.conf.default.disable_ipv6=1 + sysctl net.ipv6.conf.lo.disable_ipv6=1 +fi diff --git a/packages/rocknix/sources/scripts/updatecheck b/packages/rocknix/sources/scripts/updatecheck new file mode 100755 index 000000000..00d1e1f17 --- /dev/null +++ b/packages/rocknix/sources/scripts/updatecheck @@ -0,0 +1,55 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +. /etc/profile + +ORGANIZATION="${GIT_ORGANIZATION}" +BRANCH="$(get_setting updates.branch)" +case ${BRANCH} in + dev) + PROJECT="${GIT_REPO}-dev" + ;; + *) + PROJECT="${GIT_REPO}" + ;; +esac + +GIT_REPO="https://github.com/${ORGANIZATION}/${PROJECT}" +GIT_API="https://api.github.com/repos/${ORGANIZATION}/${PROJECT}" + +FORCE="$(get_setting updates.force)" + +function check_network() { + GW=$(ip route | awk '/eth0/ {a=$0} END{print $1}') + if [[ ${GW} =~ [0-9] ]] + then + echo true + else + echo false + fi +} + +function cleanup() { + if [ -e "/tmp/release.data" ] + then + rm -f /tmp/release.data + fi +} + +ONLINE_STATUS=$(check_network) +if [ "${ONLINE_STATUS}" == true ] +then + curl -o /tmp/release.data -H 'Cache-Control: no-cache' -Ls "${GIT_API}/releases" + 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 "${UPDATE_PACKAGE}" + cleanup + exit 0 + fi +fi + +cleanup +exit 12 diff --git a/packages/rocknix/sources/scripts/usbgadget b/packages/rocknix/sources/scripts/usbgadget new file mode 100755 index 000000000..9bd431f57 --- /dev/null +++ b/packages/rocknix/sources/scripts/usbgadget @@ -0,0 +1,113 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +for mod in usb_f_ecm usb_f_fs; do + modprobe -q ${mod} +done + +mkdir -p /storage/.cache/usbgadget + +if [ ! -f /storage/.cache/usbgadget/ip_address.conf ] ; then + echo "10.1.1.2" > /storage/.cache/usbgadget/ip_address.conf +fi + +if [ ! -f /storage/.cache/usbgadget/udhcpd.conf ] ; then + echo -e "interface usb0\nstart 10.1.1.1\nend 10.1.1.1\nopt subnet 255.255.255.0\nopt lease 86400\nmax_leases 1\nlease_file /dev/null\nremaining no" >> /storage/.cache/usbgadget/udhcpd.conf +fi + +VENDOR=JELOS +MACHINE=$(cat /etc/hostname) +UDC_NAME=$(ls -1 /sys/class/udc |head -n1) +IP=$(cat /storage/.cache/usbgadget/ip_address.conf) + +usb_disable() { + echo "" > /sys/kernel/config/usb_gadget/gadget/UDC + echo "USB_MODE=disabled" > /storage/.cache/usbgadget/usbgadget.conf +} + +usb_start() { + if [ -r /storage/.cache/usbgadget/usbgadget.conf ] ; then + . /storage/.cache/usbgadget/usbgadget.conf + fi + + if [ "$1" ] ; then + USB_MODE=$1 + fi + + cd /sys/kernel/config/usb_gadget + mkdir gadget \ + gadget/strings/0x409 \ + gadget/configs/c.1 \ + gadget/configs/c.1/strings/0x409 \ + gadget/functions/ffs.mtp \ + gadget/functions/ecm.usb0 + + echo $VENDOR > gadget/strings/0x409/manufacturer + echo $MACHINE > gadget/strings/0x409/product + + + if [ "${USB_MODE}" = mtp ] ; then + echo 0x1d6b > gadget/idVendor + echo 0x0100 > gadget/idProduct + echo mtp > gadget/configs/c.1/strings/0x409/configuration + ln -s gadget/functions/ffs.mtp gadget/configs/c.1 + mkdir /dev/ffs-umtp + mount mtp -t functionfs /dev/ffs-umtp + /usr/sbin/umtprd & + sleep 1 + echo "${UDC_NAME}" > gadget/UDC + + elif [ "${USB_MODE}" = cdc ] ; then + echo cdc > gadget/configs/c.1/strings/0x409/configuration + echo 0x1d6b > gadget/idVendor + echo 0x104 > gadget/idProduct + ln -s gadget/functions/ecm.usb0 gadget/configs/c.1 + echo "${UDC_NAME}" > gadget/UDC + ifconfig usb0 $IP up + /usr/sbin/udhcpd -S /storage/.cache/usbgadget/udhcpd.conf + else + exit 0 + fi + + echo "USB_MODE=$(cat gadget/configs/c.1/strings/0x409/configuration)" > /storage/.cache/usbgadget/usbgadget.conf +} + +usb_stop() { + ( + cd /sys/kernel/config/usb_gadget + + usb_disable + umount /dev/ffs-umtp + rmdir /dev/ffs-umtp + + rm -f mtp/configs/c.1/ffs.mtp \ + gadget/configs/c.1/ecm.usb0 \ + + rmdir gadget/configs/c.1/strings/0x409 \ + gadget/configs/c.1 \ + gadget/functions/ffs.mtp \ + gadget/functions/ecm.usb0 \ + gadget/strings/0x409 \ + gadget + + killall udhcpd + killall umtprd + ) >/dev/null 2>&1 +} + +case "$1" in + start) + usb_start $2 + ;; + stop) + usb_stop + ;; + restart) + usb_stop + usb_start $2 + ;; + *) + echo "Usage: usbgadget [start|stop|restart]" + ;; +esac diff --git a/packages/rocknix/sources/scripts/volume b/packages/rocknix/sources/scripts/volume new file mode 100755 index 000000000..3021429a1 --- /dev/null +++ b/packages/rocknix/sources/scripts/volume @@ -0,0 +1,40 @@ +#!/bin/sh + +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + + +# Source minimal predefined functions and variables +# to ensure as much performance as possible. +. /etc/profile.d/001-functions + +VOLUME=$(get_setting "audio.volume") +MAX_VOLUME=100 +MIN_VOLUME=0 +STEP=10 + +case ${1} in + "+"|"up") + VOLUME=$(( ${VOLUME} + ${STEP} )) + ;; + "-"|"down") + VOLUME=$(( ${VOLUME} - ${STEP} )) + ;; + *) + VOLUME=${1} + ;; +esac + +if (( ${VOLUME} < ${MIN_VOLUME} )) +then + VOLUME=${MIN_VOLUME} +elif (( ${VOLUME} > ${MAX_VOLUME} )) +then + VOLUME=${MAX_VOLUME} +elif [ -z "${VOLUME}" ] +then + VOLUME=60 +fi + +pactl -- set-sink-volume @DEFAULT_SINK@ ${VOLUME}% +set_setting "audio.volume" ${VOLUME} diff --git a/packages/rocknix/sources/scripts/wifictl b/packages/rocknix/sources/scripts/wifictl new file mode 100755 index 000000000..22bf7a622 --- /dev/null +++ b/packages/rocknix/sources/scripts/wifictl @@ -0,0 +1,220 @@ +#!/bin/bash +# SPDX-License-Identifier: Apache-2.0 +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) +# Copyright (C) 2022 kkoshelev (https://github.com/kkoshelev) + +. /etc/profile + +### +### Basic WIFI properties used across the tool. +### +### Usage: +###  wifictl command [ssid] [psk] +### + +CFG_ROOT="/storage/.cache" +WIFI_CFG="${CFG_ROOT}/connman/wifi.config" +HOSTAPD_CFG="${CFG_ROOT}/.hostapd.conf" +WIFI_TYPE=$(get_setting network.adhoc.enabled) +NETWORK_ADDRESS="192.168.80" +ADHOC_CLIENT_ID=$(get_setting wifi.adhoc.id) +WIFI_DEV="wlan0" +DEFAULT_CHAN="6" + +### ES won't save the configuration in time +### for it to be useable by the script, so +### we have to accept the ssid and key on the +### command line too. + +if [ ! -z "${2}" ] +then + SSID="${2}" +else + SSID="$(get_setting wifi.ssid)" 2>/dev/null +fi + +if [ ! -z "${3}" ] +then + PSK="${3}" +else + PSK="$(get_setting wifi.key)" 2>/dev/null +fi + + +if [ "${WIFI_TYPE}" = "1" ] +then + GENERATED=($(awk '! /^HW_|BUILD_DATE/ {print}' /etc/os-release | md5sum)) + SSID="${GENERATED[0]:0:10}" + PSK="${GENERATED[0]: -10}" +fi + +if [ ! -d "${CFG_ROOT}/connman" ] +then + mkdir -p "${CFG_ROOT}/connman" +fi + +ADHOC_CHAN=$(get_setting wifi.adhoc.channel) +if [ -z "${ADHOC_CHAN}" ] +then + ADHOC_CHAN="${DEFAULT_CHAN}" + set_setting wifi.adhoc.channel ${DEFAULT_CHAN} +fi + +### +### Functions... +### + +# lists all wifi services in service=ssid format +list_wifi() { + connmanctl services | cut -b 5- | awk '/\S+.+\s+wifi/ {a=$0; sub(/\s+wifi_.*$/,"", a); b=$0; sub(a, "", b); sub(/\s+/, "", b); print b "=" a}' | sort | uniq +} + +# Looksup connman service name based on ssid +# $1 - SSID to lookup +get_wifi_service() { + list_wifi | awk -v ssid="${1}" '{ split($0, a, "="); if (a[2]==ssid) print a[1] }' +} + +set_powersave() { + ENABLED=$(get_setting system.power.wifi) + if [ "${ENABLED}" = "1" ] + then + log $0 "Enabling WIFI power saving." + iw ${WIFI_DEV} set power_save on 2>/dev/null + else + log $0 "Disabling WIFI power saving." + iw ${WIFI_DEV} set power_save off 2>/dev/null + fi +} + +wifi_service() { + for SERVICE in wpa_supplicant connman-vpn connman + do + systemctl ${1} ${SERVICE} + done +} + +connect_wifi() { + systemctl restart connman 2>/dev/null + connmanctl enable wifi 2>/dev/null + connmanctl connect $(connmanctl services 2>&1 | awk '/\s'${SSID}'\s/ {gsub(/^\*[A-z][A-z]/,""); print $2}') 2>/dev/null + set_powersave 2>/dev/null +} + +create_adhoc() { + wifi_service stop + rfkill unblock wifi + + cat <${HOSTAPD_CFG} +interface=${WIFI_DEV} +auth_algs=1 +channel=${ADHOC_CHAN} +wpa=2 +wpa_key_mgmt=WPA-PSK +wpa_pairwise=CCMP +rsn_pairwise=CCMP +wpa_passphrase=${PSK} +ssid=${SSID} +EOF + + sysctl -w net.ipv4.ip_forward=1 + + ### Flush any existing IP + ip addr flush dev ${WIFI_DEV} + + ### Set our IP + ip addr add ${NETWORK_ADDRESS}.${ADHOC_CLIENT_ID}/24 dev ${WIFI_DEV} >/dev/null 2>&1 + + systemctl start hostapd + + exit 0 +} + +destroy_adhoc() { + ip addr flush dev ${WIFI_DEV} + ip link set ${WIFI_DEV} down + systemctl stop hostapd +} + +set_profile() { + wifi_service stop + cat > "${WIFI_CFG}" <> "${WIFI_CFG}" <> "${WIFI_CFG}" </dev/null 2>&1 + if [ "${WIFI_TYPE}" = "1" ] && \ + [ "${ADHOC_CLIENT_ID}" = "1" ] + then + create_adhoc >/dev/null 2>&1 + else + destroy_adhoc >/dev/null 2>&1 + fi + connect_wifi >/dev/null 2>&1 + set_setting network.enabled 1 + ;; + disable) + if [ "${WIFI_TYPE}" = "1" ] + then + destroy_adhoc >/dev/null 2>&1 + fi + connmanctl disable wifi >/dev/null 2>&1 + rfkill block wifi >/dev/null 2>&1 + rm -f "${WIFI_CFG}" 2>/dev/null + set_setting network.enabled 0 + ;; + reconnect) + /usr/bin/wifictl disable + /usr/bin/wifictl enable + ;; + list) + list_wifi | awk '{sub(/\S+=/,"",$0);print}' + ;; + channels) + iw list | awk '/[0-9] MHz \[/ && ! /disabled|radar|no IR/ { gsub(/^.*\[/,""); gsub(/\].*$/,""); print}' + ;; + scan) + connmanctl scan wifi 2>/dev/null + ;; + scanlist) + set_wifi scan 2>/dev/null + list_wifi | awk '{sub(/\S+=/,"",$0);print}' + ;; + service) + get_wifi_service "${SSID}" + ;; + setpowersave) + set_powersave + ;; + setprofile) + set_profile + ;; +esac diff --git a/packages/rocknix/system.d/bluetooth-agent.service b/packages/rocknix/system.d/bluetooth-agent.service new file mode 100644 index 000000000..dc465e214 --- /dev/null +++ b/packages/rocknix/system.d/bluetooth-agent.service @@ -0,0 +1,11 @@ +[Unit] +Description=Start bluetooth agent +After=bluetooth.service +PartOf=bluetooth.service + +[Service] +Type=simple +ExecStart=/usr/bin/batocera-bluetooth-agent + +[Install] +WantedBy=bluetooth.service diff --git a/packages/rocknix/system.d/jelos-automount.service b/packages/rocknix/system.d/jelos-automount.service new file mode 100644 index 000000000..5afbaefad --- /dev/null +++ b/packages/rocknix/system.d/jelos-automount.service @@ -0,0 +1,14 @@ +[Unit] +Description=JELOS user autostart script +Before=autostart.service +After=systemd-tmpfiles-setup.service + +[Service] +Type=oneshot +Environment=HOME=/storage +EnvironmentFile=/etc/profile +ExecStart=/usr/bin/automount +RemainAfterExit=yes + +[Install] +WantedBy=jelos.target diff --git a/packages/rocknix/system.d/jelos.target b/packages/rocknix/system.d/jelos.target new file mode 100644 index 000000000..0e800322c --- /dev/null +++ b/packages/rocknix/system.d/jelos.target @@ -0,0 +1,9 @@ +[Unit] +Description=jelos +Requires=multi-user.target graphical.target +After=graphical.target +Conflicts=rescue.target +AllowIsolate=yes + +[Install] +Alias=default.target diff --git a/packages/rocknix/system.d/save-sysconfig.service b/packages/rocknix/system.d/save-sysconfig.service new file mode 100644 index 000000000..6ccce99c4 --- /dev/null +++ b/packages/rocknix/system.d/save-sysconfig.service @@ -0,0 +1,12 @@ +[Unit] +Description=Back up the system config before shutting down +DefaultDependencies=no +Before=shutdown.target + +[Service] +Type=oneshot +ExecStart=/usr/bin/chksysconfig backup +TimeoutStartSec=0 + +[Install] +WantedBy=shutdown.target diff --git a/packages/virtual/image/package.mk b/packages/virtual/image/package.mk index e5d27dea7..267ae00c9 100644 --- a/packages/virtual/image/package.mk +++ b/packages/virtual/image/package.mk @@ -13,7 +13,7 @@ PKG_DEPENDS_TARGET="toolchain squashfs-tools:host dosfstools:host fakeroot:host ${BOOTLOADER} busybox umtprd util-linux usb-modeswitch unzip poppler jq socat \ p7zip file initramfs grep wget util-linux zstd lz4 empty lzo libzip \ bash coreutils modules system-utils autostart quirks powerstate gnupg \ - gzip six lynx xmlstarlet vim pyudev dialog dbus-python network jelos" + gzip six lynx xmlstarlet vim pyudev dialog dbus-python network rocknix" PKG_UI="emulationstation es-themes textviewer" diff --git a/scripts/build_distro b/scripts/build_distro index 72cd162ec..489835748 100755 --- a/scripts/build_distro +++ b/scripts/build_distro @@ -3,7 +3,7 @@ # Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) ### -### Simple script to build JELOS +### Simple script to build ROCKNX ### if [ !"${ARCH}" == true ] From a2f54689eeaa25887f86f64259d48b336ef745a4 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Mon, 18 Mar 2024 13:24:05 +0000 Subject: [PATCH 02/77] rocknix bring up --- Makefile | 33 +- .../{JELOS => ROCKNIX}/logos/jelos-logo.png | Bin distributions/{JELOS => ROCKNIX}/options | 12 +- .../{JELOS => ROCKNIX}/splash/splash.png | Bin packages/apps/fileman/package.mk | 2 +- .../patches/RK3566-BSP/001-add-support.patch | 72 - packages/devel/glibc/package.mk | 5 +- .../patches/RK3566-BSP/000-platform.patch | 43 - .../standalone/aethersx2-sa/package.mk | 2 +- .../config/RK3566-BSP-X55/drastic.cfg | 111 - .../drastic-sa/config/RK3566-BSP/drastic.cfg | 111 - .../standalone/drastic-sa/package.mk | 2 +- .../config/RK3566-BSP-X55/settings.ini | 229 - .../config/RK3566-BSP/settings.ini | 230 - .../flycast-sa/config/RK3566-BSP-X55/emu.cfg | 16 - .../mappings/SDL_zed_joystick.cfg | 32 - .../flycast-sa/config/RK3566-BSP/emu.cfg | 13 - .../standalone/flycast-sa/package.mk | 2 +- .../config/RK3566-BSP-X55/mupen64plus.cfg | 665 -- .../config/RK3566-BSP/mupen64plus.cfg | 665 -- .../config/RK3566-BSP-X55/default.ini | 24 - .../config/RK3566-BSP-X55/zlswap.ini | 24 - .../config/RK3566-BSP/default.ini | 25 - .../config/RK3566-BSP/zlswap.ini | 25 - .../sources/RK3566-BSP-X55/controls.ini | 18 - .../sources/RK3566-BSP-X55/ppsspp.ini | 512 -- .../ppsspp-sa/sources/RK3566-BSP/controls.ini | 18 - .../ppsspp-sa/sources/RK3566-BSP/ppsspp.ini | 511 -- .../ppsspp-sa/sources/RK3566-X55/ppsspp.ini | 511 -- .../emulators/standalone/retroarch/package.mk | 7 - .../retroarch/sources/RK3566-BSP-X55 | 1 - .../RK3566-BSP/TATE-MAME 2003-Plus.rmp | 27 - .../RK3566-BSP/retroarch-core-options.cfg | 153 - .../sources/RK3566-BSP/retroarch.cfg | 822 --- .../RK3566-BSP/retroarch32bit-append.cfg | 2 - .../RK3566-BSP/retroarch64bit-append.cfg | 2 - .../SDL2/patches/0001-Split-V-and-P-M.patch | 31 - .../0004-KMSDRM-Rotate-the-cursor.patch | 70 - ...mplement-librga-framebuffer-rotation.patch | 305 - ...ion-should-respect-panel-orientation.patch | 356 - ...mplement-librga-framebuffer-rotation.patch | 248 - .../RK3566-BSP/0004-fix-touch-mouse.patch | 74 - ...ion-should-respect-panel-orientation.patch | 356 - .../0006-limit-rga-buffering-when-egl.patch | 59 - packages/graphics/plymouth-lite/package.mk | 31 - .../RK3566-BSP-X55/001-device_config | 10 - .../platforms/RK3566-BSP-X55/050-audio_path | 9 - .../platforms/RK3566-BSP-X55/050-modifiers | 10 - .../RK3566-BSP-X55/060-game_settings | 24 - .../platforms/RK3566-BSP-X55/090-ui_service | 8 - .../platforms/RK3566-BSP-X55/091-ui_shader | 8 - .../RK3566-BSP-X55/sleep.d/post/002-freq | 23 - .../RK3566-BSP-X55/sleep.d/pre/002-freq | 19 - .../platforms/RK3566-BSP/001-device_config | 10 - .../quirks/platforms/RK3566-BSP/010-governors | 9 - .../platforms/RK3566-BSP/010-led_control | 9 - .../platforms/RK3566-BSP/030-suspend_mode | 13 - .../platforms/RK3566-BSP/050-audio_path | 9 - .../quirks/platforms/RK3566-BSP/050-modifiers | 10 - .../quirks/platforms/RK3566-BSP/050-volume | 8 - .../platforms/RK3566-BSP/060-game_settings | 25 - .../platforms/RK3566-BSP/090-ui_service | 8 - .../quirks/platforms/RK3566-BSP/091-ui_shader | 8 - .../platforms/RK3566-BSP/bin/ledcontrol | 72 - .../RK3566-BSP/sleep.d/post/002-freq | 23 - .../platforms/RK3566-BSP/sleep.d/pre/002-freq | 19 - .../platforms/RK3566-X55/001-device_config | 9 - packages/jelos/autostart/001-setup | 41 - packages/jelos/autostart/002-kernel | 14 - packages/jelos/autostart/003-upgrade | 18 - packages/jelos/autostart/006-display | 36 - packages/jelos/autostart/007-rootpw | 27 - packages/jelos/autostart/008-perfmode | 41 - packages/jelos/autostart/009-sleepmode | 17 - packages/jelos/autostart/010-uimode | 26 - packages/jelos/autostart/050-audio | 46 - packages/jelos/autostart/055-hdmi-check | 29 - packages/jelos/autostart/080-network | 17 - packages/jelos/autostart/081-usbgadget | 10 - packages/jelos/autostart/099-networkservices | 42 - .../jelos/config/system/configs/system.cfg | 219 - packages/jelos/config/system/configs/tz | 593 -- packages/jelos/package.mk | 96 - packages/jelos/profile.d/001-functions | 206 - .../jelos/profile.d/020-audio_latency.conf | 9 - packages/jelos/profile.d/099-freqfunctions | 118 - packages/jelos/sources/issue | 7 - packages/jelos/sources/post-update | 96 - packages/jelos/sources/scripts/amionline | 20 - packages/jelos/sources/scripts/automount | 227 - packages/jelos/sources/scripts/backuptool | 69 - .../jelos/sources/scripts/batocera-bluetooth | 110 - .../sources/scripts/batocera-bluetooth-agent | 461 -- .../jelos/sources/scripts/batocera-config | 297 - packages/jelos/sources/scripts/batocera-info | 1 - .../jelos/sources/scripts/batocera-resolution | 18 - .../scripts/batocera-retroachievements-info | 104 - .../jelos/sources/scripts/batocera-scraper | 79 - .../jelos/sources/scripts/batocera-settings | 267 - .../jelos/sources/scripts/batocera-systems | 612 -- packages/jelos/sources/scripts/benchmark | 112 - packages/jelos/sources/scripts/bezels.sh | 217 - packages/jelos/sources/scripts/brightness | 90 - packages/jelos/sources/scripts/chksysconfig | 39 - .../jelos/sources/scripts/cleanup_overlay | 11 - packages/jelos/sources/scripts/error.sh | 19 - packages/jelos/sources/scripts/factoryreset | 39 - packages/jelos/sources/scripts/find.sh | 6 - packages/jelos/sources/scripts/getfilters | 11 - packages/jelos/sources/scripts/getoverlays | 12 - packages/jelos/sources/scripts/getshaders | 23 - packages/jelos/sources/scripts/led_flash | 42 - packages/jelos/sources/scripts/migrate_roms | 36 - packages/jelos/sources/scripts/paneladj | 104 - packages/jelos/sources/scripts/run | 35 - packages/jelos/sources/scripts/runemu.sh | 461 -- packages/jelos/sources/scripts/say | 22 - packages/jelos/sources/scripts/setemu.sh | 30 - packages/jelos/sources/scripts/setrootpass | 44 - packages/jelos/sources/scripts/setsettings.sh | 1109 --- packages/jelos/sources/scripts/show_changelog | 32 - packages/jelos/sources/scripts/suspendmode | 55 - packages/jelos/sources/scripts/system-upgrade | 166 - packages/jelos/sources/scripts/timeinfo | 22 - packages/jelos/sources/scripts/toggle-ipv6 | 16 - packages/jelos/sources/scripts/updatecheck | 55 - packages/jelos/sources/scripts/usbgadget | 113 - packages/jelos/sources/scripts/volume | 40 - packages/jelos/sources/scripts/wifictl | 220 - .../jelos/system.d/bluetooth-agent.service | 11 - .../jelos/system.d/jelos-automount.service | 14 - packages/jelos/system.d/jelos.target | 9 - .../jelos/system.d/save-sysconfig.service | 12 - packages/kernel/linux/package.mk | 16 +- .../rocknix/config/system/configs/system.cfg | 2 +- packages/rocknix/package.mk | 2 +- packages/rocknix/sources/issue | 11 +- .../rocknix/sources/scripts/batocera-info | 2 +- packages/rocknix/sources/scripts/jelos-info | 140 - .../sources/scripts/rocknix-info} | 0 packages/textproc/textviewer/package.mk | 2 +- .../sound/soundfont-generaluser/package.mk | 2 +- packages/ui/emulationstation/package.mk | 2 +- .../emulationstation/patches/RK3566-BSP-X55 | 1 - .../patches/RK3566-BSP/001-3566-bsp.patch | 54 - .../RK-ARMV8-A/linux/linux.aarch64.conf | 6196 ---------------- projects/Rockchip/devices/RK-ARMV8-A/options | 161 - .../RK3566-BSP-X55/linux/linux.aarch64.conf | 6053 ---------------- .../Rockchip/devices/RK3566-BSP-X55/options | 158 - .../RK3566-BSP/linux/linux.aarch64.conf | 6216 ----------------- projects/Rockchip/devices/RK3566-BSP/options | 158 - .../RK3566-X55/linux/linux.aarch64.conf | 1113 --- projects/Rockchip/devices/RK3566-X55/options | 163 - projects/Rockchip/packages/u-boot/package.mk | 31 +- .../RK3566-BSP-X55/001-charge-led.patch | 219 - ...itional_boards_and_features_to_rgxx3.patch | 919 --- .../RK3566-X55/002-v2-add-powkiddy-x55.patch | 1383 ---- .../RK3566-X55/003-fix-dtb-and-vs.patch | 35 - ...l-Add-helper-for-reading-DT-rotation.patch | 103 - ...lit-out-orientation-quirk-detection-.patch | 171 - ...-panel-simple-Read-panel-orientation.patch | 55 - ...rientation-of-the-Powkiddy-X55-panel.patch | 25 - ...05-disable-enum-int-mismatch-warning.patch | 12 - ...l-Add-helper-for-reading-DT-rotation.patch | 103 - ...lit-out-orientation-quirk-detection-.patch | 171 - ...-panel-simple-Read-panel-orientation.patch | 55 - ...05-disable-enum-int-mismatch-warning.patch | 12 - projects/Rockchip/patches/linux/RK3566-X55 | 1 - scripts/setEnv | 14 +- 169 files changed, 38 insertions(+), 37723 deletions(-) rename distributions/{JELOS => ROCKNIX}/logos/jelos-logo.png (100%) rename distributions/{JELOS => ROCKNIX}/options (96%) rename distributions/{JELOS => ROCKNIX}/splash/splash.png (100%) delete mode 100644 packages/apps/fileman/patches/RK3566-BSP/001-add-support.patch delete mode 100644 packages/emulators/libretro/flycast2021-lr/patches/RK3566-BSP/000-platform.patch delete mode 100644 packages/emulators/standalone/drastic-sa/config/RK3566-BSP-X55/drastic.cfg delete mode 100644 packages/emulators/standalone/drastic-sa/config/RK3566-BSP/drastic.cfg delete mode 100644 packages/emulators/standalone/duckstation-sa/config/RK3566-BSP-X55/settings.ini delete mode 100644 packages/emulators/standalone/duckstation-sa/config/RK3566-BSP/settings.ini delete mode 100644 packages/emulators/standalone/flycast-sa/config/RK3566-BSP-X55/emu.cfg delete mode 100644 packages/emulators/standalone/flycast-sa/config/RK3566-BSP-X55/mappings/SDL_zed_joystick.cfg delete mode 100644 packages/emulators/standalone/flycast-sa/config/RK3566-BSP/emu.cfg delete mode 100644 packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-core/config/RK3566-BSP-X55/mupen64plus.cfg delete mode 100644 packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-core/config/RK3566-BSP/mupen64plus.cfg delete mode 100644 packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP-X55/default.ini delete mode 100644 packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP-X55/zlswap.ini delete mode 100644 packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP/default.ini delete mode 100644 packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP/zlswap.ini delete mode 100644 packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP-X55/controls.ini delete mode 100755 packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP-X55/ppsspp.ini delete mode 100644 packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP/controls.ini delete mode 100755 packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP/ppsspp.ini delete mode 100755 packages/emulators/standalone/ppsspp-sa/sources/RK3566-X55/ppsspp.ini delete mode 120000 packages/emulators/standalone/retroarch/sources/RK3566-BSP-X55 delete mode 100644 packages/emulators/standalone/retroarch/sources/RK3566-BSP/TATE-MAME 2003-Plus.rmp delete mode 100644 packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch-core-options.cfg delete mode 100644 packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch.cfg delete mode 100644 packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch32bit-append.cfg delete mode 100644 packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch64bit-append.cfg delete mode 100644 packages/graphics/SDL2/patches/0001-Split-V-and-P-M.patch delete mode 100644 packages/graphics/SDL2/patches/0004-KMSDRM-Rotate-the-cursor.patch delete mode 100644 packages/graphics/SDL2/patches/RK3566-BSP-X55/0003-Implement-librga-framebuffer-rotation.patch delete mode 100644 packages/graphics/SDL2/patches/RK3566-BSP-X55/0005-KMSDRM-Rotation-should-respect-panel-orientation.patch delete mode 100644 packages/graphics/SDL2/patches/RK3566-BSP/0003-Implement-librga-framebuffer-rotation.patch delete mode 100644 packages/graphics/SDL2/patches/RK3566-BSP/0004-fix-touch-mouse.patch delete mode 100644 packages/graphics/SDL2/patches/RK3566-BSP/0005-KMSDRM-Rotation-should-respect-panel-orientation.patch delete mode 100644 packages/graphics/SDL2/patches/RK3566-BSP/0006-limit-rga-buffering-when-egl.patch delete mode 100644 packages/graphics/plymouth-lite/package.mk delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP-X55/001-device_config delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP-X55/050-audio_path delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP-X55/050-modifiers delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP-X55/060-game_settings delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP-X55/090-ui_service delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP-X55/091-ui_shader delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP-X55/sleep.d/post/002-freq delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP-X55/sleep.d/pre/002-freq delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/001-device_config delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/010-governors delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/010-led_control delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/030-suspend_mode delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/050-audio_path delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/050-modifiers delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/050-volume delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/060-game_settings delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/090-ui_service delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/091-ui_shader delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/bin/ledcontrol delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/sleep.d/post/002-freq delete mode 100755 packages/hardware/quirks/platforms/RK3566-BSP/sleep.d/pre/002-freq delete mode 100755 packages/hardware/quirks/platforms/RK3566-X55/001-device_config delete mode 100755 packages/jelos/autostart/001-setup delete mode 100755 packages/jelos/autostart/002-kernel delete mode 100755 packages/jelos/autostart/003-upgrade delete mode 100755 packages/jelos/autostart/006-display delete mode 100755 packages/jelos/autostart/007-rootpw delete mode 100755 packages/jelos/autostart/008-perfmode delete mode 100755 packages/jelos/autostart/009-sleepmode delete mode 100755 packages/jelos/autostart/010-uimode delete mode 100755 packages/jelos/autostart/050-audio delete mode 100755 packages/jelos/autostart/055-hdmi-check delete mode 100755 packages/jelos/autostart/080-network delete mode 100755 packages/jelos/autostart/081-usbgadget delete mode 100755 packages/jelos/autostart/099-networkservices delete mode 100644 packages/jelos/config/system/configs/system.cfg delete mode 100644 packages/jelos/config/system/configs/tz delete mode 100644 packages/jelos/package.mk delete mode 100644 packages/jelos/profile.d/001-functions delete mode 100644 packages/jelos/profile.d/020-audio_latency.conf delete mode 100644 packages/jelos/profile.d/099-freqfunctions delete mode 100644 packages/jelos/sources/issue delete mode 100644 packages/jelos/sources/post-update delete mode 100755 packages/jelos/sources/scripts/amionline delete mode 100755 packages/jelos/sources/scripts/automount delete mode 100755 packages/jelos/sources/scripts/backuptool delete mode 100755 packages/jelos/sources/scripts/batocera-bluetooth delete mode 100755 packages/jelos/sources/scripts/batocera-bluetooth-agent delete mode 100755 packages/jelos/sources/scripts/batocera-config delete mode 120000 packages/jelos/sources/scripts/batocera-info delete mode 100755 packages/jelos/sources/scripts/batocera-resolution delete mode 100755 packages/jelos/sources/scripts/batocera-retroachievements-info delete mode 100755 packages/jelos/sources/scripts/batocera-scraper delete mode 100755 packages/jelos/sources/scripts/batocera-settings delete mode 100755 packages/jelos/sources/scripts/batocera-systems delete mode 100755 packages/jelos/sources/scripts/benchmark delete mode 100755 packages/jelos/sources/scripts/bezels.sh delete mode 100755 packages/jelos/sources/scripts/brightness delete mode 100755 packages/jelos/sources/scripts/chksysconfig delete mode 100755 packages/jelos/sources/scripts/cleanup_overlay delete mode 100755 packages/jelos/sources/scripts/error.sh delete mode 100755 packages/jelos/sources/scripts/factoryreset delete mode 100755 packages/jelos/sources/scripts/find.sh delete mode 100755 packages/jelos/sources/scripts/getfilters delete mode 100755 packages/jelos/sources/scripts/getoverlays delete mode 100755 packages/jelos/sources/scripts/getshaders delete mode 100755 packages/jelos/sources/scripts/led_flash delete mode 100644 packages/jelos/sources/scripts/migrate_roms delete mode 100755 packages/jelos/sources/scripts/paneladj delete mode 100755 packages/jelos/sources/scripts/run delete mode 100755 packages/jelos/sources/scripts/runemu.sh delete mode 100755 packages/jelos/sources/scripts/say delete mode 100755 packages/jelos/sources/scripts/setemu.sh delete mode 100755 packages/jelos/sources/scripts/setrootpass delete mode 100755 packages/jelos/sources/scripts/setsettings.sh delete mode 100755 packages/jelos/sources/scripts/show_changelog delete mode 100755 packages/jelos/sources/scripts/suspendmode delete mode 100755 packages/jelos/sources/scripts/system-upgrade delete mode 100755 packages/jelos/sources/scripts/timeinfo delete mode 100755 packages/jelos/sources/scripts/toggle-ipv6 delete mode 100755 packages/jelos/sources/scripts/updatecheck delete mode 100755 packages/jelos/sources/scripts/usbgadget delete mode 100755 packages/jelos/sources/scripts/volume delete mode 100755 packages/jelos/sources/scripts/wifictl delete mode 100644 packages/jelos/system.d/bluetooth-agent.service delete mode 100644 packages/jelos/system.d/jelos-automount.service delete mode 100644 packages/jelos/system.d/jelos.target delete mode 100644 packages/jelos/system.d/save-sysconfig.service delete mode 100755 packages/rocknix/sources/scripts/jelos-info rename packages/{jelos/sources/scripts/jelos-info => rocknix/sources/scripts/rocknix-info} (100%) delete mode 120000 packages/ui/emulationstation/patches/RK3566-BSP-X55 delete mode 100644 packages/ui/emulationstation/patches/RK3566-BSP/001-3566-bsp.patch delete mode 100644 projects/Rockchip/devices/RK-ARMV8-A/linux/linux.aarch64.conf delete mode 100644 projects/Rockchip/devices/RK-ARMV8-A/options delete mode 100644 projects/Rockchip/devices/RK3566-BSP-X55/linux/linux.aarch64.conf delete mode 100644 projects/Rockchip/devices/RK3566-BSP-X55/options delete mode 100644 projects/Rockchip/devices/RK3566-BSP/linux/linux.aarch64.conf delete mode 100644 projects/Rockchip/devices/RK3566-BSP/options delete mode 100644 projects/Rockchip/devices/RK3566-X55/linux/linux.aarch64.conf delete mode 100644 projects/Rockchip/devices/RK3566-X55/options delete mode 100644 projects/Rockchip/packages/u-boot/patches/RK3566-BSP-X55/001-charge-led.patch delete mode 100644 projects/Rockchip/packages/u-boot/patches/RK3566-X55/001-v3-add_additional_boards_and_features_to_rgxx3.patch delete mode 100644 projects/Rockchip/packages/u-boot/patches/RK3566-X55/002-v2-add-powkiddy-x55.patch delete mode 100644 projects/Rockchip/packages/u-boot/patches/RK3566-X55/003-fix-dtb-and-vs.patch delete mode 100644 projects/Rockchip/patches/linux/RK3566-BSP-X55/0001-drm-panel-Add-helper-for-reading-DT-rotation.patch delete mode 100644 projects/Rockchip/patches/linux/RK3566-BSP-X55/0002-drm-connector-Split-out-orientation-quirk-detection-.patch delete mode 100644 projects/Rockchip/patches/linux/RK3566-BSP-X55/0003-drm-panel-simple-Read-panel-orientation.patch delete mode 100644 projects/Rockchip/patches/linux/RK3566-BSP-X55/0004-dts-Define-the-orientation-of-the-Powkiddy-X55-panel.patch delete mode 100644 projects/Rockchip/patches/linux/RK3566-BSP-X55/0005-disable-enum-int-mismatch-warning.patch delete mode 100644 projects/Rockchip/patches/linux/RK3566-BSP/0001-drm-panel-Add-helper-for-reading-DT-rotation.patch delete mode 100644 projects/Rockchip/patches/linux/RK3566-BSP/0002-drm-connector-Split-out-orientation-quirk-detection-.patch delete mode 100644 projects/Rockchip/patches/linux/RK3566-BSP/0003-drm-panel-simple-Read-panel-orientation.patch delete mode 100644 projects/Rockchip/patches/linux/RK3566-BSP/0005-disable-enum-int-mismatch-warning.patch delete mode 120000 projects/Rockchip/patches/linux/RK3566-X55 diff --git a/Makefile b/Makefile index a1b9b554a..4809ccd33 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ BUILD_DIRS=build.* --include $(HOME)/.JELOS/options +-include $(HOME)/.${DISTRONAME}/options all: world @@ -24,7 +24,7 @@ src-pkg: docs: ./tools/foreach './scripts/clean emulators && ./scripts/build emulators' -world: AMD64 RK3566-BSP RK3566-BSP-X55 RK3588 S922X RK3326 RK3399 +world: AMD64 RK3588 S922X RK3326 RK3399 AMD64: unset DEVICE_ROOT @@ -50,24 +50,6 @@ RK3566: DEVICE_ROOT=RK3566 PROJECT=Rockchip DEVICE=RK3566 ARCH=arm ./scripts/build_distro DEVICE_ROOT=RK3566 PROJECT=Rockchip DEVICE=RK3566 ARCH=aarch64 ./scripts/build_distro -RK3566-X55: - DEVICE_ROOT=RK3566 PROJECT=Rockchip DEVICE=RK3566-X55 ARCH=arm ./scripts/build_distro - DEVICE_ROOT=RK3566 PROJECT=Rockchip DEVICE=RK3566-X55 ARCH=aarch64 ./scripts/build_distro - -RK3566-BSP: - unset DEVICE_ROOT - DEVICE_ROOT=RK3566-BSP PROJECT=Rockchip DEVICE=RK3566-BSP ARCH=arm ./scripts/build_distro - DEVICE_ROOT=RK3566-BSP PROJECT=Rockchip DEVICE=RK3566-BSP ARCH=aarch64 ./scripts/build_distro - -RK3566-BSP-X55: - DEVICE_ROOT=RK3566-BSP PROJECT=Rockchip DEVICE=RK3566-BSP-X55 ARCH=arm ./scripts/build_distro - DEVICE_ROOT=RK3566-BSP PROJECT=Rockchip DEVICE=RK3566-BSP-X55 ARCH=aarch64 ./scripts/build_distro - -RK-ARMV8-A: - unset DEVICE_ROOT - PROJECT=Rockchip DEVICE=RK-ARMV8-A ARCH=arm ./scripts/build_distro - PROJECT=Rockchip DEVICE=RK-ARMV8-A ARCH=aarch64 ./scripts/build_distro - RK3326: unset DEVICE_ROOT PROJECT=Rockchip DEVICE=RK3326 ARCH=arm ./scripts/build_distro @@ -78,13 +60,6 @@ RK3399: PROJECT=Rockchip DEVICE=RK3399 ARCH=arm ./scripts/build_distro PROJECT=Rockchip DEVICE=RK3399 ARCH=aarch64 ./scripts/build_distro -RK33XX: - unset DEVICE_ROOT - unset BASE_DEVICE - $(MAKE) RK-ARMV8-A - BASE_DEVICE=RK-ARMV8-A $(MAKE) RK3326 - BASE_DEVICE=RK-ARMV8-A $(MAKE) RK3399 - update: PROJECT=PC DEVICE=AMD64 ARCH=x86_64 ./scripts/update_packages @@ -105,8 +80,8 @@ docker-%: DOCKER_IMAGE := "justenoughlinuxos/jelos-build:latest" # Anytime this directory changes, you must run `make clean` similarly to moving the distribution directory docker-%: DOCKER_WORK_DIR := $(shell if [ -n "${DOCKER_WORK_DIR}" ]; then echo ${DOCKER_WORK_DIR}; else echo "$$(pwd)" ; fi) -# ${HOME}/.JELOS/options is a global options file containing developer and build settings. -docker-%: GLOBAL_SETTINGS := $(shell if [ -f "${HOME}/.JELOS/options" ]; then echo "-v \"${HOME}/.JELOS/options:${HOME}/.JELOS/options\""; else echo ""; fi) +# ${HOME}/.${DISTRONAME}/options is a global options file containing developer and build settings. +docker-%: GLOBAL_SETTINGS := $(shell if [ -f "${HOME}/.${DISTRONAME}/options" ]; then echo "-v \"${HOME}/.${DISTRONAME}/options:${HOME}/.${DISTRONAME}/options\""; else echo ""; fi) # LOCAL_SSH_KEYS_FILE is a variable that contains the location of the authorized keys file for development build use. It will be mounted into the container if it exists. docker-%: LOCAL_SSH_KEYS_FILE := $(shell if [ -n "${LOCAL_SSH_KEYS_FILE}" ]; then echo "-v \"${LOCAL_SSH_KEYS_FILE}:${LOCAL_SSH_KEYS_FILE}\""; else echo ""; fi) diff --git a/distributions/JELOS/logos/jelos-logo.png b/distributions/ROCKNIX/logos/jelos-logo.png similarity index 100% rename from distributions/JELOS/logos/jelos-logo.png rename to distributions/ROCKNIX/logos/jelos-logo.png diff --git a/distributions/JELOS/options b/distributions/ROCKNIX/options similarity index 96% rename from distributions/JELOS/options rename to distributions/ROCKNIX/options index 54c01cb1d..41c6350aa 100644 --- a/distributions/JELOS/options +++ b/distributions/ROCKNIX/options @@ -8,25 +8,25 @@ HARDENING_SUPPORT="no" # The name of the parent organization for updates - GIT_ORGANIZATION="JustEnoughLinuxOS" + GIT_ORGANIZATION="ROCKNIX" # The name of the github project for updates GIT_REPO="distribution" # Name of the Distro to build (full name, without special characters) - DISTRONAME="JELOS" + DISTRONAME="ROCKNIX" # short project description DESCRIPTION="An Open Source firmware." # Distribution Home URL - HOME_URL="https://jelos.org" + HOME_URL="https://rocknix.org" # Documentation URL - WIKI_URL="https://jelos.org" + WIKI_URL="https://rocknix.org" # Where to report bugs - BUG_REPORT_URL="https://jelos.org" + BUG_REPORT_URL="https://rocknix.org" # Root password to integrate in the target system ROOT_PASSWORD="system generated" @@ -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="initramfs emulators u-boot-script system-utils modules quirks autostart jelos" + CLEAN_OS_BASE="initramfs emulators u-boot-script system-utils modules quirks autostart rocknix" CLEAN_NETWORK="RTL8821CS-firmware" CLEAN_EMU_32BIT="lib32 box86 pcsx_rearmed-lr arm" diff --git a/distributions/JELOS/splash/splash.png b/distributions/ROCKNIX/splash/splash.png similarity index 100% rename from distributions/JELOS/splash/splash.png rename to distributions/ROCKNIX/splash/splash.png diff --git a/packages/apps/fileman/package.mk b/packages/apps/fileman/package.mk index 6798053a3..b31db433b 100644 --- a/packages/apps/fileman/package.mk +++ b/packages/apps/fileman/package.mk @@ -6,7 +6,7 @@ PKG_NAME="fileman" PKG_VERSION="3ccadd7fef427b4da22ff39de13dd25bb40e9e6a" PKG_ARCH="any" PKG_LICENSE="GPL" -PKG_SITE="https://github.com/JustEnoughLinuxOS/fileman" +PKG_SITE="https://github.com/ROCKNIX/fileman" PKG_URL="${PKG_SITE}.git" PKG_DEPENDS_TARGET="toolchain SDL2 SDL2_image SDL2_gfx SDL2_ttf" PKG_PRIORITY="optional" diff --git a/packages/apps/fileman/patches/RK3566-BSP/001-add-support.patch b/packages/apps/fileman/patches/RK3566-BSP/001-add-support.patch deleted file mode 100644 index 07c7f95a6..000000000 --- a/packages/apps/fileman/patches/RK3566-BSP/001-add-support.patch +++ /dev/null @@ -1,72 +0,0 @@ -diff --git a/Makefile b/Makefile -index d2c956f..2010647 100644 ---- a/Makefile -+++ b/Makefile -@@ -5,6 +5,8 @@ DEVICE ?= RK3326 - DEVICE ?= RK3399 - DEVICE ?= RK3566 - DEVICE ?= RK3566_X55 -+DEVICE ?= RK3566_BSP -+DEVICE ?= RK3566_BSP_X55 - DEVICE ?= RK3588 - DEVICE ?= RK3588_ACE - DEVICE ?= S922X -diff --git a/src/def.h b/src/def.h -index 7776cf5..f4f2831 100644 ---- a/src/def.h -+++ b/src/def.h -@@ -58,6 +58,22 @@ - #define KEYBOARD_KEY_SPACING 4 - #define KEYBOARD_SYMBOL_SIZE 24 - -+// Parameters for rk3566 -+#elif defined(DEVICE_RK3566_BSP) -+ #define SCREEN_WIDTH 640 -+ #define SCREEN_HEIGHT 480 -+ #define HARDWARE_ACCELERATION 0 -+ #define FULLSCREEN 1 -+ #define FONT_NAME "NotoSans-Regular.ttf" -+ #define FONT_NAME_MONO "NotoSansMono-Regular.ttf" -+ #define FONT_SIZE 20 -+ #define LINE_HEIGHT 32 -+ #define ICON_SIZE 24 -+ #define MARGIN_X 10 -+ #define KEYBOARD_MARGIN 8 -+ #define KEYBOARD_KEY_SPACING 4 -+ #define KEYBOARD_SYMBOL_SIZE 24 -+ - // Parameters for rk3566-x55 - #elif defined(DEVICE_RK3566_X55) - #define SCREEN_WIDTH 1280 -@@ -74,6 +90,22 @@ - #define KEYBOARD_KEY_SPACING 10 - #define KEYBOARD_SYMBOL_SIZE 58 - -+// Parameters for rk3566-x55 -+#elif defined(DEVICE_RK3566_BSP_X55) -+ #define SCREEN_WIDTH 1280 -+ #define SCREEN_HEIGHT 720 -+ #define HARDWARE_ACCELERATION 0 -+ #define FULLSCREEN 1 -+ #define FONT_NAME "NotoSans-Regular.ttf" -+ #define FONT_NAME_MONO "NotoSansMono-Regular.ttf" -+ #define FONT_SIZE 48 -+ #define LINE_HEIGHT 72 -+ #define ICON_SIZE 58 -+ #define MARGIN_X 24 -+ #define KEYBOARD_MARGIN 19 -+ #define KEYBOARD_KEY_SPACING 10 -+ #define KEYBOARD_SYMBOL_SIZE 58 -+ - // Parameters for rk3588 - #elif defined(DEVICE_RK3588) - #define SCREEN_WIDTH 1280 -@@ -182,7 +214,7 @@ - #define VIEWER_SCROLL_SPEED 20 - - // Button events --#if defined(DEVICE_AMD64) || defined(DEVICE_RK3326) || defined(DEVICE_RK3399) || defined(DEVICE_RK3566) || defined(DEVICE_RK3566_X55) || defined(DEVICE_RK3588) || defined(DEVICE_RK3588_ACE) || defined(DEVICE_S922X) -+#if defined(DEVICE_AMD64) || defined(DEVICE_RK3326) || defined(DEVICE_RK3399) || defined(DEVICE_RK3566) || defined(DEVICE_RK3566_X55) || defined(DEVICE_RK3566_BSP) || defined(DEVICE_RK3566_BSP_X55) || defined(DEVICE_RK3588) || defined(DEVICE_RK3588_ACE) || defined(DEVICE_S922X) - #define BUTTON_PRESSED_UP event.type == SDL_KEYDOWN && event.key.repeat == 0 && (event.key.keysym.sym == SDLK_UP || event.key.keysym.sym == SDLK_w) - #define BUTTON_PRESSED_DOWN event.type == SDL_KEYDOWN && event.key.repeat == 0 && (event.key.keysym.sym == SDLK_DOWN || event.key.keysym.sym == SDLK_s) - #define BUTTON_PRESSED_LEFT event.type == SDL_KEYDOWN && event.key.repeat == 0 && event.key.keysym.sym == SDLK_LEFT diff --git a/packages/devel/glibc/package.mk b/packages/devel/glibc/package.mk index 4d9085d64..407ecf483 100644 --- a/packages/devel/glibc/package.mk +++ b/packages/devel/glibc/package.mk @@ -13,10 +13,7 @@ PKG_LONGDESC="The Glibc package contains the main C library." PKG_BUILD_FLAGS="+bfd -gold" case "${DEVICE}" in - RK3566-BSP*) - OPT_ENABLE_KERNEL=4.4.0 - ;; - RK358*) + RK3588*) OPT_ENABLE_KERNEL=5.10.0 ;; *) diff --git a/packages/emulators/libretro/flycast2021-lr/patches/RK3566-BSP/000-platform.patch b/packages/emulators/libretro/flycast2021-lr/patches/RK3566-BSP/000-platform.patch deleted file mode 100644 index 37a6d8086..000000000 --- a/packages/emulators/libretro/flycast2021-lr/patches/RK3566-BSP/000-platform.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff -rupN flycast.orig/Makefile flycast/Makefile ---- flycast.orig/Makefile 2022-06-18 13:29:52.675787687 -0400 -+++ flycast/Makefile 2022-06-18 13:53:23.564624927 -0400 -@@ -403,26 +403,30 @@ else ifeq ($(platform), arm64_cortex_a53 - - ####################################### - --# ARM64 SM1 Odroid C4 --else ifeq ($(platform), odroidc4) -+# ARM64 RG503, RG353x, x55, rk2023 -+else ifeq ($(platform), RK3566-BSP) - EXT ?= so - TARGET := $(TARGET_NAME)_libretro.$(EXT) - SHARED += -shared -Wl,--version-script=link.T -- LDFLAGS += -Wl,--no-undefined - fpic = -fPIC - LIBS += -lrt - ARM_FLOAT_ABI_HARD = 0 - FORCE_GLES = 1 - SINGLE_PREC_FLAGS = 1 -- CPUFLAGS += -DHOST_CPU=0x20000006 -DTARGET_LINUX_ARMv8 -frename-registers -- CFLAGS += -mcpu=cortex-a55 -mtune=cortex-a55 $(CPUFLAGS) -- CXXFLAGS += -mcpu=cortex-a55 -mtune=cortex-a55 $(CPUFLAGS) -- ASFLAGS += $(CFLAGS) -c -frename-registers -fno-strict-aliasing -ffast-math -ftree-vectorize -+ HAVE_LTCG = 0 -+ HAVE_OPENMP = 0 -+ CFLAGS += -Ofast \ -+ -fuse-linker-plugin \ -+ -fno-stack-protector -fno-ident -fomit-frame-pointer \ -+ -fmerge-all-constants -ffast-math -funroll-all-loops \ -+ -mcpu=cortex-a55 -mtune=cortex-a55 -+ CXXFLAGS += $(CFLAGS) -+ LDFLAGS += -mcpu=cortex-a55 -mtune=cortex-a55 -Ofast -flto -fuse-linker-plugin - PLATFORM_EXT := unix -+ CORE_DEFINES += -DLOW_END -DLOW_RES - WITH_DYNAREC=arm64 -+ PLATFORM_EXT := unix - HAVE_GENERIC_JIT = 0 -- HAVE_VULKAN = 0 -- HAVE_LTCG = 0 - - ####################################### - diff --git a/packages/emulators/standalone/aethersx2-sa/package.mk b/packages/emulators/standalone/aethersx2-sa/package.mk index 2163e39af..2f8a288aa 100644 --- a/packages/emulators/standalone/aethersx2-sa/package.mk +++ b/packages/emulators/standalone/aethersx2-sa/package.mk @@ -5,7 +5,7 @@ PKG_NAME="aethersx2-sa" PKG_VERSION="v1.5-3606" PKG_ARCH="aarch64" PKG_LICENSE="LGPL" -PKG_SITE="https://github.com/r3claimer/JelosAddOns" +PKG_SITE="https://github.com/ROCKNIX/packages" PKG_URL="${PKG_SITE}/raw/main/aethersx2-sa-${PKG_VERSION}.AppImage" PKG_DEPENDS_TARGET="toolchain qt5 libgpg-error fuse2" PKG_LONGDESC="Arm PS2 Emulator appimage" diff --git a/packages/emulators/standalone/drastic-sa/config/RK3566-BSP-X55/drastic.cfg b/packages/emulators/standalone/drastic-sa/config/RK3566-BSP-X55/drastic.cfg deleted file mode 100644 index 86ff549d9..000000000 --- a/packages/emulators/standalone/drastic-sa/config/RK3566-BSP-X55/drastic.cfg +++ /dev/null @@ -1,111 +0,0 @@ -frameskip_type = 0 -frameskip_value = 1 -safe_frameskip = 1 -show_frame_counter = 0 -screen_orientation = 0 -screen_swap = 0 -savestate_number = 0 -fast_forward = 0 -enable_sound = 1 -clock_speed = 0 -threaded_3d = 1 -mirror_touch = 0 -compress_savestates = 1 -savestate_snapshot = 1 -unzip_roms = 0 -preload_roms = 0 -backup_in_savestates = 1 -ignore_gamecard_limit = 0 -frame_interval = 0 -trim_roms = 0 -fix_main_2d_screen = 0 -disable_edge_marking = 0 -interframe_blend = 0 -hires_3d = 1 -use_rtc_custom_time = 0 -rtc_custom_time = 0 -rtc_system_time = 0 -slot2_device_type = 0 -rumble_frames = 3 -firmware.username = JELOS -firmware.language = 1 -firmware.favorite_color = 0 -firmware.birthday_month = 1 -firmware.birthday_day = 1 -enable_cheats = 1 -controls_a[CONTROL_INDEX_UP] = 1217 -controls_a[CONTROL_INDEX_DOWN] = 1153 -controls_a[CONTROL_INDEX_LEFT] = 1216 -controls_a[CONTROL_INDEX_RIGHT] = 1152 -controls_a[CONTROL_INDEX_A] = 65535 -controls_a[CONTROL_INDEX_B] = 65535 -controls_a[CONTROL_INDEX_X] = 65535 -controls_a[CONTROL_INDEX_Y] = 65535 -controls_a[CONTROL_INDEX_L] = 65535 -controls_a[CONTROL_INDEX_R] = 65535 -controls_a[CONTROL_INDEX_START] = 65535 -controls_a[CONTROL_INDEX_SELECT] = 65535 -controls_a[CONTROL_INDEX_HINGE] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_UP] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 65535 -controls_a[CONTROL_INDEX_MENU] = 65535 -controls_a[CONTROL_INDEX_SAVE_STATE] = 65535 -controls_a[CONTROL_INDEX_LOAD_STATE] = 65535 -controls_a[CONTROL_INDEX_FAST_FORWARD] = 65535 -controls_a[CONTROL_INDEX_SWAP_SCREENS] = 65535 -controls_a[CONTROL_INDEX_SWAP_ORIENTATION_A] = 65535 -controls_a[CONTROL_INDEX_SWAP_ORIENTATION_B] = 65535 -controls_a[CONTROL_INDEX_LOAD_GAME] = 65535 -controls_a[CONTROL_INDEX_QUIT] = 65535 -controls_a[CONTROL_INDEX_FAKE_MICROPHONE] = 65535 -controls_a[CONTROL_INDEX_UI_UP] = 1217 -controls_a[CONTROL_INDEX_UI_DOWN] = 1153 -controls_a[CONTROL_INDEX_UI_LEFT] = 1216 -controls_a[CONTROL_INDEX_UI_RIGHT] = 1152 -controls_a[CONTROL_INDEX_UI_SELECT] = 65535 -controls_a[CONTROL_INDEX_UI_BACK] = 65535 -controls_a[CONTROL_INDEX_UI_EXIT] = 65535 -controls_a[CONTROL_INDEX_UI_PAGE_UP] = 65535 -controls_a[CONTROL_INDEX_UI_PAGE_DOWN] = 65535 -controls_a[CONTROL_INDEX_UI_SWITCH] = 65535 -controls_b[CONTROL_INDEX_UP] = 1037 -controls_b[CONTROL_INDEX_DOWN] = 1038 -controls_b[CONTROL_INDEX_LEFT] = 1039 -controls_b[CONTROL_INDEX_RIGHT] = 1040 -controls_b[CONTROL_INDEX_A] = 1024 -controls_b[CONTROL_INDEX_B] = 1025 -controls_b[CONTROL_INDEX_X] = 1026 -controls_b[CONTROL_INDEX_Y] = 1027 -controls_b[CONTROL_INDEX_L] = 1028 -controls_b[CONTROL_INDEX_R] = 1029 -controls_b[CONTROL_INDEX_START] = 1033 -controls_b[CONTROL_INDEX_SELECT] = 1032 -controls_b[CONTROL_INDEX_HINGE] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_UP] = 1219 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 1155 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 1218 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 1154 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 1036 -controls_b[CONTROL_INDEX_MENU] = 1035 -controls_b[CONTROL_INDEX_SAVE_STATE] = 65535 -controls_b[CONTROL_INDEX_LOAD_STATE] = 65535 -controls_b[CONTROL_INDEX_FAST_FORWARD] = 65535 -controls_b[CONTROL_INDEX_SWAP_SCREENS] = 65535 -controls_b[CONTROL_INDEX_SWAP_ORIENTATION_A] = 1030 -controls_b[CONTROL_INDEX_SWAP_ORIENTATION_B] = 1031 -controls_b[CONTROL_INDEX_LOAD_GAME] = 65535 -controls_b[CONTROL_INDEX_QUIT] = 65535 -controls_b[CONTROL_INDEX_FAKE_MICROPHONE] = 65535 -controls_b[CONTROL_INDEX_UI_UP] = 1037 -controls_b[CONTROL_INDEX_UI_DOWN] = 1038 -controls_b[CONTROL_INDEX_UI_LEFT] = 1039 -controls_b[CONTROL_INDEX_UI_RIGHT] = 1040 -controls_b[CONTROL_INDEX_UI_SELECT] = 1025 -controls_b[CONTROL_INDEX_UI_BACK] = 65535 -controls_b[CONTROL_INDEX_UI_EXIT] = 1024 -controls_b[CONTROL_INDEX_UI_PAGE_UP] = 65535 -controls_b[CONTROL_INDEX_UI_PAGE_DOWN] = 65535 -controls_b[CONTROL_INDEX_UI_SWITCH] = 65535 diff --git a/packages/emulators/standalone/drastic-sa/config/RK3566-BSP/drastic.cfg b/packages/emulators/standalone/drastic-sa/config/RK3566-BSP/drastic.cfg deleted file mode 100644 index fb1179847..000000000 --- a/packages/emulators/standalone/drastic-sa/config/RK3566-BSP/drastic.cfg +++ /dev/null @@ -1,111 +0,0 @@ -frameskip_type = 0 -frameskip_value = 1 -safe_frameskip = 1 -show_frame_counter = 0 -screen_orientation = 0 -screen_swap = 0 -savestate_number = 0 -fast_forward = 0 -enable_sound = 1 -clock_speed = 0 -threaded_3d = 1 -mirror_touch = 0 -compress_savestates = 1 -savestate_snapshot = 1 -unzip_roms = 0 -preload_roms = 0 -backup_in_savestates = 1 -ignore_gamecard_limit = 0 -frame_interval = 0 -trim_roms = 0 -fix_main_2d_screen = 0 -disable_edge_marking = 0 -interframe_blend = 0 -hires_3d = 1 -use_rtc_custom_time = 0 -rtc_custom_time = 0 -rtc_system_time = 0 -slot2_device_type = 0 -rumble_frames = 3 -firmware.username = JELOS -firmware.language = 1 -firmware.favorite_color = 0 -firmware.birthday_month = 1 -firmware.birthday_day = 1 -enable_cheats = 1 -controls_a[CONTROL_INDEX_UP] = 1217 -controls_a[CONTROL_INDEX_DOWN] = 1153 -controls_a[CONTROL_INDEX_LEFT] = 1216 -controls_a[CONTROL_INDEX_RIGHT] = 1152 -controls_a[CONTROL_INDEX_A] = 65535 -controls_a[CONTROL_INDEX_B] = 65535 -controls_a[CONTROL_INDEX_X] = 65535 -controls_a[CONTROL_INDEX_Y] = 65535 -controls_a[CONTROL_INDEX_L] = 65535 -controls_a[CONTROL_INDEX_R] = 65535 -controls_a[CONTROL_INDEX_START] = 65535 -controls_a[CONTROL_INDEX_SELECT] = 65535 -controls_a[CONTROL_INDEX_HINGE] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_UP] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 65535 -controls_a[CONTROL_INDEX_MENU] = 65535 -controls_a[CONTROL_INDEX_SAVE_STATE] = 65535 -controls_a[CONTROL_INDEX_LOAD_STATE] = 65535 -controls_a[CONTROL_INDEX_FAST_FORWARD] = 65535 -controls_a[CONTROL_INDEX_SWAP_SCREENS] = 65535 -controls_a[CONTROL_INDEX_SWAP_ORIENTATION_A] = 65535 -controls_a[CONTROL_INDEX_SWAP_ORIENTATION_B] = 65535 -controls_a[CONTROL_INDEX_LOAD_GAME] = 65535 -controls_a[CONTROL_INDEX_QUIT] = 65535 -controls_a[CONTROL_INDEX_FAKE_MICROPHONE] = 65535 -controls_a[CONTROL_INDEX_UI_UP] = 1217 -controls_a[CONTROL_INDEX_UI_DOWN] = 1153 -controls_a[CONTROL_INDEX_UI_LEFT] = 1216 -controls_a[CONTROL_INDEX_UI_RIGHT] = 1152 -controls_a[CONTROL_INDEX_UI_SELECT] = 65535 -controls_a[CONTROL_INDEX_UI_BACK] = 65535 -controls_a[CONTROL_INDEX_UI_EXIT] = 65535 -controls_a[CONTROL_INDEX_UI_PAGE_UP] = 65535 -controls_a[CONTROL_INDEX_UI_PAGE_DOWN] = 65535 -controls_a[CONTROL_INDEX_UI_SWITCH] = 65535 -controls_b[CONTROL_INDEX_UP] = 1037 -controls_b[CONTROL_INDEX_DOWN] = 1038 -controls_b[CONTROL_INDEX_LEFT] = 1039 -controls_b[CONTROL_INDEX_RIGHT] = 1040 -controls_b[CONTROL_INDEX_A] = 1025 -controls_b[CONTROL_INDEX_B] = 1024 -controls_b[CONTROL_INDEX_X] = 1026 -controls_b[CONTROL_INDEX_Y] = 1027 -controls_b[CONTROL_INDEX_L] = 1028 -controls_b[CONTROL_INDEX_R] = 1029 -controls_b[CONTROL_INDEX_START] = 1033 -controls_b[CONTROL_INDEX_SELECT] = 1032 -controls_b[CONTROL_INDEX_HINGE] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_UP] = 1219 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 1155 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 1218 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 1154 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 1036 -controls_b[CONTROL_INDEX_MENU] = 1035 -controls_b[CONTROL_INDEX_SAVE_STATE] = 65535 -controls_b[CONTROL_INDEX_LOAD_STATE] = 65535 -controls_b[CONTROL_INDEX_FAST_FORWARD] = 65535 -controls_b[CONTROL_INDEX_SWAP_SCREENS] = 65535 -controls_b[CONTROL_INDEX_SWAP_ORIENTATION_A] = 1030 -controls_b[CONTROL_INDEX_SWAP_ORIENTATION_B] = 1031 -controls_b[CONTROL_INDEX_LOAD_GAME] = 65535 -controls_b[CONTROL_INDEX_QUIT] = 65535 -controls_b[CONTROL_INDEX_FAKE_MICROPHONE] = 65535 -controls_b[CONTROL_INDEX_UI_UP] = 1037 -controls_b[CONTROL_INDEX_UI_DOWN] = 1038 -controls_b[CONTROL_INDEX_UI_LEFT] = 1039 -controls_b[CONTROL_INDEX_UI_RIGHT] = 1040 -controls_b[CONTROL_INDEX_UI_SELECT] = 1025 -controls_b[CONTROL_INDEX_UI_BACK] = 65535 -controls_b[CONTROL_INDEX_UI_EXIT] = 1024 -controls_b[CONTROL_INDEX_UI_PAGE_UP] = 65535 -controls_b[CONTROL_INDEX_UI_PAGE_DOWN] = 65535 -controls_b[CONTROL_INDEX_UI_SWITCH] = 65535 diff --git a/packages/emulators/standalone/drastic-sa/package.mk b/packages/emulators/standalone/drastic-sa/package.mk index 83065051d..da7cdb22e 100644 --- a/packages/emulators/standalone/drastic-sa/package.mk +++ b/packages/emulators/standalone/drastic-sa/package.mk @@ -5,7 +5,7 @@ PKG_NAME="drastic-sa" PKG_VERSION="1.0" PKG_LICENSE="Proprietary:DRASTIC.pdf" PKG_ARCH="aarch64" -PKG_URL="https://github.com/r3claimer/JelosAddOns/raw/main/drastic.tar.gz" +PKG_URL="https://github.com/ROCKNIX/packages/raw/main/drastic.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Install Drastic Launcher script, will dowload bin on first run" PKG_TOOLCHAIN="make" diff --git a/packages/emulators/standalone/duckstation-sa/config/RK3566-BSP-X55/settings.ini b/packages/emulators/standalone/duckstation-sa/config/RK3566-BSP-X55/settings.ini deleted file mode 100644 index ef0a0d518..000000000 --- a/packages/emulators/standalone/duckstation-sa/config/RK3566-BSP-X55/settings.ini +++ /dev/null @@ -1,229 +0,0 @@ -[Main] -SettingsVersion = 3 -StartFullscreen = true -EmulationSpeed = 1.000000 -FastForwardSpeed = 0.000000 -TurboSpeed = 0.000000 -SyncToHostRefreshRate = false -IncreaseTimerResolution = true -InhibitScreensaver = true -StartPaused = false -PauseOnFocusLoss = false -PauseOnMenu = true -SaveStateOnExit = true -ConfirmPowerOff = true -LoadDevicesFromSaveStates = false -ApplyGameSettings = true -AutoLoadCheats = true -DisableAllEnhancements = false -RewindEnable = false -RewindFrequency = 10.000000 -RewindSaveSlots = 10 -RunaheadFrameCount = 0 - - -[BIOS] -SearchDirectory = /storage/roms/bios -PathNTSCU = -PathNTSCJ = -PathPAL = -PatchTTYEnable = false -PatchFastBoot = true - - -[GPU] -Renderer = Software -Adapter = -ResolutionScale = 1 -Multisamples = 1 -UseDebugDevice = false -PerSampleShading = false -UseThread = true -ThreadedPresentation = true -UseSoftwareRendererForReadbacks = false -TrueColor = false -ScaledDithering = false -TextureFilter = Nearest -DownsampleMode = Disabled -DisableInterlacing = false -ForceNTSCTimings = false -WidescreenHack = false -ChromaSmoothing24Bit = false -PGXPEnable = false -PGXPCulling = true -PGXPTextureCorrection = true -PGXPVertexCache = false -PGXPCPU = false -PGXPPreserveProjFP = false -PGXPTolerance = -1.000000 -PGXPDepthBuffer = false -PGXPDepthClearThreshold = 300.000000 - - -[Display] -CropMode = Overscan -ActiveStartOffset = 0 -ActiveEndOffset = 0 -LineStartOffset = 0 -LineEndOffset = 0 -Force4_3For24Bit = false -AspectRatio = 4:3 -CustomAspectRatioNumerator = 4 -LinearFiltering = true -IntegerScaling = false -Stretch = false -PostProcessing = false -ShowOSDMessages = true -ShowFPS = false -ShowVPS = false -ShowSpeed = false -ShowResolution = false -ShowStatusIndicators = true -ShowEnhancements = false -DisplayAllFrames = true -VSync = false -MaxFPS = 0.000000 -Rotate = 1 - -[Hotkeys] - - -[Logging] -LogLevel = Error -LogFilter = -LogToConsole = false -LogToDebug = false -LogToWindow = false -LogToFile = false - - -[Controller1] -Type = AnalogController -ButtonUp = Controller0/Button11 -ButtonDown = Controller0/Button12 -ButtonLeft = Controller0/Button13 -ButtonRight = Controller0/Button14 -ButtonSelect = Controller0/Button4 -ButtonStart = Controller0/Button6 -ButtonTriangle = Controller0/Button2 -ButtonCross = Controller0/Button1 -ButtonSquare = Controller0/Button3 -ButtonCircle = Controller0/Button0 -ButtonL1 = Controller0/Button9 -ButtonL2 = Controller0/+Axis4 -ButtonR1 = Controller0/Button10 -ButtonR2 = Controller0/+Axis5 -AxisLeftX = Controller0/Axis0 -AxisLeftY = Controller0/Axis1 -ButtonL3 = Controller0/Button7 -ButtonR3 = Controller0/Button8 -AxisRightX = Controller0/Axis2 -AxisRightY = Controller0/Axis3 -AnalogDPadInDigitalMode = false - - -[GameList] -RecursivePaths = /storage/roms/psx - - -[MemoryCards] -UsePlaylistTitle = true -Directory = /storage/roms/psx -Card1Type = PerGameTitle -Card2Type = None - - -[Console] -Region = Auto -Enable8MBRAM = false - - -[CPU] -ExecutionMode = Recompiler -OverclockEnable = false -OverclockNumerator = 1 -OverclockDenominator = 1 -RecompilerMemoryExceptions = false -RecompilerBlockLinking = true -RecompilerICache = false -FastmemMode = MMap - - -[CDROM] -ReadaheadSectors = 8 -RegionCheck = false -LoadImageToRAM = false -MuteCDAudio = false -ReadSpeedup = 1 -SeekSpeedup = 1 - - -[Audio] -Backend = SDL -OutputVolume = 100 -FastForwardVolume = 100 -BufferSize = 2048 -Resampling = true -OutputMuted = false -Sync = true -DumpOnBoot = false - - -[Hacks] -DMAMaxSliceTicks = 1000 -DMAHaltTicks = 100 -GPUFIFOSize = 16 -GPUMaxRunAhead = 128 - - -[Controller2] -Type = None - - -[Controller3] -Type = None - - -[Controller4] -Type = None - - -[Controller5] -Type = None - - -[Controller6] -Type = None - - -[Controller7] -Type = None - - -[Controller8] -Type = None - - -[ControllerPorts] -MultitapMode = Disabled - - -[Debug] -ShowVRAM = false -DumpCPUToVRAMCopies = false -DumpVRAMToCPUCopies = false -ShowGPUState = false -ShowCDROMState = false -ShowSPUState = false -ShowTimersState = false -ShowMDECState = false -ShowDMAState = false - - -[TextureReplacements] -EnableVRAMWriteReplacements = false -PreloadTextures = false -DumpVRAMWrites = false -DumpVRAMWriteForceAlphaChannel = true -DumpVRAMWriteWidthThreshold = 128 -DumpVRAMWriteHeightThreshold = 128 diff --git a/packages/emulators/standalone/duckstation-sa/config/RK3566-BSP/settings.ini b/packages/emulators/standalone/duckstation-sa/config/RK3566-BSP/settings.ini deleted file mode 100644 index ccdb6737e..000000000 --- a/packages/emulators/standalone/duckstation-sa/config/RK3566-BSP/settings.ini +++ /dev/null @@ -1,230 +0,0 @@ -[Main] -SettingsVersion = 3 -StartFullscreen = true -EmulationSpeed = 1.000000 -FastForwardSpeed = 0.000000 -TurboSpeed = 0.000000 -SyncToHostRefreshRate = false -IncreaseTimerResolution = true -InhibitScreensaver = true -StartPaused = false -PauseOnFocusLoss = false -PauseOnMenu = true -SaveStateOnExit = true -ConfirmPowerOff = true -LoadDevicesFromSaveStates = false -ApplyGameSettings = true -AutoLoadCheats = true -DisableAllEnhancements = false -RewindEnable = false -RewindFrequency = 10.000000 -RewindSaveSlots = 10 -RunaheadFrameCount = 0 - - -[BIOS] -SearchDirectory = /storage/roms/bios -PathNTSCU = -PathNTSCJ = -PathPAL = -PatchTTYEnable = false -PatchFastBoot = true - - -[GPU] -Renderer = Software -Adapter = -ResolutionScale = 1 -Multisamples = 1 -UseDebugDevice = false -PerSampleShading = false -UseThread = true -ThreadedPresentation = true -UseSoftwareRendererForReadbacks = false -TrueColor = false -ScaledDithering = false -TextureFilter = Nearest -DownsampleMode = Disabled -DisableInterlacing = false -ForceNTSCTimings = false -WidescreenHack = false -ChromaSmoothing24Bit = false -PGXPEnable = false -PGXPCulling = true -PGXPTextureCorrection = true -PGXPVertexCache = false -PGXPCPU = false -PGXPPreserveProjFP = false -PGXPTolerance = -1.000000 -PGXPDepthBuffer = false -PGXPDepthClearThreshold = 300.000000 - - -[Display] -CropMode = Overscan -ActiveStartOffset = 0 -ActiveEndOffset = 0 -LineStartOffset = 0 -LineEndOffset = 0 -Force4_3For24Bit = false -AspectRatio = 4:3 -CustomAspectRatioNumerator = 4 -LinearFiltering = true -IntegerScaling = false -Stretch = false -PostProcessing = false -ShowOSDMessages = true -ShowFPS = false -ShowVPS = false -ShowSpeed = false -ShowResolution = false -ShowStatusIndicators = true -ShowEnhancements = false -DisplayAllFrames = true -VSync = false -MaxFPS = 0.000000 -Rotation = 0 - - -[Hotkeys] - - -[Logging] -LogLevel = Error -LogFilter = -LogToConsole = false -LogToDebug = false -LogToWindow = false -LogToFile = false - - -[Controller1] -Type = AnalogController -ButtonUp = Controller0/Button11 -ButtonDown = Controller0/Button12 -ButtonLeft = Controller0/Button13 -ButtonRight = Controller0/Button14 -ButtonSelect = Controller0/Button4 -ButtonStart = Controller0/Button6 -ButtonTriangle = Controller0/Button2 -ButtonCross = Controller0/Button1 -ButtonSquare = Controller0/Button3 -ButtonCircle = Controller0/Button0 -ButtonL1 = Controller0/Button9 -ButtonL2 = Controller0/+Axis4 -ButtonR1 = Controller0/Button10 -ButtonR2 = Controller0/+Axis5 -AxisLeftX = Controller0/Axis0 -AxisLeftY = Controller0/Axis1 -ButtonL3 = Controller0/Button7 -ButtonR3 = Controller0/Button8 -AxisRightX = Controller0/Axis2 -AxisRightY = Controller0/Axis3 -AnalogDPadInDigitalMode = false - - -[GameList] -RecursivePaths = /storage/roms/psx - - -[MemoryCards] -UsePlaylistTitle = true -Directory = /storage/roms/psx -Card1Type = PerGameTitle -Card2Type = None - - -[Console] -Region = Auto -Enable8MBRAM = false - - -[CPU] -ExecutionMode = Recompiler -OverclockEnable = false -OverclockNumerator = 1 -OverclockDenominator = 1 -RecompilerMemoryExceptions = false -RecompilerBlockLinking = true -RecompilerICache = false -FastmemMode = MMap - - -[CDROM] -ReadaheadSectors = 8 -RegionCheck = false -LoadImageToRAM = false -MuteCDAudio = false -ReadSpeedup = 1 -SeekSpeedup = 1 - - -[Audio] -Backend = SDL -OutputVolume = 100 -FastForwardVolume = 100 -BufferSize = 2048 -Resampling = true -OutputMuted = false -Sync = true -DumpOnBoot = false - - -[Hacks] -DMAMaxSliceTicks = 1000 -DMAHaltTicks = 100 -GPUFIFOSize = 16 -GPUMaxRunAhead = 128 - - -[Controller2] -Type = None - - -[Controller3] -Type = None - - -[Controller4] -Type = None - - -[Controller5] -Type = None - - -[Controller6] -Type = None - - -[Controller7] -Type = None - - -[Controller8] -Type = None - - -[ControllerPorts] -MultitapMode = Disabled - - -[Debug] -ShowVRAM = false -DumpCPUToVRAMCopies = false -DumpVRAMToCPUCopies = false -ShowGPUState = false -ShowCDROMState = false -ShowSPUState = false -ShowTimersState = false -ShowMDECState = false -ShowDMAState = false - - -[TextureReplacements] -EnableVRAMWriteReplacements = false -PreloadTextures = false -DumpVRAMWrites = false -DumpVRAMWriteForceAlphaChannel = true -DumpVRAMWriteWidthThreshold = 128 -DumpVRAMWriteHeightThreshold = 128 diff --git a/packages/emulators/standalone/flycast-sa/config/RK3566-BSP-X55/emu.cfg b/packages/emulators/standalone/flycast-sa/config/RK3566-BSP-X55/emu.cfg deleted file mode 100644 index c8497233e..000000000 --- a/packages/emulators/standalone/flycast-sa/config/RK3566-BSP-X55/emu.cfg +++ /dev/null @@ -1,16 +0,0 @@ -[audio] -backend = pulse - -[input] -maple_sdl_joystick_0 = 0 -maple_sdl_joystick_1 = 1 - -device1 = 0 -device1.1 = 1 -device1.2 = 1 -device2 = 0 -device2.1 = 1 -device2.2 = 1 - -[config] -rend.Rotate90 = yes diff --git a/packages/emulators/standalone/flycast-sa/config/RK3566-BSP-X55/mappings/SDL_zed_joystick.cfg b/packages/emulators/standalone/flycast-sa/config/RK3566-BSP-X55/mappings/SDL_zed_joystick.cfg deleted file mode 100644 index df92e922b..000000000 --- a/packages/emulators/standalone/flycast-sa/config/RK3566-BSP-X55/mappings/SDL_zed_joystick.cfg +++ /dev/null @@ -1,32 +0,0 @@ -[analog] -bind0 = 0-:btn_analog_left -bind1 = 0+:btn_analog_right -bind2 = 1-:btn_analog_up -bind3 = 1+:btn_analog_down -bind4 = 2-:axis2_left -bind5 = 2+:axis2_right -bind6 = 3-:axis2_up -bind7 = 3+:axis2_down - -[digital] -bind0 = 0:btn_b -bind1 = 1:btn_a -bind10 = 13:btn_dpad1_up -bind11 = 14:btn_dpad1_down -bind12 = 15:btn_dpad1_left -bind13 = 16:btn_dpad1_right -bind2 = 2:btn_x -bind3 = 3:btn_y -bind4 = 4:btn_trigger_left -bind5 = 5:btn_trigger_right -bind6 = 8:btn_escape -bind7 = 9:btn_start -bind8 = 10:btn_dpad2_up -bind9 = 11:btn_menu - -[emulator] -dead_zone = 10 -mapping_name = zed_joystick -rumble_power = 100 -version = 3 - diff --git a/packages/emulators/standalone/flycast-sa/config/RK3566-BSP/emu.cfg b/packages/emulators/standalone/flycast-sa/config/RK3566-BSP/emu.cfg deleted file mode 100644 index ce42e9795..000000000 --- a/packages/emulators/standalone/flycast-sa/config/RK3566-BSP/emu.cfg +++ /dev/null @@ -1,13 +0,0 @@ -[audio] -backend = pulse - -[input] -maple_sdl_joystick_0 = 0 -maple_sdl_joystick_1 = 1 - -device1 = 0 -device1.1 = 1 -device1.2 = 1 -device2 = 0 -device2.1 = 1 -device2.2 = 1 diff --git a/packages/emulators/standalone/flycast-sa/package.mk b/packages/emulators/standalone/flycast-sa/package.mk index 8f71ca49e..51cd92aa2 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="391da7023f63c2afd32af72ac9f2cfb02bbc7eb6" +PKG_VERSION="c7ee42f0ba16623cab44678a586c248d068933f7" PKG_LICENSE="GPLv2" PKG_SITE="https://github.com/flyinghead/flycast" PKG_URL="${PKG_SITE}.git" diff --git a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-core/config/RK3566-BSP-X55/mupen64plus.cfg b/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-core/config/RK3566-BSP-X55/mupen64plus.cfg deleted file mode 100644 index 691fd2977..000000000 --- a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-core/config/RK3566-BSP-X55/mupen64plus.cfg +++ /dev/null @@ -1,665 +0,0 @@ -# Mupen64Plus Configuration File -# This file is automatically read and written by the Mupen64Plus Core library - -[64DD] - -# Filename of the 64DD IPL ROM -IPL-ROM = "" -# Filename of the disk to load into Disk Drive -Disk = "" - - -[Audio-SDL] - -# Mupen64Plus SDL Audio Plugin config parameter version number -Version = 1.000000 -# Frequency which is used if rom doesn't want to change it -DEFAULT_FREQUENCY = 33600 -# Swaps left and right channels -SWAP_CHANNELS = False -# Size of primary buffer in output samples. This is where audio is loaded after it's extracted from n64's memory. -PRIMARY_BUFFER_SIZE = 16384 -# Fullness level target for Primary audio buffer, in equivalent output samples. This value must be larger than the SECONDARY_BUFFER_SIZE. Decreasing this value will reduce audio latency but requires a faster PC to avoid choppiness. Increasing this will increase audio latency but reduce the chance of drop-outs. -PRIMARY_BUFFER_TARGET = 2048 -# Size of secondary buffer in output samples. This is SDL's hardware buffer. The SDL documentation states that this should be a power of two between 512 and 8192. -SECONDARY_BUFFER_SIZE = 1024 -# Audio resampling algorithm. src-sinc-best-quality, src-sinc-medium-quality, src-sinc-fastest, src-zero-order-hold, src-linear, speex-fixed-{10-0}, trivial -RESAMPLE = "trivial" -# Volume control type: 1 = SDL (only affects Mupen64Plus output) 2 = OSS mixer (adjusts master PC volume) -VOLUME_CONTROL_TYPE = 1 -# Percentage change each time the volume is increased or decreased -VOLUME_ADJUST = 5 -# Default volume when a game is started. Only used if VOLUME_CONTROL_TYPE is 1 -VOLUME_DEFAULT = 100 -# Synchronize Video/Audio -AUDIO_SYNC = False - - -[Core] - -# Mupen64Plus Core config parameter set version number. Please don't change this version number. -Version = 1.010000 -# Draw on-screen display if True, otherwise don't draw OSD -OnScreenDisplay = True -# Use Pure Interpreter if 0, Cached Interpreter if 1, or Dynamic Recompiler if 2 or more -R4300Emulator = 2 -# Disable compiled jump commands in dynamic recompiler (should be set to False) -NoCompiledJump = False -# Disable 4MB expansion RAM pack. May be necessary for some games -DisableExtraMem = False -# Increment the save state slot after each save operation -AutoStateSlotIncrement = False -# Activate the R4300 debugger when ROM execution begins, if core was built with Debugger support -EnableDebugger = False -# Save state slot (0-9) to use when saving/loading the emulator state -CurrentStateSlot = 0 -# Path to directory where screenshots are saved. If this is blank, the default value of ${UserDataPath}/screenshot will be used -ScreenshotPath = "/storage/roms/screenshots" -# Path to directory where emulator save states (snapshots) are saved. If this is blank, the default value of ${UserDataPath}/save will be used -SaveStatePath = "/storage/roms/n64" -# Path to directory where SRAM/EEPROM data (in-game saves) are stored. If this is blank, the default value of ${UserDataPath}/save will be used -SaveSRAMPath = "/storage/roms/n64" -# Path to a directory to search when looking for shared data files -SharedDataPath = "/storage/.config/game/configs/mupen64plussa" -# Force number of cycles per emulated instruction -CountPerOp = 0 -# Randomize PI/SI Interrupt Timing -RandomizeInterrupt = True -# Duration of SI DMA (-1: use per game settings) -SiDmaDuration = -1 -# Gameboy Camera Video Capture backend -GbCameraVideoCaptureBackend1 = "" -# Disk Save Format (0: Full Disk Copy (*.ndr/*.d6r), 1: RAM Area Only (*.ram)) -SaveDiskFormat = 1 - - -[CoreEvents] - -# Mupen64Plus CoreEvents config parameter set version number. Please don't change this version number. -Version = 1.000000 -# SDL keysym for stopping the emulator -Kbd Mapping Stop = 27 -# SDL keysym for switching between fullscreen/windowed modes -Kbd Mapping Fullscreen = 0 -# SDL keysym for saving the emulator state -Kbd Mapping Save State = 286 -# SDL keysym for loading the emulator state -Kbd Mapping Load State = 288 -# SDL keysym for advancing the save state slot -Kbd Mapping Increment Slot = 0 -# SDL keysym for resetting the emulator -Kbd Mapping Reset = 290 -# SDL keysym for slowing down the emulator -Kbd Mapping Speed Down = 291 -# SDL keysym for speeding up the emulator -Kbd Mapping Speed Up = 292 -# SDL keysym for taking a screenshot -Kbd Mapping Screenshot = 293 -# SDL keysym for pausing the emulator -Kbd Mapping Pause = 112 -# SDL keysym for muting/unmuting the sound -Kbd Mapping Mute = 109 -# SDL keysym for increasing the volume -Kbd Mapping Increase Volume = 93 -# SDL keysym for decreasing the volume -Kbd Mapping Decrease Volume = 91 -# SDL keysym for temporarily going really fast -Kbd Mapping Fast Forward = 102 -# SDL keysym for advancing by one frame when paused -Kbd Mapping Frame Advance = 47 -# SDL keysym for pressing the game shark button -Kbd Mapping Gameshark = 103 -# Joystick event string for stopping the emulator -Joy Mapping Stop = "J0B8/B9" -# Joystick event string for switching between fullscreen/windowed modes -Joy Mapping Fullscreen = "" -# Joystick event string for saving the emulator state -Joy Mapping Save State = "J0B8/B5" -# Joystick event string for loading the emulator state -Joy Mapping Load State = "J0B8/B4" -# Joystick event string for advancing the save state slot -Joy Mapping Increment Slot = "" -# Joystick event string for resetting the emulator -Joy Mapping Reset = "J0B8/B0" -# Joystick event string for slowing down the emulator -Joy Mapping Speed Down = "" -# Joystick event string for speeding up the emulator -Joy Mapping Speed Up = "" -# Joystick event string for taking a screenshot -Joy Mapping Screenshot = "J0B8/B3" -# Joystick event string for pausing the emulator -Joy Mapping Pause = "J0B12/B1" -# Joystick event string for muting/unmuting the sound -Joy Mapping Mute = "" -# Joystick event string for increasing the volume -Joy Mapping Increase Volume = "" -# Joystick event string for decreasing the volume -Joy Mapping Decrease Volume = "" -# Joystick event string for fast-forward -Joy Mapping Fast Forward = "J0B8/B7" -# Joystick event string for advancing by one frame when paused -Joy Mapping Frame Advance = "" -# Joystick event string for pressing the game shark button -Joy Mapping Gameshark = "J0B8/B2" -# SDL keysym for save slot 0 -Kbd Mapping Slot 0 = 48 -# SDL keysym for save slot 1 -Kbd Mapping Slot 1 = 49 -# SDL keysym for save slot 2 -Kbd Mapping Slot 2 = 50 -# SDL keysym for save slot 3 -Kbd Mapping Slot 3 = 51 -# SDL keysym for save slot 4 -Kbd Mapping Slot 4 = 52 -# SDL keysym for save slot 5 -Kbd Mapping Slot 5 = 53 -# SDL keysym for save slot 6 -Kbd Mapping Slot 6 = 54 -# SDL keysym for save slot 7 -Kbd Mapping Slot 7 = 55 -# SDL keysym for save slot 8 -Kbd Mapping Slot 8 = 56 -# SDL keysym for save slot 9 -Kbd Mapping Slot 9 = 57 - - -[Input-SDL-Control1] - -# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number. -version = 2.000000 -# Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic -mode = 2 -# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number -device = 0 -# SDL joystick name (or Keyboard) -name = "zed_joystick" -# Specifies whether this controller is 'plugged in' to the simulated N64 -plugged = True -# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak -plugin = 2 -# If True, then mouse buttons may be used with this controller -mouse = False -# Scaling factor for mouse movements. For X, Y axes. -MouseSensitivity = "2.00,2.00" -# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes. -AnalogDeadzone = "0,0" -# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value -AnalogPeak = "32768,32768" -# Digital button configuration mappings -DPad R = button(16) -DPad L = button(15) -DPad D = button(14) -DPad U = button(13) -Start = button(9) -Z Trig = button(6) -B Button = button(3) -A Button = button(1) -C Button R = axis(2+) -C Button L = axis(2-) -C Button D = axis(3+) -C Button U = axis(3-) -R Trig = button(7) -L Trig = button(4) -Mempak switch = -Rumblepak switch = -# Analog axis configuration mappings -X Axis = axis(0-,0+) -Y Axis = axis(1-,1+) - - -[Input-SDL-Control2] - -# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number. -version = 2.000000 -# Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic -mode = 2 -# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number -device = -1 -# SDL joystick name (or Keyboard) -name = "" -# Specifies whether this controller is 'plugged in' to the simulated N64 -plugged = False -# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak -plugin = 2 -# If True, then mouse buttons may be used with this controller -mouse = False -# Scaling factor for mouse movements. For X, Y axes. -MouseSensitivity = "2.00,2.00" -# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes. -AnalogDeadzone = "4096,4096" -# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value -AnalogPeak = "32768,32768" -# Digital button configuration mappings -DPad R = "" -DPad L = "" -DPad D = "" -DPad U = "" -Start = "" -Z Trig = "" -B Button = "" -A Button = "" -C Button R = "" -C Button L = "" -C Button D = "" -C Button U = "" -R Trig = "" -L Trig = "" -Mempak switch = "" -Rumblepak switch = "" -# Analog axis configuration mappings -X Axis = "" -Y Axis = "" - - -[Input-SDL-Control3] - -# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number. -version = 2.000000 -# Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic -mode = 2 -# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number -device = -1 -# SDL joystick name (or Keyboard) -name = "" -# Specifies whether this controller is 'plugged in' to the simulated N64 -plugged = False -# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak -plugin = 2 -# If True, then mouse buttons may be used with this controller -mouse = False -# Scaling factor for mouse movements. For X, Y axes. -MouseSensitivity = "2.00,2.00" -# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes. -AnalogDeadzone = "4096,4096" -# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value -AnalogPeak = "32768,32768" -# Digital button configuration mappings -DPad R = "" -DPad L = "" -DPad D = "" -DPad U = "" -Start = "" -Z Trig = "" -B Button = "" -A Button = "" -C Button R = "" -C Button L = "" -C Button D = "" -C Button U = "" -R Trig = "" -L Trig = "" -Mempak switch = "" -Rumblepak switch = "" -# Analog axis configuration mappings -X Axis = "" -Y Axis = "" - - -[Input-SDL-Control4] - -# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number. -version = 2.000000 -# Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic -mode = 2 -# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number -device = -1 -# SDL joystick name (or Keyboard) -name = "" -# Specifies whether this controller is 'plugged in' to the simulated N64 -plugged = False -# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak -plugin = 2 -# If True, then mouse buttons may be used with this controller -mouse = False -# Scaling factor for mouse movements. For X, Y axes. -MouseSensitivity = "2.00,2.00" -# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes. -AnalogDeadzone = "4096,4096" -# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value -AnalogPeak = "32768,32768" -# Digital button configuration mappings -DPad R = "" -DPad L = "" -DPad D = "" -DPad U = "" -Start = "" -Z Trig = "" -B Button = "" -A Button = "" -C Button R = "" -C Button L = "" -C Button D = "" -C Button U = "" -R Trig = "" -L Trig = "" -Mempak switch = "" -Rumblepak switch = "" -# Analog axis configuration mappings -X Axis = "" -Y Axis = "" - - -[Rsp-HLE] - -# Mupen64Plus RSP HLE Plugin config parameter version number -Version = 1.000000 -# Path to a RSP plugin which will be used when encountering an unknown ucode.You can disable this by letting an empty string. -RspFallback = "" -# Send display lists to the graphics plugin -DisplayListToGraphicsPlugin = True -# Send audio lists to the audio plugin -AudioListToAudioPlugin = False - - -[Transferpak] - -# Filename of the GB ROM to load into transferpak 1 -GB-rom-1 = "" -# Filename of the GB RAM to load into transferpak 1 -GB-ram-1 = "" -# Filename of the GB ROM to load into transferpak 2 -GB-rom-2 = "" -# Filename of the GB RAM to load into transferpak 2 -GB-ram-2 = "" -# Filename of the GB ROM to load into transferpak 3 -GB-rom-3 = "" -# Filename of the GB RAM to load into transferpak 3 -GB-ram-3 = "" -# Filename of the GB ROM to load into transferpak 4 -GB-rom-4 = "" -# Filename of the GB RAM to load into transferpak 4 -GB-ram-4 = "" - - -[UI-Console] - -# Mupen64Plus UI-Console config parameter set version number. Please don't change this version number. -Version = 1.000000 -# Directory in which to search for plugins -PluginDir = "/usr/local/lib/mupen64plus" -# Filename of video plugin -VideoPlugin = "mupen64plus-video-rice" -# Filename of audio plugin -AudioPlugin = "mupen64plus-audio-sdl.so" -# Filename of input plugin -InputPlugin = "mupen64plus-input-sdl.so" -# Filename of RSP plugin -RspPlugin = "mupen64plus-rsp-hle.so" - - -[Video-General] - -# Width of output window or fullscreen width -ScreenWidth = 640 -# Height of output window or fullscreen height -ScreenHeight = 480 -# Use fullscreen mode if True, or windowed mode if False -Fullscreen = True -# If true, activate the SDL_GL_SWAP_CONTROL attribute -VerticalSync = True -# Rotate screen contents: 0=0 degree, 1=90 degree, 2 = 180 degree, 3=270 degree -Rotate = 0 - -[Video-GLideN64] - -###### Hardware Compatibility ###### -# Leave enabled unless a mobile gpu doesn't support it. -EnableFragmentDepthWrite = 1 -# Hardware per pixel lighting, supposedly good for GLES3.1 devices or higher. -EnableHWLighting = 0 - -###### Enhancements ####### -# Internal render resoluton rather than output. So 2 x 240p is 480p, etc. -UseNativeResolutionFactor = 1 -# Enable/Disable MultiSampling (0=off, 2,4,8,16=quality) -MultiSampling = 0 -# Enable/Disable Fast Approximate Anti-Aliasing FXAA -FXAA = 0 -# Max level of Anisotropic Filtering, 0 for off -anisotropy = 0 -# Bilinear filtering mode (0=N64 3point, 1=standard) -# @rishooty: best to use this at 1x native res, any higher turn it off. -bilinearMode = 1 - -###### Compatibility ###### -# Make texrect coordinates continuous to avoid black lines between them. (0=Off/default, 1=Auto, 2=Force) -CorrectTexrectCoords = 1 -# Copy auxiliary buffers to RDRAM (default: 0) -EnableCopyAuxiliaryToRDRAM = 1 -# Render 2D texrects in native resolution to fix misalignment between parts of 2D image. (0=Off/default, 1=Optimized, 2=Unoptimized)") -EnableNativeResTexrects = 1 - -###### Other ###### -# Enable threaded video backend at the cost of input lag -ThreadedVideo = 1 -# Screen aspect ratio (0=stretch, 1=force 4:3, 2=force 16:9, 3=adjust) -AspectRatio = 1 -# Display On-screen FPS -ShowFPS = False - -[Video-Glide64mk2] - -# Enable full-scene anti-aliasing by setting this to a value greater than 1 -wrpAntiAliasing = 0 -# Card ID -card_id = 0 -# If true, use polygon offset values specified below -force_polygon_offset = False -# Specifies a scale factor that is used to create a variable depth offset for each polygon -polygon_offset_factor = 0.000000 -# Is multiplied by an implementation-specific value to create a constant depth offset -polygon_offset_units = 0.000000 -# Vertical sync -vsync = True -# TODO:ssformat -ssformat = False -# Display performance stats (add together desired flags): 1=FPS counter, 2=VI/s counter, 4=% speed, 8=FPS transparent -show_fps = 0 -# Clock enabled -clock = False -# Clock is 24-hour -clock_24_hr = True -# Wrapper resolution -wrpResolution = 0 -# Wrapper VRAM -wrpVRAM = 0 -# Wrapper FBO -wrpFBO = True -# Wrapper Anisotropic Filtering -wrpAnisotropic = True -# Texture Enhancement: Smooth/Sharpen Filters -ghq_fltr = 0 -# Texture Compression: 0 for S3TC, 1 for FXT1 -ghq_cmpr = 0 -# Texture Enhancement: More filters -ghq_enht = 0 -# Hi-res texture pack format (0 for none, 1 for Rice) -ghq_hirs = 1 -# Compress texture cache with S3TC or FXT1 -ghq_enht_cmpr = False -# Tile textures (saves memory but could cause issues) -ghq_enht_tile = 0 -# Force 16bpp textures (saves ram but lower quality) -ghq_enht_f16bpp = False -# Compress texture cache -ghq_enht_gz = True -# Don't enhance textures for backgrounds -ghq_enht_nobg = False -# Enable S3TC and FXT1 compression -ghq_hirs_cmpr = False -# Tile hi-res textures (saves memory but could cause issues) -ghq_hirs_tile = False -# Force 16bpp hi-res textures (saves ram but lower quality) -ghq_hirs_f16bpp = False -# Compress hi-res texture cache -ghq_hirs_gz = True -# Alternative CRC calculation -- emulates Rice bug -ghq_hirs_altcrc = True -# Save tex cache to disk -ghq_cache_save = True -# Texture Cache Size (MB) -ghq_cache_size = 128 -# Use full alpha channel -- could cause issues for some tex packs -ghq_hirs_let_texartists_fly = False -# Dump textures -ghq_hirs_dump = False -# Alternate texture size method: -1=Game default, 0=disable. 1=enable -alt_tex_size = -1 -# Use first SETTILESIZE only: -1=Game default, 0=disable. 1=enable -use_sts1_only = -1 -# Use spheric mapping only: -1=Game default, 0=disable. 1=enable -force_calc_sphere = -1 -# Force positive viewport: -1=Game default, 0=disable. 1=enable -correct_viewport = -1 -# Force texrect size to integral value: -1=Game default, 0=disable. 1=enable -increase_texrect_edge = -1 -# Reduce fillrect size by 1: -1=Game default, 0=disable. 1=enable -decrease_fillrect_edge = -1 -# Enable perspective texture correction emulation: -1=Game default, 0=disable. 1=enable -texture_correction = -1 -# Set special scale for PAL games: -1=Game default, 0=disable. 1=enable -pal230 = -1 -# 3DFX Dithered alpha emulation mode: -1=Game default, >=0=dithered alpha emulation mode -stipple_mode = -1 -# 3DFX Dithered alpha pattern: -1=Game default, >=0=pattern used for dithered alpha emulation -stipple_pattern = -1 -# Check microcode each frame: -1=Game default, 0=disable. 1=enable -force_microcheck = -1 -# Force 0xb5 command to be quad, not line 3D: -1=Game default, 0=disable. 1=enable -force_quad3d = -1 -# Enable near z clipping: -1=Game default, 0=disable. 1=enable -clip_zmin = -1 -# Enable far plane clipping: -1=Game default, 0=disable. 1=enable -clip_zmax = -1 -# Use fast CRC algorithm: -1=Game default, 0=disable. 1=enable -fast_crc = -1 -# Adjust screen aspect for wide screen mode: -1=Game default, 0=disable. 1=enable -adjust_aspect = -1 -# Force strict check in Depth buffer test: -1=Game default, 0=disable. 1=enable -zmode_compare_less = -1 -# Apply alpha dither regardless of alpha_dither_mode: -1=Game default, 0=disable. 1=enable -old_style_adither = -1 -# Scale vertex z value before writing to depth buffer: -1=Game default, 0=disable. 1=enable -n64_z_scale = -1 -# Fast texrect rendering with hwfbe: -1=Game default, 0=disable. 1=enable -optimize_texrect = -1 -# Do not copy auxiliary frame buffers: -1=Game default, 0=disable. 1=enable -ignore_aux_copy = -1 -# Clear auxiliary texture frame buffers: -1=Game default, 0=disable. 1=enable -hires_buf_clear = -1 -# Read alpha from framebuffer: -1=Game default, 0=disable. 1=enable -fb_read_alpha = -1 -# Handle unchanged fb: -1=Game default, 0=disable. 1=enable -useless_is_useless = -1 -# Set frambuffer CRC mode: -1=Game default, 0=disable CRC, 1=fast CRC, 2=safe CRC -fb_crc_mode = -1 -# Filtering mode: -1=Game default, 0=automatic, 1=force bilinear, 2=force point sampled -filtering = -1 -# Fog: -1=Game default, 0=disable. 1=enable -fog = -1 -# Buffer clear on every frame: -1=Game default, 0=disable. 1=enable -buff_clear = -1 -# Buffer swapping method: -1=Game default, 0=swap buffers when vertical interrupt has occurred, 1=swap buffers when set of conditions is satisfied. Prevents flicker on some games, 2=mix of first two methods -swapmode = -1 -# Aspect ratio: -1=Game default, 0=Force 4:3, 1=Force 16:9, 2=Stretch, 3=Original -aspect = -1 -# LOD calculation: -1=Game default, 0=disable. 1=fast, 2=precise -lodmode = -1 -# Smart framebuffer: -1=Game default, 0=disable. 1=enable -fb_smart = -1 -# Hardware frame buffer emulation: -1=Game default, 0=disable. 1=enable -fb_hires = -1 -# Read framebuffer every frame (may be slow use only for effects that need it e.g. Banjo Kazooie, DK64 transitions): -1=Game default, 0=disable. 1=enable -fb_read_always = -1 -# Render N64 frame buffer as texture: -1=Game default, 0=disable, 1=mode1, 2=mode2 -read_back_to_screen = -1 -# Show images written directly by CPU: -1=Game default, 0=disable. 1=enable -detect_cpu_write = -1 -# Get frame buffer info: -1=Game default, 0=disable. 1=enable -fb_get_info = -1 -# Enable software depth render: -1=Game default, 0=disable. 1=enable -fb_render = -1 -# If true, skip up to maxframeskip frames to maintain clock schedule; if false, skip exactly maxframeskip frames -autoframeskip = False -# If autoframeskip is true, skip up to this many frames to maintain clock schedule; if autoframeskip is false, skip exactly this many frames -maxframeskip = 0 - - -[Video-Rice] - -# Mupen64Plus Rice Video Plugin config parameter version number -Version = 1 -# Frame Buffer Emulation (0=ROM default, 1=disable) -FrameBufferSetting = 0 -# Frequency to write back the frame buffer (0=every frame, 1=every other frame, etc) -FrameBufferWriteBackControl = 0 -# Render-to-texture emulation (0=none, 1=ignore, 2=normal, 3=write back, 4=write back and reload) -RenderToTexture = 0 -# Control when the screen will be updated (0=ROM default, 1=VI origin update, 2=VI origin change, 3=CI change, 4=first CI change, 5=first primitive draw, 6=before screen clear, 7=after screen drawn) -ScreenUpdateSetting = 4 -# Force to use normal alpha blender -NormalAlphaBlender = False -# Use a faster algorithm to speed up texture loading and CRC computation -FastTextureLoading = False -# Use different texture coordinate clamping code -AccurateTextureMapping = True -# Force emulated frame buffers to be in N64 native resolution -InN64Resolution = False -# Try to reduce Video RAM usage (should never be used) -SaveVRAM = False -# Enable this option to have better render-to-texture quality -DoubleSizeForSmallTxtrBuf = False -# Force to use normal color combiner -DefaultCombinerDisable = False -# Enable game-specific settings from INI file -EnableHacks = True -# If enabled, graphics will be drawn in WinFrame mode instead of solid and texture mode -WinFrameMode = False -# N64 Texture Memory Full Emulation (may fix some games, may break others) -FullTMEMEmulation = False -# Enable vertex clipper for fog operations -OpenGLVertexClipper = False -# Enable/Disable SSE optimizations for capable CPUs -EnableSSE = True -# If this option is enabled, the plugin will skip every other frame -SkipFrame = False -# If enabled, texture enhancement will be done only for TxtRect ucode -TexRectOnly = False -# If enabled, texture enhancement will be done only for textures width+height<=128 -SmallTextureOnly = False -# Select hi-resolution textures based only on the CRC and ignore format+size information (Glide64 compatibility) -LoadHiResCRCOnly = True -# Enable hi-resolution texture file loading -LoadHiResTextures = False -# Enable texture dumping -DumpTexturesToFiles = False -# Display On-screen FPS -ShowFPS = False -# Use Mipmapping? 0=no, 1=nearest, 2=bilinear, 3=trilinear -Mipmapping = 2 -# Enable, Disable fog generation (0=Disable, 1=Enable) -FogMethod = 1 -# Force to use texture filtering or not (0=auto: n64 choose, 1=force no filtering, 2=force filtering) -ForceTextureFilter = 0 -# Primary texture enhancement filter (0=None, 1=2X, 2=2XSAI, 3=HQ2X, 4=LQ2X, 5=HQ4X, 6=Sharpen, 7=Sharpen More, 8=External, 9=Mirrored) -TextureEnhancement = 0 -# Secondary texture enhancement filter (0 = none, 1-4 = filtered) -TextureEnhancementControl = 0 -# Color bit depth to use for textures (0=default, 1=32 bits, 2=16 bits) -TextureQuality = 0 -# Z-buffer depth (only 16 or 32) -OpenGLDepthBufferSetting = 16 -# Enable/Disable MultiSampling (0=off, 2,4,8,16=quality) -MultiSampling = 0 -# Color bit depth for rendering window (0=32 bits, 1=16 bits) -ColorQuality = 1 -# OpenGL level to support (0=auto, 1=OGL_FRAGMENT_PROGRAM) -OpenGLRenderSetting = 0 -# Enable/Disable Anisotropic Filtering for Mipmapping (0=no filtering, 2-16=quality). This is uneffective if Mipmapping is 0. If the given value is to high to be supported by your graphic card, the value will be the highest value your graphic card can support. Better result with Trilinear filtering -AnisotropicFiltering = 0 -# If true, use polygon offset values specified below -ForcePolygonOffset = False -# Specifies a scale factor that is used to create a variable depth offset for each polygon -PolygonOffsetFactor = 0.000000 -# Is multiplied by an implementation-specific value to create a constant depth offset -PolygonOffsetUnits = 0.000000 diff --git a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-core/config/RK3566-BSP/mupen64plus.cfg b/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-core/config/RK3566-BSP/mupen64plus.cfg deleted file mode 100644 index f8615ce4b..000000000 --- a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-core/config/RK3566-BSP/mupen64plus.cfg +++ /dev/null @@ -1,665 +0,0 @@ -# Mupen64Plus Configuration File -# This file is automatically read and written by the Mupen64Plus Core library - -[64DD] - -# Filename of the 64DD IPL ROM -IPL-ROM = "" -# Filename of the disk to load into Disk Drive -Disk = "" - - -[Audio-SDL] - -# Mupen64Plus SDL Audio Plugin config parameter version number -Version = 1.000000 -# Frequency which is used if rom doesn't want to change it -DEFAULT_FREQUENCY = 33600 -# Swaps left and right channels -SWAP_CHANNELS = False -# Size of primary buffer in output samples. This is where audio is loaded after it's extracted from n64's memory. -PRIMARY_BUFFER_SIZE = 16384 -# Fullness level target for Primary audio buffer, in equivalent output samples. This value must be larger than the SECONDARY_BUFFER_SIZE. Decreasing this value will reduce audio latency but requires a faster PC to avoid choppiness. Increasing this will increase audio latency but reduce the chance of drop-outs. -PRIMARY_BUFFER_TARGET = 2048 -# Size of secondary buffer in output samples. This is SDL's hardware buffer. The SDL documentation states that this should be a power of two between 512 and 8192. -SECONDARY_BUFFER_SIZE = 1024 -# Audio resampling algorithm. src-sinc-best-quality, src-sinc-medium-quality, src-sinc-fastest, src-zero-order-hold, src-linear, speex-fixed-{10-0}, trivial -RESAMPLE = "trivial" -# Volume control type: 1 = SDL (only affects Mupen64Plus output) 2 = OSS mixer (adjusts master PC volume) -VOLUME_CONTROL_TYPE = 1 -# Percentage change each time the volume is increased or decreased -VOLUME_ADJUST = 5 -# Default volume when a game is started. Only used if VOLUME_CONTROL_TYPE is 1 -VOLUME_DEFAULT = 100 -# Synchronize Video/Audio -AUDIO_SYNC = False - - -[Core] - -# Mupen64Plus Core config parameter set version number. Please don't change this version number. -Version = 1.010000 -# Draw on-screen display if True, otherwise don't draw OSD -OnScreenDisplay = True -# Use Pure Interpreter if 0, Cached Interpreter if 1, or Dynamic Recompiler if 2 or more -R4300Emulator = 2 -# Disable compiled jump commands in dynamic recompiler (should be set to False) -NoCompiledJump = False -# Disable 4MB expansion RAM pack. May be necessary for some games -DisableExtraMem = False -# Increment the save state slot after each save operation -AutoStateSlotIncrement = False -# Activate the R4300 debugger when ROM execution begins, if core was built with Debugger support -EnableDebugger = False -# Save state slot (0-9) to use when saving/loading the emulator state -CurrentStateSlot = 0 -# Path to directory where screenshots are saved. If this is blank, the default value of ${UserDataPath}/screenshot will be used -ScreenshotPath = "/storage/roms/screenshots" -# Path to directory where emulator save states (snapshots) are saved. If this is blank, the default value of ${UserDataPath}/save will be used -SaveStatePath = "/storage/roms/n64" -# Path to directory where SRAM/EEPROM data (in-game saves) are stored. If this is blank, the default value of ${UserDataPath}/save will be used -SaveSRAMPath = "/storage/roms/n64" -# Path to a directory to search when looking for shared data files -SharedDataPath = "/storage/.config/game/configs/mupen64plussa" -# Force number of cycles per emulated instruction -CountPerOp = 0 -# Randomize PI/SI Interrupt Timing -RandomizeInterrupt = True -# Duration of SI DMA (-1: use per game settings) -SiDmaDuration = -1 -# Gameboy Camera Video Capture backend -GbCameraVideoCaptureBackend1 = "" -# Disk Save Format (0: Full Disk Copy (*.ndr/*.d6r), 1: RAM Area Only (*.ram)) -SaveDiskFormat = 1 - - -[CoreEvents] - -# Mupen64Plus CoreEvents config parameter set version number. Please don't change this version number. -Version = 1.000000 -# SDL keysym for stopping the emulator -Kbd Mapping Stop = 27 -# SDL keysym for switching between fullscreen/windowed modes -Kbd Mapping Fullscreen = 0 -# SDL keysym for saving the emulator state -Kbd Mapping Save State = 286 -# SDL keysym for loading the emulator state -Kbd Mapping Load State = 288 -# SDL keysym for advancing the save state slot -Kbd Mapping Increment Slot = 0 -# SDL keysym for resetting the emulator -Kbd Mapping Reset = 290 -# SDL keysym for slowing down the emulator -Kbd Mapping Speed Down = 291 -# SDL keysym for speeding up the emulator -Kbd Mapping Speed Up = 292 -# SDL keysym for taking a screenshot -Kbd Mapping Screenshot = 293 -# SDL keysym for pausing the emulator -Kbd Mapping Pause = 112 -# SDL keysym for muting/unmuting the sound -Kbd Mapping Mute = 109 -# SDL keysym for increasing the volume -Kbd Mapping Increase Volume = 93 -# SDL keysym for decreasing the volume -Kbd Mapping Decrease Volume = 91 -# SDL keysym for temporarily going really fast -Kbd Mapping Fast Forward = 102 -# SDL keysym for advancing by one frame when paused -Kbd Mapping Frame Advance = 47 -# SDL keysym for pressing the game shark button -Kbd Mapping Gameshark = 103 -# Joystick event string for stopping the emulator -Joy Mapping Stop = "J0B8/B9" -# Joystick event string for switching between fullscreen/windowed modes -Joy Mapping Fullscreen = "" -# Joystick event string for saving the emulator state -Joy Mapping Save State = "J0B8/B5" -# Joystick event string for loading the emulator state -Joy Mapping Load State = "J0B8/B4" -# Joystick event string for advancing the save state slot -Joy Mapping Increment Slot = "" -# Joystick event string for resetting the emulator -Joy Mapping Reset = "J0B8/B0" -# Joystick event string for slowing down the emulator -Joy Mapping Speed Down = "" -# Joystick event string for speeding up the emulator -Joy Mapping Speed Up = "" -# Joystick event string for taking a screenshot -Joy Mapping Screenshot = "J0B8/B3" -# Joystick event string for pausing the emulator -Joy Mapping Pause = "J0B12/B1" -# Joystick event string for muting/unmuting the sound -Joy Mapping Mute = "" -# Joystick event string for increasing the volume -Joy Mapping Increase Volume = "" -# Joystick event string for decreasing the volume -Joy Mapping Decrease Volume = "" -# Joystick event string for fast-forward -Joy Mapping Fast Forward = "J0B8/B7" -# Joystick event string for advancing by one frame when paused -Joy Mapping Frame Advance = "" -# Joystick event string for pressing the game shark button -Joy Mapping Gameshark = "J0B8/B2" -# SDL keysym for save slot 0 -Kbd Mapping Slot 0 = 48 -# SDL keysym for save slot 1 -Kbd Mapping Slot 1 = 49 -# SDL keysym for save slot 2 -Kbd Mapping Slot 2 = 50 -# SDL keysym for save slot 3 -Kbd Mapping Slot 3 = 51 -# SDL keysym for save slot 4 -Kbd Mapping Slot 4 = 52 -# SDL keysym for save slot 5 -Kbd Mapping Slot 5 = 53 -# SDL keysym for save slot 6 -Kbd Mapping Slot 6 = 54 -# SDL keysym for save slot 7 -Kbd Mapping Slot 7 = 55 -# SDL keysym for save slot 8 -Kbd Mapping Slot 8 = 56 -# SDL keysym for save slot 9 -Kbd Mapping Slot 9 = 57 - - -[Input-SDL-Control1] - -# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number. -version = 2.000000 -# Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic -mode = 2 -# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number -device = 0 -# SDL joystick name (or Keyboard) -name = "retrogame_joypad" -# Specifies whether this controller is 'plugged in' to the simulated N64 -plugged = True -# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak -plugin = 2 -# If True, then mouse buttons may be used with this controller -mouse = False -# Scaling factor for mouse movements. For X, Y axes. -MouseSensitivity = "2.00,2.00" -# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes. -AnalogDeadzone = "0,0" -# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value -AnalogPeak = "32768,32768" -# Digital button configuration mappings -DPad R = button(16) -DPad L = button(15) -DPad D = button(14) -DPad U = button(13) -Start = button(9) -Z Trig = button(5) -B Button = button(3) -A Button = button(0) -C Button R = axis(2+) -C Button L = axis(2-) -C Button D = axis(3+) -C Button U = axis(3-) -R Trig = button(7) -L Trig = button(4) -Mempak switch = -Rumblepak switch = -# Analog axis configuration mappings -X Axis = axis(0-,0+) -Y Axis = axis(1-,1+) - - -[Input-SDL-Control2] - -# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number. -version = 2.000000 -# Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic -mode = 2 -# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number -device = -1 -# SDL joystick name (or Keyboard) -name = "" -# Specifies whether this controller is 'plugged in' to the simulated N64 -plugged = False -# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak -plugin = 2 -# If True, then mouse buttons may be used with this controller -mouse = False -# Scaling factor for mouse movements. For X, Y axes. -MouseSensitivity = "2.00,2.00" -# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes. -AnalogDeadzone = "4096,4096" -# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value -AnalogPeak = "32768,32768" -# Digital button configuration mappings -DPad R = "" -DPad L = "" -DPad D = "" -DPad U = "" -Start = "" -Z Trig = "" -B Button = "" -A Button = "" -C Button R = "" -C Button L = "" -C Button D = "" -C Button U = "" -R Trig = "" -L Trig = "" -Mempak switch = "" -Rumblepak switch = "" -# Analog axis configuration mappings -X Axis = "" -Y Axis = "" - - -[Input-SDL-Control3] - -# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number. -version = 2.000000 -# Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic -mode = 2 -# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number -device = -1 -# SDL joystick name (or Keyboard) -name = "" -# Specifies whether this controller is 'plugged in' to the simulated N64 -plugged = False -# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak -plugin = 2 -# If True, then mouse buttons may be used with this controller -mouse = False -# Scaling factor for mouse movements. For X, Y axes. -MouseSensitivity = "2.00,2.00" -# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes. -AnalogDeadzone = "4096,4096" -# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value -AnalogPeak = "32768,32768" -# Digital button configuration mappings -DPad R = "" -DPad L = "" -DPad D = "" -DPad U = "" -Start = "" -Z Trig = "" -B Button = "" -A Button = "" -C Button R = "" -C Button L = "" -C Button D = "" -C Button U = "" -R Trig = "" -L Trig = "" -Mempak switch = "" -Rumblepak switch = "" -# Analog axis configuration mappings -X Axis = "" -Y Axis = "" - - -[Input-SDL-Control4] - -# Mupen64Plus SDL Input Plugin config parameter version number. Please don't change this version number. -version = 2.000000 -# Controller configuration mode: 0=Fully Manual, 1=Auto with named SDL Device, 2=Fully automatic -mode = 2 -# Specifies which joystick is bound to this controller: -1=No joystick, 0 or more= SDL Joystick number -device = -1 -# SDL joystick name (or Keyboard) -name = "" -# Specifies whether this controller is 'plugged in' to the simulated N64 -plugged = False -# Specifies which type of expansion pak is in the controller: 1=None, 2=Mem pak, 4=Transfer pak, 5=Rumble pak -plugin = 2 -# If True, then mouse buttons may be used with this controller -mouse = False -# Scaling factor for mouse movements. For X, Y axes. -MouseSensitivity = "2.00,2.00" -# The minimum absolute value of the SDL analog joystick axis to move the N64 controller axis value from 0. For X, Y axes. -AnalogDeadzone = "4096,4096" -# An absolute value of the SDL joystick axis >= AnalogPeak will saturate the N64 controller axis value (at 80). For X, Y axes. For each axis, this must be greater than the corresponding AnalogDeadzone value -AnalogPeak = "32768,32768" -# Digital button configuration mappings -DPad R = "" -DPad L = "" -DPad D = "" -DPad U = "" -Start = "" -Z Trig = "" -B Button = "" -A Button = "" -C Button R = "" -C Button L = "" -C Button D = "" -C Button U = "" -R Trig = "" -L Trig = "" -Mempak switch = "" -Rumblepak switch = "" -# Analog axis configuration mappings -X Axis = "" -Y Axis = "" - - -[Rsp-HLE] - -# Mupen64Plus RSP HLE Plugin config parameter version number -Version = 1.000000 -# Path to a RSP plugin which will be used when encountering an unknown ucode.You can disable this by letting an empty string. -RspFallback = "" -# Send display lists to the graphics plugin -DisplayListToGraphicsPlugin = True -# Send audio lists to the audio plugin -AudioListToAudioPlugin = False - - -[Transferpak] - -# Filename of the GB ROM to load into transferpak 1 -GB-rom-1 = "" -# Filename of the GB RAM to load into transferpak 1 -GB-ram-1 = "" -# Filename of the GB ROM to load into transferpak 2 -GB-rom-2 = "" -# Filename of the GB RAM to load into transferpak 2 -GB-ram-2 = "" -# Filename of the GB ROM to load into transferpak 3 -GB-rom-3 = "" -# Filename of the GB RAM to load into transferpak 3 -GB-ram-3 = "" -# Filename of the GB ROM to load into transferpak 4 -GB-rom-4 = "" -# Filename of the GB RAM to load into transferpak 4 -GB-ram-4 = "" - - -[UI-Console] - -# Mupen64Plus UI-Console config parameter set version number. Please don't change this version number. -Version = 1.000000 -# Directory in which to search for plugins -PluginDir = "/usr/local/lib/mupen64plus" -# Filename of video plugin -VideoPlugin = "mupen64plus-video-rice" -# Filename of audio plugin -AudioPlugin = "mupen64plus-audio-sdl.so" -# Filename of input plugin -InputPlugin = "mupen64plus-input-sdl.so" -# Filename of RSP plugin -RspPlugin = "mupen64plus-rsp-hle.so" - - -[Video-General] - -# Width of output window or fullscreen width -ScreenWidth = 640 -# Height of output window or fullscreen height -ScreenHeight = 480 -# Use fullscreen mode if True, or windowed mode if False -Fullscreen = True -# If true, activate the SDL_GL_SWAP_CONTROL attribute -VerticalSync = True -# Rotate screen contents: 0=0 degree, 1=90 degree, 2 = 180 degree, 3=270 degree -Rotate = 0 - -[Video-GLideN64] - -###### Hardware Compatibility ###### -# Leave enabled unless a mobile gpu doesn't support it. -EnableFragmentDepthWrite = 1 -# Hardware per pixel lighting, supposedly good for GLES3.1 devices or higher. -EnableHWLighting = 0 - -###### Enhancements ####### -# Internal render resoluton rather than output. So 2 x 240p is 480p, etc. -UseNativeResolutionFactor = 1 -# Enable/Disable MultiSampling (0=off, 2,4,8,16=quality) -MultiSampling = 0 -# Enable/Disable Fast Approximate Anti-Aliasing FXAA -FXAA = 0 -# Max level of Anisotropic Filtering, 0 for off -anisotropy = 0 -# Bilinear filtering mode (0=N64 3point, 1=standard) -# @rishooty: best to use this at 1x native res, any higher turn it off. -bilinearMode = 1 - -###### Compatibility ###### -# Make texrect coordinates continuous to avoid black lines between them. (0=Off/default, 1=Auto, 2=Force) -CorrectTexrectCoords = 1 -# Copy auxiliary buffers to RDRAM (default: 0) -EnableCopyAuxiliaryToRDRAM = 1 -# Render 2D texrects in native resolution to fix misalignment between parts of 2D image. (0=Off/default, 1=Optimized, 2=Unoptimized)") -EnableNativeResTexrects = 1 - -###### Other ###### -# Enable threaded video backend at the cost of input lag -ThreadedVideo = 1 -# Screen aspect ratio (0=stretch, 1=force 4:3, 2=force 16:9, 3=adjust) -AspectRatio = 1 -# Display On-screen FPS -ShowFPS = False - -[Video-Glide64mk2] - -# Enable full-scene anti-aliasing by setting this to a value greater than 1 -wrpAntiAliasing = 0 -# Card ID -card_id = 0 -# If true, use polygon offset values specified below -force_polygon_offset = False -# Specifies a scale factor that is used to create a variable depth offset for each polygon -polygon_offset_factor = 0.000000 -# Is multiplied by an implementation-specific value to create a constant depth offset -polygon_offset_units = 0.000000 -# Vertical sync -vsync = True -# TODO:ssformat -ssformat = False -# Display performance stats (add together desired flags): 1=FPS counter, 2=VI/s counter, 4=% speed, 8=FPS transparent -show_fps = 0 -# Clock enabled -clock = False -# Clock is 24-hour -clock_24_hr = True -# Wrapper resolution -wrpResolution = 0 -# Wrapper VRAM -wrpVRAM = 0 -# Wrapper FBO -wrpFBO = True -# Wrapper Anisotropic Filtering -wrpAnisotropic = True -# Texture Enhancement: Smooth/Sharpen Filters -ghq_fltr = 0 -# Texture Compression: 0 for S3TC, 1 for FXT1 -ghq_cmpr = 0 -# Texture Enhancement: More filters -ghq_enht = 0 -# Hi-res texture pack format (0 for none, 1 for Rice) -ghq_hirs = 1 -# Compress texture cache with S3TC or FXT1 -ghq_enht_cmpr = False -# Tile textures (saves memory but could cause issues) -ghq_enht_tile = 0 -# Force 16bpp textures (saves ram but lower quality) -ghq_enht_f16bpp = False -# Compress texture cache -ghq_enht_gz = True -# Don't enhance textures for backgrounds -ghq_enht_nobg = False -# Enable S3TC and FXT1 compression -ghq_hirs_cmpr = False -# Tile hi-res textures (saves memory but could cause issues) -ghq_hirs_tile = False -# Force 16bpp hi-res textures (saves ram but lower quality) -ghq_hirs_f16bpp = False -# Compress hi-res texture cache -ghq_hirs_gz = True -# Alternative CRC calculation -- emulates Rice bug -ghq_hirs_altcrc = True -# Save tex cache to disk -ghq_cache_save = True -# Texture Cache Size (MB) -ghq_cache_size = 128 -# Use full alpha channel -- could cause issues for some tex packs -ghq_hirs_let_texartists_fly = False -# Dump textures -ghq_hirs_dump = False -# Alternate texture size method: -1=Game default, 0=disable. 1=enable -alt_tex_size = -1 -# Use first SETTILESIZE only: -1=Game default, 0=disable. 1=enable -use_sts1_only = -1 -# Use spheric mapping only: -1=Game default, 0=disable. 1=enable -force_calc_sphere = -1 -# Force positive viewport: -1=Game default, 0=disable. 1=enable -correct_viewport = -1 -# Force texrect size to integral value: -1=Game default, 0=disable. 1=enable -increase_texrect_edge = -1 -# Reduce fillrect size by 1: -1=Game default, 0=disable. 1=enable -decrease_fillrect_edge = -1 -# Enable perspective texture correction emulation: -1=Game default, 0=disable. 1=enable -texture_correction = -1 -# Set special scale for PAL games: -1=Game default, 0=disable. 1=enable -pal230 = -1 -# 3DFX Dithered alpha emulation mode: -1=Game default, >=0=dithered alpha emulation mode -stipple_mode = -1 -# 3DFX Dithered alpha pattern: -1=Game default, >=0=pattern used for dithered alpha emulation -stipple_pattern = -1 -# Check microcode each frame: -1=Game default, 0=disable. 1=enable -force_microcheck = -1 -# Force 0xb5 command to be quad, not line 3D: -1=Game default, 0=disable. 1=enable -force_quad3d = -1 -# Enable near z clipping: -1=Game default, 0=disable. 1=enable -clip_zmin = -1 -# Enable far plane clipping: -1=Game default, 0=disable. 1=enable -clip_zmax = -1 -# Use fast CRC algorithm: -1=Game default, 0=disable. 1=enable -fast_crc = -1 -# Adjust screen aspect for wide screen mode: -1=Game default, 0=disable. 1=enable -adjust_aspect = -1 -# Force strict check in Depth buffer test: -1=Game default, 0=disable. 1=enable -zmode_compare_less = -1 -# Apply alpha dither regardless of alpha_dither_mode: -1=Game default, 0=disable. 1=enable -old_style_adither = -1 -# Scale vertex z value before writing to depth buffer: -1=Game default, 0=disable. 1=enable -n64_z_scale = -1 -# Fast texrect rendering with hwfbe: -1=Game default, 0=disable. 1=enable -optimize_texrect = -1 -# Do not copy auxiliary frame buffers: -1=Game default, 0=disable. 1=enable -ignore_aux_copy = -1 -# Clear auxiliary texture frame buffers: -1=Game default, 0=disable. 1=enable -hires_buf_clear = -1 -# Read alpha from framebuffer: -1=Game default, 0=disable. 1=enable -fb_read_alpha = -1 -# Handle unchanged fb: -1=Game default, 0=disable. 1=enable -useless_is_useless = -1 -# Set frambuffer CRC mode: -1=Game default, 0=disable CRC, 1=fast CRC, 2=safe CRC -fb_crc_mode = -1 -# Filtering mode: -1=Game default, 0=automatic, 1=force bilinear, 2=force point sampled -filtering = -1 -# Fog: -1=Game default, 0=disable. 1=enable -fog = -1 -# Buffer clear on every frame: -1=Game default, 0=disable. 1=enable -buff_clear = -1 -# Buffer swapping method: -1=Game default, 0=swap buffers when vertical interrupt has occurred, 1=swap buffers when set of conditions is satisfied. Prevents flicker on some games, 2=mix of first two methods -swapmode = -1 -# Aspect ratio: -1=Game default, 0=Force 4:3, 1=Force 16:9, 2=Stretch, 3=Original -aspect = -1 -# LOD calculation: -1=Game default, 0=disable. 1=fast, 2=precise -lodmode = -1 -# Smart framebuffer: -1=Game default, 0=disable. 1=enable -fb_smart = -1 -# Hardware frame buffer emulation: -1=Game default, 0=disable. 1=enable -fb_hires = -1 -# Read framebuffer every frame (may be slow use only for effects that need it e.g. Banjo Kazooie, DK64 transitions): -1=Game default, 0=disable. 1=enable -fb_read_always = -1 -# Render N64 frame buffer as texture: -1=Game default, 0=disable, 1=mode1, 2=mode2 -read_back_to_screen = -1 -# Show images written directly by CPU: -1=Game default, 0=disable. 1=enable -detect_cpu_write = -1 -# Get frame buffer info: -1=Game default, 0=disable. 1=enable -fb_get_info = -1 -# Enable software depth render: -1=Game default, 0=disable. 1=enable -fb_render = -1 -# If true, skip up to maxframeskip frames to maintain clock schedule; if false, skip exactly maxframeskip frames -autoframeskip = False -# If autoframeskip is true, skip up to this many frames to maintain clock schedule; if autoframeskip is false, skip exactly this many frames -maxframeskip = 0 - - -[Video-Rice] - -# Mupen64Plus Rice Video Plugin config parameter version number -Version = 1 -# Frame Buffer Emulation (0=ROM default, 1=disable) -FrameBufferSetting = 0 -# Frequency to write back the frame buffer (0=every frame, 1=every other frame, etc) -FrameBufferWriteBackControl = 0 -# Render-to-texture emulation (0=none, 1=ignore, 2=normal, 3=write back, 4=write back and reload) -RenderToTexture = 0 -# Control when the screen will be updated (0=ROM default, 1=VI origin update, 2=VI origin change, 3=CI change, 4=first CI change, 5=first primitive draw, 6=before screen clear, 7=after screen drawn) -ScreenUpdateSetting = 4 -# Force to use normal alpha blender -NormalAlphaBlender = False -# Use a faster algorithm to speed up texture loading and CRC computation -FastTextureLoading = False -# Use different texture coordinate clamping code -AccurateTextureMapping = True -# Force emulated frame buffers to be in N64 native resolution -InN64Resolution = False -# Try to reduce Video RAM usage (should never be used) -SaveVRAM = False -# Enable this option to have better render-to-texture quality -DoubleSizeForSmallTxtrBuf = False -# Force to use normal color combiner -DefaultCombinerDisable = False -# Enable game-specific settings from INI file -EnableHacks = True -# If enabled, graphics will be drawn in WinFrame mode instead of solid and texture mode -WinFrameMode = False -# N64 Texture Memory Full Emulation (may fix some games, may break others) -FullTMEMEmulation = False -# Enable vertex clipper for fog operations -OpenGLVertexClipper = False -# Enable/Disable SSE optimizations for capable CPUs -EnableSSE = True -# If this option is enabled, the plugin will skip every other frame -SkipFrame = False -# If enabled, texture enhancement will be done only for TxtRect ucode -TexRectOnly = False -# If enabled, texture enhancement will be done only for textures width+height<=128 -SmallTextureOnly = False -# Select hi-resolution textures based only on the CRC and ignore format+size information (Glide64 compatibility) -LoadHiResCRCOnly = True -# Enable hi-resolution texture file loading -LoadHiResTextures = False -# Enable texture dumping -DumpTexturesToFiles = False -# Display On-screen FPS -ShowFPS = False -# Use Mipmapping? 0=no, 1=nearest, 2=bilinear, 3=trilinear -Mipmapping = 2 -# Enable, Disable fog generation (0=Disable, 1=Enable) -FogMethod = 1 -# Force to use texture filtering or not (0=auto: n64 choose, 1=force no filtering, 2=force filtering) -ForceTextureFilter = 0 -# Primary texture enhancement filter (0=None, 1=2X, 2=2XSAI, 3=HQ2X, 4=LQ2X, 5=HQ4X, 6=Sharpen, 7=Sharpen More, 8=External, 9=Mirrored) -TextureEnhancement = 0 -# Secondary texture enhancement filter (0 = none, 1-4 = filtered) -TextureEnhancementControl = 0 -# Color bit depth to use for textures (0=default, 1=32 bits, 2=16 bits) -TextureQuality = 0 -# Z-buffer depth (only 16 or 32) -OpenGLDepthBufferSetting = 16 -# Enable/Disable MultiSampling (0=off, 2,4,8,16=quality) -MultiSampling = 0 -# Color bit depth for rendering window (0=32 bits, 1=16 bits) -ColorQuality = 1 -# OpenGL level to support (0=auto, 1=OGL_FRAGMENT_PROGRAM) -OpenGLRenderSetting = 0 -# Enable/Disable Anisotropic Filtering for Mipmapping (0=no filtering, 2-16=quality). This is uneffective if Mipmapping is 0. If the given value is to high to be supported by your graphic card, the value will be the highest value your graphic card can support. Better result with Trilinear filtering -AnisotropicFiltering = 0 -# If true, use polygon offset values specified below -ForcePolygonOffset = False -# Specifies a scale factor that is used to create a variable depth offset for each polygon -PolygonOffsetFactor = 0.000000 -# Is multiplied by an implementation-specific value to create a constant depth offset -PolygonOffsetUnits = 0.000000 diff --git a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP-X55/default.ini b/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP-X55/default.ini deleted file mode 100644 index 0e2311edb..000000000 --- a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP-X55/default.ini +++ /dev/null @@ -1,24 +0,0 @@ -[zed_joystick] -plugged = True -mouse = False -AnalogDeadzone = 0,0 -AnalogPeak = 32768,32768 -DPad R = button(16) -DPad L = button(15) -DPad D = button(14) -DPad U = button(13) -Start = button(9) -Z Trig = button(6) -B Button = button(3) -A Button = button(1) -C Button R = axis(2+) -C Button L = axis(2-) -C Button D = axis(3+) -C Button U = axis(3-) -R Trig = button(5) -L Trig = button(4) -Mempak switch = -Rumblepak switch = -# Analog axis configuration mappings -X Axis = axis(0-,0+) -Y Axis = axis(1-,1+) diff --git a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP-X55/zlswap.ini b/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP-X55/zlswap.ini deleted file mode 100644 index e991de2a6..000000000 --- a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP-X55/zlswap.ini +++ /dev/null @@ -1,24 +0,0 @@ -[zed_joystick] -plugged = True -mouse = False -AnalogDeadzone = 0,0 -AnalogPeak = 32768,32768 -DPad R = button(16) -DPad L = button(15) -DPad D = button(14) -DPad U = button(13) -Start = button(9) -Z Trig = button(4) -B Button = button(3) -A Button = button(0) -C Button R = axis(2+) -C Button L = axis(2-) -C Button D = axis(3+) -C Button U = axis(3-) -R Trig = button(5) -L Trig = button(6) -Mempak switch = -Rumblepak switch = -# Analog axis configuration mappings -X Axis = axis(0-,0+) -Y Axis = axis(1-,1+) diff --git a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP/default.ini b/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP/default.ini deleted file mode 100644 index 8005fb6fc..000000000 --- a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP/default.ini +++ /dev/null @@ -1,25 +0,0 @@ -; RG552 Gamepad - default.ini -[retrogame_joypad] -plugged = True -mouse = False -AnalogDeadzone = 0,0 -AnalogPeak = 32768,32768 -DPad R = button(16) -DPad L = button(15) -DPad D = button(14) -DPad U = button(13) -Start = button(9) -Z Trig = button(6) -B Button = button(3) -A Button = button(0) -C Button R = axis(2+) -C Button L = axis(2-) -C Button D = axis(3+) -C Button U = axis(3-) -R Trig = button(5) -L Trig = button(4) -Mempak switch = -Rumblepak switch = -# Analog axis configuration mappings -X Axis = axis(0-,0+) -Y Axis = axis(1-,1+) \ No newline at end of file diff --git a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP/zlswap.ini b/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP/zlswap.ini deleted file mode 100644 index 7606cad77..000000000 --- a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566-BSP/zlswap.ini +++ /dev/null @@ -1,25 +0,0 @@ -; RG552 Gamepad - zlswap.ini -[retrogame_joypad] -plugged = True -mouse = False -AnalogDeadzone = 0,0 -AnalogPeak = 32768,32768 -DPad R = button(16) -DPad L = button(15) -DPad D = button(14) -DPad U = button(13) -Start = button(9) -Z Trig = button(4) -B Button = button(3) -A Button = button(0) -C Button R = axis(2+) -C Button L = axis(2-) -C Button D = axis(3+) -C Button U = axis(3-) -R Trig = button(5) -L Trig = button(6) -Mempak switch = -Rumblepak switch = -# Analog axis configuration mappings -X Axis = axis(0-,0+) -Y Axis = axis(1-,1+) \ No newline at end of file diff --git a/packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP-X55/controls.ini b/packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP-X55/controls.ini deleted file mode 100644 index 1215c4917..000000000 --- a/packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP-X55/controls.ini +++ /dev/null @@ -1,18 +0,0 @@ -[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-4003 -An.Down = 10-4002 -An.Left = 10-4001 -An.Right = 10-4000 -Pause = 10-4,10-106 diff --git a/packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP-X55/ppsspp.ini b/packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP-X55/ppsspp.ini deleted file mode 100755 index f90ec964e..000000000 --- a/packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP-X55/ppsspp.ini +++ /dev/null @@ -1,512 +0,0 @@ -[General] -FirstRun = False -RunCount = 16 -Enable Logging = False -AutoRun = True -Browse = False -IgnoreBadMemAccess = False -CurrentDirectory = /storage/roms/psp -ShowDebuggerOnLoad = False -CheckForNewVersion = True -Language = en_US -ForceLagSync = False -DiscordPresence = False -NumWorkerThreads = 8 -AutoLoadSaveState = 0 -EnableCheats = True -CwCheatRefreshRate = 77 -ScreenshotsAsPNG = False -UseFFV1 = False -DumpFrames = False -DumpAudio = False -SaveLoadResetsAVdumping = False -StateSlot = 0 -EnableStateUndo = True -RewindFlipFrequency = 0 -GridView1 = True -GridView2 = True -GridView3 = False -ComboMode = 0 -ReportingHost = default -AutoSaveSymbolMap = False -CacheFullIsoInRam = False -RemoteISOPort = 0 -LastRemoteISOServer = -LastRemoteISOPort = 0 -RemoteISOManualConfig = False -RemoteShareOnStartup = False -RemoteISOSubdir = / -RemoteDebuggerOnStartup = False -InternalScreenRotation = 1 -PauseWhenMinimized = False -DumpDecryptedEboots = False -MemStickInserted = True -ForceLagSync2 = False -UISound = True -CwCheatScrollPosition = 0.000000 -DumpVideoOutput = False -ShowRegionOnGameIcon = False -ShowIDOnGameIcon = False -GameGridScale = 1.000000 -RightAnalogUp = 0 -RightAnalogDown = 0 -RightAnalogLeft = 0 -RightAnalogRight = 0 -RightAnalogPress = 0 -RightAnalogCustom = False -LoadPlugins = False -GameListScrollPosition = 0.000000 -StateLoadUndoGame = NA -StateUndoLastSaveGame = NA -StateUndoLastSaveSlot = -5 -ShowOnScreenMessage = True -RightAnalogDisableDiagonal = False -SwipeUp = 0 -SwipeDown = 0 -SwipeLeft = 0 -SwipeRight = 0 -SwipeSensitivity = 1.000000 -SwipeSmoothing = 0.300000 -DoubleTapGesture = 0 -GestureControlEnabled = False -BackgroundAnimation = 1 -EnablePlugins = True -[CPU] -CPUCore = 1 -SeparateSASThread = True -SeparateIOThread = True -IOTimingMethod = 0 -FastMemoryAccess = True -FuncReplacements = True -HideSlowWarnings = False -HideStateWarnings = False -PreloadFunctions = False -CPUSpeed = 0 -JitDisableFlags = 0x00000000 -FunctionReplacements = True -[Graphics] -EnableCardboard = False -CardboardScreenSize = 50 -CardboardXShift = 0 -CardboardYShift = 0 -ShowFPSCounter = 3 -GraphicsBackend = 0 (OPENGL) -FailedGraphicsBackends = -VulkanDevice = -RenderingMode = 0 -SoftwareRenderer = False -HardwareTransform = True -SoftwareSkinning = True -TextureFiltering = 1 -BufferFiltering = 1 -InternalResolution = 0 -AndroidHwScale = 1 -HighQualityDepth = 1 -FrameSkip = 0 -FrameSkipType = 0 -AutoFrameSkip = False -FrameRate = 0 -FrameRate2 = -1 -FrameSkipUnthrottle = True -ForceMaxEmulatedFPS = 30 -AnisotropyLevel = 0 -VertexDecCache = True -TextureBackoffCache = True -TextureSecondaryCache = False -FullScreen = True -FullScreenMulti = False -SmallDisplayZoomType = 2 -SmallDisplayOffsetX = 0.500000 -SmallDisplayOffsetY = 0.500000 -SmallDisplayZoomLevel = 1.000000 -ImmersiveMode = False -SustainedPerformanceMode = False -TrueColor = True -ReplaceTextures = True -SaveNewTextures = False -IgnoreTextureFilenames = True -TexScalingLevel = 1 -TexScalingType = 3 -TexDeposterize = False -VSyncInterval = True -DisableStencilTest = False -BloomHack = 2 -TimerHack = False -SplineBezierQuality = 0 -HardwareTessellation = False -PostShader = Off -MemBlockTransferGPU = True -DisableSlowFramebufEffects = True -FragmentTestCache = True -LogFrameDrops = False -EnableCardboardVR = False -DisabledGraphicsBackends = -CameraDevice = -UnthrottleMode = CONTINUOUS -IgnoreScreenInsets = True -TexHardwareScaling = False -TextureShader = Off -InflightFrames = 2 -RenderDuplicateFrames = True -ShaderChainRequires60FPS = False -ClearFramebuffersOnFirstUseHack = False -SoftwareRendererJit = True -UnthrottlingMode = CONTINUOUS -ReplaceTexturesAllowLate = True -[Sound] -Enable = True -AudioBackend = 0 -AudioLatency = 1 -ExtraAudioBuffering = False -SoundSpeedHack = False -AudioResampler = False -GlobalVolume = 10 -AltSpeedVolume = -1 -AudioDevice = es8316, ff890000.i2s-ES8316 HiFi ES8316 HiFi-0 -AutoAudioDevice = False -ReverbVolume = 10 -[Control] -HapticFeedback = False -ShowTouchCross = True -ShowTouchCircle = True -ShowTouchSquare = True -ShowTouchTriangle = True -ComboKey0Mapping = 0 -ComboKey1Mapping = 0 -ComboKey2Mapping = 0 -ComboKey3Mapping = 0 -ComboKey4Mapping = 0 -ShowTouchPause = False -ShowTouchControls = False -DisableDpadDiagonals = False -GamepadOnlyFocused = False -TouchButtonStyle = 1 -TouchButtonOpacity = 65 -TouchButtonHideSeconds = 20 -AutoCenterTouchAnalog = False -ActionButtonSpacing2 = 1.000000 -ActionButtonCenterX = 0.937500 -ActionButtonCenterY = 0.900000 -ActionButtonScale = 1.150000 -DPadX = 0.074479 -DPadY = 0.760000 -DPadScale = 1.150000 -ShowTouchDpad = True -DPadSpacing = 1.000000 -StartKeyX = 0.559896 -StartKeyY = 0.942500 -StartKeyScale = 1.150000 -ShowTouchStart = True -SelectKeyX = 0.500000 -SelectKeyY = 0.942500 -SelectKeyScale = 1.150000 -ShowTouchSelect = True -UnthrottleKeyX = 0.440104 -UnthrottleKeyY = 0.942500 -UnthrottleKeyScale = 1.150000 -ShowTouchUnthrottle = True -LKeyX = 0.035937 -LKeyY = 0.635833 -LKeyScale = 1.150000 -ShowTouchLTrigger = True -RKeyX = 0.964063 -RKeyY = 0.635833 -RKeyScale = 1.150000 -ShowTouchRTrigger = True -AnalogStickX = 0.074479 -AnalogStickY = 0.923333 -AnalogStickScale = 1.150000 -ShowAnalogStick = True -fcombo0X = 0.571875 -fcombo0Y = 0.500000 -comboKeyScale0 = 1.150000 -ShowComboKey0 = False -fcombo1X = 0.631771 -fcombo1Y = 0.500000 -comboKeyScale1 = 1.150000 -ShowComboKey1 = False -fcombo2X = 0.691667 -fcombo2Y = 0.500000 -comboKeyScale2 = 1.150000 -ShowComboKey2 = False -fcombo3X = 0.571875 -fcombo3Y = 0.333333 -comboKeyScale3 = 1.150000 -ShowComboKey3 = False -fcombo4X = 0.631771 -fcombo4Y = 0.333333 -comboKeyScale4 = 1.150000 -ShowComboKey4 = False -Speed1KeyX = 0.440104 -Speed1KeyY = 0.885000 -Speed1KeyScale = 1.150000 -ShowSpeed1Key = False -Speed2KeyX = 0.500000 -Speed2KeyY = 0.885000 -Speed2KeyScale = 1.150000 -ShowSpeed2Key = False -XInputAnalogSensitivity = 1.000000 -AnalogLimiterDeadzone = 0.600000 -UseMouse = False -MapMouse = False -ConfineMap = False -MouseSensitivity = 0.100000 -MouseSmoothing = 0.900000 -ComboKey0Toggle = False -ComboKey1Toggle = False -ComboKey2Toggle = False -ComboKey3Toggle = False -ComboKey4Toggle = False -AnalogAutoRotSpeed = 15.000000 -TouchSnapToGrid = False -TouchSnapGridSize = 64 -RightAnalogStickX = 0.875000 -RightAnalogStickY = 0.856250 -RightAnalogStickScale = 1.150000 -ShowRightAnalogStick = False -RapidFireKeyX = 0.619792 -RapidFireKeyY = 0.784375 -RapidFireKeyScale = 1.150000 -ShowRapidFireKey = False -AnalogRotationCWKeyX = 0.500000 -AnalogRotationKeyCWY = 0.676562 -AnalogRotationKeyCWScale = 1.150000 -ShowAnalogRotationCWKey = False -AnalogRotationCCWKeyX = 0.380208 -AnalogRotationKeyCCWY = 0.676562 -AnalogRotationKeyCCWScale = 1.150000 -ShowAnalogRotationCCWKey = False -Custom0Mapping = 0x0000000000000000 -Custom0Image = 0 -Custom0Shape = 0 -Custom0Toggle = False -Custom1Mapping = 0x0000000000000000 -Custom1Image = 1 -Custom1Shape = 0 -Custom1Toggle = False -Custom2Mapping = 0x0000000000000000 -Custom2Image = 2 -Custom2Shape = 0 -Custom2Toggle = False -Custom3Mapping = 0x0000000000000000 -Custom3Image = 3 -Custom3Shape = 0 -Custom3Toggle = False -Custom4Mapping = 0x0000000000000000 -Custom4Image = 4 -Custom4Shape = 0 -Custom4Toggle = False -Custom5Mapping = 0x0000000000000000 -Custom5Image = 0 -Custom5Shape = 1 -Custom5Toggle = False -Custom6Mapping = 0x0000000000000000 -Custom6Image = 1 -Custom6Shape = 1 -Custom6Toggle = False -Custom7Mapping = 0x0000000000000000 -Custom7Image = 2 -Custom7Shape = 1 -Custom7Toggle = False -Custom8Mapping = 0x0000000000000000 -Custom8Image = 3 -Custom8Shape = 1 -Custom8Toggle = False -Custom9Mapping = 0x0000000000000000 -Custom9Image = 4 -Custom9Shape = 1 -Custom9Toggle = False -fcombo5X = 0.428125 -fcombo5Y = 0.500000 -comboKeyScale5 = 1.150000 -ShowComboKey5 = False -fcombo6X = 0.368229 -fcombo6Y = 0.500000 -comboKeyScale6 = 1.150000 -ShowComboKey6 = False -fcombo7X = 0.308333 -fcombo7Y = 0.500000 -comboKeyScale7 = 1.150000 -ShowComboKey7 = False -fcombo8X = 0.428125 -fcombo8Y = 0.333333 -comboKeyScale8 = 1.150000 -ShowComboKey8 = False -fcombo9X = 0.368229 -fcombo9Y = 0.333333 -comboKeyScale9 = 1.150000 -ShowComboKey9 = False -AnalogDeadzone = 0.150000 -AnalogInverseDeadzone = 0.000000 -AnalogSensitivity = 1.100000 -AnalogIsCircular = False -LeftStickHeadScale = 1.000000 -RightStickHeadScale = 1.000000 -HideStickBackground = False -SystemControls = True -[Network] -EnableWlan = False -EnableAdhocServer = False -proAdhocServer = myneighborsushicat.com -PortOffset = 0 -MinTimeout = 1 -TCPNoDelay = False -EnableUPnP = False -UPnPUseOriginalPort = True -EnableNetworkChat = False -ChatButtonPosition = 0 -ChatScreenPosition = 0 -EnableQuickChat = True -QuickChat1 = Quick Chat 1 -QuickChat2 = Quick Chat 2 -QuickChat3 = Quick Chat 3 -QuickChat4 = Quick Chat 4 -QuickChat5 = Quick Chat 5 -ForcedFirstConnect = False -[SystemParam] -PSPModel = 0 -PSPFirmwareVersion = 660 -NickName = PPSSPP -proAdhocServer = black-seraph.com -MacAddress = 4e:7a:78:d9:49:32 -PortOffset = 0 -Language = 1 -TimeFormat = 1 -DateFormat = 1 -TimeZone = 0 -DayLightSavings = False -ButtonPreference = 1 -LockParentalLevel = 0 -WlanAdhocChannel = 0 -WlanPowerSave = False -EncryptSave = True -SavedataUpgradeVersion = True -ParamTimeFormat = 0 -ParamDateFormat = 0 -MemStickSize = 16 -[Debugger] -DisasmWindowX = -1 -DisasmWindowY = -1 -DisasmWindowW = -1 -DisasmWindowH = -1 -GEWindowX = -1 -GEWindowY = -1 -GEWindowW = -1 -GEWindowH = -1 -ConsoleWindowX = -1 -ConsoleWindowY = -1 -FontWidth = 8 -FontHeight = 12 -DisplayStatusBar = True -ShowBottomTabTitles = True -ShowDeveloperMenu = False -SkipDeadbeefFilling = False -FuncHashMap = False -DrawFrameGraph = False -MemInfoDetailed = False -[Upgrade] -UpgradeMessage = -UpgradeVersion = 1.12.0 -DismissedVersion = -[Theme] -ItemStyleFg = 0xffffffff -ItemStyleBg = 0x55000000 -ItemFocusedStyleFg = 0xffffffff -ItemFocusedStyleBg = 0xffedc24c -ItemDownStyleFg = 0xffffffff -ItemDownStyleBg = 0xffbd9939 -ItemDisabledStyleFg = 0x80eeeeee -ItemDisabledStyleBg = 0x55e0d4af -ItemHighlightedStyleFg = 0xffffffff -ItemHighlightedStyleBg = 0x55bdbb39 -ButtonStyleFg = 0xffffffff -ButtonStyleBg = 0x55000000 -ButtonFocusedStyleFg = 0xffffffff -ButtonFocusedStyleBg = 0xffedc24c -ButtonDownStyleFg = 0xffffffff -ButtonDownStyleBg = 0xffbd9939 -ButtonDisabledStyleFg = 0x80eeeeee -ButtonDisabledStyleBg = 0x55e0d4af -ButtonHighlightedStyleFg = 0xffffffff -ButtonHighlightedStyleBg = 0x55bdbb39 -HeaderStyleFg = 0xffffffff -InfoStyleFg = 0xffffffff -InfoStyleBg = 0x00000000 -PopupTitleStyleFg = 0xffe3be59 -PopupStyleFg = 0xffffffff -PopupStyleBg = 0xff303030 -[Recent] -MaxRecent = 30 -[Log] -SYSTEMEnabled = True -SYSTEMLevel = 4 -BOOTEnabled = True -BOOTLevel = 4 -COMMONEnabled = True -COMMONLevel = 4 -CPUEnabled = True -CPULevel = 4 -FILESYSEnabled = True -FILESYSLevel = 4 -G3DEnabled = True -G3DLevel = 4 -HLEEnabled = True -HLELevel = 4 -JITEnabled = True -JITLevel = 4 -LOADEREnabled = True -LOADERLevel = 4 -MEEnabled = True -MELevel = 4 -MEMMAPEnabled = True -MEMMAPLevel = 4 -SASMIXEnabled = True -SASMIXLevel = 4 -SAVESTATEEnabled = True -SAVESTATELevel = 4 -FRAMEBUFEnabled = True -FRAMEBUFLevel = 4 -SCEAUDIOEnabled = True -SCEAUDIOLevel = 4 -SCECTRLEnabled = True -SCECTRLLevel = 4 -SCEDISPEnabled = True -SCEDISPLevel = 4 -SCEFONTEnabled = True -SCEFONTLevel = 4 -SCEGEEnabled = True -SCEGELevel = 4 -SCEINTCEnabled = True -SCEINTCLevel = 4 -SCEIOEnabled = True -SCEIOLevel = 4 -SCEKERNELEnabled = True -SCEKERNELLevel = 4 -SCEMODULEEnabled = True -SCEMODULELevel = 4 -SCENETEnabled = True -SCENETLevel = 4 -SCERTCEnabled = True -SCERTCLevel = 4 -SCESASEnabled = True -SCESASLevel = 4 -SCEUTILEnabled = True -SCEUTILLevel = 4 -SCEMISCEnabled = True -SCEMISCLevel = 4 -AUDIOEnabled = True -AUDIOLevel = 2 -IOEnabled = True -IOLevel = 2 -[PostShaderSetting] -BloomSettingValue1 = 0.600000 -BloomSettingValue2 = 0.500000 -CRTSettingValue1 = 1.000000 -CartoonSettingValue1 = 0.500000 -ColorCorrectionSettingValue1 = 1.000000 -ColorCorrectionSettingValue2 = 1.000000 -ColorCorrectionSettingValue3 = 1.000000 -ColorCorrectionSettingValue4 = 1.000000 -ScanlinesSettingValue1 = 1.000000 -ScanlinesSettingValue2 = 0.500000 -SharpenSettingValue1 = 1.500000 diff --git a/packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP/controls.ini b/packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP/controls.ini deleted file mode 100644 index 1215c4917..000000000 --- a/packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP/controls.ini +++ /dev/null @@ -1,18 +0,0 @@ -[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-4003 -An.Down = 10-4002 -An.Left = 10-4001 -An.Right = 10-4000 -Pause = 10-4,10-106 diff --git a/packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP/ppsspp.ini b/packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP/ppsspp.ini deleted file mode 100755 index 52c30f6c7..000000000 --- a/packages/emulators/standalone/ppsspp-sa/sources/RK3566-BSP/ppsspp.ini +++ /dev/null @@ -1,511 +0,0 @@ -[General] -FirstRun = False -RunCount = 16 -Enable Logging = False -AutoRun = True -Browse = False -IgnoreBadMemAccess = False -CurrentDirectory = /storage/roms/psp -ShowDebuggerOnLoad = False -CheckForNewVersion = True -Language = en_US -ForceLagSync = False -DiscordPresence = False -NumWorkerThreads = 8 -AutoLoadSaveState = 0 -EnableCheats = True -CwCheatRefreshRate = 77 -ScreenshotsAsPNG = False -UseFFV1 = False -DumpFrames = False -DumpAudio = False -SaveLoadResetsAVdumping = False -StateSlot = 0 -EnableStateUndo = True -RewindFlipFrequency = 0 -GridView1 = True -GridView2 = True -GridView3 = False -ComboMode = 0 -ReportingHost = default -AutoSaveSymbolMap = False -CacheFullIsoInRam = False -RemoteISOPort = 0 -LastRemoteISOServer = -LastRemoteISOPort = 0 -RemoteISOManualConfig = False -RemoteShareOnStartup = False -RemoteISOSubdir = / -RemoteDebuggerOnStartup = False -InternalScreenRotation = 1 -PauseWhenMinimized = False -DumpDecryptedEboots = False -MemStickInserted = True -ForceLagSync2 = False -UISound = True -CwCheatScrollPosition = 0.000000 -DumpVideoOutput = False -ShowRegionOnGameIcon = False -ShowIDOnGameIcon = False -GameGridScale = 1.000000 -RightAnalogUp = 0 -RightAnalogDown = 0 -RightAnalogLeft = 0 -RightAnalogRight = 0 -RightAnalogPress = 0 -RightAnalogCustom = False -LoadPlugins = False -GameListScrollPosition = 0.000000 -StateLoadUndoGame = NA -StateUndoLastSaveGame = NA -StateUndoLastSaveSlot = -5 -ShowOnScreenMessage = True -RightAnalogDisableDiagonal = False -SwipeUp = 0 -SwipeDown = 0 -SwipeLeft = 0 -SwipeRight = 0 -SwipeSensitivity = 1.000000 -SwipeSmoothing = 0.300000 -DoubleTapGesture = 0 -GestureControlEnabled = False -BackgroundAnimation = 1 -EnablePlugins = True -[CPU] -CPUCore = 1 -SeparateSASThread = True -SeparateIOThread = True -IOTimingMethod = 0 -FastMemoryAccess = True -FuncReplacements = True -HideSlowWarnings = False -HideStateWarnings = False -PreloadFunctions = False -CPUSpeed = 0 -JitDisableFlags = 0x00000000 -FunctionReplacements = True -[Graphics] -EnableCardboard = False -CardboardScreenSize = 50 -CardboardXShift = 0 -CardboardYShift = 0 -ShowFPSCounter = 3 -GraphicsBackend = 0 (OPENGL) -FailedGraphicsBackends = -VulkanDevice = -RenderingMode = 0 -SoftwareRenderer = False -HardwareTransform = True -SoftwareSkinning = True -TextureFiltering = 1 -BufferFiltering = 1 -InternalResolution = 0 -AndroidHwScale = 1 -HighQualityDepth = 1 -FrameSkip = 0 -FrameSkipType = 0 -AutoFrameSkip = False -FrameRate = 0 -FrameRate2 = -1 -FrameSkipUnthrottle = True -ForceMaxEmulatedFPS = 30 -AnisotropyLevel = 0 -VertexDecCache = True -TextureBackoffCache = True -TextureSecondaryCache = False -FullScreen = True -FullScreenMulti = False -SmallDisplayZoomType = 2 -SmallDisplayOffsetX = 0.500000 -SmallDisplayOffsetY = 0.500000 -SmallDisplayZoomLevel = 1.000000 -ImmersiveMode = False -SustainedPerformanceMode = False -TrueColor = True -ReplaceTextures = True -SaveNewTextures = False -IgnoreTextureFilenames = True -TexScalingLevel = 1 -TexScalingType = 3 -TexDeposterize = False -VSyncInterval = True -DisableStencilTest = False -BloomHack = 2 -TimerHack = False -SplineBezierQuality = 0 -HardwareTessellation = False -PostShader = Off -MemBlockTransferGPU = True -DisableSlowFramebufEffects = True -FragmentTestCache = True -LogFrameDrops = False -EnableCardboardVR = False -DisabledGraphicsBackends = -CameraDevice = -UnthrottleMode = CONTINUOUS -IgnoreScreenInsets = True -TexHardwareScaling = False -TextureShader = Off -InflightFrames = 2 -RenderDuplicateFrames = True -ShaderChainRequires60FPS = False -ClearFramebuffersOnFirstUseHack = False -SoftwareRendererJit = True -UnthrottlingMode = CONTINUOUS -ReplaceTexturesAllowLate = True -[Sound] -Enable = True -AudioBackend = 0 -AudioLatency = 1 -ExtraAudioBuffering = False -SoundSpeedHack = False -AudioResampler = False -GlobalVolume = 10 -AltSpeedVolume = -1 -AutoAudioDevice = True -ReverbVolume = 10 -[Control] -HapticFeedback = False -ShowTouchCross = True -ShowTouchCircle = True -ShowTouchSquare = True -ShowTouchTriangle = True -ComboKey0Mapping = 0 -ComboKey1Mapping = 0 -ComboKey2Mapping = 0 -ComboKey3Mapping = 0 -ComboKey4Mapping = 0 -ShowTouchPause = False -ShowTouchControls = False -DisableDpadDiagonals = False -GamepadOnlyFocused = False -TouchButtonStyle = 1 -TouchButtonOpacity = 65 -TouchButtonHideSeconds = 20 -AutoCenterTouchAnalog = False -ActionButtonSpacing2 = 1.000000 -ActionButtonCenterX = 0.937500 -ActionButtonCenterY = 0.900000 -ActionButtonScale = 1.150000 -DPadX = 0.074479 -DPadY = 0.760000 -DPadScale = 1.150000 -ShowTouchDpad = True -DPadSpacing = 1.000000 -StartKeyX = 0.559896 -StartKeyY = 0.942500 -StartKeyScale = 1.150000 -ShowTouchStart = True -SelectKeyX = 0.500000 -SelectKeyY = 0.942500 -SelectKeyScale = 1.150000 -ShowTouchSelect = True -UnthrottleKeyX = 0.440104 -UnthrottleKeyY = 0.942500 -UnthrottleKeyScale = 1.150000 -ShowTouchUnthrottle = True -LKeyX = 0.035937 -LKeyY = 0.635833 -LKeyScale = 1.150000 -ShowTouchLTrigger = True -RKeyX = 0.964063 -RKeyY = 0.635833 -RKeyScale = 1.150000 -ShowTouchRTrigger = True -AnalogStickX = 0.074479 -AnalogStickY = 0.923333 -AnalogStickScale = 1.150000 -ShowAnalogStick = True -fcombo0X = 0.571875 -fcombo0Y = 0.500000 -comboKeyScale0 = 1.150000 -ShowComboKey0 = False -fcombo1X = 0.631771 -fcombo1Y = 0.500000 -comboKeyScale1 = 1.150000 -ShowComboKey1 = False -fcombo2X = 0.691667 -fcombo2Y = 0.500000 -comboKeyScale2 = 1.150000 -ShowComboKey2 = False -fcombo3X = 0.571875 -fcombo3Y = 0.333333 -comboKeyScale3 = 1.150000 -ShowComboKey3 = False -fcombo4X = 0.631771 -fcombo4Y = 0.333333 -comboKeyScale4 = 1.150000 -ShowComboKey4 = False -Speed1KeyX = 0.440104 -Speed1KeyY = 0.885000 -Speed1KeyScale = 1.150000 -ShowSpeed1Key = False -Speed2KeyX = 0.500000 -Speed2KeyY = 0.885000 -Speed2KeyScale = 1.150000 -ShowSpeed2Key = False -XInputAnalogSensitivity = 1.000000 -AnalogLimiterDeadzone = 0.600000 -UseMouse = False -MapMouse = False -ConfineMap = False -MouseSensitivity = 0.100000 -MouseSmoothing = 0.900000 -ComboKey0Toggle = False -ComboKey1Toggle = False -ComboKey2Toggle = False -ComboKey3Toggle = False -ComboKey4Toggle = False -AnalogAutoRotSpeed = 15.000000 -TouchSnapToGrid = False -TouchSnapGridSize = 64 -RightAnalogStickX = 0.875000 -RightAnalogStickY = 0.856250 -RightAnalogStickScale = 1.150000 -ShowRightAnalogStick = False -RapidFireKeyX = 0.619792 -RapidFireKeyY = 0.784375 -RapidFireKeyScale = 1.150000 -ShowRapidFireKey = False -AnalogRotationCWKeyX = 0.500000 -AnalogRotationKeyCWY = 0.676562 -AnalogRotationKeyCWScale = 1.150000 -ShowAnalogRotationCWKey = False -AnalogRotationCCWKeyX = 0.380208 -AnalogRotationKeyCCWY = 0.676562 -AnalogRotationKeyCCWScale = 1.150000 -ShowAnalogRotationCCWKey = False -Custom0Mapping = 0x0000000000000000 -Custom0Image = 0 -Custom0Shape = 0 -Custom0Toggle = False -Custom1Mapping = 0x0000000000000000 -Custom1Image = 1 -Custom1Shape = 0 -Custom1Toggle = False -Custom2Mapping = 0x0000000000000000 -Custom2Image = 2 -Custom2Shape = 0 -Custom2Toggle = False -Custom3Mapping = 0x0000000000000000 -Custom3Image = 3 -Custom3Shape = 0 -Custom3Toggle = False -Custom4Mapping = 0x0000000000000000 -Custom4Image = 4 -Custom4Shape = 0 -Custom4Toggle = False -Custom5Mapping = 0x0000000000000000 -Custom5Image = 0 -Custom5Shape = 1 -Custom5Toggle = False -Custom6Mapping = 0x0000000000000000 -Custom6Image = 1 -Custom6Shape = 1 -Custom6Toggle = False -Custom7Mapping = 0x0000000000000000 -Custom7Image = 2 -Custom7Shape = 1 -Custom7Toggle = False -Custom8Mapping = 0x0000000000000000 -Custom8Image = 3 -Custom8Shape = 1 -Custom8Toggle = False -Custom9Mapping = 0x0000000000000000 -Custom9Image = 4 -Custom9Shape = 1 -Custom9Toggle = False -fcombo5X = 0.428125 -fcombo5Y = 0.500000 -comboKeyScale5 = 1.150000 -ShowComboKey5 = False -fcombo6X = 0.368229 -fcombo6Y = 0.500000 -comboKeyScale6 = 1.150000 -ShowComboKey6 = False -fcombo7X = 0.308333 -fcombo7Y = 0.500000 -comboKeyScale7 = 1.150000 -ShowComboKey7 = False -fcombo8X = 0.428125 -fcombo8Y = 0.333333 -comboKeyScale8 = 1.150000 -ShowComboKey8 = False -fcombo9X = 0.368229 -fcombo9Y = 0.333333 -comboKeyScale9 = 1.150000 -ShowComboKey9 = False -AnalogDeadzone = 0.150000 -AnalogInverseDeadzone = 0.000000 -AnalogSensitivity = 1.100000 -AnalogIsCircular = False -LeftStickHeadScale = 1.000000 -RightStickHeadScale = 1.000000 -HideStickBackground = False -SystemControls = True -[Network] -EnableWlan = False -EnableAdhocServer = False -proAdhocServer = myneighborsushicat.com -PortOffset = 0 -MinTimeout = 1 -TCPNoDelay = False -EnableUPnP = False -UPnPUseOriginalPort = True -EnableNetworkChat = False -ChatButtonPosition = 0 -ChatScreenPosition = 0 -EnableQuickChat = True -QuickChat1 = Quick Chat 1 -QuickChat2 = Quick Chat 2 -QuickChat3 = Quick Chat 3 -QuickChat4 = Quick Chat 4 -QuickChat5 = Quick Chat 5 -ForcedFirstConnect = False -[SystemParam] -PSPModel = 0 -PSPFirmwareVersion = 660 -NickName = PPSSPP -proAdhocServer = black-seraph.com -MacAddress = 4e:7a:78:d9:49:32 -PortOffset = 0 -Language = 1 -TimeFormat = 1 -DateFormat = 1 -TimeZone = 0 -DayLightSavings = False -ButtonPreference = 1 -LockParentalLevel = 0 -WlanAdhocChannel = 0 -WlanPowerSave = False -EncryptSave = True -SavedataUpgradeVersion = True -ParamTimeFormat = 0 -ParamDateFormat = 0 -MemStickSize = 16 -[Debugger] -DisasmWindowX = -1 -DisasmWindowY = -1 -DisasmWindowW = -1 -DisasmWindowH = -1 -GEWindowX = -1 -GEWindowY = -1 -GEWindowW = -1 -GEWindowH = -1 -ConsoleWindowX = -1 -ConsoleWindowY = -1 -FontWidth = 8 -FontHeight = 12 -DisplayStatusBar = True -ShowBottomTabTitles = True -ShowDeveloperMenu = False -SkipDeadbeefFilling = False -FuncHashMap = False -DrawFrameGraph = False -MemInfoDetailed = False -[Upgrade] -UpgradeMessage = -UpgradeVersion = 1.12.0 -DismissedVersion = -[Theme] -ItemStyleFg = 0xffffffff -ItemStyleBg = 0x55000000 -ItemFocusedStyleFg = 0xffffffff -ItemFocusedStyleBg = 0xffedc24c -ItemDownStyleFg = 0xffffffff -ItemDownStyleBg = 0xffbd9939 -ItemDisabledStyleFg = 0x80eeeeee -ItemDisabledStyleBg = 0x55e0d4af -ItemHighlightedStyleFg = 0xffffffff -ItemHighlightedStyleBg = 0x55bdbb39 -ButtonStyleFg = 0xffffffff -ButtonStyleBg = 0x55000000 -ButtonFocusedStyleFg = 0xffffffff -ButtonFocusedStyleBg = 0xffedc24c -ButtonDownStyleFg = 0xffffffff -ButtonDownStyleBg = 0xffbd9939 -ButtonDisabledStyleFg = 0x80eeeeee -ButtonDisabledStyleBg = 0x55e0d4af -ButtonHighlightedStyleFg = 0xffffffff -ButtonHighlightedStyleBg = 0x55bdbb39 -HeaderStyleFg = 0xffffffff -InfoStyleFg = 0xffffffff -InfoStyleBg = 0x00000000 -PopupTitleStyleFg = 0xffe3be59 -PopupStyleFg = 0xffffffff -PopupStyleBg = 0xff303030 -[Recent] -MaxRecent = 30 -[Log] -SYSTEMEnabled = True -SYSTEMLevel = 4 -BOOTEnabled = True -BOOTLevel = 4 -COMMONEnabled = True -COMMONLevel = 4 -CPUEnabled = True -CPULevel = 4 -FILESYSEnabled = True -FILESYSLevel = 4 -G3DEnabled = True -G3DLevel = 4 -HLEEnabled = True -HLELevel = 4 -JITEnabled = True -JITLevel = 4 -LOADEREnabled = True -LOADERLevel = 4 -MEEnabled = True -MELevel = 4 -MEMMAPEnabled = True -MEMMAPLevel = 4 -SASMIXEnabled = True -SASMIXLevel = 4 -SAVESTATEEnabled = True -SAVESTATELevel = 4 -FRAMEBUFEnabled = True -FRAMEBUFLevel = 4 -SCEAUDIOEnabled = True -SCEAUDIOLevel = 4 -SCECTRLEnabled = True -SCECTRLLevel = 4 -SCEDISPEnabled = True -SCEDISPLevel = 4 -SCEFONTEnabled = True -SCEFONTLevel = 4 -SCEGEEnabled = True -SCEGELevel = 4 -SCEINTCEnabled = True -SCEINTCLevel = 4 -SCEIOEnabled = True -SCEIOLevel = 4 -SCEKERNELEnabled = True -SCEKERNELLevel = 4 -SCEMODULEEnabled = True -SCEMODULELevel = 4 -SCENETEnabled = True -SCENETLevel = 4 -SCERTCEnabled = True -SCERTCLevel = 4 -SCESASEnabled = True -SCESASLevel = 4 -SCEUTILEnabled = True -SCEUTILLevel = 4 -SCEMISCEnabled = True -SCEMISCLevel = 4 -AUDIOEnabled = True -AUDIOLevel = 2 -IOEnabled = True -IOLevel = 2 -[PostShaderSetting] -BloomSettingValue1 = 0.600000 -BloomSettingValue2 = 0.500000 -CRTSettingValue1 = 1.000000 -CartoonSettingValue1 = 0.500000 -ColorCorrectionSettingValue1 = 1.000000 -ColorCorrectionSettingValue2 = 1.000000 -ColorCorrectionSettingValue3 = 1.000000 -ColorCorrectionSettingValue4 = 1.000000 -ScanlinesSettingValue1 = 1.000000 -ScanlinesSettingValue2 = 0.500000 -SharpenSettingValue1 = 1.500000 diff --git a/packages/emulators/standalone/ppsspp-sa/sources/RK3566-X55/ppsspp.ini b/packages/emulators/standalone/ppsspp-sa/sources/RK3566-X55/ppsspp.ini deleted file mode 100755 index 52c30f6c7..000000000 --- a/packages/emulators/standalone/ppsspp-sa/sources/RK3566-X55/ppsspp.ini +++ /dev/null @@ -1,511 +0,0 @@ -[General] -FirstRun = False -RunCount = 16 -Enable Logging = False -AutoRun = True -Browse = False -IgnoreBadMemAccess = False -CurrentDirectory = /storage/roms/psp -ShowDebuggerOnLoad = False -CheckForNewVersion = True -Language = en_US -ForceLagSync = False -DiscordPresence = False -NumWorkerThreads = 8 -AutoLoadSaveState = 0 -EnableCheats = True -CwCheatRefreshRate = 77 -ScreenshotsAsPNG = False -UseFFV1 = False -DumpFrames = False -DumpAudio = False -SaveLoadResetsAVdumping = False -StateSlot = 0 -EnableStateUndo = True -RewindFlipFrequency = 0 -GridView1 = True -GridView2 = True -GridView3 = False -ComboMode = 0 -ReportingHost = default -AutoSaveSymbolMap = False -CacheFullIsoInRam = False -RemoteISOPort = 0 -LastRemoteISOServer = -LastRemoteISOPort = 0 -RemoteISOManualConfig = False -RemoteShareOnStartup = False -RemoteISOSubdir = / -RemoteDebuggerOnStartup = False -InternalScreenRotation = 1 -PauseWhenMinimized = False -DumpDecryptedEboots = False -MemStickInserted = True -ForceLagSync2 = False -UISound = True -CwCheatScrollPosition = 0.000000 -DumpVideoOutput = False -ShowRegionOnGameIcon = False -ShowIDOnGameIcon = False -GameGridScale = 1.000000 -RightAnalogUp = 0 -RightAnalogDown = 0 -RightAnalogLeft = 0 -RightAnalogRight = 0 -RightAnalogPress = 0 -RightAnalogCustom = False -LoadPlugins = False -GameListScrollPosition = 0.000000 -StateLoadUndoGame = NA -StateUndoLastSaveGame = NA -StateUndoLastSaveSlot = -5 -ShowOnScreenMessage = True -RightAnalogDisableDiagonal = False -SwipeUp = 0 -SwipeDown = 0 -SwipeLeft = 0 -SwipeRight = 0 -SwipeSensitivity = 1.000000 -SwipeSmoothing = 0.300000 -DoubleTapGesture = 0 -GestureControlEnabled = False -BackgroundAnimation = 1 -EnablePlugins = True -[CPU] -CPUCore = 1 -SeparateSASThread = True -SeparateIOThread = True -IOTimingMethod = 0 -FastMemoryAccess = True -FuncReplacements = True -HideSlowWarnings = False -HideStateWarnings = False -PreloadFunctions = False -CPUSpeed = 0 -JitDisableFlags = 0x00000000 -FunctionReplacements = True -[Graphics] -EnableCardboard = False -CardboardScreenSize = 50 -CardboardXShift = 0 -CardboardYShift = 0 -ShowFPSCounter = 3 -GraphicsBackend = 0 (OPENGL) -FailedGraphicsBackends = -VulkanDevice = -RenderingMode = 0 -SoftwareRenderer = False -HardwareTransform = True -SoftwareSkinning = True -TextureFiltering = 1 -BufferFiltering = 1 -InternalResolution = 0 -AndroidHwScale = 1 -HighQualityDepth = 1 -FrameSkip = 0 -FrameSkipType = 0 -AutoFrameSkip = False -FrameRate = 0 -FrameRate2 = -1 -FrameSkipUnthrottle = True -ForceMaxEmulatedFPS = 30 -AnisotropyLevel = 0 -VertexDecCache = True -TextureBackoffCache = True -TextureSecondaryCache = False -FullScreen = True -FullScreenMulti = False -SmallDisplayZoomType = 2 -SmallDisplayOffsetX = 0.500000 -SmallDisplayOffsetY = 0.500000 -SmallDisplayZoomLevel = 1.000000 -ImmersiveMode = False -SustainedPerformanceMode = False -TrueColor = True -ReplaceTextures = True -SaveNewTextures = False -IgnoreTextureFilenames = True -TexScalingLevel = 1 -TexScalingType = 3 -TexDeposterize = False -VSyncInterval = True -DisableStencilTest = False -BloomHack = 2 -TimerHack = False -SplineBezierQuality = 0 -HardwareTessellation = False -PostShader = Off -MemBlockTransferGPU = True -DisableSlowFramebufEffects = True -FragmentTestCache = True -LogFrameDrops = False -EnableCardboardVR = False -DisabledGraphicsBackends = -CameraDevice = -UnthrottleMode = CONTINUOUS -IgnoreScreenInsets = True -TexHardwareScaling = False -TextureShader = Off -InflightFrames = 2 -RenderDuplicateFrames = True -ShaderChainRequires60FPS = False -ClearFramebuffersOnFirstUseHack = False -SoftwareRendererJit = True -UnthrottlingMode = CONTINUOUS -ReplaceTexturesAllowLate = True -[Sound] -Enable = True -AudioBackend = 0 -AudioLatency = 1 -ExtraAudioBuffering = False -SoundSpeedHack = False -AudioResampler = False -GlobalVolume = 10 -AltSpeedVolume = -1 -AutoAudioDevice = True -ReverbVolume = 10 -[Control] -HapticFeedback = False -ShowTouchCross = True -ShowTouchCircle = True -ShowTouchSquare = True -ShowTouchTriangle = True -ComboKey0Mapping = 0 -ComboKey1Mapping = 0 -ComboKey2Mapping = 0 -ComboKey3Mapping = 0 -ComboKey4Mapping = 0 -ShowTouchPause = False -ShowTouchControls = False -DisableDpadDiagonals = False -GamepadOnlyFocused = False -TouchButtonStyle = 1 -TouchButtonOpacity = 65 -TouchButtonHideSeconds = 20 -AutoCenterTouchAnalog = False -ActionButtonSpacing2 = 1.000000 -ActionButtonCenterX = 0.937500 -ActionButtonCenterY = 0.900000 -ActionButtonScale = 1.150000 -DPadX = 0.074479 -DPadY = 0.760000 -DPadScale = 1.150000 -ShowTouchDpad = True -DPadSpacing = 1.000000 -StartKeyX = 0.559896 -StartKeyY = 0.942500 -StartKeyScale = 1.150000 -ShowTouchStart = True -SelectKeyX = 0.500000 -SelectKeyY = 0.942500 -SelectKeyScale = 1.150000 -ShowTouchSelect = True -UnthrottleKeyX = 0.440104 -UnthrottleKeyY = 0.942500 -UnthrottleKeyScale = 1.150000 -ShowTouchUnthrottle = True -LKeyX = 0.035937 -LKeyY = 0.635833 -LKeyScale = 1.150000 -ShowTouchLTrigger = True -RKeyX = 0.964063 -RKeyY = 0.635833 -RKeyScale = 1.150000 -ShowTouchRTrigger = True -AnalogStickX = 0.074479 -AnalogStickY = 0.923333 -AnalogStickScale = 1.150000 -ShowAnalogStick = True -fcombo0X = 0.571875 -fcombo0Y = 0.500000 -comboKeyScale0 = 1.150000 -ShowComboKey0 = False -fcombo1X = 0.631771 -fcombo1Y = 0.500000 -comboKeyScale1 = 1.150000 -ShowComboKey1 = False -fcombo2X = 0.691667 -fcombo2Y = 0.500000 -comboKeyScale2 = 1.150000 -ShowComboKey2 = False -fcombo3X = 0.571875 -fcombo3Y = 0.333333 -comboKeyScale3 = 1.150000 -ShowComboKey3 = False -fcombo4X = 0.631771 -fcombo4Y = 0.333333 -comboKeyScale4 = 1.150000 -ShowComboKey4 = False -Speed1KeyX = 0.440104 -Speed1KeyY = 0.885000 -Speed1KeyScale = 1.150000 -ShowSpeed1Key = False -Speed2KeyX = 0.500000 -Speed2KeyY = 0.885000 -Speed2KeyScale = 1.150000 -ShowSpeed2Key = False -XInputAnalogSensitivity = 1.000000 -AnalogLimiterDeadzone = 0.600000 -UseMouse = False -MapMouse = False -ConfineMap = False -MouseSensitivity = 0.100000 -MouseSmoothing = 0.900000 -ComboKey0Toggle = False -ComboKey1Toggle = False -ComboKey2Toggle = False -ComboKey3Toggle = False -ComboKey4Toggle = False -AnalogAutoRotSpeed = 15.000000 -TouchSnapToGrid = False -TouchSnapGridSize = 64 -RightAnalogStickX = 0.875000 -RightAnalogStickY = 0.856250 -RightAnalogStickScale = 1.150000 -ShowRightAnalogStick = False -RapidFireKeyX = 0.619792 -RapidFireKeyY = 0.784375 -RapidFireKeyScale = 1.150000 -ShowRapidFireKey = False -AnalogRotationCWKeyX = 0.500000 -AnalogRotationKeyCWY = 0.676562 -AnalogRotationKeyCWScale = 1.150000 -ShowAnalogRotationCWKey = False -AnalogRotationCCWKeyX = 0.380208 -AnalogRotationKeyCCWY = 0.676562 -AnalogRotationKeyCCWScale = 1.150000 -ShowAnalogRotationCCWKey = False -Custom0Mapping = 0x0000000000000000 -Custom0Image = 0 -Custom0Shape = 0 -Custom0Toggle = False -Custom1Mapping = 0x0000000000000000 -Custom1Image = 1 -Custom1Shape = 0 -Custom1Toggle = False -Custom2Mapping = 0x0000000000000000 -Custom2Image = 2 -Custom2Shape = 0 -Custom2Toggle = False -Custom3Mapping = 0x0000000000000000 -Custom3Image = 3 -Custom3Shape = 0 -Custom3Toggle = False -Custom4Mapping = 0x0000000000000000 -Custom4Image = 4 -Custom4Shape = 0 -Custom4Toggle = False -Custom5Mapping = 0x0000000000000000 -Custom5Image = 0 -Custom5Shape = 1 -Custom5Toggle = False -Custom6Mapping = 0x0000000000000000 -Custom6Image = 1 -Custom6Shape = 1 -Custom6Toggle = False -Custom7Mapping = 0x0000000000000000 -Custom7Image = 2 -Custom7Shape = 1 -Custom7Toggle = False -Custom8Mapping = 0x0000000000000000 -Custom8Image = 3 -Custom8Shape = 1 -Custom8Toggle = False -Custom9Mapping = 0x0000000000000000 -Custom9Image = 4 -Custom9Shape = 1 -Custom9Toggle = False -fcombo5X = 0.428125 -fcombo5Y = 0.500000 -comboKeyScale5 = 1.150000 -ShowComboKey5 = False -fcombo6X = 0.368229 -fcombo6Y = 0.500000 -comboKeyScale6 = 1.150000 -ShowComboKey6 = False -fcombo7X = 0.308333 -fcombo7Y = 0.500000 -comboKeyScale7 = 1.150000 -ShowComboKey7 = False -fcombo8X = 0.428125 -fcombo8Y = 0.333333 -comboKeyScale8 = 1.150000 -ShowComboKey8 = False -fcombo9X = 0.368229 -fcombo9Y = 0.333333 -comboKeyScale9 = 1.150000 -ShowComboKey9 = False -AnalogDeadzone = 0.150000 -AnalogInverseDeadzone = 0.000000 -AnalogSensitivity = 1.100000 -AnalogIsCircular = False -LeftStickHeadScale = 1.000000 -RightStickHeadScale = 1.000000 -HideStickBackground = False -SystemControls = True -[Network] -EnableWlan = False -EnableAdhocServer = False -proAdhocServer = myneighborsushicat.com -PortOffset = 0 -MinTimeout = 1 -TCPNoDelay = False -EnableUPnP = False -UPnPUseOriginalPort = True -EnableNetworkChat = False -ChatButtonPosition = 0 -ChatScreenPosition = 0 -EnableQuickChat = True -QuickChat1 = Quick Chat 1 -QuickChat2 = Quick Chat 2 -QuickChat3 = Quick Chat 3 -QuickChat4 = Quick Chat 4 -QuickChat5 = Quick Chat 5 -ForcedFirstConnect = False -[SystemParam] -PSPModel = 0 -PSPFirmwareVersion = 660 -NickName = PPSSPP -proAdhocServer = black-seraph.com -MacAddress = 4e:7a:78:d9:49:32 -PortOffset = 0 -Language = 1 -TimeFormat = 1 -DateFormat = 1 -TimeZone = 0 -DayLightSavings = False -ButtonPreference = 1 -LockParentalLevel = 0 -WlanAdhocChannel = 0 -WlanPowerSave = False -EncryptSave = True -SavedataUpgradeVersion = True -ParamTimeFormat = 0 -ParamDateFormat = 0 -MemStickSize = 16 -[Debugger] -DisasmWindowX = -1 -DisasmWindowY = -1 -DisasmWindowW = -1 -DisasmWindowH = -1 -GEWindowX = -1 -GEWindowY = -1 -GEWindowW = -1 -GEWindowH = -1 -ConsoleWindowX = -1 -ConsoleWindowY = -1 -FontWidth = 8 -FontHeight = 12 -DisplayStatusBar = True -ShowBottomTabTitles = True -ShowDeveloperMenu = False -SkipDeadbeefFilling = False -FuncHashMap = False -DrawFrameGraph = False -MemInfoDetailed = False -[Upgrade] -UpgradeMessage = -UpgradeVersion = 1.12.0 -DismissedVersion = -[Theme] -ItemStyleFg = 0xffffffff -ItemStyleBg = 0x55000000 -ItemFocusedStyleFg = 0xffffffff -ItemFocusedStyleBg = 0xffedc24c -ItemDownStyleFg = 0xffffffff -ItemDownStyleBg = 0xffbd9939 -ItemDisabledStyleFg = 0x80eeeeee -ItemDisabledStyleBg = 0x55e0d4af -ItemHighlightedStyleFg = 0xffffffff -ItemHighlightedStyleBg = 0x55bdbb39 -ButtonStyleFg = 0xffffffff -ButtonStyleBg = 0x55000000 -ButtonFocusedStyleFg = 0xffffffff -ButtonFocusedStyleBg = 0xffedc24c -ButtonDownStyleFg = 0xffffffff -ButtonDownStyleBg = 0xffbd9939 -ButtonDisabledStyleFg = 0x80eeeeee -ButtonDisabledStyleBg = 0x55e0d4af -ButtonHighlightedStyleFg = 0xffffffff -ButtonHighlightedStyleBg = 0x55bdbb39 -HeaderStyleFg = 0xffffffff -InfoStyleFg = 0xffffffff -InfoStyleBg = 0x00000000 -PopupTitleStyleFg = 0xffe3be59 -PopupStyleFg = 0xffffffff -PopupStyleBg = 0xff303030 -[Recent] -MaxRecent = 30 -[Log] -SYSTEMEnabled = True -SYSTEMLevel = 4 -BOOTEnabled = True -BOOTLevel = 4 -COMMONEnabled = True -COMMONLevel = 4 -CPUEnabled = True -CPULevel = 4 -FILESYSEnabled = True -FILESYSLevel = 4 -G3DEnabled = True -G3DLevel = 4 -HLEEnabled = True -HLELevel = 4 -JITEnabled = True -JITLevel = 4 -LOADEREnabled = True -LOADERLevel = 4 -MEEnabled = True -MELevel = 4 -MEMMAPEnabled = True -MEMMAPLevel = 4 -SASMIXEnabled = True -SASMIXLevel = 4 -SAVESTATEEnabled = True -SAVESTATELevel = 4 -FRAMEBUFEnabled = True -FRAMEBUFLevel = 4 -SCEAUDIOEnabled = True -SCEAUDIOLevel = 4 -SCECTRLEnabled = True -SCECTRLLevel = 4 -SCEDISPEnabled = True -SCEDISPLevel = 4 -SCEFONTEnabled = True -SCEFONTLevel = 4 -SCEGEEnabled = True -SCEGELevel = 4 -SCEINTCEnabled = True -SCEINTCLevel = 4 -SCEIOEnabled = True -SCEIOLevel = 4 -SCEKERNELEnabled = True -SCEKERNELLevel = 4 -SCEMODULEEnabled = True -SCEMODULELevel = 4 -SCENETEnabled = True -SCENETLevel = 4 -SCERTCEnabled = True -SCERTCLevel = 4 -SCESASEnabled = True -SCESASLevel = 4 -SCEUTILEnabled = True -SCEUTILLevel = 4 -SCEMISCEnabled = True -SCEMISCLevel = 4 -AUDIOEnabled = True -AUDIOLevel = 2 -IOEnabled = True -IOLevel = 2 -[PostShaderSetting] -BloomSettingValue1 = 0.600000 -BloomSettingValue2 = 0.500000 -CRTSettingValue1 = 1.000000 -CartoonSettingValue1 = 0.500000 -ColorCorrectionSettingValue1 = 1.000000 -ColorCorrectionSettingValue2 = 1.000000 -ColorCorrectionSettingValue3 = 1.000000 -ColorCorrectionSettingValue4 = 1.000000 -ScanlinesSettingValue1 = 1.000000 -ScanlinesSettingValue2 = 0.500000 -SharpenSettingValue1 = 1.500000 diff --git a/packages/emulators/standalone/retroarch/package.mk b/packages/emulators/standalone/retroarch/package.mk index 1a979e342..0a215f6d6 100644 --- a/packages/emulators/standalone/retroarch/package.mk +++ b/packages/emulators/standalone/retroarch/package.mk @@ -31,13 +31,6 @@ PKG_CONFIGURE_OPTS_TARGET=" --disable-qt \ --enable-kms \ --enable-ffmpeg" -case ${DEVICE} in - RK3566-BSP*) - PKG_DEPENDS_TARGET+=" libgo2" - PKG_CONFIGURE_OPTS_TARGET+=" --enable-odroidgo2" - ;; -esac - case ${PROJECT} in Rockchip) PKG_DEPENDS_TARGET+=" librga" diff --git a/packages/emulators/standalone/retroarch/sources/RK3566-BSP-X55 b/packages/emulators/standalone/retroarch/sources/RK3566-BSP-X55 deleted file mode 120000 index 9207b5754..000000000 --- a/packages/emulators/standalone/retroarch/sources/RK3566-BSP-X55 +++ /dev/null @@ -1 +0,0 @@ -RK3566 \ No newline at end of file diff --git a/packages/emulators/standalone/retroarch/sources/RK3566-BSP/TATE-MAME 2003-Plus.rmp b/packages/emulators/standalone/retroarch/sources/RK3566-BSP/TATE-MAME 2003-Plus.rmp deleted file mode 100644 index 366e47afa..000000000 --- a/packages/emulators/standalone/retroarch/sources/RK3566-BSP/TATE-MAME 2003-Plus.rmp +++ /dev/null @@ -1,27 +0,0 @@ -input_libretro_device_p1 = "1" -input_libretro_device_p2 = "1" -input_libretro_device_p3 = "1" -input_libretro_device_p4 = "1" -input_libretro_device_p5 = "1" -input_player1_analog_dpad_mode = "1" -input_player1_btn_down = "6" -input_player1_btn_left = "4" -input_player1_btn_right = "5" -input_player1_btn_up = "7" -input_player1_stk_l_x+ = "5" -input_player1_stk_l_x- = "4" -input_player1_stk_l_y+ = "6" -input_player1_stk_l_y- = "7" -input_player1_stk_r_x+ = "5" -input_player1_stk_r_x- = "4" -input_player1_stk_r_y+ = "6" -input_player1_stk_r_y- = "7" -input_player2_analog_dpad_mode = "0" -input_player3_analog_dpad_mode = "0" -input_player4_analog_dpad_mode = "0" -input_player5_analog_dpad_mode = "0" -input_remap_port_p1 = "0" -input_remap_port_p2 = "1" -input_remap_port_p3 = "2" -input_remap_port_p4 = "3" -input_remap_port_p5 = "4" diff --git a/packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch-core-options.cfg b/packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch-core-options.cfg deleted file mode 100644 index 38e4ab064..000000000 --- a/packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch-core-options.cfg +++ /dev/null @@ -1,153 +0,0 @@ -mupen64plus-alt-map = "False" -mupen64plus-aspect = "4:3" -mupen64plus-astick-deadzone = "15" -mupen64plus-astick-sensitivity = "100" -mupen64plus-BackgroundMode = "Stripped" -mupen64plus-BilinearMode = "standard" -mupen64plus-CorrectTexrectCoords = "Auto" -mupen64plus-CountPerOp = "0" -mupen64plus-CountPerOpDenomPot = "0" -mupen64plus-cpucore = "dynamic_recompiler" -mupen64plus-d-cbutton = "C3" -mupen64plus-DitheringPattern = "True" -mupen64plus-DitheringQuantization = "True" -mupen64plus-EnableCopyAuxToRDRAM = "True" -mupen64plus-EnableCopyColorToRDRAM = "Async" -mupen64plus-EnableCopyDepthToRDRAM = "Software" -mupen64plus-EnableEnhancedHighResStorage = "False" -mupen64plus-EnableEnhancedTextureStorage = "False" -mupen64plus-EnableFBEmulation = "True" -mupen64plus-EnableFragmentDepthWrite = "True" -mupen64plus-EnableHiResAltCRC = "False" -mupen64plus-EnableHWLighting = "False" -mupen64plus-EnableInaccurateTextureCoordinates = "False" -mupen64plus-EnableLegacyBlending = "False" -mupen64plus-EnableLODEmulation = "True" -mupen64plus-EnableNativeResFactor = "1" -mupen64plus-EnableNativeResTexrects = "Optimized" -mupen64plus-EnableOverscan = "Enabled" -mupen64plus-EnableTexCoordBounds = "False" -mupen64plus-EnableTextureCache = "True" -mupen64plus-ForceDisableExtraMem = "False" -mupen64plus-FrameDuping = "True" -mupen64plus-Framerate = "Original" -mupen64plus-FXAA = "0" -mupen64plus-GLideN64IniBehaviour = "late" -mupen64plus-HybridFilter = "True" -mupen64plus-IgnoreTLBExceptions = "False" -mupen64plus-l-cbutton = "C2" -mupen64plus-MaxHiResTxVramLimit = "0" -mupen64plus-MaxTxCacheSize = "8000" -mupen64plus-MultiSampling = "0" -mupen64plus-OverscanBottom = "0" -mupen64plus-OverscanLeft = "0" -mupen64plus-OverscanRight = "0" -mupen64plus-OverscanTop = "0" -mupen64plus-pak1 = "memory" -mupen64plus-pak2 = "none" -mupen64plus-pak3 = "none" -mupen64plus-pak4 = "none" -mupen64plus-r-cbutton = "C1" -mupen64plus-rdp-plugin = "gliden64" -mupen64plus-RDRAMImageDitheringMode = "BlueNoise" -mupen64plus-rsp-plugin = "hle" -mupen64plus-ThreadedRenderer = "True" -mupen64plus-txCacheCompression = "True" -mupen64plus-txEnhancementMode = "None" -mupen64plus-txFilterIgnoreBG = "True" -mupen64plus-txFilterMode = "None" -mupen64plus-txHiresEnable = "False" -mupen64plus-txHiresFullAlphaChannel = "False" -mupen64plus-u-cbutton = "C4" -mupen64plus-virefresh = "Auto" -pcsx_rearmed_analog_axis_modifier = "circle" -pcsx_rearmed_async_cd = "sync" -pcsx_rearmed_bios = "auto" -pcsx_rearmed_display_internal_fps = "disabled" -pcsx_rearmed_dithering = "enabled" -pcsx_rearmed_drc = "enabled" -pcsx_rearmed_duping_enable = "enabled" -pcsx_rearmed_frameskip_type = "disabled" -pcsx_rearmed_gteregsunneeded = "disabled" -pcsx_rearmed_gunconadjustratiox = "1" -pcsx_rearmed_gunconadjustratioy = "1" -pcsx_rearmed_gunconadjustx = "0" -pcsx_rearmed_gunconadjusty = "0" -pcsx_rearmed_idiablofix = "disabled" -pcsx_rearmed_input_sensitivity = "1.00" -pcsx_rearmed_inuyasha_fix = "disabled" -pcsx_rearmed_memcard2 = "disabled" -pcsx_rearmed_multitap1 = "auto" -pcsx_rearmed_multitap2 = "auto" -pcsx_rearmed_negcon_deadzone = "0" -pcsx_rearmed_negcon_response = "linear" -pcsx_rearmed_neon_enhancement_enable = "disabled" -pcsx_rearmed_neon_enhancement_no_main = "disabled" -pcsx_rearmed_neon_interlace_enable = "disabled" -pcsx_rearmed_nocdaudio = "enabled" -pcsx_rearmed_nogteflags = "disabled" -pcsx_rearmed_nosmccheck = "disabled" -pcsx_rearmed_noxadecoding = "enabled" -pcsx_rearmed_pad1type = "standard" -pcsx_rearmed_pad2type = "standard" -pcsx_rearmed_pad3type = "none" -pcsx_rearmed_pad4type = "none" -pcsx_rearmed_pad5type = "none" -pcsx_rearmed_pad6type = "none" -pcsx_rearmed_pad7type = "none" -pcsx_rearmed_pad8type = "none" -pcsx_rearmed_pe2_fix = "disabled" -pcsx_rearmed_psxclock = "57" -pcsx_rearmed_region = "auto" -pcsx_rearmed_show_bios_bootlogo = "disabled" -pcsx_rearmed_show_other_input_settings = "disabled" -pcsx_rearmed_spu_interpolation = "simple" -pcsx_rearmed_spu_reverb = "enabled" -pcsx_rearmed_spuirq = "disabled" -pcsx_rearmed_vibration = "enabled" -gambatte_gb_colorization = "disabled" -gambatte_gb_internal_palette = "" -mame2003-plus_analog = "digital" -mame2003-plus_art_resolution = "1" -mame2003-plus_brightness = "1.0" -mame2003-plus_cheat_input_ports = "disabled" -mame2003-plus_core_save_subfolder = "enabled" -mame2003-plus_core_sys_subfolder = "enabled" -mame2003-plus_dcs_speedhack = "enabled" -mame2003-plus_deadzone = "20" -mame2003-plus_digital_joy_centering = "enabled" -mame2003-plus_display_artwork = "enabled" -mame2003-plus_display_setup = "disabled" -mame2003-plus_four_way_emulation = "disabled" -mame2003-plus_frameskip = "0" -mame2003-plus_gamma = "1.0" -mame2003-plus_input_interface = "retropad" -mame2003-plus_machine_timing = "enabled" -mame2003-plus_mame_remapping = "enabled" -mame2003-plus_mouse_device = "mouse" -mame2003-plus_sample_rate = "48000" -mame2003-plus_skip_disclaimer = "disabled" -mame2003-plus_skip_warnings = "disabled" -flycast_internal_resolution = "640x480" -flycast_alpha_sorting = "per-strip (fast, least accurate)" -flycast_enable_dsp = "disabled" -flycast_threaded_rendering = "enabled" -flycast_anisotropic_filtering = "off" -flycast_synchronous_rendering = "enabled" -flycast_enable_rtt = "disabled" -flycast_enable_rttb = "disabled" -flycast_delay_frame_swapping = "disabled" -flycast_div_matching = "auto" -flycast_texupscale = "off" -flycast_auto_skip_frame = "normal" -opera_swi_hle = "enabled" -opera_dsp_threaded = "enabled" -opera_madam_matrix_engine = "software" -puae_deadzone = "25" -melonds_screen_layout = "Left/Right" -melonds_swapscreen_mode = "Toggle" -melonds_threaded_renderer = "enabled" -melonds_touch_mode = "Joystick" -duckstation_GPU.Renderer = "Software" -virtualjaguar_bios = "enabled" -virtualjaguar_usefastblitter = "enabled" diff --git a/packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch.cfg b/packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch.cfg deleted file mode 100644 index 417156035..000000000 --- a/packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch.cfg +++ /dev/null @@ -1,822 +0,0 @@ -accessibility_enable = "false" -accessibility_narrator_speech_speed = "5" -ai_service_enable = "true" -ai_service_mode = "1" -ai_service_pause = "false" -ai_service_source_lang = "0" -ai_service_target_lang = "0" -ai_service_url = "http://localhost:4404/" -all_users_control_menu = "true" -apply_cheats_after_load = "false" -apply_cheats_after_toggle = "false" -aspect_ratio_index = "22" -assets_directory = "/tmp/assets" -audio_block_frames = "0" -audio_device = "" -audio_driver = "alsathread" -audio_dsp_plugin = "" -audio_enable_menu_bgm = "false" -audio_enable_menu_cancel = "false" -audio_enable_menu = "false" -audio_enable_menu_notice = "false" -audio_enable_menu_ok = "false" -audio_enable = "true" -audio_fastforward_mute = "false" -audio_filter_dir = "~/.config/retroarch/filters/audio" -audio_latency = "32" -audio_max_timing_skew = "0.049999" -audio_mixer_mute_enable = "false" -audio_mixer_volume = "0.000000" -audio_mute_enable = "false" -audio_out_rate = "48000" -audio_rate_control_delta = "0.004999" -audio_rate_control = "true" -audio_resampler_quality = "2" -audio_resampler = "sinc" -audio_sync = "true" -audio_volume = "0.000000" -auto_overrides_enable = "true" -auto_remaps_enable = "true" -autosave_interval = "10" -auto_screenshot_filename = "true" -auto_shaders_enable = "true" -block_sram_overwrite = "false" -bluetooth_driver = "null" -builtin_imageviewer_enable = "false" -builtin_mediaplayer_enable = "true" -bundle_assets_dst_path = "" -bundle_assets_dst_path_subdir = "" -bundle_assets_extract_enable = "false" -bundle_assets_extract_last_version = "0" -bundle_assets_extract_version_current = "0" -bundle_assets_src_path = "" -cache_directory = "/tmp/cache" -camera_allow = "false" -camera_device = "" -camera_driver = "null" -cheat_database_path = "/tmp/database/cht" -check_firmware_before_loading = "false" -cheevos_auto_screenshot = "false" -cheevos_badges_enable = "false" -cheevos_challenge_indicators = "true" -cheevos_enable = "false" -cheevos_hardcore_mode_enable = "false" -cheevos_leaderboards_enable = "" -cheevos_password = "" -cheevos_richpresence_enable = "true" -cheevos_start_active = "false" -cheevos_test_unofficial = "false" -cheevos_token = "" -cheevos_unlock_sound_enable = "false" -cheevos_username = "" -cheevos_verbose_enable = "false" -config_save_on_exit = "false" -content_database_path = "/tmp/database/rdb" -content_favorites_directory = "default" -content_favorites_path = "~/.config/retroarch/content_favorites.lpl" -content_favorites_size = "200" -content_history_dir = "" -content_history_directory = "default" -content_history_path = "~/.config/retroarch/content_history.lpl" -content_history_size = "200" -content_image_history_directory = "default" -content_image_history_path = "~/.config/retroarch/content_image_history.lpl" -content_music_history_directory = "default" -content_music_history_path = "~/.config/retroarch/content_music_history.lpl" -content_runtime_log_aggregate = "false" -content_runtime_log = "true" -content_show_add_entry = "2" -content_show_add = "true" -content_show_explore = "true" -content_show_favorites = "true" -content_show_history = "true" -content_show_images = "false" -content_show_music = "false" -content_show_netplay = "true" -content_show_playlists = "true" -content_show_settings_password = "" -content_show_settings = "true" -content_show_video = "false" -content_video_directory = "default" -content_video_history_path = "~/.config/retroarch/content_video_history.lpl" -core_assets_directory = "~/roms/downloads" -core_info_cache_enable = "true" -core_option_category_enable = "true" -core_options_path = "" -core_set_supports_no_game_enable = "true" -core_updater_auto_backup = "false" -core_updater_auto_backup_history_size = "1" -core_updater_auto_extract_archive = "true" -core_updater_buildbot_assets_url = "http://buildbot.libretro.com/assets/" -core_updater_buildbot_cores_url = "" -core_updater_buildbot_url = "http://buildbot.libretro.com/nightly/linux/armhf/latest/" -core_updater_show_experimental_cores = "false" -cpu_main_gov = "performance" -cpu_max_freq = "-1" -cpu_menu_gov = "interactive" -cpu_min_freq = "1" -cpu_scaling_mode = "0" -crt_switch_center_adjust = "0" -crt_switch_hires_menu = "false" -crt_switch_porch_adjust = "0" -crt_switch_resolution = "0" -crt_switch_resolution_super = "2560" -crt_switch_resolution_use_custom_refresh_rate = "false" -crt_switch_timings = "" -crt_video_refresh_rate = "60.000000" -current_resolution_id = "0" -cursor_directory = "~/.config/retroarch/database/cursors" -desktop_menu_enable = "true" -discord_allow = "false" -discord_app_id = "475456035851599874" -driver_switch_enable = "true" -dynamic_wallpapers_directory = "default" -emuelec_exit_to_kodi = "false" -enable_device_vibration = "true" -facebook_stream_key = "" -fastforward_ratio = "0.000000" -filter_by_current_core = "false" -flicker_filter_enable = "false" -flicker_filter_index = "0" -fps_show = "false" -fps_update_interval = "256" -framecount_show = "false" -frame_time_counter_reset_after_fastforwarding = "false" -frame_time_counter_reset_after_load_state = "false" -frame_time_counter_reset_after_save_state = "false" -frontend_log_level = "1" -game_specific_options = "true" -gamma_correction = "0" -global_core_options = "false" -history_list_enable = "true" -input_ai_service_axis = "nul" -input_ai_service_btn = "nul" -input_ai_service_mbtn = "nul" -input_ai_service = "nul" -input_analog_deadzone = "0.000000" -input_analog_sensitivity = "1.500000" -input_audio_mute_axis = "nul" -input_audio_mute_btn = "nul" -input_audio_mute = "f9" -input_audio_mute_mbtn = "nul" -input_autodetect_enable = "true" -input_auto_game_focus = "0" -input_auto_mouse_grab = "false" -input_axis_threshold = "0.500000" -input_bind_hold = "2" -input_bind_timeout = "5" -input_cheat_index_minus_axis = "nul" -input_cheat_index_minus_btn = "nul" -input_cheat_index_minus_mbtn = "nul" -input_cheat_index_minus = "t" -input_cheat_index_plus_axis = "nul" -input_cheat_index_plus_btn = "nul" -input_cheat_index_plus_mbtn = "nul" -input_cheat_index_plus = "y" -input_cheat_toggle_axis = "nul" -input_cheat_toggle_btn = "nul" -input_cheat_toggle_mbtn = "nul" -input_cheat_toggle = "u" -input_close_content_axis = "nul" -input_close_content_btn = "nul" -input_close_content_mbtn = "nul" -input_close_content = "nul" -input_descriptor_hide_unbound = "false" -input_descriptor_label_show = "true" -input_desktop_menu_toggle_axis = "nul" -input_desktop_menu_toggle_btn = "nul" -input_desktop_menu_toggle = "f5" -input_desktop_menu_toggle_mbtn = "nul" -input_device_p1 = "0" -input_device_p10 = "0" -input_device_p11 = "0" -input_device_p12 = "0" -input_device_p13 = "0" -input_device_p14 = "0" -input_device_p15 = "0" -input_device_p16 = "0" -input_device_p2 = "0" -input_device_p3 = "0" -input_device_p4 = "0" -input_device_p5 = "0" -input_device_p6 = "0" -input_device_p7 = "0" -input_device_p8 = "0" -input_device_p9 = "0" -input_disk_eject_toggle_axis = "nul" -input_disk_eject_toggle_btn = "nul" -input_disk_eject_toggle_mbtn = "nul" -input_disk_eject_toggle = "nul" -input_disk_next_axis = "nul" -input_disk_next_btn = "nul" -input_disk_next_mbtn = "nul" -input_disk_next = "nul" -input_disk_prev_axis = "nul" -input_disk_prev_btn = "nul" -input_disk_prev_mbtn = "nul" -input_disk_prev = "nul" -input_driver = "udev" -input_duty_cycle = "3" -input_enable_hotkey_axis = "nul" -input_enable_hotkey_btn = "8" -input_enable_hotkey_mbtn = "nul" -input_enable_hotkey = "nul" -input_exit_emulator_axis = "nul" -input_exit_emulator_btn = "9" -input_exit_emulator = "escape" -input_exit_emulator_mbtn = "nul" -input_fps_toggle_axis = "nul" -input_fps_toggle_btn = "3" -input_fps_toggle = "f3" -input_fps_toggle_mbtn = "nul" -input_frame_advance_axis = "nul" -input_frame_advance_btn = "nul" -input_frame_advance = "k" -input_frame_advance_mbtn = "nul" -input_game_focus_toggle_axis = "nul" -input_game_focus_toggle_btn = "nul" -input_game_focus_toggle_mbtn = "nul" -input_game_focus_toggle = "scroll_lock" -input_grab_mouse_toggle_axis = "nul" -input_grab_mouse_toggle_btn = "nul" -input_grab_mouse_toggle = "f11" -input_grab_mouse_toggle_mbtn = "nul" -input_hold_fast_forward_axis = "nul" -input_hold_fast_forward_btn = "nul" -input_hold_fast_forward = "l" -input_hold_fast_forward_mbtn = "nul" -input_hold_slowmotion_axis = "nul" -input_hold_slowmotion_btn = "nul" -input_hold_slowmotion = "e" -input_hold_slowmotion_mbtn = "nul" -input_hotkey_block_delay = "5" -input_joypad_driver = "udev" -input_keyboard_layout = "" -input_libretro_device_p10 = "1" -input_libretro_device_p1 = "1" -input_libretro_device_p11 = "1" -input_libretro_device_p12 = "1" -input_libretro_device_p13 = "1" -input_libretro_device_p14 = "1" -input_libretro_device_p15 = "1" -input_libretro_device_p16 = "1" -input_libretro_device_p2 = "1" -input_libretro_device_p3 = "1" -input_libretro_device_p4 = "1" -input_libretro_device_p5 = "1" -input_libretro_device_p6 = "1" -input_libretro_device_p7 = "1" -input_libretro_device_p8 = "1" -input_libretro_device_p9 = "1" -input_load_state_axis = "nul" -input_load_state_btn = "4" -input_load_state = "f4" -input_load_state_mbtn = "nul" -input_max_users = "5" -input_menu_toggle_axis = "nul" -input_menu_toggle_btn = "2" -input_menu_toggle = "f1" -input_menu_toggle_gamepad_combo = "2" -input_menu_toggle_mbtn = "nul" -input_movie_record_toggle_axis = "nul" -input_movie_record_toggle_btn = "nul" -input_movie_record_toggle_mbtn = "nul" -input_movie_record_toggle = "o" -input_netplay_game_watch_axis = "nul" -input_netplay_game_watch_btn = "nul" -input_netplay_game_watch = "i" -input_netplay_game_watch_mbtn = "nul" -input_netplay_host_toggle_axis = "nul" -input_netplay_host_toggle_btn = "nul" -input_netplay_host_toggle_mbtn = "nul" -input_netplay_host_toggle = "nul" -input_nowinkey_enable = "false" -input_osk_toggle_axis = "nul" -input_osk_toggle_btn = "nul" -input_osk_toggle = "f12" -input_osk_toggle_mbtn = "nul" -input_overlay = "" -input_overlay_aspect_adjust_landscape = "0.000000" -input_overlay_aspect_adjust_portrait = "0.000000" -input_overlay_auto_rotate = "false" -input_overlay_auto_scale = "false" -input_overlay_enable_autopreferred = "true" -input_overlay_enable = "false" -input_overlay_hide_in_menu = "true" -input_overlay_hide_when_gamepad_connected = "false" -input_overlay_next_axis = "nul" -input_overlay_next_btn = "nul" -input_overlay_next_mbtn = "nul" -input_overlay_next = "nul" -input_overlay_opacity = "0.700000" -input_overlay_scale_landscape = "1.000000" -input_overlay_scale_portrait = "1.000000" -input_overlay_show_inputs = "2" -input_overlay_show_inputs_port = "0" -input_overlay_show_mouse_cursor = "true" -input_overlay_x_offset_landscape = "0.000000" -input_overlay_x_offset_portrait = "0.000000" -input_overlay_x_separation_landscape = "0.000000" -input_overlay_x_separation_portrait = "0.000000" -input_overlay_y_offset_landscape = "0.000000" -input_overlay_y_offset_portrait = "0.000000" -input_overlay_y_separation_landscape = "0.000000" -input_overlay_y_separation_portrait = "0.000000" -input_pause_toggle_axis = "nul" -input_pause_toggle_btn = "nul" -input_pause_toggle_mbtn = "nul" -input_pause_toggle = "p" -input_poll_type_behavior = "2" -input_quit_gamepad_combo = "0" -input_recording_toggle_axis = "nul" -input_recording_toggle_btn = "nul" -input_recording_toggle_mbtn = "nul" -input_recording_toggle = "nul" -input_remap_binds_enable = "true" -input_remapping_directory = "~/remappings" -input_reset_axis = "nul" -input_reset_btn = "nul" -input_reset = "h" -input_reset_mbtn = "nul" -input_rewind_axis = "nul" -input_rewind_btn = "6" -input_rewind_mbtn = "nul" -input_rewind = "r" -input_rumble_gain = "100" -input_runahead_toggle_axis = "nul" -input_runahead_toggle_btn = "nul" -input_runahead_toggle_mbtn = "nul" -input_runahead_toggle = "nul" -input_save_state_axis = "nul" -input_save_state_btn = "5" -input_save_state = "f2" -input_save_state_mbtn = "nul" -input_screenshot_axis = "nul" -input_screenshot_btn = "nul" -input_screenshot = "f8" -input_screenshot_mbtn = "nul" -input_send_debug_info_axis = "nul" -input_send_debug_info_btn = "nul" -input_send_debug_info = "f10" -input_send_debug_info_mbtn = "nul" -input_sensors_enable = "true" -input_shader_next_axis = "nul" -input_shader_next_btn = "nul" -input_shader_next = "m" -input_shader_next_mbtn = "nul" -input_shader_prev_axis = "nul" -input_shader_prev_btn = "nul" -input_shader_prev_mbtn = "nul" -input_shader_prev = "n" -input_state_slot_decrease_axis = "nul" -input_state_slot_decrease_btn = "nul" -input_state_slot_decrease = "f6" -input_state_slot_decrease_mbtn = "nul" -input_state_slot_increase_axis = "nul" -input_state_slot_increase_btn = "nul" -input_state_slot_increase = "f7" -input_state_slot_increase_mbtn = "nul" -input_streaming_toggle_axis = "nul" -input_streaming_toggle_btn = "nul" -input_streaming_toggle_mbtn = "nul" -input_streaming_toggle = "nul" -input_toggle_fast_forward_axis = "nul" -input_toggle_fast_forward_btn = "7" -input_toggle_fast_forward_mbtn = "nul" -input_toggle_fast_forward = "space" -input_toggle_fullscreen_axis = "nul" -input_toggle_fullscreen_btn = "nul" -input_toggle_fullscreen = "f" -input_toggle_fullscreen_mbtn = "nul" -input_toggle_slowmotion_axis = "nul" -input_toggle_slowmotion_btn = "nul" -input_toggle_slowmotion_mbtn = "nul" -input_toggle_slowmotion = "nul" -input_touch_scale = "1" -input_turbo_default_button = "0" -input_turbo_mode = "0" -input_turbo_period = "6" -input_volume_down_axis = "nul" -input_volume_down_btn = "nul" -input_volume_down_mbtn = "nul" -input_volume_down = "subtract" -input_volume_up = "add" -input_volume_up_axis = "nul" -input_volume_up_btn = "nul" -input_volume_up_mbtn = "nul" -joypad_autoconfig_dir = "/tmp/joypads" -keyboard_gamepad_enable = "true" -keyboard_gamepad_mapping_type = "1" -kiosk_mode_enable = "false" -kiosk_mode_password = "" -led_driver = "null" -libretro_directory = "/tmp/cores" -libretro_info_path = "/tmp/cores" -libretro_log_level = "1" -load_dummy_on_core_shutdown = "true" -location_allow = "false" -location_driver = "null" -log_dir = "~/.config/retroarch/logs" -log_to_file = "false" -log_to_file_timestamp = "false" -log_verbosity = "true" -materialui_auto_rotate_nav_bar = "true" -materialui_dual_thumbnail_list_view_enable = "true" -materialui_icons_enable = "true" -materialui_landscape_layout_optimization = "1" -materialui_menu_color_theme = "9" -materialui_menu_transition_animation = "0" -materialui_playlist_icons_enable = "true" -materialui_show_nav_bar = "true" -materialui_thumbnail_background_enable = "true" -materialui_thumbnail_view_landscape = "2" -materialui_thumbnail_view_portrait = "1" -memory_show = "false" -memory_update_interval = "256" -menu_battery_level_enable = "true" -menu_core_enable = "true" -menu_driver = "xmb" -menu_dynamic_wallpaper_enable = "false" -menu_enable_widgets = "true" -menu_font_color_blue = "255" -menu_font_color_green = "255" -menu_font_color_red = "255" -menu_footer_opacity = "1.000000" -menu_framebuffer_opacity = "0.899999" -menu_header_opacity = "1.000000" -menu_horizontal_animation = "true" -menu_insert_disk_resume = "true" -menu_left_thumbnails = "0" -menu_linear_filter = "false" -menu_mouse_enable = "true" -menu_navigation_browser_filter_supported_extensions_enable = "true" -menu_navigation_wraparound_enable = "true" -menu_pause_libretro = "true" -menu_pointer_enable = "true" -menu_rgui_full_width_layout = "true" -menu_rgui_shadows = "false" -menu_rgui_transparency = "true" -menu_savestate_resume = "true" -menu_scale_factor = "0.800000" -menu_screensaver_animation = "0" -menu_screensaver_animation_speed = "1.000000" -menu_screensaver_timeout = "0" -menu_scroll_delay = "256" -menu_scroll_fast = "false" -menu_shader_pipeline = "2" -menu_show_advanced_settings = "true" -menu_show_configurations = "true" -menu_show_core_updater = "false" -menu_show_dump_disc = "true" -menu_show_help = "true" -menu_show_information = "true" -menu_show_latency = "true" -menu_show_legacy_thumbnail_updater = "false" -menu_show_load_content_animation = "false" -menu_show_load_content = "true" -menu_show_load_core = "true" -menu_show_load_disc = "true" -menu_show_online_updater = "true" -menu_show_overlays = "true" -menu_show_quit_retroarch = "true" -menu_show_reboot = "false" -menu_show_restart_retroarch = "true" -menu_show_rewind = "true" -menu_show_shutdown = "false" -menu_show_sublabels = "true" -menu_show_video_layout = "true" -menu_swap_ok_cancel_buttons = "false" -menu_throttle_framerate = "true" -menu_thumbnails = "3" -menu_thumbnail_upscale_threshold = "0" -menu_ticker_smooth = "true" -menu_ticker_speed = "2.000000" -menu_ticker_type = "1" -menu_timedate_date_separator = "0" -menu_timedate_enable = "true" -menu_timedate_style = "11" -menu_unified_controls = "false" -menu_use_preferred_system_color_theme = "false" -menu_wallpaper = "" -menu_wallpaper_opacity = "1.000000" -menu_widget_scale_auto = "false" -menu_widget_scale_factor = "1.000000" -menu_widget_scale_factor_windowed = "1.000000" -menu_xmb_animation_horizontal_highlight = "0" -menu_xmb_animation_move_up_down = "0" -menu_xmb_animation_opening_main_menu = "0" -menu_xmb_thumbnail_scale_factor = "100" -midi_driver = "alsa" -midi_input = "Off" -midi_output = "Off" -midi_volume = "100" -netplay_allow_slaves = "true" -netplay_check_frames = "600" -netplay_input_latency_frames_min = "0" -netplay_input_latency_frames_range = "0" -netplay_ip_address = "" -netplay_ip_port = "55435" -netplay_max_connections = "3" -netplay_mitm_server = "nyc" -netplay_nat_traversal = "true" -netplay_nickname = "" -netplay_password = "" -netplay_public_announce = "true" -netplay_request_device_p10 = "false" -netplay_request_device_p11 = "false" -netplay_request_device_p12 = "false" -netplay_request_device_p13 = "false" -netplay_request_device_p14 = "false" -netplay_request_device_p15 = "false" -netplay_request_device_p16 = "false" -netplay_request_device_p1 = "false" -netplay_request_device_p2 = "false" -netplay_request_device_p3 = "false" -netplay_request_device_p4 = "false" -netplay_request_device_p5 = "false" -netplay_request_device_p6 = "false" -netplay_request_device_p7 = "false" -netplay_request_device_p8 = "false" -netplay_request_device_p9 = "false" -netplay_require_slaves = "false" -netplay_share_analog = "1" -netplay_share_digital = "1" -netplay_spectate_password = "" -netplay_start_as_spectator = "false" -netplay_stateless_mode = "false" -netplay_use_mitm_server = "false" -network_cmd_enable = "false" -network_cmd_port = "55355" -network_on_demand_thumbnails = "false" -network_remote_base_port = "55400" -network_remote_enable = "false" -network_remote_enable_user_p10 = "false" -network_remote_enable_user_p11 = "false" -network_remote_enable_user_p12 = "false" -network_remote_enable_user_p13 = "false" -network_remote_enable_user_p14 = "false" -network_remote_enable_user_p15 = "false" -network_remote_enable_user_p16 = "false" -network_remote_enable_user_p1 = "false" -network_remote_enable_user_p2 = "false" -network_remote_enable_user_p3 = "false" -network_remote_enable_user_p4 = "false" -network_remote_enable_user_p5 = "false" -network_remote_enable_user_p6 = "false" -network_remote_enable_user_p7 = "false" -network_remote_enable_user_p8 = "false" -network_remote_enable_user_p9 = "false" -notification_show_autoconfig = "false" -notification_show_cheats_applied = "true" -notification_show_config_override_load = "false" -notification_show_fast_forward = "true" -notification_show_netplay_extra = "false" -notification_show_patch_applied = "true" -notification_show_refresh_rate = "true" -notification_show_remap_load = "false" -notification_show_screenshot_duration = "2" -notification_show_screenshot = "false" -notification_show_screenshot_flash = "1" -notification_show_set_initial_disk = "true" -overlay_directory = "/tmp/overlays" -ozone_collapse_sidebar = "false" -ozone_menu_color_theme = "1" -ozone_scroll_content_metadata = "false" -ozone_sort_after_truncate_playlist_name = "true" -ozone_truncate_playlist_name = "true" -pause_nonactive = "true" -perfcnt_enable = "false" -playlist_compression = "false" -playlist_cores = "" -playlist_directory = "~/playlists" -playlist_entry_remove_enable = "1" -playlist_entry_remove = "false" -playlist_entry_rename = "false" -playlist_fuzzy_archive_match = "false" -playlist_names = "" -playlist_portable_paths = "false" -playlist_show_entry_idx = "true" -playlist_show_inline_core_name = "0" -playlist_show_sublabels = "true" -playlist_sort_alphabetical = "true" -playlist_sublabel_last_played_style = "0" -playlist_sublabel_runtime_type = "0" -playlist_use_old_format = "false" -quick_menu_show_add_to_favorites = "true" -quick_menu_show_cheats = "true" -quick_menu_show_close_content = "true" -quick_menu_show_controls = "true" -quick_menu_show_core_options_flush = "false" -quick_menu_show_download_thumbnails = "true" -quick_menu_show_information = "true" -quick_menu_show_options = "true" -quick_menu_show_recording = "true" -quick_menu_show_reset_core_association = "true" -quick_menu_show_restart_content = "true" -quick_menu_show_resume_content = "true" -quick_menu_show_save_content_dir_overrides = "true" -quick_menu_show_save_core_overrides = "false" -quick_menu_show_save_game_overrides = "false" -quick_menu_show_save_load_state = "true" -quick_menu_show_set_core_association = "true" -quick_menu_show_shaders = "true" -quick_menu_show_start_recording = "true" -quick_menu_show_start_streaming = "true" -quick_menu_show_streaming = "true" -quick_menu_show_take_screenshot = "true" -quick_menu_show_undo_save_load_state = "false" -quit_on_close_content = "0" -quit_press_twice = "true" -record_driver = "null" -recording_config_directory = "" -recording_output_directory = "~/roms/screenshots" -resampler_directory = "" -rewind_buffer_size = "20971520" -rewind_buffer_size_step = "10" -rewind_enable = "false" -rewind_granularity = "1" -rgui_aspect_ratio = "0" -rgui_aspect_ratio_lock = "0" -rgui_background_filler_thickness_enable = "true" -rgui_border_filler_enable = "true" -rgui_border_filler_thickness_enable = "true" -rgui_browser_directory = "~/roms" -rgui_config_directory = "~/.config/retroarch/config" -rgui_extended_ascii = "false" -rgui_inline_thumbnails = "false" -rgui_internal_upscale_level = "0" -rgui_menu_color_theme = "4" -rgui_menu_theme_preset = "" -rgui_particle_effect = "0" -rgui_particle_effect_screensaver = "true" -rgui_particle_effect_speed = "1.000000" -rgui_show_start_screen = "false" -rgui_swap_thumbnails = "false" -rgui_switch_icons = "true" -rgui_thumbnail_delay = "0" -rgui_thumbnail_downscaler = "0" -run_ahead_enabled = "false" -run_ahead_frames = "1" -run_ahead_hide_warnings = "false" -run_ahead_secondary_instance = "true" -runtime_log_directory = "default" -save_file_compression = "false" -savefile_directory = "~/.config/retroarch/saves" -savefiles_in_content_dir = "true" -savestate_auto_index = "false" -savestate_auto_load = "false" -savestate_auto_save = "false" -savestate_directory = "~/.config/retroarch/states" -savestate_file_compression = "true" -savestate_max_keep = "0" -savestates_in_content_dir = "false" -savestate_thumbnail_enable = "true" -scan_without_core_match = "false" -screen_brightness = "100" -screen_orientation = "0" -screenshot_directory = "~/roms/screenshots" -screenshots_in_content_dir = "false" -settings_show_accessibility = "true" -settings_show_achievements = "true" -settings_show_ai_service = "true" -settings_show_audio = "true" -settings_show_configuration = "true" -settings_show_core = "true" -settings_show_directory = "true" -settings_show_drivers = "true" -settings_show_file_browser = "true" -settings_show_frame_throttle = "true" -settings_show_input = "true" -settings_show_latency = "true" -settings_show_logging = "true" -settings_show_network = "true" -settings_show_onscreen_display = "true" -settings_show_playlists = "true" -settings_show_power_management = "true" -settings_show_recording = "true" -settings_show_saving = "true" -settings_show_user_interface = "true" -settings_show_user = "true" -settings_show_video = "true" -show_hidden_files = "false" -slowmotion_ratio = "3.000000" -soft_filter_enable = "false" -soft_filter_index = "0" -sort_savefiles_by_content_enable = "false" -sort_savefiles_enable = "false" -sort_savestates_by_content_enable = "false" -sort_savestates_enable = "false" -sort_screenshots_by_content_enable = "false" -state_slot = "0" -statistics_show = "false" -stdin_cmd_enable = "false" -streaming_mode = "0" -suspend_screensaver_enable = "true" -sustained_performance_mode = "false" -system_directory = "~/roms/bios" -systemfiles_in_content_dir = "false" -threaded_data_runloop_enable = "true" -thumbnails_directory = "~/thumbnails" -twitch_stream_key = "" -ui_companion_enable = "false" -ui_companion_start_on_boot = "true" -ui_companion_toggle = "false" -ui_menubar_enable = "true" -use_last_start_directory = "false" -user_language = "0" -vibrate_on_keypress = "true" -video_adaptive_vsync = "false" -video_allow_rotate = "true" -video_aspect_ratio = "-1.000000" -video_aspect_ratio_auto = "true" -video_black_frame_insertion = "0" -video_context_driver = "" -video_crop_overscan = "true" -video_ctx_scaling = "false" -video_disable_composition = "false" -video_driver = "gl" -video_filter = "" -video_filter_dir = "~/.config/retroarch/filters/video" -video_font_enable = "true" -video_font_path = "/usr/share/retroarch-assets/xmb/monochrome/font.ttf" -video_font_size = "32.000000" -video_force_aspect = "true" -video_force_srgb_disable = "false" -video_frame_delay = "0" -video_frame_delay_auto = "false" -video_fullscreen = "true" -video_fullscreen_x = "0" -video_fullscreen_y = "0" -video_gpu_record = "false" -video_gpu_screenshot = "false" -video_hard_sync = "false" -video_hard_sync_frames = "0" -video_hdr_display_contrast = "5.000000" -video_hdr_enable = "false" -video_hdr_expand_gamut = "true" -video_hdr_max_nits = "1000.000000" -video_hdr_paper_white_nits = "200.000000" -video_layout_directory = "~/.config/retroarch/layouts" -video_layout_enable = "true" -video_layout_path = "" -video_layout_selected_view = "0" -video_max_swapchain_images = "3" -video_message_color = "ffff00" -video_message_pos_x = "0.049999" -video_message_pos_y = "0.049999" -video_monitor_index = "0" -video_msg_bgcolor_blue = "0" -video_msg_bgcolor_enable = "false" -video_msg_bgcolor_green = "0" -video_msg_bgcolor_opacity = "1.000000" -video_msg_bgcolor_red = "0" -video_notch_write_over_enable = "false" -video_oga_vertical_enable = "false" -video_post_filter_record = "false" -video_record_config = "" -video_record_quality = "4" -video_record_scale_factor = "1" -video_record_threads = "2" -video_refresh_rate = "60.000000" -video_rotation = "0" -video_scale = "3.000000" -video_scale_integer = "false" -video_scale_integer_overscale = "false" -video_shader_delay = "0" -video_shader_dir = "/tmp/shaders" -video_shader_enable = "false" -video_shader_preset_save_reference_enable = "true" -video_shader_remember_last_dir = "false" -video_shader_watch_files = "false" -video_shared_context = "false" -video_smooth = "false" -video_stream_config = "" -video_stream_port = "56400" -video_stream_quality = "10" -video_stream_scale_factor = "1" -video_stream_url = "" -video_swap_interval = "1" -video_threaded = "true" -video_vsync = "true" -video_window_auto_height_max = "1080" -video_window_auto_width_max = "1920" -video_window_custom_size_enable = "false" -video_windowed_fullscreen = "false" -video_windowed_position_height = "720" -video_windowed_position_width = "1280" -video_windowed_position_x = "0" -video_windowed_position_y = "0" -video_window_opacity = "100" -video_window_save_positions = "false" -video_window_show_decorations = "true" -vrr_runloop_enable = "false" -wifi_driver = "null" -wifi_enabled = "true" -xmb_alpha_factor = "75" -xmb_font = "/usr/share/retroarch-assets/xmb/monochrome/font.ttf" -xmb_layout = "2" -xmb_menu_color_theme = "4" -xmb_shadows_enable = "true" -xmb_theme = "0" -xmb_vertical_thumbnails = "false" -youtube_stream_key = "" diff --git a/packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch32bit-append.cfg b/packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch32bit-append.cfg deleted file mode 100644 index 9e743a38f..000000000 --- a/packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch32bit-append.cfg +++ /dev/null @@ -1,2 +0,0 @@ -audio_filter_dir = "/usr/share/retroarch/filters/32bit/audio" -video_filter_dir = "/usr/share/retroarch/filters/32bit/video" diff --git a/packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch64bit-append.cfg b/packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch64bit-append.cfg deleted file mode 100644 index b6cbf6831..000000000 --- a/packages/emulators/standalone/retroarch/sources/RK3566-BSP/retroarch64bit-append.cfg +++ /dev/null @@ -1,2 +0,0 @@ -audio_filter_dir = "/usr/share/retroarch/filters/64bit/audio" -video_filter_dir = "/usr/share/retroarch/filters/64bit/video" diff --git a/packages/graphics/SDL2/patches/0001-Split-V-and-P-M.patch b/packages/graphics/SDL2/patches/0001-Split-V-and-P-M.patch deleted file mode 100644 index 9c96be1ad..000000000 --- a/packages/graphics/SDL2/patches/0001-Split-V-and-P-M.patch +++ /dev/null @@ -1,31 +0,0 @@ -From b1b9120bdb797b0eda78a367385b178fb711cb7c Mon Sep 17 00:00:00 2001 -From: Fewtarius -Date: Sun, 4 Apr 2021 09:42:49 -0400 -Subject: [PATCH 1/7] Split V and P/M - ---- - .../packages/SDL2/patches/0003-no-cursor.patch | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - create mode 100644 projects/Rockchip/devices/RG351P/packages/SDL2/patches/0003-no-cursor.patch - -diff --git a/projects/Rockchip/devices/RG351P/packages/SDL2/patches/0003-no-cursor.patch b/projects/Rockchip/devices/RG351P/packages/SDL2/patches/0003-no-cursor.patch -new file mode 100644 -index 000000000..d912a67aa ---- /dev/null -+++ b/projects/Rockchip/devices/RG351P/packages/SDL2/patches/0003-no-cursor.patch -@@ -0,0 +1,12 @@ -+diff -rupN SDL2-2.0.10.orig/src/events/SDL_mouse.c SDL2-2.0.10.new/src/events/SDL_mouse.c -+--- SDL2-2.0.10.orig/src/events/SDL_mouse.c 2019-07-25 00:32:36.000000000 -0400 -++++ SDL2-2.0.10.new/src/events/SDL_mouse.c 2021-01-08 19:35:14.792357252 -0500 -+@@ -158,7 +158,7 @@ SDL_MouseInit(void) -+ -+ mouse->was_touch_mouse_events = SDL_FALSE; /* no touch to mouse movement event pending */ -+ -+- mouse->cursor_shown = SDL_TRUE; -++ mouse->cursor_shown = SDL_FALSE; -+ -+ return (0); -+ } --- -2.20.1 - diff --git a/packages/graphics/SDL2/patches/0004-KMSDRM-Rotate-the-cursor.patch b/packages/graphics/SDL2/patches/0004-KMSDRM-Rotate-the-cursor.patch deleted file mode 100644 index 779d26e5d..000000000 --- a/packages/graphics/SDL2/patches/0004-KMSDRM-Rotate-the-cursor.patch +++ /dev/null @@ -1,70 +0,0 @@ -From f00e8526825f14b8f6706afeabcbbfe7acfec057 Mon Sep 17 00:00:00 2001 -From: Johnny on Flame -Date: Sun, 6 Aug 2023 20:58:34 +0000 -Subject: [PATCH 4/7] KMSDRM: Rotate the cursor - ---- - src/video/kmsdrm/SDL_kmsdrmmouse.c | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/src/video/kmsdrm/SDL_kmsdrmmouse.c b/src/video/kmsdrm/SDL_kmsdrmmouse.c -index 955045a7e..4c445ecf1 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmmouse.c -+++ b/src/video/kmsdrm/SDL_kmsdrmmouse.c -@@ -150,6 +150,7 @@ static int KMSDRM_DumpCursorToBO(SDL_VideoDisplay *display, SDL_Cursor *cursor) - uint8_t *src_row; - - int i; -+ int j; - int ret; - - if (curdata == NULL || !dispdata->cursor_bo) { -@@ -170,8 +171,10 @@ static int KMSDRM_DumpCursorToBO(SDL_VideoDisplay *display, SDL_Cursor *cursor) - - /* Copy from the cursor buffer to a buffer that we can dump to the GBM BO. */ - for (i = 0; i < curdata->h; i++) { -- src_row = &((uint8_t *)curdata->buffer)[i * curdata->w * 4]; -- SDL_memcpy(ready_buffer + (i * bo_stride), src_row, (size_t)4 * curdata->w); -+ for (j = 0; j < curdata->w; j++) { -+ src_row = ((uint32_t*)curdata->buffer)[i * curdata->w + j]; -+ SDL_memcpy(ready_buffer + ((curdata->w - j + 1) * bo_stride) + i, &src_row, 4); -+ } - } - - /* Dump the cursor buffer to our GBM BO. */ -@@ -370,6 +373,7 @@ static int KMSDRM_WarpMouseGlobal(int x, int y) - - SDL_Window *window = mouse->focus; - SDL_DisplayData *dispdata = (SDL_DisplayData *)SDL_GetDisplayForWindow(window)->driverdata; -+ KMSDRM_CursorData *curdata = mouse->cur_cursor->driverdata; - - /* Update internal mouse position. */ - SDL_SendMouseMotion(mouse->focus, mouse->mouseID, 0, x, y); -@@ -378,7 +382,7 @@ static int KMSDRM_WarpMouseGlobal(int x, int y) - if (dispdata->cursor_bo) { - int ret = 0; - -- ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, x, y); -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, y, dispdata->mode.vdisplay + curdata->w - x); - - if (ret) { - SDL_SetError("drmModeMoveCursor() failed."); -@@ -432,13 +436,14 @@ static void KMSDRM_MoveCursor(SDL_Cursor *cursor) - - SDL_Window *window = mouse->focus; - SDL_DisplayData *dispdata = (SDL_DisplayData *)SDL_GetDisplayForWindow(window)->driverdata; -+ KMSDRM_CursorData *curdata = mouse->cur_cursor->driverdata; - - if (!dispdata->cursor_bo) { - SDL_SetError("Cursor not initialized properly."); - return; - } - -- ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, mouse->x, mouse->y); -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, mouse->y, dispdata->mode.vdisplay - curdata->w - mouse->x); - - if (ret) { - SDL_SetError("drmModeMoveCursor() failed."); --- -2.20.1 - diff --git a/packages/graphics/SDL2/patches/RK3566-BSP-X55/0003-Implement-librga-framebuffer-rotation.patch b/packages/graphics/SDL2/patches/RK3566-BSP-X55/0003-Implement-librga-framebuffer-rotation.patch deleted file mode 100644 index 3302bae66..000000000 --- a/packages/graphics/SDL2/patches/RK3566-BSP-X55/0003-Implement-librga-framebuffer-rotation.patch +++ /dev/null @@ -1,305 +0,0 @@ -From d60c64d4142a0a706632c50b79474ee51464f973 Mon Sep 17 00:00:00 2001 -From: Johnny on Flame -Date: Sun, 6 Aug 2023 20:57:02 +0000 -Subject: [PATCH 3/7] Implement librga framebuffer rotation. - ---- - CMakeLists.txt | 2 +- - Makefile.in | 2 +- - src/video/kmsdrm/SDL_kmsdrmopengles.c | 26 +++++++++- - src/video/kmsdrm/SDL_kmsdrmsym.h | 2 +- - src/video/kmsdrm/SDL_kmsdrmvideo.c | 75 +++++++++++++++++++++++---- - src/video/kmsdrm/SDL_kmsdrmvideo.h | 8 +++ - 6 files changed, 102 insertions(+), 13 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d6c82c819..374f24e85 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -663,7 +663,7 @@ if(USE_GCC OR USE_CLANG OR USE_INTELCC) - check_c_compiler_flag("" HAVE_NO_UNDEFINED) - set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS}) - if(HAVE_NO_UNDEFINED AND NOT (USE_CLANG AND WINDOWS)) -- list(APPEND EXTRA_LDFLAGS_BUILD "-Wl,--no-undefined") -+ list(APPEND EXTRA_LDFLAGS_BUILD "-Wl,--no-undefined -lrga") - endif() - endif() - -diff --git a/Makefile.in b/Makefile.in -index eb4c4bc1a..5cd04eeec 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -23,7 +23,7 @@ CXX = @CXX@ - INCLUDE = @INCLUDE@ - CFLAGS = @BUILD_CFLAGS@ - EXTRA_CFLAGS = @EXTRA_CFLAGS@ --LDFLAGS = @BUILD_LDFLAGS@ -+LDFLAGS = @BUILD_LDFLAGS@ -lrga - EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ - LIBTOOL = @LIBTOOL@ - INSTALL = @INSTALL@ -diff --git a/src/video/kmsdrm/SDL_kmsdrmopengles.c b/src/video/kmsdrm/SDL_kmsdrmopengles.c -index 487168203..47db85ef1 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmopengles.c -+++ b/src/video/kmsdrm/SDL_kmsdrmopengles.c -@@ -29,11 +29,15 @@ - #include "SDL_kmsdrmopengles.h" - #include "SDL_kmsdrmdyn.h" - #include -+#include - - #ifndef EGL_PLATFORM_GBM_MESA - #define EGL_PLATFORM_GBM_MESA 0x31D7 - #endif - -+extern rga_info_t src_info; -+extern rga_info_t dst_info; -+ - /* EGL implementation of SDL OpenGL support */ - - void KMSDRM_GLES_DefaultProfileConfig(_THIS, int *mask, int *major, int *minor) -@@ -93,6 +97,7 @@ int KMSDRM_GLES_SwapWindow(_THIS, SDL_Window *window) - SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata); - KMSDRM_FBInfo *fb_info; - int ret = 0; -+ struct gbm_bo* rga_buffer = NULL; - - /* Always wait for the previous issued flip before issuing a new one, - even if you do async flips. */ -@@ -136,7 +141,26 @@ int KMSDRM_GLES_SwapWindow(_THIS, SDL_Window *window) - } - - /* Get an actual usable fb for the next front buffer. */ -- fb_info = KMSDRM_FBFromBO(_this, windata->next_bo); -+ if (src_info.fd) { -+ close(src_info.fd); -+ } -+ src_info.fd = KMSDRM_gbm_bo_get_fd(windata->next_bo); -+ dst_info.fd = viddata->rga_buffer_prime_fds[viddata->rga_buffer_index]; -+ if (c_RkRgaBlit(&src_info, &dst_info, NULL) < 0) { -+ SDL_LogError(SDL_LOG_CATEGORY_VIDEO, -+ "Failed to rga blit\n"); -+ } -+ -+ rga_buffer = viddata->rga_buffers[viddata->rga_buffer_index]; -+ fb_info = KMSDRM_FBFromBO(_this, rga_buffer); -+ -+ if (!fb_info) { -+ SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "Could not get a framebuffer"); -+ return 0; -+ } -+ -+ viddata->rga_buffer_index = (viddata->rga_buffer_index + 1) % RGA_BUFFERS_MAX; -+ - if (fb_info == NULL) { - SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "Could not get a framebuffer"); - return 0; -diff --git a/src/video/kmsdrm/SDL_kmsdrmsym.h b/src/video/kmsdrm/SDL_kmsdrmsym.h -index 8b9e7b257..b33373805 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmsym.h -+++ b/src/video/kmsdrm/SDL_kmsdrmsym.h -@@ -122,7 +122,7 @@ SDL_KMSDRM_SYM(struct gbm_surface *,gbm_surface_create,(struct gbm_device *gbm, - SDL_KMSDRM_SYM(void,gbm_surface_destroy,(struct gbm_surface *surf)) - SDL_KMSDRM_SYM(struct gbm_bo *,gbm_surface_lock_front_buffer,(struct gbm_surface *surf)) - SDL_KMSDRM_SYM(void,gbm_surface_release_buffer,(struct gbm_surface *surf, struct gbm_bo *bo)) -- -+SDL_KMSDRM_SYM(int,gbm_bo_get_fd,(struct gbm_bo *bo)) - - #undef SDL_KMSDRM_MODULE - #undef SDL_KMSDRM_SYM -diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c -index ebe15fe9c..c5340afa8 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmvideo.c -+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c -@@ -44,6 +44,7 @@ - #include "SDL_kmsdrmopengles.h" - #include "SDL_kmsdrmmouse.h" - #include "SDL_kmsdrmdyn.h" -+#include - #include "SDL_kmsdrmvulkan.h" - #include - #include -@@ -51,6 +52,7 @@ - #include - #include - #include -+#include - - #ifdef __OpenBSD__ - static SDL_bool moderndri = SDL_FALSE; -@@ -68,6 +70,9 @@ static char kmsdrm_dri_cardpath[32]; - #define EGL_PLATFORM_GBM_MESA 0x31D7 - #endif - -+rga_info_t src_info = {0}; -+rga_info_t dst_info = {0}; -+ - static int get_driindex(void) - { - int available = -ENOENT; -@@ -330,6 +335,46 @@ static void KMSDRM_FBDestroyCallback(struct gbm_bo *bo, void *data) - SDL_free(fb_info); - } - -+static void -+KMSDRM_InitRotateBuffer(_THIS, int frameWidth, int frameHeight) -+{ -+ int l_frameHeight; -+ SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata); -+ -+ // initialize 2D raster graphic acceleration unit (RGA) -+ c_RkRgaInit(); -+ -+ l_frameHeight = frameHeight; -+ if(l_frameHeight % 32 != 0) { -+ l_frameHeight = (frameHeight + 32) & (~31); -+ } -+ -+ // create buffers for RGA with adjusted stride -+ for (int i = 0; i < RGA_BUFFERS_MAX; ++i) -+ { -+ viddata->rga_buffers[i] = KMSDRM_gbm_bo_create(viddata->gbm_dev, -+ frameWidth, l_frameHeight, -+ GBM_FORMAT_XRGB8888, GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING); -+ assert(viddata->rga_buffers[i]); -+ -+ viddata->rga_buffer_prime_fds[i] = KMSDRM_gbm_bo_get_fd(viddata->rga_buffers[i]); -+ } -+ viddata->rga_buffer_index = 0; -+ -+ // setup rotation -+ src_info.fd = -1; -+ src_info.mmuFlag = 1; -+ src_info.rotation = HAL_TRANSFORM_ROT_270; -+ -+ // swap width and height and adjust stride here because our source buffer is 480x854 -+ rga_set_rect(&src_info.rect, 0, 0, frameHeight, frameWidth, l_frameHeight, frameWidth, RK_FORMAT_BGRA_8888); -+ -+ dst_info.fd = -1; -+ dst_info.mmuFlag = 1; -+ -+ rga_set_rect(&dst_info.rect, 0, 0, frameWidth, frameHeight, frameWidth, frameHeight, RK_FORMAT_BGRA_8888); -+} -+ - KMSDRM_FBInfo *KMSDRM_FBFromBO(_THIS, struct gbm_bo *bo) - { - SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata); -@@ -848,8 +893,8 @@ static void KMSDRM_AddDisplay(_THIS, drmModeConnector *connector, drmModeRes *re - modedata->mode_index = mode_index; - - display.driverdata = dispdata; -- display.desktop_mode.w = dispdata->mode.hdisplay; -- display.desktop_mode.h = dispdata->mode.vdisplay; -+ display.desktop_mode.w = dispdata->mode.vdisplay; -+ display.desktop_mode.h = dispdata->mode.hdisplay; - display.desktop_mode.refresh_rate = dispdata->mode.vrefresh; - display.desktop_mode.format = SDL_PIXELFORMAT_ARGB8888; - display.desktop_mode.driverdata = modedata; -@@ -1124,7 +1169,8 @@ static void KMSDRM_DirtySurfaces(SDL_Window *window) - or SetWindowFullscreen, send a fake event for now since the actual - recreation is deferred */ - KMSDRM_GetModeToSet(window, &mode); -- SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode.hdisplay, mode.vdisplay); -+ SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode.vdisplay, mode.hdisplay); -+ - } - - /* This determines the size of the fb, which comes from the GBM surface -@@ -1159,13 +1205,13 @@ int KMSDRM_CreateSurfaces(_THIS, SDL_Window *window) - mode that's set in sync with what SDL_video.c thinks is set */ - KMSDRM_GetModeToSet(window, &dispdata->mode); - -- display->current_mode.w = dispdata->mode.hdisplay; -- display->current_mode.h = dispdata->mode.vdisplay; -+ display->current_mode.w = dispdata->mode.vdisplay; -+ display->current_mode.h = dispdata->mode.hdisplay; - display->current_mode.refresh_rate = dispdata->mode.vrefresh; - display->current_mode.format = SDL_PIXELFORMAT_ARGB8888; - - windata->gs = KMSDRM_gbm_surface_create(viddata->gbm_dev, -- dispdata->mode.hdisplay, dispdata->mode.vdisplay, -+ dispdata->mode.vdisplay, dispdata->mode.hdisplay, - surface_fmt, surface_flags); - - if (!windata->gs) { -@@ -1189,7 +1235,7 @@ int KMSDRM_CreateSurfaces(_THIS, SDL_Window *window) - ret = SDL_EGL_MakeCurrent(_this, windata->egl_surface, egl_context); - - SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, -- dispdata->mode.hdisplay, dispdata->mode.vdisplay); -+ dispdata->mode.vdisplay, dispdata->mode.hdisplay); - - windata->egl_surface_dirty = SDL_FALSE; - -@@ -1272,8 +1318,8 @@ void KMSDRM_GetDisplayModes(_THIS, SDL_VideoDisplay *display) - modedata->mode_index = i; - } - -- mode.w = conn->modes[i].hdisplay; -- mode.h = conn->modes[i].vdisplay; -+ mode.w = conn->modes[i].vdisplay; -+ mode.h = conn->modes[i].hdisplay; - mode.refresh_rate = conn->modes[i].vrefresh; - mode.format = SDL_PIXELFORMAT_ARGB8888; - mode.driverdata = modedata; -@@ -1386,6 +1432,13 @@ void KMSDRM_DestroyWindow(_THIS, SDL_Window *window) - /*********************************************************************/ - SDL_free(window->driverdata); - window->driverdata = NULL; -+ for (int i = 0; i < RGA_BUFFERS_MAX; ++i) { -+ close(viddata->rga_buffer_prime_fds[i]); -+ } -+ if (src_info.fd) { -+ close(src_info.fd); -+ } -+ c_RkRgaDeInit(); - } - - /**********************************************************************/ -@@ -1404,6 +1457,7 @@ int KMSDRM_CreateWindow(_THIS, SDL_Window *window) - NativeDisplayType egl_display; - drmModeModeInfo *mode; - int ret = 0; -+ SDL_DisplayData *data; - - /* Allocate window internal data */ - windata = (SDL_WindowData *)SDL_calloc(1, sizeof(SDL_WindowData)); -@@ -1519,6 +1573,9 @@ int KMSDRM_CreateWindow(_THIS, SDL_Window *window) - SDL_SetMouseFocus(window); - SDL_SetKeyboardFocus(window); - -+ data = (SDL_DisplayData *) SDL_GetDisplayForWindow(window)->driverdata; -+ KMSDRM_InitRotateBuffer(_this, data->mode.hdisplay, data->mode.vdisplay); -+ - /* Tell the app that the window has moved to top-left. */ - SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MOVED, 0, 0); - -diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.h b/src/video/kmsdrm/SDL_kmsdrmvideo.h -index b48f6ef70..890575fb8 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmvideo.h -+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.h -@@ -32,6 +32,10 @@ - #include - #include - #include -+#include -+#include -+ -+#define RGA_BUFFERS_MAX (3) - - typedef struct SDL_VideoData - { -@@ -53,6 +57,10 @@ typedef struct SDL_VideoData - open 1 FD and create 1 gbm device. */ - SDL_bool gbm_init; - -+ struct gbm_bo* rga_buffers[RGA_BUFFERS_MAX]; -+ int rga_buffer_prime_fds[RGA_BUFFERS_MAX]; -+ int rga_buffer_index; -+ - } SDL_VideoData; - - typedef struct SDL_DisplayModeData --- -2.20.1 - diff --git a/packages/graphics/SDL2/patches/RK3566-BSP-X55/0005-KMSDRM-Rotation-should-respect-panel-orientation.patch b/packages/graphics/SDL2/patches/RK3566-BSP-X55/0005-KMSDRM-Rotation-should-respect-panel-orientation.patch deleted file mode 100644 index ff5f01d2e..000000000 --- a/packages/graphics/SDL2/patches/RK3566-BSP-X55/0005-KMSDRM-Rotation-should-respect-panel-orientation.patch +++ /dev/null @@ -1,356 +0,0 @@ -From 0e53103957dd75be9140a474be343a6b7cc3cc9e Mon Sep 17 00:00:00 2001 -From: JohnnyonFlame -Date: Tue, 8 Aug 2023 03:55:43 -0300 -Subject: [PATCH 5/7] KMSDRM: Rotation should respect panel orientation. - ---- - src/video/kmsdrm/SDL_kmsdrmdyn.h | 8 ++ - src/video/kmsdrm/SDL_kmsdrmmouse.c | 60 +++++++++++++- - src/video/kmsdrm/SDL_kmsdrmvideo.c | 122 +++++++++++++++++++++++------ - src/video/kmsdrm/SDL_kmsdrmvideo.h | 2 + - 4 files changed, 166 insertions(+), 26 deletions(-) - -diff --git a/src/video/kmsdrm/SDL_kmsdrmdyn.h b/src/video/kmsdrm/SDL_kmsdrmdyn.h -index 319e3f0e3..e17e97e8e 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmdyn.h -+++ b/src/video/kmsdrm/SDL_kmsdrmdyn.h -@@ -32,6 +32,14 @@ - extern "C" { - #endif - -+enum drm_panel_orientation { -+ DRM_MODE_PANEL_ORIENTATION_UNKNOWN = -1, -+ DRM_MODE_PANEL_ORIENTATION_NORMAL = 0, -+ DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP, -+ DRM_MODE_PANEL_ORIENTATION_LEFT_UP, -+ DRM_MODE_PANEL_ORIENTATION_RIGHT_UP, -+}; -+ - int SDL_KMSDRM_LoadSymbols(void); - void SDL_KMSDRM_UnloadSymbols(void); - -diff --git a/src/video/kmsdrm/SDL_kmsdrmmouse.c b/src/video/kmsdrm/SDL_kmsdrmmouse.c -index 4c445ecf1..5dcaaaab6 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmmouse.c -+++ b/src/video/kmsdrm/SDL_kmsdrmmouse.c -@@ -170,10 +170,30 @@ static int KMSDRM_DumpCursorToBO(SDL_VideoDisplay *display, SDL_Cursor *cursor) - } - - /* Copy from the cursor buffer to a buffer that we can dump to the GBM BO. */ -+ uintptr_t src_buf = (uintptr_t)curdata->buffer; -+ uintptr_t dst_buf = (uintptr_t)ready_buffer; - for (i = 0; i < curdata->h; i++) { - for (j = 0; j < curdata->w; j++) { -- src_row = ((uint32_t*)curdata->buffer)[i * curdata->w + j]; -- SDL_memcpy(ready_buffer + ((curdata->w - j + 1) * bo_stride) + i, &src_row, 4); -+ uintptr_t src_pixel = src_buf + (i * curdata->w + j) * 4; -+ uintptr_t dst_pixel; -+ -+ int x, y; -+ if (dispdata->orientation == 0) { -+ x = j; -+ y = i; -+ } else if (dispdata->orientation == 1) { -+ x = curdata->w - i - 1; -+ y = j; -+ } else if (dispdata->orientation == 2) { -+ x = curdata->h - j - 1; -+ y = curdata->w - i - 1; -+ } else if (dispdata->orientation == 3) { -+ x = i; -+ y = curdata->h - j - 1; -+ } -+ -+ dst_pixel = dst_buf + (y * bo_stride + x * sizeof(uint32_t)); -+ *(uint32_t*)dst_pixel = *(uint32_t*)src_pixel; - } - } - -@@ -382,7 +402,23 @@ static int KMSDRM_WarpMouseGlobal(int x, int y) - if (dispdata->cursor_bo) { - int ret = 0; - -- ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, y, dispdata->mode.vdisplay + curdata->w - x); -+ if (dispdata->orientation == 0) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ x, -+ y); -+ } else if (dispdata->orientation == 1) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ dispdata->mode.hdisplay - curdata->h - y, -+ x); -+ } else if (dispdata->orientation == 2) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ dispdata->mode.hdisplay - curdata->w - x, -+ dispdata->mode.vdisplay - curdata->h - y); -+ } else if (dispdata->orientation == 3) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ y, -+ dispdata->mode.vdisplay - curdata->w - x); -+ } - - if (ret) { - SDL_SetError("drmModeMoveCursor() failed."); -@@ -443,7 +479,23 @@ static void KMSDRM_MoveCursor(SDL_Cursor *cursor) - return; - } - -- ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, mouse->y, dispdata->mode.vdisplay - curdata->w - mouse->x); -+ if (dispdata->orientation == 0) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ mouse->x, -+ mouse->y); -+ } else if (dispdata->orientation == 1) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ dispdata->mode.hdisplay - curdata->h - mouse->y, -+ mouse->x); -+ } else if (dispdata->orientation == 2) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ dispdata->mode.hdisplay - curdata->w - mouse->x, -+ dispdata->mode.vdisplay - curdata->h - mouse->y); -+ } else if (dispdata->orientation == 3) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ mouse->y, -+ dispdata->mode.vdisplay - curdata->w - mouse->x); -+ } - - if (ret) { - SDL_SetError("drmModeMoveCursor() failed."); -diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c -index c5340afa8..663c4707c 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmvideo.c -+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c -@@ -336,24 +336,27 @@ static void KMSDRM_FBDestroyCallback(struct gbm_bo *bo, void *data) - } - - static void --KMSDRM_InitRotateBuffer(_THIS, int frameWidth, int frameHeight) -+KMSDRM_InitRotateBuffer(_THIS, int orientation, int frameWidth, int frameHeight) - { -- int l_frameHeight; -+ int l_frameHeight, l_frameWidth; - SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata); - - // initialize 2D raster graphic acceleration unit (RGA) - c_RkRgaInit(); - -- l_frameHeight = frameHeight; -- if(l_frameHeight % 32 != 0) { -- l_frameHeight = (frameHeight + 32) & (~31); -+ if (orientation & 1) { -+ l_frameWidth = frameWidth; -+ l_frameHeight = (frameHeight + 31) & (~31); -+ } else { -+ l_frameWidth = (frameWidth + 31) & (~31); -+ l_frameHeight = frameHeight; - } - - // create buffers for RGA with adjusted stride - for (int i = 0; i < RGA_BUFFERS_MAX; ++i) - { - viddata->rga_buffers[i] = KMSDRM_gbm_bo_create(viddata->gbm_dev, -- frameWidth, l_frameHeight, -+ l_frameWidth, l_frameHeight, - GBM_FORMAT_XRGB8888, GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING); - assert(viddata->rga_buffers[i]); - -@@ -364,10 +367,18 @@ KMSDRM_InitRotateBuffer(_THIS, int frameWidth, int frameHeight) - // setup rotation - src_info.fd = -1; - src_info.mmuFlag = 1; -- src_info.rotation = HAL_TRANSFORM_ROT_270; -+ switch (orientation) { -+ default: src_info.rotation = 0; break; -+ case 1: src_info.rotation = HAL_TRANSFORM_ROT_90; break; -+ case 2: src_info.rotation = HAL_TRANSFORM_ROT_180; break; -+ case 3: src_info.rotation = HAL_TRANSFORM_ROT_270; break; -+ } - - // swap width and height and adjust stride here because our source buffer is 480x854 -- rga_set_rect(&src_info.rect, 0, 0, frameHeight, frameWidth, l_frameHeight, frameWidth, RK_FORMAT_BGRA_8888); -+ if (orientation & 1) -+ rga_set_rect(&src_info.rect, 0, 0, frameHeight, frameWidth, l_frameHeight, l_frameWidth, RK_FORMAT_BGRA_8888); -+ else -+ rga_set_rect(&src_info.rect, 0, 0, frameWidth, frameHeight, l_frameWidth, l_frameHeight, RK_FORMAT_BGRA_8888); - - dst_info.fd = -1; - dst_info.mmuFlag = 1; -@@ -617,6 +628,52 @@ static SDL_bool KMSDRM_VrrPropId(uint32_t drm_fd, uint32_t crtc_id, uint32_t *vr - return SDL_TRUE; - } - -+static int KMSDRM_ConnectorGetOrientation(uint32_t drm_fd, -+ uint32_t output_id) -+{ -+ uint32_t i; -+ SDL_bool found = SDL_FALSE; -+ uint64_t orientation = DRM_MODE_PANEL_ORIENTATION_NORMAL; -+ -+ drmModeObjectPropertiesPtr props = KMSDRM_drmModeObjectGetProperties(drm_fd, -+ output_id, -+ DRM_MODE_OBJECT_CONNECTOR); -+ -+ // Allow forcing specific orientations for debugging. -+ const char *override = SDL_getenv("SDL_KMSDRM_ORIENTATION"); -+ if (override && override[0] != '\0') { -+ int val = SDL_atoi(override); -+ return SDL_clamp(val, 0, 3); -+ } -+ -+ if (!props) { -+ return 0; -+ } -+ -+ for (i = 0; !found && i < props->count_props; ++i) { -+ drmModePropertyPtr drm_prop = KMSDRM_drmModeGetProperty(drm_fd, props->props[i]); -+ -+ if (!drm_prop) { -+ continue; -+ } -+ -+ if (SDL_strcasecmp(drm_prop->name, "panel orientation") == 0) { -+ orientation = props->prop_values[i]; -+ found = SDL_TRUE; -+ } -+ -+ KMSDRM_drmModeFreeProperty(drm_prop); -+ } -+ -+ /* librga expresses rotations clockwise. (e.g., dts = 90? rga = 270!) */ -+ switch (orientation) { -+ default: return 0; -+ case DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP: return 2; -+ case DRM_MODE_PANEL_ORIENTATION_LEFT_UP: return 1; -+ case DRM_MODE_PANEL_ORIENTATION_RIGHT_UP: return 3; -+ } -+} -+ - static SDL_bool KMSDRM_ConnectorCheckVrrCapable(uint32_t drm_fd, - uint32_t output_id, - char const *name) -@@ -869,6 +926,8 @@ static void KMSDRM_AddDisplay(_THIS, drmModeConnector *connector, drmModeRes *re - dispdata->connector = connector; - dispdata->crtc = crtc; - -+ /* store current connector orientation */ -+ dispdata->orientation = KMSDRM_ConnectorGetOrientation(viddata->drm_fd, connector->connector_id); - /* save previous vrr state */ - dispdata->saved_vrr = KMSDRM_CrtcGetVrr(viddata->drm_fd, crtc->crtc_id); - /* try to enable vrr */ -@@ -893,8 +952,13 @@ static void KMSDRM_AddDisplay(_THIS, drmModeConnector *connector, drmModeRes *re - modedata->mode_index = mode_index; - - display.driverdata = dispdata; -- display.desktop_mode.w = dispdata->mode.vdisplay; -- display.desktop_mode.h = dispdata->mode.hdisplay; -+ if (dispdata->orientation & 1) { -+ display.desktop_mode.w = dispdata->mode.vdisplay; -+ display.desktop_mode.h = dispdata->mode.hdisplay; -+ } else { -+ display.desktop_mode.w = dispdata->mode.hdisplay; -+ display.desktop_mode.h = dispdata->mode.vdisplay; -+ } - display.desktop_mode.refresh_rate = dispdata->mode.vrefresh; - display.desktop_mode.format = SDL_PIXELFORMAT_ARGB8888; - display.desktop_mode.driverdata = modedata; -@@ -1158,8 +1222,10 @@ static void KMSDRM_GetModeToSet(SDL_Window *window, drmModeModeInfo *out_mode) - - static void KMSDRM_DirtySurfaces(SDL_Window *window) - { -- SDL_WindowData *windata = (SDL_WindowData *)window->driverdata; - drmModeModeInfo mode; -+ SDL_WindowData *windata = (SDL_WindowData *)window->driverdata; -+ SDL_VideoDisplay *display = SDL_GetDisplayForWindow(window); -+ SDL_DisplayData *dispdata = (SDL_DisplayData *)display->driverdata; - - /* Can't recreate EGL surfaces right now, need to wait until SwapWindow - so the correct thread-local surface and context state are available */ -@@ -1169,8 +1235,10 @@ static void KMSDRM_DirtySurfaces(SDL_Window *window) - or SetWindowFullscreen, send a fake event for now since the actual - recreation is deferred */ - KMSDRM_GetModeToSet(window, &mode); -- SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode.vdisplay, mode.hdisplay); -- -+ if (dispdata->orientation & 1) -+ SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode.vdisplay, mode.hdisplay); -+ else -+ SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode.hdisplay, mode.vdisplay); - } - - /* This determines the size of the fb, which comes from the GBM surface -@@ -1204,14 +1272,18 @@ int KMSDRM_CreateSurfaces(_THIS, SDL_Window *window) - SDL_video.c expects. Hulk-smash the display's current_mode to keep the - mode that's set in sync with what SDL_video.c thinks is set */ - KMSDRM_GetModeToSet(window, &dispdata->mode); -- -- display->current_mode.w = dispdata->mode.vdisplay; -- display->current_mode.h = dispdata->mode.hdisplay; -+ if (dispdata->orientation & 1) { -+ display->current_mode.w = dispdata->mode.vdisplay; -+ display->current_mode.h = dispdata->mode.hdisplay; -+ } else { -+ display->current_mode.w = dispdata->mode.hdisplay; -+ display->current_mode.h = dispdata->mode.vdisplay; -+ } - display->current_mode.refresh_rate = dispdata->mode.vrefresh; - display->current_mode.format = SDL_PIXELFORMAT_ARGB8888; - - windata->gs = KMSDRM_gbm_surface_create(viddata->gbm_dev, -- dispdata->mode.vdisplay, dispdata->mode.hdisplay, -+ display->current_mode.w, display->current_mode.h, - surface_fmt, surface_flags); - - if (!windata->gs) { -@@ -1235,7 +1307,7 @@ int KMSDRM_CreateSurfaces(_THIS, SDL_Window *window) - ret = SDL_EGL_MakeCurrent(_this, windata->egl_surface, egl_context); - - SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, -- dispdata->mode.vdisplay, dispdata->mode.hdisplay); -+ display->current_mode.w, display->current_mode.h); - - windata->egl_surface_dirty = SDL_FALSE; - -@@ -1318,8 +1390,14 @@ void KMSDRM_GetDisplayModes(_THIS, SDL_VideoDisplay *display) - modedata->mode_index = i; - } - -- mode.w = conn->modes[i].vdisplay; -- mode.h = conn->modes[i].hdisplay; -+ if (dispdata->orientation & 1) { -+ mode.w = conn->modes[i].vdisplay; -+ mode.h = conn->modes[i].hdisplay; -+ } else { -+ mode.w = conn->modes[i].hdisplay; -+ mode.h = conn->modes[i].vdisplay; -+ } -+ - mode.refresh_rate = conn->modes[i].vrefresh; - mode.format = SDL_PIXELFORMAT_ARGB8888; - mode.driverdata = modedata; -@@ -1573,8 +1651,8 @@ int KMSDRM_CreateWindow(_THIS, SDL_Window *window) - SDL_SetMouseFocus(window); - SDL_SetKeyboardFocus(window); - -- data = (SDL_DisplayData *) SDL_GetDisplayForWindow(window)->driverdata; -- KMSDRM_InitRotateBuffer(_this, data->mode.hdisplay, data->mode.vdisplay); -+ data = (SDL_DisplayData *) SDL_GetDisplayForWindow(window)->driverdata; -+ KMSDRM_InitRotateBuffer(_this, dispdata->orientation, data->mode.hdisplay, data->mode.vdisplay); - - /* Tell the app that the window has moved to top-left. */ - SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MOVED, 0, 0); -diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.h b/src/video/kmsdrm/SDL_kmsdrmvideo.h -index 890575fb8..8d2dc646f 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmvideo.h -+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.h -@@ -78,6 +78,8 @@ typedef struct SDL_DisplayData - - drmModeCrtc *saved_crtc; /* CRTC to restore on quit */ - SDL_bool saved_vrr; -+ -+ uint64_t orientation; - - /* DRM & GBM cursor stuff lives here, not in an SDL_Cursor's driverdata struct, - because setting/unsetting up these is done on window creation/destruction, --- -2.20.1 - diff --git a/packages/graphics/SDL2/patches/RK3566-BSP/0003-Implement-librga-framebuffer-rotation.patch b/packages/graphics/SDL2/patches/RK3566-BSP/0003-Implement-librga-framebuffer-rotation.patch deleted file mode 100644 index c39da6d5c..000000000 --- a/packages/graphics/SDL2/patches/RK3566-BSP/0003-Implement-librga-framebuffer-rotation.patch +++ /dev/null @@ -1,248 +0,0 @@ -From d60c64d4142a0a706632c50b79474ee51464f973 Mon Sep 17 00:00:00 2001 -From: Johnny on Flame -Date: Sun, 6 Aug 2023 20:57:02 +0000 -Subject: [PATCH 3/7] Implement librga framebuffer rotation. - ---- - CMakeLists.txt | 2 +- - Makefile.in | 2 +- - src/video/kmsdrm/SDL_kmsdrmsym.h | 2 +- - src/video/kmsdrm/SDL_kmsdrmvideo.c | 75 +++++++++++++++++++++++---- - src/video/kmsdrm/SDL_kmsdrmvideo.h | 8 +++ - 6 files changed, 102 insertions(+), 13 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index d6c82c819..374f24e85 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -663,7 +663,7 @@ if(USE_GCC OR USE_CLANG OR USE_INTELCC) - check_c_compiler_flag("" HAVE_NO_UNDEFINED) - set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS}) - if(HAVE_NO_UNDEFINED AND NOT (USE_CLANG AND WINDOWS)) -- list(APPEND EXTRA_LDFLAGS_BUILD "-Wl,--no-undefined") -+ list(APPEND EXTRA_LDFLAGS_BUILD "-Wl,--no-undefined -lrga") - endif() - endif() - -diff --git a/Makefile.in b/Makefile.in -index eb4c4bc1a..5cd04eeec 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -23,7 +23,7 @@ CXX = @CXX@ - INCLUDE = @INCLUDE@ - CFLAGS = @BUILD_CFLAGS@ - EXTRA_CFLAGS = @EXTRA_CFLAGS@ --LDFLAGS = @BUILD_LDFLAGS@ -+LDFLAGS = @BUILD_LDFLAGS@ -lrga - EXTRA_LDFLAGS = @EXTRA_LDFLAGS@ - LIBTOOL = @LIBTOOL@ - INSTALL = @INSTALL@ -diff --git a/src/video/kmsdrm/SDL_kmsdrmsym.h b/src/video/kmsdrm/SDL_kmsdrmsym.h -index 8b9e7b257..b33373805 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmsym.h -+++ b/src/video/kmsdrm/SDL_kmsdrmsym.h -@@ -122,7 +122,7 @@ SDL_KMSDRM_SYM(struct gbm_surface *,gbm_surface_create,(struct gbm_device *gbm, - SDL_KMSDRM_SYM(void,gbm_surface_destroy,(struct gbm_surface *surf)) - SDL_KMSDRM_SYM(struct gbm_bo *,gbm_surface_lock_front_buffer,(struct gbm_surface *surf)) - SDL_KMSDRM_SYM(void,gbm_surface_release_buffer,(struct gbm_surface *surf, struct gbm_bo *bo)) -- -+SDL_KMSDRM_SYM(int,gbm_bo_get_fd,(struct gbm_bo *bo)) - - #undef SDL_KMSDRM_MODULE - #undef SDL_KMSDRM_SYM -diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c -index ebe15fe9c..c5340afa8 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmvideo.c -+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c -@@ -44,6 +44,7 @@ - #include "SDL_kmsdrmopengles.h" - #include "SDL_kmsdrmmouse.h" - #include "SDL_kmsdrmdyn.h" -+#include - #include "SDL_kmsdrmvulkan.h" - #include - #include -@@ -51,6 +52,7 @@ - #include - #include - #include -+#include - - #ifdef __OpenBSD__ - static SDL_bool moderndri = SDL_FALSE; -@@ -68,6 +70,9 @@ static char kmsdrm_dri_cardpath[32]; - #define EGL_PLATFORM_GBM_MESA 0x31D7 - #endif - -+rga_info_t src_info = {0}; -+rga_info_t dst_info = {0}; -+ - static int get_driindex(void) - { - int available = -ENOENT; -@@ -330,6 +335,46 @@ static void KMSDRM_FBDestroyCallback(struct gbm_bo *bo, void *data) - SDL_free(fb_info); - } - -+static void -+KMSDRM_InitRotateBuffer(_THIS, int frameWidth, int frameHeight) -+{ -+ int l_frameHeight; -+ SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata); -+ -+ // initialize 2D raster graphic acceleration unit (RGA) -+ c_RkRgaInit(); -+ -+ l_frameHeight = frameHeight; -+ if(l_frameHeight % 32 != 0) { -+ l_frameHeight = (frameHeight + 32) & (~31); -+ } -+ -+ // create buffers for RGA with adjusted stride -+ for (int i = 0; i < RGA_BUFFERS_MAX; ++i) -+ { -+ viddata->rga_buffers[i] = KMSDRM_gbm_bo_create(viddata->gbm_dev, -+ frameWidth, l_frameHeight, -+ GBM_FORMAT_XRGB8888, GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING); -+ assert(viddata->rga_buffers[i]); -+ -+ viddata->rga_buffer_prime_fds[i] = KMSDRM_gbm_bo_get_fd(viddata->rga_buffers[i]); -+ } -+ viddata->rga_buffer_index = 0; -+ -+ // setup rotation -+ src_info.fd = -1; -+ src_info.mmuFlag = 1; -+ src_info.rotation = HAL_TRANSFORM_ROT_270; -+ -+ // swap width and height and adjust stride here because our source buffer is 480x854 -+ rga_set_rect(&src_info.rect, 0, 0, frameHeight, frameWidth, l_frameHeight, frameWidth, RK_FORMAT_BGRA_8888); -+ -+ dst_info.fd = -1; -+ dst_info.mmuFlag = 1; -+ -+ rga_set_rect(&dst_info.rect, 0, 0, frameWidth, frameHeight, frameWidth, frameHeight, RK_FORMAT_BGRA_8888); -+} -+ - KMSDRM_FBInfo *KMSDRM_FBFromBO(_THIS, struct gbm_bo *bo) - { - SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata); -@@ -848,8 +893,8 @@ static void KMSDRM_AddDisplay(_THIS, drmModeConnector *connector, drmModeRes *re - modedata->mode_index = mode_index; - - display.driverdata = dispdata; -- display.desktop_mode.w = dispdata->mode.hdisplay; -- display.desktop_mode.h = dispdata->mode.vdisplay; -+ display.desktop_mode.w = dispdata->mode.vdisplay; -+ display.desktop_mode.h = dispdata->mode.hdisplay; - display.desktop_mode.refresh_rate = dispdata->mode.vrefresh; - display.desktop_mode.format = SDL_PIXELFORMAT_ARGB8888; - display.desktop_mode.driverdata = modedata; -@@ -1124,7 +1169,8 @@ static void KMSDRM_DirtySurfaces(SDL_Window *window) - or SetWindowFullscreen, send a fake event for now since the actual - recreation is deferred */ - KMSDRM_GetModeToSet(window, &mode); -- SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode.hdisplay, mode.vdisplay); -+ SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode.vdisplay, mode.hdisplay); -+ - } - - /* This determines the size of the fb, which comes from the GBM surface -@@ -1159,13 +1205,13 @@ int KMSDRM_CreateSurfaces(_THIS, SDL_Window *window) - mode that's set in sync with what SDL_video.c thinks is set */ - KMSDRM_GetModeToSet(window, &dispdata->mode); - -- display->current_mode.w = dispdata->mode.hdisplay; -- display->current_mode.h = dispdata->mode.vdisplay; -+ display->current_mode.w = dispdata->mode.vdisplay; -+ display->current_mode.h = dispdata->mode.hdisplay; - display->current_mode.refresh_rate = dispdata->mode.vrefresh; - display->current_mode.format = SDL_PIXELFORMAT_ARGB8888; - - windata->gs = KMSDRM_gbm_surface_create(viddata->gbm_dev, -- dispdata->mode.hdisplay, dispdata->mode.vdisplay, -+ dispdata->mode.vdisplay, dispdata->mode.hdisplay, - surface_fmt, surface_flags); - - if (!windata->gs) { -@@ -1189,7 +1235,7 @@ int KMSDRM_CreateSurfaces(_THIS, SDL_Window *window) - ret = SDL_EGL_MakeCurrent(_this, windata->egl_surface, egl_context); - - SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, -- dispdata->mode.hdisplay, dispdata->mode.vdisplay); -+ dispdata->mode.vdisplay, dispdata->mode.hdisplay); - - windata->egl_surface_dirty = SDL_FALSE; - -@@ -1272,8 +1318,8 @@ void KMSDRM_GetDisplayModes(_THIS, SDL_VideoDisplay *display) - modedata->mode_index = i; - } - -- mode.w = conn->modes[i].hdisplay; -- mode.h = conn->modes[i].vdisplay; -+ mode.w = conn->modes[i].vdisplay; -+ mode.h = conn->modes[i].hdisplay; - mode.refresh_rate = conn->modes[i].vrefresh; - mode.format = SDL_PIXELFORMAT_ARGB8888; - mode.driverdata = modedata; -@@ -1386,6 +1432,13 @@ void KMSDRM_DestroyWindow(_THIS, SDL_Window *window) - /*********************************************************************/ - SDL_free(window->driverdata); - window->driverdata = NULL; -+ for (int i = 0; i < RGA_BUFFERS_MAX; ++i) { -+ close(viddata->rga_buffer_prime_fds[i]); -+ } -+ if (src_info.fd) { -+ close(src_info.fd); -+ } -+ c_RkRgaDeInit(); - } - - /**********************************************************************/ -@@ -1404,6 +1457,7 @@ int KMSDRM_CreateWindow(_THIS, SDL_Window *window) - NativeDisplayType egl_display; - drmModeModeInfo *mode; - int ret = 0; -+ SDL_DisplayData *data; - - /* Allocate window internal data */ - windata = (SDL_WindowData *)SDL_calloc(1, sizeof(SDL_WindowData)); -@@ -1519,6 +1573,9 @@ int KMSDRM_CreateWindow(_THIS, SDL_Window *window) - SDL_SetMouseFocus(window); - SDL_SetKeyboardFocus(window); - -+ data = (SDL_DisplayData *) SDL_GetDisplayForWindow(window)->driverdata; -+ KMSDRM_InitRotateBuffer(_this, data->mode.hdisplay, data->mode.vdisplay); -+ - /* Tell the app that the window has moved to top-left. */ - SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MOVED, 0, 0); - -diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.h b/src/video/kmsdrm/SDL_kmsdrmvideo.h -index b48f6ef70..890575fb8 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmvideo.h -+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.h -@@ -32,6 +32,10 @@ - #include - #include - #include -+#include -+#include -+ -+#define RGA_BUFFERS_MAX (3) - - typedef struct SDL_VideoData - { -@@ -53,6 +57,10 @@ typedef struct SDL_VideoData - open 1 FD and create 1 gbm device. */ - SDL_bool gbm_init; - -+ struct gbm_bo* rga_buffers[RGA_BUFFERS_MAX]; -+ int rga_buffer_prime_fds[RGA_BUFFERS_MAX]; -+ int rga_buffer_index; -+ - } SDL_VideoData; - - typedef struct SDL_DisplayModeData --- -2.20.1 - diff --git a/packages/graphics/SDL2/patches/RK3566-BSP/0004-fix-touch-mouse.patch b/packages/graphics/SDL2/patches/RK3566-BSP/0004-fix-touch-mouse.patch deleted file mode 100644 index 2901e3ab2..000000000 --- a/packages/graphics/SDL2/patches/RK3566-BSP/0004-fix-touch-mouse.patch +++ /dev/null @@ -1,74 +0,0 @@ -diff -rupN SDL2.orig/src/events/SDL_touch.c SDL2-2.28.1/src/events/SDL_touch.c ---- SDL2.orig/src/events/SDL_touch.c 2023-07-01 17:04:05.000000000 +0000 -+++ SDL2-2.28.1/src/events/SDL_touch.c 2023-07-26 00:04:30.039436068 +0000 -@@ -34,6 +34,7 @@ static SDL_Touch **SDL_touchDevices = NU - #define SYNTHESIZE_TOUCH_TO_MOUSE 1 - - #if SYNTHESIZE_TOUCH_TO_MOUSE -+static SDL_bool cursor_init = SDL_FALSE; - static SDL_bool finger_touching = SDL_FALSE; - static SDL_FingerID track_fingerid; - static SDL_TouchID track_touchid; -@@ -245,6 +246,11 @@ int SDL_SendTouch(SDL_TouchID id, SDL_Fi - return -1; - } - -+ if (!window) { -+ // Fallback to the main application window. -+ window = SDL_GetWindowFromID(1); -+ } -+ - mouse = SDL_GetMouse(); - - #if SYNTHESIZE_TOUCH_TO_MOUSE -@@ -259,6 +265,13 @@ int SDL_SendTouch(SDL_TouchID id, SDL_Fi - /* FIXME: maybe we should only restrict to a few SDL_TouchDeviceType */ - if (id != SDL_MOUSE_TOUCHID) { - if (window) { -+ if (cursor_init == SDL_FALSE) { -+ // TODO - Initialization hack to reset cursor position to <0, 0> -+ SDL_SendMouseMotion(window, 0, SDL_TRUE, -window->w, -window->h); -+ mouse->x = 0; mouse->y = 0; -+ x = 0.0f; y = 0.0f; -+ cursor_init = SDL_TRUE; -+ } - if (down) { - if (finger_touching == SDL_FALSE) { - int pos_x = (int)(x * (float)window->w); -@@ -275,12 +288,12 @@ int SDL_SendTouch(SDL_TouchID id, SDL_Fi - if (pos_y > window->h - 1) { - pos_y = window->h - 1; - } -- SDL_SendMouseMotion(window, SDL_TOUCH_MOUSEID, 0, pos_x, pos_y); -- SDL_SendMouseButton(window, SDL_TOUCH_MOUSEID, SDL_PRESSED, SDL_BUTTON_LEFT); -+ SDL_SendMouseMotion(window, 0, 0, pos_x, pos_y); -+ SDL_SendMouseButton(window, 0, SDL_PRESSED, SDL_BUTTON_LEFT); - } - } else { - if (finger_touching == SDL_TRUE && track_touchid == id && track_fingerid == fingerid) { -- SDL_SendMouseButton(window, SDL_TOUCH_MOUSEID, SDL_RELEASED, SDL_BUTTON_LEFT); -+ SDL_SendMouseButton(window, 0, SDL_RELEASED, SDL_BUTTON_LEFT); - } - } - } -@@ -374,6 +387,11 @@ int SDL_SendTouchMotion(SDL_TouchID id, - return -1; - } - -+ if (!window) { -+ // Fallback to the main application window. -+ window = SDL_GetWindowFromID(1); -+ } -+ - mouse = SDL_GetMouse(); - - #if SYNTHESIZE_TOUCH_TO_MOUSE -@@ -397,7 +415,7 @@ int SDL_SendTouchMotion(SDL_TouchID id, - if (pos_y > window->h - 1) { - pos_y = window->h - 1; - } -- SDL_SendMouseMotion(window, SDL_TOUCH_MOUSEID, 0, pos_x, pos_y); -+ SDL_SendMouseMotion(window, 0, 0, pos_x, pos_y); - } - } - } diff --git a/packages/graphics/SDL2/patches/RK3566-BSP/0005-KMSDRM-Rotation-should-respect-panel-orientation.patch b/packages/graphics/SDL2/patches/RK3566-BSP/0005-KMSDRM-Rotation-should-respect-panel-orientation.patch deleted file mode 100644 index fdd443039..000000000 --- a/packages/graphics/SDL2/patches/RK3566-BSP/0005-KMSDRM-Rotation-should-respect-panel-orientation.patch +++ /dev/null @@ -1,356 +0,0 @@ -From 0e53103957dd75be9140a474be343a6b7cc3cc9e Mon Sep 17 00:00:00 2001 -From: JohnnyonFlame -Date: Tue, 8 Aug 2023 03:55:43 -0300 -Subject: [PATCH 5/7] KMSDRM: Rotation should respect panel orientation. - ---- - src/video/kmsdrm/SDL_kmsdrmdyn.h | 8 ++ - src/video/kmsdrm/SDL_kmsdrmmouse.c | 60 +++++++++++++- - src/video/kmsdrm/SDL_kmsdrmvideo.c | 122 +++++++++++++++++++++++------ - src/video/kmsdrm/SDL_kmsdrmvideo.h | 2 + - 4 files changed, 166 insertions(+), 26 deletions(-) - -diff --git a/src/video/kmsdrm/SDL_kmsdrmdyn.h b/src/video/kmsdrm/SDL_kmsdrmdyn.h -index 319e3f0e3..e17e97e8e 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmdyn.h -+++ b/src/video/kmsdrm/SDL_kmsdrmdyn.h -@@ -32,6 +32,14 @@ - extern "C" { - #endif - -+enum drm_panel_orientation { -+ DRM_MODE_PANEL_ORIENTATION_UNKNOWN = -1, -+ DRM_MODE_PANEL_ORIENTATION_NORMAL = 0, -+ DRM_MODE_PANEL_ORIENTATION_LEFT_UP, -+ DRM_MODE_PANEL_ORIENTATION_RIGHT_UP, -+ DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP, -+}; -+ - int SDL_KMSDRM_LoadSymbols(void); - void SDL_KMSDRM_UnloadSymbols(void); - -diff --git a/src/video/kmsdrm/SDL_kmsdrmmouse.c b/src/video/kmsdrm/SDL_kmsdrmmouse.c -index 4c445ecf1..5dcaaaab6 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmmouse.c -+++ b/src/video/kmsdrm/SDL_kmsdrmmouse.c -@@ -170,10 +170,30 @@ static int KMSDRM_DumpCursorToBO(SDL_VideoDisplay *display, SDL_Cursor *cursor) - } - - /* Copy from the cursor buffer to a buffer that we can dump to the GBM BO. */ -+ uintptr_t src_buf = (uintptr_t)curdata->buffer; -+ uintptr_t dst_buf = (uintptr_t)ready_buffer; - for (i = 0; i < curdata->h; i++) { - for (j = 0; j < curdata->w; j++) { -- src_row = ((uint32_t*)curdata->buffer)[i * curdata->w + j]; -- SDL_memcpy(ready_buffer + ((curdata->w - j + 1) * bo_stride) + i, &src_row, 4); -+ uintptr_t src_pixel = src_buf + (i * curdata->w + j) * 4; -+ uintptr_t dst_pixel; -+ -+ int x, y; -+ if (dispdata->orientation == 0) { -+ x = j; -+ y = i; -+ } else if (dispdata->orientation == 1) { -+ x = curdata->w - i - 1; -+ y = j; -+ } else if (dispdata->orientation == 2) { -+ x = curdata->h - j - 1; -+ y = curdata->w - i - 1; -+ } else if (dispdata->orientation == 3) { -+ x = i; -+ y = curdata->h - j - 1; -+ } -+ -+ dst_pixel = dst_buf + (y * bo_stride + x * sizeof(uint32_t)); -+ *(uint32_t*)dst_pixel = *(uint32_t*)src_pixel; - } - } - -@@ -382,7 +402,23 @@ static int KMSDRM_WarpMouseGlobal(int x, int y) - if (dispdata->cursor_bo) { - int ret = 0; - -- ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, y, dispdata->mode.vdisplay + curdata->w - x); -+ if (dispdata->orientation == 0) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ x, -+ y); -+ } else if (dispdata->orientation == 1) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ dispdata->mode.hdisplay - curdata->h - y, -+ x); -+ } else if (dispdata->orientation == 2) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ dispdata->mode.hdisplay - curdata->w - x, -+ dispdata->mode.vdisplay - curdata->h - y); -+ } else if (dispdata->orientation == 3) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ y, -+ dispdata->mode.vdisplay - curdata->w - x); -+ } - - if (ret) { - SDL_SetError("drmModeMoveCursor() failed."); -@@ -443,7 +479,23 @@ static void KMSDRM_MoveCursor(SDL_Cursor *cursor) - return; - } - -- ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, mouse->y, dispdata->mode.vdisplay - curdata->w - mouse->x); -+ if (dispdata->orientation == 0) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ mouse->x, -+ mouse->y); -+ } else if (dispdata->orientation == 1) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ dispdata->mode.hdisplay - curdata->h - mouse->y, -+ mouse->x); -+ } else if (dispdata->orientation == 2) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ dispdata->mode.hdisplay - curdata->w - mouse->x, -+ dispdata->mode.vdisplay - curdata->h - mouse->y); -+ } else if (dispdata->orientation == 3) { -+ ret = KMSDRM_drmModeMoveCursor(dispdata->cursor_bo_drm_fd, dispdata->crtc->crtc_id, -+ mouse->y, -+ dispdata->mode.vdisplay - curdata->w - mouse->x); -+ } - - if (ret) { - SDL_SetError("drmModeMoveCursor() failed."); -diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c -index c5340afa8..663c4707c 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmvideo.c -+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c -@@ -336,24 +336,27 @@ static void KMSDRM_FBDestroyCallback(struct gbm_bo *bo, void *data) - } - - static void --KMSDRM_InitRotateBuffer(_THIS, int frameWidth, int frameHeight) -+KMSDRM_InitRotateBuffer(_THIS, int orientation, int frameWidth, int frameHeight) - { -- int l_frameHeight; -+ int l_frameHeight, l_frameWidth; - SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata); - - // initialize 2D raster graphic acceleration unit (RGA) - c_RkRgaInit(); - -- l_frameHeight = frameHeight; -- if(l_frameHeight % 32 != 0) { -- l_frameHeight = (frameHeight + 32) & (~31); -+ if (orientation & 1) { -+ l_frameWidth = frameWidth; -+ l_frameHeight = (frameHeight + 31) & (~31); -+ } else { -+ l_frameWidth = (frameWidth + 31) & (~31); -+ l_frameHeight = frameHeight; - } - - // create buffers for RGA with adjusted stride - for (int i = 0; i < RGA_BUFFERS_MAX; ++i) - { - viddata->rga_buffers[i] = KMSDRM_gbm_bo_create(viddata->gbm_dev, -- frameWidth, l_frameHeight, -+ l_frameWidth, l_frameHeight, - GBM_FORMAT_XRGB8888, GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING); - assert(viddata->rga_buffers[i]); - -@@ -364,10 +367,18 @@ KMSDRM_InitRotateBuffer(_THIS, int frameWidth, int frameHeight) - // setup rotation - src_info.fd = -1; - src_info.mmuFlag = 1; -- src_info.rotation = HAL_TRANSFORM_ROT_270; -+ switch (orientation) { -+ default: src_info.rotation = 0; break; -+ case 1: src_info.rotation = HAL_TRANSFORM_ROT_90; break; -+ case 2: src_info.rotation = HAL_TRANSFORM_ROT_180; break; -+ case 3: src_info.rotation = HAL_TRANSFORM_ROT_270; break; -+ } - - // swap width and height and adjust stride here because our source buffer is 480x854 -- rga_set_rect(&src_info.rect, 0, 0, frameHeight, frameWidth, l_frameHeight, frameWidth, RK_FORMAT_BGRA_8888); -+ if (orientation & 1) -+ rga_set_rect(&src_info.rect, 0, 0, frameHeight, frameWidth, l_frameHeight, l_frameWidth, RK_FORMAT_BGRA_8888); -+ else -+ rga_set_rect(&src_info.rect, 0, 0, frameWidth, frameHeight, l_frameWidth, l_frameHeight, RK_FORMAT_BGRA_8888); - - dst_info.fd = -1; - dst_info.mmuFlag = 1; -@@ -617,6 +628,52 @@ static SDL_bool KMSDRM_VrrPropId(uint32_t drm_fd, uint32_t crtc_id, uint32_t *vr - return SDL_TRUE; - } - -+static int KMSDRM_ConnectorGetOrientation(uint32_t drm_fd, -+ uint32_t output_id) -+{ -+ uint32_t i; -+ SDL_bool found = SDL_FALSE; -+ uint64_t orientation = DRM_MODE_PANEL_ORIENTATION_NORMAL; -+ -+ drmModeObjectPropertiesPtr props = KMSDRM_drmModeObjectGetProperties(drm_fd, -+ output_id, -+ DRM_MODE_OBJECT_CONNECTOR); -+ -+ // Allow forcing specific orientations for debugging. -+ const char *override = SDL_getenv("SDL_KMSDRM_ORIENTATION"); -+ if (override && override[0] != '\0') { -+ int val = SDL_atoi(override); -+ return SDL_clamp(val, 0, 3); -+ } -+ -+ if (!props) { -+ return 0; -+ } -+ -+ for (i = 0; !found && i < props->count_props; ++i) { -+ drmModePropertyPtr drm_prop = KMSDRM_drmModeGetProperty(drm_fd, props->props[i]); -+ -+ if (!drm_prop) { -+ continue; -+ } -+ -+ if (SDL_strcasecmp(drm_prop->name, "panel orientation") == 0) { -+ orientation = props->prop_values[i]; -+ found = SDL_TRUE; -+ } -+ -+ KMSDRM_drmModeFreeProperty(drm_prop); -+ } -+ -+ /* librga expresses rotations clockwise. (e.g., dts = 90? rga = 270!) */ -+ switch (orientation) { -+ default: return 0; -+ case DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP: return 2; -+ case DRM_MODE_PANEL_ORIENTATION_LEFT_UP: return 1; -+ case DRM_MODE_PANEL_ORIENTATION_RIGHT_UP: return 3; -+ } -+} -+ - static SDL_bool KMSDRM_ConnectorCheckVrrCapable(uint32_t drm_fd, - uint32_t output_id, - char const *name) -@@ -869,6 +926,8 @@ static void KMSDRM_AddDisplay(_THIS, drmModeConnector *connector, drmModeRes *re - dispdata->connector = connector; - dispdata->crtc = crtc; - -+ /* store current connector orientation */ -+ dispdata->orientation = KMSDRM_ConnectorGetOrientation(viddata->drm_fd, connector->connector_id); - /* save previous vrr state */ - dispdata->saved_vrr = KMSDRM_CrtcGetVrr(viddata->drm_fd, crtc->crtc_id); - /* try to enable vrr */ -@@ -893,8 +952,13 @@ static void KMSDRM_AddDisplay(_THIS, drmModeConnector *connector, drmModeRes *re - modedata->mode_index = mode_index; - - display.driverdata = dispdata; -- display.desktop_mode.w = dispdata->mode.vdisplay; -- display.desktop_mode.h = dispdata->mode.hdisplay; -+ if (dispdata->orientation & 1) { -+ display.desktop_mode.w = dispdata->mode.vdisplay; -+ display.desktop_mode.h = dispdata->mode.hdisplay; -+ } else { -+ display.desktop_mode.w = dispdata->mode.hdisplay; -+ display.desktop_mode.h = dispdata->mode.vdisplay; -+ } - display.desktop_mode.refresh_rate = dispdata->mode.vrefresh; - display.desktop_mode.format = SDL_PIXELFORMAT_ARGB8888; - display.desktop_mode.driverdata = modedata; -@@ -1158,8 +1222,10 @@ static void KMSDRM_GetModeToSet(SDL_Window *window, drmModeModeInfo *out_mode) - - static void KMSDRM_DirtySurfaces(SDL_Window *window) - { -- SDL_WindowData *windata = (SDL_WindowData *)window->driverdata; - drmModeModeInfo mode; -+ SDL_WindowData *windata = (SDL_WindowData *)window->driverdata; -+ SDL_VideoDisplay *display = SDL_GetDisplayForWindow(window); -+ SDL_DisplayData *dispdata = (SDL_DisplayData *)display->driverdata; - - /* Can't recreate EGL surfaces right now, need to wait until SwapWindow - so the correct thread-local surface and context state are available */ -@@ -1169,8 +1235,10 @@ static void KMSDRM_DirtySurfaces(SDL_Window *window) - or SetWindowFullscreen, send a fake event for now since the actual - recreation is deferred */ - KMSDRM_GetModeToSet(window, &mode); -- SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode.vdisplay, mode.hdisplay); -- -+ if (dispdata->orientation & 1) -+ SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode.vdisplay, mode.hdisplay); -+ else -+ SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, mode.hdisplay, mode.vdisplay); - } - - /* This determines the size of the fb, which comes from the GBM surface -@@ -1204,14 +1272,18 @@ int KMSDRM_CreateSurfaces(_THIS, SDL_Window *window) - SDL_video.c expects. Hulk-smash the display's current_mode to keep the - mode that's set in sync with what SDL_video.c thinks is set */ - KMSDRM_GetModeToSet(window, &dispdata->mode); -- -- display->current_mode.w = dispdata->mode.vdisplay; -- display->current_mode.h = dispdata->mode.hdisplay; -+ if (dispdata->orientation & 1) { -+ display->current_mode.w = dispdata->mode.vdisplay; -+ display->current_mode.h = dispdata->mode.hdisplay; -+ } else { -+ display->current_mode.w = dispdata->mode.hdisplay; -+ display->current_mode.h = dispdata->mode.vdisplay; -+ } - display->current_mode.refresh_rate = dispdata->mode.vrefresh; - display->current_mode.format = SDL_PIXELFORMAT_ARGB8888; - - windata->gs = KMSDRM_gbm_surface_create(viddata->gbm_dev, -- dispdata->mode.vdisplay, dispdata->mode.hdisplay, -+ display->current_mode.w, display->current_mode.h, - surface_fmt, surface_flags); - - if (!windata->gs) { -@@ -1235,7 +1307,7 @@ int KMSDRM_CreateSurfaces(_THIS, SDL_Window *window) - ret = SDL_EGL_MakeCurrent(_this, windata->egl_surface, egl_context); - - SDL_SendWindowEvent(window, SDL_WINDOWEVENT_RESIZED, -- dispdata->mode.vdisplay, dispdata->mode.hdisplay); -+ display->current_mode.w, display->current_mode.h); - - windata->egl_surface_dirty = SDL_FALSE; - -@@ -1318,8 +1390,14 @@ void KMSDRM_GetDisplayModes(_THIS, SDL_VideoDisplay *display) - modedata->mode_index = i; - } - -- mode.w = conn->modes[i].vdisplay; -- mode.h = conn->modes[i].hdisplay; -+ if (dispdata->orientation & 1) { -+ mode.w = conn->modes[i].vdisplay; -+ mode.h = conn->modes[i].hdisplay; -+ } else { -+ mode.w = conn->modes[i].hdisplay; -+ mode.h = conn->modes[i].vdisplay; -+ } -+ - mode.refresh_rate = conn->modes[i].vrefresh; - mode.format = SDL_PIXELFORMAT_ARGB8888; - mode.driverdata = modedata; -@@ -1573,8 +1651,8 @@ int KMSDRM_CreateWindow(_THIS, SDL_Window *window) - SDL_SetMouseFocus(window); - SDL_SetKeyboardFocus(window); - -- data = (SDL_DisplayData *) SDL_GetDisplayForWindow(window)->driverdata; -- KMSDRM_InitRotateBuffer(_this, data->mode.hdisplay, data->mode.vdisplay); -+ data = (SDL_DisplayData *) SDL_GetDisplayForWindow(window)->driverdata; -+ KMSDRM_InitRotateBuffer(_this, dispdata->orientation, data->mode.hdisplay, data->mode.vdisplay); - - /* Tell the app that the window has moved to top-left. */ - SDL_SendWindowEvent(window, SDL_WINDOWEVENT_MOVED, 0, 0); -diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.h b/src/video/kmsdrm/SDL_kmsdrmvideo.h -index 890575fb8..8d2dc646f 100644 ---- a/src/video/kmsdrm/SDL_kmsdrmvideo.h -+++ b/src/video/kmsdrm/SDL_kmsdrmvideo.h -@@ -78,6 +78,8 @@ typedef struct SDL_DisplayData - - drmModeCrtc *saved_crtc; /* CRTC to restore on quit */ - SDL_bool saved_vrr; -+ -+ uint64_t orientation; - - /* DRM & GBM cursor stuff lives here, not in an SDL_Cursor's driverdata struct, - because setting/unsetting up these is done on window creation/destruction, --- -2.20.1 - diff --git a/packages/graphics/SDL2/patches/RK3566-BSP/0006-limit-rga-buffering-when-egl.patch b/packages/graphics/SDL2/patches/RK3566-BSP/0006-limit-rga-buffering-when-egl.patch deleted file mode 100644 index dbd293812..000000000 --- a/packages/graphics/SDL2/patches/RK3566-BSP/0006-limit-rga-buffering-when-egl.patch +++ /dev/null @@ -1,59 +0,0 @@ -diff -rupN SDL2-2.28.5.orig/src/video/kmsdrm/SDL_kmsdrmopengles.c SDL2-2.28.5/src/video/kmsdrm/SDL_kmsdrmopengles.c ---- SDL2-2.28.5.orig/src/video/kmsdrm/SDL_kmsdrmopengles.c 2024-01-30 16:22:00.475039122 +0000 -+++ SDL2-2.28.5/src/video/kmsdrm/SDL_kmsdrmopengles.c 2024-01-30 17:56:52.799111194 +0000 -@@ -29,11 +29,15 @@ - #include "SDL_kmsdrmopengles.h" - #include "SDL_kmsdrmdyn.h" - #include -+#include - - #ifndef EGL_PLATFORM_GBM_MESA - #define EGL_PLATFORM_GBM_MESA 0x31D7 - #endif - -+extern rga_info_t src_info; -+extern rga_info_t dst_info; -+ - /* EGL implementation of SDL OpenGL support */ - - void KMSDRM_GLES_DefaultProfileConfig(_THIS, int *mask, int *major, int *minor) -@@ -92,6 +96,7 @@ int KMSDRM_GLES_SwapWindow(_THIS, SDL_Wi - SDL_VideoData *viddata = ((SDL_VideoData *)_this->driverdata); - KMSDRM_FBInfo *fb_info; - int ret = 0; -+ struct gbm_bo* rga_buffer = NULL; - - /* Always wait for the previous issued flip before issuing a new one, - even if you do async flips. */ -@@ -135,7 +140,30 @@ int KMSDRM_GLES_SwapWindow(_THIS, SDL_Wi - } - - /* Get an actual usable fb for the next front buffer. */ -- fb_info = KMSDRM_FBFromBO(_this, windata->next_bo); -+ if (dispdata->orientation == 0) { -+ fb_info = KMSDRM_FBFromBO(_this, windata->next_bo); -+ } else { -+ if (src_info.fd) { -+ close(src_info.fd); -+ } -+ src_info.fd = KMSDRM_gbm_bo_get_fd(windata->next_bo); -+ dst_info.fd = viddata->rga_buffer_prime_fds[viddata->rga_buffer_index]; -+ if (c_RkRgaBlit(&src_info, &dst_info, NULL) < 0) { -+ SDL_LogError(SDL_LOG_CATEGORY_VIDEO, -+ "Failed to rga blit\n"); -+ } -+ -+ rga_buffer = viddata->rga_buffers[viddata->rga_buffer_index]; -+ fb_info = KMSDRM_FBFromBO(_this, rga_buffer); -+ -+ if (!fb_info) { -+ SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "Could not get a framebuffer"); -+ return 0; -+ } -+ -+ viddata->rga_buffer_index = (viddata->rga_buffer_index + 1) % RGA_BUFFERS_MAX; -+ } -+ - if (fb_info == NULL) { - SDL_LogError(SDL_LOG_CATEGORY_VIDEO, "Could not get a framebuffer"); - return 0; diff --git a/packages/graphics/plymouth-lite/package.mk b/packages/graphics/plymouth-lite/package.mk deleted file mode 100644 index 50fcb6b18..000000000 --- a/packages/graphics/plymouth-lite/package.mk +++ /dev/null @@ -1,31 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) - -PKG_NAME="plymouth-lite" -PKG_VERSION="8a3205c99f947d739c05bac8ca69561194e06c2c" -PKG_LICENSE="GPL" -PKG_SITE="https://github.com/JustEnoughLinuxOS/plymouth-lite" -PKG_URL="${PKG_SITE}.git" -PKG_DEPENDS_INIT="toolchain ccache:init libpng" -PKG_DEPENDS_TARGET="toolchain libpng" -PKG_LONGDESC="Boot splash screen based on Fedora's Plymouth code" - -if [ "${UVESAFB_SUPPORT}" = yes ]; then - PKG_DEPENDS_INIT="${PKG_DEPENDS_INIT} v86d:init" -fi - -pre_configure_init() { - cd ${PKG_BUILD} - rm -rf .${TARGET_NAME}-init -} - -makeinstall_init() { - mkdir -p ${INSTALL}/usr/bin - cp ply-image ${INSTALL}/usr/bin -} - -pre_configure_target() { - cd ${PKG_BUILD} - rm -rf .${TARGET_NAME}-init -} - diff --git a/packages/hardware/quirks/platforms/RK3566-BSP-X55/001-device_config b/packages/hardware/quirks/platforms/RK3566-BSP-X55/001-device_config deleted file mode 100755 index 1647feaab..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP-X55/001-device_config +++ /dev/null @@ -1,10 +0,0 @@ -#!/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_FAKE_JACKSENSE="false" -DEVICE_VOLUMECTL="true" -DEVICE_POWER_LED="false" -DEVICE_BRIGHTNESS="128" -EOF diff --git a/packages/hardware/quirks/platforms/RK3566-BSP-X55/050-audio_path b/packages/hardware/quirks/platforms/RK3566-BSP-X55/050-audio_path deleted file mode 100755 index 5feee6024..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP-X55/050-audio_path +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -cat </storage/.config/profile.d/002-audio_path -DEVICE_PLAYBACK_PATH_SPK="SPK" -DEVICE_PLAYBACK_PATH_HP="HP" -DEVICE_PLAYBACK_PATH="Playback Path" -EOF diff --git a/packages/hardware/quirks/platforms/RK3566-BSP-X55/050-modifiers b/packages/hardware/quirks/platforms/RK3566-BSP-X55/050-modifiers deleted file mode 100755 index e13599833..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP-X55/050-modifiers +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -cat </storage/.config/profile.d/050-modifiers -DEVICE_KEY_VOLUMEDOWN=114 -DEVICE_KEY_VOLUMEUP=115 -DEVICE_FUNC_KEYA_MODIFIER="BTN_SELECT" -DEVICE_FUNC_KEYB_MODIFIER="BTN_MODE" -EOF diff --git a/packages/hardware/quirks/platforms/RK3566-BSP-X55/060-game_settings b/packages/hardware/quirks/platforms/RK3566-BSP-X55/060-game_settings deleted file mode 100755 index 3ac5716ef..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP-X55/060-game_settings +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile.d/001-functions -. /storage/.config/profile.d/010-governors - -### Set the minimum GPU frequency to reduce UI latency. -echo 400000000 >${GPU_FREQ}/min_freq - -### Set the default performance scaling mode for a few systems. -for SYSTEM in dreamcast n64 ports psp psx saturn gba pcfx cdi -do - CPU_SETTING=$(get_setting ${SYSTEM}.cpugovernor) - if [ -z "${CPU_SETTING}" ] - then - set_setting ${SYSTEM}.cpugovernor performance - fi - GPU_SETTING=$(get_setting ${SYSTEM}.gpuperf) - if [ -z "${GPU_SETTING}" ] - then - set_setting ${SYSTEM}.gpuperf profile_peak - fi -done diff --git a/packages/hardware/quirks/platforms/RK3566-BSP-X55/090-ui_service b/packages/hardware/quirks/platforms/RK3566-BSP-X55/090-ui_service deleted file mode 100755 index accf1e59d..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP-X55/090-ui_service +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -### Set the default device configuration -cat </storage/.config/profile.d/090-ui_service -UI_SERVICE="emustation.service" -EOF diff --git a/packages/hardware/quirks/platforms/RK3566-BSP-X55/091-ui_shader b/packages/hardware/quirks/platforms/RK3566-BSP-X55/091-ui_shader deleted file mode 100755 index 7eab4389f..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP-X55/091-ui_shader +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -### Set the default device configuration -cat </storage/.config/profile.d/091-ui_shader -UI_SHADER="glslp" -EOF diff --git a/packages/hardware/quirks/platforms/RK3566-BSP-X55/sleep.d/post/002-freq b/packages/hardware/quirks/platforms/RK3566-BSP-X55/sleep.d/post/002-freq deleted file mode 100755 index d5c06cc41..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP-X55/sleep.d/post/002-freq +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -### Restore previous governors before going to sleep - -. /etc/profile - -### Grab the old governors. -OLD_CPU_FREQ=$(get_setting "sleep.cpugovernor") -if [ ! -n "${OLD_CPU_FREQ}" ]; then - OLD_CPU_FREQ="schedutil" -fi - -OLD_GPU_FREQ=$(get_setting "sleep.gpugovernor") -if [ ! -n "${OLD_GPU_FREQ}" ]; then - OLD_GPU_FREQ="simple_ondemand" -fi - -# Restore old governors. -set_cpu_gov "${OLD_CPU_FREQ}" -set_dmc_gov "${OLD_CPU_FREQ}" -set_gpu_gov "${OLD_GPU_FREQ}" diff --git a/packages/hardware/quirks/platforms/RK3566-BSP-X55/sleep.d/pre/002-freq b/packages/hardware/quirks/platforms/RK3566-BSP-X55/sleep.d/pre/002-freq deleted file mode 100755 index 4fbe8c64f..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP-X55/sleep.d/pre/002-freq +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -# Store current freq governors and set governors to powersave. - -. /etc/profile - -### Get the current cpu and gpu governor, save for when the device wakes from sleep. -CUR_CPU_FREQ="$(cat ${CPU_FREQ}/scaling_governor)" -CUR_GPU_FREQ="$(cat ${GPU_FREQ}/governor)" - -set_setting sleep.cpugovernor "${CUR_CPU_FREQ}" -set_setting sleep.gpugovernor "${CUR_GPU_FREQ}" - -### Set all governors to powersave -set_cpu_gov powersave -set_dmc_gov powersave -set_gpu_gov powersave diff --git a/packages/hardware/quirks/platforms/RK3566-BSP/001-device_config b/packages/hardware/quirks/platforms/RK3566-BSP/001-device_config deleted file mode 100755 index 1647feaab..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP/001-device_config +++ /dev/null @@ -1,10 +0,0 @@ -#!/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_FAKE_JACKSENSE="false" -DEVICE_VOLUMECTL="true" -DEVICE_POWER_LED="false" -DEVICE_BRIGHTNESS="128" -EOF diff --git a/packages/hardware/quirks/platforms/RK3566-BSP/010-governors b/packages/hardware/quirks/platforms/RK3566-BSP/010-governors deleted file mode 100755 index 64a383e66..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP/010-governors +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -cat </storage/.config/profile.d/010-governors -# FREQ governors -CPU_FREQ=("/sys/devices/system/cpu/cpufreq/policy0") -GPU_FREQ="$(find /sys/devices/platform/*gpu/devfreq -name '*.gpu')" -EOF diff --git a/packages/hardware/quirks/platforms/RK3566-BSP/010-led_control b/packages/hardware/quirks/platforms/RK3566-BSP/010-led_control deleted file mode 100755 index fb09bb551..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP/010-led_control +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -cat </storage/.config/profile.d/010-led_control -DEVICE_LED_CONTROL="true" -DEVICE_LED_BRIGHTNESS="false" -DEVICE_LED_CHARGING="true" -EOF diff --git a/packages/hardware/quirks/platforms/RK3566-BSP/030-suspend_mode b/packages/hardware/quirks/platforms/RK3566-BSP/030-suspend_mode deleted file mode 100755 index f2c5c29e3..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP/030-suspend_mode +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile.d/001-functions - -MYSLEEPMODE=$(get_setting system.suspendmode) -if [ -z "${MYSLEEPMODE}" ] -then - /usr/bin/suspendmode mem -fi - -echo s2idle >/sys/power/mem_sleep diff --git a/packages/hardware/quirks/platforms/RK3566-BSP/050-audio_path b/packages/hardware/quirks/platforms/RK3566-BSP/050-audio_path deleted file mode 100755 index 5feee6024..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP/050-audio_path +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -cat </storage/.config/profile.d/002-audio_path -DEVICE_PLAYBACK_PATH_SPK="SPK" -DEVICE_PLAYBACK_PATH_HP="HP" -DEVICE_PLAYBACK_PATH="Playback Path" -EOF diff --git a/packages/hardware/quirks/platforms/RK3566-BSP/050-modifiers b/packages/hardware/quirks/platforms/RK3566-BSP/050-modifiers deleted file mode 100755 index e13599833..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP/050-modifiers +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -cat </storage/.config/profile.d/050-modifiers -DEVICE_KEY_VOLUMEDOWN=114 -DEVICE_KEY_VOLUMEUP=115 -DEVICE_FUNC_KEYA_MODIFIER="BTN_SELECT" -DEVICE_FUNC_KEYB_MODIFIER="BTN_MODE" -EOF diff --git a/packages/hardware/quirks/platforms/RK3566-BSP/050-volume b/packages/hardware/quirks/platforms/RK3566-BSP/050-volume deleted file mode 100755 index df8bd341e..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP/050-volume +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /storage/.config/profile.d/001-device_config - -# RK3566 devices have a master volume attached to card 0 that needs to be set to 100% on startup. -amixer -c 1 set "Master" "100%" diff --git a/packages/hardware/quirks/platforms/RK3566-BSP/060-game_settings b/packages/hardware/quirks/platforms/RK3566-BSP/060-game_settings deleted file mode 100755 index e4193f877..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP/060-game_settings +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile.d/001-functions -. /storage/.config/profile.d/010-governors - -### Set the minimum GPU frequency to reduce UI latency. -echo 400000000 >${GPU_FREQ}/min_freq - -### Set the default performance scaling mode for a few systems. -for SYSTEM in dreamcast n64 ports psp psx saturn gba pcfx cdi -do - CPU_SETTING=$(get_setting ${SYSTEM}.cpugovernor) - if [ -z "${CPU_SETTING}" ] - then - set_setting ${SYSTEM}.cpugovernor performance - fi - GPU_SETTING=$(get_setting ${SYSTEM}.gpuperf) - if [ -z "${GPU_SETTING}" ] - then - set_setting ${SYSTEM}.gpuperf profile_peak - fi -done - diff --git a/packages/hardware/quirks/platforms/RK3566-BSP/090-ui_service b/packages/hardware/quirks/platforms/RK3566-BSP/090-ui_service deleted file mode 100755 index accf1e59d..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP/090-ui_service +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -### Set the default device configuration -cat </storage/.config/profile.d/090-ui_service -UI_SERVICE="emustation.service" -EOF diff --git a/packages/hardware/quirks/platforms/RK3566-BSP/091-ui_shader b/packages/hardware/quirks/platforms/RK3566-BSP/091-ui_shader deleted file mode 100755 index 7eab4389f..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP/091-ui_shader +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -### Set the default device configuration -cat </storage/.config/profile.d/091-ui_shader -UI_SHADER="glslp" -EOF diff --git a/packages/hardware/quirks/platforms/RK3566-BSP/bin/ledcontrol b/packages/hardware/quirks/platforms/RK3566-BSP/bin/ledcontrol deleted file mode 100755 index fc301b6f8..000000000 --- a/packages/hardware/quirks/platforms/RK3566-BSP/bin/ledcontrol +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2024 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -LED_PATH="/sys/class/leds" -LED_STATUS=$(get_setting led.color) - -function led_state() { - echo ${2} >${LED_PATH}/${1}/brightness -} - -function led_off() { - led_state battery_full 0 - led_state battery_charging 0 - led_state low_power 0 -} - -function led_red() { - led_off - led_state battery_charging 1 -} - -function led_green() { - led_off - led_state battery_full 1 -} - -case ${1} in - green) - led_green - set_setting led.color ${1} - ;; - red) - led_red - set_setting led.color ${1} - ;; - off) - led_off - set_setting led.color ${1} - ;; - discharging) - if [ -n "${LED_STATUS}" ] - then - ledcontrol ${LED_STATUS} - else - led_green - fi - ;; - charging) - if [ ! "${LED_STATUS}" = "off" ] - then - led_red - fi - ;; - default) - del_setting led.color - led_green - ;; - poweroff) - led_off - ;; - list) -cat </storage/.config/profile.d/001-device_config -DEVICE_FAKE_JACKSENSE="false" -DEVICE_POWER_LED="false" -DEVICE_BRIGHTNESS="128" -EOF diff --git a/packages/jelos/autostart/001-setup b/packages/jelos/autostart/001-setup deleted file mode 100755 index 1c373c792..000000000 --- a/packages/jelos/autostart/001-setup +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -if [ -d "/storage/cache/.cores" ] -then - rm -rf /storage/cache/.cores -fi - -if [ ! -d "/tmp/cache" ] -then - mkdir -p /tmp/cache -fi - -ln -sf /tmp/cache /storage/cache/.cores - -if [ ! -d "/storage/.config/profile.d" ] -then - mkdir -p /storage/.config/profile.d -fi - -### Inspect the system config and revert -### to last known good state if corrupt. -/usr/bin/chksysconfig verify - -### Clean up settings -sort_settings - -### We do not want to mount the cloud drive on startup -### so we'll reset the mount option to 0. -set_setting clouddrive.mounted 0 - -### Set up the runtime directory. -if [ ! -d "/var/run/0-runtime-dir" ] -then - mkdir -p /var/run/0-runtime-dir -fi - -chmod 0700 /var/run/0-runtime-dir diff --git a/packages/jelos/autostart/002-kernel b/packages/jelos/autostart/002-kernel deleted file mode 100755 index e0243f504..000000000 --- a/packages/jelos/autostart/002-kernel +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -# Minimal OS variable loading for performance -. /etc/profile.d/001-functions - -tocon "Applying kernel parameters..." -sysctl vm.swappiness=1 -sysctl kernel.nmi_watchdog=0 -sysctl vm.laptop_mode=5 -sysctl vm.dirty_writeback_centisecs=1500 - -toggle-ipv6 diff --git a/packages/jelos/autostart/003-upgrade b/packages/jelos/autostart/003-upgrade deleted file mode 100755 index 5021e7c28..000000000 --- a/packages/jelos/autostart/003-upgrade +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -# Minimal OS variable loading for performance -. /etc/profile.d/001-functions - -if [ "$(cat /storage/.boot.hint 2>/dev/null)" = "UPDATE" ] -then - if [ -e "/usr/share/post-update" ] - then - tocon "Performing post-update configuration..." - /usr/share/post-update >/var/log/upgrade.log 2>&1 - fi - rm /storage/.boot.hint -else - echo "No update hint found." >/var/log/upgrade.log 2>&1 -fi diff --git a/packages/jelos/autostart/006-display b/packages/jelos/autostart/006-display deleted file mode 100755 index bd0a4a5f9..000000000 --- a/packages/jelos/autostart/006-display +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -# Minimal OS variable loading for performance -. /etc/profile.d/001-functions - -tocon "Configuring display..." - -### Variables may need to be device specific here. -BRIGHTNESS=$(get_setting system.brightness) -if [[ -z ${BRIGHTNESS} ]] -then - BRIGHTNESS="6" -fi - -# Ensure user doesn't get "locked out" with super low brightness -if [[ "${BRIGHTNESS}" = "0" ]] -then - BRIGHTNESS=1 -fi - -brightness set ${BRIGHTNESS} - -### Set the aspect ratio in ES. -ASPECT=$(get_aspect_ratio) - -ES_CONFIG="/storage/.config/emulationstation/es_settings.cfg" -ES_ASPECT="${ASPECT/:/-}" -if [ "$(grep subset.aspect-ratio ${ES_CONFIG})" ] -then - sed -i 's||g' ${ES_CONFIG} -else - sed -i '/<\/config>/i \\t' ${ES_CONFIG} -fi - diff --git a/packages/jelos/autostart/007-rootpw b/packages/jelos/autostart/007-rootpw deleted file mode 100755 index f6a6343a7..000000000 --- a/packages/jelos/autostart/007-rootpw +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -# Minimal OS variable loading for performance -. /etc/profile.d/001-functions - -tocon "Setting root password..." - -if [ ! -d "/storage/.cache/samba" ] -then - mkdir -p /storage/.cache/samba - touch /storage/.cache/samba/smbpasswd -fi - -ROTATION=$(get_setting rotate.root.password) -if [ "${ROTATION}" == "0" ] -then - ROOTPASS=$(get_setting root.password) - setrootpass "${ROOTPASS}" - exit 0 -fi - -# Randomly generate the root password on startup -ROOTPASS=$(openssl rand -base64 10 2>/dev/null | sed "s#==##g") - -/usr/bin/setrootpass "${ROOTPASS}" diff --git a/packages/jelos/autostart/008-perfmode b/packages/jelos/autostart/008-perfmode deleted file mode 100755 index f6e88167f..000000000 --- a/packages/jelos/autostart/008-perfmode +++ /dev/null @@ -1,41 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -# Minimal OS variable loading for performance -. /etc/profile.d/001-functions -. /etc/profile.d/030-powerfunctions -. /etc/profile.d/099-freqfunctions - -tocon "Setting performance mode..." - -### Enable the desired number of threads. -tocon "Restoring cpu threads..." -NUMTHREADS=$(get_setting "system.threads") -if [ -n "${NUMTHREADS}" ] -then - onlinethreads ${NUMTHREADS} 0 -else - onlinethreads all 1 -fi - -### If we don't have a default governor set, set it -### to schedutil if the device supports it, otherwise -### set to performance, but don't enable it. -if [ -z "$(get_setting system.cpugovernor)" ] -then - GOVTEST="$(awk '/schedutil/ {print $1}' /sys/devices/system/cpu/cpufreq/policy0/scaling_available_governors)" - if [ -n "${GOVTEST}" ] - then - set_setting system.cpugovernor schedutil - else - set_setting system.cpugovernor performance - fi -fi - -### Set the default GPU performance mode -GPUPERF=$(get_setting system.gpuperf) -if [ -n "${GPUPERF}" ] -then - gpu_performance_level ${GPUPERF} -fi diff --git a/packages/jelos/autostart/009-sleepmode b/packages/jelos/autostart/009-sleepmode deleted file mode 100755 index 74482f941..000000000 --- a/packages/jelos/autostart/009-sleepmode +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -# Minimal OS variable loading for performance -. /etc/profile.d/001-functions - -tocon "Configure suspend mode..." - -### Configure suspend mode. -MYSLEEPMODE=$(get_setting system.suspendmode) -if [ -n "${MYSLEEPMODE}" ] -then - /usr/bin/suspendmode ${MYSLEEPMODE} -else - /usr/bin/suspendmode mem -fi diff --git a/packages/jelos/autostart/010-uimode b/packages/jelos/autostart/010-uimode deleted file mode 100755 index 9e9187d67..000000000 --- a/packages/jelos/autostart/010-uimode +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -# Minimal OS variable loading for performance -. /etc/profile.d/001-functions - -tocon "Configuring user interface..." - -UIMODE=$(get_setting desktop.enabled) -if [ "${UIMODE}" = "1" ] || \ - [ ! -e "/usr/bin/emulationstation" ] -then - cp -f /usr/share/weston/weston.ini /storage/.config/weston.ini -else - cp -f /usr/share/weston/kiosk.ini /storage/.config/weston.ini -fi - -STARTUP=$(get_setting weston.startup) -if [ -z "${STARTUP}" ] && \ - [ -e "/usr/bin/emulationstation" ] -then - STARTUP="/usr/bin/start_es.sh" - set_setting weston.startup "${STARTUP}" -fi -sed -i "s#@STARTUP@#${STARTUP}#g" /storage/.config/weston.ini diff --git a/packages/jelos/autostart/050-audio b/packages/jelos/autostart/050-audio deleted file mode 100755 index c9bd0ff9e..000000000 --- a/packages/jelos/autostart/050-audio +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -tocon "Configuring Audio..." - -STATE=$(systemctl isactive pipewire-pulse) -if [ "${STATE}" = "inactive" ] -then - systemctl start pipewire-pulse -fi - -### Auto switch between internal and bluetooth devices -pactl load-module module-switch-on-connect 2>/dev/null - -### Set up audio routing (Internal or HDMI) -/usr/bin/hdmi_sense 2>/dev/null - -### Set the default audio path, needed for some devices -if [ ! -z "${DEVICE_PLAYBACK_PATH_SPK}" ] -then - if [ -z "${DEVICE_PLAYBACK_PATH}" ] - then - export DEVICE_PLAYBACK_PATH="Playback Path" - fi - amixer -c 0 cset name="${DEVICE_PLAYBACK_PATH}" ${DEVICE_PLAYBACK_PATH_SPK} 2>/dev/null -fi - -VOLUME=$(get_setting audio.volume) -if [ -z ${VOLUME} ] -then - VOLUME="60" -elif [ -n "${DEVICE_VOLUME}" ] -then - VOLUME="${DEVICE_VOLUME}" -fi - -### Set the primary card volume to 100% -### to eliminate low audio on some devices. -amixer -c 0 -q sset "Master" 100% - -### Now set the pipewire mixer volume -/usr/bin/volume ${VOLUME} - diff --git a/packages/jelos/autostart/055-hdmi-check b/packages/jelos/autostart/055-hdmi-check deleted file mode 100755 index 9bb3362b5..000000000 --- a/packages/jelos/autostart/055-hdmi-check +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: MIT -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) -# Copyright (C) 2023-present christianhaitian (https://github.com/christianhaitian) -# Copyright (C) 2023-present Rocky5 (https://github.com/rocky5) - -# The purpose of this script is to permanently set the resolution -# output for hdmi when connected. - -xres="$(cat /sys/class/graphics/fb0/modes | grep -o -P '(?<=:).*(?=p-)' | cut -dx -f1)" - -# drm_tool source available at https://github.com/christianhaitian/drm_tool.git - -mode="$(/usr/bin/drm_tool list | awk '/1280x720.*60/ {print substr($2,1,length($2)-1); exit}')" -mode2="$(/usr/bin/drm_tool list | awk '/1920x1080.*60/ {print substr($2,1,length($2)-1); exit}')" - -# Now we tell drm what the hdmi mode is by writing to /var/run/drmMode -# This will get picked up by SDL2 as long as it's been patched with the batocera -# drm resolution patch. This patch can be found at -# https://github.com/christianhaitian/rk3566_core_builds/raw/master/patches/sdl2-patch-0003-drm-resolution.patch - -if [ $xres -eq "1280" ]; then - echo $mode | tee /var/run/drmMode -elif [ $xres -eq "1920" ]; then - echo $mode2 | tee /var/run/drmConn -else - echo 0 | tee /var/run/drmMode - echo 1 | tee /var/run/drmConn -fi diff --git a/packages/jelos/autostart/080-network b/packages/jelos/autostart/080-network deleted file mode 100755 index 213ef26cd..000000000 --- a/packages/jelos/autostart/080-network +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -# Minimal OS variable loading for performance -. /etc/profile.d/001-functions - -tocon "Configuring network..." - -if [ "$(get_setting network.enabled)" == "0" ] || [ "$1" == "disable" ] -then - nohup wifictl disable & -elif [ "$(get_setting network.enabled)" == "1" ] || [ "$1" == "enable" ] -then - nohup wifictl enable & -fi - diff --git a/packages/jelos/autostart/081-usbgadget b/packages/jelos/autostart/081-usbgadget deleted file mode 100755 index 068696eab..000000000 --- a/packages/jelos/autostart/081-usbgadget +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -if [ -r /storage/.cache/usbgadget/usbgadget.conf ] ; then - USB_MODE=$(cat /storage/.cache/usbgadget/usbgadget.conf | cut -d "=" -f2) - if [ "${USB_MODE}" = cdc ] || [ "${USB_MODE}" = mtp ]; then - /usr/bin/usbgadget start $USB_MODE - fi -fi diff --git a/packages/jelos/autostart/099-networkservices b/packages/jelos/autostart/099-networkservices deleted file mode 100755 index 7b605c649..000000000 --- a/packages/jelos/autostart/099-networkservices +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -# Minimal OS variable loading for performance -. /etc/profile.d/001-functions - -tocon "Starting services..." - -for SERVICE in /usr/lib/autostart/daemons/* -do - source ${SERVICE} - - - if [ ! -d "/storage/.cache/services" ] - then - mkdir -p "/storage/.cache/services" - fi - - if [ -n "${CONF}" ] && \ - [ -e "/storage/.cache/services/${CONF}" ] - then - rm -f "/storage/.cache/services/${CONF}" - fi - - statemgr() { - for daemon in ${DAEMONS[@]} - do - nohup systemctl ${1} ${daemon} & - done - } - - case "$STATE" in - "1") - touch "/storage/.cache/services/${CONF}" - statemgr start - ;; - *) - statemgr stop - ;; - esac -done diff --git a/packages/jelos/config/system/configs/system.cfg b/packages/jelos/config/system/configs/system.cfg deleted file mode 100644 index ec6190c13..000000000 --- a/packages/jelos/config/system/configs/system.cfg +++ /dev/null @@ -1,219 +0,0 @@ -3do.integerscale=0 -3do.ratio=4/3 -advmame_auto_gamepad=0 -amigacd32.integerscale=0 -amigacd32.ratio=4/3 -amiga.integerscale=0 -amiga.ratio=4/3 -amstradcpc.integerscale=0 -arcade.autosave=0 -atari2600.integerscale=0 -atari5200.integerscale=0 -atari7800.integerscale=0 -atari800.integerscale=0 -atarilynx.integerscale=0 -atarilynx.ratio=core -atarist.integerscale=0 -atomiswave.integerscale=0 -atomiswave.ratio=4/3 -audio.bgmusic=1 -audio.device=headphone -audio.display_titles=1 -audio.persystem=0 -audio.preamp=50 -audio.volume=60 -bluetooth.enabled=0 -boot=Emulationstation -c128.integerscale=0 -c16.integerscale=0 -c64.integerscale=0 -cdi.integerscale=0 -cdi.ratio=4/3 -chip-8.integerscale=0 -cloud.backup=0 -colecovision.integerscale=0 -colecovision.ratio=4/3 -cooling.profile=quiet -cps1.integerscale=0 -cps2.integerscale=0 -cps3.integerscale=0 -daphne.integerscale=0 -daphne.ratio=4/3 -desktop.enabled=0 -display.brightness=50 -display.contrast=50 -display.hue=50 -display.saturation=50 -dreamcast.integerscale=0 -dreamcast.ratio=4/3 -easyrpg.integerscale=0 -famicom.integerscale=0 -famicom.ratio=4/3 -fbn.integerscale=0 -fbn.ratio=core -fds.integerscale=0 -fds.ratio=4/3 -fstrim.enabled=0 -gamegear.integerscale=0 -gbah.ratio=3/2 -gba.ratio=3/2 -gbch.integerscale=0 -gbc.integerscale=0 -gbh.integerscale=0 -gb.integerscale=0 -genesis.integerscale=0 -genesis.ratio=4/3 -genh.integerscale=0 -genh.ratio=4/3 -ggh.integerscale=0 -global.analogue=1 -global.audiolatency=32 -global.autosave=2 -global.incrementalsavestates=0 -global.maxincrementalsaves=0 -global.netplay=0 -global.netplay.port=55435 -global.netplay.relay=none -global.ratio=core -global.retroachievements=0 -global.retroachievements.challengeindicators=0 -global.retroachievements.hardcore=0 -global.retroachievements.leaderboards=disabled -global.retroachievements.password= -global.retroachievements.richpresence=0 -global.retroachievements.screenshot=0 -global.retroachievements.soundenable=0 -global.retroachievements.testunofficial=0 -global.retroachievements.username= -global.retroachievements.verbose=0 -global.retroarch.menu_driver=ozone -global.rewind=0 -global.runahead=0 -global.secondinstance=0 -intellivision.integerscale=0 -intellivision.ratio=4/3 -ipv6.enabled=0 -mame.autosave=0 -mame.integerscale=0 -mastersystem.integerscale=0 -megacd.integerscale=0 -megacd.ratio=4/3 -megadrive.integerscale=0 -megadrive-japan.integerscale=0 -megadrive-japan.ratio=4/3 -megadrive.ratio=4/3 -megaduck.integerscale=0 -moto.integerscale=0 -moto.ratio=4/3 -msx2.integerscale=0 -msx2.ratio=4/3 -msx.integerscale=0 -msx.ratio=4/3 -n64.controller_pak=2 -n64.game_aspect_ratio=4:3 -n64.input_configuration=zlswap -n64.integerscale=0 -n64.internal_resolution=1 -n64.parallel_n64_gamespeed=fullspeed -n64.parallel_n64_gfx_accuracy=medium -n64.parallel_n64_internal_resolution=480p -n64.parallel_n64_video_core=glide64 -n64.ratio=4/3 -n64.rsp_plugin=hle -n64.show_fps=0 -naomi.integerscale=0 -naomi.ratio=4/3 -neocd.integerscale=0 -neocd.ratio=core -neogeo.integerscale=0 -neogeo.ratio=core -nesh.integerscale=0 -nesh.ratio=4/3 -nes.integerscale=0 -nes.ratio=4/3 -network.enabled=0 -ngpc.intergerscale=1 -ngp.integerscale=0 -odyssey2.integerscale=0 -odyssey2.ratio=4/3 -pc-9800.integerscale=0 -pc-9800.ratio=4/3 -pcenginecd.integerscale=0 -pcenginecd.ratio=4/3 -pcengine.integerscale=0 -pcengine.ratio=4/3 -pcfx.integerscale=0 -pcfx.ratio=4/3 -pc.integerscale=0 -pc.ratio=4/3 -pet.ratio=4/3 -pokemini.ratio=3/2 -psx.integerscale=0 -psx.ratio=4/3 -rotate.root.password=1 -samba.enabled=0 -saturn.integerscale=0 -saturn.ratio=4/3 -scv.integerscale=0 -scv.ratio=4/3 -sega32x.integerscale=0 -sega32x.ratio=4/3 -segacd.integerscale=0 -segacd.ratio=4/3 -sfc.integerscale=0 -sfc.ratio=4/3 -sg-1000.integerscale=0 -simplehttp.enabled=0 -snesh.integerscale=0 -snesh.ratio=4/3 -snes.integerscale=0 -snesmsu1.integerscale=0 -snesmsu1.ratio=4/3 -snes.ratio=4/3 -splash.enabled=0 -ssh.enabled=0 -supergrafx.integerscale=0 -supergrafx.ratio=4/3 -supervision.integerscale=0 -syncthing.enabled=0 -system.autohotkeys=1 -system.automount=1 -system.battery.warning=0 -system.hostname=@DEVICENAME@ -system.language=en_US -system.loglevel=none -system.power.audio=1 -system.merged.storage=0 -system.power.cpu=1 -system.power.pcie=0 -system.power.rtpm=0 -system.powersave=0 -system.power.wifi=0 -system.timezone=America/New_York -tg16cd.integerscale=0 -tg16cd.ratio=4/3 -tg16.integerscale=0 -tg16.ratio=4/3 -updates.branch=stable -updates.enabled=1 -updates.force=0 -uzebox.integerscale=0 -uzebox.integerscale=0 -vectrex.integerscale=0 -vectrex.ratio=3/4 -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 -wonderswan.integerscale=0 -wts.enabled=1 -x68000.integerscale=0 -x68000.ratio=4/3 -zx81.integerscale=0 -zx81.ratio=4/3 -zxspectrum.integerscale=0 -zxspectrum.ratio=4/3 diff --git a/packages/jelos/config/system/configs/tz b/packages/jelos/config/system/configs/tz deleted file mode 100644 index fe39d982c..000000000 --- a/packages/jelos/config/system/configs/tz +++ /dev/null @@ -1,593 +0,0 @@ -Africa/Abidjan -Africa/Accra -Africa/Addis_Ababa -Africa/Algiers -Africa/Asmara -Africa/Asmera -Africa/Bamako -Africa/Bangui -Africa/Banjul -Africa/Bissau -Africa/Blantyre -Africa/Brazzaville -Africa/Bujumbura -Africa/Cairo -Africa/Casablanca -Africa/Ceuta -Africa/Conakry -Africa/Dakar -Africa/Dar_es_Salaam -Africa/Djibouti -Africa/Douala -Africa/El_Aaiun -Africa/Freetown -Africa/Gaborone -Africa/Harare -Africa/Johannesburg -Africa/Juba -Africa/Kampala -Africa/Khartoum -Africa/Kigali -Africa/Kinshasa -Africa/Lagos -Africa/Libreville -Africa/Lome -Africa/Luanda -Africa/Lubumbashi -Africa/Lusaka -Africa/Malabo -Africa/Maputo -Africa/Maseru -Africa/Mbabane -Africa/Mogadishu -Africa/Monrovia -Africa/Nairobi -Africa/Ndjamena -Africa/Niamey -Africa/Nouakchott -Africa/Ouagadougou -Africa/Porto-Novo -Africa/Sao_Tome -Africa/Timbuktu -Africa/Tripoli -Africa/Tunis -Africa/Windhoek -America/Adak -America/Anchorage -America/Anguilla -America/Antigua -America/Araguaina -America/Argentina/Buenos_Aires -America/Argentina/Catamarca -America/Argentina/ComodRivadavia -America/Argentina/Cordoba -America/Argentina/Jujuy -America/Argentina/La_Rioja -America/Argentina/Mendoza -America/Argentina/Rio_Gallegos -America/Argentina/Salta -America/Argentina/San_Juan -America/Argentina/San_Luis -America/Argentina/Tucuman -America/Argentina/Ushuaia -America/Aruba -America/Asuncion -America/Atikokan -America/Atka -America/Bahia -America/Bahia_Banderas -America/Barbados -America/Belem -America/Belize -America/Blanc-Sablon -America/Boa_Vista -America/Bogota -America/Boise -America/Buenos_Aires -America/Cambridge_Bay -America/Campo_Grande -America/Cancun -America/Caracas -America/Catamarca -America/Cayenne -America/Cayman -America/Chicago -America/Chihuahua -America/Coral_Harbour -America/Cordoba -America/Costa_Rica -America/Creston -America/Cuiaba -America/Curacao -America/Danmarkshavn -America/Dawson -America/Dawson_Creek -America/Denver -America/Detroit -America/Dominica -America/Edmonton -America/Eirunepe -America/El_Salvador -America/Ensenada -America/Fort_Nelson -America/Fort_Wayne -America/Fortaleza -America/Glace_Bay -America/Godthab -America/Goose_Bay -America/Grand_Turk -America/Grenada -America/Guadeloupe -America/Guatemala -America/Guayaquil -America/Guyana -America/Halifax -America/Havana -America/Hermosillo -America/Indiana/Indianapolis -America/Indiana/Knox -America/Indiana/Marengo -America/Indiana/Petersburg -America/Indiana/Tell_City -America/Indiana/Vevay -America/Indiana/Vincennes -America/Indiana/Winamac -America/Indianapolis -America/Inuvik -America/Iqaluit -America/Jamaica -America/Jujuy -America/Juneau -America/Kentucky/Louisville -America/Kentucky/Monticello -America/Knox_IN -America/Kralendijk -America/La_Paz -America/Lima -America/Los_Angeles -America/Louisville -America/Lower_Princes -America/Maceio -America/Managua -America/Manaus -America/Marigot -America/Martinique -America/Matamoros -America/Mazatlan -America/Mendoza -America/Menominee -America/Merida -America/Metlakatla -America/Mexico_City -America/Miquelon -America/Moncton -America/Monterrey -America/Montevideo -America/Montreal -America/Montserrat -America/Nassau -America/New_York -America/Nipigon -America/Nome -America/Noronha -America/North_Dakota/Beulah -America/North_Dakota/Center -America/North_Dakota/New_Salem -America/Ojinaga -America/Panama -America/Pangnirtung -America/Paramaribo -America/Phoenix -America/Port-au-Prince -America/Port_of_Spain -America/Porto_Acre -America/Porto_Velho -America/Puerto_Rico -America/Punta_Arenas -America/Rainy_River -America/Rankin_Inlet -America/Recife -America/Regina -America/Resolute -America/Rio_Branco -America/Rosario -America/Santa_Isabel -America/Santarem -America/Santiago -America/Santo_Domingo -America/Sao_Paulo -America/Scoresbysund -America/Shiprock -America/Sitka -America/St_Barthelemy -America/St_Johns -America/St_Kitts -America/St_Lucia -America/St_Thomas -America/St_Vincent -America/Swift_Current -America/Tegucigalpa -America/Thule -America/Thunder_Bay -America/Tijuana -America/Toronto -America/Tortola -America/Vancouver -America/Virgin -America/Whitehorse -America/Winnipeg -America/Yakutat -America/Yellowknife -Antarctica/Casey -Antarctica/Davis -Antarctica/DumontDUrville -Antarctica/Macquarie -Antarctica/Mawson -Antarctica/McMurdo -Antarctica/Palmer -Antarctica/Rothera -Antarctica/South_Pole -Antarctica/Syowa -Antarctica/Troll -Antarctica/Vostok -Arctic/Longyearbyen -Asia/Aden -Asia/Almaty -Asia/Amman -Asia/Anadyr -Asia/Aqtau -Asia/Aqtobe -Asia/Ashgabat -Asia/Ashkhabad -Asia/Atyrau -Asia/Baghdad -Asia/Bahrain -Asia/Baku -Asia/Bangkok -Asia/Barnaul -Asia/Beirut -Asia/Bishkek -Asia/Brunei -Asia/Calcutta -Asia/Chita -Asia/Choibalsan -Asia/Chongqing -Asia/Chungking -Asia/Colombo -Asia/Dacca -Asia/Damascus -Asia/Dhaka -Asia/Dili -Asia/Dubai -Asia/Dushanbe -Asia/Famagusta -Asia/Gaza -Asia/Harbin -Asia/Hebron -Asia/Ho_Chi_Minh -Asia/Hong_Kong -Asia/Hovd -Asia/Irkutsk -Asia/Istanbul -Asia/Jakarta -Asia/Jayapura -Asia/Jerusalem -Asia/Kabul -Asia/Kamchatka -Asia/Karachi -Asia/Kashgar -Asia/Kathmandu -Asia/Katmandu -Asia/Khandyga -Asia/Kolkata -Asia/Krasnoyarsk -Asia/Kuala_Lumpur -Asia/Kuching -Asia/Kuwait -Asia/Macao -Asia/Macau -Asia/Magadan -Asia/Makassar -Asia/Manila -Asia/Muscat -Asia/Nicosia -Asia/Novokuznetsk -Asia/Novosibirsk -Asia/Omsk -Asia/Oral -Asia/Phnom_Penh -Asia/Pontianak -Asia/Pyongyang -Asia/Qatar -Asia/Qostanay -Asia/Qyzylorda -Asia/Rangoon -Asia/Riyadh -Asia/Saigon -Asia/Sakhalin -Asia/Samarkand -Asia/Seoul -Asia/Shanghai -Asia/Singapore -Asia/Srednekolymsk -Asia/Taipei -Asia/Tashkent -Asia/Tbilisi -Asia/Tehran -Asia/Tel_Aviv -Asia/Thimbu -Asia/Thimphu -Asia/Tokyo -Asia/Tomsk -Asia/Ujung_Pandang -Asia/Ulaanbaatar -Asia/Ulan_Bator -Asia/Urumqi -Asia/Ust-Nera -Asia/Vientiane -Asia/Vladivostok -Asia/Yakutsk -Asia/Yangon -Asia/Yekaterinburg -Asia/Yerevan -Atlantic/Azores -Atlantic/Bermuda -Atlantic/Canary -Atlantic/Cape_Verde -Atlantic/Faeroe -Atlantic/Faroe -Atlantic/Jan_Mayen -Atlantic/Madeira -Atlantic/Reykjavik -Atlantic/South_Georgia -Atlantic/St_Helena -Atlantic/Stanley -Australia/ACT -Australia/Adelaide -Australia/Brisbane -Australia/Broken_Hill -Australia/Canberra -Australia/Currie -Australia/Darwin -Australia/Eucla -Australia/Hobart -Australia/LHI -Australia/Lindeman -Australia/Lord_Howe -Australia/Melbourne -Australia/NSW -Australia/North -Australia/Perth -Australia/Queensland -Australia/South -Australia/Sydney -Australia/Tasmania -Australia/Victoria -Australia/West -Australia/Yancowinna -Brazil/Acre -Brazil/DeNoronha -Brazil/East -Brazil/West -CET -CST6CDT -Canada/Atlantic -Canada/Central -Canada/Eastern -Canada/Mountain -Canada/Newfoundland -Canada/Pacific -Canada/Saskatchewan -Canada/Yukon -Chile/Continental -Chile/EasterIsland -Cuba -EET -EST -EST5EDT -Egypt -Eire -Etc/GMT -Etc/GMT+0 -Etc/GMT+1 -Etc/GMT+10 -Etc/GMT+11 -Etc/GMT+12 -Etc/GMT+2 -Etc/GMT+3 -Etc/GMT+4 -Etc/GMT+5 -Etc/GMT+6 -Etc/GMT+7 -Etc/GMT+8 -Etc/GMT+9 -Etc/GMT-0 -Etc/GMT-1 -Etc/GMT-10 -Etc/GMT-11 -Etc/GMT-12 -Etc/GMT-13 -Etc/GMT-14 -Etc/GMT-2 -Etc/GMT-3 -Etc/GMT-4 -Etc/GMT-5 -Etc/GMT-6 -Etc/GMT-7 -Etc/GMT-8 -Etc/GMT-9 -Etc/GMT0 -Etc/Greenwich -Etc/UCT -Etc/UTC -Etc/Universal -Etc/Zulu -Europe/Amsterdam -Europe/Andorra -Europe/Astrakhan -Europe/Athens -Europe/Belfast -Europe/Belgrade -Europe/Berlin -Europe/Bratislava -Europe/Brussels -Europe/Bucharest -Europe/Budapest -Europe/Busingen -Europe/Chisinau -Europe/Copenhagen -Europe/Dublin -Europe/Gibraltar -Europe/Guernsey -Europe/Helsinki -Europe/Isle_of_Man -Europe/Istanbul -Europe/Jersey -Europe/Kaliningrad -Europe/Kiev -Europe/Kirov -Europe/Lisbon -Europe/Ljubljana -Europe/London -Europe/Luxembourg -Europe/Madrid -Europe/Malta -Europe/Mariehamn -Europe/Minsk -Europe/Monaco -Europe/Moscow -Europe/Nicosia -Europe/Oslo -Europe/Paris -Europe/Podgorica -Europe/Prague -Europe/Riga -Europe/Rome -Europe/Samara -Europe/San_Marino -Europe/Sarajevo -Europe/Saratov -Europe/Simferopol -Europe/Skopje -Europe/Sofia -Europe/Stockholm -Europe/Tallinn -Europe/Tirane -Europe/Tiraspol -Europe/Ulyanovsk -Europe/Uzhgorod -Europe/Vaduz -Europe/Vatican -Europe/Vienna -Europe/Vilnius -Europe/Volgograd -Europe/Warsaw -Europe/Zagreb -Europe/Zaporozhye -Europe/Zurich -GB -GB-Eire -GMT -GMT+0 -GMT-0 -GMT0 -Greenwich -HST -Hongkong -Iceland -Indian/Antananarivo -Indian/Chagos -Indian/Christmas -Indian/Cocos -Indian/Comoro -Indian/Kerguelen -Indian/Mahe -Indian/Maldives -Indian/Mauritius -Indian/Mayotte -Indian/Reunion -Iran -Israel -Jamaica -Japan -Kwajalein -Libya -MET -MST -MST7MDT -Mexico/BajaNorte -Mexico/BajaSur -Mexico/General -NZ -NZ-CHAT -Navajo -PRC -PST8PDT -Pacific/Apia -Pacific/Auckland -Pacific/Bougainville -Pacific/Chatham -Pacific/Chuuk -Pacific/Easter -Pacific/Efate -Pacific/Enderbury -Pacific/Fakaofo -Pacific/Fiji -Pacific/Funafuti -Pacific/Galapagos -Pacific/Gambier -Pacific/Guadalcanal -Pacific/Guam -Pacific/Honolulu -Pacific/Johnston -Pacific/Kiritimati -Pacific/Kosrae -Pacific/Kwajalein -Pacific/Majuro -Pacific/Marquesas -Pacific/Midway -Pacific/Nauru -Pacific/Niue -Pacific/Norfolk -Pacific/Noumea -Pacific/Pago_Pago -Pacific/Palau -Pacific/Pitcairn -Pacific/Pohnpei -Pacific/Ponape -Pacific/Port_Moresby -Pacific/Rarotonga -Pacific/Saipan -Pacific/Samoa -Pacific/Tahiti -Pacific/Tarawa -Pacific/Tongatapu -Pacific/Truk -Pacific/Wake -Pacific/Wallis -Pacific/Yap -Poland -Portugal -ROC -ROK -Singapore -Turkey -UCT -US/Alaska -US/Aleutian -US/Arizona -US/Central -US/East-Indiana -US/Eastern -US/Hawaii -US/Indiana-Starke -US/Michigan -US/Mountain -US/Pacific -US/Pacific-New -US/Samoa -UTC -Universal -W-SU -WET -Zulu diff --git a/packages/jelos/package.mk b/packages/jelos/package.mk deleted file mode 100644 index 8b4223ae1..000000000 --- a/packages/jelos/package.mk +++ /dev/null @@ -1,96 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -PKG_NAME="jelos" -PKG_VERSION="" -PKG_ARCH="any" -PKG_LICENSE="GPLv2" -PKG_SITE="" -PKG_URL="" -PKG_DEPENDS_TARGET="toolchain" -PKG_SHORTDESC="JELOS Meta Package" -PKG_LONGDESC="JELOS Meta Package" -PKG_IS_ADDON="no" -PKG_AUTORECONF="no" -PKG_TOOLCHAIN="make" - -make_target() { - : -} - -makeinstall_target() { - - mkdir -p ${INSTALL}/usr/config/ - rsync -av ${PKG_DIR}/config/* ${INSTALL}/usr/config/ - ln -sf /storage/.config/system ${INSTALL}/system - find ${INSTALL}/usr/config/system/ -type f -exec chmod o+x {} \; - - mkdir -p ${INSTALL}/usr/bin/ - - ### Compatibility links for ports - ln -s /storage/roms ${INSTALL}/roms - - ### Add some quality of life customizations for hardworking devs. - if [ -n "${LOCAL_SSH_KEYS_FILE}" ] - then - mkdir -p ${INSTALL}/usr/config/ssh - cp ${LOCAL_SSH_KEYS_FILE} ${INSTALL}/usr/config/ssh/authorized_keys - fi - - if [ -n "${LOCAL_WIFI_SSID}" ] - then - sed -i "s#network.enabled=0#network.enabled=1#g" ${INSTALL}/usr/config/system/configs/system.cfg - cat <> ${INSTALL}/usr/config/system/configs/system.cfg -wifi.ssid=${LOCAL_WIFI_SSID} -wifi.key=${LOCAL_WIFI_KEY} -EOF - fi -} - -post_install() { - ln -sf jelos.target ${INSTALL}/usr/lib/systemd/system/default.target - - if [ ! -d "${INSTALL}/usr/share" ] - then - mkdir "${INSTALL}/usr/share" - fi - cp ${PKG_DIR}/sources/post-update ${INSTALL}/usr/share - chmod 755 ${INSTALL}/usr/share/post-update - - # Issue banner - BUILD_ID=$(git rev-parse HEAD) - cp ${PKG_DIR}/sources/issue ${INSTALL}/etc - ln -s /etc/issue ${INSTALL}/etc/motd - cat <> ${INSTALL}/etc/issue -... Version: ${OS_VERSION} (${BUILD_ID:0:7}) -... Built: ${BUILD_DATE} - -EOF - - cp ${PKG_DIR}/sources/scripts/* ${INSTALL}/usr/bin - chmod 0755 ${INSTALL}/usr/bin/* 2>/dev/null ||: - - ### Fix and migrate to autostart package - enable_service jelos-autostart.service - - ### Take a backup of the system configuration on shutdown - enable_service save-sysconfig.service - - sed -i "s#@DEVICENAME@#${DEVICE}#g" ${INSTALL}/usr/config/system/configs/system.cfg - - ### Defaults for non-main builds. - BUILD_BRANCH="$(git branch --show-current)" - if [ ! "${BUILD_BRANCH}" = "main" ] - then - sed -i "s#ssh.enabled=0#ssh.enabled=1#g" ${INSTALL}/usr/config/system/configs/system.cfg - sed -i "s#network.enabled=0#network.enabled=1#g" ${INSTALL}/usr/config/system/configs/system.cfg - sed -i "s#system.loglevel=none#system.loglevel=verbose#g" ${INSTALL}/usr/config/system/configs/system.cfg - fi - - ### Disable automount on AMD64 - if [ "${DEVICE}" = "AMD64" ] - then - sed -i "s#system.automount=1#system.automount=0#g" ${INSTALL}/usr/config/system/configs/system.cfg - fi - -} diff --git a/packages/jelos/profile.d/001-functions b/packages/jelos/profile.d/001-functions deleted file mode 100644 index c0d3a28f0..000000000 --- a/packages/jelos/profile.d/001-functions +++ /dev/null @@ -1,206 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert) -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/os-release - -export XDG_RUNTIME_DIR=/var/run/0-runtime-dir -export PATH="/usr/bin:/usr/local/bin:/storage/bin:${PATH}" -export SDL_GAMECONTROLLERCONFIG_FILE="/storage/.config/SDL-GameControllerDB/gamecontrollerdb.txt" - -J_DIR="/storage/.config/system" -J_CONF="${J_DIR}/configs/system.cfg" -J_CONF_LOCK="/tmp/.system.cfg.lock" -ES_CONF="/storage/.emulationstation/es_settings.cfg" - -function tocon() { - echo -ne "\033[1000H\033[2K==> ${*}" >/dev/console -} - -function log() { - SOURCE=${1//\/*\//} - MESSAGE=${*#${1}} - MESSAGE=${MESSAGE# } - logger -t ${SOURCE} "${MESSAGE}" - echo "$(date) ${SOURCE}: ${MESSAGE}" >>/var/log/messages -} - -function get_setting() { - if [ -n "${3}" ] - then - ### Test to see if we have a game setting. - VAR="$2\[\"$(echo ${3} | sed -E "s~'~\\\x27~g"';s~[()&]~\\&~g')\"\]\.$1" - OUTPUT=$(awk 'BEGIN {FS="="} /^'"${VAR}"'/ {print $NF}' ${J_CONF}) - if [ ! -z "${OUTPUT}" ] - then - echo ${OUTPUT} - return - else - ### If not, check to see if we have a system setting. - LOCAL=$(awk -F: '/^'"${2}.${1}"'=/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF}) - if [ ! -z "${LOCAL}" ] - then - echo ${LOCAL} - return - fi - fi - fi - - if [ -z "${3}" ] && [ -n "${2}" ] - then - ### Check to see if we have a global setting. - LOCAL=$(awk -F: '/^'"${2}.${1}"'=/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF}) - if [ ! -z "${LOCAL}" ] - then - echo ${LOCAL} - return - fi - fi - - ### Check to see if we have a "system." global setting. - SYSTEM=$(awk -F: '/^system.'"${1}"='/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF}) - if [ -n "${SYSTEM}" ] - then - echo ${SYSTEM} - return - fi - - ### Check to see if we have a "global." global setting." - LOCAL=$(awk -F: '/^'"${1}"='/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF}) - if [ -z "${LOCAL}" ] - then - awk -F: '/^global.'"${1}"='/ { st = index($0,"=");print substr($0,st+1);exit}' ${J_CONF} - return - else - echo ${LOCAL} - fi - return -} - -function wait_lock() { - while true - do - if (set -o noclobber; echo "$$" > "${J_CONF_LOCK}") 2>/dev/null - then - trap 'rm -f "$lockfile"; exit $?' INT TERM EXIT - break - else - sleep 1 - fi - done -} - -function del_setting() { - wait_lock - if [[ "${1}" =~ ^[[:alnum:]] ]] - then - sed -i "/^${1}=/d" "${J_CONF}" - fi - rm -f "${J_CONF_LOCK}" -} - -function sort_settings() { - wait_lock - cat "${J_CONF}" | grep ^[a-z0-9] | sort >"${J_CONF}.tmp" - mv "${J_CONF}.tmp" "${J_CONF}" - rm -f "${J_CONF_LOCK}" -} - -function set_kill() { - if [ "${1}" = "set" ] - then - cat </tmp/.process-kill-data -${2} -EOF - elif [ "${1}" = "stop" ] - then - if [ -e "/tmp/.process-kill-data" ] - then - rm -f "/tmp/.process-kill-data" - fi - fi -} - -function set_setting() { - - if [ ! -d "/storage/.config/system/configs" ] - then - mkdir -p /storage/.config/system/configs - fi - if [ ! -e "/storage/.config/system/configs/system.cfg" ] - then - cp -f /usr/config/system/configs/system.cfg /storage/.config/system/configs/system.cfg - fi - - if [[ "${1}" =~ ^[[:alnum:]] ]] - then - del_setting "${1}" - if [ ! "${2}" = "default" ] - then - wait_lock - echo "${1}=${2}" >> "${J_CONF}" - rm -f "${J_CONF_LOCK}" - fi - fi -} - -function battery_percent() { - awk 'BEGIN {FS="="} /POWER_SUPPLY_CAPACITY=/ {print $2}' /sys/class/power_supply/[Bb][Aa][Tt]*/uevent 2>/dev/null -} - -function get_es_setting() { - echo $(sed -n "s|\s*<${1} name=\"${2}\" value=\"\(.*\)\" />|\1|p" ${ES_CONF}) -} - -function fbwidth() { - local ORIENTATION=$(/dev/null 2>&1 - done - - for thread in $(seq ${THREADS} 1 ${AVAILABLE_THREADS}) - do - echo ${MODE} | tee /sys/devices/system/cpu/cpu${thread}/online >/dev/null 2>&1 - done -} - -set_cpu_gov() { - for POLICY in $(ls /sys/devices/system/cpu/cpufreq 2>/dev/null | grep policy[0-9]) - do - if [ -e "/sys/devices/system/cpu/cpufreq/${POLICY}/scaling_governor" ] - then - echo $1 >/sys/devices/system/cpu/cpufreq/${POLICY}/scaling_governor 2>/dev/null - fi - done -} - -set_dmc_gov() { - if [ -e "${DMC_FREQ}/governor" ] - then - for governor in $1 dmc_$1 simple_$1 - do - echo ${governor} >${DMC_FREQ}/governor 2>/dev/null - if [ "$?" = 0 ] - then - return - fi - done - fi -} - -set_gpu_gov() { - if [ -e "${GPU_FREQ}/governor" ] - then - for governor in $1 dmc_$1 simple_$1 - do - echo ${governor} >${GPU_FREQ}/governor 2>/dev/null - if [ "$?" = 0 ] - then - return - fi - done - fi -} - -onlinethreads() { - set_online_threads ${1} ${2} -} - -performance() { - set_cpu_gov performance - set_dmc_gov performance -} - -ondemand() { - set_cpu_gov ondemand - set_dmc_gov ondemand -} - -schedutil() { - set_cpu_gov schedutil - set_dmc_gov ondemand -} - -powersave() { - set_cpu_gov powersave - set_dmc_gov powersave -} diff --git a/packages/jelos/sources/issue b/packages/jelos/sources/issue deleted file mode 100644 index 380ec5b24..000000000 --- a/packages/jelos/sources/issue +++ /dev/null @@ -1,7 +0,0 @@ - - ██ ███████ ██  ████████ ███████ - ██ ██ ██  ██ ██ ██ - ██ ███████ ██  ██ ██ ███████ -██ ██ ██ ██  ██ ██ ██ -███████ ███████ ███████ ████████ ███████ - diff --git a/packages/jelos/sources/post-update b/packages/jelos/sources/post-update deleted file mode 100644 index d8d558996..000000000 --- a/packages/jelos/sources/post-update +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -LOG="/var/log/boot.log" - -### This script contains items that we only want to execute after a JELOS upgrade, -### or after a fresh installation. - -### Items in this block should always run after updates. -################################################################################ - -echo "Rebuild library cache..." >>${LOG} -tocon "Rebuilding library cache..." -### Rebuild the library cache -rm -f /storage/.cache/ld.so.cache -ldconfig -X - -echo "Sync configuration files..." >>${LOG} -tocon "Re-sync configuration files..." -### Sync configurations -if [ -d "/storage/.config/system/configs" ] -then - EXCLUDE="--exclude=configs" -fi - -### Remove and link es configs so they are managed with OS updates. -for es_cfg in es_features.cfg es_systems.cfg -do - mv /storage/.config/emulationstation/${es_cfg} /storage/.config/emulationstation/last_${es_cfg} >/dev/null 2>&1 - ln -s /usr/config/emulationstation/${es_cfg} /storage/.config/emulationstation/${es_cfg} >/dev/null 2>&1 -done - -rsync -a --delete ${EXCLUDE} /usr/config/system/ /storage/.config/system/ -rsync -a --ignore-existing /usr/config/game /storage/.config/ -rsync -a /usr/config/modules /storage/.config/ - -if [ -f "/storage/.config/emulationstation/resources/logo.png" ] -then - rm -f /storage/.config/emulationstation/resources/logo.png -fi - -echo "Sync modules..." >>${LOG} -tocon "Update tool modules..." -rsync -a /usr/config/modules/* /storage/.config/modules/ -cp -f /usr/config/retroarch/retroarch-core-options.cfg /storage/.config/retroarch/retroarch-core-options.cfg - -### Apply developer ssh keys if they exist -echo "Apply dev keys if available..." >>${LOG} -if [ -e /usr/config/ssh/authorized_keys ] -then - tocon "Update developer keys..." - cp /usr/config/ssh/authorized_keys /storage/.ssh -fi - -### Sync rsync configs -echo "Update rsync configuration files..." >>${LOG} -rsync --ignore-existing /usr/config/rsync-rules.conf /storage/.config/ -rsync --ignore-existing /usr/config/rsync.conf /storage/.config/ - -### Sync locale data -tocon "Re-sync locale data..." -rsync -a --delete /usr/config/locale/* /storage/.config/locale/ >>/var/log/configure.log 2>&1 -rm -rf /storage/.config/emulationstation/locale >>/var/log/configure.log 2>&1 ||: -ln -sf /usr/share/locale /storage/.config/emulationstation/locale >>/var/log/configure.log 2>&1 ||: - -### Fix Japanese language bug -if [ ! -e "/storage/.config/ppsspp/assets/NotoSansJP-Regular.ttf" ] -then - cd /storage/.config/ppsspp/assets - cp /usr/config/ppsspp/assets/NotoSansJP-Regular.ttf . - ln -s NotoSansJP-Regular.ttf Roboto-Condensed.ttf - cd - -fi - -### Add items below this line that are safe to remove after a period of time. -################################################################################ - -## 20240312 clean config files on specific rk3326 devices -model=$(cat /sys/firmware/devicetree/base/model) -clean_list="ODROID-GO Advance Black Edition Powkiddy RGB10" -if echo "${clean_list}" | grep "$model"; then - rm -rf /storage/.config/mupen64plus - rm -rf /storage/.config/drastic - rm -f /storage/.config/ppsspp/PSP/SYSTEM/controls.ini - rm -f /storage/.config/mednafen/mednafen.cfg -fi -if [ "${model}" = "Powkiddy RGB10" ]; then - rm -f /storage/joypads/odroidgo2_v11_joypad.cfg -fi - -### 20240207 - Update Vita launchers and data. -rsync -ah --update /usr/config/vita3k/* /storage/.config/vita3k 2>/dev/null -rm -f "/storage/.config/vita3k/launcher/Start Vita3K.sh" diff --git a/packages/jelos/sources/scripts/amionline b/packages/jelos/sources/scripts/amionline deleted file mode 100755 index 3551d0478..000000000 --- a/packages/jelos/sources/scripts/amionline +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -ip route | awk '/default/ {print $3}' >/dev/null 2>&1 -if [ ! $? = 0 ] -then - echo false - exit 1 -else - ping www.google.com -c1 -w1 >/dev/null 2>&1 - if [ ! $? = 0 ] - then - echo false - exit 1 - else - echo true - exit 0 - fi -fi diff --git a/packages/jelos/sources/scripts/automount b/packages/jelos/sources/scripts/automount deleted file mode 100755 index 77c6ce329..000000000 --- a/packages/jelos/sources/scripts/automount +++ /dev/null @@ -1,227 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile -. /etc/os-release - -### Vars -UPDATE_ROOT="/storage/.update" -MOUNT_GAMES=$(get_setting system.automount) -GAMES_DEVICE=$(get_setting system.gamesdevice) -MS_PATH="/storage/roms" - -function unmount() { - log $0 "Unmount ${1}." - umount -f "${1}" 2>/dev/null ||: -} - -function add_readme() { - cat </storage/roms/README -Use the \`Create Game Directories\` option in \`System Settings\` to create your game directories. -EOF -} - -function start_ms() { - ### Entrypoint will be either games card found (external), or not found (internal). - MOUNT_PATH="/storage/games-${1}" - - MS_DEVICE=$(get_setting system.merged.device) - ### If the merge target isn't defined and we have an external microsd, we should use the external card by default. - if [ -z "${MS_DEVICE}" ] && \ - [ "${1}" = "external" ] - then - set_setting system.merged.device external - fi - - ### Determine if internal or external is the primary target by configuration. - case ${MS_DEVICE} in - internal) - LOWER="external" - UPPER="internal" - ;; - *) - LOWER="internal" - UPPER="external" - ;; - esac - - for GAME_PATH in internal external - do - if [ ! -d "/storage/games-${GAME_PATH}/roms" ] - then - log $0 "Create /storage/games-${GAME_PATH}/roms." - mkdir -p "/storage/games-${GAME_PATH}/roms" - fi - done - - MS_ENABLED=$(get_setting system.merged.storage) - if [ -e "/storage/.ms_unsupported" ] || \ - [ ! "${MS_ENABLED}" = 1 ] - then - log $0 "Executing bind mount of ${MOUNT_PATH} to ${MS_PATH}" - mount --bind ${MOUNT_PATH}/roms ${MS_PATH} - else - log $0 "Enabling merged storage of /storage/games-${LOWER} and /storage/games-${UPPER} to ${MS_PATH}." - - for DIR in /storage/games-${UPPER}/.tmp/games-workdir /storage/games-${LOWER}/roms /storage/games-${UPPER}/roms - do - if [ ! -d "${DIR}" ] - then - mkdir -p "${DIR}" - fi - done - mount overlay -t overlay -o lowerdir=/storage/games-${LOWER}/roms,upperdir=/storage/games-${UPPER}/roms,workdir=/storage/games-${UPPER}/.tmp/games-workdir ${MS_PATH} - fi -} - -start_overlay() { - if [ -e "/storage/.overlay_unsupported" ] - then - # If we're not using the overlay, bind mount the external storage path - # so we don't need to change any configs. - grep ${MOUNT_PATH} /proc/mounts >/dev/null 2>&1 - if [ ! $? = 0 ] - then - MOUNT_PATH="/storage/games-internal" - fi - log $0 "Executing bind mount of ${MOUNT_PATH} to ${OVERLAY_PATH}" - mount --bind ${MOUNT_PATH} ${OVERLAY_PATH} - exit 0 - else - log $0 "Enabling overlay." - systemctl enable storage-roms.mount >/dev/null 2>&1 - systemctl start storage-roms.mount >/dev/null 2>&1 - fi -} - -if [[ ! "${MOUNT_GAMES}" =~ [0-9] ]] -then - set_setting system.automount 1 -elif [[ "${MOUNT_GAMES}" == "0" ]] -then - start_ms internal - add_readme - exit 0 -fi - -function load_modules() { - for MODULE in exfat vfat - do - lsmod | grep ${MODULE} >/dev/null 2>&1 - if [ ! $? = 0 ] - then - log $0 "Loading ${MODULE}." - modprobe ${MODULE} >/dev/null 2>&1 - fi - done -} - -function mount_games() { - MOUNT_PATH="/storage/games-external" - FSTYPE=$(blkid -o export ${1} | awk 'BEGIN {FS="="} /TYPE/ {print $2}') - case ${FSTYPE} in - ext4) - log $0 "Found supported partition for overlayfs." - if [ -e "/storage/.ms_unsupported" ] - then - rm -f /storage/.ms_unsupported - fi - touch /storage/.ms_supported - ;; - *) - log $0 "Partition does not support overlayfs, disabling." - if [ -e "/storage/.ms_supported" ] - then - rm -f /storage/.ms_supported - fi - touch /storage/.ms_unsupported - ;; - esac - - if [ ! -d "${MOUNT_PATH}" ] - then - log $0 "Create directory ${MOUNT_PATH}" - /usr/bin/busybox mkdir -p ${MOUNT_PATH} >/dev/null 2>&1 - fi - - NULL=$(cat /proc/mounts | grep -v -e "/var/media" 2>/dev/null | grep ${1}) - if [ ! "$?" = "0" ] && \ - [ -e "${1}" ] && \ - [ ! -e "/storage/.please_resize_me" ] - then - - ### Udevil shouldn't mount it this early, but just in-case. - umount /var/media/* 2>/dev/null - - log $0 "Checking filesystem ${1}." - fsck -Mly ${1} >/dev/null 2>&1 - - log $0 "Mounting ${1} on ${MOUNT_PATH}" - /usr/bin/busybox mount ${1} ${MOUNT_PATH} >/dev/null 2>&1 - fi - start_ms external - add_readme - exit 0 -} - -function find_games() { - if /usr/bin/busybox mountpoint -q /storage - then - for DEV in $(for dev in mmcblk[0-9] sd[a-z] nvme[0-9]; do blkid | grep ${dev} | awk 'BEGIN {FS=":"}; /ext4/ || /fat/ {print $1}' | sort -r; done) - do - ROOTDEV=$(echo ${DEV} | sed -e "s#^/.*/##g" -e "s#p[0-9].*\$##g") - log $0 "Inspecting ${DEV}." - SIZE=$(awk '/'${ROOTDEV}'$/ {print $3}' /proc/partitions) - if (( ${SIZE} <= 8388608 )) - then - log $0 "Device ${ROOTDEV} is too small, ignoring." - # We don't want to mount partitions smaller than ~8GB. - continue - fi - if [ -L "/sys/class/block/${ROOTDEV}boot0" ] - then - log $0 "Device ${ROOTDEV} might be Android, ignoring." - # Assume this is an android boot device and ignore it. - continue - fi - ISMOUNTED="$(grep "${DEV}" /proc/mounts) >/dev/null 2>&1" - if [ ! "$?" = 0 ] && \ - [ -e "${DEV}" ] && \ - [ ! -e "/storage/.please_resize_me" ] - then - GAMES_DEVICE=${DEV} - log $0 "Found ${DEV} available to mount." - mount_games "${DEV}" - else - log $0 "${DEV} not available." - fi - done - log $0 "Could not find external card to mount, assume internal." - - MS_DEVICE=$(get_setting system.merged.device) - ### If the merge target isn't defined and we do not have an external microsd, we should use the internal card by default. - if [ -z "${MS_DEVICE}" ] - then - set_setting system.merged.device internal - fi - start_ms internal - add_readme - exit 0 - fi -} - -## Main.. - -load_modules - -### Unmount any existing storage before beginning operations. -unmount /storage/games-external -unmount /storage/roms - -if [ -e "${GAMES_DEVICE}" ] -then - mount_games ${GAMES_DEVICE} -else - find_games -fi diff --git a/packages/jelos/sources/scripts/backuptool b/packages/jelos/sources/scripts/backuptool deleted file mode 100755 index 805c960cf..000000000 --- a/packages/jelos/sources/scripts/backuptool +++ /dev/null @@ -1,69 +0,0 @@ -#!/bin/bash - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert) -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -# NOTE: to customize your backups, create a backuptool.conf file in -# /storage/.config like this: - -# LOCATIONS=( -# /storage/.config/retroarch/* -# /storage/roms/savestates/* -# /some/other/folder/file.name* -# ) - -BACKUPFOLDER="/storage/roms/backup" -BACKUPFILE="${BACKUPFOLDER}/${OS_NAME}_BACKUP.zip" -mkdir -p ${BACKUPFOLDER} - -DEFAULT=( - /storage/.config/fancontrol.conf - /storage/.config/backuptool.conf - /storage/.cache/bluetooth/* - /storage/.cache/connman* - /storage/.config/system/configs/system.cfg - /storage/.config/ppsspp/* - /storage/.config/retroarch/* - /storage/.config/moonlight/* - /storage/.config/game/* - /storage/.emulationstation/es_*.cfg - /storage/.emulationstation/scripts/* - /storage/.emulationstation/themesettings/* - $(find /storage/.emulationstation/themes/* -type d -maxdepth 0 -not -path "*es-theme-art-book-next" -not -path "*system-theme") -) - -if [ -e "/storage/.config/backuptool.conf" ] -then - source /storage/.config/backuptool.conf - if [ ! $? = 0 ] - then - WARN="Error loading custom backuptool configs. Using defaults." - ${DEBUG} && echo "${WARN}" - logger -t backuptool "${WARN}" - COMPRESSLOCATIONS=(${DEFAULT[@]}) - else - COMPRESSLOCATIONS=(${LOCATIONS[@]}) - fi -else - COMPRESSLOCATIONS=(${DEFAULT[@]}) -fi - -case "${1}" in - "restore") - unzip -o ${BACKUPFILE} -d / - ;; - "backup") - if [ -f ${BACKUPFILE} ] - then - TODAY=`date +%y-%m-%d_%H_%M_%S` - ARCHIVEFILENAME="ARCHIVED_${OS_NAME}_BACKUP-${TODAY}.zip" - mv ${BACKUPFILE} "${BACKUPFOLDER}/${ARCHIVEFILENAME}" - fi - [ -f "${BACKUPFILE}" ] && rm "${BACKUPFILE}" - zip -9 -r ${BACKUPFILE} \ - ${COMPRESSLOCATIONS[@]} - ;; -esac diff --git a/packages/jelos/sources/scripts/batocera-bluetooth b/packages/jelos/sources/scripts/batocera-bluetooth deleted file mode 100755 index d5b7dce7e..000000000 --- a/packages/jelos/sources/scripts/batocera-bluetooth +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/bash - -ACTION=$1 -shift - -do_help() { - echo "${1} list" >&2 - echo "${1} trust" >&2 - echo "${1} remove " >&2 -} - -do_list() { - find /storage/.cache/bluetooth -type f -name info | - while read FILE - do - if grep -qE '^Trusted=true$' "${FILE}" - then - DEVNAME=$(grep -E '^Name=' "${FILE}" | sed -e s+"^Name="++) - DEVADDR=$(basename $(dirname "${FILE}")) - echo "${DEVADDR} ${DEVNAME}" - fi - done -} - -do_remove() { - DEV="${1}" - - # output is never nice - if ! (echo "untrust ${DEV}" ; echo "remove ${DEV}") | bluetoothctl >/dev/null 2>/dev/null - then - return 1 - fi - - return 0 -} - -do_trust() { - NPID=$(pgrep -f batocera-bluetooth-agent) - test -z "${NPID}" && return 0 - - touch "/var/run/bt_status" || retrun 1 - LAST_MSG=$(cat "/var/run/bt_status") - - # start discovering - kill -10 "${NPID}" - - trap "kill -12 ${NPID}" 2 3 - - N=30 - while test $N -gt 0 - do - NEW_MSG=$(cat "/var/run/bt_status") - if test "${LAST_MSG}" != "${NEW_MSG}" - then - LAST_MSG="${NEW_MSG}" - echo "${NEW_MSG}" - fi - sleep 1 - let N-- - done - - # stop discovering - kill -12 "${NPID}" - -} - -do_starttrust() { - NPID=$(pgrep -f batocera-bluetooth-agent) - test -z "${NPID}" && exit 0 - - # start discovering - kill -10 "${NPID}" -} - -do_stoptrust() { - NPID=$(pgrep -f batocera-bluetooth-agent) - test -z "${NPID}" && exit 0 - - # stop discovering - kill -12 "${NPID}" -} - -case "${ACTION}" in - "list") - do_list - ;; - "trust") - do_trust - ;; - "starttrust") - do_starttrust - ;; - "stoptrust") - do_stoptrust - ;; - "remove") - if test $# = 1 - then - do_remove "${1}" || exit 1 - else - do_help "${0}" - exit 1 - fi - ;; - *) - do_help "${0}" - exit 1 -esac - -exit 0 diff --git a/packages/jelos/sources/scripts/batocera-bluetooth-agent b/packages/jelos/sources/scripts/batocera-bluetooth-agent deleted file mode 100755 index adfc1b779..000000000 --- a/packages/jelos/sources/scripts/batocera-bluetooth-agent +++ /dev/null @@ -1,461 +0,0 @@ -#!/usr/bin/python - -from __future__ import absolute_import, print_function - -from optparse import OptionParser, make_option -import dbus -import dbus.service -import dbus.mainloop.glib -import bluezutils -import time -import os -import logging -import signal -from gi.repository import GLib - -AGENT_INTERFACE = 'org.bluez.Agent1' - -gadapter = None -gdiscovering = False -gdevices = {} -g_devices_seen = {} - -logging.basicConfig(filename='/var/log/bluetooth-agent.log', level=logging.DEBUG, format='%(asctime)s %(message)s') - -def bool2str(val, valiftrue, valiffalse): - if val: - return valiftrue - else: - return valiffalse - -def logging_status(msg): - with open("/var/run/bt_status", "w") as file: - file.write(msg + "\n") - -def connect_device(path, address, properties, forceConnect, typeInput, typeAudio): - global gdiscovering - - devName = "" - trusted = False - connected = False - - # avoid devices without interesting information - if "Trusted" not in properties: - return - if "Connected" not in properties: - return - - rproperties = {} - # Get the adapter name and bt mac - for key, value in properties.items(): - if type(value) is dbus.String: - value = value.encode('ascii', 'replace') - rproperties[key] = value - - trusted = rproperties["Trusted"] - paired = rproperties["Paired"] - devName = getDevName(rproperties) - shortDevName = getShortDevName(rproperties) - connected = rproperties["Connected"] - - # skip non input devices - if "Icon" not in properties: - logging.info("Skipping device {} (no type)".format(getDevName(rproperties))); - return - - if not ( (typeInput and properties["Icon"].startswith("input")) or (typeAudio and properties["Icon"].startswith("audio")) ): - logging.info("Skipping device {} because of type {}".format(getDevName(rproperties), properties["Icon"])); - return - - blacklistAddr, blacklistName = getBlacklistAddrAndName(properties) - - # add device to the seen list - if blacklistAddr not in g_devices_seen: - g_devices_seen[blacklistAddr] = { "name": blacklistName } - updateKnownDevicesList(g_devices_seen) - - # skip blacklisted devices - if blacklistAddr is not None and isDeviceBlacklisted(blacklistAddr): - logging.info("Skipping blacklisted device {}".format(blacklistName)) - return - - logging.info("event for " + devName + "(paired=" + bool2str(paired, "paired", "not paired") + ", trusted=" + bool2str(trusted, "trusted", "untrusted") + ", connected=" + bool2str(connected, "connected", "disconnected") + ")") - - # skipping connected devices - if paired and trusted and connected: - logging.info("Skipping already connected device {}".format(getDevName(rproperties))); - return - - if not paired: - if connected == False and gdiscovering: - doParing(address, devName, shortDevName) - return - - # now it is paired - if not trusted and (gdiscovering or forceConnect): - logging.info("Trusting (" + devName + ")") - logging_status("Trusting " + shortDevName + "...") - bluezProps = dbus.Interface(bus.get_object("org.bluez", path), "org.freedesktop.DBus.Properties") - bluezProps.Set("org.bluez.Device1", "Trusted", True) - - # now it is paired and trusted - # Connect if Trusted and paired - if not connected or forceConnect: - doConnect(address, devName, shortDevName) - -def doParing(address, devName, shortDevName): - logging.info("Pairing... (" + devName + ")") - logging_status("Pairing " + shortDevName + "...") - device = bluezutils.find_device(address) - try: - device.Pair() - except Exception as e: - logging.info("Pairing failed (" + devName + ")") - logging_status("Pairing failed (" + shortDevName + ")") - -def doConnect(address, devName, shortDevName): - global gadapter - global gdiscovering - - try: - # discovery stopped during connection to help some devices - if gdiscovering: - logging.info("Stop discovery") - gadapter.StopDiscovery() - - device = bluezutils.find_device(address) - ntry=5 - while ntry > 0: - ntry = ntry -1 - try: - logging.info("Connecting... (" + devName + ")") - logging_status("Connecting " + shortDevName + "...") - device.Connect() - logging.info("Connected successfully (" + devName + ")") - logging_status("Connected successfully (" + shortDevName + ")") - - if gdiscovering: - logging.info("Start discovery") - gadapter.StartDiscovery() - return - except dbus.exceptions.DBusException as err: - logging.info("dbus: " + err.get_dbus_message()) - time.sleep(1) - except Exception as err: - logging.info("Connection failed (" + devName + ")") - time.sleep(1) - - logging.info("Connection failed. Give up. (" + devName + ")") - logging_status("Connection failed. Give up. (" + shortDevName + ")") - if gdiscovering: - logging.info("Start discovery") - gadapter.StartDiscovery() - except Exception as e: - if gdiscovering: - logging.info("Start discovery") - gadapter.StartDiscovery() - # don't raise, while startdiscovery doesn't like it - #raise e - -def getDevName(properties): - #devName = properties["Name"] + " (" + properties["Address"] + ", " + properties["Icon"] + ")" - #devStatus = "Trusted=" + str(properties["Trusted"]) + ", paired=" + str(properties["Paired"]) + ", connected=" + str(properties["Connected"]), ", blocked=" + str(properties["Blocked"]) - #devTech = "legacyPairing: " + str(properties["LegacyPairing"]) # + ", RSSI: " + properties["RSSI"] - - if "Name" in properties and "Address" in properties and "Icon" in properties: - return str(properties["Name"]) + " (" + str(properties["Address"]) + ", " + str(properties["Icon"]) + ")" - - if "Name" in properties and "Address" in properties: - return str(properties["Name"]) + " (" + str(properties["Address"]) + ")" - - if "Name" in properties and "Icon" in properties: - return str(properties["Name"]) + " (" + str(properties["Icon"]) + ")" - - if "Name" in properties: - return str(properties["Name"]) - - if "Address" in properties and "Icon" in properties: - return str(properties["Address"]) + " (" + str(properties["Icon"]) + ")" - - if "Address" in properties: - return str(properties["Address"]) - - if "Icon" in properties: - return str(properties["Icon"]) - - return "unknown" - -def updateKnownDevicesList(g_devices_seen): - f = open("/var/run/bluetooth_seen", "w") - for key in g_devices_seen: - f.write("{} {}\n".format(key, g_devices_seen[key]["name"])) - f.close() - -def isDeviceBlacklisted(blacklistAddr): - datafile = "/var/lib/bluetooth/bluetooth_blacklisted" - - # reread the file each time in case somebody changed it - if not os.path.isfile(datafile): - return False - - with open(datafile) as file: - lines = file.readlines() - for line in lines: - if line[0:len(blacklistAddr)] == blacklistAddr: - return True - - return False - -def getBlacklistAddrAndName(properties): - if "Address" not in properties: - return None - address = str(properties["Address"]) - name = "" - - if "Name" in properties: - name = str(properties["Name"]) - elif "Icon" in properties: - name = str(properties["Icon"]) - else: - name = "unknown" - - return address, name - -def getShortDevName(properties): - if "Name" in properties: - return str(properties["Name"]) - - if "Address" in properties: - return str(properties["Address"]) - - if "Icon" in properties: - return str(properties["Icon"]) - - return "unknown" - -def getBluetoothWantedTypes(): - if not os.path.isfile("/var/run/bt_types"): - logging.info("no bt_types file") - return True, True - - btype = "" - with open("/var/run/bt_types", "r") as file: - btype = file.read().strip() - logging.info("bt_type: {}".format(btype)) - - if btype == "": - return True, True - if btype == "pad": - return True, False - if btype == "audio": - return False, True - return False, False - -def interfaces_added(path, interfaces): - global gdevices - - if "org.bluez.Device1" not in interfaces: - return - if not interfaces["org.bluez.Device1"]: - return - - properties = interfaces["org.bluez.Device1"] - - if path in gdevices: - gdevices[path] = merge2dicts(gdevices[path], properties) - else: - gdevices[path] = properties - - if "Address" in gdevices[path]: - typeInput, typeAudio = getBluetoothWantedTypes() - connect_device(path, properties["Address"], gdevices[path], False, typeInput, typeAudio) - -def properties_changed(interface, changed, invalidated, path): - global gdevices - - if interface != "org.bluez.Device1": - return - - if path in gdevices: - gdevices[path] = merge2dicts(gdevices[path], changed) - else: - gdevices[path] = changed - - #logging.info("Properties changed:") - #logging.info(changed) - #logging.info(invalidated) - - if "Paired" in changed and changed["Paired"] == True: - # ok, do as in simple-agent, trust and connect - typeInput, typeAudio = getBluetoothWantedTypes() - connect_device(path, gdevices[path]["Address"], gdevices[path], True, typeInput, typeAudio) - return - - # ok, it is now connected, what else ? - if "Connected" in changed and changed["Connected"] == True: - return - - if "Connected" in changed and changed["Connected"] == False: - logging.info("Skipping (property Connected changed to False)"); - return - - if "Address" in gdevices[path]: - typeInput, typeAudio = getBluetoothWantedTypes() - connect_device(path, gdevices[path]["Address"], gdevices[path], False, typeInput, typeAudio) - -def merge2dicts(d1, d2): - res = d1.copy() - res.update(d2) - return res - -def user_signal_start_discovery(signum, frame): - global gdiscovering - global gadapter - - try: - if gdiscovering == False: - gdiscovering = True - logging.info("Start discovery (signal)") - gadapter.StartDiscovery() - except: - pass - -def user_signal_stop_discovery(signum, frame): - global gdiscovering - global gadapter - - try: - if gdiscovering: - gdiscovering = False - logging.info("Stop discovery (signal)") - gadapter.StopDiscovery() - except: - pass - -class Agent(dbus.service.Object): - exit_on_release = True - - def set_exit_on_release(self, exit_on_release): - self.exit_on_release = exit_on_release - - @dbus.service.method(AGENT_INTERFACE, in_signature="", out_signature="") - def Release(self): - logging.info("agent: Release") - if self.exit_on_release: - mainloop.quit() - - @dbus.service.method(AGENT_INTERFACE, in_signature="os", out_signature="") - def AuthorizeService(self, device, uuid): - logging.info("agent: AuthorizeService") - return - - @dbus.service.method(AGENT_INTERFACE, in_signature="o", out_signature="s") - def RequestPinCode(self, device): - logging.info("RequestPinCode (%s)" % (device)) - return "0000" - - @dbus.service.method(AGENT_INTERFACE, in_signature="o", out_signature="u") - def RequestPasskey(self, device): - logging.info("RequestPasskey (%s)" % (device)) - return 0 - - @dbus.service.method(AGENT_INTERFACE, in_signature="ouq", out_signature="") - def DisplayPasskey(self, device, passkey, entered): - logging.info("agent: DisplayPasskey (%s, %06u entered %u)" % (device, passkey, entered)) - - @dbus.service.method(AGENT_INTERFACE, in_signature="os", out_signature="") - def DisplayPinCode(self, device, pincode): - logging.info("agent: DisplayPinCode (%s, %s)" % (device, pincode)) - - @dbus.service.method(AGENT_INTERFACE, in_signature="ou", out_signature="") - def RequestConfirmation(self, device, passkey): - logging.info("agent: RequestConfirmation") - return - - @dbus.service.method(AGENT_INTERFACE, in_signature="o", out_signature="") - def RequestAuthorization(self, device): - logging.info("agent: RequestAuthorization") - return - - @dbus.service.method(AGENT_INTERFACE, in_signature="", out_signature="") - def Cancel(self): - logging.info("agent: Cancel") - -def do_main_loop(dev_id): - global gadapter - - # adapter - try: - adapter = bluezutils.find_adapter(dev_id) - except: - # try to find any adapter - adapter = bluezutils.find_adapter(None) - logging.info("adapter found") - - gadapter = adapter - adapters = {} - - om = dbus.Interface(bus.get_object("org.bluez", "/"), "org.freedesktop.DBus.ObjectManager") - objects = om.GetManagedObjects() - for path, interfaces in objects.items(): - if "org.bluez.Device1" in interfaces: - gdevices[path] = interfaces["org.bluez.Device1"] - if "org.bluez.Adapter1" in interfaces: - adapters[path] = interfaces["org.bluez.Adapter1"] - - adapter_props = adapters[adapter.object_path] - logging.info(adapter_props["Name"] + "(" + adapter_props["Address"] + "), powered=" + str(adapter_props["Powered"])) - - # power on adapter if needed - if adapter_props["Powered"] == 0: - try: - logging.info("powering on adapter ("+ adapter_props["Address"] +")") - adapterSetter = dbus.Interface(bus.get_object("org.bluez", adapter.object_path), "org.freedesktop.DBus.Properties") - adapterSetter.Set("org.bluez.Adapter1", "Powered", True) - except: - pass # hum, not nice - - gdiscovering = False - - # events - # use events while i manage to stop discovery only from the process having started it - signal.signal(signal.SIGUSR1, user_signal_start_discovery) - signal.signal(signal.SIGUSR2, user_signal_stop_discovery) - - mainloop = GLib.MainLoop() - mainloop.run() - -if __name__ == '__main__': - # options - option_list = [ make_option("-i", "--device", action="store", type="string", dest="dev_id") ] - parser = OptionParser(option_list=option_list) - (options, args) = parser.parse_args() - - # initialize the seen devices file - updateKnownDevicesList(g_devices_seen) - - # register dbus - dbus.mainloop.glib.DBusGMainLoop(set_as_default=True) - bus = dbus.SystemBus() - - bus.add_signal_receiver(interfaces_added, dbus_interface = "org.freedesktop.DBus.ObjectManager", signal_name = "InterfacesAdded") - bus.add_signal_receiver(properties_changed, dbus_interface = "org.freedesktop.DBus.Properties", signal_name = "PropertiesChanged", arg0 = "org.bluez.Device1", path_keyword = "path") - - # register the agent - agentpath = "/storage/agent" - obj = bus.get_object("org.bluez", "/org/bluez") - manager = dbus.Interface(obj, "org.bluez.AgentManager1") - manager.RegisterAgent(agentpath, "NoInputNoOutput") - manager.RequestDefaultAgent(agentpath) - agent = Agent(bus, agentpath) - logging.info("agent registered") - - # run the agent, allows some tries while hardware can take time to initiate - time.sleep(2) - try: - do_main_loop(options.dev_id) - except Exception as e: - logging.error("agent fails") - logging.error(e, exc_info=True) - raise - logging.error("agent gave up") diff --git a/packages/jelos/sources/scripts/batocera-config b/packages/jelos/sources/scripts/batocera-config deleted file mode 100755 index 48515c45c..000000000 --- a/packages/jelos/sources/scripts/batocera-config +++ /dev/null @@ -1,297 +0,0 @@ -#!/bin/bash - -. /etc/profile -. /etc/os-release - -if [ ! "$1" ];then - echo -e "usage : batocera-config [command] [args]\nWith command in\n\toverscan [enable|disable]\n\tlsaudio\n\tgetaudio\n\taudio [hdmi|jack|auto|custom|x,y]\n\tcanupdate\n\tupdate\n\twifi [enable|disable] ssid key\n\tstorage [current|list|INTERNAL|ANYEXTERNAL|RAM|DEV UUID]\n\tsetRootPassword [password]\n\tgetRootPassword\n\ttz [|tz]" - exit 1 -fi -configFile="/storage/.config/system/configs/config.txt" -storageFile="/storage/.config/system/configs/batocera-boot.conf" -command="$1" -mode="$2" -extra1="$3" -extra2="$4" -extra3="$5" -extra4="$6" -arch=${HW_DEVICE} - -updateurl="https://127.0.0.1" - -preBootConfig() { - mount -o remount,rw /boot -} - -postBootConfig() { - mount -o remount,ro /boot -} - -bato_config_set_value () { - key=$1 - value=$2 - [ -z "$value" ] && value=0 - cat "$configFile" | grep "$key" - valPresent=$? - if [ "$valPresent" != "0" ];then - echo "$key=$value" >> "$configFile" - else - sed -i "s/#\?$key=.*/$key=$value/g" "$configFile" - fi -} - -#log=/userdata/system/logs/batocera.log -#systemsetting="python /usr/lib/python2.7/site-packages/configgen/settings/batoceraSettings.py" - -log=/var/log/systemsettings.log -systemsetting="/usr/bin/batocera-settings" - - -echo "----config ----" >> $log - -if [ "$command" == "getRootPassword" ]; then - # security disabled, force the default one without changing boot configuration - securityenabled="`$systemsetting -command load -key system.security.enabled`" - if [ "$securityenabled" != "1" ];then - echo "linux" - exit 0 - fi - - ENCPASSWD=$(grep -E '^[ \t]*rootshadowpassword[ \t]*=' "${storageFile}" | sed -e s+'^[ \t]*rootshadowpassword[ \t]*='++) - if test -z "${ENCPASSWD}" - then - exit 1 - fi - if ! batocera-encode decode "${ENCPASSWD}" - then - exit 1 - fi - exit 0 -fi - -if [ "$command" == "setRootPassword" ]; then - PASSWD=${2} - - # security disabled, don't change - securityenabled="`$systemsetting -command load -key system.security.enabled`" - if [ "$securityenabled" != "1" ];then - exit 0 - fi - - # if no password if provided, generate one - if test -z "${PASSWD}" - then - PASSWD=$(tr -cd _A-Z-a-z-0-9 < /dev/urandom | fold -w8 | head -n1) - fi - PASSWDENC=$(batocera-encode encode "${PASSWD}") - - preBootConfig - if grep -qE '^[ \t]*rootshadowpassword[ \t]*=' "${storageFile}" - then - # update it - if ! sed -i -e s@'^[ \t]*rootshadowpassword[ \t]*=.*$'@"rootshadowpassword=${PASSWDENC}"@ "${storageFile}" - then - postBootConfig - exit 1 - fi - postBootConfig - exit 0 - else - # create it - if ! echo "rootshadowpassword=${PASSWDENC}" >> "${storageFile}" - then - postBootConfig - exit 1 - fi - postBootConfig - exit 0 - fi -fi - -if [ "$command" == "overscan" ]; then -if [ "$mode" == "set" ];then -# set will set overscan values abd also enable this mode - if [ -z "$extra1" ] || [ -z "$extra2" ] || [ -z "$extra3" ] || [ -z "$extra4" ]; then - echo "$0 $command $mode needs 4 arguments:" - echo "$0 $command $mode overscan_left overscan_right overscan_top overscan_bottom" - exit 2 - fi - preBootConfig - [ -f "$configFile" ] || touch "$configFile" - - echo "setting overscan values $extra1 $extra2 $extra3 $extra4 " >> $log - bato_config_set_value disable_overscan 0 - bato_config_set_value overscan_scale 1 - bato_config_set_value overscan_left "$extra1" - bato_config_set_value overscan_right "$extra2" - bato_config_set_value overscan_top "$extra3" - bato_config_set_value overscan_bottom "$extra4" - - postBootConfig - exit 0 - -fi -if [ -f "$configFile" ];then - preBootConfig - if [ "$mode" == "enable" ];then - echo "enabling overscan" >> $log - bato_config_set_value disable_overscan 0 - bato_config_set_value overscan_scale 1 - elif [ "$mode" == "disable" ];then - echo "disabling overscan" >> $log - bato_config_set_value disable_overscan 1 - bato_config_set_value overscan_scale 0 - else - postBootConfig - exit 1 - fi - postBootConfig - exit 0 -else - exit 2 -fi -fi - -if [ "$command" == "lsoutputs" ] -then - echo "auto" - batocera-resolution listOutputs -fi - -if [ "$command" == "lsaudio" ];then - if [[ "${arch}" =~ "rpi" ]] - then - echo "hdmi" - echo "jack" - echo "auto" - elif [[ "${arch}" =~ "x86" ]];then - echo "auto" - echo "custom" - LANG=C aplay -l | grep -E '^card [0-9]*:' | sed -e s+'^card \([0-9]*\): \([^,]*\), device \([0-9]*\): [^\[]* \[\([^]]*\)].*$'+'\1,\3 \4 \2'+ - else - echo "auto" - fi -fi - -if [ "$command" == "getaudio" ];then - $systemsetting -command load -key audio.device - exit 0 -fi - -if [ "$command" == "audio" ];then - # this code is specific to the rpi - # don't set it on other boards - # find a more generic way would be nice - if [[ "${arch}" =~ "rpi" ]] - then - # this is specific to the rpi - cmdVal="0" - if [ "$mode" == "hdmi" ];then - cmdVal="2" - elif [ "$mode" == "jack" ];then - cmdVal="1" - fi - echo "setting audio output mode : $mode" >> $log - amixer -c 0 -M cset numid=3 $cmdVal || exit 1 - elif [[ "${arch}" =~ "x86" ]] - then - # auto: no .asoundrc file - # custom: don't touch the .asoundrc file - # any other, create the .asoundrd file - if [ "$mode" == "auto" ];then - rm -rf /userdata/system/.asoundrc || exit 1 - elif [ "$mode" != "custom" ];then - if echo "${mode}" | grep -qE '^[0-9]*,[0-9]* ' - then - cardnb=$(echo "${mode}" | sed -e s+'^\([0-9]*\),.*$'+'\1'+) - devicenb=$(echo "${mode}" | sed -e s+'^[0-9]*,\([0-9]*\) .*$'+'\1'+) - cat > /userdata/system/.asoundrc <> $log - - # on my pc, the master is turned off at boot - # i don't know what are the rules to set here. - amixer -c 0 -M set ${DEVICE_AUDIO_MIXER} unmute || exit 1 - amixer -c 0 -M set ${DEVICE_AUDIO_MIXER} -- ${mode}% || exit 1 - - # maximize the sound to be sure it's not 0, allow errors - amixer -c 0 -M set PCM -- 100% #|| exit 1 - amixer -c 0 -M set Headphone -- 100% #|| exit 1 - exit 0 - fi - exit 12 -fi - -if [ "$command" == "gpiocontrollers" ];then - command="module" - mode="load" - extra1="mk_arcade_joystick_rpi" - extra2="map=1,2" -fi - -if [ "$command" == "module" ];then - modulename="$extra1" - map="$extra2" - # remove in all cases - rmmod /lib/modules/`uname -r`/extra/${modulename}.ko >> $log - - if [ "$mode" == "load" ];then - echo "loading module $modulename args = $map" >> $log - insmod /lib/modules/`uname -r`/extra/${modulename}.ko $map >> $log - [ "$?" ] || exit 1 - fi - exit 0 -fi - -if [ "$command" == "canupdate" ];then - available=$(updatecheck canupdate) - echo "$available" - if [[ "$available" != "no" ]]; then - exit 0 - fi - exit 12 -fi - -if [ "$command" == "update" ];then - system-upgrade - exit $? -fi - -if [[ "$command" == "storage" ]]; then - exit 0; -fi - -if [[ "$command" == "forgetBT" ]]; then - killall -9 hcitool - systemctl stop bluetooth - rm -rf /storage/.cache/bluetooth/* - systemctl start bluetooth - exit 0 -fi - -if [ "$command" == "tz" ];then - if test "$mode" == "" - then - cat /storage/.config/system/configs/tz - else - if test -f "/usr/share/zoneinfo/${mode}" - then - echo "TIMEZONE=${mode}" > /storage/.cache/timezone - systemctl restart tz-data.service - fi - fi - exit $? -fi - -exit 10 diff --git a/packages/jelos/sources/scripts/batocera-info b/packages/jelos/sources/scripts/batocera-info deleted file mode 120000 index e55cf7223..000000000 --- a/packages/jelos/sources/scripts/batocera-info +++ /dev/null @@ -1 +0,0 @@ -jelos-info \ No newline at end of file diff --git a/packages/jelos/sources/scripts/batocera-resolution b/packages/jelos/sources/scripts/batocera-resolution deleted file mode 100755 index fcaf8a03e..000000000 --- a/packages/jelos/sources/scripts/batocera-resolution +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -ACTION=$1 -shift - -FILEMODES="/sys/class/graphics/fb0/modes" - -case "${ACTION}" in - "listModes") - ;; - "setMode") - ;; - "currentMode"|"currentResolution") - # mode can be different from resolution (ie on rpi) - test -e "${FILEMODES}" && head -1 "${FILEMODES}" | sed -e s+'^[^:]:\([0-9]*\)x\([0-9]*\)[a-z]*.*$'+'\1x\2'+ - ;; -esac -exit 0 diff --git a/packages/jelos/sources/scripts/batocera-retroachievements-info b/packages/jelos/sources/scripts/batocera-retroachievements-info deleted file mode 100755 index a36f9008e..000000000 --- a/packages/jelos/sources/scripts/batocera-retroachievements-info +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/bash -# -# Get RetroAchievements information for Batocera -# -# @lbrpdx on Batocera Forums and Discord -# -# 20191124 - v2 with now outputs in XML format (for Batocera 5.25+) -# 20200113 - updated for retroachievements.org HTML changes -# 20200124 - added badges for each game played -# 20200304 - fixed a bug in rare cases where a RA game has no success icons -# 20200410 - updated for retroachievements.org HTML changes, again -# 20200625 - retroachievements.org HTML changes, again -# 20201104 - retroachievements.org HTML changes, again, again -# -# Usage: -# batocera-retroachievements-info -# -CONFIGFILE="/storage/.config/system/configs/system.cfg" -TIMEOUT=4 # seconds before timeout (>2 sec) -USER="" - -############################### -# -function usage() { - echo "$0 username" - echo " - where username is the RetroAchievements username you want to check out" - exit 1 -} - -############################### -# -function process() { - fn=$(date +"%s") - tmpfile=/tmp/ra_$fn - curl -H 'Cache-Control: no-cache' -m "$TIMEOUT" -o $tmpfile https://retroachievements.org/user/$USER 2>/dev/null - if [ x"$?" != x0 ]; then - echo "" - echo "" - echo " $fn" - echo " RetroAchievements website is too slow to respond" - echo "" - exit 1; - fi - cat "$tmpfile" | awk -v FS="(
|
)" '{print $2}' | uniq > "$tmpfile"_2 - idcard=$(cat "$tmpfile" | sed -e "/^[[:blank:]]*$/d" | awk -v FS="(

Member Since: |
Account Type:)" '{print $2}' | uniq) - parsedid=$(echo "$idcard" | sed -e "/^[[:blank:]]*$/d" | sed -e "s;\(.*\)
Last Activity: \(.*\);\1@\2;") - avcompletion=$(cat "$tmpfile" | sed -e "/^[[:blank:]]*$/d" | awk -v FS="(

Average Completion: |
Site Rank:)" '{print $2}' | sed -e "/^[[:blank:]]*$/d" | uniq) - points=$(cat "$tmpfile"_2 | sed -e "/^[[:blank:]]*$/d" | awk -v FS="( |)" '{print $2}' | sed -e "s;(\([0-9]*\) points);\1;") - if [ x"$points" != x ] && [ "$points" -ge 1 ]; then - rank=$(cat "$tmpfile"_2 | sed -e "/^[[:blank:]]*$/d" | awk -v FS="(globalRanking.php|

)" '{print $3}' | sed -e "s/\?[a-zA-Z0-9=&;']*>//" -e "s;;;" -e "s;%).*;%);") - ## For future use: UserPic is RetroAchievements' user avatar - however the S3 bucket is protected. - # UserPic=$(cat $tmpfile | grep 'meta property=.og:image. content=' | cut -d= -f3 | awk -F\' '{print $2}') - # Workaround: use the line below - UserPic="https://retroachievements.org/UserPic/$USER".png - pic="" - curl -H 'Cache-Control: no-cache' -m "$TIMEOUT" -f -s "$UserPic" >/dev/null 2>/dev/null - if [ x"$?" == x0 ]; then - pic=" $UserPic\n" - fi - echo "" - echo "" - echo " $fn" - echo " $USER" - echo " $points" - echo " $rank" - echo " $avcompletion" - echo -ne "$pic" - echo "$parsedid" | sed -e "s;\(.*\)@\(.*\); \1\n \2;" - xmllint --html "$tmpfile" 2>/dev/null | grep '.*points.' | sed -e "/^[[:blank:]]*$/d" | sed -e 's:\(.*\)points\.
:\1points\@\\\n:g;' > "$tmpfile"_2 - cat "$tmpfile"_2 | awk -v FS="(href=\"/[gG]ame/[0-9]*\">|@)" '{print $2}' | sed -e "s;

\(Last played[ 0-9:-]*\)
\(.*\);@\2@\1;" | sed -e "s;achievements, ;achievements@;" | sed -e "s;Earned ;;" | sed -e "/^[[:blank:]]*$/d" > "$tmpfile"_st - cat "$tmpfile"_2 | grep -e 'div class="bb_inline" onmouseover' -e '^$' | sed "s:.*src=\"\(.*/Badge/.*\.png\)\".*:\1:" | sed "s;^$;https://batocera.org/favicon-64.png;" > "$tmpfile"_ba - i=0 - if [ $(cat "$tmpfile"_ba | wc -l) -eq $(cat "$tmpfile"_st | wc -l) ]; then - while IFS= read -r line || [[ -n "$line" ]]; do - i=$((i+1)) - echo "$line" | sed -e "s;\(.*\)@\(.*\) achievements@\(.*\) points@Last played \(.*\); \n \1\n \2\n \3\n \4;" - cat "$tmpfile"_ba | head -n "$i" | tail -n 1 | sed "s:^: :;s:$::" - echo " " - done < "$tmpfile"_st - else - echo "$res" | sed -e "s;\(.*\)@\(.*\) achievements@\(.*\) points@Last played \(.*\); \n \1\n \2\n \3\n \4\n ;" - fi - echo "
" - else - echo "" - echo "" - echo " $fn" - echo " Player $USER hasn't unlocked any RetroAchievement yet" - echo "" - fi - rm "$tmpfile" "$tmpfile"_2 "$tmpfile"_st "$tmpfile"_ba 2>/dev/null -} - -#### Main loop -# -if [ $# -lt 1 ]; then - [ -f "$CONFIGFILE" ] && USER=$(grep -E "^[ \t]*global.retroachievements.username=" "$CONFIGFILE" | cut -d= -f2 | uniq) -else - tmp="$1" - [ x"${tmp::1}" == "x-" ] && usage || USER="$1" -fi - -[ x"$USER" == x ] && usage || process - diff --git a/packages/jelos/sources/scripts/batocera-scraper b/packages/jelos/sources/scripts/batocera-scraper deleted file mode 100755 index ee407c36c..000000000 --- a/packages/jelos/sources/scripts/batocera-scraper +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash - -systemsetting="/usr/bin/batocera-settings" -syslang=$($systemsetting -command load -key system.language) -IMGSTYLE=$($systemsetting -command load -key scrapper.style) - -if test $# = 1 -then - DOSYS=$1 -fi - -# supported languages : en, fr, es, de, pt -case "${syslang}" in - fr_FR) - sslang=fr,en - ;; - es_ES) - sslang=es,en - ;; - de_DE) - sslang=de,en - ;; - pt_PT) - sslang=pt,en - ;; - pt_BR) - sslang=pt,en - ;; - *) - sslang=en -esac - -if test -z "${IMGSTYLE}" -then - IMGSTYLE="b,f,a,l,3b,s" -fi - -do_scrap() { - LRDIR=$1 - NF=$(ls "${LRDIR}" | grep -vE '\.txt$|\.xml$' | wc -l) - if test "${NF}" -gt 0 - then - BASEDIR=$(basename "${LRDIR}") - echo "GAME: system ${BASEDIR}" - EXTRAOPT= - - for x in "mame" "fba" "fba_libretro" "neogeo" - do - test "${LRDIR}" = "/storage/roms/${x}" && EXTRAOPT="-mame" - done - - (cd "${LRDIR}" && sselph-scraper -console_src ss,gdb,ovgdb -lang "${sslang}" -console_img "${IMGSTYLE}" -download_videos -workers 5 ${EXTRAOPT}) 2>&1 - fi -} - -# find system to scrape -(if test -n "${DOSYS}" - then - test -d "/storage/roms/${DOSYS}" && echo "/storage/roms/${DOSYS}" - else - find /storage/roms -maxdepth 1 -mindepth 1 -type d - fi) | - while read RDIR1 - do - # read the 2 next dir - read RDIR2 - read RDIR3 - read RDIR4 - - do_scrap "${RDIR1}" & - test -n "${RDIR2}" && do_scrap "${RDIR2}" & - test -n "${RDIR3}" && do_scrap "${RDIR3}" & - test -n "${RDIR4}" && do_scrap "${RDIR4}" & - wait - - done - -# synchronize to not make the usb/sdcard slowing down once finnished -sync diff --git a/packages/jelos/sources/scripts/batocera-settings b/packages/jelos/sources/scripts/batocera-settings deleted file mode 100755 index eead7fa0d..000000000 --- a/packages/jelos/sources/scripts/batocera-settings +++ /dev/null @@ -1,267 +0,0 @@ -#!/bin/bash - -# batocera-settings can mimic batoceraSettings.py -# goal: abolish this python script, it's useless for the sake of the load feature only -# get a more user friendly environment for setting, getting and saving keys -# -# Usage of BASE COMMAND: -# longform: --command --key --value -# -# shortform: -# -# --command load write enable disable status -# --key any key in system.cfg (kodi.enabled...) -# --value any alphanumerical string -# use quotation marks to avoid globbing use slashes escape special characters - -# This script reads only 1st occurrence if string and writes only to this first hit -# -# This script uses #-Character to comment values -# -# If there is a boolean value (0,1) then then enable and disable command will set the corresponding -# boolean value. - -# Examples: -# 'batocera-settings --command load --key wifi.enabled' will print out 0 or 1 -# 'batocera-settings --command write --key wifi.ssid -value "This is my NET"' will set 'wlan.ssid=This is my NET' -# 'batocera-settings enable wifi.ssid' will remove # from configfile (activate) -# 'batocera-settings disable wifi.enabled' will set key wifi.enabled=0 -# 'botocera-settings /myown/config.file --command status --key my.key' will output status of own config.file and my.key - -# by cyperghost - 2019/12/30 - -##### INITS ##### -BATOCERA_CONFIGFILE="/storage/.config/system/configs/system.cfg" -COMMENT_CHAR_SEARCH="[#|;]" -COMMENT_CHAR="#" -##### INITS ##### - -##### Function Calls ##### - -function get_config() { - #Will search for key.value and #key.value for only one occurrence - #If the character is the COMMENT CHAR then set value to it - #Otherwise strip till the equal-char to obtain value - local val - local ret - val="$(grep -E -m1 "^\s*$1\s*=" $BATOCERA_CONFIGFILE)" - ret=$? - if [[ $ret -eq 1 ]]; then - val="$(grep -E -m1 "^$COMMENT_CHAR_SEARCH\s*$1\s*=" $BATOCERA_CONFIGFILE)" - ret=$? - [[ $ret -eq 0 ]] && val=$COMMENT_CHAR - else - #Maybe here some finetuning to catch key.value = ENTRY without blanks - val="${val#*=}" - fi - echo "$val" - return $ret -} - -function set_config() { - #Will search for first key.name at beginning of line and write value to it - sed -i "1,/^\(\s*$1\s*=\).*/s//\1$2/" "$BATOCERA_CONFIGFILE" -} - -function uncomment_config() { - #Will search for first Comment Char at beginning of line and remove it - sed -i "1,/^$COMMENT_CHAR_SEARCH\(\s*$1\)/s//\1/" "$BATOCERA_CONFIGFILE" -} - -function comment_config() { - #Will search for first key.name at beginning of line and add a comment char to it - sed -i "1,/^\(\s*$1\)/s//$COMMENT_CHAR\1/" "$BATOCERA_CONFIGFILE" -} - -function check_argument() { - # This method does not accept arguments starting with '-'. - if [[ -z "$2" || "$2" =~ ^- ]]; then - echo >&2 - echo "ERROR: '$1' is missing an argument." >&2 - echo >&2 - echo "Just type '$0' to see usage page." >&2 - echo >&2 - return 1 - fi -} - -function dash_style() { - #This function is needed to "simulate" the python script with single dash - #commands. It will also accept the more common posix double dashes - #Accept dashes and double dashes and build new array ii with parameter set - #The else-branch can be used for the shortform - - for i in --command --key --value; do - if [[ -z "$1" ]]; then - continue - elif [[ "$i" =~ ^-{0,1}"${1,,}" ]]; then - check_argument $1 $2 - [[ $? -eq 0 ]] || exit 1 - ii+=("$2") - shift 2 - else - ii+=("$1") - shift 1 - fi - done -} - - -function usage() { -val=" Usage of BASE COMMAND: - - --command --key --value - - shortform: - - --command load write enable disable status - --key any key in system.cfg (kodi.enabled...) - --value any alphanumerical string - use quotation marks to avoid globbing - - For write command --value must be provided - - exit codes: exit 0 = value is available, proper exit - exit 1 = general error - exit 2 = file error - exit 10 = value found, but empty - exit 11 = value found, but not activated - exit 12 = value not found - - If you don't set a filename then default is '~/storage/.config/system.cfg'" - -echo "$val" - -} -##### Function Calls ##### - -##### MAIN FUNCTION ##### -function main() { - - #Filename parsed? - if [[ -f "$1" ]]; then - BATOCERA_CONFIGFILE="$1" - shift - else - [[ -f "$BATOCERA_CONFIGFILE" ]] || { echo "not found: $BATOCERA_CONFIGFILE" >&2; exit 2; } - fi - - #How much arguments are parsed, up to 6 then it is the long format - #up to 3 then it is the short format - if [[ ${#@} -eq 0 || ${#@} -gt 6 ]]; then - usage - exit 1 - else - dash_style "$@" - command="${ii[0]}" - keyvalue="${ii[1]}" - newvalue="${ii[2]}" - unset ii - fi - - [[ -z $keyvalue ]] && { echo "error: Please provide a proper keyvalue" >&2; exit 1; } - - # value processing, switch case - case "${command,,}" in - - "read"|"get"|"load") - val="$(get_config $keyvalue)" - ret=$? - [[ "$val" == "$COMMENT_CHAR" ]] && exit 11 - [[ -z "$val" && $ret -eq 0 ]] && exit 10 - [[ -z "$val" && $ret -eq 1 ]] && exit 12 - [[ -n "$val" ]] && echo "$val" && exit 0 - ;; - - "stat"|"status") - val="$(get_config $keyvalue)" - ret=$? - [[ -f "$BATOCERA_CONFIGFILE" ]] && echo "ok: found '$BATOCERA_CONFIGFILE'" >&2 || echo "error: not found '$BATOCERA_CONFIGFILE'" >&2 - [[ -w "$BATOCERA_CONFIGFILE" ]] && echo "ok: r/w file '$BATOCERA_CONFIGFILE'" >&2 || echo "error: r/o file '$BATOCERA_CONFIGFILE'" >&2 - [[ -z "$val" && $ret -eq 1 ]] && echo "error: '$keyvalue' not found!" >&2 - [[ -z "$val" && $ret -eq 0 ]] && echo "error: '$keyvalue' is empty - use 'comment' command to retrieve" >&2 - [[ "$val" == "$COMMENT_CHAR" ]] && echo "error: '$keyvalue' is commented $COMMENT_CHAR!" >&2 && val= - [[ -n "$val" ]] && echo "ok: '$keyvalue' $val" - exit 0 - ;; - - "set"|"write"|"save") - #Is file write protected? - [[ -w "$BATOCERA_CONFIGFILE" ]] || { echo "r/o file: $BATOCERA_CONFIGFILE" >&2; exit 2; } - #We can comment line above to erase keys, it's much saver to check if a value is setted - [[ -z "$newvalue" ]] && echo "error: '$keyvalue' needs value to be setted" >&2 && exit 1 - - val="$(get_config $keyvalue)" - ret=$? - if [[ "$val" == "$COMMENT_CHAR" ]]; then - echo "$keyvalue: hashed out!" >&2 - uncomment_config "$keyvalue" - set_config "$keyvalue" "$newvalue" - echo "$keyvalue: set from '$val' to '$newvalue'" >&2 - exit 0 - elif [[ -z "$val" && $ret -eq 1 ]]; then - echo "$keyvalue: not found!" >&2 - exit 12 - elif [[ "$val" != "$newvalue" ]]; then - set_config "$keyvalue" "$newvalue" - exit 0 - fi - ;; - - "uncomment"|"enable"|"activate") - val="$(get_config $keyvalue)" - ret=$? - # Boolean - if [[ "$val" == "$COMMENT_CHAR" ]]; then - uncomment_config "$keyvalue" - echo "$keyvalue: removed '$COMMENT_CHAR', key is active" >&2 - elif [[ "$val" == "0" ]]; then - set_config "$keyvalue" "1" - echo "$keyvalue: boolean set '1'" >&2 - elif [[ -z "$val" && $ret -eq 1 ]]; then - echo "$keyvalue: not found!" && exit 2 - fi - ;; - - "comment"|"disable"|"remark") - val="$(get_config $keyvalue)" - ret=$? - # Boolean - [[ "$val" == "$COMMENT_CHAR" || "$val" == "0" ]] && exit 0 - if [[ -z "$val" && $ret -eq 1 ]]; then - echo "$keyvalue: not found!" >&2 && exit 12 - elif [[ "$val" == "1" ]]; then - set_config "$keyvalue" "0" - echo "$keyvalue: boolean set to '0'" >&2 - else - comment_config "$keyvalue" - echo "$keyvalue: added '$COMMENT_CHAR', key is not active" >&2 - fi - ;; - - *) - echo "ERROR: invalid command '$command'" >&2 - exit 1 - ;; - esac -} -##### MAIN FUNCTION ##### - -##### MAIN CALL ##### - -# Prepare arrays from fob python script -# Keyword for python call is mimic_python -# Attention the unset is needed to eliminate first argument (python basefile) - -if [[ "${#@}" -eq 1 && "$1" =~ "mimic_python" ]]; then - #batoceraSettings.py fob - readarray -t arr <<< "$1" - unset arr[0] -else - #regular call by shell - arr=("$@") -fi - -main "${arr[@]}" - -##### MAIN CALL ##### diff --git a/packages/jelos/sources/scripts/batocera-systems b/packages/jelos/sources/scripts/batocera-systems deleted file mode 100755 index 5ba58e7c4..000000000 --- a/packages/jelos/sources/scripts/batocera-systems +++ /dev/null @@ -1,612 +0,0 @@ -#!/usr/bin/env python - -from __future__ import print_function - -from hashlib import md5 -from os.path import isfile -from collections import OrderedDict -import sys - -systems = { - - # Atari - "atari5200": {"name": "Atari 5200", "biosFiles": [{"md5": "281f20ea4320404ec820fb7ec0693b38", "file": "bios/5200.rom"}]}, - - "atari800": {"name": "Atari 800", "biosFiles": [{"md5": "06daac977823773a3eea3422fd26a703", "file": "bios/ATARIXL.ROM"}, - {"md5": "0bac0c6a50104045d902df4503a4c30b", "file": "bios/ATARIBAS.ROM"}, - {"md5": "eb1f32f5d9f382db1bbfb8d7f9cb343a", "file": "bios/ATARIOSA.ROM"}, - {"md5": "a3e8d617c95d08031fe1b20d541434b2", "file": "bios/ATARIOSB.ROM"}]}, - - "atari7800": {"name": "Atari 7800", "biosFiles": [{"md5": "0763f1ffb006ddbe32e52d497ee848ae", "file": "bios/7800 BIOS (U).rom"}]}, - - "atarist": {"name": "Atari ST", "biosFiles": [{"md5": "b2a8570de2e850c5acf81cb80512d9f6", "file": "bios/tos.img"}]}, - - "atarilynx": {"name": "Lynx", "biosFiles": [{"md5": "fcd403db69f54290b51035d82f835e7b", "file": "bios/lynxboot.img"}]}, - - - # Colecovision - "colecovision": {"name": "Colecovision", "biosFiles": [{"md5": "", "file": "bios/Machines/COL - Bit Corporation Dina/config.ini"}, - {"md5": "1de922acdd742d31349c2801e9768c35", "file": "bios/Machines/COL - Bit Corporation Dina/czz50-1.rom"}, - {"md5": "72b089dc55b7fe7ffb5028f365e8c045", "file": "bios/Machines/COL - Bit Corporation Dina/czz50-2.rom"}, - {"md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/Machines/COL - ColecoVision/coleco.rom"}, - {"md5": "", "file": "bios/Machines/COL - ColecoVision/config.ini"}, - {"md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/Machines/COL - ColecoVision with Opcode Memory Extension/coleco.rom"}, - {"md5": "", "file": "bios/Machines/COL - ColecoVision with Opcode Memory Extension/config.ini"}, - {"md5": "", "file": "bios/Machines/COL - Spectravideo SVI-603 Coleco/config.ini"}, - {"md5": "c60a2e85572c0ccb69505a7646d5c1b6", "file": "bios/Machines/COL - Spectravideo SVI-603 Coleco/SVI603.ROM"}, - {"md5": "", "file": "bios/Databases/colecodb.xml"}, - {"md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/colecovision.rom"}, - {"md5": "2c66f5911e5b42b8ebe113403548eee7", "file": "bios/BIOS.col"}]}, - - - # Commodore - "amiga": {"name": "Amiga/CD32", "biosFiles": [{"md5": "89da1838a24460e4b93f4f0c5d92d48d", "file": "bios/CDTV Extended-ROM v1.0 (1991)(Commodore)(CDTV)[!].rom"}, - {"md5": "85ad74194e87c08904327de1a9443b7a", "file": "bios/Kickstart v1.2 r33.180 (1986)(Commodore)(A500-A1000-A2000)[!].rom"}, - {"md5": "68c9c0826f6c0ca20546d588ee77391c", "file": "bios/Kickstart v1.2 rev 33.166 (1986)(Commodore)(A1000).rom"}, - {"md5": "192d6d950d0ed3df8040b788502831c2", "file": "bios/Kickstart v1.3 r34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[o].rom"}, - {"md5": "82a21c1890cae844b3df741f2762d48d", "file": "bios/Kickstart v1.3 r34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[!].rom"}, - {"md5": "dc10d7bdd1b6f450773dfb558477c230", "file": "bios/Kickstart v2.04 r37.175 (1991)(Commodore)(A500+)[!].rom"}, - {"md5": "465646c9b6729f77eea5314d1f057951", "file": "bios/Kickstart v2.05 r37.350 (1992)(Commodore)(A600HD)[!].rom"}, - {"md5": "5f8924d013dd57a89cf349f4cdedc6b1", "file": "bios/Kickstart v3.1 r40.60 (1993)(Commodore)(CD32).rom"}, - {"md5": "646773759326fbac3b2311fd8c8793ee", "file": "bios/Kickstart v3.1 r40.68 (1993)(Commodore)(A1200)[!].rom"}, - {"md5": "413590e50098a056cfec418d3df0212d", "file": "bios/Kickstart v3.1 r40.68 (1993)(Commodore)(A3000).rom"}, - {"md5": "9bdedde6a4f33555b4a270c8ca53297d", "file": "bios/Kickstart v3.1 r40.68 (1993)(Commodore)(A4000).rom"}, - {"md5": "85ad74194e87c08904327de1a9443b7a", "file": "bios/kick33180.A500"}, - {"md5": "82a21c1890cae844b3df741f2762d48d", "file": "bios/kick34005.A500"}, - {"md5": "dc10d7bdd1b6f450773dfb558477c230", "file": "bios/kick37175.A500"}, - {"md5": "5f8924d013dd57a89cf349f4cdedc6b1", "file": "bios/kick40060.CD32"}, - {"md5": "bb72565701b1b6faece07d68ea5da639", "file": "bios/kick40060.CD32.ext"}, - {"md5": "e40a5dfb3d017ba8779faba30cbd1c8e", "file": "bios/kick40063.A600"}, - {"md5": "646773759326fbac3b2311fd8c8793ee", "file": "bios/kick40068.A1200"}, - {"md5": "9bdedde6a4f33555b4a270c8ca53297d", "file": "bios/kick40068.A4000"}, - {"md5": "bb72565701b1b6faece07d68ea5da639", "file": "bios/CD32 Extended-ROM r40.60 (1993)(Commodore)(CD32).rom"}]}, - - - # Magnavox and Philips - "o2em": {"name": "Odyssey 2", "biosFiles": [{"md5": "562d5ebf9e030a40d6fabfc2f33139fd", "file": "bios/o2rom.bin"}, - {"md5": "f1071cdb0b6b10dde94d3bc8a6146387", "file": "bios/c52.bin"}, - {"md5": "c500ff71236068e0dc0d0603d265ae76", "file": "bios/g7400.bin"}, - {"md5": "279008e4a0db2dc5f1c048853b033828", "file": "bios/jopac.bin"}]}, - - - # Mattel - "intellivision": {"name": "Mattel Intellivision", "biosFiles": [{"md5": "62e761035cb657903761800f4437b8af", "file": "bios/exec.bin"}, - {"md5": "0cd5946c6473e42e8e4c2137785e427f", "file": "bios/grom.bin"}, - {"md5": "2e72a9a2b897d330a35c8b07a6146c52", "file": "bios/ECS.bin"}, - {"md5": "d5530f74681ec6e0f282dab42e6b1c5f", "file": "bios/IVOICE.bin"}]}, - - - # Microsoft - "msx": {"name": "MSX", "biosFiles": [{"md5": "", "file": "bios/Machines/Forte II Games - Pesadelo/config.ini"}, - {"md5": "", "file": "bios/Machines/Forte II Games - Pesadelo/pesadelo.rom"}, - {"md5": "", "file": "bios/Machines/MSX/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX/MSX.ROM"}, - {"md5": "", "file": "bios/Machines/MSX/MSX2.ROM"}, - {"md5": "", "file": "bios/Machines/MSX/MSX2EXT.ROM"}, - {"md5": "", "file": "bios/Machines/MSX/MSX2P.ROM"}, - {"md5": "", "file": "bios/Machines/MSX/MSX2PEXT.ROM"}, - {"md5": "", "file": "bios/Machines/MSX/MSXDOS2.ROM"}, - {"md5": "", "file": "bios/Machines/MSX - Al Alamiah AX-170/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Arabic/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Brazilian/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Brazilian/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX - C-BIOS/cbios.txt"}, - {"md5": "", "file": "bios/Machines/MSX - C-BIOS/cbios_logo_msx1.rom"}, - {"md5": "", "file": "bios/Machines/MSX - C-BIOS/cbios_main_msx1.rom"}, - {"md5": "", "file": "bios/Machines/MSX - C-BIOS/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Canon V-10/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Canon V-20/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Daewoo DPC-100/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Daewoo DPC-180/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Daewoo DPC-200/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Estonian/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Frael Bruc 100-1/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - French/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - German/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - German/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX - Goldstar FC-200/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Gradiente Expert 1.0/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Gradiente Expert 1.1/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Gradiente Expert 1.3/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Gradiente Expert DDPlus/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Gradiente Expert Plus/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Japanese/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Japanese/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX - JVC HC-7GB/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Korean/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Korean/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX - Mitsubishi ML-F80/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Mitsubishi ML-FX1/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - National CF-1200/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1 (a)/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1F/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1FM/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Panasonic FS-A1MK2/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8220/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8220 (a)/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8245/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8245F/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8250/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8255/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8280/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Philips NMS-8280G/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Philips VG-8230/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Philips VG-8235/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sharp Epcom HotBit 1.2/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sharp Epcom HotBit 1.3b/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sharp Epcom HotBit 1.3p/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sony HB-10P/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sony HB-201/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sony HB-201P/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sony HB-20P/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sony HB-501P/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sony HB-55D/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sony HB-55P/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sony HB-75D/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sony HB-75P/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Spanish/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Spectravideo SVI-728/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Spectravideo SVI-738/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Spectravideo SVI-738-2 CUC/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Spectravideo SVI-738-2 JP Grobler/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Spectravideo SVI-738-2 LC Grosso/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Swedish/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Talent TPC-310/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Toshiba HX-23/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Toshiba HX-23F/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Virtual Haesung Console/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Yamaha CX7M/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Yamaha CX7M-128/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX2+/MSX.ROM"}, - {"md5": "", "file": "bios/Machines/MSX2+/MSX2.ROM"}, - {"md5": "", "file": "bios/Machines/MSX2+/MSX2EXT.ROM"}, - {"md5": "", "file": "bios/Machines/MSX2+/MSX2P.ROM"}, - {"md5": "", "file": "bios/Machines/MSX2+/MSX2PEXT.ROM"}, - {"md5": "", "file": "bios/Machines/MSX2+/MSXDOS2.ROM"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Brazilian/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios.txt"}, - {"md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios_logo_msx2+.rom"}, - {"md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios_main_msx2+.rom"}, - {"md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios_music.rom"}, - {"md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/cbios_sub.rom"}, - {"md5": "", "file": "bios/Machines/MSX2+ - C-BIOS/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Ciel Expert 3 IDE/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Ciel Expert 3 Turbo/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Spectravideo SVI-738 Swedish/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Swedish/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Swedish/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX - Talent DPC-200/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Talent DPC-200A/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Toshiba HX-10/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Toshiba HX-10S/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Toshiba HX-20/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yamaha CX5M-1/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yamaha CX5M-128/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yamaha CX5M-2/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yamaha CX5MII/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS303/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS503/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS503F/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS503II/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS503IIR/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS503M/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yashica YC-64/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yeno DPC-64/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yeno MX64/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX2/MSX.ROM"}, - {"md5": "", "file": "bios/Machines/MSX2/MSX2.ROM"}, - {"md5": "", "file": "bios/Machines/MSX2/MSX2EXT.ROM"}, - {"md5": "", "file": "bios/Machines/MSX2/MSX2P.ROM"}, - {"md5": "", "file": "bios/Machines/MSX2/MSX2PEXT.ROM"}, - {"md5": "", "file": "bios/Machines/MSX2/MSXDOS2.ROM"}, - {"md5": "", "file": "bios/Machines/MSX2 - Al Alamiah AX-350/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Al Alamiah AX-370/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Arabic/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Arabic/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX2 - Brazilian/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Brazilian/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX2 - C-BIOS/cbios.txt"}, - {"md5": "", "file": "bios/Machines/MSX2 - C-BIOS/cbios_logo_msx2.rom"}, - {"md5": "", "file": "bios/Machines/MSX2 - C-BIOS/cbios_main_msx2.rom"}, - {"md5": "", "file": "bios/Machines/MSX2 - C-BIOS/cbios_sub.rom"}, - {"md5": "", "file": "bios/Machines/MSX2 - C-BIOS/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Daewoo CPC-300/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Daewoo CPC-300E/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Daewoo CPC-400/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Daewoo CPC-400S/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Estonian/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - French/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - French/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX2 - German/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - German/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX2 - Gradiente Expert 2.0/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Japanese/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Japanese/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX2 - Korean/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Korean/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX2 - National FS-4500/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - National FS-4600/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - National FS-4700/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - National FS-5000/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - National FS-5500F1/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - National FS-5500F2/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Daewoo DPC-200E/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - National CF-2000/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sharp Epcom HotBit 1.1/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Spectravideo SVI-738 Henrik Gilvad/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Yamaha YIS503IIR Estonian/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Only PSG/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Only PSG/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX2 - Philips VG-8235F/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Spanish/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Spanish/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX2+ - European/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - National CF-2700/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - National CF-3000/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - National CF-3300/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - National FS-1300/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - National FS-4000/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Olympia PHC-2/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Olympia PHC-28/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Panasonic CF-2700G/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Philips NMS-801/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Philips VG-8000/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Philips VG-8010/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Philips VG-8010F/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Philips VG-8020-00/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Philips VG-8020-20/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Philips VG-8020F/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Pioneer PX-7/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Pioneer PX-V60/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Russian/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sanyo MPC-100/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sanyo MPC-64/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sanyo PHC-28L/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sanyo PHC-28S/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX - Sanyo Wavy MPC-10/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Gradiente Expert AC88+/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Gradiente Expert DDX+/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - MSXPLAYer 2003/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Panasonic FS-A1FX/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Panasonic FS-A1WSX/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Panasonic FS-A1WX/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Panasonic FS-A1WX (a)/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Sanyo Wavy PHC-35J/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Sanyo Wavy PHC-70FD1/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Sanyo Wavy PHC-70FD2/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Sony HB-F1XDJ/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Sony HB-F1XV/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2+ - Sony HB-F9S+/config.ini"}, - {"md5": "", "file": "bios/Machines/MSXturboR/config.ini"}, - {"md5": "", "file": "bios/Machines/MSXturboR - European/config.ini"}, - {"md5": "", "file": "bios/Machines/MSXturboR - Panasonic FS-A1GT/config.ini"}, - {"md5": "", "file": "bios/Machines/MSXturboR - Panasonic FS-A1ST/config.ini"}, - {"md5": "", "file": "bios/Machines/MSXturboR - Panasonic FS-A1ST (a)/config.ini"}, - {"md5": "", "file": "bios/Machines/MSXturboR - Panasonic FS-A1ST (b)/config.ini"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2G.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXDOS23.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/ARAB1.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/ARABIC.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/BEERIDE.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/FMPAC.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/GCVMX80.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/HANGUL.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/KANJI.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MICROSOLDISK.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MOONSOUND.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2AR.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2AREXT.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2BR.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2BREXT.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2EXT.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2FR.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2FREXT.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2GEXT.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2HAN.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2J.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2JEXT.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2KR.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2KREXT.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2P.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2PEXT.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2PMUS.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2R.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2R2.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2REXT.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2SE.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2SP.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSX2SPEXT.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXAR.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXBR.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXDOS2.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXFR.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXG.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXHAN.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXJ.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXKANJI.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXKR.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXR.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXR2.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXSE.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXSP.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXTR.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXTREXT.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXTRMUS.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/MSXTROPT.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/NATIONALDISK.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/NOVAXIS.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/nowindDos1.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/nowindDos2.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/PAINT.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/PANASONICDISK.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/PHILIPSDISK.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/RS232.ROM"}, - {"md5": "", "file": "bios/Machines/Shared Roms/Shared.txt"}, - {"md5": "", "file": "bios/Machines/Shared Roms/SUNRISEIDE.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/SWP.rom"}, - {"md5": "", "file": "bios/Machines/Shared Roms/XBASIC2.rom"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-318/config.ini"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-318/svi318.rom"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328/config.ini"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328/svi328.rom"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Column/config.ini"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Column/svi328a.rom"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Column/svi806.rom"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Swedish/config.ini"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Swedish/svi328a.rom"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 80 Swedish/svi806se.rom"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 MK2/config.ini"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 MK2/svi328a.rom"}, - {"md5": "", "file": "bios/Machines/SVI - Spectravideo SVI-328 MK2/svi806.rom"}, - {"md5": "", "file": "bios/Machines/Turbo-R/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX2 - Philips VG-8240/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Russian/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Russian/hardwareconfig.xml"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sanyo Wavy MPC-25FD/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sanyo Wavy PHC-23/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sharp Epcom HotBit 2.0/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F1/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F1II/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F1XD/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F1XDMK2/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F500/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F500P/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F700D/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F700F/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F700P/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F700S/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F900/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F900 (a)/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F9P/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F9P Russian/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-F9S/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-G900AP/config.ini"}, - {"md5": "", "file": "bios/Machines/MSX2 - Sony HB-G900P/config.ini"}]}, - - - # NEC - "pcengine": {"name": "PC Engine", "biosFiles": [{"md5": "38179df8f4ac870017db21ebcbf53114;ff1a674273fe3540ccef576376407d1d", "file": "bios/syscard3.pce"}]}, - - "pcfx": {"name": "PC-FX", "biosFiles": [{"md5": "08e36edbea28a017f79f8d4f7ff9b6d7", "file": "bios/pcfx.rom"}]}, - - "supergrafx": {"name": "Supergrafx", "biosFiles": [{"md5": "38179df8f4ac870017db21ebcbf53114;ff1a674273fe3540ccef576376407d1d", "file": "bios/syscard3.pce"}, - {"md5": "", "file": "bios/syscard2.pce"}, - {"md5": "", "file": "bios/syscard1.pce"}, - {"md5": "", "file": "bios/gexpress.pce"}]}, - - "pc88": {"name": "NEC - PC-8800", "biosFiles": [{"md5": "", "file": "bios/quasi88/DISK.ROM"}, - {"md5": "", "file": "bios/quasi88/N88.ROM"}, - {"md5": "", "file": "bios/quasi88/N88N.ROM"}, - {"md5": "", "file": "bios/quasi88/N88_0.ROM"}, - {"md5": "", "file": "bios/quasi88/N88_1.ROM"}, - {"md5": "", "file": "bios/quasi88/N88_2.ROM"}, - {"md5": "", "file": "bios/quasi88/N88_3.ROM"}, - {"md5": "", "file": "bios/quasi88/N88_KNJ1.ROM"}, - {"md5": "", "file": "bios/quasi88/N88_KNJ2.ROM"}]}, - - # Nintendo - "fds": {"name": "Nintendo Family Computer Disk System", "biosFiles": [{"md5": "", "file": "bios/NstDatabase.xml"}, - {"md5": "ca30b50f880eb660a320674ed365ef7a", "file": "bios/disksys.rom"}]}, - - "gb": {"name": "Game Boy", "biosFiles": [{"md5": "32fbbd84168d3482956eb3c5051637f5", "file": "bios/gb_bios.bin"}, - {"md5": "dbfce9db9deaa2567f6a84fde55f9680", "file": "bios/gbc_bios.bin"}]}, - - "gbc": {"name": "Game Boy Color", "biosFiles": [{"md5": "32fbbd84168d3482956eb3c5051637f5", "file": "bios/gb_bios.bin"}, - {"md5": "dbfce9db9deaa2567f6a84fde55f9680", "file": "bios/gbc_bios.bin"}]}, - - "gba": {"name": "Game Boy Advance", "biosFiles": [{"md5": "a860e8c0b6d573d191e4ec7db1b1e4f6", "file": "bios/gba_bios.bin"}, - {"md5": "32fbbd84168d3482956eb3c5051637f5", "file": "bios/gb_bios.bin"}, - {"md5": "dbfce9db9deaa2567f6a84fde55f9680", "file": "bios/gbc_bios.bin"}, - {"md5": "d574d4f9c12f305074798f54c091a8b4", "file": "bios/sgb_bios.bin"}]}, - - "n64": {"name": "Nintendo 64", "biosFiles": [{"md5": "8d3d9f294b6e174bc7b1d2fd1c727530", "file": "bios/64DD_IPL.bin"}]}, - - "nds": {"name": "Nintendo DS", "biosFiles": [{"md5": "145eaef5bd3037cbc247c213bb3da1b3", "file": "bios/firmware.bin"}, - {"md5": "df692a80a5b1bc90728bc3dfc76cd948", "file": "bios/bios7.bin"}, - {"md5": "a392174eb3e572fed6447e956bde4b25", "file": "bios/bios9.bin"}]}, - - "satellaview": {"name": "Satellaview", "biosFiles": [{"md5": "fed4d8242cfbed61343d53d48432aced;96cf17bf589fcbfa6f8de2dc84f19fa2", "file": "bios/BS-X.bin"}]}, - - "sufami": {"name": "Sufami", "biosFiles": [{"md5": "d3a44ba7d42a74d3ac58cb9c14c6a5ca", "file": "bios/STBIOS.bin"}]}, - - - # Panasonic, Sanyo and Goldstar - "3do": {"name": "3DO", "biosFiles": [{"md5": "f47264dd47fe30f73ab3c010015c155b", "file": "bios/panafz1.bin"}, - {"md5": "51f2f43ae2f3508a14d9f56597e2d3ce", "file": "bios/panafz10.bin"}, - {"md5": "8639fd5e549bd6238cfee79e3e749114", "file": "bios/goldstar.bin"}, - {"md5": "35fa1a1ebaaeea286dc5cd15487c13ea", "file": "bios/sanyotry.bin"}, - {"md5": "8970fc987ab89a7f64da9f8a8c4333ff", "file": "bios/3do_arcade_saot.bin"}]}, - - - # Sega - "naomi": {"name": "Naomi", "biosFiles": [{"md5": "3bffafac42a7767d8dcecf771f5552ba", "file": "bios/dc/naomi_boot.bin"}, - {"md5": "e63d892cdb8b532351dc7020bb60b6f4", "file": "bios/dc/naomi.zip"}]}, - - "atomiswave": {"name": "Atomiswave", "biosFiles": [{"md5": "0ec5ae5b5a5c4959fa8b43fcf8687f7c", "file": "bios/dc/awbios.zip"}]}, - - "dreamcast": {"name": "Dreamcast", "biosFiles": [{"md5": "e10c53c2f8b90bab96ead2d368858623", "file": "bios/dc/dc_boot.bin"}, - {"md5": "0a93f7940c455905bea6e392dfde92a4", "file": "bios/dc/dc_flash.bin"}]}, - - "gamegear": {"name": "Game Gear", "biosFiles": [{"md5": "672e104c3be3a238301aceffc3b23fd6", "file": "bios/bios.gg"}]}, - - "mastersystem": {"name": "MasterSystem", "biosFiles": [{"md5": "840481177270d5642a14ca71ee72844c", "file": "bios/bios_E.sms"}, - {"md5": "840481177270d5642a14ca71ee72844c", "file": "bios/bios_U.sms"}, - {"md5": "24a519c53f67b00640d0048ef7089105", "file": "bios/bios_J.sms"}]}, - - "saturn": {"name": "Sega Saturn", "biosFiles": [{"md5": "af5828fdff51384f99b3c4926be27762", "file": "bios/saturn_bios.bin"}, - {"md5": "85ec9ca47d8f6807718151cbcca8b964", "file": "bios/sega_101.bin"}, - {"md5": "3240872c70984b6cbfda1586cab68dbe", "file": "bios/mpr-17933.bin"}, - {"md5": "255113ba943c92a54facd25a10fd780c", "file": "bios/mpr-18811-mx.ic1"}, - {"md5": "1cd19988d1d72a3e7caa0b73234c96b4", "file": "bios/mpr-19367-mx.ic1"}, - {"md5": "53a094ad3a188f86de4e64624fe9b3ca", "file": "bios/stvbios.zip"}]}, - - "segacd": {"name": "Sega CD", "biosFiles": [{"md5": "e66fa1dc5820d254611fdcdba0662372", "file": "bios/bios_CD_E.bin"}, - {"md5": "854b9150240a198070150e4566ae1290", "file": "bios/bios_CD_U.bin"}, - {"md5": "278a9397d192149e84e820ac621a8edd", "file": "bios/bios_CD_J.bin"}]}, - - "sc-3000": {"name": "SC-3000", "biosFiles": [{"md5": "", "file": "bios/Machines/SEGA - SC-3000/config.ini"}]}, - - - # Sharp - "x68000": {"name": "Sharp x68000", "biosFiles": [{"md5": "", "file": "bios/keropi/iplrom.dat"}, - {"md5": "", "file": "bios/keropi/iplrom30.dat"}, - {"md5": "", "file": "bios/keropi/iplromco.dat"}, - {"md5": "", "file": "bios/keropi/iplromxv.dat"}, - {"md5": "", "file": "bios/keropi/cgrom.dat"}]}, - - "x1": {"name": "Sharp X1", "biosFiles": [{"md5": "eeeea1cd29c6e0e8b094790ae969bfa7", "file": "bios/xmil/IPLROM.X1"}, - {"md5": "851e4a5936f17d13f8c39a980cf00d77", "file": "bios/xmil/IPLROM.X1T"}]}, - - - # SNK - "neogeo": {"name": "NeoGeo", "biosFiles": [{"md5": "", "file": "neogeo/neogeo.zip"}]}, - - "neogeocd": {"name": "NeoGeo CD", "biosFiles": [{"md5": "", "file": "neogeo/neogeo.zip"}, - {"md5": "", "file": "bios/neocdz.zip"}, - {"md5": "e255264d85d5765013b1b2fa8109dd53", "file": "bios/neocd/ng-lo.rom"}, - {"md5": "f39572af7584cb5b3f70ae8cc848aba2", "file": "bios/neocd/neocd_z.rom"}]}, - - - # Sony Computer Entertainment - "psx": {"name": "PSX", "biosFiles": [{"md5": "8dd7d5296a650fac7319bce665a6a53c", "file": "bios/scph5500.bin"}, - {"md5": "490f666e1afb15b7362b406ed1cea246", "file": "bios/scph5501.bin"}, - {"md5": "32736f17079d0b2b7024407c39bd3050", "file": "bios/scph5502.bin"}]}, - - - # Sinclair - "zxspectrum": {"name": "ZX Spectrum", "biosFiles": [{"md5": "", "file": "bios/128p-0.rom"}, - {"md5": "", "file": "bios/128p-1.rom"}, - {"md5": "", "file": "bios/trdos.rom"}, - {"md5": "", "file": "bios/gluck.rom"}, - {"md5": "", "file": "bios/256s-0.rom"}, - {"md5": "", "file": "bios/256s-1.rom"}, - {"md5": "", "file": "bios/256s-2.rom"}, - {"md5": "", "file": "bios/256s-3.rom"}]}, - - - } - - -class BiosStatus: - MISSING = "MISSING" - UNTESTED = "UNTESTED" - - -def md5sum(filename, blocksize=65536): - hash = md5() - with open(filename, "rb") as f: - for block in iter(lambda: f.read(blocksize), b""): - hash.update(block) - return hash.hexdigest() - - -def checkBios(systems, prefix): - missingBios = {} - for system in systems.keys(): - for file in systems[system]["biosFiles"]: - x = 0 - filepath = prefix + "/" + file["file"] - if ";" in file["md5"]: - filehashes = file["md5"].split(";") - else: - filehashes = (file["md5"],) - if isfile(filepath): - md5 = md5sum(filepath) - if md5 not in filehashes and file["md5"] != "": - if system not in missingBios: - missingBios[system] = {} - for filehash in filehashes: - x += 1 - missingBios[system][file["file"]+"(hash%s)" % x] = {"status": BiosStatus.UNTESTED, "md5": filehash, "file": file["file"]} - else: - if system not in missingBios: - missingBios[system] = {} - for filehash in filehashes: - x += 1 - missingBios[system][file["file"]+"(hash%s)" % x] = {"status": BiosStatus.MISSING, "md5": filehash, "file": file["file"]} - return missingBios - - -# Returns True if missing, False if nothing is missing -def displayMissingBios(systems, missingBios): - sortedMissingBios = OrderedDict(sorted(missingBios.items())) - if sortedMissingBios: - for system in sortedMissingBios: - print("> {}".format(systems[system]["name"])) - for file in sortedMissingBios[system].keys(): - md5str = "-" - if sortedMissingBios[system][file]["md5"] != "": - md5str = sortedMissingBios[system][file]["md5"] - print("{} {} {}".format(sortedMissingBios[system][file]["status"], md5str, sortedMissingBios[system][file]["file"])) - return True - else: - print("No missing bios") - return False - - -def createReadme(systems): - for system in sorted(systems): - print("{}:".format(systems[system]["name"])) - for bios in systems[system]["biosFiles"]: - if ";" in bios["md5"]: - filehashes = bios["md5"].split(";") - else: - filehashes = (bios["md5"],) - for filehash in filehashes: - print("{:32} {}".format(filehash, "/storage/roms/" + bios["file"])) - print("") - -if __name__ == '__main__': - if len(sys.argv) == 1: - prefix = "/storage/roms/" - if displayMissingBios(systems, checkBios(systems, prefix)): - exit(2) - elif sys.argv[1] == "--createReadme": - createReadme(systems) - elif len(sys.argv) == 3 and sys.argv[1] in ["--filter", "--strictfilter"]: - prefix = "/storage/roms/" - lowered_name = sys.argv[2].lower() - - filtered_systems = {} - for system in systems: - lowered_system = system.lower() - lowered_system_name = systems[system]['name'].lower() - - if ((lowered_name == lowered_system or lowered_name == lowered_system_name) or - (sys.argv[1] == "--filter" and (lowered_name in lowered_system or lowered_name in lowered_system_name))): - filtered_systems[system] = systems[system] - - if len(filtered_systems) == 0: - print("No system named {} found".format(sys.argv[2])) - exit(1) - - if displayMissingBios(filtered_systems, checkBios(filtered_systems, prefix)): - exit(2) diff --git a/packages/jelos/sources/scripts/benchmark b/packages/jelos/sources/scripts/benchmark deleted file mode 100755 index 0e42bed05..000000000 --- a/packages/jelos/sources/scripts/benchmark +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -if [ ! "${HW_ARCH}" = "x86_64" ] -then - echo "This platform is not currently supported." - exit 1 -fi - -HOSTNAME=$(hostname) - -if [ -z "${1}" ] -then - BENCHLOG="${1}" -else - BENCHLOG="benchmark.log" -fi - -LOG="${HOME}/${BENCHLOG}.log" - -SYSTEM_TDP=$(get_setting system.overclock) -SYSTEM_GOV=$(get_setting system.cpugovernor) -SYSTEM_EPP=$(get_setting system.power.epp) -SYSTEM_GPU=$(get_setting system.gpuperf) -SYSTEM_THREADS=$(get_setting system.threads) -SYSTEM_POWERSAVE=$(get_setting system.powersave) -SYSTEM_COOLING=$(get_setting cooling.profile) - -case ${1} in - performance) - onlinethreads all - performance - gpu_performance_level profile_peak - cpu_perftune performance - set_setting system.powersave 0 - systemctl restart powerstate - set_setting cooling.profile auto - systemctl restart fancontrol - ;; - balanced_performance) - onlinethreads all - schedutil - gpu_performance_level auto - cpu_perftune balance_performance - set_setting system.powersave 0 - systemctl restart powerstate - set_setting cooling.profile auto - systemctl restart fancontrol - ;; - balanced_powersave) - onlinethreads 4 - powersave - gpu_performance_level low - cpu_perftune balance_power - set_setting system.powersave 1 - systemctl restart powerstate - set_setting cooling.profile quiet - systemctl restart fancontrol - ;; - powersave) - onlinethreads 4 - powersave - gpu_performance_level low - cpu_perftune power - set_setting system.powersave 1 - systemctl restart powerstate - set_setting cooling.profile quiet - systemctl restart fancontrol - ;; - *) - # Default Settings - onlinethreads all - schedutil - gpu_performance_level auto - cpu_perftune balance_performance - set_setting system.powersave 0 - systemctl restart powerstate - set_setting cooling.profile auto - systemctl restart fancontrol - ;; -esac - -if [ -e "${LOG}" ] -then - rm -f ${LOG} -fi - -echo "${HOSTNAME} - ${1}" - -for TDP in 4.5w 6w 9w 15w 18w 24w 28w -do - overclock ${TDP} >/dev/null 2>&1 - echo "Testing @ ${TDP}" 2>&1 | tee -a ${LOG} - echo "----" 2>&1 | tee -a ${LOG} - glmark2-es2-wayland --fullscreen --annotate 2>&1 | awk '/glmark2 Score:/ {print "GLMark: "$3}' | tee -a ${LOG} - cd /usr/bin - ./7z b 2>&1 | awk '/^Tot:/ {print "7z: "$4}' | tee -a ${LOG} - echo "----" 2>&1 | tee -a ${LOG} -done - -overclock ${SYSTEM_TDP} -onlinethreads ${SYSTEM_THREADS} -${SYSTEM_GOV} -gpu_performance_level ${SYSTEM_GPU} -cpu_perftune ${SYSTEM_EPP} -set_setting system.powersave ${SYSTEM_POWERSAVE} -systemctl restart powerstate -set_setting cooling.profile ${SYSTEM_COOLING} -systemctl restart fancontrol diff --git a/packages/jelos/sources/scripts/bezels.sh b/packages/jelos/sources/scripts/bezels.sh deleted file mode 100755 index 283e47415..000000000 --- a/packages/jelos/sources/scripts/bezels.sh +++ /dev/null @@ -1,217 +0,0 @@ -#!/bin/sh - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2019-present SumavisionQ5 (https://github.com/SumavisionQ5) -# Modifications by Shanti Gilbert (https://github.com/shantigilbert) - -PLATFORM="$1" - -ROMNAME=$(basename "${2%.*}") -RACONFIG="/storage/.config/retroarch/retroarch.cfg" -OPACITY="1.000000" -AR_INDEX="23" -BEZELDIR="/storage/roms/bezels" -INIFILE="/storage/.config/system/bezels/settings.ini" -DEFAULT_BEZEL="false" - -case $PLATFORM in - "arcade"|"fba"|"fbn"|"neogeo"|"mame"|cps*) - PLATFORM="ARCADE" - ;; - "default") - if [ -f "/storage/.config/bezels_enabled" ]; then - clear_bezel - sed -i '/input_overlay = "/d' $RACONFIG - rm "/storage/.config/bezels_enabled" - fi - exit 0 - ;; - "RETROPIE") - # fbterm does not need bezels - exit 0 - ;; -esac - - if [ ! -f "/storage/.config/bezels_enabled" ]; then - touch /storage/.config/bezels_enabled - fi - -# we make sure the platform is all lowercase -PLATFORM=${PLATFORM,,} - -# if a backup does not exists make a copy of retroarch.cfg so we can return to it when we disable bezels - # for future use...maybe - #if [ ! -f "$RACONFIG.org" ]; then - # cp "$RACONFIG" "$RACONFIG.org" - #fi - -# bezelmap.cfg in $BEZELDIR/ is to share bezels between arcade clones and parent. -BEZELMAP="/storage/.config/system/bezels/arcademap.cfg" -BZLNAME=$(sed -n "/"$PLATFORM"_"$ROMNAME" = /p" "$BEZELMAP") -BZLNAME="${BZLNAME#*\"}" -BZLNAME="${BZLNAME%\"*}" -OVERLAYDIR1=$(find $BEZELDIR/$PLATFORM -maxdepth 1 -iname "$ROMNAME*.cfg" | sort -V | head -n 1) -[ ! -z "$BZLNAME" ] && OVERLAYDIR2=$(find $BEZELDIR/$PLATFORM -maxdepth 1 -iname "$BZLNAME*.cfg" | sort -V | head -n 1) -OVERLAYDIR3="$BEZELDIR/$PLATFORM/default.cfg" - -clear_bezel() { - sed -i '/aspect_ratio_index = "/d' $RACONFIG - sed -i '/custom_viewport_width = "/d' $RACONFIG - sed -i '/custom_viewport_height = "/d' $RACONFIG - sed -i '/custom_viewport_x = "/d' $RACONFIG - sed -i '/custom_viewport_y = "/d' $RACONFIG - sed -i '/video_scale_integer = "/d' $RACONFIG - sed -i '/input_overlay_opacity = "/d' $RACONFIG - echo 'video_scale_integer = "false"' >> $RACONFIG - echo 'input_overlay_opacity = "0.150000"' >> $RACONFIG - } - -set_bezel() { -# $OPACITY: input_overlay_opacity -# ${AR}_INDEX: aspect_ratio_index -# $1: custom_viewport_width -# $2: custom_viewport_height -# $3: ustom_viewport_x -# $4: custom_viewport_y -# $5: video_scale_integer -# $6: video_scale - - clear_bezel - sed -i '/input_overlay_opacity = "/d' $RACONFIG - sed -i "1i input_overlay_opacity = \"$OPACITY\"" $RACONFIG - sed -i "2i aspect_ratio_index = \"${AR}_INDEX\"" $RACONFIG - sed -i "3i custom_viewport_width = \"$1\"" $RACONFIG - sed -i "4i custom_viewport_height = \"$2\"" $RACONFIG - sed -i "5i custom_viewport_x = \"$3\"" $RACONFIG - sed -i "6i custom_viewport_y = \"$4\"" $RACONFIG - sed -i "7i video_scale_integer = \"$5\"" $RACONFIG - } - -check_overlay_dir() { - -# The bezel will be searched and used in following order: -# 1.$OVERLAYDIR1 will be used, if it does not exist, then -# 2.$OVERLAYDIR2 will be used, if it does not exist, then -# 3.$OVERLAYDIR2 platform default bezel as "$BEZELDIR/"$PLATFORM"/default.cfg\" will be used. -# 4.Default bezel at "$BEZELDIR/default.cfg\" will be used. - - sed -i '/input_overlay = "/d' $RACONFIG - - if [ -f "$OVERLAYDIR1" ]; then - echo -e "input_overlay = \""$OVERLAYDIR1"\"\n" >> $RACONFIG - elif [ -f "$OVERLAYDIR2" ]; then - echo -e "input_overlay = \""$OVERLAYDIR2"\"\n" >> $RACONFIG - elif [ -f "$OVERLAYDIR3" ]; then - echo -e "input_overlay = \""$OVERLAYDIR3"\"\n" >> $RACONFIG - else - echo -e "input_overlay = \"$BEZELDIR/default.cfg\"\n" >> $RACONFIG - DEFAULT_BEZEL="true" - fi -} - -# Only 720P and 1080P can use bezels. For 480p/i and 576p/i we just delete bezel config. -hdmimode=$(cat /sys/class/display/mode) - -case $hdmimode in - 480*) - sed -i '/input_overlay = "/d' $RACONFIG - clear_bezel - ;; - 576*) - sed -i '/input_overlay = "/d' $RACONFIG - clear_bezel - ;; - 720p*) - - check_overlay_dir "$PLATFORM" - case "$PLATFORM" in - "gba") - set_bezel "467" "316" "405" "190" "false" - ;; - "gamegear") - set_bezel "780" "580" "245" "70" "false" - ;; - "gb") - set_bezel "429" "380" "420" "155" "false" - ;; - "gbc") - set_bezel "430" "380" "425" "155" "false" - ;; - "ngp") - set_bezel "461" "428" "407" "145" "false" - ;; - "ngpc") - set_bezel "460" "428" "407" "145" "false" - ;; - "wonderswan") - set_bezel "645" "407" "325" "150" "false" - ;; - "wonderswancolor") - set_bezel "643" "405" "325" "150" "false" - ;; - *) - # delete aspect_ratio_index to make sure video is expanded fullscreen. Only certain AMD64 platforms need custom_viewport. - clear_bezel - sed -i '/input_overlay_opacity = "/d' $RACONFIG - sed -i "1i input_overlay_opacity = \"$OPACITY\"" $RACONFIG - ;; - esac - ;; - # For Amlogic TV box, the following resolution is 1080p/i. - 1080*) - check_overlay_dir "$PLATFORM" - case "$1" in - "gba") - set_bezel "698" "472" "609" "288" "false" - ;; - "gamegear") - set_bezel "1160" "850" "380" "120" "false" - ;; - "gb") - set_bezel "625" "565" "645" "235" "false" - ;; - "gbc") - set_bezel "625" "565" "645" "235" "false" - ;; - "ngp") - set_bezel "700" "635" "610" "220" "false" - ;; - "ngpc") - set_bezel "700" "640" "610" "215" "false" - ;; - "wonderswan") - set_bezel "950" "605" "490" "225" "false" - ;; - "wonderswancolor") - set_bezel "950" "605" "490" "225" "false" - ;; - *) - clear_bezel - sed -i '/input_overlay_opacity = "/d' $RACONFIG - sed -i "1i input_overlay_opacity = \"$OPACITY\"" $RACONFIG - ;; - esac - ;; -esac - - if [ "$DEFAULT_BEZEL" = "true" ]; then - set_bezel "1427" "1070" "247" "10" "false" - fi - -# If we disable bezel in setting.ini for certain platform, we just delete bezel config. -Bezel=$(sed -n "/"$PLATFORM"_Bezel = /p" $INIFILE) -Bezel="${Bezel#*\"}" -Bezel="${Bezel%\"*}" -if [ "$Bezel" = "OFF" ]; then -sed -i '/input_overlay = "/d' $RACONFIG -fi - -# Note: -# 1. Different AMD64 platforms have different bezels, they may need different viewport value even for same platform. -# So, I think this script should be stored in $BEZELDIR/ or some place wich can be modified by users. -# 2. For Arcade games, I created a bezelmap.cfg in $BEZELDIR/ in order to share bezels between arcade clones and parent. -# In fact, ROMs of other platforms can share certain bezel if you write mapping relationship in bezelmap.cfg. -# 3. I modified es_systems.cfg to set $1 as platfrom for all platfrom. -# For some libretro core such as /usr/bin/sx05reRunEmu.sh LIBRETRO scummvm %ROM%, $1 not right platform value, -# you may need some tunings on them. -# 4. I am a Linux noob, so the codes are a mess. Sorry for that:) diff --git a/packages/jelos/sources/scripts/brightness b/packages/jelos/sources/scripts/brightness deleted file mode 100755 index 736d0ad28..000000000 --- a/packages/jelos/sources/scripts/brightness +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -## Load minimal distribution settings to improve -## performance. -. /etc/profile.d/001-functions - -BRIGHTNESS_DEV="$(find /sys/class/backlight/*/ -name brightness -print -quit 2>/dev/null)" -BRIGHTNESS_PATH="${BRIGHTNESS_DEV%/brightness}" - -declare -a BRIGHTNESS_TABLE -BRIGHTNESS_TABLE=($(get_setting brightness_table)) -if [ -z ${BRIGHTNESS_TABLE} ]; then - BRIGHTNESS_TABLE=(0 0.04 0.08 0.13 0.19 0.25 0.33 0.42 0.54 0.71 1) - set_setting brightness_table "${BRIGHTNESS_TABLE[*]}" -fi -NUM_STEPS=${#BRIGHTNESS_TABLE[@]} - -MAX=$(<$(find /sys/class/backlight/*/ -name max_brightness -print -quit 2>/dev/null)) -function compute() { - echo "${BRIGHTNESS_TABLE[$NEXT]} * ${MAX}" | bc -l -} - -if [ ! -f "${BRIGHTNESS_DEV}" ] -then - echo "ERROR: There is no BRIGHTNESS object to manage." - exit 1 -fi - -getBrightness() { - echo $(<${BRIGHTNESS_DEV}) -} - -setBrightness() { - echo "${1}" > ${BRIGHTNESS_DEV} - set_setting system.brightness "${2}" -} - -stepUp() { - CURRENT=$(get_setting system.brightness) - NEXT=$(( ${CURRENT} + 1 )) - if (( ${NEXT} >= $NUM_STEPS )) - then - NEXT=$(( $NUM_STEPS - 1 )) - fi - - BRIGHTNESS=$(printf '%.0f' "$(compute)") - if (($BRIGHTNESS > $MAX )) - then - BRIGHTNESS=$MAX - fi - - setBrightness ${BRIGHTNESS} ${NEXT} -} - -stepDown() { - CURRENT=$(get_setting system.brightness) - NEXT=$(( ${CURRENT} - 1 )) - if (( ${NEXT} < 0 )) - then - NEXT=0 - fi - - BRIGHTNESS=$(printf '%.0f' "$(compute)") - - setBrightness ${BRIGHTNESS} ${NEXT} -} - -case ${1} in - "up") - stepUp - ;; - "down") - stepDown - ;; - "device") - echo ${BRIGHTNESS_DEV} - ;; - "path") - echo ${BRIGHTNESS_PATH} - ;; - "set") - NEXT=${2} - setBrightness "$(printf '%.0f' "$(compute)")" ${2} - ;; - *) - echo $(getBrightness) - ;; -esac diff --git a/packages/jelos/sources/scripts/chksysconfig b/packages/jelos/sources/scripts/chksysconfig deleted file mode 100755 index 1e946475d..000000000 --- a/packages/jelos/sources/scripts/chksysconfig +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -CFG_PATH="/storage/.config/system/configs" - -backup() { - TYPE=$(grep a ${CFG_PATH}/system.cfg 2>&1) - if [[ ! "${TYPE}" =~ binary ]] - then - cp ${CFG_PATH}/system.cfg ${CFG_PATH}/system.cfg.backup - fi -} - -restore() { - cp ${CFG_PATH}/system.cfg.backup ${CFG_PATH}/system.cfg -} - -verify() { - TYPE=$(grep a ${CFG_PATH}/system.cfg 2>&1) - if [[ "${TYPE}" =~ binary ]] - then - restore - fi -} - -case ${1} in - verify) - verify - ;; - backup) - backup - ;; - restore) - restore - ;; -esac diff --git a/packages/jelos/sources/scripts/cleanup_overlay b/packages/jelos/sources/scripts/cleanup_overlay deleted file mode 100755 index 924ddf044..000000000 --- a/packages/jelos/sources/scripts/cleanup_overlay +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -for STORAGE in /storage/games-internal /storage/games-external -do - find ${STORAGE} -type d -empty -delete -done -reboot diff --git a/packages/jelos/sources/scripts/error.sh b/packages/jelos/sources/scripts/error.sh deleted file mode 100755 index db010efe2..000000000 --- a/packages/jelos/sources/scripts/error.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/bash -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2021-present 351ELEC - -. /etc/profile - -clear -if [ -n "$1" ] -then - text_viewer -w -e -t "BIOS ERROR" -m "$*" -else - ERROR=$(tail -n 25 /var/log/es_launch_stderr.log) - if [ !-z "${ERROR}" ]; - then - text_viewer -w -e -t ERROR -m "${ERROR}" - fi -fi - -clear diff --git a/packages/jelos/sources/scripts/factoryreset b/packages/jelos/sources/scripts/factoryreset deleted file mode 100755 index 3c2e0a2d8..000000000 --- a/packages/jelos/sources/scripts/factoryreset +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/bash - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert) -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -case "${1}" in - "retroarch") - rm -f /storage/.config/retroarch/retroarch.cfg - cp -rf /usr/config/retroarch/retroarch.cfg /storage/.config/retroarch/retroarch.cfg - ;; - "retroarch-full") - rm -rf /storage/.config/retroarch - cp -rf /usr/config/retroarch /storage/.config/ - ;; - "mednafen") - rm -f /storage/.config/mednafen/mednafen.cfg - ;; - "overlays") - rm -rf $(cat /usr/lib/systemd/system/tmp-*.mount | grep -Eo 'upperdir=.*,' | sed -e 's~upperdir=~~g; s~,~~g') - sync - systemctl reboot - ;; - "audio") - systemctl stop pipewire-pulse pipewire-pulse.socket pipewire pipewire.socket wireplumber - rm -rf /storage/.local/state /storage/.config/pulse /storage/asound* - systemctl reboot - ;; - "ALL") - swapoff -a 2>/dev/null - umount /storage/roms 2>/dev/null ||: - umount /storage/games-external 2>/dev/null ||: - cd / - find /storage -mindepth 1 \( ! -regex '^/storage/.update.*' -a ! -regex '^/storage/roms.*' -a ! -regex '^/storage/games-.*' \) -delete 2>/dev/null - mkdir /storage/.config/ - sync 2>/dev/null - systemctl reboot - ;; -esac diff --git a/packages/jelos/sources/scripts/find.sh b/packages/jelos/sources/scripts/find.sh deleted file mode 100755 index d363e3b2e..000000000 --- a/packages/jelos/sources/scripts/find.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert) - -find / -type d \( -path /var/media -o -path /storage/roms \) -prune -o -iname *${1}* -print diff --git a/packages/jelos/sources/scripts/getfilters b/packages/jelos/sources/scripts/getfilters deleted file mode 100755 index 1298d5637..000000000 --- a/packages/jelos/sources/scripts/getfilters +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert) -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -find /usr/share/retroarch/filters/64bit/video/ -name '*.filt' -print0 | - while IFS= read -r -d '' line; do - echo ${line#/usr/share/retroarch/filters/64bit/video/}, -done | sort - diff --git a/packages/jelos/sources/scripts/getoverlays b/packages/jelos/sources/scripts/getoverlays deleted file mode 100755 index 96f73aff9..000000000 --- a/packages/jelos/sources/scripts/getoverlays +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert) -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - - -find /storage/overlays/ -name '*.cfg' -print0 | - while IFS= read -r -d '' line; do - echo ${line#/storage/overlays/}, -done | sort - diff --git a/packages/jelos/sources/scripts/getshaders b/packages/jelos/sources/scripts/getshaders deleted file mode 100755 index 318fa5908..000000000 --- a/packages/jelos/sources/scripts/getshaders +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -. /etc/profile - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert) -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -if [ -z "$UI_SHADER" ]; then - option=".*\.\(glslp\|slangp\)$" -else - option=".*\.\($UI_SHADER\)$" -fi - -for dir in /tmp/shaders -do - if [ -d "${dir}" ]; then - find ${dir} -regex "${option}" -print0 | - while IFS= read -r -d '' line; do - echo ${line#${dir}/}, - done | sort - fi -done diff --git a/packages/jelos/sources/scripts/led_flash b/packages/jelos/sources/scripts/led_flash deleted file mode 100755 index 660e20001..000000000 --- a/packages/jelos/sources/scripts/led_flash +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -COLOR=$(get_setting led.color) -BRI=$(get_setting led.brightness) - -if [ -z "${COLOR}" ] || \ - [ "${COLOR}" = "off" ] || \ - [ -n "${DEVICE_LED_CHARGING}" ] -then - FLASH_COLOR="red" -else - FLASH_COLOR="${COLOR}" -fi - -if [ "${DEVICE_LED_BRIGHTNESS}" = "true" ] -then - ledcontrol brightness mid -fi - -for i in $(seq 1 1 3) -do - ledcontrol ${FLASH_COLOR} - sleep .5 - ledcontrol poweroff - sleep .5 -done - -if [ -n "${COLOR}" ] -then - ledcontrol ${COLOR} -else - ledcontrol default -fi - -if [ "${DEVICE_LED_BRIGHTNESS}" = "true" ] -then - ledcontrol brightness ${BRI} -fi diff --git a/packages/jelos/sources/scripts/migrate_roms b/packages/jelos/sources/scripts/migrate_roms deleted file mode 100644 index b3ab9abbf..000000000 --- a/packages/jelos/sources/scripts/migrate_roms +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -LOGFILE="/var/log/migrate.log" - -read -p "WARNING: This tool can cause data loss... Make sure you have a backup before proceeding... Press control-c now to cancel, or any other key to continue..." - -for GAMES in /storage/games-internal /storage/games-external -do - echo "Working on ${GAMES}..." - if [ ! -d "${GAMES}/roms" ] - then - echo "Making ${GAMES}/roms..." - mkdir -p "${GAMES}/roms" >>${LOGFILE} 2>&1 1|>>${LOGFILE} - fi - for DIR in $(find "${GAMES}/" -type d -maxdepth 1 -mindepth 1 2>/dev/null) - do - TARGET_DIR=$(basename ${DIR}) - echo "Working on ${DIR}..." - if [[ "${DIR}" =~ roms$ ]] - then - continue - fi - if [ ! -d "${GAMES}/roms/${TARGET_DIR}" ] - then - echo "Making ${GAMES}/roms/${TARGET_DIR}..." - mkdir -p "${GAMES}/roms/${TARGET_DIR}" >>${LOGFILE} 2>&1 - fi - mv "${DIR}"/* "${GAMES}/roms/${TARGET_DIR}" >>${LOGFILE} 2>&1 - rsync -av --remove-source-files "${DIR}"/* "${GAMES}/roms/${TARGET_DIR}" >>${LOGFILE} 2>&1 - done - echo "Clean empties in ${GAMES}..." - find "${GAMES}" -type d -empty -delete >>${LOGFILE} 2>&1 1|>>${LOGFILE} - echo "Your games have been migrated, however you will need to manually clean up stale directories. Please reboot your system now by running the `reboot` command." -done diff --git a/packages/jelos/sources/scripts/paneladj b/packages/jelos/sources/scripts/paneladj deleted file mode 100755 index 2f25badde..000000000 --- a/packages/jelos/sources/scripts/paneladj +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -# ARGS: -# -# 1 - property to adjust (gamma (brightness)/contrast/saturation/hue) -# 2 - up/down or a defined value - -PROPERTY=${1} -NEWVAL=${2} - -# Command usage: -# drm_tool set /dev/dri/card0 133 saturation value - -# Define the basics -MIN=1 -MAX=100 -STEP=1 - -if [ ! -e /dev/dri/card0 ] -then - echo "ERROR: No display found." - exit 1 -fi - -log() { - $DEBUG && echo "Info: ${*}" >>/var/log/display.log -} - -getValue() { - MYVAL=$(get_setting display.${1}) - if [ -n "${MYVAL}" ] - then - if [ "${MYVAL}" > "${MAX}" ] - then - MYVAL=${MAX} - elif [ "${MYVAL}" < "${MIN}" ] - then - MYVAL=${MIN} - fi - echo ${MYVAL} - else - echo $(drm_tool list 2>/dev/null | sed -n '/Connector: '${CONNECTOR}'/,$p' | awk '/'${1}'/ {print $5}') - fi -} - -setValue() { - log "Set (${1}: ${2})" - drm_tool set /dev/dri/card0 ${CONNECTOR} ${1} ${2} 2>/dev/null - if [ $? = 0 ] - then - set_setting display.${1} ${2} - fi -} - -stepUp() { - LASTVAL=$(getValue ${PROPERTY}) - NEWVAL=$(expr ${LASTVAL} + 1) - log "Step up (${PROPERTY}: ${NEWVAL})" - setValue ${PROPERTY} ${NEWVAL} -} - -stepDown() { - LASTVAL=$(getValue ${PROPERTY}) - NEWVAL=$(expr ${LASTVAL} - 1) - log "Step down (${PROPERTY}: ${NEWVAL})" - setValue ${PROPERTY} ${NEWVAL} -} - -restoreSettings() { - for PROPERTY in brightness contrast saturation hue - do - RESTVAL=$(getValue ${PROPERTY}) - setValue ${PROPERTY} ${RESTVAL} - done -} - -CONNECTOR=$(drm_tool list | grep -B1 "mode.*:" | awk '/Connector/ {print $2}') - -case ${NEWVAL} in - "up") - stepUp - ;; - "down") - stepDown - ;; - "restore") - restoreSettings - ;; - *) - if [[ "${NEWVAL}" =~ ^[0-9] ]] && \ - [ "${NEWVAL}" -le "${MAX}" ] && \ - [ "${NEWVAL}" -ge "${MIN}" ] - then - setValue ${PROPERTY} ${NEWVAL} - else - echo "Error: Invalid value." - exit 1 - fi - ;; -esac diff --git a/packages/jelos/sources/scripts/run b/packages/jelos/sources/scripts/run deleted file mode 100755 index cbfd078ed..000000000 --- a/packages/jelos/sources/scripts/run +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -ui_state() { - clear >/dev/console - systemctl ${1} ${UI_SERVICE} -} - -if [ "${UI_SERVICE}" = "weston.service" ] -then - if [ -f "${*}" ] - then - RUN=$(echo ${*} | sed 's# #\\ #g') - weston-terminal --command="${RUN}" - else - weston-terminal --command="${*}" - fi -else - ui_state stop - clear >/dev/console - $* >/dev/console - if [ "$?" == 0 ] - then - ui_state start - exit 0 - else - "$*" >/dev/console - ui_state start - exit 0 - fi -fi - diff --git a/packages/jelos/sources/scripts/runemu.sh b/packages/jelos/sources/scripts/runemu.sh deleted file mode 100755 index 09822ccdf..000000000 --- a/packages/jelos/sources/scripts/runemu.sh +++ /dev/null @@ -1,461 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert) -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -# Source predefined functions and variables -. /etc/profile -. /etc/os-release - -### Switch to performance mode early to speed up configuration and reduce time it takes to get into games. -performance - -# Command line schema -# $1 = Game/Port -# $2 = Platform -# $3 = Core -# $4 = Emulator - -ARGUMENTS="$@" -PLATFORM="${ARGUMENTS##*-P}" # read from -P onwards -PLATFORM="${PLATFORM%% *}" # until a space is found -CORE="${ARGUMENTS##*--core=}" # read from --core= onwards -CORE="${CORE%% *}" # until a space is found -EMULATOR="${ARGUMENTS##*--emulator=}" # read from --emulator= onwards -EMULATOR="${EMULATOR%% *}" # until a space is found -ROMNAME="$1" -BASEROMNAME=${ROMNAME##*/} -GAMEFOLDER="${ROMNAME//${BASEROMNAME}}" - -### Define the variables used throughout the script -BLUETOOTH_STATE=$(get_setting bluetooth.enabled) -ES_CONFIG="/storage/.emulationstation/es_settings.cfg" -VERBOSE=false -LOG_DIRECTORY="/var/log" -LOG_FILE="exec.log" -RUN_SHELL="/usr/bin/bash" -RETROARCH_TEMP_CONFIG="/storage/.config/retroarch/retroarch.cfg" -RETROARCH_APPEND_CONFIG="/tmp/.retroarch.cfg" -NETWORK_PLAY="No" -SET_SETTINGS_TMP="/tmp/shader" -OUTPUT_LOG="${LOG_DIRECTORY}/${LOG_FILE}" -SCRIPT_NAME=$(basename "$0") - -### Function Library -function log() { - if [ ${LOG} == true ] - then - if [[ ! -d "$LOG_DIRECTORY" ]] - then - mkdir -p "$LOG_DIRECTORY" - fi - echo "${SCRIPT_NAME}: $*" 2>&1 | tee -a ${LOG_DIRECTORY}/${LOG_FILE} - else - echo "${SCRIPT_NAME}: $*" - fi -} - -function loginit() { - if [ ${LOG} == true ] - then - if [ -e ${LOG_DIRECTORY}/${LOG_FILE} ] - then - rm -f ${LOG_DIRECTORY}/${LOG_FILE} - fi - cat <${LOG_DIRECTORY}/${LOG_FILE} -Emulation Run Log - Started at $(date) - -ARG1: $1 -ARG2: $2 -ARG3: $3 -ARG4: $4 -ARGS: $* -EMULATOR: ${EMULATOR} -PLATFORM: ${PLATFORM} -CORE: ${CORE} -ROM NAME: ${ROMNAME} -BASE ROM NAME: ${ROMNAME##*/} -USING CONFIG: ${RETROARCH_TEMP_CONFIG} -USING APPENDCONFIG : ${RETROARCH_APPEND_CONFIG} - -EOF - else - log $0 "Emulation Run Log - Started at $(date)" - fi -} - -function quit() { - ${VERBOSE} && log $0 "Cleaning up and exiting" - bluetooth enable - set_kill set "emulationstation" - clear_screen - DEVICE_CPU_GOVERNOR=$(get_setting system.cpugovernor) - ${DEVICE_CPU_GOVERNOR} - exit $1 -} - -function clear_screen() { - ${VERBOSE} && log $0 "Clearing screen" - clear -} - -function bluetooth() { - if [ "$1" == "disable" ] - then - ${VERBOSE} && log $0 "Disabling BT" - if [[ "${BLUETOOTH_STATE}" == "1" ]] - then - NPID=$(pgrep -f batocera-bluetooth-agent) - if [[ ! -z "$NPID" ]]; then - kill "$NPID" - fi - fi - elif [ "$1" == "enable" ] - then - ${VERBOSE} && log $0 "Enabling BT" - if [[ "${BLUETOOTH_STATE}" == "1" ]] - then - systemd-run batocera-bluetooth-agent - fi - fi -} - -### Enable logging -case $(get_setting system.loglevel) in - off|none) - LOG=false - ;; - verbose) - LOG=true - VERBOSE=true - ;; - *) - LOG=true - ;; -esac - -### Prepare to load our emulator and game. -loginit "$1" "$2" "$3" "$4" -clear_screen -bluetooth disable -set_kill stop - -### Determine which emulator we're launching and make appropriate adjustments before launching. -${VERBOSE} && log $0 "Configuring for ${EMULATOR}" -case ${EMULATOR} in - mednafen) - set_kill set "-9 mednafen" - RUNTHIS='${RUN_SHELL} /usr/bin/start_mednafen.sh "${ROMNAME}" "${CORE}" "${PLATFORM}"' - ;; - retroarch) - # Make sure NETWORK_PLAY isn't defined before we start our tests/configuration. - del_setting netplay.mode - - case ${ARGUMENTS} in - *"--host"*) - ${VERBOSE} && log $0 "Setup netplay host." - NETWORK_PLAY="${ARGUMENTS##*--host}" # read from --host onwards - NETWORK_PLAY="${NETWORK_PLAY%%--nick*}" # until --nick is found - NETWORK_PLAY="--host ${NETWORK_PLAY} --nick" - set_setting netplay.mode "host" - ;; - *"--connect"*) - ${VERBOSE} && log $0 "Setup netplay client." - NETWORK_PLAY="${ARGUMENTS##*--connect}" # read from --connect onwards - NETWORK_PLAY="${NETWORK_PLAY%%--nick*}" # until --nick is found - NETWORK_PLAY="--connect ${NETWORK_PLAY} --nick" - set_setting netplay.mode "client" - ;; - *"--netplaymode spectator"*) - ${VERBOSE} && log $0 "Setup netplay spectator." - set_setting "netplay.mode" "spectator" - ;; - esac - - ### Set set_kill to kill the appropriate retroarch - set_kill set "retroarch retroarch32" - - ### Assume we're running 64bit Retroarch - RABIN="retroarch" - - case ${HW_ARCH} in - aarch64) - if [[ "${CORE}" =~ pcsx_rearmed32 ]] || \ - [[ "${CORE}" =~ gpsp ]] || \ - [[ "${CORE}" =~ desmume ]] - then - ### Configure for 32bit Retroarch - ${VERBOSE} && log $0 "Configuring for 32bit cores." - export LIBRARY_PATH="/usr/lib32" - export LD_LIBRARY_PATH="${LIBRARY_PATH}" - export SPA_PLUGIN_DIR="${LIBRARY_PATH}/spa-0.2" - export PIPEWIRE_MODULE_DIR="${LIBRARY_PATH}/pipewire-0.3/" - export LIBGL_DRIVERS_PATH="${LIBRARY_PATH}/dri" - export RABIN="retroarch32" - fi - ;; - esac - - - ### Configure specific emulator requirements - case ${CORE} in - freej2me*) - ${VERBOSE} && log $0 "Setup freej2me requirements." - /usr/bin/freej2me.sh - JAVA_HOME='/storage/jdk' - export JAVA_HOME - PATH="$JAVA_HOME/bin:$PATH" - export PATH - ;; - easyrpg*) - # easyrpg needs runtime files to be downloaded on the first run - ${VERBOSE} && log $0 "Setup easyrpg requirements." - /usr/bin/easyrpg.sh - ;; - esac - - - RUNTHIS='${EMUPERF} /usr/bin/${RABIN} -L /tmp/cores/${CORE}_libretro.so --config ${RETROARCH_TEMP_CONFIG} --appendconfig ${RETROARCH_APPEND_CONFIG} "${ROMNAME}"' - - CONTROLLERCONFIG="${ARGUMENTS#*--controllers=*}" - - if [[ "${ARGUMENTS}" == *"-state_slot"* ]] - then - CONTROLLERCONFIG="${CONTROLLERCONFIG%% -state_slot*}" # until -state is found - SNAPSHOT="${ARGUMENTS#*-state_slot *}" # -state_slot x - SNAPSHOT="${SNAPSHOT%% -*}" - if [[ "${ARGUMENTS}" == *"-autosave"* ]]; then - CONTROLLERCONFIG="${CONTROLLERCONFIG%% -autosave*}" # until -autosave is found - AUTOSAVE="${ARGUMENTS#*-autosave *}" # -autosave x - AUTOSAVE="${AUTOSAVE%% -*}" - else - AUTOSAVE="" - fi - else - CONTROLLERCONFIG="${CONTROLLERCONFIG%% --*}" # until a -- is found - SNAPSHOT="" - AUTOSAVE="" - fi - - # Configure platform specific requirements - case ${PLATFORM} in - "atomiswave") - rm ${ROMNAME}.nvmem* - ;; - "scummvm") - GAMEDIR=$(cat "${ROMNAME}" | awk 'BEGIN {FS="\""}; {print $2}') - cd "${GAMEDIR}" - RUNTHIS='${RUN_SHELL} /usr/bin/start_scummvm.sh libretro .' - ;; - esac - - ### Configure retroarch - if [ -e "${SET_SETTINGS_TMP}" ] - then - rm -f "${SET_SETTINGS_TMP}" - fi - ${VERBOSE} && log $0 "Execute setsettings (${PLATFORM} ${ROMNAME} ${CORE} --controllers=${CONTROLLERCONFIG} --autosave=${AUTOSAVE} --snapshot=${SNAPSHOT})" - (/usr/bin/setsettings.sh "${PLATFORM}" "${ROMNAME}" "${CORE}" --controllers="${CONTROLLERCONFIG}" --autosave="${AUTOSAVE}" --snapshot="${SNAPSHOT}" >${SET_SETTINGS_TMP}) - - ### If setsettings wrote data in the background, grab it and assign it to EXTRAOPTS - if [ -e "${SET_SETTINGS_TMP}" ] - then - EXTRAOPTS=$(cat ${SET_SETTINGS_TMP}) - rm -f ${SET_SETTINGS_TMP} - ${VERBOSE} && log $0 "Extra Options: ${EXTRAOPTS}" - fi - - if [[ ${EXTRAOPTS} != 0 ]]; then - RUNTHIS=$(echo ${RUNTHIS} | sed "s|--config|${EXTRAOPTS} --config|") - fi - ;; - *) - case ${PLATFORM} in - "setup") - RUNTHIS='${RUN_SHELL} "${ROMNAME}"' - ;; - "gamecube") - RUNTHIS='${RUN_SHELL} /usr/bin/start_dolphin_gc.sh "${ROMNAME}"' - ;; - "wii") - RUNTHIS='${RUN_SHELL} /usr/bin/start_dolphin_wii.sh "${ROMNAME}"' - ;; - "ports") - RUNTHIS='${RUN_SHELL} "${ROMNAME}"' - sed -i "/^ACTIVE_GAME=/c\ACTIVE_GAME=\"${ROMNAME}\"" /storage/.config/PortMaster/mapper.txt - ;; - "shell") - RUNTHIS='${RUN_SHELL} "${ROMNAME}"' - ;; - *) - RUNTHIS='${RUN_SHELL} "start_${CORE%-*}.sh" "${ROMNAME}"' - ;; - esac - ;; -esac - -### Execution time. -clear_screen -${VERBOSE} && log $0 "executing game: ${ROMNAME}" -${VERBOSE} && log $0 "script to execute: ${RUNTHIS}" - -### Set the cores to use -CORES=$(get_setting "cores" "${PLATFORM}" "${ROMNAME##*/}") -${VERBOSE} && log $0 "Configure big.little (${CORES})" -case ${CORES} in - little) - EMUPERF="${SLOW_CORES}" - ;; - big) - EMUPERF="${FAST_CORES}" - ;; - *) - unset EMUPERF - ;; -esac - -### We need the original system cooling profile later so get it now! -COOLINGPROFILE=$(get_setting cooling.profile) - -### Set CPU TDP and EPP -CPU_VENDOR=$(cpu_vendor) -case ${CPU_VENDOR} in - AuthenticAMD) - ### Set the overclock mode - OVERCLOCK=$(get_setting "overclock" "${PLATFORM}" "${ROMNAME##*/}") - if [ ! -z "${OVERCLOCK}" ] - then - ${VERBOSE} && log $0 "Set TDP to (${OVERCLOCK})" - /usr/bin/overclock ${OVERCLOCK} - fi - ;; -esac - -### Apply energy performance preference -if [ -e "/usr/bin/set_epp" ] -then - EPP=$(get_setting "power.epp" "${PLATFORM}" "${ROMNAME##*/}") - if [ ! -z ${EPP} ] - then - ${VERBOSE} && log $0 "Set EPP to (${EPP})" - /usr/bin/set_epp ${EPP} - fi -fi - -### Configure GPU performance mode -GPUPERF=$(get_setting "gpuperf" "${PLATFORM}" "${ROMNAME##*/}") -if [ ! -z ${GPUPERF} ] -then - ${VERBOSE} && log $0 "Set GPU performance to (${GPUPERF})" - gpu_performance_level ${GPUPERF} - get_gpu_performance_level >/tmp/.gpu_performance_level -fi - -if [ "${DEVICE_HAS_FAN}" = "true" ] -then - ### Set any custom fan profile (make this better!) - GAMEFAN=$(get_setting "cooling.profile" "${PLATFORM}" "${ROMNAME##*/}") - if [ ! -z "${GAMEFAN}" ] - then - ${VERBOSE} && log $0 "Set fan profile to (${GAMEFAN})" - set_setting cooling.profile ${GAMEFAN} - systemctl restart fancontrol - fi -fi - -### Offline all but the number of threads we need for this game if configured. -NUMTHREADS=$(get_setting "threads" "${PLATFORM}" "${ROMNAME##*/}") -if [ -n "${NUMTHREADS}" ] && - [ ! ${NUMTHREADS} = "default" ] -then - ${VERBOSE} && log $0 "Configure active cores (${NUMTHREADS})" - onlinethreads ${NUMTHREADS} 0 -fi - -### Set the performance mode for emulation -PERFORMANCE_MODE=$(get_setting "cpugovernor" "${PLATFORM}" "${ROMNAME##*/}") -${VERBOSE} && log $0 "Set emulation performance mode to (${PERFORMANCE_MODE})" -${PERFORMANCE_MODE} - -# If the rom is a shell script just execute it, useful for DOSBOX and ScummVM scan scripts -if [[ "${ROMNAME}" == *".sh" ]]; then - ${VERBOSE} && log $0 "Executing shell script ${ROMNAME}" - "${ROMNAME}" &>>${OUTPUT_LOG} - ret_error=$? -else - ${VERBOSE} && log $0 "Executing $(eval echo ${RUNTHIS})" - eval ${RUNTHIS} &>>${OUTPUT_LOG} - ret_error=$? -fi - -### Switch back to performance mode to clean up -performance - -clear_screen - -### Restore cooling profile. -if [ "${DEVICE_HAS_FAN}" = "true" ] -then - ${VERBOSE} && log $0 "Restore system cooling profile (${COOLINGPROFILE})" - set_setting cooling.profile ${COOLINGPROFILE} - systemctl restart fancontrol & -fi - -### Restore system GPU performance mode -GPUPERF=$(get_setting "system.gpuperf") -if [ ! -z ${GPUPERF} ] -then - ${VERBOSE} && log $0 "Restore system GPU performance mode (${GPUPERF})" - gpu_performance_level ${GPUPERF} & -else - ${VERBOSE} && log $0 "Restore system GPU performance mode (auto)" - gpu_performance_level auto & -fi -rm -f /tmp/.gpu_performance_level 2>/dev/null - -### Restore system EPP -EPP=$(get_setting "system.power.epp") -if [ ! -z ${EPP} ] -then - ${VERBOSE} && log $0 "Restore system EPP (${EPP})" - /usr/bin/set_epp ${EPP} & -fi - -### Restore system TDP -OVERCLOCK=$(get_setting "system.overclock") -if [ ! -z "${OVERCLOCK}" ] -then - ${VERBOSE} && log $0 "Restore system TDP (${OVERCLOCK})" - /usr/bin/overclock ${OVERCLOCK} & -fi - -### Reset the number of cores to use. -NUMTHREADS=$(get_setting "system.threads") -${VERBOSE} && log $0 "Restore active threads (${NUMTHREADS})" -if [ -n "${NUMTHREADS}" ] -then - onlinethreads ${NUMTHREADS} 0 & -else - onlinethreads all 1 & -fi - -### Backup save games -CLOUD_BACKUP=$(get_setting "cloud.backup") -if [ "${CLOUD_BACKUP}" = "1" ] -then - INETUP=$(/usr/bin/amionline >/dev/null 2>&1) - if [ $? == 0 ] - then - log $0 "backup saves to the cloud." - /usr/bin/run /usr/bin/cloud_backup - fi -fi - -${VERBOSE} && log $0 "Checking errors: ${ret_error} " -if [ "${ret_error}" == "0" ] -then - quit 0 -else - log $0 "exiting with ${ret_error}" - quit 1 -fi diff --git a/packages/jelos/sources/scripts/say b/packages/jelos/sources/scripts/say deleted file mode 100755 index 9e4a0a641..000000000 --- a/packages/jelos/sources/scripts/say +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -AUDIOTEST=$(ps -ef | grep [p]ipewire) -if [ ! $? = 0 ] -then - PLAYCMD="aplay -q" -else - PLAYCMD="paplay" -fi - -case $1 in - -b) - espeak --stdout "$(battery_percent)%" | ${PLAYCMD} - ;; - *) - espeak --stdout "$*" | ${PLAYCMD} - ;; -esac diff --git a/packages/jelos/sources/scripts/setemu.sh b/packages/jelos/sources/scripts/setemu.sh deleted file mode 100755 index 405aad50b..000000000 --- a/packages/jelos/sources/scripts/setemu.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2019-present Shanti Gilbert (https://github.com/shantigilbert) - -## workaround for ES performance with big conf files -## This is no longer in use! - -EE_CONF="/storage/.config/system/configs/emuoptions.conf" - -[ ! -f ${EE_CONF} ] && touch ${EE_CONF} - -case "$1" in -"set") - PAT=$(echo "$2" | sed -e 's|\"|\\"|g' | sed -e 's|\[|\\\[|g' | sed -e 's|\]|\\\]|g') - sed -i "/$PAT/d" "${EE_CONF}" - S2=${2} - S3=${3} - shift 2 - if [ "${S3}" != "auto" ]; then - [ ${S3} == "disable" ] && echo "#${S2}=" >> "${EE_CONF}" || echo "${S2}=${@}" >> "${EE_CONF}" - fi - ;; -"get") - PAT=$(echo ${2} | sed -e 's|\"|\\"|g' | sed -e 's|\[|\\\[|g' | sed -e 's|\]|\\\]|g' | sed -e 's|(|\\\(|g' | sed -e 's|)|\\\)|g') - PAT="^${PAT}=(.*)" - EES=$(cat "${EE_CONF}" | grep -oE "${PAT}") - echo "${EES##*=}" - ;; -esac diff --git a/packages/jelos/sources/scripts/setrootpass b/packages/jelos/sources/scripts/setrootpass deleted file mode 100755 index 9f063a346..000000000 --- a/packages/jelos/sources/scripts/setrootpass +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -ROOTPASS="$1" - -LPC=$(awk -F: '/^root/{print $3}' /storage/.cache/shadow) -CURRENT=$(awk -F: '/^root/{print $2}' /storage/.cache/shadow) - -# Turn it into a usable hash -NEW=$(cryptpw -m sha512 "${ROOTPASS}" 2>/dev/null) - -# Set the root password. -sed -i "s#root:${CURRENT}:${LPC}::::::#root:${NEW}:${LPC}::::::#g" /storage/.cache/shadow 2>/dev/null - -# Create a root user and set the password. -echo -ne "${ROOTPASS}\n${ROOTPASS}\n" | smbpasswd -sa root 2>/dev/null - -# Set the root user and password for SyncThing -syncthing generate --gui-user "root" --gui-password "${ROOTPASS}" >/dev/null 2>&1 - -# Save the password so we can display it in ES -set_setting root.password "${ROOTPASS}" - -# Restart syncthing if it was enabled. -SYNCSTATUS=$(get_setting syncthing.enabled) -SYNCACTIVE=$(systemctl status syncthing | awk '/active/ {print $2}') -if [ "${SYNCSTATUS}" = "1" ] && - [ "${SYNCACTIVE}" = "active" ] -then - systemctl restart syncthing >/dev/null 2>&1 -fi - -# Restart simple-http-server if it is enabled -SIMPLESTATUS=$(get_setting simplehttp.enabled) -SIMPLEACTIVE=$(systemctl status simple-http-server | awk '/active/ {print $2}') -if [ "${SIMPLESTATUS}" = "1" ] && - [ "${SIMPLEACTIVE}" = "active" ] -then - systemctl restart simple-http-server >/dev/null 2>&1 -fi - diff --git a/packages/jelos/sources/scripts/setsettings.sh b/packages/jelos/sources/scripts/setsettings.sh deleted file mode 100755 index c0df1af9c..000000000 --- a/packages/jelos/sources/scripts/setsettings.sh +++ /dev/null @@ -1,1109 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -### -### System configuration variables -### - -SYSTEM_CONFIG="/storage/.config/system/configs/system.cfg" -RETROARCH_PATH="/storage/.config/retroarch" -RETROARCH_CONFIG="${RETROARCH_PATH}/retroarch.cfg" -RETROARCH_TEMPLATE="/usr/config/retroarch/retroarch.cfg" - -ROMS_DIR="/storage/roms" -SNAPSHOTS="${ROMS_DIR}/savestates" - -TMP_CONFIG="/tmp/.retroarch.cfg" -LOG_DIR="/var/log" -LOG_FILE="exec.log" -LOCK_FILE="/tmp/.retroarch.lock" - -### -### Variables parsed from the command line -### - -PLATFORM=${1,,} -ROM="${2##*/}" -CORE=${3,,} - - -#Autosave -AUTOSAVE="$@" -AUTOSAVE="${AUTOSAVE#*-autosave=*}" -AUTOSAVE="${AUTOSAVE% --*}" - -#Snapshot -SNAPSHOT="$@" -SNAPSHOT="${SNAPSHOT#*--snapshot=*}" - -#Controllers -CONTROLLERS="$@" -CONTROLLERS="${CONTROLLERS#*--controllers=*}" - -### -### Arrays containing various supported/non-supported attributes. -### - -declare -a HAS_CHEEVOS=( arcade - atari2600 - atari7800 - atarilynx - cdi - colecovision - cps1 - cps2 - cps3 - dreamcast - famicom - fbn - fds - gamegear - gb - gba - gbah - gbc - gbch - gbh - genesis - genh - ggh - intellivision - mastersystem - megacd - megadrive - megadrive-japan - msx - msx2 - n64 - neogeo - neogeocd - nes - nesh - ngp - ngpc - odyssey2 - pcengine - pcenginecd - pcfx - pokemini - psp - psx - sega32x - segacd - sfc - sg-1000 - snes - snesh - snesmsu1 - supergrafx - supervision - tg16 - tg16cd - vectrex - virtualboy - wonderswan - wonderswancolor -) - -declare -a NO_REWIND=( atomiswave - dreamcast - mame - n64 - naomi - neogeocd - odyssey2 - psp - pspminis - saturn - sega32x - zxspectrum -) - -declare -a NO_RUNAHEAD=( atomiswave - dreamcast - n64 - naomi - neogeocd - psp - saturn - sega32x -) - -declare -a NO_ANALOG=( dreamcast - gc - n64 - nds - ps2 - psp - pspminis - psx - wii - wonderswan - wonderswancolor -) - -declare -a IS_32BIT=( gpsp - pcsx_rearmed -) - -declare -a CORE_RATIOS=( 4/3 - 16/9 - 16/10 - 16/15 - 21/9 - 1/1 - 2/1 - 3/2 - 3/4 - 4/1 - 9/16 - 5/4 - 6/5 - 7/9 - 8/3 - 8/7 - 19/12 - 19/14 - 30/17 - 32/9 - config - squarepixel - core - custom - full -) - -declare -a LANG_CODES=( ["false"]="0" - ["En"]="1" - ["Fr"]="3" - ["Pt"]="49" - ["De"]="5" - ["El"]="30" - ["Es"]="2" - ["Cs"]="8" - ["Da"]="9" - ["Hr"]="11" - ["Hu"]="35" - ["It"]="4" - ["Ja"]="6" - ["Ko"]="12" - ["Nl"]="7" - ["Nn"]="46" - ["Po"]="48" - ["Ro"]="50" - ["Ru"]="51" - ["Sv"]="10" - ["Tr"]="59" - ["Zh"]="13" -) - -### -### Fetch common settings -### - -LOGGING=$(get_setting system.loglevel) -if [ -z "${LOGGING}" ] -then - LOGGING="none" -fi - -### -### Set up -### - -### Create log directory if it doesn't exist -if [ ! -d "${LOG_DIR}" ] -then - mkdir -p ${LOG_DIR} -fi - -if [ -e "${LOCK_FILE}" ] -then - rm -f "${LOCK_FILE}" -fi - -### Clean up temp files -for FILE in ${TMP_CONFIG} ${TMP_CONFIG}.sed -do - if [ -f "${FILE}" ] - then - rm -f "${FILE}" - fi -done - -### -### Core functions -### - -function log() { - if [ ${LOGGING} = "verbose" ] - then - echo "$(printf '%(%c)T\n' -1): setsettings: $*" >> ${LOG_DIR}/${LOG_FILE} 2>&1 - fi -} - -function cleanup() { - log "Work complete" - sync - exit -} - -function game_setting() { - if [ -n "${1}" ] - then - SETTING=$(get_setting "${1}" "${PLATFORM}" "${ROM}") - log "Fetch \"${1}\" \"${PLATFORM}\" \"${ROM}\"] (${SETTING})" - echo ${SETTING} - fi -} - -function clear_setting() { - log "Remove setting [${1}]" - if [ ! -f "${TMP_CONFIG}.sed" ] - then - echo -n 'sed -i "/^'${1}'/d;' >${TMP_CONFIG}.sed - else - echo -n ' /^'${1}'/d;' >>${TMP_CONFIG}.sed - fi -} - -function flush_settings() { - echo -n '" '${RETROARCH_CONFIG}' >/dev/null 2>&1' >>${TMP_CONFIG}.sed - chmod 0755 ${TMP_CONFIG}.sed - ${TMP_CONFIG}.sed >/dev/null 2>&1 ||: - rm -f ${TMP_CONFIG}.sed -} - -function add_setting() { - if [ ! "${1}" = "none" ] - then - local OS_SETTING="$(game_setting ${1})" - fi - local RETROARCH_KEY="${2}" - local RETROARCH_VALUE="${3}" - if [ -z "${RETROARCH_VALUE}" ]& \ - [ ! "${1}" = "none" ] - then - RETROARCH_VALUE="${OS_SETTING}" - fi - clear_setting "${RETROARCH_KEY}" - echo "${RETROARCH_KEY} = \"${RETROARCH_VALUE}\"" >>${TMP_CONFIG} - log "Added setting: ${RETROARCH_KEY} = \"${RETROARCH_VALUE}\"" -} - -function match() { - local seek="${1}" - shift - local myarray=(${@}) - if [[ "${myarray[*]}" =~ ${seek} ]] - then - local MATCH="1" - else - local MATCH="0" - fi - log "Match: [${seek}] [${MATCH}] (${myarray[*]})" - echo ${MATCH} -} - -### -### Game data functions -### - -### Configure retroarch paths -function set_retroarch_paths() { - for RPATH in assets_directory cache_directory \ - cheat_database_path content_database_path \ - content_database_path joypad_autoconfig_dir \ - libretro_directory libretro_info_path \ - overlay_directory video_shader_dir - do - clear_setting "${RPATH}" - done - flush_settings - cat <>${RETROARCH_CONFIG} -assets_directory = "/tmp/assets" -cache_directory = "/tmp/cache" -cheat_database_path = "/tmp/database/cht" -content_database_path = "/tmp/database/rdb" -joypad_autoconfig_dir = "/tmp/joypads" -libretro_directory = "/tmp/cores" -libretro_info_path = "/tmp/cores" -overlay_directory = "/tmp/overlays" -video_shader_dir = "/tmp/shaders" -EOF -} - -### Configure retroarch hotkeys -function configure_hotkeys() { - log "Configure hotkeys..." - local MY_CONTROLLER=$(grep -b4 js0 /proc/bus/input/devices | awk 'BEGIN {FS="\""}; /Name/ {printf $2}') - - ### Remove any input settings retroarch may have added. - sed -i '/input_player[0-9]/d' ${RETROARCH_CONFIG} - - if [ "$(get_setting system.autohotkeys)" == "1" ] - then - if [ -e "/tmp/joypads/${MY_CONTROLLER}.cfg" ] - then - cp /tmp/joypads/"${MY_CONTROLLER}.cfg" /tmp - sed -i "s# = #=#g" /tmp/"${MY_CONTROLLER}.cfg" - source /tmp/"${MY_CONTROLLER}.cfg" - for HKEYSETTING in input_enable_hotkey_btn input_bind_hold \ - input_exit_emulator_btn input_fps_toggle_btn \ - input_menu_toggle_btn input_save_state_btn \ - input_load_state_btn input_toggle_fast_forward_btn \ - input_toggle_fast_forward_axis input_rewind_axis \ - input_rewind_btn - do - clear_setting "${HKEYSETTING}" - done - flush_settings - if [ -z ${input_enable_hotkey_btn+x} ] - then - echo 'input_enable_hotkey_btn = '\"${input_select_btn}\" >>${RETROARCH_CONFIG} - else - echo 'input_enable_hotkey_btn = '\"${input_enable_hotkey_btn}\" >>${RETROARCH_CONFIG} - fi - cat <>${RETROARCH_CONFIG} -input_bind_hold = "${input_select_btn}" -input_exit_emulator_btn = "${input_start_btn}" -input_fps_toggle_btn = "${input_y_btn}" -input_menu_toggle_btn = "${input_x_btn}" -input_save_state_btn = "${input_r_btn}" -input_load_state_btn = "${input_l_btn}" -EOF - if [ -n "${input_r2_btn}" ] && \ - [ -n "${input_l2_btn}" ] - then - cat <>${RETROARCH_CONFIG} -input_toggle_fast_forward_axis = "nul" -input_toggle_fast_forward_btn = "${input_r2_btn}" -input_rewind_axis = "nul" -input_rewind_btn = "${input_l2_btn}" -EOF - elif [ -n "${input_r2_axis}" ] && \ - [ -n "${input_l2_axis}" ] - then - cat <>${RETROARCH_CONFIG} -input_toggle_fast_forward_axis = "${input_r2_axis}" -input_toggle_fast_forward_btn = "nul" -input_rewind_axis = "${input_l2_axis}" -input_rewind_btn = "nul" -EOF - fi - rm -f /tmp/"${MY_CONTROLLER}.cfg" - fi - fi -} - -function set_ra_menudriver() { - add_setting "retroarch.menu_driver" "menu_driver" - local MENU_DRIVER=$(game_setting retroarch.menu_driver) - case ${MENU_DRIVER} in - rgui) - add_setting "none" "menu_linear_filter" "true" - ;; - esac -} - -function set_fps() { - add_setting "showFPS" "fps_show" -} - -function set_config_save() { - add_setting "config_save_on_exit" "false" -} - -function set_cheevos() { - local USE_CHEEVOS=$(game_setting "retroachievements") - local CHECK_CHEEVOS="$(match "${PLATFORM}" "${HAS_CHEEVOS[@]}")" - if [ "${USE_CHEEVOS}" = 1 ] && \ - [ "${CHECK_CHEEVOS}" = 1 ] - then - add_setting "none" "cheevos_enable" "true" - add_setting "retroachievements.username" "cheevos_username" - add_setting "retroachievements.password" "cheevos_password" - add_setting "retroachievements.hardcore" "cheevos_hardcore_mode_enable" - add_setting "retroachievements.leaderboards" "cheevos_leaderboards_enable" - add_setting "retroachievements.verbose" "cheevos_verbose_enable" - add_setting "retroachievements.screenshot" "cheevos_auto_screenshot" - add_setting "retroachievements.richpresence" "cheevos_richpresence_enable" - add_setting "retroachievements.challengeindicators" "cheevos_challenge_indicators" - add_setting "retroachievements.testunofficial" "cheevos_test_unofficial" - add_setting "retroachievements.badges" "cheevos_badges_enable" - add_setting "retroachievements.active" "cheevos_start_active" - add_setting "retroachievements.soundenable" "cheevos_unlock_sound_enable" - else - add_setting "none" "cheevos_enable" "false" - fi -} - -function set_netplay() { - USE_NETPLAY=$(game_setting "netplay") - if [ "${USE_NETPLAY}" = 1 ] - then - add_setting "none" "savestate_auto_load" "false" - add_setting "none" "savestate_auto_save" "false" - add_setting "retroachievements.hardcore" "cheevos_hardcore_mode_enable" "false" - add_setting "global.netplay.nickname" "netplay_nickname" - add_setting "global.netplay.password" "netplay_password" - add_setting "netplay_public_announce" "netplay_public_announce" - local NETPLAY_MODE=$(game_setting "netplay.mode") - local NETPLAY_PORT=$(game_setting "global.netplay.port") - case ${NETPLAY_MODE} in - host) - add_setting "none" "netplay_mode" "false" - add_setting "none" "netplay_client_swap_input" "false" - add_setting "global.netplay.port" "netplay_ip_port" "${NETPLAY_PORT}" - case ${CORE} in - gambatte) - log "Configuring gameboy link server." - if [ ! -d "${RETROARCH_PATH}/config/Gambatte" ] - then - mkdir -p "${RETROARCH_PATH}/config/Gambatte" - fi - local GAMBATTE_CONF="${RETROARCH_PATH}/config/Gambatte/Gambatte.opt" - ### Rework this to use add_setting and be configurable in ES. - sed -i '/gambatte_gb_link_mode/d; \ - /gambatte_gb_link_network_port/d' ${GAMBATTE_CONF} - cat <>${GAMBATTE_CONF} -gambatte_gb_link_mode = "Network Server" -gambatte_gb_link_network_port = "$(( ${NETPLAY_PORT} + 1 ))" -EOF - ;; - tgbdual) - log "Configuring tgbdual for network play" - if [ ! -d "${RETROARCH_PATH}/config/TGB Dual" ] - then - mkdir -p "${RETROARCH_PATH}/config/TGB Dual" - fi - local TGBDUAL_CONF="${RETROARCH_PATH}/config/TGB Dual/TGB Dual.opt" - sed -i '/tgbdual_gblink_enable/d; \ - /tgbdual_single_screen_mp/d; \ - /tgbdual_switch_screens/d; \ - /tgbdual_audio_output/d' "${TGBDUAL_CONF}" - cat <>"${TGBDUAL_CONF}" -tgbdual_gblink_enable = "enabled" -tgbdual_single_screen_mp = "player 1 only" -tgbdual_switch_screens = "normal" -tgbdual_audio_output = "Game Boy #1" -EOF - echo -n " --host" - ;; - genesis_plus_gx) - log "Configure genesis_plus_gx 4 way play." - add_setting "none" "input_libretro_device_p2" "1025" - echo -n " --host" - ;; - - snes9x) - log "Configure snes9x multitap." - add_setting "none" "input_libretro_device_p2" "257" - echo -n " --host" - ;; - *) - echo -n " --host" - ;; - esac - ;; - client) - local NETPLAY_HOST_IP=$(get_setting global.netplay.host) - add_setting "global.netplay.port" "${NETPLAY_PORT}" - if [ ! -z "${NETPLAY_HOST_IP}" ] - then - add_setting "none" "netplay_ip_address" "${NETPLAY_HOST_IP}" - case ${CORE} in - gambatte) - log "Configuring gameboy link client." - if [ ! -d "${RETROARCH_PATH}/config/Gambatte" ] - then - mkdir -p "${RETROARCH_PATH}/config/Gambatte" - fi - add_setting "none" "netplay_mode" "false" - add_setting "none" "netplay_client_swap_input" "false" - local GAMBATTE_CONF="${RETROARCH_PATH}/config/Gambatte/Gambatte.opt" - sed -i '/gambatte_gb_link_mode/d; \ - /gambatte_gb_link_network_port/d' ${GAMBATTE_CONF} - cat <>${GAMBATTE_CONF} -gambatte_gb_link_mode = "Network Client" -gambatte_gb_link_network_port = "$(( ${NETPLAY_PORT} + 1 ))" -EOF - - sed -i '/gambatte_gb_link_network_server_ip_/d' ${GAMBATTE_CONF} - - local IPARRAY=(${NETPLAY_HOST_IP//./ }) - for ELEM in ${IPARRAY[*]} - do - ADDR="${ADDR}$(printf "%03d" "${ELEM}")" - done - - local COUNT=1 - for (( i=0; i<${#ADDR}; i++ )); - do - cat <>${GAMBATTE_CONF} -gambatte_gb_link_network_server_ip_${COUNT} = "${ADDR:$i:1}" -EOF - COUNT=$(( ${COUNT} + 1 )) - done - ;; - tgbdual) - log "Configuring tgbdual for network play" - if [ ! -d "${RETROARCH_PATH}/config/TGB Dual" ] - then - mkdir -p "${RETROARCH_PATH}/config/TGB Dual" - fi - local TGBDUAL_CONF="${RETROARCH_PATH}/config/TGB Dual/TGB Dual.opt" - local PLAYER=$(get_setting wifi.adhoc.id) - if [ -z "${PLAYER}" ] - then - PLAYER=2 - fi - sed -i '/tgbdual_gblink_enable/d; \ - /tgbdual_single_screen_mp/d; \ - /tgbdual_switch_screens/d; \ - /tgbdual_audio_output/d' "${TGBDUAL_CONF}" - cat <"${TGBDUAL_CONF}" -tgbdual_gblink_enable = "enabled" -tgbdual_single_screen_mp = "player ${PLAYER} only" -tgbdual_switch_screens = "normal" -tgbdual_audio_output = "Game Boy #${PLAYER}" -EOF - add_setting "none" "netplay_mode" "true" - add_setting "none" "netplay_client_swap_input" "true" - echo -n " --connect ${NETPLAY_HOST_IP}" - ;; - *) - add_setting "none" "netplay_mode" "true" - add_setting "none" "netplay_client_swap_input" "true" - echo -n " --connect ${NETPLAY_HOST_IP}" - ;; - esac - fi - ;; - esac - local NETPLAY_RELAY=$(game_setting global.netplay.relay) - if [ -n "${NETPLAY_RELAY}" ] - then - case $(NETPLAY_RELAY) in - none|false|0) - add_setting "none" "netplay_use_mitm_server" "false" - ;; - *) - add_setting "none" "netplay_use_mitm_server" "true" - add_setting "none" "netplay_mitm_server" "${NETPLAY_RELAY}" - ;; - esac - else - add_setting "none" "netplay_use_mitm_server" "false" - fi - else - add_setting "none" "netplay" "false" - fi -} - -function set_translation() { - local USE_AI_SERVICE="$(game_setting ai_service_enabled)" - case ${USE_AI_SERVICE} in - 0|false|none) - add_setting "none" "ai_service_enable" "false" - ;; - *) - add_setting "none" "ai_service_enable" "true" - local AI_LANG="$(game_setting ai_target_lang)" - local AI_URL="$(game_setting ai_service_url)" - case ${AI_URL} in - 0|false|none) - add_setting "none" "ai_service_url" "http://ztranslate.net/service?api_key=BATOCERA&mode=Fast&output=png&target_lang=${AI_LANG}" - ;; - *) - add_setting "none" "ai_service_url" "${AI_URL}&mode=Fast&output=png&target_lang=${AI_LANG}" - ;; - esac - ;; - esac -} - -function set_aspectratio() { - local ASPECT_RATIO="$(game_setting ratio)" - case ${ASPECT_RATIO} in - 0|false|none) - add_setting "none" "aspect_ratio_index" "22" - ;; - *) - for AR in ${!CORE_RATIOS[@]} - do - if [ "${CORE_RATIOS[${AR}]}" = "${ASPECT_RATIO}" ] - then - add_setting "none" "aspect_ratio_index" "${AR}" - break - fi - done - ;; - esac -# add_setting "positionx" "custom_viewport_x" -# add_setting "positiony" "custom_viewport_y" -# add_setting "width" "custom_viewport_width" -# add_setting "height" "custom_viewport_height" - add_setting "rotation" "video_rotation" -} - -function set_filtering() { - add_setting "smooth" "video_smooth" -} - -function set_integerscale() { - add_setting "integerscale" "video_scale_integer" - add_setting "integerscaleoverscale" "video_scale_integer_overscale" -} - -function set_rgascale() { - add_setting "rgascale" "video_ctx_scaling" -} - -function set_shader() { - local SHADER="$(game_setting shaderset)" - case ${SHADER} in - 0|false|none) - add_setting "none" "video_shader_enable" "false" - ;; - *) - add_setting "none" "video_shader_enable" "true" - add_setting "none" "video_shader" "${SHADER}" - echo -n " --set-shader /tmp/shaders/${SHADER}" - ;; - esac -} - -function set_filter() { - local FILTER="$(game_setting filterset)" - case ${FILTER} in - 0|false|none) - add_setting "none" "video_filter" "" - ;; - *) - local FILTER_PATH="/usr/share/retroarch/filters" - add_setting "none" "video_ctx_scaling" "false" - local CHECK_BITNESS="$(match ${CORE} ${IS_32BIT[@]})" - if [ "${CHECK_BITNESS}" = 1 ] - then - BITS="32" - else - BITS="64" - fi - add_setting "none" "video_filter" "${FILTER_PATH}/${BITS}bit/video/${FILTER}" - add_setting "none" "video_filter_dir" "${FILTER_PATH}/${BITS}bit/video/" - add_setting "none" "audio_filter_dir" "${FILTER_PATH}/${BITS}bit/audio" - ;; - esac -} - -function set_overlay() { - local OVERLAY="$(game_setting overlayset)" - case ${OVERLAY} in - 0|false|none) - add_setting "none" "input_overlay_enable" "false" - add_setting "none" "input_overlay" "" - ;; - *) - local OVERLAY_PATH="/storage/overlays" - add_setting "none" "input_overlay_enable" "true" - add_setting "none" "input_overlay" "${OVERLAY_PATH}/${OVERLAY}" - ;; - esac -} - -function set_rewind() { - local REWIND="$(game_setting rewind)" - case ${REWIND} in - 1) - case $(match ${PLATFORM} ${NO_REWIND[@]}) in - 0) - add_setting "none" "rewind_enable" "true" - ;; - *) - add_setting "none" "rewind_enable" "false" - ;; - esac - ;; - *) - add_setting "none" "rewind_enable" "false" - ;; - esac -} - -function set_savestates() { - local SAVESTATES="$(game_setting incrementalsavestates)" - local MAXINCREMENTALSAVES="$(game_setting maxincrementalsaves)" - case ${SAVESTATES} in - 0|false|none) - add_setting "none" "savestate_auto_index" "false" - ;; - *) - add_setting "none" "savestate_auto_index" "true" - ;; - esac - add_setting "none" "savestate_max_keep" "${MAXINCREMENTALSAVES}" -} - -function set_autosave() { - local SETAUTOSAVE=false - - # argument overrides user setting - case ${AUTOSAVE} in - 0) - SETAUTOSAVE=false - ;; - 1) - SETAUTOSAVE=true - ;; - *) - local AUTOSAVE_SETTING="$(game_setting autosave)" - case ${AUTOSAVE_SETTING} in - [1-3]) - SETAUTOSAVE=true - ;; - esac - ;; - esac - - add_setting "none" "savestate_directory" "${SNAPSHOTS}/${PLATFORM}" - if [ ! -d "${SNAPSHOTS}/${PLATFORM}" ] - then - mkdir "${SNAPSHOTS}/${PLATFORM}" - fi - - if [ ! -z "${SNAPSHOT}" ] - then - add_setting "none" "state_slot" "${SNAPSHOT}" - fi - - add_setting "none" "savestate_auto_load" "${SETAUTOSAVE}" - add_setting "none" "savestate_auto_save" "${SETAUTOSAVE}" -} - -function set_runahead() { - local RUNAHEAD="$(game_setting runahead)" - local HAS_RUNAHEAD="$(match ${PLATFORM} ${NO_RUNAHEAD[@]})" - case ${HAS_RUNAHEAD} in - 1) - add_setting "none" "run_ahead_enabled" "false" - add_setting "none" "run_ahead_frames" "0" - ;; - *) - if [ "${RUNAHEAD}" -gt 0 ] - then - add_setting "none" "run_ahead_enabled" "true" - add_setting "none" "run_ahead_frames" "${RUNAHEAD}" - add_setting "secondinstance" "run_ahead_secondary_instance" - else - add_setting "none" "run_ahead_enabled" "false" - add_setting "none" "run_ahead_frames" "0" - fi - ;; - esac -} - -function set_audiolatency() { - add_setting "audiolatency" "audio_latency" -} - -function set_analogsupport() { - local HAS_ANALOG="$(match ${PLATFORM} ${NO_ANALOG[@]})" - case ${HAS_ANALOG} in - 1) - add_setting "none" "input_player1_analog_dpad_mode" "0" - ;; - *) - add_setting "analogue" "input_player1_analog_dpad_mode" "1" - ;; - esac -} - -function set_tatemode() { - log "Setup tate mode..." - if [ "${CORE}" = "mame2003_plus" ] - then - local TATEMODE="$(game_setting tatemode)" - local MAME2003DIR="${RETROARCH_PATH}/config/MAME 2003-Plus" - local MAME2003REMAPDIR="/storage/remappings/MAME 2003-Plus" - if [ ! -d "${MAME2003DIR}" ] - then - mkdir -p "${MAME2003DIR}" - fi - if [ ! -d "${MAME2003REMAPDIR}" ] - then - mkdir -p "${MAME2003REMAPDIR}" - fi - case ${TATEMODE} in - 1|true) - cp "/usr/config/retroarch/TATE-MAME 2003-Plus.rmp" "${MAME2003REMAPDIR}/MAME 2003-Plus.rmp" - if [ "$(grep mame2003-plus_tate_mode "${MAME2003DIR}/MAME 2003-Plus.opt" > /dev/null 2>&1)" ] - then - sed -i 's#mame2003-plus_tate_mode.*$#mame2003-plus_tate_mode = "enabled"#' "${MAME2003DIR}/MAME 2003-Plus.opt" 2>/dev/null - else - echo 'mame2003-plus_tate_mode = "enabled"' > "${MAME2003DIR}/MAME 2003-Plus.opt" - fi - ;; - *) - if [ -e "${MAME2003DIR}/MAME 2003-Plus.opt" ] - then - sed -i 's#mame2003-plus_tate_mode.*$#mame2003-plus_tate_mode = "disabled"#' "${MAME2003DIR}/MAME 2003-Plus.opt" 2>/dev/null - fi - if [ -e "${MAME2003REMAPDIR}/MAME 2003-Plus.rmp" ] - then - rm -f "${MAME2003REMAPDIR}/MAME 2003-Plus.rmp" - fi - ;; - esac - fi -} - -function set_n64opts() { - log "Set up N64..." - if [ "${CORE}" = "parallel_n64" ] - then - local PARALLELN64DIR="${RETROARCH_PATH}/config/ParaLLEl N64" - if [ ! -d "${PARALLELN64DIR}" ] - then - mkdir -p "${PARALLELN64DIR}" - fi - - if [ ! -f "${PARALLELN64DIR}/ParaLLEl N64.opt" ] - then - cp "/usr/config/retroarch/ParaLLEl N64.opt" "${PARALLELN64DIR}/ParaLLEl N64.opt" - fi - local VIDEO_CORE="$(game_setting parallel_n64_video_core)" - sed -i '/parallel-n64-gfxplugin = /c\parallel-n64-gfxplugin = "'${VIDEO_CORE}'"' "${PARALLELN64DIR}/ParaLLEl N64.opt" - local SCREENSIZE="$(game_setting parallel_n64_internal_resolution)" - sed -i '/parallel-n64-screensize = /c\parallel-n64-screensize = "'${SCREENSIZE}'"' "${PARALLELN64DIR}/ParaLLEl N64.opt" - local GAMESPEED="$(game_setting parallel_n64_gamespeed)" - sed -i '/parallel-n64-framerate = /c\parallel-n64-framerate = "'${GAMESPEED}'"' "${PARALLELN64DIR}/ParaLLEl N64.opt" - local ACCURACY="$(game_setting parallel_n64_gfx_accuracy)" - sed -i '/parallel-n64-gfxplugin-accuracy = /c\parallel-n64-gfxplugin-accuracy = "'${ACCURACY}'"' "${PARALLELN64DIR}/ParaLLEl N64.opt" - local CONTROLLERPAK="$(game_setting parallel_n64_controller_pak)" - sed -i '/parallel-n64-pak1 = /c\parallel-n64-pak1 = "'${CONTROLLERPAK}'"' "${PARALLELN64DIR}/ParaLLEl N64.opt" - fi -} - -function set_saturnopts() { - log "Set up Saturn..." - if [ "${CORE}" = "kronos" ] - then - log "Set up Kronos..." - local KRONOSDIR="${RETROARCH_PATH}/Kronos/config/Kronos" - if [ ! -d "${KRONOSDIR}" ] - then - mkdir -p "${KRONOSDIR}" - fi - - if [ ! -f "${KRONOSDIR}/Kronos.opt" ] - then - cp "/usr/config/retroarch/Kronos.opt" "${KRONOSDIR}/Kronos.opt" - fi - local KRONOSOPT="${KRONOSDIR}/Kronos.opt" - local HLE_BIOS="$(game_setting force_hle_bios)" - sed -i '/kronos_force_hle_bios = /c\kronos_force_hle_bios = "'${HLE_BIOS}'"' "${KRONOSOPT}" - local ADDON_CART="$(game_setting addon_cartridge)" - sed -i '/kronos_addon_cartridge = /c\kronos_addon_cartridge = "'${ADDON_CART}'"' "${KRONOSOPT}" - local TESSELATION="$(game_setting tesselation)" - sed -i '/kronos_polygon_mode = /c\kronos_polygon_mode = "'${TESSELATION}'"' "${KRONOSOPT}" - local RESOLUTION="$(game_setting resolution)" - sed -i '/kronos_resolution_mode = /c\kronos_resolution_mode = "'${RESOLUTION}'"' "${KRONOSOPT}" - local COMPUTE_SHADER="$(game_setting compute_shader)" - sed -i '/kronos_use_cs = /c\kronos_use_cs = "'${COMPUTE_SHADER}'"' "${KRONOSOPT}" - local TRANSPARENCY="$(game_setting transparency)" - sed -i '/kronos_mesh_mode = /c\kronos_mesh_mode = "'${TRANSPARENCY}'"' "${KRONOSOPT}" - fi -} - -function set_snesopts() { - log "Set up SNES..." - if [ "${CORE}" = "beetle_supafaust" ] - then - log "Set up beetle_supafaust" - local FAUSTDIR="${RETROARCH_PATH}/config/Supafaust" - if [ ! -d "${FAUSTDIR}" ] - then - mkdir -p "${FAUSTDIR}" - fi - if [ ! -f "${FAUSTDIR}/Supafaust.opt" ] - then - cp "/usr/config/retroarch/Supafaust.opt" "${FAUSTDIR}/Supafaust.opt" - fi - fi -} - -function set_dreamcastopts() { - log "Set up Dreamcast..." - if [ "${CORE}" = "flycast" ] - then - local FLYCASTDIR="${RETROARCH_PATH}/config/Flycast" - if [ ! -d "${FLYCASTDIR}" ] - then - mkdir -p "${FLYCASTDIR}" - fi - - if [ ! -f "${FLYCASTDIR}/Flycast.opt" ] - then - cp "/usr/config/retroarch/Flycast.opt" "${FLYCASTDIR}/Flycast.opt" - fi - local FRAME_SKIP="$(game_setting frame_skip)" - sed -i '/flycast_auto_skip_frame = /c\flycast_auto_skip_frame = "'${FRAME_SKIP}'"' "${FLYCASTDIR}/Flycast.opt" - fi -} - -function set_atari() { - log "Set up Atari (FIXME)..." - if [ "${CORE}" = "atari800" ] - then - ATARICONF="/storage/.config/system/configs/atari800.cfg" - ATARI800CONF="${RETROARCH_PATH}/config/Atari800/Atari800.opt" - if [ ! -f "$ATARI800CONF" ] - then - touch "$ATARI800CONF" - fi - sed -i "/RAM_SIZE=/d" ${ATARICONF} - sed -i "/STEREO_POKEY=/d" ${ATARICONF} - sed -i "/BUILTIN_BASIC=/d" ${ATARICONF} - sed -i "/atari800_system =/d" ${ATARI800CONF} - - if [ "${PLATFORM}" == "atari5200" ]; then - add_setting "none" "atari800_system" "5200" - echo "atari800_system = \"5200\"" >> ${ATARI800CONF} - echo "RAM_SIZE=16" >> ${ATARICONF} - echo "STEREO_POKEY=0" >> ${ATARICONF} - echo "BUILTIN_BASIC=0" >> ${ATARICONF} - else - add_setting "none" "atari800_system" "800XL (64K)" - echo "atari800_system = \"800XL (64K)\"" >> ${ATARI800CONF} - echo "RAM_SIZE=64" >> ${ATARICONF} - echo "STEREO_POKEY=1" >> ${ATARICONF} - echo "BUILTIN_BASIC=1" >> ${ATARICONF} - fi - flush_settings - fi -} - -function set_gambatte() { - log "Set up Gambatte..." - if [ "${CORE}" = "gambatte" ] - then - GAMBATTECONF="${RETROARCH_PATH}/config/Gambatte/Gambatte.opt" - if [ ! -f "GAMBATTECONF" ] - then - echo 'gambatte_gbc_color_correction = "disabled"' > ${GAMBATTECONF} - else - sed -i "/gambatte_gb_colorization =/d" ${GAMBATTECONF} - sed -i "/gambatte_gb_internal_palette =/d" ${GAMBATTECONF} - fi - local COLORIZATION=$(game_setting renderer.colorization) - local TWB1_COLORIZATION=$(game_setting renderer.twb1_colorization) - local TWB2_COLORIZATION=$(game_setting renderer.twb2_colorization) - local TWB3_COLORIZATION=$(game_setting renderer.twb3_colorization) - local PIXELSHIFT1_COLORIZATION=$(game_setting renderer.pixelshift1_colorization) - - if [ -n "${COLORIZATION}" ] - then - case ${COLORIZATION} in - 0|false|none) - echo 'gambatte_gb_colorization = "disabled"' >> ${GAMBATTECONF} - ;; - "Best Guess") - echo 'gambatte_gb_colorization = "auto"' >> ${GAMBATTECONF} - ;; - GBC|SGB) - echo 'gambatte_gb_colorization = "'${COLORIZATION}'"' >> ${GAMBATTECONF} - ;; - *) - echo 'gambatte_gb_colorization = "internal"' >> ${GAMBATTECONF} - echo 'gambatte_gb_internal_palette = "'${COLORIZATION}'"' >> ${GAMBATTECONF} - echo 'gambatte_gb_palette_twb64_1 = "'${TWB1_COLORIZATION}'"' >> ${GAMBATTECONF} - echo 'gambatte_gb_palette_twb64_2 = "'${TWB2_COLORIZATION}'"' >> ${GAMBATTECONF} - echo 'gambatte_gb_palette_twb64_3 = "'${TWB3_COLORIZATION}'"' >> ${GAMBATTECONF} - echo 'gambatte_gb_palette_pixelshift_1 = "'${PIXELSHIFT1_COLORIZATION}'"' >> ${GAMBATTECONF} - ;; - esac - fi - fi -} - -function setup_controllers() { - for i in $(seq 1 1 5) - do - log "Controller setup (${i})" - if [[ "$CONTROLLERS" == *p${i}* ]] - then - PINDEX="${CONTROLLERS#*-p${i}index }" - PINDEX="${PINDEX%% -p${i}guid*}" - log "Set up controller ($i) (${PINDEX})" - add_setting "none" "input_player${i}_joypad_index" "${PINDEX}" - case ${PLATFORM} in - atari5200) - add_setting "none" "input_libretro_device_p${i}" "513" - ;; - esac - fi - done - flush_settings -} - -### -### Execute functions -### - -### -### Functions that must be run without parallelization. -### - -set_retroarch_paths -setup_controllers -configure_hotkeys - -### -### Game specific functions -### - -set_atari & -set_gambatte & - -wait -flush_settings - -### -### Functions that can execute in parallel. -### - -set_ra_menudriver & -set_config_save & -set_fps & -set_cheevos & -set_translation & -set_aspectratio & -set_filtering & -set_integerscale & -set_rgascale & -set_shader & -set_filter & -set_overlay & -set_rewind & -set_savestates & -set_autosave & -set_netplay & -set_runahead & -set_audiolatency & -set_analogsupport & -set_tatemode & -set_n64opts & -set_saturnopts & -set_snesopts & -set_dreamcastopts & - -### Sed operations are expensive, so they are staged and executed as -### a single process when all forks complete. -wait -flush_settings - -cleanup diff --git a/packages/jelos/sources/scripts/show_changelog b/packages/jelos/sources/scripts/show_changelog deleted file mode 100755 index 98f2598fa..000000000 --- a/packages/jelos/sources/scripts/show_changelog +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -CHANGELOG="/storage/.cache/changelog" - -if [ ! -e "${CHANGELOG}" ] -then - exit 0 -fi - -WIDTH=$(fbwidth) - -if [ "${WIDTH}" -le "480" ] -then - FONTSIZE=8 -elif [ "${WIDTH}" -gt "480" ] && [ "${WIDTH}" -le "640" ] -then - FONTSIZE=12 -elif [ "${WIDTH}" -gt "640" ] && [ "${WIDTH}" -le "720" ] -then - FONTSIZE=14 -elif [ "${WIDTH}" -gt "720" ] && [ "${WIDTH}" -lt "1080" ] -then - FONTSIZE=20 -else - FONTSIZE=24 -fi - -/usr/bin/text_viewer -f ${FONTSIZE} ${CHANGELOG} diff --git a/packages/jelos/sources/scripts/suspendmode b/packages/jelos/sources/scripts/suspendmode deleted file mode 100755 index dfe6f52e2..000000000 --- a/packages/jelos/sources/scripts/suspendmode +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -. /etc/profile - -REQUESTED_MODE="${*}" -SUSPEND_MODE=$(get_setting system.suspendmode) - -if [ ! "${REQUESTED_MODE}" = "${SUSPEND_MODE}" ] -then - cat </storage/.config/sleep.conf.d/sleep.conf - [Sleep] -EOF - case ${REQUESTED_MODE} in - off) - cat <>/storage/.config/sleep.conf.d/sleep.conf - AllowSuspend=no -EOF - ;; - freeze) - cat <>/storage/.config/sleep.conf.d/sleep.conf - AllowSuspend=yes - SuspendState=freeze standby mem -EOF - ;; - standby) - cat <>/storage/.config/sleep.conf.d/sleep.conf - AllowSuspend=yes - SuspendState=standby mem freeze -EOF - ;; - mem) - cat <>/storage/.config/sleep.conf.d/sleep.conf - AllowSuspend=yes - SuspendState=mem standby freeze -EOF - ;; - default) - del_setting system.suspendmode - if [ -e "/usr/lib/autostart/quirks/platforms/${HW_DEVICE}/030-suspend_mode" ] - then - "/usr/lib/autostart/quirks/devices/${QUIRK_DEVICE}/030-suspend_mode" - elif [ -e "/usr/lib/autostart/quirks/devices/${QUIRK_DEVICE}/030-suspend_mode" ] - then - "/usr/lib/autostart/quirks/platforms/${HW_DEVICE}/030-suspend_mode" - fi - ;; - *) - cat <>/storage/.config/sleep.conf.d/sleep.conf - AllowSuspend=yes - SuspendState=${REQUESTED_MODE} -EOF - ;; - esac - set_setting system.suspendmode ${1} - systemctl restart systemd-logind -fi diff --git a/packages/jelos/sources/scripts/system-upgrade b/packages/jelos/sources/scripts/system-upgrade deleted file mode 100755 index 8a6a7ff2f..000000000 --- a/packages/jelos/sources/scripts/system-upgrade +++ /dev/null @@ -1,166 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - - -ORGANIZATION="${GIT_ORGANIZATION}" -BRANCH="$(get_setting updates.branch)" -case ${BRANCH} in - dev) - PROJECT="${GIT_REPO}-dev" - ;; - *) - PROJECT="${GIT_REPO}" - ;; -esac - -FORCE="$(get_setting updates.force)" - -GIT_REPO="https://github.com/${ORGANIZATION}/${PROJECT}" -GIT_API="https://api.github.com/repos/${ORGANIZATION}/${PROJECT}" -UPDATE_PATH="/storage/.update" -EXTENSION="tar" - -function check_network() { - GW=$(ip route | awk '/eth0/ {a=$0} END{print $1}') - if [[ ${GW} =~ [0-9] ]] - then - echo true - else - echo false - fi -} - -get_available() { - echo $(df | awk '/'$1'/ {printf $4; exit}') -} - -get_size() { - echo $(df | awk '/'$1'/ {printf $2; exit}') -} - -check_space() { - MYSIZE="$(get_$1 $2)" - VOLNAME="$3" - REQUIRED="$4" - if [ "${MYSIZE}" -lt "${REQUIRED}" ] - then - NEEDED=$(( (${REQUIRED} - ${MYSIZE} ) / 1024 )) - echo -e "There is not enough free space available ${VOLNAME} to install this update. Free up an additional ${NEEDED}MB, or reflash the newer version." - echo "Exiting in 5 seconds..." && sleep 5 - exit 1 - fi -} - -get_changelog() { - echo "Fetching change log." - echo -e "Change Log" >/storage/.cache/changelog - lynx --dump "${GIT_REPO}/releases/latest" 2>/dev/null | awk '/Contributors|Assets [0-9]/ {exit}; /Change Log/{p++;if(p==1){next}}p;' >>/storage/.cache/changelog - if [ ! "$?" = "0" ] - then - echo "Unable to fetch the change log, please ensure you have a network connection." >>/storage/.cache/changelog - fi -} - -get_release_list() { - DATA=($(curl -H 'Cache-Control: no-cache' -Ls "${GIT_API}/releases" 2>/dev/null | python -c "import sys, json; data=json.load(sys.stdin); print(\"\\n\".join([str(data[i]['tag_name']) for i in range(10)]))")) - if [ ! -z "${DATA}" ] - then - printf "%s\n" "${DATA[@]}" - else - echo "Unable to fetch releases." - fi -} - -function cleanup() { - if [ -e "/tmp/release.data" ] - then - rm -f /tmp/release.data - fi -} - -### -### Check for passed arguments. If we receive changelog, fetch it. If we receive a version, force install it. -### - -case ${1} in - changelog) - get_changelog >/dev/null 2>&1 - exit 0 - ;; - releases) - get_release_list - exit 0 - ;; - [0-9][0-9]*) - UPDATE_PACKAGE=${1} - FORCE=1 - ;; -esac - -ONLINE_STATUS=$(check_network) -if [ ! "${ONLINE_STATUS}" == true ] -then - echo "System not online, cannot continue..." - echo "Exiting in 5 seconds..." && sleep 5 - exit 0 -fi - -echo -e "=> ${OS_NAME} UPGRADE UTILITY" - -# Check storage -check_space size flash boot 2048000 2>/dev/null - -if [ "$(mountpoint -q /storage/roms)" ] -then - check_space available .update GAMES 4096000 2>/dev/null -fi - -if [ -z "${UPDATE_PACKAGE}" ] -then - curl -o /tmp/release.data -H 'Cache-Control: no-cache' -Ls "${GIT_API}/releases" - 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..." - echo "Exiting in 5 seconds..." && sleep 5 - exit 0 - fi -fi - -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}-${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 - echo "Verification failed, cleaning up and exiting..." - rm -f ${UPDATE_PATH}/* - sleep 5 - clear - exit 1 -else - echo "Verification successful..." -fi - -get_changelog - -if [ "${FORCE}" == "1" ] -then - set_setting updates.force 0 -fi - -echo -e "\nRebooting to complete OS upgrade..." -sync -sleep 3 -reboot diff --git a/packages/jelos/sources/scripts/timeinfo b/packages/jelos/sources/scripts/timeinfo deleted file mode 100755 index 8b43dbe09..000000000 --- a/packages/jelos/sources/scripts/timeinfo +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2020-2022 Shanti Gilbert (https://github.com/shantigilbert) -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -function get_timezone() { - readlink -f /etc/localtime | sed 's;/usr/share/zoneinfo/;;' -} - -function list_timezones() { - cat /usr/share/zoneinfo/zone1970.tab | grep -v "^#" | awk '{ print $3"," }' | sort -u -} - -case "${1}" in - "current_timezone") - get_timezone - ;; - "timezones") - list_timezones - ;; -esac diff --git a/packages/jelos/sources/scripts/toggle-ipv6 b/packages/jelos/sources/scripts/toggle-ipv6 deleted file mode 100755 index 2e4fc62ab..000000000 --- a/packages/jelos/sources/scripts/toggle-ipv6 +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -if [ "$(get_setting ipv6.enabled)" == "1" ] -then - sysctl net.ipv6.conf.all.disable_ipv6=0 - sysctl net.ipv6.conf.default.disable_ipv6=0 - sysctl net.ipv6.conf.lo.disable_ipv6=0 -else - sysctl net.ipv6.conf.all.disable_ipv6=1 - sysctl net.ipv6.conf.default.disable_ipv6=1 - sysctl net.ipv6.conf.lo.disable_ipv6=1 -fi diff --git a/packages/jelos/sources/scripts/updatecheck b/packages/jelos/sources/scripts/updatecheck deleted file mode 100755 index 00d1e1f17..000000000 --- a/packages/jelos/sources/scripts/updatecheck +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -. /etc/profile - -ORGANIZATION="${GIT_ORGANIZATION}" -BRANCH="$(get_setting updates.branch)" -case ${BRANCH} in - dev) - PROJECT="${GIT_REPO}-dev" - ;; - *) - PROJECT="${GIT_REPO}" - ;; -esac - -GIT_REPO="https://github.com/${ORGANIZATION}/${PROJECT}" -GIT_API="https://api.github.com/repos/${ORGANIZATION}/${PROJECT}" - -FORCE="$(get_setting updates.force)" - -function check_network() { - GW=$(ip route | awk '/eth0/ {a=$0} END{print $1}') - if [[ ${GW} =~ [0-9] ]] - then - echo true - else - echo false - fi -} - -function cleanup() { - if [ -e "/tmp/release.data" ] - then - rm -f /tmp/release.data - fi -} - -ONLINE_STATUS=$(check_network) -if [ "${ONLINE_STATUS}" == true ] -then - curl -o /tmp/release.data -H 'Cache-Control: no-cache' -Ls "${GIT_API}/releases" - 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 "${UPDATE_PACKAGE}" - cleanup - exit 0 - fi -fi - -cleanup -exit 12 diff --git a/packages/jelos/sources/scripts/usbgadget b/packages/jelos/sources/scripts/usbgadget deleted file mode 100755 index 9bd431f57..000000000 --- a/packages/jelos/sources/scripts/usbgadget +++ /dev/null @@ -1,113 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -for mod in usb_f_ecm usb_f_fs; do - modprobe -q ${mod} -done - -mkdir -p /storage/.cache/usbgadget - -if [ ! -f /storage/.cache/usbgadget/ip_address.conf ] ; then - echo "10.1.1.2" > /storage/.cache/usbgadget/ip_address.conf -fi - -if [ ! -f /storage/.cache/usbgadget/udhcpd.conf ] ; then - echo -e "interface usb0\nstart 10.1.1.1\nend 10.1.1.1\nopt subnet 255.255.255.0\nopt lease 86400\nmax_leases 1\nlease_file /dev/null\nremaining no" >> /storage/.cache/usbgadget/udhcpd.conf -fi - -VENDOR=JELOS -MACHINE=$(cat /etc/hostname) -UDC_NAME=$(ls -1 /sys/class/udc |head -n1) -IP=$(cat /storage/.cache/usbgadget/ip_address.conf) - -usb_disable() { - echo "" > /sys/kernel/config/usb_gadget/gadget/UDC - echo "USB_MODE=disabled" > /storage/.cache/usbgadget/usbgadget.conf -} - -usb_start() { - if [ -r /storage/.cache/usbgadget/usbgadget.conf ] ; then - . /storage/.cache/usbgadget/usbgadget.conf - fi - - if [ "$1" ] ; then - USB_MODE=$1 - fi - - cd /sys/kernel/config/usb_gadget - mkdir gadget \ - gadget/strings/0x409 \ - gadget/configs/c.1 \ - gadget/configs/c.1/strings/0x409 \ - gadget/functions/ffs.mtp \ - gadget/functions/ecm.usb0 - - echo $VENDOR > gadget/strings/0x409/manufacturer - echo $MACHINE > gadget/strings/0x409/product - - - if [ "${USB_MODE}" = mtp ] ; then - echo 0x1d6b > gadget/idVendor - echo 0x0100 > gadget/idProduct - echo mtp > gadget/configs/c.1/strings/0x409/configuration - ln -s gadget/functions/ffs.mtp gadget/configs/c.1 - mkdir /dev/ffs-umtp - mount mtp -t functionfs /dev/ffs-umtp - /usr/sbin/umtprd & - sleep 1 - echo "${UDC_NAME}" > gadget/UDC - - elif [ "${USB_MODE}" = cdc ] ; then - echo cdc > gadget/configs/c.1/strings/0x409/configuration - echo 0x1d6b > gadget/idVendor - echo 0x104 > gadget/idProduct - ln -s gadget/functions/ecm.usb0 gadget/configs/c.1 - echo "${UDC_NAME}" > gadget/UDC - ifconfig usb0 $IP up - /usr/sbin/udhcpd -S /storage/.cache/usbgadget/udhcpd.conf - else - exit 0 - fi - - echo "USB_MODE=$(cat gadget/configs/c.1/strings/0x409/configuration)" > /storage/.cache/usbgadget/usbgadget.conf -} - -usb_stop() { - ( - cd /sys/kernel/config/usb_gadget - - usb_disable - umount /dev/ffs-umtp - rmdir /dev/ffs-umtp - - rm -f mtp/configs/c.1/ffs.mtp \ - gadget/configs/c.1/ecm.usb0 \ - - rmdir gadget/configs/c.1/strings/0x409 \ - gadget/configs/c.1 \ - gadget/functions/ffs.mtp \ - gadget/functions/ecm.usb0 \ - gadget/strings/0x409 \ - gadget - - killall udhcpd - killall umtprd - ) >/dev/null 2>&1 -} - -case "$1" in - start) - usb_start $2 - ;; - stop) - usb_stop - ;; - restart) - usb_stop - usb_start $2 - ;; - *) - echo "Usage: usbgadget [start|stop|restart]" - ;; -esac diff --git a/packages/jelos/sources/scripts/volume b/packages/jelos/sources/scripts/volume deleted file mode 100755 index 3021429a1..000000000 --- a/packages/jelos/sources/scripts/volume +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh - -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - - -# Source minimal predefined functions and variables -# to ensure as much performance as possible. -. /etc/profile.d/001-functions - -VOLUME=$(get_setting "audio.volume") -MAX_VOLUME=100 -MIN_VOLUME=0 -STEP=10 - -case ${1} in - "+"|"up") - VOLUME=$(( ${VOLUME} + ${STEP} )) - ;; - "-"|"down") - VOLUME=$(( ${VOLUME} - ${STEP} )) - ;; - *) - VOLUME=${1} - ;; -esac - -if (( ${VOLUME} < ${MIN_VOLUME} )) -then - VOLUME=${MIN_VOLUME} -elif (( ${VOLUME} > ${MAX_VOLUME} )) -then - VOLUME=${MAX_VOLUME} -elif [ -z "${VOLUME}" ] -then - VOLUME=60 -fi - -pactl -- set-sink-volume @DEFAULT_SINK@ ${VOLUME}% -set_setting "audio.volume" ${VOLUME} diff --git a/packages/jelos/sources/scripts/wifictl b/packages/jelos/sources/scripts/wifictl deleted file mode 100755 index 22bf7a622..000000000 --- a/packages/jelos/sources/scripts/wifictl +++ /dev/null @@ -1,220 +0,0 @@ -#!/bin/bash -# SPDX-License-Identifier: Apache-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) -# Copyright (C) 2022 kkoshelev (https://github.com/kkoshelev) - -. /etc/profile - -### -### Basic WIFI properties used across the tool. -### -### Usage: -###  wifictl command [ssid] [psk] -### - -CFG_ROOT="/storage/.cache" -WIFI_CFG="${CFG_ROOT}/connman/wifi.config" -HOSTAPD_CFG="${CFG_ROOT}/.hostapd.conf" -WIFI_TYPE=$(get_setting network.adhoc.enabled) -NETWORK_ADDRESS="192.168.80" -ADHOC_CLIENT_ID=$(get_setting wifi.adhoc.id) -WIFI_DEV="wlan0" -DEFAULT_CHAN="6" - -### ES won't save the configuration in time -### for it to be useable by the script, so -### we have to accept the ssid and key on the -### command line too. - -if [ ! -z "${2}" ] -then - SSID="${2}" -else - SSID="$(get_setting wifi.ssid)" 2>/dev/null -fi - -if [ ! -z "${3}" ] -then - PSK="${3}" -else - PSK="$(get_setting wifi.key)" 2>/dev/null -fi - - -if [ "${WIFI_TYPE}" = "1" ] -then - GENERATED=($(awk '! /^HW_|BUILD_DATE/ {print}' /etc/os-release | md5sum)) - SSID="${GENERATED[0]:0:10}" - PSK="${GENERATED[0]: -10}" -fi - -if [ ! -d "${CFG_ROOT}/connman" ] -then - mkdir -p "${CFG_ROOT}/connman" -fi - -ADHOC_CHAN=$(get_setting wifi.adhoc.channel) -if [ -z "${ADHOC_CHAN}" ] -then - ADHOC_CHAN="${DEFAULT_CHAN}" - set_setting wifi.adhoc.channel ${DEFAULT_CHAN} -fi - -### -### Functions... -### - -# lists all wifi services in service=ssid format -list_wifi() { - connmanctl services | cut -b 5- | awk '/\S+.+\s+wifi/ {a=$0; sub(/\s+wifi_.*$/,"", a); b=$0; sub(a, "", b); sub(/\s+/, "", b); print b "=" a}' | sort | uniq -} - -# Looksup connman service name based on ssid -# $1 - SSID to lookup -get_wifi_service() { - list_wifi | awk -v ssid="${1}" '{ split($0, a, "="); if (a[2]==ssid) print a[1] }' -} - -set_powersave() { - ENABLED=$(get_setting system.power.wifi) - if [ "${ENABLED}" = "1" ] - then - log $0 "Enabling WIFI power saving." - iw ${WIFI_DEV} set power_save on 2>/dev/null - else - log $0 "Disabling WIFI power saving." - iw ${WIFI_DEV} set power_save off 2>/dev/null - fi -} - -wifi_service() { - for SERVICE in wpa_supplicant connman-vpn connman - do - systemctl ${1} ${SERVICE} - done -} - -connect_wifi() { - systemctl restart connman 2>/dev/null - connmanctl enable wifi 2>/dev/null - connmanctl connect $(connmanctl services 2>&1 | awk '/\s'${SSID}'\s/ {gsub(/^\*[A-z][A-z]/,""); print $2}') 2>/dev/null - set_powersave 2>/dev/null -} - -create_adhoc() { - wifi_service stop - rfkill unblock wifi - - cat <${HOSTAPD_CFG} -interface=${WIFI_DEV} -auth_algs=1 -channel=${ADHOC_CHAN} -wpa=2 -wpa_key_mgmt=WPA-PSK -wpa_pairwise=CCMP -rsn_pairwise=CCMP -wpa_passphrase=${PSK} -ssid=${SSID} -EOF - - sysctl -w net.ipv4.ip_forward=1 - - ### Flush any existing IP - ip addr flush dev ${WIFI_DEV} - - ### Set our IP - ip addr add ${NETWORK_ADDRESS}.${ADHOC_CLIENT_ID}/24 dev ${WIFI_DEV} >/dev/null 2>&1 - - systemctl start hostapd - - exit 0 -} - -destroy_adhoc() { - ip addr flush dev ${WIFI_DEV} - ip link set ${WIFI_DEV} down - systemctl stop hostapd -} - -set_profile() { - wifi_service stop - cat > "${WIFI_CFG}" <> "${WIFI_CFG}" <> "${WIFI_CFG}" </dev/null 2>&1 - if [ "${WIFI_TYPE}" = "1" ] && \ - [ "${ADHOC_CLIENT_ID}" = "1" ] - then - create_adhoc >/dev/null 2>&1 - else - destroy_adhoc >/dev/null 2>&1 - fi - connect_wifi >/dev/null 2>&1 - set_setting network.enabled 1 - ;; - disable) - if [ "${WIFI_TYPE}" = "1" ] - then - destroy_adhoc >/dev/null 2>&1 - fi - connmanctl disable wifi >/dev/null 2>&1 - rfkill block wifi >/dev/null 2>&1 - rm -f "${WIFI_CFG}" 2>/dev/null - set_setting network.enabled 0 - ;; - reconnect) - /usr/bin/wifictl disable - /usr/bin/wifictl enable - ;; - list) - list_wifi | awk '{sub(/\S+=/,"",$0);print}' - ;; - channels) - iw list | awk '/[0-9] MHz \[/ && ! /disabled|radar|no IR/ { gsub(/^.*\[/,""); gsub(/\].*$/,""); print}' - ;; - scan) - connmanctl scan wifi 2>/dev/null - ;; - scanlist) - set_wifi scan 2>/dev/null - list_wifi | awk '{sub(/\S+=/,"",$0);print}' - ;; - service) - get_wifi_service "${SSID}" - ;; - setpowersave) - set_powersave - ;; - setprofile) - set_profile - ;; -esac diff --git a/packages/jelos/system.d/bluetooth-agent.service b/packages/jelos/system.d/bluetooth-agent.service deleted file mode 100644 index dc465e214..000000000 --- a/packages/jelos/system.d/bluetooth-agent.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Start bluetooth agent -After=bluetooth.service -PartOf=bluetooth.service - -[Service] -Type=simple -ExecStart=/usr/bin/batocera-bluetooth-agent - -[Install] -WantedBy=bluetooth.service diff --git a/packages/jelos/system.d/jelos-automount.service b/packages/jelos/system.d/jelos-automount.service deleted file mode 100644 index 5afbaefad..000000000 --- a/packages/jelos/system.d/jelos-automount.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=JELOS user autostart script -Before=autostart.service -After=systemd-tmpfiles-setup.service - -[Service] -Type=oneshot -Environment=HOME=/storage -EnvironmentFile=/etc/profile -ExecStart=/usr/bin/automount -RemainAfterExit=yes - -[Install] -WantedBy=jelos.target diff --git a/packages/jelos/system.d/jelos.target b/packages/jelos/system.d/jelos.target deleted file mode 100644 index 0e800322c..000000000 --- a/packages/jelos/system.d/jelos.target +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=jelos -Requires=multi-user.target graphical.target -After=graphical.target -Conflicts=rescue.target -AllowIsolate=yes - -[Install] -Alias=default.target diff --git a/packages/jelos/system.d/save-sysconfig.service b/packages/jelos/system.d/save-sysconfig.service deleted file mode 100644 index 6ccce99c4..000000000 --- a/packages/jelos/system.d/save-sysconfig.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Back up the system config before shutting down -DefaultDependencies=no -Before=shutdown.target - -[Service] -Type=oneshot -ExecStart=/usr/bin/chksysconfig backup -TimeoutStartSec=0 - -[Install] -WantedBy=shutdown.target diff --git a/packages/kernel/linux/package.mk b/packages/kernel/linux/package.mk index b6c9d39e3..73ba1d711 100644 --- a/packages/kernel/linux/package.mk +++ b/packages/kernel/linux/package.mk @@ -20,24 +20,12 @@ case ${DEVICE} in PKG_URL="https://github.com/armbian/linux-rockchip/archive/${PKG_VERSION}.tar.gz" PKG_GIT_CLONE_BRANCH="rk-5.10-rkr6" ;; - RK3566-BSP) - PKG_URL="https://github.com/JustEnoughLinuxOS/rk356x-kernel.git" - PKG_VERSION="c741d56477939654bb4056be240f93d1ad1ae91e" - GET_HANDLER_SUPPORT="git" - PKG_GIT_CLONE_BRANCH="main" - ;; - RK3566-BSP-X55) - PKG_URL="https://github.com/JustEnoughLinuxOS/rk3566-x55-kernel.git" - PKG_VERSION="9e8f3703fe49d5d12bbb951e233248f5f3eb9efd" - GET_HANDLER_SUPPORT="git" - PKG_GIT_CLONE_BRANCH="main" - ;; - RK356*) + RK3566*) PKG_VERSION="6.8-rc6" PKG_URL="https://git.kernel.org/torvalds/t/${PKG_NAME}-${PKG_VERSION}.tar.gz" ;; *) - PKG_VERSION="6.7.9" + PKG_VERSION="6.8.1" PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz" ;; esac diff --git a/packages/rocknix/config/system/configs/system.cfg b/packages/rocknix/config/system/configs/system.cfg index ec6190c13..46610743e 100644 --- a/packages/rocknix/config/system/configs/system.cfg +++ b/packages/rocknix/config/system/configs/system.cfg @@ -150,7 +150,7 @@ pet.ratio=4/3 pokemini.ratio=3/2 psx.integerscale=0 psx.ratio=4/3 -rotate.root.password=1 +rotate.root.password=0 samba.enabled=0 saturn.integerscale=0 saturn.ratio=4/3 diff --git a/packages/rocknix/package.mk b/packages/rocknix/package.mk index 8b4223ae1..666869989 100644 --- a/packages/rocknix/package.mk +++ b/packages/rocknix/package.mk @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) -PKG_NAME="jelos" +PKG_NAME="rocknix" PKG_VERSION="" PKG_ARCH="any" PKG_LICENSE="GPLv2" diff --git a/packages/rocknix/sources/issue b/packages/rocknix/sources/issue index 380ec5b24..8f453fe2c 100644 --- a/packages/rocknix/sources/issue +++ b/packages/rocknix/sources/issue @@ -1,7 +1,6 @@ - ██ ███████ ██  ████████ ███████ - ██ ██ ██  ██ ██ ██ - ██ ███████ ██  ██ ██ ███████ -██ ██ ██ ██  ██ ██ ██ -███████ ███████ ███████ ████████ ███████ - +███████ ████████ ████████ ██ ██  ████ ██ ████████ ██ ██ +██ ██ ██ ██ ██ ██ ██ ██  ██ ██ ██ ██ ██ ██ +██████ ██ ██ ██ █████  ██ ██ ██ ██ ████ +██ ██ ██ ██ ██ ██ ██ ██  ██ ██ ██ ██ ██ ██ +██ ██ ████████ ████████ ██ ██  ██ ████ ████████ ██ ██ diff --git a/packages/rocknix/sources/scripts/batocera-info b/packages/rocknix/sources/scripts/batocera-info index e55cf7223..5be5b25a3 120000 --- a/packages/rocknix/sources/scripts/batocera-info +++ b/packages/rocknix/sources/scripts/batocera-info @@ -1 +1 @@ -jelos-info \ No newline at end of file +rocknix-info \ No newline at end of file diff --git a/packages/rocknix/sources/scripts/jelos-info b/packages/rocknix/sources/scripts/jelos-info deleted file mode 100755 index c01d6f5d7..000000000 --- a/packages/rocknix/sources/scripts/jelos-info +++ /dev/null @@ -1,140 +0,0 @@ -#!/bin/bash - -source /etc/profile - -### Apply device quirks -if [ -e "/sys/firmware/devicetree/base/model" ] -then - export QUIRK_DEVICE="$(tr -d '\0' /dev/null)" -else - export QUIRK_DEVICE="$(tr -d '\0' /dev/null) $(tr -d '\0' /dev/null)" -fi -export QUIRK_DEVICE="$(echo ${QUIRK_DEVICE} | sed -e "s#[/]#-#g")" - -info_quirks() { - for QUIRK in /usr/lib/autostart/quirks/platforms/"${HW_DEVICE}"/info.d/${1}/* \ - /usr/lib/autostart/quirks/devices/"${QUIRK_DEVICE}"/info.d/${1}/* - do - "${QUIRK}" 2>/dev/null - done -} - -### short version (for osd) -if test "$1" = "--short" -then - BATT=$(awk 'BEGIN {FS="="} /POWER_SUPPLY_CAPACITY=/ {print $2; exit}' /sys/class/power_supply/{BAT,bat}*/uevent 2>/dev/null) - DT=$(date +%H:%M) - if test -n "${BATT}" - then - echo "Battery: ${BATT}% - ${DT}" - else - echo "${DT}" - fi - exit 0 -fi -### - -V_CPUNB=$(grep -E $'^processor\t:' /proc/cpuinfo | wc -l) -V_CPUMODEL1=$(grep -E $'^model name\t:' /proc/cpuinfo | head -1 | sed -e s+'^model name\t: '++) -V_SYSTEM=$(uname -rs) -V_ARCH=$(uname -m) - -[[ "$V_CPUMODEL1" ]] || V_CPUMODEL1="${HW_CPU}" - -# battery -BATT=$(awk 'BEGIN {FS="="} /POWER_SUPPLY_CAPACITY=/ {print $2; exit}' /sys/class/power_supply/{BAT,bat}*/uevent 2>/dev/null) - -case ${HW_ARCH} in - aarch64) - declare -a CF MF - - CNTR=0 - for CPUFREQ in /sys/devices/system/cpu/cpufreq/* - do - if [[ "${CPUFREQ}" =~ boost ]] - then - continue - fi - if [ "${CNTR}" -eq 0 ] - then - CF+=("CURRENT FREQUENCY:") - MF+=("MAXIMUM FREQUENCY:") - fi - RELCPUS=$(cat ${CPUFREQ}/related_cpus 2>/dev/null) - if [ "${#RELCPUS}" -gt 1 ] - then - FIELD="$(cat ${CPUFREQ}/related_cpus 2>/dev/null | awk '{print $1"-"$NF}')" - else - FIELD="$(cat ${CPUFREQ}/related_cpus 2>/dev/null)" - fi - CF+=("THREADS ${FIELD}: $(( $(cat ${CPUFREQ}/scaling_cur_freq 2>/dev/null | sort | tail -n 1) / 1000))MHz") - MF+=("THREADS ${FIELD}: $(( $(cat ${CPUFREQ}/scaling_max_freq 2>/dev/null | sort | tail -n 1) / 1000))MHz") - CNTR=$(( CNTR + 1 )) - done - ;; -esac - -echo "SYSTEM INFORMATION:" -echo "DEVICE: ${QUIRK_DEVICE}" -echo "OPERATING SYSTEM: ${OS_NAME}" -echo "VERSION: ${OS_VERSION}" -echo "BUILD ID: ${BUILD_ID:0:7} (${BUILD_BRANCH})" -echo "KERNEL: ${V_SYSTEM} ($(uname -m))" -echo "DISK SPACE:" -echo "/storage: $(df -h /storage | awk '/dev/ {print $3"/"$2" ("$5")"}')" -echo "/storage/games-internal: $(df -h /storage/games-internal | awk '/dev/ {print $3"/"$2" ("$5")"}')" -echo "/storage/games-external: $(df -h /storage/games-external | awk '/dev/ {print $3"/"$2" ("$5")"}')" - -if test -n "${BATT}" -then - echo "BATTERY INFORMATION:" - echo "BATTERY REMAINING: ${BATT}%" - BATPATH="/sys/class/power_supply/$(ls /sys/class/power_supply/ | grep -i bat | tail -n 1)" - if [ -e "${BATPATH}/health" ] - then - echo "BATTERY HEALTH: $(cat ${BATPATH}/health)" - fi - if [ -e "${BATPATH}/status" ] - then - echo "BATTERY STATE: $(cat ${BATPATH}/status)" - fi -fi -echo "CPU INFORMATION:" -echo "CPU: ${V_CPUMODEL1} (${V_CPUNB} Cores)" - -# temperature -# Unit: millidegree Celsius -if [ -n "${DEVICE_TEMP_SENSOR}" ] -then - TEMPE=$(printf "%.0f" $(awk '{ total += $1; count++ } END { print total/count }' ${DEVICE_TEMP_SENSOR} 2>/dev/null) 2>/dev/null | sed -e s+"[0-9][0-9][0-9]$"++) - if [ -n "${TEMPE}" ] - then - echo "CPU TEMPERATURE: ${TEMPE}°" - fi -fi - -if [ "${DEVICE_HAS_FAN}" = "true" ] -then - FANSPEED=$(cat ${DEVICE_FAN_INPUT} 2>/dev/null) - if [ "${FANSPEED}" = "0" ] - then - FANSPEED="OFF" - else - FANSPEED="${FANSPEED} RPM" - fi - echo "CPU FAN: ${FANSPEED}" -fi -case ${HW_ARCH} in - aarch64) - for C in "${CF[@]}" - do - echo ${C} - done - for M in "${MF[@]}" - do - echo ${M} - done - ;; -esac - -info_quirks diff --git a/packages/jelos/sources/scripts/jelos-info b/packages/rocknix/sources/scripts/rocknix-info similarity index 100% rename from packages/jelos/sources/scripts/jelos-info rename to packages/rocknix/sources/scripts/rocknix-info diff --git a/packages/textproc/textviewer/package.mk b/packages/textproc/textviewer/package.mk index 7590bce6f..beef4b4a8 100644 --- a/packages/textproc/textviewer/package.mk +++ b/packages/textproc/textviewer/package.mk @@ -5,7 +5,7 @@ PKG_NAME="textviewer" PKG_VERSION="fcbda2d1708e9e2c650abc589ea8e7f1fe1d04d8" PKG_LICENSE="MIT" -PKG_SITE="https://github.com/JustEnoughLinuxOS/TvTextViewer" +PKG_SITE="https://github.com/ROCKNIX/TvTextViewer" PKG_URL="${PKG_SITE}.git" PKG_DEPENDS_TARGET="toolchain SDL2" PKG_SHORTDESC="Full-screen text viewer tool with gamepad controls" diff --git a/packages/tools/sound/soundfont-generaluser/package.mk b/packages/tools/sound/soundfont-generaluser/package.mk index 1eb35e426..0e56c7914 100644 --- a/packages/tools/sound/soundfont-generaluser/package.mk +++ b/packages/tools/sound/soundfont-generaluser/package.mk @@ -5,7 +5,7 @@ PKG_NAME="soundfont-generaluser" PKG_VERSION="8fe2798" PKG_LICENSE="OSS" PKG_SITE="http://www.schristiancollins.com/generaluser.php" -PKG_URL="https://github.com/JustEnoughLinuxOS/generaluser-gs/archive/${PKG_VERSION}.tar.gz" +PKG_URL="https://github.com/ROCKNIX/generaluser-gs/archive/${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="GeneralUser GS is a GM and GS compatible SoundFont bank for composing, playing MIDI files, and retro gaming." PKG_TOOLCHAIN="manual" diff --git a/packages/ui/emulationstation/package.mk b/packages/ui/emulationstation/package.mk index a7e0e1e00..17af04ce9 100644 --- a/packages/ui/emulationstation/package.mk +++ b/packages/ui/emulationstation/package.mk @@ -8,7 +8,7 @@ PKG_GIT_CLONE_BRANCH="main" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" -PKG_SITE="https://github.com/JustEnoughLinuxOS/emulationstation" +PKG_SITE="https://github.com/ROCKNIX/emulationstation" PKG_URL="${PKG_SITE}.git" PKG_DEPENDS_TARGET="boost toolchain SDL2 freetype curl freeimage bash rapidjson SDL2_mixer fping p7zip alsa vlc drm_tool pugixml" PKG_NEED_UNPACK="busybox" diff --git a/packages/ui/emulationstation/patches/RK3566-BSP-X55 b/packages/ui/emulationstation/patches/RK3566-BSP-X55 deleted file mode 120000 index f7632ef08..000000000 --- a/packages/ui/emulationstation/patches/RK3566-BSP-X55 +++ /dev/null @@ -1 +0,0 @@ -RK3566-BSP \ No newline at end of file diff --git a/packages/ui/emulationstation/patches/RK3566-BSP/001-3566-bsp.patch b/packages/ui/emulationstation/patches/RK3566-BSP/001-3566-bsp.patch deleted file mode 100644 index 9344d1401..000000000 --- a/packages/ui/emulationstation/patches/RK3566-BSP/001-3566-bsp.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/es-app/src/guis/GuiMenu.cpp b/es-app/src/guis/GuiMenu.cpp -index 1865857..760094c 100644 ---- a/es-app/src/guis/GuiMenu.cpp -+++ b/es-app/src/guis/GuiMenu.cpp -@@ -140,7 +140,7 @@ GuiMenu::GuiMenu(Window *window, bool animate) : GuiComponent(window), mMenu(win - - if (ApiSystem::getInstance()->isScriptingSupported(ApiSystem::WIFI)) { - addEntry(_("NETWORK SETTINGS").c_str(), true, [this] { openNetworkSettings_batocera(); }, "iconNetwork"); --#if defined(AMD64) || defined(RK3326) || defined(RK3566) || defined(RK3566_X55) || defined(RK3588) || defined(RK3588_ACE) ||defined(RK3399) -+#if defined(AMD64) || defined(RK3326) || defined(RK3566) || defined(RK3566_X55) || defined(RK3566_BSP) || defined(RK3566_BSP_X55) || defined(RK3588) || defined(RK3588_ACE) ||defined(RK3399) - addEntry(_("MOONLIGHT GAME STREAMING").c_str(), true, [this] { GuiMoonlight::show(mWindow); }, "iconGames"); - #endif - } -@@ -880,7 +880,7 @@ void GuiMenu::openSystemSettings_batocera() - - s->addWithLabel(_("BRIGHTNESS"), brightnessComponent); - --#if defined(RK3566) || defined(RK3566_X55) -+#if defined(RK3566) || defined(RK3566_X55) || defined(RK3566_BSP) || defined(RK3566_BSP_X55) - - // gamma - auto gamma = std::make_shared(mWindow, 1.f, 100.f, 1.f, "%"); -@@ -1375,7 +1375,7 @@ void GuiMenu::openSystemSettings_batocera() - } - - // Do not show on S922X devices yet. --#if defined(AMD64) || defined(RK3326) || defined(RK3566) || defined(RK3566_X55) || defined(RK3588) || defined(RK3588_ACE) || defined(RK3399) -+#if defined(AMD64) || defined(RK3326) || defined(RK3566) || defined(RK3566_X55) || defined(RK3566_BSP) || defined(RK3566_BSP_X55) || defined(RK3588) || defined(RK3588_ACE) || defined(RK3399) - // Allow user control over how the device sleeps - s->addGroup(_("HARDWARE / SUSPEND")); - auto optionsSleep = std::make_shared >(mWindow, _("DEVICE SUSPEND MODE"), false); -diff --git a/es-core/src/platform.cpp b/es-core/src/platform.cpp -index c0e6606..7832509 100644 ---- a/es-core/src/platform.cpp -+++ b/es-core/src/platform.cpp -@@ -368,10 +368,18 @@ std::string getArchString() - return "rk3566"; - #endif - -+#if RK3566_BSP -+ return "rk3566-BSP"; -+#endif -+ - #if RK3566_X55 - return "rk3566-x55"; - #endif - -+#if RK3566_X55_BSP -+ return "rk3566-BSP-x55"; -+#endif -+ - #if RK3588 - return "rk3588"; - #endif diff --git a/projects/Rockchip/devices/RK-ARMV8-A/linux/linux.aarch64.conf b/projects/Rockchip/devices/RK-ARMV8-A/linux/linux.aarch64.conf deleted file mode 100644 index d248a5447..000000000 --- a/projects/Rockchip/devices/RK-ARMV8-A/linux/linux.aarch64.conf +++ /dev/null @@ -1,6196 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Linux/arm64 6.7.0 Kernel Configuration -# -CONFIG_CC_VERSION_TEXT="aarch64-linux-gnueabi-gcc-12.3.0 (GCC) 12.3.0" -CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=120300 -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 is not set -CONFIG_CROSS_MEMORY_ATTACH=y -# CONFIG_USELIB is not set -# 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=y -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 is not set -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_VOLUNTARY_BUILD=y -# CONFIG_PREEMPT_NONE is not set -CONFIG_PREEMPT_VOLUNTARY=y -# CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_DYNAMIC 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=y -CONFIG_BSD_PROCESS_ACCT_V3=y -# 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_RCU_EXPERT is not set -CONFIG_TREE_SRCU=y -CONFIG_TASKS_RCU_GENERIC=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=17 -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_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 is not set -# CONFIG_RT_GROUP_SCHED is not set -CONFIG_SCHED_MM_CID=y -CONFIG_CGROUP_PIDS=y -# CONFIG_CGROUP_RDMA is not set -# CONFIG_CGROUP_FREEZER is not set -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=y -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=y -# 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 is not set -# CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set -# CONFIG_INITRAMFS_COMPRESSION_ZSTD is not set -# CONFIG_INITRAMFS_COMPRESSION_NONE is not set -# CONFIG_BOOT_CONFIG 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 is not set -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_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_KCMP=y -CONFIG_RSEQ=y -CONFIG_CACHESTAT_SYSCALL=y -# CONFIG_DEBUG_RSEQ is not set -CONFIG_HAVE_PERF_EVENTS=y -# CONFIG_PC104 is not set - -# -# 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=33 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 -CONFIG_NO_IOPORT_MAP=y -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=4 -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 is not set -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 is not set -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 is not set -# CONFIG_ARM64_ERRATUM_1418040 is not set -CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y -# CONFIG_ARM64_ERRATUM_1165522 is not set -CONFIG_ARM64_ERRATUM_1319367=y -# CONFIG_ARM64_ERRATUM_1530923 is not set -# CONFIG_ARM64_ERRATUM_2441007 is not set -# CONFIG_ARM64_ERRATUM_1286807 is not set -# CONFIG_ARM64_ERRATUM_1463225 is not set -# CONFIG_ARM64_ERRATUM_1542419 is not set -# CONFIG_ARM64_ERRATUM_1508412 is not set -# CONFIG_ARM64_ERRATUM_2051678 is not set -# CONFIG_ARM64_ERRATUM_2077057 is not set -# CONFIG_ARM64_ERRATUM_2658417 is not set -# CONFIG_ARM64_ERRATUM_2054223 is not set -# CONFIG_ARM64_ERRATUM_2067961 is not set -# CONFIG_ARM64_ERRATUM_2441009 is not set -# CONFIG_ARM64_ERRATUM_2645198 is not set -# CONFIG_ARM64_ERRATUM_2966298 is not set -# CONFIG_CAVIUM_ERRATUM_22375 is not set -# CONFIG_CAVIUM_ERRATUM_23154 is not set -# CONFIG_CAVIUM_ERRATUM_27456 is not set -# CONFIG_CAVIUM_ERRATUM_30115 is not set -# CONFIG_CAVIUM_TX2_ERRATUM_219 is not set -# CONFIG_FUJITSU_ERRATUM_010001 is not set -# CONFIG_HISILICON_ERRATUM_161600802 is not set -# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set -# CONFIG_QCOM_FALKOR_ERRATUM_1009 is not set -# 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 is not set -# 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 is not set -CONFIG_ARM64_VA_BITS_48=y -CONFIG_ARM64_VA_BITS=48 -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 is not set -CONFIG_NR_CPUS=6 -CONFIG_HOTPLUG_CPU=y -# CONFIG_NUMA is not set -# CONFIG_HZ_100 is not set -# CONFIG_HZ_250 is not set -CONFIG_HZ_300=y -# CONFIG_HZ_1000 is not set -CONFIG_HZ=300 -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_TRANS_TABLE=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 is not set -CONFIG_ARM64_TAGGED_ADDR_ABI=y -CONFIG_COMPAT=y -CONFIG_KUSER_HELPERS=y -# CONFIG_COMPAT_ALIGNMENT_FIXUPS is not set -# CONFIG_ARMV8_DEPRECATED is not set - -# -# ARMv8.1 architectural features -# -# CONFIG_ARM64_HW_AFDBM is not set -# CONFIG_ARM64_PAN is not set -CONFIG_AS_HAS_LSE_ATOMICS=y -# CONFIG_ARM64_USE_LSE_ATOMICS is not set -# end of ARMv8.1 architectural features - -# -# ARMv8.2 architectural features -# -CONFIG_AS_HAS_ARMV8_2=y -CONFIG_AS_HAS_SHA3=y -# CONFIG_ARM64_PMEM is not set -# CONFIG_ARM64_RAS_EXTN is not set -# CONFIG_ARM64_CNP is not set -# end of ARMv8.2 architectural features - -# -# ARMv8.3 architectural features -# -# CONFIG_ARM64_PTR_AUTH is not set -CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y -CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y -# CONFIG_AS_HAS_ARMV8_3 is not set -CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y -# end of ARMv8.3 architectural features - -# -# ARMv8.4 architectural features -# -# CONFIG_ARM64_AMU_EXTN is not set -CONFIG_AS_HAS_ARMV8_4=y -# CONFIG_ARM64_TLB_RANGE is not set -# 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 is not set -CONFIG_ARM64_AS_HAS_MTE=y -# end of ARMv8.5 architectural features - -# -# ARMv8.7 architectural features -# -# 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 is not set -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 is not set -CONFIG_HIBERNATE_CALLBACKS=y -CONFIG_HIBERNATION=y -# CONFIG_HIBERNATION_SNAPSHOT_DEV is not set -CONFIG_PM_STD_PARTITION="" -CONFIG_PM_SLEEP=y -CONFIG_PM_SLEEP_SMP=y -# CONFIG_PM_AUTOSLEEP is not set -# 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 is not set -CONFIG_ARCH_HIBERNATION_POSSIBLE=y -CONFIG_ARCH_HIBERNATION_HEADER=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 is not set -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=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_HOTPLUG_CORE_SYNC=y -CONFIG_HOTPLUG_CORE_SYNC_DEAD=y -# CONFIG_KPROBES is not set -CONFIG_JUMP_LABEL=y -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 - -# -# 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=y -# CONFIG_GCC_PLUGIN_LATENT_ENTROPY 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 is not set -CONFIG_MODULE_UNLOAD=y -# CONFIG_MODULE_FORCE_UNLOAD is not set -# 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 is not set -CONFIG_BLK_DEV_BSG_COMMON=y -CONFIG_BLK_DEV_BSGLIB=y -# CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_DEV_ZONED is not set -CONFIG_BLK_DEV_THROTTLING=y -# 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 is not set -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_PM=y - -# -# IO Schedulers -# -CONFIG_MQ_IOSCHED_DEADLINE=y -CONFIG_MQ_IOSCHED_KYBER=y -# CONFIG_IOSCHED_BFQ is not set -# end of IO Schedulers - -CONFIG_ASN1=y -CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y -CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y -CONFIG_ARCH_INLINE_SPIN_LOCK=y -CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y -CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y -CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y -CONFIG_ARCH_INLINE_READ_LOCK=y -CONFIG_ARCH_INLINE_READ_LOCK_BH=y -CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y -CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y -CONFIG_ARCH_INLINE_READ_UNLOCK=y -CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y -CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y -CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y -CONFIG_ARCH_INLINE_WRITE_LOCK=y -CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y -CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y -CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=y -CONFIG_INLINE_SPIN_TRYLOCK=y -CONFIG_INLINE_SPIN_TRYLOCK_BH=y -CONFIG_INLINE_SPIN_LOCK=y -CONFIG_INLINE_SPIN_LOCK_BH=y -CONFIG_INLINE_SPIN_LOCK_IRQ=y -CONFIG_INLINE_SPIN_LOCK_IRQSAVE=y -CONFIG_INLINE_SPIN_UNLOCK_BH=y -CONFIG_INLINE_SPIN_UNLOCK_IRQ=y -CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE=y -CONFIG_INLINE_READ_LOCK=y -CONFIG_INLINE_READ_LOCK_BH=y -CONFIG_INLINE_READ_LOCK_IRQ=y -CONFIG_INLINE_READ_LOCK_IRQSAVE=y -CONFIG_INLINE_READ_UNLOCK=y -CONFIG_INLINE_READ_UNLOCK_BH=y -CONFIG_INLINE_READ_UNLOCK_IRQ=y -CONFIG_INLINE_READ_UNLOCK_IRQRESTORE=y -CONFIG_INLINE_WRITE_LOCK=y -CONFIG_INLINE_WRITE_LOCK_BH=y -CONFIG_INLINE_WRITE_LOCK_IRQ=y -CONFIG_INLINE_WRITE_LOCK_IRQSAVE=y -CONFIG_INLINE_WRITE_UNLOCK=y -CONFIG_INLINE_WRITE_UNLOCK_BH=y -CONFIG_INLINE_WRITE_UNLOCK_IRQ=y -CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE=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 is not set -CONFIG_BINFMT_SCRIPT=y -# CONFIG_BINFMT_MISC is not set -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_SLAB_DEPRECATED is not set -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_EXCLUSIVE_SYSTEM_RAM=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_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=y -# CONFIG_LRU_GEN_ENABLED is not set -# CONFIG_LRU_GEN_STATS 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 is not set -# CONFIG_TLS is not set -# CONFIG_XFRM_USER is not set -# CONFIG_NET_KEY is not set -# CONFIG_XDP_SOCKETS is not set -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -# CONFIG_IP_ADVANCED_ROUTER is not set -# CONFIG_IP_PNP is not set -CONFIG_NET_IPIP=m -CONFIG_NET_IPGRE_DEMUX=m -CONFIG_NET_IP_TUNNEL=m -CONFIG_NET_IPGRE=m -# CONFIG_NET_IPGRE_BROADCAST is not set -# CONFIG_IP_MROUTE is not set -# CONFIG_SYN_COOKIES is not set -# CONFIG_NET_IPVTI is not set -CONFIG_NET_UDP_TUNNEL=m -# CONFIG_NET_FOU is not set -# CONFIG_NET_FOU_IP_TUNNELS is not set -# CONFIG_INET_AH is not set -# CONFIG_INET_ESP is not set -# CONFIG_INET_IPCOMP is not set -CONFIG_INET_TABLE_PERTURB_ORDER=16 -CONFIG_INET_TUNNEL=m -# CONFIG_INET_DIAG is not set -# CONFIG_TCP_CONG_ADVANCED is not set -CONFIG_TCP_CONG_CUBIC=y -CONFIG_DEFAULT_TCP_CONG="cubic" -CONFIG_TCP_SIGPOOL=y -CONFIG_TCP_MD5SIG=y -CONFIG_IPV6=m -# CONFIG_IPV6_ROUTER_PREF is not set -# CONFIG_IPV6_OPTIMISTIC_DAD is not set -# CONFIG_INET6_AH is not set -# CONFIG_INET6_ESP is not set -# CONFIG_INET6_IPCOMP is not set -# CONFIG_IPV6_MIP6 is not set -# CONFIG_IPV6_ILA is not set -# CONFIG_IPV6_VTI is not set -CONFIG_IPV6_SIT=m -# CONFIG_IPV6_SIT_6RD is not set -CONFIG_IPV6_NDISC_NODETYPE=y -# CONFIG_IPV6_TUNNEL is not set -# CONFIG_IPV6_GRE is not set -# CONFIG_IPV6_MULTIPLE_TABLES is not set -# CONFIG_IPV6_MROUTE is not set -# CONFIG_IPV6_SEG6_LWTUNNEL is not set -# CONFIG_IPV6_SEG6_HMAC is not set -# CONFIG_IPV6_RPL_LWTUNNEL is not set -# CONFIG_IPV6_IOAM6_LWTUNNEL 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=m - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_INGRESS=y -CONFIG_NETFILTER_EGRESS=y -CONFIG_NETFILTER_FAMILY_BRIDGE=y -CONFIG_NETFILTER_BPF_LINK=y -# CONFIG_NETFILTER_NETLINK_ACCT is not set -# CONFIG_NETFILTER_NETLINK_QUEUE is not set -# CONFIG_NETFILTER_NETLINK_LOG is not set -# CONFIG_NETFILTER_NETLINK_OSF is not set -CONFIG_NF_CONNTRACK=m -CONFIG_NF_LOG_SYSLOG=m -# CONFIG_NF_CONNTRACK_MARK is not set -# CONFIG_NF_CONNTRACK_ZONES is not set -CONFIG_NF_CONNTRACK_PROCFS=y -CONFIG_NF_CONNTRACK_EVENTS=y -# CONFIG_NF_CONNTRACK_TIMEOUT is not set -# CONFIG_NF_CONNTRACK_TIMESTAMP is not set -# CONFIG_NF_CONNTRACK_LABELS is not set -CONFIG_NF_CT_PROTO_DCCP=y -CONFIG_NF_CT_PROTO_SCTP=y -CONFIG_NF_CT_PROTO_UDPLITE=y -# CONFIG_NF_CONNTRACK_AMANDA is not set -# CONFIG_NF_CONNTRACK_FTP is not set -# CONFIG_NF_CONNTRACK_H323 is not set -# CONFIG_NF_CONNTRACK_IRC is not set -# CONFIG_NF_CONNTRACK_NETBIOS_NS is not set -# CONFIG_NF_CONNTRACK_SNMP is not set -# CONFIG_NF_CONNTRACK_PPTP is not set -# CONFIG_NF_CONNTRACK_SANE is not set -# CONFIG_NF_CONNTRACK_SIP is not set -# CONFIG_NF_CONNTRACK_TFTP is not set -# CONFIG_NF_CT_NETLINK is not set -CONFIG_NF_NAT=m -CONFIG_NF_NAT_MASQUERADE=y -# CONFIG_NF_TABLES is not set -CONFIG_NETFILTER_XTABLES=y -CONFIG_NETFILTER_XTABLES_COMPAT=y - -# -# Xtables combined modules -# -# CONFIG_NETFILTER_XT_MARK is not set -# CONFIG_NETFILTER_XT_CONNMARK is not set - -# -# Xtables targets -# -CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set -# CONFIG_NETFILTER_XT_TARGET_CONNMARK is not set -# CONFIG_NETFILTER_XT_TARGET_DSCP is not set -# CONFIG_NETFILTER_XT_TARGET_HL is not set -# CONFIG_NETFILTER_XT_TARGET_HMARK is not set -# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set -# CONFIG_NETFILTER_XT_TARGET_LED is not set -CONFIG_NETFILTER_XT_TARGET_LOG=m -# CONFIG_NETFILTER_XT_TARGET_MARK is not set -CONFIG_NETFILTER_XT_NAT=m -# CONFIG_NETFILTER_XT_TARGET_NETMAP is not set -# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set -# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set -# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set -# CONFIG_NETFILTER_XT_TARGET_REDIRECT is not set -CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m -# CONFIG_NETFILTER_XT_TARGET_TEE is not set -# CONFIG_NETFILTER_XT_TARGET_TPROXY is not set -# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set -# CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP is not set - -# -# Xtables matches -# -# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_BPF is not set -# CONFIG_NETFILTER_XT_MATCH_CGROUP is not set -# CONFIG_NETFILTER_XT_MATCH_CLUSTER is not set -# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set -# CONFIG_NETFILTER_XT_MATCH_CONNBYTES is not set -# CONFIG_NETFILTER_XT_MATCH_CONNLABEL is not set -# CONFIG_NETFILTER_XT_MATCH_CONNLIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_CONNMARK is not set -# CONFIG_NETFILTER_XT_MATCH_CONNTRACK is not set -# CONFIG_NETFILTER_XT_MATCH_CPU is not set -# CONFIG_NETFILTER_XT_MATCH_DCCP is not set -# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set -# CONFIG_NETFILTER_XT_MATCH_DSCP is not set -# CONFIG_NETFILTER_XT_MATCH_ECN is not set -# CONFIG_NETFILTER_XT_MATCH_ESP is not set -# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_HELPER is not set -# CONFIG_NETFILTER_XT_MATCH_HL is not set -# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set -# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set -# CONFIG_NETFILTER_XT_MATCH_L2TP is not set -# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set -# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set -# CONFIG_NETFILTER_XT_MATCH_MAC is not set -# CONFIG_NETFILTER_XT_MATCH_MARK is not set -# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set -# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set -# CONFIG_NETFILTER_XT_MATCH_OSF is not set -# CONFIG_NETFILTER_XT_MATCH_OWNER is not set -# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set -# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set -# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set -# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set -# CONFIG_NETFILTER_XT_MATCH_REALM is not set -# CONFIG_NETFILTER_XT_MATCH_RECENT is not set -# CONFIG_NETFILTER_XT_MATCH_SCTP is not set -# CONFIG_NETFILTER_XT_MATCH_SOCKET is not set -# CONFIG_NETFILTER_XT_MATCH_STATE is not set -# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set -# CONFIG_NETFILTER_XT_MATCH_STRING is not set -# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set -# CONFIG_NETFILTER_XT_MATCH_TIME is not set -# CONFIG_NETFILTER_XT_MATCH_U32 is not set -# end of Core Netfilter Configuration - -# CONFIG_IP_SET is not set -# CONFIG_IP_VS is not set - -# -# IP: Netfilter Configuration -# -CONFIG_NF_DEFRAG_IPV4=m -# CONFIG_NF_SOCKET_IPV4 is not set -# CONFIG_NF_TPROXY_IPV4 is not set -# CONFIG_NF_DUP_IPV4 is not set -# CONFIG_NF_LOG_ARP is not set -CONFIG_NF_LOG_IPV4=m -CONFIG_NF_REJECT_IPV4=m -CONFIG_IP_NF_IPTABLES=y -# CONFIG_IP_NF_MATCH_AH is not set -# CONFIG_IP_NF_MATCH_ECN is not set -# CONFIG_IP_NF_MATCH_RPFILTER is not set -# CONFIG_IP_NF_MATCH_TTL is not set -CONFIG_IP_NF_FILTER=y -CONFIG_IP_NF_TARGET_REJECT=m -# CONFIG_IP_NF_TARGET_SYNPROXY is not set -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_TARGET_MASQUERADE=m -# CONFIG_IP_NF_TARGET_NETMAP is not set -# CONFIG_IP_NF_TARGET_REDIRECT is not set -CONFIG_IP_NF_MANGLE=m -# CONFIG_IP_NF_TARGET_ECN is not set -# CONFIG_IP_NF_TARGET_TTL is not set -# CONFIG_IP_NF_RAW is not set -# CONFIG_IP_NF_ARPTABLES is not set -# end of IP: Netfilter Configuration - -# -# IPv6: Netfilter Configuration -# -# CONFIG_NF_SOCKET_IPV6 is not set -# CONFIG_NF_TPROXY_IPV6 is not set -# CONFIG_NF_DUP_IPV6 is not set -# CONFIG_NF_REJECT_IPV6 is not set -# CONFIG_NF_LOG_IPV6 is not set -# CONFIG_IP6_NF_IPTABLES is not set -# end of IPv6: Netfilter Configuration - -CONFIG_NF_DEFRAG_IPV6=m -# CONFIG_NF_CONNTRACK_BRIDGE is not set -# CONFIG_BRIDGE_NF_EBTABLES is not set -# CONFIG_BPFILTER is not set -# 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=m -CONFIG_BRIDGE=m -CONFIG_BRIDGE_IGMP_SNOOPING=y -# CONFIG_BRIDGE_MRP is not set -# CONFIG_BRIDGE_CFM is not set -# CONFIG_NET_DSA is not set -# CONFIG_VLAN_8021Q is not set -CONFIG_LLC=m -# 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_6LOWPAN is not set -# CONFIG_IEEE802154 is not set -# CONFIG_NET_SCHED is not set -# CONFIG_DCB is not set -CONFIG_DNS_RESOLVER=y -# CONFIG_BATMAN_ADV is not set -# CONFIG_OPENVSWITCH is not set -# CONFIG_VSOCKETS is not set -# CONFIG_NETLINK_DIAG is not set -# CONFIG_MPLS is not set -# CONFIG_NET_NSH is not set -# CONFIG_HSR is not set -# CONFIG_NET_SWITCHDEV is not set -# CONFIG_NET_L3_MASTER_DEV is not set -# 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 is not set -# CONFIG_CGROUP_NET_CLASSID is not set -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 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_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_MTK=m -CONFIG_BT_HCIBTUSB=m -CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y -CONFIG_BT_HCIBTUSB_POLL_SYNC=y -CONFIG_BT_HCIBTUSB_BCM=y -CONFIG_BT_HCIBTUSB_MTK=y -CONFIG_BT_HCIBTUSB_RTL=y -CONFIG_BT_HCIBTSDIO=m -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 is not set -# CONFIG_BT_HCIUART_LL is not set -CONFIG_BT_HCIUART_3WIRE=y -# CONFIG_BT_HCIUART_INTEL is not set -# CONFIG_BT_HCIUART_BCM is not set -CONFIG_BT_HCIUART_RTL=y -# 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_HCIBPA10X is not set -CONFIG_BT_HCIBFUSB=m -# CONFIG_BT_HCIVHCI is not set -# CONFIG_BT_MRVL is not set -# 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_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_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 is not set -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 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 is not set -# CONFIG_PCCARD is not set - -# -# Generic Driver Options -# -# CONFIG_UEVENT_HELPER is not set -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_DEVTMPFS_SAFE is not set -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y - -# -# Firmware loader -# -CONFIG_FW_LOADER=y -CONFIG_FW_LOADER_DEBUG=y -CONFIG_EXTRA_FIRMWARE="" -# CONFIG_FW_LOADER_USER_HELPER is not set -# 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=y -CONFIG_DEV_COREDUMP=y -# CONFIG_DEBUG_DRIVER is not set -# CONFIG_DEBUG_DEVRES is not set -# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set -# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set -CONFIG_GENERIC_CPU_AUTOPROBE=y -CONFIG_GENERIC_CPU_VULNERABILITIES=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 is not set - -# -# Firmware Drivers -# - -# -# ARM System Control and Management Interface Protocol -# -# CONFIG_ARM_SCMI_PROTOCOL is not set -# end of ARM System Control and Management Interface Protocol - -CONFIG_ARM_SCPI_PROTOCOL=y -CONFIG_ARM_SCPI_POWER_DOMAIN=y -# CONFIG_FIRMWARE_MEMMAP is not set -# CONFIG_ARM_FFA_TRANSPORT is not set -# 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 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_ZRAM=y -CONFIG_ZRAM_DEF_COMP_LZORLE=y -# CONFIG_ZRAM_DEF_COMP_LZ4 is not set -# CONFIG_ZRAM_DEF_COMP_LZO is not set -CONFIG_ZRAM_DEF_COMP="lzo-rle" -# CONFIG_ZRAM_WRITEBACK 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 is not set -CONFIG_BLK_DEV_NBD=m -# CONFIG_BLK_DEV_RAM is not set -# CONFIG_CDROM_PKTCDVD is not set -# CONFIG_ATA_OVER_ETH is not set -# CONFIG_BLK_DEV_RBD is not set -# CONFIG_BLK_DEV_UBLK is not set - -# -# NVME Support -# -# CONFIG_NVME_FC is not set -# CONFIG_NVME_TCP 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_ICS932S401 is not set -# CONFIG_ENCLOSURE_SERVICES 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_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=m -# CONFIG_EEPROM_93XX46 is not set -# CONFIG_EEPROM_IDT_89HPESX is not set -# CONFIG_EEPROM_EE1004 is not set -# end of EEPROM support - -# -# 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_ECHO is not set -# CONFIG_MISC_RTSX_USB is not set -# CONFIG_UACCE is not set -# CONFIG_PVPANIC is not set -# end of Misc devices - -# -# SCSI device support -# -CONFIG_SCSI_MOD=y -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI_COMMON=y -CONFIG_SCSI=y -CONFIG_SCSI_DMA=y -# CONFIG_SCSI_PROC_FS is not set - -# -# SCSI support type (disk, tape, CD-ROM) -# -CONFIG_BLK_DEV_SD=y -# CONFIG_CHR_DEV_ST is not set -# CONFIG_BLK_DEV_SR is not set -# 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 is not set - -# -# SCSI Transports -# -# CONFIG_SCSI_SPI_ATTRS is not set -# CONFIG_SCSI_FC_ATTRS is not set -# CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_ATTRS is not set -# 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_DEBUG is not set -# CONFIG_SCSI_DH is not set -# end of SCSI device support - -# CONFIG_ATA is not set -# CONFIG_MD is not set -# CONFIG_TARGET_CORE is not set -CONFIG_NETDEVICES=y -CONFIG_MII=y -CONFIG_NET_CORE=y -# CONFIG_BONDING is not set -# CONFIG_DUMMY is not set -CONFIG_WIREGUARD=m -# CONFIG_WIREGUARD_DEBUG is not set -# CONFIG_EQUALIZER is not set -# CONFIG_NET_TEAM is not set -# CONFIG_MACVLAN is not set -# CONFIG_IPVLAN is not set -# CONFIG_VXLAN is not set -# 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=y -CONFIG_VETH=m -CONFIG_NLMON=m -# CONFIG_NETKIT is not set -# CONFIG_ETHERNET 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_VITESSE_PHY is not set -# CONFIG_XILINX_GMII2RGMII is not set -# CONFIG_MICREL_KS8995MA is not set -# CONFIG_PSE_CONTROLLER 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 - -# -# MDIO Multiplexers -# -CONFIG_MDIO_BUS_MUX=y -CONFIG_MDIO_BUS_MUX_GPIO=y -CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y -CONFIG_MDIO_BUS_MUX_MMIOREG=y - -# -# PCS device drivers -# -# end of PCS device drivers - -# CONFIG_PPP is not set -# CONFIG_SLIP is not set -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=m -# 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 is not set -# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set -# CONFIG_USB_NET_CDC_MBIM is not set -# 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 is not set -# 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 is not set -# 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=m -CONFIG_WLAN=y -# CONFIG_WLAN_VENDOR_ADMTEK is not set -# CONFIG_WLAN_VENDOR_ATH is not set -# CONFIG_WLAN_VENDOR_ATMEL is not set -# CONFIG_WLAN_VENDOR_BROADCOM is not set -# CONFIG_WLAN_VENDOR_CISCO is not set -# CONFIG_WLAN_VENDOR_INTEL is not set -# CONFIG_WLAN_VENDOR_INTERSIL is not set -# CONFIG_WLAN_VENDOR_MARVELL is not set -# CONFIG_WLAN_VENDOR_MEDIATEK is not set -# CONFIG_WLAN_VENDOR_MICROCHIP is not set -# CONFIG_WLAN_VENDOR_PURELIFI is not set -# CONFIG_WLAN_VENDOR_RALINK is not set -CONFIG_WLAN_VENDOR_REALTEK=y -CONFIG_RTL8187=m -CONFIG_RTL8187_LEDS=y -CONFIG_RTL_CARDS=m -CONFIG_RTL8192CU=m -CONFIG_RTLWIFI=m -CONFIG_RTLWIFI_USB=m -# CONFIG_RTLWIFI_DEBUG is not set -CONFIG_RTL8192C_COMMON=m -CONFIG_RTL8XXXU=m -CONFIG_RTL8XXXU_UNTESTED=y -CONFIG_RTW88=m -# CONFIG_RTW88_8822BS is not set -# CONFIG_RTW88_8822BU is not set -# CONFIG_RTW88_8822CS is not set -# CONFIG_RTW88_8822CU is not set -# CONFIG_RTW88_8723DS is not set -# CONFIG_RTW88_8723DU is not set -# CONFIG_RTW88_8821CS is not set -# CONFIG_RTW88_8821CU is not set -CONFIG_RTW89=m -# CONFIG_WLAN_VENDOR_RSI is not set -# CONFIG_WLAN_VENDOR_SILABS is not set -# CONFIG_WLAN_VENDOR_ST is not set -# CONFIG_WLAN_VENDOR_TI is not set -# CONFIG_WLAN_VENDOR_ZYDAS is not set -# CONFIG_WLAN_VENDOR_QUANTENNA is not set -# CONFIG_USB_NET_RNDIS_WLAN 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_NETDEVSIM is not set -# CONFIG_NET_FAILOVER is not set -# CONFIG_ISDN is not set - -# -# Input device support -# -CONFIG_INPUT=y -CONFIG_INPUT_LEDS=y -CONFIG_INPUT_FF_MEMLESS=y -CONFIG_INPUT_POLLDEV=y -# CONFIG_INPUT_SPARSEKMAP is not set -CONFIG_INPUT_MATRIXKMAP=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 is not set -# 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=y -# 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_SINGLEADCJOY=y -# CONFIG_JOYSTICK_SENSEHAT is not set -# CONFIG_INPUT_TABLET 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 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 is not set -# 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 is not set -# 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_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 is not set - -# -# Hardware I/O ports -# -# CONFIG_SERIO is not set -# CONFIG_GAMEPORT 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 is not set -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 is not set -# CONFIG_SERIAL_8250_FINTEK is not set -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_DMA=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_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_OF_PLATFORM=y - -# -# Non-8250 serial port support -# -# CONFIG_SERIAL_AMBA_PL010 is not set -# CONFIG_SERIAL_AMBA_PL011 is not set -# 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_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_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_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_DEVMEM=y -CONFIG_DEVPORT=y -# CONFIG_TCG_TPM 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=y -# CONFIG_I2C_MUX_REG is not set -CONFIG_I2C_DEMUX_PINCTRL=y -# CONFIG_I2C_MUX_MLXCPLD is not set -# end of Multiplexer I2C Chip support - -CONFIG_I2C_HELPER_AUTO=y - -# -# I2C Hardware Bus support -# - -# -# 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=m -# CONFIG_I2C_GPIO_FAULT_INJECTOR 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_XILINX is not set - -# -# External I2C/SMBus adapter drivers -# -# CONFIG_I2C_DIOLAN_U2C is not set -# CONFIG_I2C_CP2615 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_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_PL022 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_MXIC 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 is not set -# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set -# CONFIG_PTP_1588_CLOCK_IDTCM is not set -# CONFIG_PTP_1588_CLOCK_MOCK 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_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 -# -# end of MFD 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=y -# 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 is not set -# 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 is not set -# 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 is not set -# 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_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_DS620 is not set -# CONFIG_SENSORS_DS1621 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_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_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_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_VT1211 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_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 is not set -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_MEN_A21_WDT is not set - -# -# USB-based Watchdog Cards -# -# CONFIG_USBPCWATCHDOG is not set -CONFIG_SSB_POSSIBLE=y -CONFIG_SSB=y -CONFIG_SSB_SDIOHOST_POSSIBLE=y -# CONFIG_SSB_SDIOHOST is not set -# CONFIG_SSB_DRIVER_GPIO is not set -CONFIG_BCMA_POSSIBLE=y -CONFIG_BCMA=y -# CONFIG_BCMA_HOST_SOC is not set -# 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_MFD_IQS62X 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_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_TI_AM335X_TSCADC is not set -# 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 is not set -# 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_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_88PG86X is not set -# CONFIG_REGULATOR_ACT8865 is not set -# CONFIG_REGULATOR_AD5398 is not set -# CONFIG_REGULATOR_ARM_SCMI is not set -# 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_VCTRL=y -# CONFIG_RC_CORE is not set -CONFIG_CEC_CORE=y -CONFIG_CEC_NOTIFIER=y - -# -# CEC support -# -# CONFIG_MEDIA_CEC_SUPPORT is not set -# 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 is not set -# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set -# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set -# CONFIG_MEDIA_RADIO_SUPPORT is not set -# CONFIG_MEDIA_SDR_SUPPORT is not set -CONFIG_MEDIA_PLATFORM_SUPPORT=y -# CONFIG_MEDIA_TEST_SUPPORT is not set -# end of Media device types - -CONFIG_VIDEO_DEV=y -CONFIG_MEDIA_CONTROLLER=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_V4L2_H264=m -CONFIG_V4L2_VP9=m -CONFIG_V4L2_MEM2MEM_DEV=y -CONFIG_V4L2_FWNODE=y -CONFIG_V4L2_ASYNC=y -# end of Video4Linux options - -# -# Media controller options -# -CONFIG_MEDIA_CONTROLLER_REQUEST_API=y -# end of Media controller options - -# -# Media drivers -# - -# -# Drivers filtered as selected at 'Filter media drivers' -# - -# -# Media drivers -# -# CONFIG_MEDIA_USB_SUPPORT is not set -CONFIG_MEDIA_PLATFORM_DRIVERS=y -CONFIG_V4L_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 -# - -# -# 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=y - -# -# Samsung media platform drivers -# - -# -# STMicroelectronics media platform drivers -# - -# -# Sunxi media platform drivers -# - -# -# Texas Instruments drivers -# - -# -# Verisilicon media platform drivers -# -CONFIG_VIDEO_HANTRO=m -CONFIG_VIDEO_HANTRO_ROCKCHIP=y - -# -# VIA media platform drivers -# - -# -# Xilinx media platform drivers -# -# CONFIG_VIDEO_XILINX is not set -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 -# end of Media drivers - -# -# Media ancillary drivers -# - -# -# Audio decoders, processors and mixers -# -# CONFIG_VIDEO_CS3308 is not set -# 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 is not set -# CONFIG_VIDEO_TC358743 is not set -# CONFIG_VIDEO_TC358746 is not set -# CONFIG_VIDEO_TVP514X is not set -# CONFIG_VIDEO_TVP5150 is not set -# CONFIG_VIDEO_TVP7002 is not set -# CONFIG_VIDEO_TW2804 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 is not set -# 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 -# -# 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_VIDEO_GS1662 is not set -# end of Media SPI Adapters -# 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_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=200 -# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set -# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set -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 is not set -# CONFIG_DRM_KOMEDA is not set -# end of ARM devices - -# CONFIG_DRM_VGEM is not set -# CONFIG_DRM_VKMS is not set -CONFIG_DRM_ROCKCHIP=y -CONFIG_ROCKCHIP_VOP=y -# CONFIG_ROCKCHIP_VOP2 is not set -# 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_UDL 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 is not set -# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set -# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set -# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set -# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set -# CONFIG_DRM_PANEL_ILITEK_ILI9341 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 is not set -# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set -# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set -# 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_LS054B3SX01=y -# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set -# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set -# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set -# CONFIG_DRM_PANEL_SITRONIX_ST7789V 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=m -# 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=m -# 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_KIRIN is not set -# CONFIG_DRM_LOGICVC is not set -# CONFIG_DRM_ARCPGU is not set -# CONFIG_DRM_GM12U320 is not set -# CONFIG_DRM_PANEL_MIPI_DBI is not set -# 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_LEGACY is not set -CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y - -# -# Frame buffer Devices -# -CONFIG_FB=y -# CONFIG_FB_ARMCLCD is not set -# CONFIG_FB_OPENCORES is not set -# CONFIG_FB_S1D13XXX 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_SIMPLE is not set -# CONFIG_FB_SSD1307 is not set -CONFIG_FB_CORE=y -CONFIG_FB_NOTIFY=y -# CONFIG_FIRMWARE_EDID is not set -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_SYS_FOPS=y -CONFIG_FB_DEFERRED_IO=y -CONFIG_FB_DMAMEM_HELPERS=y -CONFIG_FB_IOMEM_FOPS=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_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 is not set -# 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_SEQ_DEVICE=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 is not set -# CONFIG_SND_DYNAMIC_MINORS is not set -# CONFIG_SND_SUPPORT_OLD_API is not set -CONFIG_SND_PROC_FS=y -# CONFIG_SND_VERBOSE_PROCFS is not set -# CONFIG_SND_VERBOSE_PRINTK is not set -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 is not set -# CONFIG_SND_SEQ_UMP is not set -# CONFIG_SND_DRIVERS is not set - -# -# HD-Audio -# -# end of HD-Audio - -CONFIG_SND_HDA_PREALLOC_SIZE=64 -# CONFIG_SND_SPI is not set -# CONFIG_SND_USB 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 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_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 is not set -# 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=m -# 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_I2C is not set -# CONFIG_SND_SOC_ES8328_SPI is not set -# 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 is not set -# 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 is not set -# 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 is not set -# 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 is not set -# CONFIG_SND_TEST_COMPONENT is not set -CONFIG_HID_SUPPORT=y -CONFIG_HID=y -# CONFIG_HID_BATTERY_STRENGTH is not set -CONFIG_HIDRAW=y -CONFIG_UHID=y -CONFIG_HID_GENERIC=y - -# -# Special HID drivers -# -# CONFIG_HID_A4TECH is not set -# CONFIG_HID_ACRUX is not set -# CONFIG_HID_APPLE is not set -# CONFIG_HID_AUREAL is not set -# CONFIG_HID_BELKIN is not set -# CONFIG_HID_CHERRY is not set -# CONFIG_HID_COUGAR is not set -# CONFIG_HID_MACALLY is not set -# CONFIG_HID_CMEDIA is not set -# CONFIG_HID_CYPRESS is not set -# CONFIG_HID_DRAGONRISE is not set -# CONFIG_HID_EMS_FF is not set -# CONFIG_HID_ELECOM is not set -# CONFIG_HID_EVISION is not set -# CONFIG_HID_EZKEY is not set -# CONFIG_HID_GEMBIRD is not set -# CONFIG_HID_GFRM is not set -# CONFIG_HID_GLORIOUS is not set -# CONFIG_HID_GOOGLE_STADIA_FF is not set -# CONFIG_HID_VIVALDI is not set -# CONFIG_HID_KEYTOUCH is not set -# CONFIG_HID_KYE is not set -# CONFIG_HID_WALTOP is not set -# CONFIG_HID_VIEWSONIC is not set -# CONFIG_HID_VRC2 is not set -# CONFIG_HID_XIAOMI is not set -# CONFIG_HID_GYRATION is not set -# CONFIG_HID_ICADE is not set -# CONFIG_HID_ITE is not set -# CONFIG_HID_JABRA is not set -# CONFIG_HID_TWINHAN is not set -# CONFIG_HID_KENSINGTON is not set -# CONFIG_HID_LCPOWER is not set -# CONFIG_HID_LED is not set -# CONFIG_HID_LENOVO is not set -# CONFIG_HID_MAGICMOUSE is not set -# CONFIG_HID_MALTRON is not set -# CONFIG_HID_MAYFLASH is not set -# CONFIG_HID_REDRAGON is not set -# CONFIG_HID_MICROSOFT is not set -# CONFIG_HID_MONTEREY is not set -# CONFIG_HID_MULTITOUCH is not set -# CONFIG_HID_NINTENDO is not set -# CONFIG_HID_NTI is not set -# CONFIG_HID_ORTEK is not set -# CONFIG_HID_PANTHERLORD is not set -# CONFIG_HID_PETALYNX is not set -# CONFIG_HID_PICOLCD is not set -# CONFIG_HID_PLANTRONICS is not set -# CONFIG_HID_PXRC is not set -# CONFIG_HID_RAZER is not set -# CONFIG_HID_PRIMAX is not set -# CONFIG_HID_SAITEK is not set -# CONFIG_HID_SEMITEK is not set -# CONFIG_HID_SPEEDLINK is not set -# CONFIG_HID_STEAM is not set -# CONFIG_HID_SUNPLUS is not set -# CONFIG_HID_RMI is not set -# CONFIG_HID_GREENASIA is not set -# CONFIG_HID_SMARTJOYPLUS is not set -# CONFIG_HID_TIVO is not set -# CONFIG_HID_TOPSEED is not set -# CONFIG_HID_TOPRE is not set -# CONFIG_HID_THINGM is not set -# CONFIG_HID_UDRAW_PS3 is not set -# CONFIG_HID_WIIMOTE is not set -# CONFIG_HID_XINMO is not set -# CONFIG_HID_ZEROPLUS is not set -# CONFIG_HID_ZYDACRON is not set -# CONFIG_HID_SENSOR_HUB is not set -# CONFIG_HID_ALPS is not set -# end of Special HID drivers - -# -# HID-BPF support -# -# end of HID-BPF support - -# -# USB HID support -# -# CONFIG_USB_HID is not set -# CONFIG_HID_PID is not set - -# -# USB HID Boot Protocol drivers -# -# CONFIG_USB_KBD is not set -# CONFIG_USB_MOUSE is not set -# end of USB HID Boot Protocol drivers -# 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_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_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_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_SSB is not set -CONFIG_USB_OHCI_HCD_PLATFORM=y -# 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=m -# 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 is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_STORAGE_KARMA is not set -# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set -# CONFIG_USB_STORAGE_ENE_UB6250 is not set -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_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_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 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 is not set -# 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 is not set -# CONFIG_USB_GADGET_DEBUG_FS is not set -CONFIG_USB_GADGET_VBUS_DRAW=500 -CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 - -# -# 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_NET2272 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_CONFIGFS 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 is not set -# CONFIG_USB_FUNCTIONFS is not set -# CONFIG_USB_MASS_STORAGE is not set -# CONFIG_USB_G_SERIAL is not set -# 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 -# 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_SIMPLE=y -CONFIG_MMC_BLOCK=y -CONFIG_MMC_BLOCK_MINORS=32 -# CONFIG_SDIO_UART is not set -# CONFIG_MMC_TEST is not set - -# -# 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_PLTFM=y -CONFIG_MMC_SDHCI_OF_ARASAN=y -# CONFIG_MMC_SDHCI_OF_AT91 is not set -# CONFIG_MMC_SDHCI_OF_DWCMSHC is not set -# CONFIG_MMC_SDHCI_CADENCE is not set -# CONFIG_MMC_SDHCI_F_SDH30 is not set -# CONFIG_MMC_SDHCI_MILBEAUT is not set -# CONFIG_MMC_SPI 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_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 is not set -# CONFIG_MMC_MTK is not set -# CONFIG_MMC_SDHCI_XENON is not set -# CONFIG_MMC_SDHCI_OMAP is not set -# CONFIG_MMC_SDHCI_AM654 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 is not set - -# -# 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_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 is not set -# CONFIG_RTC_DRV_MAX6900 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_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_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_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_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_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 is not set -# CONFIG_DMABUF_MOVE_NOTIFY is not set -# CONFIG_DMABUF_DEBUG is not set -# CONFIG_DMABUF_SELFTESTS is not set -# CONFIG_DMABUF_HEAPS is not set -# CONFIG_DMABUF_SYSFS_STATS is not set -# 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_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_STAGING_MEDIA=y -# CONFIG_VIDEO_MAX96712 is not set -CONFIG_VIDEO_ROCKCHIP_VDEC=m -CONFIG_STAGING_MEDIA_DEPRECATED=y - -# -# Atmel media platform drivers -# -# 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_GOLDFISH is not set -# CONFIG_CHROME_PLATFORMS 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 is not set -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 is not set -# CONFIG_CLK_RK3308 is not set -# CONFIG_CLK_RK3328 is not set -# CONFIG_CLK_RK3368 is not set -CONFIG_CLK_RK3399=y -# CONFIG_CLK_RK3568 is not set -# CONFIG_CLK_RK3588 is not set -# 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 - -# -# 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_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_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_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_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 -# -# 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_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_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_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_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 is not set -# CONFIG_SENSORS_ISL29028 is not set -# CONFIG_ISL29125 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_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 is not set -# CONFIG_TSL2583 is not set -# 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_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_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 -# -# 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 -# -# 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_HP03 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_MLX90614 is not set -# CONFIG_MLX90632 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 -# end of Temperature sensors - -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_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_V3=y -CONFIG_ARM_GIC_V3_ITS=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 -# CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set -CONFIG_PHY_ROCKCHIP_INNO_USB2=y -# CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY is not set -# CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set -# CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY is not set -CONFIG_PHY_ROCKCHIP_PCIE=y -# CONFIG_PHY_ROCKCHIP_SNPS_PCIE3 is not set -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 is not set -CONFIG_ARM_PMUV3=y -# CONFIG_ARM_DSU_PMU is not set -# CONFIG_ARM_SPE_PMU is not set -# CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU is not set -# end of Performance monitor support - -CONFIG_RAS=y - -# -# 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 - -# -# 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=m -CONFIG_NVMEM_ROCKCHIP_EFUSE=y -CONFIG_NVMEM_ROCKCHIP_OTP=m - -# -# HW tracing support -# -# CONFIG_STM is not set -# CONFIG_INTEL_TH 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_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 is not set -CONFIG_FUSE_FS=y -# CONFIG_CUSE is not set -# CONFIG_VIRTIO_FS is not set -CONFIG_OVERLAY_FS=y -CONFIG_OVERLAY_FS_REDIRECT_DIR=y -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 -# -CONFIG_NETFS_SUPPORT=y -# CONFIG_NETFS_STATS is not set -CONFIG_FSCACHE=y -# CONFIG_FSCACHE_STATS is not set -# CONFIG_FSCACHE_DEBUG is not set -# CONFIG_CACHEFILES is not set -# 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_CRAMFS is not set -CONFIG_SQUASHFS=y -CONFIG_SQUASHFS_FILE_CACHE=y -# CONFIG_SQUASHFS_FILE_DIRECT is not set -CONFIG_SQUASHFS_DECOMP_SINGLE=y -# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set -CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y -# 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=3 -# 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=y -# CONFIG_USER_DECRYPTED_DATA is not set -# CONFIG_KEY_DH_OPERATIONS is not set -# CONFIG_SECURITY_DMESG_RESTRICT is not set -# CONFIG_SECURITY is not set -CONFIG_SECURITYFS=y -# CONFIG_HARDENED_USERCOPY is not set -# CONFIG_FORTIFY_SOURCE is not set -# CONFIG_STATIC_USERMODEHELPER is not set -CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf" - -# -# 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_GCC_PLUGIN_STACKLEAK 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 -# CONFIG_RANDSTRUCT_FULL is not set -# CONFIG_RANDSTRUCT_PERFORMANCE is not set -# end of Kernel hardening options -# end of Security options - -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 is not set -# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set -# CONFIG_CRYPTO_MANAGER_EXTRA_TESTS is not set -CONFIG_CRYPTO_NULL=y -CONFIG_CRYPTO_NULL2=y -# CONFIG_CRYPTO_PCRYPT is not set -CONFIG_CRYPTO_CRYPTD=y -CONFIG_CRYPTO_AUTHENC=y -# CONFIG_CRYPTO_TEST is not set -CONFIG_CRYPTO_ENGINE=m -# 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 is not set -CONFIG_CRYPTO_CBC=y -# CONFIG_CRYPTO_CFB is not set -CONFIG_CRYPTO_CTR=y -# CONFIG_CRYPTO_CTS is not set -CONFIG_CRYPTO_ECB=y -# CONFIG_CRYPTO_HCTR2 is not set -# CONFIG_CRYPTO_KEYWRAP is not set -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_OFB is not set -# CONFIG_CRYPTO_PCBC is not set -# CONFIG_CRYPTO_XTS is not set -# end of Length-preserving ciphers and modes - -# -# AEAD (authenticated encryption with associated data) ciphers -# -# CONFIG_CRYPTO_AEGIS128 is not set -# CONFIG_CRYPTO_CHACHA20POLY1305 is not set -CONFIG_CRYPTO_CCM=y -CONFIG_CRYPTO_GCM=y -CONFIG_CRYPTO_GENIV=y -CONFIG_CRYPTO_SEQIV=y -CONFIG_CRYPTO_ECHAINIV=y -CONFIG_CRYPTO_ESSIV=m -# 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=y -CONFIG_CRYPTO_MD5=y -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_POLY1305 is not set -# 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 is not set -# 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 is not set -# CONFIG_CRYPTO_ZSTD is not set -# 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 is not set -# CONFIG_CRYPTO_USER_API_AEAD is not set -CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y -# end of Userspace interface - -CONFIG_CRYPTO_HASH_INFO=y -# CONFIG_CRYPTO_NHPOLY1305_NEON is not set -CONFIG_CRYPTO_CHACHA20_NEON=y - -# -# Accelerated Cryptographic Algorithms for CPU (arm64) -# -# CONFIG_CRYPTO_GHASH_ARM64_CE is not set -CONFIG_CRYPTO_POLY1305_NEON=y -# CONFIG_CRYPTO_SHA1_ARM64_CE is not set -# CONFIG_CRYPTO_SHA256_ARM64 is not set -# CONFIG_CRYPTO_SHA2_ARM64_CE is not set -# CONFIG_CRYPTO_SHA512_ARM64 is not set -# CONFIG_CRYPTO_SHA512_ARM64_CE is not set -# 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 is not set -# CONFIG_CRYPTO_AES_ARM64_CE is not set -# CONFIG_CRYPTO_AES_ARM64_CE_BLK is not set -# CONFIG_CRYPTO_AES_ARM64_NEON_BLK is not set -# CONFIG_CRYPTO_AES_ARM64_BS is not set -# 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 is not set -# 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_ROCKCHIP=m -CONFIG_CRYPTO_DEV_ROCKCHIP_DEBUG=y -# 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_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=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_LZ4_DECOMPRESS=y -CONFIG_ZSTD_COMMON=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_XARRAY_MULTI=y -CONFIG_ASSOCIATIVE_ARRAY=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=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_NLATTR=y -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_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_LEB128=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_TABLE_CHECK 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=y -# CONFIG_DEBUG_PER_CPU_MAPS is not set -CONFIG_HAVE_ARCH_KASAN=y -CONFIG_HAVE_ARCH_KASAN_SW_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 - -# -# 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_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_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/RK-ARMV8-A/options b/projects/Rockchip/devices/RK-ARMV8-A/options deleted file mode 100644 index 078ba94d7..000000000 --- a/projects/Rockchip/devices/RK-ARMV8-A/options +++ /dev/null @@ -1,161 +0,0 @@ -################################################################################ -# setup device defaults -################################################################################ - - # The TARGET_CPU variable controls which processor should be targeted for - # generated code. - case $TARGET_ARCH in - aarch64) - TARGET_KERNEL_ARCH="arm64" - TARGET_PATCH_ARCH="aarch64" - TARGET_FLOAT="hard" - TARGET_CPU="generic" - TARGET_CPU_FLAGS="+crc+fp+simd+crypto" - TARGET_FPU="fp-armv8" - TARGET_FEATURES="64bit" - ;; - arm) - TARGET_KERNEL_ARCH="arm64" - TARGET_PATCH_ARCH="aarch64" - TARGET_FLOAT="hard" - # Couldn't get generic to work, maybe try again on gcc13 - TARGET_CPU="cortex-a35" - TARGET_CPU_FLAGS="+crc" - TARGET_FPU="crypto-neon-fp-armv8" - TARGET_FEATURES="32bit" - ;; - esac - - # Kernel target - DEVICE_NAME="RK-ARMV8-a" - KERNEL_TARGET="Image" - BOOTLOADER="" - TRUST_LABEL="" - PARTITION_TABLE="" - DEVICE_DTB=() - UBOOT_DTB="" - UBOOT_CONFIG="" - PKG_SOC="" - PKG_DATAFILE="" - PKG_LOADER="" - PKG_BL31="" - PKG_LOAD_ADDR="" - BOOT_INI=false - BOOT_PART="" - EXT_LINUX_CONF=false - - # Define the CPU - HW_CPU="Generic armv8-a" - - # Display Resolution - SPLASH_RESOLUTION="" - - # Mali GPU family - MALI_FAMILY="N/A" - GRAPHIC_DRIVERS="panfrost" - - # OpenGL(X) implementation to use (mesa / no) - OPENGL="mesa" - - # OpenGL-ES implementation to use (mesa / no) - OPENGLES="mesa" - - # Displayserver to use (weston / x11 / no) - DISPLAYSERVER="wl" - - # Windowmanager to use (fluxbox / weston / no) - WINDOWMANAGER="weston" - - # additional packages to install - ADDITIONAL_PACKAGES="" - - # additional Firmware to use ( ) - # Space separated list is supported, - # e.g. FIRMWARE="" - 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="" - - # build and install driver addons (yes / no) - DRIVER_ADDONS_SUPPORT="no" - - # driver addons to install: - # for a list of additinoal drivers see packages/linux-driver-addons - # Space separated list is supported, - DRIVER_ADDONS="" - - # debug tty path - DEBUG_TTY="" - - # Disable 32BIT support - ENABLE_32BIT="true" - - # build and install bluetooth support (yes / no) - BLUETOOTH_SUPPORT="yes" - - # build and install Avahi (Zeroconf) daemon (yes / no) - AVAHI_DAEMON="no" - - # build with NFS support (mounting nfs shares via the OS) (yes / no) - NFS_SUPPORT="no" - - # build with Samba Client support (mounting samba shares via the OS) (yes / no) - SAMBA_SUPPORT="no" - - # build and install Samba Server (yes / no) - SAMBA_SERVER="yes" - - # build and install SFTP Server (yes / no) - SFTP_SERVER="yes" - - # build and install Simple HTTP Server (yes / no) - SIMPLE_HTTP_SERVER="yes" - - # build and install OpenVPN support (yes / no) - OPENVPN_SUPPORT="no" - - # build and install diskmounter support (udevil) - # this service provide auto mounting support for external drives in the - # mediacenter also automount internally drives at boottime via udev (yes / no) - UDEVIL="yes" - - # build and install exFAT fuse support (yes / no) - EXFAT="yes" - - # build and install NTFS-3G fuse support (yes / no) - NTFS3G="no" - - # build and install hfs filesystem utilities (yes / no) - HFSTOOLS="no" - - # Support for partitioning and formating disks in initramfs (yes / no) - # This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage - INITRAMFS_PARTED_SUPPORT="no" - - # build with swap support (yes / no) - SWAP_SUPPORT="yes" - - # swap support enabled per default (yes / no) - SWAP_ENABLED_DEFAULT="yes" - - # swapfile size if SWAP_SUPPORT=yes in MB - SWAPFILESIZE="384" - - # cron support (yes / no) - CRON_SUPPORT="no" - - # Settings package name - blank if not required - DISTRO_PKG_SETTINGS="" - - # htop tool (yes / no) - HTOP_TOOL="yes" - - # Exclude packages that are device specific, etc. - EXCLUDE_PKGS="retroarch parallel-n64-lr yabasanshiro-lr duckstation-sa " - EXCLUDE_PKGS+="flycast-sa flycast2021-lr mednafen drastic-sa" - - NO_IMAGE="yes" diff --git a/projects/Rockchip/devices/RK3566-BSP-X55/linux/linux.aarch64.conf b/projects/Rockchip/devices/RK3566-BSP-X55/linux/linux.aarch64.conf deleted file mode 100644 index b734999e0..000000000 --- a/projects/Rockchip/devices/RK3566-BSP-X55/linux/linux.aarch64.conf +++ /dev/null @@ -1,6053 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Linux/arm64 4.19.172 Kernel Configuration -# - -# -# Compiler: aarch64-libreelec-linux-gnueabi-gcc-10.3.0 (GCC) 10.3.0 -# -CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=100300 -CONFIG_CLANG_VERSION=0 -CONFIG_CC_HAS_ASM_GOTO=y -CONFIG_IRQ_WORK=y -CONFIG_BUILDTIME_EXTABLE_SORT=y -CONFIG_THREAD_INFO_IN_TASK=y - -# -# General setup -# -CONFIG_INIT_ENV_ARG_LIMIT=32 -# CONFIG_COMPILE_TEST is not set -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_BUILD_SALT="" -CONFIG_HAVE_KERNEL_GZIP=y -CONFIG_HAVE_KERNEL_LZ4=y -CONFIG_KERNEL_GZIP=y -# CONFIG_KERNEL_LZ4 is not set -CONFIG_DEFAULT_HOSTNAME="@DEVICENAME@" -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y -# CONFIG_POSIX_MQUEUE is not set -CONFIG_CROSS_MEMORY_ATTACH=y -# CONFIG_USELIB is not set -# 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_MSI_IRQ=y -CONFIG_GENERIC_MSI_IRQ_DOMAIN=y -CONFIG_HANDLE_DOMAIN_IRQ=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_SPARSE_IRQ=y -# CONFIG_GENERIC_IRQ_DEBUGFS is not set -CONFIG_GENERIC_IRQ_MULTI_HANDLER=y -CONFIG_ARCH_CLOCKSOURCE_DATA=y -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_ARCH_HAS_TICK_BROADCAST=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=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=y -CONFIG_HIGH_RES_TIMERS=y -# CONFIG_PREEMPT_NONE is not set -CONFIG_PREEMPT_VOLUNTARY=y -# CONFIG_PREEMPT 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 is not set -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set -# CONFIG_PSI is not set -CONFIG_CPU_ISOLATION=y - -# -# RCU Subsystem -# -CONFIG_TREE_RCU=y -# CONFIG_RCU_EXPERT is not set -CONFIG_SRCU=y -CONFIG_TREE_SRCU=y -CONFIG_RCU_STALL_COMMON=y -CONFIG_RCU_NEED_SEGCBLIST=y -CONFIG_BUILD_BIN2C=y -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_SAFE_LOG_BUF_SHIFT=13 -CONFIG_GENERIC_SCHED_CLOCK=y - -# -# Scheduler features -# -CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y -CONFIG_ARCH_SUPPORTS_INT128=y -CONFIG_CGROUPS=y -# CONFIG_MEMCG is not set -CONFIG_BLK_CGROUP=y -# CONFIG_DEBUG_BLK_CGROUP is not set -CONFIG_CGROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -CONFIG_CFS_BANDWIDTH=y -# CONFIG_RT_GROUP_SCHED is not set -# CONFIG_CGROUP_PIDS is not set -# CONFIG_CGROUP_RDMA is not set -CONFIG_CGROUP_FREEZER=y -CONFIG_CPUSETS=y -CONFIG_PROC_PID_CPUSET=y -CONFIG_CGROUP_DEVICE=y -CONFIG_CGROUP_CPUACCT=y -# CONFIG_CGROUP_DEBUG is not set -CONFIG_SOCK_CGROUP_DATA=y -CONFIG_NAMESPACES=y -CONFIG_UTS_NS=y -CONFIG_IPC_NS=y -CONFIG_USER_NS=y -CONFIG_PID_NS=y -CONFIG_NET_NS=y -# CONFIG_CHECKPOINT_RESTORE is not set -# CONFIG_SCHED_AUTOGROUP is not set -# CONFIG_SCHED_TUNE is not set -# CONFIG_SYSFS_DEPRECATED is not set -CONFIG_RELAY=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_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_INITRAMFS_COMPRESSION=".gz" -# CONFIG_INITRD_ASYNC is not set -# CONFIG_ROCKCHIP_ONE_INITRD is not set -CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_SYSCTL=y -CONFIG_HAVE_UID16=y -CONFIG_SYSCTL_EXCEPTION_TRACE=y -CONFIG_BPF=y -CONFIG_EXPERT=y -CONFIG_UID16=y -CONFIG_MULTIUSER=y -# CONFIG_SGETMASK_SYSCALL is not set -CONFIG_SYSFS_SYSCALL=y -# CONFIG_SYSCTL_SYSCALL is not set -CONFIG_FHANDLE=y -CONFIG_POSIX_TIMERS=y -CONFIG_PRINTK=y -CONFIG_PRINTK_NMI=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_ADVISE_SYSCALLS=y -CONFIG_MEMBARRIER=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set -CONFIG_KALLSYMS_BASE_RELATIVE=y -# CONFIG_BPF_SYSCALL is not set -# CONFIG_USERFAULTFD is not set -CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y -CONFIG_RSEQ=y -# CONFIG_DEBUG_RSEQ is not set -CONFIG_EMBEDDED=y -CONFIG_HAVE_PERF_EVENTS=y -# CONFIG_PC104 is not set - -# -# Kernel Performance Events And Counters -# -# CONFIG_PERF_EVENTS is not set -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_SLUB_SYSFS=y -CONFIG_SLUB_DEBUG=y -# CONFIG_COMPAT_BRK is not set -# CONFIG_SLAB is not set -CONFIG_SLUB=y -# CONFIG_SLOB is not set -CONFIG_SLAB_MERGE_DEFAULT=y -# CONFIG_SLAB_FREELIST_RANDOM is not set -# CONFIG_SLAB_FREELIST_HARDENED is not set -CONFIG_SLUB_CPU_PARTIAL=y -CONFIG_SYSTEM_DATA_VERIFICATION=y -CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y -CONFIG_ARM64=y -CONFIG_64BIT=y -CONFIG_MMU=y -CONFIG_ARM64_PAGE_SHIFT=12 -CONFIG_ARM64_CONT_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_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_RWSEM_XCHGADD_ALGORITHM=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_ZONE_DMA32=y -CONFIG_HAVE_GENERIC_GUP=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 - -# -# Platform selection -# -# CONFIG_ARCH_ACTIONS is not set -# CONFIG_ARCH_SUNXI is not set -# CONFIG_ARCH_ALPINE is not set -# CONFIG_ARCH_BCM2835 is not set -# CONFIG_ARCH_BCM_IPROC is not set -# CONFIG_ARCH_BERLIN is not set -# CONFIG_ARCH_BRCMSTB is not set -# CONFIG_ARCH_EXYNOS is not set -# CONFIG_ARCH_K3 is not set -# CONFIG_ARCH_LAYERSCAPE is not set -# CONFIG_ARCH_LG1K is not set -# CONFIG_ARCH_HISI is not set -# CONFIG_ARCH_MEDIATEK is not set -# CONFIG_ARCH_MESON is not set -# CONFIG_ARCH_MVEBU is not set -# CONFIG_ARCH_QCOM is not set -# CONFIG_ARCH_REALTEK is not set -CONFIG_ARCH_ROCKCHIP=y -# CONFIG_ARCH_SEATTLE is not set -# CONFIG_ARCH_SYNQUACER is not set -# CONFIG_ARCH_RENESAS is not set -# CONFIG_ARCH_STRATIX10 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_XGENE is not set -# CONFIG_ARCH_ZX is not set -# CONFIG_ARCH_ZYNQMP is not set - -# -# Bus support -# -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_DEBUG is not set -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_MSI_IRQ_DOMAIN=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_HOTPLUG_PCI is not set - -# -# PCI controller drivers -# - -# -# Cadence PCIe controllers support -# -# CONFIG_PCIE_CADENCE_HOST is not set -# CONFIG_PCI_FTPCI100 is not set -# CONFIG_PCI_HOST_GENERIC is not set -# CONFIG_PCIE_XILINX is not set -# CONFIG_PCI_XGENE is not set -# CONFIG_PCI_HOST_THUNDER_PEM is not set -# CONFIG_PCI_HOST_THUNDER_ECAM is not set -# CONFIG_PCIE_ROCKCHIP_HOST is not set -# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set - -# -# DesignWare PCI Core Support -# -CONFIG_PCIE_DW=y -CONFIG_PCIE_DW_HOST=y -# CONFIG_PCIE_DW_PLAT_HOST is not set -CONFIG_PCIE_DW_ROCKCHIP=y -# CONFIG_PCI_HISI is not set -# CONFIG_PCIE_KIRIN is not set - -# -# PCI Endpoint -# -# CONFIG_PCI_ENDPOINT is not set - -# -# PCI switch controller drivers -# -# CONFIG_PCI_SW_SWITCHTEC is not set - -# -# Kernel Features -# - -# -# ARM errata workarounds via the alternatives framework -# -# CONFIG_ARM64_ERRATUM_826319 is not set -# CONFIG_ARM64_ERRATUM_827319 is not set -# CONFIG_ARM64_ERRATUM_824069 is not set -# CONFIG_ARM64_ERRATUM_819472 is not set -# CONFIG_ARM64_ERRATUM_832075 is not set -CONFIG_ARM64_ERRATUM_845719=y -CONFIG_ARM64_ERRATUM_843419=y -CONFIG_ARM64_ERRATUM_1024718=y -CONFIG_ARM64_ERRATUM_1463225=y -CONFIG_ARM64_ERRATUM_1542419=y -# CONFIG_CAVIUM_ERRATUM_22375 is not set -# CONFIG_CAVIUM_ERRATUM_23154 is not set -CONFIG_CAVIUM_ERRATUM_27456=y -CONFIG_CAVIUM_ERRATUM_30115=y -CONFIG_QCOM_FALKOR_ERRATUM_1003=y -CONFIG_QCOM_FALKOR_ERRATUM_1009=y -CONFIG_QCOM_QDF2400_ERRATUM_0065=y -CONFIG_SOCIONEXT_SYNQUACER_PREITS=y -CONFIG_HISILICON_ERRATUM_161600802=y -CONFIG_QCOM_FALKOR_ERRATUM_E1041=y -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_SCHED_MC=y -# CONFIG_SCHED_SMT is not set -CONFIG_NR_CPUS=8 -CONFIG_HOTPLUG_CPU=y -CONFIG_ARCH_NR_GPIO=256 -# CONFIG_NUMA is not set -CONFIG_HOLES_IN_ZONE=y -# CONFIG_HZ_100 is not set -# CONFIG_HZ_250 is not set -CONFIG_HZ_300=y -# CONFIG_HZ_1000 is not set -CONFIG_HZ=300 -CONFIG_SCHED_HRTICK=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y -CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_DEFAULT=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ARCH_FLATMEM_ENABLE=y -CONFIG_HAVE_ARCH_PFN_VALID=y -CONFIG_SYS_SUPPORTS_HUGETLBFS=y -CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y -# CONFIG_ARM64_DMA_USE_IOMMU is not set -CONFIG_SECCOMP=y -# CONFIG_PARAVIRT is not set -# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set -# CONFIG_KEXEC is not set -# CONFIG_CRASH_DUMP is not set -# CONFIG_XEN is not set -CONFIG_FORCE_MAX_ZONEORDER=11 -CONFIG_UNMAP_KERNEL_AT_EL0=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y -CONFIG_HARDEN_EL2_VECTORS=y -CONFIG_ARM64_SSBD=y -CONFIG_ARM64_TAGGED_ADDR_ABI=y -CONFIG_ARMV8_DEPRECATED=y -CONFIG_SWP_EMULATION=y -CONFIG_CP15_BARRIER_EMULATION=y -CONFIG_SETEND_EMULATION=y -# CONFIG_ARM64_SW_TTBR0_PAN is not set - -# -# ARMv8.1 architectural features -# -CONFIG_ARM64_HW_AFDBM=y -CONFIG_ARM64_PAN=y -CONFIG_ARM64_LSE_ATOMICS=y -CONFIG_ARM64_VHE=y - -# -# ARMv8.2 architectural features -# -CONFIG_ARM64_UAO=y -# CONFIG_ARM64_PMEM is not set -CONFIG_ARM64_RAS_EXTN=y -CONFIG_ARM64_SVE=y -CONFIG_ARM64_MODULE_PLTS=y -# CONFIG_RANDOMIZE_BASE is not set - -# -# Boot options -# -CONFIG_CMDLINE="" -# CONFIG_EFI is not set -CONFIG_COMPAT=y -CONFIG_KUSER_HELPERS=y -CONFIG_SYSVIPC_COMPAT=y - -# -# Power management options -# -CONFIG_SUSPEND=y -CONFIG_SUSPEND_FREEZER=y -# CONFIG_SUSPEND_SKIP_SYNC is not set -CONFIG_HAS_WAKELOCK=y -CONFIG_WAKELOCK=y -# CONFIG_HIBERNATION is not set -CONFIG_PM_SLEEP=y -CONFIG_PM_SLEEP_SMP=y -# CONFIG_PM_AUTOSLEEP is not set -# CONFIG_PM_WAKELOCKS is not set -CONFIG_PM=y -CONFIG_PM_DEBUG=y -CONFIG_PM_ADVANCED_DEBUG=y -# CONFIG_PM_TEST_SUSPEND is not set -CONFIG_PM_SLEEP_DEBUG=y -# CONFIG_DPM_WATCHDOG 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 - -# -# CPU Power Management -# - -# -# CPU Idle -# -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y -# CONFIG_CPU_IDLE_GOV_LADDER is not set -CONFIG_CPU_IDLE_GOV_MENU=y -CONFIG_DT_IDLE_STATES=y - -# -# ARM CPU Idle Drivers -# -CONFIG_ARM_CPUIDLE=y - -# -# CPU Frequency scaling -# -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_GOV_ATTR_SET=y -CONFIG_CPU_FREQ_GOV_COMMON=y -# CONFIG_CPU_FREQ_STAT is not set -# CONFIG_CPU_FREQ_TIMES is not set -# 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_DEFAULT_GOV_INTERACTIVE is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -CONFIG_CPU_FREQ_GOV_INTERACTIVE=y - -# -# CPU frequency scaling drivers -# -CONFIG_CPUFREQ_DT=y -CONFIG_CPUFREQ_DT_PLATDEV=y -# CONFIG_CPUFREQ_DUMMY is not set -# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set -CONFIG_ARM_ROCKCHIP_CPUFREQ=y -# CONFIG_ARM_SCMI_CPUFREQ is not set -# CONFIG_QORIQ_CPUFREQ is not set - -# -# Firmware Drivers -# -CONFIG_ARM_PSCI_FW=y -# CONFIG_ARM_PSCI_CHECKER is not set -CONFIG_ARM_SCMI_PROTOCOL=y -CONFIG_ARM_SCMI_POWER_DOMAIN=y -# CONFIG_ARM_SCPI_PROTOCOL is not set -# CONFIG_ARM_SDE_INTERFACE is not set -# CONFIG_FIRMWARE_MEMMAP is not set -# CONFIG_FW_CFG_SYSFS is not set -CONFIG_ROCKCHIP_SIP=y -CONFIG_HAVE_ARM_SMCCC=y -# CONFIG_GOOGLE_FIRMWARE is not set - -# -# Tegra firmware driver -# -# CONFIG_VIRTUALIZATION is not set -CONFIG_ARM64_CRYPTO=y -CONFIG_CRYPTO_SHA256_ARM64=y -# CONFIG_CRYPTO_SHA512_ARM64 is not set -CONFIG_CRYPTO_SHA1_ARM64_CE=y -CONFIG_CRYPTO_SHA2_ARM64_CE=y -# CONFIG_CRYPTO_SHA512_ARM64_CE is not set -# CONFIG_CRYPTO_SHA3_ARM64 is not set -# CONFIG_CRYPTO_SM3_ARM64_CE is not set -# CONFIG_CRYPTO_SM4_ARM64_CE is not set -CONFIG_CRYPTO_GHASH_ARM64_CE=y -# CONFIG_CRYPTO_CRCT10DIF_ARM64_CE is not set -# CONFIG_CRYPTO_CRC32_ARM64_CE is not set -CONFIG_CRYPTO_AES_ARM64=y -CONFIG_CRYPTO_AES_ARM64_CE=y -CONFIG_CRYPTO_AES_ARM64_CE_CCM=y -CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -# CONFIG_CRYPTO_AES_ARM64_NEON_BLK is not set -# CONFIG_CRYPTO_CHACHA20_NEON is not set -# CONFIG_CRYPTO_POLY1305_NEON is not set -# CONFIG_CRYPTO_AES_ARM64_BS is not set - -# -# General architecture-dependent options -# -# CONFIG_KPROBES is not set -# CONFIG_JUMP_LABEL is not set -CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -CONFIG_HAVE_NMI=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_SET_MEMORY=y -CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y -CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_RSEQ=y -CONFIG_HAVE_CLK=y -CONFIG_HAVE_PERF_REGS=y -CONFIG_HAVE_PERF_USER_STACK_DUMP=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_RCU_TABLE_FREE=y -CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=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_FILTER=y -CONFIG_SECCOMP_FILTER=y -CONFIG_HAVE_STACKPROTECTOR=y -CONFIG_CC_HAS_STACKPROTECTOR_NONE=y -CONFIG_STACKPROTECTOR=y -CONFIG_STACKPROTECTOR_STRONG=y -CONFIG_ARCH_SUPPORTS_LTO_CLANG=y -CONFIG_ARCH_SUPPORTS_THINLTO=y -CONFIG_LTO_NONE=y -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y -CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y -CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y -CONFIG_HAVE_ARCH_HUGE_VMAP=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_MODULES_USE_ELF_RELA=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_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_ARCH_HAS_STRICT_KERNEL_RWX=y -CONFIG_STRICT_KERNEL_RWX=y -CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y -CONFIG_STRICT_MODULE_RWX=y -CONFIG_REFCOUNT_FULL=y -CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y - -# -# GCOV-based kernel profiling -# -# CONFIG_GCOV_KERNEL is not set -CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y -CONFIG_PLUGIN_HOSTCC="" -CONFIG_HAVE_GCC_PLUGINS=y -CONFIG_RT_MUTEXES=y -CONFIG_BASE_SMALL=0 -CONFIG_MODULES=y -CONFIG_MODULE_FORCE_LOAD=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_MODULE_SIG is not set -# CONFIG_MODULE_COMPRESS is not set -# CONFIG_TRIM_UNUSED_KSYMS is not set -CONFIG_MODULES_TREE_LOOKUP=y -CONFIG_BLOCK=y -CONFIG_BLK_SCSI_REQUEST=y -CONFIG_BLK_DEV_BSG=y -# CONFIG_BLK_DEV_BSGLIB is not set -# CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_DEV_ZONED is not set -# CONFIG_BLK_DEV_THROTTLING is not set -# CONFIG_BLK_CMDLINE_PARSER is not set -# CONFIG_BLK_WBT is not set -# CONFIG_BLK_CGROUP_IOLATENCY 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 is not set -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 -CONFIG_BLOCK_COMPAT=y -CONFIG_BLK_MQ_PCI=y - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -CONFIG_IOSCHED_DEADLINE=y -CONFIG_IOSCHED_CFQ=y -# CONFIG_CFQ_GROUP_IOSCHED is not set -# CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_CFQ=y -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="cfq" -CONFIG_MQ_IOSCHED_DEADLINE=y -CONFIG_MQ_IOSCHED_KYBER=y -# CONFIG_IOSCHED_BFQ is not set -CONFIG_ASN1=y -CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y -CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y -CONFIG_ARCH_INLINE_SPIN_LOCK=y -CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y -CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y -CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y -CONFIG_ARCH_INLINE_READ_LOCK=y -CONFIG_ARCH_INLINE_READ_LOCK_BH=y -CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y -CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y -CONFIG_ARCH_INLINE_READ_UNLOCK=y -CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y -CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y -CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y -CONFIG_ARCH_INLINE_WRITE_LOCK=y -CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y -CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y -CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=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_SYSCALL_WRAPPER=y -# CONFIG_GKI_HIDDEN_DRM_CONFIGS is not set -# CONFIG_GKI_HIDDEN_REGMAP_CONFIGS is not set -# CONFIG_GKI_HIDDEN_CRYPTO_CONFIGS is not set -# CONFIG_GKI_HIDDEN_SND_CONFIGS is not set -# CONFIG_GKI_HIDDEN_SND_SOC_CONFIGS is not set -# CONFIG_GKI_HIDDEN_GPIO_CONFIGS is not set -# CONFIG_GKI_HIDDEN_VIRTUAL_CONFIGS is not set -# CONFIG_GKI_LEGACY_WEXT_ALLCONFIG is not set -# CONFIG_GKI_HIDDEN_SOC_PM_CONFIGS is not set -# CONFIG_GKI_HIDDEN_VIDEOBUF2_CONFIGS is not set -# CONFIG_GKI_HIDDEN_USB_CONFIGS is not set -# CONFIG_GKI_HIDDEN_SOC_BUS_CONFIGS is not set -# CONFIG_GKI_HIDDEN_GPU_CONFIGS is not set -# CONFIG_GKI_HIDDEN_IRQ_CONFIGS is not set -# CONFIG_GKI_HACKS_TO_FIX is not set -CONFIG_FREEZER=y - -# -# Executable file formats -# -CONFIG_BINFMT_ELF=y -CONFIG_COMPAT_BINFMT_ELF=y -CONFIG_ELFCORE=y -CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y -CONFIG_BINFMT_SCRIPT=y -CONFIG_BINFMT_MISC=y -CONFIG_COREDUMP=y - -# -# Memory Management options -# -CONFIG_SELECT_MEMORY_MODEL=y -# CONFIG_FLATMEM_MANUAL is not set -CONFIG_SPARSEMEM_MANUAL=y -CONFIG_SPARSEMEM=y -CONFIG_HAVE_MEMORY_PRESENT=y -CONFIG_SPARSEMEM_EXTREME=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_NO_BOOTMEM=y -CONFIG_MEMORY_ISOLATION=y -CONFIG_SPLIT_PTLOCK_CPUS=4 -# CONFIG_COMPACTION is not set -CONFIG_MIGRATION=y -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_TRANSPARENT_HUGEPAGE is not set -# CONFIG_CLEANCACHE is not set -# CONFIG_FRONTSWAP is not set -CONFIG_CMA=y -# CONFIG_CMA_DEBUG is not set -# CONFIG_CMA_DEBUGFS is not set -CONFIG_CMA_AREAS=7 -# CONFIG_ZPOOL is not set -# CONFIG_ZBUD is not set -CONFIG_ZSMALLOC=y -# CONFIG_PGTABLE_MAPPING is not set -# CONFIG_ZSMALLOC_STAT is not set -# CONFIG_MM_EVENT_STAT is not set -CONFIG_GENERIC_EARLY_IOREMAP=y -# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set -# CONFIG_IDLE_PAGE_TRACKING is not set -CONFIG_FRAME_VECTOR=y -# CONFIG_PERCPU_STATS is not set -# CONFIG_GUP_BENCHMARK is not set -CONFIG_ARCH_HAS_PTE_SPECIAL=y -CONFIG_NET=y -CONFIG_COMPAT_NETLINK_MESSAGES=y -CONFIG_NET_INGRESS=y - -# -# Networking options -# -CONFIG_PACKET=y -CONFIG_PACKET_DIAG=y -CONFIG_UNIX=y -CONFIG_UNIX_DIAG=y -# CONFIG_TLS is not set -CONFIG_XFRM=y -CONFIG_XFRM_ALGO=y -CONFIG_XFRM_USER=y -# CONFIG_XFRM_INTERFACE is not set -# CONFIG_XFRM_SUB_POLICY is not set -CONFIG_XFRM_MIGRATE=y -# CONFIG_XFRM_STATISTICS is not set -CONFIG_XFRM_IPCOMP=m -CONFIG_NET_KEY=m -CONFIG_NET_KEY_MIGRATE=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_IP_FIB_TRIE_STATS=y -CONFIG_IP_MULTIPLE_TABLES=y -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_ROUTE_CLASSID=y -CONFIG_IP_PNP=y -# CONFIG_IP_PNP_DHCP is not set -# CONFIG_IP_PNP_BOOTP is not set -# CONFIG_IP_PNP_RARP is not set -CONFIG_NET_IPIP=m -CONFIG_NET_IPGRE_DEMUX=m -CONFIG_NET_IP_TUNNEL=m -# CONFIG_NET_IPGRE 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=m -CONFIG_NET_FOU=m -# CONFIG_NET_FOU_IP_TUNNELS is not set -CONFIG_INET_AH=m -CONFIG_INET_ESP=m -# CONFIG_INET_ESP_OFFLOAD is not set -CONFIG_INET_IPCOMP=m -CONFIG_INET_XFRM_TUNNEL=m -CONFIG_INET_TUNNEL=m -CONFIG_INET_XFRM_MODE_TRANSPORT=m -CONFIG_INET_XFRM_MODE_TUNNEL=m -CONFIG_INET_XFRM_MODE_BEET=m -CONFIG_INET_DIAG=m -CONFIG_INET_TCP_DIAG=m -# CONFIG_INET_UDP_DIAG is not set -# CONFIG_INET_RAW_DIAG is not set -# CONFIG_INET_DIAG_DESTROY 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 is not set -# CONFIG_TCP_CONG_HYBLA is not set -# CONFIG_TCP_CONG_VEGAS is not set -# CONFIG_TCP_CONG_NV is not set -# CONFIG_TCP_CONG_SCALABLE is not set -# CONFIG_TCP_CONG_LP is not set -# CONFIG_TCP_CONG_VENO is not set -# CONFIG_TCP_CONG_YEAH is not set -# CONFIG_TCP_CONG_ILLINOIS is not set -# CONFIG_TCP_CONG_DCTCP is not set -# CONFIG_TCP_CONG_CDG is not set -# CONFIG_TCP_CONG_BBR is not set -CONFIG_DEFAULT_RENO=y -CONFIG_DEFAULT_TCP_CONG="reno" -# CONFIG_TCP_MD5SIG is not set -CONFIG_IPV6=m -# CONFIG_IPV6_ROUTER_PREF is not set -CONFIG_IPV6_OPTIMISTIC_DAD=y -CONFIG_INET6_AH=m -CONFIG_INET6_ESP=m -# CONFIG_INET6_ESP_OFFLOAD is not set -CONFIG_INET6_IPCOMP=m -CONFIG_IPV6_MIP6=m -CONFIG_IPV6_ILA=m -CONFIG_INET6_XFRM_TUNNEL=m -CONFIG_INET6_TUNNEL=m -CONFIG_INET6_XFRM_MODE_TRANSPORT=m -CONFIG_INET6_XFRM_MODE_TUNNEL=m -CONFIG_INET6_XFRM_MODE_BEET=m -CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m -# CONFIG_IPV6_VTI is not set -CONFIG_IPV6_SIT=m -# CONFIG_IPV6_SIT_6RD is not set -CONFIG_IPV6_NDISC_NODETYPE=y -CONFIG_IPV6_TUNNEL=m -# CONFIG_IPV6_GRE is not set -CONFIG_IPV6_FOU=m -CONFIG_IPV6_MULTIPLE_TABLES=y -# CONFIG_IPV6_SUBTREES is not set -CONFIG_IPV6_MROUTE=y -# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set -# CONFIG_IPV6_PIMSM_V2 is not set -# CONFIG_IPV6_SEG6_LWTUNNEL is not set -# CONFIG_IPV6_SEG6_HMAC is not set -CONFIG_NETWORK_SECMARK=y -CONFIG_NET_PTP_CLASSIFY=y -# CONFIG_NETWORK_PHY_TIMESTAMPING is not set -CONFIG_NETFILTER=n -CONFIG_NETFILTER_ADVANCED=n -CONFIG_BRIDGE_NETFILTER=n - -CONFIG_IP_SET=m -CONFIG_IP_SET_MAX=256 -# CONFIG_IP_SET_BITMAP_IP is not set -# CONFIG_IP_SET_BITMAP_IPMAC is not set -# CONFIG_IP_SET_BITMAP_PORT is not set -# CONFIG_IP_SET_HASH_IP is not set -# CONFIG_IP_SET_HASH_IPMARK is not set -# CONFIG_IP_SET_HASH_IPPORT is not set -# CONFIG_IP_SET_HASH_IPPORTIP is not set -# CONFIG_IP_SET_HASH_IPPORTNET is not set -# CONFIG_IP_SET_HASH_IPMAC is not set -# CONFIG_IP_SET_HASH_MAC is not set -# CONFIG_IP_SET_HASH_NETPORTNET is not set -# CONFIG_IP_SET_HASH_NET is not set -# CONFIG_IP_SET_HASH_NETNET is not set -# CONFIG_IP_SET_HASH_NETPORT is not set -# CONFIG_IP_SET_HASH_NETIFACE is not set -# CONFIG_IP_SET_LIST_SET is not set -CONFIG_IP_VS=m -# CONFIG_IP_VS_IPV6 is not set -# CONFIG_IP_VS_DEBUG is not set -CONFIG_IP_VS_TAB_BITS=12 - -# -# IPVS transport protocol load balancing support -# -# CONFIG_IP_VS_PROTO_TCP is not set -# CONFIG_IP_VS_PROTO_UDP is not set -# CONFIG_IP_VS_PROTO_ESP is not set -# CONFIG_IP_VS_PROTO_AH is not set -# CONFIG_IP_VS_PROTO_SCTP is not set - -# -# IPVS scheduler -# -# CONFIG_IP_VS_RR is not set -# CONFIG_IP_VS_WRR is not set -# CONFIG_IP_VS_LC is not set -# CONFIG_IP_VS_WLC is not set -# CONFIG_IP_VS_FO is not set -# CONFIG_IP_VS_OVF is not set -# CONFIG_IP_VS_LBLC is not set -# CONFIG_IP_VS_LBLCR is not set -# CONFIG_IP_VS_DH is not set -# CONFIG_IP_VS_SH is not set -# CONFIG_IP_VS_MH is not set -# CONFIG_IP_VS_SED is not set -# CONFIG_IP_VS_NQ 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_NFCT 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 is not set -CONFIG_NF_LOG_IPV4=m -CONFIG_NF_REJECT_IPV4=m -CONFIG_NF_NAT_IPV4=m -CONFIG_NF_NAT_MASQUERADE_IPV4=y -CONFIG_NF_NAT_SNMP_BASIC=m -CONFIG_NF_NAT_PROTO_GRE=m -CONFIG_NF_NAT_PPTP=m -CONFIG_NF_NAT_H323=m -CONFIG_IP_NF_IPTABLES=m -CONFIG_IP_NF_MATCH_AH=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_RPFILTER=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_FILTER=m -CONFIG_IP_NF_TARGET_REJECT=m -CONFIG_IP_NF_TARGET_SYNPROXY=m -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_TTL=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_ARPTABLES=m -# CONFIG_IP_NF_ARPFILTER is not set -# CONFIG_IP_NF_ARP_MANGLE is not set - -# -# IPv6: Netfilter Configuration -# -CONFIG_NF_SOCKET_IPV6=m -CONFIG_NF_TPROXY_IPV6=m -# CONFIG_NF_TABLES_IPV6 is not set -CONFIG_NF_DUP_IPV6=m -CONFIG_NF_REJECT_IPV6=m -CONFIG_NF_LOG_IPV6=m -CONFIG_NF_NAT_IPV6=m -CONFIG_IP6_NF_IPTABLES=m -# CONFIG_IP6_NF_MATCH_AH is not set -# CONFIG_IP6_NF_MATCH_EUI64 is not set -# CONFIG_IP6_NF_MATCH_FRAG is not set -# CONFIG_IP6_NF_MATCH_OPTS is not set -# CONFIG_IP6_NF_MATCH_HL is not set -# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set -# CONFIG_IP6_NF_MATCH_MH is not set -# CONFIG_IP6_NF_MATCH_RT is not set -# CONFIG_IP6_NF_MATCH_SRH is not set -# CONFIG_IP6_NF_FILTER is not set -# CONFIG_IP6_NF_TARGET_SYNPROXY is not set -# CONFIG_IP6_NF_MANGLE is not set -# CONFIG_IP6_NF_RAW is not set -# CONFIG_IP6_NF_NAT is not set -CONFIG_NF_DEFRAG_IPV6=m -# CONFIG_NF_TABLES_BRIDGE is not set -# CONFIG_BRIDGE_NF_EBTABLES is not set -# CONFIG_BPFILTER is not set -# 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=m -CONFIG_BRIDGE=m -CONFIG_BRIDGE_IGMP_SNOOPING=y -CONFIG_HAVE_NET_DSA=y -# CONFIG_NET_DSA is not set -# CONFIG_VLAN_8021Q is not set -# CONFIG_DECNET is not set -CONFIG_LLC=m -# 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_6LOWPAN is not set -# CONFIG_IEEE802154 is not set -# CONFIG_NET_SCHED is not set -# CONFIG_DCB is not set -# CONFIG_DNS_RESOLVER is not set -# CONFIG_BATMAN_ADV is not set -# CONFIG_OPENVSWITCH is not set -# CONFIG_VSOCKETS is not set -# CONFIG_NETLINK_DIAG is not set -# CONFIG_MPLS is not set -# CONFIG_NET_NSH is not set -# CONFIG_HSR is not set -# CONFIG_NET_SWITCHDEV is not set -# CONFIG_NET_L3_MASTER_DEV is not set -# CONFIG_NET_NCSI is not set -CONFIG_RPS=y -CONFIG_RFS_ACCEL=y -CONFIG_XPS=y -# CONFIG_CGROUP_NET_PRIO is not set -CONFIG_CGROUP_NET_CLASSID=y -CONFIG_NET_RX_BUSY_POLL=y -CONFIG_BQL=y -# CONFIG_BPF_JIT is not set -CONFIG_NET_FLOW_LIMIT=y - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_NET_DROP_MONITOR is not set -# CONFIG_HAMRADIO is not set -CONFIG_CAN=y -CONFIG_CAN_RAW=y -CONFIG_CAN_BCM=y -CONFIG_CAN_GW=y - -# -# CAN Device Drivers -# -# CONFIG_CAN_VCAN is not set -# CONFIG_CAN_VXCAN is not set -# CONFIG_CAN_SLCAN is not set -CONFIG_CAN_DEV=y -CONFIG_CAN_CALC_BITTIMING=y -# CONFIG_CAN_GRCAN is not set -# CONFIG_CAN_XILINXCAN is not set -# CONFIG_CAN_C_CAN is not set -# CONFIG_CAN_CC770 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_ROCKCHIP=y -CONFIG_CANFD_ROCKCHIP=y -# CONFIG_CAN_SJA1000 is not set -# CONFIG_CAN_SOFTING is not set - -# -# CAN SPI interfaces -# -# CONFIG_CAN_HI311X is not set -# CONFIG_CAN_MCP251X is not set - -# -# CAN USB interfaces -# -# CONFIG_CAN_8DEV_USB is not set -# CONFIG_CAN_EMS_USB is not set -# CONFIG_CAN_ESD_USB2 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 -# CONFIG_CAN_DEBUG_DEVICES is not set -CONFIG_BT=y -CONFIG_BT_BREDR=y -CONFIG_BT_RFCOMM=y -# CONFIG_BT_RFCOMM_TTY is not set -# CONFIG_BT_BNEP is not set -CONFIG_BT_HIDP=y -CONFIG_BT_HS=y -CONFIG_BT_LE=y -# CONFIG_BT_LEDS is not set -# CONFIG_BT_SELFTEST is not set -CONFIG_BT_DEBUGFS=y - -# -# Bluetooth device drivers -# -CONFIG_BT_INTEL=y -CONFIG_BT_BCM=y -CONFIG_BT_RTL=y -CONFIG_BT_HCIBTUSB=y -# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set -CONFIG_BT_HCIBTUSB_BCM=y -CONFIG_BT_HCIBTUSB_RTL=y -# CONFIG_BT_HCIBTSDIO is not set -CONFIG_BT_HCIUART=y -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=y -# CONFIG_BT_HCIUART_INTEL is not set -CONFIG_BT_HCIUART_BCM=y -# 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_HCIBPA10X is not set -CONFIG_BT_HCIBFUSB=y -CONFIG_BT_HCIVHCI=y -CONFIG_BT_MRVL=y -CONFIG_BT_MRVL_SDIO=y -# CONFIG_BT_ATH3K is not set -# CONFIG_BT_MTKUART is not set -# CONFIG_AF_RXRPC is not set -# CONFIG_AF_KCM 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=y -CONFIG_NL80211_TESTMODE=y -# 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=y -CONFIG_CFG80211_DEBUGFS=y -CONFIG_CFG80211_CRDA_SUPPORT=y -CONFIG_CFG80211_WEXT=y -CONFIG_MAC80211=y -CONFIG_MAC80211_HAS_RC=y -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC80211_RC_MINSTREL_HT=y -# CONFIG_MAC80211_RC_MINSTREL_VHT is not set -CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y -CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" -# CONFIG_MAC80211_MESH is not set -CONFIG_MAC80211_LEDS=y -CONFIG_MAC80211_DEBUGFS=y -# CONFIG_MAC80211_MESSAGE_TRACING is not set -CONFIG_MAC80211_DEBUG_MENU=y -# CONFIG_MAC80211_NOINLINE is not set -CONFIG_MAC80211_VERBOSE_DEBUG=y -# CONFIG_MAC80211_MLME_DEBUG is not set -# CONFIG_MAC80211_STA_DEBUG is not set -# CONFIG_MAC80211_HT_DEBUG is not set -# CONFIG_MAC80211_OCB_DEBUG is not set -# CONFIG_MAC80211_IBSS_DEBUG is not set -# CONFIG_MAC80211_PS_DEBUG is not set -# CONFIG_MAC80211_TDLS_DEBUG is not set -# CONFIG_MAC80211_DEBUG_COUNTERS is not set -CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 -# CONFIG_WIMAX is not set -CONFIG_RFKILL=y -CONFIG_RFKILL_LEDS=y -# CONFIG_RFKILL_INPUT is not set -# CONFIG_RFKILL_GPIO is not set -CONFIG_RFKILL_RK=y -# CONFIG_NET_9P is not set -# CONFIG_CAIF is not set -# CONFIG_CEPH_LIB is not set -# CONFIG_NFC is not set -# CONFIG_PSAMPLE is not set -# CONFIG_NET_IFE is not set -CONFIG_LWTUNNEL=y -CONFIG_LWTUNNEL_BPF=y -CONFIG_DST_CACHE=y -CONFIG_GRO_CELLS=y -# CONFIG_NET_DEVLINK is not set -CONFIG_MAY_USE_DEVLINK=y -# CONFIG_FAILOVER is not set -CONFIG_HAVE_EBPF_JIT=y - -# -# Device Drivers -# -CONFIG_ARM_AMBA=y - -# -# Generic Driver Options -# -CONFIG_UEVENT_HELPER=y -CONFIG_UEVENT_HELPER_PATH="" -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y - -# -# Firmware loader -# -CONFIG_FW_LOADER=y -CONFIG_EXTRA_FIRMWARE="" -# CONFIG_FW_LOADER_USER_HELPER is not set -CONFIG_FW_CACHE=y -CONFIG_WANT_DEV_COREDUMP=y -CONFIG_ALLOW_DEV_COREDUMP=y -CONFIG_DEV_COREDUMP=y -# 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_AUTOPROBE=y -CONFIG_GENERIC_CPU_VULNERABILITIES=y -CONFIG_REGMAP=y -CONFIG_REGMAP_I2C=y -CONFIG_REGMAP_SPI=y -CONFIG_REGMAP_MMIO=y -CONFIG_REGMAP_IRQ=y -# CONFIG_MALI_MEMORY_GROUP_MANAGER is not set -CONFIG_DMA_SHARED_BUFFER=y -# CONFIG_DMA_FENCE_TRACE is not set -CONFIG_DMA_CMA=y - -# -# Default contiguous memory area size: -# -CONFIG_CMA_SIZE_MBYTES=16 -CONFIG_CMA_SIZE_SEL_MBYTES=y -# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set -# CONFIG_CMA_SIZE_SEL_MIN is not set -# CONFIG_CMA_SIZE_SEL_MAX is not set -CONFIG_CMA_ALIGNMENT=8 -CONFIG_GENERIC_ARCH_TOPOLOGY=y - -# -# Bus devices -# -# CONFIG_BRCMSTB_GISB_ARB is not set -# CONFIG_SIMPLE_PM_BUS is not set -# CONFIG_VEXPRESS_CONFIG is not set -CONFIG_CONNECTOR=y -CONFIG_PROC_EVENTS=y -# CONFIG_GNSS is not set -CONFIG_MTD=y -# CONFIG_MTD_TESTS is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set -CONFIG_MTD_OF_PARTS=y -# CONFIG_MTD_AR7_PARTS is not set - -# -# Partition parsers -# - -# -# User Modules And Translation Layers -# -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# 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 - -# -# 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 - -# -# 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_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 -# CONFIG_MTD_ONENAND is not set -# CONFIG_MTD_NAND is not set -# CONFIG_MTD_SPI_NAND is not set - -# -# LPDDR & LPDDR2 PCM memory drivers -# -# CONFIG_MTD_LPDDR is not set -# CONFIG_MTD_SPI_NOR is not set -CONFIG_MTD_UBI=y -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_MTD_UBI_BEB_LIMIT=20 -# CONFIG_MTD_UBI_FASTMAP is not set -# CONFIG_MTD_UBI_GLUEBI is not set -# CONFIG_MTD_UBI_BLOCK is not set -CONFIG_DTC=y -CONFIG_OF=y -CONFIG_DTC_SYMBOLS=y -# CONFIG_DTC_OMIT_DISABLED is not set -# CONFIG_DTC_OMIT_EMPTY is not set -# CONFIG_OF_UNITTEST is not set -CONFIG_OF_FLATTREE=y -CONFIG_OF_EARLY_FLATTREE=y -CONFIG_OF_KOBJ=y -CONFIG_OF_ADDRESS=y -CONFIG_OF_IRQ=y -CONFIG_OF_NET=y -CONFIG_OF_MDIO=y -CONFIG_OF_RESERVED_MEM=y -# CONFIG_OF_OVERLAY is not set -# 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_WRITEBACK is not set -# CONFIG_ZRAM_MEMORY_TRACKING is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_DRBD is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_SKD is not set -# CONFIG_BLK_DEV_SX8 is not set -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 is not set -# CONFIG_BLK_DEV_RBD is not set -# CONFIG_BLK_DEV_RSXX is not set - -# -# NVME Support -# -CONFIG_NVME_CORE=y -CONFIG_BLK_DEV_NVME=y -# CONFIG_NVME_MULTIPATH is not set -# CONFIG_NVME_FC is not set -# CONFIG_NVME_TARGET is not set - -# -# Misc devices -# -# CONFIG_ROCKCHIP_SCR is not set -# CONFIG_AD525X_DPOT is not set -# CONFIG_DUMMY_IRQ is not set -# CONFIG_PHANTOM is not set -# CONFIG_SGI_IOC4 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_USB_SWITCH_FSA9480 is not set -# CONFIG_LATTICE_ECP3_CONFIG is not set -CONFIG_SRAM=y -# CONFIG_PCI_ENDPOINT_TEST is not set -# CONFIG_PIR_ASCHIP is not set -# CONFIG_C2PORT is not set - -# -# EEPROM support -# -# CONFIG_EEPROM_AT24 is not set -# CONFIG_EEPROM_AT25 is not set -# CONFIG_EEPROM_LEGACY is not set -# CONFIG_EEPROM_MAX6875 is not set -# CONFIG_EEPROM_93CX6 is not set -# CONFIG_EEPROM_93XX46 is not set -# CONFIG_EEPROM_IDT_89HPESX is not set -# CONFIG_CB710_CORE is not set - -# -# Texas Instruments shared transport line discipline -# -# CONFIG_TI_ST is not set -# CONFIG_SENSORS_LIS3_SPI is not set -# CONFIG_SENSORS_LIS3_I2C is not set -# CONFIG_ALTERA_STAPL is not set - -# -# Intel MIC & related support -# - -# -# Intel MIC Bus Driver -# - -# -# SCIF Bus Driver -# - -# -# VOP Bus Driver -# - -# -# Intel MIC Host Driver -# - -# -# Intel MIC Card Driver -# - -# -# SCIF Driver -# - -# -# Intel MIC Coprocessor State Management (COSM) Drivers -# - -# -# VOP Driver -# -# CONFIG_GENWQE is not set -# CONFIG_ECHO is not set -# CONFIG_MISC_RTSX_PCI is not set -# CONFIG_MISC_RTSX_USB is not set - -# -# SCSI device support -# -CONFIG_SCSI_MOD=y -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -CONFIG_SCSI_DMA=y -CONFIG_SCSI_MQ_DEFAULT=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_CHR_DEV_OSST is not set -CONFIG_BLK_DEV_SR=y -# CONFIG_CHR_DEV_SG is not set -# 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 is not set -# CONFIG_SCSI_SAS_LIBSAS is not set -# CONFIG_SCSI_SRP_ATTRS is not set -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 is not set -# CONFIG_SCSI_MPT3SAS is not set -# CONFIG_SCSI_MPT2SAS is not set -# CONFIG_SCSI_SMARTPQI is not set -# CONFIG_SCSI_UFSHCD is not set -# CONFIG_SCSI_HPTIOP is not set -# CONFIG_SCSI_SNIC is not set -# CONFIG_SCSI_DMX3191D 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_LOWLEVEL_PCMCIA is not set -# CONFIG_SCSI_DH is not set -# CONFIG_SCSI_OSD_INITIATOR is not set -CONFIG_HAVE_PATA_PLATFORM=y -CONFIG_ATA=y -CONFIG_ATA_VERBOSE_ERROR=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_CEVA is not set -# CONFIG_AHCI_QORIQ 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 is not set -CONFIG_MD=y -# CONFIG_BLK_DEV_MD is not set -# CONFIG_BCACHE is not set -# CONFIG_BLK_DEV_DM 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 -CONFIG_NETDEVICES=y -CONFIG_MII=y -CONFIG_NET_CORE=y -# CONFIG_BONDING is not set -# CONFIG_DUMMY is not set -CONFIG_WIREGUARD=m -# CONFIG_EQUALIZER is not set -# CONFIG_NET_FC is not set -# CONFIG_NET_TEAM is not set -# CONFIG_MACVLAN is not set -# CONFIG_IPVLAN is not set -# CONFIG_VXLAN is not set -# CONFIG_GENEVE is not set -# CONFIG_GTP is not set -# CONFIG_MACSEC is not set -# CONFIG_NETCONSOLE is not set -CONFIG_TUN=y -# CONFIG_TUN_VNET_CROSS_LE is not set -# CONFIG_VETH is not set -# CONFIG_NLMON is not set -# CONFIG_ARCNET is not set - -# -# CAIF transport drivers -# - -# -# Distributed Switch Architecture drivers -# -CONFIG_ETHERNET=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_NET_VENDOR_ARC is not set -# CONFIG_NET_VENDOR_ATHEROS is not set -CONFIG_NET_VENDOR_AURORA=y -# CONFIG_AURORA_NB8800 is not set -# CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_BROCADE 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_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_EZCHIP is not set -# CONFIG_NET_VENDOR_HISILICON is not set -# CONFIG_NET_VENDOR_HP is not set -CONFIG_NET_VENDOR_HUAWEI=y -# CONFIG_HINIC is not set -# CONFIG_NET_VENDOR_INTEL is not set -# CONFIG_JME 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_MYRI is not set -# CONFIG_FEALNX is not set -# CONFIG_NET_VENDOR_NATSEMI is not set -CONFIG_NET_VENDOR_NETERION=y -# CONFIG_S2IO is not set -# CONFIG_VXGE is not set -CONFIG_NET_VENDOR_NETRONOME=y -# CONFIG_NFP is not set -CONFIG_NET_VENDOR_NI=y -# 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_QLOGIC 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_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_SOLARFLARE=y -# CONFIG_SFC is not set -# CONFIG_SFC_FALCON is not set -# CONFIG_NET_VENDOR_SILAN is not set -# CONFIG_NET_VENDOR_SIS 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_PLATFORM=y -# CONFIG_DWMAC_DWC_QOS_ETH is not set -CONFIG_DWMAC_GENERIC=y -CONFIG_DWMAC_ROCKCHIP=y -# 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_VIA is not set -# CONFIG_NET_VENDOR_WIZNET is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -CONFIG_MDIO_DEVICE=y -CONFIG_MDIO_BUS=y -# CONFIG_MDIO_BCM_UNIMAC is not set -# CONFIG_MDIO_BITBANG is not set -# CONFIG_MDIO_BUS_MUX_GPIO is not set -# CONFIG_MDIO_BUS_MUX_MMIOREG is not set -# CONFIG_MDIO_HISI_FEMAC is not set -# CONFIG_MDIO_MSCC_MIIM is not set -# CONFIG_MDIO_OCTEON is not set -# CONFIG_MDIO_THUNDER is not set -CONFIG_PHYLIB=y -CONFIG_SWPHY=y -# CONFIG_LED_TRIGGER_PHY is not set - -# -# MII PHY device drivers -# -# CONFIG_AMD_PHY is not set -# CONFIG_AQUANTIA_PHY is not set -# CONFIG_AX88796B_PHY is not set -# CONFIG_AT803X_PHY is not set -# CONFIG_BCM7XXX_PHY is not set -# CONFIG_BCM87XX_PHY is not set -# CONFIG_BROADCOM_PHY is not set -# CONFIG_CICADA_PHY is not set -# CONFIG_CORTINA_PHY is not set -# CONFIG_DAVICOM_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_FIXED_PHY=y -# CONFIG_ICPLUS_PHY is not set -# CONFIG_INTEL_XWAY_PHY is not set -# CONFIG_LSI_ET1011C_PHY is not set -# CONFIG_LXT_PHY is not set -# CONFIG_MARVELL_PHY is not set -# CONFIG_MARVELL_10G_PHY is not set -# CONFIG_MICREL_PHY is not set -# CONFIG_MICROCHIP_PHY is not set -# CONFIG_MICROCHIP_T1_PHY is not set -# CONFIG_MICROSEMI_PHY is not set -# CONFIG_NATIONAL_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_VITESSE_PHY is not set -# CONFIG_XILINX_GMII2RGMII is not set -# CONFIG_MICREL_KS8995MA is not set -# CONFIG_PPP is not set -# CONFIG_SLIP is not set -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_WLAN=y -# CONFIG_WIRELESS_WDS is not set -CONFIG_WLAN_VENDOR_ADMTEK=y -# CONFIG_ADM8211 is not set -CONFIG_WLAN_VENDOR_ATH=y -# CONFIG_ATH_DEBUG is not set -# CONFIG_ATH5K is not set -# CONFIG_ATH5K_PCI is not set -# CONFIG_ATH9K is not set -# CONFIG_ATH9K_HTC is not set -# CONFIG_CARL9170 is not set -# CONFIG_ATH6KL is not set -# CONFIG_AR5523 is not set -# CONFIG_WIL6210 is not set -# CONFIG_ATH10K is not set -# CONFIG_WCN36XX is not set -CONFIG_WLAN_VENDOR_ATMEL=y -# CONFIG_ATMEL is not set -# CONFIG_AT76C50X_USB is not set -CONFIG_WLAN_VENDOR_BROADCOM=y -# CONFIG_B43 is not set -# CONFIG_B43LEGACY is not set -# CONFIG_BRCMSMAC is not set -# CONFIG_BRCMFMAC is not set -CONFIG_WLAN_VENDOR_CISCO=y -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_HOSTAP is not set -# CONFIG_HERMES is not set -# CONFIG_P54_COMMON is not set -# CONFIG_PRISM54 is not set -CONFIG_WLAN_VENDOR_MARVELL=y -# CONFIG_LIBERTAS is not set -CONFIG_LIBERTAS_THINFIRM=y -# 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 is not set -# CONFIG_MWL8K is not set -CONFIG_WLAN_VENDOR_MEDIATEK=y -# CONFIG_MT7601U is not set -# CONFIG_MT76x0U is not set -# CONFIG_MT76x2E is not set -# CONFIG_MT76x2U is not set -CONFIG_WLAN_VENDOR_RALINK=y -# CONFIG_RT2X00 is not set -CONFIG_WLAN_VENDOR_REALTEK=y -# CONFIG_RTL8180 is not set -# CONFIG_RTL8187 is not set -CONFIG_RTL_CARDS=y -# CONFIG_RTL8192CE is not set -# CONFIG_RTL8192SE is not set -# CONFIG_RTL8192DE is not set -# CONFIG_RTL8723AE is not set -# CONFIG_RTL8723BE is not set -# CONFIG_RTL8188EE is not set -# CONFIG_RTL8192EE is not set -# CONFIG_RTL8821AE is not set -# CONFIG_RTL8192CU is not set -# CONFIG_RTL8XXXU is not set -CONFIG_WLAN_VENDOR_RSI=y -# CONFIG_RSI_91X 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_USB_ZD1201 is not set -# CONFIG_ZD1211RW is not set -CONFIG_WLAN_VENDOR_QUANTENNA=y -# CONFIG_QTNFMAC_PEARL_PCIE is not set -CONFIG_WL_ROCKCHIP=y -CONFIG_WIFI_BUILD_MODULE=y -CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP=y -# CONFIG_WIFI_GENERATE_RANDOM_MAC_ADDR is not set -CONFIG_BCMDHD=y -CONFIG_AP6XXX=m -CONFIG_AP6XXX_WIFI6=m -# CONFIG_AP6XXX_INDEP_POWER is not set -CONFIG_BCMDHD_FW_PATH="/etc/firmware/fw_bcmdhd.bin" -CONFIG_BCMDHD_NVRAM_PATH="/etc/firmware/nvram.txt" -# CONFIG_BCMDHD_STATIC_IF is not set -CONFIG_RTL_WIRELESS_SOLUTION=y -CONFIG_RTL8188EU=m -CONFIG_RTL8188FU=y -CONFIG_RTL8189FS=m -# CONFIG_RTL8723CS is not set -CONFIG_RTL8723DS=m -CONFIG_RTL8821CS=m -# CONFIG_RTL8822BS is not set -# CONFIG_MVL88W8977 is not set -# CONFIG_CYW_BCMDHD is not set -# CONFIG_MAC80211_HWSIM is not set -CONFIG_USB_NET_RNDIS_WLAN=y -# CONFIG_VIRT_WIFI is not set - -# -# Enable WiMAX (Networking options) to see the WiMAX drivers -# -# CONFIG_WAN is not set -# CONFIG_VMXNET3 is not set -# CONFIG_LTE is not set -# CONFIG_NETDEVSIM is not set -# CONFIG_NET_FAILOVER is not set -# CONFIG_ISDN is not set -# CONFIG_NVM is not set - -# -# Input device support -# -CONFIG_INPUT=y -CONFIG_INPUT_LEDS=y -CONFIG_INPUT_FF_MEMLESS=y -CONFIG_INPUT_POLLDEV=y -# CONFIG_INPUT_SPARSEKMAP is not set -CONFIG_INPUT_MATRIXKMAP=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 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_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_CROS_EC=y -# CONFIG_KEYBOARD_CAP11XX is not set -# CONFIG_KEYBOARD_BCM 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=y -CONFIG_MOUSE_ELAN_I2C=y -CONFIG_MOUSE_ELAN_I2C_I2C=y -# CONFIG_MOUSE_ELAN_I2C_SMBUS 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=m -CONFIG_JOYSTICK_A3D=m -CONFIG_JOYSTICK_ADI=m -CONFIG_JOYSTICK_COBRA=m -CONFIG_JOYSTICK_GF2K=m -CONFIG_JOYSTICK_GRIP=m -CONFIG_JOYSTICK_GRIP_MP=m -CONFIG_JOYSTICK_GUILLEMOT=m -CONFIG_JOYSTICK_INTERACT=m -CONFIG_JOYSTICK_SIDEWINDER=m -CONFIG_JOYSTICK_TMDC=m -CONFIG_JOYSTICK_IFORCE=m -CONFIG_JOYSTICK_IFORCE_USB=y -CONFIG_JOYSTICK_IFORCE_232=y -CONFIG_JOYSTICK_WARRIOR=m -CONFIG_JOYSTICK_MAGELLAN=m -CONFIG_JOYSTICK_SPACEORB=m -CONFIG_JOYSTICK_SPACEBALL=m -CONFIG_JOYSTICK_STINGER=m -CONFIG_JOYSTICK_TWIDJOY=m -CONFIG_JOYSTICK_ZHENHUA=m -CONFIG_JOYSTICK_AS5011=m -CONFIG_JOYSTICK_JOYDUMP=m -CONFIG_JOYSTICK_XPAD=m -CONFIG_JOYSTICK_XPAD_FF=y -CONFIG_JOYSTICK_XPAD_LEDS=y -CONFIG_JOYSTICK_SINGLEADCJOY=y -# CONFIG_JOYSTICK_PSXPAD_SPI is not set -# CONFIG_JOYSTICK_PXRC is not set -# CONFIG_INPUT_TABLET is not set -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_PROPERTIES=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_CY8C40XX 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_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 is not set -# CONFIG_TOUCHSCREEN_GSLX6801 is not set -# CONFIG_TOUCHSCREEN_GSLX680A is not set -# CONFIG_TOUCHSCREEN_GSLX680_D708 is not set -# CONFIG_TOUCHSCREEN_GSLX680_PAD is not set -# CONFIG_TOUCHSCREEN_GSLX680_VR is not set -CONFIG_TOUCHSCREEN_GSLX680_FIREFLY=y -# CONFIG_TOUCHSCREEN_GSL3673 is not set -# CONFIG_TOUCHSCREEN_GSL3673_800X1280 is not set -# CONFIG_TOUCHSCREEN_GSL3676 is not set -# CONFIG_TOUCHSCREEN_GT9XX is not set -# CONFIG_TOUCHSCREEN_HIDEEP is not set -# CONFIG_TOUCHSCREEN_HYN_CST2XX is not set -# CONFIG_TOUCHSCREEN_ILI210X is not set -# CONFIG_TOUCHSCREEN_S6SY761 is not set -# CONFIG_TOUCHSCREEN_GUNZE is not set -# CONFIG_TOUCHSCREEN_EKTF2127 is not set -CONFIG_TOUCHSCREEN_ELAN=y -# CONFIG_TOUCHSCREEN_ELO is not set -# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set -# CONFIG_TOUCHSCREEN_WACOM_I2C is not set -CONFIG_TOUCHSCREEN_WACOM_W9013=y -# 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_MTOUCH is not set -# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set -# CONFIG_TOUCHSCREEN_INEXIO is not set -# CONFIG_TOUCHSCREEN_MK712 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_ROHM_BU21023 is not set -# CONFIG_TOUCHSCREEN_VTL_CT36X is not set -CONFIG_TOUCHSCREEN_GT1X=y -# CONFIG_TOUCHSCREEN_FTS is not set -# CONFIG_TOUCHSCREEN_FT5436 is not set -CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5=y -CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICETREE_SUPPORT=y -CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_I2C=y -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_SPI is not set -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_MT_A is not set -CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_MT_B=y -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_BUTTON is not set -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_PROXIMITY is not set -CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS=y -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS_API is not set -CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_LOADER=y -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_PLATFORM_FW_UPGRADE is not set -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_BINARY_FW_UPGRADE is not set -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_PLATFORM_TTCONFIG_UPGRADE is not set -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_MANUAL_TTCONFIG_UPGRADE is not set -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEBUG_MDL is not set -CONFIG_ROCKCHIP_REMOTECTL=y -CONFIG_ROCKCHIP_REMOTECTL_PWM=y - -# -# handle all sensors -# -CONFIG_SENSOR_DEVICE=y -# CONFIG_ANGLE_DEVICE is not set -CONFIG_GSENSOR_DEVICE=y -# CONFIG_GS_MMA8452 is not set -# CONFIG_STK8BAXX_ACC is not set -# CONFIG_MPU6880_ACC is not set -# CONFIG_MPU6500_ACC is not set -# CONFIG_GS_KXTIK is not set -# CONFIG_GS_KXTJ9 is not set -# CONFIG_GS_LIS3DH is not set -# CONFIG_GS_MMA7660 is not set -CONFIG_GS_MC3230=y -# CONFIG_GS_SC7660 is not set -# CONFIG_GS_SC7A20 is not set -# CONFIG_GS_SC7A30 is not set -# CONFIG_GS_MXC6225 is not set -# CONFIG_GS_MXC6655XA is not set -# CONFIG_GS_DMT10 is not set -# CONFIG_GS_LSM303D is not set -# CONFIG_GS_BMA023 is not set -# CONFIG_LSM330_ACC is not set -# CONFIG_BMA2XX_ACC is not set -# CONFIG_GS_DA223 is not set -# CONFIG_ICM2060X_ACC is not set -# CONFIG_COMPASS_DEVICE is not set -# CONFIG_GYROSCOPE_DEVICE is not set -# CONFIG_LIGHT_DEVICE is not set -# CONFIG_PROXIMITY_DEVICE is not set -# CONFIG_TEMPERATURE_DEVICE is not set -# CONFIG_PRESSURE_DEVICE is not set -# CONFIG_HALL_DEVICE 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_GP2A is not set -# CONFIG_INPUT_GPIO_BEEPER is not set -# CONFIG_INPUT_GPIO_DECODER 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 is not set -CONFIG_INPUT_RK805_PWRKEY=y -# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set -# CONFIG_INPUT_ADXL34X is not set -# CONFIG_INPUT_IMS_PCU is not set -# CONFIG_INPUT_CMA3000 is not set -# CONFIG_INPUT_SOC_BUTTON_ARRAY 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 is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=m -CONFIG_SERIO_SERPORT=m -# CONFIG_SERIO_AMBAKMI is not set -# CONFIG_SERIO_PCIPS2 is not set -# CONFIG_SERIO_LIBPS2 is not set -# 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=m -# CONFIG_GAMEPORT_NS558 is not set -# CONFIG_GAMEPORT_L4 is not set -# CONFIG_GAMEPORT_EMU10K1 is not set -# CONFIG_GAMEPORT_FM801 is not set - -# -# 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_SERIAL_NONSTANDARD is not set -# CONFIG_NOZOMI is not set -# CONFIG_N_GSM is not set -# CONFIG_TRACE_SINK is not set -CONFIG_LDISC_AUTOLOAD=y -CONFIG_DEVMEM=y - -# -# Serial drivers -# -CONFIG_SERIAL_EARLYCON=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=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_NR_UARTS=10 -CONFIG_SERIAL_8250_RUNTIME_UARTS=10 -# CONFIG_SERIAL_8250_EXTENDED is not set -# CONFIG_SERIAL_8250_ASPEED_VUART is not set -CONFIG_SERIAL_8250_FSL=y -CONFIG_SERIAL_8250_DW=y -# CONFIG_SERIAL_8250_RT288X is not set -# CONFIG_SERIAL_8250_MOXA is not set -CONFIG_SERIAL_OF_PLATFORM=y - -# -# Non-8250 serial port support -# -# CONFIG_SERIAL_AMBA_PL010 is not set -# CONFIG_SERIAL_AMBA_PL011 is not set -# CONFIG_SERIAL_EARLYCON_ARM_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_MSM_GENI_HALF_SAMPLING is not set -# CONFIG_SERIAL_MSM_GENI_EARLY_CONSOLE 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_IFX6X60 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_CONEXANT_DIGICOLOR is not set -CONFIG_SERIAL_DEV_BUS=y -CONFIG_SERIAL_DEV_CTRL_TTYPORT=y -# CONFIG_TTY_PRINTK is not set -# CONFIG_HVC_DCC is not set -# CONFIG_IPMI_HANDLER is not set -CONFIG_HW_RANDOM=y -# CONFIG_HW_RANDOM_TIMERIOMEM is not set -CONFIG_HW_RANDOM_CAVIUM=y -CONFIG_HW_RANDOM_ROCKCHIP=y -# CONFIG_APPLICOM is not set - -# -# PCMCIA character devices -# -# CONFIG_RAW_DRIVER is not set -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_ATMEL is not set -CONFIG_TCG_TIS_I2C_INFINEON=y -# 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_DEVPORT=y -# CONFIG_XILLYBUS is not set -# CONFIG_RANDOM_TRUST_BOOTLOADER is not set - -# -# I2C support -# -CONFIG_I2C=y -CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_COMPAT=y -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 -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_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_PLATFORM is not set -# CONFIG_I2C_DESIGNWARE_PCI is not set -# CONFIG_I2C_EMEV2 is not set -# CONFIG_I2C_GPIO 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_PARPORT_LIGHT 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_CROS_EC_TUNNEL=y -# 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 -CONFIG_SPI=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y -# CONFIG_SPI_MEM is not set - -# -# 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_DESIGNWARE is not set -# CONFIG_SPI_GPIO is not set -# CONFIG_SPI_FSL_SPI is not set -# CONFIG_SPI_OC_TINY is not set -# CONFIG_SPI_PL022 is not set -# CONFIG_SPI_PXA2XX is not set -CONFIG_SPI_ROCKCHIP=y -# CONFIG_SPI_SC18IS602 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 - -# -# 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_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 - -# -# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. -# -CONFIG_PINCTRL=y -CONFIG_PINMUX=y -CONFIG_PINCONF=y -CONFIG_GENERIC_PINCONF=y -# CONFIG_DEBUG_PINCTRL is not set -# CONFIG_PINCTRL_AMD is not set -# CONFIG_PINCTRL_MCP23S08 is not set -CONFIG_PINCTRL_ROCKCHIP=y -# CONFIG_PINCTRL_SINGLE is not set -# CONFIG_PINCTRL_SX150X is not set -CONFIG_PINCTRL_RK628=y -CONFIG_PINCTRL_RK805=y -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_GENERIC=y - -# -# Memory mapped GPIO drivers -# -# CONFIG_GPIO_74XX_MMIO is not set -# CONFIG_GPIO_ALTERA is not set -# CONFIG_GPIO_DWAPB is not set -# CONFIG_GPIO_FTGPIO010 is not set -CONFIG_GPIO_GENERIC_PLATFORM=y -# CONFIG_GPIO_GRGPIO is not set -# CONFIG_GPIO_HLWD is not set -# CONFIG_GPIO_MB86S7X is not set -# CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_PL061 is not set -CONFIG_GPIO_ROCKCHIP=y -# CONFIG_GPIO_SYSCON is not set -# CONFIG_GPIO_XGENE is not set -# CONFIG_GPIO_XILINX is not set - -# -# I2C GPIO expanders -# -# CONFIG_GPIO_ADP5588 is not set -# CONFIG_GPIO_ADNP is not set -# CONFIG_GPIO_MAX7300 is not set -# CONFIG_GPIO_MAX732X is not set -CONFIG_GPIO_PCA953X=y -# CONFIG_GPIO_PCA953X_IRQ is not set -# CONFIG_GPIO_PCF857X is not set -# CONFIG_GPIO_TPIC2810 is not set - -# -# MFD GPIO expanders -# -# CONFIG_GPIO_TPS6586X is not set - -# -# 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 - -# -# 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 - -# -# USB GPIO expanders -# -# CONFIG_W1 is not set -CONFIG_POWER_AVS=y -CONFIG_ROCKCHIP_IODOMAIN=y -CONFIG_POWER_RESET=y -# CONFIG_POWER_RESET_BRCMSTB is not set -CONFIG_POWER_RESET_GPIO=y -CONFIG_POWER_RESET_GPIO_RESTART=y -# CONFIG_POWER_RESET_LTC2952 is not set -# CONFIG_POWER_RESET_RESTART is not set -# CONFIG_POWER_RESET_XGENE is not set -# CONFIG_POWER_RESET_SYSCON is not set -# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set -CONFIG_REBOOT_MODE=y -CONFIG_SYSCON_REBOOT_MODE=y -CONFIG_POWER_SUPPLY=y -# CONFIG_POWER_SUPPLY_DEBUG is not set -# CONFIG_PDA_POWER is not set -# CONFIG_GENERIC_ADC_BATTERY is not set -# CONFIG_TEST_POWER is not set -# CONFIG_CHARGER_ADP5061 is not set -# CONFIG_BATTERY_DS2780 is not set -# CONFIG_BATTERY_DS2781 is not set -# CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_LEGO_EV3 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_LTC3651 is not set -# CONFIG_CHARGER_DETECTOR_MAX14656 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_BQ25700 is not set -# CONFIG_CHARGER_BQ25890 is not set -# CONFIG_CHARGER_SMB347 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set -# CONFIG_CHARGER_RT9455 is not set -# CONFIG_CHARGER_CROS_USBPD is not set -CONFIG_BATTERY_CW2015=y -# CONFIG_BATTERY_RK816 is not set -CONFIG_BATTERY_RK817=y -CONFIG_CHARGER_RK817=y -# CONFIG_BATTERY_RK818 is not set -# CONFIG_CHARGER_RK818 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_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_ASC7621 is not set -# CONFIG_SENSORS_ARM_SCMI is not set -# CONFIG_SENSORS_ASPEED is not set -# CONFIG_SENSORS_ATXP1 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_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_IIO_HWMON is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_JC42 is not set -# CONFIG_SENSORS_POWR1220 is not set -# CONFIG_SENSORS_LINEAGE is not set -# CONFIG_SENSORS_LTC2945 is not set -# CONFIG_SENSORS_LTC2990 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_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_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_MCP3021 is not set -# CONFIG_SENSORS_TC654 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_NCT7802 is not set -# CONFIG_SENSORS_NCT7904 is not set -# CONFIG_SENSORS_NPCM7XX is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_PMBUS is not set -# CONFIG_SENSORS_PWM_FAN is not set -# CONFIG_SENSORS_SHT15 is not set -# CONFIG_SENSORS_SHT21 is not set -# CONFIG_SENSORS_SHT3x 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_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_SMM665 is not set -# CONFIG_SENSORS_ADC128D818 is not set -# CONFIG_SENSORS_ADS1015 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_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_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_STATISTICS 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_CLOCK_THERMAL is not set -CONFIG_DEVFREQ_THERMAL=y -# CONFIG_THERMAL_EMULATION is not set -# CONFIG_QORIQ_THERMAL is not set -CONFIG_ROCKCHIP_THERMAL=y -# CONFIG_RK_VIRTUAL_THERMAL is not set -# CONFIG_RK3368_THERMAL is not set - -# -# ACPI INT340X thermal drivers -# -# CONFIG_GENERIC_ADC_THERMAL is not set -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_CORE=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y -# CONFIG_WATCHDOG_SYSFS 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_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_ALIM7101_WDT is not set -# CONFIG_I6300ESB_WDT 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 - -# -# Watchdog Pretimeout Governors -# -# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set -CONFIG_SSB_POSSIBLE=y -# CONFIG_SSB is not set -CONFIG_BCMA_POSSIBLE=y -# CONFIG_BCMA is not set - -# -# Multifunction device drivers -# -CONFIG_MFD_CORE=y -# CONFIG_MFD_ACT8945A is not set -# CONFIG_MFD_AS3711 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_CROS_EC=y -# CONFIG_MFD_CROS_EC_CHARDEV is not set -# CONFIG_MFD_MADERA 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_MC13XXX_SPI is not set -# CONFIG_MFD_MC13XXX_I2C is not set -# CONFIG_MFD_HI6421_PMIC is not set -# CONFIG_HTC_PASIC3 is not set -# CONFIG_HTC_I2CPLD is not set -# CONFIG_LPC_ICH is not set -# CONFIG_LPC_SCH 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_MAX77620 is not set -# CONFIG_MFD_MAX77686 is not set -# CONFIG_MFD_MAX77693 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_MT6397 is not set -# CONFIG_MFD_MENF21BMC is not set -# CONFIG_EZX_PCAP is not set -# CONFIG_MFD_CPCAP is not set -# CONFIG_MFD_VIPERBOARD is not set -# CONFIG_MFD_RETU is not set -# CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_RDC321X is not set -# CONFIG_MFD_RT5033 is not set -# CONFIG_MFD_RC5T583 is not set -CONFIG_MFD_RK618=y -CONFIG_MFD_RK628=y -# CONFIG_MFD_RK630 is not set -# CONFIG_MFD_RK630_I2C is not set -# CONFIG_MFD_RK630_SPI is not set -CONFIG_MFD_RK808=y -# CONFIG_MFD_RK1000 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_SMSC is not set -# CONFIG_ABX500_CORE is not set -# CONFIG_MFD_STMPE is not set -CONFIG_MFD_SYSCON=y -# CONFIG_MFD_TI_AM335X_TSCADC is not set -# 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_TPS6586X=y -# CONFIG_MFD_TPS65910 is not set -# CONFIG_MFD_TPS65912_I2C is not set -# CONFIG_MFD_TPS65912_SPI is not set -# CONFIG_MFD_TPS80031 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_VX855 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_RAVE_SP_CORE is not set -CONFIG_FUSB_30X=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_DEBUG=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set -# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set -# CONFIG_REGULATOR_PROXY_CONSUMER is not set -# CONFIG_REGULATOR_88PG86X is not set -CONFIG_REGULATOR_ACT8865=y -# CONFIG_REGULATOR_AD5398 is not set -# CONFIG_REGULATOR_ANATOP is not set -# CONFIG_REGULATOR_DA9210 is not set -# CONFIG_REGULATOR_DA9211 is not set -CONFIG_REGULATOR_FAN53555=y -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_LP8752=y -# 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_MAX8649 is not set -# CONFIG_REGULATOR_MAX8660 is not set -# CONFIG_REGULATOR_MAX8952 is not set -# CONFIG_REGULATOR_MAX8973 is not set -CONFIG_REGULATOR_MP8865=y -# CONFIG_REGULATOR_MT6311 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_RK808=y -# CONFIG_REGULATOR_SY8106A is not set -# CONFIG_REGULATOR_TPS51632 is not set -# CONFIG_REGULATOR_TPS549B22 is not set -# CONFIG_REGULATOR_TPS62360 is not set -# CONFIG_REGULATOR_TPS65023 is not set -# CONFIG_REGULATOR_TPS6507X is not set -CONFIG_REGULATOR_TPS65132=y -# CONFIG_REGULATOR_TPS6524X is not set -CONFIG_REGULATOR_TPS6586X=y -# CONFIG_REGULATOR_VCTRL is not set -CONFIG_REGULATOR_XZ3216=y -# CONFIG_REGULATOR_DIO5632 is not set -CONFIG_CEC_CORE=y -CONFIG_CEC_NOTIFIER=y -# CONFIG_RC_CORE is not set -CONFIG_MEDIA_SUPPORT=y - -# -# Multimedia core support -# -CONFIG_MEDIA_CAMERA_SUPPORT=y -# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set -# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set -# CONFIG_MEDIA_RADIO_SUPPORT is not set -# CONFIG_MEDIA_SDR_SUPPORT is not set -CONFIG_MEDIA_CEC_SUPPORT=y -CONFIG_MEDIA_CONTROLLER=y -CONFIG_VIDEO_DEV=y -CONFIG_VIDEO_V4L2_SUBDEV_API=y -CONFIG_VIDEO_V4L2=y -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -# CONFIG_VIDEO_PCI_SKELETON is not set -CONFIG_V4L2_MEM2MEM_DEV=y -# CONFIG_V4L2_FLASH_LED_CLASS is not set -CONFIG_V4L2_FWNODE=y - -# -# Media drivers -# -CONFIG_MEDIA_USB_SUPPORT=y - -# -# Webcam devices -# -CONFIG_USB_VIDEO_CLASS=y -# CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV is not set -# CONFIG_USB_GSPCA is not set -# CONFIG_USB_PWC is not set -# CONFIG_VIDEO_CPIA2 is not set -# CONFIG_USB_ZR364XX is not set -# CONFIG_USB_STKWEBCAM is not set -# CONFIG_USB_S2255 is not set -# CONFIG_VIDEO_USBTV is not set - -# -# Webcam, TV (analog/digital) USB devices -# -# CONFIG_VIDEO_EM28XX is not set - -# -# USB HDMI CEC adapters -# -# CONFIG_USB_PULSE8_CEC is not set -# CONFIG_USB_RAINSHADOW_CEC is not set -# CONFIG_MEDIA_PCI_SUPPORT is not set -CONFIG_V4L_PLATFORM_DRIVERS=y -# CONFIG_VIDEO_CAFE_CCIC is not set -# CONFIG_VIDEO_CADENCE is not set -# CONFIG_VIDEO_MUX is not set -CONFIG_SOC_CAMERA=y -# CONFIG_SOC_CAMERA_PLATFORM is not set -# CONFIG_VIDEO_XILINX is not set -CONFIG_VIDEO_ROCKCHIP_CIF=y -CONFIG_ROCKCHIP_CIF_WORKMODE_PINGPONG=y -# CONFIG_ROCKCHIP_CIF_WORKMODE_ONEFRAME is not set -CONFIG_VIDEO_ROCKCHIP_ISP1=y -CONFIG_VIDEO_ROCKCHIP_ISP=y -# CONFIG_VIDEO_ROCKCHIP_ISPP is not set -CONFIG_V4L_MEM2MEM_DRIVERS=y -# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set -# CONFIG_VIDEO_SH_VEU is not set -CONFIG_VIDEO_ROCKCHIP_RGA=y -# CONFIG_V4L_TEST_DRIVERS is not set -# CONFIG_CEC_PLATFORM_DRIVERS is not set - -# -# Supported MMC/SDIO adapters -# -# CONFIG_CYPRESS_FIRMWARE is not set -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 - -# -# Media ancillary drivers (tuners, sensors, i2c, spi, frontends) -# -# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set - -# -# I2C Encoders, decoders, sensors and other helper chips -# - -# -# Audio decoders, processors and mixers -# -# CONFIG_VIDEO_TVAUDIO is not set -# CONFIG_VIDEO_TDA7432 is not set -# CONFIG_VIDEO_TDA9840 is not set -# CONFIG_VIDEO_TDA1997X is not set -# CONFIG_VIDEO_TEA6415C is not set -# CONFIG_VIDEO_TEA6420 is not set -# CONFIG_VIDEO_MSP3400 is not set -# CONFIG_VIDEO_CS3308 is not set -# CONFIG_VIDEO_CS5345 is not set -# CONFIG_VIDEO_CS53L32A is not set -# CONFIG_VIDEO_TLV320AIC23B is not set -# CONFIG_VIDEO_UDA1342 is not set -# CONFIG_VIDEO_WM8775 is not set -# CONFIG_VIDEO_WM8739 is not set -# CONFIG_VIDEO_VP27SMPX is not set -# CONFIG_VIDEO_SONY_BTF_MPX is not set - -# -# RDS decoders -# -# CONFIG_VIDEO_SAA6588 is not set - -# -# 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_KS0127 is not set -# CONFIG_VIDEO_ML86V7667 is not set -# CONFIG_VIDEO_AD5820 is not set -# CONFIG_VIDEO_AK7375 is not set -# CONFIG_VIDEO_DW9714 is not set -# CONFIG_VIDEO_DW9807_VCM is not set -# CONFIG_VIDEO_FP5510 is not set -# CONFIG_VIDEO_GT9760S is not set -# CONFIG_VIDEO_VM149C is not set -# CONFIG_VIDEO_SAA7110 is not set -# CONFIG_VIDEO_SAA711X is not set -# CONFIG_VIDEO_TC358743 is not set -# CONFIG_VIDEO_TC35874X is not set -CONFIG_VIDEO_RK628_CSI=y -# CONFIG_VIDEO_TECHPOINT is not set -# CONFIG_VIDEO_TVP514X is not set -# CONFIG_VIDEO_TVP5150 is not set -# CONFIG_VIDEO_TVP7002 is not set -# CONFIG_VIDEO_TW2804 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 is not set - -# -# Video encoders -# -# CONFIG_VIDEO_SAA7127 is not set -# CONFIG_VIDEO_SAA7185 is not set -# 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_AD9389B is not set -# CONFIG_VIDEO_AK881X is not set -# CONFIG_VIDEO_THS8200 is not set - -# -# Camera sensor devices -# -# CONFIG_VIDEO_IMX178 is not set -# CONFIG_VIDEO_IMX219 is not set -# CONFIG_VIDEO_IMX258 is not set -# CONFIG_VIDEO_IMX274 is not set -# CONFIG_VIDEO_IMX307 is not set -# CONFIG_VIDEO_IMX317 is not set -# CONFIG_VIDEO_IMX323 is not set -# CONFIG_VIDEO_IMX327 is not set -# CONFIG_VIDEO_IMX334 is not set -# CONFIG_VIDEO_IMX335 is not set -# CONFIG_VIDEO_IMX347 is not set -# CONFIG_VIDEO_IMX378 is not set -# CONFIG_VIDEO_IMX415 is not set -# CONFIG_VIDEO_IMX464 is not set -# CONFIG_VIDEO_OS02G10 is not set -CONFIG_VIDEO_OS04A10=y -# CONFIG_VIDEO_OS04C10 is not set -# CONFIG_VIDEO_OS05A20 is not set -# CONFIG_VIDEO_OS08A10 is not set -# CONFIG_VIDEO_OV02B10 is not set -# CONFIG_VIDEO_OV02K10 is not set -# CONFIG_VIDEO_OV2640 is not set -# CONFIG_VIDEO_OV2659 is not set -# CONFIG_VIDEO_OV2680 is not set -# CONFIG_VIDEO_OV2685 is not set -# CONFIG_VIDEO_OV2718 is not set -# CONFIG_VIDEO_OV2735 is not set -# CONFIG_VIDEO_OV2775 is not set -# CONFIG_VIDEO_OV4686 is not set -# CONFIG_VIDEO_OV4688 is not set -CONFIG_VIDEO_OV4689=y -# CONFIG_VIDEO_OV5640 is not set -# CONFIG_VIDEO_OV5645 is not set -# CONFIG_VIDEO_OV5647 is not set -# CONFIG_VIDEO_OV5648 is not set -# CONFIG_VIDEO_OV5670 is not set -CONFIG_VIDEO_OV5695=y -# CONFIG_VIDEO_OV6650 is not set -CONFIG_VIDEO_OV7251=y -# CONFIG_VIDEO_OV772X is not set -# CONFIG_VIDEO_OV7640 is not set -# CONFIG_VIDEO_OV7670 is not set -# CONFIG_VIDEO_OV7740 is not set -# CONFIG_VIDEO_OV7750 is not set -# CONFIG_VIDEO_OV8858 is not set -# CONFIG_VIDEO_OV9281 is not set -# CONFIG_VIDEO_OV9650 is not set -# CONFIG_VIDEO_OV9750 is not set -# CONFIG_VIDEO_OV12D2Q is not set -CONFIG_VIDEO_OV13850=y -# CONFIG_VIDEO_OV13858 is not set -# CONFIG_VIDEO_PREISP_DUMMY_SENSOR is not set -# CONFIG_VIDEO_VS6624 is not set -# CONFIG_VIDEO_MT9M032 is not set -# CONFIG_VIDEO_MT9M111 is not set -# CONFIG_VIDEO_MT9P031 is not set -# CONFIG_VIDEO_MT9T001 is not set -# CONFIG_VIDEO_MT9T112 is not set -# CONFIG_VIDEO_MT9V011 is not set -# CONFIG_VIDEO_MT9V032 is not set -# CONFIG_VIDEO_MT9V111 is not set -# CONFIG_VIDEO_AR0230 is not set -# CONFIG_VIDEO_SR030PC30 is not set -# CONFIG_VIDEO_NOON010PC30 is not set -# CONFIG_VIDEO_M5MOLS is not set -# CONFIG_VIDEO_RJ54N1 is not set -# CONFIG_VIDEO_S5K6AA is not set -# CONFIG_VIDEO_S5K6A3 is not set -# CONFIG_VIDEO_S5KGM1SP is not set -# CONFIG_VIDEO_S5K4H7YX is not set -# CONFIG_VIDEO_S5K4ECGX is not set -# CONFIG_VIDEO_S5K5BAF is not set -# CONFIG_VIDEO_SMIAPP is not set -# CONFIG_VIDEO_ET8EK8 is not set -# CONFIG_VIDEO_S5C73M3 is not set -# CONFIG_VIDEO_GC02M2 is not set -# CONFIG_VIDEO_GC0312 is not set -# CONFIG_VIDEO_GC0329 is not set -# CONFIG_VIDEO_GC032A is not set -# CONFIG_VIDEO_GC0403 is not set -# CONFIG_VIDEO_GC2035 is not set -CONFIG_VIDEO_GC2053=y -CONFIG_VIDEO_GC2093=y -# CONFIG_VIDEO_GC2145 is not set -# CONFIG_VIDEO_GC2155 is not set -# CONFIG_VIDEO_GC2355 is not set -# CONFIG_VIDEO_GC2375H is not set -# CONFIG_VIDEO_GC2385 is not set -# CONFIG_VIDEO_GC4663 is not set -# CONFIG_VIDEO_GC4C33 is not set -# CONFIG_VIDEO_GC5024 is not set -# CONFIG_VIDEO_GC5025 is not set -# CONFIG_VIDEO_GC5035 is not set -CONFIG_VIDEO_GC8034=y -# CONFIG_VIDEO_BF3925 is not set -# CONFIG_VIDEO_JX_F37 is not set -# CONFIG_VIDEO_JX_H62 is not set -# CONFIG_VIDEO_JX_H65 is not set -# CONFIG_VIDEO_JX_K04 is not set -# CONFIG_VIDEO_SC031GS is not set -# CONFIG_VIDEO_SC035HGS is not set -# CONFIG_VIDEO_SC132GS is not set -# CONFIG_VIDEO_SC200AI is not set -# CONFIG_VIDEO_SC210IOT is not set -# CONFIG_VIDEO_SC2232 is not set -# CONFIG_VIDEO_SC2239 is not set -# CONFIG_VIDEO_SC2310 is not set -# CONFIG_VIDEO_SC2335 is not set -# CONFIG_VIDEO_SC401AI is not set -# CONFIG_VIDEO_SC4238 is not set -# CONFIG_VIDEO_SC430CS is not set -# CONFIG_VIDEO_SC500AI is not set -# CONFIG_VIDEO_SC8220 is not set -# CONFIG_VIDEO_SP250A is not set -# CONFIG_VIDEO_HYNIX_HI556 is not set -# CONFIG_VIDEO_HYNIX_HI846 is not set - -# -# Flash devices -# -# CONFIG_VIDEO_ADP1653 is not set -# CONFIG_VIDEO_LM3560 is not set -# CONFIG_VIDEO_LM3646 is not set -# CONFIG_VIDEO_SGM3784 is not set - -# -# Video improvement chips -# -# CONFIG_VIDEO_UPD64031A is not set -# CONFIG_VIDEO_UPD64083 is not set - -# -# Audio/Video compression chips -# -# CONFIG_VIDEO_SAA6752HS is not set - -# -# SDR tuner chips -# - -# -# Miscellaneous helper chips -# -# CONFIG_VIDEO_THS7303 is not set -# CONFIG_VIDEO_M52790 is not set -# CONFIG_VIDEO_I2C is not set -# CONFIG_VIDEO_NVP6158 is not set -# CONFIG_VIDEO_NVP6188 is not set -# CONFIG_VIDEO_NVP6324 is not set -# CONFIG_VIDEO_HALL_DC_MOTOR is not set -# CONFIG_VIDEO_RK_IRCUT is not set -# CONFIG_VIDEO_MP6507 is not set - -# -# Sensors used on soc_camera driver -# - -# -# soc_camera sensor drivers -# -# CONFIG_SOC_CAMERA_MT9M001 is not set -# CONFIG_SOC_CAMERA_MT9M111 is not set -# CONFIG_SOC_CAMERA_MT9T112 is not set -# CONFIG_SOC_CAMERA_MT9V022 is not set -# CONFIG_SOC_CAMERA_OV5642 is not set -# CONFIG_SOC_CAMERA_OV772X is not set -# CONFIG_SOC_CAMERA_OV9640 is not set -# CONFIG_SOC_CAMERA_OV9740 is not set -# CONFIG_SOC_CAMERA_RJ54N1 is not set -# CONFIG_SOC_CAMERA_TW9910 is not set - -# -# SPI helper chips -# -# CONFIG_VIDEO_GS1662 is not set -# CONFIG_VIDEO_ROCKCHIP_PREISP is not set - -# -# Media SPI Adapters -# - -# -# Customise DVB Frontends -# - -# -# Tools to develop new frontends -# - -# -# Graphics support -# -# CONFIG_VGA_ARB is not set -CONFIG_DRM=y -CONFIG_DRM_IGNORE_IOTCL_PERMIT=y -CONFIG_DRM_MIPI_DSI=y -# CONFIG_DRM_DP_AUX_CHARDEV is not set -# CONFIG_DRM_DEBUG_MM is not set -# CONFIG_DRM_DEBUG_SELFTEST is not set -CONFIG_DRM_KMS_HELPER=y -CONFIG_DRM_KMS_FB_HELPER=y -CONFIG_DRM_FBDEV_EMULATION=y -CONFIG_DRM_FBDEV_OVERALLOC=200 -# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set -CONFIG_DRM_LOAD_EDID_FIRMWARE=y -# CONFIG_DRM_DP_CEC is not set -CONFIG_DRM_TTM=m -CONFIG_DRM_GEM_CMA_HELPER=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 -# CONFIG_DRM_HDLCD is not set -# CONFIG_DRM_MALI_DISPLAY is not set -# CONFIG_DRM_RADEON is not set -# CONFIG_DRM_AMDGPU is not set - -# -# ACP (Audio CoProcessor) Configuration -# - -# -# AMD Library routines -# -# CONFIG_DRM_NOUVEAU is not set -# CONFIG_DRM_VGEM is not set -# CONFIG_DRM_VKMS is not set -CONFIG_DRM_ROCKCHIP=y -# CONFIG_ROCKCHIP_DRM_DEBUG is not set -CONFIG_ROCKCHIP_ANALOGIX_DP=y -CONFIG_ROCKCHIP_CDN_DP=y -CONFIG_ROCKCHIP_DW_HDMI=y -CONFIG_ROCKCHIP_DW_MIPI_DSI=y -CONFIG_ROCKCHIP_INNO_HDMI=y -CONFIG_ROCKCHIP_LVDS=y -CONFIG_ROCKCHIP_DRM_TVE=y -CONFIG_ROCKCHIP_RGB=y -# CONFIG_DRM_ROCKCHIP_VVOP is not set -# CONFIG_ROCKCHIP_EBC_DEV is not set -CONFIG_DRM_ROCKCHIP_RK618=y -# CONFIG_DRM_ROCKCHIP_RK628 is not set -# CONFIG_DRM_UDL is not set -# CONFIG_DRM_AST is not set -# CONFIG_DRM_MGAG200 is not set -# CONFIG_DRM_CIRRUS_QEMU is not set -# CONFIG_DRM_RCAR_DW_HDMI is not set -# CONFIG_DRM_RCAR_LVDS is not set -# CONFIG_DRM_QXL is not set -# CONFIG_DRM_BOCHS is not set -CONFIG_DRM_PANEL=y - -# -# Display Panels -# -# CONFIG_DRM_PANEL_ARM_VERSATILE is not set -# CONFIG_DRM_PANEL_LVDS is not set -CONFIG_DRM_PANEL_SIMPLE=y -# CONFIG_DRM_PANEL_SIMPLE_OF_ONLY is not set -# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set -# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set -# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set -# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set -# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set -# CONFIG_DRM_PANEL_LG_LG4573 is not set -# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set -# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set -# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set -# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set -# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set -# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set -# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set -# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set -CONFIG_DRM_BRIDGE=y -CONFIG_DRM_PANEL_BRIDGE=y - -# -# Display Interface Bridges -# -# CONFIG_DRM_ANALOGIX_ANX78XX is not set -# CONFIG_DRM_CDNS_DSI is not set -# CONFIG_DRM_DUMB_VGA_DAC is not set -# CONFIG_DRM_LVDS_ENCODER is not set -# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set -# CONFIG_DRM_NXP_PTN3460 is not set -# CONFIG_DRM_PARADE_PS8622 is not set -# CONFIG_DRM_RK1000_TVE is not set -# CONFIG_DRM_SIL_SII8620 is not set -CONFIG_DRM_SII902X=y -# CONFIG_DRM_SII9234 is not set -# CONFIG_DRM_THINE_THC63LVD1024 is not set -# CONFIG_DRM_TOSHIBA_TC358767 is not set -# CONFIG_DRM_TI_TFP410 is not set -CONFIG_DRM_ANALOGIX_DP=y -# CONFIG_DRM_I2C_ADV7511 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_CEC=y -# CONFIG_DRM_ARCPGU is not set -# CONFIG_DRM_HISI_HIBMC is not set -# CONFIG_DRM_HISI_KIRIN is not set -# CONFIG_DRM_MXSFB is not set -# CONFIG_DRM_TINYDRM is not set -# CONFIG_DRM_PL111 is not set -# CONFIG_DRM_LEGACY is not set -CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y -CONFIG_MALI400=y -CONFIG_MALI450=y -# CONFIG_MALI470 is not set -# CONFIG_MALI400_DEBUG is not set -# CONFIG_MALI400_PROFILING is not set -# CONFIG_MALI400_UMP is not set -CONFIG_MALI_DMA_BUF_MAP_ON_ATTACH=y -CONFIG_MALI_SHARED_INTERRUPTS=y -# CONFIG_MALI_PMU_PARALLEL_POWER_UP is not set -CONFIG_MALI_DT=y -CONFIG_MALI_DEVFREQ=y -# CONFIG_MALI_QUIET is not set -CONFIG_MALI_MIDGARD_FOR_ANDROID=y -# CONFIG_MALI_MIDGARD_FOR_LINUX is not set -CONFIG_MALI_MIDGARD=y -# CONFIG_MALI_GATOR_SUPPORT is not set -# CONFIG_MALI_MIDGARD_ENABLE_TRACE is not set -# CONFIG_MALI_DMA_FENCE is not set -CONFIG_MALI_EXPERT=y -# CONFIG_MALI_CORESTACK is not set -# CONFIG_MALI_PRFCNT_SET_SECONDARY is not set -# CONFIG_MALI_PLATFORM_FAKE is not set -# CONFIG_MALI_PLATFORM_DEVICETREE is not set -CONFIG_MALI_PLATFORM_THIRDPARTY=y -CONFIG_MALI_PLATFORM_THIRDPARTY_NAME="rk" -CONFIG_MALI_DEBUG=y -CONFIG_MALI_FENCE_DEBUG=y -# CONFIG_MALI_NO_MALI is not set -# CONFIG_MALI_TRACE_TIMELINE is not set -# CONFIG_MALI_SYSTEM_TRACE is not set -# CONFIG_MALI_GPU_MMU_AARCH64 is not set -CONFIG_MALI_PWRSOFT_765=y -# CONFIG_MALI_KUTF is not set -CONFIG_MALI_BIFROST_FOR_ANDROID=y -# CONFIG_MALI_BIFROST_FOR_LINUX is not set -CONFIG_MALI_BIFROST=y -CONFIG_MALI_BIFROST_GATOR_SUPPORT=y -# CONFIG_MALI_BIFROST_ENABLE_TRACE is not set -CONFIG_MALI_BIFROST_DEVFREQ=y -# CONFIG_MALI_BIFROST_DMA_FENCE is not set -CONFIG_MALI_PLATFORM_NAME="rk" -# CONFIG_MALI_ARBITER_SUPPORT is not set -# CONFIG_MALI_BIFROST_EXPERT is not set -CONFIG_MALI_REAL_HW=y -# CONFIG_MALI_DMA_BUF_MAP_ON_DEMAND is not set -# CONFIG_MALI_DMA_BUF_LEGACY_COMPAT is not set -# CONFIG_MALI_GEM5_BUILD is not set - -# -# Frame buffer Devices -# -CONFIG_FB_CMDLINE=y -CONFIG_FB_NOTIFY=y -CONFIG_FB=y -# CONFIG_FIRMWARE_EDID is not set -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_IMAGEBLIT=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_SYS_FOPS=y -CONFIG_FB_DEFERRED_IO=y -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set - -# -# Frame buffer hardware drivers -# -# CONFIG_FB_CIRRUS is not set -# CONFIG_FB_PM2 is not set -# CONFIG_FB_ARMCLCD 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_BROADSHEET is not set -# CONFIG_FB_SIMPLE is not set -# CONFIG_FB_SSD1307 is not set -# CONFIG_FB_SM712 is not set -CONFIG_BACKLIGHT_LCD_SUPPORT=y -# CONFIG_LCD_CLASS_DEVICE is not set -CONFIG_BACKLIGHT_CLASS_DEVICE=y -CONFIG_BACKLIGHT_GENERIC=y -CONFIG_BACKLIGHT_PWM=y -# CONFIG_BACKLIGHT_PM8941_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_GPIO is not set -# CONFIG_BACKLIGHT_LV5207LP is not set -# CONFIG_BACKLIGHT_BD6107 is not set -# CONFIG_BACKLIGHT_ARCXCNN is not set - -# -# Rockchip Misc Video driver -# - -# -# RGA -# -# CONFIG_ROCKCHIP_RGA is not set - -# -# RGA2 -# -CONFIG_ROCKCHIP_RGA2=y - -# -# IEP -# -# CONFIG_IEP is not set -# CONFIG_IEP_MMU is not set -CONFIG_ROCKCHIP_MPP_SERVICE=y -CONFIG_ROCKCHIP_MPP_RKVDEC=y -CONFIG_ROCKCHIP_MPP_RKVDEC2=y -CONFIG_ROCKCHIP_MPP_RKVENC=y -CONFIG_ROCKCHIP_MPP_VDPU1=y -CONFIG_ROCKCHIP_MPP_VEPU1=y -CONFIG_ROCKCHIP_MPP_VDPU2=y -CONFIG_ROCKCHIP_MPP_VEPU2=y -CONFIG_ROCKCHIP_MPP_IEP2=y -CONFIG_ROCKCHIP_MPP_JPGDEC=y -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_DETECT_PRIMARY=y -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set -# CONFIG_LOGO 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=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG 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_DRIVERS=y -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_ALOOP is not set -# CONFIG_SND_VIRMIDI is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set -# CONFIG_SND_PCI is not set - -# -# 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_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_AMD_ACP is not set -# CONFIG_SND_ATMEL_SOC 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 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_IMX_AUDMUX is not set -# CONFIG_SND_I2S_HI6210_I2S is not set -# CONFIG_SND_SOC_IMG is not set -CONFIG_SND_SOC_ROCKCHIP=y -CONFIG_SND_SOC_ROCKCHIP_PREALLOC_BUFFER_SIZE=512 -# CONFIG_SND_SOC_ROCKCHIP_AUDIO_PWM is not set -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_VAD is not set -CONFIG_SND_SOC_ROCKCHIP_MAX98090=y -CONFIG_SND_SOC_ROCKCHIP_MULTICODECS=y -CONFIG_SND_SOC_ROCKCHIP_RT5645=y -# CONFIG_SND_SOC_ROCKCHIP_RT5651 is not set -CONFIG_SND_SOC_ROCKCHIP_RT5651_RK628=y -# CONFIG_SND_SOC_RK3288_HDMI_ANALOG is not set -# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set - -# -# STMicroelectronics STM32 SOC audio support -# -# CONFIG_SND_SOC_XTFPGA_I2S is not set -# CONFIG_ZX_TDM is not set -CONFIG_SND_SOC_I2C_AND_SPI=y - -# -# CODEC drivers -# -# CONFIG_SND_SOC_AC97_CODEC 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_AK4104 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_BD28623 is not set -# CONFIG_SND_SOC_BT_SCO 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_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_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_CS4349 is not set -# CONFIG_SND_SOC_CS53L30 is not set -# CONFIG_SND_SOC_CX2072X is not set -CONFIG_SND_SOC_DUMMY_CODEC=y -CONFIG_SND_SOC_HDMI_CODEC=y -# CONFIG_SND_SOC_ES7134 is not set -CONFIG_SND_SOC_ES7202=y -# CONFIG_SND_SOC_ES7210 is not set -# CONFIG_SND_SOC_ES7241 is not set -CONFIG_SND_SOC_ES7243E=y -CONFIG_SND_SOC_ES8311=y -CONFIG_SND_SOC_ES8316=y -# CONFIG_SND_SOC_ES8323 is not set -# CONFIG_SND_SOC_ES8328_I2C is not set -# CONFIG_SND_SOC_ES8328_SPI is not set -# CONFIG_SND_SOC_ES8396 is not set -# CONFIG_SND_SOC_GTM601 is not set -# CONFIG_SND_SOC_INNO_RK3036 is not set -CONFIG_SND_SOC_MAX98090=y -# CONFIG_SND_SOC_MAX98504 is not set -# CONFIG_SND_SOC_MAX9867 is not set -# CONFIG_SND_SOC_MAX98927 is not set -# CONFIG_SND_SOC_MAX98373 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_PCM3168A_I2C is not set -# CONFIG_SND_SOC_PCM3168A_SPI is not set -# CONFIG_SND_SOC_PCM512x_I2C is not set -# CONFIG_SND_SOC_PCM512x_SPI is not set -# CONFIG_SND_SOC_RK312X is not set -# CONFIG_SND_SOC_RK3228 is not set -CONFIG_SND_SOC_RK3308=y -CONFIG_SND_SOC_RK3328=y -CONFIG_SND_SOC_RK817=y -CONFIG_SND_SOC_RK_CODEC_DIGITAL=y -CONFIG_SND_SOC_RL6231=y -CONFIG_SND_SOC_RT5616=y -# CONFIG_SND_SOC_RT5631 is not set -CONFIG_SND_SOC_RT5640=y -CONFIG_SND_SOC_RT5645=y -CONFIG_SND_SOC_RT5651=y -# CONFIG_SND_SOC_SGTL5000 is not set -# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set -# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set -CONFIG_SND_SOC_SPDIF=y -# CONFIG_SND_SOC_SSM2305 is not set -# CONFIG_SND_SOC_SSM2602_SPI is not set -# CONFIG_SND_SOC_SSM2602_I2C 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_TAS5086 is not set -# CONFIG_SND_SOC_TAS571X is not set -# CONFIG_SND_SOC_TAS5720 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_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 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_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 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_WM8960 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_ZX_AUD96P22 is not set -# CONFIG_SND_SOC_MAX9759 is not set -# CONFIG_SND_SOC_MT6351 is not set -# CONFIG_SND_SOC_NAU8540 is not set -# CONFIG_SND_SOC_NAU8810 is not set -# CONFIG_SND_SOC_NAU8824 is not set -# CONFIG_SND_SOC_TPA6130A2 is not set -CONFIG_SND_SIMPLE_CARD_UTILS=y -CONFIG_SND_SIMPLE_CARD=y -# CONFIG_SND_SIMPLE_SCU_CARD is not set -# CONFIG_SND_AUDIO_GRAPH_CARD is not set -# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set - -# -# HID support -# -CONFIG_HID=y -CONFIG_HID_BATTERY_STRENGTH=y -CONFIG_HIDRAW=y -CONFIG_UHID=y -CONFIG_HID_GENERIC=y - -# -# Special HID drivers -# -# CONFIG_HID_A4TECH is not set -# CONFIG_HID_ACCUTOUCH is not set -# CONFIG_HID_ACRUX is not set -# CONFIG_HID_APPLE is not set -# CONFIG_HID_APPLEIR is not set -# CONFIG_HID_ASUS is not set -# CONFIG_HID_AUREAL is not set -# CONFIG_HID_BELKIN is not set -# CONFIG_HID_BETOP_FF is not set -# CONFIG_HID_CHERRY is not set -# CONFIG_HID_CHICONY is not set -# CONFIG_HID_CORSAIR is not set -# CONFIG_HID_COUGAR is not set -# CONFIG_HID_PRODIKEYS is not set -# CONFIG_HID_CMEDIA is not set -# CONFIG_HID_CP2112 is not set -# CONFIG_HID_CYPRESS is not set -# CONFIG_HID_DRAGONRISE is not set -# CONFIG_HID_EMS_FF is not set -# CONFIG_HID_ELAN is not set -# CONFIG_HID_ELECOM is not set -# CONFIG_HID_ELO is not set -# CONFIG_HID_EZKEY is not set -# CONFIG_HID_GEMBIRD is not set -# CONFIG_HID_GFRM is not set -# CONFIG_HID_HOLTEK is not set -# CONFIG_HID_GOOGLE_HAMMER is not set -# CONFIG_HID_GT683R is not set -# CONFIG_HID_KEYTOUCH is not set -# CONFIG_HID_KYE is not set -# CONFIG_HID_UCLOGIC is not set -# CONFIG_HID_WALTOP is not set -# CONFIG_HID_GYRATION is not set -# CONFIG_HID_ICADE is not set -# CONFIG_HID_ITE is not set -# CONFIG_HID_JABRA is not set -# CONFIG_HID_TWINHAN is not set -CONFIG_HID_KENSINGTON=y -# CONFIG_HID_LCPOWER is not set -# CONFIG_HID_LED is not set -# CONFIG_HID_LENOVO is not set -# CONFIG_HID_LOGITECH is not set -# CONFIG_HID_MAGICMOUSE is not set -# CONFIG_HID_MAYFLASH is not set -# CONFIG_HID_REDRAGON is not set -# CONFIG_HID_MICROSOFT is not set -# CONFIG_HID_MONTEREY is not set -CONFIG_HID_MULTITOUCH=y -# CONFIG_HID_NINTENDO is not set -# CONFIG_HID_NTI is not set -# CONFIG_HID_NTRIG is not set -# CONFIG_HID_ORTEK is not set -# CONFIG_HID_PANTHERLORD is not set -# CONFIG_HID_PENMOUNT is not set -# CONFIG_HID_PETALYNX is not set -# CONFIG_HID_PICOLCD is not set -# CONFIG_HID_PLANTRONICS is not set -# CONFIG_HID_PRIMAX is not set -# CONFIG_HID_RETRODE is not set -# CONFIG_HID_ROCCAT is not set -# CONFIG_HID_SAITEK is not set -# CONFIG_HID_SAMSUNG is not set -# CONFIG_HID_SONY is not set -# CONFIG_HID_SPEEDLINK is not set -# CONFIG_HID_STEAM is not set -# CONFIG_HID_STEELSERIES is not set -# CONFIG_HID_SUNPLUS is not set -# CONFIG_HID_RMI is not set -# CONFIG_HID_GREENASIA is not set -# CONFIG_HID_SMARTJOYPLUS is not set -# CONFIG_HID_TIVO is not set -# CONFIG_HID_TOPSEED is not set -# CONFIG_HID_THINGM is not set -# CONFIG_HID_THRUSTMASTER is not set -# CONFIG_HID_UDRAW_PS3 is not set -# CONFIG_HID_WACOM is not set -# CONFIG_HID_WIIMOTE is not set -# CONFIG_HID_XINMO is not set -# CONFIG_HID_ZEROPLUS is not set -# CONFIG_HID_ZYDACRON is not set -# CONFIG_HID_SENSOR_HUB is not set -# CONFIG_HID_ALPS is not set - -# -# USB HID support -# -CONFIG_USB_HID=y -# CONFIG_HID_PID is not set -CONFIG_USB_HIDDEV=y - -# -# I2C HID support -# -CONFIG_I2C_HID=y -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_COMMON=y -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB=y -CONFIG_USB_PCI=y -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y - -# -# Miscellaneous USB options -# -# CONFIG_USB_DEFAULT_PERSIST is not set -# CONFIG_USB_DYNAMIC_MINORS is not set -CONFIG_USB_OTG=y -# CONFIG_USB_OTG_WHITELIST is not set -# CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set -# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set -CONFIG_USB_MON=y -# CONFIG_USB_WUSB_CBAF is not set - -# -# 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_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_HCD_PLATFORM=y -# CONFIG_USB_OXU210HP_HCD is not set -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_FOTG210_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_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_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 is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_STORAGE_KARMA is not set -# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set -# CONFIG_USB_STORAGE_ENE_UB6250 is not set -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 -# 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_DWC3_ROCKCHIP_INNO=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 is not set -# 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_XIRCOM 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_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_FTDI_ELAN is not set -# CONFIG_USB_APPLEDISPLAY 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 - -# -# USB Physical Layer drivers -# -CONFIG_USB_PHY=y -# CONFIG_NOP_USB_XCEIV is not set -# CONFIG_USB_GPIO_VBUS is not set -# CONFIG_USB_ISP1301 is not set -# CONFIG_USB_ULPI is not set -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 is not set - -# -# USB Peripheral Controller -# -# CONFIG_USB_FOTG210_UDC is not set -# 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_DUMMY_HCD is not set -CONFIG_USB_LIBCOMPOSITE=y -CONFIG_USB_F_ACM=y -CONFIG_USB_U_SERIAL=y -CONFIG_USB_F_MASS_STORAGE=y -CONFIG_USB_F_FS=y -CONFIG_USB_F_UVC=y -CONFIG_USB_CONFIGFS=y -CONFIG_USB_CONFIGFS_UEVENT=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_ACC is not set -# CONFIG_USB_CONFIGFS_F_AUDIO_SRC is not set -# 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_HID is not set -CONFIG_USB_CONFIGFS_F_UVC=y -# CONFIG_USB_CONFIGFS_F_PRINTER is not set -# CONFIG_TYPEC is not set -# CONFIG_USB_ROLE_SWITCH is not set -# CONFIG_USB_LED_TRIG is not set -# CONFIG_USB_ULPI_BUS is not set -# CONFIG_UWB is not set -# 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 - -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 -CONFIG_SDIO_KEEPALIVE=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=y -# 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_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=y -# CONFIG_MMC_TOSHIBA_PCI is not set -# CONFIG_MMC_MTK is not set -# CONFIG_MMC_SDHCI_XENON is not set -# CONFIG_MMC_SDHCI_OMAP is not set -# CONFIG_MEMSTICK is not set -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_CLASS_FLASH=y -# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set - -# -# LED drivers -# -# CONFIG_LEDS_AAT1290 is not set -# CONFIG_LEDS_AS3645A is not set -# CONFIG_LEDS_BCM6328 is not set -# CONFIG_LEDS_BCM6358 is not set -# CONFIG_LEDS_CR0014114 is not set -# CONFIG_LEDS_LM3530 is not set -# CONFIG_LEDS_LM3642 is not set -# CONFIG_LEDS_LM3692X is not set -# CONFIG_LEDS_LM3601X 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_LP5521 is not set -# CONFIG_LEDS_LP5523 is not set -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LP8501 is not set -# CONFIG_LEDS_LP8860 is not set -# CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set -# CONFIG_LEDS_DAC124S085 is not set -# CONFIG_LEDS_PWM is not set -# CONFIG_LEDS_REGULATOR 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_KTD2692 is not set -# CONFIG_LEDS_IS31FL319X is not set -CONFIG_LEDS_IS31FL32XX=y -CONFIG_LEDS_RGB13H=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 is not set -# CONFIG_LEDS_MLXREG is not set -# CONFIG_LEDS_USER is not set - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -# CONFIG_LEDS_TRIGGER_ONESHOT is not set -# CONFIG_LEDS_TRIGGER_DISK is not set -# CONFIG_LEDS_TRIGGER_MTD is not set -# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set -# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set -# CONFIG_LEDS_TRIGGER_CPU is not set -# CONFIG_LEDS_TRIGGER_ACTIVITY is not set -# CONFIG_LEDS_TRIGGER_GPIO is not set -# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set - -# -# 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_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=y -CONFIG_RTC_SYSTOHC_DEVICE="rtc0" -# CONFIG_RTC_DEBUG is not set -CONFIG_RTC_NVMEM=y - -# -# RTC interfaces -# -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -# CONFIG_RTC_DRV_TEST is not set - -# -# I2C RTC drivers -# -# CONFIG_RTC_DRV_ABB5ZES3 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_FAKE is not set -CONFIG_RTC_DRV_HYM8563=y -# CONFIG_RTC_DRV_MAX6900 is not set -CONFIG_RTC_DRV_RK808=y -# CONFIG_RTC_DRV_RK_TIMER is not set -# 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_RV8803 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_RX6110 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 - -# -# 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_BQ4802 is not set -# CONFIG_RTC_DRV_RP5C01 is not set -# CONFIG_RTC_DRV_V3020 is not set -# CONFIG_RTC_DRV_ZYNQMP is not set -# CONFIG_RTC_DRV_CROS_EC is not set - -# -# on-CPU RTC drivers -# -# CONFIG_RTC_DRV_PL030 is not set -# CONFIG_RTC_DRV_PL031 is not set -# CONFIG_RTC_DRV_FTRTC010 is not set -# CONFIG_RTC_DRV_SNVS is not set -# CONFIG_RTC_DRV_R7301 is not set - -# -# HID Sensor RTC drivers -# -# CONFIG_RTC_DRV_HID_SENSOR_TIME 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_DW_AXI_DMAC is not set -# CONFIG_FSL_EDMA is not set -# CONFIG_INTEL_IDMA64 is not set -# CONFIG_MV_XOR_V2 is not set -CONFIG_PL330_DMA=y -# CONFIG_XILINX_DMA is not set -# CONFIG_XILINX_ZYNQMP_DMA 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 - -# -# 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_AUXDISPLAY is not set -# CONFIG_UIO is not set -# CONFIG_VFIO is not set -# CONFIG_VIRT_DRIVERS is not set -CONFIG_VIRTIO_MENU=y -# CONFIG_VIRTIO_PCI is not set -# CONFIG_VIRTIO_MMIO is not set - -# -# Microsoft Hyper-V guest support -# -CONFIG_STAGING=y -# CONFIG_PRISM2_USB is not set -# CONFIG_COMEDI is not set -# CONFIG_RTL8192U is not set -# CONFIG_RTLLIB is not set -# CONFIG_RTL8723BS is not set -# CONFIG_R8712U is not set -# CONFIG_R8188EU is not set -# CONFIG_R8822BE is not set -# 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 - -# -# Analog to digital converters -# -# CONFIG_AD7606 is not set -# CONFIG_AD7780 is not set -# CONFIG_AD7816 is not set -# CONFIG_AD7192 is not set -# CONFIG_AD7280 is not set - -# -# Analog digital bi-direction converters -# -# CONFIG_ADT7316 is not set - -# -# Capacitance to digital converters -# -# CONFIG_AD7150 is not set -# CONFIG_AD7152 is not set -# CONFIG_AD7746 is not set - -# -# Direct Digital Synthesis -# -# CONFIG_AD9832 is not set -# CONFIG_AD9834 is not set - -# -# Network Analyzer, Impedance Converters -# -# CONFIG_AD5933 is not set - -# -# Active energy metering IC -# -# CONFIG_ADE7854 is not set - -# -# Resolver to digital converters -# -# CONFIG_AD2S90 is not set -# CONFIG_AD2S1210 is not set -# CONFIG_FB_SM750 is not set -# CONFIG_FB_XGI is not set - -# -# Speakup console speech -# -# CONFIG_SPEAKUP is not set -# CONFIG_STAGING_MEDIA is not set - -# -# Android -# -# CONFIG_ASHMEM is not set -# CONFIG_ANDROID_VSOC is not set -# CONFIG_ION is not set -CONFIG_FIQ_DEBUGGER=y -CONFIG_FIQ_DEBUGGER_NO_SLEEP=y -# CONFIG_FIQ_DEBUGGER_WAKEUP_IRQ_ALWAYS_ON is not set -CONFIG_FIQ_DEBUGGER_CONSOLE=y -CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE=y -CONFIG_FIQ_DEBUGGER_TRUST_ZONE=y -# CONFIG_FIQ_DEBUGGER_UART_OVERLAY is not set -CONFIG_RK_CONSOLE_THREAD=y -# CONFIG_STAGING_BOARD is not set -# CONFIG_LTE_GDM724X is not set -# CONFIG_DGNC is not set -# CONFIG_GS_FPGABOOT is not set -# CONFIG_UNISYSSPAR is not set -# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set -# CONFIG_FB_TFT is not set -# CONFIG_WILC1000_SDIO is not set -# CONFIG_WILC1000_SPI is not set -# CONFIG_MOST is not set -# CONFIG_KS7010 is not set -# CONFIG_GREYBUS is not set -# CONFIG_PI433 is not set -# CONFIG_MTK_MMC is not set - -# -# Gasket devices -# -# CONFIG_STAGING_GASKET_FRAMEWORK is not set -# CONFIG_XIL_AXIS_FIFO is not set -# CONFIG_EROFS_FS is not set -# CONFIG_POWERVR_ROGUE_N is not set -# CONFIG_GOLDFISH is not set -CONFIG_CHROME_PLATFORMS=y -# CONFIG_CROS_EC_I2C is not set -# CONFIG_CROS_EC_SPI is not set -CONFIG_CROS_EC_PROTO=y -CONFIG_CLKDEV_LOOKUP=y -CONFIG_HAVE_CLK_PREPARE=y -CONFIG_COMMON_CLK=y - -# -# Common Clock Framework -# -CONFIG_COMMON_CLK_DEBUGFS=y -# CONFIG_COMMON_CLK_PROCFS is not set -# CONFIG_COMMON_CLK_VERSATILE is not set -# CONFIG_CLK_HSDK is not set -# CONFIG_COMMON_CLK_MAX9485 is not set -CONFIG_COMMON_CLK_RK808=y -CONFIG_COMMON_CLK_SCMI=y -# 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_CLK_QORIQ is not set -CONFIG_COMMON_CLK_XGENE=y -# CONFIG_COMMON_CLK_PWM is not set -# CONFIG_COMMON_CLK_VC5 is not set -# CONFIG_ROCKCHIP_CLK_COMPENSATION is not set -CONFIG_COMMON_CLK_ROCKCHIP_REGMAP=y -CONFIG_CLK_RK618=y -CONFIG_CLK_RK628=y -# 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_ARM_ARCH_TIMER_OOL_WORKAROUND=y -CONFIG_FSL_ERRATUM_A008585=y -CONFIG_HISILICON_ERRATUM_161010101=y -CONFIG_ARM64_ERRATUM_858921=y -# CONFIG_ARM_TIMER_SP804 is not set -CONFIG_MAILBOX=y -# CONFIG_ARM_MHU is not set -# CONFIG_PLATFORM_MHU is not set -# CONFIG_PL320_MBOX is not set -# CONFIG_ROCKCHIP_MBOX is not set -# CONFIG_ALTERA_MBOX is not set -# CONFIG_MAILBOX_TEST is not set -# CONFIG_RK3368_MBOX is not set -CONFIG_IOMMU_API=y -CONFIG_IOMMU_SUPPORT=y - -# -# Generic IOMMU Pagetable Support -# -# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set -# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set -# CONFIG_IOMMU_DEBUGFS is not set -# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set -CONFIG_IOMMU_IOVA=y -CONFIG_OF_IOMMU=y -CONFIG_IOMMU_DMA=y -CONFIG_ROCKCHIP_IOMMU=y -# CONFIG_ARM_SMMU is not set -# CONFIG_ARM_SMMU_V3 is not set - -# -# Remoteproc drivers -# -# CONFIG_REMOTEPROC is not set - -# -# Rpmsg drivers -# -# CONFIG_RPMSG_QCOM_GLINK_RPM is not set -# CONFIG_RPMSG_VIRTIO is not set - -# -# SOC (System On Chip) specific Drivers -# - -# -# Amlogic SoC drivers -# - -# -# Broadcom SoC drivers -# -# CONFIG_SOC_BRCMSTB is not set - -# -# NXP/Freescale QorIQ SoC drivers -# - -# -# i.MX SoC drivers -# - -# -# Qualcomm SoC drivers -# - -# -# Rockchip CPU selection -# -CONFIG_CPU_PX30=y -CONFIG_CPU_RK1808=y -# CONFIG_CPU_RK3308 is not set -CONFIG_CPU_RK3328=y -# CONFIG_CPU_RK3368 is not set -CONFIG_CPU_RK3399=y -CONFIG_CPU_RK3568=y -CONFIG_ANDROID_VERSION=0x08010000 -CONFIG_ROCKCHIP_CPUINFO=y -CONFIG_ROCKCHIP_GRF=y -# CONFIG_ROCKCHIP_HW_DECOMPRESS is not set -CONFIG_ROCKCHIP_IPA=y -CONFIG_ROCKCHIP_OPP=y -CONFIG_ROCKCHIP_PM_DOMAINS=y -CONFIG_ROCKCHIP_PVTM=y -# CONFIG_ROCKCHIP_RAMDISK is not set -CONFIG_ROCKCHIP_SUSPEND_MODE=y -CONFIG_ROCKCHIP_SYSTEM_MONITOR=y -CONFIG_ROCKCHIP_MTD_VENDOR_STORAGE=y -CONFIG_ROCKCHIP_VENDOR_STORAGE_UPDATE_LOADER=y -CONFIG_ROCKCHIP_DEBUG=y -# CONFIG_ROCKCHIP_LOW_PERFORMANCE is not set -# CONFIG_ROCKCHIP_THUNDER_BOOT is not set -CONFIG_ROCKCHIP_SCHED_PERFORMANCE_BIAS=y -# CONFIG_SOC_TI is not set - -# -# Xilinx SoC drivers -# -# CONFIG_XILINX_VCU is not set -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=y -# CONFIG_DEVFREQ_GOV_PASSIVE is not set - -# -# DEVFREQ Drivers -# -CONFIG_ARM_ROCKCHIP_BUS_DEVFREQ=y -CONFIG_ARM_ROCKCHIP_DMC_DEVFREQ=y -# CONFIG_ARM_ROCKCHIP_DMC_DEBUG is not set -CONFIG_PM_DEVFREQ_EVENT=y -CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=y -# CONFIG_DEVFREQ_EVENT_ROCKCHIP_NOCP is not set -CONFIG_EXTCON=y - -# -# Extcon Device Drivers -# -# CONFIG_EXTCON_ADC_JACK is not set -# CONFIG_EXTCON_GPIO is not set -# CONFIG_EXTCON_MAX3355 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_CROS_EC is not set -CONFIG_MEMORY=y -# CONFIG_ARM_PL172_MPMC is not set -CONFIG_IIO=y -CONFIG_IIO_BUFFER=y -# CONFIG_IIO_BUFFER_CB is not set -# CONFIG_IIO_BUFFER_HW_CONSUMER is not set -CONFIG_IIO_KFIFO_BUF=y -# CONFIG_IIO_CONFIGFS is not set -CONFIG_IIO_TRIGGER=y -CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 -# CONFIG_IIO_SW_DEVICE is not set -# CONFIG_IIO_SW_TRIGGER is not set - -# -# Accelerometers -# -# CONFIG_ADIS16201 is not set -# CONFIG_ADIS16209 is not set -# CONFIG_ADXL345_I2C is not set -# CONFIG_ADXL345_SPI is not set -# CONFIG_BMA180 is not set -# CONFIG_BMA220 is not set -# CONFIG_BMC150_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_IIO_CROS_EC_ACCEL_LEGACY is not set -# CONFIG_IIO_ST_ACCEL_3AXIS 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_MXC4005 is not set -# CONFIG_MXC6255 is not set -# CONFIG_SCA3000 is not set -# CONFIG_STK8312 is not set -# CONFIG_STK8BA50 is not set - -# -# Analog to digital converters -# -# CONFIG_AD7266 is not set -# CONFIG_AD7291 is not set -# CONFIG_AD7298 is not set -# CONFIG_AD7476 is not set -# CONFIG_AD7766 is not set -# CONFIG_AD7791 is not set -# CONFIG_AD7793 is not set -# CONFIG_AD7887 is not set -# CONFIG_AD7923 is not set -# CONFIG_AD799X 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_LTC2471 is not set -# CONFIG_LTC2485 is not set -# CONFIG_LTC2497 is not set -# CONFIG_MAX1027 is not set -# CONFIG_MAX11100 is not set -# CONFIG_MAX1118 is not set -# CONFIG_MAX1363 is not set -# CONFIG_MAX9611 is not set -# CONFIG_MCP320X is not set -# CONFIG_MCP3422 is not set -# CONFIG_NAU7802 is not set -CONFIG_ROCKCHIP_SARADC=y -# CONFIG_ROCKCHIP_SARADC_TEST_CHN 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_ADS7950 is not set -# CONFIG_TI_ADS8688 is not set -# CONFIG_TI_TLC4541 is not set -# CONFIG_VF610_ADC is not set - -# -# Analog Front Ends -# -# CONFIG_IIO_RESCALE is not set - -# -# Amplifiers -# -# CONFIG_AD8366 is not set - -# -# Chemical Sensors -# -# CONFIG_ATLAS_PH_SENSOR is not set -# CONFIG_BME680 is not set -# CONFIG_CCS811 is not set -# CONFIG_IAQCORE is not set -# CONFIG_VZ89X is not set -# CONFIG_IIO_CROS_EC_SENSORS_CORE is not set - -# -# Hid Sensor IIO Common -# - -# -# SSP Sensor Common -# -# CONFIG_IIO_SSP_SENSORHUB is not set - -# -# Counters -# - -# -# Digital to analog converters -# -# 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_LTC2632 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_AD5791 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_M62332 is not set -# CONFIG_MAX517 is not set -# CONFIG_MAX5821 is not set -# CONFIG_MCP4725 is not set -# CONFIG_MCP4922 is not set -# CONFIG_TI_DAC082S085 is not set -# CONFIG_TI_DAC5571 is not set -# CONFIG_VF610_DAC is not set - -# -# IIO dummy driver -# - -# -# Frequency Synthesizers DDS/PLL -# - -# -# Clock Generator/Distribution -# -# CONFIG_AD9523 is not set - -# -# Phase-Locked Loop (PLL) frequency synthesizers -# -# CONFIG_ADF4350 is not set - -# -# Digital gyroscope sensors -# -# CONFIG_ADIS16080 is not set -# CONFIG_ADIS16130 is not set -# CONFIG_ADIS16136 is not set -# CONFIG_ADIS16260 is not set -# CONFIG_ADXRS450 is not set -# CONFIG_BMG160 is not set -# CONFIG_MPU3050_I2C is not set -# CONFIG_IIO_ST_GYRO_3AXIS is not set -# CONFIG_ITG3200 is not set - -# -# 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 - -# -# Humidity sensors -# -# CONFIG_AM2315 is not set -# CONFIG_DHT11 is not set -# CONFIG_HDC100X is not set -# CONFIG_HTS221 is not set -# CONFIG_HTU21 is not set -# CONFIG_SI7005 is not set -# CONFIG_SI7020 is not set - -# -# Inertial measurement units -# -# CONFIG_ADIS16400 is not set -# CONFIG_ADIS16480 is not set -# CONFIG_BMI160_I2C is not set -# CONFIG_BMI160_SPI is not set -# CONFIG_KMX61 is not set -# CONFIG_INV_MPU6050_I2C is not set -# CONFIG_INV_MPU6050_SPI is not set -# CONFIG_IIO_ST_LSM6DSX is not set - -# -# Light sensors -# -# CONFIG_ADJD_S311 is not set -# CONFIG_AL3320A is not set -# CONFIG_APDS9300 is not set -# CONFIG_APDS9960 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_GP2AP020A00F is not set -CONFIG_SENSORS_ISL29018=y -# CONFIG_SENSORS_ISL29028 is not set -# CONFIG_ISL29125 is not set -# CONFIG_JSA1212 is not set -# CONFIG_RPR0521 is not set -# CONFIG_LTR501 is not set -# CONFIG_LV0104CS is not set -# CONFIG_MAX44000 is not set -# CONFIG_OPT3001 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_TSL2772 is not set -# CONFIG_TSL4531 is not set -# CONFIG_US5182D is not set -# CONFIG_VCNL4000 is not set -# CONFIG_VEML6070 is not set -# CONFIG_VL6180 is not set -# CONFIG_ZOPT2201 is not set - -# -# 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_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 - -# -# Multiplexers -# -# CONFIG_IIO_MUX is not set - -# -# Inclinometer sensors -# - -# -# Triggers - standalone -# -# CONFIG_IIO_INTERRUPT_TRIGGER is not set -CONFIG_IIO_SYSFS_TRIGGER=y - -# -# Digital potentiometers -# -# CONFIG_AD5272 is not set -# CONFIG_DS1803 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_TPL0102 is not set - -# -# Digital potentiostats -# -# CONFIG_LMP91000 is not set - -# -# Pressure sensors -# -# CONFIG_ABP060MG is not set -# CONFIG_BMP280 is not set -# CONFIG_HP03 is not set -# CONFIG_MPL115_I2C is not set -# CONFIG_MPL115_SPI is not set -# CONFIG_MPL3115 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 - -# -# Lightning sensors -# -# CONFIG_AS3935 is not set - -# -# Proximity and distance sensors -# -# CONFIG_ISL29501 is not set -# CONFIG_LIDAR_LITE_V2 is not set -# CONFIG_RFD77402 is not set -# CONFIG_SRF04 is not set -# CONFIG_SX9500 is not set -# CONFIG_SRF08 is not set - -# -# Resolver to digital converters -# -# CONFIG_AD2S1200 is not set - -# -# Temperature sensors -# -# CONFIG_MAXIM_THERMOCOUPLE is not set -# CONFIG_MLX90614 is not set -# CONFIG_MLX90632 is not set -# CONFIG_TMP006 is not set -# CONFIG_TMP007 is not set -# CONFIG_TSYS01 is not set -# CONFIG_TSYS02D is not set -# CONFIG_NTB is not set -# CONFIG_VME_BUS is not set -CONFIG_PWM=y -CONFIG_PWM_SYSFS=y -# CONFIG_PWM_CROS_EC is not set -# CONFIG_PWM_FSL_FTM is not set -# CONFIG_PWM_PCA9685 is not set -CONFIG_PWM_ROCKCHIP=y -# CONFIG_PWM_ROCKCHIP_ONESHOT 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_PARTITION_PERCPU=y -# CONFIG_IPACK_BUS is not set -CONFIG_ARCH_HAS_RESET_CONTROLLER=y -CONFIG_RESET_CONTROLLER=y -# CONFIG_RESET_TI_SYSCON is not set -# CONFIG_FMC is not set - -# -# PHY Subsystem -# -CONFIG_GENERIC_PHY=y -# CONFIG_PHY_XGENE is not set -# CONFIG_BCM_KONA_USB2_PHY is not set -# CONFIG_PHY_PXA_28NM_HSIC is not set -# CONFIG_PHY_PXA_28NM_USB2 is not set -# CONFIG_PHY_CPCAP_USB is not set -# CONFIG_PHY_MAPPHONE_MDM6600 is not set -CONFIG_PHY_ROCKCHIP_CSI2_DPHY=y -CONFIG_PHY_ROCKCHIP_DP=y -CONFIG_PHY_ROCKCHIP_EMMC=y -# CONFIG_PHY_ROCKCHIP_INNO_COMBPHY is not set -CONFIG_PHY_ROCKCHIP_INNO_HDMI_PHY=y -CONFIG_PHY_ROCKCHIP_INNO_MIPI_DPHY=y -CONFIG_PHY_ROCKCHIP_INNO_USB2=y -CONFIG_PHY_ROCKCHIP_INNO_USB3=y -CONFIG_PHY_ROCKCHIP_INNO_VIDEO_COMBO_PHY=y -# CONFIG_PHY_ROCKCHIP_INNO_VIDEO_PHY is not set -CONFIG_PHY_ROCKCHIP_MIPI_RX=y -CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y -CONFIG_PHY_ROCKCHIP_NANENG_EDP=y -# CONFIG_PHY_ROCKCHIP_NANENG_USB2 is not set -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 -# CONFIG_POWERCAP is not set -# CONFIG_MCB is not set -CONFIG_RAS=y - -# -# Android -# -CONFIG_ANDROID=y -# CONFIG_ANDROID_BINDER_IPC is not set -# CONFIG_LIBNVDIMM is not set -# CONFIG_DAX is not set -CONFIG_NVMEM=y -CONFIG_NVMEM_SYSFS=y -CONFIG_ROCKCHIP_EFUSE=y -CONFIG_ROCKCHIP_OTP=y - -# -# HW tracing support -# -# CONFIG_STM is not set -# CONFIG_INTEL_TH is not set -# CONFIG_FPGA is not set -# CONFIG_FSI is not set -# CONFIG_TEE is not set -CONFIG_PM_OPP=y -# CONFIG_SIOX is not set -# CONFIG_SLIMBUS is not set -# CONFIG_LEGACY_ENERGY_MODEL_DT is not set -CONFIG_RK_FLASH=y - -# -# Rockchip Flash Devices -# -# CONFIG_RK_NANDC_NAND is not set -CONFIG_RK_SFC_NAND=y -CONFIG_RK_SFC_NAND_MTD=y -CONFIG_RK_SFC_NOR=y -CONFIG_RK_SFC_NOR_MTD=y -# CONFIG_RK_NAND is not set - -# -# Headset device support -# -CONFIG_RK_HEADSET=y - -# -# File systems -# -CONFIG_DCACHE_WORD_ACCESS=y -CONFIG_FS_IOMAP=y -# CONFIG_EXT2_FS is not set -# CONFIG_EXT3_FS is not set -CONFIG_EXT4_FS=y -CONFIG_EXT4_USE_FOR_EXT2=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -# CONFIG_EXT4_ENCRYPTION is not set -# 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_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_FS_DAX is not set -CONFIG_FS_POSIX_ACL=y -CONFIG_EXPORTFS=y -# CONFIG_EXPORTFS_BLOCK_OPS is not set -CONFIG_FILE_LOCKING=y -CONFIG_MANDATORY_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_AUTOFS4_FS is not set -# CONFIG_AUTOFS_FS is not set -CONFIG_FUSE_FS=y -# CONFIG_CUSE is not set -CONFIG_OVERLAY_FS=y -CONFIG_OVERLAY_FS_REDIRECT_DIR=y -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_INCREMENTAL_FS is not set - -# -# Caches -# -# CONFIG_FSCACHE is not set - -# -# CD-ROM/DVD Filesystems -# -CONFIG_ISO9660_FS=y -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=y -# CONFIG_MSDOS_FS is not set -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=936 -CONFIG_FAT_DEFAULT_IOCHARSET="utf8" -CONFIG_FAT_DEFAULT_UTF8=y -CONFIG_EXFAT_FS=y -CONFIG_EXFAT_DEFAULT_CODEPAGE=437 -CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" -CONFIG_EXFAT_VIRTUAL_XATTR=y -CONFIG_EXFAT_VIRTUAL_XATTR_SELINUX_LABEL="u:object_r:exfat:s0" -# CONFIG_EXFAT_DEBUG is not set -# CONFIG_EXFAT_UEVENT is not set -# CONFIG_NTFS_FS is not set - -# -# 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_PROC_UID is not set -CONFIG_KERNFS=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_TMPFS_XATTR=y -# CONFIG_HUGETLBFS is not set -CONFIG_MEMFD_CREATE=y -CONFIG_ARCH_HAS_GIGANTIC_PAGE=y -CONFIG_CONFIGFS_FS=y -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_SDCARD_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=y -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -# CONFIG_JFFS2_FS_WBUF_VERIFY is not set -# CONFIG_JFFS2_SUMMARY is not set -# CONFIG_JFFS2_FS_XATTR is not set -# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_RTIME=y -CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -# CONFIG_UBIFS_ATIME_SUPPORT is not set -CONFIG_UBIFS_FS_XATTR=y -CONFIG_UBIFS_FS_SECURITY=y -# CONFIG_CRAMFS is not set -CONFIG_SQUASHFS=y -CONFIG_SQUASHFS_FILE_CACHE=y -# CONFIG_SQUASHFS_FILE_DIRECT is not set -CONFIG_SQUASHFS_DECOMP_SINGLE=y -# CONFIG_SQUASHFS_DECOMP_MULTI is not set -# CONFIG_SQUASHFS_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 is not set -# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set -# CONFIG_SQUASHFS_EMBEDDED is not set -CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 -# 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_DEFLATE_COMPRESS=y -# CONFIG_PSTORE_LZO_COMPRESS is not set -# CONFIG_PSTORE_LZ4_COMPRESS is not set -# CONFIG_PSTORE_LZ4HC_COMPRESS is not set -# CONFIG_PSTORE_842_COMPRESS is not set -# CONFIG_PSTORE_ZSTD_COMPRESS is not set -CONFIG_PSTORE_COMPRESS=y -CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y -CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" -CONFIG_PSTORE_CONSOLE=y -# CONFIG_PSTORE_CONSOLE_FORCE is not set -# CONFIG_PSTORE_PMSG is not set -# CONFIG_PSTORE_FTRACE is not set -CONFIG_PSTORE_RAM=y -# CONFIG_PSTORE_MCU_LOG is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_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_CODA_FS is not set -# CONFIG_AFS_FS is not set -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="utf8" -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=y -# 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=y -# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set - -# -# Security options -# -CONFIG_KEYS=y -CONFIG_KEYS_COMPAT=y -# 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_SECURITY_DMESG_RESTRICT is not set -# CONFIG_SECURITY is not set -CONFIG_SECURITYFS=y -CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y -# CONFIG_HARDENED_USERCOPY is not set -# CONFIG_FORTIFY_SOURCE is not set -# CONFIG_STATIC_USERMODEHELPER is not set -# CONFIG_TEE_SUPPORT is not set -CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_DEFAULT_SECURITY="" - -# -# Kernel hardening options -# - -# -# Memory initialization -# -CONFIG_INIT_STACK_NONE=y -# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set -# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set -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_BLKCIPHER=y -CONFIG_CRYPTO_BLKCIPHER2=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_RSA=y -# CONFIG_CRYPTO_DH is not set -CONFIG_CRYPTO_ECDH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_MANAGER2=y -# CONFIG_CRYPTO_USER is not set -CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -CONFIG_CRYPTO_GF128MUL=y -CONFIG_CRYPTO_NULL=y -CONFIG_CRYPTO_NULL2=y -# CONFIG_CRYPTO_PCRYPT is not set -CONFIG_CRYPTO_WORKQUEUE=y -CONFIG_CRYPTO_CRYPTD=y -# CONFIG_CRYPTO_MCRYPTD is not set -CONFIG_CRYPTO_AUTHENC=m -# CONFIG_CRYPTO_TEST is not set -CONFIG_CRYPTO_SIMD=y -# CONFIG_CRYPTO_CURVE25519 is not set - -# -# Authenticated Encryption with Associated Data -# -CONFIG_CRYPTO_CCM=y -CONFIG_CRYPTO_GCM=y -# CONFIG_CRYPTO_CHACHA20POLY1305 is not set -# CONFIG_CRYPTO_AEGIS128 is not set -# CONFIG_CRYPTO_AEGIS128L is not set -# CONFIG_CRYPTO_AEGIS256 is not set -# CONFIG_CRYPTO_MORUS640 is not set -# CONFIG_CRYPTO_MORUS1280 is not set -CONFIG_CRYPTO_SEQIV=y -CONFIG_CRYPTO_ECHAINIV=m - -# -# Block modes -# -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_CFB=y -CONFIG_CRYPTO_CTR=y -# CONFIG_CRYPTO_CTS is not set -CONFIG_CRYPTO_ECB=y -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_PCBC is not set -CONFIG_CRYPTO_XTS=y -# CONFIG_CRYPTO_KEYWRAP is not set -# CONFIG_CRYPTO_ADIANTUM is not set - -# -# Hash modes -# -CONFIG_CRYPTO_CMAC=y -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_VMAC is not set - -# -# Digest -# -CONFIG_CRYPTO_CRC32C=y -# CONFIG_CRYPTO_CRC32 is not set -# CONFIG_CRYPTO_BLAKE2S is not set -CONFIG_CRYPTO_CRCT10DIF=y -CONFIG_CRYPTO_GHASH=y -# CONFIG_CRYPTO_POLY1305 is not set -# CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_RMD128 is not set -# CONFIG_CRYPTO_RMD160 is not set -# CONFIG_CRYPTO_RMD256 is not set -# CONFIG_CRYPTO_RMD320 is not set -CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_SHA512=y -# CONFIG_CRYPTO_SHA3 is not set -CONFIG_CRYPTO_SM3=y -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_WP512 is not set - -# -# Ciphers -# -CONFIG_CRYPTO_AES=y -# CONFIG_CRYPTO_AES_TI is not set -# CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_ARC4=y -# 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_SALSA20 is not set -# CONFIG_CRYPTO_CHACHA20 is not set -# CONFIG_CRYPTO_SEED is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_SM4 is not set -# CONFIG_CRYPTO_TEA is not set -CONFIG_CRYPTO_TWOFISH=y -CONFIG_CRYPTO_TWOFISH_COMMON=y - -# -# Compression -# -CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_LZO=y -# CONFIG_CRYPTO_842 is not set -# CONFIG_CRYPTO_LZ4 is not set -# CONFIG_CRYPTO_LZ4HC is not set -# CONFIG_CRYPTO_ZSTD is not set - -# -# 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_USER_API=y -CONFIG_CRYPTO_USER_API_HASH=y -CONFIG_CRYPTO_USER_API_SKCIPHER=y -# CONFIG_CRYPTO_USER_API_RNG is not set -# CONFIG_CRYPTO_USER_API_AEAD is not set -CONFIG_CRYPTO_HASH_INFO=y - -# -# Crypto library routines -# -# CONFIG_CRYPTO_LIB_BLAKE2S is not set -# CONFIG_CRYPTO_LIB_CHACHA is not set -CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9 -# CONFIG_CRYPTO_LIB_POLY1305 is not set -# CONFIG_CRYPTO_LIB_CURVE25519 is not set -# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set -CONFIG_CRYPTO_HW=y -# CONFIG_CRYPTO_DEV_CCP is not set -# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set -# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set -CONFIG_CRYPTO_DEV_ROCKCHIP=y -# CONFIG_CRYPTO_DEV_CCREE is not set -# CONFIG_CRYPTO_DEV_HISI_SEC is not set -CONFIG_ASYMMETRIC_KEY_TYPE=y -CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y -CONFIG_X509_CERTIFICATE_PARSER=y -CONFIG_PKCS7_MESSAGE_PARSER=y -# CONFIG_PKCS7_TEST_KEY is not set -# CONFIG_SIGNED_PE_FILE_VERIFICATION 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 -CONFIG_BINARY_PRINTF=y - -# -# Library routines -# -CONFIG_BITREVERSE=y -CONFIG_HAVE_ARCH_BITREVERSE=y -CONFIG_RATIONAL=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -CONFIG_GENERIC_NET_UTILS=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y -CONFIG_ARCH_HAS_FAST_MULTIPLIER=y -# CONFIG_INDIRECT_PIO is not set -CONFIG_CRC_CCITT=y -CONFIG_CRC16=y -CONFIG_CRC_T10DIF=y -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 is not set -# CONFIG_CRC4 is not set -CONFIG_CRC7=y -CONFIG_LIBCRC32C=y -# CONFIG_CRC8 is not set -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_DECOMPRESS=y -CONFIG_XZ_DEC=y -# CONFIG_XZ_DEC_X86 is not set -# CONFIG_XZ_DEC_POWERPC is not set -# CONFIG_XZ_DEC_IA64 is not set -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_ARMTHUMB=y -# CONFIG_XZ_DEC_SPARC 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_GENERIC_ALLOCATOR=y -CONFIG_REED_SOLOMON=y -CONFIG_REED_SOLOMON_ENC8=y -CONFIG_REED_SOLOMON_DEC8=y -CONFIG_TEXTSEARCH=y -CONFIG_TEXTSEARCH_KMP=m -CONFIG_TEXTSEARCH_BM=m -CONFIG_TEXTSEARCH_FSM=m -CONFIG_ASSOCIATIVE_ARRAY=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HAS_DMA=y -CONFIG_NEED_SG_DMA_LENGTH=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_DMA_DIRECT_OPS=y -CONFIG_SWIOTLB=y -CONFIG_SGL_ALLOC=y -CONFIG_CPU_RMAP=y -CONFIG_DQL=y -CONFIG_GLOB=y -# CONFIG_GLOB_SELFTEST is not set -CONFIG_NLATTR=y -CONFIG_CLZ_TAB=y -# CONFIG_CORDIC is not set -# CONFIG_DDR is not set -# CONFIG_IRQ_POLL is not set -CONFIG_MPILIB=y -CONFIG_LIBFDT=y -CONFIG_OID_REGISTRY=y -CONFIG_HAVE_GENERIC_VDSO=y -CONFIG_GENERIC_GETTIMEOFDAY=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_SG_CHAIN=y -CONFIG_SBITMAP=y -# CONFIG_STRING_SELFTEST is not set - -# -# Kernel hacking -# - -# -# printk and dmesg options -# -CONFIG_PRINTK_TIME=y -# CONFIG_PRINTK_TIME_FROM_ARM_ARCH_TIMER is not set -# CONFIG_PRINTK_PROCESS is not set -CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 -CONFIG_CONSOLE_LOGLEVEL_QUIET=4 -CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 -# CONFIG_BOOT_PRINTK_DELAY is not set -CONFIG_DYNAMIC_DEBUG=y - -# -# Compile-time checks and compiler options -# -CONFIG_DEBUG_INFO=y -# CONFIG_DEBUG_INFO_REDUCED is not set -# CONFIG_DEBUG_INFO_SPLIT is not set -# CONFIG_DEBUG_INFO_DWARF4 is not set -# CONFIG_GDB_SCRIPTS is not set -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_FRAME_WARN=2048 -# CONFIG_STRIP_ASM_SYMS is not set -# CONFIG_READABLE_ASM is not set -# CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_PAGE_OWNER is not set -CONFIG_DEBUG_FS=y -# CONFIG_HEADERS_CHECK is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -CONFIG_SECTION_MISMATCH_WARN_ONLY=y -CONFIG_ARCH_WANT_FRAME_POINTERS=y -CONFIG_FRAME_POINTER=y -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -CONFIG_MAGIC_SYSRQ=y -CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0 -CONFIG_MAGIC_SYSRQ_SERIAL=y -CONFIG_DEBUG_KERNEL=y - -# -# Memory Debugging -# -# CONFIG_PAGE_EXTENSION is not set -# CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_PAGE_POISONING is not set -# CONFIG_DEBUG_PAGE_REF is not set -# CONFIG_DEBUG_RODATA_TEST is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SLUB_DEBUG_ON is not set -# CONFIG_SLUB_STATS is not set -CONFIG_HAVE_DEBUG_KMEMLEAK=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_DEBUG_VM 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_CC_HAS_KASAN_GENERIC=y -# CONFIG_KASAN is not set -CONFIG_KASAN_STACK=1 -CONFIG_ARCH_HAS_KCOV=y -CONFIG_CC_HAS_SANCOV_TRACE_PC=y -# CONFIG_KCOV is not set -# CONFIG_DEBUG_SHIRQ is not set - -# -# Debug Lockups and Hangs -# -# CONFIG_SOFTLOCKUP_DETECTOR is not set -# CONFIG_DETECT_HUNG_TASK is not set -# CONFIG_WQ_WATCHDOG is not set -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -CONFIG_PANIC_TIMEOUT=0 -CONFIG_SCHED_DEBUG=y -CONFIG_SCHED_INFO=y -CONFIG_SCHEDSTATS=y -# CONFIG_SCHED_STACK_END_CHECK is not set -# CONFIG_DEBUG_TIMEKEEPING 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_STACKTRACE=y -# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set -# CONFIG_DEBUG_KOBJECT is not set -CONFIG_HAVE_DEBUG_BUGVERBOSE=y -CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_LIST is not set -# CONFIG_DEBUG_PI_LIST is not set -# CONFIG_DEBUG_SG is not set -# CONFIG_DEBUG_NOTIFIERS is not set -CONFIG_DEBUG_CREDENTIALS=y - -# -# RCU Debugging -# -# CONFIG_RCU_PERF_TEST is not set -# CONFIG_RCU_TORTURE_TEST is not set -CONFIG_RCU_CPU_STALL_TIMEOUT=60 -CONFIG_RCU_TRACE=y -# CONFIG_RCU_EQS_DEBUG is not set -# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -# CONFIG_FAULT_INJECTION is not set -# CONFIG_LATENCYTOP is not set -CONFIG_NOP_TRACER=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_TRACE_CLOCK=y -CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y -CONFIG_TRACING=y -CONFIG_GENERIC_TRACER=y -CONFIG_TRACING_SUPPORT=y -CONFIG_FTRACE=y -CONFIG_FUNCTION_TRACER=y -CONFIG_FUNCTION_GRAPH_TRACER=y -# CONFIG_PREEMPTIRQ_EVENTS is not set -# CONFIG_IRQSOFF_TRACER is not set -# CONFIG_SCHED_TRACER is not set -# CONFIG_HWLAT_TRACER is not set -# CONFIG_FTRACE_SYSCALLS is not set -# CONFIG_TRACER_SNAPSHOT is not set -CONFIG_BRANCH_PROFILE_NONE=y -# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set -# CONFIG_PROFILE_ALL_BRANCHES is not set -# CONFIG_STACK_TRACER is not set -CONFIG_BLK_DEV_IO_TRACE=y -CONFIG_DYNAMIC_FTRACE=y -# CONFIG_FUNCTION_PROFILER is not set -CONFIG_FTRACE_MCOUNT_RECORD=y -# CONFIG_FTRACE_STARTUP_TEST is not set -# CONFIG_HIST_TRIGGERS is not set -# CONFIG_TRACEPOINT_BENCHMARK is not set -# CONFIG_RING_BUFFER_BENCHMARK is not set -# CONFIG_RING_BUFFER_STARTUP_TEST is not set -# CONFIG_PREEMPTIRQ_DELAY_TEST is not set -# CONFIG_TRACE_EVAL_MAP_FILE is not set -CONFIG_TRACING_EVENTS_GPIO=y -# CONFIG_DMA_API_DEBUG is not set -CONFIG_RUNTIME_TESTING_MENU=y -CONFIG_LKDTM=y -# CONFIG_TEST_LIST_SORT is not set -# CONFIG_TEST_SORT is not set -# CONFIG_BACKTRACE_SELF_TEST is not set -# CONFIG_RBTREE_TEST is not set -# CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_PERCPU_TEST is not set -# CONFIG_ATOMIC64_SELFTEST is not set -# CONFIG_TEST_HEXDUMP is not set -# CONFIG_TEST_STRING_HELPERS is not set -# CONFIG_TEST_KSTRTOX is not set -# CONFIG_TEST_PRINTF is not set -# CONFIG_TEST_BITMAP is not set -# CONFIG_TEST_BITFIELD is not set -# CONFIG_TEST_UUID is not set -# CONFIG_TEST_OVERFLOW is not set -# CONFIG_TEST_RHASHTABLE is not set -# CONFIG_TEST_HASH is not set -# CONFIG_TEST_IDA is not set -# CONFIG_TEST_LKM is not set -# CONFIG_TEST_USER_COPY is not set -# CONFIG_TEST_BPF is not set -# CONFIG_FIND_BIT_BENCHMARK is not set -# CONFIG_TEST_FIRMWARE is not set -# CONFIG_TEST_SYSCTL is not set -# CONFIG_TEST_UDELAY is not set -# CONFIG_TEST_STATIC_KEYS is not set -# CONFIG_TEST_KMOD is not set -# CONFIG_TEST_MEMINIT is not set -# CONFIG_TEST_STACKINIT is not set -# CONFIG_MEMTEST is not set -# CONFIG_BUG_ON_DATA_CORRUPTION is not set -# CONFIG_SAMPLES 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_ARCH_HAS_DEVMEM_IS_ALLOWED=y -CONFIG_STRICT_DEVMEM=y -# CONFIG_IO_STRICT_DEVMEM is not set -# CONFIG_ARM64_PTDUMP_DEBUGFS is not set -# CONFIG_PID_IN_CONTEXTIDR is not set -# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set -# CONFIG_DEBUG_WX is not set -# CONFIG_DEBUG_ALIGN_RODATA is not set -# CONFIG_ARM64_RELOC_TEST is not set -# CONFIG_CORESIGHT is not set - -CONFIG_ZED_GPIO_CONTROL=y -CONFIG_JOYSTICK_ZED=y diff --git a/projects/Rockchip/devices/RK3566-BSP-X55/options b/projects/Rockchip/devices/RK3566-BSP-X55/options deleted file mode 100644 index 8fac54f39..000000000 --- a/projects/Rockchip/devices/RK3566-BSP-X55/options +++ /dev/null @@ -1,158 +0,0 @@ -################################################################################ -# setup device defaults -################################################################################ - - # The TARGET_CPU variable controls which processor should be targeted for - # generated code. - case ${TARGET_ARCH} in - aarch64) - TARGET_KERNEL_ARCH="arm64" - TARGET_PATCH_ARCH="aarch64" - TARGET_CPU="cortex-a55" - TARGET_CPU_FLAGS="+crc+crypto+fp+simd" - TARGET_FPU="fp-armv8" - TARGET_FLOAT="hard" - TARGET_FEATURES="64bit" - ;; - arm) - TARGET_KERNEL_ARCH="arm64" - TARGET_PATCH_ARCH="aarch64" - TARGET_CPU="cortex-a55" - TARGET_CPU_FLAGS="+crc" - TARGET_FPU="neon-fp-armv8" - TARGET_FLOAT="hard" - TARGET_FEATURES="32bit" - ;; - esac - - # Kernel target - DEVICE_NAME="RK3566" - KERNEL_TARGET="Image" - BOOTLOADER="u-boot" - PARTITION_TABLE="gpt" - UBOOT_LABEL="uboot" - TRUST_LABEL="trust" - DEVICE_DTB=("rk3566-evb2-lp4x-v10-linux") - UBOOT_DTB="rk3566" - UBOOT_CONFIG="rk3568_defconfig" - PKG_SOC="rk356x" - PKG_DATAFILE="${PKG_RKBIN}/bin/rk35/rk3566_ddr_1056MHz_v1.16.bin" - PKG_LOADER="${PKG_RKBIN}/bin/rk35/rk356x_spl_v1.12.bin" - PKG_BL31="${PKG_RKBIN}/bin/rk35/rk3568_bl31_v1.42.elf" - PKG_LOAD_ADDR="0x0a100000" - BOOT_INI=false - EXT_LINUX_CONF=true - - # Additional kernel make parameters (for example to specify the u-boot loadaddress) - KERNEL_MAKE_EXTRACMD=" $(for DTB in "${DEVICE_DTB[@]}"; do echo -n "rockchip/${DTB}.dtb "; done)" - - # Define the CPU - HW_CPU="Rockchip RK3566" - - # Mali GPU family - MALI_FAMILY="bifrost-g52" - MALI_VERSION="g13p0" - OPENGLES="libmali" - VULKAN_SUPPORT="no" - - GRAPHIC_DRIVERS="" - - # Displayserver to use (weston / x11 / no) - DISPLAYSERVER="no" - - # Windowmanager to use (fluxbox / weston / no) - WINDOWMANAGER="no" - - # kernel serial console - EXTRA_CMDLINE="quiet rootwait console=ttyUSB0,1500000 fbcon=rotate:3 console=tty0 ssh consoleblank=0 systemd.show_status=0 loglevel=0 panic=20" - - # additional packages to install - # ADDITIONAL_PACKAGES="" - - # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware) - # Space separated list is supported, - # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware" - FIRMWARE="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="RTL8821AU RTL8821CU RTL88x2BU" - - # build and install driver addons (yes / no) - DRIVER_ADDONS_SUPPORT="no" - - # driver addons to install: - # for a list of additinoal drivers see packages/linux-driver-addons - # Space separated list is supported, - DRIVER_ADDONS="" #dvb-latest - - # debug tty path - DEBUG_TTY="/dev/ttyUSB0" - - # build and install bluetooth support (yes / no) - BLUETOOTH_SUPPORT="yes" - - # build and install Avahi (Zeroconf) daemon (yes / no) - AVAHI_DAEMON="no" - - # build with NFS support (mounting nfs shares via the OS) (yes / no) - NFS_SUPPORT="no" - - # build with Samba Client support (mounting samba shares via the OS) (yes / no) - SAMBA_SUPPORT="no" - - # build and install Samba Server (yes / no) - SAMBA_SERVER="yes" - - # build and install SFTP Server (yes / no) - SFTP_SERVER="yes" - - # build and install Simple HTTP Server (yes / no) - SIMPLE_HTTP_SERVER="yes" - - # build and install OpenVPN support (yes / no) - OPENVPN_SUPPORT="no" - - # build and install ZeroTier support (yes / no) - ZEROTIER_SUPPORT="yes" - - # build and install diskmounter support (udevil) - # this service provide auto mounting support for external drives in the - # mediacenter also automount internally drives at boottime via udev (yes / no) - UDEVIL="yes" - - # build and install exFAT fuse support (yes / no) - EXFAT="yes" - - # build and install NTFS-3G fuse support (yes / no) - NTFS3G="no" - - # build and install hfs filesystem utilities (yes / no) - HFSTOOLS="no" - - # Support for partitioning and formating disks in initramfs (yes / no) - # This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage - INITRAMFS_PARTED_SUPPORT="no" - - # build with swap support (yes / no) - SWAP_SUPPORT="yes" - - # swap support enabled per default (yes / no) - SWAP_ENABLED_DEFAULT="yes" - - # swapfile size if SWAP_SUPPORT=yes in MB - SWAPFILESIZE="384" - - # Some devices have internal storage. - INSTALLER_SUPPORT="yes" - - # cron support (yes / no) - CRON_SUPPORT="no" - - # Settings package name - blank if not required - DISTRO_PKG_SETTINGS="" - - # htop tool (yes / no) - HTOP_TOOL="yes" diff --git a/projects/Rockchip/devices/RK3566-BSP/linux/linux.aarch64.conf b/projects/Rockchip/devices/RK3566-BSP/linux/linux.aarch64.conf deleted file mode 100644 index f64fb821c..000000000 --- a/projects/Rockchip/devices/RK3566-BSP/linux/linux.aarch64.conf +++ /dev/null @@ -1,6216 +0,0 @@ -# -# Automatically generated file; DO NOT EDIT. -# Linux/arm64 4.19.172 Kernel Configuration -# - -# -# Compiler: aarch64-libreelec-linux-gnueabi-gcc-10.3.0 (GCC) 10.3.0 -# -CONFIG_CC_IS_GCC=y -CONFIG_GCC_VERSION=100300 -CONFIG_CLANG_VERSION=0 -CONFIG_CC_HAS_ASM_GOTO=y -CONFIG_IRQ_WORK=y -CONFIG_BUILDTIME_EXTABLE_SORT=y -CONFIG_THREAD_INFO_IN_TASK=y - -# -# General setup -# -CONFIG_INIT_ENV_ARG_LIMIT=32 -# CONFIG_COMPILE_TEST is not set -CONFIG_LOCALVERSION="" -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_BUILD_SALT="" -CONFIG_HAVE_KERNEL_GZIP=y -CONFIG_HAVE_KERNEL_LZ4=y -CONFIG_KERNEL_GZIP=y -# CONFIG_KERNEL_LZ4 is not set -CONFIG_DEFAULT_HOSTNAME="@DEVICENAME@" -CONFIG_SWAP=y -CONFIG_SYSVIPC=y -CONFIG_SYSVIPC_SYSCTL=y -# CONFIG_POSIX_MQUEUE is not set -CONFIG_CROSS_MEMORY_ATTACH=y -# CONFIG_USELIB is not set -# 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_MSI_IRQ=y -CONFIG_GENERIC_MSI_IRQ_DOMAIN=y -CONFIG_HANDLE_DOMAIN_IRQ=y -CONFIG_IRQ_FORCED_THREADING=y -CONFIG_SPARSE_IRQ=y -# CONFIG_GENERIC_IRQ_DEBUGFS is not set -CONFIG_GENERIC_IRQ_MULTI_HANDLER=y -CONFIG_ARCH_CLOCKSOURCE_DATA=y -CONFIG_GENERIC_TIME_VSYSCALL=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_ARCH_HAS_TICK_BROADCAST=y -CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=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=y -CONFIG_HIGH_RES_TIMERS=y -# CONFIG_PREEMPT_NONE is not set -CONFIG_PREEMPT_VOLUNTARY=y -# CONFIG_PREEMPT 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 is not set -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_TASKSTATS is not set -# CONFIG_PSI is not set -CONFIG_CPU_ISOLATION=y - -# -# RCU Subsystem -# -CONFIG_TREE_RCU=y -# CONFIG_RCU_EXPERT is not set -CONFIG_SRCU=y -CONFIG_TREE_SRCU=y -CONFIG_RCU_STALL_COMMON=y -CONFIG_RCU_NEED_SEGCBLIST=y -CONFIG_BUILD_BIN2C=y -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_SAFE_LOG_BUF_SHIFT=13 -CONFIG_GENERIC_SCHED_CLOCK=y - -# -# Scheduler features -# -CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y -CONFIG_ARCH_SUPPORTS_INT128=y -CONFIG_CGROUPS=y -# CONFIG_MEMCG is not set -CONFIG_BLK_CGROUP=y -# CONFIG_DEBUG_BLK_CGROUP is not set -CONFIG_CGROUP_SCHED=y -CONFIG_FAIR_GROUP_SCHED=y -CONFIG_CFS_BANDWIDTH=y -# CONFIG_RT_GROUP_SCHED is not set -# CONFIG_CGROUP_PIDS is not set -# CONFIG_CGROUP_RDMA is not set -CONFIG_CGROUP_FREEZER=y -CONFIG_CPUSETS=y -CONFIG_PROC_PID_CPUSET=y -CONFIG_CGROUP_DEVICE=y -CONFIG_CGROUP_CPUACCT=y -# CONFIG_CGROUP_DEBUG is not set -CONFIG_SOCK_CGROUP_DATA=y -CONFIG_NAMESPACES=y -CONFIG_UTS_NS=y -CONFIG_IPC_NS=y -CONFIG_USER_NS=y -CONFIG_PID_NS=y -CONFIG_NET_NS=y -# CONFIG_CHECKPOINT_RESTORE is not set -# CONFIG_SCHED_AUTOGROUP is not set -# CONFIG_SCHED_TUNE is not set -# CONFIG_SYSFS_DEPRECATED is not set -CONFIG_RELAY=y -CONFIG_BLK_DEV_INITRD=y -CONFIG_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_INITRAMFS_COMPRESSION=".gz" -# CONFIG_INITRD_ASYNC is not set -# CONFIG_ROCKCHIP_ONE_INITRD is not set -CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y -# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set -CONFIG_SYSCTL=y -CONFIG_HAVE_UID16=y -CONFIG_SYSCTL_EXCEPTION_TRACE=y -CONFIG_BPF=y -CONFIG_EXPERT=y -CONFIG_UID16=y -CONFIG_MULTIUSER=y -# CONFIG_SGETMASK_SYSCALL is not set -CONFIG_SYSFS_SYSCALL=y -# CONFIG_SYSCTL_SYSCALL is not set -CONFIG_FHANDLE=y -CONFIG_POSIX_TIMERS=y -CONFIG_PRINTK=y -CONFIG_PRINTK_NMI=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_ADVISE_SYSCALLS=y -CONFIG_MEMBARRIER=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_ALL is not set -CONFIG_KALLSYMS_BASE_RELATIVE=y -# CONFIG_BPF_SYSCALL is not set -# CONFIG_USERFAULTFD is not set -CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y -CONFIG_RSEQ=y -# CONFIG_DEBUG_RSEQ is not set -CONFIG_EMBEDDED=y -CONFIG_HAVE_PERF_EVENTS=y -# CONFIG_PC104 is not set - -# -# Kernel Performance Events And Counters -# -# CONFIG_PERF_EVENTS is not set -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_SLUB_SYSFS=y -CONFIG_SLUB_DEBUG=y -# CONFIG_COMPAT_BRK is not set -# CONFIG_SLAB is not set -CONFIG_SLUB=y -# CONFIG_SLOB is not set -CONFIG_SLAB_MERGE_DEFAULT=y -# CONFIG_SLAB_FREELIST_RANDOM is not set -# CONFIG_SLAB_FREELIST_HARDENED is not set -CONFIG_SLUB_CPU_PARTIAL=y -CONFIG_SYSTEM_DATA_VERIFICATION=y -CONFIG_PROFILING=y -CONFIG_TRACEPOINTS=y -CONFIG_ARM64=y -CONFIG_64BIT=y -CONFIG_MMU=y -CONFIG_ARM64_PAGE_SHIFT=12 -CONFIG_ARM64_CONT_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_TRACE_IRQFLAGS_SUPPORT=y -CONFIG_RWSEM_XCHGADD_ALGORITHM=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_ZONE_DMA32=y -CONFIG_HAVE_GENERIC_GUP=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 - -# -# Platform selection -# -# CONFIG_ARCH_ACTIONS is not set -# CONFIG_ARCH_SUNXI is not set -# CONFIG_ARCH_ALPINE is not set -# CONFIG_ARCH_BCM2835 is not set -# CONFIG_ARCH_BCM_IPROC is not set -# CONFIG_ARCH_BERLIN is not set -# CONFIG_ARCH_BRCMSTB is not set -# CONFIG_ARCH_EXYNOS is not set -# CONFIG_ARCH_K3 is not set -# CONFIG_ARCH_LAYERSCAPE is not set -# CONFIG_ARCH_LG1K is not set -# CONFIG_ARCH_HISI is not set -# CONFIG_ARCH_MEDIATEK is not set -# CONFIG_ARCH_MESON is not set -# CONFIG_ARCH_MVEBU is not set -# CONFIG_ARCH_QCOM is not set -# CONFIG_ARCH_REALTEK is not set -CONFIG_ARCH_ROCKCHIP=y -# CONFIG_ARCH_SEATTLE is not set -# CONFIG_ARCH_SYNQUACER is not set -# CONFIG_ARCH_RENESAS is not set -# CONFIG_ARCH_STRATIX10 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_XGENE is not set -# CONFIG_ARCH_ZX is not set -# CONFIG_ARCH_ZYNQMP is not set - -# -# Bus support -# -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_DEBUG is not set -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_MSI_IRQ_DOMAIN=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_HOTPLUG_PCI is not set - -# -# PCI controller drivers -# - -# -# Cadence PCIe controllers support -# -# CONFIG_PCIE_CADENCE_HOST is not set -# CONFIG_PCI_FTPCI100 is not set -# CONFIG_PCI_HOST_GENERIC is not set -# CONFIG_PCIE_XILINX is not set -# CONFIG_PCI_XGENE is not set -# CONFIG_PCI_HOST_THUNDER_PEM is not set -# CONFIG_PCI_HOST_THUNDER_ECAM is not set -# CONFIG_PCIE_ROCKCHIP_HOST is not set -# CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set - -# -# DesignWare PCI Core Support -# -CONFIG_PCIE_DW=y -CONFIG_PCIE_DW_HOST=y -# CONFIG_PCIE_DW_PLAT_HOST is not set -CONFIG_PCIE_DW_ROCKCHIP=y -# CONFIG_PCI_HISI is not set -# CONFIG_PCIE_KIRIN is not set - -# -# PCI Endpoint -# -# CONFIG_PCI_ENDPOINT is not set - -# -# PCI switch controller drivers -# -# CONFIG_PCI_SW_SWITCHTEC is not set - -# -# Kernel Features -# - -# -# ARM errata workarounds via the alternatives framework -# -# CONFIG_ARM64_ERRATUM_826319 is not set -# CONFIG_ARM64_ERRATUM_827319 is not set -# CONFIG_ARM64_ERRATUM_824069 is not set -# CONFIG_ARM64_ERRATUM_819472 is not set -# CONFIG_ARM64_ERRATUM_832075 is not set -CONFIG_ARM64_ERRATUM_845719=y -CONFIG_ARM64_ERRATUM_843419=y -CONFIG_ARM64_ERRATUM_1024718=y -CONFIG_ARM64_ERRATUM_1463225=y -CONFIG_ARM64_ERRATUM_1542419=y -# CONFIG_CAVIUM_ERRATUM_22375 is not set -# CONFIG_CAVIUM_ERRATUM_23154 is not set -CONFIG_CAVIUM_ERRATUM_27456=y -CONFIG_CAVIUM_ERRATUM_30115=y -CONFIG_QCOM_FALKOR_ERRATUM_1003=y -CONFIG_QCOM_FALKOR_ERRATUM_1009=y -CONFIG_QCOM_QDF2400_ERRATUM_0065=y -CONFIG_SOCIONEXT_SYNQUACER_PREITS=y -CONFIG_HISILICON_ERRATUM_161600802=y -CONFIG_QCOM_FALKOR_ERRATUM_E1041=y -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_SCHED_MC=y -# CONFIG_SCHED_SMT is not set -CONFIG_NR_CPUS=8 -CONFIG_HOTPLUG_CPU=y -CONFIG_ARCH_NR_GPIO=256 -# CONFIG_NUMA is not set -CONFIG_HOLES_IN_ZONE=y -# CONFIG_HZ_100 is not set -# CONFIG_HZ_250 is not set -CONFIG_HZ_300=y -# CONFIG_HZ_1000 is not set -CONFIG_HZ=300 -CONFIG_SCHED_HRTICK=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y -CONFIG_ARCH_HAS_HOLES_MEMORYMODEL=y -CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_DEFAULT=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ARCH_FLATMEM_ENABLE=y -CONFIG_HAVE_ARCH_PFN_VALID=y -CONFIG_SYS_SUPPORTS_HUGETLBFS=y -CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y -# CONFIG_ARM64_DMA_USE_IOMMU is not set -CONFIG_SECCOMP=y -# CONFIG_PARAVIRT is not set -# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set -# CONFIG_KEXEC is not set -# CONFIG_CRASH_DUMP is not set -# CONFIG_XEN is not set -CONFIG_FORCE_MAX_ZONEORDER=11 -CONFIG_UNMAP_KERNEL_AT_EL0=y -CONFIG_HARDEN_BRANCH_PREDICTOR=y -CONFIG_HARDEN_EL2_VECTORS=y -CONFIG_ARM64_SSBD=y -CONFIG_ARM64_TAGGED_ADDR_ABI=y -CONFIG_ARMV8_DEPRECATED=y -CONFIG_SWP_EMULATION=y -CONFIG_CP15_BARRIER_EMULATION=y -CONFIG_SETEND_EMULATION=y -# CONFIG_ARM64_SW_TTBR0_PAN is not set - -# -# ARMv8.1 architectural features -# -CONFIG_ARM64_HW_AFDBM=y -CONFIG_ARM64_PAN=y -CONFIG_ARM64_LSE_ATOMICS=y -CONFIG_ARM64_VHE=y - -# -# ARMv8.2 architectural features -# -CONFIG_ARM64_UAO=y -# CONFIG_ARM64_PMEM is not set -CONFIG_ARM64_RAS_EXTN=y -CONFIG_ARM64_SVE=y -CONFIG_ARM64_MODULE_PLTS=y -# CONFIG_RANDOMIZE_BASE is not set - -# -# Boot options -# -CONFIG_CMDLINE="" -# CONFIG_EFI is not set -CONFIG_COMPAT=y -CONFIG_KUSER_HELPERS=y -CONFIG_SYSVIPC_COMPAT=y - -# -# Power management options -# -CONFIG_SUSPEND=y -CONFIG_SUSPEND_FREEZER=y -# CONFIG_SUSPEND_SKIP_SYNC is not set -CONFIG_HAS_WAKELOCK=y -CONFIG_WAKELOCK=y -# CONFIG_HIBERNATION is not set -CONFIG_PM_SLEEP=y -CONFIG_PM_SLEEP_SMP=y -# CONFIG_PM_AUTOSLEEP is not set -# CONFIG_PM_WAKELOCKS is not set -CONFIG_PM=y -CONFIG_PM_DEBUG=y -CONFIG_PM_ADVANCED_DEBUG=y -# CONFIG_PM_TEST_SUSPEND is not set -CONFIG_PM_SLEEP_DEBUG=y -# CONFIG_DPM_WATCHDOG 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 - -# -# CPU Power Management -# - -# -# CPU Idle -# -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y -# CONFIG_CPU_IDLE_GOV_LADDER is not set -CONFIG_CPU_IDLE_GOV_MENU=y -CONFIG_DT_IDLE_STATES=y - -# -# ARM CPU Idle Drivers -# -CONFIG_ARM_CPUIDLE=y - -# -# CPU Frequency scaling -# -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_GOV_ATTR_SET=y -CONFIG_CPU_FREQ_GOV_COMMON=y -# CONFIG_CPU_FREQ_STAT is not set -# CONFIG_CPU_FREQ_TIMES is not set -# 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_DEFAULT_GOV_INTERACTIVE is not set -CONFIG_CPU_FREQ_GOV_PERFORMANCE=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_USERSPACE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y -CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y -CONFIG_CPU_FREQ_GOV_INTERACTIVE=y - -# -# CPU frequency scaling drivers -# -CONFIG_CPUFREQ_DT=y -CONFIG_CPUFREQ_DT_PLATDEV=y -# CONFIG_CPUFREQ_DUMMY is not set -# CONFIG_ARM_BIG_LITTLE_CPUFREQ is not set -CONFIG_ARM_ROCKCHIP_CPUFREQ=y -# CONFIG_ARM_SCMI_CPUFREQ is not set -# CONFIG_QORIQ_CPUFREQ is not set - -# -# Firmware Drivers -# -CONFIG_ARM_PSCI_FW=y -# CONFIG_ARM_PSCI_CHECKER is not set -CONFIG_ARM_SCMI_PROTOCOL=y -CONFIG_ARM_SCMI_POWER_DOMAIN=y -# CONFIG_ARM_SCPI_PROTOCOL is not set -# CONFIG_ARM_SDE_INTERFACE is not set -# CONFIG_FIRMWARE_MEMMAP is not set -# CONFIG_FW_CFG_SYSFS is not set -CONFIG_ROCKCHIP_SIP=y -CONFIG_HAVE_ARM_SMCCC=y -# CONFIG_GOOGLE_FIRMWARE is not set - -# -# Tegra firmware driver -# -# CONFIG_VIRTUALIZATION is not set -CONFIG_ARM64_CRYPTO=y -CONFIG_CRYPTO_SHA256_ARM64=y -# CONFIG_CRYPTO_SHA512_ARM64 is not set -CONFIG_CRYPTO_SHA1_ARM64_CE=y -CONFIG_CRYPTO_SHA2_ARM64_CE=y -# CONFIG_CRYPTO_SHA512_ARM64_CE is not set -# CONFIG_CRYPTO_SHA3_ARM64 is not set -# CONFIG_CRYPTO_SM3_ARM64_CE is not set -# CONFIG_CRYPTO_SM4_ARM64_CE is not set -CONFIG_CRYPTO_GHASH_ARM64_CE=y -# CONFIG_CRYPTO_CRCT10DIF_ARM64_CE is not set -# CONFIG_CRYPTO_CRC32_ARM64_CE is not set -CONFIG_CRYPTO_AES_ARM64=y -CONFIG_CRYPTO_AES_ARM64_CE=y -CONFIG_CRYPTO_AES_ARM64_CE_CCM=y -CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -# CONFIG_CRYPTO_AES_ARM64_NEON_BLK is not set -# CONFIG_CRYPTO_CHACHA20_NEON is not set -# CONFIG_CRYPTO_POLY1305_NEON is not set -# CONFIG_CRYPTO_AES_ARM64_BS is not set - -# -# General architecture-dependent options -# -# CONFIG_KPROBES is not set -# CONFIG_JUMP_LABEL is not set -CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y -CONFIG_HAVE_KPROBES=y -CONFIG_HAVE_KRETPROBES=y -CONFIG_HAVE_NMI=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_SET_MEMORY=y -CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y -CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y -CONFIG_HAVE_RSEQ=y -CONFIG_HAVE_CLK=y -CONFIG_HAVE_PERF_REGS=y -CONFIG_HAVE_PERF_USER_STACK_DUMP=y -CONFIG_HAVE_ARCH_JUMP_LABEL=y -CONFIG_HAVE_RCU_TABLE_FREE=y -CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=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_FILTER=y -CONFIG_SECCOMP_FILTER=y -CONFIG_HAVE_STACKPROTECTOR=y -CONFIG_CC_HAS_STACKPROTECTOR_NONE=y -CONFIG_STACKPROTECTOR=y -CONFIG_STACKPROTECTOR_STRONG=y -CONFIG_ARCH_SUPPORTS_LTO_CLANG=y -CONFIG_ARCH_SUPPORTS_THINLTO=y -CONFIG_LTO_NONE=y -CONFIG_HAVE_CONTEXT_TRACKING=y -CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y -CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y -CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y -CONFIG_HAVE_ARCH_HUGE_VMAP=y -CONFIG_HAVE_MOD_ARCH_SPECIFIC=y -CONFIG_MODULES_USE_ELF_RELA=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_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_ARCH_HAS_STRICT_KERNEL_RWX=y -CONFIG_STRICT_KERNEL_RWX=y -CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y -CONFIG_STRICT_MODULE_RWX=y -CONFIG_REFCOUNT_FULL=y -CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y - -# -# GCOV-based kernel profiling -# -# CONFIG_GCOV_KERNEL is not set -CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y -CONFIG_PLUGIN_HOSTCC="" -CONFIG_HAVE_GCC_PLUGINS=y -CONFIG_RT_MUTEXES=y -CONFIG_BASE_SMALL=0 -CONFIG_MODULES=y -CONFIG_MODULE_FORCE_LOAD=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y -# CONFIG_MODVERSIONS is not set -# CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_MODULE_SIG is not set -# CONFIG_MODULE_COMPRESS is not set -# CONFIG_TRIM_UNUSED_KSYMS is not set -CONFIG_MODULES_TREE_LOOKUP=y -CONFIG_BLOCK=y -CONFIG_BLK_SCSI_REQUEST=y -CONFIG_BLK_DEV_BSG=y -# CONFIG_BLK_DEV_BSGLIB is not set -# CONFIG_BLK_DEV_INTEGRITY is not set -# CONFIG_BLK_DEV_ZONED is not set -# CONFIG_BLK_DEV_THROTTLING is not set -# CONFIG_BLK_CMDLINE_PARSER is not set -# CONFIG_BLK_WBT is not set -# CONFIG_BLK_CGROUP_IOLATENCY 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 is not set -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 -CONFIG_BLOCK_COMPAT=y -CONFIG_BLK_MQ_PCI=y - -# -# IO Schedulers -# -CONFIG_IOSCHED_NOOP=y -CONFIG_IOSCHED_DEADLINE=y -CONFIG_IOSCHED_CFQ=y -# CONFIG_CFQ_GROUP_IOSCHED is not set -# CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_CFQ=y -# CONFIG_DEFAULT_NOOP is not set -CONFIG_DEFAULT_IOSCHED="cfq" -CONFIG_MQ_IOSCHED_DEADLINE=y -CONFIG_MQ_IOSCHED_KYBER=y -# CONFIG_IOSCHED_BFQ is not set -CONFIG_ASN1=y -CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y -CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y -CONFIG_ARCH_INLINE_SPIN_LOCK=y -CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y -CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y -CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y -CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y -CONFIG_ARCH_INLINE_READ_LOCK=y -CONFIG_ARCH_INLINE_READ_LOCK_BH=y -CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y -CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y -CONFIG_ARCH_INLINE_READ_UNLOCK=y -CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y -CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y -CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y -CONFIG_ARCH_INLINE_WRITE_LOCK=y -CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y -CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y -CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y -CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=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_SYSCALL_WRAPPER=y -# CONFIG_GKI_HIDDEN_DRM_CONFIGS is not set -# CONFIG_GKI_HIDDEN_REGMAP_CONFIGS is not set -# CONFIG_GKI_HIDDEN_CRYPTO_CONFIGS is not set -# CONFIG_GKI_HIDDEN_SND_CONFIGS is not set -# CONFIG_GKI_HIDDEN_SND_SOC_CONFIGS is not set -# CONFIG_GKI_HIDDEN_GPIO_CONFIGS is not set -# CONFIG_GKI_HIDDEN_VIRTUAL_CONFIGS is not set -# CONFIG_GKI_LEGACY_WEXT_ALLCONFIG is not set -# CONFIG_GKI_HIDDEN_SOC_PM_CONFIGS is not set -# CONFIG_GKI_HIDDEN_VIDEOBUF2_CONFIGS is not set -# CONFIG_GKI_HIDDEN_USB_CONFIGS is not set -# CONFIG_GKI_HIDDEN_SOC_BUS_CONFIGS is not set -# CONFIG_GKI_HIDDEN_GPU_CONFIGS is not set -# CONFIG_GKI_HIDDEN_IRQ_CONFIGS is not set -# CONFIG_GKI_HACKS_TO_FIX is not set -CONFIG_FREEZER=y - -# -# Executable file formats -# -CONFIG_BINFMT_ELF=y -CONFIG_COMPAT_BINFMT_ELF=y -CONFIG_ELFCORE=y -CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y -CONFIG_BINFMT_SCRIPT=y -CONFIG_BINFMT_MISC=y -CONFIG_COREDUMP=y - -# -# Memory Management options -# -CONFIG_SELECT_MEMORY_MODEL=y -# CONFIG_FLATMEM_MANUAL is not set -CONFIG_SPARSEMEM_MANUAL=y -CONFIG_SPARSEMEM=y -CONFIG_HAVE_MEMORY_PRESENT=y -CONFIG_SPARSEMEM_EXTREME=y -CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y -CONFIG_SPARSEMEM_VMEMMAP=y -CONFIG_HAVE_MEMBLOCK=y -CONFIG_NO_BOOTMEM=y -CONFIG_MEMORY_ISOLATION=y -CONFIG_SPLIT_PTLOCK_CPUS=4 -# CONFIG_COMPACTION is not set -CONFIG_MIGRATION=y -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_TRANSPARENT_HUGEPAGE is not set -# CONFIG_CLEANCACHE is not set -# CONFIG_FRONTSWAP is not set -CONFIG_CMA=y -# CONFIG_CMA_DEBUG is not set -# CONFIG_CMA_DEBUGFS is not set -CONFIG_CMA_AREAS=7 -# CONFIG_ZPOOL is not set -# CONFIG_ZBUD is not set -CONFIG_ZSMALLOC=y -# CONFIG_PGTABLE_MAPPING is not set -# CONFIG_ZSMALLOC_STAT is not set -# CONFIG_MM_EVENT_STAT is not set -CONFIG_GENERIC_EARLY_IOREMAP=y -# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set -# CONFIG_IDLE_PAGE_TRACKING is not set -CONFIG_FRAME_VECTOR=y -# CONFIG_PERCPU_STATS is not set -# CONFIG_GUP_BENCHMARK is not set -CONFIG_ARCH_HAS_PTE_SPECIAL=y -CONFIG_NET=y -CONFIG_COMPAT_NETLINK_MESSAGES=y -CONFIG_NET_INGRESS=y - -# -# Networking options -# -CONFIG_PACKET=y -CONFIG_PACKET_DIAG=y -CONFIG_UNIX=y -CONFIG_UNIX_DIAG=y -# CONFIG_TLS is not set -CONFIG_XFRM=y -CONFIG_XFRM_ALGO=y -CONFIG_XFRM_USER=y -# CONFIG_XFRM_INTERFACE is not set -# CONFIG_XFRM_SUB_POLICY is not set -CONFIG_XFRM_MIGRATE=y -# CONFIG_XFRM_STATISTICS is not set -CONFIG_XFRM_IPCOMP=m -CONFIG_NET_KEY=m -CONFIG_NET_KEY_MIGRATE=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_IP_FIB_TRIE_STATS=y -CONFIG_IP_MULTIPLE_TABLES=y -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_ROUTE_CLASSID=y -CONFIG_IP_PNP=y -# CONFIG_IP_PNP_DHCP is not set -# CONFIG_IP_PNP_BOOTP is not set -# CONFIG_IP_PNP_RARP is not set -CONFIG_NET_IPIP=m -CONFIG_NET_IPGRE_DEMUX=m -CONFIG_NET_IP_TUNNEL=m -# CONFIG_NET_IPGRE 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=m -CONFIG_NET_FOU=m -# CONFIG_NET_FOU_IP_TUNNELS is not set -CONFIG_INET_AH=m -CONFIG_INET_ESP=m -# CONFIG_INET_ESP_OFFLOAD is not set -CONFIG_INET_IPCOMP=m -CONFIG_INET_XFRM_TUNNEL=m -CONFIG_INET_TUNNEL=m -CONFIG_INET_XFRM_MODE_TRANSPORT=m -CONFIG_INET_XFRM_MODE_TUNNEL=m -CONFIG_INET_XFRM_MODE_BEET=m -CONFIG_INET_DIAG=m -CONFIG_INET_TCP_DIAG=m -# CONFIG_INET_UDP_DIAG is not set -# CONFIG_INET_RAW_DIAG is not set -# CONFIG_INET_DIAG_DESTROY 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 is not set -# CONFIG_TCP_CONG_HYBLA is not set -# CONFIG_TCP_CONG_VEGAS is not set -# CONFIG_TCP_CONG_NV is not set -# CONFIG_TCP_CONG_SCALABLE is not set -# CONFIG_TCP_CONG_LP is not set -# CONFIG_TCP_CONG_VENO is not set -# CONFIG_TCP_CONG_YEAH is not set -# CONFIG_TCP_CONG_ILLINOIS is not set -# CONFIG_TCP_CONG_DCTCP is not set -# CONFIG_TCP_CONG_CDG is not set -# CONFIG_TCP_CONG_BBR is not set -CONFIG_DEFAULT_RENO=y -CONFIG_DEFAULT_TCP_CONG="reno" -# CONFIG_TCP_MD5SIG is not set -CONFIG_IPV6=m -# CONFIG_IPV6_ROUTER_PREF is not set -CONFIG_IPV6_OPTIMISTIC_DAD=y -CONFIG_INET6_AH=m -CONFIG_INET6_ESP=m -# CONFIG_INET6_ESP_OFFLOAD is not set -CONFIG_INET6_IPCOMP=m -CONFIG_IPV6_MIP6=m -CONFIG_IPV6_ILA=m -CONFIG_INET6_XFRM_TUNNEL=m -CONFIG_INET6_TUNNEL=m -CONFIG_INET6_XFRM_MODE_TRANSPORT=m -CONFIG_INET6_XFRM_MODE_TUNNEL=m -CONFIG_INET6_XFRM_MODE_BEET=m -CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m -# CONFIG_IPV6_VTI is not set -CONFIG_IPV6_SIT=m -# CONFIG_IPV6_SIT_6RD is not set -CONFIG_IPV6_NDISC_NODETYPE=y -CONFIG_IPV6_TUNNEL=m -# CONFIG_IPV6_GRE is not set -CONFIG_IPV6_FOU=m -CONFIG_IPV6_MULTIPLE_TABLES=y -# CONFIG_IPV6_SUBTREES is not set -CONFIG_IPV6_MROUTE=y -# CONFIG_IPV6_MROUTE_MULTIPLE_TABLES is not set -# CONFIG_IPV6_PIMSM_V2 is not set -# CONFIG_IPV6_SEG6_LWTUNNEL is not set -# CONFIG_IPV6_SEG6_HMAC is not set -CONFIG_NETWORK_SECMARK=y -CONFIG_NET_PTP_CLASSIFY=y -# CONFIG_NETWORK_PHY_TIMESTAMPING is not set -CONFIG_NETFILTER=y -CONFIG_NETFILTER_ADVANCED=y -CONFIG_BRIDGE_NETFILTER=m - -# -# Core Netfilter Configuration -# -CONFIG_NETFILTER_INGRESS=y -CONFIG_NETFILTER_NETLINK=m -CONFIG_NETFILTER_FAMILY_BRIDGE=y -CONFIG_NETFILTER_FAMILY_ARP=y -CONFIG_NETFILTER_NETLINK_ACCT=m -CONFIG_NETFILTER_NETLINK_QUEUE=m -CONFIG_NETFILTER_NETLINK_LOG=m -CONFIG_NETFILTER_NETLINK_OSF=m -CONFIG_NF_CONNTRACK=m -CONFIG_NF_LOG_COMMON=m -# CONFIG_NF_LOG_NETDEV is not set -CONFIG_NETFILTER_CONNCOUNT=m -CONFIG_NF_CONNTRACK_MARK=y -# CONFIG_NF_CONNTRACK_SECMARK is not set -# 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_CT_PROTO_DCCP=y -CONFIG_NF_CT_PROTO_GRE=m -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 -CONFIG_NF_CONNTRACK_SANE=m -CONFIG_NF_CONNTRACK_SIP=m -CONFIG_NF_CONNTRACK_TFTP=m -CONFIG_NF_CT_NETLINK=m -# CONFIG_NF_CT_NETLINK_TIMEOUT is not set -# CONFIG_NETFILTER_NETLINK_GLUE_CT is not set -CONFIG_NF_NAT=m -CONFIG_NF_NAT_NEEDED=y -CONFIG_NF_NAT_PROTO_DCCP=y -CONFIG_NF_NAT_PROTO_UDPLITE=y -CONFIG_NF_NAT_PROTO_SCTP=y -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_NETFILTER_SYNPROXY=m -CONFIG_NF_TABLES=m -# CONFIG_NF_TABLES_SET is not set -# CONFIG_NF_TABLES_INET is not set -# CONFIG_NF_TABLES_NETDEV is not set -# CONFIG_NFT_NUMGEN is not set -# CONFIG_NFT_CT is not set -# CONFIG_NFT_COUNTER is not set -# CONFIG_NFT_CONNLIMIT is not set -# CONFIG_NFT_LOG is not set -# CONFIG_NFT_LIMIT is not set -# CONFIG_NFT_MASQ is not set -# CONFIG_NFT_REDIR is not set -# CONFIG_NFT_NAT is not set -# CONFIG_NFT_TUNNEL is not set -# CONFIG_NFT_OBJREF is not set -# CONFIG_NFT_QUEUE is not set -# CONFIG_NFT_QUOTA is not set -# CONFIG_NFT_REJECT is not set -# CONFIG_NFT_COMPAT is not set -# CONFIG_NFT_HASH is not set -# CONFIG_NFT_SOCKET is not set -# CONFIG_NFT_OSF is not set -# CONFIG_NFT_TPROXY is not set -# CONFIG_NF_FLOW_TABLE is not set -CONFIG_NETFILTER_XTABLES=y - -# -# Xtables combined modules -# -CONFIG_NETFILTER_XT_MARK=y -CONFIG_NETFILTER_XT_CONNMARK=m -# CONFIG_NETFILTER_XT_SET is not set - -# -# 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 is not set -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 is not set -CONFIG_NETFILTER_XT_TARGET_RATEEST=m -CONFIG_NETFILTER_XT_TARGET_REDIRECT=m -CONFIG_NETFILTER_XT_TARGET_TEE=m -CONFIG_NETFILTER_XT_TARGET_TPROXY=m -# CONFIG_NETFILTER_XT_TARGET_TRACE is not set -# CONFIG_NETFILTER_XT_TARGET_SECMARK is not set -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 -CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m -CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -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 is not set -CONFIG_NETFILTER_XT_MATCH_L2TP=m -CONFIG_NETFILTER_XT_MATCH_LENGTH=m -CONFIG_NETFILTER_XT_MATCH_LIMIT=m -CONFIG_NETFILTER_XT_MATCH_MAC=m -CONFIG_NETFILTER_XT_MATCH_MARK=m -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -CONFIG_NETFILTER_XT_MATCH_NFACCT=m -CONFIG_NETFILTER_XT_MATCH_OSF=m -CONFIG_NETFILTER_XT_MATCH_OWNER=m -CONFIG_NETFILTER_XT_MATCH_POLICY=m -# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set -CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -CONFIG_NETFILTER_XT_MATCH_QUOTA=m -CONFIG_NETFILTER_XT_MATCH_QUOTA2=m -# CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG is not set -CONFIG_NETFILTER_XT_MATCH_RATEEST=m -CONFIG_NETFILTER_XT_MATCH_REALM=m -CONFIG_NETFILTER_XT_MATCH_RECENT=m -CONFIG_NETFILTER_XT_MATCH_SCTP=m -CONFIG_NETFILTER_XT_MATCH_SOCKET=m -CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -CONFIG_NETFILTER_XT_MATCH_STRING=m -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -CONFIG_NETFILTER_XT_MATCH_U32=m -CONFIG_IP_SET=m -CONFIG_IP_SET_MAX=256 -# CONFIG_IP_SET_BITMAP_IP is not set -# CONFIG_IP_SET_BITMAP_IPMAC is not set -# CONFIG_IP_SET_BITMAP_PORT is not set -# CONFIG_IP_SET_HASH_IP is not set -# CONFIG_IP_SET_HASH_IPMARK is not set -# CONFIG_IP_SET_HASH_IPPORT is not set -# CONFIG_IP_SET_HASH_IPPORTIP is not set -# CONFIG_IP_SET_HASH_IPPORTNET is not set -# CONFIG_IP_SET_HASH_IPMAC is not set -# CONFIG_IP_SET_HASH_MAC is not set -# CONFIG_IP_SET_HASH_NETPORTNET is not set -# CONFIG_IP_SET_HASH_NET is not set -# CONFIG_IP_SET_HASH_NETNET is not set -# CONFIG_IP_SET_HASH_NETPORT is not set -# CONFIG_IP_SET_HASH_NETIFACE is not set -# CONFIG_IP_SET_LIST_SET is not set -CONFIG_IP_VS=m -# CONFIG_IP_VS_IPV6 is not set -# CONFIG_IP_VS_DEBUG is not set -CONFIG_IP_VS_TAB_BITS=12 - -# -# IPVS transport protocol load balancing support -# -# CONFIG_IP_VS_PROTO_TCP is not set -# CONFIG_IP_VS_PROTO_UDP is not set -# CONFIG_IP_VS_PROTO_ESP is not set -# CONFIG_IP_VS_PROTO_AH is not set -# CONFIG_IP_VS_PROTO_SCTP is not set - -# -# IPVS scheduler -# -# CONFIG_IP_VS_RR is not set -# CONFIG_IP_VS_WRR is not set -# CONFIG_IP_VS_LC is not set -# CONFIG_IP_VS_WLC is not set -# CONFIG_IP_VS_FO is not set -# CONFIG_IP_VS_OVF is not set -# CONFIG_IP_VS_LBLC is not set -# CONFIG_IP_VS_LBLCR is not set -# CONFIG_IP_VS_DH is not set -# CONFIG_IP_VS_SH is not set -# CONFIG_IP_VS_MH is not set -# CONFIG_IP_VS_SED is not set -# CONFIG_IP_VS_NQ 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_NFCT 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 is not set -CONFIG_NF_LOG_IPV4=m -CONFIG_NF_REJECT_IPV4=m -CONFIG_NF_NAT_IPV4=m -CONFIG_NF_NAT_MASQUERADE_IPV4=y -CONFIG_NF_NAT_SNMP_BASIC=m -CONFIG_NF_NAT_PROTO_GRE=m -CONFIG_NF_NAT_PPTP=m -CONFIG_NF_NAT_H323=m -CONFIG_IP_NF_IPTABLES=m -CONFIG_IP_NF_MATCH_AH=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_RPFILTER=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_FILTER=m -CONFIG_IP_NF_TARGET_REJECT=m -CONFIG_IP_NF_TARGET_SYNPROXY=m -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_TTL=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_ARPTABLES=m -# CONFIG_IP_NF_ARPFILTER is not set -# CONFIG_IP_NF_ARP_MANGLE is not set - -# -# IPv6: Netfilter Configuration -# -CONFIG_NF_SOCKET_IPV6=m -CONFIG_NF_TPROXY_IPV6=m -# CONFIG_NF_TABLES_IPV6 is not set -CONFIG_NF_DUP_IPV6=m -CONFIG_NF_REJECT_IPV6=m -CONFIG_NF_LOG_IPV6=m -CONFIG_NF_NAT_IPV6=m -CONFIG_IP6_NF_IPTABLES=m -# CONFIG_IP6_NF_MATCH_AH is not set -# CONFIG_IP6_NF_MATCH_EUI64 is not set -# CONFIG_IP6_NF_MATCH_FRAG is not set -# CONFIG_IP6_NF_MATCH_OPTS is not set -# CONFIG_IP6_NF_MATCH_HL is not set -# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set -# CONFIG_IP6_NF_MATCH_MH is not set -# CONFIG_IP6_NF_MATCH_RT is not set -# CONFIG_IP6_NF_MATCH_SRH is not set -# CONFIG_IP6_NF_FILTER is not set -# CONFIG_IP6_NF_TARGET_SYNPROXY is not set -# CONFIG_IP6_NF_MANGLE is not set -# CONFIG_IP6_NF_RAW is not set -# CONFIG_IP6_NF_NAT is not set -CONFIG_NF_DEFRAG_IPV6=m -# CONFIG_NF_TABLES_BRIDGE is not set -# CONFIG_BRIDGE_NF_EBTABLES is not set -# CONFIG_BPFILTER is not set -# 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=m -CONFIG_BRIDGE=m -CONFIG_BRIDGE_IGMP_SNOOPING=y -CONFIG_HAVE_NET_DSA=y -# CONFIG_NET_DSA is not set -# CONFIG_VLAN_8021Q is not set -# CONFIG_DECNET is not set -CONFIG_LLC=m -# 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_6LOWPAN is not set -# CONFIG_IEEE802154 is not set -# CONFIG_NET_SCHED is not set -# CONFIG_DCB is not set -# CONFIG_DNS_RESOLVER is not set -# CONFIG_BATMAN_ADV is not set -# CONFIG_OPENVSWITCH is not set -# CONFIG_VSOCKETS is not set -# CONFIG_NETLINK_DIAG is not set -# CONFIG_MPLS is not set -# CONFIG_NET_NSH is not set -# CONFIG_HSR is not set -# CONFIG_NET_SWITCHDEV is not set -# CONFIG_NET_L3_MASTER_DEV is not set -# CONFIG_NET_NCSI is not set -CONFIG_RPS=y -CONFIG_RFS_ACCEL=y -CONFIG_XPS=y -# CONFIG_CGROUP_NET_PRIO is not set -CONFIG_CGROUP_NET_CLASSID=y -CONFIG_NET_RX_BUSY_POLL=y -CONFIG_BQL=y -# CONFIG_BPF_JIT is not set -CONFIG_NET_FLOW_LIMIT=y - -# -# Network testing -# -# CONFIG_NET_PKTGEN is not set -# CONFIG_NET_DROP_MONITOR is not set -# CONFIG_HAMRADIO is not set -CONFIG_CAN=y -CONFIG_CAN_RAW=y -CONFIG_CAN_BCM=y -CONFIG_CAN_GW=y - -# -# CAN Device Drivers -# -# CONFIG_CAN_VCAN is not set -# CONFIG_CAN_VXCAN is not set -# CONFIG_CAN_SLCAN is not set -CONFIG_CAN_DEV=y -CONFIG_CAN_CALC_BITTIMING=y -# CONFIG_CAN_GRCAN is not set -# CONFIG_CAN_XILINXCAN is not set -# CONFIG_CAN_C_CAN is not set -# CONFIG_CAN_CC770 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_ROCKCHIP=y -CONFIG_CANFD_ROCKCHIP=y -# CONFIG_CAN_SJA1000 is not set -# CONFIG_CAN_SOFTING is not set - -# -# CAN SPI interfaces -# -# CONFIG_CAN_HI311X is not set -# CONFIG_CAN_MCP251X is not set - -# -# CAN USB interfaces -# -# CONFIG_CAN_8DEV_USB is not set -# CONFIG_CAN_EMS_USB is not set -# CONFIG_CAN_ESD_USB2 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 -# CONFIG_CAN_DEBUG_DEVICES is not set -CONFIG_BT=y -CONFIG_BT_BREDR=y -CONFIG_BT_RFCOMM=y -# CONFIG_BT_RFCOMM_TTY is not set -# CONFIG_BT_BNEP is not set -CONFIG_BT_HIDP=y -CONFIG_BT_HS=y -CONFIG_BT_LE=y -# CONFIG_BT_LEDS is not set -# CONFIG_BT_SELFTEST is not set -CONFIG_BT_DEBUGFS=y - -# -# Bluetooth device drivers -# -CONFIG_BT_INTEL=y -CONFIG_BT_BCM=y -CONFIG_BT_RTL=y -CONFIG_BT_HCIBTUSB=y -# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set -CONFIG_BT_HCIBTUSB_BCM=y -CONFIG_BT_HCIBTUSB_RTL=y -# CONFIG_BT_HCIBTSDIO is not set -CONFIG_BT_HCIUART=y -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=y -# CONFIG_BT_HCIUART_INTEL is not set -CONFIG_BT_HCIUART_BCM=y -# 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_HCIBPA10X is not set -CONFIG_BT_HCIBFUSB=y -CONFIG_BT_HCIVHCI=y -CONFIG_BT_MRVL=y -CONFIG_BT_MRVL_SDIO=y -# CONFIG_BT_ATH3K is not set -# CONFIG_BT_MTKUART is not set -# CONFIG_AF_RXRPC is not set -# CONFIG_AF_KCM 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=y -CONFIG_NL80211_TESTMODE=y -# 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=y -CONFIG_CFG80211_DEBUGFS=y -CONFIG_CFG80211_CRDA_SUPPORT=y -CONFIG_CFG80211_WEXT=y -CONFIG_MAC80211=y -CONFIG_MAC80211_HAS_RC=y -CONFIG_MAC80211_RC_MINSTREL=y -CONFIG_MAC80211_RC_MINSTREL_HT=y -# CONFIG_MAC80211_RC_MINSTREL_VHT is not set -CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y -CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" -# CONFIG_MAC80211_MESH is not set -CONFIG_MAC80211_LEDS=y -CONFIG_MAC80211_DEBUGFS=y -# CONFIG_MAC80211_MESSAGE_TRACING is not set -CONFIG_MAC80211_DEBUG_MENU=y -# CONFIG_MAC80211_NOINLINE is not set -CONFIG_MAC80211_VERBOSE_DEBUG=y -# CONFIG_MAC80211_MLME_DEBUG is not set -# CONFIG_MAC80211_STA_DEBUG is not set -# CONFIG_MAC80211_HT_DEBUG is not set -# CONFIG_MAC80211_OCB_DEBUG is not set -# CONFIG_MAC80211_IBSS_DEBUG is not set -# CONFIG_MAC80211_PS_DEBUG is not set -# CONFIG_MAC80211_TDLS_DEBUG is not set -# CONFIG_MAC80211_DEBUG_COUNTERS is not set -CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 -# CONFIG_WIMAX is not set -CONFIG_RFKILL=y -CONFIG_RFKILL_LEDS=y -# CONFIG_RFKILL_INPUT is not set -# CONFIG_RFKILL_GPIO is not set -CONFIG_RFKILL_RK=y -# CONFIG_NET_9P is not set -# CONFIG_CAIF is not set -# CONFIG_CEPH_LIB is not set -# CONFIG_NFC is not set -# CONFIG_PSAMPLE is not set -# CONFIG_NET_IFE is not set -CONFIG_LWTUNNEL=y -CONFIG_LWTUNNEL_BPF=y -CONFIG_DST_CACHE=y -CONFIG_GRO_CELLS=y -# CONFIG_NET_DEVLINK is not set -CONFIG_MAY_USE_DEVLINK=y -# CONFIG_FAILOVER is not set -CONFIG_HAVE_EBPF_JIT=y - -# -# Device Drivers -# -CONFIG_ARM_AMBA=y - -# -# Generic Driver Options -# -CONFIG_UEVENT_HELPER=y -CONFIG_UEVENT_HELPER_PATH="" -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_STANDALONE=y -CONFIG_PREVENT_FIRMWARE_BUILD=y - -# -# Firmware loader -# -CONFIG_FW_LOADER=y -CONFIG_EXTRA_FIRMWARE="" -# CONFIG_FW_LOADER_USER_HELPER is not set -CONFIG_FW_CACHE=y -CONFIG_WANT_DEV_COREDUMP=y -CONFIG_ALLOW_DEV_COREDUMP=y -CONFIG_DEV_COREDUMP=y -# 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_AUTOPROBE=y -CONFIG_GENERIC_CPU_VULNERABILITIES=y -CONFIG_REGMAP=y -CONFIG_REGMAP_I2C=y -CONFIG_REGMAP_SPI=y -CONFIG_REGMAP_MMIO=y -CONFIG_REGMAP_IRQ=y -# CONFIG_MALI_MEMORY_GROUP_MANAGER is not set -CONFIG_DMA_SHARED_BUFFER=y -# CONFIG_DMA_FENCE_TRACE is not set -CONFIG_DMA_CMA=y - -# -# Default contiguous memory area size: -# -CONFIG_CMA_SIZE_MBYTES=16 -CONFIG_CMA_SIZE_SEL_MBYTES=y -# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set -# CONFIG_CMA_SIZE_SEL_MIN is not set -# CONFIG_CMA_SIZE_SEL_MAX is not set -CONFIG_CMA_ALIGNMENT=8 -CONFIG_GENERIC_ARCH_TOPOLOGY=y - -# -# Bus devices -# -# CONFIG_BRCMSTB_GISB_ARB is not set -# CONFIG_SIMPLE_PM_BUS is not set -# CONFIG_VEXPRESS_CONFIG is not set -CONFIG_CONNECTOR=y -CONFIG_PROC_EVENTS=y -# CONFIG_GNSS is not set -CONFIG_MTD=y -# CONFIG_MTD_TESTS is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_AFS_PARTS is not set -CONFIG_MTD_OF_PARTS=y -# CONFIG_MTD_AR7_PARTS is not set - -# -# Partition parsers -# - -# -# User Modules And Translation Layers -# -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# 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 - -# -# 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 - -# -# 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_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 -# CONFIG_MTD_ONENAND is not set -# CONFIG_MTD_NAND is not set -# CONFIG_MTD_SPI_NAND is not set - -# -# LPDDR & LPDDR2 PCM memory drivers -# -# CONFIG_MTD_LPDDR is not set -# CONFIG_MTD_SPI_NOR is not set -CONFIG_MTD_UBI=y -CONFIG_MTD_UBI_WL_THRESHOLD=4096 -CONFIG_MTD_UBI_BEB_LIMIT=20 -# CONFIG_MTD_UBI_FASTMAP is not set -# CONFIG_MTD_UBI_GLUEBI is not set -# CONFIG_MTD_UBI_BLOCK is not set -CONFIG_DTC=y -CONFIG_OF=y -CONFIG_DTC_SYMBOLS=y -# CONFIG_DTC_OMIT_DISABLED is not set -# CONFIG_DTC_OMIT_EMPTY is not set -# CONFIG_OF_UNITTEST is not set -CONFIG_OF_FLATTREE=y -CONFIG_OF_EARLY_FLATTREE=y -CONFIG_OF_KOBJ=y -CONFIG_OF_ADDRESS=y -CONFIG_OF_IRQ=y -CONFIG_OF_NET=y -CONFIG_OF_MDIO=y -CONFIG_OF_RESERVED_MEM=y -# CONFIG_OF_OVERLAY is not set -# 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_WRITEBACK is not set -# CONFIG_ZRAM_MEMORY_TRACKING is not set -# CONFIG_BLK_DEV_DAC960 is not set -# CONFIG_BLK_DEV_UMEM is not set -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 -# CONFIG_BLK_DEV_CRYPTOLOOP is not set -# CONFIG_BLK_DEV_DRBD is not set -# CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_SKD is not set -# CONFIG_BLK_DEV_SX8 is not set -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 is not set -# CONFIG_BLK_DEV_RBD is not set -# CONFIG_BLK_DEV_RSXX is not set - -# -# NVME Support -# -CONFIG_NVME_CORE=y -CONFIG_BLK_DEV_NVME=y -# CONFIG_NVME_MULTIPATH is not set -# CONFIG_NVME_FC is not set -# CONFIG_NVME_TARGET is not set - -# -# Misc devices -# -# CONFIG_ROCKCHIP_SCR is not set -# CONFIG_AD525X_DPOT is not set -# CONFIG_DUMMY_IRQ is not set -# CONFIG_PHANTOM is not set -# CONFIG_SGI_IOC4 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_USB_SWITCH_FSA9480 is not set -# CONFIG_LATTICE_ECP3_CONFIG is not set -CONFIG_SRAM=y -# CONFIG_PCI_ENDPOINT_TEST is not set -# CONFIG_PIR_ASCHIP is not set -# CONFIG_C2PORT is not set - -# -# EEPROM support -# -# CONFIG_EEPROM_AT24 is not set -# CONFIG_EEPROM_AT25 is not set -# CONFIG_EEPROM_LEGACY is not set -# CONFIG_EEPROM_MAX6875 is not set -# CONFIG_EEPROM_93CX6 is not set -# CONFIG_EEPROM_93XX46 is not set -# CONFIG_EEPROM_IDT_89HPESX is not set -# CONFIG_CB710_CORE is not set - -# -# Texas Instruments shared transport line discipline -# -# CONFIG_TI_ST is not set -# CONFIG_SENSORS_LIS3_SPI is not set -# CONFIG_SENSORS_LIS3_I2C is not set -# CONFIG_ALTERA_STAPL is not set - -# -# Intel MIC & related support -# - -# -# Intel MIC Bus Driver -# - -# -# SCIF Bus Driver -# - -# -# VOP Bus Driver -# - -# -# Intel MIC Host Driver -# - -# -# Intel MIC Card Driver -# - -# -# SCIF Driver -# - -# -# Intel MIC Coprocessor State Management (COSM) Drivers -# - -# -# VOP Driver -# -# CONFIG_GENWQE is not set -# CONFIG_ECHO is not set -# CONFIG_MISC_RTSX_PCI is not set -# CONFIG_MISC_RTSX_USB is not set - -# -# SCSI device support -# -CONFIG_SCSI_MOD=y -# CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=y -CONFIG_SCSI_DMA=y -CONFIG_SCSI_MQ_DEFAULT=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_CHR_DEV_OSST is not set -CONFIG_BLK_DEV_SR=y -# CONFIG_CHR_DEV_SG is not set -# 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 is not set -# CONFIG_SCSI_SAS_LIBSAS is not set -# CONFIG_SCSI_SRP_ATTRS is not set -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 is not set -# CONFIG_SCSI_MPT3SAS is not set -# CONFIG_SCSI_MPT2SAS is not set -# CONFIG_SCSI_SMARTPQI is not set -# CONFIG_SCSI_UFSHCD is not set -# CONFIG_SCSI_HPTIOP is not set -# CONFIG_SCSI_SNIC is not set -# CONFIG_SCSI_DMX3191D 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_LOWLEVEL_PCMCIA is not set -# CONFIG_SCSI_DH is not set -# CONFIG_SCSI_OSD_INITIATOR is not set -CONFIG_HAVE_PATA_PLATFORM=y -CONFIG_ATA=y -CONFIG_ATA_VERBOSE_ERROR=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_CEVA is not set -# CONFIG_AHCI_QORIQ 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 is not set -CONFIG_MD=y -# CONFIG_BLK_DEV_MD is not set -# CONFIG_BCACHE is not set -# CONFIG_BLK_DEV_DM 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 -CONFIG_NETDEVICES=y -CONFIG_MII=y -CONFIG_NET_CORE=y -# CONFIG_BONDING is not set -# CONFIG_DUMMY is not set -# CONFIG_WIREGUARD is not set -# CONFIG_EQUALIZER is not set -# CONFIG_NET_FC is not set -# CONFIG_NET_TEAM is not set -# CONFIG_MACVLAN is not set -# CONFIG_IPVLAN is not set -# CONFIG_VXLAN is not set -# CONFIG_GENEVE is not set -# CONFIG_GTP is not set -# CONFIG_MACSEC is not set -# CONFIG_NETCONSOLE is not set -CONFIG_TUN=y -# CONFIG_TUN_VNET_CROSS_LE is not set -# CONFIG_VETH is not set -# CONFIG_NLMON is not set -# CONFIG_ARCNET is not set - -# -# CAIF transport drivers -# - -# -# Distributed Switch Architecture drivers -# -CONFIG_ETHERNET=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_NET_VENDOR_ARC is not set -# CONFIG_NET_VENDOR_ATHEROS is not set -CONFIG_NET_VENDOR_AURORA=y -# CONFIG_AURORA_NB8800 is not set -# CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_BROCADE 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_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_EZCHIP is not set -# CONFIG_NET_VENDOR_HISILICON is not set -# CONFIG_NET_VENDOR_HP is not set -CONFIG_NET_VENDOR_HUAWEI=y -# CONFIG_HINIC is not set -# CONFIG_NET_VENDOR_INTEL is not set -# CONFIG_JME 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_MYRI is not set -# CONFIG_FEALNX is not set -# CONFIG_NET_VENDOR_NATSEMI is not set -CONFIG_NET_VENDOR_NETERION=y -# CONFIG_S2IO is not set -# CONFIG_VXGE is not set -CONFIG_NET_VENDOR_NETRONOME=y -# CONFIG_NFP is not set -CONFIG_NET_VENDOR_NI=y -# 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_QLOGIC 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_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_SOLARFLARE=y -# CONFIG_SFC is not set -# CONFIG_SFC_FALCON is not set -# CONFIG_NET_VENDOR_SILAN is not set -# CONFIG_NET_VENDOR_SIS 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_PLATFORM=y -# CONFIG_DWMAC_DWC_QOS_ETH is not set -CONFIG_DWMAC_GENERIC=y -CONFIG_DWMAC_ROCKCHIP=y -# 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_VIA is not set -# CONFIG_NET_VENDOR_WIZNET is not set -# CONFIG_FDDI is not set -# CONFIG_HIPPI is not set -CONFIG_MDIO_DEVICE=y -CONFIG_MDIO_BUS=y -# CONFIG_MDIO_BCM_UNIMAC is not set -# CONFIG_MDIO_BITBANG is not set -# CONFIG_MDIO_BUS_MUX_GPIO is not set -# CONFIG_MDIO_BUS_MUX_MMIOREG is not set -# CONFIG_MDIO_HISI_FEMAC is not set -# CONFIG_MDIO_MSCC_MIIM is not set -# CONFIG_MDIO_OCTEON is not set -# CONFIG_MDIO_THUNDER is not set -CONFIG_PHYLIB=y -CONFIG_SWPHY=y -# CONFIG_LED_TRIGGER_PHY is not set - -# -# MII PHY device drivers -# -# CONFIG_AMD_PHY is not set -# CONFIG_AQUANTIA_PHY is not set -# CONFIG_AX88796B_PHY is not set -# CONFIG_AT803X_PHY is not set -# CONFIG_BCM7XXX_PHY is not set -# CONFIG_BCM87XX_PHY is not set -# CONFIG_BROADCOM_PHY is not set -# CONFIG_CICADA_PHY is not set -# CONFIG_CORTINA_PHY is not set -# CONFIG_DAVICOM_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_FIXED_PHY=y -# CONFIG_ICPLUS_PHY is not set -# CONFIG_INTEL_XWAY_PHY is not set -# CONFIG_LSI_ET1011C_PHY is not set -# CONFIG_LXT_PHY is not set -# CONFIG_MARVELL_PHY is not set -# CONFIG_MARVELL_10G_PHY is not set -# CONFIG_MICREL_PHY is not set -# CONFIG_MICROCHIP_PHY is not set -# CONFIG_MICROCHIP_T1_PHY is not set -# CONFIG_MICROSEMI_PHY is not set -# CONFIG_NATIONAL_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_VITESSE_PHY is not set -# CONFIG_XILINX_GMII2RGMII is not set -# CONFIG_MICREL_KS8995MA is not set -# CONFIG_PPP is not set -# CONFIG_SLIP is not set -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_WLAN=y -# CONFIG_WIRELESS_WDS is not set -CONFIG_WLAN_VENDOR_ADMTEK=y -# CONFIG_ADM8211 is not set -CONFIG_WLAN_VENDOR_ATH=y -# CONFIG_ATH_DEBUG is not set -# CONFIG_ATH5K is not set -# CONFIG_ATH5K_PCI is not set -# CONFIG_ATH9K is not set -# CONFIG_ATH9K_HTC is not set -# CONFIG_CARL9170 is not set -# CONFIG_ATH6KL is not set -# CONFIG_AR5523 is not set -# CONFIG_WIL6210 is not set -# CONFIG_ATH10K is not set -# CONFIG_WCN36XX is not set -CONFIG_WLAN_VENDOR_ATMEL=y -# CONFIG_ATMEL is not set -# CONFIG_AT76C50X_USB is not set -CONFIG_WLAN_VENDOR_BROADCOM=y -# CONFIG_B43 is not set -# CONFIG_B43LEGACY is not set -# CONFIG_BRCMSMAC is not set -# CONFIG_BRCMFMAC is not set -CONFIG_WLAN_VENDOR_CISCO=y -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_HOSTAP is not set -# CONFIG_HERMES is not set -# CONFIG_P54_COMMON is not set -# CONFIG_PRISM54 is not set -CONFIG_WLAN_VENDOR_MARVELL=y -# CONFIG_LIBERTAS is not set -CONFIG_LIBERTAS_THINFIRM=y -# 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 is not set -# CONFIG_MWL8K is not set -CONFIG_WLAN_VENDOR_MEDIATEK=y -# CONFIG_MT7601U is not set -# CONFIG_MT76x0U is not set -# CONFIG_MT76x2E is not set -# CONFIG_MT76x2U is not set -CONFIG_WLAN_VENDOR_RALINK=y -# CONFIG_RT2X00 is not set -CONFIG_WLAN_VENDOR_REALTEK=y -# CONFIG_RTL8180 is not set -# CONFIG_RTL8187 is not set -CONFIG_RTL_CARDS=y -# CONFIG_RTL8192CE is not set -# CONFIG_RTL8192SE is not set -# CONFIG_RTL8192DE is not set -# CONFIG_RTL8723AE is not set -# CONFIG_RTL8723BE is not set -# CONFIG_RTL8188EE is not set -# CONFIG_RTL8192EE is not set -# CONFIG_RTL8821AE is not set -# CONFIG_RTL8192CU is not set -# CONFIG_RTL8XXXU is not set -CONFIG_WLAN_VENDOR_RSI=y -# CONFIG_RSI_91X 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_USB_ZD1201 is not set -# CONFIG_ZD1211RW is not set -CONFIG_WLAN_VENDOR_QUANTENNA=y -# CONFIG_QTNFMAC_PEARL_PCIE is not set -CONFIG_WL_ROCKCHIP=y -CONFIG_WIFI_BUILD_MODULE=y -CONFIG_WIFI_LOAD_DRIVER_WHEN_KERNEL_BOOTUP=y -# CONFIG_WIFI_GENERATE_RANDOM_MAC_ADDR is not set -CONFIG_BCMDHD=y -CONFIG_AP6XXX=m -CONFIG_AP6XXX_WIFI6=m -# CONFIG_AP6XXX_INDEP_POWER is not set -CONFIG_BCMDHD_FW_PATH="/etc/firmware/fw_bcmdhd.bin" -CONFIG_BCMDHD_NVRAM_PATH="/etc/firmware/nvram.txt" -# CONFIG_BCMDHD_STATIC_IF is not set -CONFIG_RTL_WIRELESS_SOLUTION=y -CONFIG_RTL8188EU=m -CONFIG_RTL8188FU=y -CONFIG_RTL8189FS=m -# CONFIG_RTL8723CS is not set -CONFIG_RTL8723DS=m -CONFIG_RTL8821CS=m -# CONFIG_RTL8822BS is not set -# CONFIG_MVL88W8977 is not set -# CONFIG_CYW_BCMDHD is not set -# CONFIG_MAC80211_HWSIM is not set -CONFIG_USB_NET_RNDIS_WLAN=y -# CONFIG_VIRT_WIFI is not set - -# -# Enable WiMAX (Networking options) to see the WiMAX drivers -# -# CONFIG_WAN is not set -# CONFIG_VMXNET3 is not set -# CONFIG_LTE is not set -# CONFIG_NETDEVSIM is not set -# CONFIG_NET_FAILOVER is not set -# CONFIG_ISDN is not set -# CONFIG_NVM is not set - -# -# Input device support -# -CONFIG_INPUT=y -CONFIG_INPUT_LEDS=y -CONFIG_INPUT_FF_MEMLESS=y -CONFIG_INPUT_POLLDEV=y -# CONFIG_INPUT_SPARSEKMAP is not set -CONFIG_INPUT_MATRIXKMAP=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 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_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_CROS_EC=y -# CONFIG_KEYBOARD_CAP11XX is not set -# CONFIG_KEYBOARD_BCM 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=y -CONFIG_MOUSE_ELAN_I2C=y -CONFIG_MOUSE_ELAN_I2C_I2C=y -# CONFIG_MOUSE_ELAN_I2C_SMBUS 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=m -CONFIG_JOYSTICK_A3D=m -CONFIG_JOYSTICK_ADI=m -CONFIG_JOYSTICK_COBRA=m -CONFIG_JOYSTICK_GF2K=m -CONFIG_JOYSTICK_GRIP=m -CONFIG_JOYSTICK_GRIP_MP=m -CONFIG_JOYSTICK_GUILLEMOT=m -CONFIG_JOYSTICK_INTERACT=m -CONFIG_JOYSTICK_SIDEWINDER=m -CONFIG_JOYSTICK_TMDC=m -CONFIG_JOYSTICK_IFORCE=m -CONFIG_JOYSTICK_IFORCE_USB=y -CONFIG_JOYSTICK_IFORCE_232=y -CONFIG_JOYSTICK_WARRIOR=m -CONFIG_JOYSTICK_MAGELLAN=m -CONFIG_JOYSTICK_SPACEORB=m -CONFIG_JOYSTICK_SPACEBALL=m -CONFIG_JOYSTICK_STINGER=m -CONFIG_JOYSTICK_TWIDJOY=m -CONFIG_JOYSTICK_ZHENHUA=m -CONFIG_JOYSTICK_AS5011=m -CONFIG_JOYSTICK_JOYDUMP=m -CONFIG_JOYSTICK_XPAD=m -CONFIG_JOYSTICK_XPAD_FF=y -CONFIG_JOYSTICK_XPAD_LEDS=y -CONFIG_JOYSTICK_SINGLEADCJOY=y -# CONFIG_JOYSTICK_PSXPAD_SPI is not set -# CONFIG_JOYSTICK_PXRC is not set -# CONFIG_INPUT_TABLET is not set -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_PROPERTIES=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 is not set -# 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_CY8C40XX 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_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 is not set -# CONFIG_TOUCHSCREEN_GSLX6801 is not set -# CONFIG_TOUCHSCREEN_GSLX680A is not set -# CONFIG_TOUCHSCREEN_GSLX680_D708 is not set -# CONFIG_TOUCHSCREEN_GSLX680_PAD is not set -# CONFIG_TOUCHSCREEN_GSLX680_VR is not set -# CONFIG_TOUCHSCREEN_GSLX680_FIREFLY is not set -# CONFIG_TOUCHSCREEN_GSL3673 is not set -# CONFIG_TOUCHSCREEN_GSL3673_800X1280 is not set -# CONFIG_TOUCHSCREEN_GSL3676 is not set -# CONFIG_TOUCHSCREEN_GT9XX is not set -# CONFIG_TOUCHSCREEN_HIDEEP is not set -# CONFIG_TOUCHSCREEN_HYN_CST2XX is not set -CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX=y -# CONFIG_TOUCHSCREEN_ILI210X 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_WACOM_W9013 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_MTOUCH is not set -# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set -# CONFIG_TOUCHSCREEN_INEXIO is not set -# CONFIG_TOUCHSCREEN_MK712 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_ROHM_BU21023 is not set -# CONFIG_TOUCHSCREEN_VTL_CT36X is not set -CONFIG_TOUCHSCREEN_GT1X=y -# CONFIG_TOUCHSCREEN_FTS is not set -# CONFIG_TOUCHSCREEN_FT5436 is not set -CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5=y -CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICETREE_SUPPORT=y -CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_I2C=y -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_SPI is not set -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_MT_A is not set -CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_MT_B=y -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_BUTTON is not set -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_PROXIMITY is not set -CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS=y -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEVICE_ACCESS_API is not set -CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_LOADER=y -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_PLATFORM_FW_UPGRADE is not set -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_BINARY_FW_UPGRADE is not set -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_PLATFORM_TTCONFIG_UPGRADE is not set -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_MANUAL_TTCONFIG_UPGRADE is not set -# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5_DEBUG_MDL is not set -CONFIG_ROCKCHIP_REMOTECTL=y -CONFIG_ROCKCHIP_REMOTECTL_PWM=y - -# -# handle all sensors -# -CONFIG_SENSOR_DEVICE=y -# CONFIG_ANGLE_DEVICE is not set -CONFIG_GSENSOR_DEVICE=y -# CONFIG_GS_MMA8452 is not set -# CONFIG_STK8BAXX_ACC is not set -# CONFIG_MPU6880_ACC is not set -# CONFIG_MPU6500_ACC is not set -# CONFIG_GS_KXTIK is not set -# CONFIG_GS_KXTJ9 is not set -# CONFIG_GS_LIS3DH is not set -# CONFIG_GS_MMA7660 is not set -CONFIG_GS_MC3230=y -# CONFIG_GS_SC7660 is not set -# CONFIG_GS_SC7A20 is not set -# CONFIG_GS_SC7A30 is not set -# CONFIG_GS_MXC6225 is not set -# CONFIG_GS_MXC6655XA is not set -# CONFIG_GS_DMT10 is not set -# CONFIG_GS_LSM303D is not set -# CONFIG_GS_BMA023 is not set -# CONFIG_LSM330_ACC is not set -# CONFIG_BMA2XX_ACC is not set -# CONFIG_GS_DA223 is not set -# CONFIG_ICM2060X_ACC is not set -# CONFIG_COMPASS_DEVICE is not set -# CONFIG_GYROSCOPE_DEVICE is not set -# CONFIG_LIGHT_DEVICE is not set -# CONFIG_PROXIMITY_DEVICE is not set -# CONFIG_TEMPERATURE_DEVICE is not set -# CONFIG_PRESSURE_DEVICE is not set -# CONFIG_HALL_DEVICE 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_GP2A is not set -# CONFIG_INPUT_GPIO_BEEPER is not set -# CONFIG_INPUT_GPIO_DECODER 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 is not set -CONFIG_INPUT_RK805_PWRKEY=y -# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set -# CONFIG_INPUT_ADXL34X is not set -# CONFIG_INPUT_IMS_PCU is not set -# CONFIG_INPUT_CMA3000 is not set -# CONFIG_INPUT_SOC_BUTTON_ARRAY 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 is not set - -# -# Hardware I/O ports -# -CONFIG_SERIO=m -CONFIG_SERIO_SERPORT=m -# CONFIG_SERIO_AMBAKMI is not set -# CONFIG_SERIO_PCIPS2 is not set -# CONFIG_SERIO_LIBPS2 is not set -# 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=m -# CONFIG_GAMEPORT_NS558 is not set -# CONFIG_GAMEPORT_L4 is not set -# CONFIG_GAMEPORT_EMU10K1 is not set -# CONFIG_GAMEPORT_FM801 is not set - -# -# 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_SERIAL_NONSTANDARD is not set -# CONFIG_NOZOMI is not set -# CONFIG_N_GSM is not set -# CONFIG_TRACE_SINK is not set -CONFIG_LDISC_AUTOLOAD=y -CONFIG_DEVMEM=y - -# -# Serial drivers -# -CONFIG_SERIAL_EARLYCON=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=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_NR_UARTS=10 -CONFIG_SERIAL_8250_RUNTIME_UARTS=10 -# CONFIG_SERIAL_8250_EXTENDED is not set -# CONFIG_SERIAL_8250_ASPEED_VUART is not set -CONFIG_SERIAL_8250_FSL=y -CONFIG_SERIAL_8250_DW=y -# CONFIG_SERIAL_8250_RT288X is not set -# CONFIG_SERIAL_8250_MOXA is not set -CONFIG_SERIAL_OF_PLATFORM=y - -# -# Non-8250 serial port support -# -# CONFIG_SERIAL_AMBA_PL010 is not set -# CONFIG_SERIAL_AMBA_PL011 is not set -# CONFIG_SERIAL_EARLYCON_ARM_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_MSM_GENI_HALF_SAMPLING is not set -# CONFIG_SERIAL_MSM_GENI_EARLY_CONSOLE 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_IFX6X60 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_CONEXANT_DIGICOLOR is not set -CONFIG_SERIAL_DEV_BUS=y -CONFIG_SERIAL_DEV_CTRL_TTYPORT=y -# CONFIG_TTY_PRINTK is not set -# CONFIG_HVC_DCC is not set -# CONFIG_IPMI_HANDLER is not set -CONFIG_HW_RANDOM=y -# CONFIG_HW_RANDOM_TIMERIOMEM is not set -CONFIG_HW_RANDOM_CAVIUM=y -CONFIG_HW_RANDOM_ROCKCHIP=y -# CONFIG_APPLICOM is not set - -# -# PCMCIA character devices -# -# CONFIG_RAW_DRIVER is not set -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_ATMEL is not set -CONFIG_TCG_TIS_I2C_INFINEON=y -# 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_DEVPORT=y -# CONFIG_XILLYBUS is not set -# CONFIG_RANDOM_TRUST_BOOTLOADER is not set - -# -# I2C support -# -CONFIG_I2C=y -CONFIG_I2C_BOARDINFO=y -CONFIG_I2C_COMPAT=y -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 -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_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_PLATFORM is not set -# CONFIG_I2C_DESIGNWARE_PCI is not set -# CONFIG_I2C_EMEV2 is not set -# CONFIG_I2C_GPIO 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_PARPORT_LIGHT 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_CROS_EC_TUNNEL=y -# 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 -CONFIG_SPI=y -# CONFIG_SPI_DEBUG is not set -CONFIG_SPI_MASTER=y -# CONFIG_SPI_MEM is not set - -# -# 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_DESIGNWARE is not set -# CONFIG_SPI_GPIO is not set -# CONFIG_SPI_FSL_SPI is not set -# CONFIG_SPI_OC_TINY is not set -# CONFIG_SPI_PL022 is not set -# CONFIG_SPI_PXA2XX is not set -CONFIG_SPI_ROCKCHIP=y -# CONFIG_SPI_SC18IS602 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 - -# -# 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_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 - -# -# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks. -# -CONFIG_PINCTRL=y -CONFIG_PINMUX=y -CONFIG_PINCONF=y -CONFIG_GENERIC_PINCONF=y -# CONFIG_DEBUG_PINCTRL is not set -# CONFIG_PINCTRL_AMD is not set -# CONFIG_PINCTRL_MCP23S08 is not set -CONFIG_PINCTRL_ROCKCHIP=y -# CONFIG_PINCTRL_SINGLE is not set -# CONFIG_PINCTRL_SX150X is not set -CONFIG_PINCTRL_RK628=y -CONFIG_PINCTRL_RK805=y -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_GENERIC=y - -# -# Memory mapped GPIO drivers -# -# CONFIG_GPIO_74XX_MMIO is not set -# CONFIG_GPIO_ALTERA is not set -# CONFIG_GPIO_DWAPB is not set -# CONFIG_GPIO_FTGPIO010 is not set -CONFIG_GPIO_GENERIC_PLATFORM=y -# CONFIG_GPIO_GRGPIO is not set -# CONFIG_GPIO_HLWD is not set -# CONFIG_GPIO_MB86S7X is not set -# CONFIG_GPIO_MOCKUP is not set -# CONFIG_GPIO_PL061 is not set -CONFIG_GPIO_ROCKCHIP=y -# CONFIG_GPIO_SYSCON is not set -# CONFIG_GPIO_XGENE is not set -# CONFIG_GPIO_XILINX is not set - -# -# I2C GPIO expanders -# -# CONFIG_GPIO_ADP5588 is not set -# CONFIG_GPIO_ADNP is not set -# CONFIG_GPIO_MAX7300 is not set -# CONFIG_GPIO_MAX732X is not set -CONFIG_GPIO_PCA953X=y -# CONFIG_GPIO_PCA953X_IRQ is not set -# CONFIG_GPIO_PCF857X is not set -# CONFIG_GPIO_TPIC2810 is not set - -# -# MFD GPIO expanders -# -# CONFIG_GPIO_TPS6586X is not set - -# -# 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 - -# -# 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 - -# -# USB GPIO expanders -# -# CONFIG_W1 is not set -CONFIG_POWER_AVS=y -CONFIG_ROCKCHIP_IODOMAIN=y -CONFIG_POWER_RESET=y -# CONFIG_POWER_RESET_BRCMSTB is not set -CONFIG_POWER_RESET_GPIO=y -CONFIG_POWER_RESET_GPIO_RESTART=y -# CONFIG_POWER_RESET_LTC2952 is not set -# CONFIG_POWER_RESET_RESTART is not set -# CONFIG_POWER_RESET_XGENE is not set -# CONFIG_POWER_RESET_SYSCON is not set -# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set -CONFIG_REBOOT_MODE=y -CONFIG_SYSCON_REBOOT_MODE=y -CONFIG_POWER_SUPPLY=y -# CONFIG_POWER_SUPPLY_DEBUG is not set -# CONFIG_PDA_POWER is not set -# CONFIG_GENERIC_ADC_BATTERY is not set -# CONFIG_TEST_POWER is not set -# CONFIG_CHARGER_ADP5061 is not set -# CONFIG_BATTERY_DS2780 is not set -# CONFIG_BATTERY_DS2781 is not set -# CONFIG_BATTERY_DS2782 is not set -# CONFIG_BATTERY_LEGO_EV3 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_LTC3651 is not set -# CONFIG_CHARGER_DETECTOR_MAX14656 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_BQ25700 is not set -# CONFIG_CHARGER_BQ25890 is not set -# CONFIG_CHARGER_SMB347 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set -# CONFIG_CHARGER_RT9455 is not set -# CONFIG_CHARGER_CROS_USBPD is not set -# CONFIG_BATTERY_CW2015 is not set -# CONFIG_BATTERY_RK816 is not set -CONFIG_BATTERY_RK817=y -CONFIG_CHARGER_RK817=y -# CONFIG_BATTERY_RK818 is not set -# CONFIG_CHARGER_RK818 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_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_ASC7621 is not set -# CONFIG_SENSORS_ARM_SCMI is not set -# CONFIG_SENSORS_ASPEED is not set -# CONFIG_SENSORS_ATXP1 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_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_IIO_HWMON is not set -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_JC42 is not set -# CONFIG_SENSORS_POWR1220 is not set -# CONFIG_SENSORS_LINEAGE is not set -# CONFIG_SENSORS_LTC2945 is not set -# CONFIG_SENSORS_LTC2990 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_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_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_MCP3021 is not set -# CONFIG_SENSORS_TC654 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_NCT7802 is not set -# CONFIG_SENSORS_NCT7904 is not set -# CONFIG_SENSORS_NPCM7XX is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_PMBUS is not set -# CONFIG_SENSORS_PWM_FAN is not set -# CONFIG_SENSORS_SHT15 is not set -# CONFIG_SENSORS_SHT21 is not set -# CONFIG_SENSORS_SHT3x 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_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_SMM665 is not set -# CONFIG_SENSORS_ADC128D818 is not set -# CONFIG_SENSORS_ADS1015 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_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_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_STATISTICS 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_CLOCK_THERMAL is not set -CONFIG_DEVFREQ_THERMAL=y -# CONFIG_THERMAL_EMULATION is not set -# CONFIG_QORIQ_THERMAL is not set -CONFIG_ROCKCHIP_THERMAL=y -# CONFIG_RK_VIRTUAL_THERMAL is not set -# CONFIG_RK3368_THERMAL is not set - -# -# ACPI INT340X thermal drivers -# -# CONFIG_GENERIC_ADC_THERMAL is not set -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_CORE=y -# CONFIG_WATCHDOG_NOWAYOUT is not set -CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y -# CONFIG_WATCHDOG_SYSFS 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_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_ALIM7101_WDT is not set -# CONFIG_I6300ESB_WDT 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 - -# -# Watchdog Pretimeout Governors -# -# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set -CONFIG_SSB_POSSIBLE=y -# CONFIG_SSB is not set -CONFIG_BCMA_POSSIBLE=y -# CONFIG_BCMA is not set - -# -# Multifunction device drivers -# -CONFIG_MFD_CORE=y -# CONFIG_MFD_ACT8945A is not set -# CONFIG_MFD_AS3711 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_CROS_EC=y -# CONFIG_MFD_CROS_EC_CHARDEV is not set -# CONFIG_MFD_MADERA 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_MC13XXX_SPI is not set -# CONFIG_MFD_MC13XXX_I2C is not set -# CONFIG_MFD_HI6421_PMIC is not set -# CONFIG_HTC_PASIC3 is not set -# CONFIG_HTC_I2CPLD is not set -# CONFIG_LPC_ICH is not set -# CONFIG_LPC_SCH 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_MAX77620 is not set -# CONFIG_MFD_MAX77686 is not set -# CONFIG_MFD_MAX77693 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_MT6397 is not set -# CONFIG_MFD_MENF21BMC is not set -# CONFIG_EZX_PCAP is not set -# CONFIG_MFD_CPCAP is not set -# CONFIG_MFD_VIPERBOARD is not set -# CONFIG_MFD_RETU is not set -# CONFIG_MFD_PCF50633 is not set -# CONFIG_MFD_RDC321X is not set -# CONFIG_MFD_RT5033 is not set -# CONFIG_MFD_RC5T583 is not set -CONFIG_MFD_RK618=y -CONFIG_MFD_RK628=y -# CONFIG_MFD_RK630 is not set -# CONFIG_MFD_RK630_I2C is not set -# CONFIG_MFD_RK630_SPI is not set -CONFIG_MFD_RK808=y -# CONFIG_MFD_RK1000 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_SMSC is not set -# CONFIG_ABX500_CORE is not set -# CONFIG_MFD_STMPE is not set -CONFIG_MFD_SYSCON=y -# CONFIG_MFD_TI_AM335X_TSCADC is not set -# 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_TPS6586X=y -# CONFIG_MFD_TPS65910 is not set -# CONFIG_MFD_TPS65912_I2C is not set -# CONFIG_MFD_TPS65912_SPI is not set -# CONFIG_MFD_TPS80031 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_VX855 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_RAVE_SP_CORE is not set -CONFIG_FUSB_30X=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_DEBUG=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set -# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set -# CONFIG_REGULATOR_PROXY_CONSUMER is not set -# CONFIG_REGULATOR_88PG86X is not set -CONFIG_REGULATOR_ACT8865=y -# CONFIG_REGULATOR_AD5398 is not set -# CONFIG_REGULATOR_ANATOP is not set -# CONFIG_REGULATOR_DA9210 is not set -# CONFIG_REGULATOR_DA9211 is not set -CONFIG_REGULATOR_FAN53555=y -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_LP8752=y -# 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_MAX8649 is not set -# CONFIG_REGULATOR_MAX8660 is not set -# CONFIG_REGULATOR_MAX8952 is not set -# CONFIG_REGULATOR_MAX8973 is not set -CONFIG_REGULATOR_MP8865=y -# CONFIG_REGULATOR_MT6311 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_RK808=y -# CONFIG_REGULATOR_SY8106A is not set -# CONFIG_REGULATOR_TPS51632 is not set -# CONFIG_REGULATOR_TPS549B22 is not set -# CONFIG_REGULATOR_TPS62360 is not set -# CONFIG_REGULATOR_TPS65023 is not set -# CONFIG_REGULATOR_TPS6507X is not set -CONFIG_REGULATOR_TPS65132=y -# CONFIG_REGULATOR_TPS6524X is not set -CONFIG_REGULATOR_TPS6586X=y -# CONFIG_REGULATOR_VCTRL is not set -CONFIG_REGULATOR_XZ3216=y -# CONFIG_REGULATOR_DIO5632 is not set -CONFIG_CEC_CORE=y -CONFIG_CEC_NOTIFIER=y -# CONFIG_RC_CORE is not set -CONFIG_MEDIA_SUPPORT=y - -# -# Multimedia core support -# -CONFIG_MEDIA_CAMERA_SUPPORT=y -# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set -# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set -# CONFIG_MEDIA_RADIO_SUPPORT is not set -# CONFIG_MEDIA_SDR_SUPPORT is not set -CONFIG_MEDIA_CEC_SUPPORT=y -CONFIG_MEDIA_CONTROLLER=y -CONFIG_VIDEO_DEV=y -CONFIG_VIDEO_V4L2_SUBDEV_API=y -CONFIG_VIDEO_V4L2=y -# CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set -# CONFIG_VIDEO_PCI_SKELETON is not set -CONFIG_V4L2_MEM2MEM_DEV=y -# CONFIG_V4L2_FLASH_LED_CLASS is not set -CONFIG_V4L2_FWNODE=y - -# -# Media drivers -# -CONFIG_MEDIA_USB_SUPPORT=y - -# -# Webcam devices -# -CONFIG_USB_VIDEO_CLASS=y -# CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV is not set -# CONFIG_USB_GSPCA is not set -# CONFIG_USB_PWC is not set -# CONFIG_VIDEO_CPIA2 is not set -# CONFIG_USB_ZR364XX is not set -# CONFIG_USB_STKWEBCAM is not set -# CONFIG_USB_S2255 is not set -# CONFIG_VIDEO_USBTV is not set - -# -# Webcam, TV (analog/digital) USB devices -# -# CONFIG_VIDEO_EM28XX is not set - -# -# USB HDMI CEC adapters -# -# CONFIG_USB_PULSE8_CEC is not set -# CONFIG_USB_RAINSHADOW_CEC is not set -# CONFIG_MEDIA_PCI_SUPPORT is not set -CONFIG_V4L_PLATFORM_DRIVERS=y -# CONFIG_VIDEO_CAFE_CCIC is not set -# CONFIG_VIDEO_CADENCE is not set -# CONFIG_VIDEO_MUX is not set -CONFIG_SOC_CAMERA=y -# CONFIG_SOC_CAMERA_PLATFORM is not set -# CONFIG_VIDEO_XILINX is not set -CONFIG_VIDEO_ROCKCHIP_CIF=y -CONFIG_ROCKCHIP_CIF_WORKMODE_PINGPONG=y -# CONFIG_ROCKCHIP_CIF_WORKMODE_ONEFRAME is not set -CONFIG_VIDEO_ROCKCHIP_ISP1=y -CONFIG_VIDEO_ROCKCHIP_ISP=y -# CONFIG_VIDEO_ROCKCHIP_ISPP is not set -CONFIG_V4L_MEM2MEM_DRIVERS=y -# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set -# CONFIG_VIDEO_SH_VEU is not set -CONFIG_VIDEO_ROCKCHIP_RGA=y -# CONFIG_V4L_TEST_DRIVERS is not set -# CONFIG_CEC_PLATFORM_DRIVERS is not set - -# -# Supported MMC/SDIO adapters -# -# CONFIG_CYPRESS_FIRMWARE is not set -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 - -# -# Media ancillary drivers (tuners, sensors, i2c, spi, frontends) -# -# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set - -# -# I2C Encoders, decoders, sensors and other helper chips -# - -# -# Audio decoders, processors and mixers -# -# CONFIG_VIDEO_TVAUDIO is not set -# CONFIG_VIDEO_TDA7432 is not set -# CONFIG_VIDEO_TDA9840 is not set -# CONFIG_VIDEO_TDA1997X is not set -# CONFIG_VIDEO_TEA6415C is not set -# CONFIG_VIDEO_TEA6420 is not set -# CONFIG_VIDEO_MSP3400 is not set -# CONFIG_VIDEO_CS3308 is not set -# CONFIG_VIDEO_CS5345 is not set -# CONFIG_VIDEO_CS53L32A is not set -# CONFIG_VIDEO_TLV320AIC23B is not set -# CONFIG_VIDEO_UDA1342 is not set -# CONFIG_VIDEO_WM8775 is not set -# CONFIG_VIDEO_WM8739 is not set -# CONFIG_VIDEO_VP27SMPX is not set -# CONFIG_VIDEO_SONY_BTF_MPX is not set - -# -# RDS decoders -# -# CONFIG_VIDEO_SAA6588 is not set - -# -# 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_KS0127 is not set -# CONFIG_VIDEO_ML86V7667 is not set -# CONFIG_VIDEO_AD5820 is not set -# CONFIG_VIDEO_AK7375 is not set -# CONFIG_VIDEO_DW9714 is not set -# CONFIG_VIDEO_DW9807_VCM is not set -# CONFIG_VIDEO_FP5510 is not set -# CONFIG_VIDEO_GT9760S is not set -# CONFIG_VIDEO_VM149C is not set -# CONFIG_VIDEO_SAA7110 is not set -# CONFIG_VIDEO_SAA711X is not set -# CONFIG_VIDEO_TC358743 is not set -# CONFIG_VIDEO_TC35874X is not set -CONFIG_VIDEO_RK628_CSI=y -# CONFIG_VIDEO_TECHPOINT is not set -# CONFIG_VIDEO_TVP514X is not set -# CONFIG_VIDEO_TVP5150 is not set -# CONFIG_VIDEO_TVP7002 is not set -# CONFIG_VIDEO_TW2804 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 is not set - -# -# Video encoders -# -# CONFIG_VIDEO_SAA7127 is not set -# CONFIG_VIDEO_SAA7185 is not set -# 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_AD9389B is not set -# CONFIG_VIDEO_AK881X is not set -# CONFIG_VIDEO_THS8200 is not set - -# -# Camera sensor devices -# -# CONFIG_VIDEO_IMX178 is not set -# CONFIG_VIDEO_IMX219 is not set -# CONFIG_VIDEO_IMX258 is not set -# CONFIG_VIDEO_IMX274 is not set -# CONFIG_VIDEO_IMX307 is not set -# CONFIG_VIDEO_IMX317 is not set -# CONFIG_VIDEO_IMX323 is not set -# CONFIG_VIDEO_IMX327 is not set -# CONFIG_VIDEO_IMX334 is not set -# CONFIG_VIDEO_IMX335 is not set -# CONFIG_VIDEO_IMX347 is not set -# CONFIG_VIDEO_IMX378 is not set -# CONFIG_VIDEO_IMX415 is not set -# CONFIG_VIDEO_IMX464 is not set -# CONFIG_VIDEO_OS02G10 is not set -CONFIG_VIDEO_OS04A10=y -# CONFIG_VIDEO_OS04C10 is not set -# CONFIG_VIDEO_OS05A20 is not set -# CONFIG_VIDEO_OS08A10 is not set -# CONFIG_VIDEO_OV02B10 is not set -# CONFIG_VIDEO_OV02K10 is not set -# CONFIG_VIDEO_OV2640 is not set -# CONFIG_VIDEO_OV2659 is not set -# CONFIG_VIDEO_OV2680 is not set -# CONFIG_VIDEO_OV2685 is not set -# CONFIG_VIDEO_OV2718 is not set -# CONFIG_VIDEO_OV2735 is not set -# CONFIG_VIDEO_OV2775 is not set -# CONFIG_VIDEO_OV4686 is not set -# CONFIG_VIDEO_OV4688 is not set -CONFIG_VIDEO_OV4689=y -# CONFIG_VIDEO_OV5640 is not set -# CONFIG_VIDEO_OV5645 is not set -# CONFIG_VIDEO_OV5647 is not set -# CONFIG_VIDEO_OV5648 is not set -# CONFIG_VIDEO_OV5670 is not set -CONFIG_VIDEO_OV5695=y -# CONFIG_VIDEO_OV6650 is not set -CONFIG_VIDEO_OV7251=y -# CONFIG_VIDEO_OV772X is not set -# CONFIG_VIDEO_OV7640 is not set -# CONFIG_VIDEO_OV7670 is not set -# CONFIG_VIDEO_OV7740 is not set -# CONFIG_VIDEO_OV7750 is not set -# CONFIG_VIDEO_OV8858 is not set -# CONFIG_VIDEO_OV9281 is not set -# CONFIG_VIDEO_OV9650 is not set -# CONFIG_VIDEO_OV9750 is not set -# CONFIG_VIDEO_OV12D2Q is not set -CONFIG_VIDEO_OV13850=y -# CONFIG_VIDEO_OV13858 is not set -# CONFIG_VIDEO_PREISP_DUMMY_SENSOR is not set -# CONFIG_VIDEO_VS6624 is not set -# CONFIG_VIDEO_MT9M032 is not set -# CONFIG_VIDEO_MT9M111 is not set -# CONFIG_VIDEO_MT9P031 is not set -# CONFIG_VIDEO_MT9T001 is not set -# CONFIG_VIDEO_MT9T112 is not set -# CONFIG_VIDEO_MT9V011 is not set -# CONFIG_VIDEO_MT9V032 is not set -# CONFIG_VIDEO_MT9V111 is not set -# CONFIG_VIDEO_AR0230 is not set -# CONFIG_VIDEO_SR030PC30 is not set -# CONFIG_VIDEO_NOON010PC30 is not set -# CONFIG_VIDEO_M5MOLS is not set -# CONFIG_VIDEO_RJ54N1 is not set -# CONFIG_VIDEO_S5K6AA is not set -# CONFIG_VIDEO_S5K6A3 is not set -# CONFIG_VIDEO_S5KGM1SP is not set -# CONFIG_VIDEO_S5K4H7YX is not set -# CONFIG_VIDEO_S5K4ECGX is not set -# CONFIG_VIDEO_S5K5BAF is not set -# CONFIG_VIDEO_SMIAPP is not set -# CONFIG_VIDEO_ET8EK8 is not set -# CONFIG_VIDEO_S5C73M3 is not set -# CONFIG_VIDEO_GC02M2 is not set -# CONFIG_VIDEO_GC0312 is not set -# CONFIG_VIDEO_GC0329 is not set -# CONFIG_VIDEO_GC032A is not set -# CONFIG_VIDEO_GC0403 is not set -# CONFIG_VIDEO_GC2035 is not set -CONFIG_VIDEO_GC2053=y -CONFIG_VIDEO_GC2093=y -# CONFIG_VIDEO_GC2145 is not set -# CONFIG_VIDEO_GC2155 is not set -# CONFIG_VIDEO_GC2355 is not set -# CONFIG_VIDEO_GC2375H is not set -# CONFIG_VIDEO_GC2385 is not set -# CONFIG_VIDEO_GC4663 is not set -# CONFIG_VIDEO_GC4C33 is not set -# CONFIG_VIDEO_GC5024 is not set -# CONFIG_VIDEO_GC5025 is not set -# CONFIG_VIDEO_GC5035 is not set -CONFIG_VIDEO_GC8034=y -# CONFIG_VIDEO_BF3925 is not set -# CONFIG_VIDEO_JX_F37 is not set -# CONFIG_VIDEO_JX_H62 is not set -# CONFIG_VIDEO_JX_H65 is not set -# CONFIG_VIDEO_JX_K04 is not set -# CONFIG_VIDEO_SC031GS is not set -# CONFIG_VIDEO_SC035HGS is not set -# CONFIG_VIDEO_SC132GS is not set -# CONFIG_VIDEO_SC200AI is not set -# CONFIG_VIDEO_SC210IOT is not set -# CONFIG_VIDEO_SC2232 is not set -# CONFIG_VIDEO_SC2239 is not set -# CONFIG_VIDEO_SC2310 is not set -# CONFIG_VIDEO_SC2335 is not set -# CONFIG_VIDEO_SC401AI is not set -# CONFIG_VIDEO_SC4238 is not set -# CONFIG_VIDEO_SC430CS is not set -# CONFIG_VIDEO_SC500AI is not set -# CONFIG_VIDEO_SC8220 is not set -# CONFIG_VIDEO_SP250A is not set -# CONFIG_VIDEO_HYNIX_HI556 is not set -# CONFIG_VIDEO_HYNIX_HI846 is not set - -# -# Flash devices -# -# CONFIG_VIDEO_ADP1653 is not set -# CONFIG_VIDEO_LM3560 is not set -# CONFIG_VIDEO_LM3646 is not set -# CONFIG_VIDEO_SGM3784 is not set - -# -# Video improvement chips -# -# CONFIG_VIDEO_UPD64031A is not set -# CONFIG_VIDEO_UPD64083 is not set - -# -# Audio/Video compression chips -# -# CONFIG_VIDEO_SAA6752HS is not set - -# -# SDR tuner chips -# - -# -# Miscellaneous helper chips -# -# CONFIG_VIDEO_THS7303 is not set -# CONFIG_VIDEO_M52790 is not set -# CONFIG_VIDEO_I2C is not set -# CONFIG_VIDEO_NVP6158 is not set -# CONFIG_VIDEO_NVP6188 is not set -# CONFIG_VIDEO_NVP6324 is not set -# CONFIG_VIDEO_HALL_DC_MOTOR is not set -# CONFIG_VIDEO_RK_IRCUT is not set -# CONFIG_VIDEO_MP6507 is not set - -# -# Sensors used on soc_camera driver -# - -# -# soc_camera sensor drivers -# -# CONFIG_SOC_CAMERA_MT9M001 is not set -# CONFIG_SOC_CAMERA_MT9M111 is not set -# CONFIG_SOC_CAMERA_MT9T112 is not set -# CONFIG_SOC_CAMERA_MT9V022 is not set -# CONFIG_SOC_CAMERA_OV5642 is not set -# CONFIG_SOC_CAMERA_OV772X is not set -# CONFIG_SOC_CAMERA_OV9640 is not set -# CONFIG_SOC_CAMERA_OV9740 is not set -# CONFIG_SOC_CAMERA_RJ54N1 is not set -# CONFIG_SOC_CAMERA_TW9910 is not set - -# -# SPI helper chips -# -# CONFIG_VIDEO_GS1662 is not set -# CONFIG_VIDEO_ROCKCHIP_PREISP is not set - -# -# Media SPI Adapters -# - -# -# Customise DVB Frontends -# - -# -# Tools to develop new frontends -# - -# -# Graphics support -# -# CONFIG_VGA_ARB is not set -CONFIG_DRM=y -CONFIG_DRM_IGNORE_IOTCL_PERMIT=y -CONFIG_DRM_MIPI_DSI=y -# CONFIG_DRM_DP_AUX_CHARDEV is not set -# CONFIG_DRM_DEBUG_MM is not set -# CONFIG_DRM_DEBUG_SELFTEST is not set -CONFIG_DRM_KMS_HELPER=y -CONFIG_DRM_KMS_FB_HELPER=y -CONFIG_DRM_FBDEV_EMULATION=y -CONFIG_DRM_FBDEV_OVERALLOC=200 -# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set -CONFIG_DRM_LOAD_EDID_FIRMWARE=y -# CONFIG_DRM_DP_CEC is not set -CONFIG_DRM_TTM=m -CONFIG_DRM_GEM_CMA_HELPER=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 -# CONFIG_DRM_HDLCD is not set -# CONFIG_DRM_MALI_DISPLAY is not set -# CONFIG_DRM_RADEON is not set -# CONFIG_DRM_AMDGPU is not set - -# -# ACP (Audio CoProcessor) Configuration -# - -# -# AMD Library routines -# -# CONFIG_DRM_NOUVEAU is not set -# CONFIG_DRM_VGEM is not set -# CONFIG_DRM_VKMS is not set -CONFIG_DRM_ROCKCHIP=y -# CONFIG_ROCKCHIP_DRM_DEBUG is not set -CONFIG_ROCKCHIP_ANALOGIX_DP=y -CONFIG_ROCKCHIP_CDN_DP=y -CONFIG_ROCKCHIP_DW_HDMI=y -CONFIG_ROCKCHIP_DW_MIPI_DSI=y -CONFIG_ROCKCHIP_INNO_HDMI=y -CONFIG_ROCKCHIP_LVDS=y -CONFIG_ROCKCHIP_DRM_TVE=y -CONFIG_ROCKCHIP_RGB=y -# CONFIG_DRM_ROCKCHIP_VVOP is not set -# CONFIG_ROCKCHIP_EBC_DEV is not set -CONFIG_DRM_ROCKCHIP_RK618=y -# CONFIG_DRM_ROCKCHIP_RK628 is not set -# CONFIG_DRM_UDL is not set -# CONFIG_DRM_AST is not set -# CONFIG_DRM_MGAG200 is not set -# CONFIG_DRM_CIRRUS_QEMU is not set -# CONFIG_DRM_RCAR_DW_HDMI is not set -# CONFIG_DRM_RCAR_LVDS is not set -# CONFIG_DRM_QXL is not set -# CONFIG_DRM_BOCHS is not set -CONFIG_DRM_PANEL=y - -# -# Display Panels -# -# CONFIG_DRM_PANEL_ARM_VERSATILE is not set -# CONFIG_DRM_PANEL_LVDS is not set -CONFIG_DRM_PANEL_SIMPLE=y -# CONFIG_DRM_PANEL_SIMPLE_OF_ONLY is not set -# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set -# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set -# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set -# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set -# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set -# CONFIG_DRM_PANEL_LG_LG4573 is not set -# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set -# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set -# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set -# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set -# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set -# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set -# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set -# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set -# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set -CONFIG_DRM_BRIDGE=y -CONFIG_DRM_PANEL_BRIDGE=y - -# -# Display Interface Bridges -# -# CONFIG_DRM_ANALOGIX_ANX78XX is not set -# CONFIG_DRM_CDNS_DSI is not set -# CONFIG_DRM_DUMB_VGA_DAC is not set -# CONFIG_DRM_LVDS_ENCODER is not set -# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set -# CONFIG_DRM_NXP_PTN3460 is not set -# CONFIG_DRM_PARADE_PS8622 is not set -# CONFIG_DRM_RK1000_TVE is not set -# CONFIG_DRM_SIL_SII8620 is not set -CONFIG_DRM_SII902X=y -# CONFIG_DRM_SII9234 is not set -# CONFIG_DRM_THINE_THC63LVD1024 is not set -# CONFIG_DRM_TOSHIBA_TC358767 is not set -# CONFIG_DRM_TI_TFP410 is not set -CONFIG_DRM_ANALOGIX_DP=y -# CONFIG_DRM_I2C_ADV7511 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_CEC=y -# CONFIG_DRM_ARCPGU is not set -# CONFIG_DRM_HISI_HIBMC is not set -# CONFIG_DRM_HISI_KIRIN is not set -# CONFIG_DRM_MXSFB is not set -# CONFIG_DRM_TINYDRM is not set -# CONFIG_DRM_PL111 is not set -# CONFIG_DRM_LEGACY is not set -CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y -CONFIG_MALI400=y -CONFIG_MALI450=y -# CONFIG_MALI470 is not set -# CONFIG_MALI400_DEBUG is not set -# CONFIG_MALI400_PROFILING is not set -# CONFIG_MALI400_UMP is not set -CONFIG_MALI_DMA_BUF_MAP_ON_ATTACH=y -CONFIG_MALI_SHARED_INTERRUPTS=y -# CONFIG_MALI_PMU_PARALLEL_POWER_UP is not set -CONFIG_MALI_DT=y -CONFIG_MALI_DEVFREQ=y -# CONFIG_MALI_QUIET is not set -CONFIG_MALI_MIDGARD_FOR_ANDROID=y -# CONFIG_MALI_MIDGARD_FOR_LINUX is not set -CONFIG_MALI_MIDGARD=y -# CONFIG_MALI_GATOR_SUPPORT is not set -# CONFIG_MALI_MIDGARD_ENABLE_TRACE is not set -# CONFIG_MALI_DMA_FENCE is not set -CONFIG_MALI_EXPERT=y -# CONFIG_MALI_CORESTACK is not set -# CONFIG_MALI_PRFCNT_SET_SECONDARY is not set -# CONFIG_MALI_PLATFORM_FAKE is not set -# CONFIG_MALI_PLATFORM_DEVICETREE is not set -CONFIG_MALI_PLATFORM_THIRDPARTY=y -CONFIG_MALI_PLATFORM_THIRDPARTY_NAME="rk" -CONFIG_MALI_DEBUG=y -CONFIG_MALI_FENCE_DEBUG=y -# CONFIG_MALI_NO_MALI is not set -# CONFIG_MALI_TRACE_TIMELINE is not set -# CONFIG_MALI_SYSTEM_TRACE is not set -# CONFIG_MALI_GPU_MMU_AARCH64 is not set -CONFIG_MALI_PWRSOFT_765=y -# CONFIG_MALI_KUTF is not set -CONFIG_MALI_BIFROST_FOR_ANDROID=y -# CONFIG_MALI_BIFROST_FOR_LINUX is not set -CONFIG_MALI_BIFROST=y -CONFIG_MALI_BIFROST_GATOR_SUPPORT=y -# CONFIG_MALI_BIFROST_ENABLE_TRACE is not set -CONFIG_MALI_BIFROST_DEVFREQ=y -# CONFIG_MALI_BIFROST_DMA_FENCE is not set -CONFIG_MALI_PLATFORM_NAME="rk" -# CONFIG_MALI_ARBITER_SUPPORT is not set -# CONFIG_MALI_BIFROST_EXPERT is not set -CONFIG_MALI_REAL_HW=y -# CONFIG_MALI_DMA_BUF_MAP_ON_DEMAND is not set -# CONFIG_MALI_DMA_BUF_LEGACY_COMPAT is not set -# CONFIG_MALI_GEM5_BUILD is not set - -# -# Frame buffer Devices -# -CONFIG_FB_CMDLINE=y -CONFIG_FB_NOTIFY=y -CONFIG_FB=y -# CONFIG_FIRMWARE_EDID is not set -CONFIG_FB_CFB_FILLRECT=y -CONFIG_FB_CFB_COPYAREA=y -CONFIG_FB_CFB_IMAGEBLIT=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_SYS_FOPS=y -CONFIG_FB_DEFERRED_IO=y -# CONFIG_FB_MODE_HELPERS is not set -# CONFIG_FB_TILEBLITTING is not set - -# -# Frame buffer hardware drivers -# -# CONFIG_FB_CIRRUS is not set -# CONFIG_FB_PM2 is not set -# CONFIG_FB_ARMCLCD 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_BROADSHEET is not set -# CONFIG_FB_SIMPLE is not set -# CONFIG_FB_SSD1307 is not set -# CONFIG_FB_SM712 is not set -CONFIG_BACKLIGHT_LCD_SUPPORT=y -# CONFIG_LCD_CLASS_DEVICE is not set -CONFIG_BACKLIGHT_CLASS_DEVICE=y -CONFIG_BACKLIGHT_GENERIC=y -CONFIG_BACKLIGHT_PWM=y -# CONFIG_BACKLIGHT_PM8941_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_GPIO is not set -# CONFIG_BACKLIGHT_LV5207LP is not set -# CONFIG_BACKLIGHT_BD6107 is not set -# CONFIG_BACKLIGHT_ARCXCNN is not set - -# -# Rockchip Misc Video driver -# - -# -# RGA -# -# CONFIG_ROCKCHIP_RGA is not set - -# -# RGA2 -# -CONFIG_ROCKCHIP_RGA2=y - -# -# IEP -# -# CONFIG_IEP is not set -# CONFIG_IEP_MMU is not set -CONFIG_ROCKCHIP_MPP_SERVICE=y -CONFIG_ROCKCHIP_MPP_RKVDEC=y -CONFIG_ROCKCHIP_MPP_RKVDEC2=y -CONFIG_ROCKCHIP_MPP_RKVENC=y -CONFIG_ROCKCHIP_MPP_VDPU1=y -CONFIG_ROCKCHIP_MPP_VEPU1=y -CONFIG_ROCKCHIP_MPP_VDPU2=y -CONFIG_ROCKCHIP_MPP_VEPU2=y -CONFIG_ROCKCHIP_MPP_IEP2=y -CONFIG_ROCKCHIP_MPP_JPGDEC=y -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_DETECT_PRIMARY=y -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set -# CONFIG_LOGO 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=y -# CONFIG_SND_VERBOSE_PRINTK is not set -# CONFIG_SND_DEBUG 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_DRIVERS=y -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_ALOOP is not set -# CONFIG_SND_VIRMIDI is not set -# CONFIG_SND_MTPAV is not set -# CONFIG_SND_SERIAL_U16550 is not set -# CONFIG_SND_MPU401 is not set -# CONFIG_SND_PCI is not set - -# -# 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_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_AMD_ACP is not set -# CONFIG_SND_ATMEL_SOC 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 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_IMX_AUDMUX is not set -# CONFIG_SND_I2S_HI6210_I2S is not set -# CONFIG_SND_SOC_IMG is not set -CONFIG_SND_SOC_ROCKCHIP=y -CONFIG_SND_SOC_ROCKCHIP_PREALLOC_BUFFER_SIZE=512 -# CONFIG_SND_SOC_ROCKCHIP_AUDIO_PWM is not set -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_VAD is not set -CONFIG_SND_SOC_ROCKCHIP_MAX98090=y -CONFIG_SND_SOC_ROCKCHIP_MULTICODECS=y -CONFIG_SND_SOC_ROCKCHIP_RT5645=y -# CONFIG_SND_SOC_ROCKCHIP_RT5651 is not set -CONFIG_SND_SOC_ROCKCHIP_RT5651_RK628=y -# CONFIG_SND_SOC_RK3288_HDMI_ANALOG is not set -# CONFIG_SND_SOC_RK3399_GRU_SOUND is not set - -# -# STMicroelectronics STM32 SOC audio support -# -# CONFIG_SND_SOC_XTFPGA_I2S is not set -# CONFIG_ZX_TDM is not set -CONFIG_SND_SOC_I2C_AND_SPI=y - -# -# CODEC drivers -# -# CONFIG_SND_SOC_AC97_CODEC 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_AK4104 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_BD28623 is not set -# CONFIG_SND_SOC_BT_SCO 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_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_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_CS4349 is not set -# CONFIG_SND_SOC_CS53L30 is not set -# CONFIG_SND_SOC_CX2072X is not set -CONFIG_SND_SOC_DUMMY_CODEC=y -CONFIG_SND_SOC_HDMI_CODEC=y -# CONFIG_SND_SOC_ES7134 is not set -CONFIG_SND_SOC_ES7202=y -# CONFIG_SND_SOC_ES7210 is not set -# CONFIG_SND_SOC_ES7241 is not set -CONFIG_SND_SOC_ES7243E=y -CONFIG_SND_SOC_ES8311=y -CONFIG_SND_SOC_ES8316=y -# CONFIG_SND_SOC_ES8323 is not set -# CONFIG_SND_SOC_ES8328_I2C is not set -# CONFIG_SND_SOC_ES8328_SPI is not set -# CONFIG_SND_SOC_ES8396 is not set -# CONFIG_SND_SOC_GTM601 is not set -# CONFIG_SND_SOC_INNO_RK3036 is not set -CONFIG_SND_SOC_MAX98090=y -# CONFIG_SND_SOC_MAX98504 is not set -# CONFIG_SND_SOC_MAX9867 is not set -# CONFIG_SND_SOC_MAX98927 is not set -# CONFIG_SND_SOC_MAX98373 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_PCM3168A_I2C is not set -# CONFIG_SND_SOC_PCM3168A_SPI is not set -# CONFIG_SND_SOC_PCM512x_I2C is not set -# CONFIG_SND_SOC_PCM512x_SPI is not set -# CONFIG_SND_SOC_RK312X is not set -# CONFIG_SND_SOC_RK3228 is not set -CONFIG_SND_SOC_RK3308=y -CONFIG_SND_SOC_RK3328=y -CONFIG_SND_SOC_RK817=y -CONFIG_SND_SOC_RK_CODEC_DIGITAL=y -CONFIG_SND_SOC_RL6231=y -CONFIG_SND_SOC_RT5616=y -# CONFIG_SND_SOC_RT5631 is not set -CONFIG_SND_SOC_RT5640=y -CONFIG_SND_SOC_RT5645=y -CONFIG_SND_SOC_RT5651=y -# CONFIG_SND_SOC_SGTL5000 is not set -# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set -# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set -CONFIG_SND_SOC_SPDIF=y -# CONFIG_SND_SOC_SSM2305 is not set -# CONFIG_SND_SOC_SSM2602_SPI is not set -# CONFIG_SND_SOC_SSM2602_I2C 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_TAS5086 is not set -# CONFIG_SND_SOC_TAS571X is not set -# CONFIG_SND_SOC_TAS5720 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_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 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_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 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_WM8960 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_ZX_AUD96P22 is not set -# CONFIG_SND_SOC_MAX9759 is not set -# CONFIG_SND_SOC_MT6351 is not set -# CONFIG_SND_SOC_NAU8540 is not set -# CONFIG_SND_SOC_NAU8810 is not set -# CONFIG_SND_SOC_NAU8824 is not set -# CONFIG_SND_SOC_TPA6130A2 is not set -CONFIG_SND_SIMPLE_CARD_UTILS=y -CONFIG_SND_SIMPLE_CARD=y -# CONFIG_SND_SIMPLE_SCU_CARD is not set -# CONFIG_SND_AUDIO_GRAPH_CARD is not set -# CONFIG_SND_AUDIO_GRAPH_SCU_CARD is not set - -# -# HID support -# -CONFIG_HID=y -CONFIG_HID_BATTERY_STRENGTH=y -CONFIG_HIDRAW=y -CONFIG_UHID=y -CONFIG_HID_GENERIC=y - -# -# Special HID drivers -# -# CONFIG_HID_A4TECH is not set -# CONFIG_HID_ACCUTOUCH is not set -# CONFIG_HID_ACRUX is not set -# CONFIG_HID_APPLE is not set -# CONFIG_HID_APPLEIR is not set -# CONFIG_HID_ASUS is not set -# CONFIG_HID_AUREAL is not set -# CONFIG_HID_BELKIN is not set -# CONFIG_HID_BETOP_FF is not set -# CONFIG_HID_CHERRY is not set -# CONFIG_HID_CHICONY is not set -# CONFIG_HID_CORSAIR is not set -# CONFIG_HID_COUGAR is not set -# CONFIG_HID_PRODIKEYS is not set -# CONFIG_HID_CMEDIA is not set -# CONFIG_HID_CP2112 is not set -# CONFIG_HID_CYPRESS is not set -# CONFIG_HID_DRAGONRISE is not set -# CONFIG_HID_EMS_FF is not set -# CONFIG_HID_ELAN is not set -# CONFIG_HID_ELECOM is not set -# CONFIG_HID_ELO is not set -# CONFIG_HID_EZKEY is not set -# CONFIG_HID_GEMBIRD is not set -# CONFIG_HID_GFRM is not set -# CONFIG_HID_HOLTEK is not set -# CONFIG_HID_GOOGLE_HAMMER is not set -# CONFIG_HID_GT683R is not set -# CONFIG_HID_KEYTOUCH is not set -# CONFIG_HID_KYE is not set -# CONFIG_HID_UCLOGIC is not set -# CONFIG_HID_WALTOP is not set -# CONFIG_HID_GYRATION is not set -# CONFIG_HID_ICADE is not set -# CONFIG_HID_ITE is not set -# CONFIG_HID_JABRA is not set -# CONFIG_HID_TWINHAN is not set -CONFIG_HID_KENSINGTON=y -# CONFIG_HID_LCPOWER is not set -# CONFIG_HID_LED is not set -# CONFIG_HID_LENOVO is not set -# CONFIG_HID_LOGITECH is not set -# CONFIG_HID_MAGICMOUSE is not set -# CONFIG_HID_MAYFLASH is not set -# CONFIG_HID_REDRAGON is not set -# CONFIG_HID_MICROSOFT is not set -# CONFIG_HID_MONTEREY is not set -CONFIG_HID_MULTITOUCH=y -# CONFIG_HID_NINTENDO is not set -# CONFIG_HID_NTI is not set -# CONFIG_HID_NTRIG is not set -# CONFIG_HID_ORTEK is not set -# CONFIG_HID_PANTHERLORD is not set -# CONFIG_HID_PENMOUNT is not set -# CONFIG_HID_PETALYNX is not set -# CONFIG_HID_PICOLCD is not set -# CONFIG_HID_PLANTRONICS is not set -# CONFIG_HID_PRIMAX is not set -# CONFIG_HID_RETRODE is not set -# CONFIG_HID_ROCCAT is not set -# CONFIG_HID_SAITEK is not set -# CONFIG_HID_SAMSUNG is not set -# CONFIG_HID_SONY is not set -# CONFIG_HID_SPEEDLINK is not set -# CONFIG_HID_STEAM is not set -# CONFIG_HID_STEELSERIES is not set -# CONFIG_HID_SUNPLUS is not set -# CONFIG_HID_RMI is not set -# CONFIG_HID_GREENASIA is not set -# CONFIG_HID_SMARTJOYPLUS is not set -# CONFIG_HID_TIVO is not set -# CONFIG_HID_TOPSEED is not set -# CONFIG_HID_THINGM is not set -# CONFIG_HID_THRUSTMASTER is not set -# CONFIG_HID_UDRAW_PS3 is not set -# CONFIG_HID_WACOM is not set -# CONFIG_HID_WIIMOTE is not set -# CONFIG_HID_XINMO is not set -# CONFIG_HID_ZEROPLUS is not set -# CONFIG_HID_ZYDACRON is not set -# CONFIG_HID_SENSOR_HUB is not set -# CONFIG_HID_ALPS is not set - -# -# USB HID support -# -CONFIG_USB_HID=y -# CONFIG_HID_PID is not set -CONFIG_USB_HIDDEV=y - -# -# I2C HID support -# -CONFIG_I2C_HID=y -CONFIG_USB_OHCI_LITTLE_ENDIAN=y -CONFIG_USB_SUPPORT=y -CONFIG_USB_COMMON=y -CONFIG_USB_ARCH_HAS_HCD=y -CONFIG_USB=y -CONFIG_USB_PCI=y -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y - -# -# Miscellaneous USB options -# -# CONFIG_USB_DEFAULT_PERSIST is not set -# CONFIG_USB_DYNAMIC_MINORS is not set -CONFIG_USB_OTG=y -# CONFIG_USB_OTG_WHITELIST is not set -# CONFIG_USB_OTG_BLACKLIST_HUB is not set -# CONFIG_USB_OTG_FSM is not set -# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set -CONFIG_USB_MON=y -# CONFIG_USB_WUSB_CBAF is not set - -# -# 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_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_HCD_PLATFORM=y -# CONFIG_USB_OXU210HP_HCD is not set -# CONFIG_USB_ISP116X_HCD is not set -# CONFIG_USB_FOTG210_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_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_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 is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_ISD200 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_ONETOUCH is not set -# CONFIG_USB_STORAGE_KARMA is not set -# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set -# CONFIG_USB_STORAGE_ENE_UB6250 is not set -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 -# 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_DWC3_ROCKCHIP_INNO=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=y -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_XIRCOM 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_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_FTDI_ELAN is not set -# CONFIG_USB_APPLEDISPLAY 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 - -# -# USB Physical Layer drivers -# -CONFIG_USB_PHY=y -# CONFIG_NOP_USB_XCEIV is not set -# CONFIG_USB_GPIO_VBUS is not set -# CONFIG_USB_ISP1301 is not set -# CONFIG_USB_ULPI is not set -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 is not set - -# -# USB Peripheral Controller -# -# CONFIG_USB_FOTG210_UDC is not set -# 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_DUMMY_HCD is not set -CONFIG_USB_LIBCOMPOSITE=y -CONFIG_USB_F_ACM=y -CONFIG_USB_U_SERIAL=y -CONFIG_USB_F_MASS_STORAGE=y -CONFIG_USB_F_FS=y -CONFIG_USB_F_UVC=y -CONFIG_USB_CONFIGFS=y -CONFIG_USB_CONFIGFS_UEVENT=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_ACC is not set -# CONFIG_USB_CONFIGFS_F_AUDIO_SRC is not set -# 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_HID is not set -CONFIG_USB_CONFIGFS_F_UVC=y -# CONFIG_USB_CONFIGFS_F_PRINTER is not set -# CONFIG_TYPEC is not set -# CONFIG_USB_ROLE_SWITCH is not set -# CONFIG_USB_LED_TRIG is not set -# CONFIG_USB_ULPI_BUS is not set -# CONFIG_UWB is not set -# 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 - -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 -CONFIG_SDIO_KEEPALIVE=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=y -# 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_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=y -# CONFIG_MMC_TOSHIBA_PCI is not set -# CONFIG_MMC_MTK is not set -# CONFIG_MMC_SDHCI_XENON is not set -# CONFIG_MMC_SDHCI_OMAP is not set -# CONFIG_MEMSTICK is not set -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_CLASS_FLASH=y -# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set - -# -# LED drivers -# -# CONFIG_LEDS_AAT1290 is not set -# CONFIG_LEDS_AS3645A is not set -# CONFIG_LEDS_BCM6328 is not set -# CONFIG_LEDS_BCM6358 is not set -# CONFIG_LEDS_CR0014114 is not set -# CONFIG_LEDS_LM3530 is not set -# CONFIG_LEDS_LM3642 is not set -# CONFIG_LEDS_LM3692X is not set -# CONFIG_LEDS_LM3601X 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_LP5521 is not set -# CONFIG_LEDS_LP5523 is not set -# CONFIG_LEDS_LP5562 is not set -# CONFIG_LEDS_LP8501 is not set -# CONFIG_LEDS_LP8860 is not set -# CONFIG_LEDS_PCA955X is not set -# CONFIG_LEDS_PCA963X is not set -# CONFIG_LEDS_DAC124S085 is not set -# CONFIG_LEDS_PWM is not set -# CONFIG_LEDS_REGULATOR 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_KTD2692 is not set -# CONFIG_LEDS_IS31FL319X is not set -CONFIG_LEDS_IS31FL32XX=y -CONFIG_LEDS_RGB13H=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 is not set -# CONFIG_LEDS_MLXREG is not set -# CONFIG_LEDS_USER is not set - -# -# LED Triggers -# -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -# CONFIG_LEDS_TRIGGER_ONESHOT is not set -# CONFIG_LEDS_TRIGGER_DISK is not set -# CONFIG_LEDS_TRIGGER_MTD is not set -# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set -# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set -# CONFIG_LEDS_TRIGGER_CPU is not set -# CONFIG_LEDS_TRIGGER_ACTIVITY is not set -# CONFIG_LEDS_TRIGGER_GPIO is not set -# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set - -# -# 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_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=y -CONFIG_RTC_SYSTOHC_DEVICE="rtc0" -# CONFIG_RTC_DEBUG is not set -CONFIG_RTC_NVMEM=y - -# -# RTC interfaces -# -CONFIG_RTC_INTF_SYSFS=y -CONFIG_RTC_INTF_PROC=y -CONFIG_RTC_INTF_DEV=y -# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set -# CONFIG_RTC_DRV_TEST is not set - -# -# I2C RTC drivers -# -# CONFIG_RTC_DRV_ABB5ZES3 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_FAKE is not set -CONFIG_RTC_DRV_HYM8563=y -# CONFIG_RTC_DRV_MAX6900 is not set -CONFIG_RTC_DRV_RK808=y -# CONFIG_RTC_DRV_RK_TIMER is not set -# 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_RV8803 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_RX6110 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 - -# -# 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_BQ4802 is not set -# CONFIG_RTC_DRV_RP5C01 is not set -# CONFIG_RTC_DRV_V3020 is not set -# CONFIG_RTC_DRV_ZYNQMP is not set -# CONFIG_RTC_DRV_CROS_EC is not set - -# -# on-CPU RTC drivers -# -# CONFIG_RTC_DRV_PL030 is not set -# CONFIG_RTC_DRV_PL031 is not set -# CONFIG_RTC_DRV_FTRTC010 is not set -# CONFIG_RTC_DRV_SNVS is not set -# CONFIG_RTC_DRV_R7301 is not set - -# -# HID Sensor RTC drivers -# -# CONFIG_RTC_DRV_HID_SENSOR_TIME 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_DW_AXI_DMAC is not set -# CONFIG_FSL_EDMA is not set -# CONFIG_INTEL_IDMA64 is not set -# CONFIG_MV_XOR_V2 is not set -CONFIG_PL330_DMA=y -# CONFIG_XILINX_DMA is not set -# CONFIG_XILINX_ZYNQMP_DMA 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 - -# -# 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_AUXDISPLAY is not set -# CONFIG_UIO is not set -# CONFIG_VFIO is not set -# CONFIG_VIRT_DRIVERS is not set -CONFIG_VIRTIO_MENU=y -# CONFIG_VIRTIO_PCI is not set -# CONFIG_VIRTIO_MMIO is not set - -# -# Microsoft Hyper-V guest support -# -CONFIG_STAGING=y -# CONFIG_PRISM2_USB is not set -# CONFIG_COMEDI is not set -# CONFIG_RTL8192U is not set -# CONFIG_RTLLIB is not set -# CONFIG_RTL8723BS is not set -# CONFIG_R8712U is not set -# CONFIG_R8188EU is not set -# CONFIG_R8822BE is not set -# 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 - -# -# Analog to digital converters -# -# CONFIG_AD7606 is not set -# CONFIG_AD7780 is not set -# CONFIG_AD7816 is not set -# CONFIG_AD7192 is not set -# CONFIG_AD7280 is not set - -# -# Analog digital bi-direction converters -# -# CONFIG_ADT7316 is not set - -# -# Capacitance to digital converters -# -# CONFIG_AD7150 is not set -# CONFIG_AD7152 is not set -# CONFIG_AD7746 is not set - -# -# Direct Digital Synthesis -# -# CONFIG_AD9832 is not set -# CONFIG_AD9834 is not set - -# -# Network Analyzer, Impedance Converters -# -# CONFIG_AD5933 is not set - -# -# Active energy metering IC -# -# CONFIG_ADE7854 is not set - -# -# Resolver to digital converters -# -# CONFIG_AD2S90 is not set -# CONFIG_AD2S1210 is not set -# CONFIG_FB_SM750 is not set -# CONFIG_FB_XGI is not set - -# -# Speakup console speech -# -# CONFIG_SPEAKUP is not set -# CONFIG_STAGING_MEDIA is not set - -# -# Android -# -# CONFIG_ASHMEM is not set -# CONFIG_ANDROID_VSOC is not set -# CONFIG_ION is not set -CONFIG_FIQ_DEBUGGER=y -CONFIG_FIQ_DEBUGGER_NO_SLEEP=y -# CONFIG_FIQ_DEBUGGER_WAKEUP_IRQ_ALWAYS_ON is not set -CONFIG_FIQ_DEBUGGER_CONSOLE=y -CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE=y -CONFIG_FIQ_DEBUGGER_TRUST_ZONE=y -# CONFIG_FIQ_DEBUGGER_UART_OVERLAY is not set -CONFIG_RK_CONSOLE_THREAD=y -# CONFIG_STAGING_BOARD is not set -# CONFIG_LTE_GDM724X is not set -# CONFIG_DGNC is not set -# CONFIG_GS_FPGABOOT is not set -# CONFIG_UNISYSSPAR is not set -# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set -# CONFIG_FB_TFT is not set -# CONFIG_WILC1000_SDIO is not set -# CONFIG_WILC1000_SPI is not set -# CONFIG_MOST is not set -# CONFIG_KS7010 is not set -# CONFIG_GREYBUS is not set -# CONFIG_PI433 is not set -# CONFIG_MTK_MMC is not set - -# -# Gasket devices -# -# CONFIG_STAGING_GASKET_FRAMEWORK is not set -# CONFIG_XIL_AXIS_FIFO is not set -# CONFIG_EROFS_FS is not set -# CONFIG_POWERVR_ROGUE_N is not set -# CONFIG_GOLDFISH is not set -CONFIG_CHROME_PLATFORMS=y -# CONFIG_CROS_EC_I2C is not set -# CONFIG_CROS_EC_SPI is not set -CONFIG_CROS_EC_PROTO=y -CONFIG_CLKDEV_LOOKUP=y -CONFIG_HAVE_CLK_PREPARE=y -CONFIG_COMMON_CLK=y - -# -# Common Clock Framework -# -CONFIG_COMMON_CLK_DEBUGFS=y -# CONFIG_COMMON_CLK_PROCFS is not set -# CONFIG_COMMON_CLK_VERSATILE is not set -# CONFIG_CLK_HSDK is not set -# CONFIG_COMMON_CLK_MAX9485 is not set -CONFIG_COMMON_CLK_RK808=y -CONFIG_COMMON_CLK_SCMI=y -# 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_CLK_QORIQ is not set -CONFIG_COMMON_CLK_XGENE=y -# CONFIG_COMMON_CLK_PWM is not set -# CONFIG_COMMON_CLK_VC5 is not set -# CONFIG_ROCKCHIP_CLK_COMPENSATION is not set -CONFIG_COMMON_CLK_ROCKCHIP_REGMAP=y -CONFIG_CLK_RK618=y -CONFIG_CLK_RK628=y -# 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_ARM_ARCH_TIMER_OOL_WORKAROUND=y -CONFIG_FSL_ERRATUM_A008585=y -CONFIG_HISILICON_ERRATUM_161010101=y -CONFIG_ARM64_ERRATUM_858921=y -# CONFIG_ARM_TIMER_SP804 is not set -CONFIG_MAILBOX=y -# CONFIG_ARM_MHU is not set -# CONFIG_PLATFORM_MHU is not set -# CONFIG_PL320_MBOX is not set -# CONFIG_ROCKCHIP_MBOX is not set -# CONFIG_ALTERA_MBOX is not set -# CONFIG_MAILBOX_TEST is not set -# CONFIG_RK3368_MBOX is not set -CONFIG_IOMMU_API=y -CONFIG_IOMMU_SUPPORT=y - -# -# Generic IOMMU Pagetable Support -# -# CONFIG_IOMMU_IO_PGTABLE_LPAE is not set -# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set -# CONFIG_IOMMU_DEBUGFS is not set -# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set -CONFIG_IOMMU_IOVA=y -CONFIG_OF_IOMMU=y -CONFIG_IOMMU_DMA=y -CONFIG_ROCKCHIP_IOMMU=y -# CONFIG_ARM_SMMU is not set -# CONFIG_ARM_SMMU_V3 is not set - -# -# Remoteproc drivers -# -# CONFIG_REMOTEPROC is not set - -# -# Rpmsg drivers -# -# CONFIG_RPMSG_QCOM_GLINK_RPM is not set -# CONFIG_RPMSG_VIRTIO is not set - -# -# SOC (System On Chip) specific Drivers -# - -# -# Amlogic SoC drivers -# - -# -# Broadcom SoC drivers -# -# CONFIG_SOC_BRCMSTB is not set - -# -# NXP/Freescale QorIQ SoC drivers -# - -# -# i.MX SoC drivers -# - -# -# Qualcomm SoC drivers -# - -# -# Rockchip CPU selection -# -CONFIG_CPU_PX30=y -CONFIG_CPU_RK1808=y -# CONFIG_CPU_RK3308 is not set -CONFIG_CPU_RK3328=y -# CONFIG_CPU_RK3368 is not set -CONFIG_CPU_RK3399=y -CONFIG_CPU_RK3568=y -CONFIG_ANDROID_VERSION=0x08010000 -CONFIG_ROCKCHIP_CPUINFO=y -CONFIG_ROCKCHIP_GRF=y -# CONFIG_ROCKCHIP_HW_DECOMPRESS is not set -CONFIG_ROCKCHIP_IPA=y -CONFIG_ROCKCHIP_OPP=y -CONFIG_ROCKCHIP_PM_DOMAINS=y -CONFIG_ROCKCHIP_PVTM=y -# CONFIG_ROCKCHIP_RAMDISK is not set -CONFIG_ROCKCHIP_SUSPEND_MODE=y -CONFIG_ROCKCHIP_SYSTEM_MONITOR=y -CONFIG_ROCKCHIP_MTD_VENDOR_STORAGE=y -CONFIG_ROCKCHIP_VENDOR_STORAGE_UPDATE_LOADER=y -CONFIG_ROCKCHIP_DEBUG=y -# CONFIG_ROCKCHIP_LOW_PERFORMANCE is not set -# CONFIG_ROCKCHIP_THUNDER_BOOT is not set -CONFIG_ROCKCHIP_SCHED_PERFORMANCE_BIAS=y -# CONFIG_SOC_TI is not set - -# -# Xilinx SoC drivers -# -# CONFIG_XILINX_VCU is not set -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=y -# CONFIG_DEVFREQ_GOV_PASSIVE is not set - -# -# DEVFREQ Drivers -# -CONFIG_ARM_ROCKCHIP_BUS_DEVFREQ=y -CONFIG_ARM_ROCKCHIP_DMC_DEVFREQ=y -# CONFIG_ARM_ROCKCHIP_DMC_DEBUG is not set -CONFIG_PM_DEVFREQ_EVENT=y -CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=y -# CONFIG_DEVFREQ_EVENT_ROCKCHIP_NOCP is not set -CONFIG_EXTCON=y - -# -# Extcon Device Drivers -# -# CONFIG_EXTCON_ADC_JACK is not set -# CONFIG_EXTCON_GPIO is not set -# CONFIG_EXTCON_MAX3355 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_CROS_EC is not set -CONFIG_MEMORY=y -# CONFIG_ARM_PL172_MPMC is not set -CONFIG_IIO=y -CONFIG_IIO_BUFFER=y -# CONFIG_IIO_BUFFER_CB is not set -# CONFIG_IIO_BUFFER_HW_CONSUMER is not set -CONFIG_IIO_KFIFO_BUF=y -# CONFIG_IIO_CONFIGFS is not set -CONFIG_IIO_TRIGGER=y -CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 -# CONFIG_IIO_SW_DEVICE is not set -# CONFIG_IIO_SW_TRIGGER is not set - -# -# Accelerometers -# -# CONFIG_ADIS16201 is not set -# CONFIG_ADIS16209 is not set -# CONFIG_ADXL345_I2C is not set -# CONFIG_ADXL345_SPI is not set -# CONFIG_BMA180 is not set -# CONFIG_BMA220 is not set -# CONFIG_BMC150_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_IIO_CROS_EC_ACCEL_LEGACY is not set -# CONFIG_IIO_ST_ACCEL_3AXIS 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_MXC4005 is not set -# CONFIG_MXC6255 is not set -# CONFIG_SCA3000 is not set -# CONFIG_STK8312 is not set -# CONFIG_STK8BA50 is not set - -# -# Analog to digital converters -# -# CONFIG_AD7266 is not set -# CONFIG_AD7291 is not set -# CONFIG_AD7298 is not set -# CONFIG_AD7476 is not set -# CONFIG_AD7766 is not set -# CONFIG_AD7791 is not set -# CONFIG_AD7793 is not set -# CONFIG_AD7887 is not set -# CONFIG_AD7923 is not set -# CONFIG_AD799X 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_LTC2471 is not set -# CONFIG_LTC2485 is not set -# CONFIG_LTC2497 is not set -# CONFIG_MAX1027 is not set -# CONFIG_MAX11100 is not set -# CONFIG_MAX1118 is not set -# CONFIG_MAX1363 is not set -# CONFIG_MAX9611 is not set -# CONFIG_MCP320X is not set -# CONFIG_MCP3422 is not set -# CONFIG_NAU7802 is not set -CONFIG_ROCKCHIP_SARADC=y -# CONFIG_ROCKCHIP_SARADC_TEST_CHN 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_ADS7950 is not set -# CONFIG_TI_ADS8688 is not set -# CONFIG_TI_TLC4541 is not set -# CONFIG_VF610_ADC is not set - -# -# Analog Front Ends -# -# CONFIG_IIO_RESCALE is not set - -# -# Amplifiers -# -# CONFIG_AD8366 is not set - -# -# Chemical Sensors -# -# CONFIG_ATLAS_PH_SENSOR is not set -# CONFIG_BME680 is not set -# CONFIG_CCS811 is not set -# CONFIG_IAQCORE is not set -# CONFIG_VZ89X is not set -# CONFIG_IIO_CROS_EC_SENSORS_CORE is not set - -# -# Hid Sensor IIO Common -# - -# -# SSP Sensor Common -# -# CONFIG_IIO_SSP_SENSORHUB is not set - -# -# Counters -# - -# -# Digital to analog converters -# -# 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_LTC2632 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_AD5791 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_M62332 is not set -# CONFIG_MAX517 is not set -# CONFIG_MAX5821 is not set -# CONFIG_MCP4725 is not set -# CONFIG_MCP4922 is not set -# CONFIG_TI_DAC082S085 is not set -# CONFIG_TI_DAC5571 is not set -# CONFIG_VF610_DAC is not set - -# -# IIO dummy driver -# - -# -# Frequency Synthesizers DDS/PLL -# - -# -# Clock Generator/Distribution -# -# CONFIG_AD9523 is not set - -# -# Phase-Locked Loop (PLL) frequency synthesizers -# -# CONFIG_ADF4350 is not set - -# -# Digital gyroscope sensors -# -# CONFIG_ADIS16080 is not set -# CONFIG_ADIS16130 is not set -# CONFIG_ADIS16136 is not set -# CONFIG_ADIS16260 is not set -# CONFIG_ADXRS450 is not set -# CONFIG_BMG160 is not set -# CONFIG_MPU3050_I2C is not set -# CONFIG_IIO_ST_GYRO_3AXIS is not set -# CONFIG_ITG3200 is not set - -# -# 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 - -# -# Humidity sensors -# -# CONFIG_AM2315 is not set -# CONFIG_DHT11 is not set -# CONFIG_HDC100X is not set -# CONFIG_HTS221 is not set -# CONFIG_HTU21 is not set -# CONFIG_SI7005 is not set -# CONFIG_SI7020 is not set - -# -# Inertial measurement units -# -# CONFIG_ADIS16400 is not set -# CONFIG_ADIS16480 is not set -# CONFIG_BMI160_I2C is not set -# CONFIG_BMI160_SPI is not set -# CONFIG_KMX61 is not set -# CONFIG_INV_MPU6050_I2C is not set -# CONFIG_INV_MPU6050_SPI is not set -# CONFIG_IIO_ST_LSM6DSX is not set - -# -# Light sensors -# -# CONFIG_ADJD_S311 is not set -# CONFIG_AL3320A is not set -# CONFIG_APDS9300 is not set -# CONFIG_APDS9960 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_GP2AP020A00F is not set -CONFIG_SENSORS_ISL29018=y -# CONFIG_SENSORS_ISL29028 is not set -# CONFIG_ISL29125 is not set -# CONFIG_JSA1212 is not set -# CONFIG_RPR0521 is not set -# CONFIG_LTR501 is not set -# CONFIG_LV0104CS is not set -# CONFIG_MAX44000 is not set -# CONFIG_OPT3001 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_TSL2772 is not set -# CONFIG_TSL4531 is not set -# CONFIG_US5182D is not set -# CONFIG_VCNL4000 is not set -# CONFIG_VEML6070 is not set -# CONFIG_VL6180 is not set -# CONFIG_ZOPT2201 is not set - -# -# 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_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 - -# -# Multiplexers -# -# CONFIG_IIO_MUX is not set - -# -# Inclinometer sensors -# - -# -# Triggers - standalone -# -# CONFIG_IIO_INTERRUPT_TRIGGER is not set -CONFIG_IIO_SYSFS_TRIGGER=y - -# -# Digital potentiometers -# -# CONFIG_AD5272 is not set -# CONFIG_DS1803 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_TPL0102 is not set - -# -# Digital potentiostats -# -# CONFIG_LMP91000 is not set - -# -# Pressure sensors -# -# CONFIG_ABP060MG is not set -# CONFIG_BMP280 is not set -# CONFIG_HP03 is not set -# CONFIG_MPL115_I2C is not set -# CONFIG_MPL115_SPI is not set -# CONFIG_MPL3115 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 - -# -# Lightning sensors -# -# CONFIG_AS3935 is not set - -# -# Proximity and distance sensors -# -# CONFIG_ISL29501 is not set -# CONFIG_LIDAR_LITE_V2 is not set -# CONFIG_RFD77402 is not set -# CONFIG_SRF04 is not set -# CONFIG_SX9500 is not set -# CONFIG_SRF08 is not set - -# -# Resolver to digital converters -# -# CONFIG_AD2S1200 is not set - -# -# Temperature sensors -# -# CONFIG_MAXIM_THERMOCOUPLE is not set -# CONFIG_MLX90614 is not set -# CONFIG_MLX90632 is not set -# CONFIG_TMP006 is not set -# CONFIG_TMP007 is not set -# CONFIG_TSYS01 is not set -# CONFIG_TSYS02D is not set -# CONFIG_NTB is not set -# CONFIG_VME_BUS is not set -CONFIG_PWM=y -CONFIG_PWM_SYSFS=y -# CONFIG_PWM_CROS_EC is not set -# CONFIG_PWM_FSL_FTM is not set -# CONFIG_PWM_PCA9685 is not set -CONFIG_PWM_ROCKCHIP=y -# CONFIG_PWM_ROCKCHIP_ONESHOT 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_PARTITION_PERCPU=y -# CONFIG_IPACK_BUS is not set -CONFIG_ARCH_HAS_RESET_CONTROLLER=y -CONFIG_RESET_CONTROLLER=y -# CONFIG_RESET_TI_SYSCON is not set -# CONFIG_FMC is not set - -# -# PHY Subsystem -# -CONFIG_GENERIC_PHY=y -# CONFIG_PHY_XGENE is not set -# CONFIG_BCM_KONA_USB2_PHY is not set -# CONFIG_PHY_PXA_28NM_HSIC is not set -# CONFIG_PHY_PXA_28NM_USB2 is not set -# CONFIG_PHY_CPCAP_USB is not set -# CONFIG_PHY_MAPPHONE_MDM6600 is not set -CONFIG_PHY_ROCKCHIP_CSI2_DPHY=y -CONFIG_PHY_ROCKCHIP_DP=y -CONFIG_PHY_ROCKCHIP_EMMC=y -# CONFIG_PHY_ROCKCHIP_INNO_COMBPHY is not set -CONFIG_PHY_ROCKCHIP_INNO_HDMI_PHY=y -CONFIG_PHY_ROCKCHIP_INNO_MIPI_DPHY=y -CONFIG_PHY_ROCKCHIP_INNO_USB2=y -CONFIG_PHY_ROCKCHIP_INNO_USB3=y -CONFIG_PHY_ROCKCHIP_INNO_VIDEO_COMBO_PHY=y -# CONFIG_PHY_ROCKCHIP_INNO_VIDEO_PHY is not set -CONFIG_PHY_ROCKCHIP_MIPI_RX=y -CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y -CONFIG_PHY_ROCKCHIP_NANENG_EDP=y -# CONFIG_PHY_ROCKCHIP_NANENG_USB2 is not set -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 -# CONFIG_POWERCAP is not set -# CONFIG_MCB is not set -CONFIG_RAS=y - -# -# Android -# -CONFIG_ANDROID=y -# CONFIG_ANDROID_BINDER_IPC is not set -# CONFIG_LIBNVDIMM is not set -# CONFIG_DAX is not set -CONFIG_NVMEM=y -CONFIG_NVMEM_SYSFS=y -CONFIG_ROCKCHIP_EFUSE=y -CONFIG_ROCKCHIP_OTP=y - -# -# HW tracing support -# -# CONFIG_STM is not set -# CONFIG_INTEL_TH is not set -# CONFIG_FPGA is not set -# CONFIG_FSI is not set -# CONFIG_TEE is not set -CONFIG_PM_OPP=y -# CONFIG_SIOX is not set -# CONFIG_SLIMBUS is not set -# CONFIG_LEGACY_ENERGY_MODEL_DT is not set -CONFIG_RK_FLASH=y - -# -# Rockchip Flash Devices -# -# CONFIG_RK_NANDC_NAND is not set -CONFIG_RK_SFC_NAND=y -CONFIG_RK_SFC_NAND_MTD=y -CONFIG_RK_SFC_NOR=y -CONFIG_RK_SFC_NOR_MTD=y -# CONFIG_RK_NAND is not set - -# -# Headset device support -# -CONFIG_RK_HEADSET=y - -# -# File systems -# -CONFIG_DCACHE_WORD_ACCESS=y -CONFIG_FS_IOMAP=y -# CONFIG_EXT2_FS is not set -# CONFIG_EXT3_FS is not set -CONFIG_EXT4_FS=y -CONFIG_EXT4_USE_FOR_EXT2=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -# CONFIG_EXT4_ENCRYPTION is not set -# 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_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_FS_DAX is not set -CONFIG_FS_POSIX_ACL=y -CONFIG_EXPORTFS=y -# CONFIG_EXPORTFS_BLOCK_OPS is not set -CONFIG_FILE_LOCKING=y -CONFIG_MANDATORY_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_AUTOFS4_FS is not set -# CONFIG_AUTOFS_FS is not set -CONFIG_FUSE_FS=y -# CONFIG_CUSE is not set -CONFIG_OVERLAY_FS=y -CONFIG_OVERLAY_FS_REDIRECT_DIR=y -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_INCREMENTAL_FS is not set - -# -# Caches -# -# CONFIG_FSCACHE is not set - -# -# CD-ROM/DVD Filesystems -# -CONFIG_ISO9660_FS=y -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -# CONFIG_UDF_FS is not set - -# -# DOS/FAT/NT Filesystems -# -CONFIG_FAT_FS=y -# CONFIG_MSDOS_FS is not set -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_CODEPAGE=936 -CONFIG_FAT_DEFAULT_IOCHARSET="utf8" -CONFIG_FAT_DEFAULT_UTF8=y -CONFIG_EXFAT_FS=y -CONFIG_EXFAT_DEFAULT_CODEPAGE=437 -CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" -CONFIG_EXFAT_VIRTUAL_XATTR=y -CONFIG_EXFAT_VIRTUAL_XATTR_SELINUX_LABEL="u:object_r:exfat:s0" -# CONFIG_EXFAT_DEBUG is not set -# CONFIG_EXFAT_UEVENT is not set -# CONFIG_NTFS_FS is not set - -# -# 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_PROC_UID is not set -CONFIG_KERNFS=y -CONFIG_SYSFS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_TMPFS_XATTR=y -# CONFIG_HUGETLBFS is not set -CONFIG_MEMFD_CREATE=y -CONFIG_ARCH_HAS_GIGANTIC_PAGE=y -CONFIG_CONFIGFS_FS=y -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_SDCARD_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=y -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_JFFS2_FS_WRITEBUFFER=y -# CONFIG_JFFS2_FS_WBUF_VERIFY is not set -# CONFIG_JFFS2_SUMMARY is not set -# CONFIG_JFFS2_FS_XATTR is not set -# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set -CONFIG_JFFS2_ZLIB=y -CONFIG_JFFS2_RTIME=y -CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_UBIFS_FS_LZO=y -CONFIG_UBIFS_FS_ZLIB=y -# CONFIG_UBIFS_ATIME_SUPPORT is not set -CONFIG_UBIFS_FS_XATTR=y -CONFIG_UBIFS_FS_SECURITY=y -# CONFIG_CRAMFS is not set -CONFIG_SQUASHFS=y -CONFIG_SQUASHFS_FILE_CACHE=y -# CONFIG_SQUASHFS_FILE_DIRECT is not set -CONFIG_SQUASHFS_DECOMP_SINGLE=y -# CONFIG_SQUASHFS_DECOMP_MULTI is not set -# CONFIG_SQUASHFS_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 is not set -# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set -# CONFIG_SQUASHFS_EMBEDDED is not set -CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 -# 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_DEFLATE_COMPRESS=y -# CONFIG_PSTORE_LZO_COMPRESS is not set -# CONFIG_PSTORE_LZ4_COMPRESS is not set -# CONFIG_PSTORE_LZ4HC_COMPRESS is not set -# CONFIG_PSTORE_842_COMPRESS is not set -# CONFIG_PSTORE_ZSTD_COMPRESS is not set -CONFIG_PSTORE_COMPRESS=y -CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y -CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" -CONFIG_PSTORE_CONSOLE=y -# CONFIG_PSTORE_CONSOLE_FORCE is not set -# CONFIG_PSTORE_PMSG is not set -# CONFIG_PSTORE_FTRACE is not set -CONFIG_PSTORE_RAM=y -# CONFIG_PSTORE_MCU_LOG is not set -# CONFIG_SYSV_FS is not set -# CONFIG_UFS_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_CODA_FS is not set -# CONFIG_AFS_FS is not set -CONFIG_NLS=y -CONFIG_NLS_DEFAULT="utf8" -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=y -# 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=y -# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set - -# -# Security options -# -CONFIG_KEYS=y -CONFIG_KEYS_COMPAT=y -# 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_SECURITY_DMESG_RESTRICT is not set -# CONFIG_SECURITY is not set -CONFIG_SECURITYFS=y -CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y -# CONFIG_HARDENED_USERCOPY is not set -# CONFIG_FORTIFY_SOURCE is not set -# CONFIG_STATIC_USERMODEHELPER is not set -# CONFIG_TEE_SUPPORT is not set -CONFIG_DEFAULT_SECURITY_DAC=y -CONFIG_DEFAULT_SECURITY="" - -# -# Kernel hardening options -# - -# -# Memory initialization -# -CONFIG_INIT_STACK_NONE=y -# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set -# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set -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_BLKCIPHER=y -CONFIG_CRYPTO_BLKCIPHER2=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_RSA=y -# CONFIG_CRYPTO_DH is not set -CONFIG_CRYPTO_ECDH=y -CONFIG_CRYPTO_MANAGER=y -CONFIG_CRYPTO_MANAGER2=y -# CONFIG_CRYPTO_USER is not set -CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y -CONFIG_CRYPTO_GF128MUL=y -CONFIG_CRYPTO_NULL=y -CONFIG_CRYPTO_NULL2=y -# CONFIG_CRYPTO_PCRYPT is not set -CONFIG_CRYPTO_WORKQUEUE=y -CONFIG_CRYPTO_CRYPTD=y -# CONFIG_CRYPTO_MCRYPTD is not set -CONFIG_CRYPTO_AUTHENC=m -# CONFIG_CRYPTO_TEST is not set -CONFIG_CRYPTO_SIMD=y -# CONFIG_CRYPTO_CURVE25519 is not set - -# -# Authenticated Encryption with Associated Data -# -CONFIG_CRYPTO_CCM=y -CONFIG_CRYPTO_GCM=y -# CONFIG_CRYPTO_CHACHA20POLY1305 is not set -# CONFIG_CRYPTO_AEGIS128 is not set -# CONFIG_CRYPTO_AEGIS128L is not set -# CONFIG_CRYPTO_AEGIS256 is not set -# CONFIG_CRYPTO_MORUS640 is not set -# CONFIG_CRYPTO_MORUS1280 is not set -CONFIG_CRYPTO_SEQIV=y -CONFIG_CRYPTO_ECHAINIV=m - -# -# Block modes -# -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_CFB=y -CONFIG_CRYPTO_CTR=y -# CONFIG_CRYPTO_CTS is not set -CONFIG_CRYPTO_ECB=y -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_PCBC is not set -CONFIG_CRYPTO_XTS=y -# CONFIG_CRYPTO_KEYWRAP is not set -# CONFIG_CRYPTO_ADIANTUM is not set - -# -# Hash modes -# -CONFIG_CRYPTO_CMAC=y -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_VMAC is not set - -# -# Digest -# -CONFIG_CRYPTO_CRC32C=y -# CONFIG_CRYPTO_CRC32 is not set -# CONFIG_CRYPTO_BLAKE2S is not set -CONFIG_CRYPTO_CRCT10DIF=y -CONFIG_CRYPTO_GHASH=y -# CONFIG_CRYPTO_POLY1305 is not set -# CONFIG_CRYPTO_MD4 is not set -CONFIG_CRYPTO_MD5=y -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_RMD128 is not set -# CONFIG_CRYPTO_RMD160 is not set -# CONFIG_CRYPTO_RMD256 is not set -# CONFIG_CRYPTO_RMD320 is not set -CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_SHA512=y -# CONFIG_CRYPTO_SHA3 is not set -CONFIG_CRYPTO_SM3=y -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_WP512 is not set - -# -# Ciphers -# -CONFIG_CRYPTO_AES=y -# CONFIG_CRYPTO_AES_TI is not set -# CONFIG_CRYPTO_ANUBIS is not set -CONFIG_CRYPTO_ARC4=y -# 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_SALSA20 is not set -# CONFIG_CRYPTO_CHACHA20 is not set -# CONFIG_CRYPTO_SEED is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_SM4 is not set -# CONFIG_CRYPTO_TEA is not set -CONFIG_CRYPTO_TWOFISH=y -CONFIG_CRYPTO_TWOFISH_COMMON=y - -# -# Compression -# -CONFIG_CRYPTO_DEFLATE=y -CONFIG_CRYPTO_LZO=y -# CONFIG_CRYPTO_842 is not set -# CONFIG_CRYPTO_LZ4 is not set -# CONFIG_CRYPTO_LZ4HC is not set -# CONFIG_CRYPTO_ZSTD is not set - -# -# 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_USER_API=y -CONFIG_CRYPTO_USER_API_HASH=y -CONFIG_CRYPTO_USER_API_SKCIPHER=y -# CONFIG_CRYPTO_USER_API_RNG is not set -# CONFIG_CRYPTO_USER_API_AEAD is not set -CONFIG_CRYPTO_HASH_INFO=y - -# -# Crypto library routines -# -# CONFIG_CRYPTO_LIB_BLAKE2S is not set -# CONFIG_CRYPTO_LIB_CHACHA is not set -CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9 -# CONFIG_CRYPTO_LIB_POLY1305 is not set -# CONFIG_CRYPTO_LIB_CURVE25519 is not set -# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set -CONFIG_CRYPTO_HW=y -# CONFIG_CRYPTO_DEV_CCP is not set -# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set -# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set -CONFIG_CRYPTO_DEV_ROCKCHIP=y -# CONFIG_CRYPTO_DEV_CCREE is not set -# CONFIG_CRYPTO_DEV_HISI_SEC is not set -CONFIG_ASYMMETRIC_KEY_TYPE=y -CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y -CONFIG_X509_CERTIFICATE_PARSER=y -CONFIG_PKCS7_MESSAGE_PARSER=y -# CONFIG_PKCS7_TEST_KEY is not set -# CONFIG_SIGNED_PE_FILE_VERIFICATION 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 -CONFIG_BINARY_PRINTF=y - -# -# Library routines -# -CONFIG_BITREVERSE=y -CONFIG_HAVE_ARCH_BITREVERSE=y -CONFIG_RATIONAL=y -CONFIG_GENERIC_STRNCPY_FROM_USER=y -CONFIG_GENERIC_STRNLEN_USER=y -CONFIG_GENERIC_NET_UTILS=y -CONFIG_GENERIC_PCI_IOMAP=y -CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y -CONFIG_ARCH_HAS_FAST_MULTIPLIER=y -# CONFIG_INDIRECT_PIO is not set -CONFIG_CRC_CCITT=y -CONFIG_CRC16=y -CONFIG_CRC_T10DIF=y -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 is not set -# CONFIG_CRC4 is not set -CONFIG_CRC7=y -CONFIG_LIBCRC32C=y -# CONFIG_CRC8 is not set -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_DECOMPRESS=y -CONFIG_XZ_DEC=y -# CONFIG_XZ_DEC_X86 is not set -# CONFIG_XZ_DEC_POWERPC is not set -# CONFIG_XZ_DEC_IA64 is not set -CONFIG_XZ_DEC_ARM=y -CONFIG_XZ_DEC_ARMTHUMB=y -# CONFIG_XZ_DEC_SPARC 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_GENERIC_ALLOCATOR=y -CONFIG_REED_SOLOMON=y -CONFIG_REED_SOLOMON_ENC8=y -CONFIG_REED_SOLOMON_DEC8=y -CONFIG_TEXTSEARCH=y -CONFIG_TEXTSEARCH_KMP=m -CONFIG_TEXTSEARCH_BM=m -CONFIG_TEXTSEARCH_FSM=m -CONFIG_ASSOCIATIVE_ARRAY=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT_MAP=y -CONFIG_HAS_DMA=y -CONFIG_NEED_SG_DMA_LENGTH=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y -CONFIG_DMA_DIRECT_OPS=y -CONFIG_SWIOTLB=y -CONFIG_SGL_ALLOC=y -CONFIG_CPU_RMAP=y -CONFIG_DQL=y -CONFIG_GLOB=y -# CONFIG_GLOB_SELFTEST is not set -CONFIG_NLATTR=y -CONFIG_CLZ_TAB=y -# CONFIG_CORDIC is not set -# CONFIG_DDR is not set -# CONFIG_IRQ_POLL is not set -CONFIG_MPILIB=y -CONFIG_LIBFDT=y -CONFIG_OID_REGISTRY=y -CONFIG_HAVE_GENERIC_VDSO=y -CONFIG_GENERIC_GETTIMEOFDAY=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_SG_CHAIN=y -CONFIG_SBITMAP=y -# CONFIG_STRING_SELFTEST is not set - -# -# Kernel hacking -# - -# -# printk and dmesg options -# -CONFIG_PRINTK_TIME=y -# CONFIG_PRINTK_TIME_FROM_ARM_ARCH_TIMER is not set -# CONFIG_PRINTK_PROCESS is not set -CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 -CONFIG_CONSOLE_LOGLEVEL_QUIET=4 -CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 -# CONFIG_BOOT_PRINTK_DELAY is not set -CONFIG_DYNAMIC_DEBUG=y - -# -# Compile-time checks and compiler options -# -CONFIG_DEBUG_INFO=y -# CONFIG_DEBUG_INFO_REDUCED is not set -# CONFIG_DEBUG_INFO_SPLIT is not set -# CONFIG_DEBUG_INFO_DWARF4 is not set -# CONFIG_GDB_SCRIPTS is not set -CONFIG_ENABLE_MUST_CHECK=y -CONFIG_FRAME_WARN=2048 -# CONFIG_STRIP_ASM_SYMS is not set -# CONFIG_READABLE_ASM is not set -# CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_PAGE_OWNER is not set -CONFIG_DEBUG_FS=y -# CONFIG_HEADERS_CHECK is not set -# CONFIG_DEBUG_SECTION_MISMATCH is not set -CONFIG_SECTION_MISMATCH_WARN_ONLY=y -CONFIG_ARCH_WANT_FRAME_POINTERS=y -CONFIG_FRAME_POINTER=y -# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set -CONFIG_MAGIC_SYSRQ=y -CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0 -CONFIG_MAGIC_SYSRQ_SERIAL=y -CONFIG_DEBUG_KERNEL=y - -# -# Memory Debugging -# -# CONFIG_PAGE_EXTENSION is not set -# CONFIG_DEBUG_PAGEALLOC is not set -# CONFIG_PAGE_POISONING is not set -# CONFIG_DEBUG_PAGE_REF is not set -# CONFIG_DEBUG_RODATA_TEST is not set -# CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SLUB_DEBUG_ON is not set -# CONFIG_SLUB_STATS is not set -CONFIG_HAVE_DEBUG_KMEMLEAK=y -# CONFIG_DEBUG_KMEMLEAK is not set -# CONFIG_DEBUG_STACK_USAGE is not set -# CONFIG_DEBUG_VM 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_CC_HAS_KASAN_GENERIC=y -# CONFIG_KASAN is not set -CONFIG_KASAN_STACK=1 -CONFIG_ARCH_HAS_KCOV=y -CONFIG_CC_HAS_SANCOV_TRACE_PC=y -# CONFIG_KCOV is not set -# CONFIG_DEBUG_SHIRQ is not set - -# -# Debug Lockups and Hangs -# -# CONFIG_SOFTLOCKUP_DETECTOR is not set -# CONFIG_DETECT_HUNG_TASK is not set -# CONFIG_WQ_WATCHDOG is not set -# CONFIG_PANIC_ON_OOPS is not set -CONFIG_PANIC_ON_OOPS_VALUE=0 -CONFIG_PANIC_TIMEOUT=0 -CONFIG_SCHED_DEBUG=y -CONFIG_SCHED_INFO=y -CONFIG_SCHEDSTATS=y -# CONFIG_SCHED_STACK_END_CHECK is not set -# CONFIG_DEBUG_TIMEKEEPING 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_STACKTRACE=y -# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set -# CONFIG_DEBUG_KOBJECT is not set -CONFIG_HAVE_DEBUG_BUGVERBOSE=y -CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_LIST is not set -# CONFIG_DEBUG_PI_LIST is not set -# CONFIG_DEBUG_SG is not set -# CONFIG_DEBUG_NOTIFIERS is not set -CONFIG_DEBUG_CREDENTIALS=y - -# -# RCU Debugging -# -# CONFIG_RCU_PERF_TEST is not set -# CONFIG_RCU_TORTURE_TEST is not set -CONFIG_RCU_CPU_STALL_TIMEOUT=60 -CONFIG_RCU_TRACE=y -# CONFIG_RCU_EQS_DEBUG is not set -# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set -# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set -# CONFIG_NOTIFIER_ERROR_INJECTION is not set -# CONFIG_FAULT_INJECTION is not set -# CONFIG_LATENCYTOP is not set -CONFIG_NOP_TRACER=y -CONFIG_HAVE_FUNCTION_TRACER=y -CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y -CONFIG_HAVE_DYNAMIC_FTRACE=y -CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y -CONFIG_HAVE_SYSCALL_TRACEPOINTS=y -CONFIG_HAVE_C_RECORDMCOUNT=y -CONFIG_TRACE_CLOCK=y -CONFIG_RING_BUFFER=y -CONFIG_EVENT_TRACING=y -CONFIG_CONTEXT_SWITCH_TRACER=y -CONFIG_TRACING=y -CONFIG_GENERIC_TRACER=y -CONFIG_TRACING_SUPPORT=y -CONFIG_FTRACE=y -CONFIG_FUNCTION_TRACER=y -CONFIG_FUNCTION_GRAPH_TRACER=y -# CONFIG_PREEMPTIRQ_EVENTS is not set -# CONFIG_IRQSOFF_TRACER is not set -# CONFIG_SCHED_TRACER is not set -# CONFIG_HWLAT_TRACER is not set -# CONFIG_FTRACE_SYSCALLS is not set -# CONFIG_TRACER_SNAPSHOT is not set -CONFIG_BRANCH_PROFILE_NONE=y -# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set -# CONFIG_PROFILE_ALL_BRANCHES is not set -# CONFIG_STACK_TRACER is not set -CONFIG_BLK_DEV_IO_TRACE=y -CONFIG_DYNAMIC_FTRACE=y -# CONFIG_FUNCTION_PROFILER is not set -CONFIG_FTRACE_MCOUNT_RECORD=y -# CONFIG_FTRACE_STARTUP_TEST is not set -# CONFIG_HIST_TRIGGERS is not set -# CONFIG_TRACEPOINT_BENCHMARK is not set -# CONFIG_RING_BUFFER_BENCHMARK is not set -# CONFIG_RING_BUFFER_STARTUP_TEST is not set -# CONFIG_PREEMPTIRQ_DELAY_TEST is not set -# CONFIG_TRACE_EVAL_MAP_FILE is not set -CONFIG_TRACING_EVENTS_GPIO=y -# CONFIG_DMA_API_DEBUG is not set -CONFIG_RUNTIME_TESTING_MENU=y -CONFIG_LKDTM=y -# CONFIG_TEST_LIST_SORT is not set -# CONFIG_TEST_SORT is not set -# CONFIG_BACKTRACE_SELF_TEST is not set -# CONFIG_RBTREE_TEST is not set -# CONFIG_INTERVAL_TREE_TEST is not set -# CONFIG_PERCPU_TEST is not set -# CONFIG_ATOMIC64_SELFTEST is not set -# CONFIG_TEST_HEXDUMP is not set -# CONFIG_TEST_STRING_HELPERS is not set -# CONFIG_TEST_KSTRTOX is not set -# CONFIG_TEST_PRINTF is not set -# CONFIG_TEST_BITMAP is not set -# CONFIG_TEST_BITFIELD is not set -# CONFIG_TEST_UUID is not set -# CONFIG_TEST_OVERFLOW is not set -# CONFIG_TEST_RHASHTABLE is not set -# CONFIG_TEST_HASH is not set -# CONFIG_TEST_IDA is not set -# CONFIG_TEST_LKM is not set -# CONFIG_TEST_USER_COPY is not set -# CONFIG_TEST_BPF is not set -# CONFIG_FIND_BIT_BENCHMARK is not set -# CONFIG_TEST_FIRMWARE is not set -# CONFIG_TEST_SYSCTL is not set -# CONFIG_TEST_UDELAY is not set -# CONFIG_TEST_STATIC_KEYS is not set -# CONFIG_TEST_KMOD is not set -# CONFIG_TEST_MEMINIT is not set -# CONFIG_TEST_STACKINIT is not set -# CONFIG_MEMTEST is not set -# CONFIG_BUG_ON_DATA_CORRUPTION is not set -# CONFIG_SAMPLES 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_ARCH_HAS_DEVMEM_IS_ALLOWED=y -CONFIG_STRICT_DEVMEM=y -# CONFIG_IO_STRICT_DEVMEM is not set -# CONFIG_ARM64_PTDUMP_DEBUGFS is not set -# CONFIG_PID_IN_CONTEXTIDR is not set -# CONFIG_ARM64_RANDOMIZE_TEXT_OFFSET is not set -# CONFIG_DEBUG_WX is not set -# CONFIG_DEBUG_ALIGN_RODATA is not set -# CONFIG_ARM64_RELOC_TEST is not set -# CONFIG_CORESIGHT is not set diff --git a/projects/Rockchip/devices/RK3566-BSP/options b/projects/Rockchip/devices/RK3566-BSP/options deleted file mode 100644 index 5b965f333..000000000 --- a/projects/Rockchip/devices/RK3566-BSP/options +++ /dev/null @@ -1,158 +0,0 @@ -################################################################################ -# setup device defaults -################################################################################ - - # The TARGET_CPU variable controls which processor should be targeted for - # generated code. - case ${TARGET_ARCH} in - aarch64) - TARGET_KERNEL_ARCH="arm64" - TARGET_PATCH_ARCH="aarch64" - TARGET_CPU="cortex-a55" - TARGET_CPU_FLAGS="+crc+crypto+fp+simd" - TARGET_FPU="fp-armv8" - TARGET_FLOAT="hard" - TARGET_FEATURES="64bit" - ;; - arm) - TARGET_KERNEL_ARCH="arm64" - TARGET_PATCH_ARCH="aarch64" - TARGET_CPU="cortex-a55" - TARGET_CPU_FLAGS="+crc" - TARGET_FPU="neon-fp-armv8" - TARGET_FLOAT="hard" - TARGET_FEATURES="32bit" - ;; - esac - - # Kernel target - DEVICE_NAME="RK3566" - KERNEL_TARGET="Image" - BOOTLOADER="u-boot" - PARTITION_TABLE="gpt" - UBOOT_LABEL="uboot" - TRUST_LABEL="resource" - DEVICE_DTB=("rk3566-rg353p-linux" "rk3566-rg353v-linux" "rk3566-rg353m-linux" "rk3566-rg503-linux" "rk3566-rk2023-linux" "rk3566-rgb30-linux" "rk3566-max3pro-linux") - UBOOT_DTB="rk3566" - UBOOT_CONFIG="rk3568_defconfig" - PKG_SOC="rk356x" - PKG_DATAFILE="${PKG_RKBIN}/bin/rk35/rk3566_ddr_1056MHz_v1.16.bin" - PKG_LOADER="${PKG_RKBIN}/bin/rk35/rk356x_spl_v1.12.bin" - PKG_BL31="${PKG_RKBIN}/bin/rk35/rk3568_bl31_v1.42.elf" - PKG_LOAD_ADDR="0x0a100000" - BOOT_INI=false - EXT_LINUX_CONF=true - - # Additional kernel make parameters (for example to specify the u-boot loadaddress) - KERNEL_MAKE_EXTRACMD=" $(for DTB in "${DEVICE_DTB[@]}"; do echo -n "rockchip/${DTB}.dtb "; done)" - - # Define the CPU - HW_CPU="Rockchip RK3566" - - # Mali GPU family - MALI_FAMILY="bifrost-g52" - MALI_VERSION="g13p0" - OPENGLES="libmali" - VULKAN_SUPPORT="no" - - GRAPHIC_DRIVERS="" - - # Displayserver to use (weston / x11 / no) - DISPLAYSERVER="no" - - # Windowmanager to use (fluxbox / weston / no) - WINDOWMANAGER="no" - - # kernel serial console - EXTRA_CMDLINE="quiet rootwait console=ttyUSB0,1500000 console=tty0 ssh consoleblank=0 systemd.show_status=0 loglevel=0 panic=20 video=HDMI-A-1:1280x720@60" - - # additional packages to install - # ADDITIONAL_PACKAGES="" - - # additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware) - # Space separated list is supported, - # e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware" - 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="RTL8821AU RTL8821CU RTL88x2BU" - - # build and install driver addons (yes / no) - DRIVER_ADDONS_SUPPORT="no" - - # driver addons to install: - # for a list of additinoal drivers see packages/linux-driver-addons - # Space separated list is supported, - DRIVER_ADDONS="" #dvb-latest - - # debug tty path - DEBUG_TTY="/dev/ttyUSB0" - - # build and install bluetooth support (yes / no) - BLUETOOTH_SUPPORT="yes" - - # build and install Avahi (Zeroconf) daemon (yes / no) - AVAHI_DAEMON="no" - - # build with NFS support (mounting nfs shares via the OS) (yes / no) - NFS_SUPPORT="no" - - # build with Samba Client support (mounting samba shares via the OS) (yes / no) - SAMBA_SUPPORT="no" - - # build and install Samba Server (yes / no) - SAMBA_SERVER="yes" - - # build and install SFTP Server (yes / no) - SFTP_SERVER="yes" - - # build and install Simple HTTP Server (yes / no) - SIMPLE_HTTP_SERVER="yes" - - # build and install OpenVPN support (yes / no) - OPENVPN_SUPPORT="no" - - # build and install ZeroTier support (yes / no) - ZEROTIER_SUPPORT="yes" - - # build and install diskmounter support (udevil) - # this service provide auto mounting support for external drives in the - # mediacenter also automount internally drives at boottime via udev (yes / no) - UDEVIL="yes" - - # build and install exFAT fuse support (yes / no) - EXFAT="yes" - - # build and install NTFS-3G fuse support (yes / no) - NTFS3G="no" - - # build and install hfs filesystem utilities (yes / no) - HFSTOOLS="no" - - # Support for partitioning and formating disks in initramfs (yes / no) - # This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage - INITRAMFS_PARTED_SUPPORT="no" - - # build with swap support (yes / no) - SWAP_SUPPORT="yes" - - # Some devices have internal storage. - INSTALLER_SUPPORT="yes" - - # swap support enabled per default (yes / no) - SWAP_ENABLED_DEFAULT="yes" - - # swapfile size if SWAP_SUPPORT=yes in MB - SWAPFILESIZE="384" - - # cron support (yes / no) - CRON_SUPPORT="no" - - # Settings package name - blank if not required - DISTRO_PKG_SETTINGS="" - - # htop tool (yes / no) - HTOP_TOOL="yes" diff --git a/projects/Rockchip/devices/RK3566-X55/linux/linux.aarch64.conf b/projects/Rockchip/devices/RK3566-X55/linux/linux.aarch64.conf deleted file mode 100644 index 721676b7f..000000000 --- a/projects/Rockchip/devices/RK3566-X55/linux/linux.aarch64.conf +++ /dev/null @@ -1,1113 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_DEFAULT_HOSTNAME="@DEVICENAME@" -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_WATCH_QUEUE=y -# CONFIG_CROSS_MEMORY_ATTACH is not set -CONFIG_USELIB=y -CONFIG_NO_HZ_IDLE=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_BPF_SYSCALL=y -CONFIG_BPF_JIT=y -CONFIG_BPF_JIT_ALWAYS_ON=y -# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set -CONFIG_PREEMPT=y -CONFIG_IRQ_TIME_ACCOUNTING=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=18 -CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 -CONFIG_MEMCG=y -CONFIG_BLK_CGROUP=y -CONFIG_CFS_BANDWIDTH=y -CONFIG_RT_GROUP_SCHED=y -CONFIG_CGROUP_PIDS=y -CONFIG_CGROUP_RDMA=y -CONFIG_CGROUP_FREEZER=y -CONFIG_CPUSETS=y -CONFIG_CGROUP_DEVICE=y -CONFIG_CGROUP_CPUACCT=y -CONFIG_CGROUP_PERF=y -CONFIG_CGROUP_BPF=y -CONFIG_NAMESPACES=y -CONFIG_SCHED_AUTOGROUP=y -CONFIG_RELAY=y -CONFIG_INITRAMFS_SOURCE="@INITRAMFS_SOURCE@" -CONFIG_INITRAMFS_COMPRESSION_LZO=y -CONFIG_BOOT_CONFIG=y -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_EXPERT=y -CONFIG_SGETMASK_SYSCALL=y -CONFIG_KALLSYMS_ALL=y -CONFIG_PROFILING=y -CONFIG_ARCH_ROCKCHIP=y -# CONFIG_CAVIUM_ERRATUM_22375 is not set -# CONFIG_CAVIUM_ERRATUM_23154 is not set -# CONFIG_CAVIUM_ERRATUM_27456 is not set -# CONFIG_CAVIUM_ERRATUM_30115 is not set -# CONFIG_CAVIUM_TX2_ERRATUM_219 is not set -# CONFIG_FUJITSU_ERRATUM_010001 is not set -# CONFIG_HISILICON_ERRATUM_161600802 is not set -# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set -# CONFIG_QCOM_FALKOR_ERRATUM_1009 is not set -# 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_SOCIONEXT_SYNQUACER_PREITS is not set -CONFIG_SCHED_MC=y -CONFIG_SCHED_SMT=y -CONFIG_NR_CPUS=4 -CONFIG_ARM64_SW_TTBR0_PAN=y -CONFIG_COMPAT=y -CONFIG_ARMV8_DEPRECATED=y -CONFIG_ARM64_PMEM=y -# CONFIG_ARM64_BTI is not set -CONFIG_RANDOMIZE_BASE=y -# CONFIG_EFI is not set -CONFIG_SUSPEND_SKIP_SYNC=y -CONFIG_PM_AUTOSLEEP=y -CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y -CONFIG_ENERGY_MODEL=y -CONFIG_CPU_IDLE=y -CONFIG_CPU_IDLE_GOV_LADDER=y -CONFIG_ARM_PSCI_CPUIDLE=y -CONFIG_CPU_FREQ=y -CONFIG_CPU_FREQ_STAT=y -CONFIG_CPU_FREQ_GOV_POWERSAVE=y -CONFIG_CPU_FREQ_GOV_ONDEMAND=y -CONFIG_CPUFREQ_DT=y -CONFIG_ARM_SCMI_CPUFREQ=y -CONFIG_ARCH_MMAP_RND_BITS=18 -CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11 -# CONFIG_GCC_PLUGINS is not set -CONFIG_MODULES=y -CONFIG_MODULE_FORCE_LOAD=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODULE_FORCE_UNLOAD=y -CONFIG_PARTITION_ADVANCED=y -CONFIG_MAC_PARTITION=y -# CONFIG_MQ_IOSCHED_KYBER is not set -# CONFIG_IOSCHED_BFQ is not set -CONFIG_BINFMT_MISC=y -# CONFIG_SLAB_MERGE_DEFAULT is not set -# CONFIG_SLUB_CPU_PARTIAL is not set -# CONFIG_COMPAT_BRK is not set -# CONFIG_COMPACTION is not set -CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 -# CONFIG_VM_EVENT_COUNTERS is not set -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_UNIX_DIAG=m -CONFIG_XFRM_USER=y -CONFIG_NET_KEY=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_IP_MULTIPLE_TABLES=y -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_NET_IPIP=m -CONFIG_NET_IPGRE_DEMUX=m -CONFIG_NET_IPGRE=m -CONFIG_IP_MROUTE=y -CONFIG_IP_MROUTE_MULTIPLE_TABLES=y -CONFIG_IP_PIMSM_V1=y -CONFIG_IP_PIMSM_V2=y -CONFIG_INET_AH=y -CONFIG_INET_ESP=y -CONFIG_INET_IPCOMP=y -# CONFIG_INET_DIAG is not set -CONFIG_TCP_CONG_ADVANCED=y -CONFIG_TCP_CONG_CUBIC=m -CONFIG_TCP_CONG_HSTCP=m -CONFIG_TCP_CONG_HYBLA=m -CONFIG_TCP_CONG_SCALABLE=m -CONFIG_TCP_CONG_LP=m -CONFIG_TCP_CONG_VENO=m -CONFIG_TCP_CONG_YEAH=m -CONFIG_TCP_CONG_ILLINOIS=m -CONFIG_TCP_CONG_DCTCP=m -CONFIG_TCP_CONG_CDG=m -CONFIG_TCP_MD5SIG=y -# CONFIG_IPV6 is not set -CONFIG_NETFILTER=y -CONFIG_BRIDGE_NETFILTER=y -CONFIG_NETFILTER_NETLINK_QUEUE=y -CONFIG_NETFILTER_NETLINK_LOG=y -CONFIG_NF_CONNTRACK=m -CONFIG_NF_CONNTRACK_PROCFS=y -CONFIG_NF_CONNTRACK_EVENTS=y -CONFIG_NF_CONNTRACK_TIMEOUT=y -CONFIG_NF_CONNTRACK_TIMESTAMP=y -CONFIG_NF_CONNTRACK_AMANDA=m -CONFIG_NF_CONNTRACK_FTP=m -CONFIG_NF_CONNTRACK_H323=m -CONFIG_NF_CONNTRACK_IRC=m -CONFIG_NF_CONNTRACK_NETBIOS_NS=m -CONFIG_NF_CONNTRACK_SNMP=m -CONFIG_NF_CONNTRACK_PPTP=m -CONFIG_NF_CONNTRACK_SANE=m -CONFIG_NF_CONNTRACK_SIP=m -CONFIG_NF_CONNTRACK_TFTP=m -CONFIG_NF_CT_NETLINK=m -CONFIG_NF_CT_NETLINK_TIMEOUT=m -CONFIG_NF_TABLES=m -CONFIG_NFT_CT=m -CONFIG_NFT_LOG=m -CONFIG_NFT_LIMIT=m -CONFIG_NFT_MASQ=m -CONFIG_NFT_REDIR=m -CONFIG_NFT_QUEUE=m -CONFIG_NFT_REJECT=m -CONFIG_NFT_COMPAT=m -CONFIG_NFT_HASH=m -CONFIG_NETFILTER_XTABLES_COMPAT=y -CONFIG_NETFILTER_XT_SET=m -CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -CONFIG_NETFILTER_XT_TARGET_DSCP=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_TARGET_NFLOG=m -CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -CONFIG_NETFILTER_XT_TARGET_NOTRACK=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 -CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -CONFIG_NETFILTER_XT_MATCH_BPF=m -CONFIG_NETFILTER_XT_MATCH_CGROUP=m -CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m -CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -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_ESP=m -CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -CONFIG_NETFILTER_XT_MATCH_HELPER=m -CONFIG_NETFILTER_XT_MATCH_IPCOMP=m -CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -CONFIG_NETFILTER_XT_MATCH_IPVS=m -CONFIG_NETFILTER_XT_MATCH_L2TP=m -CONFIG_NETFILTER_XT_MATCH_LENGTH=m -CONFIG_NETFILTER_XT_MATCH_LIMIT=m -CONFIG_NETFILTER_XT_MATCH_MAC=m -CONFIG_NETFILTER_XT_MATCH_MARK=m -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -CONFIG_NETFILTER_XT_MATCH_NFACCT=m -CONFIG_NETFILTER_XT_MATCH_OSF=m -CONFIG_NETFILTER_XT_MATCH_OWNER=m -CONFIG_NETFILTER_XT_MATCH_POLICY=m -CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -CONFIG_NETFILTER_XT_MATCH_QUOTA=m -CONFIG_NETFILTER_XT_MATCH_RATEEST=m -CONFIG_NETFILTER_XT_MATCH_REALM=m -CONFIG_NETFILTER_XT_MATCH_RECENT=m -CONFIG_NETFILTER_XT_MATCH_SCTP=m -CONFIG_NETFILTER_XT_MATCH_SOCKET=m -CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -CONFIG_NETFILTER_XT_MATCH_STRING=m -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -CONFIG_NETFILTER_XT_MATCH_U32=m -CONFIG_IP_SET=y -CONFIG_IP_SET_BITMAP_IP=m -CONFIG_IP_SET_BITMAP_IPMAC=m -CONFIG_IP_SET_BITMAP_PORT=m -CONFIG_IP_SET_HASH_IP=m -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_MAC=m -CONFIG_IP_SET_HASH_NETPORTNET=m -CONFIG_IP_SET_HASH_NET=m -CONFIG_IP_SET_HASH_NETNET=m -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_PROTO_TCP=y -CONFIG_IP_VS_PROTO_UDP=y -CONFIG_IP_VS_PROTO_ESP=y -CONFIG_IP_VS_PROTO_AH=y -CONFIG_IP_VS_PROTO_SCTP=y -CONFIG_IP_VS_RR=m -CONFIG_IP_VS_WRR=m -CONFIG_IP_VS_LC=m -CONFIG_IP_VS_WLC=m -CONFIG_IP_VS_FO=m -CONFIG_IP_VS_OVF=m -CONFIG_IP_VS_LBLC=m -CONFIG_IP_VS_LBLCR=m -CONFIG_IP_VS_DH=m -CONFIG_IP_VS_SH=m -CONFIG_IP_VS_SED=m -CONFIG_IP_VS_NQ=m -CONFIG_IP_VS_NFCT=y -CONFIG_NF_LOG_ARP=m -CONFIG_NF_LOG_IPV4=m -CONFIG_IP_NF_IPTABLES=y -CONFIG_IP_NF_MATCH_AH=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_RPFILTER=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_FILTER=y -CONFIG_IP_NF_TARGET_REJECT=m -CONFIG_IP_NF_TARGET_SYNPROXY=m -CONFIG_IP_NF_NAT=m -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_TTL=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_SECURITY=y -CONFIG_IP_NF_ARPTABLES=m -CONFIG_IP_NF_ARPFILTER=m -CONFIG_IP_NF_ARP_MANGLE=m -CONFIG_NF_TABLES_BRIDGE=m -CONFIG_NFT_BRIDGE_META=m -CONFIG_BRIDGE_NF_EBTABLES=m -CONFIG_BRIDGE_EBT_BROUTE=m -CONFIG_BRIDGE_EBT_T_FILTER=m -CONFIG_BRIDGE_EBT_T_NAT=m -CONFIG_BRIDGE_EBT_802_3=m -CONFIG_BRIDGE_EBT_AMONG=m -CONFIG_BRIDGE_EBT_ARP=m -CONFIG_BRIDGE_EBT_IP=m -CONFIG_BRIDGE_EBT_LIMIT=m -CONFIG_BRIDGE_EBT_MARK=m -CONFIG_BRIDGE_EBT_PKTTYPE=m -CONFIG_BRIDGE_EBT_STP=m -CONFIG_BRIDGE_EBT_VLAN=m -CONFIG_BRIDGE_EBT_ARPREPLY=m -CONFIG_BRIDGE_EBT_DNAT=m -CONFIG_BRIDGE_EBT_MARK_T=m -CONFIG_BRIDGE_EBT_REDIRECT=m -CONFIG_BRIDGE_EBT_SNAT=m -CONFIG_BRIDGE_EBT_LOG=m -CONFIG_BRIDGE_EBT_NFLOG=m -CONFIG_BRIDGE=y -CONFIG_VLAN_8021Q=y -CONFIG_NET_SCHED=y -CONFIG_NET_SCH_HTB=y -CONFIG_NET_SCH_CODEL=y -CONFIG_NET_SCH_FQ_CODEL=y -CONFIG_NET_CLS_U32=y -CONFIG_CLS_U32_MARK=y -CONFIG_NET_CLS_CGROUP=y -CONFIG_DNS_RESOLVER=y -CONFIG_OPENVSWITCH=m -CONFIG_CGROUP_NET_PRIO=y -CONFIG_CAN=y -CONFIG_BT=m -CONFIG_BT_RFCOMM=y -CONFIG_BT_HIDP=y -CONFIG_BT_HS=y -CONFIG_BT_HCIBTUSB=m -CONFIG_BT_HCIUART=m -CONFIG_BT_HCIUART_ATH3K=y -CONFIG_BT_HCIBFUSB=m -CONFIG_BT_HCIVHCI=m -CONFIG_BT_MRVL=m -CONFIG_BT_MRVL_SDIO=m -CONFIG_CFG80211=m -# CONFIG_CFG80211_DEFAULT_PS is not set -# CONFIG_CFG80211_CRDA_SUPPORT is not set -CONFIG_MAC80211=m -CONFIG_MAC80211_MESH=y -CONFIG_RFKILL=m -CONFIG_RFKILL_INPUT=y -CONFIG_RFKILL_GPIO=m -# CONFIG_ETHTOOL_NETLINK is not set -CONFIG_PCI=y -CONFIG_PCIEPORTBUS=y -CONFIG_PCIEAER=y -CONFIG_PCIE_ROCKCHIP_HOST=y -CONFIG_PCIE_ROCKCHIP_DW_HOST=y -CONFIG_UEVENT_HELPER=y -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -CONFIG_DEVTMPFS_SAFE=y -CONFIG_FW_LOADER_USER_HELPER=y -CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y -# CONFIG_ALLOW_DEV_COREDUMP is not set -CONFIG_DEBUG_DEVRES=y -CONFIG_CONNECTOR=y -CONFIG_ARM_SCMI_PROTOCOL=y -CONFIG_ARM_SCMI_POWER_CONTROL=y -CONFIG_ARM_SCPI_PROTOCOL=y -CONFIG_ARM_FFA_TRANSPORT=y -CONFIG_MTD=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_SPI_NOR=y -CONFIG_OF_OVERLAY=y -CONFIG_ZRAM=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_DRBD=m -CONFIG_BLK_DEV_NBD=m -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=1 -CONFIG_ATA_OVER_ETH=m -CONFIG_BLK_DEV_RBD=m -CONFIG_BLK_DEV_NVME=m -CONFIG_SRAM=y -CONFIG_EEPROM_93CX6=y -CONFIG_BLK_DEV_SD=y -CONFIG_BLK_DEV_SR=y -CONFIG_SCSI_SCAN_ASYNC=y -CONFIG_SCSI_SPI_ATTRS=y -CONFIG_MEGARAID_SAS=m -CONFIG_SCSI_MPT2SAS=m -CONFIG_ATA=y -CONFIG_SATA_AHCI=y -CONFIG_SATA_AHCI_PLATFORM=y -CONFIG_SATA_MV=m -CONFIG_SATA_NV=m -CONFIG_SATA_PROMISE=m -CONFIG_SATA_SIL=m -CONFIG_MD=y -CONFIG_MD_LINEAR=m -CONFIG_BCACHE=m -CONFIG_BLK_DEV_DM=y -CONFIG_DM_CRYPT=m -CONFIG_DM_RAID=y -CONFIG_NETDEVICES=y -CONFIG_WIREGUARD=y -CONFIG_MACVLAN=y -CONFIG_IPVLAN=y -CONFIG_VXLAN=m -CONFIG_TUN=m -CONFIG_VETH=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_ALTEON is not set -# CONFIG_NET_VENDOR_AMD is not set -# CONFIG_NET_VENDOR_ARC is not set -# CONFIG_NET_VENDOR_ATHEROS is not set -# CONFIG_NET_VENDOR_BROADCOM 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_DEC is not set -# CONFIG_NET_VENDOR_DLINK is not set -# CONFIG_NET_VENDOR_EMULEX is not set -# CONFIG_NET_VENDOR_EZCHIP is not set -# CONFIG_NET_VENDOR_HISILICON is not set -CONFIG_E100=y -CONFIG_E1000=y -CONFIG_E1000E=y -CONFIG_IGB=y -CONFIG_IXGBE=y -# 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_MYRI is not set -# CONFIG_NET_VENDOR_NATSEMI is not set -# CONFIG_NET_VENDOR_NVIDIA is not set -# CONFIG_NET_VENDOR_OKI 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_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_SMSC is not set -CONFIG_STMMAC_ETH=y -# 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_VIA is not set -# CONFIG_NET_VENDOR_WIZNET is not set -CONFIG_ROCKCHIP_PHY=y -CONFIG_CAN_SJA1000=y -CONFIG_CAN_PLX_PCI=y -CONFIG_PPP=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPPOE=m -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_USB_RTL8150=y -CONFIG_USB_RTL8152=y -CONFIG_USB_USBNET=y -CONFIG_USB_NET_CDC_MBIM=y -# CONFIG_USB_NET_NET1080 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_QMI_WWAN=y -CONFIG_ATH5K=m -CONFIG_ATH9K=m -CONFIG_ATH6KL=m -CONFIG_ATH6KL_USB=m -CONFIG_AR5523=m -CONFIG_ATH10K=m -CONFIG_WCN36XX=m -CONFIG_AT76C50X_USB=m -CONFIG_B43=m -CONFIG_BRCMFMAC=m -# CONFIG_BRCMFMAC_SDIO is not set -CONFIG_BRCMFMAC_USB=y -CONFIG_BRCMFMAC_PCIE=y -CONFIG_LIBERTAS=m -CONFIG_LIBERTAS_USB=m -CONFIG_LIBERTAS_THINFIRM=m -CONFIG_MWIFIEX=m -CONFIG_MWIFIEX_SDIO=m -CONFIG_MWIFIEX_USB=m -CONFIG_MT7601U=m -CONFIG_RT2X00=m -CONFIG_RT2500USB=m -CONFIG_RT73USB=m -CONFIG_RT2800USB=m -CONFIG_RT2800USB_RT3573=y -CONFIG_RT2800USB_RT53XX=y -CONFIG_RT2800USB_RT55XX=y -CONFIG_RT2800USB_UNKNOWN=y -CONFIG_RTL8180=m -CONFIG_RTL8187=m -CONFIG_RTL8192CE=m -CONFIG_RTL8192SE=m -CONFIG_RTL8192DE=m -CONFIG_RTL8723AE=m -CONFIG_RTL8723BE=m -CONFIG_RTL8188EE=m -CONFIG_RTL8192EE=m -CONFIG_RTL8821AE=m -CONFIG_RTL8XXXU=m -CONFIG_RTL8XXXU_UNTESTED=y -CONFIG_RTW88=m -CONFIG_RTW88_8822BE=m -CONFIG_RTW88_8822BU=m -CONFIG_RTW88_8822CE=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_RTW89=m -CONFIG_RTW89_8852AE=m -CONFIG_RTW89_8852CE=m -CONFIG_ZD1211RW=m -CONFIG_ISDN=y -CONFIG_INPUT_MATRIXKMAP=y -CONFIG_INPUT_JOYDEV=y -CONFIG_INPUT_EVDEV=y -CONFIG_KEYBOARD_ADC=y -CONFIG_KEYBOARD_GPIO=y -CONFIG_KEYBOARD_GPIO_POLLED=y -# CONFIG_MOUSE_PS2 is not set -CONFIG_INPUT_JOYSTICK=y -CONFIG_JOYSTICK_ADC=y -CONFIG_JOYSTICK_XPAD=m -CONFIG_JOYSTICK_XPAD_FF=y -CONFIG_INPUT_TABLET=y -CONFIG_INPUT_TOUCHSCREEN=y -CONFIG_TOUCHSCREEN_ATMEL_MXT=y -CONFIG_TOUCHSCREEN_GOODIX=y -CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX=y -CONFIG_TOUCHSCREEN_USB_COMPOSITE=y -CONFIG_INPUT_MISC=y -CONFIG_INPUT_UINPUT=y -CONFIG_INPUT_PWM_VIBRA=y -CONFIG_INPUT_RK805_PWRKEY=y -CONFIG_SERIO_SERPORT=m -CONFIG_GAMEPORT=y -# CONFIG_LEGACY_PTYS is not set -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -# CONFIG_SERIAL_8250_PCI is not set -CONFIG_SERIAL_8250_NR_UARTS=5 -CONFIG_SERIAL_8250_RUNTIME_UARTS=5 -CONFIG_SERIAL_8250_EXTENDED=y -CONFIG_SERIAL_8250_SHARE_IRQ=y -CONFIG_SERIAL_8250_DW=y -CONFIG_SERIAL_OF_PLATFORM=y -CONFIG_SERIAL_AMBA_PL011=y -CONFIG_SERIAL_AMBA_PL011_CONSOLE=y -CONFIG_SERIAL_DEV_BUS=y -CONFIG_HW_RANDOM=y -CONFIG_TCG_TPM=y -# CONFIG_I2C_COMPAT is not set -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_DESIGNWARE_PLATFORM=y -CONFIG_I2C_RK3X=y -CONFIG_SPI=y -CONFIG_SPI_GPIO=y -CONFIG_SPI_ROCKCHIP=y -CONFIG_SPI_ROCKCHIP_SFC=y -CONFIG_SPI_MUX=y -CONFIG_SPI_SPIDEV=y -CONFIG_PINCTRL_RK805=y -CONFIG_PINCTRL_SINGLE=y -CONFIG_GPIO_SYSFS=y -CONFIG_GPIO_DWAPB=y -CONFIG_GPIO_GENERIC_PLATFORM=y -CONFIG_POWER_RESET_GPIO=y -CONFIG_POWER_RESET_GPIO_RESTART=y -CONFIG_POWER_RESET_SYSCON=y -CONFIG_POWER_RESET_SYSCON_POWEROFF=y -CONFIG_SYSCON_REBOOT_MODE=y -CONFIG_BATTERY_CW2015=y -CONFIG_BATTERY_SBS=y -CONFIG_CHARGER_GPIO=y -CONFIG_CHARGER_BQ24735=y -CONFIG_CHARGER_RK817=y -CONFIG_SENSORS_PWM_FAN=y -CONFIG_THERMAL=y -CONFIG_THERMAL_WRITABLE_TRIPS=y -CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR=y -CONFIG_THERMAL_GOV_FAIR_SHARE=y -CONFIG_THERMAL_GOV_STEP_WISE=y -CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y -CONFIG_CPU_THERMAL=y -CONFIG_DEVFREQ_THERMAL=y -CONFIG_ROCKCHIP_THERMAL=y -CONFIG_GENERIC_ADC_THERMAL=y -CONFIG_WATCHDOG=y -CONFIG_DW_WATCHDOG=y -CONFIG_SSB=y -CONFIG_BCMA=y -CONFIG_MFD_RK8XX_I2C=y -CONFIG_MFD_TPS6586X=y -CONFIG_REGULATOR=y -CONFIG_REGULATOR_DEBUG=y -CONFIG_REGULATOR_FIXED_VOLTAGE=y -CONFIG_REGULATOR_VIRTUAL_CONSUMER=y -CONFIG_REGULATOR_USERSPACE_CONSUMER=y -CONFIG_REGULATOR_ACT8865=y -CONFIG_REGULATOR_ARM_SCMI=y -CONFIG_REGULATOR_FAN53555=y -CONFIG_REGULATOR_GPIO=y -CONFIG_REGULATOR_PWM=y -CONFIG_REGULATOR_RK808=y -CONFIG_REGULATOR_TPS6586X=y -CONFIG_REGULATOR_VCTRL=y -CONFIG_RC_CORE=y -CONFIG_LIRC=y -CONFIG_RC_DECODERS=y -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_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_MEDIA_CEC_RC=y -CONFIG_MEDIA_CEC_SUPPORT=y -CONFIG_USB_PULSE8_CEC=m -CONFIG_USB_RAINSHADOW_CEC=m -CONFIG_MEDIA_SUPPORT=y -CONFIG_MEDIA_SUPPORT_FILTER=y -CONFIG_MEDIA_CAMERA_SUPPORT=y -CONFIG_MEDIA_ANALOG_TV_SUPPORT=y -CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y -CONFIG_MEDIA_RADIO_SUPPORT=y -CONFIG_MEDIA_SDR_SUPPORT=y -CONFIG_MEDIA_PLATFORM_SUPPORT=y -CONFIG_MEDIA_TEST_SUPPORT=y -CONFIG_DVB_MAX_ADAPTERS=8 -# CONFIG_DVB_DYNAMIC_MINORS is not set -CONFIG_MEDIA_USB_SUPPORT=y -CONFIG_VIDEO_USBTV=m -CONFIG_USB_VIDEO_CLASS=y -# CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV is not set -CONFIG_VIDEO_AU0828=m -CONFIG_VIDEO_CX231XX=m -CONFIG_VIDEO_CX231XX_ALSA=m -CONFIG_VIDEO_CX231XX_DVB=m -CONFIG_DVB_AS102=m -CONFIG_DVB_B2C2_FLEXCOP_USB=m -CONFIG_DVB_USB_V2=m -CONFIG_DVB_USB_AF9015=m -CONFIG_DVB_USB_AF9035=m -CONFIG_DVB_USB_ANYSEE=m -CONFIG_DVB_USB_AU6610=m -CONFIG_DVB_USB_AZ6007=m -CONFIG_DVB_USB_CE6230=m -CONFIG_DVB_USB_DVBSKY=m -CONFIG_DVB_USB_EC168=m -CONFIG_DVB_USB_GL861=m -CONFIG_DVB_USB_LME2510=m -CONFIG_DVB_USB_MXL111SF=m -CONFIG_DVB_USB_RTL28XXU=m -CONFIG_DVB_USB=y -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_DIB0700=m -CONFIG_DVB_USB_DIBUSB_MB=m -CONFIG_DVB_USB_DIBUSB_MC=m -CONFIG_DVB_USB_DIGITV=m -CONFIG_DVB_USB_DTT200U=m -CONFIG_DVB_USB_DTV5100=m -CONFIG_DVB_USB_DW2102=m -CONFIG_DVB_USB_GP8PSK=m -CONFIG_DVB_USB_M920X=m -CONFIG_DVB_USB_NOVA_T_USB2=m -CONFIG_DVB_USB_OPERA1=m -CONFIG_DVB_USB_PCTV452E=m -CONFIG_DVB_USB_TECHNISAT_USB2=m -CONFIG_DVB_USB_TTUSB2=m -CONFIG_DVB_USB_UMT_010=m -CONFIG_DVB_USB_VP702X=m -CONFIG_DVB_USB_VP7045=m -CONFIG_DVB_TTUSB_BUDGET=m -CONFIG_DVB_TTUSB_DEC=m -CONFIG_VIDEO_EM28XX=m -CONFIG_VIDEO_EM28XX_V4L2=m -CONFIG_VIDEO_EM28XX_ALSA=m -CONFIG_VIDEO_EM28XX_DVB=m -CONFIG_USB_AIRSPY=m -CONFIG_USB_HACKRF=m -CONFIG_USB_MSI2500=m -CONFIG_MEDIA_PCI_SUPPORT=y -CONFIG_VIDEO_CX23885=m -CONFIG_VIDEO_CX25821=m -CONFIG_V4L_PLATFORM_DRIVERS=y -CONFIG_DVB_PLATFORM_DRIVERS=y -CONFIG_V4L_MEM2MEM_DRIVERS=y -CONFIG_VIDEO_ROCKCHIP_RGA=y -CONFIG_VIDEO_HANTRO=y -# CONFIG_VIDEO_IR_I2C is not set -CONFIG_VIDEO_IMX219=y -CONFIG_VIDEO_OV5645=y -CONFIG_CXD2880_SPI_DRV=m -CONFIG_DVB_ASCOT2E=m -CONFIG_DVB_HELENE=m -CONFIG_DVB_HORUS3A=m -CONFIG_DVB_ISL6405=m -CONFIG_DVB_LGS8GL5=m -CONFIG_DVB_LNBH25=m -CONFIG_DVB_LNBH29=m -CONFIG_DVB_TDA665x=m -CONFIG_DVB_CXD2099=m -CONFIG_DRM=y -CONFIG_DRM_LOAD_EDID_FIRMWARE=y -CONFIG_DRM_MALI_DISPLAY=y -CONFIG_DRM_ROCKCHIP=y -CONFIG_ROCKCHIP_VOP2=y -CONFIG_ROCKCHIP_DW_HDMI=y -CONFIG_ROCKCHIP_DW_MIPI_DSI=y -CONFIG_DRM_PANEL_ELIDA_KD35T133=y -CONFIG_DRM_PANEL_HIMAX_HX8394=y -CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966=y -CONFIG_DRM_PANEL_NEWVISION_NV3051D=y -CONFIG_DRM_PANEL_SITRONIX_ST7701=y -CONFIG_DRM_PANEL_SITRONIX_ST7703=y -CONFIG_DRM_DISPLAY_CONNECTOR=y -CONFIG_DRM_DW_HDMI_CEC=y -CONFIG_DRM_PANEL_MIPI_DBI=y -CONFIG_DRM_PANFROST=y -CONFIG_FB=y -CONFIG_FIRMWARE_EDID=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_BACKLIGHT_PWM=y -CONFIG_BACKLIGHT_LED=y -CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y -CONFIG_SOUND=y -CONFIG_SND=y -CONFIG_SND_HRTIMER=y -CONFIG_SND_DYNAMIC_MINORS=y -# CONFIG_SND_SUPPORT_OLD_API is not set -# CONFIG_SND_VERBOSE_PROCFS is not set -CONFIG_SND_VERBOSE_PRINTK=y -CONFIG_SND_SEQUENCER=y -CONFIG_SND_SEQ_DUMMY=y -# CONFIG_SND_DRIVERS is not set -# CONFIG_SND_PCI is not set -# CONFIG_SND_SPI is not set -CONFIG_SND_USB_AUDIO=y -CONFIG_SND_SOC=y -CONFIG_SND_SOC_FSL_SAI=y -CONFIG_SND_SOC_ROCKCHIP=y -CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=y -CONFIG_SND_SOC_ROCKCHIP_PDM=y -CONFIG_SND_SOC_ROCKCHIP_SPDIF=y -CONFIG_SND_SOC_RK3288_HDMI_ANALOG=y -CONFIG_SND_SOC_ES8316=y -CONFIG_SND_SOC_MAX98090=y -CONFIG_SND_SOC_RK817=y -CONFIG_SND_SOC_SIMPLE_AMPLIFIER=y -CONFIG_SND_SOC_SPDIF=y -CONFIG_SND_SOC_TS3A227E=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_BATTERY_STRENGTH=y -CONFIG_HIDRAW=y -CONFIG_UHID=y -CONFIG_HID_A4TECH=y -CONFIG_HID_ACRUX=y -CONFIG_HID_APPLE=y -CONFIG_HID_APPLEIR=y -CONFIG_HID_AUREAL=y -CONFIG_HID_BELKIN=y -CONFIG_HID_BETOP_FF=y -CONFIG_HID_CHERRY=y -CONFIG_HID_CHICONY=y -CONFIG_HID_CORSAIR=y -CONFIG_HID_PRODIKEYS=y -CONFIG_HID_CP2112=y -CONFIG_HID_CYPRESS=y -CONFIG_HID_DRAGONRISE=y -CONFIG_DRAGONRISE_FF=y -CONFIG_HID_EMS_FF=y -CONFIG_HID_ELECOM=y -CONFIG_HID_ELO=y -CONFIG_HID_EZKEY=y -CONFIG_HID_GEMBIRD=y -CONFIG_HID_GFRM=y -CONFIG_HID_HOLTEK=y -CONFIG_HOLTEK_FF=y -CONFIG_HID_GT683R=y -CONFIG_HID_KEYTOUCH=y -CONFIG_HID_KYE=y -CONFIG_HID_UCLOGIC=y -CONFIG_HID_WALTOP=y -CONFIG_HID_GYRATION=y -CONFIG_HID_ICADE=y -CONFIG_HID_TWINHAN=y -CONFIG_HID_KENSINGTON=y -CONFIG_HID_LCPOWER=y -CONFIG_HID_LENOVO=y -CONFIG_HID_LOGITECH=y -CONFIG_HID_LOGITECH_DJ=y -CONFIG_LOGITECH_FF=y -CONFIG_LOGIRUMBLEPAD2_FF=y -CONFIG_LOGIG940_FF=y -CONFIG_HID_MAGICMOUSE=y -CONFIG_HID_MICROSOFT=y -CONFIG_HID_MONTEREY=y -CONFIG_HID_MULTITOUCH=y -CONFIG_HID_NTRIG=y -CONFIG_HID_ORTEK=y -CONFIG_HID_PANTHERLORD=y -CONFIG_PANTHERLORD_FF=y -CONFIG_HID_PENMOUNT=y -CONFIG_HID_PETALYNX=y -CONFIG_HID_PLANTRONICS=y -CONFIG_HID_PRIMAX=y -CONFIG_HID_ROCCAT=y -CONFIG_HID_SAITEK=y -CONFIG_HID_SAMSUNG=y -CONFIG_HID_SONY=y -CONFIG_HID_SPEEDLINK=y -CONFIG_HID_STEELSERIES=y -CONFIG_HID_SUNPLUS=y -CONFIG_HID_RMI=y -CONFIG_HID_GREENASIA=y -CONFIG_GREENASIA_FF=y -CONFIG_HID_SMARTJOYPLUS=y -CONFIG_SMARTJOYPLUS_FF=y -CONFIG_HID_TIVO=y -CONFIG_HID_TOPSEED=y -CONFIG_HID_THINGM=y -CONFIG_HID_THRUSTMASTER=y -CONFIG_THRUSTMASTER_FF=y -CONFIG_HID_WACOM=y -CONFIG_HID_WIIMOTE=y -CONFIG_HID_XINMO=y -CONFIG_HID_ZEROPLUS=y -CONFIG_ZEROPLUS_FF=y -CONFIG_HID_ZYDACRON=y -CONFIG_HID_SENSOR_HUB=y -CONFIG_HID_SENSOR_CUSTOM_SENSOR=y -CONFIG_HID_ALPS=y -CONFIG_USB_HIDDEV=y -CONFIG_I2C_HID_OF_GOODIX=y -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -# CONFIG_USB_DEFAULT_PERSIST is not set -CONFIG_USB_OTG=y -CONFIG_USB_OTG_PRODUCTLIST=y -CONFIG_USB_OTG_FSM=y -CONFIG_USB_LEDS_TRIGGER_USBPORT=y -CONFIG_USB_MON=y -CONFIG_USB_XHCI_HCD=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_ROOT_HUB_TT=y -CONFIG_USB_EHCI_HCD_PLATFORM=y -CONFIG_USB_OHCI_HCD=y -# CONFIG_USB_OHCI_HCD_PCI is not set -CONFIG_USB_OHCI_HCD_PLATFORM=y -CONFIG_USB_ACM=y -CONFIG_USB_STORAGE=y -CONFIG_USB_STORAGE_REALTEK=y -CONFIG_USB_STORAGE_DATAFAB=y -CONFIG_USB_STORAGE_FREECOM=y -CONFIG_USB_STORAGE_ISD200=y -CONFIG_USB_STORAGE_USBAT=y -CONFIG_USB_STORAGE_SDDR09=y -CONFIG_USB_STORAGE_SDDR55=y -CONFIG_USB_STORAGE_JUMPSHOT=y -CONFIG_USB_STORAGE_ALAUDA=y -CONFIG_USB_STORAGE_ONETOUCH=y -CONFIG_USB_STORAGE_KARMA=y -CONFIG_USB_STORAGE_CYPRESS_ATACB=y -CONFIG_USB_STORAGE_ENE_UB6250=y -CONFIG_USB_UAS=y -CONFIG_USB_DWC3=y -CONFIG_USB_DWC2=y -CONFIG_USB_SERIAL=y -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_CH341=y -CONFIG_USB_SERIAL_CP210X=y -CONFIG_USB_SERIAL_FTDI_SIO=y -CONFIG_USB_SERIAL_KEYSPAN=y -CONFIG_USB_SERIAL_PL2303=y -CONFIG_USB_SERIAL_OTI6858=y -CONFIG_USB_SERIAL_QUALCOMM=y -CONFIG_USB_SERIAL_SIERRAWIRELESS=y -CONFIG_USB_SERIAL_OPTION=y -CONFIG_NOP_USB_XCEIV=y -CONFIG_USB_GADGET=y -CONFIG_USB_GADGET_DEBUG_FILES=y -CONFIG_USB_GADGET_VBUS_DRAW=500 -CONFIG_U_SERIAL_CONSOLE=y -CONFIG_USB_CONFIGFS=y -CONFIG_USB_CONFIGFS_ACM=y -CONFIG_USB_CONFIGFS_MASS_STORAGE=y -CONFIG_USB_CONFIGFS_F_FS=y -CONFIG_USB_CONFIGFS_F_UVC=y -CONFIG_USB_GADGETFS=m -CONFIG_USB_FUNCTIONFS=m -CONFIG_USB_MASS_STORAGE=m -CONFIG_USB_G_SERIAL=m -CONFIG_TYPEC=y -CONFIG_TYPEC_TCPM=y -CONFIG_TYPEC_FUSB302=y -CONFIG_TYPEC_DP_ALTMODE=y -CONFIG_MMC=y -CONFIG_MMC_BLOCK_MINORS=32 -CONFIG_MMC_TEST=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SDHCI_OF_DWCMSHC=y -CONFIG_MMC_DW=y -CONFIG_MMC_DW_ROCKCHIP=y -CONFIG_MMC_HSQ=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_PWM=y -CONFIG_LEDS_IS31FL32XX=y -CONFIG_LEDS_SYSCON=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_ONESHOT=y -CONFIG_LEDS_TRIGGER_DISK=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEDS_TRIGGER_BACKLIGHT=y -CONFIG_LEDS_TRIGGER_CPU=y -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y -CONFIG_RTC_CLASS=y -# CONFIG_RTC_SYSTOHC is not set -# CONFIG_RTC_INTF_PROC is not set -# CONFIG_RTC_INTF_DEV is not set -CONFIG_RTC_DRV_HYM8563=y -CONFIG_RTC_DRV_RK808=y -CONFIG_DMADEVICES=y -CONFIG_PL330_DMA=y -CONFIG_UDMABUF=y -CONFIG_DMABUF_HEAPS=y -CONFIG_DMABUF_HEAPS_SYSTEM=y -# CONFIG_VIRTIO_MENU is not set -# CONFIG_VHOST_MENU is not set -CONFIG_STAGING=y -CONFIG_RTL8723BS=m -CONFIG_R8712U=m -CONFIG_STAGING_MEDIA=y -CONFIG_VIDEO_ROCKCHIP_VDEC=y -CONFIG_CHROME_PLATFORMS=y -# CONFIG_SURFACE_PLATFORMS is not set -CONFIG_COMMON_CLK_RK808=y -CONFIG_COMMON_CLK_SCMI=y -CONFIG_COMMON_CLK_SCPI=y -CONFIG_COMMON_CLK_XGENE=y -CONFIG_COMMON_CLK_PWM=y -CONFIG_COMMON_CLK_FIXED_MMIO=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_FSL_ERRATUM_A008585 is not set -# CONFIG_HISILICON_ERRATUM_161010101 is not set -# CONFIG_ARM64_ERRATUM_858921 is not set -CONFIG_MAILBOX=y -CONFIG_ARM_MHU=y -CONFIG_PLATFORM_MHU=y -CONFIG_ROCKCHIP_MBOX=y -CONFIG_ROCKCHIP_IOMMU=y -CONFIG_ARM_SMMU=y -CONFIG_ARM_SMMU_V3=y -CONFIG_ROCKCHIP_IODOMAIN=y -CONFIG_ROCKCHIP_PM_DOMAINS=y -CONFIG_DEVFREQ_GOV_PERFORMANCE=y -CONFIG_DEVFREQ_GOV_POWERSAVE=y -CONFIG_ARM_RK3399_DMC_DEVFREQ=y -CONFIG_MEMORY=y -CONFIG_IIO=y -CONFIG_IIO_BUFFER_HW_CONSUMER=y -CONFIG_IIO_SW_DEVICE=y -CONFIG_IIO_SW_TRIGGER=y -CONFIG_IIO_TRIGGERED_EVENT=y -CONFIG_ROCKCHIP_SARADC=y -CONFIG_SENSORS_ISL29018=y -CONFIG_SENSORS_TSL2563=y -CONFIG_TSL2583=y -CONFIG_IIO_MUX=y -CONFIG_IIO_HRTIMER_TRIGGER=y -CONFIG_IIO_SYSFS_TRIGGER=y -CONFIG_PWM=y -CONFIG_PWM_ROCKCHIP=y -CONFIG_PHY_ROCKCHIP_DP=y -CONFIG_PHY_ROCKCHIP_DPHY_RX0=y -CONFIG_PHY_ROCKCHIP_EMMC=y -CONFIG_PHY_ROCKCHIP_INNO_HDMI=y -CONFIG_PHY_ROCKCHIP_INNO_USB2=y -CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=y -CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y -CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y -CONFIG_PHY_ROCKCHIP_PCIE=y -CONFIG_PHY_ROCKCHIP_SNPS_PCIE3=y -CONFIG_PHY_ROCKCHIP_TYPEC=y -CONFIG_PHY_ROCKCHIP_USB=y -CONFIG_ARM_SMMU_V3_PMU=y -CONFIG_MUX_GPIO=y -CONFIG_MUX_MMIO=y -CONFIG_EXT4_FS=y -# CONFIG_EXT4_USE_FOR_EXT2 is not set -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_XFS_FS=y -# CONFIG_DNOTIFY is not set -CONFIG_AUTOFS_FS=y -CONFIG_FUSE_FS=y -CONFIG_OVERLAY_FS=y -CONFIG_FSCACHE=y -CONFIG_ISO9660_FS=y -CONFIG_JOLIET=y -CONFIG_ZISOFS=y -CONFIG_MSDOS_FS=y -CONFIG_VFAT_FS=y -CONFIG_FAT_DEFAULT_IOCHARSET="ascii" -CONFIG_EXFAT_FS=y -CONFIG_TMPFS=y -CONFIG_TMPFS_POSIX_ACL=y -CONFIG_SQUASHFS=y -CONFIG_SQUASHFS_LZ4=y -CONFIG_SQUASHFS_LZO=y -CONFIG_SQUASHFS_XZ=y -CONFIG_SQUASHFS_ZSTD=y -CONFIG_PSTORE=y -CONFIG_NLS_DEFAULT="utf-8" -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_ASCII=y -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_UTF8=y -CONFIG_SECURITY=y -CONFIG_SECURITY_NETWORK=y -CONFIG_HARDENED_USERCOPY=y -CONFIG_STATIC_USERMODEHELPER=y -CONFIG_LSM="selinux,integrity" -CONFIG_INIT_STACK_NONE=y -CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y -CONFIG_INIT_ON_FREE_DEFAULT_ON=y -CONFIG_CRYPTO_USER=y -CONFIG_CRYPTO_PCRYPT=y -CONFIG_CRYPTO_CRYPTD=y -CONFIG_CRYPTO_ECDH=y -CONFIG_CRYPTO_TWOFISH=y -CONFIG_CRYPTO_ARC4=y -CONFIG_CRYPTO_CTS=y -CONFIG_CRYPTO_XTS=y -CONFIG_CRYPTO_CHACHA20POLY1305=y -CONFIG_CRYPTO_CCM=y -CONFIG_CRYPTO_ESSIV=y -CONFIG_CRYPTO_CMAC=y -CONFIG_CRYPTO_XCBC=y -CONFIG_CRYPTO_CRC32=y -CONFIG_CRYPTO_LZO=y -CONFIG_CRYPTO_LZ4=y -CONFIG_CRYPTO_LZ4HC=y -CONFIG_CRYPTO_ZSTD=y -CONFIG_CRYPTO_ANSI_CPRNG=y -CONFIG_CRYPTO_USER_API_HASH=y -CONFIG_CRYPTO_USER_API_SKCIPHER=y -CONFIG_CRYPTO_USER_API_RNG=y -CONFIG_CRYPTO_USER_API_AEAD=y -CONFIG_CRYPTO_STATS=y -CONFIG_CRYPTO_NHPOLY1305_NEON=y -CONFIG_CRYPTO_GHASH_ARM64_CE=y -CONFIG_CRYPTO_SHA1_ARM64_CE=y -CONFIG_CRYPTO_SHA2_ARM64_CE=y -CONFIG_CRYPTO_SHA512_ARM64_CE=y -CONFIG_CRYPTO_AES_ARM64=y -CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -CONFIG_CRYPTO_AES_ARM64_BS=y -CONFIG_CRYPTO_AES_ARM64_CE_CCM=y -CONFIG_CRYPTO_DEV_ROCKCHIP=y -CONFIG_CORDIC=y -CONFIG_CRC_CCITT=y -CONFIG_CRC_T10DIF=y -CONFIG_CRC_ITU_T=y -CONFIG_CRC7=y -# CONFIG_XZ_DEC_X86 is not set -# CONFIG_XZ_DEC_POWERPC is not set -# CONFIG_XZ_DEC_SPARC is not set -CONFIG_PRINTK_TIME=y -CONFIG_MESSAGE_LOGLEVEL_DEFAULT=7 -CONFIG_DYNAMIC_DEBUG=y -# CONFIG_SYMBOLIC_ERRNAME is not set -# CONFIG_DEBUG_MISC is not set -CONFIG_MAGIC_SYSRQ=y -CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0 -CONFIG_DEBUG_FS=y -# CONFIG_SLUB_DEBUG is not set -CONFIG_PANIC_TIMEOUT=1 -CONFIG_DETECT_HUNG_TASK=y -CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y -# CONFIG_SCHED_DEBUG is not set -CONFIG_SCHEDSTATS=y -CONFIG_DEBUG_SPINLOCK=y -CONFIG_STACKTRACE=y -CONFIG_DEBUG_CREDENTIALS=y -CONFIG_RCU_CPU_STALL_TIMEOUT=60 -CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=20 -# CONFIG_RCU_TRACE is not set -# CONFIG_FTRACE is not set -# CONFIG_STRICT_DEVMEM is not set -# CONFIG_RUNTIME_TESTING_MENU is not set diff --git a/projects/Rockchip/devices/RK3566-X55/options b/projects/Rockchip/devices/RK3566-X55/options deleted file mode 100644 index 83e9e6820..000000000 --- a/projects/Rockchip/devices/RK3566-X55/options +++ /dev/null @@ -1,163 +0,0 @@ -################################################################################ -# setup device defaults -################################################################################ - - # The TARGET_CPU variable controls which processor should be targeted for - # generated code. - case ${TARGET_ARCH} in - aarch64) - TARGET_KERNEL_ARCH="arm64" - TARGET_PATCH_ARCH="aarch64" - TARGET_CPU="cortex-a55" - TARGET_CPU_FLAGS="+crc+crypto+fp+simd" - TARGET_FPU="fp-armv8" - TARGET_FLOAT="hard" - TARGET_FEATURES="64bit" - ;; - arm) - TARGET_KERNEL_ARCH="arm64" - TARGET_PATCH_ARCH="aarch64" - TARGET_CPU="cortex-a55" - TARGET_CPU_FLAGS="+crc" - TARGET_FPU="neon-fp-armv8" - TARGET_FLOAT="hard" - TARGET_FEATURES="32bit" - ;; - esac - - # Kernel target - DEVICE_NAME="RK3566" - KERNEL_TARGET="Image" - BOOTLOADER="u-boot" - PARTITION_TABLE="gpt" - UBOOT_LABEL="uboot" - TRUST_LABEL="trust" - DEVICE_DTB=("rk3566-powkiddy-x55") - UBOOT_DTB="rk3566" - UBOOT_CONFIG="powkiddy-x55-rk3566_defconfig" - PKG_SOC="rk3568" - PKG_DATAFILE="${PKG_RKBIN}/bin/rk35/rk3566_ddr_1056MHz_v1.18.bin" - PKG_LOADER="spl/u-boot-spl.bin" - PKG_BL31="${PKG_RKBIN}/bin/rk35/rk3568_bl31_v1.43.elf" - PKG_LOAD_ADDR="0x0a100000" - BOOT_INI=false - EXT_LINUX_CONF=true - - # Additional kernel make parameters (for example to specify the u-boot loadaddress) - KERNEL_MAKE_EXTRACMD=" $(for DTB in "${DEVICE_DTB[@]}"; do echo -n "rockchip/${DTB}.dtb "; done)" - KERNEL_EXTRA_DEPENDS_TARGET="zstd libcap libtraceevent" - - # Define the CPU - HW_CPU="Rockchip RK3566" - - # Mali GPU family - MALI_FAMILY="bifrost-g52" - # MALI_VERSION="g2p0" - # OPENGLES="libmali" - VULKAN_SUPPORT="" - - # OpenGL(X) implementation to use (mesa / no) - OPENGL="mesa" - - # OpenGL-ES implementation to use (mesa / no) - OPENGLES="mesa" - - GRAPHIC_DRIVERS="panfrost" - - # Displayserver to use (weston / x11 / no) - DISPLAYSERVER="wl" - - # Windowmanager to use (fluxbox / weston / no) - WINDOWMANAGER="weston" - - # debug tty path - DEBUG_TTY="/dev/ttyS2" - - # kernel serial console - 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 Firmware to use ( ) - # Space separated list is supported, - # e.g. FIRMWARE="" - 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="jelos-gamepad" - - # build and install driver addons (yes / no) - DRIVER_ADDONS_SUPPORT="no" - - # driver addons to install: - # for a list of additinoal drivers see packages/linux-driver-addons - # Space separated list is supported, - DRIVER_ADDONS="" #dvb-latest - - # build and install bluetooth support (yes / no) - BLUETOOTH_SUPPORT="yes" - - # build and install Avahi (Zeroconf) daemon (yes / no) - AVAHI_DAEMON="no" - - # build with NFS support (mounting nfs shares via the OS) (yes / no) - NFS_SUPPORT="no" - - # build with Samba Client support (mounting samba shares via the OS) (yes / no) - SAMBA_SUPPORT="no" - - # build and install Samba Server (yes / no) - SAMBA_SERVER="yes" - - # build and install SFTP Server (yes / no) - SFTP_SERVER="yes" - - # build and install OpenVPN support (yes / no) - OPENVPN_SUPPORT="no" - WIREGUARD_SUPPORT="no" - - # build and install ZeroTier support (yes / no) - ZEROTIER_SUPPORT="yes" - - # build and install diskmounter support (udevil) - # this service provide auto mounting support for external drives in the - # mediacenter also automount internally drives at boottime via udev (yes / no) - UDEVIL="yes" - - # build and install exFAT fuse support (yes / no) - EXFAT="yes" - - # build and install NTFS-3G fuse support (yes / no) - NTFS3G="no" - - # build and install hfs filesystem utilities (yes / no) - HFSTOOLS="no" - - # Support for partitioning and formating disks in initramfs (yes / no) - # This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage - INITRAMFS_PARTED_SUPPORT="no" - - # build with swap support (yes / no) - SWAP_SUPPORT="yes" - - # swap support enabled per default (yes / no) - SWAP_ENABLED_DEFAULT="yes" - - # swapfile size if SWAP_SUPPORT=yes in MB - SWAPFILESIZE="384" - - # Some devices have internal storage. - INSTALLER_SUPPORT="yes" - - # cron support (yes / no) - CRON_SUPPORT="no" - - # Settings package name - blank if not required - DISTRO_PKG_SETTINGS="" - - # htop tool (yes / no) - HTOP_TOOL="yes" diff --git a/projects/Rockchip/packages/u-boot/package.mk b/projects/Rockchip/packages/u-boot/package.mk index bf80822ac..46fa0d49d 100644 --- a/projects/Rockchip/packages/u-boot/package.mk +++ b/projects/Rockchip/packages/u-boot/package.mk @@ -5,22 +5,18 @@ PKG_NAME="u-boot" PKG_ARCH="arm aarch64" -PKG_SITE="https://github.com/JustEnoughLinuxOS" +PKG_SITE="https://github.com/ROCKNIX" PKG_LICENSE="GPL" PKG_DEPENDS_TARGET="toolchain Python3 swig:host rkbin glibc pyelftools:host" PKG_LONGDESC="Rockchip U-Boot is a bootloader for embedded systems." PKG_PATCH_DIRS+="${DEVICE}" case ${DEVICE} in - RK358*) + RK3588*) PKG_VERSION="d34ff0716" - PKG_URL="${PKG_SITE}/rk35xx-uboot/archive/${PKG_VERSION}.tar.gz" + PKG_URL="${PKG_SITE}/rk3588-uboot/archive/${PKG_VERSION}.tar.gz" ;; - RK3566-BSP*) - PKG_URL="${PKG_SITE}/rk356x-uboot.git" - PKG_VERSION="97c658238f7ccd436fbdede451bfd7488514a5c8" - ;; - RK356*) + RK3566*) PKG_URL="https://github.com/u-boot/u-boot.git" PKG_VERSION="e8f2404e093daf6cc3ac2b3233e3c6770d13e371" PKG_GIT_CLONE_BRANCH="master" @@ -84,20 +80,11 @@ make_target() { export BL31="${PKG_BL31}" export ROCKCHIP_TPL="${PKG_DATAFILE}" - case ${DEVICE} in - RK3566-BSP*) - DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm64 make mrproper - DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm64 make ${UBOOT_CONFIG} BL31=${PKG_BL31} ${PKG_LOADER} u-boot.dtb u-boot.itb CONFIG_MKIMAGE_DTC_PATH="scripts/dtc/dtc" - DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm64 _python_sysroot="${TOOLCHAIN}" _python_prefix=/ _python_exec_prefix=/ make HOSTCC="${HOST_CC}" HOSTLDFLAGS="-L${TOOLCHAIN}/lib" HOSTSTRIP="true" CONFIG_MKIMAGE_DTC_PATH="scripts/dtc/dtc" - ;; - *) - DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm64 make mrproper - echo "begin make" - DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="--lssl -lcrypto" ARCH=arm64 make ${UBOOT_CONFIG} ${PKG_LOADER} u-boot.dtb u-boot.img tools HOSTCC="${HOST_CC}" HOSTLDFLAGS="-L${TOOLCHAIN}/lib" HOSTCFLAGS="-I${TOOLCHAIN}/include" - echo "end make" - DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm64 _python_sysroot="${TOOLCHAIN}" _python_prefix=/ _python_exec_prefix=/ make HOSTCC="${HOST_CC}" HOSTLDFLAGS="-L${TOOLCHAIN}/lib" HOSTCFLAGS="-I${TOOLCHAIN}/include" HOSTSTRIP="true" CONFIG_MKIMAGE_DTC_PATH="scripts/dtc/dtc" - ;; - esac + DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm64 make mrproper + echo "begin make" + DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="--lssl -lcrypto" ARCH=arm64 make ${UBOOT_CONFIG} ${PKG_LOADER} u-boot.dtb u-boot.img tools HOSTCC="${HOST_CC}" HOSTLDFLAGS="-L${TOOLCHAIN}/lib" HOSTCFLAGS="-I${TOOLCHAIN}/include" + echo "end make" + DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm64 _python_sysroot="${TOOLCHAIN}" _python_prefix=/ _python_exec_prefix=/ make HOSTCC="${HOST_CC}" HOSTLDFLAGS="-L${TOOLCHAIN}/lib" HOSTCFLAGS="-I${TOOLCHAIN}/include" HOSTSTRIP="true" CONFIG_MKIMAGE_DTC_PATH="scripts/dtc/dtc" elif [[ "${PKG_SOC}" =~ "rk3588" ]] then DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm64 make mrproper diff --git a/projects/Rockchip/packages/u-boot/patches/RK3566-BSP-X55/001-charge-led.patch b/projects/Rockchip/packages/u-boot/patches/RK3566-BSP-X55/001-charge-led.patch deleted file mode 100644 index a26c53b2b..000000000 --- a/projects/Rockchip/packages/u-boot/patches/RK3566-BSP-X55/001-charge-led.patch +++ /dev/null @@ -1,219 +0,0 @@ -diff --git a/arch/arm/dts/rk3568-evb.dts b/arch/arm/dts/rk3568-evb.dts -index 950bc3a..f893a9a 100644 ---- a/arch/arm/dts/rk3568-evb.dts -+++ b/arch/arm/dts/rk3568-evb.dts -@@ -28,30 +28,77 @@ - press-threshold-microvolt = <9>; - }; - }; -- leds: gpio-leds { -+ /*leds: gpio-leds { - compatible = "gpio-leds"; - pinctrl-names = "default"; - pinctrl-0 =<&leds_gpio>; - - led@1 { -- gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; -+ gpios = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>; - label = "battery_full"; - default-state="on"; - retain-state-suspended; - }; - - led@2 { -- gpios = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>; -+ gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_HIGH>; - label = "battery_charging"; - retain-state-suspended; - }; - - led@3 { -- gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; -+ gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>; - label = "low_power"; - default-state="off"; - retain-state-suspended; - }; -+ };*/ -+}; -+ -+&i2c0 { -+ rk817: pmic@20 { -+ battery { -+ compatible = "rk817,battery"; -+ ocv_table = <3400 3553 3621 3688 3735 3768 3801 -+ 3826 3843 3857 3878 3904 3934 3972 -+ 4006 4020 4030 4044 4059 4083 4138>; -+ design_capacity = <3527>; -+ design_qmax = <3880>; -+ bat_res = <91>; -+ sleep_enter_current = <150>; -+ sleep_exit_current = <180>; -+ sleep_filter_current = <100>; -+ power_off_thresd = <3350>; -+ zero_algorithm_vol = <3300>; -+ max_soc_offset = <60>; -+ monitor_sec = <5>; -+ sample_res = <10>; -+ virtual_power = <0>; -+ // dc_det_gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>;//uboot使用 -+ charge_red_gpio = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;//充电指示灯 红 -+ charge_green_gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;//充电指示灯 绿 -+ charge_yellow_gpio = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;//充电指示灯 黄 -+ }; -+ -+ charger { -+ compatible = "rk817,charger"; -+ min_input_voltage = <4500>; -+ max_input_current = <2000>; -+ max_chrg_current = <2000>; -+ max_chrg_voltage = <4300>; -+ chrg_term_mode = <0>; -+ chrg_finish_cur = <300>; -+ virtual_power = <0>; -+ dc_det_adc = <0>; -+ // dc_det_gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>; -+ charge_red_gpio = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>;//充电指示灯 红 -+ charge_green_gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;//充电指示灯 绿 -+ charge_yellow_gpio = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;//充电指示灯 黄 -+ pinctrl-names = "default"; -+ pinctrl-0 = <&charge_led_gpio>; -+ extcon = <&usb2phy0>; -+ gate_function_disable = <1>; -+ }; - }; - }; - -@@ -131,12 +178,20 @@ - }; - - &pinctrl { -- gpio-leds { -+ /*gpio-leds { - leds_gpio: leds-gpio { - rockchip,pins = -- <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>, -- <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>, -- <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; -+ <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>, -+ <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>, -+ <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; - }; -- }; -+ };*/ -+ led { -+ charge_led_gpio:charge-led-gpio{ -+ rockchip,pins = <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>, -+ <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>, -+ <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ -+ }; - }; -diff --git a/drivers/power/fuel_gauge/fg_rk817.c b/drivers/power/fuel_gauge/fg_rk817.c -index b5abb72..f54188c 100644 ---- a/drivers/power/fuel_gauge/fg_rk817.c -+++ b/drivers/power/fuel_gauge/fg_rk817.c -@@ -256,6 +256,10 @@ struct rk817_battery_device { - u32 bat_res_up; - u32 bat_res_down; - u32 variant; -+ struct gpio_desc dc_det_gpio; -+ struct gpio_desc charge_red_gpio; -+ struct gpio_desc charge_green_gpio; -+ struct gpio_desc charge_yellow_gpio; - }; - - static u32 interpolate(int value, u32 *table, int size) -@@ -948,15 +952,27 @@ static int rk817_bat_update_get_current(struct udevice *dev) - return VIRTUAL_POWER_CUR; - } - -+static int get_dc_statue(struct rk817_battery_device *battery) -+{ -+ -+// printf("%s.... dc status = %d \n",__func__,dm_gpio_get_value(&battery->dc_det_gpio)); -+ if (dm_gpio_get_value(&battery->dc_det_gpio)) -+ return true; -+ else -+ return false; -+} - static int rk817_bat_dwc_otg_check_dpdm(struct rk817_battery_device *battery) - { - if (battery->variant == RK809_ID) { -+ // printf("%s.... rk809 \n",__func__); - if (rk817_bat_read(battery, PMIC_SYS_STS) & PLUG_IN_STS) - return AC_CHARGER; - else - return NO_CHARGER; - } else { -+ // printf("%s.... rk817 \n",__func__); - return rockchip_chg_get_type(); -+ // return get_dc_statue(battery); - } - } - -@@ -1186,6 +1202,23 @@ static void rk817_bat_smooth_charge(struct rk817_battery_device *battery) - else if (battery->dsoc < 0) - battery->dsoc = 0; - -+ //黄灯 -+ if (get_dc_statue(battery)){ -+ dm_gpio_set_value(&battery->charge_yellow_gpio,1); -+ if (battery->dsoc == 100) -+ dm_gpio_set_value(&battery->charge_yellow_gpio,0); -+ }else -+ dm_gpio_set_value(&battery->charge_yellow_gpio,0); -+ -+ //红绿 -+ if (battery->dsoc >= 15){ -+ dm_gpio_set_value(&battery->charge_green_gpio,1); //电量足 -+ dm_gpio_set_value(&battery->charge_red_gpio,0); -+ }else{ -+ dm_gpio_set_value(&battery->charge_green_gpio,0); //电量不足 -+ dm_gpio_set_value(&battery->charge_red_gpio,1); -+ } -+ - rk817_bat_save_dsoc(battery, battery->dsoc); - rk817_bat_save_cap(battery, battery->remain_cap / 1000); - out: -@@ -1319,6 +1352,39 @@ static int rk817_fg_ofdata_to_platdata(struct udevice *dev) - battery->res_div = (value == SAMPLE_RES_20mR) ? - SAMPLE_RES_DIV2 : SAMPLE_RES_DIV1; - -+ value = gpio_request_by_name_nodev(dev_ofnode(dev), "dc_det_gpio", -+ 0, &battery->dc_det_gpio,GPIOD_IS_IN); -+ if (!value) { -+ printf("DC is valid\n"); -+ } else { -+ printf("DC is invalid\n"); -+ } -+ -+ value = gpio_request_by_name_nodev(dev_ofnode(dev), "charge_red_gpio", -+ 0, &battery->charge_red_gpio,GPIOD_IS_OUT); -+ if (!value) { -+ printf("charge_red_gpio is valid\n"); -+ } else { -+ printf("charge_red_gpio is invalid\n"); -+ } -+ -+ value = gpio_request_by_name_nodev(dev_ofnode(dev), "charge_green_gpio", -+ 0, &battery->charge_green_gpio,GPIOD_IS_OUT); -+ if (!value) { -+ printf("charge_green_gpio is valid\n"); -+ } else { -+ printf("charge_green_gpio is invalid\n"); -+ } -+ -+ -+ value = gpio_request_by_name_nodev(dev_ofnode(dev), "charge_yellow_gpio", -+ 0, &battery->charge_yellow_gpio,GPIOD_IS_OUT); -+ if (!value) { -+ printf("charge_yellow_gpio is valid\n"); -+ } else { -+ printf("charge_yellow_gpio is invalid\n"); -+ } -+ - DBG("OCV Value:"); - for (i = 0; i < battery->ocv_size; i++) - DBG("%d ", battery->ocv_table[i]); diff --git a/projects/Rockchip/packages/u-boot/patches/RK3566-X55/001-v3-add_additional_boards_and_features_to_rgxx3.patch b/projects/Rockchip/packages/u-boot/patches/RK3566-X55/001-v3-add_additional_boards_and_features_to_rgxx3.patch deleted file mode 100644 index 602bbcfa8..000000000 --- a/projects/Rockchip/packages/u-boot/patches/RK3566-X55/001-v3-add_additional_boards_and_features_to_rgxx3.patch +++ /dev/null @@ -1,919 +0,0 @@ -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, -+ }, - }; - - /* -@@ -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; -+ } -+ -+ /* 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. -+ - 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(-) - -diff --git a/arch/arm/mach-rockchip/Makefile b/arch/arm/mach-rockchip/Makefile -index 1dc92066bb..ff089ae949 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) - # inside of boot_mode.c when CONFIG_ROCKCHIP_BOOT_MODE_REG is 0. This way, - # we can have the preprocessor correctly recognise both 0x0 and 0 - # meaning "turn it off". - obj-y += boot_mode.o -+ -+ifeq ($(CONFIG_SPL_BUILD)$(CONFIG_TPL_BUILD),) - obj-$(CONFIG_ROCKCHIP_COMMON_BOARD) += board.o - 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 ---- 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 -+ - __weak int rockchip_dnl_key_pressed(void) - { - unsigned int val; -@@ -52,7 +56,8 @@ __weak int rockchip_dnl_key_pressed(void) - ret = -ENODEV; - uclass_foreach_dev(dev, uc) { - if (!strncmp(dev->name, "saradc", 6)) { -- ret = adc_channel_single_shot(dev->name, 1, &val); -+ ret = adc_channel_single_shot(dev->name, -+ RK_DNL_ADC_CHAN, &val); - break; - } - } -@@ -73,11 +78,13 @@ __weak int rockchip_dnl_key_pressed(void) - - void rockchip_dnl_mode_check(void) - { -+#if CONFIG_IS_ENABLED(ADC) - if (rockchip_dnl_key_pressed()) { - printf("download key pressed, entering download mode..."); - set_back_to_bootrom_dnl_flag(); - do_reset(NULL, 0, 0, NULL); - } -+#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 ---- 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[] = { - }; - - /* -- * Start LED very early so user knows device is on. Set color -+ * Check if rockchip_dnl button is pressed and reboot into rockusb if -+ * true. Start LED very early so user knows device is on. Set color - * to red. - */ - void spl_board_init(void) - { -+ setup_boot_mode(); -+ - /* 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/configs/anbernic-rgxx3-rk3566_defconfig b/configs/anbernic-rgxx3-rk3566_defconfig -index ed6643d9d4..4e72f75815 100644 ---- a/configs/anbernic-rgxx3-rk3566_defconfig -+++ b/configs/anbernic-rgxx3-rk3566_defconfig -@@ -3,6 +3,7 @@ CONFIG_SKIP_LOWLEVEL_INIT=y - CONFIG_COUNTER_FREQUENCY=24000000 - CONFIG_ARCH_ROCKCHIP=y - CONFIG_TEXT_BASE=0x00a00000 -+CONFIG_SPL_GPIO=y - CONFIG_SPL_LIBCOMMON_SUPPORT=y - CONFIG_SPL_LIBGENERIC_SUPPORT=y - CONFIG_NR_DRAM_BANKS=2 -@@ -24,7 +25,9 @@ CONFIG_SYS_LOAD_ADDR=0xc00800 - CONFIG_DEBUG_UART=y - CONFIG_FIT=y - CONFIG_FIT_VERBOSE=y -+CONFIG_SPL_FIT_SIGNATURE=y - CONFIG_SPL_LOAD_FIT=y -+CONFIG_LEGACY_IMAGE_FORMAT=y - CONFIG_OF_BOARD_SETUP=y - CONFIG_OF_STDOUT_VIA_ALIAS=y - CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-anbernic-rgxx3.dtb" -@@ -32,7 +35,7 @@ CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-anbernic-rgxx3.dtb" - # CONFIG_DISPLAY_CPUINFO is not set - CONFIG_DISPLAY_BOARDINFO_LATE=y - CONFIG_BOARD_RNG_SEED=y --CONFIG_SPL_MAX_SIZE=0x20000 -+CONFIG_SPL_MAX_SIZE=0x40000 - CONFIG_SPL_PAD_TO=0x7f8000 - CONFIG_SPL_HAS_BSS_LINKER_SECTION=y - CONFIG_SPL_BSS_START_ADDR=0x4000000 -@@ -41,6 +44,8 @@ CONFIG_SPL_BOARD_INIT=y - # CONFIG_SPL_RAW_IMAGE_SUPPORT is not set - # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set - CONFIG_SPL_STACK_R=y -+CONFIG_SPL_ADC=y -+CONFIG_SPL_POWER=y - CONFIG_SPL_ATF=y - CONFIG_CMD_PWM=y - CONFIG_CMD_GPT=y -@@ -50,8 +55,10 @@ CONFIG_CMD_MMC=y - # CONFIG_SPL_DOS_PARTITION is not set - CONFIG_SPL_OF_CONTROL=y - CONFIG_OF_LIVE=y -+CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" - CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y - # CONFIG_NET is not set -+CONFIG_SPL_DM_SEQ_ALIAS=y - CONFIG_SPL_REGMAP=y - CONFIG_SPL_SYSCON=y - CONFIG_SPL_CLK=y -@@ -67,13 +74,13 @@ CONFIG_MMC_SDHCI=y - CONFIG_MMC_SDHCI_SDMA=y - CONFIG_MMC_SDHCI_ROCKCHIP=y - CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y -+CONFIG_SPL_PINCTRL=y - CONFIG_DM_PMIC=y - CONFIG_DM_PMIC_FAN53555=y - CONFIG_PMIC_RK8XX=y --CONFIG_REGULATOR_PWM=y --CONFIG_DM_REGULATOR_GPIO=y -+CONFIG_SPL_DM_REGULATOR=y -+CONFIG_SPL_DM_REGULATOR_FIXED=y - CONFIG_REGULATOR_RK8XX=y --CONFIG_DM_REGULATOR_SCMI=y - CONFIG_PWM_ROCKCHIP=y - CONFIG_SPL_RAM=y - # CONFIG_RAM_ROCKCHIP_DEBUG is not set -@@ -89,5 +96,6 @@ CONFIG_VIDEO_ROCKCHIP=y - CONFIG_DISPLAY_ROCKCHIP_DW_MIPI=y - CONFIG_VIDEO_BRIDGE=y - CONFIG_REGEX=y -+# CONFIG_RSA is not set - CONFIG_ERRNO_STR=y - # CONFIG_EFI_LOADER is not set -diff --git a/include/configs/anbernic-rgxx3-rk3566.h b/include/configs/anbernic-rgxx3-rk3566.h -index 3c4ea4e7d8..2aaac55c06 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-X55/002-v2-add-powkiddy-x55.patch b/projects/Rockchip/packages/u-boot/patches/RK3566-X55/002-v2-add-powkiddy-x55.patch deleted file mode 100644 index 91f6bfaa1..000000000 --- a/projects/Rockchip/packages/u-boot/patches/RK3566-X55/002-v2-add-powkiddy-x55.patch +++ /dev/null @@ -1,1383 +0,0 @@ -From: Chris Morgan -To: u-boot@lists.denx.de -Cc: jbx6244@gmail.com, jonas@kwiboo.se, kever.yang@rock-chips.com, - philipp.tomsich@vrull.eu, sjg@chromium.org, - Chris Morgan -Subject: [PATCH V2] board: rockchip: add Powkiddy X55 -Date: Thu, 14 Dec 2023 12:24:33 -0600 [thread overview] -Message-ID: <20231214182433.37454-1-macroalpha82@gmail.com> (raw) - -From: Chris Morgan - -The Powkiddy X55 is a Rockchip RK3566 based handheld gaming device. -UART, ADC, eMMC, and SDMMC are tested to work in U-Boot and this -successfully boots mainline Linux. - -Changes since V1: - - Built on top of this patch series [1] which makes the ADC detect - function more generic and also moves the board_rng_seed to a more - generic location. - - Updated U-Boot specific devicetree to drop redundant values and - add nodes required for ADC detection in SPL. - - Updated defconfig to add additional options for SPL ADC detection - logic as well as drop some drivers that are not needed. Note that - CONFIG_DM_PMIC_FAN53555 is used by the tcs,tcs4525 regulator on - i2c0 at 0x1c. Additionally the code fails to compile without - selecting CONFIG_SPL_ROCKCHIP_BACK_TO_BROM. - -[1] https://lore.kernel.org/u-boot/20231211232125.171438-1-macroalpha82@gmail.com/ - -Signed-off-by: Chris Morgan ---- - arch/arm/dts/Makefile | 1 + - arch/arm/dts/rk3566-powkiddy-x55-u-boot.dtsi | 67 ++ - arch/arm/dts/rk3566-powkiddy-x55.dts | 926 +++++++++++++++++++ - arch/arm/mach-rockchip/rk3568/Kconfig | 6 + - board/powkiddy/x55/Kconfig | 15 + - board/powkiddy/x55/MAINTAINERS | 9 + - board/powkiddy/x55/Makefile | 6 + - board/powkiddy/x55/x55.c | 42 + - configs/powkiddy-x55-rk3566_defconfig | 92 ++ - doc/board/index.rst | 1 + - doc/board/powkiddy/index.rst | 9 + - doc/board/powkiddy/x55.rst | 25 + - doc/board/rockchip/rockchip.rst | 1 + - include/configs/powkiddy-x55-rk3566.h | 14 + - 14 files changed, 1214 insertions(+) - create mode 100644 arch/arm/dts/rk3566-powkiddy-x55-u-boot.dtsi - create mode 100644 arch/arm/dts/rk3566-powkiddy-x55.dts - create mode 100644 board/powkiddy/x55/Kconfig - create mode 100644 board/powkiddy/x55/MAINTAINERS - create mode 100644 board/powkiddy/x55/Makefile - create mode 100644 board/powkiddy/x55/x55.c - create mode 100644 configs/powkiddy-x55-rk3566_defconfig - create mode 100644 doc/board/powkiddy/index.rst - create mode 100644 doc/board/powkiddy/x55.rst - create mode 100644 include/configs/powkiddy-x55-rk3566.h - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 5fc888680b..6e5cb7c3e9 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -172,6 +172,7 @@ dtb-$(CONFIG_ROCKCHIP_RK3399) += \ - - dtb-$(CONFIG_ROCKCHIP_RK3568) += \ - rk3566-anbernic-rgxx3.dtb \ -+ rk3566-powkiddy-x55.dtb \ - rk3566-quartz64-a.dtb \ - rk3566-quartz64-b.dtb \ - rk3566-radxa-cm3-io.dtb \ -diff --git a/arch/arm/dts/rk3566-powkiddy-x55-u-boot.dtsi b/arch/arm/dts/rk3566-powkiddy-x55-u-boot.dtsi -new file mode 100644 -index 0000000000..1a3089b598 ---- /dev/null -+++ b/arch/arm/dts/rk3566-powkiddy-x55-u-boot.dtsi -@@ -0,0 +1,67 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+ -+#include "rk356x-u-boot.dtsi" -+ -+/ { -+ chosen { -+ stdout-path = &uart2; -+ }; -+ -+ rng: rng@fe388000 { -+ compatible = "rockchip,cryptov2-rng"; -+ reg = <0x0 0xfe388000 0x0 0x2000>; -+ status = "okay"; -+ }; -+}; -+ -+&cru { -+ assigned-clocks = -+ <&pmucru CLK_RTC_32K>, <&pmucru PLL_PPLL>, -+ <&pmucru PCLK_PMU>, <&cru PLL_CPLL>, -+ <&cru PLL_GPLL>, <&cru PLL_VPLL>, -+ <&cru ACLK_BUS>, <&cru PCLK_BUS>, -+ <&cru ACLK_TOP_HIGH>, <&cru ACLK_TOP_LOW>, -+ <&cru HCLK_TOP>, <&cru PCLK_TOP>, -+ <&cru ACLK_PERIMID>, <&cru HCLK_PERIMID>, -+ <&cru CPLL_500M>, <&cru CPLL_333M>, -+ <&cru CPLL_250M>, <&cru CPLL_125M>, -+ <&cru CPLL_100M>, <&cru CPLL_62P5M>, -+ <&cru CPLL_50M>, <&cru CPLL_25M>; -+ assigned-clock-rates = -+ <32768>, <200000000>, -+ <100000000>, <1000000000>, -+ <1200000000>, <126400000>, -+ <150000000>, <100000000>, -+ <500000000>, <400000000>, -+ <150000000>, <100000000>, -+ <300000000>, <150000000>, -+ <500000000>, <333333333>, -+ <250000000>, <125000000>, -+ <100000000>, <62500000>, -+ <50000000>, <25000000>; -+ assigned-clock-parents = -+ <&pmucru CLK_RTC32K_FRAC>; -+}; -+ -+&pmucru { -+ assigned-clocks = <&pmucru SCLK_32K_IOE>; -+ assigned-clock-parents = <&pmucru CLK_RTC_32K>; -+}; -+ -+/* Move the saradc to a fixed regulator so that it works in SPL. */ -+&saradc { -+ bootph-all; -+ vref-supply = <&vcc_sys>; -+ status = "okay"; -+}; -+ -+&uart2 { -+ clock-frequency = <24000000>; -+ bootph-all; -+ status = "okay"; -+}; -+ -+&vcc_sys { -+ bootph-all; -+ status = "okay"; -+}; -diff --git a/arch/arm/dts/rk3566-powkiddy-x55.dts b/arch/arm/dts/rk3566-powkiddy-x55.dts -new file mode 100644 -index 0000000000..4786b19fd0 ---- /dev/null -+++ b/arch/arm/dts/rk3566-powkiddy-x55.dts -@@ -0,0 +1,926 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) -+ -+/dts-v1/; -+ -+#include -+#include -+#include -+#include -+#include -+#include "rk3566.dtsi" -+ -+/ { -+ model = "Powkiddy x55"; -+ compatible = "powkiddy,x55", "rockchip,rk3566"; -+ -+ aliases { -+ mmc0 = &sdhci; -+ mmc1 = &sdmmc0; -+ mmc2 = &sdmmc2; -+ mmc3 = &sdmmc1; -+ }; -+ -+ chosen: chosen { -+ stdout-path = "serial2:1500000n8"; -+ }; -+ -+ adc_joystick: adc-joystick { -+ compatible = "adc-joystick"; -+ io-channels = <&saradc 0>, <&saradc 1>, -+ <&saradc 2>, <&saradc 3>; -+ poll-interval = <60>; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ axis@0 { -+ reg = <0>; -+ abs-flat = <30>; -+ abs-fuzz = <20>; -+ abs-range = <15 1023>; -+ linux,code = ; -+ }; -+ -+ axis@1 { -+ reg = <1>; -+ abs-flat = <30>; -+ abs-fuzz = <20>; -+ abs-range = <1023 15>; -+ linux,code = ; -+ }; -+ -+ axis@2 { -+ reg = <2>; -+ abs-flat = <30>; -+ abs-fuzz = <20>; -+ abs-range = <15 1023>; -+ linux,code = ; -+ }; -+ -+ axis@3 { -+ reg = <3>; -+ abs-flat = <30>; -+ abs-fuzz = <20>; -+ abs-range = <1023 15>; -+ linux,code = ; -+ }; -+ }; -+ -+ backlight: backlight { -+ compatible = "pwm-backlight"; -+ power-supply = <&vcc_sys>; -+ pwms = <&pwm4 0 25000 0>; -+ }; -+ -+ battery: battery { -+ compatible = "simple-battery"; -+ charge-full-design-microamp-hours = <4000000>; -+ charge-term-current-microamp = <300000>; -+ constant-charge-current-max-microamp = <2000000>; -+ constant-charge-voltage-max-microvolt = <4300000>; -+ factory-internal-resistance-micro-ohms = <91000>; -+ voltage-max-design-microvolt = <4138000>; -+ voltage-min-design-microvolt = <3400000>; -+ -+ ocv-capacity-celsius = <20>; -+ ocv-capacity-table-0 = <4138000 100>, <4083000 95>, <4059000 90>, <4044000 85>, -+ <4030000 80>, <4020000 75>, <4006000 70>, <3972000 65>, -+ <3934000 60>, <3904000 55>, <3878000 50>, <3857000 45>, -+ <3843000 40>, <3826000 35>, <3801000 30>, <3768000 25>, -+ <3735000 20>, <3688000 15>, <3621000 10>, <3553000 5>, -+ <3400000 0>; -+ }; -+ -+ gpio_keys_control: gpio-keys-control { -+ compatible = "gpio-keys"; -+ pinctrl-0 = <&btn_pins_ctrl>; -+ pinctrl-names = "default"; -+ -+ button-a { -+ gpios = <&gpio3 RK_PD3 GPIO_ACTIVE_LOW>; -+ label = "EAST"; -+ linux,code = ; -+ }; -+ -+ button-b { -+ gpios = <&gpio3 RK_PD2 GPIO_ACTIVE_LOW>; -+ label = "SOUTH"; -+ linux,code = ; -+ }; -+ -+ button-down { -+ gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>; -+ label = "DPAD-DOWN"; -+ linux,code = ; -+ }; -+ -+ button-l1 { -+ gpios = <&gpio3 RK_PD0 GPIO_ACTIVE_LOW>; -+ label = "TL"; -+ linux,code = ; -+ }; -+ -+ button-l2 { -+ gpios = <&gpio3 RK_PD1 GPIO_ACTIVE_LOW>; -+ label = "TL2"; -+ linux,code = ; -+ }; -+ -+ button-left { -+ gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_LOW>; -+ label = "DPAD-LEFT"; -+ linux,code = ; -+ }; -+ -+ button-right { -+ gpios = <&gpio3 RK_PD7 GPIO_ACTIVE_LOW>; -+ label = "DPAD-RIGHT"; -+ linux,code = ; -+ }; -+ -+ button-select { -+ gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_LOW>; -+ label = "SELECT"; -+ linux,code = ; -+ }; -+ -+ button-start { -+ gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_LOW>; -+ label = "START"; -+ linux,code = ; -+ }; -+ -+ button-thumbl { -+ gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_LOW>; -+ label = "THUMBL"; -+ linux,code = ; -+ }; -+ -+ button-thumbr { -+ gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_LOW>; -+ label = "THUMBR"; -+ linux,code = ; -+ }; -+ -+ button-r1 { -+ gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_LOW>; -+ label = "TR"; -+ linux,code = ; -+ }; -+ -+ button-r2 { -+ gpios = <&gpio3 RK_PC7 GPIO_ACTIVE_LOW>; -+ label = "TR2"; -+ linux,code = ; -+ }; -+ -+ button-up { -+ gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>; -+ label = "DPAD-UP"; -+ linux,code = ; -+ }; -+ -+ button-x { -+ gpios = <&gpio3 RK_PD5 GPIO_ACTIVE_LOW>; -+ label = "NORTH"; -+ linux,code = ; -+ }; -+ -+ button-y { -+ gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_LOW>; -+ label = "WEST"; -+ linux,code = ; -+ }; -+ }; -+ -+ gpio_keys_vol: gpio-keys-vol { -+ compatible = "gpio-keys"; -+ autorepeat; -+ pinctrl-0 = <&btn_pins_vol>; -+ pinctrl-names = "default"; -+ -+ button-voldown { -+ gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_LOW>; -+ label = "VOLUMEDOWN"; -+ linux,code = ; -+ }; -+ -+ button-volup { -+ gpios = <&gpio4 RK_PA5 GPIO_ACTIVE_LOW>; -+ label = "VOLUMEUP"; -+ linux,code = ; -+ }; -+ }; -+ -+ gpio_leds: gpio-leds { -+ compatible = "gpio-leds"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&led_pins>; -+ -+ red_led: led-0 { -+ color = ; -+ default-state = "off"; -+ gpios = <&gpio4 RK_PB4 GPIO_ACTIVE_HIGH>; -+ function = LED_FUNCTION_STATUS; -+ }; -+ -+ green_led: led-1 { -+ color = ; -+ default-state = "on"; -+ gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>; -+ function = LED_FUNCTION_POWER; -+ }; -+ -+ amber_led: led-2 { -+ color = ; -+ gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; -+ function = LED_FUNCTION_CHARGING; -+ }; -+ -+ }; -+ -+ hdmi-con { -+ compatible = "hdmi-connector"; -+ ddc-i2c-bus = <&i2c5>; -+ type = "c"; -+ -+ port { -+ hdmi_con_in: endpoint { -+ remote-endpoint = <&hdmi_out_con>; -+ }; -+ }; -+ }; -+ -+ sdio_pwrseq: sdio-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ clocks = <&rk817 1>; -+ clock-names = "ext_clock"; -+ pinctrl-0 = <&wifi_enable_h>; -+ pinctrl-names = "default"; -+ post-power-on-delay-ms = <200>; -+ reset-gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_LOW>; -+ }; -+ -+ /* Channels reversed for both headphones and speakers. */ -+ sound { -+ compatible = "simple-audio-card"; -+ pinctrl-0 = <&hp_det>; -+ pinctrl-names = "default"; -+ simple-audio-card,name = "rk817_ext"; -+ simple-audio-card,aux-devs = <&spk_amp>; -+ simple-audio-card,format = "i2s"; -+ simple-audio-card,hp-det-gpio = <&gpio4 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_8ch>; -+ }; -+ }; -+ -+ spk_amp: audio-amplifier { -+ compatible = "simple-audio-amplifier"; -+ enable-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>; -+ pinctrl-0 = <&spk_amp_enable_h>; -+ pinctrl-names = "default"; -+ sound-name-prefix = "Speaker Amp"; -+ }; -+ -+ vcc5v0_host: regulator-vcc5v0-host { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>; -+ pinctrl-0 = <&vcc5v0_host_en>; -+ pinctrl-names = "default"; -+ regulator-name = "vcc5v0_host"; -+ vin-supply = <&dcdc_boost>; -+ }; -+ -+ vcc_lcd: regulator-vcc-lcd { -+ compatible = "regulator-fixed"; -+ enable-active-high; -+ gpio = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>; -+ pinctrl-0 = <&vcc_lcd_en>; -+ pinctrl-names = "default"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc_lcd"; -+ }; -+ -+ vcc_sys: regulator-vcc-sys { -+ compatible = "regulator-fixed"; -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3800000>; -+ regulator-max-microvolt = <3800000>; -+ regulator-name = "vcc_sys"; -+ }; -+ -+ vcc_wifi: regulator-vcc-wifi { -+ compatible = "regulator-fixed"; -+ gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>; -+ pinctrl-0 = <&vcc_wifi_h>; -+ pinctrl-names = "default"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc_wifi"; -+ }; -+}; -+ -+&combphy1 { -+ status = "okay"; -+}; -+ -+&cru { -+ assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>, -+ <&pmucru PLL_PPLL>, <&cru PLL_VPLL>; -+ assigned-clock-rates = <32768>, <1200000000>, -+ <200000000>, <126400000>; -+}; -+ -+&cpu0 { -+ cpu-supply = <&vdd_cpu>; -+}; -+ -+&cpu1 { -+ cpu-supply = <&vdd_cpu>; -+}; -+ -+&cpu2 { -+ cpu-supply = <&vdd_cpu>; -+}; -+ -+&cpu3 { -+ cpu-supply = <&vdd_cpu>; -+}; -+ -+&dsi_dphy0 { -+ status = "okay"; -+}; -+ -+&dsi0 { -+ status = "okay"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ -+ ports { -+ dsi0_in: port@0 { -+ reg = <0>; -+ dsi0_in_vp1: endpoint { -+ remote-endpoint = <&vp1_out_dsi0>; -+ }; -+ }; -+ -+ dsi0_out: port@1 { -+ reg = <1>; -+ mipi_out_panel: endpoint { -+ remote-endpoint = <&mipi_in_panel>; -+ }; -+ }; -+ }; -+ -+ panel: panel@0 { -+ compatible = "powkiddy,x55-panel", "himax,hx8394"; -+ reg = <0>; -+ backlight = <&backlight>; -+ iovcc-supply = <&vcc_lcd>; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&lcd_rst>; -+ reset-gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_LOW>; -+ rotation = <270>; -+ vcc-supply = <&vcc_lcd>; -+ -+ port { -+ mipi_in_panel: endpoint { -+ remote-endpoint = <&mipi_out_panel>; -+ }; -+ }; -+ }; -+}; -+ -+&gpu { -+ mali-supply = <&vdd_gpu>; -+ status = "okay"; -+}; -+ -+&hdmi { -+ ddc-i2c-bus = <&i2c5>; -+ pinctrl-0 = <&hdmitxm0_cec>; -+ pinctrl-names = "default"; -+ status = "okay"; -+}; -+ -+&hdmi_in { -+ hdmi_in_vp0: endpoint { -+ remote-endpoint = <&vp0_out_hdmi>; -+ }; -+}; -+ -+&hdmi_out { -+ hdmi_out_con: endpoint { -+ remote-endpoint = <&hdmi_con_in>; -+ }; -+}; -+ -+&hdmi_sound { -+ status = "okay"; -+}; -+ -+&i2c0 { -+ status = "okay"; -+ -+ rk817: pmic@20 { -+ compatible = "rockchip,rk817"; -+ reg = <0x20>; -+ assigned-clocks = <&cru I2S1_MCLKOUT_TX>; -+ assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>; -+ clock-names = "mclk"; -+ clock-output-names = "rk808-clkout1", "rk808-clkout2"; -+ clocks = <&cru I2S1_MCLKOUT_TX>; -+ interrupt-parent = <&gpio0>; -+ interrupts = ; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2s1m0_mclk>, <&pmic_int_l>; -+ wakeup-source; -+ #clock-cells = <1>; -+ #sound-dai-cells = <0>; -+ -+ vcc1-supply = <&vcc_sys>; -+ vcc2-supply = <&vcc_sys>; -+ vcc3-supply = <&vcc_sys>; -+ vcc4-supply = <&vcc_sys>; -+ vcc5-supply = <&vcc_sys>; -+ vcc6-supply = <&vcc_sys>; -+ vcc7-supply = <&vcc_sys>; -+ vcc8-supply = <&vcc_sys>; -+ vcc9-supply = <&dcdc_boost>; -+ -+ regulators { -+ vdd_logic: DCDC_REG1 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-ramp-delay = <6001>; -+ regulator-initial-mode = <0x2>; -+ regulator-name = "vdd_logic"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ regulator-suspend-microvolt = <900000>; -+ }; -+ }; -+ -+ vdd_gpu: DCDC_REG2 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-ramp-delay = <6001>; -+ regulator-initial-mode = <0x2>; -+ regulator-name = "vdd_gpu"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc_ddr: DCDC_REG3 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-initial-mode = <0x2>; -+ regulator-name = "vcc_ddr"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ }; -+ }; -+ -+ vcc_3v3: DCDC_REG4 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-initial-mode = <0x2>; -+ regulator-name = "vcc_3v3"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <3300000>; -+ }; -+ }; -+ -+ vcca1v8_pmu: LDO_REG1 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcca1v8_pmu"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <1800000>; -+ }; -+ }; -+ -+ vdda_0v9: LDO_REG2 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <900000>; -+ regulator-max-microvolt = <900000>; -+ regulator-name = "vdda_0v9"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vdda0v9_pmu: LDO_REG3 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <900000>; -+ regulator-max-microvolt = <900000>; -+ regulator-name = "vdda0v9_pmu"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <900000>; -+ }; -+ }; -+ -+ vccio_acodec: LDO_REG4 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vccio_acodec"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vccio_sd: LDO_REG5 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vccio_sd"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc3v3_pmu: LDO_REG6 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc3v3_pmu"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ regulator-suspend-microvolt = <3300000>; -+ }; -+ }; -+ -+ vcc_1v8: LDO_REG7 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc_1v8"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ vcc1v8_dvp: LDO_REG8 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vcc1v8_dvp"; -+ regulator-state-mem { -+ regulator-on-in-suspend; -+ }; -+ }; -+ -+ vcc2v8_dvp: LDO_REG9 { -+ regulator-always-on; -+ regulator-boot-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc2v8_dvp"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ dcdc_boost: BOOST { -+ regulator-min-microvolt = <4700000>; -+ regulator-max-microvolt = <5400000>; -+ regulator-name = "boost"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ -+ otg_switch: OTG_SWITCH { -+ regulator-name = "otg_switch"; -+ regulator-state-mem { -+ regulator-off-in-suspend; -+ }; -+ }; -+ }; -+ -+ rk817_charger: charger { -+ monitored-battery = <&battery>; -+ rockchip,resistor-sense-micro-ohms = <10000>; -+ rockchip,sleep-enter-current-microamp = <150000>; -+ 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 { -+ pinctrl-0 = <&i2c5m1_xfer>; -+ pinctrl-names = "default"; -+ status = "okay"; -+}; -+ -+&i2s0_8ch { -+ status = "okay"; -+}; -+ -+&i2s1_8ch { -+ pinctrl-0 = <&i2s1m0_sclktx>, <&i2s1m0_lrcktx>, <&i2s1m0_sdi0>, -+ <&i2s1m0_sdo0>; -+ pinctrl-names = "default"; -+ rockchip,trcm-sync-tx-only; -+ status = "okay"; -+}; -+ -+&pinctrl { -+ audio-amplifier { -+ spk_amp_enable_h: spk-amp-enable-h { -+ rockchip,pins = -+ <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ gpio-control { -+ btn_pins_ctrl: btn-pins-ctrl { -+ rockchip,pins = -+ <3 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>, -+ <3 RK_PC7 RK_FUNC_GPIO &pcfg_pull_up>, -+ <3 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>, -+ <3 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>, -+ <3 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>, -+ <3 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>, -+ <3 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>, -+ <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>, -+ <3 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>, -+ <3 RK_PD7 RK_FUNC_GPIO &pcfg_pull_up>, -+ <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>, -+ <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>, -+ <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>, -+ <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_up>, -+ <4 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>, -+ <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; -+ }; -+ -+ btn_pins_vol: btn-pins-vol { -+ rockchip,pins = -+ <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>, -+ <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; -+ }; -+ }; -+ -+ gpio-lcd { -+ lcd_rst: lcd-rst { -+ rockchip,pins = -+ <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ gpio-leds { -+ led_pins: led-pins { -+ rockchip,pins = -+ <4 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>, -+ <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>, -+ <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ hp-detect { -+ hp_det: hp-det { -+ rockchip,pins = -+ <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; -+ }; -+ }; -+ -+ pmic { -+ pmic_int_l: pmic-int-l { -+ rockchip,pins = -+ <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; -+ }; -+ }; -+ -+ sdio-pwrseq { -+ wifi_enable_h: wifi-enable-h { -+ rockchip,pins = -+ <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ usb { -+ vcc5v0_host_en: vcc5v0-host-en { -+ rockchip,pins = -+ <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_up>; -+ }; -+ -+ vcc5v0_otg_en: vcc5v0-otg-en { -+ rockchip,pins = -+ <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; -+ }; -+ }; -+ -+ vcc-lcd { -+ vcc_lcd_en: vcc-lcd-en { -+ rockchip,pins = -+ <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+ -+ vcc-wifi { -+ vcc_wifi_h: vcc-wifi-h { -+ rockchip,pins = -+ <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; -+ }; -+ }; -+}; -+ -+&pmu_io_domains { -+ status = "okay"; -+ pmuio1-supply = <&vcc3v3_pmu>; -+ pmuio2-supply = <&vcca1v8_pmu>; -+ vccio1-supply = <&vccio_acodec>; -+ vccio3-supply = <&vccio_sd>; -+ vccio4-supply = <&vcca1v8_pmu>; -+ vccio5-supply = <&vcc2v8_dvp>; -+ vccio6-supply = <&vcc1v8_dvp>; -+ vccio7-supply = <&vcc_3v3>; -+}; -+ -+&pwm4 { -+ status = "okay"; -+}; -+ -+&saradc { -+ vref-supply = <&vcc_1v8>; -+ status = "okay"; -+}; -+ -+&sdhci { -+ bus-width = <8>; -+ mmc-hs200-1_8v; -+ non-removable; -+ pinctrl-0 = <&emmc_bus8>, <&emmc_clk>, <&emmc_cmd>, -+ <&emmc_datastrobe>, <&emmc_rstnout>; -+ pinctrl-names = "default"; -+ status = "okay"; -+}; -+ -+&sdmmc0 { -+ bus-width = <4>; -+ cap-mmc-highspeed; -+ cap-sd-highspeed; -+ disable-wp; -+ pinctrl-0 = <&sdmmc0_bus4>, <&sdmmc0_clk>, <&sdmmc0_cmd>, -+ <&sdmmc0_det>; -+ pinctrl-names = "default"; -+ sd-uhs-sdr104; -+ vqmmc-supply = <&vccio_sd>; -+ status = "okay"; -+}; -+ -+&sdmmc1 { -+ bus-width = <4>; -+ cap-sd-highspeed; -+ cap-sdio-irq; -+ keep-power-in-suspend; -+ mmc-pwrseq = <&sdio_pwrseq>; -+ non-removable; -+ pinctrl-0 = <&sdmmc1_bus4>, <&sdmmc1_cmd>, <&sdmmc1_clk>; -+ pinctrl-names = "default"; -+ vmmc-supply = <&vcc_wifi>; -+ status = "okay"; -+}; -+ -+&sdmmc2 { -+ bus-width = <4>; -+ cap-mmc-highspeed; -+ cap-sd-highspeed; -+ disable-wp; -+ pinctrl-0 = <&sdmmc2m1_bus4>, <&sdmmc2m1_cmd>, <&sdmmc2m1_clk>, -+ <&sdmmc2m1_det>; -+ pinctrl-names = "default"; -+ sd-uhs-sdr104; -+ vqmmc-supply = <&vcc2v8_dvp>; -+ status = "okay"; -+}; -+ -+&tsadc { -+ rockchip,hw-tshut-mode = <1>; -+ rockchip,hw-tshut-polarity = <0>; -+ status = "okay"; -+}; -+ -+&uart1 { -+ pinctrl-0 = <&uart1m0_xfer>, <&uart1m0_ctsn>, <&uart1m0_rtsn>; -+ pinctrl-names = "default"; -+ uart-has-rtscts; -+ status = "okay"; -+ -+ bluetooth { -+ compatible = "realtek,rtl8821cs-bt", "realtek,rtl8723bs-bt"; -+ device-wake-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>; -+ enable-gpios = <&gpio0 RK_PC1 GPIO_ACTIVE_HIGH>; -+ host-wake-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; -+ }; -+}; -+ -+&uart2 { -+ status = "okay"; -+}; -+ -+&usb_host0_xhci { -+ phys = <&usb2phy0_otg>; -+ phy-names = "usb2-phy"; -+ status = "okay"; -+}; -+ -+&usb_host1_xhci { -+ status = "okay"; -+}; -+ -+&usb2phy0 { -+ status = "okay"; -+}; -+ -+&usb2phy0_otg { -+ status = "okay"; -+}; -+ -+&usb2phy0_host { -+ phy-supply = <&vcc5v0_host>; -+ status = "okay"; -+}; -+ -+&vop { -+ assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; -+ assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; -+ status = "okay"; -+}; -+ -+&vop_mmu { -+ status = "okay"; -+}; -+ -+&vp0 { -+ vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { -+ reg = ; -+ remote-endpoint = <&hdmi_in_vp0>; -+ }; -+}; -+ -+&vp1 { -+ vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 { -+ reg = ; -+ remote-endpoint = <&dsi0_in_vp1>; -+ }; -+}; -diff --git a/arch/arm/mach-rockchip/rk3568/Kconfig b/arch/arm/mach-rockchip/rk3568/Kconfig -index baa51349f4..a97da8ae55 100644 ---- a/arch/arm/mach-rockchip/rk3568/Kconfig -+++ b/arch/arm/mach-rockchip/rk3568/Kconfig -@@ -22,6 +22,11 @@ config TARGET_ODROID_M1_RK3568 - help - Hardkernel ODROID-M1 single board computer with a RK3568B2 SoC. - -+config TARGET_POWKIDDY_X55_RK3566 -+ bool "Powkiddy X55" -+ help -+ Powkiddy X55 handheld gaming console with an RK3566 SoC. -+ - config TARGET_QUARTZ64_RK3566 - bool "Pine64 Quartz64" - help -@@ -45,5 +50,6 @@ source "board/rockchip/evb_rk3568/Kconfig" - source "board/anbernic/rgxx3_rk3566/Kconfig" - source "board/hardkernel/odroid_m1/Kconfig" - source "board/pine64/quartz64_rk3566/Kconfig" -+source "board/powkiddy/x55/Kconfig" - - endif -diff --git a/board/powkiddy/x55/Kconfig b/board/powkiddy/x55/Kconfig -new file mode 100644 -index 0000000000..a7b3ed4d0d ---- /dev/null -+++ b/board/powkiddy/x55/Kconfig -@@ -0,0 +1,15 @@ -+if TARGET_POWKIDDY_X55_RK3566 -+ -+config SYS_BOARD -+ default "x55" -+ -+config SYS_VENDOR -+ default "powkiddy" -+ -+config SYS_CONFIG_NAME -+ default "powkiddy-x55-rk3566" -+ -+config BOARD_SPECIFIC_OPTIONS -+ def_bool y -+ -+endif -diff --git a/board/powkiddy/x55/MAINTAINERS b/board/powkiddy/x55/MAINTAINERS -new file mode 100644 -index 0000000000..9ed48f408e ---- /dev/null -+++ b/board/powkiddy/x55/MAINTAINERS -@@ -0,0 +1,9 @@ -+X55 -+M: Chris Morgan -+S: Maintained -+F: board/powkiddy/x55 -+F: include/configs/powkiddy-x55-rk3566.h -+F: configs/powkiddy-x55-rk3566_defconfig -+F: arch/arm/dts/rk3566-powkiddy-x55.dts -+F: arch/arm/dts/rk3566-powkiddy-x55-u-boot.dtsi -+F: doc/board/powkiddy/x55.rst -diff --git a/board/powkiddy/x55/Makefile b/board/powkiddy/x55/Makefile -new file mode 100644 -index 0000000000..55c8c16aa1 ---- /dev/null -+++ b/board/powkiddy/x55/Makefile -@@ -0,0 +1,6 @@ -+# SPDX-License-Identifier: GPL-2.0+ -+# -+# Copyright (c) 2023 Chris Morgan -+# -+ -+obj-y += x55.o -diff --git a/board/powkiddy/x55/x55.c b/board/powkiddy/x55/x55.c -new file mode 100644 -index 0000000000..8d98baa24f ---- /dev/null -+++ b/board/powkiddy/x55/x55.c -@@ -0,0 +1,42 @@ -+// SPDX-License-Identifier: GPL-2.0+ -+/* -+ * Copyright (c) 2023 Chris Morgan -+ */ -+ -+#include -+#include -+ -+#define GPIO4_BASE 0xfe770000 -+#define GPIO_SWPORT_DR_L 0x0000 -+#define GPIO_SWPORT_DDR_L 0x0008 -+#define GPIO_B4 BIT(12) -+#define GPIO_B5 BIT(13) -+#define GPIO_B6 BIT(14) -+ -+#define GPIO_WRITEMASK(bits) ((bits) << 16) -+ -+/* -+ * Start LED very early so user knows device is on. Set color -+ * to red. -+ */ -+void spl_board_init(void) -+{ -+ setup_boot_mode(); -+ -+ /* Set GPIO4_B4, GPIO4_B5, and GPIO4_B6 to output. */ -+ writel(GPIO_WRITEMASK(GPIO_B6 | GPIO_B5 | GPIO_B4) | \ -+ (GPIO_B6 | GPIO_B5 | GPIO_B4), -+ (GPIO4_BASE + GPIO_SWPORT_DDR_L)); -+ /* Set GPIO4_B5 and GPIO4_B6 to 0 and GPIO4_B4 to 1. */ -+ writel(GPIO_WRITEMASK(GPIO_B6 | GPIO_B5 | GPIO_B4) | GPIO_B4, -+ (GPIO4_BASE + GPIO_SWPORT_DR_L)); -+} -+ -+int rk_board_late_init(void) -+{ -+ /* Turn off red LED and turn on orange LED. */ -+ writel(GPIO_WRITEMASK(GPIO_B6 | GPIO_B5 | GPIO_B4) | GPIO_B6, -+ (GPIO4_BASE + GPIO_SWPORT_DR_L)); -+ -+ return 0; -+} -diff --git a/configs/powkiddy-x55-rk3566_defconfig b/configs/powkiddy-x55-rk3566_defconfig -new file mode 100644 -index 0000000000..f9a513f97c ---- /dev/null -+++ b/configs/powkiddy-x55-rk3566_defconfig -@@ -0,0 +1,92 @@ -+CONFIG_ARM=y -+CONFIG_SKIP_LOWLEVEL_INIT=y -+CONFIG_COUNTER_FREQUENCY=24000000 -+CONFIG_ARCH_ROCKCHIP=y -+CONFIG_TEXT_BASE=0x00a00000 -+CONFIG_SPL_GPIO=y -+CONFIG_SPL_LIBCOMMON_SUPPORT=y -+CONFIG_SPL_LIBGENERIC_SUPPORT=y -+CONFIG_NR_DRAM_BANKS=2 -+CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y -+CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0xc00000 -+CONFIG_DEFAULT_DEVICE_TREE="rk3566-powkiddy-x55" -+CONFIG_ROCKCHIP_RK3568=y -+CONFIG_SPL_ROCKCHIP_BACK_TO_BROM=y -+CONFIG_SPL_ROCKCHIP_COMMON_BOARD=y -+CONFIG_ROCKCHIP_RK8XX_DISABLE_BOOT_ON_POWERON=y -+CONFIG_SPL_MMC=y -+CONFIG_SPL_SERIAL=y -+CONFIG_SPL_STACK_R_ADDR=0x600000 -+CONFIG_TARGET_POWKIDDY_X55_RK3566=y -+CONFIG_SPL_STACK=0x400000 -+CONFIG_DEBUG_UART_BASE=0xFE660000 -+CONFIG_DEBUG_UART_CLOCK=24000000 -+CONFIG_SYS_LOAD_ADDR=0xc00800 -+CONFIG_DEBUG_UART=y -+CONFIG_FIT=y -+CONFIG_FIT_VERBOSE=y -+CONFIG_SPL_FIT_SIGNATURE=y -+CONFIG_SPL_LOAD_FIT=y -+CONFIG_LEGACY_IMAGE_FORMAT=y -+CONFIG_OF_STDOUT_VIA_ALIAS=y -+CONFIG_DEFAULT_FDT_FILE="rk3566-powkiddy-x55.dtb" -+# CONFIG_DISPLAY_CPUINFO is not set -+CONFIG_DISPLAY_BOARDINFO_LATE=y -+CONFIG_SPL_MAX_SIZE=0x40000 -+CONFIG_SPL_PAD_TO=0x7f8000 -+CONFIG_SPL_HAS_BSS_LINKER_SECTION=y -+CONFIG_SPL_BSS_START_ADDR=0x4000000 -+CONFIG_SPL_BSS_MAX_SIZE=0x4000 -+CONFIG_SPL_BOARD_INIT=y -+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set -+# CONFIG_SPL_SHARES_INIT_SP_ADDR is not set -+CONFIG_SPL_STACK_R=y -+CONFIG_SPL_ADC=y -+CONFIG_SPL_POWER=y -+CONFIG_SPL_ATF=y -+CONFIG_CMD_PWM=y -+CONFIG_CMD_GPT=y -+CONFIG_CMD_MMC=y -+# CONFIG_CMD_SETEXPR is not set -+# CONFIG_SPL_DOS_PARTITION is not set -+CONFIG_SPL_OF_CONTROL=y -+CONFIG_OF_LIVE=y -+CONFIG_OF_SPL_REMOVE_PROPS="clock-names interrupt-parent assigned-clocks assigned-clock-rates assigned-clock-parents" -+CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=y -+# CONFIG_NET is not set -+CONFIG_SPL_DM_SEQ_ALIAS=y -+CONFIG_SPL_REGMAP=y -+CONFIG_SPL_SYSCON=y -+CONFIG_SPL_CLK=y -+CONFIG_ARM_SMCCC_FEATURES=y -+CONFIG_SCMI_FIRMWARE=y -+CONFIG_ROCKCHIP_GPIO=y -+CONFIG_SYS_I2C_ROCKCHIP=y -+CONFIG_MISC=y -+CONFIG_SUPPORT_EMMC_RPMB=y -+CONFIG_MMC_DW=y -+CONFIG_MMC_DW_ROCKCHIP=y -+CONFIG_MMC_SDHCI=y -+CONFIG_MMC_SDHCI_SDMA=y -+CONFIG_MMC_SDHCI_ROCKCHIP=y -+CONFIG_SPL_PINCTRL=y -+CONFIG_DM_PMIC=y -+CONFIG_DM_PMIC_FAN53555=y -+CONFIG_PMIC_RK8XX=y -+CONFIG_SPL_DM_REGULATOR=y -+CONFIG_SPL_DM_REGULATOR_FIXED=y -+CONFIG_REGULATOR_RK8XX=y -+CONFIG_PWM_ROCKCHIP=y -+CONFIG_SPL_RAM=y -+# CONFIG_RAM_ROCKCHIP_DEBUG is not set -+CONFIG_DM_RNG=y -+CONFIG_RNG_ROCKCHIP=y -+# CONFIG_RNG_SMCCC_TRNG is not set -+CONFIG_BAUDRATE=1500000 -+CONFIG_DEBUG_UART_SHIFT=2 -+CONFIG_SYS_NS16550_MEM32=y -+CONFIG_SYSRESET=y -+CONFIG_REGEX=y -+# CONFIG_RSA is not set -+CONFIG_ERRNO_STR=y -+# CONFIG_EFI_LOADER is not set -diff --git a/doc/board/index.rst b/doc/board/index.rst -index 531e547e7e..dd4bce9981 100644 ---- a/doc/board/index.rst -+++ b/doc/board/index.rst -@@ -36,6 +36,7 @@ Board-specific doc - nxp/index - openpiton/index - phytec/index -+ powkiddy/index - purism/index - qualcomm/index - renesas/index -diff --git a/doc/board/powkiddy/index.rst b/doc/board/powkiddy/index.rst -new file mode 100644 -index 0000000000..b0115a73d4 ---- /dev/null -+++ b/doc/board/powkiddy/index.rst -@@ -0,0 +1,9 @@ -+.. SPDX-License-Identifier: GPL-2.0+ -+ -+Powkiddy -+======== -+ -+.. toctree:: -+ :maxdepth: 2 -+ -+ x55.rst -diff --git a/doc/board/powkiddy/x55.rst b/doc/board/powkiddy/x55.rst -new file mode 100644 -index 0000000000..cd7456883b ---- /dev/null -+++ b/doc/board/powkiddy/x55.rst -@@ -0,0 +1,25 @@ -+.. SPDX-License-Identifier: GPL-2.0+ -+ -+U-Boot for Powkiddy X55 Handheld Gaming Console -+=============================================== -+ -+This allows U-Boot to boot the Powkiddy X55 handheld gaming console. -+The X55 is very similar to the other existing Powkiddy RK3566 based -+devices, except that ADC channels 0-3 are used for the ADC joysticks. -+As a result the same auto detection functionality cannot be used on -+this device as the others. -+ -+The indicator LED will change color based on the boot stage. Red means -+the device is powered on but has yet to start U-Boot, amber means the -+device has started U-Boot and is waiting to boot Linux, and when Linux -+has taken over the LED should change to green (or however it has been -+configured by the user). -+ -+In the event the device needs to enter Rockchip download mode, a user -+can, starting with the power off, hold the left joystick all the way -+to the left and then power on the device. At this point the USB-C port -+marked DC/OTG should be set to peripheral mode and allow a user to -+manipulate the device with the rkdeveloptool tool. -+ -+See :doc:`../rockchip/devicetree/rockchip` for building and flashing -+instructions. -diff --git a/doc/board/rockchip/rockchip.rst b/doc/board/rockchip/rockchip.rst -index 18d0b6f089..4e290cecdc 100644 ---- a/doc/board/rockchip/rockchip.rst -+++ b/doc/board/rockchip/rockchip.rst -@@ -98,6 +98,7 @@ List of mainline supported Rockchip boards: - - Pine64 SOQuartz on Blade (soquartz-blade-rk3566) - - Pine64 SOQuartz on CM4-IO (soquartz-cm4-rk3566) - - Pine64 SOQuartz on Model A (soquartz-model-a-rk3566) -+ - Powkiddy X55 (powkiddy-x55-rk3566) - - Radxa CM3 IO Board (radxa-cm3-io-rk3566) - - * rk3568 -diff --git a/include/configs/powkiddy-x55-rk3566.h b/include/configs/powkiddy-x55-rk3566.h -new file mode 100644 -index 0000000000..a25b6de455 ---- /dev/null -+++ b/include/configs/powkiddy-x55-rk3566.h -@@ -0,0 +1,14 @@ -+/* SPDX-License-Identifier: GPL-2.0+ */ -+ -+#ifndef __POWKIDDY_X55_RK3566_H -+#define __POWKIDDY_X55_RK3566_H -+ -+#include -+ -+#define ROCKCHIP_DEVICE_SETTINGS \ -+ "stdout=serial,vidconsole\0" \ -+ "stderr=serial,vidconsole\0" -+ -+#define RK_DNL_ADC_CHAN 0 -+ -+#endif --- -2.34.1 diff --git a/projects/Rockchip/packages/u-boot/patches/RK3566-X55/003-fix-dtb-and-vs.patch b/projects/Rockchip/packages/u-boot/patches/RK3566-X55/003-fix-dtb-and-vs.patch deleted file mode 100644 index 08d3f2b04..000000000 --- a/projects/Rockchip/packages/u-boot/patches/RK3566-X55/003-fix-dtb-and-vs.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c -index 2445663d4..194605ff0 100644 ---- a/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c -+++ b/board/anbernic/rgxx3_rk3566/rgxx3-rk3566.c -@@ -33,7 +33,7 @@ - - #define GPIO_WRITEMASK(bits) ((bits) << 16) - --#define DTB_DIR "rockchip/" -+#define DTB_DIR "" - - 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 ---- 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 - CONFIG_OF_BOARD_SETUP=y - CONFIG_OF_STDOUT_VIA_ALIAS=y --CONFIG_DEFAULT_FDT_FILE="rockchip/rk3566-anbernic-rgxx3.dtb" -+CONFIG_DEFAULT_FDT_FILE="rk3566-anbernic-rgxx3.dtb" - # CONFIG_CONSOLE_MUX is not set - # CONFIG_DISPLAY_CPUINFO is not set - CONFIG_DISPLAY_BOARDINFO_LATE=y diff --git a/projects/Rockchip/patches/linux/RK3566-BSP-X55/0001-drm-panel-Add-helper-for-reading-DT-rotation.patch b/projects/Rockchip/patches/linux/RK3566-BSP-X55/0001-drm-panel-Add-helper-for-reading-DT-rotation.patch deleted file mode 100644 index a02e062c4..000000000 --- a/projects/Rockchip/patches/linux/RK3566-BSP-X55/0001-drm-panel-Add-helper-for-reading-DT-rotation.patch +++ /dev/null @@ -1,103 +0,0 @@ -From c74b76bb8a4da44a9f8cf06f4aba9f3334e1a148 Mon Sep 17 00:00:00 2001 -From: Derek Basehore -Date: Tue, 9 Jul 2019 19:16:56 -0700 -Subject: [PATCH 1/4] drm/panel: Add helper for reading DT rotation - -This adds a helper function for reading the rotation (panel -orientation) from the device tree. - -Signed-off-by: Derek Basehore ---- - drivers/gpu/drm/drm_panel.c | 43 +++++++++++++++++++++++++++++++++++++ - include/drm/drm_panel.h | 9 ++++++++ - 2 files changed, 52 insertions(+) - -diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c -index d37b83f40..b2d8fa2c3 100644 ---- a/drivers/gpu/drm/drm_panel.c -+++ b/drivers/gpu/drm/drm_panel.c -@@ -168,6 +168,49 @@ struct drm_panel *of_drm_find_panel(const struct device_node *np) - return ERR_PTR(-EPROBE_DEFER); - } - EXPORT_SYMBOL(of_drm_find_panel); -+ -+/** -+ * of_drm_get_panel_orientation - look up the orientation of the panel through -+ * the "rotation" binding from a device tree node -+ * @np: device tree node of the panel -+ * @orientation: orientation enum to be filled in -+ * -+ * Looks up the rotation of a panel in the device tree. The orientation of the -+ * panel is expressed as a property name "rotation" in the device tree. The -+ * rotation in the device tree is counter clockwise. -+ * -+ * Return: 0 when a valid rotation value (0, 90, 180, or 270) is read or the -+ * rotation property doesn't exist. -EERROR otherwise. -+ */ -+int of_drm_get_panel_orientation(const struct device_node *np, -+ enum drm_panel_orientation *orientation) -+{ -+ int rotation, ret; -+ -+ ret = of_property_read_u32(np, "rotation", &rotation); -+ if (ret == -EINVAL) { -+ /* Don't return an error if there's no rotation property. */ -+ *orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN; -+ return 0; -+ } -+ -+ if (ret < 0) -+ return ret; -+ -+ if (rotation == 0) -+ *orientation = DRM_MODE_PANEL_ORIENTATION_NORMAL; -+ else if (rotation == 90) -+ *orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP; -+ else if (rotation == 180) -+ *orientation = DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP; -+ else if (rotation == 270) -+ *orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP; -+ else -+ return -EINVAL; -+ -+ return 0; -+} -+EXPORT_SYMBOL(of_drm_get_panel_orientation); - #endif - - int drm_panel_notifier_register(struct drm_panel *panel, -diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h -index 6aab8fefc..c58c4c19f 100644 ---- a/include/drm/drm_panel.h -+++ b/include/drm/drm_panel.h -@@ -53,6 +53,8 @@ struct drm_device; - struct drm_panel; - struct display_timing; - -+enum drm_panel_orientation; -+ - /** - * @loader_protect: protect loader logo panel's power - * struct drm_panel_funcs - perform operations on a given panel -@@ -240,11 +242,18 @@ int drm_panel_notifier_call_chain(struct drm_panel *panel, - - #if defined(CONFIG_OF) && defined(CONFIG_DRM_PANEL) - struct drm_panel *of_drm_find_panel(const struct device_node *np); -+int of_drm_get_panel_orientation(const struct device_node *np, -+ enum drm_panel_orientation *orientation); - #else - static inline struct drm_panel *of_drm_find_panel(const struct device_node *np) - { - return ERR_PTR(-ENODEV); - } -+static inline int of_drm_get_panel_orientation(const struct device_node *np, -+ enum drm_panel_orientation *orientation) -+{ -+ return -ENODEV; -+} - #endif - - #endif --- -2.34.1 - diff --git a/projects/Rockchip/patches/linux/RK3566-BSP-X55/0002-drm-connector-Split-out-orientation-quirk-detection-.patch b/projects/Rockchip/patches/linux/RK3566-BSP-X55/0002-drm-connector-Split-out-orientation-quirk-detection-.patch deleted file mode 100644 index 23f41607b..000000000 --- a/projects/Rockchip/patches/linux/RK3566-BSP-X55/0002-drm-connector-Split-out-orientation-quirk-detection-.patch +++ /dev/null @@ -1,171 +0,0 @@ -From b76306d4adb2e169f8425fb417de565d555fcf22 Mon Sep 17 00:00:00 2001 -From: Derek Basehore -Date: Sun, 5 Jan 2020 16:51:19 +0100 -Subject: [PATCH 2/4] drm/connector: Split out orientation quirk detection (v2) - -Not every platform needs quirk detection for panel orientation, so -split the drm_connector_init_panel_orientation_property into two -functions. One for platforms without the need for quirks, and the -other for platforms that need quirks. - -Hans de Goede (changes in v2): - -Rename the function from drm_connector_init_panel_orientation_property -to drm_connector_set_panel_orientation[_with_quirk] and pass in the -panel-orientation to set. - -Beside the rename, also make the function set the passed in value -only once, if the value was set before (to a value other then -DRM_MODE_PANEL_ORIENTATION_UNKNOWN) make any further set calls a no-op. - -This change is preparation for allowing the user to override the -panel-orientation for any connector from the kernel commandline. -When the panel-orientation is overridden this way, then we must ignore -the panel-orientation detection done by the driver. - -Reviewed-by: Rodrigo Vivi -Signed-off-by: Derek Basehore -Signed-off-by: Hans de Goede -Acked-by: Jani Nikula -Link: https://patchwork.freedesktop.org/patch/msgid/20200105155120.96466-1-hdegoede@redhat.com ---- - drivers/gpu/drm/drm_connector.c | 74 ++++++++++++++++++++++++--------- - include/drm/drm_connector.h | 9 +++- - 2 files changed, 61 insertions(+), 22 deletions(-) - -diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c -index 8a2a1965e..77a2087bf 100644 ---- a/drivers/gpu/drm/drm_connector.c -+++ b/drivers/gpu/drm/drm_connector.c -@@ -996,7 +996,8 @@ static const struct drm_prop_enum_list dp_colorspaces[] = { - * coordinates, so if userspace rotates the picture to adjust for - * the orientation it must also apply the same transformation to the - * touchscreen input coordinates. This property is initialized by calling -- * drm_connector_init_panel_orientation_property(). -+ * drm_connector_set_panel_orientation() or -+ * drm_connector_set_panel_orientation_with_quirk() - * - * scaling mode: - * This property defines how a non-native mode is upscaled to the native -@@ -1713,38 +1714,41 @@ void drm_connector_set_link_status_property(struct drm_connector *connector, - EXPORT_SYMBOL(drm_connector_set_link_status_property); - - /** -- * drm_connector_init_panel_orientation_property - -- * initialize the connecters panel_orientation property -- * @connector: connector for which to init the panel-orientation property. -- * @width: width in pixels of the panel, used for panel quirk detection -- * @height: height in pixels of the panel, used for panel quirk detection -+ * drm_connector_set_panel_orientation - sets the connecter's panel_orientation -+ * @connector: connector for which to set the panel-orientation property. -+ * @panel_orientation: drm_panel_orientation value to set -+ * -+ * This function sets the connector's panel_orientation and attaches -+ * a "panel orientation" property to the connector. - * -- * This function should only be called for built-in panels, after setting -- * connector->display_info.panel_orientation first (if known). -+ * Calling this function on a connector where the panel_orientation has -+ * already been set is a no-op (e.g. the orientation has been overridden with -+ * a kernel commandline option). - * -- * This function will check for platform specific (e.g. DMI based) quirks -- * overriding display_info.panel_orientation first, then if panel_orientation -- * is not DRM_MODE_PANEL_ORIENTATION_UNKNOWN it will attach the -- * "panel orientation" property to the connector. -+ * It is allowed to call this function with a panel_orientation of -+ * DRM_MODE_PANEL_ORIENTATION_UNKNOWN, in which case it is a no-op. - * - * Returns: - * Zero on success, negative errno on failure. - */ --int drm_connector_init_panel_orientation_property( -- struct drm_connector *connector, int width, int height) -+int drm_connector_set_panel_orientation( -+ struct drm_connector *connector, -+ enum drm_panel_orientation panel_orientation) - { - struct drm_device *dev = connector->dev; - struct drm_display_info *info = &connector->display_info; - struct drm_property *prop; -- int orientation_quirk; - -- orientation_quirk = drm_get_panel_orientation_quirk(width, height); -- if (orientation_quirk != DRM_MODE_PANEL_ORIENTATION_UNKNOWN) -- info->panel_orientation = orientation_quirk; -+ /* Already set? */ -+ if (info->panel_orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN) -+ return 0; - -- if (info->panel_orientation == DRM_MODE_PANEL_ORIENTATION_UNKNOWN) -+ /* Don't attach the property if the orientation is unknown */ -+ if (panel_orientation == DRM_MODE_PANEL_ORIENTATION_UNKNOWN) - return 0; - -+ info->panel_orientation = panel_orientation; -+ - prop = dev->mode_config.panel_orientation_property; - if (!prop) { - prop = drm_property_create_enum(dev, DRM_MODE_PROP_IMMUTABLE, -@@ -1761,7 +1765,37 @@ int drm_connector_init_panel_orientation_property( - info->panel_orientation); - return 0; - } --EXPORT_SYMBOL(drm_connector_init_panel_orientation_property); -+EXPORT_SYMBOL(drm_connector_set_panel_orientation); -+ -+/** -+ * drm_connector_set_panel_orientation_with_quirk - -+ * set the connecter's panel_orientation after checking for quirks -+ * @connector: connector for which to init the panel-orientation property. -+ * @panel_orientation: drm_panel_orientation value to set -+ * @width: width in pixels of the panel, used for panel quirk detection -+ * @height: height in pixels of the panel, used for panel quirk detection -+ * -+ * Like drm_connector_set_panel_orientation(), but with a check for platform -+ * specific (e.g. DMI based) quirks overriding the passed in panel_orientation. -+ * -+ * Returns: -+ * Zero on success, negative errno on failure. -+ */ -+int drm_connector_set_panel_orientation_with_quirk( -+ struct drm_connector *connector, -+ enum drm_panel_orientation panel_orientation, -+ int width, int height) -+{ -+ int orientation_quirk; -+ -+ orientation_quirk = drm_get_panel_orientation_quirk(width, height); -+ if (orientation_quirk != DRM_MODE_PANEL_ORIENTATION_UNKNOWN) -+ panel_orientation = orientation_quirk; -+ -+ return drm_connector_set_panel_orientation(connector, -+ panel_orientation); -+} -+EXPORT_SYMBOL(drm_connector_set_panel_orientation_with_quirk); - - int drm_connector_set_obj_prop(struct drm_mode_object *obj, - struct drm_property *property, -diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h -index 1d81bb31f..44b6c7f85 100644 ---- a/include/drm/drm_connector.h -+++ b/include/drm/drm_connector.h -@@ -1473,8 +1473,13 @@ int drm_connector_update_edid_property(struct drm_connector *connector, - const struct edid *edid); - void drm_connector_set_link_status_property(struct drm_connector *connector, - uint64_t link_status); --int drm_connector_init_panel_orientation_property( -- struct drm_connector *connector, int width, int height); -+int drm_connector_set_panel_orientation( -+ struct drm_connector *connector, -+ enum drm_panel_orientation panel_orientation); -+int drm_connector_set_panel_orientation_with_quirk( -+ struct drm_connector *connector, -+ enum drm_panel_orientation panel_orientation, -+ int width, int height); - - /** - * struct drm_tile_group - Tile group metadata --- -2.34.1 - diff --git a/projects/Rockchip/patches/linux/RK3566-BSP-X55/0003-drm-panel-simple-Read-panel-orientation.patch b/projects/Rockchip/patches/linux/RK3566-BSP-X55/0003-drm-panel-simple-Read-panel-orientation.patch deleted file mode 100644 index c76a3747d..000000000 --- a/projects/Rockchip/patches/linux/RK3566-BSP-X55/0003-drm-panel-simple-Read-panel-orientation.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 953791baf27ea161378af5c78d8db337472507c8 Mon Sep 17 00:00:00 2001 -From: Dmitry Osipenko -Date: Fri, 14 Aug 2020 00:56:09 +0300 -Subject: [PATCH 3/4] drm/panel-simple: Read panel orientation - -The panel orientation needs to parsed from a device-tree and assigned to -the panel's connector in order to make orientation property available to -userspace. That's what this patch does for the panel-simple driver. - -Signed-off-by: Dmitry Osipenko -Signed-off-by: Sam Ravnborg -Link: https://patchwork.freedesktop.org/patch/msgid/20200813215609.28643-5-digetx@gmail.com ---- - drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c -index f41d4e091..f10181b93 100644 ---- a/drivers/gpu/drm/panel/panel-simple.c -+++ b/drivers/gpu/drm/panel/panel-simple.c -@@ -127,6 +127,8 @@ struct panel_simple { - struct gpio_desc *spi_scl_gpio; - struct gpio_desc *spi_cs_gpio; - struct device_node *np_crtc; -+ -+ enum drm_panel_orientation orientation; - }; - - enum rockchip_cmd_type { -@@ -442,6 +444,9 @@ static int panel_simple_get_fixed_modes(struct panel_simple *panel) - if (panel->desc->bus_flags) - connector->display_info.bus_flags = panel->desc->bus_flags; - -+ /* set up connector's "panel orientation" property */ -+ drm_connector_set_panel_orientation(connector, panel->orientation); -+ - return num; - } - -@@ -789,6 +794,12 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc) - return -EPROBE_DEFER; - } - -+ err = of_drm_get_panel_orientation(dev->of_node, &panel->orientation); -+ if (err) { -+ dev_err(dev, "%pOF: failed to get orientation %d\n", dev->of_node, err); -+ return err; -+ } -+ - ddc = of_parse_phandle(dev->of_node, "ddc-i2c-bus", 0); - if (ddc) { - panel->ddc = of_find_i2c_adapter_by_node(ddc); --- -2.34.1 - diff --git a/projects/Rockchip/patches/linux/RK3566-BSP-X55/0004-dts-Define-the-orientation-of-the-Powkiddy-X55-panel.patch b/projects/Rockchip/patches/linux/RK3566-BSP-X55/0004-dts-Define-the-orientation-of-the-Powkiddy-X55-panel.patch deleted file mode 100644 index 8db6d4847..000000000 --- a/projects/Rockchip/patches/linux/RK3566-BSP-X55/0004-dts-Define-the-orientation-of-the-Powkiddy-X55-panel.patch +++ /dev/null @@ -1,25 +0,0 @@ -From ad469e3890607d81f4b6ee0f8035537d76937370 Mon Sep 17 00:00:00 2001 -From: Johnny on Flame -Date: Mon, 7 Aug 2023 20:59:28 +0000 -Subject: [PATCH 4/4] dts: Define the orientation of the Powkiddy X55 panel. - ---- - .../boot/dts/rockchip/lcd/lcd_HX8394F_720x1280_mipi_dsi0.dtsi | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm64/boot/dts/rockchip/lcd/lcd_HX8394F_720x1280_mipi_dsi0.dtsi b/arch/arm64/boot/dts/rockchip/lcd/lcd_HX8394F_720x1280_mipi_dsi0.dtsi -index 5eb492203..b3745a81b 100755 ---- a/arch/arm64/boot/dts/rockchip/lcd/lcd_HX8394F_720x1280_mipi_dsi0.dtsi -+++ b/arch/arm64/boot/dts/rockchip/lcd/lcd_HX8394F_720x1280_mipi_dsi0.dtsi -@@ -16,7 +16,7 @@ - init-delay-ms = <60>; - unprepare-delay-ms = <60>; - disable-delay-ms = <60>; -- -+ rotation = <90>; - - dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | - MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>; --- -2.34.1 - diff --git a/projects/Rockchip/patches/linux/RK3566-BSP-X55/0005-disable-enum-int-mismatch-warning.patch b/projects/Rockchip/patches/linux/RK3566-BSP-X55/0005-disable-enum-int-mismatch-warning.patch deleted file mode 100644 index 478985657..000000000 --- a/projects/Rockchip/patches/linux/RK3566-BSP-X55/0005-disable-enum-int-mismatch-warning.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Makefile b/Makefile -index 1c06eae06..9465e5561 100755 ---- a/Makefile -+++ b/Makefile -@@ -710,6 +710,7 @@ KBUILD_CFLAGS += $(call cc-disable-warning, array-compare) - KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overread) - KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer) - KBUILD_CFLAGS += $(call cc-disable-warning, address) -+KBUILD_CFLAGS += $(call cc-disable-warning, enum-int-mismatch) - - ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE - KBUILD_CFLAGS += -Os diff --git a/projects/Rockchip/patches/linux/RK3566-BSP/0001-drm-panel-Add-helper-for-reading-DT-rotation.patch b/projects/Rockchip/patches/linux/RK3566-BSP/0001-drm-panel-Add-helper-for-reading-DT-rotation.patch deleted file mode 100644 index b0cc4f5e3..000000000 --- a/projects/Rockchip/patches/linux/RK3566-BSP/0001-drm-panel-Add-helper-for-reading-DT-rotation.patch +++ /dev/null @@ -1,103 +0,0 @@ -From c74b76bb8a4da44a9f8cf06f4aba9f3334e1a148 Mon Sep 17 00:00:00 2001 -From: Derek Basehore -Date: Tue, 9 Jul 2019 19:16:56 -0700 -Subject: [PATCH 1/4] drm/panel: Add helper for reading DT rotation - -This adds a helper function for reading the rotation (panel -orientation) from the device tree. - -Signed-off-by: Derek Basehore ---- - drivers/gpu/drm/drm_panel.c | 43 +++++++++++++++++++++++++++++++++++++ - include/drm/drm_panel.h | 9 ++++++++ - 2 files changed, 52 insertions(+) - -diff --git a/drivers/gpu/drm/drm_panel.c b/drivers/gpu/drm/drm_panel.c -index d37b83f40..b2d8fa2c3 100644 ---- a/drivers/gpu/drm/drm_panel.c -+++ b/drivers/gpu/drm/drm_panel.c -@@ -168,6 +168,49 @@ struct drm_panel *of_drm_find_panel(const struct device_node *np) - return ERR_PTR(-EPROBE_DEFER); - } - EXPORT_SYMBOL(of_drm_find_panel); -+ -+/** -+ * of_drm_get_panel_orientation - look up the orientation of the panel through -+ * the "rotation" binding from a device tree node -+ * @np: device tree node of the panel -+ * @orientation: orientation enum to be filled in -+ * -+ * Looks up the rotation of a panel in the device tree. The orientation of the -+ * panel is expressed as a property name "rotation" in the device tree. The -+ * rotation in the device tree is counter clockwise. -+ * -+ * Return: 0 when a valid rotation value (0, 90, 180, or 270) is read or the -+ * rotation property doesn't exist. -EERROR otherwise. -+ */ -+int of_drm_get_panel_orientation(const struct device_node *np, -+ enum drm_panel_orientation *orientation) -+{ -+ int rotation, ret; -+ -+ ret = of_property_read_u32(np, "rotation", &rotation); -+ if (ret == -EINVAL) { -+ /* Don't return an error if there's no rotation property. */ -+ *orientation = DRM_MODE_PANEL_ORIENTATION_UNKNOWN; -+ return 0; -+ } -+ -+ if (ret < 0) -+ return ret; -+ -+ if (rotation == 0) -+ *orientation = DRM_MODE_PANEL_ORIENTATION_NORMAL; -+ else if (rotation == 90) -+ *orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP; -+ else if (rotation == 180) -+ *orientation = DRM_MODE_PANEL_ORIENTATION_BOTTOM_UP; -+ else if (rotation == 270) -+ *orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP; -+ else -+ return -EINVAL; -+ -+ return 0; -+} -+EXPORT_SYMBOL(of_drm_get_panel_orientation); - #endif - - int drm_panel_notifier_register(struct drm_panel *panel, -diff --git a/include/drm/drm_panel.h b/include/drm/drm_panel.h -index 6aab8fefc..c58c4c19f 100644 ---- a/include/drm/drm_panel.h -+++ b/include/drm/drm_panel.h -@@ -53,6 +53,8 @@ struct drm_device; - struct drm_panel; - struct display_timing; - -+enum drm_panel_orientation; -+ - /** - * @loader_protect: protect loader logo panel's power - * struct drm_panel_funcs - perform operations on a given panel -@@ -240,11 +242,18 @@ int drm_panel_notifier_call_chain(struct drm_panel *panel, - - #if defined(CONFIG_OF) && defined(CONFIG_DRM_PANEL) - struct drm_panel *of_drm_find_panel(const struct device_node *np); -+int of_drm_get_panel_orientation(const struct device_node *np, -+ enum drm_panel_orientation *orientation); - #else - static inline struct drm_panel *of_drm_find_panel(const struct device_node *np) - { - return ERR_PTR(-ENODEV); - } -+static inline int of_drm_get_panel_orientation(const struct device_node *np, -+ enum drm_panel_orientation *orientation) -+{ -+ return -ENODEV; -+} - #endif - - #endif --- -2.34.1 - diff --git a/projects/Rockchip/patches/linux/RK3566-BSP/0002-drm-connector-Split-out-orientation-quirk-detection-.patch b/projects/Rockchip/patches/linux/RK3566-BSP/0002-drm-connector-Split-out-orientation-quirk-detection-.patch deleted file mode 100644 index 23f41607b..000000000 --- a/projects/Rockchip/patches/linux/RK3566-BSP/0002-drm-connector-Split-out-orientation-quirk-detection-.patch +++ /dev/null @@ -1,171 +0,0 @@ -From b76306d4adb2e169f8425fb417de565d555fcf22 Mon Sep 17 00:00:00 2001 -From: Derek Basehore -Date: Sun, 5 Jan 2020 16:51:19 +0100 -Subject: [PATCH 2/4] drm/connector: Split out orientation quirk detection (v2) - -Not every platform needs quirk detection for panel orientation, so -split the drm_connector_init_panel_orientation_property into two -functions. One for platforms without the need for quirks, and the -other for platforms that need quirks. - -Hans de Goede (changes in v2): - -Rename the function from drm_connector_init_panel_orientation_property -to drm_connector_set_panel_orientation[_with_quirk] and pass in the -panel-orientation to set. - -Beside the rename, also make the function set the passed in value -only once, if the value was set before (to a value other then -DRM_MODE_PANEL_ORIENTATION_UNKNOWN) make any further set calls a no-op. - -This change is preparation for allowing the user to override the -panel-orientation for any connector from the kernel commandline. -When the panel-orientation is overridden this way, then we must ignore -the panel-orientation detection done by the driver. - -Reviewed-by: Rodrigo Vivi -Signed-off-by: Derek Basehore -Signed-off-by: Hans de Goede -Acked-by: Jani Nikula -Link: https://patchwork.freedesktop.org/patch/msgid/20200105155120.96466-1-hdegoede@redhat.com ---- - drivers/gpu/drm/drm_connector.c | 74 ++++++++++++++++++++++++--------- - include/drm/drm_connector.h | 9 +++- - 2 files changed, 61 insertions(+), 22 deletions(-) - -diff --git a/drivers/gpu/drm/drm_connector.c b/drivers/gpu/drm/drm_connector.c -index 8a2a1965e..77a2087bf 100644 ---- a/drivers/gpu/drm/drm_connector.c -+++ b/drivers/gpu/drm/drm_connector.c -@@ -996,7 +996,8 @@ static const struct drm_prop_enum_list dp_colorspaces[] = { - * coordinates, so if userspace rotates the picture to adjust for - * the orientation it must also apply the same transformation to the - * touchscreen input coordinates. This property is initialized by calling -- * drm_connector_init_panel_orientation_property(). -+ * drm_connector_set_panel_orientation() or -+ * drm_connector_set_panel_orientation_with_quirk() - * - * scaling mode: - * This property defines how a non-native mode is upscaled to the native -@@ -1713,38 +1714,41 @@ void drm_connector_set_link_status_property(struct drm_connector *connector, - EXPORT_SYMBOL(drm_connector_set_link_status_property); - - /** -- * drm_connector_init_panel_orientation_property - -- * initialize the connecters panel_orientation property -- * @connector: connector for which to init the panel-orientation property. -- * @width: width in pixels of the panel, used for panel quirk detection -- * @height: height in pixels of the panel, used for panel quirk detection -+ * drm_connector_set_panel_orientation - sets the connecter's panel_orientation -+ * @connector: connector for which to set the panel-orientation property. -+ * @panel_orientation: drm_panel_orientation value to set -+ * -+ * This function sets the connector's panel_orientation and attaches -+ * a "panel orientation" property to the connector. - * -- * This function should only be called for built-in panels, after setting -- * connector->display_info.panel_orientation first (if known). -+ * Calling this function on a connector where the panel_orientation has -+ * already been set is a no-op (e.g. the orientation has been overridden with -+ * a kernel commandline option). - * -- * This function will check for platform specific (e.g. DMI based) quirks -- * overriding display_info.panel_orientation first, then if panel_orientation -- * is not DRM_MODE_PANEL_ORIENTATION_UNKNOWN it will attach the -- * "panel orientation" property to the connector. -+ * It is allowed to call this function with a panel_orientation of -+ * DRM_MODE_PANEL_ORIENTATION_UNKNOWN, in which case it is a no-op. - * - * Returns: - * Zero on success, negative errno on failure. - */ --int drm_connector_init_panel_orientation_property( -- struct drm_connector *connector, int width, int height) -+int drm_connector_set_panel_orientation( -+ struct drm_connector *connector, -+ enum drm_panel_orientation panel_orientation) - { - struct drm_device *dev = connector->dev; - struct drm_display_info *info = &connector->display_info; - struct drm_property *prop; -- int orientation_quirk; - -- orientation_quirk = drm_get_panel_orientation_quirk(width, height); -- if (orientation_quirk != DRM_MODE_PANEL_ORIENTATION_UNKNOWN) -- info->panel_orientation = orientation_quirk; -+ /* Already set? */ -+ if (info->panel_orientation != DRM_MODE_PANEL_ORIENTATION_UNKNOWN) -+ return 0; - -- if (info->panel_orientation == DRM_MODE_PANEL_ORIENTATION_UNKNOWN) -+ /* Don't attach the property if the orientation is unknown */ -+ if (panel_orientation == DRM_MODE_PANEL_ORIENTATION_UNKNOWN) - return 0; - -+ info->panel_orientation = panel_orientation; -+ - prop = dev->mode_config.panel_orientation_property; - if (!prop) { - prop = drm_property_create_enum(dev, DRM_MODE_PROP_IMMUTABLE, -@@ -1761,7 +1765,37 @@ int drm_connector_init_panel_orientation_property( - info->panel_orientation); - return 0; - } --EXPORT_SYMBOL(drm_connector_init_panel_orientation_property); -+EXPORT_SYMBOL(drm_connector_set_panel_orientation); -+ -+/** -+ * drm_connector_set_panel_orientation_with_quirk - -+ * set the connecter's panel_orientation after checking for quirks -+ * @connector: connector for which to init the panel-orientation property. -+ * @panel_orientation: drm_panel_orientation value to set -+ * @width: width in pixels of the panel, used for panel quirk detection -+ * @height: height in pixels of the panel, used for panel quirk detection -+ * -+ * Like drm_connector_set_panel_orientation(), but with a check for platform -+ * specific (e.g. DMI based) quirks overriding the passed in panel_orientation. -+ * -+ * Returns: -+ * Zero on success, negative errno on failure. -+ */ -+int drm_connector_set_panel_orientation_with_quirk( -+ struct drm_connector *connector, -+ enum drm_panel_orientation panel_orientation, -+ int width, int height) -+{ -+ int orientation_quirk; -+ -+ orientation_quirk = drm_get_panel_orientation_quirk(width, height); -+ if (orientation_quirk != DRM_MODE_PANEL_ORIENTATION_UNKNOWN) -+ panel_orientation = orientation_quirk; -+ -+ return drm_connector_set_panel_orientation(connector, -+ panel_orientation); -+} -+EXPORT_SYMBOL(drm_connector_set_panel_orientation_with_quirk); - - int drm_connector_set_obj_prop(struct drm_mode_object *obj, - struct drm_property *property, -diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h -index 1d81bb31f..44b6c7f85 100644 ---- a/include/drm/drm_connector.h -+++ b/include/drm/drm_connector.h -@@ -1473,8 +1473,13 @@ int drm_connector_update_edid_property(struct drm_connector *connector, - const struct edid *edid); - void drm_connector_set_link_status_property(struct drm_connector *connector, - uint64_t link_status); --int drm_connector_init_panel_orientation_property( -- struct drm_connector *connector, int width, int height); -+int drm_connector_set_panel_orientation( -+ struct drm_connector *connector, -+ enum drm_panel_orientation panel_orientation); -+int drm_connector_set_panel_orientation_with_quirk( -+ struct drm_connector *connector, -+ enum drm_panel_orientation panel_orientation, -+ int width, int height); - - /** - * struct drm_tile_group - Tile group metadata --- -2.34.1 - diff --git a/projects/Rockchip/patches/linux/RK3566-BSP/0003-drm-panel-simple-Read-panel-orientation.patch b/projects/Rockchip/patches/linux/RK3566-BSP/0003-drm-panel-simple-Read-panel-orientation.patch deleted file mode 100644 index c76a3747d..000000000 --- a/projects/Rockchip/patches/linux/RK3566-BSP/0003-drm-panel-simple-Read-panel-orientation.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 953791baf27ea161378af5c78d8db337472507c8 Mon Sep 17 00:00:00 2001 -From: Dmitry Osipenko -Date: Fri, 14 Aug 2020 00:56:09 +0300 -Subject: [PATCH 3/4] drm/panel-simple: Read panel orientation - -The panel orientation needs to parsed from a device-tree and assigned to -the panel's connector in order to make orientation property available to -userspace. That's what this patch does for the panel-simple driver. - -Signed-off-by: Dmitry Osipenko -Signed-off-by: Sam Ravnborg -Link: https://patchwork.freedesktop.org/patch/msgid/20200813215609.28643-5-digetx@gmail.com ---- - drivers/gpu/drm/panel/panel-simple.c | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c -index f41d4e091..f10181b93 100644 ---- a/drivers/gpu/drm/panel/panel-simple.c -+++ b/drivers/gpu/drm/panel/panel-simple.c -@@ -127,6 +127,8 @@ struct panel_simple { - struct gpio_desc *spi_scl_gpio; - struct gpio_desc *spi_cs_gpio; - struct device_node *np_crtc; -+ -+ enum drm_panel_orientation orientation; - }; - - enum rockchip_cmd_type { -@@ -442,6 +444,9 @@ static int panel_simple_get_fixed_modes(struct panel_simple *panel) - if (panel->desc->bus_flags) - connector->display_info.bus_flags = panel->desc->bus_flags; - -+ /* set up connector's "panel orientation" property */ -+ drm_connector_set_panel_orientation(connector, panel->orientation); -+ - return num; - } - -@@ -789,6 +794,12 @@ static int panel_simple_probe(struct device *dev, const struct panel_desc *desc) - return -EPROBE_DEFER; - } - -+ err = of_drm_get_panel_orientation(dev->of_node, &panel->orientation); -+ if (err) { -+ dev_err(dev, "%pOF: failed to get orientation %d\n", dev->of_node, err); -+ return err; -+ } -+ - ddc = of_parse_phandle(dev->of_node, "ddc-i2c-bus", 0); - if (ddc) { - panel->ddc = of_find_i2c_adapter_by_node(ddc); --- -2.34.1 - diff --git a/projects/Rockchip/patches/linux/RK3566-BSP/0005-disable-enum-int-mismatch-warning.patch b/projects/Rockchip/patches/linux/RK3566-BSP/0005-disable-enum-int-mismatch-warning.patch deleted file mode 100644 index 0d5460e5a..000000000 --- a/projects/Rockchip/patches/linux/RK3566-BSP/0005-disable-enum-int-mismatch-warning.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/Makefile b/Makefile -index 60197900e..b0d6dbe83 100644 ---- a/Makefile -+++ b/Makefile -@@ -710,6 +710,7 @@ KBUILD_CFLAGS += $(call cc-disable-warning, array-compare) - KBUILD_CFLAGS += $(call cc-disable-warning, stringop-overread) - KBUILD_CFLAGS += $(call cc-disable-warning, dangling-pointer) - KBUILD_CFLAGS += $(call cc-disable-warning, address) -+KBUILD_CFLAGS += $(call cc-disable-warning, enum-int-mismatch) - - ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE - KBUILD_CFLAGS += -Os diff --git a/projects/Rockchip/patches/linux/RK3566-X55 b/projects/Rockchip/patches/linux/RK3566-X55 deleted file mode 120000 index 9207b5754..000000000 --- a/projects/Rockchip/patches/linux/RK3566-X55 +++ /dev/null @@ -1 +0,0 @@ -RK3566 \ No newline at end of file diff --git a/scripts/setEnv b/scripts/setEnv index b8a7a19d7..0ea2389ec 100644 --- a/scripts/setEnv +++ b/scripts/setEnv @@ -28,12 +28,6 @@ case "$1" in export DEVICE=RK3566 export ARCH=aarch64 ;; - "RK3566-X55") - export DEVICE_ROOT=RK3566 - export PROJECT=Rockchip - export DEVICE=RK3566-X55 - export ARCH=aarch64 - ;; "RK3326") unset DEVICE_ROOT export PROJECT=Rockchip @@ -64,12 +58,6 @@ case "$1" in export DEVICE=RK3566 export ARCH=arm ;; - "RK3566-X55-32") - export DEVICE_ROOT=RK3566 - export PROJECT=Rockchip - export DEVICE=RK3566-X55 - export ARCH=arm - ;; "RK3326-32") unset DEVICE_ROOT export PROJECT=Rockchip @@ -79,4 +67,4 @@ case "$1" in *) echo "Unknown device." ;; -esac \ No newline at end of file +esac From 3bf7bbcfcf5e24ba187fe0aad94306d15261ea58 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Tue, 19 Mar 2024 15:15:27 +0000 Subject: [PATCH 03/77] ROCKNIX rebrand --- .github/workflows/build-main.yaml | 90 ++++++------- CODE_OF_CONDUCT.md | 2 +- CONTRIBUTING.md | 2 +- Dockerfile | 4 +- LICENSE.md | 2 +- Makefile | 2 +- README.md | 114 ++++++++-------- config/path | 2 +- .../{jelos-logo.png => rocknix-logo.png} | Bin distributions/ROCKNIX/options | 3 + documentation/DEVEL_ADD_HARDWARE_QUIRKS.md | 2 +- documentation/DEVEL_BUILDING_JELOS.md | 1 - documentation/DEVEL_BUILDING_ROCKNIX.md | 1 + documentation/DEVEL_CREATING_PACKAGES.md | 2 +- documentation/GENERAL_CUSTOM_SHADERS.md | 2 +- documentation/GENERAL_DONATING_TO_JELOS.md | 1 - documentation/GENERAL_DONATING_TO_ROCKNIX.md | 1 + .../GENERAL_FREQUENTLY_ASKED_QUESTIONS.md | 2 +- .../GENERAL_HOTKEYS_AND_BUTTON_CODES.md | 2 +- documentation/GENERAL_NETWORK_PLAY.md | 2 +- .../GENERAL_PERFORMANCE_AND_BATTERY.md | 2 +- .../AMD64/SUPPORTED_EMULATORS_AND_CORES.md | 2 +- .../RK3326/SUPPORTED_EMULATORS_AND_CORES.md | 2 +- .../RK3399/SUPPORTED_EMULATORS_AND_CORES.md | 2 +- .../SUPPORTED_EMULATORS_AND_CORES.md | 123 ------------------ .../SUPPORTED_EMULATORS_AND_CORES.md | 123 ------------------ .../SUPPORTED_EMULATORS_AND_CORES.md | 2 +- .../RK3566/SUPPORTED_EMULATORS_AND_CORES.md | 2 +- .../RK3588/SUPPORTED_EMULATORS_AND_CORES.md | 2 +- .../S922X/SUPPORTED_EMULATORS_AND_CORES.md | 2 +- documentation/SETUP_CLOUD_DRIVES.md | 2 +- .../SETUP_GAME_ENGINES_AND_LAUNCH_FILES.md | 2 +- documentation/SETUP_MOONLIGHT_STREAMING.md | 2 +- documentation/SETUP_P2P_ZEROTIER.md | 2 +- documentation/SETUP_SYNCTHING.md | 2 +- documentation/SETUP_VPN_TAILSCALE.md | 2 +- documentation/SETUP_VPN_WIREGUARD.md | 2 +- ...uses-of-system-directories-when-link.patch | 2 +- .../emulators/libretro/idtech-lr/package.mk | 2 +- .../retroarch/system.d/tmp-assets.mount | 2 +- .../retroarch/system.d/tmp-cores.mount | 2 +- .../retroarch/system.d/tmp-database.mount | 2 +- .../retroarch/system.d/tmp-overlays.mount | 2 +- .../retroarch/system.d/tmp-shaders.mount | 2 +- ...{JELOS Gamepad.cfg => ROCKNIX Gamepad.cfg} | 2 +- .../system.d/tmp-joypads.mount | 2 +- ...s.rules => 99-ROCKNIX-not-joysticks.rules} | 0 packages/graphics/qt6/qt6base/package.mk | 2 +- packages/graphics/qt6/qt6tools/package.mk | 2 +- packages/graphics/qt6/qt6wayland/package.mk | 2 +- .../firmware/RTL8723DS-firmware/package.mk | 2 +- .../firmware/RTL8821CS-firmware/package.mk | 2 +- .../brcmfmac_sdio-firmware/package.mk | 2 +- ...up-CC-print-multiarch-output-for-mus.patch | 8 +- .../go-0001-add-ca-cert-location.patch | 2 +- .../{Install JELOS.sh => Install ROCKNIX.sh} | 0 packages/misc/modules/sources/gamelist.xml | 6 +- ...{install-jelos.svg => install-rocknix.svg} | 0 packages/multimedia/ffmpeg/package.mk | 2 +- .../ffmpeg-001-rocknix.patch} | 0 .../gstreamer/gst-plugins-bad/package.mk | 2 +- .../gstreamer/gst-plugins-base/package.mk | 2 +- .../multimedia/gstreamer/gstreamer/package.mk | 2 +- packages/multimedia/mpv/system.d/mpv.service | 2 +- .../avahi/system.d/avahi-daemon.service | 2 +- .../network/bluez/system.d/bluetooth.service | 2 +- packages/network/bluez/system.d/obex.service | 2 +- .../network/connman/scripts/connman-setup | 8 +- .../network/connman/system.d/connman.service | 2 +- packages/network/iptables/package.mk | 4 +- .../iptables/system.d/iptables.service | 8 +- .../syncthing/system.d/syncthing.service | 4 +- packages/rocknix/package.mk | 8 +- packages/rocknix/sources/scripts/automount | 11 ++ ...ount.service => rocknix-automount.service} | 4 +- .../system.d/{jelos.target => rocknix.target} | 2 +- ...nu.json => aarch64-rocknix-linux-gnu.json} | 0 .../targets/arm-jelos-linux-gnueabihf.json | 23 ---- ....json => arm-rocknix-linux-gnueabihf.json} | 0 packages/security/openssl/package.mk | 10 +- .../security/openssl/scripts/openssl-config | 4 +- packages/sysutils/autostart/sources/autostart | 2 +- ...tart.service => rocknix-autostart.service} | 2 +- packages/sysutils/busybox/package.mk | 8 +- packages/sysutils/busybox/scripts/fs-resize | 2 +- packages/sysutils/busybox/scripts/init | 2 +- .../sleep.d.serial/99-suspend-modules.sh | 8 +- .../busybox/system.d/fs-resize.service | 2 +- .../sysutils/busybox/system.d/var-log.mount | 2 +- .../powerstate/system.d/powerstate.service | 2 +- .../system.d/batteryledstatus.service | 2 +- .../system.d/bluetoothsense.service | 2 +- .../system-utils/system.d/fancontrol.service | 2 +- .../system-utils/system.d/headphones.service | 2 +- .../system-utils/system.d/input.service | 2 +- .../system-utils/system.d/video.service | 2 +- packages/sysutils/systemd/config/hosts.conf | 2 +- packages/sysutils/systemd/package.mk | 4 +- .../systemd/scripts/network-base-setup | 12 +- .../systemd/system.d/debugconfig.service | 4 +- .../systemd/system.d/userconfig.service | 2 +- .../{z_01_jelos.conf => z_01_rocknix.conf} | 4 +- .../udevil/system.d/udevil-mount@.service | 2 +- packages/sysutils/util-linux/package.mk | 4 +- .../sysutils/util-linux/system.d/swap.service | 4 +- packages/sysutils/v4l-utils/package.mk | 8 +- packages/tools/installer/package.mk | 4 +- packages/tools/installer/scripts/installer | 14 +- .../tools/installer/system.d/installer.target | 2 +- packages/tools/python-evdev/package.mk | 2 +- packages/tools/rkbin/package.mk | 4 +- .../config/common/es_settings.cfg | 2 +- .../system.d/emustation.service | 4 +- packages/virtual/arm/package.mk | 2 +- packages/virtual/docker/package.mk | 2 +- packages/virtual/emulators/package.mk | 2 +- .../emulators/udev.d/99-automount.rules | 2 +- packages/virtual/es-themes/package.mk | 2 +- packages/virtual/gamesupport/package.mk | 2 +- packages/virtual/misc-packages/package.mk | 2 +- packages/virtual/synctools/package.mk | 2 +- packages/virtual/toolchain/package.mk | 2 +- packages/virtual/x86/package.mk | 2 +- .../wayland/compositor/sway/config/config | 2 +- .../wayland/weston/system.d/weston.service | 2 +- packages/web/curl/package.mk | 2 +- .../xorg-launch-helper/scripts/xorg-launch | 4 +- packages/x11/xserver/xwayland/package.mk | 6 +- .../xserver/xwayland/scripts/xorg-configure | 4 +- .../xserver/xwayland/system.d/xorg.service | 2 +- .../packages/u-boot-Odroid_GOU/package.mk | 8 +- .../patches/004-fix-build.patch | 2 +- .../devices/RK3566/linux/linux.aarch64.conf | 2 +- projects/Rockchip/devices/RK3566/options | 2 +- .../devices/RK3588/linux/linux.aarch64.conf | 2 +- .../linux/RK3588/000-gameforce-ace.patch | 2 +- .../linux/RK3588/006-joypad-driver.patch | 26 ++-- scripts/build | 12 +- scripts/build_compat | 2 +- scripts/checkdeps | 6 +- scripts/clean | 8 +- scripts/genbuildplan.py | 6 +- scripts/image | 2 +- scripts/unpack | 12 +- scripts/update_packages | 2 +- templates/HEADER.md | 2 +- 146 files changed, 333 insertions(+), 588 deletions(-) rename distributions/ROCKNIX/logos/{jelos-logo.png => rocknix-logo.png} (100%) delete mode 100644 documentation/DEVEL_BUILDING_JELOS.md create mode 100644 documentation/DEVEL_BUILDING_ROCKNIX.md delete mode 100644 documentation/GENERAL_DONATING_TO_JELOS.md create mode 100644 documentation/GENERAL_DONATING_TO_ROCKNIX.md delete mode 100644 documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP-X55/SUPPORTED_EMULATORS_AND_CORES.md delete mode 100644 documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP/SUPPORTED_EMULATORS_AND_CORES.md rename packages/emulators/tools/retroarch-joypads/gamepads/{JELOS Gamepad.cfg => ROCKNIX Gamepad.cfg} (95%) rename packages/emulators/tools/virtualcontroller/udev.d/{99-JELOS-not-joysticks.rules => 99-ROCKNIX-not-joysticks.rules} (100%) rename packages/misc/modules/sources/{Install JELOS.sh => Install ROCKNIX.sh} (100%) rename packages/misc/modules/sources/images/{install-jelos.svg => install-rocknix.svg} (100%) rename packages/multimedia/ffmpeg/patches/{jelos/ffmpeg-001-jelos.patch => rocknix/ffmpeg-001-rocknix.patch} (100%) rename packages/rocknix/system.d/{jelos-automount.service => rocknix-automount.service} (75%) rename packages/rocknix/system.d/{jelos.target => rocknix.target} (88%) rename packages/rust/rust/targets/{aarch64-jelos-linux-gnu.json => aarch64-rocknix-linux-gnu.json} (100%) delete mode 100644 packages/rust/rust/targets/arm-jelos-linux-gnueabihf.json rename packages/rust/rust/targets/{x86_64-jelos-linux-gnu.json => arm-rocknix-linux-gnueabihf.json} (100%) rename packages/sysutils/autostart/system.d/{jelos-autostart.service => rocknix-autostart.service} (92%) rename packages/sysutils/systemd/tmpfiles.d/{z_01_jelos.conf => z_01_rocknix.conf} (55%) diff --git a/.github/workflows/build-main.yaml b/.github/workflows/build-main.yaml index 581589207..0a90849d5 100644 --- a/.github/workflows/build-main.yaml +++ b/.github/workflows/build-main.yaml @@ -58,15 +58,15 @@ jobs: with: tag: "${{ steps.version.outputs.version }}" body: | -         [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) +         [![Latest Version](https://img.shields.io/github/release/ROCKNIX/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/ROCKNIX/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/ROCKNIX/distribution?color=5998FF&style=flat-square)](https://github.com/ROCKNIX/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/ROCKNIX/distribution?color=5998FF&style=flat-square)](https://github.com/ROCKNIX/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) # - Just Enough Linux Operating System (JELOS) is a community developed Linux distribution for handheld gaming devices. Our goal is to produce an operating system that has the features and capabilities that we need, and to have fun as we develop it. + ROCKNIX is a community developed Linux distribution for handheld gaming devices. Our goal is to produce an operating system that has the features and capabilities that we need, and to have fun as we develop it. ## Licenses - JELOS is a Linux distribution that is made up of many open-source components. Components are provided under their respective licenses. This distribution includes components licensed for non-commercial use only. + ROCKNIX is a Linux distribution that is made up of many open-source components. Components are provided under their respective licenses. This distribution includes components licensed for non-commercial use only. - ### JELOS Branding - JELOS branding and images are licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). + ### ROCKNIX Branding + ROCKNIX branding and images are licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). #### You are free to * Share — copy and redistribute the material in any medium or format @@ -77,8 +77,8 @@ jobs: * NonCommercial — You may not use the material for commercial purposes. * ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. - ### JELOS Software - Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + ### ROCKNIX Software + Copyright (C) 2024 ROCKNIX (https://github.com/ROCKNIX) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -93,79 +93,79 @@ jobs: limitations under the License. ## Installation - * Download the latest version of JELOS. + * Download the latest version of ROCKNIX. * Decompress the image. * Write the image to an SDCARD using an imaging tool. Common imaging tools include [Balena Etcher](https://www.balena.io/etcher/), [Raspberry Pi Imager](https://www.raspberrypi.com/software/), and [Win32 Disk Imager](https://sourceforge.net/projects/win32diskimager/). If you're skilled with the command line, dd works fine too. ### Installation Package Downloads |**Device/Platform**|**Download Package**|**Documentation**| |----|----|----| - |**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 RG353P/M/V/VS, RG503, Powkiddy RK2023, RGB10 Max 3, RGB30**|[JELOS-RK3566-BSP.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3566-BSP.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3566/)| - |**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/)| - |**Gameforce Ace**|[JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3588/)| - |**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/)| - |**Hardkernel ODROID N2/N2+**|[JELOS-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_N2.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_N2.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/S922X/)| - |**Hardkernel ODROID N2L**|[JELOS-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_N2L.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_N2L.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/S922X/)| - |**Orange Pi 5, and Indiedroid Nova**|[JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3588/)| - |**Powkiddy x55**|[JELOS-RK3566-BSP-X55.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3566-BSP-X55.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3566-X55/)| + |**Anbernic RG351P/M, Game Console R33S/R35S/R36S, ODROID Go Advance, ODROID Go Super, Magicx XU10**|[ROCKNIX-RK3326.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-RK3326.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3326/)| + |**Anbernic RG353P/M/V/VS, RG503, Powkiddy RK2023, RGB10 Max 3, RGB30**|[ROCKNIX-RK3566-BSP.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-RK3566-BSP.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3566/)| + |**Anbernic RG552**|[ROCKNIX-RK3399.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-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**|[ROCKNIX-AMD64.x86_64-${{ steps.version.outputs.version }}.img.gz](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-AMD64.x86_64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/AMD64/)| + |**Gameforce Ace**|[ROCKNIX-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3588/)| + |**Hardkernel ODROID Go Ultra, Powkiddy RGB10 Max 3 Pro**|[ROCKNIX-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_GOU.img.gz](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_GOU.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/S922X/)| + |**Hardkernel ODROID N2/N2+**|[ROCKNIX-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_N2.img.gz](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_N2.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/S922X/)| + |**Hardkernel ODROID N2L**|[ROCKNIX-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_N2L.img.gz](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-S922X.aarch64-${{ steps.version.outputs.version }}-Odroid_N2L.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/S922X/)| + |**Orange Pi 5, and Indiedroid Nova**|[ROCKNIX-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-RK3588.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3588/)| + |**Powkiddy x55**|[ROCKNIX-RK3566-BSP-X55.aarch64-${{ steps.version.outputs.version }}.img.gz](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-RK3566-BSP-X55.aarch64-${{ steps.version.outputs.version }}.img.gz)|[documentation](/documentation/PER_DEVICE_DOCUMENTATION/RK3566-X55/)| ## Upgrading * Download and install the update online via the System Settings menu. * If you are unable to update online - * Download the latest version of JELOS from Github + * Download the latest version of ROCKNIX from Github * Copy the update to your device over the network to your device's update share. * Reboot the device, and the update will begin automatically. ### Update Package Downloads |**Device/Platform**|**Download Package**| |----|----| - |**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 RG353P/M/V/VS, RG503, Powkiddy RK2023, RGB10 Max 3, RGB30**|[JELOS-RK3566-BSP.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3566-BSP.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)| - |**Gameforce Ace**|[JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3588.aarch64-${{ 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)| - |**Orange Pi 5, and Indiedroid Nova**|[JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3588.aarch64-${{ steps.version.outputs.version }}.tar)| - |**Powkiddy x55**|[JELOS-RK3566-BSP-X55.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/JustEnoughLinuxOS/distribution/releases/download/${{ steps.version.outputs.version }}/JELOS-RK3566-BSP-X55.aarch64-${{ steps.version.outputs.version }}.tar)| + |**Anbernic RG351P/M, Game Console R33S/R35S/R36S, ODROID Go Advance, ODROID Go Super, Magicx XU10**|[ROCKNIX-RK3326.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-RK3326.aarch64-${{ steps.version.outputs.version }}.tar)| + |**Anbernic RG353P/M/V/VS, RG503, Powkiddy RK2023, RGB10 Max 3, RGB30**|[ROCKNIX-RK3566-BSP.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-RK3566-BSP.aarch64-${{ steps.version.outputs.version }}.tar)| + |**Anbernic RG552**|[ROCKNIX-RK3399.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-RK3399.aarch64-${{ steps.version.outputs.version }}.tar)| + |****Atari VCS, AOKZOE, Ayaneo, Ayn, GPD, and other x86_64 devices****|[ROCKNIX-AMD64.x86_64-${{ steps.version.outputs.version }}.tar](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-AMD64.x86_64-${{ steps.version.outputs.version }}.tar)| + |**Gameforce Ace**|[ROCKNIX-RK3588.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-RK3588.aarch64-${{ steps.version.outputs.version }}.tar)| + |**Hardkernel ODROID Go Ultra, N2/N2+/N2L, Powkiddy RGB10 Max 3 Pro**|[ROCKNIX-S922X.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-S922X.aarch64-${{ steps.version.outputs.version }}.tar)| + |**Orange Pi 5, and Indiedroid Nova**|[ROCKNIX-RK3588.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-RK3588.aarch64-${{ steps.version.outputs.version }}.tar)| + |**Powkiddy x55**|[ROCKNIX-RK3566-BSP-X55.aarch64-${{ steps.version.outputs.version }}.tar](https://github.com/ROCKNIX/distribution/releases/download/${{ steps.version.outputs.version }}/ROCKNIX-RK3566-BSP-X55.aarch64-${{ steps.version.outputs.version }}.tar)| ## Documentation ### Contribute - * [Building JELOS](https://jelos.org/contribute/build/) - * [Code of Conduct](https://jelos.org/contribute/code-of-conduct/) - * [Contributing to JELOS](https://jelos.org/contribute/) - * [Modifying JELOS](https://jelos.org/contribute/modify/) - * [Adding Hardware Quirks](https://jelos.org/contribute/quirks/) - * [Creating Packages](https://jelos.org/contribute/packages/) + * [Building ROCKNIX](https://rocknix.org/contribute/build/) + * [Code of Conduct](https://rocknix.org/contribute/code-of-conduct/) + * [Contributing to ROCKNIX](https://rocknix.org/contribute/) + * [Modifying ROCKNIX](https://rocknix.org/contribute/modify/) + * [Adding Hardware Quirks](https://rocknix.org/contribute/quirks/) + * [Creating Packages](https://rocknix.org/contribute/packages/) * [Pull Request Template](/PULL_REQUEST_TEMPLATE.md) ### Play - * [Installing JELOS](https://jelos.org/play/install/) - * [Updating JELOS](https://jelos.org/play/update/) - * [Controls](https://jelos.org/play/controls/) - * [Netplay](https://jelos.org/play/netplay/) - * [Configuring Moonlight](https://jelos.org/systems/moonlight/) + * [Installing ROCKNIX](https://rocknix.org/play/install/) + * [Updating ROCKNIX](https://rocknix.org/play/update/) + * [Controls](https://rocknix.org/play/controls/) + * [Netplay](https://rocknix.org/play/netplay/) + * [Configuring Moonlight](https://rocknix.org/systems/moonlight/) * [Device Specific Documentation](/documentation/PER_DEVICE_DOCUMENTATION) ### Configure - * [Optimizations](https://jelos.org/configure/optimizations/) - * [Shaders](https://jelos.org/configure/shaders/) - * [Cloud Sync](https://jelos.org/configure/cloud-sync/) - * [VPN](https://jelos.org/configure/vpn/) + * [Optimizations](https://rocknix.org/configure/optimizations/) + * [Shaders](https://rocknix.org/configure/shaders/) + * [Cloud Sync](https://rocknix.org/configure/cloud-sync/) + * [VPN](https://rocknix.org/configure/vpn/) ### Other - * [Frequently Asked Questions](https://jelos.org/faqs/) - * [Donating to JELOS](https://jelos.org/donations/) + * [Frequently Asked Questions](https://rocknix.org/faqs/) + * [Donating to ROCKNIX](https://rocknix.org/donations/) artifacts: "release/*" prerelease: false draft: true token: ${{ secrets.REPO_ACCESS }} - owner: JustEnoughLinuxOS + owner: ROCKNIX repo: distribution diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index f8cfa44b4..2afa4fc72 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1 +1 @@ -Moved to [https://jelos.org/contribute/code-of-conduct/](https://jelos.org/contribute/code-of-conduct/) \ No newline at end of file +Moved to [https://rocknix.org/contribute/code-of-conduct/](https://rocknix.org/contribute/code-of-conduct/) \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fc03debf0..554ef2939 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1 +1 @@ -Moved to [https://jelos.org/contribute/](https://jelos.org/contribute/) \ No newline at end of file +Moved to [https://rocknix.org/contribute/](https://rocknix.org/contribute/) \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index d425fbd79..34826c70f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -24,8 +24,8 @@ RUN apt-get install -y \ ### Cross compiling on ARM RUN if [ "$(uname -m)" = "aarch64" ]; then apt-get install -y --no-install-recommends qemu-user-binfmt libc6-dev-amd64-cross; fi -RUN if [ ! -d /lib64 ]; then ln -sf /usr/x86_64-jelos-linux-gnu/lib64 /lib64; fi -RUN if [ ! -d /lib/x86_64-jelos-linux-gnu ]; then ln -sf /usr/x86_64-jelos-linux-gnu/lib /lib/x86_64-jelos-linux-gnu; fi +RUN if [ ! -d /lib64 ]; then ln -sf /usr/x86_64-rocknix-linux-gnu/lib64 /lib64; fi +RUN if [ ! -d /lib/x86_64-rocknix-linux-gnu ]; then ln -sf /usr/x86_64-rocknix-linux-gnu/lib /lib/x86_64-rocknix-linux-gnu; fi RUN mkdir -p /work && chown docker /work diff --git a/LICENSE.md b/LICENSE.md index e5474784d..fa496b1e0 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) +        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) # ## Licenses diff --git a/Makefile b/Makefile index 4809ccd33..d4e31b027 100644 --- a/Makefile +++ b/Makefile @@ -74,7 +74,7 @@ package-clean: # For example: make docker-AMD64 will use docker to call: make AMD64 # All variables are scoped to docker-* commands to prevent weird collisions/behavior with non-docker commands -docker-%: DOCKER_IMAGE := "justenoughlinuxos/jelos-build:latest" +docker-%: DOCKER_IMAGE := "justenoughlinuxos/rocknix-build:latest" # DOCKER_WORK_DIR is the directory in the Docker image - it is set to /work by default # Anytime this directory changes, you must run `make clean` similarly to moving the distribution directory diff --git a/README.md b/README.md index 01174d83d..927274884 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -      [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) +      [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) --- @@ -21,12 +21,12 @@ Just Enough Linux Operating System (JELOS) is an immutable Linux distribution fo - - + + - - + +
@@ -66,34 +66,34 @@ All other software is provided under each component's respective license. These ### Contribute -* [Building JELOS](https://jelos.org/contribute/build/) -* [Code of Conduct](https://jelos.org/contribute/code-of-conduct/) -* [Contributing to JELOS](https://jelos.org/contribute/) -* [Modifying JELOS](https://jelos.org/contribute/modify/) -* [Adding Hardware Quirks](https://jelos.org/contribute/quirks/) -* [Creating Packages](https://jelos.org/contribute/packages/) +* [Building JELOS](https://rocknix.org/contribute/build/) +* [Code of Conduct](https://rocknix.org/contribute/code-of-conduct/) +* [Contributing to JELOS](https://rocknix.org/contribute/) +* [Modifying JELOS](https://rocknix.org/contribute/modify/) +* [Adding Hardware Quirks](https://rocknix.org/contribute/quirks/) +* [Creating Packages](https://rocknix.org/contribute/packages/) * [Pull Request Template](/PULL_REQUEST_TEMPLATE.md) ### Play -* [Installing JELOS](https://jelos.org/play/install/) -* [Updating JELOS](https://jelos.org/play/update/) -* [Controls](https://jelos.org/play/controls/) -* [Netplay](https://jelos.org/play/netplay/) -* [Configuring Moonlight](https://jelos.org/systems/moonlight/) +* [Installing JELOS](https://rocknix.org/play/install/) +* [Updating JELOS](https://rocknix.org/play/update/) +* [Controls](https://rocknix.org/play/controls/) +* [Netplay](https://rocknix.org/play/netplay/) +* [Configuring Moonlight](https://rocknix.org/systems/moonlight/) * [Device Specific Documentation](/documentation/PER_DEVICE_DOCUMENTATION) ### Configure -* [Optimizations](https://jelos.org/configure/optimizations/) -* [Shaders](https://jelos.org/configure/shaders/) -* [Cloud Sync](https://jelos.org/configure/cloud-sync/) -* [VPN](https://jelos.org/configure/vpn/) +* [Optimizations](https://rocknix.org/configure/optimizations/) +* [Shaders](https://rocknix.org/configure/shaders/) +* [Cloud Sync](https://rocknix.org/configure/cloud-sync/) +* [VPN](https://rocknix.org/configure/vpn/) ### Other -* [Frequently Asked Questions](https://jelos.org/faqs/) -* [Donating to JELOS](https://jelos.org/donations/) +* [Frequently Asked Questions](https://rocknix.org/faqs/) +* [Donating to JELOS](https://rocknix.org/donations/) ## Device Support @@ -101,41 +101,41 @@ JELOS supports a variety of ARM and Intel/AMD based devices. | Manufacturer | Device | CPU / Architecture | Kernel | GL driver | Interface | | -- | -- | -- | -- | -- | -- | -| Anbernic | [RG351P/M](https://jelos.org/devices/anbernic/rg351pmv) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Anbernic | [RG351v](https://jelos.org/devices/anbernic/rg351pmv) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Anbernic | [RG353P](https://jelos.org/devices/anbernic/rg353pmvvs) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Anbernic | [RG353M](https://jelos.org/devices/anbernic/rg353pmvvs) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Anbernic | [RG353V](https://jelos.org/devices/anbernic/rg353pmvvs) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Anbernic | [RG353VS](https://jelos.org/devices/anbernic/rg353pmvvs) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Anbernic | [RG503](https://jelos.org/devices/anbernic/rg503) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Anbernic | [RG552](https://jelos.org/devices/anbernic/rg552) | Rockchip RK3399 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Anbernic | [Win600](https://jelos.org/devices/anbernic/win600) | AMD Athlon Silver 3050e (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| AOKZOE | [A1 Pro](https://jelos.org/devices/aokzoe/a1-pro) | AMD 7840u (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| Atari | [VCS](https://jelos.org/devices/atari/vcs) | AMD Ryzen R1606G (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| AYANEO | [Air / Air Pro](https://jelos.org/devices/ayaneo/air) | Amd Ryzen 5 5560U / AMD Ryzen 7 5825U (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| AYANEO | [Air Plus](https://jelos.org/devices/ayaneo/air-plus) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| AYANEO | [AYANEO 2](https://jelos.org/devices/ayaneo/ayaneo-2) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| AYANEO | [AYANEO 2S](https://jelos.org/devices/ayaneo/ayaneo-2) | Amd Ryzen 7 7840U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| Ayn | [Loki Zero](https://jelos.org/devices/ayn/loki-zero) | AMD Athlon Silver 3050e (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| Ayn | [Loki Max](https://jelos.org/devices/ayn/loki-max) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| Gameforce | [ACE](https://jelos.org/devices/gameforce/gameforce-ace/) | Rockchip RK3588S | Rockchip BSP | Panfrost | | Weston + Emulation Station | -| Game Console | [R33S](https://jelos.org/devices/unbranded/game-console-r33s) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Game Console | [R35S, R36S](https://jelos.org/devices/unbranded/game-console-r35s-r36s) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| GPD | [Win 4](https://jelos.org/devices/gpd/win4) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| GPD | [Win Max 2 (2022)](https://jelos.org/devices/gpd/win-max-2) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux| Radeonsi | Weston + Emulation Station | -| Hardkernel | [Odroid Go Advance](https://jelos.org/devices/hardkernel/odroid-go-advance) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Hardkernel | [Odroid Go Super](https://jelos.org/devices/hardkernel/odroid-go-super) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Hardkernel | [Odroid Go Ultra](https://jelos.org/devices/hardkernel/odroid-go-ultra) | Amlogic S922X / Mali G52 M6 (ARMv8-A) | Mainline Linux | Mali | Weston + Emulation Station | -| Hardkernel | [Odroid N2/N2+/N2L](https://jelos.org/devices/hardkernel/odroid-n2) | Amlogic S922X / Mali G52 M6 (ARMv8-A) | Mainline Linux | Mali | Weston + Emulation Station | -| Indiedroid | [Nova](https://jelos.org/devices/indiedroid/nova) | Rockchip RK3588S / Mali G610 (ARMv8-A) | Rockchip 5.10 BSP Linux | Panfrost | Weston + Emulation Station | -| Orange Pi | [Orange Pi 5](https://jelos.org/devices/orange-pi/orange-pi-5) | Rockchip RK3588S / Mali G610 (ARMv8-A) | Rockchip 5.10 BSP Linux | Panfrost | Weston + Emulation Station | -| Magicx | [XU10](https://jelos.org/devices/magicx/xu10) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Powkiddy | [RGB10](https://jelos.org/devices/powkiddy/rgb10) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Powkiddy | [RGB10 Max 3](https://jelos.org/devices/powkiddy/rgb10-max-3) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Powkiddy | [RGB10 Max 3 Pro](https://jelos.org/devices/powkiddy/rgb10-max-3-pro) | Amlogic A311D / Mali G52 M4 (ARMv8-A) | Mainline Linux | Mali | Weston + Emulation Station | -| Powkiddy | [RGB30](https://jelos.org/devices/powkiddy/rgb30) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Powkiddy | [RK2023](https://jelos.org/devices/powkiddy/rk2023) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Powkiddy | [x55](https://jelos.org/devices/powkiddy/x55) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | +| Anbernic | [RG351P/M](https://rocknix.org/devices/anbernic/rg351pmv) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | +| Anbernic | [RG351v](https://rocknix.org/devices/anbernic/rg351pmv) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | +| Anbernic | [RG353P](https://rocknix.org/devices/anbernic/rg353pmvvs) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | +| Anbernic | [RG353M](https://rocknix.org/devices/anbernic/rg353pmvvs) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | +| Anbernic | [RG353V](https://rocknix.org/devices/anbernic/rg353pmvvs) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | +| Anbernic | [RG353VS](https://rocknix.org/devices/anbernic/rg353pmvvs) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | +| Anbernic | [RG503](https://rocknix.org/devices/anbernic/rg503) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | +| Anbernic | [RG552](https://rocknix.org/devices/anbernic/rg552) | Rockchip RK3399 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | +| Anbernic | [Win600](https://rocknix.org/devices/anbernic/win600) | AMD Athlon Silver 3050e (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | +| AOKZOE | [A1 Pro](https://rocknix.org/devices/aokzoe/a1-pro) | AMD 7840u (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | +| Atari | [VCS](https://rocknix.org/devices/atari/vcs) | AMD Ryzen R1606G (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | +| AYANEO | [Air / Air Pro](https://rocknix.org/devices/ayaneo/air) | Amd Ryzen 5 5560U / AMD Ryzen 7 5825U (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | +| AYANEO | [Air Plus](https://rocknix.org/devices/ayaneo/air-plus) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | +| AYANEO | [AYANEO 2](https://rocknix.org/devices/ayaneo/ayaneo-2) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | +| AYANEO | [AYANEO 2S](https://rocknix.org/devices/ayaneo/ayaneo-2) | Amd Ryzen 7 7840U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | +| Ayn | [Loki Zero](https://rocknix.org/devices/ayn/loki-zero) | AMD Athlon Silver 3050e (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | +| Ayn | [Loki Max](https://rocknix.org/devices/ayn/loki-max) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | +| Gameforce | [ACE](https://rocknix.org/devices/gameforce/gameforce-ace/) | Rockchip RK3588S | Rockchip BSP | Panfrost | | Weston + Emulation Station | +| Game Console | [R33S](https://rocknix.org/devices/unbranded/game-console-r33s) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | +| Game Console | [R35S, R36S](https://rocknix.org/devices/unbranded/game-console-r35s-r36s) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | +| GPD | [Win 4](https://rocknix.org/devices/gpd/win4) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | +| GPD | [Win Max 2 (2022)](https://rocknix.org/devices/gpd/win-max-2) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux| Radeonsi | Weston + Emulation Station | +| Hardkernel | [Odroid Go Advance](https://rocknix.org/devices/hardkernel/odroid-go-advance) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | +| Hardkernel | [Odroid Go Super](https://rocknix.org/devices/hardkernel/odroid-go-super) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | +| Hardkernel | [Odroid Go Ultra](https://rocknix.org/devices/hardkernel/odroid-go-ultra) | Amlogic S922X / Mali G52 M6 (ARMv8-A) | Mainline Linux | Mali | Weston + Emulation Station | +| Hardkernel | [Odroid N2/N2+/N2L](https://rocknix.org/devices/hardkernel/odroid-n2) | Amlogic S922X / Mali G52 M6 (ARMv8-A) | Mainline Linux | Mali | Weston + Emulation Station | +| Indiedroid | [Nova](https://rocknix.org/devices/indiedroid/nova) | Rockchip RK3588S / Mali G610 (ARMv8-A) | Rockchip 5.10 BSP Linux | Panfrost | Weston + Emulation Station | +| Orange Pi | [Orange Pi 5](https://rocknix.org/devices/orange-pi/orange-pi-5) | Rockchip RK3588S / Mali G610 (ARMv8-A) | Rockchip 5.10 BSP Linux | Panfrost | Weston + Emulation Station | +| Magicx | [XU10](https://rocknix.org/devices/magicx/xu10) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | +| Powkiddy | [RGB10](https://rocknix.org/devices/powkiddy/rgb10) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | +| Powkiddy | [RGB10 Max 3](https://rocknix.org/devices/powkiddy/rgb10-max-3) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | +| Powkiddy | [RGB10 Max 3 Pro](https://rocknix.org/devices/powkiddy/rgb10-max-3-pro) | Amlogic A311D / Mali G52 M4 (ARMv8-A) | Mainline Linux | Mali | Weston + Emulation Station | +| Powkiddy | [RGB30](https://rocknix.org/devices/powkiddy/rgb30) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | +| Powkiddy | [RK2023](https://rocknix.org/devices/powkiddy/rk2023) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | +| Powkiddy | [x55](https://rocknix.org/devices/powkiddy/x55) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | > [!NOTE] > While not technically supported, JELOS is also known to work well on a variety of generic x86_64 devices including gaming PCs, mini PCs, and laptop computers. diff --git a/config/path b/config/path index ac57af5da..b4e636df6 100644 --- a/config/path +++ b/config/path @@ -19,7 +19,7 @@ set -e fi [ -z "${HOST_NAME}" ] && export HOST_NAME="$(${LOCAL_CC} -dumpmachine)" -TARGET_NAME=$TARGET_GCC_ARCH-jelos-linux-gnu${TARGET_ABI} +TARGET_NAME=$TARGET_GCC_ARCH-rocknix-linux-gnu${TARGET_ABI} BUILD=${BUILD_ROOT}/${BUILD_BASE}.${DISTRONAME}-${DEVICE:-${PROJECT}}.${TARGET_ARCH} diff --git a/distributions/ROCKNIX/logos/jelos-logo.png b/distributions/ROCKNIX/logos/rocknix-logo.png similarity index 100% rename from distributions/ROCKNIX/logos/jelos-logo.png rename to distributions/ROCKNIX/logos/rocknix-logo.png diff --git a/distributions/ROCKNIX/options b/distributions/ROCKNIX/options index 41c6350aa..d367f7f86 100644 --- a/distributions/ROCKNIX/options +++ b/distributions/ROCKNIX/options @@ -16,6 +16,9 @@ # Name of the Distro to build (full name, without special characters) DISTRONAME="ROCKNIX" +# Name of the OS to build (full name, lower case, without special characters) + OSNAME="rocknix" + # short project description DESCRIPTION="An Open Source firmware." diff --git a/documentation/DEVEL_ADD_HARDWARE_QUIRKS.md b/documentation/DEVEL_ADD_HARDWARE_QUIRKS.md index 336939ef2..67208e1f9 100644 --- a/documentation/DEVEL_ADD_HARDWARE_QUIRKS.md +++ b/documentation/DEVEL_ADD_HARDWARE_QUIRKS.md @@ -1 +1 @@ -Moved to [https://jelos.org/contribute/quirks/](https://jelos.org/contribute/quirks/) \ No newline at end of file +Moved to [https://rocknix.org/contribute/quirks/](https://rocknix.org/contribute/quirks/) \ No newline at end of file diff --git a/documentation/DEVEL_BUILDING_JELOS.md b/documentation/DEVEL_BUILDING_JELOS.md deleted file mode 100644 index 365f75f74..000000000 --- a/documentation/DEVEL_BUILDING_JELOS.md +++ /dev/null @@ -1 +0,0 @@ -Moved to [https://jelos.org/contribute/build/](https://jelos.org/contribute/build/) \ No newline at end of file diff --git a/documentation/DEVEL_BUILDING_ROCKNIX.md b/documentation/DEVEL_BUILDING_ROCKNIX.md new file mode 100644 index 000000000..f44c0cc8b --- /dev/null +++ b/documentation/DEVEL_BUILDING_ROCKNIX.md @@ -0,0 +1 @@ +Moved to [https://rocknix.org/contribute/build/](https://rocknix.org/contribute/build/) \ No newline at end of file diff --git a/documentation/DEVEL_CREATING_PACKAGES.md b/documentation/DEVEL_CREATING_PACKAGES.md index 22a93aa3f..93733f014 100644 --- a/documentation/DEVEL_CREATING_PACKAGES.md +++ b/documentation/DEVEL_CREATING_PACKAGES.md @@ -1 +1 @@ -Moved to [https://jelos.org/contribute/packages/](https://jelos.org/contribute/packages/) \ No newline at end of file +Moved to [https://rocknix.org/contribute/packages/](https://rocknix.org/contribute/packages/) \ No newline at end of file diff --git a/documentation/GENERAL_CUSTOM_SHADERS.md b/documentation/GENERAL_CUSTOM_SHADERS.md index 08f89bc67..3d863dd9e 100644 --- a/documentation/GENERAL_CUSTOM_SHADERS.md +++ b/documentation/GENERAL_CUSTOM_SHADERS.md @@ -1 +1 @@ -Moved to [https://jelos.org/configure/shaders/](https://jelos.org/configure/shaders/) \ No newline at end of file +Moved to [https://rocknix.org/configure/shaders/](https://rocknix.org/configure/shaders/) \ No newline at end of file diff --git a/documentation/GENERAL_DONATING_TO_JELOS.md b/documentation/GENERAL_DONATING_TO_JELOS.md deleted file mode 100644 index 068812439..000000000 --- a/documentation/GENERAL_DONATING_TO_JELOS.md +++ /dev/null @@ -1 +0,0 @@ -Moved to [https://jelos.org/donations/](https://jelos.org/donations/) \ No newline at end of file diff --git a/documentation/GENERAL_DONATING_TO_ROCKNIX.md b/documentation/GENERAL_DONATING_TO_ROCKNIX.md new file mode 100644 index 000000000..aad4fade2 --- /dev/null +++ b/documentation/GENERAL_DONATING_TO_ROCKNIX.md @@ -0,0 +1 @@ +Moved to [https://rocknix.org/donations/](https://rocknix.org/donations/) \ No newline at end of file diff --git a/documentation/GENERAL_FREQUENTLY_ASKED_QUESTIONS.md b/documentation/GENERAL_FREQUENTLY_ASKED_QUESTIONS.md index cbae01f8b..f687d057e 100644 --- a/documentation/GENERAL_FREQUENTLY_ASKED_QUESTIONS.md +++ b/documentation/GENERAL_FREQUENTLY_ASKED_QUESTIONS.md @@ -1 +1 @@ -Moved to [https://jelos.org/faqs/](https://jelos.org/faqs/) \ No newline at end of file +Moved to [https://rocknix.org/faqs/](https://rocknix.org/faqs/) \ No newline at end of file diff --git a/documentation/GENERAL_HOTKEYS_AND_BUTTON_CODES.md b/documentation/GENERAL_HOTKEYS_AND_BUTTON_CODES.md index cd849b221..e4408a7cd 100644 --- a/documentation/GENERAL_HOTKEYS_AND_BUTTON_CODES.md +++ b/documentation/GENERAL_HOTKEYS_AND_BUTTON_CODES.md @@ -1 +1 @@ -Moved to [https://jelos.org/play/controls/](https://jelos.org/play/controls/) \ No newline at end of file +Moved to [https://rocknix.org/play/controls/](https://rocknix.org/play/controls/) \ No newline at end of file diff --git a/documentation/GENERAL_NETWORK_PLAY.md b/documentation/GENERAL_NETWORK_PLAY.md index 047a1fc6f..05656b1f0 100644 --- a/documentation/GENERAL_NETWORK_PLAY.md +++ b/documentation/GENERAL_NETWORK_PLAY.md @@ -1 +1 @@ -Moved to [https://jelos.org/play/netplay/](https://jelos.org/play/netplay/) \ No newline at end of file +Moved to [https://rocknix.org/play/netplay/](https://rocknix.org/play/netplay/) \ No newline at end of file diff --git a/documentation/GENERAL_PERFORMANCE_AND_BATTERY.md b/documentation/GENERAL_PERFORMANCE_AND_BATTERY.md index b40f4145a..d6217f7fb 100644 --- a/documentation/GENERAL_PERFORMANCE_AND_BATTERY.md +++ b/documentation/GENERAL_PERFORMANCE_AND_BATTERY.md @@ -1 +1 @@ -Moved to [https://jelos.org/configure/optimizations/](https://jelos.org/configure/optimizations/) \ No newline at end of file +Moved to [https://rocknix.org/configure/optimizations/](https://rocknix.org/configure/optimizations/) \ No newline at end of file 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 110152c2b..8023e2ccf 100644 --- a/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md +++ b/documentation/PER_DEVICE_DOCUMENTATION/AMD64/SUPPORTED_EMULATORS_AND_CORES.md @@ -1,4 +1,4 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) +        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) # # Supported Systems Emulators and Cores 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 cf9a61993..a4e07994d 100644 --- a/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md +++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3326/SUPPORTED_EMULATORS_AND_CORES.md @@ -1,4 +1,4 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) +        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) # # Supported Systems Emulators and Cores 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 1ae68a378..140c88085 100644 --- a/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md +++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3399/SUPPORTED_EMULATORS_AND_CORES.md @@ -1,4 +1,4 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) +        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) # # Supported Systems Emulators and Cores diff --git a/documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP-X55/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP-X55/SUPPORTED_EMULATORS_AND_CORES.md deleted file mode 100644 index 0f2c4bcd9..000000000 --- a/documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP-X55/SUPPORTED_EMULATORS_AND_CORES.md +++ /dev/null @@ -1,123 +0,0 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) -# - -# Supported Systems Emulators and Cores -This document describes all available systems emulators and cores available for the device. - -|Manufacturer|System|Release Date|Games Path|Supported Extensions|Emulator / Core| -|----|----|----|----|----|----| -| System|Media Player (mplayer)|System|`mplayer`|.mp4 .mkv .avi .mov .wmv .m3u .mpg .ytb .twi .sh .mp3 .aac .mka .dts .flac .ogg .m4a .ac3 .opus .wav .wv .eac33 .thd|**mplayer:** mplayer (default)
| -| System|Moonlight Game Streaming (moonlight)|System|`moonlight`|.sh|| -| System|Music Player (music)|System|`playlists`|.m3u .sh|**gmu:** gmu (default)
| -| System|Ports (ports)|System|`ports`|.sh|**portmaster:** portmaster (default)
| -| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi|| -| System|Tools (tools)|System|`modules`|.sh|| -|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
| -|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
| -|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
| -|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)
**retroarch:** daphne
| -|Arcade|Final Burn Neo (fbn)|2002|`fbneo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
| -|Arcade|MAME (mame)|1997|`mame`|.7z .zip|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
| -|Arduboy|Arduboy (arduboy)|2014|`arduboy`|.hex|**retroarch:** arduous (default)
| -|Atari|Atari 2600 (atari2600)|1977|`atari2600`|.a26 .bin .zip .7z|**retroarch:** stella (default)
| -|Atari|Atari 5200 (atari5200)|1982|`atari5200`|.rom .xfd .atr .atx .cdm .cas .car .bin .a52 .xex .zip .7z|**retroarch:** a5200 (default)
**retroarch:** atari800
| -|Atari|Atari 7800 (atari7800)|1986|`atari7800`|.a78 .bin .zip .7z|**retroarch:** prosystem (default)
| -|Atari|Atari 800 (atari800)|1979|`atari800`|.rom .xfd .atr .atx .cdm .cas .car .bin .a52 .xex .zip .7z|**retroarch:** atari800 (default)
| -|Atari|Atari Jaguar (atarijaguar)|1993|`atarijaguar`|.j64 .jag .rom .abs .cof .bin .prg|**retroarch:** virtualjaguar (default)
| -|Atari|Atari Lynx (atarilynx)|1989|`atarilynx`|.lnx .lyx .o .zip .7z|**retroarch:** handy (default)
**retroarch:** beetle_lynx
| -|Atari|Atari ST (atarist)|1985|`atarist`|.st .msa .stx .dim .ipf .m3u .zip .7z|**retroarch:** hatari (default)
**hatarisa:** hatarisa
| -|Bandai|SuFami Turbo (sufami)|1996|`sufami`|.st .zip .7z|**retroarch:** snes9x (default)
| -|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
| -|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
| -|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
| -|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
| -|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
| -|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
| -|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** gearcoleco (default)
**retroarch:** bluemsx
**retroarch:** smsplus
| -|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
| -|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
| -|Commodore|Commodore 128 (c128)|1985|`c128`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x128 (default)
**vicesa:** x128
| -|Commodore|Commodore 16 (c16)|1984|`c16`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_xplus4 (default)
**vicesa:** xplus4
| -|Commodore|Commodore 64 (c64)|1982|`c64`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x64 (default)
**vicesa:** x64sc
| -|Commodore|Commodore PET (pet)|1977|`pet`|.20 .a0 .b0 .d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .gz .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_xpet (default)
| -|Commodore|VIC-20 (vic20)|1980|`vic20`|.20 .a0 .b0 .d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .gz .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_xvic (default)
**vicesa:** xvic
| -|EPOCH/YENO|Super Cassette Vision (scv)|1984|`scv`|.cart .bin .rom .0 .zip|**retroarch:** emuscv (default)
| -|Fairchild|Fairchild Channel F (channelf)|1976|`channelf`|.bin .chf .zip .7z|**retroarch:** freechaf (default)
| -|id Software|Doom (doom)|1993|`doom`|.doom|**gzdoom:** gzdoom-sa (default)
| -|id Software|iDtech (idtech)|1991|`idtech`|.sh|**retroarch:** idtech
| -|Infocom|Z-machine (zmachine)|1979|`zmachine`|.dat .z1 .z2 .z3 .z4 .z5 .z6 .zip|**retroarch:** mojozork (default)
| -|Lexaloffle|PICO-8 (pico-8)|2015|`pico-8`|.p8 .png|**pico-8:** pico8 (default)
**retroarch:** fake08
| -|Magnavox|Odyssey 2 (odyssey2)|1979|`odyssey`|.bin .zip .7z|**retroarch:** o2em (default)
| -|Mattel|Intellivision (intellivision)|1979|`intellivision`|.int .bin .rom .zip .7z|**retroarch:** freeintv (default)
| -|Microsoft|DOS (pc)|1981|`pc`|.com .bat .exe .dosz|**retroarch:** dosbox_pure
**retroarch:** dosbox_svn
| -|Microsoft|MSX (msx)|1983|`msx`|.dsk .mx1 .mx2 .rom .zip .7z .m3u|**retroarch:** bluemsx (default)
**retroarch:** fmsx
| -|Microsoft|MSX 2 (msx2)|1988|`msx2`|.dsk .mx1 .mx2 .rom .zip .7z .m3u|**retroarch:** bluemsx (default)
**retroarch:** fmsx
| -|NEC|PC Engine (pcengine)|1987|`pcengine`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
| -|NEC|PC Engine CD (pcenginecd)|1988|`pcenginecd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
| -|NEC|PC-8800 (pc-8800)|1981|`pc88`|.d88 .m3u|**retroarch:** quasi88 (default)
| -|NEC|PC-9800 (pc-9800)|1983|`pc98`|.d98 .zip .fdi .fdd .2hd .tfd .d88 .hdm .xdf .dup .hdi .thd .nhd .hdd .hdn|**retroarch:** np2kai (default)
| -|NEC|PC-FX (pcfx)|1994|`pcfx`|.chd .cue .ccd .toc|**retroarch:** beetle_pcfx (default)
| -|NEC|SuperGrafx (supergrafx)|1989|`sgfx`|.pce .sgx .cue .ccd .chd .zip .7z|**retroarch:** beetle_supergrafx
**retroarch:** beetle_pce
| -|NEC|TurboGrafx-16 (tg16)|1989|`tg16`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
| -|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
| -|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
| -|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
| -|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
| -|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
**retroarch:** mame
| -|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
| -|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
| -|Nintendo|Game Boy Advance (gba)|2001|`gba`|.gba .zip .7z|**retroarch:** mgba (default)
**retroarch:** gbsp
**retroarch:** vbam
**retroarch:** vba_next
**retroarch:** beetle_gba
**retroarch:** gpsp
| -|Nintendo|Game Boy Advance (Hacks) (gbah)|2001|`gbah`|.gba .zip .7z|**retroarch:** mgba (default)
**retroarch:** gbsp
**retroarch:** vbam
**retroarch:** vba_next
**retroarch:** beetle_gba
| -|Nintendo|Game Boy Color (gbc)|1998|`gbc`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
| -|Nintendo|Game Boy Color (Hacks) (gbch)|1998|`gbch`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
| -|Nintendo|NES (Hacks) (nesh)|1985|`nesh`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
| -|Nintendo|Nintendo 64 (n64)|1996|`n64`|.z64 .n64 .v64 .zip .7z|**retroarch:** mupen64plus_next (default)
**retroarch:** mupen64plus
**retroarch:** parallel_n64
**mupen64plus:** mupen64plus-sa
| -|Nintendo|Nintendo DS (nds)|2005|`nds`|.nds .zip .7z|**drastic:** drastic-sa (default)
**retroarch:** melonds
**retroarch:** desmume
| -|Nintendo|Nintendo Entertainment System (nes)|1985|`nes`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
| -|Nintendo|Pokémon Mini (pokemini)|2001|`pokemini`|.min .zip .7z|**retroarch:** pokemini (default)
| -|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
| -|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
| -|Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)
| -|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)
| -|Philips|VideoPac (videopac)|1978|`videopac`|.bin .zip .7z|**retroarch:** o2em (default)
| -|Sammy|Atomiswave (atomiswave)|2003|`atomiswave`|.lst .bin .dat .zip .7z|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
| -|Sega|Dreamcast (dreamcast)|1998|`dreamcast`|.cdi .gdi .chd .m3u .cue|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
| -|Sega|Game Gear (gamegear)|1990|`gamegear`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
| -|Sega|Game Gear (Hacks) (ggh)|1990|`gamegearh`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
| -|Sega|Genesis (genesis)|1989|`genesis`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
| -|Sega|Genesis (Hacks) (genh)|1989|`genh`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
| -|Sega|Master System (mastersystem)|1985|`mastersystem`|.bin .sms .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
| -|Sega|Mega CD (megacd)|1991|`megacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)
**retroarch:** picodrive
| -|Sega|Mega Drive (megadrive)|1990|`megadrive`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
| -|Sega|Mega Drive (megadrive-japan)|1988|`megadrive-japan`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
| -|Sega|Naomi (naomi)|1998|`naomi`|.lst .bin .dat .zip .7z|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
| -|Sega|Saturn (saturn)|1994|`saturn`|.cue .chd .iso|**yabasanshiro:** yabasanshiro-sa (default)
**retroarch:** yabasanshiro
| -|Sega|Sega 32X (sega32x)|1994|`sega32x`|.32x .smd .bin .md .zip .7z|**retroarch:** picodrive (default)
| -|Sega|Sega CD (segacd)|1991|`segacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)
**retroarch:** picodrive
| -|Sega|SG-1000 (sg-1000)|1983|`sg-1000`|.bin .sg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
| -|Sega|ST-V (st-v)|1995|`st-v`|.zip .ZIP|| -|Sharp|X1 (x1)|1982|`x1`|.dx1 .2d .2hd .tfd .d88 .hdm .xdf .dup .tap .cmd .zip .7z|**retroarch:** x1 (default)
| -|Sharp|x68000 (x68000)|1987|`x68000`|.dim .img .d88 .hdm .dup .2hd .xdf .hdf .cmd .m3u .zip .7z|**retroarch:** px68k (default)
| -|Sinclair|ZX Spectrum (zxspectrum)|1982|`zxspectrum`|.tzx .tap .z80 .rzx .scl .trd .dsk .zip .7z|**retroarch:** fuse
| -|Sinclair|ZX81 (zx81)|1981|`zx81`|.tzx .p .zip .7z|**retroarch:** 81 (default)
| -|Smith Engineering|Vectrex (vectrex)|1982|`vectrex`|.bin .gam .vec .zip .7z|**retroarch:** vecx (default)
| -|SNK|Neo Geo (neogeo)|1990|`neogeo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
| -|SNK|Neo Geo CD (neocd)|1994|`neocd`|.cue .iso .chd|**retroarch:** neocd (default)
**retroarch:** fbneo
| -|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
| -|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
| -|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)
**retroarch:** pcsx_rearmed
**duckstation:** duckstation-sa
**retroarch:** duckstation
**retroarch:** swanstation
| -|Sony|PlayStation Portable (psp)|2004|`psp`|.iso .cso .pbp .chd|**ppsspp:** ppsspp-sa (default)
| -|Sony|PSP Minis (pspminis)|2004|`pspminis`|.iso .cso .pbp|**ppsspp:** ppsspp-sa (default)
**retroarch:** ppsspp
| -|Sun Microsystems|J2ME (j2me)|2002|`j2me`|.jar|**retroarch:** freej2me (default)
| -|Thomson|MO/TO family (TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5 and MO6) (moto)|1982|`moto`|.fd .sap .k7 .m7 .m5 .rom|**retroarch:** theodore (default)
| -|Various|CHIP-8 / S-CHIP / XO-CHIP (chip-8)|1978|`chip-8`|.ch8 .sc8 .xo8|**retroarch:** jaxe (default)
| -|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-BSP/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP/SUPPORTED_EMULATORS_AND_CORES.md deleted file mode 100644 index 0f2c4bcd9..000000000 --- a/documentation/PER_DEVICE_DOCUMENTATION/RK3566-BSP/SUPPORTED_EMULATORS_AND_CORES.md +++ /dev/null @@ -1,123 +0,0 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) -# - -# Supported Systems Emulators and Cores -This document describes all available systems emulators and cores available for the device. - -|Manufacturer|System|Release Date|Games Path|Supported Extensions|Emulator / Core| -|----|----|----|----|----|----| -| System|Media Player (mplayer)|System|`mplayer`|.mp4 .mkv .avi .mov .wmv .m3u .mpg .ytb .twi .sh .mp3 .aac .mka .dts .flac .ogg .m4a .ac3 .opus .wav .wv .eac33 .thd|**mplayer:** mplayer (default)
| -| System|Moonlight Game Streaming (moonlight)|System|`moonlight`|.sh|| -| System|Music Player (music)|System|`playlists`|.m3u .sh|**gmu:** gmu (default)
| -| System|Ports (ports)|System|`ports`|.sh|**portmaster:** portmaster (default)
| -| System|Screenshots (imageviewer)|System|`screenshots`|.jpg .jpeg .png .bmp .psd .tga .gif .hdr .pic .ppm .pgm .mkv .pdf .mp4 .avi|| -| System|Tools (tools)|System|`modules`|.sh|| -|Amstrad|Amstrad CPC (amstradcpc)|1984|`amstradcpc`|.dsk .cpr .sna .tap .cdt .kcr .voc .m3u .zip .7z|**retroarch:** crocods (default)
**retroarch:** cap32
| -|Apple|Macintosh (macintosh)|1984|`mac`|.dsk .img .hfv .cmd .zip|**retroarch:** minivmac (default)
| -|Arcade|Arcade (arcade)|0000|`arcade`|.zip .7z|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame
| -|Arcade|Daphne (daphne)|1996|`daphne`|.daphne .singe|**hypseus-singe:** hypseus-singe (default)
**retroarch:** daphne
| -|Arcade|Final Burn Neo (fbn)|2002|`fbneo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
| -|Arcade|MAME (mame)|1997|`mame`|.7z .zip|**retroarch:** mame2003_plus (default)
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
**retroarch:** fbneo
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
| -|Arduboy|Arduboy (arduboy)|2014|`arduboy`|.hex|**retroarch:** arduous (default)
| -|Atari|Atari 2600 (atari2600)|1977|`atari2600`|.a26 .bin .zip .7z|**retroarch:** stella (default)
| -|Atari|Atari 5200 (atari5200)|1982|`atari5200`|.rom .xfd .atr .atx .cdm .cas .car .bin .a52 .xex .zip .7z|**retroarch:** a5200 (default)
**retroarch:** atari800
| -|Atari|Atari 7800 (atari7800)|1986|`atari7800`|.a78 .bin .zip .7z|**retroarch:** prosystem (default)
| -|Atari|Atari 800 (atari800)|1979|`atari800`|.rom .xfd .atr .atx .cdm .cas .car .bin .a52 .xex .zip .7z|**retroarch:** atari800 (default)
| -|Atari|Atari Jaguar (atarijaguar)|1993|`atarijaguar`|.j64 .jag .rom .abs .cof .bin .prg|**retroarch:** virtualjaguar (default)
| -|Atari|Atari Lynx (atarilynx)|1989|`atarilynx`|.lnx .lyx .o .zip .7z|**retroarch:** handy (default)
**retroarch:** beetle_lynx
| -|Atari|Atari ST (atarist)|1985|`atarist`|.st .msa .stx .dim .ipf .m3u .zip .7z|**retroarch:** hatari (default)
**hatarisa:** hatarisa
| -|Bandai|SuFami Turbo (sufami)|1996|`sufami`|.st .zip .7z|**retroarch:** snes9x (default)
| -|Bandai|Wonderswan (wonderswan)|1999|`wonderswan`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
| -|Bandai|Wonderswan Color (wonderswancolor)|2000|`wonderswancolor`|.ws .wsc .zip .7z|**retroarch:** beetle_wswan (default)
| -|belogic|Uzebox (uzebox)|2008|`uzebox`|.uze|**retroarch:** uzem (default)
| -|Capcom|CPS-I (cps1)|1988|`cps1`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
| -|Capcom|CPS-II (cps2)|1993|`cps2`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
| -|Capcom|CPS-III (cps3)|1996|`cps3`|.zip .7z|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** mame2010
**retroarch:** fbalpha2012
**AdvanceMame:** AdvanceMame
| -|Coleco|ColecoVision (colecovision)|1982|`coleco`|.bin .col .rom .zip .7z|**retroarch:** gearcoleco (default)
**retroarch:** bluemsx
**retroarch:** smsplus
| -|Commodore|Amiga (amiga)|1985|`amiga`|.zip .adf .uae .ipf .dms .adz .lha .m3u .hdf .hdz|**retroarch:** puae2021 (default)
**retroarch:** puae
**amiberry:** amiberry
**retroarch:** uae4arm
| -|Commodore|Amiga CD32 (amigacd32)|1994|`amigacd32`|.iso .cue .lha .chd|**retroarch:** puae2021 (default)
**retroarch:** puae
**retroarch:** uae4arm
| -|Commodore|Commodore 128 (c128)|1985|`c128`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x128 (default)
**vicesa:** x128
| -|Commodore|Commodore 16 (c16)|1984|`c16`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_xplus4 (default)
**vicesa:** xplus4
| -|Commodore|Commodore 64 (c64)|1982|`c64`|.d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_x64 (default)
**vicesa:** x64sc
| -|Commodore|Commodore PET (pet)|1977|`pet`|.20 .a0 .b0 .d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .gz .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_xpet (default)
| -|Commodore|VIC-20 (vic20)|1980|`vic20`|.20 .a0 .b0 .d64 .d71 .d80 .d81 .d82 .g64 .g41 .x64 .t64 .tap .prg .p00 .crt .bin .gz .d6z .d7z .d8z .g6z .g4z .x6z .cmd .m3u .vsf .nib .nbz .zip|**retroarch:** vice_xvic (default)
**vicesa:** xvic
| -|EPOCH/YENO|Super Cassette Vision (scv)|1984|`scv`|.cart .bin .rom .0 .zip|**retroarch:** emuscv (default)
| -|Fairchild|Fairchild Channel F (channelf)|1976|`channelf`|.bin .chf .zip .7z|**retroarch:** freechaf (default)
| -|id Software|Doom (doom)|1993|`doom`|.doom|**gzdoom:** gzdoom-sa (default)
| -|id Software|iDtech (idtech)|1991|`idtech`|.sh|**retroarch:** idtech
| -|Infocom|Z-machine (zmachine)|1979|`zmachine`|.dat .z1 .z2 .z3 .z4 .z5 .z6 .zip|**retroarch:** mojozork (default)
| -|Lexaloffle|PICO-8 (pico-8)|2015|`pico-8`|.p8 .png|**pico-8:** pico8 (default)
**retroarch:** fake08
| -|Magnavox|Odyssey 2 (odyssey2)|1979|`odyssey`|.bin .zip .7z|**retroarch:** o2em (default)
| -|Mattel|Intellivision (intellivision)|1979|`intellivision`|.int .bin .rom .zip .7z|**retroarch:** freeintv (default)
| -|Microsoft|DOS (pc)|1981|`pc`|.com .bat .exe .dosz|**retroarch:** dosbox_pure
**retroarch:** dosbox_svn
| -|Microsoft|MSX (msx)|1983|`msx`|.dsk .mx1 .mx2 .rom .zip .7z .m3u|**retroarch:** bluemsx (default)
**retroarch:** fmsx
| -|Microsoft|MSX 2 (msx2)|1988|`msx2`|.dsk .mx1 .mx2 .rom .zip .7z .m3u|**retroarch:** bluemsx (default)
**retroarch:** fmsx
| -|NEC|PC Engine (pcengine)|1987|`pcengine`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
| -|NEC|PC Engine CD (pcenginecd)|1988|`pcenginecd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
| -|NEC|PC-8800 (pc-8800)|1981|`pc88`|.d88 .m3u|**retroarch:** quasi88 (default)
| -|NEC|PC-9800 (pc-9800)|1983|`pc98`|.d98 .zip .fdi .fdd .2hd .tfd .d88 .hdm .xdf .dup .hdi .thd .nhd .hdd .hdn|**retroarch:** np2kai (default)
| -|NEC|PC-FX (pcfx)|1994|`pcfx`|.chd .cue .ccd .toc|**retroarch:** beetle_pcfx (default)
| -|NEC|SuperGrafx (supergrafx)|1989|`sgfx`|.pce .sgx .cue .ccd .chd .zip .7z|**retroarch:** beetle_supergrafx
**retroarch:** beetle_pce
| -|NEC|TurboGrafx-16 (tg16)|1989|`tg16`|.pce .bin .zip .7z|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
| -|NEC|TurboGrafx-CD (tg16cd)|1989|`tg16cd`|.cue .ccd .chd .toc .m3u|**retroarch:** beetle_pce_fast (default)
**retroarch:** beetle_pce
**retroarch:** beetle_supergrafx
| -|Nesbox|TIC-80 (tic-80)|2017|`tic-80`|.tic|**retroarch:** tic80 (default)
| -|Nintendo|Famicom (famicom)|1983|`famicom`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
| -|Nintendo|Famicom Disk System (fds)|1986|`fds`|.fds .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
| -|Nintendo|Game & Watch (gameandwatch)|1980|`gameandwatch`|.mgw .zip .7z|**retroarch:** gw
**retroarch:** mame
| -|Nintendo|Game Boy (gb)|1989|`gb`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
| -|Nintendo|Game Boy (Hacks) (gbh)|1989|`gbh`|.gb .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
| -|Nintendo|Game Boy Advance (gba)|2001|`gba`|.gba .zip .7z|**retroarch:** mgba (default)
**retroarch:** gbsp
**retroarch:** vbam
**retroarch:** vba_next
**retroarch:** beetle_gba
**retroarch:** gpsp
| -|Nintendo|Game Boy Advance (Hacks) (gbah)|2001|`gbah`|.gba .zip .7z|**retroarch:** mgba (default)
**retroarch:** gbsp
**retroarch:** vbam
**retroarch:** vba_next
**retroarch:** beetle_gba
| -|Nintendo|Game Boy Color (gbc)|1998|`gbc`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
| -|Nintendo|Game Boy Color (Hacks) (gbch)|1998|`gbch`|.gb .gbc .zip .7z|**retroarch:** gambatte (default)
**retroarch:** sameboy
**retroarch:** gearboy
**retroarch:** tgbdual
**retroarch:** mgba
**retroarch:** vbam
| -|Nintendo|NES (Hacks) (nesh)|1985|`nesh`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
| -|Nintendo|Nintendo 64 (n64)|1996|`n64`|.z64 .n64 .v64 .zip .7z|**retroarch:** mupen64plus_next (default)
**retroarch:** mupen64plus
**retroarch:** parallel_n64
**mupen64plus:** mupen64plus-sa
| -|Nintendo|Nintendo DS (nds)|2005|`nds`|.nds .zip .7z|**drastic:** drastic-sa (default)
**retroarch:** melonds
**retroarch:** desmume
| -|Nintendo|Nintendo Entertainment System (nes)|1985|`nes`|.nes .unif .unf .zip .7z|**retroarch:** nestopia (default)
**retroarch:** fceumm
**retroarch:** quicknes
**retroarch:** mesen
| -|Nintendo|Pokémon Mini (pokemini)|2001|`pokemini`|.min .zip .7z|**retroarch:** pokemini (default)
| -|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
| -|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
| -|Nintendo|Virtual Boy (virtualboy)|1995|`virtualboy`|.vb .zip .7z|**retroarch:** beetle_vb (default)
| -|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)
| -|Philips|VideoPac (videopac)|1978|`videopac`|.bin .zip .7z|**retroarch:** o2em (default)
| -|Sammy|Atomiswave (atomiswave)|2003|`atomiswave`|.lst .bin .dat .zip .7z|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
| -|Sega|Dreamcast (dreamcast)|1998|`dreamcast`|.cdi .gdi .chd .m3u .cue|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
| -|Sega|Game Gear (gamegear)|1990|`gamegear`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
| -|Sega|Game Gear (Hacks) (ggh)|1990|`gamegearh`|.bin .gg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
| -|Sega|Genesis (genesis)|1989|`genesis`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
| -|Sega|Genesis (Hacks) (genh)|1989|`genh`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
| -|Sega|Master System (mastersystem)|1985|`mastersystem`|.bin .sms .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
**retroarch:** smsplus
| -|Sega|Mega CD (megacd)|1991|`megacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)
**retroarch:** picodrive
| -|Sega|Mega Drive (megadrive)|1990|`megadrive`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
| -|Sega|Mega Drive (megadrive-japan)|1988|`megadrive-japan`|.bin .gen .md .sg .smd .zip .7z|**retroarch:** genesis_plus_gx (default)
**retroarch:** genesis_plus_gx_wide
**retroarch:** picodrive
| -|Sega|Naomi (naomi)|1998|`naomi`|.lst .bin .dat .zip .7z|**retroarch:** flycast2021
**retroarch:** flycast
**flycast:** flycast-sa
| -|Sega|Saturn (saturn)|1994|`saturn`|.cue .chd .iso|**yabasanshiro:** yabasanshiro-sa (default)
**retroarch:** yabasanshiro
| -|Sega|Sega 32X (sega32x)|1994|`sega32x`|.32x .smd .bin .md .zip .7z|**retroarch:** picodrive (default)
| -|Sega|Sega CD (segacd)|1991|`segacd`|.chd .cue .iso .m3u|**retroarch:** genesis_plus_gx (default)
**retroarch:** picodrive
| -|Sega|SG-1000 (sg-1000)|1983|`sg-1000`|.bin .sg .zip .7z|**retroarch:** gearsystem (default)
**retroarch:** genesis_plus_gx
**retroarch:** picodrive
| -|Sega|ST-V (st-v)|1995|`st-v`|.zip .ZIP|| -|Sharp|X1 (x1)|1982|`x1`|.dx1 .2d .2hd .tfd .d88 .hdm .xdf .dup .tap .cmd .zip .7z|**retroarch:** x1 (default)
| -|Sharp|x68000 (x68000)|1987|`x68000`|.dim .img .d88 .hdm .dup .2hd .xdf .hdf .cmd .m3u .zip .7z|**retroarch:** px68k (default)
| -|Sinclair|ZX Spectrum (zxspectrum)|1982|`zxspectrum`|.tzx .tap .z80 .rzx .scl .trd .dsk .zip .7z|**retroarch:** fuse
| -|Sinclair|ZX81 (zx81)|1981|`zx81`|.tzx .p .zip .7z|**retroarch:** 81 (default)
| -|Smith Engineering|Vectrex (vectrex)|1982|`vectrex`|.bin .gam .vec .zip .7z|**retroarch:** vecx (default)
| -|SNK|Neo Geo (neogeo)|1990|`neogeo`|.7z .zip|**retroarch:** fbneo (default)
**retroarch:** mame2003_plus
**retroarch:** fbalpha2012
**retroarch:** fbalpha2019
**retroarch:** mame2010
**retroarch:** mame2015
**retroarch:** mame
| -|SNK|Neo Geo CD (neocd)|1994|`neocd`|.cue .iso .chd|**retroarch:** neocd (default)
**retroarch:** fbneo
| -|SNK|Neo Geo Pocket (ngp)|1998|`ngp`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
| -|SNK|Neo Geo Pocket Color (ngpc)|1999|`ngpc`|.ngp .ngc .zip .7z|**retroarch:** beetle_ngp (default)
**retroarch:** race
| -|Sony|PlayStation (psx)|1994|`psx`|.bin .cue .img .mdf .pbp .toc .cbn .m3u .ccd .chd .iso|**retroarch:** pcsx_rearmed32 (default)
**retroarch:** pcsx_rearmed
**duckstation:** duckstation-sa
**retroarch:** duckstation
**retroarch:** swanstation
| -|Sony|PlayStation Portable (psp)|2004|`psp`|.iso .cso .pbp .chd|**ppsspp:** ppsspp-sa (default)
| -|Sony|PSP Minis (pspminis)|2004|`pspminis`|.iso .cso .pbp|**ppsspp:** ppsspp-sa (default)
**retroarch:** ppsspp
| -|Sun Microsystems|J2ME (j2me)|2002|`j2me`|.jar|**retroarch:** freej2me (default)
| -|Thomson|MO/TO family (TO7, TO7/70, TO8, TO8D, TO9, TO9+, MO5 and MO6) (moto)|1982|`moto`|.fd .sap .k7 .m7 .m5 .rom|**retroarch:** theodore (default)
| -|Various|CHIP-8 / S-CHIP / XO-CHIP (chip-8)|1978|`chip-8`|.ch8 .sc8 .xo8|**retroarch:** jaxe (default)
| -|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-X55/SUPPORTED_EMULATORS_AND_CORES.md b/documentation/PER_DEVICE_DOCUMENTATION/RK3566-X55/SUPPORTED_EMULATORS_AND_CORES.md index a904ffbc5..b8112f8d1 100644 --- a/documentation/PER_DEVICE_DOCUMENTATION/RK3566-X55/SUPPORTED_EMULATORS_AND_CORES.md +++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3566-X55/SUPPORTED_EMULATORS_AND_CORES.md @@ -1,4 +1,4 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) +        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) # # Supported Systems Emulators and Cores 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 0f2c4bcd9..8d607d6c5 100644 --- a/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md +++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3566/SUPPORTED_EMULATORS_AND_CORES.md @@ -1,4 +1,4 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) +        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) # # Supported Systems Emulators and Cores 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 03a747ddc..6c4b2edb4 100644 --- a/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md +++ b/documentation/PER_DEVICE_DOCUMENTATION/RK3588/SUPPORTED_EMULATORS_AND_CORES.md @@ -1,4 +1,4 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) +        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) # # Supported Systems Emulators and Cores 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 87bd00276..8e9bf431e 100644 --- a/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md +++ b/documentation/PER_DEVICE_DOCUMENTATION/S922X/SUPPORTED_EMULATORS_AND_CORES.md @@ -1,4 +1,4 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) +        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) # # Supported Systems Emulators and Cores diff --git a/documentation/SETUP_CLOUD_DRIVES.md b/documentation/SETUP_CLOUD_DRIVES.md index ef9ca976a..d87b124f4 100644 --- a/documentation/SETUP_CLOUD_DRIVES.md +++ b/documentation/SETUP_CLOUD_DRIVES.md @@ -1 +1 @@ -Moved to [https://jelos.org/configure/cloud-sync/](https://jelos.org/configure/cloud-sync/) \ No newline at end of file +Moved to [https://rocknix.org/configure/cloud-sync/](https://rocknix.org/configure/cloud-sync/) \ No newline at end of file diff --git a/documentation/SETUP_GAME_ENGINES_AND_LAUNCH_FILES.md b/documentation/SETUP_GAME_ENGINES_AND_LAUNCH_FILES.md index 0106c4136..467b8571b 100644 --- a/documentation/SETUP_GAME_ENGINES_AND_LAUNCH_FILES.md +++ b/documentation/SETUP_GAME_ENGINES_AND_LAUNCH_FILES.md @@ -1,4 +1,4 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) +        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) # # Game Engine Launch Files diff --git a/documentation/SETUP_MOONLIGHT_STREAMING.md b/documentation/SETUP_MOONLIGHT_STREAMING.md index a9fbc3e70..cd5c60513 100644 --- a/documentation/SETUP_MOONLIGHT_STREAMING.md +++ b/documentation/SETUP_MOONLIGHT_STREAMING.md @@ -1 +1 @@ -Moved to [https://jelos.org/systems/moonlight/](https://jelos.org/systems/moonlight/) \ No newline at end of file +Moved to [https://rocknix.org/systems/moonlight/](https://rocknix.org/systems/moonlight/) \ No newline at end of file diff --git a/documentation/SETUP_P2P_ZEROTIER.md b/documentation/SETUP_P2P_ZEROTIER.md index a4a451e83..37f2389fa 100644 --- a/documentation/SETUP_P2P_ZEROTIER.md +++ b/documentation/SETUP_P2P_ZEROTIER.md @@ -1 +1 @@ -Moved to [https://jelos.org/configure/vpn/#zerotier](https://jelos.org/configure/vpn/#zerotier) \ No newline at end of file +Moved to [https://rocknix.org/configure/vpn/#zerotier](https://rocknix.org/configure/vpn/#zerotier) \ No newline at end of file diff --git a/documentation/SETUP_SYNCTHING.md b/documentation/SETUP_SYNCTHING.md index ef9ca976a..d87b124f4 100644 --- a/documentation/SETUP_SYNCTHING.md +++ b/documentation/SETUP_SYNCTHING.md @@ -1 +1 @@ -Moved to [https://jelos.org/configure/cloud-sync/](https://jelos.org/configure/cloud-sync/) \ No newline at end of file +Moved to [https://rocknix.org/configure/cloud-sync/](https://rocknix.org/configure/cloud-sync/) \ No newline at end of file diff --git a/documentation/SETUP_VPN_TAILSCALE.md b/documentation/SETUP_VPN_TAILSCALE.md index bcee6765f..60b5157b5 100644 --- a/documentation/SETUP_VPN_TAILSCALE.md +++ b/documentation/SETUP_VPN_TAILSCALE.md @@ -1 +1 @@ -Moved to [https://jelos.org/configure/vpn/#tailscale](https://jelos.org/configure/vpn/#tailscale) \ No newline at end of file +Moved to [https://rocknix.org/configure/vpn/#tailscale](https://rocknix.org/configure/vpn/#tailscale) \ No newline at end of file diff --git a/documentation/SETUP_VPN_WIREGUARD.md b/documentation/SETUP_VPN_WIREGUARD.md index 64cef68a8..bb593a58f 100644 --- a/documentation/SETUP_VPN_WIREGUARD.md +++ b/documentation/SETUP_VPN_WIREGUARD.md @@ -1 +1 @@ -Moved to [https://jelos.org/configure/vpn/#wireguard](https://jelos.org/configure/vpn/#wireguard) \ No newline at end of file +Moved to [https://rocknix.org/configure/vpn/#wireguard](https://rocknix.org/configure/vpn/#wireguard) \ No newline at end of file diff --git a/packages/devel/binutils/patches/binutils-01-warn-for-uses-of-system-directories-when-link.patch b/packages/devel/binutils/patches/binutils-01-warn-for-uses-of-system-directories-when-link.patch index 7cac3adb7..4b11629ea 100644 --- a/packages/devel/binutils/patches/binutils-01-warn-for-uses-of-system-directories-when-link.patch +++ b/packages/devel/binutils/patches/binutils-01-warn-for-uses-of-system-directories-when-link.patch @@ -3,7 +3,7 @@ http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-devtools/binutils/b just detect and skip system directories if used by mistake linker output in case of using /usr/lib path: -/data/LibreELEC.tv/build.LibreELEC-Generic.x86_64-8.0-devel/toolchain/lib/gcc/x86_64-jelos-linux-gnu/6.2.0/../../../../x86_64-jelos-linux-gnu/bin/ld: warning: library search path "/usr/lib" is unsafe for cross-compilation, ignore it +/data/LibreELEC.tv/build.LibreELEC-Generic.x86_64-8.0-devel/toolchain/lib/gcc/x86_64-rocknix-linux-gnu/6.2.0/../../../../x86_64-rocknix-linux-gnu/bin/ld: warning: library search path "/usr/lib" is unsafe for cross-compilation, ignore it From 7ab8e318659eb5d9adc758c78d084a95560b93fd Mon Sep 17 00:00:00 2001 From: Khem Raj diff --git a/packages/emulators/libretro/idtech-lr/package.mk b/packages/emulators/libretro/idtech-lr/package.mk index 90ffe9836..7341eba28 100644 --- a/packages/emulators/libretro/idtech-lr/package.mk +++ b/packages/emulators/libretro/idtech-lr/package.mk @@ -3,7 +3,7 @@ PKG_NAME="idtech-lr" PKG_LICENSE="Apache-2.0" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_LONGDESC="Package for all iD Software game engines." PKG_TOOLCHAIN="manual" diff --git a/packages/emulators/standalone/retroarch/system.d/tmp-assets.mount b/packages/emulators/standalone/retroarch/system.d/tmp-assets.mount index ed984ed0f..b11f337f9 100644 --- a/packages/emulators/standalone/retroarch/system.d/tmp-assets.mount +++ b/packages/emulators/standalone/retroarch/system.d/tmp-assets.mount @@ -10,4 +10,4 @@ Type=overlay Options=lowerdir=/usr/share/retroarch-assets,upperdir=/storage/assets,workdir=/storage/.tmp/assets-workdir [Install] -WantedBy=jelos.target +WantedBy=rocknix.target diff --git a/packages/emulators/standalone/retroarch/system.d/tmp-cores.mount b/packages/emulators/standalone/retroarch/system.d/tmp-cores.mount index bff71017c..23f30f3f1 100644 --- a/packages/emulators/standalone/retroarch/system.d/tmp-cores.mount +++ b/packages/emulators/standalone/retroarch/system.d/tmp-cores.mount @@ -10,4 +10,4 @@ Type=overlay Options=lowerdir=/usr/lib/libretro,upperdir=/storage/cores,workdir=/storage/.tmp/cores-workdir [Install] -WantedBy=jelos.target +WantedBy=rocknix.target diff --git a/packages/emulators/standalone/retroarch/system.d/tmp-database.mount b/packages/emulators/standalone/retroarch/system.d/tmp-database.mount index 98452fd57..a5e572f00 100644 --- a/packages/emulators/standalone/retroarch/system.d/tmp-database.mount +++ b/packages/emulators/standalone/retroarch/system.d/tmp-database.mount @@ -10,4 +10,4 @@ Type=overlay Options=lowerdir=/usr/share/libretro-database,upperdir=/storage/database,workdir=/storage/.tmp/database-workdir [Install] -WantedBy=jelos.target +WantedBy=rocknix.target diff --git a/packages/emulators/standalone/retroarch/system.d/tmp-overlays.mount b/packages/emulators/standalone/retroarch/system.d/tmp-overlays.mount index e9d270623..00e4283ed 100644 --- a/packages/emulators/standalone/retroarch/system.d/tmp-overlays.mount +++ b/packages/emulators/standalone/retroarch/system.d/tmp-overlays.mount @@ -10,4 +10,4 @@ Type=overlay Options=lowerdir=/usr/share/retroarch-overlays,upperdir=/storage/overlays,workdir=/storage/.tmp/overlays-workdir [Install] -WantedBy=jelos.target +WantedBy=rocknix.target diff --git a/packages/emulators/standalone/retroarch/system.d/tmp-shaders.mount b/packages/emulators/standalone/retroarch/system.d/tmp-shaders.mount index 0266a4694..bd8ec9531 100644 --- a/packages/emulators/standalone/retroarch/system.d/tmp-shaders.mount +++ b/packages/emulators/standalone/retroarch/system.d/tmp-shaders.mount @@ -10,4 +10,4 @@ Type=overlay Options=lowerdir=/usr/share/common-shaders:/usr/share/glsl-shaders:/usr/share/slang-shaders,upperdir=/storage/shaders,workdir=/storage/.tmp/shaders-workdir [Install] -WantedBy=jelos.target +WantedBy=rocknix.target diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/JELOS Gamepad.cfg b/packages/emulators/tools/retroarch-joypads/gamepads/ROCKNIX Gamepad.cfg similarity index 95% rename from packages/emulators/tools/retroarch-joypads/gamepads/JELOS Gamepad.cfg rename to packages/emulators/tools/retroarch-joypads/gamepads/ROCKNIX Gamepad.cfg index 9bddfce36..b1c6f367f 100644 --- a/packages/emulators/tools/retroarch-joypads/gamepads/JELOS Gamepad.cfg +++ b/packages/emulators/tools/retroarch-joypads/gamepads/ROCKNIX Gamepad.cfg @@ -1,5 +1,5 @@ input_driver = "udev" -input_device = "JELOS Gamepad" +input_device = "ROCKNIX Gamepad" input_vendor_id = "4660" input_product_id = "22136" input_b_btn = "0" diff --git a/packages/emulators/tools/retroarch-joypads/system.d/tmp-joypads.mount b/packages/emulators/tools/retroarch-joypads/system.d/tmp-joypads.mount index bbd802fd2..6ed33f019 100644 --- a/packages/emulators/tools/retroarch-joypads/system.d/tmp-joypads.mount +++ b/packages/emulators/tools/retroarch-joypads/system.d/tmp-joypads.mount @@ -10,4 +10,4 @@ Type=overlay Options=lowerdir=/usr/share/libretro/autoconfig,upperdir=/storage/joypads,workdir=/storage/.tmp/joypads-workdir [Install] -WantedBy=jelos.target +WantedBy=rocknix.target diff --git a/packages/emulators/tools/virtualcontroller/udev.d/99-JELOS-not-joysticks.rules b/packages/emulators/tools/virtualcontroller/udev.d/99-ROCKNIX-not-joysticks.rules similarity index 100% rename from packages/emulators/tools/virtualcontroller/udev.d/99-JELOS-not-joysticks.rules rename to packages/emulators/tools/virtualcontroller/udev.d/99-ROCKNIX-not-joysticks.rules diff --git a/packages/graphics/qt6/qt6base/package.mk b/packages/graphics/qt6/qt6base/package.mk index 7e5b3e199..6e7075c31 100644 --- a/packages/graphics/qt6/qt6base/package.mk +++ b/packages/graphics/qt6/qt6base/package.mk @@ -34,7 +34,7 @@ PKG_CMAKE_OPTS_HOST+=" pre_configure_target() { PKG_CMAKE_OPTS_TARGET+=" -GNinja \ - -DQT_HOST_PATH=${PKG_BUILD}/.x86_64-jelos-linux-gnu \ + -DQT_HOST_PATH=${PKG_BUILD}/.x86_64-rocknix-linux-gnu \ -DFEATURE_gui=ON \ -DFEATURE_concurrent=OFF \ -DFEATURE_xml=OFF \ diff --git a/packages/graphics/qt6/qt6tools/package.mk b/packages/graphics/qt6/qt6tools/package.mk index 34b52fccc..c1c31b3e2 100644 --- a/packages/graphics/qt6/qt6tools/package.mk +++ b/packages/graphics/qt6/qt6tools/package.mk @@ -23,7 +23,7 @@ pre_configure_host() { pre_configure_target() { PKG_CMAKE_OPTS_TARGET+=" -GNinja \ - -DQT_HOST_PATH=${PKG_BUILD}/.x86_64-jelos-linux-gnu \ + -DQT_HOST_PATH=${PKG_BUILD}/.x86_64-rocknix-linux-gnu \ -DQT_FEATURE_linguist=ON \ -DQT_FEATURE_qdbus=ON \ -DQT_DEBUG_FIND_PACKAGE=ON diff --git a/packages/graphics/qt6/qt6wayland/package.mk b/packages/graphics/qt6/qt6wayland/package.mk index 84a7f9ae7..57d208517 100644 --- a/packages/graphics/qt6/qt6wayland/package.mk +++ b/packages/graphics/qt6/qt6wayland/package.mk @@ -21,7 +21,7 @@ pre_configure_host() { pre_configure_target() { PKG_CMAKE_OPTS_TARGET+=" -GNinja \ - -DQT_HOST_PATH=${PKG_BUILD}/.x86_64-jelos-linux-gnu \ + -DQT_HOST_PATH=${PKG_BUILD}/.x86_64-rocknix-linux-gnu \ -DQT_DEBUG_FIND_PACKAGE=ON \ -DBUILD_WITH_PCH=OFF \ -DQT_BUILD_EXAMPLES=OFF \ diff --git a/packages/kernel/firmware/RTL8723DS-firmware/package.mk b/packages/kernel/firmware/RTL8723DS-firmware/package.mk index 3b975ef62..4de82333a 100644 --- a/packages/kernel/firmware/RTL8723DS-firmware/package.mk +++ b/packages/kernel/firmware/RTL8723DS-firmware/package.mk @@ -4,7 +4,7 @@ PKG_NAME="RTL8723DS-firmware" PKG_VERSION="" PKG_LICENSE="Apache-2.0" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_LONGDESC="Realtek RTL8723DS Linux firmware" PKG_DEPENDS_TARGET="linux rtk_hciattach" PKG_TOOLCHAIN="manual" diff --git a/packages/kernel/firmware/RTL8821CS-firmware/package.mk b/packages/kernel/firmware/RTL8821CS-firmware/package.mk index d690290b0..7e09290e4 100644 --- a/packages/kernel/firmware/RTL8821CS-firmware/package.mk +++ b/packages/kernel/firmware/RTL8821CS-firmware/package.mk @@ -4,7 +4,7 @@ PKG_NAME="RTL8821CS-firmware" PKG_VERSION="" PKG_LICENSE="Apache-2.0" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_LONGDESC="Realtek RTL8821CS Linux firmware" PKG_DEPENDS_TARGET="linux rtk_hciattach" PKG_TOOLCHAIN="manual" diff --git a/packages/kernel/firmware/brcmfmac_sdio-firmware/package.mk b/packages/kernel/firmware/brcmfmac_sdio-firmware/package.mk index 0b8553761..6c2c5a5a4 100644 --- a/packages/kernel/firmware/brcmfmac_sdio-firmware/package.mk +++ b/packages/kernel/firmware/brcmfmac_sdio-firmware/package.mk @@ -6,7 +6,7 @@ PKG_VERSION="c70355f9ec6d015b91a5c3199aa08b433e2f7caf" PKG_LICENSE="GPL" PKG_SITE="https://github.com/LibreELEC/brcmfmac_sdio-firmware" PKG_URL="https://github.com/LibreELEC/brcmfmac_sdio-firmware/archive/${PKG_VERSION}.tar.gz" -PKG_LONGDESC="Broadcom SDIO firmware used with JELOS" +PKG_LONGDESC="Broadcom SDIO firmware used with ROCKNIX" PKG_TOOLCHAIN="manual" post_makeinstall_target() { diff --git a/packages/lang/Python3/patches/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch b/packages/lang/Python3/patches/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch index f544b9d39..c2c1dc180 100644 --- a/packages/lang/Python3/patches/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch +++ b/packages/lang/Python3/patches/0029-configure.ac-fixup-CC-print-multiarch-output-for-mus.patch @@ -6,17 +6,17 @@ Subject: [PATCH] configure.ac: fixup $CC --print-multiarch output for GCC commit 6834b83784dcf0364eb820e8 (multiarch support for non-glibc linux systems), which is part of GCC 8+, changed the multiarch logic to use -$arch-linux-musl / $arch-linux-uclibc rather than $arch-jelos-linux-gnu. +$arch-linux-musl / $arch-linux-uclibc rather than $arch-rocknix-linux-gnu. This then causes the python3 configure script to error out: -checking for the platform triplet based on compiler characteristics... powerpc-jelos-linux-gnu +checking for the platform triplet based on compiler characteristics... powerpc-rocknix-linux-gnu configure: error: internal configure error for the platform triplet, please file a bug report http://autobuild.buildroot.net/results/cb4/cb49c539501342e45cbe5ade82e588fcdf51f05b As it requires that the --print-multiarch output (if not empty) matches the -deduced triplet (which always uses -jelos-linux-gnu). +deduced triplet (which always uses -rocknix-linux-gnu). It isn't quite clear why --print-multiarch returns something for a non-multiarch toolchain on some architectures (E.G. PowerPC), but as a @@ -41,7 +41,7 @@ index ed03b27fb1..841fd6732c 100644 + [ + # GCC 8+ returns $arch-linux-{musl,uclibc} for musl/uClibc based + # toolchains confusing python. Fix that up -+ MULTIARCH=$($CC --print-multiarch 2>/dev/null | sed -E 's/-linux-(musl|uclibc)*$/-jelos-linux-gnu/') ++ MULTIARCH=$($CC --print-multiarch 2>/dev/null | sed -E 's/-linux-(musl|uclibc)*$/-rocknix-linux-gnu/') + ] ) AC_SUBST([MULTIARCH]) diff --git a/packages/lang/go/patches/go-0001-add-ca-cert-location.patch b/packages/lang/go/patches/go-0001-add-ca-cert-location.patch index fd26bf0b4..d8cff9ffd 100644 --- a/packages/lang/go/patches/go-0001-add-ca-cert-location.patch +++ b/packages/lang/go/patches/go-0001-add-ca-cert-location.patch @@ -6,5 +6,5 @@ index ad6ce5cae7..763c686fed 100644 "/etc/ssl/certs", // SLES10/SLES11, https://golang.org/issue/12139 "/etc/pki/tls/certs", // Fedora/RHEL "/system/etc/security/cacerts", // Android -+ "/etc/ssl", // JELOS ++ "/etc/ssl", // ROCKNIX } diff --git a/packages/misc/modules/sources/Install JELOS.sh b/packages/misc/modules/sources/Install ROCKNIX.sh similarity index 100% rename from packages/misc/modules/sources/Install JELOS.sh rename to packages/misc/modules/sources/Install ROCKNIX.sh diff --git a/packages/misc/modules/sources/gamelist.xml b/packages/misc/modules/sources/gamelist.xml index c82863a59..3cfb0e8a4 100755 --- a/packages/misc/modules/sources/gamelist.xml +++ b/packages/misc/modules/sources/gamelist.xml @@ -22,7 +22,7 @@ 2022 Tool 1 - ./images/install-jelos.svg + ./images/install-rocknix.svg ./Start PortMaster.sh @@ -39,7 +39,7 @@ ./cloud_backup.sh RCLONE Backup - Backup your saves to a cloud drive using RCLONE. Please make sure you have followed the steps at jelos.org to set up RCLONE first. + Backup your saves to a cloud drive using RCLONE. Please make sure you have followed the steps at rocknix.org to set up RCLONE first. JELOS JELOS 5.0 @@ -51,7 +51,7 @@ ./cloud_restore.sh RCLONE Restore - Restores your saves from a cloud drive using RCLONE. Please make sure you have followed the steps at jelos.org to set up RCLONE first. + Restores your saves from a cloud drive using RCLONE. Please make sure you have followed the steps at rocknix.org to set up RCLONE first. JELOS JELOS 5.0 diff --git a/packages/misc/modules/sources/images/install-jelos.svg b/packages/misc/modules/sources/images/install-rocknix.svg similarity index 100% rename from packages/misc/modules/sources/images/install-jelos.svg rename to packages/misc/modules/sources/images/install-rocknix.svg diff --git a/packages/multimedia/ffmpeg/package.mk b/packages/multimedia/ffmpeg/package.mk index 197b00307..a15a00afd 100644 --- a/packages/multimedia/ffmpeg/package.mk +++ b/packages/multimedia/ffmpeg/package.mk @@ -10,7 +10,7 @@ PKG_LONGDESC="FFmpeg is a complete, cross-platform solution to record, convert a PKG_VERSION="6.0" PKG_URL="http://ffmpeg.org/releases/ffmpeg-${PKG_VERSION}.tar.xz" -PKG_PATCH_DIRS="jelos" +PKG_PATCH_DIRS="rocknix" PKG_PATCH_DIRS+=" v4l2-request v4l2-drmprime" diff --git a/packages/multimedia/ffmpeg/patches/jelos/ffmpeg-001-jelos.patch b/packages/multimedia/ffmpeg/patches/rocknix/ffmpeg-001-rocknix.patch similarity index 100% rename from packages/multimedia/ffmpeg/patches/jelos/ffmpeg-001-jelos.patch rename to packages/multimedia/ffmpeg/patches/rocknix/ffmpeg-001-rocknix.patch diff --git a/packages/multimedia/gstreamer/gst-plugins-bad/package.mk b/packages/multimedia/gstreamer/gst-plugins-bad/package.mk index 25f1ce3ce..7e5c7218b 100644 --- a/packages/multimedia/gstreamer/gst-plugins-bad/package.mk +++ b/packages/multimedia/gstreamer/gst-plugins-bad/package.mk @@ -182,7 +182,7 @@ pre_configure_target() { -Dglib-asserts=disabled \ -Dglib-checks=disabled \ -Dpackage-name=gst-plugins-bad \ - -Dpackage-origin=jelos.org \ + -Dpackage-origin=rocknix.org \ -Ddoc=disabled" } diff --git a/packages/multimedia/gstreamer/gst-plugins-base/package.mk b/packages/multimedia/gstreamer/gst-plugins-base/package.mk index 89f00475b..3c58af2c1 100644 --- a/packages/multimedia/gstreamer/gst-plugins-base/package.mk +++ b/packages/multimedia/gstreamer/gst-plugins-base/package.mk @@ -15,7 +15,7 @@ pre_configure_target() { -Dtests=disabled \ -Dgobject-cast-checks=disabled \ -Dpackage-name=gst-plugins-base \ - -Dpackage-origin=jelos.org \ + -Dpackage-origin=rocknix.org \ -Ddoc=disabled \ -Dnls=disabled" diff --git a/packages/multimedia/gstreamer/gstreamer/package.mk b/packages/multimedia/gstreamer/gstreamer/package.mk index 910483bd3..32db750e8 100644 --- a/packages/multimedia/gstreamer/gstreamer/package.mk +++ b/packages/multimedia/gstreamer/gstreamer/package.mk @@ -15,7 +15,7 @@ PKG_MESON_OPTS_TARGET="-Dlibunwind=disabled \ -Dtests=disabled \ -Dnls=disabled \ -Dpackage-name=gstreamer \ - -Dpackage-origin=jelos.org \ + -Dpackage-origin=rocknix.org \ -Ddoc=disabled" } diff --git a/packages/multimedia/mpv/system.d/mpv.service b/packages/multimedia/mpv/system.d/mpv.service index 7e415b503..ea7b731ff 100644 --- a/packages/multimedia/mpv/system.d/mpv.service +++ b/packages/multimedia/mpv/system.d/mpv.service @@ -1,6 +1,6 @@ [Unit] Description=MPV controller input service -After=jelos.target +After=rocknix.target StartLimitIntervalSec=0 [Service] diff --git a/packages/network/avahi/system.d/avahi-daemon.service b/packages/network/avahi/system.d/avahi-daemon.service index 3f9b1e89d..19e958a10 100644 --- a/packages/network/avahi/system.d/avahi-daemon.service +++ b/packages/network/avahi/system.d/avahi-daemon.service @@ -6,7 +6,7 @@ ConditionPathExists=/storage/.cache/services/avahi.conf [Service] Restart=on-failure -EnvironmentFile=-/run/jelos/debug/avahi.conf +EnvironmentFile=-/run/rocknix/debug/avahi.conf ExecStart=/usr/sbin/avahi-daemon -s $AVAHI_DEBUG ExecReload=/usr/sbin/avahi-daemon -r TimeoutStopSec=1s diff --git a/packages/network/bluez/system.d/bluetooth.service b/packages/network/bluez/system.d/bluetooth.service index 2918d2a97..1af042320 100644 --- a/packages/network/bluez/system.d/bluetooth.service +++ b/packages/network/bluez/system.d/bluetooth.service @@ -10,7 +10,7 @@ Type=dbus BusName=org.bluez NotifyAccess=main EnvironmentFile=/storage/.cache/services/bluez.conf -EnvironmentFile=-/run/jelos/debug/bluez.conf +EnvironmentFile=-/run/rocknix/debug/bluez.conf ExecStart=/usr/lib/bluetooth/bluetoothd $BLUEZ_ARGS $BLUEZ_DEBUG CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_FOWNER LimitNPROC=1 diff --git a/packages/network/bluez/system.d/obex.service b/packages/network/bluez/system.d/obex.service index 52f01a4f4..df03782ae 100644 --- a/packages/network/bluez/system.d/obex.service +++ b/packages/network/bluez/system.d/obex.service @@ -8,7 +8,7 @@ ConditionPathExists=/storage/.cache/services/bluez.conf [Service] EnvironmentFile=/storage/.cache/services/obexd.conf -EnvironmentFile=-/run/jelos/debug/obexd.conf +EnvironmentFile=-/run/rocknix/debug/obexd.conf ExecStartPre=/bin/sh -c 'mkdir -p $OBEXD_ROOT' ExecStart=/usr/lib/bluetooth/obexd -r $OBEXD_ROOT $OBEXD_DEBUG TimeoutStopSec=1s diff --git a/packages/network/connman/scripts/connman-setup b/packages/network/connman/scripts/connman-setup index d0b7fc85e..60d88f384 100755 --- a/packages/network/connman/scripts/connman-setup +++ b/packages/network/connman/scripts/connman-setup @@ -18,8 +18,8 @@ # switch resolv.conf management to connman and use current contents # as a fallback -if [ -f /run/jelos/resolv.conf ]; then - cat /run/jelos/resolv.conf > /run/connman/resolv.conf +if [ -f /run/rocknix/resolv.conf ]; then + cat /run/rocknix/resolv.conf > /run/connman/resolv.conf fi -rm -f /run/jelos/resolv.conf -ln -s /run/connman/resolv.conf /run/jelos/resolv.conf +rm -f /run/rocknix/resolv.conf +ln -s /run/connman/resolv.conf /run/rocknix/resolv.conf diff --git a/packages/network/connman/system.d/connman.service b/packages/network/connman/system.d/connman.service index 14a0b320a..879049e4b 100644 --- a/packages/network/connman/system.d/connman.service +++ b/packages/network/connman/system.d/connman.service @@ -12,7 +12,7 @@ ConditionPathExists=!/dev/.kernel_ipconfig Type=dbus BusName=net.connman Restart=on-failure -EnvironmentFile=-/run/jelos/debug/connman.conf +EnvironmentFile=-/run/rocknix/debug/connman.conf ExecStart=/bin/sh -c ". /usr/lib/connman/connman-setup; exec /usr/sbin/connmand -nr $CONNMAN_MAIN $CONNMAN_DEBUG" StandardOutput=null RestartSec=2 diff --git a/packages/network/iptables/package.mk b/packages/network/iptables/package.mk index d63d9bd40..967703a7b 100644 --- a/packages/network/iptables/package.mk +++ b/packages/network/iptables/package.mk @@ -24,8 +24,8 @@ post_makeinstall_target() { mkdir -p ${INSTALL}/etc/iptables/ cp -PR ${PKG_DIR}/config/* ${INSTALL}/etc/iptables/ - mkdir -p ${INSTALL}/usr/lib/jelos/ - cp ${PKG_DIR}/scripts/iptables_helper ${INSTALL}/usr/lib/jelos/ + mkdir -p ${INSTALL}/usr/lib/rocknix/ + cp ${PKG_DIR}/scripts/iptables_helper ${INSTALL}/usr/lib/rocknix/ } post_install() { diff --git a/packages/network/iptables/system.d/iptables.service b/packages/network/iptables/system.d/iptables.service index c4a6d51fb..9c4a3b259 100644 --- a/packages/network/iptables/system.d/iptables.service +++ b/packages/network/iptables/system.d/iptables.service @@ -1,6 +1,6 @@ [Unit] Description=IPTABLES Packet Filtering -ConditionPathExists=/usr/lib/jelos/iptables_helper +ConditionPathExists=/usr/lib/rocknix/iptables_helper ConditionPathExists=|/storage/.cache/services/iptables.conf Before=network.target Wants=network.target @@ -8,9 +8,9 @@ Wants=network.target [Service] Type=oneshot EnvironmentFile=-/storage/.cache/services/iptables.conf -ExecStart=/usr/lib/jelos/iptables_helper enable -ExecReload=/usr/lib/jelos/iptables_helper enable -ExecStop=/usr/lib/jelos/iptables_helper disable +ExecStart=/usr/lib/rocknix/iptables_helper enable +ExecReload=/usr/lib/rocknix/iptables_helper enable +ExecStop=/usr/lib/rocknix/iptables_helper disable RemainAfterExit=yes [Install] diff --git a/packages/network/syncthing/system.d/syncthing.service b/packages/network/syncthing/system.d/syncthing.service index 1e06be392..e7dc9e2f5 100644 --- a/packages/network/syncthing/system.d/syncthing.service +++ b/packages/network/syncthing/system.d/syncthing.service @@ -1,10 +1,10 @@ [Unit] Description=Start SyncThing -After=jelos.service +After=rocknix.service [Service] Type=simple ExecStart=/usr/bin/start_syncthing.sh [Install] -WantedBy=jelos.service +WantedBy=rocknix.service diff --git a/packages/rocknix/package.mk b/packages/rocknix/package.mk index 666869989..744add03e 100644 --- a/packages/rocknix/package.mk +++ b/packages/rocknix/package.mk @@ -8,8 +8,8 @@ PKG_LICENSE="GPLv2" PKG_SITE="" PKG_URL="" PKG_DEPENDS_TARGET="toolchain" -PKG_SHORTDESC="JELOS Meta Package" -PKG_LONGDESC="JELOS Meta Package" +PKG_SHORTDESC="ROCKNIX Meta Package" +PKG_LONGDESC="ROCKNIX Meta Package" PKG_IS_ADDON="no" PKG_AUTORECONF="no" PKG_TOOLCHAIN="make" @@ -48,7 +48,7 @@ EOF } post_install() { - ln -sf jelos.target ${INSTALL}/usr/lib/systemd/system/default.target + ln -sf rocknix.target ${INSTALL}/usr/lib/systemd/system/default.target if [ ! -d "${INSTALL}/usr/share" ] then @@ -71,7 +71,7 @@ EOF chmod 0755 ${INSTALL}/usr/bin/* 2>/dev/null ||: ### Fix and migrate to autostart package - enable_service jelos-autostart.service + enable_service rocknix-autostart.service ### Take a backup of the system configuration on shutdown enable_service save-sysconfig.service diff --git a/packages/rocknix/sources/scripts/automount b/packages/rocknix/sources/scripts/automount index 77c6ce329..b486be527 100755 --- a/packages/rocknix/sources/scripts/automount +++ b/packages/rocknix/sources/scripts/automount @@ -105,6 +105,15 @@ then exit 0 fi +function create_game_dirs() { + ### We don't want systemd to manage this or the directories could be created in the wrong location. + if [ -e "/usr/config/system-dirs.conf" ] + then + log $0 "Creating game directories." + systemd-tmpfiles --create /usr/config/system-dirs.conf >/dev/null 2>&1 ||: + fi +} + function load_modules() { for MODULE in exfat vfat do @@ -161,6 +170,7 @@ function mount_games() { /usr/bin/busybox mount ${1} ${MOUNT_PATH} >/dev/null 2>&1 fi start_ms external + create_game_dirs add_readme exit 0 } @@ -206,6 +216,7 @@ function find_games() { set_setting system.merged.device internal fi start_ms internal + create_game_dirs add_readme exit 0 fi diff --git a/packages/rocknix/system.d/jelos-automount.service b/packages/rocknix/system.d/rocknix-automount.service similarity index 75% rename from packages/rocknix/system.d/jelos-automount.service rename to packages/rocknix/system.d/rocknix-automount.service index 5afbaefad..dd89d8d8e 100644 --- a/packages/rocknix/system.d/jelos-automount.service +++ b/packages/rocknix/system.d/rocknix-automount.service @@ -1,5 +1,5 @@ [Unit] -Description=JELOS user autostart script +Description=ROCKNIX user autostart script Before=autostart.service After=systemd-tmpfiles-setup.service @@ -11,4 +11,4 @@ ExecStart=/usr/bin/automount RemainAfterExit=yes [Install] -WantedBy=jelos.target +WantedBy=rocknix.target diff --git a/packages/rocknix/system.d/jelos.target b/packages/rocknix/system.d/rocknix.target similarity index 88% rename from packages/rocknix/system.d/jelos.target rename to packages/rocknix/system.d/rocknix.target index 0e800322c..d0b91ce71 100644 --- a/packages/rocknix/system.d/jelos.target +++ b/packages/rocknix/system.d/rocknix.target @@ -1,5 +1,5 @@ [Unit] -Description=jelos +Description=rocknix Requires=multi-user.target graphical.target After=graphical.target Conflicts=rescue.target diff --git a/packages/rust/rust/targets/aarch64-jelos-linux-gnu.json b/packages/rust/rust/targets/aarch64-rocknix-linux-gnu.json similarity index 100% rename from packages/rust/rust/targets/aarch64-jelos-linux-gnu.json rename to packages/rust/rust/targets/aarch64-rocknix-linux-gnu.json diff --git a/packages/rust/rust/targets/arm-jelos-linux-gnueabihf.json b/packages/rust/rust/targets/arm-jelos-linux-gnueabihf.json deleted file mode 100644 index 351e10419..000000000 --- a/packages/rust/rust/targets/arm-jelos-linux-gnueabihf.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "abi": "eabihf", - "arch": "arm", - "crt-static-respected": true, - "data-layout": "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64", - "dynamic-linking": true, - "env": "gnu", - "executables": true, - "features": "+strict-align,+v6,+vfp2,-d32", - "has-rpath": true, - "has-thread-local": true, - "is-builtin": false, - "llvm-target": "arm-unknown-linux-gnueabihf", - "max-atomic-width": 64, - "os": "linux", - "position-independent-executables": true, - "relro-level": "full", - "target-family": [ - "unix" - ], - "target-mcount": "\u0001__gnu_mcount_nc", - "target-pointer-width": "32" -} diff --git a/packages/rust/rust/targets/x86_64-jelos-linux-gnu.json b/packages/rust/rust/targets/arm-rocknix-linux-gnueabihf.json similarity index 100% rename from packages/rust/rust/targets/x86_64-jelos-linux-gnu.json rename to packages/rust/rust/targets/arm-rocknix-linux-gnueabihf.json diff --git a/packages/security/openssl/package.mk b/packages/security/openssl/package.mk index d9e6af6b7..c21e51ef7 100644 --- a/packages/security/openssl/package.mk +++ b/packages/security/openssl/package.mk @@ -90,16 +90,16 @@ post_makeinstall_target() { # give user the chance to include their own CA mkdir -p ${INSTALL}/usr/bin cp ${PKG_DIR}/scripts/openssl-config ${INSTALL}/usr/bin - ln -sf /run/jelos/cacert.pem ${INSTALL}/etc/ssl/cacert.pem - ln -sf /run/jelos/cacert.pem ${INSTALL}/etc/ssl/cert.pem + ln -sf /run/rocknix/cacert.pem ${INSTALL}/etc/ssl/cacert.pem + ln -sf /run/rocknix/cacert.pem ${INSTALL}/etc/ssl/cert.pem # backwards comatibility mkdir -p ${INSTALL}/etc/pki/tls - ln -sf /run/jelos/cacert.pem ${INSTALL}/etc/pki/tls/cacert.pem + ln -sf /run/rocknix/cacert.pem ${INSTALL}/etc/pki/tls/cacert.pem mkdir -p ${INSTALL}/etc/pki/tls/certs - ln -sf /run/jelos/cacert.pem ${INSTALL}/etc/pki/tls/certs/ca-bundle.crt + ln -sf /run/rocknix/cacert.pem ${INSTALL}/etc/pki/tls/certs/ca-bundle.crt mkdir -p ${INSTALL}/usr/lib/ssl - ln -sf /run/jelos/cacert.pem ${INSTALL}/usr/lib/ssl/cert.pem + ln -sf /run/rocknix/cacert.pem ${INSTALL}/usr/lib/ssl/cert.pem } post_install() { diff --git a/packages/security/openssl/scripts/openssl-config b/packages/security/openssl/scripts/openssl-config index 20ecb73ce..dd09edff1 100755 --- a/packages/security/openssl/scripts/openssl-config +++ b/packages/security/openssl/scripts/openssl-config @@ -3,8 +3,8 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv) -cp /etc/ssl/cacert.pem.system /run/jelos/cacert.pem +cp /etc/ssl/cacert.pem.system /run/rocknix/cacert.pem -[ -f /storage/.config/cacert.pem ] && cat /storage/.config/cacert.pem >>/run/jelos/cacert.pem +[ -f /storage/.config/cacert.pem ] && cat /storage/.config/cacert.pem >>/run/rocknix/cacert.pem exit 0 diff --git a/packages/sysutils/autostart/sources/autostart b/packages/sysutils/autostart/sources/autostart index 36753fdac..61a432f08 100755 --- a/packages/sysutils/autostart/sources/autostart +++ b/packages/sysutils/autostart/sources/autostart @@ -45,7 +45,7 @@ fi ### Start the automount service tocon "Starting storage services..." -systemctl start jelos-automount +systemctl start rocknix-automount ### Run common start scripts for script in /usr/lib/autostart/common/* diff --git a/packages/sysutils/autostart/system.d/jelos-autostart.service b/packages/sysutils/autostart/system.d/rocknix-autostart.service similarity index 92% rename from packages/sysutils/autostart/system.d/jelos-autostart.service rename to packages/sysutils/autostart/system.d/rocknix-autostart.service index 440a4276d..7f85eacf6 100644 --- a/packages/sysutils/autostart/system.d/jelos-autostart.service +++ b/packages/sysutils/autostart/system.d/rocknix-autostart.service @@ -10,4 +10,4 @@ ExecStart=-/bin/sh -c ". /etc/profile; exec /bin/sh /usr/bin/autostart" RemainAfterExit=yes [Install] -WantedBy=jelos.target +WantedBy=rocknix.target diff --git a/packages/sysutils/busybox/package.mk b/packages/sysutils/busybox/package.mk index 7b5a84989..ad2eab0f9 100644 --- a/packages/sysutils/busybox/package.mk +++ b/packages/sysutils/busybox/package.mk @@ -127,11 +127,11 @@ makeinstall_target() { cp ${PKG_DIR}/scripts/pastebinit ${INSTALL}/usr/bin/ ln -sf pastebinit ${INSTALL}/usr/bin/paste - mkdir -p ${INSTALL}/usr/lib/jelos/ - cp ${PKG_DIR}/scripts/functions ${INSTALL}/usr/lib/jelos/ - cp ${PKG_DIR}/scripts/fs-resize ${INSTALL}/usr/lib/jelos/ + mkdir -p ${INSTALL}/usr/lib/rocknix/ + cp ${PKG_DIR}/scripts/functions ${INSTALL}/usr/lib/rocknix/ + cp ${PKG_DIR}/scripts/fs-resize ${INSTALL}/usr/lib/rocknix/ sed -e "s/@DISTRONAME@/${DISTRONAME}/g" \ - -i ${INSTALL}/usr/lib/jelos/fs-resize + -i ${INSTALL}/usr/lib/rocknix/fs-resize mkdir -p ${INSTALL}/etc cp ${PKG_DIR}/config/profile ${INSTALL}/etc diff --git a/packages/sysutils/busybox/scripts/fs-resize b/packages/sysutils/busybox/scripts/fs-resize index aecd49fae..e56c86190 100755 --- a/packages/sysutils/busybox/scripts/fs-resize +++ b/packages/sysutils/busybox/scripts/fs-resize @@ -6,7 +6,7 @@ # Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) if [ -e /storage/.please_resize_me ] ; then - . /usr/lib/jelos/functions + . /usr/lib/rocknix/functions hidecursor diff --git a/packages/sysutils/busybox/scripts/init b/packages/sysutils/busybox/scripts/init index 2f607ae6e..3d69a8d8f 100755 --- a/packages/sysutils/busybox/scripts/init +++ b/packages/sysutils/busybox/scripts/init @@ -227,7 +227,7 @@ mount_folder() { mkdir -p /dev/bind_tmp mount_common "$target" "/dev/bind_tmp" "rw,noatime" - mount_common "/dev/bind_tmp/jelos_$(basename $2)" "$2" "bind" + mount_common "/dev/bind_tmp/${OSNAME}_$(basename $2)" "$2" "bind" umount /dev/bind_tmp &>/dev/null [ "$2" = "/flash" ] && mount -o remount,ro /flash diff --git a/packages/sysutils/busybox/sleep.d.serial/99-suspend-modules.sh b/packages/sysutils/busybox/sleep.d.serial/99-suspend-modules.sh index 9a81bcb14..698cc6687 100755 --- a/packages/sysutils/busybox/sleep.d.serial/99-suspend-modules.sh +++ b/packages/sysutils/busybox/sleep.d.serial/99-suspend-modules.sh @@ -51,7 +51,7 @@ modunload() _rmmod() { if modprobe -r "$1"; then - touch "/run/jelos/suspend/module:$1" + touch "/run/rocknix/suspend/module:$1" return 0 else logger -t suspend-modules "# could not unload '$1', usage count was $2" @@ -61,7 +61,7 @@ _rmmod() resume_modules() { - for x in /run/jelos/suspend/module:* ; do + for x in /run/rocknix/suspend/module:* ; do [ -O "${x}" ] || continue modprobe "${x##*:}" &>/dev/null && \ logger -t resume-modules "Reloaded module ${x##*:}." || \ @@ -73,8 +73,8 @@ suspend_modules() { [ -z "$SUSPEND_MODULES" ] && return 0 # clean up - rm -rf /run/jelos/suspend - mkdir -p /run/jelos/suspend + rm -rf /run/rocknix/suspend + mkdir -p /run/rocknix/suspend for x in $SUSPEND_MODULES ; do modunload $x && \ logger -t suspend-modules "Unloading kernel module $x: Done" || \ diff --git a/packages/sysutils/busybox/system.d/fs-resize.service b/packages/sysutils/busybox/system.d/fs-resize.service index e33e5e20a..a2922fe3c 100644 --- a/packages/sysutils/busybox/system.d/fs-resize.service +++ b/packages/sysutils/busybox/system.d/fs-resize.service @@ -4,7 +4,7 @@ DefaultDependencies=no [Service] Type=idle -ExecStart=/usr/lib/jelos/fs-resize +ExecStart=/usr/lib/rocknix/fs-resize StandardInput=tty-force StandardOutput=inherit StandardError=inherit diff --git a/packages/sysutils/busybox/system.d/var-log.mount b/packages/sysutils/busybox/system.d/var-log.mount index 8a4c3f2ee..2785e6719 100644 --- a/packages/sysutils/busybox/system.d/var-log.mount +++ b/packages/sysutils/busybox/system.d/var-log.mount @@ -5,7 +5,7 @@ Requires=storage-log.service After=storage-log.service ConditionKernelCommandLine=!installer ConditionKernelCommandLine=|debugging -ConditionPathExists=|/storage/.cache/debug.jelos +ConditionPathExists=|/storage/.cache/debug.rocknix [Mount] What=/storage/.cache/log diff --git a/packages/sysutils/powerstate/system.d/powerstate.service b/packages/sysutils/powerstate/system.d/powerstate.service index 641b006e5..b55cf5508 100644 --- a/packages/sysutils/powerstate/system.d/powerstate.service +++ b/packages/sysutils/powerstate/system.d/powerstate.service @@ -1,6 +1,6 @@ [Unit] Description=AC/Battery Performance Service -Before=jelos.target +Before=rocknix.target StartLimitIntervalSec=0 [Service] diff --git a/packages/sysutils/system-utils/system.d/batteryledstatus.service b/packages/sysutils/system-utils/system.d/batteryledstatus.service index f144c8636..d856b0f6f 100644 --- a/packages/sysutils/system-utils/system.d/batteryledstatus.service +++ b/packages/sysutils/system-utils/system.d/batteryledstatus.service @@ -1,6 +1,6 @@ [Unit] Description=Battery LED Status -Before=jelos.target +Before=rocknix.target [Service] Environment=HOME=/storage diff --git a/packages/sysutils/system-utils/system.d/bluetoothsense.service b/packages/sysutils/system-utils/system.d/bluetoothsense.service index d72917aee..e01f25288 100644 --- a/packages/sysutils/system-utils/system.d/bluetoothsense.service +++ b/packages/sysutils/system-utils/system.d/bluetoothsense.service @@ -1,6 +1,6 @@ [Unit] Description=Bluetooth Sense -Before=jelos.target +Before=rocknix.target [Service] Environment=XDG_RUNTIME_DIR=/var/run/0-runtime-dir diff --git a/packages/sysutils/system-utils/system.d/fancontrol.service b/packages/sysutils/system-utils/system.d/fancontrol.service index f5a7c7d58..bd20482d8 100644 --- a/packages/sysutils/system-utils/system.d/fancontrol.service +++ b/packages/sysutils/system-utils/system.d/fancontrol.service @@ -1,6 +1,6 @@ [Unit] Description=Simple Fan Control Service -Before=jelos.target +Before=rocknix.target [Service] Environment=HOME=/storage diff --git a/packages/sysutils/system-utils/system.d/headphones.service b/packages/sysutils/system-utils/system.d/headphones.service index c399a76c7..a4c2bc63c 100644 --- a/packages/sysutils/system-utils/system.d/headphones.service +++ b/packages/sysutils/system-utils/system.d/headphones.service @@ -1,6 +1,6 @@ [Unit] Description=Headphone Sense -Before=jelos.target +Before=rocknix.target [Service] Environment=HOME=/storage diff --git a/packages/sysutils/system-utils/system.d/input.service b/packages/sysutils/system-utils/system.d/input.service index c769feaac..dff028ab2 100644 --- a/packages/sysutils/system-utils/system.d/input.service +++ b/packages/sysutils/system-utils/system.d/input.service @@ -1,7 +1,7 @@ [Unit] Description=Volume button service After=headphones.service -Before=jelos.target +Before=rocknix.target StartLimitIntervalSec=0 [Service] diff --git a/packages/sysutils/system-utils/system.d/video.service b/packages/sysutils/system-utils/system.d/video.service index a5f49d25a..ae49974f7 100644 --- a/packages/sysutils/system-utils/system.d/video.service +++ b/packages/sysutils/system-utils/system.d/video.service @@ -1,6 +1,6 @@ [Unit] Description=Video Sense -Before=jelos.target +Before=rocknix.target [Service] Environment=HOME=/storage diff --git a/packages/sysutils/systemd/config/hosts.conf b/packages/sysutils/systemd/config/hosts.conf index 3eb2e4e64..db5f8aa78 100644 --- a/packages/sysutils/systemd/config/hosts.conf +++ b/packages/sysutils/systemd/config/hosts.conf @@ -4,7 +4,7 @@ # IP addresses # Format: -# Example: 192.168.0.3 jelos jelos.mynetwork +# Example: 192.168.0.3 rocknix rocknix.mynetwork 127.0.0.1 localhost.localdomain localhost diff --git a/packages/sysutils/systemd/package.mk b/packages/sysutils/systemd/package.mk index dcaf97782..d1bfaeb89 100644 --- a/packages/sysutils/systemd/package.mk +++ b/packages/sysutils/systemd/package.mk @@ -218,8 +218,8 @@ post_makeinstall_target() { cp ${PKG_DIR}/scripts/systemd-timesyncd-setup ${INSTALL}/usr/sbin # /etc/resolv.conf and /etc/hosts must be writable - ln -sf /run/jelos/resolv.conf ${INSTALL}/etc/resolv.conf - ln -sf /run/jelos/hosts ${INSTALL}/etc/hosts + ln -sf /run/rocknix/resolv.conf ${INSTALL}/etc/resolv.conf + ln -sf /run/rocknix/hosts ${INSTALL}/etc/hosts # provide 'halt', 'shutdown', 'reboot' & co. ln -sf /usr/bin/systemctl ${INSTALL}/usr/sbin/halt diff --git a/packages/sysutils/systemd/scripts/network-base-setup b/packages/sysutils/systemd/scripts/network-base-setup index 6a53dc875..f7337dea2 100755 --- a/packages/sysutils/systemd/scripts/network-base-setup +++ b/packages/sysutils/systemd/scripts/network-base-setup @@ -9,19 +9,19 @@ hostnamectl --transient hostname ${HOSTNAME} avahi-set-host-name ${HOSTNAME} # setup /etc/hosts -rm -f /run/jelos/hosts +rm -f /run/rocknix/hosts if [ -f /storage/.config/hosts.conf ]; then - cat /storage/.config/hosts.conf > /run/jelos/hosts + cat /storage/.config/hosts.conf > /run/rocknix/hosts fi # setup /etc/resolv.conf -rm -f /run/jelos/resolv.conf +rm -f /run/rocknix/resolv.conf if [ -f /storage/.config/resolv.conf ]; then - cat /storage/.config/resolv.conf > /run/jelos/resolv.conf + cat /storage/.config/resolv.conf > /run/rocknix/resolv.conf elif [ -f /dev/.kernel_ipconfig -a -f /proc/net/pnp ]; then - cat /proc/net/pnp > /run/jelos/resolv.conf + cat /proc/net/pnp > /run/rocknix/resolv.conf else - cat << EOF > /run/jelos/resolv.conf + cat << EOF > /run/rocknix/resolv.conf nameserver 8.8.8.8 nameserver 8.8.4.4 EOF diff --git a/packages/sysutils/systemd/system.d/debugconfig.service b/packages/sysutils/systemd/system.d/debugconfig.service index 652529034..249af4f4f 100644 --- a/packages/sysutils/systemd/system.d/debugconfig.service +++ b/packages/sysutils/systemd/system.d/debugconfig.service @@ -3,11 +3,11 @@ Description=Setup debug config DefaultDependencies=no After=systemd-tmpfiles-setup.service ConditionKernelCommandLine=|debugging -ConditionPathExists=|/storage/.cache/debug.jelos +ConditionPathExists=|/storage/.cache/debug.rocknix [Service] Type=oneshot -ExecStart=/bin/sh -c 'cp /usr/share/debugconf/*.conf /run/jelos/debug' +ExecStart=/bin/sh -c 'cp /usr/share/debugconf/*.conf /run/rocknix/debug' RemainAfterExit=yes [Install] diff --git a/packages/sysutils/systemd/system.d/userconfig.service b/packages/sysutils/systemd/system.d/userconfig.service index f239a4e32..c487eae2c 100644 --- a/packages/sysutils/systemd/system.d/userconfig.service +++ b/packages/sysutils/systemd/system.d/userconfig.service @@ -2,7 +2,7 @@ Description=Setup User config dir DefaultDependencies=no After=systemd-tmpfiles-setup.service -Before=jelos-automount.service autostart.service +Before=rocknix-automount.service autostart.service [Service] Type=oneshot diff --git a/packages/sysutils/systemd/tmpfiles.d/z_01_jelos.conf b/packages/sysutils/systemd/tmpfiles.d/z_01_rocknix.conf similarity index 55% rename from packages/sysutils/systemd/tmpfiles.d/z_01_jelos.conf rename to packages/sysutils/systemd/tmpfiles.d/z_01_rocknix.conf index 992c7586d..1b02d30c9 100644 --- a/packages/sysutils/systemd/tmpfiles.d/z_01_jelos.conf +++ b/packages/sysutils/systemd/tmpfiles.d/z_01_rocknix.conf @@ -1,5 +1,5 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) -d /run/jelos 0755 root root - - -d /run/jelos/debug 0755 root root - - +d /run/rocknix 0755 root root - - +d /run/rocknix/debug 0755 root root - - diff --git a/packages/sysutils/udevil/system.d/udevil-mount@.service b/packages/sysutils/udevil/system.d/udevil-mount@.service index c6a42b60a..7921e11c5 100644 --- a/packages/sysutils/udevil/system.d/udevil-mount@.service +++ b/packages/sysutils/udevil/system.d/udevil-mount@.service @@ -1,6 +1,6 @@ [Unit] Description=Udevil mount service -After=jelos-automount.service +After=rocknix-automount.service [Service] Type=oneshot diff --git a/packages/sysutils/util-linux/package.mk b/packages/sysutils/util-linux/package.mk index 5ee25127d..803570afd 100644 --- a/packages/sysutils/util-linux/package.mk +++ b/packages/sysutils/util-linux/package.mk @@ -81,8 +81,8 @@ fi post_makeinstall_target() { if [ "${SWAP_SUPPORT}" = "yes" ]; then - mkdir -p ${INSTALL}/usr/lib/jelos - cp -PR ${PKG_DIR}/scripts/mount-swap ${INSTALL}/usr/lib/jelos + mkdir -p ${INSTALL}/usr/lib/rocknix + cp -PR ${PKG_DIR}/scripts/mount-swap ${INSTALL}/usr/lib/rocknix mkdir -p ${INSTALL}/etc cat ${PKG_DIR}/config/swap.conf | \ diff --git a/packages/sysutils/util-linux/system.d/swap.service b/packages/sysutils/util-linux/system.d/swap.service index a5bf1b2a7..e9bcd9ea8 100644 --- a/packages/sysutils/util-linux/system.d/swap.service +++ b/packages/sysutils/util-linux/system.d/swap.service @@ -13,8 +13,8 @@ ConditionKernelCommandLine=!installer [Service] Environment=HOME=/storage Type=oneshot -ExecStartPre=/usr/lib/jelos/mount-swap create -ExecStart=/usr/lib/jelos/mount-swap mount +ExecStartPre=/usr/lib/rocknix/mount-swap create +ExecStart=/usr/lib/rocknix/mount-swap mount RemainAfterExit=yes [Install] diff --git a/packages/sysutils/v4l-utils/package.mk b/packages/sysutils/v4l-utils/package.mk index 2ff2747c5..c80dbc132 100644 --- a/packages/sysutils/v4l-utils/package.mk +++ b/packages/sysutils/v4l-utils/package.mk @@ -86,22 +86,22 @@ post_makeinstall_target() { # create multi keymap to support several remotes OOTB if [ -n "$IR_REMOTE_PROTOCOLS" -a -n "$IR_REMOTE_KEYMAPS" ]; then - create_multi_keymap jelos_multi "$IR_REMOTE_PROTOCOLS" $IR_REMOTE_KEYMAPS + create_multi_keymap rocknix_multi "$IR_REMOTE_PROTOCOLS" $IR_REMOTE_KEYMAPS # use multi-keymap instead of default one sed -i '/^\*\s*rc-rc6-mce\s*rc6_mce/d' ${INSTALL}/etc/rc_maps.cfg cat << EOF >> ${INSTALL}/etc/rc_maps.cfg # -# Custom JELOS configuration starts here +# Custom ROCKNIX configuration starts here # # use combined multi-table on MCE receivers # * rc-rc6-mce rc6_mce -* rc-rc6-mce jelos_multi +* rc-rc6-mce rocknix_multi # table for Xbox DVD Playback Kit * rc-xbox-dvd xbox_dvd # multi-table for amlogic devices -meson-ir * jelos_multi +meson-ir * rocknix_multi EOF fi diff --git a/packages/tools/installer/package.mk b/packages/tools/installer/package.mk index 5b4b74a10..1ef4452f0 100644 --- a/packages/tools/installer/package.mk +++ b/packages/tools/installer/package.mk @@ -4,10 +4,10 @@ PKG_NAME="installer" PKG_VERSION="1" PKG_LICENSE="GPL" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_URL="" PKG_DEPENDS_TARGET="toolchain busybox newt parted e2fsprogs syslinux grub" -PKG_LONGDESC="JELOS Install manager to install the system on any disk" +PKG_LONGDESC="ROCKNIX Install manager to install the system on any disk" PKG_TOOLCHAIN="manual" post_install() { diff --git a/packages/tools/installer/scripts/installer b/packages/tools/installer/scripts/installer index 38e727ecc..1417f81a4 100755 --- a/packages/tools/installer/scripts/installer +++ b/packages/tools/installer/scripts/installer @@ -402,7 +402,7 @@ EOF } | whiptail --backtitle "$BACKTITLE" --gauge "Please wait while your system is being setup ..." 6 73 0 # install complete - MSG_TITLE="JELOS Install Complete" + MSG_TITLE="ROCKNIX Install Complete" MSG_DETAIL="You may now remove the install media and shutdown.\n" whiptail --backtitle "$BACKTITLE" --title "$MSG_TITLE" --msgbox "$MSG_DETAIL" 7 73 } @@ -478,9 +478,9 @@ prompt_backup_unpack() { menu_main() { # show the mainmenu MSG_TITLE="MAIN MENU" - MSG_MENU="\nWelcome to JELOS installation tool! \ + MSG_MENU="\nWelcome to ROCKNIX installation tool! \ \n -This tool is used to copy JELOS from the installation media \ +This tool is used to copy ROCKNIX from the installation media \ to your disk or other device. You'll be up and running in no time! \ Please note that the contents of the disk you choose will be wiped \ out during the installation. \ @@ -489,7 +489,7 @@ out during the installation. \ whiptail --backtitle "$BACKTITLE" --cancel-button "$MSG_CANCEL" \ --title "$MSG_TITLE" --menu "$MSG_MENU" 18 73 4 \ - 1 "Install JELOS" \ + 1 "Install ROCKNIX" \ 2 "View installation log" \ 3 "Save installation log" \ 4 "Shutdown" 2> $TMPDIR/mainmenu @@ -523,7 +523,7 @@ logfile_save() { mount -o remount,ro /flash - MSG_TITLE="JELOS Log Saved" + MSG_TITLE="ROCKNIX Log Saved" MSG_DETAIL="Log location: ${LOGBACKUP}\n" whiptail --backtitle "$BACKTITLE" --title "$MSG_TITLE" --msgbox "$MSG_DETAIL" 7 52 } @@ -537,7 +537,7 @@ do_poweroff() { # setup needed variables OS_VERSION=$(lsb_release) -BACKTITLE="JELOS Installer - ${OS_VERSION}" +BACKTITLE="ROCKNIX Installer - ${OS_VERSION}" TMPDIR="/tmp/installer" LOGFILE="$TMPDIR/install.log" @@ -566,7 +566,7 @@ rm -rf $TMPDIR mkdir -p $TMPDIR #create log file -echo "JELOS Installer - ${OS_VERSION} started at:" > $LOGFILE +echo "ROCKNIX Installer - ${OS_VERSION} started at:" > $LOGFILE date >> $LOGFILE dbglg "System status" diff --git a/packages/tools/installer/system.d/installer.target b/packages/tools/installer/system.d/installer.target index 880356cdb..cb9839f62 100644 --- a/packages/tools/installer/system.d/installer.target +++ b/packages/tools/installer/system.d/installer.target @@ -1,5 +1,5 @@ [Unit] -Description=JELOS installer +Description=ROCKNIX installer Requires=basic.target After=basic.target Conflicts=rescue.target multi-user.target graphical.target diff --git a/packages/tools/python-evdev/package.mk b/packages/tools/python-evdev/package.mk index b0e5f7799..41fffaa56 100644 --- a/packages/tools/python-evdev/package.mk +++ b/packages/tools/python-evdev/package.mk @@ -33,6 +33,6 @@ makeinstall_target() { post_makeinstall_target() { for so in _ecodes _input _uinput do - mv ${INSTALL}/usr/lib/${PKG_PYTHON_VERSION}/site-packages/evdev/${so}.cpython-311-x86_64-jelos-linux-gnu.so ${INSTALL}/usr/lib/${PKG_PYTHON_VERSION}/site-packages/evdev/${so}.cpython-311-aarch64-jelos-linux-gnu.so + mv ${INSTALL}/usr/lib/${PKG_PYTHON_VERSION}/site-packages/evdev/${so}.cpython-311-x86_64-rocknix-linux-gnu.so ${INSTALL}/usr/lib/${PKG_PYTHON_VERSION}/site-packages/evdev/${so}.cpython-311-aarch64-rocknix-linux-gnu.so done } diff --git a/packages/tools/rkbin/package.mk b/packages/tools/rkbin/package.mk index d1065f491..f0cd61b50 100644 --- a/packages/tools/rkbin/package.mk +++ b/packages/tools/rkbin/package.mk @@ -4,10 +4,10 @@ PKG_NAME="rkbin" PKG_ARCH="arm aarch64" PKG_LICENSE="nonfree" -PKG_SITE="https://github.com/JustEnoughLinuxOS/rkbin" +PKG_SITE="https://github.com/ROCKNIX/rkbin" PKG_LONGDESC="rkbin: Rockchip Firmware and Tool Binaries" PKG_TOOLCHAIN="manual" PKG_PATCH_DIRS+="${DEVICE}*" -PKG_VERSION="5257e54cc6c15fef28c3b73bd95ca1b55cc8c8cd" +PKG_VERSION="30691baa32ebc8a40f23e4cf5471b17256bd7b4d" PKG_URL="${PKG_SITE}.git" diff --git a/packages/ui/emulationstation/config/common/es_settings.cfg b/packages/ui/emulationstation/config/common/es_settings.cfg index 0e827b031..7de954dfe 100644 --- a/packages/ui/emulationstation/config/common/es_settings.cfg +++ b/packages/ui/emulationstation/config/common/es_settings.cfg @@ -57,6 +57,6 @@ - + diff --git a/packages/ui/emulationstation/system.d/emustation.service b/packages/ui/emulationstation/system.d/emustation.service index 158686aa3..5fbd3eb01 100644 --- a/packages/ui/emulationstation/system.d/emustation.service +++ b/packages/ui/emulationstation/system.d/emustation.service @@ -1,7 +1,7 @@ [Unit] Description=EmulationStation emulator frontend ConditionPathExists=/var/lock/start.games -After=jelos-automount.service +After=rocknix-automount.service [Service] Environment=XDG_RUNTIME_DIR=/var/run/0-runtime-dir @@ -16,4 +16,4 @@ RestartSec=2 StartLimitInterval=0 [Install] -WantedBy=jelos.target +WantedBy=rocknix.target diff --git a/packages/virtual/arm/package.mk b/packages/virtual/arm/package.mk index ccac0a66c..dcb3af7dd 100644 --- a/packages/virtual/arm/package.mk +++ b/packages/virtual/arm/package.mk @@ -3,7 +3,7 @@ PKG_NAME="arm" PKG_LICENSE="GPLv2" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_DEPENDS_TARGET="toolchain squashfs-tools:host dosfstools:host fakeroot:host kmod:host mtools:host populatefs:host libc gcc linux linux-drivers linux-firmware libusb unzip socat p7zip file SDL2 SDL2_gfx SDL2_image SDL2_mixer SDL2_net SDL2_ttf" PKG_SECTION="virtual" PKG_LONGDESC="Root package used to build and create 32-bit userland" diff --git a/packages/virtual/docker/package.mk b/packages/virtual/docker/package.mk index 93e1b0b9b..e6b37670f 100644 --- a/packages/virtual/docker/package.mk +++ b/packages/virtual/docker/package.mk @@ -3,7 +3,7 @@ PKG_NAME="docker" PKG_LICENSE="GPLv2" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_SECTION="virtual" PKG_LONGDESC="Container support software metapackage." diff --git a/packages/virtual/emulators/package.mk b/packages/virtual/emulators/package.mk index 55a716625..a1207a1d9 100644 --- a/packages/virtual/emulators/package.mk +++ b/packages/virtual/emulators/package.mk @@ -3,7 +3,7 @@ PKG_NAME="emulators" PKG_LICENSE="GPLv2" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_SECTION="emulation" # Do not change to virtual or makeinstall_target will not execute. PKG_LONGDESC="Emulation metapackage." PKG_TOOLCHAIN="manual" diff --git a/packages/virtual/emulators/udev.d/99-automount.rules b/packages/virtual/emulators/udev.d/99-automount.rules index ba601f767..f3338da82 100644 --- a/packages/virtual/emulators/udev.d/99-automount.rules +++ b/packages/virtual/emulators/udev.d/99-automount.rules @@ -14,7 +14,7 @@ GOTO="exit" # mount or umount for hdds LABEL="harddisk" -ACTION=="add", PROGRAM="/usr/bin/sh -c '/usr/bin/grep -E ^/dev/%k\ /proc/mounts || true'", RESULT=="", RUN+="/usr/bin/systemctl restart jelos-automount.service" +ACTION=="add", PROGRAM="/usr/bin/sh -c '/usr/bin/grep -E ^/dev/%k\ /proc/mounts || true'", RESULT=="", RUN+="/usr/bin/systemctl restart rocknix-automount.service" GOTO="exit" # Exit diff --git a/packages/virtual/es-themes/package.mk b/packages/virtual/es-themes/package.mk index 645be76b8..be7d6bca9 100644 --- a/packages/virtual/es-themes/package.mk +++ b/packages/virtual/es-themes/package.mk @@ -3,7 +3,7 @@ PKG_NAME="es-themes" PKG_LICENSE="GPLv2" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_DEPENDS_TARGET="es-theme-art-book-next" PKG_SECTION="virtual" PKG_LONGDESC="EmulationStation themes package." diff --git a/packages/virtual/gamesupport/package.mk b/packages/virtual/gamesupport/package.mk index 189d1e32e..adccabcfb 100644 --- a/packages/virtual/gamesupport/package.mk +++ b/packages/virtual/gamesupport/package.mk @@ -3,7 +3,7 @@ PKG_NAME="gamesupport" PKG_LICENSE="GPLv2" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_SECTION="virtual" PKG_LONGDESC="Game support software metapackage." diff --git a/packages/virtual/misc-packages/package.mk b/packages/virtual/misc-packages/package.mk index eb3c6c77f..e15ed64c0 100644 --- a/packages/virtual/misc-packages/package.mk +++ b/packages/virtual/misc-packages/package.mk @@ -6,7 +6,7 @@ PKG_NAME="misc-packages" PKG_VERSION="" PKG_LICENSE="GPL" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_URL="" PKG_SECTION="virtual" PKG_LONGDESC="misc-packages: Metapackage for miscellaneous packages" diff --git a/packages/virtual/synctools/package.mk b/packages/virtual/synctools/package.mk index 9f4709fb2..6afad0581 100644 --- a/packages/virtual/synctools/package.mk +++ b/packages/virtual/synctools/package.mk @@ -3,7 +3,7 @@ PKG_NAME="synctools" PKG_LICENSE="GPLv2" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_SECTION="virtual" PKG_LONGDESC="Cloud/local sync tools metapackage." diff --git a/packages/virtual/toolchain/package.mk b/packages/virtual/toolchain/package.mk index a91ab6932..a454f255d 100644 --- a/packages/virtual/toolchain/package.mk +++ b/packages/virtual/toolchain/package.mk @@ -5,7 +5,7 @@ PKG_NAME="toolchain" PKG_VERSION="" PKG_LICENSE="GPL" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_URL="" PKG_DEPENDS_HOST="autoconf:host autoconf-archive:host automake:host bison:host configtools:host cmake:host flex:host intltool:host libtool:host ninja:host make:host meson:host p7zip:host pigz:host sed:host xmlstarlet:host xz:host" PKG_DEPENDS_TARGET="toolchain:host gcc:host" diff --git a/packages/virtual/x86/package.mk b/packages/virtual/x86/package.mk index b879c369b..f7b400b1c 100644 --- a/packages/virtual/x86/package.mk +++ b/packages/virtual/x86/package.mk @@ -3,7 +3,7 @@ PKG_NAME="x86" PKG_LICENSE="GPLv2" -PKG_SITE="https://jelos.org" +PKG_SITE="https://rocknix.org" PKG_DEPENDS_TARGET="toolchain squashfs-tools:host dosfstools:host fakeroot:host kmod:host mtools:host populatefs:host libc gcc linux linux-drivers linux-firmware libusb unzip socat p7zip file SDL2 SDL2_gfx SDL2_image SDL2_mixer SDL2_net SDL2_ttf" PKG_SECTION="virtual" PKG_LONGDESC="Root package used to build and create 32-bit userland" diff --git a/packages/wayland/compositor/sway/config/config b/packages/wayland/compositor/sway/config/config index 01f7f9c8b..2225574b3 100644 --- a/packages/wayland/compositor/sway/config/config +++ b/packages/wayland/compositor/sway/config/config @@ -24,7 +24,7 @@ set $menu bemenu-run -p "#" -l 10 --scrollbar autohide -i -w --tf "$prompt" --hf ### Output configuration # # Default wallpaper (more resolutions are available in /usr/share/sway/) -output * bg /usr/share/sway/jelos-wallpaper-2160.png fill +output * bg /usr/share/sway/rocknix-wallpaper-2160.png fill # hide_cursor hides the cursor image after the specified timeout (in milliseconds) has elapsed with no activity on that cursor seat * hide_cursor 3000 diff --git a/packages/wayland/weston/system.d/weston.service b/packages/wayland/weston/system.d/weston.service index 14a90af57..f3d2d4e88 100644 --- a/packages/wayland/weston/system.d/weston.service +++ b/packages/wayland/weston/system.d/weston.service @@ -1,7 +1,7 @@ [Unit] Description=Weston Launcher Before=graphical.target -After=multi-user.target jelos-automount.service +After=multi-user.target rocknix-automount.service ConditionKernelCommandLine=!installer [Service] diff --git a/packages/web/curl/package.mk b/packages/web/curl/package.mk index d3a0174fd..123523158 100644 --- a/packages/web/curl/package.mk +++ b/packages/web/curl/package.mk @@ -62,7 +62,7 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_lib_rtmp_RTMP_Init=yes \ --with-ssl \ --without-mbedtls \ --without-nss \ - --with-ca-bundle=/run/jelos/cacert.pem \ + --with-ca-bundle=/run/rocknix/cacert.pem \ --without-ca-path \ --without-libpsl \ --without-libssh2 \ diff --git a/packages/x11/util/xorg-launch-helper/scripts/xorg-launch b/packages/x11/util/xorg-launch-helper/scripts/xorg-launch index 79f36b835..af1e9e1b7 100755 --- a/packages/x11/util/xorg-launch-helper/scripts/xorg-launch +++ b/packages/x11/util/xorg-launch-helper/scripts/xorg-launch @@ -5,7 +5,7 @@ # wait for xorg-configure@.service # max 10 seconds -ARGS_FILE="/run/jelos/xorg-settings.conf" +ARGS_FILE="/run/rocknix/xorg-settings.conf" for i in $(seq 1 40) ; do if [ -e "$ARGS_FILE" ] ; then break @@ -14,7 +14,7 @@ for i in $(seq 1 40) ; do done if [ -e "$ARGS_FILE" ] ; then - . /run/jelos/xorg-settings.conf + . /run/rocknix/xorg-settings.conf exec xorg-launch-helper $@ $XORG_ARGS else echo "" > /dev/tty1 diff --git a/packages/x11/xserver/xwayland/package.mk b/packages/x11/xserver/xwayland/package.mk index 2b91e4233..519071544 100644 --- a/packages/x11/xserver/xwayland/package.mk +++ b/packages/x11/xserver/xwayland/package.mk @@ -25,9 +25,9 @@ PKG_MESON_OPTS_TARGET+=" -Dxvfb=false \ -Dinput_thread=true \ -Dxkb_dir=${XORG_PATH_XKB} \ -Dxkb_output_dir="/var/cache/xkb" \ - -Dvendor_name="JELOS" \ - -Dvendor_name_short="JELOS" \ - -Dvendor_web="https://jelos.org" \ + -Dvendor_name="ROCKNIX" \ + -Dvendor_name_short="ROCKNIX" \ + -Dvendor_web="https://rocknix.org" \ -Dlisten_tcp=false \ -Dlisten_unix=true \ -Dlisten_local=false \ diff --git a/packages/x11/xserver/xwayland/scripts/xorg-configure b/packages/x11/xserver/xwayland/scripts/xorg-configure index d9d7f4805..99dfa82f0 100755 --- a/packages/x11/xserver/xwayland/scripts/xorg-configure +++ b/packages/x11/xserver/xwayland/scripts/xorg-configure @@ -105,6 +105,6 @@ logger -t Xorg "### creating needed directories and symlinks ###" ################################################################################ logger -t Xorg "### starting Xorg with '${DISPLAY} vt01 ${XORG_ARGS}' ###" - mkdir -p /run/jelos - echo "XORG_ARGS=\"${XORG_ARGS}\"" > /run/jelos/xorg-settings.conf + mkdir -p /run/rocknix + echo "XORG_ARGS=\"${XORG_ARGS}\"" > /run/rocknix/xorg-settings.conf diff --git a/packages/x11/xserver/xwayland/system.d/xorg.service b/packages/x11/xserver/xwayland/system.d/xorg.service index 78e276669..eb7dcad96 100644 --- a/packages/x11/xserver/xwayland/system.d/xorg.service +++ b/packages/x11/xserver/xwayland/system.d/xorg.service @@ -6,7 +6,7 @@ ConditionKernelCommandLine=!installer [Service] Type=notify -EnvironmentFile=-/run/jelos/debug/xorg.conf +EnvironmentFile=-/run/rocknix/debug/xorg.conf ExecStart=/usr/bin/xorg-launch -nolisten tcp vt01 $XORG_DEBUG Restart=always RestartSec=2 diff --git a/projects/Amlogic/packages/u-boot-Odroid_GOU/package.mk b/projects/Amlogic/packages/u-boot-Odroid_GOU/package.mk index c0691b09a..f0e828ca3 100644 --- a/projects/Amlogic/packages/u-boot-Odroid_GOU/package.mk +++ b/projects/Amlogic/packages/u-boot-Odroid_GOU/package.mk @@ -21,10 +21,10 @@ make_target() { DEBUG=${PKG_DEBUG} CROSS_COMPILE=aarch64-elf- ARCH=arm CFLAGS="" LDFLAGS="" make ${PKG_UBOOT_CONFIG} DEBUG=${PKG_DEBUG} CROSS_COMPILE=aarch64-elf- ARCH=arm CFLAGS="" LDFLAGS="" make HOSTCC="${HOST_CC}" HOSTSTRIP="true" - # repack odroidbios.bin for jelos - ${TOOLCHAIN}/sbin/fsck.cramfs --extract=jelos tools/odroid_resource/ODROIDBIOS.BIN - sed -e "s/ODROIDGOU/JELOS/" -i jelos/boot.ini - ${TOOLCHAIN}/sbin/mkfs.cramfs -N little jelos tools/odroid_resource/ODROIDBIOS.BIN + # repack odroidbios.bin for rocknix + ${TOOLCHAIN}/sbin/fsck.cramfs --extract=rocknix tools/odroid_resource/ODROIDBIOS.BIN + sed -e "s/ODROIDGOU/ROCKNIX/" -i rocknix/boot.ini + ${TOOLCHAIN}/sbin/mkfs.cramfs -N little rocknix tools/odroid_resource/ODROIDBIOS.BIN } makeinstall_target() { diff --git a/projects/Amlogic/packages/u-boot-Odroid_GOU/patches/004-fix-build.patch b/projects/Amlogic/packages/u-boot-Odroid_GOU/patches/004-fix-build.patch index eac8e57ad..da0aae063 100644 --- a/projects/Amlogic/packages/u-boot-Odroid_GOU/patches/004-fix-build.patch +++ b/projects/Amlogic/packages/u-boot-Odroid_GOU/patches/004-fix-build.patch @@ -38,7 +38,7 @@ index 3917cea8c4..919672f60f 100644 char *buf; char magic[32]; - int size = snprintf(magic, sizeof(magic), "%s-uboot-config\n", product); -+ int size = snprintf(magic, sizeof(magic), "jelos-uboot-config\n"); ++ int size = snprintf(magic, sizeof(magic), "rocknix-uboot-config\n"); buf = map_sysmem(addr, 0); if (strncasecmp(magic, buf, size)) diff --git a/projects/Rockchip/devices/RK3566/linux/linux.aarch64.conf b/projects/Rockchip/devices/RK3566/linux/linux.aarch64.conf index e2cf6dc90..948e59e1b 100644 --- a/projects/Rockchip/devices/RK3566/linux/linux.aarch64.conf +++ b/projects/Rockchip/devices/RK3566/linux/linux.aarch64.conf @@ -2,7 +2,7 @@ # 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_VERSION_TEXT="aarch64-linux-gnueabi-gcc-12.3.1 (GCC) 12.3.1 20240103" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=120301 CONFIG_CLANG_VERSION=0 diff --git a/projects/Rockchip/devices/RK3566/options b/projects/Rockchip/devices/RK3566/options index a883272a2..a93db8109 100644 --- a/projects/Rockchip/devices/RK3566/options +++ b/projects/Rockchip/devices/RK3566/options @@ -91,7 +91,7 @@ # for a list of additional drivers see packages/linux-drivers # Space separated list is supported, # e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2" - ADDITIONAL_DRIVERS="jelos-gamepad" + # ADDITIONAL_DRIVERS="" # build and install driver addons (yes / no) DRIVER_ADDONS_SUPPORT="no" diff --git a/projects/Rockchip/devices/RK3588/linux/linux.aarch64.conf b/projects/Rockchip/devices/RK3588/linux/linux.aarch64.conf index e3fbca6a5..c5416b224 100644 --- a/projects/Rockchip/devices/RK3588/linux/linux.aarch64.conf +++ b/projects/Rockchip/devices/RK3588/linux/linux.aarch64.conf @@ -2,7 +2,7 @@ # Automatically generated file; DO NOT EDIT. # Linux/arm64 5.10.160 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="aarch64-jelos-linux-gnueabi-gcc-12.3.1 (GCC) 12.3.1 20240103" +CONFIG_CC_VERSION_TEXT="aarch64-linux-gnueabi-gcc-12.3.1 (GCC) 12.3.1 20240103" CONFIG_CC_IS_GCC=y CONFIG_GCC_VERSION=120301 CONFIG_LD_VERSION=241000000 diff --git a/projects/Rockchip/patches/linux/RK3588/000-gameforce-ace.patch b/projects/Rockchip/patches/linux/RK3588/000-gameforce-ace.patch index b9dba046d..94d875748 100644 --- a/projects/Rockchip/patches/linux/RK3588/000-gameforce-ace.patch +++ b/projects/Rockchip/patches/linux/RK3588/000-gameforce-ace.patch @@ -59,7 +59,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin + }; + + joypad: gameforce-ace-joypad { -+ compatible = "jelos-joypad"; ++ compatible = "rocknix-joypad"; + poll-interval = <10>; + status = "okay"; + diff --git a/projects/Rockchip/patches/linux/RK3588/006-joypad-driver.patch b/projects/Rockchip/patches/linux/RK3588/006-joypad-driver.patch index c95872a68..4e07cb494 100644 --- a/projects/Rockchip/patches/linux/RK3588/006-joypad-driver.patch +++ b/projects/Rockchip/patches/linux/RK3588/006-joypad-driver.patch @@ -21,15 +21,15 @@ index 3937535f0098..f473353fd283 100644 obj-$(CONFIG_JOYSTICK_GUILLEMOT) += guillemot.o obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/ obj-$(CONFIG_JOYSTICK_INTERACT) += interact.o -+obj-$(CONFIG_JOYSTICK_JELOS_JOYPAD) += jelos-joypad.o ++obj-$(CONFIG_JOYSTICK_JELOS_JOYPAD) += rocknix-joypad.o obj-$(CONFIG_JOYSTICK_JOYDUMP) += joydump.o obj-$(CONFIG_JOYSTICK_MAGELLAN) += magellan.o obj-$(CONFIG_JOYSTICK_MAPLE) += maplecontrol.o -diff --git a/drivers/input/joystick/jelos-joypad.c b/drivers/input/joystick/jelos-joypad.c +diff --git a/drivers/input/joystick/rocknix-joypad.c b/drivers/input/joystick/rocknix-joypad.c new file mode 100644 index 000000000000..51eda0980703 --- /dev/null -+++ b/drivers/input/joystick/jelos-joypad.c ++++ b/drivers/input/joystick/rocknix-joypad.c @@ -0,0 +1,984 @@ +/*----------------------------------------------------------------------------*/ +#include @@ -48,10 +48,10 @@ index 000000000000..51eda0980703 +#include +#include +#include -+#include "jelos-joypad.h" ++#include "rocknix-joypad.h" + +/*----------------------------------------------------------------------------*/ -+#define DRV_NAME "jelos-joypad" ++#define DRV_NAME "rocknix-joypad" + +/*----------------------------------------------------------------------------*/ + @@ -195,7 +195,7 @@ index 000000000000..51eda0980703 +/* + * ATTRIBUTES: + * -+ * /sys/devices/platform/jelos-joypad/poll_interval [rw] ++ * /sys/devices/platform/rocknix-joypad/poll_interval [rw] + */ +/*----------------------------------------------------------------------------*/ +static ssize_t joypad_store_poll_interval(struct device *dev, @@ -233,7 +233,7 @@ index 000000000000..51eda0980703 +/* + * ATTRIBUTES: + * -+ * /sys/devices/platform/jelos-joypad/adc_fuzz [r] ++ * /sys/devices/platform/rocknix-joypad/adc_fuzz [r] + */ +/*----------------------------------------------------------------------------*/ +static ssize_t joypad_show_adc_fuzz(struct device *dev, @@ -255,7 +255,7 @@ index 000000000000..51eda0980703 +/* + * ATTRIBUTES: + * -+ * /sys/devices/platform/jelos-joypad/adc_flat [r] ++ * /sys/devices/platform/rocknix-joypad/adc_flat [r] + */ +/*----------------------------------------------------------------------------*/ +static ssize_t joypad_show_adc_flat(struct device *dev, @@ -277,7 +277,7 @@ index 000000000000..51eda0980703 +/* + * ATTRIBUTES: + * -+ * /sys/devices/platform/jelos-joypad/enable [rw] ++ * /sys/devices/platform/rocknix-joypad/enable [rw] + */ +/*----------------------------------------------------------------------------*/ +static ssize_t joypad_store_enable(struct device *dev, @@ -315,7 +315,7 @@ index 000000000000..51eda0980703 +/* + * ATTRIBUTES: + * -+ * /sys/devices/platform/jelos-joypad/adc_cal [rw] ++ * /sys/devices/platform/rocknix-joypad/adc_cal [rw] + */ +/*----------------------------------------------------------------------------*/ +static ssize_t joypad_store_adc_cal(struct device *dev, @@ -976,7 +976,7 @@ index 000000000000..51eda0980703 +} +/*----------------------------------------------------------------------------*/ +static const struct of_device_id joypad_of_match[] = { -+ { .compatible = "jelos-joypad", }, ++ { .compatible = "rocknix-joypad", }, + {}, +}; + @@ -1015,11 +1015,11 @@ index 000000000000..51eda0980703 +MODULE_ALIAS("platform:" DRV_NAME); + +/*----------------------------------------------------------------------------*/ -diff --git a/drivers/input/joystick/jelos-joypad.h b/drivers/input/joystick/jelos-joypad.h +diff --git a/drivers/input/joystick/rocknix-joypad.h b/drivers/input/joystick/rocknix-joypad.h new file mode 100644 index 000000000000..2c73e9970948 --- /dev/null -+++ b/drivers/input/joystick/jelos-joypad.h ++++ b/drivers/input/joystick/rocknix-joypad.h @@ -0,0 +1,10 @@ +#define SARADC_CH0 0 +#define SARADC_CH1 1 diff --git a/scripts/build b/scripts/build index 4eb8828b1..53248c14e 100755 --- a/scripts/build +++ b/scripts/build @@ -237,18 +237,18 @@ fi # create wrapper scripts in build dir and use them for CC/CXX when # building for host and local-cc build flag is set if [ "${TARGET}" = "host" ] && flag_enabled "local-cc" "no"; then - cat > jelos-local-cc << EOF + cat > ${OSNAME}-local-cc << EOF #!/bin/sh exec ${CC} "\$@" EOF - chmod +x jelos-local-cc - export CC=$(pwd)/jelos-local-cc - cat > jelos-local-cxx << EOF + chmod +x ${OSNAME}-local-cc + export CC=$(pwd)/${OSNAME}-local-cc + cat > ${OSNAME}-local-cxx << EOF #!/bin/sh exec ${CXX} "\$@" EOF - chmod +x jelos-local-cxx - export CXX=$(pwd)/jelos-local-cxx + chmod +x ${OSNAME}-local-cxx + export CXX=$(pwd)/${OSNAME}-local-cxx fi # configure diff --git a/scripts/build_compat b/scripts/build_compat index c36088712..0f752ccbb 100755 --- a/scripts/build_compat +++ b/scripts/build_compat @@ -90,7 +90,7 @@ rm -rf ${INSTALL} rm -rf ${STAMPS_INSTALL} mkdir -p ${INSTALL} -# Create base layout of JELOS read-only file system +# Create base layout of ROCKNIX read-only file system for directory in etc dev proc run sys tmp usr var flash storage; do mkdir -p ${INSTALL}/${directory} done diff --git a/scripts/checkdeps b/scripts/checkdeps index eeafbd7bb..51b5ce6a2 100755 --- a/scripts/checkdeps +++ b/scripts/checkdeps @@ -97,11 +97,11 @@ perl_map=( # Native aarch64 on debian host needs to support rkbin (Rockchip) and aml_encrypt_* (Amlogic) if [ "$(uname -m)" = "aarch64" ] && [ "${PROJECT}" = "Rockchip" -o "${PROJECT}" = "Amlogic" ]; then dep_map[qemu-x86_64]=qemu-user-binfmt - if [ ! -f /lib64/ld-linux-x86-64.so.2 -o ! -f /lib/x86_64-jelos-linux-gnu/libc.so.6 ]; then - echo -e "Copy from a working x86_64 system:\n\t/lib64/ld-linux-x86-64.so.2\n\t/lib/x86_64-jelos-linux-gnu/libc.so.6" + if [ ! -f /lib64/ld-linux-x86-64.so.2 -o ! -f /lib/x86_64-${OSNAME}-linux-gnu/libc.so.6 ]; then + echo -e "Copy from a working x86_64 system:\n\t/lib64/ld-linux-x86-64.so.2\n\t/lib/x86_64-${OSNAME}-linux-gnu/libc.so.6" fi file_map[/lib64/ld-linux-x86-64.so.2]="libc6:amd64" - file_map[/lib/x86_64-jelos-linux-gnu/libc.so.6]="libc6:amd64" + file_map[/lib/x86_64-${OSNAME}-linux-gnu/libc.so.6]="libc6:amd64" fi # remap or add [depend]=package needs based on host distro diff --git a/scripts/clean b/scripts/clean index 481fad783..fdeedcf3d 100755 --- a/scripts/clean +++ b/scripts/clean @@ -16,15 +16,15 @@ clean_package() { # Use a wilcard here to remove all versions of the package for i in "${BUILD}/${1}-"*; do - if [ -d "${i}" -a -f "${i}/.jelos-unpack" ]; then - . "${i}/.jelos-unpack" + if [ -d "${i}" -a -f "${i}/.${OSNAME}-unpack" ]; then + . "${i}/.${OSNAME}-unpack" if [ "${STAMP_PKG_NAME}" = "${1}" ]; then build_msg "CLR_WARNING" "*" "$(print_color "CLR_WARNING_DIM" "Removing ${i} ...")" rm -rf "${i}" fi - elif [ -d "${i}" -a -f "${i}/.jelos-package" ]; then + elif [ -d "${i}" -a -f "${i}/.${OSNAME}-package" ]; then # force clean if no stamp found (previous unpack failed) - . "${i}/.jelos-package" + . "${i}/.${OSNAME}-package" if [ "${INFO_PKG_NAME}" = "${1}" ]; then build_msg "" "" "* Removing ${i} ..." rm -rf "${i}" diff --git a/scripts/genbuildplan.py b/scripts/genbuildplan.py index e29a72474..fab8ac054 100755 --- a/scripts/genbuildplan.py +++ b/scripts/genbuildplan.py @@ -9,7 +9,7 @@ ROOT_PKG = "__root__" -class JELOS_Package: +class ROCKNIX_Package: def __init__(self, name, section): self.name = name self.section = section @@ -130,9 +130,9 @@ def loadPackages(): return map -# Create a fully formed JELOS_Package object +# Create a fully formed ROCKNIX_Package object def initPackage(package): - pkg = JELOS_Package(package["name"], package["section"]) + pkg = ROCKNIX_Package(package["name"], package["section"]) for target in ["bootstrap", "init", "host", "target"]: pkg.addDependencies(target, package[target]) diff --git a/scripts/image b/scripts/image index 8dd71b4a0..726825ba0 100755 --- a/scripts/image +++ b/scripts/image @@ -92,7 +92,7 @@ rm -rf ${INSTALL} rm -rf ${STAMPS_INSTALL} mkdir -p ${INSTALL} -# Create base layout of JELOS read-only file system +# Create base layout of ROCKNIX read-only file system for directory in etc dev proc run sys tmp usr var flash storage; do mkdir -p ${INSTALL}/${directory} done diff --git a/scripts/unpack b/scripts/unpack index d7a671236..386be8d29 100755 --- a/scripts/unpack +++ b/scripts/unpack @@ -28,15 +28,15 @@ if [ -n "${PKG_DEPENDS_UNPACK}" ]; then done fi -STAMP="${PKG_BUILD}/.jelos-unpack" +STAMP="${PKG_BUILD}/.${OSNAME}-unpack" mkdir -p ${BUILD} # Perform a wildcard match on the package to ensure old versions are cleaned too PKG_DEEPHASH= for i in ${BUILD}/${PKG_NAME}-*; do - if [ -d ${i} -a -f "${i}/.jelos-unpack" ] ; then - . "${i}/.jelos-unpack" + if [ -d ${i} -a -f "${i}/.${OSNAME}-unpack" ] ; then + . "${i}/.${OSNAME}-unpack" if [ "${STAMP_PKG_NAME}" = "${PKG_NAME}" ]; then [ -z "${PKG_DEEPHASH}" ] && PKG_DEEPHASH=$(calculate_stamp) if [ ! "${PKG_DEEPHASH}" = "${STAMP_PKG_DEEPHASH}" ] ; then @@ -70,7 +70,7 @@ if [ -d "${SOURCES}/${PKG_NAME}" -o -d "${PKG_DIR}/sources" ] || pkg_call_exists build_msg "CLR_UNPACK" "UNPACK" "${PKG_NAME}" "indent" # unpack into a unique location as unpacking into a single ${BUILD} directory is not thread-safe - PKG_UNPACK_DIR="${BUILD}/.jelos-unpack/${PKG_NAME}" + PKG_UNPACK_DIR="${BUILD}/.${OSNAME}-unpack/${PKG_NAME}" rm -rf "${PKG_UNPACK_DIR}" mkdir -p "${PKG_UNPACK_DIR}" @@ -111,7 +111,7 @@ if [ -d "${SOURCES}/${PKG_NAME}" -o -d "${PKG_DIR}/sources" ] || pkg_call_exists fi # Add a tag to the unpacked folder before transferring into the shared build folder - echo "INFO_PKG_NAME=\"${PKG_NAME}\"" > "${PKG_UNPACK_DIR}/.intermediate/.jelos-package" + echo "INFO_PKG_NAME=\"${PKG_NAME}\"" > "${PKG_UNPACK_DIR}/.intermediate/.${OSNAME}-package" # Restore original PKG_BUILD, and transfer the unpacked folder PKG_BUILD="${PKG_BUILD_ORIG}" @@ -209,7 +209,7 @@ fi if [ "${PKG_SECTION}" != "virtual" ]; then mkdir -p "${PKG_BUILD}" - echo "INFO_PKG_NAME=\"${PKG_NAME}\"" > "${PKG_BUILD}/.jelos-package" + echo "INFO_PKG_NAME=\"${PKG_NAME}\"" > "${PKG_BUILD}/.${OSNAME}-package" rm -f ${STAMPS}/${PKG_NAME}/build_* diff --git a/scripts/update_packages b/scripts/update_packages index e54516310..fd9c9ef90 100755 --- a/scripts/update_packages +++ b/scripts/update_packages @@ -4,7 +4,7 @@ # Based on work by ToKe79 and Shanti Gilbert -OPTIONS="distributions/JELOS/options" +OPTIONS="distributions/${DISTRONAME}/options" PACKAGES=("packages/virtual/emulators/package.mk" \ "packages/virtual/es-themes/package.mk" \ "packages/virtual/gamesupport/package.mk" ) diff --git a/templates/HEADER.md b/templates/HEADER.md index 16ec51653..6863a0584 100644 --- a/templates/HEADER.md +++ b/templates/HEADER.md @@ -1,2 +1,2 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) +        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) # From 59db354a9eadf54b66b487a08a68eababe27092a Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Fri, 22 Mar 2024 20:07:54 +0000 Subject: [PATCH 04/77] Sync with changes --- packages/compat/box86/package.mk | 22 ++++- packages/compat/wine/package.mk | 31 +++++++ .../drastic-sa/config/RK3326/drastic.cfg.ogs | 32 +++---- .../drastic-sa/config/RK3588/drastic.cfg | 32 +++---- .../standalone/drastic-sa/package.mk | 10 ++- .../drastic-sa/scripts/start_drastic.sh | 1 + .../mappings/SDL_GameForce ACE Gamepad.cfg | 32 +++++++ .../standalone/flycast-sa/package.mk | 2 +- .../melonds-sa/config/RK3588/melonDS.ini | 22 ++--- .../standalone/melonds-sa/config/melonDS.gptk | 31 +++++++ .../standalone/melonds-sa/package.mk | 28 +++++- .../melonds-sa/scripts/start_melonds.sh | 56 ++++++++++++ .../config/RK3588/mupen64plus.cfg | 4 +- .../config/RK3588/default.ini | 2 +- .../config/gamecontrollerdb.txt | 4 +- .../devices/GameForce ACE/030-suspend_mode | 3 - packages/kernel/linux/package.mk | 2 +- packages/rocknix/sources/scripts/rocknix-info | 15 ++-- .../config/common/es_features.cfg | 33 ++++++- .../config/common/es_input.cfg | 52 +++++------ packages/ui/emulationstation/package.mk | 2 +- packages/x11/lib/libXdmcp/package.mk | 16 ++++ projects/Rockchip/packages/u-boot/package.mk | 2 +- .../linux/RK3399/003-singleadc-joypad.patch | 16 ++++ .../999-drm-do-not-round-to-megabytes.patch | 52 ----------- .../linux/RK3588/000-gameforce-ace.patch | 88 +++++++++---------- .../linux/RK3588/006-joypad-driver.patch | 26 +++--- .../patches/linux/RK3588/009-fix-sleep.patch | 47 ++++++++++ 28 files changed, 454 insertions(+), 209 deletions(-) create mode 100644 packages/compat/wine/package.mk create mode 100644 packages/emulators/standalone/flycast-sa/config/RK3588/mappings/SDL_GameForce ACE Gamepad.cfg create mode 100644 packages/emulators/standalone/melonds-sa/config/melonDS.gptk create mode 100644 packages/x11/lib/libXdmcp/package.mk delete mode 100644 projects/Rockchip/patches/linux/RK3399/999-drm-do-not-round-to-megabytes.patch create mode 100644 projects/Rockchip/patches/linux/RK3588/009-fix-sleep.patch diff --git a/packages/compat/box86/package.mk b/packages/compat/box86/package.mk index 975c314dc..9e650f0f1 100644 --- a/packages/compat/box86/package.mk +++ b/packages/compat/box86/package.mk @@ -2,12 +2,12 @@ # Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) PKG_NAME="box86" -PKG_VERSION="57c1ed71187b52a3480c9cbbb741d02307ccb14c" +PKG_VERSION="266392e315bb5e7827928512c930e04448f137d1" PKG_ARCH="arm aarch64" PKG_LICENSE="MIT" PKG_SITE="https://github.com/ptitSeb/box86" PKG_URL="${PKG_SITE}.git" -PKG_DEPENDS_TARGET="toolchain ncurses SDL_sound" +PKG_DEPENDS_TARGET="toolchain ncurses SDL_sound wine" PKG_LONGDESC="Box86 lets you run x86 Linux programs (such as games) on non-x86 Linux systems, like ARM." PKG_TOOLCHAIN="cmake" @@ -15,7 +15,8 @@ if [ "${OPENGL}" = "no" ]; then PKG_DEPENDS_TARGET+=" gl4es" fi -PKG_CMAKE_OPTS_TARGET+=" -DCMAKE_BUILD_TYPE=Release" +PKG_CMAKE_OPTS_TARGET+=" -DCMAKE_BUILD_TYPE=Release \ + -DARM_DYNAREC=On" case ${TARGET_ARCH} in aarch64) @@ -25,6 +26,21 @@ case ${TARGET_ARCH} in ;; esac +case ${DEVICE} in + RK3588) + PKG_CMAKE_OPTS_TARGET+=" -DRK3588=On" + ;; + RK3399) + PKG_CMAKE_OPTS_TARGET+=" -DRK3399=On" + ;; + RK3326) + PKG_CMAKE_OPTS_TARGET+=" -DGOA_CLONE=On" + ;; + S922X) + PKG_CMAKE_OPTS_TARGET+=" -DODROIDN2=On" + ;; +esac + makeinstall_target() { case ${TARGET_ARCH} in arm) diff --git a/packages/compat/wine/package.mk b/packages/compat/wine/package.mk new file mode 100644 index 000000000..ee7e88f22 --- /dev/null +++ b/packages/compat/wine/package.mk @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2024-present JELOS (https://github.com/JustEnoughLinuxOS) + +PKG_NAME="wine" +PKG_VERSION="9.4" +PKG_LICENSE="MIT" +PKG_SITE="https://github.com/Kron4ek/Wine-Builds" +PKG_URL="${PKG_SITE}/releases/download/${PKG_VERSION}/wine-${PKG_VERSION}-x86.tar.xz" +PKG_DEPENDS_TARGET="toolchain libXcomposite libXdmcp cups" +PKG_LONGDESC="Wine is a compatibility layer capable of running Windows applications" +PKG_TOOLCHAIN="manual" +PKG_WINE_TRICKS="https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks" + +unpack() { + mkdir -p ${PKG_BUILD} + tar --strip-components=1 -xf ${SOURCES}/${PKG_NAME}/${PKG_NAME}-${PKG_VERSION}.tar.xz -C ${PKG_BUILD} +} + +makeinstall_target() { + mkdir -p ${INSTALL}/usr/bin + mkdir -p ${INSTALL}/usr/lib + mkdir -p ${INSTALL}/usr/share + + cp -rf ${PKG_BUILD}/bin/* ${INSTALL}/usr/bin + cp -rf ${PKG_BUILD}/lib/* ${INSTALL}/usr/lib + cp -rf ${PKG_BUILD}/share/* ${INSTALL}/usr/share + + curl -Lo ${INSTALL}/usr/bin/winetricks ${PKG_WINE_TRICKS} + + chmod +x ${INSTALL}/usr/bin/* +} diff --git a/packages/emulators/standalone/drastic-sa/config/RK3326/drastic.cfg.ogs b/packages/emulators/standalone/drastic-sa/config/RK3326/drastic.cfg.ogs index 60d825e5f..7ee2ee6ca 100644 --- a/packages/emulators/standalone/drastic-sa/config/RK3326/drastic.cfg.ogs +++ b/packages/emulators/standalone/drastic-sa/config/RK3326/drastic.cfg.ogs @@ -2,7 +2,7 @@ frameskip_type = 2 frameskip_value = 4 safe_frameskip = 0 show_frame_counter = 0 -screen_orientation = 1 +screen_orientation = 0 screen_swap = 0 savestate_number = 0 fast_forward = 0 @@ -33,38 +33,38 @@ firmware.favorite_color = 0 firmware.birthday_month = 1 firmware.birthday_day = 1 enable_cheats = 1 -controls_a[CONTROL_INDEX_UP] = 1032 -controls_a[CONTROL_INDEX_DOWN] = 1033 -controls_a[CONTROL_INDEX_LEFT] = 1034 -controls_a[CONTROL_INDEX_RIGHT] = 1035 +controls_a[CONTROL_INDEX_UP] = 1036 +controls_a[CONTROL_INDEX_DOWN] = 1037 +controls_a[CONTROL_INDEX_LEFT] = 1038 +controls_a[CONTROL_INDEX_RIGHT] = 1039 controls_a[CONTROL_INDEX_A] = 1025 controls_a[CONTROL_INDEX_B] = 1024 controls_a[CONTROL_INDEX_X] = 1026 controls_a[CONTROL_INDEX_Y] = 1027 controls_a[CONTROL_INDEX_L] = 1028 controls_a[CONTROL_INDEX_R] = 1029 -controls_a[CONTROL_INDEX_START] = 1037 -controls_a[CONTROL_INDEX_SELECT] = 1036 +controls_a[CONTROL_INDEX_START] = 1033 +controls_a[CONTROL_INDEX_SELECT] = 1032 controls_a[CONTROL_INDEX_HINGE] = 65535 controls_a[CONTROL_INDEX_TOUCH_CURSOR_UP] = 1219 controls_a[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 1155 controls_a[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 1218 controls_a[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 1154 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 1040 -controls_a[CONTROL_INDEX_MENU] = 1038 +controls_a[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 1035 +controls_a[CONTROL_INDEX_MENU] = 1040 controls_a[CONTROL_INDEX_SAVE_STATE] = 1031 controls_a[CONTROL_INDEX_LOAD_STATE] = 1030 controls_a[CONTROL_INDEX_FAST_FORWARD] = 65535 controls_a[CONTROL_INDEX_SWAP_SCREENS] = 65535 -controls_a[CONTROL_INDEX_SWAP_ORIENTATION_A] = 1039 +controls_a[CONTROL_INDEX_SWAP_ORIENTATION_A] = 1034 controls_a[CONTROL_INDEX_SWAP_ORIENTATION_B] = 1041 controls_a[CONTROL_INDEX_LOAD_GAME] = 65535 controls_a[CONTROL_INDEX_QUIT] = 65535 controls_a[CONTROL_INDEX_FAKE_MICROPHONE] = 65535 -controls_a[CONTROL_INDEX_UI_UP] = 1032 -controls_a[CONTROL_INDEX_UI_DOWN] = 1033 -controls_a[CONTROL_INDEX_UI_LEFT] = 1034 -controls_a[CONTROL_INDEX_UI_RIGHT] = 1035 +controls_a[CONTROL_INDEX_UI_UP] = 1036 +controls_a[CONTROL_INDEX_UI_DOWN] = 1037 +controls_a[CONTROL_INDEX_UI_LEFT] = 1038 +controls_a[CONTROL_INDEX_UI_RIGHT] = 1039 controls_a[CONTROL_INDEX_UI_SELECT] = 1025 controls_a[CONTROL_INDEX_UI_BACK] = 1026 controls_a[CONTROL_INDEX_UI_EXIT] = 1024 @@ -103,9 +103,9 @@ controls_b[CONTROL_INDEX_UI_UP] = 1217 controls_b[CONTROL_INDEX_UI_DOWN] = 1153 controls_b[CONTROL_INDEX_UI_LEFT] = 1216 controls_b[CONTROL_INDEX_UI_RIGHT] = 1152 -controls_b[CONTROL_INDEX_UI_SELECT] = 1037 +controls_b[CONTROL_INDEX_UI_SELECT] = 1033 controls_b[CONTROL_INDEX_UI_BACK] = 65535 -controls_b[CONTROL_INDEX_UI_EXIT] = 1036 +controls_b[CONTROL_INDEX_UI_EXIT] = 1032 controls_b[CONTROL_INDEX_UI_PAGE_UP] = 65535 controls_b[CONTROL_INDEX_UI_PAGE_DOWN] = 65535 controls_b[CONTROL_INDEX_UI_SWITCH] = 65535 diff --git a/packages/emulators/standalone/drastic-sa/config/RK3588/drastic.cfg b/packages/emulators/standalone/drastic-sa/config/RK3588/drastic.cfg index da262a732..f1f0fae6e 100644 --- a/packages/emulators/standalone/drastic-sa/config/RK3588/drastic.cfg +++ b/packages/emulators/standalone/drastic-sa/config/RK3588/drastic.cfg @@ -2,7 +2,7 @@ frameskip_type = 0 frameskip_value = 4 safe_frameskip = 0 show_frame_counter = 0 -screen_orientation = 0 +screen_orientation = 1 screen_swap = 0 savestate_number = 0 fast_forward = 0 @@ -41,8 +41,8 @@ controls_a[CONTROL_INDEX_A] = 32 controls_a[CONTROL_INDEX_B] = 480 controls_a[CONTROL_INDEX_X] = 122 controls_a[CONTROL_INDEX_Y] = 120 -controls_a[CONTROL_INDEX_L] = 481 -controls_a[CONTROL_INDEX_R] = 99 +controls_a[CONTROL_INDEX_L] = 113 +controls_a[CONTROL_INDEX_R] = 111 controls_a[CONTROL_INDEX_START] = 13 controls_a[CONTROL_INDEX_SELECT] = 485 controls_a[CONTROL_INDEX_HINGE] = 104 @@ -51,13 +51,13 @@ controls_a[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 65535 controls_a[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 65535 controls_a[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 65535 controls_a[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 65535 -controls_a[CONTROL_INDEX_MENU] = 109 -controls_a[CONTROL_INDEX_SAVE_STATE] = 318 -controls_a[CONTROL_INDEX_LOAD_STATE] = 320 -controls_a[CONTROL_INDEX_FAST_FORWARD] = 8 -controls_a[CONTROL_INDEX_SWAP_SCREENS] = 115 -controls_a[CONTROL_INDEX_SWAP_ORIENTATION_A] = 111 -controls_a[CONTROL_INDEX_SWAP_ORIENTATION_B] = 113 +controls_a[CONTROL_INDEX_MENU] = 27 +controls_a[CONTROL_INDEX_SAVE_STATE] = 115 +controls_a[CONTROL_INDEX_LOAD_STATE] = 108 +controls_a[CONTROL_INDEX_FAST_FORWARD] = 116 +controls_a[CONTROL_INDEX_SWAP_SCREENS] = 109 +controls_a[CONTROL_INDEX_SWAP_ORIENTATION_A] = 1026 +controls_a[CONTROL_INDEX_SWAP_ORIENTATION_B] = 65535 controls_a[CONTROL_INDEX_LOAD_GAME] = 65535 controls_a[CONTROL_INDEX_QUIT] = 65535 controls_a[CONTROL_INDEX_FAKE_MICROPHONE] = 65535 @@ -89,7 +89,7 @@ controls_b[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 1156 controls_b[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 1219 controls_b[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 1155 controls_b[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 1035 -controls_b[CONTROL_INDEX_MENU] = 1034 +controls_b[CONTROL_INDEX_MENU] = 120 controls_b[CONTROL_INDEX_SAVE_STATE] = 65535 controls_b[CONTROL_INDEX_LOAD_STATE] = 65535 controls_b[CONTROL_INDEX_FAST_FORWARD] = 65535 @@ -104,8 +104,8 @@ controls_b[CONTROL_INDEX_UI_DOWN] = 1037 controls_b[CONTROL_INDEX_UI_LEFT] = 1038 controls_b[CONTROL_INDEX_UI_RIGHT] = 1039 controls_b[CONTROL_INDEX_UI_SELECT] = 1025 -controls_b[CONTROL_INDEX_UI_BACK] = 1152 -controls_b[CONTROL_INDEX_UI_EXIT] = 1032 -controls_b[CONTROL_INDEX_UI_PAGE_UP] = 1216 -controls_b[CONTROL_INDEX_UI_PAGE_DOWN] = 1217 -controls_b[CONTROL_INDEX_UI_SWITCH] = 1153 +controls_b[CONTROL_INDEX_UI_BACK] = 1027 +controls_b[CONTROL_INDEX_UI_EXIT] = 1024 +controls_b[CONTROL_INDEX_UI_PAGE_UP] = 1152 +controls_b[CONTROL_INDEX_UI_PAGE_DOWN] = 1216 +controls_b[CONTROL_INDEX_UI_SWITCH] = 1026 diff --git a/packages/emulators/standalone/drastic-sa/package.mk b/packages/emulators/standalone/drastic-sa/package.mk index da7cdb22e..f834ed03b 100644 --- a/packages/emulators/standalone/drastic-sa/package.mk +++ b/packages/emulators/standalone/drastic-sa/package.mk @@ -5,7 +5,7 @@ PKG_NAME="drastic-sa" PKG_VERSION="1.0" PKG_LICENSE="Proprietary:DRASTIC.pdf" PKG_ARCH="aarch64" -PKG_URL="https://github.com/ROCKNIX/packages/raw/main/drastic.tar.gz" +PKG_URL="https://github.com/r3claimer/JelosAddOns/raw/main/drastic.tar.gz" PKG_DEPENDS_TARGET="toolchain" PKG_LONGDESC="Install Drastic Launcher script, will dowload bin on first run" PKG_TOOLCHAIN="make" @@ -33,11 +33,19 @@ post_install() { case ${DEVICE} in S922X) LIBEGL="export SDL_VIDEO_GL_DRIVER=\/usr\/lib\/egl\/libGL.so.1 SDL_VIDEO_EGL_DRIVER=\/usr\/lib\/egl\/libEGL.so.1" + HOTKEY="" + ;; + RK3588) + LIBEGL="" + HOTKEY="export HOTKEY="guide"" ;; *) LIBEGL="" + HOTKEY="" ;; esac sed -e "s/@LIBEGL@/${LIBEGL}/g" \ -i ${INSTALL}/usr/bin/start_drastic.sh + sed -e "s/@HOTKEY@/${HOTKEY}/g" \ + -i ${INSTALL}/usr/bin/start_drastic.sh } diff --git a/packages/emulators/standalone/drastic-sa/scripts/start_drastic.sh b/packages/emulators/standalone/drastic-sa/scripts/start_drastic.sh index 23806ae57..d34b23847 100644 --- a/packages/emulators/standalone/drastic-sa/scripts/start_drastic.sh +++ b/packages/emulators/standalone/drastic-sa/scripts/start_drastic.sh @@ -50,6 +50,7 @@ rm -rf /storage/.config/drastic/backup ln -sf /storage/roms/nds /storage/.config/drastic/backup cd /storage/.config/drastic/ +@HOTKEY@ @LIBEGL@ $GPTOKEYB "drastic" -c "drastic.gptk" & ./drastic "$1" diff --git a/packages/emulators/standalone/flycast-sa/config/RK3588/mappings/SDL_GameForce ACE Gamepad.cfg b/packages/emulators/standalone/flycast-sa/config/RK3588/mappings/SDL_GameForce ACE Gamepad.cfg new file mode 100644 index 000000000..5dc23a335 --- /dev/null +++ b/packages/emulators/standalone/flycast-sa/config/RK3588/mappings/SDL_GameForce ACE Gamepad.cfg @@ -0,0 +1,32 @@ +[analog] +bind0 = 0-:btn_analog_down +bind1 = 0+:btn_analog_up +bind2 = 1-:btn_analog_left +bind3 = 1+:btn_analog_right +bind4 = 2+:btn_trigger_left +bind5 = 3-:axis2_left +bind6 = 3+:axis2_right +bind7 = 4-:axis2_up +bind8 = 4+:axis2_down +bind9 = 5+:btn_trigger_right + +[digital] +bind0 = 0:btn_a +bind1 = 1:btn_b +bind10 = 14:btn_dpad1_left +bind11 = 15:btn_dpad1_right +bind2 = 3:btn_y +bind3 = 4:btn_x +bind4 = 5:btn_z +bind5 = 6:btn_c +bind6 = 9:btn_menu +bind7 = 8:btn_start +bind8 = 12:btn_dpad1_up +bind9 = 13:btn_dpad1_down + +[emulator] +dead_zone = 10 +mapping_name = GameForce ACE Gamepad +rumble_power = 100 +saturation = 100 +version = 3 diff --git a/packages/emulators/standalone/flycast-sa/package.mk b/packages/emulators/standalone/flycast-sa/package.mk index 51cd92aa2..85781f211 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="c7ee42f0ba16623cab44678a586c248d068933f7" +PKG_VERSION="40cdef6c1c9bd73bf3a55d412e30c25bbcf2b59c" PKG_LICENSE="GPLv2" PKG_SITE="https://github.com/flyinghead/flycast" PKG_URL="${PKG_SITE}.git" diff --git a/packages/emulators/standalone/melonds-sa/config/RK3588/melonDS.ini b/packages/emulators/standalone/melonds-sa/config/RK3588/melonDS.ini index 18e80df81..8ebf639a1 100644 --- a/packages/emulators/standalone/melonds-sa/config/RK3588/melonDS.ini +++ b/packages/emulators/standalone/melonds-sa/config/RK3588/melonDS.ini @@ -18,15 +18,15 @@ Joy_Right=16842767 Joy_Left=17891342 Joy_Up=65548 Joy_Down=1114125 -Joy_R=86114303 -Joy_L=35782655 +Joy_R=85065727 +Joy_L=34734079 Joy_X=3 Joy_Y=4 HKKey_Lid=-1 -HKKey_Mic=-1 +HKKey_Mic=77 HKKey_Pause=-1 HKKey_Reset=-1 -HKKey_FastForward=-1 +HKKey_FastForward=70 HKKey_FastForwardToggle=-1 HKKey_FullscreenToggle=-1 HKKey_SwapScreens=-1 @@ -37,25 +37,25 @@ HKKey_FrameStep=-1 HKKey_PowerButton=-1 HKKey_VolumeUp=-1 HKKey_VolumeDown=-1 -HKKey_SaveState=-1 -HKKey_LoadState=-1 +HKKey_SaveState=83 +HKKey_LoadState=76 HKJoy_Lid=-1 -HKJoy_Mic=10 +HKJoy_Mic=-1 HKJoy_Pause=-1 HKJoy_Reset=-1 HKJoy_FastForward=-1 HKJoy_FastForwardToggle=-1 HKJoy_FullscreenToggle=-1 -HKJoy_SwapScreens=9 -HKJoy_SwapScreenEmphasis=2 +HKJoy_SwapScreens=2 +HKJoy_SwapScreenEmphasis=-1 HKJoy_SolarSensorDecrease=-1 HKJoy_SolarSensorIncrease=-1 HKJoy_FrameStep=-1 HKJoy_PowerButton=-1 HKJoy_VolumeUp=-1 HKJoy_VolumeDown=-1 -HKJoy_SaveState=6 -HKJoy_LoadState=5 +HKJoy_SaveState=-1 +HKJoy_LoadState=-1 JoystickID=0 WindowWidth=1920 WindowHeight=1080 diff --git a/packages/emulators/standalone/melonds-sa/config/melonDS.gptk b/packages/emulators/standalone/melonds-sa/config/melonDS.gptk new file mode 100644 index 000000000..a9253ebf6 --- /dev/null +++ b/packages/emulators/standalone/melonds-sa/config/melonDS.gptk @@ -0,0 +1,31 @@ +back = \\ +start = \\ +a = \\ +b = \\ +x = \\ +y = \\ +l1 = \\ +l1_hk = l +l2 = \\ +l2_hk = m +l3 = \\ +r1 = \\ +r1_hk = s +r2 = \\ +r2_hk = f +r3 = mouse_left +up = \\ +down = \\ +left = \\ +right = \\ +left_analog_up = \\ +left_analog_down = \\ +left_analog_left = \\ +left_analog_right = \\ +right_analog_up = mouse_movement_up +right_analog_down = mouse_movement_down +right_analog_left = mouse_movement_left +right_analog_right = mouse_movement_right +deadzone_triggers = 3000 +mouse_scale = 6128 +mouse_delay = 16 diff --git a/packages/emulators/standalone/melonds-sa/package.mk b/packages/emulators/standalone/melonds-sa/package.mk index 0519c718f..90866591a 100644 --- a/packages/emulators/standalone/melonds-sa/package.mk +++ b/packages/emulators/standalone/melonds-sa/package.mk @@ -5,7 +5,7 @@ PKG_NAME="melonds-sa" PKG_LICENSE="GPLv3" PKG_SITE="https://github.com/melonDS-emu/melonDS" PKG_URL="${PKG_SITE}.git" -PKG_DEPENDS_TARGET="SDL2 qt5 libslirp libepoxy libarchive ecm libpcap" +PKG_DEPENDS_TARGET="SDL2 qt5 libslirp libepoxy libarchive ecm libpcap control-gen" PKG_LONGDESC="DS emulator, sorta. The goal is to do things right and fast" PKG_TOOLCHAIN="cmake" @@ -20,7 +20,7 @@ case ${DEVICE} in ;; esac -if [ ! "${OPENGL}" = "no" ]; then +if [ "${OPENGL_SUPPORT}" = "yes" ]; then PKG_DEPENDS_TARGET+=" ${OPENGL} glu libglvnd" fi @@ -48,7 +48,31 @@ makeinstall_target() { mkdir -p ${INSTALL}/usr/config/melonDS cp -rf ${PKG_DIR}/config/${DEVICE}/* ${INSTALL}/usr/config/melonDS + cp -rf ${PKG_DIR}/config/melonDS.gptk ${INSTALL}/usr/config/melonDS cp -rf ${PKG_DIR}/scripts/* ${INSTALL}/usr/bin chmod +x ${INSTALL}/usr/bin/start_melonds.sh } + +post_install() { + case ${TARGET_ARCH} in + aarch64) + PANFROST="export MESA_GL_VERSION_OVERRIDE=3.3" + ;; + *) + PANFROST="" + ;; + esac + sed -e "s/@PANFROST@/${PANFROST}/g" \ + -i ${INSTALL}/usr/bin/start_melonds.sh + case ${DEVICE} in + RK3588) + HOTKEY="export HOTKEY="guide"" + ;; + *) + HOTKEY="" + ;; + esac + sed -e "s/@HOTKEY@/${HOTKEY}/g" \ + -i ${INSTALL}/usr/bin/start_melonds.sh +} diff --git a/packages/emulators/standalone/melonds-sa/scripts/start_melonds.sh b/packages/emulators/standalone/melonds-sa/scripts/start_melonds.sh index 3613e246f..a2b1b10ff 100644 --- a/packages/emulators/standalone/melonds-sa/scripts/start_melonds.sh +++ b/packages/emulators/standalone/melonds-sa/scripts/start_melonds.sh @@ -7,6 +7,11 @@ set_kill set "-9 melonDS" +#load gptokeyb support files +control-gen_init.sh +source /storage/.config/gptokeyb/control.ini +get_controls + if [ ! -d "/storage/.config/melonDS" ]; then mkdir -p "/storage/.config/melonDS" cp -r "/usr/config/melonDS" "/storage/.config/" @@ -16,9 +21,19 @@ if [ ! -d "/storage/roms/savestates/nds" ]; then mkdir -p "/storage/roms/savestates/nds" fi +#Make sure melonDS gptk config exists +if [ ! -f "/storage/.config/melonDS/melonDS.gptk" ]; then + cp -r "/usr/config/melonDS/melonDS.gptk" "/storage/.config/melonDS/melonDS.gptk" +fi + #Emulation Station Features GAME=$(echo "${1}"| sed "s#^/.*/##") GRENDERER=$(get_setting graphics_backend nds "${GAME}") + SORIENTATION=$(get_setting screen_orientation nds "${GAME}") + SLAYOUT=$(get_setting screen_layout nds "${GAME}") + SWAP=$(get_setting screen_swap nds "${GAME}") + SROTATION=$(get_setting screen_rotation nds "${GAME}") + SHOWFPS=$(get_setting show_fps nds "${GAME}") SUI=$(get_setting start_ui nds "${GAME}") VSYNC=$(get_setting vsync nds "${GAME}") @@ -32,6 +47,38 @@ fi sed -i '/^ScreenUseGL=/c\ScreenUseGL=1' /storage/.config/melonDS/melonDS.ini fi + #Screen Orientation + if [ "$SORIENTATION" > "0" ] + then + sed -i "/^ScreenLayout=/c\ScreenLayout=$SORIENTATION" /storage/.config/melonDS/melonDS.ini + else + sed -i '/^ScreenLayout=/c\ScreenLayout=2' /storage/.config/melonDS/melonDS.ini + fi + + #Screen Layout + if [ "$SLAYOUT" > "0" ] + then + sed -i "/^ScreenSizing=/c\ScreenSizing=$SLAYOUT" /storage/.config/melonDS/melonDS.ini + else + sed -i '/^ScreenSizing=/c\ScreenSizing=0' /storage/.config/melonDS/melonDS.ini + fi + + #Screen Swap + if [ "$SWAP" = "1" ] + then + sed -i '/^ScreenSwap=/c\ScreenSwap=1' /storage/.config/melonDS/melonDS.ini + else + sed -i '/^ScreenSwap=/c\ScreenSwap=0' /storage/.config/melonDS/melonDS.ini + fi + + #Screen Rotation + if [ "$SROTATION" > "0" ] + then + sed -i "/^ScreenRotation=/c\ScreenRotation=$SROTATION" /storage/.config/melonDS/melonDS.ini + else + sed -i '/^ScreenRotation=/c\ScreenRotation=0' /storage/.config/melonDS/melonDS.ini + fi + #Vsync if [ "$VSYNC" = "0" ] then @@ -42,13 +89,22 @@ fi sed -i '/^ScreenVSync=/c\ScreenVSync=1' /storage/.config/melonDS/melonDS.ini fi + #Show FPS + if [ "$SHOWFPS" = "1" ] + then + export GALLIUM_HUD="simple,fps" + fi + #Set QT Platform to Wayland export QT_QPA_PLATFORM=wayland + @PANFROST@ + @HOTKEY@ #Run MelonDS emulator if [ "$SUI" = "1" ] then /usr/bin/melonDS else + $GPTOKEYB "melonDS" -c "/storage/.config/melonDS/melonDS.gptk" & /usr/bin/melonDS -f "${1}" fi diff --git a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-core/config/RK3588/mupen64plus.cfg b/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-core/config/RK3588/mupen64plus.cfg index dc55f23be..6fc04b616 100644 --- a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-core/config/RK3588/mupen64plus.cfg +++ b/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-core/config/RK3588/mupen64plus.cfg @@ -136,7 +136,7 @@ Joy Mapping Increase Volume = "" # Joystick event string for decreasing the volume Joy Mapping Decrease Volume = "" # Joystick event string for fast-forward -Joy Mapping Fast Forward = "J0B8/B7" +Joy Mapping Fast Forward = "J0B9/B2" # Joystick event string for advancing by one frame when paused Joy Mapping Frame Advance = "" # Joystick event string for pressing the game shark button @@ -204,7 +204,7 @@ Mempak switch = Rumblepak switch = # Analog axis configuration mappings X Axis = axis(1-,1+) -Y Axis = axis(0-,0+) +Y Axis = axis(0+,01) [Input-SDL-Control2] diff --git a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3588/default.ini b/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3588/default.ini index 965acd691..9ad644610 100644 --- a/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3588/default.ini +++ b/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3588/default.ini @@ -22,4 +22,4 @@ Mempak switch = Rumblepak switch = # Analog axis configuration mappings X Axis = axis(1-,1+) -Y Axis = axis(0-,0+) +Y Axis = axis(0+,0-) diff --git a/packages/emulators/tools/gamecontrollerdb/config/gamecontrollerdb.txt b/packages/emulators/tools/gamecontrollerdb/config/gamecontrollerdb.txt index 28d8dda18..f4707042b 100644 --- a/packages/emulators/tools/gamecontrollerdb/config/gamecontrollerdb.txt +++ b/packages/emulators/tools/gamecontrollerdb/config/gamecontrollerdb.txt @@ -3,7 +3,6 @@ 03002758091200000031000011010000,OpenSimHardware OSH PB Controller,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b7,start:b6,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b10,rightshoulder:b5,righttrigger:b11,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3, 19000226010000000100000001010000,odroidgo2_joypad,platform:Linux,x:b2,a:b1,b:b0,y:b3,back:b10,start:b13,dpleft:b8,dpdown:b7,dpright:b9,dpup:b6,leftshoulder:b4,lefttrigger:b11,rightshoulder:b5,righttrigger:b12,leftx:a0,lefty:a1, 1900dea8010000000200000001010000,odroidgo2_v11_joypad,platform:Linux,x:b2,a:b1,b:b0,y:b3,back:b8,start:b9,dpleft:b14,dpdown:b13,dpright:b15,dpup:b12,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1, -1900c3ea010000000100000001010000,odroidgo3_joypad,platform:Linux,x:b2,a:b1,b:b0,y:b3,back:b12,start:b13,dpleft:b10,dpdown:b9,dpright:b11,dpup:b8,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b15,rightstick:b16,leftx:a0,lefty:a1,rightx:a2,righty:a3, 19009b4d4b4800000111000000020000,retrogame_joypad,platform:Linux,x:b2,a:b1,b:b0,y:b3,back:b8,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a2,righty:a3, 19009b4d4b4800000111000000010000,retrogame_joypad,platform:Linux,x:b2,a:b1,b:b0,y:b3,back:b8,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a2,righty:a3, 0300fcb7341200007856000000000000,JELOS Gamepad,platform:Linux,x:b2,a:b1,b:b0,y:b3,back:b8,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4, @@ -11,4 +10,5 @@ 190014b3010000009178000000050000,r33s_joypad,platform:Linux,x:b2,a:b1,b:b0,y:b3,back:b8,start:b9,dpleft:b12,dpdown:b11,dpright:b13,dpup:b10,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7, 1900e5914b4800007711000077010000,RGB20S Gamepad,platform:Linux,x:b2,a:b1,b:b0,y:b3,back:b12,start:b13,dpleft:b10,dpdown:b9,dpright:b11,dpup:b8,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b14,rightstick:b15,leftx:a0,lefty:a1,rightx:a2,righty:a3, 1900e7444b4800000111000034020000,rg552_joypad,platform:Linux,x:b2,a:b1,b:b0,y:b3,back:b8,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a2,righty:a3, -03001a3447616d65466f726365204100,GameForce ACE Gamepad,a:b1,b:b0,dpdown:b13,dpleft:b14,+lefty:-a1,-leftx:-a0,+leftx:+a0,-lefty:+a1,leftshoulder:b5,leftstick:b10,lefttrigger:-a2,dpright:b15,+righty:+a4,-rightx:-a3,+rightx:+a3,-righty:-a4,rightshoulder:b6,rightstick:b11,righttrigger:-a5,back:b7,start:b8,dpup:b12,x:b3,y:b4,platform:Linux, +03001a3447616d65466f726365204100,GameForce ACE Gamepad,a:b1,b:b0,dpdown:b13,dpleft:b14,+lefty:-a1,-leftx:-a0,+leftx:+a0,-lefty:+a1,leftshoulder:b5,leftstick:b10,lefttrigger:-a2,dpright:b15,+righty:+a4,-rightx:-a3,+rightx:+a3,-righty:-a4,rightshoulder:b6,rightstick:b11,righttrigger:-a5,back:b7,guide:b9,start:b8,dpup:b12,x:b3,y:b4,platform:Linux, +1900c3ea010000000100000001010000,odroidgo3_joypad,a:b1,b:b0,dpdown:b13,dpleft:b14,+lefty:+a1,-leftx:-a0,+leftx:+a0,-lefty:-a1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,dpright:b15,+righty:+a3,-rightx:-a2,+rightx:+a2,-righty:-a3,rightshoulder:b5,rightstick:b11,righttrigger:b7,back:b8,start:b9,dpup:b12,x:b2,y:b3,platform:Linux, diff --git a/packages/hardware/quirks/devices/GameForce ACE/030-suspend_mode b/packages/hardware/quirks/devices/GameForce ACE/030-suspend_mode index 523d9736b..e2de62053 100755 --- a/packages/hardware/quirks/devices/GameForce ACE/030-suspend_mode +++ b/packages/hardware/quirks/devices/GameForce ACE/030-suspend_mode @@ -9,6 +9,3 @@ if [ -z "${MYSLEEPMODE}" ] then /usr/bin/suspendmode mem fi - -echo s2idle >/sys/power/mem_sleep - diff --git a/packages/kernel/linux/package.mk b/packages/kernel/linux/package.mk index 73ba1d711..765080ce6 100644 --- a/packages/kernel/linux/package.mk +++ b/packages/kernel/linux/package.mk @@ -16,7 +16,7 @@ PKG_PATCH_DIRS="${LINUX} ${DEVICE} default" case ${DEVICE} in RK3588*) - PKG_VERSION="8f20ea790638c80f3913b0e66d90800591a824c3" + PKG_VERSION="494c0a303537c55971421b5552d98eb55e652cf3" PKG_URL="https://github.com/armbian/linux-rockchip/archive/${PKG_VERSION}.tar.gz" PKG_GIT_CLONE_BRANCH="rk-5.10-rkr6" ;; diff --git a/packages/rocknix/sources/scripts/rocknix-info b/packages/rocknix/sources/scripts/rocknix-info index c01d6f5d7..75e0ae905 100755 --- a/packages/rocknix/sources/scripts/rocknix-info +++ b/packages/rocknix/sources/scripts/rocknix-info @@ -22,7 +22,7 @@ info_quirks() { ### short version (for osd) if test "$1" = "--short" then - BATT=$(awk 'BEGIN {FS="="} /POWER_SUPPLY_CAPACITY=/ {print $2; exit}' /sys/class/power_supply/{BAT,bat}*/uevent 2>/dev/null) + BATT=$(awk 'BEGIN {FS="="} /POWER_SUPPLY_CAPACITY=/ {print $2; exit}' /sys/class/power_supply/[Bb][Aa][Tt]*/uevent 2>/dev/null) DT=$(date +%H:%M) if test -n "${BATT}" then @@ -42,7 +42,7 @@ V_ARCH=$(uname -m) [[ "$V_CPUMODEL1" ]] || V_CPUMODEL1="${HW_CPU}" # battery -BATT=$(awk 'BEGIN {FS="="} /POWER_SUPPLY_CAPACITY=/ {print $2; exit}' /sys/class/power_supply/{BAT,bat}*/uevent 2>/dev/null) +BATT=$(awk 'BEGIN {FS="="} /POWER_SUPPLY_CAPACITY=/ {print $2; exit}' /sys/class/power_supply/[Bb][Aa][Tt]*/uevent 2>/dev/null) case ${HW_ARCH} in aarch64) @@ -89,14 +89,15 @@ if test -n "${BATT}" then echo "BATTERY INFORMATION:" echo "BATTERY REMAINING: ${BATT}%" - BATPATH="/sys/class/power_supply/$(ls /sys/class/power_supply/ | grep -i bat | tail -n 1)" - if [ -e "${BATPATH}/health" ] + BAT_HEALTH=$(cat /sys/class/power_supply/[Bb][Aa][Tt]*/health 2>/dev/null) + if [ -n "${BAT_HEALTH}" ] then - echo "BATTERY HEALTH: $(cat ${BATPATH}/health)" + echo "BATTERY HEALTH: ${BAT_HEALTH}" fi - if [ -e "${BATPATH}/status" ] + BAT_STATUS=$(cat /sys/class/power_supply/[Bb][Aa][Tt]*/status 2>/dev/null) + if [ -n "${BAT_STATUS}" ] then - echo "BATTERY STATE: $(cat ${BATPATH}/status)" + echo "BATTERY STATE: ${BAT_STATUS}" fi fi echo "CPU INFORMATION:" diff --git a/packages/ui/emulationstation/config/common/es_features.cfg b/packages/ui/emulationstation/config/common/es_features.cfg index 6610866f4..a1f880f38 100644 --- a/packages/ui/emulationstation/config/common/es_features.cfg +++ b/packages/ui/emulationstation/config/common/es_features.cfg @@ -550,6 +550,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -686,7 +712,7 @@ - + @@ -717,7 +743,7 @@ - + @@ -750,6 +776,7 @@ + @@ -821,7 +848,7 @@ - + diff --git a/packages/ui/emulationstation/config/common/es_input.cfg b/packages/ui/emulationstation/config/common/es_input.cfg index abedc5358..28a116261 100644 --- a/packages/ui/emulationstation/config/common/es_input.cfg +++ b/packages/ui/emulationstation/config/common/es_input.cfg @@ -1213,33 +1213,33 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + diff --git a/packages/ui/emulationstation/package.mk b/packages/ui/emulationstation/package.mk index 17af04ce9..d491e61fc 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="2532471157e7df15ca70e0881e2411b81a1d2daa" +PKG_VERSION="86666dc57d4fb25debd90d7830c6f1e75b0cc002" PKG_GIT_CLONE_BRANCH="main" PKG_REV="1" PKG_ARCH="any" diff --git a/packages/x11/lib/libXdmcp/package.mk b/packages/x11/lib/libXdmcp/package.mk new file mode 100644 index 000000000..56bc3c5c0 --- /dev/null +++ b/packages/x11/lib/libXdmcp/package.mk @@ -0,0 +1,16 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2024-present JELOS (https://github.com/JustEnoughLinuxOS) + +PKG_NAME="libXdmcp" +PKG_VERSION="1.1.5" +PKG_LICENSE="OSS" +PKG_SITE="https://www.X.org" +PKG_URL="https://xorg.freedesktop.org/archive/individual/lib/${PKG_NAME}-${PKG_VERSION}.tar.xz" +PKG_DEPENDS_TARGET="toolchain util-macros libX11" +PKG_LONGDESC="X Display Manager Control Protocol library." + +PKG_CONFIGURE_OPTS_TARGET="--enable-malloc0returnsnull --without-xmlto" + +post_configure_target() { + libtool_remove_rpath libtool +} diff --git a/projects/Rockchip/packages/u-boot/package.mk b/projects/Rockchip/packages/u-boot/package.mk index 46fa0d49d..235095cad 100644 --- a/projects/Rockchip/packages/u-boot/package.mk +++ b/projects/Rockchip/packages/u-boot/package.mk @@ -13,7 +13,7 @@ PKG_PATCH_DIRS+="${DEVICE}" case ${DEVICE} in RK3588*) - PKG_VERSION="d34ff0716" + PKG_VERSION="ad0cfba1ac51e8dd8b039f6c56b9c9f9a679df91" PKG_URL="${PKG_SITE}/rk3588-uboot/archive/${PKG_VERSION}.tar.gz" ;; RK3566*) diff --git a/projects/Rockchip/patches/linux/RK3399/003-singleadc-joypad.patch b/projects/Rockchip/patches/linux/RK3399/003-singleadc-joypad.patch index 46be5b028..ad06c2f48 100644 --- a/projects/Rockchip/patches/linux/RK3399/003-singleadc-joypad.patch +++ b/projects/Rockchip/patches/linux/RK3399/003-singleadc-joypad.patch @@ -2047,3 +2047,19 @@ diff -rupN linux.orig/include/linux/of_gpio.h linux/include/linux/of_gpio.h +//#endif /* CONFIG_OF_GPIO */ + #endif /* __LINUX_OF_GPIO_H */ +diff -rupN linux.orig/include/linux/pwm.h linux/include/linux/pwm.h +--- linux.orig/include/linux/pwm.h 2024-01-22 21:57:30.564587413 +0000 ++++ linux/include/linux/pwm.h 2024-01-22 22:17:09.475459054 +0000 +@@ -110,6 +110,12 @@ static inline bool pwm_is_enabled(const + return state.enabled; + } + ++static inline void pwm_set_period(struct pwm_device *pwm, u64 period) ++{ ++ if (pwm) ++ pwm->state.period = period; ++} ++ + static inline u64 pwm_get_period(const struct pwm_device *pwm) + { + struct pwm_state state; diff --git a/projects/Rockchip/patches/linux/RK3399/999-drm-do-not-round-to-megabytes.patch b/projects/Rockchip/patches/linux/RK3399/999-drm-do-not-round-to-megabytes.patch deleted file mode 100644 index 795e9e460..000000000 --- a/projects/Rockchip/patches/linux/RK3399/999-drm-do-not-round-to-megabytes.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 5faf6e1853d30d113ebc9977e015d0152e5e1970 Mon Sep 17 00:00:00 2001 -From: Tvrtko Ursulin -Date: Wed, 27 Sep 2023 14:38:37 +0100 -Subject: drm: Do not round to megabytes for greater than 1MiB sizes in fdinfo - stats -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -It is better not to lose precision and not revert to 1 MiB size -granularity for every size greater than 1 MiB. - -Sizes in KiB should not be so troublesome to read (and in fact machine -parsing is I expect the norm here), they align with other api like -/proc/meminfo, and they allow writing tests for the interface without -having to embed drm.ko implementation knowledge into them. (Like knowing -that minimum buffer size one can use for successful verification has to be -1MiB aligned, and on top account for any pre-existing memory utilisation -outside of driver's control.) - -But probably even more importantly I think that it is just better to show -the accurate sizes and not arbitrary lose precision for a little bit of a -stretched use case of eyeballing fdinfo text directly. - -Signed-off-by: Tvrtko Ursulin -Cc: Rob Clark -Cc: Adrián Larumbe -Cc: steven.price@arm.com -Reviewed-by: Steven Price -Link: https://lore.kernel.org/r/20230927133843.247957-2-tvrtko.ursulin@linux.intel.com -Signed-off-by: Maxime Ripard ---- - drivers/gpu/drm/drm_file.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -(limited to 'drivers/gpu/drm/drm_file.c') - -diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c -index 446458aca8e99..5ddaffd325865 100644 ---- a/drivers/gpu/drm/drm_file.c -+++ b/drivers/gpu/drm/drm_file.c -@@ -913,7 +913,7 @@ static void print_size(struct drm_printer *p, const char *stat, - unsigned u; - - for (u = 0; u < ARRAY_SIZE(units) - 1; u++) { -- if (sz < SZ_1K) -+ if (sz == 0 || !IS_ALIGNED(sz, SZ_1K)) - break; - sz = div_u64(sz, SZ_1K); - } --- -cgit 1.2.3-korg diff --git a/projects/Rockchip/patches/linux/RK3588/000-gameforce-ace.patch b/projects/Rockchip/patches/linux/RK3588/000-gameforce-ace.patch index 94d875748..8ee66af25 100644 --- a/projects/Rockchip/patches/linux/RK3588/000-gameforce-ace.patch +++ b/projects/Rockchip/patches/linux/RK3588/000-gameforce-ace.patch @@ -1,7 +1,7 @@ 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-03-06 16:57:38.191015550 +0000 -+++ linux/arch/arm64/boot/dts/rockchip/Makefile 2024-03-06 16:59:03.441724317 +0000 -@@ -285,6 +285,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-e +--- linux.orig/arch/arm64/boot/dts/rockchip/Makefile 2024-03-12 19:48:42.910728919 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/Makefile 2024-03-12 19:49:37.876527225 +0000 +@@ -313,6 +313,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-e dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb4-lp4x-v10-linux.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-evb8-lp4x-v10.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-9tripod-linux.dtb @@ -11,8 +11,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/Makefile linux/arch/arm64/boo dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3588s-nanopi-r6c.dtb diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts linux/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts --- linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts 1970-01-01 00:00:00.000000000 +0000 -+++ linux/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts 2024-03-06 16:58:28.748621788 +0000 -@@ -0,0 +1,1409 @@ ++++ linux/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts 2024-03-12 19:56:53.872819527 +0000 +@@ -0,0 +1,1403 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* + * Copyright (c) 2021 Rockchip Electronics Co., Ltd. @@ -59,12 +59,11 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin + }; + + joypad: gameforce-ace-joypad { -+ compatible = "rocknix-joypad"; ++ compatible = "jelos-joypad"; + poll-interval = <10>; + status = "okay"; + + joypad-name = "GameForce ACE Gamepad"; -+ //joypad-vendor = <0x045e>; + joypad-product = <0x1000>; + joypad-revision = <0x0100>; + @@ -196,7 +195,6 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin + pwm_fan: pwm-fan { + compatible = "pwm-fan"; + #cooling-cells = <2>; -+ cooling-levels = <0 100 150 200 255>; + pwms = <&pwm12 0 50000 PWM_POLARITY_INVERTED>; + }; + @@ -230,19 +228,19 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin + compatible = "pwm-backlight"; + pwms = <&pwm13 0 25000 1>; + brightness-levels = < -+ 0 20 20 21 21 22 22 23 -+ 23 24 24 25 25 26 26 27 -+ 27 28 28 29 29 30 30 31 -+ 31 32 32 33 33 34 34 35 -+ 35 36 36 37 37 38 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 ++ 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 @@ -261,9 +259,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin + 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 = <25>; ++ 248 249 250 251 252 253 254 255>; ++ default-brightness-level = <200>; + enable-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_HIGH>; + pinctrl-names = "default"; + pinctrl-0 = <&lcd_bl_en>; @@ -328,7 +325,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin + * - SDIO_RESET_L_WL_REG_ON + * - PDN (power down when low) + */ -+ post-power-on-delay-ms = <200>; ++ //post-power-on-delay-ms = <200>; + reset-gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; + }; + @@ -449,11 +446,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin + mem-supply = <&vdd_cpu_big1_mem_s0>; +}; + -+// gsy HDMI +&hdmi0 { + enable-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_HIGH>; -+ // pinctrl-names = "default"; -+ // pinctrl-0 = <&hdmi0_en>; + status = "disabled"; +}; + @@ -466,12 +460,12 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin +}; + +&hdptxphy_hdmi0 { -+ status = "okay"; ++ status = "disabled"; +}; + +&route_hdmi0 { -+ status = "okay"; -+ // connect = <&vp0_out_hdmi0>; ++ status = "disabled"; ++ connect = <&vp0_out_hdmi0>; +}; + +// gsy DP @@ -698,9 +692,9 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin + interrupts = ; + irq-gpios = <&gpio1 RK_PA6 IRQ_TYPE_LEVEL_LOW>; + reset-gpios = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>; -+ touchscreen-inverted-x; -+ // touchscreen-inverted-y; -+ touchscreen-swapped-x-y; ++ //touchscreen-inverted-x; ++ //touchscreen-inverted-y; ++ //touchscreen-swapped-x-y; + touchscreen-size-x = <1080>; + touchscreen-size-y = <1920>; + status = "okay"; @@ -1119,10 +1113,10 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin + <3 RK_PB4 RK_FUNC_GPIO &pcfg_pull_up>; + }; + -+ wifi_host_wake_irq: wifi-host-wake-irq { -+ rockchip,pins = -+ <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; -+ }; ++ //wifi_host_wake_irq: wifi-host-wake-irq { ++ // rockchip,pins = ++ // <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; ++ //}; + }; +}; + @@ -1216,7 +1210,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin + +&rockchip_suspend { + status = "okay"; -+ rockchip,sleep-debug-en = <1>; ++ rockchip,sleep-debug-en = <0>; +}; + +&saradc { @@ -1236,19 +1230,19 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin +}; + +&sdio { -+ max-frequency = <150000000>; -+ no-sd; -+ no-mmc; ++ //max-frequency = <150000000>; ++ //no-sd; ++ //no-mmc; + bus-width = <4>; -+ disable-wp; ++ //disable-wp; + cap-sd-highspeed; + cap-sdio-irq; -+ keep-power-in-suspend; ++ //keep-power-in-suspend; + mmc-pwrseq = <&sdio_pwrseq>; + non-removable; + pinctrl-names = "default"; + pinctrl-0 = <&sdiom1_pins>; -+ sd-uhs-sdr104; ++ //sd-uhs-sdr104; + status = "okay"; + + brcmf: wifi@1 { @@ -1256,8 +1250,8 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3588s-gameforce-ace.dts lin + reg = <1>; + interrupt-parent = <&gpio0>; + interrupts = ; -+ interrupt-names = "host-wake"; -+ pinctrl-0 = <&wifi_host_wake_irq>; ++ //interrupt-names = "host-wake"; ++ //pinctrl-0 = <&wifi_host_wake_irq>; + pinctrl-names = "default"; + }; +}; diff --git a/projects/Rockchip/patches/linux/RK3588/006-joypad-driver.patch b/projects/Rockchip/patches/linux/RK3588/006-joypad-driver.patch index 4e07cb494..c95872a68 100644 --- a/projects/Rockchip/patches/linux/RK3588/006-joypad-driver.patch +++ b/projects/Rockchip/patches/linux/RK3588/006-joypad-driver.patch @@ -21,15 +21,15 @@ index 3937535f0098..f473353fd283 100644 obj-$(CONFIG_JOYSTICK_GUILLEMOT) += guillemot.o obj-$(CONFIG_JOYSTICK_IFORCE) += iforce/ obj-$(CONFIG_JOYSTICK_INTERACT) += interact.o -+obj-$(CONFIG_JOYSTICK_JELOS_JOYPAD) += rocknix-joypad.o ++obj-$(CONFIG_JOYSTICK_JELOS_JOYPAD) += jelos-joypad.o obj-$(CONFIG_JOYSTICK_JOYDUMP) += joydump.o obj-$(CONFIG_JOYSTICK_MAGELLAN) += magellan.o obj-$(CONFIG_JOYSTICK_MAPLE) += maplecontrol.o -diff --git a/drivers/input/joystick/rocknix-joypad.c b/drivers/input/joystick/rocknix-joypad.c +diff --git a/drivers/input/joystick/jelos-joypad.c b/drivers/input/joystick/jelos-joypad.c new file mode 100644 index 000000000000..51eda0980703 --- /dev/null -+++ b/drivers/input/joystick/rocknix-joypad.c ++++ b/drivers/input/joystick/jelos-joypad.c @@ -0,0 +1,984 @@ +/*----------------------------------------------------------------------------*/ +#include @@ -48,10 +48,10 @@ index 000000000000..51eda0980703 +#include +#include +#include -+#include "rocknix-joypad.h" ++#include "jelos-joypad.h" + +/*----------------------------------------------------------------------------*/ -+#define DRV_NAME "rocknix-joypad" ++#define DRV_NAME "jelos-joypad" + +/*----------------------------------------------------------------------------*/ + @@ -195,7 +195,7 @@ index 000000000000..51eda0980703 +/* + * ATTRIBUTES: + * -+ * /sys/devices/platform/rocknix-joypad/poll_interval [rw] ++ * /sys/devices/platform/jelos-joypad/poll_interval [rw] + */ +/*----------------------------------------------------------------------------*/ +static ssize_t joypad_store_poll_interval(struct device *dev, @@ -233,7 +233,7 @@ index 000000000000..51eda0980703 +/* + * ATTRIBUTES: + * -+ * /sys/devices/platform/rocknix-joypad/adc_fuzz [r] ++ * /sys/devices/platform/jelos-joypad/adc_fuzz [r] + */ +/*----------------------------------------------------------------------------*/ +static ssize_t joypad_show_adc_fuzz(struct device *dev, @@ -255,7 +255,7 @@ index 000000000000..51eda0980703 +/* + * ATTRIBUTES: + * -+ * /sys/devices/platform/rocknix-joypad/adc_flat [r] ++ * /sys/devices/platform/jelos-joypad/adc_flat [r] + */ +/*----------------------------------------------------------------------------*/ +static ssize_t joypad_show_adc_flat(struct device *dev, @@ -277,7 +277,7 @@ index 000000000000..51eda0980703 +/* + * ATTRIBUTES: + * -+ * /sys/devices/platform/rocknix-joypad/enable [rw] ++ * /sys/devices/platform/jelos-joypad/enable [rw] + */ +/*----------------------------------------------------------------------------*/ +static ssize_t joypad_store_enable(struct device *dev, @@ -315,7 +315,7 @@ index 000000000000..51eda0980703 +/* + * ATTRIBUTES: + * -+ * /sys/devices/platform/rocknix-joypad/adc_cal [rw] ++ * /sys/devices/platform/jelos-joypad/adc_cal [rw] + */ +/*----------------------------------------------------------------------------*/ +static ssize_t joypad_store_adc_cal(struct device *dev, @@ -976,7 +976,7 @@ index 000000000000..51eda0980703 +} +/*----------------------------------------------------------------------------*/ +static const struct of_device_id joypad_of_match[] = { -+ { .compatible = "rocknix-joypad", }, ++ { .compatible = "jelos-joypad", }, + {}, +}; + @@ -1015,11 +1015,11 @@ index 000000000000..51eda0980703 +MODULE_ALIAS("platform:" DRV_NAME); + +/*----------------------------------------------------------------------------*/ -diff --git a/drivers/input/joystick/rocknix-joypad.h b/drivers/input/joystick/rocknix-joypad.h +diff --git a/drivers/input/joystick/jelos-joypad.h b/drivers/input/joystick/jelos-joypad.h new file mode 100644 index 000000000000..2c73e9970948 --- /dev/null -+++ b/drivers/input/joystick/rocknix-joypad.h ++++ b/drivers/input/joystick/jelos-joypad.h @@ -0,0 +1,10 @@ +#define SARADC_CH0 0 +#define SARADC_CH1 1 diff --git a/projects/Rockchip/patches/linux/RK3588/009-fix-sleep.patch b/projects/Rockchip/patches/linux/RK3588/009-fix-sleep.patch new file mode 100644 index 000000000..34c25896b --- /dev/null +++ b/projects/Rockchip/patches/linux/RK3588/009-fix-sleep.patch @@ -0,0 +1,47 @@ +From 0d1781e72fb7707a0bbc4419c8f1bc75a113f19a Mon Sep 17 00:00:00 2001 +From: baiywt +Date: Thu, 6 Apr 2023 09:26:13 +0800 +Subject: [PATCH] Fix some boards cannot enter deep sleep mode + +--- + arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi | 2 +- + drivers/mfd/rk806-core.c | 6 ++++++ + 2 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi +index da5f147391a3c..0a1ad5180a0b8 100644 +--- a/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi ++++ b/arch/arm64/boot/dts/rockchip/rk3588s-pinctrl.dtsi +@@ -1981,7 +1981,7 @@ + /* pmic_int_l */ + <0 RK_PA7 0 &pcfg_pull_up>, + /* pmic_sleep1 */ +- <0 RK_PA2 1 &pcfg_pull_none>, ++ <0 RK_PA2 1 &pcfg_pull_down>, + /* pmic_sleep2 */ + <0 RK_PA3 1 &pcfg_pull_none>, + /* pmic_sleep3 */ +diff --git a/drivers/mfd/rk806-core.c b/drivers/mfd/rk806-core.c +index 5421ac95578f3..1fc1fffb46b91 100644 +--- a/drivers/mfd/rk806-core.c ++++ b/drivers/mfd/rk806-core.c +@@ -520,6 +520,7 @@ static void rk806_irq_init(struct rk806 *rk806) + static int rk806_pinctrl_init(struct rk806 *rk806) + { + struct device *dev = rk806->dev; ++ int ret; + + rk806->pins = devm_kzalloc(dev, + sizeof(struct rk806_pin_info), +@@ -539,6 +540,11 @@ static int rk806_pinctrl_init(struct rk806 *rk806) + + if (IS_ERR(rk806->pins->default_st)) + dev_err(dev, "no default pinctrl state\n"); ++ else { ++ ret = pinctrl_select_state(rk806->pins->p, rk806->pins->default_st); ++ if (ret < 0) ++ dev_err(dev, "could not set pins\n"); ++ } + + rk806->pins->power_off = pinctrl_lookup_state(rk806->pins->p, + "pmic-power-off"); From b29c821586059ab2a01a7b0eb750d73a6309811c Mon Sep 17 00:00:00 2001 From: r3claimer Date: Fri, 22 Mar 2024 13:17:47 -0700 Subject: [PATCH 05/77] Update README.md --- README.md | 130 +++--------------------------------------------------- 1 file changed, 5 insertions(+), 125 deletions(-) diff --git a/README.md b/README.md index 927274884..e008832ee 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,4 @@ -      [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) - ---- - -Just Enough Linux Operating System (JELOS) is an immutable Linux distribution for handheld gaming devices developed by a small community of enthusiasts. Our goal is to produce an operating system that has the features and capabilities that we need, and to have fun as we develop it. - -## Features - -* JELOS has a very active community of developers and users. -* Integrated cross-device local and remote network play. -* In-game touch support on supported devices. -* Fine grain control for battery life or performance. -* Includes support for playing Music and Video. -* Bluetooth audio and controller support. -* Support for HDMI audio and video out, and USB audio. -* Device to device and device to cloud sync with Syncthing and rclone. -* VPN support with Wireguard, Tailscale, and ZeroTier. -* Includes built-in support for scraping and retroachievements. - -## Screenshots - - - - - - - - - - -
- -## Community - -The JELOS community utilizes Discord for discussion, if you would like to join us please use this link: [https://discord.gg/seTxckZjJy](https://discord.gg/seTxckZjJy) - -## Licenses - -JELOS is a Linux distribution that is made up of many open-source components. Components are provided under their respective licenses. This distribution includes components licensed for non-commercial use only. - -### JELOS Branding - -JELOS branding and images are licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). +**ROCKNIX** is a fork [JELOS](https://jelos.org/), all licenses apply and credit to the JELOS team. You are free to: @@ -53,93 +11,15 @@ Under the following terms: - NonCommercial: You may not use the material for commercial purposes. - ShareAlike: If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. -### JELOS Software +### ROCKNIX Software -Copyright 2023 JELOS (https://github.com/JustEnoughLinuxOS) +Copyright 2024 ROCKNIX (https://github.com/ROCKNIX) -Original software and scripts developed by the JELOS team are licensed under the terms of the [GNU GPL Version 2](https://choosealicense.com/licenses/gpl-2.0/). The full license can be found in this project's licenses folder. +Original software and scripts developed by the ROCKNIX are licensed under the terms of the [GNU GPL Version 2](https://choosealicense.com/licenses/gpl-2.0/). The full license can be found in this project's licenses folder. ### Bundled Works All other software is provided under each component's respective license. These licenses can be found in the software sources or in this project's licenses folder. Modifications to bundled software and scripts by the JELOS team are licensed under the terms of the software being modified. -## Documentation - -### Contribute - -* [Building JELOS](https://rocknix.org/contribute/build/) -* [Code of Conduct](https://rocknix.org/contribute/code-of-conduct/) -* [Contributing to JELOS](https://rocknix.org/contribute/) -* [Modifying JELOS](https://rocknix.org/contribute/modify/) -* [Adding Hardware Quirks](https://rocknix.org/contribute/quirks/) -* [Creating Packages](https://rocknix.org/contribute/packages/) -* [Pull Request Template](/PULL_REQUEST_TEMPLATE.md) - -### Play - -* [Installing JELOS](https://rocknix.org/play/install/) -* [Updating JELOS](https://rocknix.org/play/update/) -* [Controls](https://rocknix.org/play/controls/) -* [Netplay](https://rocknix.org/play/netplay/) -* [Configuring Moonlight](https://rocknix.org/systems/moonlight/) -* [Device Specific Documentation](/documentation/PER_DEVICE_DOCUMENTATION) - -### Configure - -* [Optimizations](https://rocknix.org/configure/optimizations/) -* [Shaders](https://rocknix.org/configure/shaders/) -* [Cloud Sync](https://rocknix.org/configure/cloud-sync/) -* [VPN](https://rocknix.org/configure/vpn/) - -### Other - -* [Frequently Asked Questions](https://rocknix.org/faqs/) -* [Donating to JELOS](https://rocknix.org/donations/) - -## Device Support - -JELOS supports a variety of ARM and Intel/AMD based devices. - -| Manufacturer | Device | CPU / Architecture | Kernel | GL driver | Interface | -| -- | -- | -- | -- | -- | -- | -| Anbernic | [RG351P/M](https://rocknix.org/devices/anbernic/rg351pmv) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Anbernic | [RG351v](https://rocknix.org/devices/anbernic/rg351pmv) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Anbernic | [RG353P](https://rocknix.org/devices/anbernic/rg353pmvvs) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Anbernic | [RG353M](https://rocknix.org/devices/anbernic/rg353pmvvs) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Anbernic | [RG353V](https://rocknix.org/devices/anbernic/rg353pmvvs) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Anbernic | [RG353VS](https://rocknix.org/devices/anbernic/rg353pmvvs) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Anbernic | [RG503](https://rocknix.org/devices/anbernic/rg503) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Anbernic | [RG552](https://rocknix.org/devices/anbernic/rg552) | Rockchip RK3399 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Anbernic | [Win600](https://rocknix.org/devices/anbernic/win600) | AMD Athlon Silver 3050e (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| AOKZOE | [A1 Pro](https://rocknix.org/devices/aokzoe/a1-pro) | AMD 7840u (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| Atari | [VCS](https://rocknix.org/devices/atari/vcs) | AMD Ryzen R1606G (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| AYANEO | [Air / Air Pro](https://rocknix.org/devices/ayaneo/air) | Amd Ryzen 5 5560U / AMD Ryzen 7 5825U (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| AYANEO | [Air Plus](https://rocknix.org/devices/ayaneo/air-plus) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| AYANEO | [AYANEO 2](https://rocknix.org/devices/ayaneo/ayaneo-2) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| AYANEO | [AYANEO 2S](https://rocknix.org/devices/ayaneo/ayaneo-2) | Amd Ryzen 7 7840U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| Ayn | [Loki Zero](https://rocknix.org/devices/ayn/loki-zero) | AMD Athlon Silver 3050e (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| Ayn | [Loki Max](https://rocknix.org/devices/ayn/loki-max) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| Gameforce | [ACE](https://rocknix.org/devices/gameforce/gameforce-ace/) | Rockchip RK3588S | Rockchip BSP | Panfrost | | Weston + Emulation Station | -| Game Console | [R33S](https://rocknix.org/devices/unbranded/game-console-r33s) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Game Console | [R35S, R36S](https://rocknix.org/devices/unbranded/game-console-r35s-r36s) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| GPD | [Win 4](https://rocknix.org/devices/gpd/win4) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux | Radeonsi | Weston + Emulation Station | -| GPD | [Win Max 2 (2022)](https://rocknix.org/devices/gpd/win-max-2) | Amd Ryzen 7 6800U / (x86_64) | Mainline Linux| Radeonsi | Weston + Emulation Station | -| Hardkernel | [Odroid Go Advance](https://rocknix.org/devices/hardkernel/odroid-go-advance) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Hardkernel | [Odroid Go Super](https://rocknix.org/devices/hardkernel/odroid-go-super) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Hardkernel | [Odroid Go Ultra](https://rocknix.org/devices/hardkernel/odroid-go-ultra) | Amlogic S922X / Mali G52 M6 (ARMv8-A) | Mainline Linux | Mali | Weston + Emulation Station | -| Hardkernel | [Odroid N2/N2+/N2L](https://rocknix.org/devices/hardkernel/odroid-n2) | Amlogic S922X / Mali G52 M6 (ARMv8-A) | Mainline Linux | Mali | Weston + Emulation Station | -| Indiedroid | [Nova](https://rocknix.org/devices/indiedroid/nova) | Rockchip RK3588S / Mali G610 (ARMv8-A) | Rockchip 5.10 BSP Linux | Panfrost | Weston + Emulation Station | -| Orange Pi | [Orange Pi 5](https://rocknix.org/devices/orange-pi/orange-pi-5) | Rockchip RK3588S / Mali G610 (ARMv8-A) | Rockchip 5.10 BSP Linux | Panfrost | Weston + Emulation Station | -| Magicx | [XU10](https://rocknix.org/devices/magicx/xu10) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Powkiddy | [RGB10](https://rocknix.org/devices/powkiddy/rgb10) | Rockchip RK3326 (ARM) | Mainline Linux | Panfrost | Weston + Emulation Station | -| Powkiddy | [RGB10 Max 3](https://rocknix.org/devices/powkiddy/rgb10-max-3) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Powkiddy | [RGB10 Max 3 Pro](https://rocknix.org/devices/powkiddy/rgb10-max-3-pro) | Amlogic A311D / Mali G52 M4 (ARMv8-A) | Mainline Linux | Mali | Weston + Emulation Station | -| Powkiddy | [RGB30](https://rocknix.org/devices/powkiddy/rgb30) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Powkiddy | [RK2023](https://rocknix.org/devices/powkiddy/rk2023) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | -| Powkiddy | [x55](https://rocknix.org/devices/powkiddy/x55) | Rockchip RK3566 (ARM) | Rockchip BSP 4.19 | Mali | KMS/DRM + Emulation Station | - -> [!NOTE] -> While not technically supported, JELOS is also known to work well on a variety of generic x86_64 devices including gaming PCs, mini PCs, and laptop computers. - ## Credits -Like any Linux distribution, this project is not the work of one person. It is the work of many persons all over the world who have developed the open source bits without which this project could not exist. Special thanks to CoreELEC, LibreELEC, and to developers and contributors across the open source community. +Like any Linux distribution, this project is not the work of one person. It is the work of many persons all over the world who have developed the open source bits without which this project could not exist. Special thanks to CoreELEC, LibreELEC, JELOS, and to developers and contributors across the open source community. From 5c02398b6dde996b9f14604ab371d5b2734130ab Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Sat, 23 Mar 2024 05:54:48 +0000 Subject: [PATCH 06/77] Clean up and updates --- distributions/ROCKNIX/options | 2 +- packages/compat/box64/package.mk | 4 - packages/compat/box86/package.mk | 4 - packages/compat/lib32/package.mk | 4 - packages/devel/librga/package.mk | 2 +- .../standalone/duckstation-sa/package.mk | 15 +- .../patches/legacy/000-fix-cmake.patch | 129 ------ .../patches/legacy/001-fix-evdev-dep.patch | 13 - .../legacy/001-fix-gcc13-compile.patch | 26 -- .../patches/legacy/001-path-program.patch | 22 - .../legacy/002-path-getdirectory.patch | 14 - .../patches/legacy/003-path-language.patch | 13 - .../patches/legacy/004-add-rotation.patch | 389 ------------------ .../patches/legacy/005-add-hotkeys.patch | 110 ----- .../patches/legacy/006-maxbuttons.patch | 13 - .../patches/legacy/007-inhibit-vulkan.patch | 17 - .../emulators/tools/jstest-sdl/package.mk | 2 +- packages/graphics/giflib/package.mk | 19 - ...giflib-01-fix-reallocarray-exception.patch | 34 -- packages/graphics/gl4es/package.mk | 37 -- packages/graphics/libde265/package.mk | 22 - packages/graphics/libmali/package.mk | 39 -- .../libmali/system.d/libmali-setup.service | 12 - projects/Amlogic/options | 2 +- projects/Rockchip/devices/RK3326/options | 3 - projects/Rockchip/devices/RK3399/options | 3 - projects/Rockchip/devices/RK3566/options | 11 +- projects/Rockchip/options | 6 +- 28 files changed, 15 insertions(+), 952 deletions(-) delete mode 100755 packages/emulators/standalone/duckstation-sa/patches/legacy/000-fix-cmake.patch delete mode 100644 packages/emulators/standalone/duckstation-sa/patches/legacy/001-fix-evdev-dep.patch delete mode 100644 packages/emulators/standalone/duckstation-sa/patches/legacy/001-fix-gcc13-compile.patch delete mode 100755 packages/emulators/standalone/duckstation-sa/patches/legacy/001-path-program.patch delete mode 100755 packages/emulators/standalone/duckstation-sa/patches/legacy/002-path-getdirectory.patch delete mode 100755 packages/emulators/standalone/duckstation-sa/patches/legacy/003-path-language.patch delete mode 100755 packages/emulators/standalone/duckstation-sa/patches/legacy/004-add-rotation.patch delete mode 100755 packages/emulators/standalone/duckstation-sa/patches/legacy/005-add-hotkeys.patch delete mode 100755 packages/emulators/standalone/duckstation-sa/patches/legacy/006-maxbuttons.patch delete mode 100755 packages/emulators/standalone/duckstation-sa/patches/legacy/007-inhibit-vulkan.patch delete mode 100644 packages/graphics/giflib/package.mk delete mode 100644 packages/graphics/giflib/patches/giflib-01-fix-reallocarray-exception.patch delete mode 100644 packages/graphics/gl4es/package.mk delete mode 100644 packages/graphics/libde265/package.mk delete mode 100644 packages/graphics/libmali/package.mk delete mode 100644 packages/graphics/libmali/system.d/libmali-setup.service diff --git a/distributions/ROCKNIX/options b/distributions/ROCKNIX/options index d367f7f86..21e3c8371 100644 --- a/distributions/ROCKNIX/options +++ b/distributions/ROCKNIX/options @@ -53,7 +53,7 @@ # a BSP kernel and a rotated display when using DEVICE_ROOT. if [ -n "${DEVICE_ROOT}" ] then - CLEAN_DEVICE_ROOT="busybox systemd initramfs linux u-boot libmali libmali_rk3588 SDL2 SDL2-rotated retroarch mupen64plus-sa-input-sdl flycast-sa duckstation-sa drastic-sa fileman oga_controls portmaster glew-cmake" + CLEAN_DEVICE_ROOT="busybox systemd initramfs linux u-boot libmali_rk3588 SDL2 SDL2-rotated retroarch mupen64plus-sa-input-sdl flycast-sa duckstation-sa drastic-sa fileman oga_controls portmaster glew-cmake" fi # additional drivers to install: diff --git a/packages/compat/box64/package.mk b/packages/compat/box64/package.mk index e3752e787..a98cc5ec8 100644 --- a/packages/compat/box64/package.mk +++ b/packages/compat/box64/package.mk @@ -11,10 +11,6 @@ PKG_DEPENDS_TARGET="toolchain ncurses SDL_sound" PKG_LONGDESC="Box64 lets you run x86_64 Linux programs (such as games) on non-x86_64 Linux systems, like ARM." PKG_TOOLCHAIN="cmake" -if [ "${OPENGL}" = "no" ]; then - PKG_DEPENDS_TARGET+=" gl4es" -fi - PKG_CMAKE_OPTS_TARGET+=" -DCMAKE_BUILD_TYPE=Release" makeinstall_target() { diff --git a/packages/compat/box86/package.mk b/packages/compat/box86/package.mk index 9e650f0f1..3587820ff 100644 --- a/packages/compat/box86/package.mk +++ b/packages/compat/box86/package.mk @@ -11,10 +11,6 @@ PKG_DEPENDS_TARGET="toolchain ncurses SDL_sound wine" PKG_LONGDESC="Box86 lets you run x86 Linux programs (such as games) on non-x86 Linux systems, like ARM." PKG_TOOLCHAIN="cmake" -if [ "${OPENGL}" = "no" ]; then - PKG_DEPENDS_TARGET+=" gl4es" -fi - PKG_CMAKE_OPTS_TARGET+=" -DCMAKE_BUILD_TYPE=Release \ -DARM_DYNAREC=On" diff --git a/packages/compat/lib32/package.mk b/packages/compat/lib32/package.mk index bfd769ac6..ad4d3a08d 100644 --- a/packages/compat/lib32/package.mk +++ b/packages/compat/lib32/package.mk @@ -39,8 +39,4 @@ makeinstall_target() { then echo "/usr/lib32/dri" >"${INSTALL}/etc/ld.so.conf.d/${LIBARCH}-lib32-dri.conf" fi - if [ -d "${LIBROOT}/usr/lib/gl4es" ] - then - echo "/usr/lib/gl4es" >"${INSTALL}/etc/ld.so.conf.d/${LIBARCH}-lib32-gl4es.conf" - fi } diff --git a/packages/devel/librga/package.mk b/packages/devel/librga/package.mk index cba047265..c20d432e9 100644 --- a/packages/devel/librga/package.mk +++ b/packages/devel/librga/package.mk @@ -6,7 +6,7 @@ PKG_VERSION="df26244eb0c3991df319d4276ab80e8c0bf91f64" PKG_ARCH="arm aarch64" PKG_LICENSE="GNU" PKG_DEPENDS_TARGET="toolchain libdrm" -PKG_SITE="https://github.com/JustEnoughLinuxOS/linux-rga" +PKG_SITE="https://github.com/ROCKNIX/linux-rga" PKG_URL="${PKG_SITE}.git" PKG_LONGDESC="The RGA driver userspace " PKG_TOOLCHAIN="auto" diff --git a/packages/emulators/standalone/duckstation-sa/package.mk b/packages/emulators/standalone/duckstation-sa/package.mk index e0288acc9..14e3c7a4e 100644 --- a/packages/emulators/standalone/duckstation-sa/package.mk +++ b/packages/emulators/standalone/duckstation-sa/package.mk @@ -11,18 +11,9 @@ PKG_TOOLCHAIN="cmake" case ${TARGET_ARCH} in aarch64) - case ${DEVICE} in - RK356*) - PKG_VERSION="5ab5070d73f1acc51e064bd96be4ba6ce3c06f5c" - PKG_PATCH_DIRS+=" legacy" - PKG_CMAKE_OPTS_TARGET+=" -DUSE_DRMKMS=ON -DENABLE_EGL=ON -DUSE_MALI=OFF" - ;; - *) - PKG_VERSION="bfa792ddbff11c102521124f235ccb310cac6e6a" - PKG_PATCH_DIRS+=" wayland/${TARGET_ARCH}" - ;; - esac - ;; + PKG_VERSION="bfa792ddbff11c102521124f235ccb310cac6e6a" + PKG_PATCH_DIRS+=" wayland/${TARGET_ARCH}" + ;; x86_64) PKG_VERSION="a45b50c3e996af823d35a6a193458532c4f4316d" PKG_PATCH_DIRS+=" wayland/${TARGET_ARCH}" diff --git a/packages/emulators/standalone/duckstation-sa/patches/legacy/000-fix-cmake.patch b/packages/emulators/standalone/duckstation-sa/patches/legacy/000-fix-cmake.patch deleted file mode 100755 index 62c283a58..000000000 --- a/packages/emulators/standalone/duckstation-sa/patches/legacy/000-fix-cmake.patch +++ /dev/null @@ -1,129 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index a02270e7..dbb48953 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -40,6 +40,7 @@ if(SUPPORTS_WAYLAND) - endif() - if((LINUX OR FREEBSD) OR ANDROID) - option(USE_EGL "Support EGL OpenGL context creation" ON) -+ option(USE_MALI "Link with libmali for EGL support" OFF) - endif() - if((LINUX OR FREEBSD) AND NOT ANDROID) - option(USE_DRMKMS "Support DRM/KMS OpenGL contexts" OFF) -@@ -232,7 +233,7 @@ elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "x86" OR ${CMAKE_SYSTEM_PROCESSOR} STR - elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "aarch64" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm64") - set(CPU_ARCH "aarch64") - elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armv7-a" OR -- ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armv7l") -+ ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armv7l" OR ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armv8l") - set(CPU_ARCH "aarch32") - if(ANDROID) - # Force ARM mode, since apparently ANDROID_ARM_MODE isn't working.. -@@ -240,8 +241,13 @@ elseif(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "arm" OR ${CMAKE_SYSTEM_PROCESSOR} STR - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -marm") - else() - # Enable NEON. -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -marm -march=armv7-a") -- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -marm -march=armv7-a") -+ if(${CMAKE_SYSTEM_PROCESSOR} STREQUAL "armv8l") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -marm -mtune=cortex-a55") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -marm -mtune=cortex-a55") -+ else() -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -marm -march=armv7-a") -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -marm -march=armv7-a") -+ endif() - endif() - else() - message(FATAL_ERROR "Unknown system processor: " ${CMAKE_SYSTEM_PROCESSOR}) -diff -u -r /home/romain/duckstation/CMakeModules/FindEGL.cmake ./CMakeModules/FindEGL.cmake ---- /home/romain/duckstation/CMakeModules/FindEGL.cmake 2021-02-13 00:29:48.693304818 +0100 -+++ ./CMakeModules/FindEGL.cmake 2021-02-13 00:45:35.564462969 +0100 -@@ -86,6 +86,17 @@ - ${PKG_EGL_LIBRARY_DIRS} - ) - -+if(USE_MALI) -+pkg_check_modules(PKG_MALI QUIET mali) -+find_library(MALI_LIBRARY -+ NAMES -+ mali -+ HINTS -+ ${PKG_MALI_LIBRARY_DIRS} -+) -+endif() -+ -+ - # NB: We do *not* use the version information from pkg-config, as that - # is the implementation version (eg: the Mesa version) - if(EGL_INCLUDE_DIR) -@@ -117,7 +128,11 @@ - - cmake_push_check_state(RESET) - list(APPEND CMAKE_REQUIRED_LIBRARIES "${EGL_LIBRARY}") -+if(USE_MALI) -+list(APPEND CMAKE_REQUIRED_LIBRARIES "${MALI_LIBRARY}") -+endif() - list(APPEND CMAKE_REQUIRED_INCLUDES "${EGL_INCLUDE_DIR}") -+list(APPEND CMAKE_REQUIRED_DEFINITIONS "-DEGL_NO_X11 -DUSE_X11=NO") - - check_cxx_source_compiles(" - #include -@@ -161,7 +176,11 @@ - mark_as_advanced(EGL_LIBRARY EGL_INCLUDE_DIR HAVE_EGL) - - # compatibility variables -+if (USE_MALI) -+set(EGL_LIBRARIES ${EGL_LIBRARY} ${MALI_LIBRARY}) -+else() - set(EGL_LIBRARIES ${EGL_LIBRARY}) -+endif() - set(EGL_INCLUDE_DIRS ${EGL_INCLUDE_DIR}) - set(EGL_VERSION_STRING ${EGL_VERSION}) - -Seulement dans ./CMakeModules: FindEGL.cmake.orig -diff -u -r /home/romain/duckstation/dep/glad/CMakeLists.txt ./dep/glad/CMakeLists.txt ---- /home/romain/duckstation/dep/glad/CMakeLists.txt 2021-02-13 00:29:48.765302377 +0100 -+++ ./dep/glad/CMakeLists.txt 2021-02-13 00:42:20.848512028 +0100 -@@ -17,8 +17,9 @@ - target_sources(glad PRIVATE src/glad_wgl.c) - else() - if(USE_EGL) -+ target_compile_definitions(glad PRIVATE -DEGL_NO_X11) - target_sources(glad PRIVATE src/glad_egl.c) -- target_link_libraries(glad PRIVATE EGL::EGL) -+ target_link_libraries(glad PRIVATE EGL) - endif() - if(USE_X11) - target_sources(glad PRIVATE src/glad_glx.c) -diff -u -r /home/romain/duckstation/src/common/CMakeLists.txt ./src/common/CMakeLists.txt ---- /home/romain/duckstation/src/common/CMakeLists.txt 2021-02-13 00:29:48.885298307 +0100 -+++ ./src/common/CMakeLists.txt 2021-02-13 00:42:20.848512028 +0100 -@@ -175,12 +175,13 @@ - ) - endif() - if(USE_DRMKMS) -+ target_compile_definitions(common PRIVATE "-DEGL_NO_X11=1") - target_compile_definitions(common PRIVATE "-DUSE_GBM=1") - target_sources(common PRIVATE - gl/context_egl_gbm.cpp - gl/context_egl_gbm.h - ) -- target_link_libraries(common PUBLIC GBM::GBM) -+ target_link_libraries(common PUBLIC gbm EGL) - endif() - endif() - -diff -u -r /home/romain/duckstation/src/duckstation-nogui/CMakeLists.txt ./src/duckstation-nogui/CMakeLists.txt ---- /home/romain/duckstation/src/duckstation-nogui/CMakeLists.txt 2021-02-13 00:29:48.901297765 +0100 -+++ ./src/duckstation-nogui/CMakeLists.txt 2021-02-13 00:56:19.913224314 +0100 -@@ -29,6 +29,10 @@ - target_compile_definitions(duckstation-nogui PRIVATE "-DUSE_LIBEVDEV=1") - target_include_directories(duckstation-nogui PRIVATE ${LIBEVDEV_INCLUDE_DIRS}) - target_link_libraries(duckstation-nogui PRIVATE ${LIBEVDEV_LIBRARIES}) -+if (USE_MALI) -+ target_link_libraries(duckstation-nogui PRIVATE ${MALI_LIBRARY}) -+endif() -+ - endif() - - if(WIN32) diff --git a/packages/emulators/standalone/duckstation-sa/patches/legacy/001-fix-evdev-dep.patch b/packages/emulators/standalone/duckstation-sa/patches/legacy/001-fix-evdev-dep.patch deleted file mode 100644 index 5883fae90..000000000 --- a/packages/emulators/standalone/duckstation-sa/patches/legacy/001-fix-evdev-dep.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/CMakeModules/FindLIBEVDEV.cmake b/CMakeModules/FindLIBEVDEV.cmake -index b560a27f..f2c8adce 100644 ---- a/CMakeModules/FindLIBEVDEV.cmake -+++ b/CMakeModules/FindLIBEVDEV.cmake -@@ -11,8 +11,7 @@ FIND_PATH( - LIBEVDEV_INCLUDE_DIR libevdev/libevdev.h - HINTS ${PC_LIBEVDEV_INCLUDEDIR} ${PC_LIBEVDEV_INCLUDE_DIRS} - /usr/include -- /usr/local/include -- /usr/local/include/libevdev-1.0 -+ /usr/include/libevdev-1.0 - ${LIBEVDEV_PATH_INCLUDES} - ) diff --git a/packages/emulators/standalone/duckstation-sa/patches/legacy/001-fix-gcc13-compile.patch b/packages/emulators/standalone/duckstation-sa/patches/legacy/001-fix-gcc13-compile.patch deleted file mode 100644 index 4c240bee2..000000000 --- a/packages/emulators/standalone/duckstation-sa/patches/legacy/001-fix-gcc13-compile.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/common/log.h b/src/common/log.h -index 132b65d3..9e7064a8 100644 ---- a/src/common/log.h -+++ b/src/common/log.h -@@ -1,6 +1,8 @@ - #pragma once - #include "types.h" - #include -+#include -+#include - #include - - enum LOGLEVEL -diff --git a/src/frontend-common/cubeb_audio_stream.cpp b/src/frontend-common/cubeb_audio_stream.cpp -index 099e62b5..7e1e0acc 100644 ---- a/src/frontend-common/cubeb_audio_stream.cpp -+++ b/src/frontend-common/cubeb_audio_stream.cpp -@@ -3,6 +3,8 @@ - #include "common/log.h" - Log_SetChannel(CubebAudioStream); - -+#include -+ - #ifdef _WIN32 - #include "common/windows_headers.h" - #include diff --git a/packages/emulators/standalone/duckstation-sa/patches/legacy/001-path-program.patch b/packages/emulators/standalone/duckstation-sa/patches/legacy/001-path-program.patch deleted file mode 100755 index 8ba945eba..000000000 --- a/packages/emulators/standalone/duckstation-sa/patches/legacy/001-path-program.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/src/common/file_system.cpp b/src/common/file_system.cpp -index 6a24732..a287703 100644 ---- a/src/common/file_system.cpp -+++ b/src/common/file_system.cpp -@@ -1179,6 +1179,8 @@ bool FileSystem::DeleteDirectory(const char* Path, bool Recursive) - - std::string GetProgramPath() - { -+ return "/storage/.config/duckstation"; -+ - std::wstring buffer; - buffer.resize(MAX_PATH); - -@@ -1549,6 +1551,8 @@ bool DeleteDirectory(const char* Path, bool Recursive) - - std::string GetProgramPath() - { -+ return "/storage/.config/duckstation"; -+ - #if defined(__linux__) - static const char* exeFileName = "/proc/self/exe"; - diff --git a/packages/emulators/standalone/duckstation-sa/patches/legacy/002-path-getdirectory.patch b/packages/emulators/standalone/duckstation-sa/patches/legacy/002-path-getdirectory.patch deleted file mode 100755 index 8e99340b8..000000000 --- a/packages/emulators/standalone/duckstation-sa/patches/legacy/002-path-getdirectory.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/src/common/file_system.cpp b/src/common/file_system.cpp -index ceb2f08..0fa5a04 100644 ---- a/src/common/file_system.cpp -+++ b/src/common/file_system.cpp -@@ -683,6 +683,9 @@ std::string GetDisplayNameFromPath(const std::string_view& path) - - std::string_view GetPathDirectory(const std::string_view& path) - { -+ -+ return "/storage/.config/duckstation"; -+ - std::string::size_type pos = GetLastSeperatorPosition(path, false); - if (pos == std::string_view::npos) - return {}; diff --git a/packages/emulators/standalone/duckstation-sa/patches/legacy/003-path-language.patch b/packages/emulators/standalone/duckstation-sa/patches/legacy/003-path-language.patch deleted file mode 100755 index 83c814630..000000000 --- a/packages/emulators/standalone/duckstation-sa/patches/legacy/003-path-language.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/duckstation-qt/qthostinterface.cpp b/src/duckstation-qt/qthostinterface.cpp -index 8052278..4f338d7 100644 ---- a/src/duckstation-qt/qthostinterface.cpp -+++ b/src/duckstation-qt/qthostinterface.cpp -@@ -137,7 +137,7 @@ void QtHostInterface::installTranslator() - const QString language(QString::fromStdString(GetStringSettingValue("Main", "Language", "en"))); - - // install the base qt translation first -- const QString base_dir(QStringLiteral("%1/translations").arg(qApp->applicationDirPath())); -+ const QString base_dir(QStringLiteral("%1/translations").arg("/storage/.config/duckstation")); - const QString base_path(QStringLiteral("%1/qtbase_%2.qm").arg(base_dir).arg(language)); - if (QFile::exists(base_path)) - { diff --git a/packages/emulators/standalone/duckstation-sa/patches/legacy/004-add-rotation.patch b/packages/emulators/standalone/duckstation-sa/patches/legacy/004-add-rotation.patch deleted file mode 100755 index ea2506f40..000000000 --- a/packages/emulators/standalone/duckstation-sa/patches/legacy/004-add-rotation.patch +++ /dev/null @@ -1,389 +0,0 @@ -diff --git a/src/common/gl/program.h b/src/common/gl/program.h -index d877a462..3fa9a7a7 100644 ---- a/src/common/gl/program.h -+++ b/src/common/gl/program.h -@@ -40,6 +40,7 @@ public: - void Destroy(); - - int RegisterUniform(const char* name); -+ GLint GetUniformLocation(int index) const { return m_uniform_locations[index]; } - void Uniform1ui(int index, u32 x) const; - void Uniform2ui(int index, u32 x, u32 y) const; - void Uniform3ui(int index, u32 x, u32 y, u32 z) const; -@@ -97,6 +98,6 @@ private: - GLuint m_fragment_shader_id = 0; - - std::vector m_uniform_locations; --}; -+}; // namespace GL - - } // namespace GL -\ No newline at end of file -diff --git a/src/core/host_display.cpp b/src/core/host_display.cpp -index d0469fd3..790be30f 100644 ---- a/src/core/host_display.cpp -+++ b/src/core/host_display.cpp -@@ -103,6 +103,11 @@ bool HostDisplay::GetHostRefreshRate(float* refresh_rate) - return WindowInfo::QueryRefreshRateForWindow(m_window_info, refresh_rate); - } - -+bool HostDisplay::SetDisplayRotation(Rotation rotation) -+{ -+ return false; -+} -+ - void HostDisplay::SetSoftwareCursor(std::unique_ptr texture, float scale /*= 1.0f*/) - { - m_cursor_texture = std::move(texture); -diff --git a/src/core/host_display.h b/src/core/host_display.h -index ea01f846..b5a3563e 100644 ---- a/src/core/host_display.h -+++ b/src/core/host_display.h -@@ -60,6 +60,15 @@ public: - std::vector fullscreen_modes; - }; - -+ enum class Rotation -+ { -+ None, -+ R90Degrees, -+ R180Degrees, -+ R270Degrees, -+ Count -+ }; -+ - virtual ~HostDisplay(); - - ALWAYS_INLINE const WindowInfo& GetWindowInfo() const { return m_window_info; } -@@ -201,6 +210,7 @@ public: - virtual bool SetDisplayPixels(HostDisplayPixelFormat format, u32 width, u32 height, const void* buffer, u32 pitch); - - virtual bool GetHostRefreshRate(float* refresh_rate); -+ virtual bool SetDisplayRotation(Rotation rotation); - - void SetDisplayLinearFiltering(bool enabled) { m_display_linear_filtering = enabled; } - void SetDisplayTopMargin(s32 height) { m_display_top_margin = height; } -@@ -283,6 +293,7 @@ protected: - - s32 m_display_top_margin = 0; - Alignment m_display_alignment = Alignment::Center; -+ Rotation m_display_rotation = Rotation::None; - - std::unique_ptr m_cursor_texture; - float m_cursor_texture_scale = 1.0f; -diff --git a/src/core/settings.cpp b/src/core/settings.cpp -index 833b6b9f..4381b848 100644 ---- a/src/core/settings.cpp -+++ b/src/core/settings.cpp -@@ -230,6 +230,7 @@ void Settings::Load(SettingsInterface& si) - display_line_start_offset = static_cast(si.GetIntValue("Display", "LineStartOffset", 0)); - display_line_end_offset = static_cast(si.GetIntValue("Display", "LineEndOffset", 0)); - display_linear_filtering = si.GetBoolValue("Display", "LinearFiltering", true); -+ display_rotate = static_cast(si.GetIntValue("Display", "Rotate", 0)); - display_integer_scaling = si.GetBoolValue("Display", "IntegerScaling", false); - display_stretch = si.GetBoolValue("Display", "Stretch", false); - display_post_processing = si.GetBoolValue("Display", "PostProcessing", false); -diff --git a/src/core/settings.h b/src/core/settings.h -index e837f8b2..199ecac7 100644 ---- a/src/core/settings.h -+++ b/src/core/settings.h -@@ -136,6 +136,7 @@ struct Settings - s16 display_active_end_offset = 0; - s8 display_line_start_offset = 0; - s8 display_line_end_offset = 0; -+ s8 display_rotate = 0; - bool display_force_4_3_for_24bit = false; - bool gpu_24bit_chroma_smoothing = false; - bool display_linear_filtering = true; -diff --git a/src/duckstation-nogui/nogui_host_interface.cpp b/src/duckstation-nogui/nogui_host_interface.cpp -index 638af4ea..6cef355a 100644 ---- a/src/duckstation-nogui/nogui_host_interface.cpp -+++ b/src/duckstation-nogui/nogui_host_interface.cpp -@@ -136,6 +136,15 @@ bool NoGUIHostInterface::CreateDisplay(bool fullscreen) - return false; - } - -+ switch(g_settings.display_rotate & 3) -+ { -+ case 1: m_display->SetDisplayRotation(HostDisplay::Rotation::R90Degrees); -+ case 2: m_display->SetDisplayRotation(HostDisplay::Rotation::R180Degrees); -+ case 3: m_display->SetDisplayRotation(HostDisplay::Rotation::R270Degrees); -+ case 0: -+ default: break; -+ } -+ - if (fullscreen) - SetFullscreen(true); - -diff --git a/src/frontend-common/opengl_host_display.cpp b/src/frontend-common/opengl_host_display.cpp -index 7092b455..ff1c7939 100644 ---- a/src/frontend-common/opengl_host_display.cpp -+++ b/src/frontend-common/opengl_host_display.cpp -@@ -203,6 +203,77 @@ void OpenGLHostDisplay::UpdateDisplayPixelsTextureFilter() - m_display_texture_is_linear_filtered = m_display_linear_filtering; - } - -+bool OpenGLHostDisplay::SetDisplayRotation(Rotation rotation) -+{ -+ m_display_rotation = rotation; -+ UpdateDisplayRotationFramebuffer(); -+ return true; -+} -+ -+void OpenGLHostDisplay::UpdateDisplayRotationFramebuffer() -+{ -+ m_window_info.surface_width = m_gl_context->GetSurfaceWidth(); -+ m_window_info.surface_height = m_gl_context->GetSurfaceHeight(); -+ -+ if (m_display_rotation_framebuffer_fbo != 0) -+ { -+ glDeleteFramebuffers(1, &m_display_rotation_framebuffer_fbo); -+ m_display_rotation_framebuffer_fbo = 0; -+ glDeleteTextures(1, &m_display_rotation_framebuffer_texture); -+ m_display_rotation_framebuffer_texture = 0; -+ } -+ -+ if (m_display_rotation != Rotation::None) -+ { -+ if (m_display_rotation_framebuffer_texture == 0) -+ glGenTextures(1, &m_display_rotation_framebuffer_texture); -+ if (m_display_rotation_framebuffer_fbo == 0) -+ glGenFramebuffers(1, &m_display_rotation_framebuffer_fbo); -+ -+ if (m_display_rotation == Rotation::R90Degrees || m_display_rotation == Rotation::R270Degrees) -+ std::swap(m_window_info.surface_width, m_window_info.surface_height); -+ -+ GLint old_texture; -+ glGetIntegerv(GL_TEXTURE_BINDING_2D, &old_texture); -+ -+ glBindTexture(GL_TEXTURE_2D, m_display_rotation_framebuffer_texture); -+ -+ if (GLAD_GL_ARB_texture_storage || GLAD_GL_ES_VERSION_3_1) -+ { -+ glTexStorage2D(GL_TEXTURE_2D, 1, GL_RGBA8, m_window_info.surface_width, m_window_info.surface_height); -+ } -+ else -+ { -+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, m_window_info.surface_width, m_window_info.surface_height, 0, GL_RGBA, -+ GL_UNSIGNED_BYTE, nullptr); -+ } -+ -+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); -+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); -+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); -+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); -+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 1); -+ -+ const GLenum framebuffer_binding = m_use_gles2_draw_path ? GL_FRAMEBUFFER : GL_DRAW_FRAMEBUFFER; -+ GLint old_framebuffer; -+ glGetIntegerv(m_use_gles2_draw_path ? GL_FRAMEBUFFER_BINDING : GL_DRAW_FRAMEBUFFER_BINDING, &old_framebuffer); -+ -+ glBindFramebuffer(framebuffer_binding, m_display_rotation_framebuffer_fbo); -+ glFramebufferTexture2D(framebuffer_binding, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, -+ m_display_rotation_framebuffer_texture, 0); -+ Assert(glCheckFramebufferStatus(framebuffer_binding) == GL_FRAMEBUFFER_COMPLETE); -+ -+ glBindFramebuffer(framebuffer_binding, old_framebuffer); -+ glBindTexture(GL_TEXTURE_2D, old_texture); -+ } -+ -+ if (ImGui::GetCurrentContext()) -+ { -+ ImGui::GetIO().DisplaySize = -+ ImVec2(static_cast(m_window_info.surface_width), static_cast(m_window_info.surface_height)); -+ } -+} -+ - bool OpenGLHostDisplay::SupportsDisplayPixelFormat(HostDisplayPixelFormat format) const - { - const auto [gl_internal_format, gl_format, gl_type] = GetPixelFormatMapping(m_gl_context->IsGLES(), format); -@@ -435,7 +506,7 @@ bool OpenGLHostDisplay::InitializeRenderDevice(std::string_view shader_cache_dir - glDebugMessageCallback(GLDebugCallback, nullptr); - - glEnable(GL_DEBUG_OUTPUT); -- // glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); -+ glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS); - } - - if (!CreateResources()) -@@ -484,7 +555,17 @@ bool OpenGLHostDisplay::ChangeRenderWindow(const WindowInfo& new_wi) - return false; - } - -- m_window_info = m_gl_context->GetWindowInfo(); -+ m_window_info = new_wi; -+ m_window_info.surface_width = m_gl_context->GetSurfaceWidth(); -+ m_window_info.surface_height = m_gl_context->GetSurfaceHeight(); -+ -+ if (ImGui::GetCurrentContext()) -+ { -+ ImGui::GetIO().DisplaySize.x = static_cast(m_window_info.surface_width); -+ ImGui::GetIO().DisplaySize.y = static_cast(m_window_info.surface_height); -+ } -+ -+ UpdateDisplayRotationFramebuffer(); - return true; - } - -@@ -494,7 +575,16 @@ void OpenGLHostDisplay::ResizeRenderWindow(s32 new_window_width, s32 new_window_ - return; - - m_gl_context->ResizeSurface(static_cast(new_window_width), static_cast(new_window_height)); -- m_window_info = m_gl_context->GetWindowInfo(); -+ m_window_info.surface_width = m_gl_context->GetSurfaceWidth(); -+ m_window_info.surface_height = m_gl_context->GetSurfaceHeight(); -+ -+ if (ImGui::GetCurrentContext()) -+ { -+ ImGui::GetIO().DisplaySize.x = static_cast(m_window_info.surface_width); -+ ImGui::GetIO().DisplaySize.y = static_cast(m_window_info.surface_height); -+ } -+ -+ UpdateDisplayRotationFramebuffer(); - } - - bool OpenGLHostDisplay::SupportsFullscreen() const -@@ -560,12 +650,17 @@ bool OpenGLHostDisplay::CreateResources() - { - static constexpr char fullscreen_quad_vertex_shader[] = R"( - uniform vec4 u_src_rect; -+uniform mat2 u_rotation_matrix; - out vec2 v_tex0; - - void main() - { - vec2 pos = vec2(float((gl_VertexID << 1) & 2), float(gl_VertexID & 2)); -- v_tex0 = u_src_rect.xy + pos * u_src_rect.zw; -+ v_tex0 = (u_src_rect.xy + pos * u_src_rect.zw); -+ -+ vec2 center = vec2(0.5, 0.5); -+ v_tex0 = center + (u_rotation_matrix * (v_tex0 - center)); -+ - gl_Position = vec4(pos * vec2(2.0f, -2.0f) + vec2(-1.0f, 1.0f), 0.0f, 1.0f); - } - )"; -@@ -617,12 +712,14 @@ void main() - - m_display_program.Bind(); - m_display_program.RegisterUniform("u_src_rect"); -+ m_display_program.RegisterUniform("u_rotation_matrix"); - m_display_program.RegisterUniform("samp0"); -- m_display_program.Uniform1i(1, 0); -+ m_display_program.Uniform1i(2, 0); - m_cursor_program.Bind(); - m_cursor_program.RegisterUniform("u_src_rect"); -+ m_cursor_program.RegisterUniform("u_rotation_matrix"); - m_cursor_program.RegisterUniform("samp0"); -- m_cursor_program.Uniform1i(1, 0); -+ m_cursor_program.Uniform1i(2, 0); - - glGenVertexArrays(1, &m_display_vao); - -@@ -749,7 +846,7 @@ bool OpenGLHostDisplay::Render() - } - - glDisable(GL_SCISSOR_TEST); -- glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); -+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, m_display_rotation_framebuffer_fbo); - glClearColor(0.0f, 0.0f, 0.0f, 1.0f); - glClear(GL_COLOR_BUFFER_BIT); - -@@ -760,6 +857,12 @@ bool OpenGLHostDisplay::Render() - - RenderSoftwareCursor(); - -+ if (m_display_rotation_framebuffer_fbo != 0) -+ { -+ glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); -+ RenderRotatedFramebuffer(); -+ } -+ - m_gl_context->SwapBuffers(); - return true; - } -@@ -833,6 +936,13 @@ void OpenGLHostDisplay::RenderDisplay() - m_display_texture_view_width, m_display_texture_view_height, m_display_linear_filtering); - } - -+static const std::array, static_cast(HostDisplay::Rotation::Count)> s_rotation_matrices = {{ -+ {{1.0f, 0.0f, 0.0f, 1.0f}}, -+ {{0.0f, 1.0f, 1.0f, 0.0f}}, -+ {{-1.0f, 0.0f, 0.0f, 1.0f}}, -+ {{0.0f, -1.0f, -1.0f, 0.0f}}, -+}}; -+ - static void DrawFullscreenQuadES2(s32 tex_view_x, s32 tex_view_y, s32 tex_view_width, s32 tex_view_height, - s32 tex_width, s32 tex_height) - { -@@ -879,6 +989,8 @@ void OpenGLHostDisplay::RenderDisplay(s32 left, s32 bottom, s32 width, s32 heigh - (static_cast(texture_view_y) + (position_adjust * flip_adjust)) / static_cast(texture_height), - (static_cast(texture_view_width) - size_adjust) / static_cast(texture_width), - (static_cast(texture_view_height) - (size_adjust * flip_adjust)) / static_cast(texture_height)); -+ glUniformMatrix2fv(m_display_program.GetUniformLocation(1), 1, GL_TRUE, -+ s_rotation_matrices[static_cast(HostDisplay::Rotation::None)].data()); - glBindSampler(0, linear_filter ? m_display_linear_sampler : m_display_nearest_sampler); - glBindVertexArray(m_display_vao); - glDrawArrays(GL_TRIANGLES, 0, 3); -@@ -894,6 +1006,30 @@ void OpenGLHostDisplay::RenderDisplay(s32 left, s32 bottom, s32 width, s32 heigh - } - } - -+void OpenGLHostDisplay::RenderRotatedFramebuffer() -+{ -+ const u32 width = m_gl_context->GetSurfaceWidth(); -+ const u32 height = m_gl_context->GetSurfaceHeight(); -+ -+ glViewport(0, 0, width, height); -+ glDisable(GL_BLEND); -+ glDisable(GL_CULL_FACE); -+ glDisable(GL_DEPTH_TEST); -+ glDisable(GL_SCISSOR_TEST); -+ glDepthMask(GL_FALSE); -+ -+ glClear(GL_COLOR_BUFFER_BIT); -+ -+ m_display_program.Bind(); -+ m_display_program.Uniform4f(0, 0.0f, 0.0f, 1.0f, 1.0f); -+ glUniformMatrix2fv(m_display_program.GetUniformLocation(1), 1, GL_TRUE, -+ s_rotation_matrices[static_cast(m_display_rotation)].data()); -+ glBindTexture(GL_TEXTURE_2D, m_display_rotation_framebuffer_texture); -+ -+ glBindVertexArray(m_display_vao); -+ glDrawArrays(GL_TRIANGLES, 0, 3); -+} -+ - void OpenGLHostDisplay::RenderSoftwareCursor() - { - if (!HasSoftwareCursor()) -diff --git a/src/frontend-common/opengl_host_display.h b/src/frontend-common/opengl_host_display.h -index 23e8d700..585ab4b5 100644 ---- a/src/frontend-common/opengl_host_display.h -+++ b/src/frontend-common/opengl_host_display.h -@@ -51,6 +51,8 @@ public: - - bool SetPostProcessingChain(const std::string_view& config) override; - -+ bool SetDisplayRotation(Rotation rotation) override; -+ - std::unique_ptr CreateTexture(u32 width, u32 height, u32 layers, u32 levels, u32 samples, - HostDisplayPixelFormat format, const void* data, u32 data_stride, - bool dynamic = false) override; -@@ -83,6 +85,8 @@ protected: - - void BindDisplayPixelsTexture(); - void UpdateDisplayPixelsTextureFilter(); -+ void UpdateDisplayRotationFramebuffer(); -+ void RenderRotatedFramebuffer(); - - void RenderDisplay(); - void RenderImGui(); -@@ -121,6 +125,9 @@ protected: - u32 m_display_pixels_texture_pbo_map_size = 0; - std::vector m_gles_pixels_repack_buffer; - -+ GLuint m_display_rotation_framebuffer_texture = 0; -+ GLuint m_display_rotation_framebuffer_fbo = 0; -+ - PostProcessingChain m_post_processing_chain; - GL::Texture m_post_processing_input_texture; - std::unique_ptr m_post_processing_ubo; diff --git a/packages/emulators/standalone/duckstation-sa/patches/legacy/005-add-hotkeys.patch b/packages/emulators/standalone/duckstation-sa/patches/legacy/005-add-hotkeys.patch deleted file mode 100755 index 4ad1c30ac..000000000 --- a/packages/emulators/standalone/duckstation-sa/patches/legacy/005-add-hotkeys.patch +++ /dev/null @@ -1,110 +0,0 @@ -diff --git a/src/frontend-common/sdl_controller_interface.cpp b/src/frontend-common/sdl_controller_interface.cpp -index 20e81daf..1deac2ce 100644 ---- a/src/frontend-common/sdl_controller_interface.cpp -+++ b/src/frontend-common/sdl_controller_interface.cpp -@@ -6,6 +6,7 @@ - #include "core/host_interface.h" - #include "core/system.h" - #include "sdl_initializer.h" -+#include "fullscreen_ui.h" - #include - #include - Log_SetChannel(SDLControllerInterface); -@@ -93,6 +94,8 @@ void SDLControllerInterface::PollEvents() - - bool SDLControllerInterface::ProcessSDLEvent(const SDL_Event* event) - { -+ if (m_slots < 0) { m_host_interface->AddOSDMessage("State Slot set to #0", 5.f); m_slots = 0; } -+ - switch (event->type) - { - case SDL_CONTROLLERDEVICEADDED: -@@ -204,6 +207,7 @@ bool SDLControllerInterface::OpenGameController(int index) - cd.joystick_id = joystick_id; - cd.haptic_left_right_effect = -1; - cd.game_controller = gcontroller; -+ cd.hotkey_down = false; - - #if SDL_VERSION_ATLEAST(2, 0, 9) - cd.use_game_controller_rumble = (SDL_GameControllerRumble(gcontroller, 0, 0, 0) == 0); -@@ -712,15 +716,59 @@ bool SDLControllerInterface::HandleControllerButtonEvent(const SDL_ControllerBut - m_host_interface->SetControllerNavigationButtonState(nav_button_mapping[ev->button], pressed); - } - -+ if (ev->button >= MAX_NUM_BUTTONS) -+ return false; -+ -+ //------ Mimic Retroarch -+ if (ev->button == SDL_CONTROLLER_BUTTON_GUIDE || ev->button == SDL_CONTROLLER_BUTTON_BACK) it->hotkey_down = pressed; -+ else if (it->hotkey_down) -+ { -+ if (!pressed) -+ switch(ev->button) -+ { -+ case SDL_CONTROLLER_BUTTON_A : m_host_interface->SaveScreenshot(); break; -+ case SDL_CONTROLLER_BUTTON_B : m_host_interface->ResetSystem(); break; -+ case SDL_CONTROLLER_BUTTON_X : if (FullscreenUI::HasActiveWindow()) FullscreenUI::CloseQuickMenu(); else FullscreenUI::OpenQuickMenu(); break; -+ case SDL_CONTROLLER_BUTTON_Y : m_host_interface->ToggleWidescreen(); break; -+ case SDL_CONTROLLER_BUTTON_START : -+ case SDL_CONTROLLER_BUTTON_LEFTSTICK : -+ case SDL_CONTROLLER_BUTTON_RIGHTSTICK : break; -+ case SDL_CONTROLLER_BUTTON_LEFTSHOULDER : m_host_interface->LoadState(false, m_slots); break; -+ case SDL_CONTROLLER_BUTTON_RIGHTSHOULDER: m_host_interface->SaveState(false, m_slots); break; -+ case SDL_CONTROLLER_BUTTON_DPAD_UP : m_slots = ++m_slots % 10; m_host_interface->AddOSDMessage(std::string("State Slot set to #") + (char)(0x30 + m_slots), 5.f); break; -+ case SDL_CONTROLLER_BUTTON_DPAD_DOWN : m_slots = (m_slots + 9) % 10; m_host_interface->AddOSDMessage(std::string("State Slot set to #") + (char)(0x30 + m_slots), 5.f); break; -+ case SDL_CONTROLLER_BUTTON_DPAD_LEFT : m_host_interface->SetRewindState(!System::IsRewinding()); break; -+ case SDL_CONTROLLER_BUTTON_DPAD_RIGHT : m_host_interface->SetFastForwardEnabled(!m_host_interface->IsFastForwardEnabled()); break; -+ default: break; -+ } -+ else -+ switch(ev->button) -+ { -+ case SDL_CONTROLLER_BUTTON_START : m_host_interface->RequestExit(); break; -+ case SDL_CONTROLLER_BUTTON_A : -+ case SDL_CONTROLLER_BUTTON_B : -+ case SDL_CONTROLLER_BUTTON_X : -+ case SDL_CONTROLLER_BUTTON_Y : -+ case SDL_CONTROLLER_BUTTON_LEFTSTICK : -+ case SDL_CONTROLLER_BUTTON_RIGHTSTICK : -+ case SDL_CONTROLLER_BUTTON_LEFTSHOULDER : -+ case SDL_CONTROLLER_BUTTON_RIGHTSHOULDER: -+ case SDL_CONTROLLER_BUTTON_DPAD_UP : -+ case SDL_CONTROLLER_BUTTON_DPAD_DOWN : -+ case SDL_CONTROLLER_BUTTON_DPAD_LEFT : -+ case SDL_CONTROLLER_BUTTON_DPAD_RIGHT : -+ default: break; -+ } -+ -+ return true; -+ } -+ - if (m_host_interface->IsControllerNavigationActive()) - { - // UI consumed the event - return true; - } - -- if (ev->button >= MAX_NUM_BUTTONS) -- return false; -- - const ButtonCallback& cb = it->button_mapping[ev->button]; - if (cb) - { -diff --git a/src/frontend-common/sdl_controller_interface.h b/src/frontend-common/sdl_controller_interface.h -index 06963a5c..ffc2ffac 100644 ---- a/src/frontend-common/sdl_controller_interface.h -+++ b/src/frontend-common/sdl_controller_interface.h -@@ -57,6 +57,7 @@ private: - int joystick_id; - int player_id; - bool use_game_controller_rumble; -+ bool hotkey_down; - - float deadzone = 0.25f; - -@@ -93,4 +94,5 @@ private: - Hook::Callback m_event_intercept_callback; - - bool m_sdl_subsystem_initialized = false; -+ int m_slots = -1; - }; diff --git a/packages/emulators/standalone/duckstation-sa/patches/legacy/006-maxbuttons.patch b/packages/emulators/standalone/duckstation-sa/patches/legacy/006-maxbuttons.patch deleted file mode 100755 index 7d6082305..000000000 --- a/packages/emulators/standalone/duckstation-sa/patches/legacy/006-maxbuttons.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/src/frontend-common/controller_interface.h b/src/frontend-common/controller_interface.h -index f97d0f6..563b5f4 100644 ---- a/src/frontend-common/sdl_controller_interface.h -+++ b/src/frontend-common/sdl_controller_interface.h -@@ -46,7 +46,7 @@ - enum : int - { - MAX_NUM_AXES = 7, -- MAX_NUM_BUTTONS = 16, -+ MAX_NUM_BUTTONS = 256, - }; - - struct ControllerData diff --git a/packages/emulators/standalone/duckstation-sa/patches/legacy/007-inhibit-vulkan.patch b/packages/emulators/standalone/duckstation-sa/patches/legacy/007-inhibit-vulkan.patch deleted file mode 100755 index 17ed4dca7..000000000 --- a/packages/emulators/standalone/duckstation-sa/patches/legacy/007-inhibit-vulkan.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/src/duckstation-nogui/nogui_host_interface.cpp b/src/duckstation-nogui/nogui_host_interface.cpp -index a8e4ddf2..eda7baa3 100644 ---- a/src/duckstation-nogui/nogui_host_interface.cpp -+++ b/src/duckstation-nogui/nogui_host_interface.cpp -@@ -105,10 +105,10 @@ bool NoGUIHostInterface::CreateDisplay(bool fullscreen) - Assert(!m_display); - switch (g_settings.gpu_renderer) - { -- case GPURenderer::HardwareVulkan: -+/* case GPURenderer::HardwareVulkan: - m_display = std::make_unique(); - break; -- -+*/ - case GPURenderer::HardwareOpenGL: - #ifndef _WIN32 - default: diff --git a/packages/emulators/tools/jstest-sdl/package.mk b/packages/emulators/tools/jstest-sdl/package.mk index af5e78108..fc7632a01 100644 --- a/packages/emulators/tools/jstest-sdl/package.mk +++ b/packages/emulators/tools/jstest-sdl/package.mk @@ -5,7 +5,7 @@ PKG_NAME="jstest-sdl" PKG_VERSION="f4fdf6daae687d19b303d8ba8809ff5a68bc33a4" PKG_LICENSE="MIT" -PKG_SITE="https://github.com/JustEnoughLinuxOS/jstest-sdl" +PKG_SITE="https://github.com/ROCKNIX/jstest-sdl" PKG_URL="${PKG_SITE}.git" PKG_DEPENDS_TARGET="toolchain SDL2 ncurses" PKG_SHORTDESC="Simple SDL joystick test application for the console" diff --git a/packages/graphics/giflib/package.mk b/packages/graphics/giflib/package.mk deleted file mode 100644 index ac0f3eeca..000000000 --- a/packages/graphics/giflib/package.mk +++ /dev/null @@ -1,19 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv) - -PKG_NAME="giflib" -PKG_VERSION="5.1.4" -PKG_SHA256="df27ec3ff24671f80b29e6ab1c4971059c14ac3db95406884fc26574631ba8d5" -PKG_LICENSE="OSS" -PKG_SITE="http://giflib.sourceforge.net/" -PKG_URL="${SOURCEFORGE_SRC}/giflib/${PKG_NAME}-${PKG_VERSION}.tar.bz2" -PKG_DEPENDS_HOST="zlib:host" -PKG_DEPENDS_TARGET="toolchain zlib" -PKG_LONGDESC="giflib: giflib service library" - -PKG_CONFIGURE_OPTS_HOST="--disable-shared --enable-static" -PKG_CONFIGURE_OPTS_TARGET="--with-sysroot=${SYSROOT_PREFIX}" - -post_makeinstall_target() { - rm -rf ${INSTALL}/usr/bin -} diff --git a/packages/graphics/giflib/patches/giflib-01-fix-reallocarray-exception.patch b/packages/graphics/giflib/patches/giflib-01-fix-reallocarray-exception.patch deleted file mode 100644 index f2158c66c..000000000 --- a/packages/graphics/giflib/patches/giflib-01-fix-reallocarray-exception.patch +++ /dev/null @@ -1,34 +0,0 @@ ---- a/lib/dgif_lib.c -+++ b/lib/dgif_lib.c -@@ -23,6 +23,8 @@ - #include "gif_lib.h" - #include "gif_lib_private.h" - -+extern void *reallocarray(void *optr, size_t nmemb, size_t size); -+ - /* compose unsigned little endian value */ - #define UNSIGNED_LITTLE_ENDIAN(lo, hi) ((lo) | ((hi) << 8)) - ---- a/lib/gif_lib.h -+++ b/lib/gif_lib.h -@@ -244,9 +244,6 @@ - GifPixelType ColorTransIn2[]); - extern int GifBitSize(int n); - --extern void * --reallocarray(void *optr, size_t nmemb, size_t size); -- - /****************************************************************************** - Support for the in-core structures allocation (slurp mode). - ******************************************************************************/ ---- a/lib/gifalloc.c -+++ b/lib/gifalloc.c -@@ -10,6 +10,8 @@ - - #include "gif_lib.h" - -+extern void *reallocarray(void *optr, size_t nmemb, size_t size); -+ - #define MAX(x, y) (((x) > (y)) ? (x) : (y)) - - /****************************************************************************** diff --git a/packages/graphics/gl4es/package.mk b/packages/graphics/gl4es/package.mk deleted file mode 100644 index a1438584c..000000000 --- a/packages/graphics/gl4es/package.mk +++ /dev/null @@ -1,37 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2021-present Shanti Gilbert (https://github.com/shantigilbert) -# Copyright (C) 2021-present 351ELEC (https://github.com/351ELEC) -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -PKG_NAME="gl4es" -PKG_LICENSE="GPL" -PKG_URL="${PKG_SITE}.git" -PKG_DEPENDS_TARGET="toolchain ${OPENGLES}" -PKG_LONGDESC="OpenGL 2.x functionality for GLES2.0 accelerated Hardware" -PKG_TOOLCHAIN="cmake-make" - -case ${DEVICE} in - S922X) - PKG_SITE="https://github.com/JohnnyonFlame/gl4es" - PKG_URL="${PKG_SITE}.git" - PKG_VERSION="17a7876ae76eb7b50ff375d80abd35018e58a50d" - PKG_GIT_CLONE_BRANCH="ge2d" - ;; - *) - PKG_SITE="https://github.com/ptitSeb/gl4es" - PKG_URL="${PKG_SITE}.git" - PKG_VERSION="e39434a2b17d12be569a1406f3bd23ac6a231347" - ;; -esac - - -pre_configure_target() { - PKG_CMAKE_OPTS_TARGET=" -DGBM=ON -DCMAKE_BUILD_TYPE=Release " - if [ ! "${DISPLAYSERVER}" = "x11" ] - then - PKG_CMAKE_OPTS_TARGET+=" -DNOX11=ON" - else - PKG_DEPENDS_TARGET+=" libX11" - fi - PKG_CMAKE_OPTS_TARGET+=" -DGLX_STUBS=ON -DEGL_WRAPPER=ON -DGBM=ON" -} diff --git a/packages/graphics/libde265/package.mk b/packages/graphics/libde265/package.mk deleted file mode 100644 index f460623f5..000000000 --- a/packages/graphics/libde265/package.mk +++ /dev/null @@ -1,22 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) - -PKG_NAME="libde265" -PKG_VERSION="a267c84" -PKG_LICENSE="LGPLv3" -PKG_SITE="http://www.libde265.org" -PKG_URL="https://github.com/strukturag/libde265/archive/${PKG_VERSION}.tar.gz" -PKG_DEPENDS_TARGET="toolchain" -PKG_LONGDESC="Open h.265 video codec implementation." -PKG_BUILD_FLAGS="+pic" -PKG_TOOLCHAIN="configure" - -PKG_CONFIGURE_OPTS_TARGET="--enable-static \ - --disable-shared \ - --disable-encoder \ - --disable-sherlock265" - -pre_configure_target() { - cd .. - ./autogen.sh -} diff --git a/packages/graphics/libmali/package.mk b/packages/graphics/libmali/package.mk deleted file mode 100644 index 21bd24361..000000000 --- a/packages/graphics/libmali/package.mk +++ /dev/null @@ -1,39 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv) -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -PKG_NAME="libmali" -PKG_ARCH="arm aarch64" -PKG_LICENSE="nonfree" -PKG_SITE="https://github.com/JustEnoughLinuxOS/libmali" -PKG_URL="${PKG_SITE}.git" -PKG_VERSION="0c1c1b8e3a687fd10df38935c4dff9ab90285a09" -MALI_LIB_VERSION="1.9.0" -GET_HANDLER_SUPPORT="git" -PKG_DEPENDS_TARGET="toolchain libdrm" -PKG_LONGDESC="OpenGL ES user-space binary for the ARM Mali GPU family" -PKG_PATCH_DIRS+="${DEVICE}" - -if [ "${TARGET_ARCH}" = "aarch64" ]; then - INSTARCH="aarch64-linux-gnu" -elif [ "${TARGET_ARCH}" = "arm" ]; then - INSTARCH="arm-linux-gnueabihf" -fi - -PKG_CMAKE_OPTS_TARGET+=" -DMALI_ARCH=${INSTARCH}" - -PKG_MESON_OPTS_TARGET+=" -Darch=${TARGET_ARCH} \ - -Dgpu=${MALI_FAMILY} \ - -Dversion=${MALI_VERSION} \ - -Dplatform=gbm \ - -Dkhr-header=true" - -post_makeinstall_target() { - for lib in libEGL.so.1 libgbm.so.1 libGLESv1_CM.so.1 libGLESv2.so.2 libMaliOpenCL.so.1 - do - rm -f ${PKG_BUILD}/.install_pkg/usr/lib/${lib} - ln -s libmali.so.${MALI_LIB_VERSION} ${PKG_BUILD}/.install_pkg/usr/lib/${lib} - rm -f ${SYSROOT_PREFIX}/usr/lib/${lib} - ln -s libmali.so.${MALI_LIB_VERSION} ${SYSROOT_PREFIX}/usr/lib/${lib} - done -} diff --git a/packages/graphics/libmali/system.d/libmali-setup.service b/packages/graphics/libmali/system.d/libmali-setup.service deleted file mode 100644 index b1eb1b42d..000000000 --- a/packages/graphics/libmali/system.d/libmali-setup.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Setup symlink for ARM Mali library -Before=graphical.target -After=multi-user.target - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/usr/bin/libmali-setup - -[Install] -WantedBy=multi-user.target diff --git a/projects/Amlogic/options b/projects/Amlogic/options index b554ed5a8..a82fe6004 100644 --- a/projects/Amlogic/options +++ b/projects/Amlogic/options @@ -29,7 +29,7 @@ # OpenGL(X) implementation to use (no / mesa) OPENGL="mesa" - # OpenGL-ES implementation to use (no / libmali / mesa) + # OpenGL-ES implementation to use (no / mesa) OPENGLES="mesa" # Displayserver to use (no / wl) diff --git a/projects/Rockchip/devices/RK3326/options b/projects/Rockchip/devices/RK3326/options index a9a1dddae..9b151e9dc 100644 --- a/projects/Rockchip/devices/RK3326/options +++ b/projects/Rockchip/devices/RK3326/options @@ -50,9 +50,6 @@ # Define the CPU HW_CPU="Rockchip RK3326" - # Display Resolution - SPLASH_RESOLUTION="320x480" - # Mali GPU family MALI_FAMILY="bifrost-g31" GRAPHIC_DRIVERS="panfrost" diff --git a/projects/Rockchip/devices/RK3399/options b/projects/Rockchip/devices/RK3399/options index 7fa0eea4d..753e30ef0 100644 --- a/projects/Rockchip/devices/RK3399/options +++ b/projects/Rockchip/devices/RK3399/options @@ -49,9 +49,6 @@ # Define the CPU HW_CPU="Rockchip RK3399" - # Display Resolution - SPLASH_RESOLUTION="1152x1920" - # Mali GPU family MALI_FAMILY="t860" GRAPHIC_DRIVERS="panfrost" diff --git a/projects/Rockchip/devices/RK3566/options b/projects/Rockchip/devices/RK3566/options index a93db8109..aee0ae00e 100644 --- a/projects/Rockchip/devices/RK3566/options +++ b/projects/Rockchip/devices/RK3566/options @@ -52,9 +52,7 @@ # Mali GPU family MALI_FAMILY="bifrost-g52" - # MALI_VERSION="g2p0" - # OPENGLES="libmali" - VULKAN_SUPPORT="" + GRAPHIC_DRIVERS="panfrost" # OpenGL(X) implementation to use (mesa / no) OPENGL="mesa" @@ -62,14 +60,15 @@ # OpenGL-ES implementation to use (mesa / no) OPENGLES="mesa" - GRAPHIC_DRIVERS="panfrost" - # Displayserver to use (weston / x11 / no) DISPLAYSERVER="wl" # Windowmanager to use (fluxbox / weston / no) WINDOWMANAGER="weston" + # Pipewire audio support (yes / no) + PIPEWIRE_SUPPORT="yes" + # debug tty path DEBUG_TTY="/dev/ttyS2" @@ -99,7 +98,7 @@ # driver addons to install: # for a list of additinoal drivers see packages/linux-driver-addons # Space separated list is supported, - DRIVER_ADDONS="" #dvb-latest + DRIVER_ADDONS="" # build and install bluetooth support (yes / no) BLUETOOTH_SUPPORT="yes" diff --git a/projects/Rockchip/options b/projects/Rockchip/options index 339260ee4..768538701 100755 --- a/projects/Rockchip/options +++ b/projects/Rockchip/options @@ -27,10 +27,10 @@ ################################################################################ # OpenGL(X) implementation to use (no / mesa) - OPENGL="no" + OPENGL="mesa" - # OpenGL-ES implementation to use (no / libmali / mesa) - OPENGLES="libmali" + # OpenGL-ES implementation to use (no / mesa) + OPENGLES="mesa" # include uvesafb support (yes / no) UVESAFB_SUPPORT="no" From c99dfc49b4529dd374e90c85b7dd2c45c9cfe2d5 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Sat, 23 Mar 2024 06:05:33 +0000 Subject: [PATCH 07/77] Working on Panthor driver --- packages/graphics/mesa/package.mk | 11 +- .../kernel-firmware/firmwares/any.dat | 3 + .../libmali_rk3588/firmware/mali_csffw.bin | Bin 274432 -> 0 bytes .../kernel/firmware/libmali_rk3588/package.mk | 24 - packages/kernel/linux/package.mk | 6 +- .../devices/RK3588/linux/linux.aarch64.conf | 2225 +++++---- projects/Rockchip/devices/RK3588/options | 2 +- .../linux/RK3588/001-hx8399c-panel.patch | 2 +- .../patches/linux/RK3588/003-audio-fix.patch | 49 +- .../patches/linux/RK3588/005-pll-clock.patch | 29 - .../linux/RK3588/005-polldev-driver.patch | 484 ++ .../patches/linux/RK3588/007-dmc-fixes.patch | 126 - .../linux/RK3588/007-rotation-quirk.patch | 12 + .../linux/RK3588/008-simple-panel.patch | 4018 +++++++++++++++++ .../linux/RK3588/999-remove-log-spam.patch | 14 - 15 files changed, 5970 insertions(+), 1035 deletions(-) delete mode 100755 packages/kernel/firmware/libmali_rk3588/firmware/mali_csffw.bin delete mode 100755 packages/kernel/firmware/libmali_rk3588/package.mk delete mode 100644 projects/Rockchip/patches/linux/RK3588/005-pll-clock.patch create mode 100644 projects/Rockchip/patches/linux/RK3588/005-polldev-driver.patch delete mode 100644 projects/Rockchip/patches/linux/RK3588/007-dmc-fixes.patch create mode 100644 projects/Rockchip/patches/linux/RK3588/007-rotation-quirk.patch create mode 100644 projects/Rockchip/patches/linux/RK3588/008-simple-panel.patch delete mode 100644 projects/Rockchip/patches/linux/RK3588/999-remove-log-spam.patch diff --git a/packages/graphics/mesa/package.mk b/packages/graphics/mesa/package.mk index 2ac406dc4..b04a06c93 100644 --- a/packages/graphics/mesa/package.mk +++ b/packages/graphics/mesa/package.mk @@ -10,15 +10,8 @@ PKG_TOOLCHAIN="meson" PKG_PATCH_DIRS+=" ${DEVICE}" case ${DEVICE} in - RK3588*) - PKG_VERSION="120202c675749c5ef81ae4c8cdc30019b4de08f4" - PKG_SITE="https://gitlab.com/panfork/mesa" - PKG_URL="${PKG_SITE}.git" - PKG_GIT_CLONE_BRANCH="csf" - ;; - # keep RK3399 and RK-ARMV8-A on same version to maintain cross comaptibility - RK33*|RK-ARMV8-A|RK3566) #Using upstream dev for panfrost - PKG_VERSION="0b953bdbb81439c3d812631282429feeaf393db8" + RK3*) #Using upstream dev for panfrost + PKG_VERSION="b8ffa9f956c4bcb416a0ad94d8b65ce050a05357" PKG_SITE="https://gitlab.freedesktop.org/mesa/mesa" PKG_URL="${PKG_SITE}.git" PKG_PATCH_DIRS+=" panfrost" diff --git a/packages/kernel/firmware/kernel-firmware/firmwares/any.dat b/packages/kernel/firmware/kernel-firmware/firmwares/any.dat index d036e214a..7f6f751d7 100644 --- a/packages/kernel/firmware/kernel-firmware/firmwares/any.dat +++ b/packages/kernel/firmware/kernel-firmware/firmwares/any.dat @@ -19,3 +19,6 @@ ath6k/AR6004/hw1.?/bdata.bin ath9k_htc/* brcm/* rt*/* + +#Panthor GPU firmware +arm/mali* diff --git a/packages/kernel/firmware/libmali_rk3588/firmware/mali_csffw.bin b/packages/kernel/firmware/libmali_rk3588/firmware/mali_csffw.bin deleted file mode 100755 index 710d362c28cbfd6a2100c24a159d4fc83f4bd22c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 274432 zcmeFad3aPsx<6j$oZixDk`8Nt2&WU44xl!h2A$Dfl9K>|gd}Kibm*{lkfm9aIOCNQ zgb|mS35sI?X9gV|ar8=p%LSE5RCHWtx&gho&9w9N3h8+7oOBjW5=g$E_nhu5fZnb-VQX>6iNfld0eI zXNL1_SQorw%Sy3w%gRj^TQ+PGH{Y>2xN`jpar2gn)hor#w^s(mbrqX$r~FjbFrcio zsbclImFu_sGljVvCR+xSEvsC+a??LikP}(s7vtU3Jaw2AZdfhexpLF84Vx>s+(mIt z^ap=7)NO|w4wnv>0Y`tUw%)O26@078>7GTi0$_4PTh1x9>(;E?fazAzU%sOr$Scxqf+IUBxCs zAo4cCW93M@70wU00`6LmTKwxCq-%?P}ln#xhZd9+0waXc_mBdE}UC7*HgIE zSF~_pp08|f(ZW&+~|sB*Koe8c+nE0=FsxkB8sL0q+A?b;1nE7z|EU}&ADp1W`^ z{c-5GUPCQy4RQd7xtbYQ5iRk&Qs{fz7Sjx>U=j&92MT?JK>sZeQu(x=o4Ru#Agp z*C7Y+@kVH>iEtO;)K{86xRo?5PyXO$jEE$pu`&1<*ay9p)$ukcTb5QnK^)q+`AQ3J zo+}M*X1JD(;s>_`qKpsET$Y3H!HosBR<1&q$kUrl1XkV&Zn$()#a2Ynh%rJ8QRPM5 z)ktX2h>b+1KH3>HZUZP~#zl}^hEga>qZ_Rb0z)IU%a5zaw`lR)l01!~Svo5BEZ=xX zC3s+>7IE2KM6Ls=b<#yJ#0U6NP#EFx^6i%773O(L2eezVa_!2B&HsIb0SAf?n3mO7w4iu#S>9zb6Cc(osIOkB#FM`OT;ejh z!893!jX_n%GujZnW$n_wsYs=1Jo?B6U@t5xSpbH!peR=d<>E2~ITrpwWr|CR%D|oS za=*J6^?_Kzz@|zI^YV)4F3d-?j!N*J_}rqHp>TS3&<5sHQE_ozE+uGa@6S6JmwkCJ zU-4i#w9Jc3i}M!dUOqb^ljcl69N@|e<}UPPHn#@+;u_yE6d1vIR>C5lFrmK$>DA z+@-}z3p@aCX{mQ(;Qo~M4b0N-Duji4z%(Ls zmn>em(BmzVXr^E4$c!JCfs zcv%|EfeR{v1B=9$?(Z)`qtg#yyvRTRFKJ{j|Bja^@Dze!Y5-hPfQF%;dImw2pnyxt z5biGltJt%+G*N=cUt6na$-ZN=*78NG%Ak&4oPRKz)t0P*y}mg6;7<2v|1NN-&ljzT z-v>Q)_oD2C(eJ8#FjZ;L4491y&p$n0X19r#It@+V^Ybq#^8}N%9A-{tOPn%$#-P{p zRkqCj1b3Tpu#$tKX)(5$Q7f(NAS&+$yt2x5z9NuHj$$>v}OLvvv2$ z?AZM>`}B(HLFLf&|Nr+-VBie!zjL3=Htd(#Bag}K=kRwwF0=h`pZ{8BXW*v(26PQK z>VVu=BXJI52mkCJv64g?7rtq8JWVg0h&HIN^8CTqc)t8~zOQOZ)c#0bp;(Hz*clj` zxLG6);3+FA5ht#&V!5K7*}yMx)5_JAo3WyctDrx!vZOcr)p1zqcSrlKy`brN@yLbJ-2B0D5Xf?& zH^?n2D)HtOLXP*8&L5m(Eaiz-UMTjIHyQZB}vURQj(*q5lqLf9`ZnhRBv zhKs>zix%fChMuQr@xuNZbrf7gU}$!5NkaL+$U*oXn4neHCxUxH{$(Xg5_Ofht`kL? zXgO74$@Br=GX{Lm?EAK|l39HLv1Imu?`sBpU)%SM0@G1dyoJ)@z67zbr2o6v*Y}MA zIeh`KWX^!^>43ElRKTi#_j8T15>N3`pOnAUwY0EE>)_h8#6RMg=}Vse{mC=FKY8Y5 zlYI-Y^(-p^a&x~o{c?ciEm&NLjc(CGs3A*H$DllY6V{WPOZ(cvse`EdvN?3Rq|M;c z?@sTdP)}iD(anRK7)-(?d7j)QgEEMTKSo4!oyhX4mahzwhW0uUD*%%!?pV7;tXQ#P z)5^`8^+Br=wY>PqYZ6+<{^4mq6 zQ&b=qVOlI(Qk*A34M02wANl}`Ow@P>4o^ts#Bd&fUz?*^JI`WvH_kQma1dn~lbL-A zr=`cws`&I{ycX8ZkLWB3`KUadRUwV9fd(N1VeM>5r1T^$9D}Sqq+VuS@Zb7_%x3X2 zyYjHizJ=fYip;zwnca`D#Uito-^=V>_>}J(__zJ5%&L;~_?O^Q*kskiZP)7g_#8cc z7knz$_yd`3{GH7Ho($RNNtww%l-cw{GV6d(@w0A#EcBGj4#3~=w9H1{sQa$C|4!V$ z$F0Zz*rV6`E_`a=>(#?QgHPepaes|ZuRkMKPtS!<>3_}B!!h_2c1wD`KfZ_3x> zAA(Qt{Z~9(SD?p#3!mc0%+~q~;_=WC|{8IOq{Z%jj z0P>AED6{h!dOg-F^m<|0?d!OR3iS_YQn2-!`(E{Y!()F84PMeDEm|v=;ZhalbI`2jc!u;{F41 z|5tJUZ>lZCE4#W`0n7hr7H|$e>5g*3ezPSkL>8%r>)mie$9I0rw;1>-^=T@1J%cM5 z*BLHSU}un@6yW^&SGb7{ZG_W9|8Hu!vPmft4prB!l{U2UhNmT8Y=WsUwx_Z%R(m_z zu^x{xQ)7(JhMW3{YLV01*o~>7qBiDo`9D>e`*W2Qzo)VToN{-!C<%@!5~n=Yd8CD< zo(VtGVndC`&MLpuTiMyy3KNgVc*X@-wngH0Gv!D%6Qz#EtfIC@<_k4UY>cri%E8(j zgRF+DZ8S4wU$wATFUOjzSxA-bA(io*n<+o97HSDrH^Q*OIDk~XqRc{RnL<|M6- zW{I&D&QhyF$=sbhooh}q>``~vf8iCw2-g%TT=Es^PKh z>q)EA5@O2k9^_OqdlD&0?ZYaMwm(wzmvF{cR6}9xz?{O^Qv^NXUgRZK<;h^qwBYct z7duEG$h4b)nYj7*$3!Bn1lG_O|WYnDR4O5N%3M=aC3gX7>!vQypc71E8J1 zIo(>1hbvsFTlrXym=>KPI6X0oK-566@{$|~mxqc`#yB>_CJ^=w9V4Tb)Rd4X_B=)% zHWKOtCg+Rw1VzwIy>LcN7H*bx8h@JV`8v!gk91Qi^^{#nkXrmRLg<&Np|$9jk9Iw+ zxI4<1puI_TU2HVM-qoD(H|)XapE&II>elROy$=9#eDaGI-i zTezBSZ8yEpKR1(nye9ZBzc=4=-uPIi!nt1=!f~b+PW|@suMSC**`qk3|n*xp~FQmC=`sDyq zHuty!=|`+*WOCHYRv^2(UWCt6V!|8T+_-BLuW@o!CKDYAc z>SAz@x_px)N{gf!+N?5MHS)AY{M%WRB23T8Nn+&^=io9qMd`jWQVfp!N_V+5M9J(; z#DCpQvCnnS@7Se{W2lK`&F|Quk7;0jN456Fsv6BgxL7hN5j6?*7?sVvMy+dwhen0| z1jJmGN8vaw_{%diJ{U7YVvO9Cr_?(8DfNhWN`2jBR8o4s#E26`V6Ac!H5>=L+!-pv zfV)%b0VXPD@i_c}V_m&P!=d8q?k_L<6Xn1D#@KSeiaIQ_CCj8+RjXDc@kH44rf+ZtZji}fMd=~ljwsb!XFpT#K#tfd%X z%$p?P47M zQ>x6cn)&Nmk76Ik>Sxbk!G+Gec z*8cemRQGLCeAI^fD>rf8%Wr&vh7;2|Wh! zIqBtZ$|a1TvZ<5PsPiR+J?PWw&KJL76Y8W@Qn}>NAfmRIMnN=-cWkk{IHgsk{x_;y zMoXA6&t3o}7ZYXd{iaAsx~Mlv=*?Z7)R(ijGe^_%>gD%;Llmml2^vi!8vR$aug}Kp zt_01{ScU(Cn}A-J63`&dB-8>Xg2=%&Cl5EY*g01&UxQI$AE|~qw%guTjQRD5yt4A( zx)+Gg^QLB&X=;|mjpd~Q)-Jo>ZgLLW9XJ_yyJ^a>6Kak9gu2J|cGI+Bg|S`B!y8a@ z*3;?_hMvGIdt1#JYHT^ejjh_x>dpqoKLICR-x)66P}I@8af`Ie_h&Vi4+0Bgxhc8bHWACYZG``2c_qKG}#rpr?f6W|EY~hTfPQ77FKSj89(=0J*9XW)r|#qSTe11?Ap$}x)L9AXuCzTyFWABVH} zm19`7eARW;Qa_fM^Y-vwNHkc-9grBko>=h>MQy_ZMao+?HW@1eD8`*)@8<2mV!L}Y z-)%8Iih1}>J)1mQvQ-^_jl1^Xbko(HpVp86^I`KpYbU%Eq4)XuKd)2z3 ziTb}nYoa#hN(iOPn9{>QJ&PzeuslHwa5OHd%N>&~{Pif4=LcwDsfme^?v(rzARc?#|@2v1DHiP#0)-1+ZV zpXD)oJzRugu3VYE&?7=N-!m_kNfpZ^RZJD7-gA%iQa^?O8yL^((@l)~ z1TZgg7ei*Tg(;45$-ScF*5*25JVs^yYeOa`Uxc}2VD8U7gt^36h*j~iu=kz|_7Lu= z><84ZqMdc~J90D%W1t15JRsL}9U$4d^Joi6YTISZlr{4^%C$VjYBn|um7#c^?$?lK z8K_K8WzF|nFvmp9F%R12K?kL1S%k|>>gKrQZmVLs6~DtzsY?1OwJmT;Rm)GQ=d0}9 z0_2Lb&Qt2QIW^cVe$>Q9e$>R@Y*Kdj3Qi%!J5xh-^;waH9nMn7K0-Q1&ptK{@@87t zVj6OaWu`<79cS5m2T5WgB(2Hk>36~Tq=?XBgRGPuC~%~MmROb%y-RN4I7_xMGSV#jrTyg^l||4qTfAq}#&rvCJ)+8mE6m9s zKcZIuAh+squPKbw;&I)qk#*F%L2>Qlf4_MiZMA zYBJd0Y=T{tXg^k@^t$ZFYSgNsY4xF|16(k_dfo1N`DIHLIH(Pr(`IWir11QYRo*pP zx>e;_iJIbi5R#pIEY##gexlVOl6kKzmDW4gOEH51r3|bpvid+EE6Nzd4B&ix0|)7b zF`}!34!)Z!d01sL$4|`+51C+`?2NDP;DK)XzE0x>&Z^2PBWUZug`KJ^_^5ghco5Ha z!goqGg*kV3J<(F%RecWo8jkBScks>mLw!+`kQLmn+TMCn zwF-Q@chgjYRg=NSRyD7FTV;)Dq2|>a0y(~bUr@#~;_?{|E_#wPw*O-DXkT(5-DmML z$GgziP%m^^He)@J{V5WMT@mKHVfOnF{jI2&T>k|)z_7;GZ3G&8DWs+k3#l2tA4;L7cY~nj;j<*eZ}`WqmV_E^Vh(l$ z_kymk4*fJ@Zg&R{I;@x-T=V?2aFZd+Q3d^rowYyWXEiyJUAd+w5TROY)O3MjOxS4~ zooS)lv{-5h?KS<$-Pa28n3etK4X(m4=1Vc{6%w=M8qAifF zy{6Awea&F&he&C6x$A{03DO8jA@8WNYr5YQF*H|mVYPS$cl{gqJ?JoYbH21HF7pwU zE$6$qmPt{L7uwx--m9{#Wuu3xH8+m-CWYSfjdrI6nNrp*Txn<^?p%R2(Z!6;X<=8@ zcxQHKXx};-m+Xs4vbUc|o=j_60?)ts4+dCrtn6L=6wZ;Zd{hvBP|uJ%b$ z!=2aqMk%T0*&!2tg{!BZ=C8gwWYoT=;yW8UzlT=?*2ygr zor_r#N!{+~b~Z&a2izp@fhPPfa?Z)&3E)v@t9Gdo3vnx@{9U!JfaZD<&tFkmK3+E=|(!))?>3dduf@xnnNv-jNG3&P%l40Fg(%VnEF(_b@H zG&Y&aG9#Smi1Z$%8K%b&-6jQ|sK*?uU@aERA>J`BFw8$6GmIZXzweJYR-;x?)qC?r{1JsNKL}i=% zUO-(BsBim%bKUE`B@9io-=OW%ct2XwD97M`xRP%R`fJ+QHbaA!%Dvet*g2;mBseV% zo;LR)F5+pE7x79e*-__n{CfSUz^M}fr^CVU+C{Wx2Bgl+rsu^y54H1wgcGZf2-9z zu~vFm+Yy^-71b#Co^daDGd|s*%n+7#?K&?sr!NC7W(n=GPnhD1?lcI^JB_DQR<|~g zee(6Z6(`0jX1*fqi$27&i6aA3BL8~|)H%|sJm05dl~mrX)j2XCG(W^I4irVlZ1P4e zLxFSNIOY1&T$a$q$A&6dsk1``(k)V!1ln5(x#%EM)~K8$I6pbfpta%@UT{g_GeyyK z|NWRP@2O{xyr+I!@Sds!-c#Gk-&56t@2Tf^abm-niy?pFl9<{{Vn`db3$tlQ#r#Yf zF*pZi+DoK0vTF3iRdGrW#{~`IFU};mKPN3x?Nf(BMl*)fOx!8v;3KTX#wCGTSf+sb zbln+h8cK7vz_H>CIFN5=UFu!~_U5223nVGhG&_aeDSPeE@{(-G?;f(3+ilwmy{NLi z%P4WqYr;0jz`70y95_h3#{Qjz4ZKq#ErXxSs;I(#Q5ny_(dtbj+(L4Ngvw_LSiy=_ zhii<_tvW!t_kiE^V3&Rm=ys3#X}VFlzgL8mnk4t0`-|$7v{Agb4s?0Yg_DF?ajZ;W z0S9)lV`&F#)K4mCmkJ#?Uxc|N2GAF8adC0Li5+a6wu8mam3C(yeb&?+lV9#V_ruO( zXJvP?@(FfhI|Bx2*lG4mk!EUgSVh2JRe$v0QS>B}DdRa>p`=)&ri=1MLrjW&p?%xk zd>}IlxdOXJ&gBmVkLk7XgKG1~b>03T?Zf_=IzVY zWZ%-T6S}e)$ko)zoC;RIjGMU0{PP4C`bzYSeH3$!>BjM8dqG7~)m-y!r>?E1S}?ac zXx@}npf9HUi%PQ4yzs}WGwI_dOV-Egw9)!*@Y*mxVaWH$=tI!QKldhNbfRNjMt@YJ zi%ut;3qPbDcrj`Ql>i;w!O>pNd_4@3}3V4&n*4 z_bORVJKAY!-Ta#$V|9F3tiV% zZ#OZ_>0@W>+&$+$#T>-==T~c^&uQm?MbV@z)|@nkR*KKm;WEiPLRiSOqK86W==kJT6Nxa8oG=3*n6WT)b%c)e^;G$*B|Nuhsf5@ zF3Y6r1@6l_>INqMp}r4VDZoffQr)zh&tG}Q4IL?c8I%P_-(2H~eF1%#z|W=rci+W$OF3z#xG)og`5fH5q%>u`Ee-2zCiqnE zOrguxn(iLo-~i`|YXPvrgLmY!h_&8Ar2^RTDJ&auykcpfm`$%_6+o8_PLv7X4Bt^u z)E04Yez8DqP1;q29?Gr5cQv$b_+>_cAz)Bs18GeEc!4P^Ri*^sex@2;99h6sHPw$S z7&&*;yt=ch`3bn)-pe#VM z(+%h0|XT)@-DpxH~r^rx*rnnO#Yaup~yIM1zG zS$R-d`%9E(u~w2&78fj@n-qAXb>WORTHh0jqTb=lTYtO7;ODOI`k1?}?c+p^_Sb{? zdf9mebN`1WZY=o0|FFc>1+IU(1VPB^<+Z?0* z+Z?Iikz)sFWjI{%KUic7oQ&_a@cnQBxLe_ZaOH3b*lIwlMT!yhJ^~|>rpT$?p<#%j zHCgKy;=unx8(&F9I@cDdNSWt}^6^wx!-X@6nl`>73@Aq_F3>E|tsQi111tvCW%Op) zRcHqL|4|NQyYR`1W6WjVB@Xw9g%Dz^^lR#JDG0IKJfz7jeO* zM&x~1+Ar;rOj5Pvo-h`C-y`K~yY$Y^QgHdkF}pqXlW9`A78mKfa?I*x&QgRB2dyeo z{=IWlGfRSQb=*@eoZ)X@6hJ1MBKe3z{r1YHo+4SQjta1jv`MVS0huRDVR=WIdG@Tw zc)|@mQw?@w$r3Li-fj2ghb9mCQ>&G|)oNYD*SN=UHE!qapS{&OjJez7v8?uCNvvmC zCz=K8^5*1Zu6Bvk*y84kv35SvX_AIWbjr)^W6E=#_GSyK@URK@Mbk=lM9*x7low+A zmc7XBa>APbM@QxTZ7rD$MtzGu6ObIi!}JBH+?sP*^Tu zlI;QP$-tYh7_!KZLnTQ2Q3#kTd!yC5cv|jLvDR7Ko&()H!oxUEo16wb3cfaZ7}w3` zvTkAF4(nsq+-P-Ke)Qg(pXxRT_(y+kHFleK7DXSKX6Uw+O*ZnsE{dAU^P?lLeYx3U zT;FWA-IwxkN`AC@ls9_s&}X`N?v>_bZbdUQOdaBj+GhSZJ-0cd_%rBv&LHjW)?o(N z3e5CHhnE&b4KujMNeB28&b0YG>~UcHC8nHHbv#2}1)f2Z3*vp8k3QxNC;ht>ee@JZ zjl38tgI4B>(A%xnn|TSf3+Nd`Z*Ky1jG&%9(`>TX$9^JNVi$5YHya^TT3}toMIOeO zk)@098MOo2{5gZhT23=bJEWAzsIkavHl7?hc6qZ=F!>6joJ}7yDhKSE|1%8ivZ0~v zQ3Ja-YUC_FW5_=CIgjZClByarD&-yNIj+vj~UHq*<0QQ~FF^+%X8<%sKL!?=ym7#luE?YVC6 zie`=*K5jE&jGt!^W_%^y<;@0RFJ#>suj`np(7eDDi3D&?Bo8hAb7$a;ks}XJvG|6C(xlQT$3}Mh5-b3Y*h$yPKaBpuf`^ADOb%SzCUgf9B(%Xe<+Nl-{ge6%}<&wu_T zDhPS1=n^2K*W^>Jwl0gp?;~rY0UBNPfiSBTXKeQp&InVzZIy@mZH+=N^M?`^l1xld zZt8ia#RA*L(6NCj98%_fN6HXo&xOmC;l&}!eV0vPNcl-$ij4E<^kQ$!W%G0>o6uWm zIovilo&}cWae?F$VKqI1H0&|m!kECOJVVGbb9r9pNz&Do2Xvf6m8W~554njfc%TC}H6ETFNOh*1PVFd5``cNj+>&gu&vF+g$N$PxI}W5RL@TT9 zsU5Xx^W$IsG`+6gt~&!G6+ShiA+@92o~oSdBJHH`1!_Y`=?b!IKGwgZT~1gIboSEk z^S$Ha_1NO|e6FP)=!-wg>Gl6bi~noyuz3FC@%Xn8pQ@y*=16MCL5`r)^Z#3yRZLZ` z>a9JS!cMC;5R)f196CMf_p@DDSEPI(R#IGEJnpx!${H>pb`8Zo6OY}~b-Kwg?6jKB zEU@I70@=V5yEC5lvo8Od)Q-nF>`4r%9S<=}11F_+>_Po^broTUwlK!bY}x{xIqM_F z<1`;<1Px{hDKwu%DgoOM`C0F*(}%n>P98K9_5!Hkbk7K7e5xzt>G0bpD&tKA_jL5L zu*=vop1t6O%xOqE;pw<39Vr$!Qf}-rT=Rmr^W^WnR>VIv0`bP1RKr-p&h)O|d)1SK zkKgy0fj^n(2dzBaBSxl4uY0dR34c0DjilP(Oe9UDDkFds(Kx)tk!m_!hPqscOYV9; zUYFc+%sWkLI%$BO72G9YS8il{4JfXf_NShXhexrAsj=680=I>7pk6cd>2p0X*_9oq zz^}>rf^(8q1}8PfN!D^t#}>93x+sG0fewBQ!FecBHcfp~ZeZt-f>m?VeauJnavi8xeZarKkO_bH>`uYdx{k@loC1d3bFr z!sp`QM>=P$+q}-xF_P)|AM8B5t`*_g@$kK!GuCfj@9C(Chkx3+af2szBo5V<&U%EN zjkmn6vjw3?;-OWYpTHu^6Z_Jy*ZgCI4bDu5*uTed*@*C2grAD{{RqNeBRnIXUWf1((-y0zf8gmDZbu!U zrr#s(6yidNn;nmP9C06_+%Mu|vIpTpggfHlhY&76cvC#Q1L0{1KNAn%jj$78$*s4s z1z{24>2bK$BAkKnyYc)h5Khma`MVTf_KX62-GVP$Mlrq?@*U3r%Nqw^dB-Ti@hZD*Z~d1aEkH)!u=RdQQkth zAHyliYY6vaI7N98VZv~V@&djH!zs$M_#zCaC{N*wFr1?N7GFAsQO<1uESdE^MBD1YgBBH)SLqs^-n<=vjI5c;_`t5TFVdMYYCu_@Y| zN>N_z`3fN+p7vtT@->-jJRL7FswqWzuE*2yX1t||u#t}2(**o4_Gt{AlS15H*a}TT z>SEXn!k8(4(_F)y~Dd#@*WLUCoA*a-H?v)D`=eJ=~ z#3B{7y|ghC7CnOUCzW&}WdYpLT!9A~SFB{EcWo}KTz)%SycthwYS&wFPI<@X_!naf zR<2u6u^wp*Zy;7|TCs|5z~cKRyxmpiEfn#|a`U{4^Yd;hqkvR|SEO=9ws65*hFjfi zU4{PsV{p@k<+wA;O0`R(EAChq6rB^}cSf_VxKDa>#isSR4tt%5i>2!~;F9gy%GK-j z_X%gAUSwe+UCM<|+8!_DW9BepH^DP&v0=Ie+8hcer*rM{#`^Zg4R5Kccn)`Mn49v$ zzIJ+k$AwLhE>V8NFFC)*U+sUx&sBITsw>{WsRuchEi+wRCByUJXkRs&N@wfq_ z-`(LHT#zK!>bk;Mor`297QhRi$|o|1-;>o0w$sXXl;)sGcDZ8)TVZU+>cZFqx4UC@ z>}|;MQh=na$zD?tw$Qzp=Urq~i5m|7FL09mg?iBSg=#xc6dg7f76Hpgq#!K|_7pV< zivWBd;FTK%>r`ihHS7A|o2@&B873PLx?Xxv#J9?wdIc!Uf-+@V-zn2LHba~j4= z;+2Il|MCZ+bKlhH8OUk9|WefWBbzF^_I zRy(a4hM4F5=IGBx-h{6@`Wp2ZdQ_#^F&H8R89eMo<_9?G{`%8uoBy<`xXYp@W(&R4 zwL`&Og%**eH@wpIGX?r610UfgK+8NqXo2LGEkb@XbTcI%=a`@2Wd5aDMQuUxL-j+< z9Gqz57L{Ac#NCJ=EW)?~cF3~j7C*1_bh0a%GP)Y)d>j+Cy(TBl@Ti95KR_2cvC8(9 zN$EaMBaGWDv$Ro0eIeCvcHn$(UWTrX&kW9w)odz?7GrMmnfBnwOK&>C?xzSRm2RBf z9nj8(Xe{*`PZmEXa+55|upZC>;~XX>s}m4wH)X`2rJ?8CR-D{Jx=Bh=q%O?u$vENv z3H1F~4;jhjQ{13FI(tG`ggqeRwsF~RWjjuFMLWtRb4n*CMEvhuNE4mCNr{*Pf-?i;iMO(x-4WNy90iL?g<;m)i%o>oRB-~ z_o!dRb9`mFbf10U+!wI2=ao6IyEa?6NmC-`=49MPb1~`j_S-h>Q#n}gj%#>THNe{85BR0BW~TvpB9?5Njs4H?sZ}Q9Yk!o2j7lr^`JPv zL#6Zm% zvDe*zUfUJEA4m?s#vp56;C}c<#}H+1@4=&mPqDwRM90^tv9Mxbjlc$BD9$?6Y_wQ zR+cS5_mg+ud!92dBnff;uehU+ZUxbq~}7G7X+7l_+W*#rI$4xu53*e-E9#O zHh3muvox};xNQ-ev}=*=8vj+@VQ$8O>6R%9PVrI{8T^-4ipCgccluGUwr;?lDwQaK zb8=yeQq-$if)%+Mmc2r&$fj31adNw`%!-RSMw>lWU=OHwlcgIHK)Zfjc zF2U;0MOg|x*)H>B|MYaTm*xc2Pb9YUB)*cO)Q59uBN# zCh{9H`IdXU1MAI=@`gg>9c4hiTpPa94R5H12)L$!LRp44V)o&M{$#(Q#eiOn35^k- zZ+Fi`Zo38PG%pNx*0Rk_C!9|=gNBqFSh}ykKUPE@m&FgrS%F^=J*vf)IKiP)?SXdd z!TO{=>p-%E(kZ7pNGH=4-XgX0Ry_sd&H{mdc`L zy^?_&XA`uqldw-74!clp7JVgR-_pLPl}^B(pU=vG7%7X8q)~Q5Gbbl5ruzhIwR1=5N z6SNr(t%ctL2&aMXV?CqR<6r&!ii6!g;)_v+(tt;rh1v~SWfU~2jj|wGlxMnMi?BYd ziQ8yh*eIh6%885PE=s%d)9al98Tx0Ze{$4n=C0wc;!d-xqhV1xf9{DM=Yan3 zwXo}F3qoHu!NSS89hN^?;Yr(gSa447v+?A?br$qa-pXZ)RivjS4Jz5~K>F2iR00iZ z7HoCASpCTUcukK8O>Zt*%a-gB-dPOnOdw7Nn@_jd8loP`fd>M+{IEOWs6-QPD)JKr z&9*0D`y`;%p}mu~UJ;qN?a~w@QvO+ZIWJMwn$Z=qEK;3+ZI6==`}+eHZDdX0O+{$}a&sjm|`8fB{p2^T#31*%Bt~a~3)y)Yovjp~C^t=$6q$OGLJ*b{Qx||;?54F;f#Xr&tvsn$0@1Y z{kWmSt=+!%y`~3-?hJei;bKQ%C+@&-%2nO2fYA|X<(bP*Z4FWG>M6h&AG+WgFvdG@ z&V$@qUuXUw+}oN|0PUTQ=LFoh5!|5eoRS301K~CG!JD|DR#3&c3b3}!a?vV*d)anc z>vyZqi9AkatKqlNoG8_Mm(*_iDR7XL=w*5!(a-dY`e|A#Q$PK5E0R+l?1UsX(bVC* z2D_|z!enq2%SVvA!Ko$&t4PM0Pz`w9)1~3vRv8vLNl7iWj8{s}7sO}E{Ep(A=XaD5 z^^p`O^03X*Z_1~IQ3i9bu*989u9q;3m60^>pi$ig_YhnS+#dU9um$=Iwm|PU zSumy!jf3setWqBsV3q2IY&AcWuuF0tc_WuM+I;7l&L1`XPWm z5EsPn>uAs_n>(pjII{ z)Bb*vFjU?No`Dx1iWCFR+=e8vTEI#$I#MM=)$s0QKU~$2bW5|z;KaGJE|b&k-?3rX zge9GV9Ubh#;&yZ?;bd6R&5`D5`O;Mrb`UgnuJhPI)bOx=;FLMNruJd0UO|7}4YOZA zs!A;9=%Z>Kk9*zFMKFg|3HCgy{z{9@Nz!9^#I8i_dM&oisK;`My`_iNH~|pzVq)}- z7=35e5aovRPH>$q-QobQ^QbCb_70#?iCmyG+TrYkPbGJBe>`YSAREHJskDo*DIY-# z6yHTq+YWFZjg#ZXaNAY?x(k$kW80K})wx@e@)vD|Cl2o3wpW#KLzHFTuU^5p5I?~P z`o}7l$tEN#3)TD80{33@-cpZSHb~)-l8o0rn0UWh%k}~Ti4@Ekq|8PNMrcB~1LBR_)krw0;Y?{W5UfruH7`GPe&~{cjrmKXPaUk&%F8E!U_ zI1kRcAU)A)!LaWAup8?~G3Z=dWjJN-5nU?-Yng0@GoM?x_s>4k$&_uUnSz;pGra}@ z49=zVWa18we+7=HOAFeHOLCHPyGy&(y$&>3a5I<5oRo78@eXc|pD81&udc$JvXU*Y zj^mA0E^R&>>~h6<*iPtZI3=yuMRu5RZb7pT9AX5`BK z*-@E8x(&KZ`V}l)1*J~yhcgbP{rowlQ^O8qi-J;@1RM|-%_>&q@k0Y+1Gl)h!v@Ie zK8$nKabLjd#0#sfBHo`)x*FHd)O`n#8#0)D^jGSwEKpy!E*CqOqPDv?LkGr#xAJ^5 zB=lnD@c0w`y1m*8dgljVmd1>*tF=9Oh;puzdh#pKDUEAsbwAvFv^ustJ{$I{8I11H z?pMcwwjRVUZpSN+s@Hx+VS###I&Tps7RPZnm^Swj23-%} zcOT7Dd|kozMD#Ug7_CCvt(ENT_dar&V?FBOIomCffauXEN1*Z z@y)H@*uSAs*wQs{9tj~A)_~_aXGLJAUiVsyEp=4*Fm`C=rQGB(Dwm3uvl7zij4CsD z*u~t7kC^bX4L6w}(510`*vYxT{e~#ds4nU1Ag4@F2jVs-zKY}og|JQ!f9>S(;?Uq1 zX7CoyA)W8(_j2y7!_0G-Xy(y6q)Wil8FqZyT{V$&3C@Sr=UhSyCv1n`7XCyn7{a;U z!EbQeudp8BjVKn}`iWXN#N7hUnf(sFgb*kGOf6srP$qK-nO3Fu{I9SwrPot@trpK~ z@vVqoACJe|G#VvS{xj!EGUk3YOS+~CYZNTP9+_u^yo*~{(#URWHNTrRb4dxA7%|0@ za5un`ydSI2t1UxP?^pL8V6mU$E~r)c#nJ~KG@D0_GH-owlzG(Wc-4dM{f#@pPbkoD zJ%WmOI{gs&%qt?7i=}qmx02S*rkw445VGddi1m`vR?O=De5bU0+;8?m#Xd+UU`xO4Er3qmRm>^L z>c~ja1nVXF2SaurL57tLb_=~EBkJvO2fP=6RjI}j-mfkiLekTN@RQq< zgJJ~Q3~j~asz_VTW7dAI&D#G?he09Vo8(0UCcSyuMvNFO&Y7ZHvFuf!kJpkT~#@F55cDV zpPn30H_OBh+|86#y*cYG^%mu^o*Sg+q><|0RCRpr;AfoUNGTpjzqkyX3y8)Y;$h}GzW6a4oCw61 z5}js>%u4cW*sqLA#(sr%D`YRho1H(2)PIcop8KIcAZd%~yA}UW{jd7x_@~ErD_!TB zdILvIEq0dX*r{4--f3cchk$CiS@zk^Yb?_~Ke-=LI=#YT!v1WQHV>@vt{%o? zJVi!31MozV(+s26EO23ozBZ8ozlC{m20+VJHT6=i?|8ITa&65 z)yK7IxO>Xs)&)N&y@7M!M8E-QvP#$uI@Df6f&LXerZ@N)-O@49y6J_hpVwcyJ)y}XC?Q;Z1-*H`7O+bvdKi_b0T~#t(0`KQ@t)+pHwyT3L8Iu z$?MYWC1=W4=g~dg0@BpuwjG!DyV2Z)xp$vbx72aj^j=PS!_+93JR(w~7T_h5A>j~i z!GxMDcZAewb8dGRxv%%V8K$?Fo# zSIb>RN^tpa8d!U3#oWOA>I%CM9X^bk;EP%WpTY`o@~6n<9DZ3jbG)w>$nUF#_8Rq5 z)Ooj^gPpAz_nz~kf)DpG&3HGC^F_@*UzGDuzU=WI98Q{QJmHR+M@@#^oOMh1i`g&jW+qw0N>MgM7v}w0@3RYVJ++If%|M3cV*@9gs`j4~4Kf+=tIfT<4 zu|%C{H*^_Wx!Eimrv$zi^4jSgizN9l-#%;^oh7{wIdxmxj6>{kIzhnr3jTF2-1NbX zc1WsA%Dn-+PywD2S>vzIr@KNo3C-rL8~Oc9e6iu0UFo?c$dSb+U*{`Q7GFEs$DHP9 ziOC#YBs_^%Op275*E|8+cT;q?;7~rCZi+r^%v3&{F*9}(&Pd^ag5c94br(~`@>igmz_3uIG?@Z7} zL+irvo~Q|$X?~Ge`}Qv4GCjyI+UcHSbp>pHY47w)9%6w34sYWz`o7o+h@+KZXPrrU zH)Dt-Dgw(LbG$`nkde#>n$0N*NpU0eB_A~jxO2-zk|1McgCi^0QJZ_-k+Mg-MstyD z+!QAVljkz{OxnOu)`1Kyh0mK7lgbXeBF+-lW>1* z5mVIg)Oxn>NP1fC803DnudSVEZ;xs*$J>mh1`RRWMq|vjbx?mV+vZ~zwV5MXwcZ`L zY@2etO^X@a&%8%HE+pFgz-4IPw9(kUsjtmO!trI>yzPI~rW9}UxUduL@wIh$388q5 zv3;WdJH`}-EQ2*|_CiHtrNd2*D8^1B{7wRyV7|N^!Z=D9-IxWrrRbZa~ zc$4s7%cK(3Fn+h!8v6V&UX9`3y}Q;ce3}%%jkz%H>PZCw++~Z16?FFXcfUnBiI;&$ zqjd;AX{(-tPr9sU;0wwx@vequv9DP;)BM2t0S!LGK8c6)&L&~^Tf^^}P(^z$>*V3x zNe4~1Cz8+$FpBZBW-Cd|ntl9GXwc@y_ZlOi7bK~aq?{nEjddxT&Eqj$^Mu{D$-m z+FGvd>4pWk>xcPwsImqd#Kh*3U?^ zU1K)n&wuU=tzT|%Xg4cO4zbFnjOud6cW2IELRv_i)pVcpXfHp}J6dep5Q#Z|7)tOv zjG;3%eEE|}T`y%)w*K+Urj*(*vG18(|7DZ)tu)CgErS%iz84e$n-BSR%Os4-WLO>j zlta5WNcLV9l{u3{65zhuc&L?N}I9 z*Ue~0b6~5U|NOZ*UEh7u8+4nL(6LL;=4{Hfos;5kr1hN3!CiZ@2%6vFzO|7~U`U5M z4J*0Xf)~3ALSI0uTI0<sKHI;5$&?y+rs!;0~4ij zfm;L5Bkr0pcQo^+_LForo2$`rj-QED{-ISv6)wfna73#iBVNPscn!A&rlE%00#Boc z*<<#2I#8bEkt)BT!4f!vlinc_ocf@B)T-+su`^4gS?WK8RI8A*>ghiXhlW-*Rf%}D zD6=bad$9hAb#oy-=Ee??%{rgNmzHNKvOrq3>g8W82X|8Nav|(#+=_*>W{(bw>uc*l zxtXNlApLAcCXf3sxM`x5=i49JWcMZBLLlD8GABkH>%HU1Dxf5ZWoLwv=oXEQo5(rQ zqRrO+&{kS2j9o%|k&+<@(XaqnP8c7U95tH9`}u|s)hauK-4=sF8*7bnu+#KfWDVeh z-H3A$Uae*{PHC!Lm-*ayKX)C6y!7q_ zt(^3J^}yFBIAvZ>yuZxq6mTkRQ4Xr~QWftoD+1n?bRjCM)}THT}Dv%Y^P( z@g(VQ%cV!`m=$b&d3|9=(k2FamH9^8CZbfkyX)LXfX%FY-OK9j$ME8dvpL*Cr^a!L z7(u!r=vX=DaBy9A<#EU{OnE{6K6v+F|6W#(a?V&$~N;hBU0XC@CO5MTnR!D^k%gdr%E0BQr$Iw0skMTbZ0 z&}yAPcu2i9h-jcbu=Q5@xHXa53o0g9P;9lG;bFDf+iB}9B(e896CiUkNyztK=gcJG z;iJ9Z2frjU=dqt_uf5jVYyDR+CtxSrrAqg9&}!Adr>_FHmNBR5e>4H>Nr_0;MeCFg zT)+d7urIqFS2bB0VL`s77cpemt@jWm$X`=5izsHCP^<|*0ljAv!~k(ZVJbm zEU^Pw9HM`0w{4J(D%vE3V^}a^^gE zsHzrLz_*I7{VVIz2YBakx*Ey*a~4#~e-sZui-P%T5iyRfz|vi*@nluFKejaKRAMxFl?#E33b zr29@NV(SUTwrEK(r}=Te@Kdr+So|wITiUYpr9M__0B;BCC3^=y3_#~7-OPEP~YGaoPNK==2CgaYpdkCrC zB+u=sI02qPcB$X7E-+f`Lg>KXNS)=X49axfJ$q1=kIw!h)j#V!}Hzc3sAPgMW@ z1-~ot?LqhsXX>JJ@OKBv5oYWnss+1W?%5xwQ6&$hZ%2fp?Qvs~`H~f4#tIqVP3t4G z5(dz9Q^~`rw@zEH_>MvK&ZhT>B1yU#IYaMORYUMiUthT&7&>LYJRiBE=)~Q~ zhBE$|p|9TUo#1)Ft8bpwCYVM8Ej$Nj%}o5NHwX*QFY-3D>&U8Y1PXI8o08xBf$tB# z@8(vtoB59cFw43AIF%@34CPHNScmGmZ`J><4j7K&q86-5Z~-@D*HuEm7ia@sIqAy- z6di(o54qIQ)L#FP2#(ta$!>ts2B?~;RE<~;WgDpak!r|jr0;ru@i9?zc0V;!X*9N4 ziBn^jqdHsVzkNQ6oeq}dKyjNO_!Nhfndvlb*;C0ih-#qGe&^#W(e-|{{LEW}>H5~L zrG%VU0Ild#vGWR0E1~BR&K%GiiilHP9IK)EOA_KK;+f zJ;1y!<=E##9_z=T7}#+Q>Iq+#syUd#V%Qa`3I{{m!uvuylt$S5bR*$~g&k)zzLnvm z+scp+hKpBatgr76vc7UyUtMYIt5qJ>P1e_oIbj6WGDdY6J0HKBb?8Dg?nhuP_RzSK zojS{)qA|x;5LJ-PxWWG|jD#`uE7+JOR2EgTT`vC`*fGiaPxf)L{!ed0(#G~Ip63r? z)DhOSTR<)>YS%W;MqhMLYhOo;JQy1fD4_y>D?~$Q6?;Od%2~7D*jZ&7uwT1A#eQv- zTi~yjJ|R%;*Vh8~iCXg$(*KfbJ$}e=$sSgjmr__TQ9|twoi%0QSvsyR4ys?o` zXR-RSpq1W&)i))-TmRp?l*l`~l-f^ha+kgmhzvMkn2VWO?+J%yVU`iSZs=^NltMuhif$XNc14yPpasQO$1WyN}_z6 z)YZcVLYDFp-Q;Uxh;Cc|!hY%A`h!Mz{W|=0flYqtE~7lAk4e8pl;m#}JG{D5$qBIf zDC_&0o=m+!wA!g}_XCk!7`gNyJliF9{<)>ufwvVsyqd*bKu#=50ow1)VS%QS`l&R~8 z5*p?m$D}8KSj0+V7?t&crUkAS-cCmmVDz#e(Cru!)!nYMH)L$Yr+kjIJ-%htRMB}eddw({au7|FEu!&uwv#(Kg_C-ya zzE0Wsbc6f}eE~vfiVzO+QbcZ3^eoQmS(YWZxCz>;1eDzyQj|4t8pgu*J5UG5sBoJ- zgVT)im~L?}H<%5a=HG$7@D{_l6W*e^%}4eq=Ei$0awvnf%!8;&jTo+I0(u>u?WP*a zDgrp2iF1dZbYMYPDg>$a?r3(Cc9+_jO1{#UO77{S>~EwShKl? zr*!&@;+mNw8Kb9t9eOuKp`m!sJd z!%v7pWqM95V}}D9Jga8Y6|liQaXe)MU!zO|h*@SuHVyZA_UyKey4h`8RI6QH@b=&z z$man*<;L5d&~Q3WJ)zXzGdujB>HH3eXsCvzu8Qbx9OV|knU*+oJlcV?Hg2gIj_eF9 z6jnz7cjnSTS1Jy3fKVFN)*zo(-Wgj80%qPmxVoWZS!cQ8~&pcwStz73GQT z=23693LXRSO}E1C_GYU-Gz>a1c&-UN*F-$m*Q=9M?+|Fk1EV&KMy+TUM(v}Q9{1WV z8MU!~8%FJC;H5qqC(U}UjgQ~owpr(It25HrA-1gL_TYQ!2+R>k60X z(*X$F*$uFpxdMs*UcvG7K3_Hj@fvZ`^1R`*67 zYv0JmAfwS?rQUrQS%I`wZl?LqLhWe7615Fk|8yHPeI?xz+Bc;E^z&CS|B&zu;^eU> zF2w`CXuLlYOMgt9@cRdkVpec=kYxU8{x3nx&r&#Sq&d*y&(y$bE^=54VA$Q0BsMIj~envR(CX{9}B_6k#67^YnNFw^`ss3A(tiUabt@;pV{8xF; zR($0+~ z;%=OSxSK?Zhj+5#RI<8zQk>!&z%?$i8p7Hv*!NdKYi?Ca5G@iH&B)&K(?!|-S5fxzAj8TB zc**csYfvZ|66GahqAL&XT}}Ci(83}XP9-k@F+iyq5*Hl!n}b?ZOLSKbVF!?25A5b5 zmp^o<|E*$r>u;$~*Id^@`m9?fNVgYI8PB7=G>Y&e)RE>=)b0_mMIty;Ww-)+__Zp$G5Ah#ER1=*c8RYfd`%F5V zp9uJTZ}&*}ve9XmK@P(D{2+57qr-zti)bGF*0P>~x0dt_ymcG$qCCj1VfX zHe4NC9-JJU6GQemBhIG`x3%d79%GX|F`?=Feo!GHup^3)xrTR}zV`zq^7A}kJeS3+ zowalBX#36m`4o*4x__2SJ&j`%t>>%m9^TDsaekw#RW@E{!CW0yw%v1Bd1Nkl_L7IO z2j(>22u~iJtP{Qz(oLKkgN;by1&5WoQqftv+8hQ>MxRa^hn?-pl7Y69e4b>Wt#l@( zPP1lRN!I&n)`y{at^vgSTz@?f^S_6+V+Cgz8_(QX7|iwCgA3I=K%u_Wrji|lUrS7x zJ2o^Mk|}JTB>giWeqx?x*EMd0Wo27nEM-ZVjTusR652xxk;_H%4rSr3K({0QJmMwd z(1o%|kDZ|y^8=}2lWrWOsjG8+?H`9nA^%xv^wJ&2ijl$FsyzK!vfF2IcGd51E9~%d z&b&mvACQ8~)qdegCeKi|HE~yV)PPgw%g@+GAv47=WTqI75&P)0OWLmPQ`?aISnFI{uAB^;KC!YXs*#=m1>vj9OlG9U^D`r^K zqUMTOc~HL_r^4$Gw+gqwrd02SO{oAY+NhZPEN+-k?l(Z12|*7x?uIM`+e=?k--llD z3@06k%YoPOFunXh1$>RLLka>((DMVk0xSLYfS@8j1kOIYT=FZ)myo%@API4Lf=NPS z2=Y>0Bea{A9cOHwIp0C~zY})!L2l2C*`zCsnHghdz?c~^X8Cb0<$X?84{$ZZqJEVbv&-yN4uLY zx8~udoJwDCT@!qPRnIbW6eWoDM2$%QV1lKWSw>-xO79qt>biM{Z(P0CaJ(jG-nqz) zjok^^7;nI5hR+>x?JVH~=Bo8ii{dOvBHKLV#&*LP4sY{eh_=)$^g=OWQ<>oCN^U@| zaics}!Q9Lj(dPTkJ_}34_%$ucQ)oNz24$0j^1fQmdEmWj=Cya}&plKz(^nx!mL9%q z|7n*Xrgeszi*yF$WL4|_Y~HXFNF8;Jpn{PCsDS479zW>7urlzofD06WEH~U<02)|k zZQ$+p6_P*OFHGLnEEdqSd7z8C6|qStO^oYd6BQ-{2lqNl18~cQZOyRqaB~or&0DrL zv%;6)e`t;hL;1u}(Y%9;$2| zyO{|;L4RIJf+s5n>4}wie$;W7Kbd5GBjXMJAinF4m*D%U3qpJ*{=Rde`XJU3AJfjP zH@0)jho{SN_2UaUSb17BM^*!sWS5OY^)V05I3n}AlR~eOEWN;_f1D;xZQiZhA?_A- zn2`U-i2O&$kJTr*fXE-!x&D81YT_|A|4*C1BeG5cP3f64LiLK3|AybXU0un7Zpubg z^}d#kYBn5kxa7tD;DOf_gFnQ8Y)iZNO_%A;TI8-?a`op9{O7YrefmDrh@G?!XGDmk zmPYyYM7?fdUkP?x@V*N|Lj`iUahDhs59%7WfEN1Px$*mCJsTBAuAECW7x*0KaNxhO z_QQ;|Z(##@51FLLj>_qcOy*Of;nI37QzEyuAJ*+u#O!QY2Wkq||MQeYl-=9Z2=Smz)?v}Hjj zWr1XJOYeODAN{}f@Ac2{k9fx3giOYyYk8gwi9Sk7awj zLm(+fN|6O=1^i86fdrxkGrK%7FV>_<({a5|77-sBdx$Bi8uOOp=wB1 z1$_)!o|$;kqx2qHA((bRf3J8~k?J$8$Na4^$vvh`_)D4sBHpf>7=m5Ei4k{>?&gT7 zLfnntxD(l}MqlTDQi9e&T4EZ}$fWRBn0O=gl9 z(ofbQTJJ*gE8Rt5YjJtMCBa%`+=JFpoR~Z>e-&m# zujiLjw0AMQ5Ccl`_EfpQH+i6!=JZdkrrfJ&pMaeqqG|-RbE|R@>{`oJ>7Qi(!8`NF z;BCQMkvnx+bR_J3cOWYg#s7T=e_1{1BM-r9Hh~qQ#!|Gag`Ky3cMbA?n7>`tbOIE* z))Pb)5GFqoVI}Z?NpO=6`P{|k96u{X)@8pq^~{L}RoVjm4mZdTc&QXnunv;2ohWp1 z;F*Bn%ndw`lenSTbj8%ZRb9Cy{$;=%Ipda`$>f=C>=&^DKj`7MTR&A|F#Rub{%Lj! z^xKYp59SRH-p-H>_z}JaeHDFU)O^H~6h2lLWxxnr^Sz!cxiQ2P6Jx~d zFutR}?@TnV;7yRa1*1Bei8BU@h+G$VDNq&=92$1Z(zDM7Xy?15+lX0H5EFT{l~tPM z$Gh2-oM!L_;|xEYscBw9I%w&7(k}hF$>ZK1&?&cgM<4f{MNTG(O`86pFu5$MdEHKp zeVVrT|3Z(XR*kkv(8i|YthX=ux1Nf8p@hS?K5^RM{-0QxYF{Bs=9%yj1F@ znU?(7;p0KN0@*T(Nn_pud&Y+^ZSodeVrl=h^NG*WaWzSFV1%}MPYzypMZl|`HLGn4 zvd(PM!8Tw2o}%BosLcY@MP58M2%g(`Ynv4qgS_Aw#A95lg}-td<6ACH5@VO%`48lk z99D(sJEH`woQ0%Y-(G>=!nc@wtwQ57>I5GlC)(h@xK!t8W9W zzWa{A%63HQIj{$(ISp5!>o1xm@?KcSwxl)fk(4jUnbEWL`;_EEDg6&>^0Oe1S|sF& zoMekmI%xR8uOX5C8h(Vkm(uQTQFnI}$)u7dlOnob79f$5C9JN|vKuVnB8rFj{Sa>9=0alegqkV^%Z;uqNggj10{Vzn)B5?r0qmr{_v%~(-mSAt(14^TC!#!mi>v;j}yC6|1Pu1klJC-WjgZE;0cMcvhkc|oN9NylG-kN z%({A-nVUN6?>4tTtbdPm!U?eI+1LbI`*!{5z)upA{_TWha-~cuR=TfQOzBf%%6x7g z^ip4&MMvkfURe8#QQfl)XDnMyiYm#~!83e&8`JZ$4u7%ddJkH34lPOotM{B9?Z|2V z&(zi~^vBc^6B;0)&l+kR34A^FEwtyljliJX)MnFN>zVGs{!p+>c{{WrZ?p2YeZF6{ zInAs4s}^&rowqPo5PYf;Q5>^@TKMBgk^f|?y8yOY$F0iV`}&d#`cAf9jqe<}ZRhrB zPl^}^CU@c;yFj1*!LogJS;9(X@`o(fm(yH_5`WPeOeyf902q*7aI zhZM6Dv4IR%6r9;}zc)BCa0IByv+#Sb9dE3-sUx}^b3&Hu!YRQC!C&Ci{sr%h=nGzR z^o7JeXkpyR?A$8}&M48%6Fu_%wcKIbu~2ClKO`|j)bCgn-1BYSj>8XG zcD&m7mq5jL;%E6Qkd;+z+QJ2?Eggio0{KHHv_CB9+cz1G zBa(_u9MOFIA?ADq)LW^DQ^7^szo+{!cze@MWqjk}Sq;t1X?~wg`V-2{Y5wCwhB%v; z(>%=2<8;Ltm=ye(H>Vl<>#akcV)4RYC9=}|D7e$x^}Z8!M6dtO;Ml-70&f9Zc12)f zUVPO;=blAp!VQ-c>;XB(E`cv6e}Uk*^ALciEJW#srNNo;J@ZWya~8V(Fnh|o96XT z7&|e{-D1er0L%ryt)3Z8(QgF@M)`(w3t!YX=ynG@DW#CW;UnP9&TYfMNenS+&Cn?9Ha6sjEbz6xW3#mhx*xUMbVSj&o2^Ya6`M_dIk%gA zZ9bg0{~G7CzhM#6s8chWP!7||2_tiKrHJ`N?(b;u-}c7vPPDEhuRAZvLN*HcOio4@%QOe zb(TkdI5L=@hod?D{CrKCpWhp&bK!X%|7Q&}cW|UXbJlj0IY51*5pg0oxc6hsd=B#G#ZS{d^9HOJw9~-<0)O|~KWLr8-@__dFQ#yZxbaUw`o{r?ruO zC+*!Wl(=z14Be|F6cZ+3ADmDOT%AVj_i`>R;4m;@LP$D+>*YIT7W*_lBJ$9VpL- zzC_Z2`wmSyaM}-M%N}?$Gs%isq*mzUI-JEeA`*k2r2UliF!Dz4OFsK5cKCb1SxYIN zc-bs-^w$p!Qy!+g${!3v1~ifj9!K=-{rm7FIuqEK)yXs*#KEF_OWxccVG`YhrMqpb`g@lU^T$qgiS>3A(NUY z$7%s6q%g&=7N(qwZEmx&yf$X3!(TJ9@KKFa^ToBHRh)dI_ab7sei}-p`2m72TEUm-5_{2e(fu0#13p_`A1 z*3G&52E^uMvRAd_q6gF#iHFOYGAK=S_ka3s?ubBs7QcxcEo&%83!Wd0@_>ez}pIP5bbJK8#qW%9r9 zKyPv^G6cDqk-SWqmaUjF>_liz7@-l+I;Gm#N-@xlOq?8kZ`%H-KG7krPd`yOYb7E@ zd6CSJ!*gES6E*YNwoE|GtJ=re7fzz>Y|4?=apA>L?i76++fJ>mQ>vvZtRYs+COB%c ze2yH^Jtru+W+VG*XUx;VMk4YIeu$^AXCVK3{gGDN-Gcm9x2w&>O2Ff9YcmPfDDFCN zw~TbRJd6M$2m**C2+;~1xGQ+9>ANlVqskE$Tv@X6lrjQu+RFy+)#KjdjQSz^%-|^F z3bgju^$IxUID+xxlD1PtUKZqIhzTbzz^7E2VBv_-*D(Vp+Ki1n>A{$J6n#GBgVqo2 z#+h2hote*bJ3gQ>h5bl^WO9F;?E4r^T}4L@>C4Ew^GCAmlOJR838gT;d(}s)#@@5% zp1jp3lv^54C^dUeC`%$f#oRKt;|!=3aZI3T{FERA0ItR9&4Ra~vu6RRDmO5|nFsNWdpdN(Fy7n}Kwj-K z9-#8l65PD+HIjcZN@Bgq+qx(ZNJXa%Ug5!N@^EvWl04l-*+1|EW&*w=$kLa|72;BJ zh0wDs$T0I-))3+al>H;~#t`t;xhpC`PBh7l z7ly$0L-~|=VOGM1RtS@LJ-kpEs~>|?7m{(A{3!C8%y5GW5JlhtTD+^?LmoaxF)Tce zo*K`>%jZ9l$&vhj80=ka%{pAUCb&+$!hi5BKV5sb)htjZlXqK9`@kXBQHxFf$VwJe z(1QhP56H4B_}R9K{9NexwfWhRHU2`UNq)13?)=JsAh-c*o?7t52E&QL^w6L|!%e?(riB)H{{)Fbl7S+A(M zoev~*$eptSa-AKX^4jY20A+Z{$(uUfSNle%iX!AlAu75}ve?54U2%cUmn4Mo3V<1S0S;ct$;f_CKXygKR2kvY~}0@NEvfLY&M6AmbLo zU$7@rn?A%P`=QJ?PdKMZduq$aq1m{qT48R)`3Z}KW>ohP$x;`K#W#v znE$Hw-l~s9>;>Y~jX?L%?!54-DsNRF#}V+0m>Us@<;W;SYr%lIb-4mKL+pUptcDfg zGQq3!;@nc*$tc<@ehW_*zt?I^*Q>+ITdBMU-i$qE6w#OH8xjo#%i#5`cfh*b&l}%F z1pAx7J3*Gz`e~3Xvf&$$EhxJD5jbV&jQKlS1W3MW zw1YI=i=3C6kk1OfblBrEys*VIB?`{802~TDO#zoWHyb>w0^HC;<>H5U9L|vhl2X(* z5SDXc@P?o{%)<9A|M~Lv<*QauwjoF@j)2CAm}~i&Ao9wB2WR#@7Uam#gmW5r!D*N& z6vs_xdXWWmGRgx)D?}$exT$98S*F`m%_Nijd%}+Oys5}p;BBf$19^ghH@I!ob8wM} zX-TtYzxN?_3FCQbrsR>TYKUcoE71*5`C{*W*WCjWQZ4Z;xrnG@!Ok*&#J z0B`0OE|`&zTyi*(J+F3cWrvh~q|*lvE2G`&2J$%WGVZCgIIAn?SN>+L&8@b59wP13 zGv}>pyyeBcGpRi7Q+lUq0_a`-1&Yby_276E!z11&o2_g@*@Chh>Z2tw964F2k8H?f1s`~I2P-`6{M z_GfiSj-ws3vNN-PBko>#_BX4&dpJ$oBjB+&K;7EO`KQePHFyp_jhO#lnt!35=AC9^ z=7O2(%(DqJ>#)jV*7f_YCfbJgKjD~bGxXvG%+NAIwxszNG5_yjevA|eEWA=N6d96r z&j3r7-{@}y1(f$zbpG5yemW+c4H>c569r60E;lCP#JQN_IJI&&QMn8F)l{lw5LKCk zp`a@MEY=gBhEq(M^C7*uhS?ob1(h-+VYj@|aUXYAR#mnrL+nCB70@o3*$v7XW;l?G zS`yht-4m2;NUP~)stGhE>h=Ni7Wss(qB;lYjA}d$IuqG3_+}HO=^9M(i5?4dq_kfG z=<5jKY|Ptw33u^;yL{&Q>*p>@dU(C7lIFnVWc89Fj6v2;a7-GXr+Y45m8^)?vJ zqnGADYd5VxZ3e>a+E}q?Xa!F68xt6H`TibSgGS(Z&>A$S*Wf)pnKkIDgztUAK4=ZT zPNje0HE2g2vwE()2B)cGbUBsMD19+1eY;zzFHet>?vhcm^yv3#T#M%WQaZg|9iuNo zr`kCEt$Q$~n$wi}e)r{+I)zI90+dQ4bD;aml**S5rqhvWIvsHlou+#J6*_&W`(io` zsmR+8H<~Wm1=;7#KtG*|-Tiz*#b9FQk_9Cyr+A}dPCuWxUgZ-f`~$nh572sXL1z4| z{VN*dDZEsXMSS9EtI8*6rzq?;01x6033si?owtVXcrZ)|keNMay;_>KBMfkd@1*w} z{xoriYyD?XQeWy!uC|*V9<-a9>^AJCKZNIZIrdUsIj7RHPS`DiXAE(xl!z7m;VasT zzI>#<*ot14(soppCX0zC2alAtj|%&=k%|r)DI?8u|40!>)ppc@kz!A49F<1u(NzCP zVLrC4VV8{5pSxA+RCnirks8>Y2S#dDia5jnMe0~_oa|q`)6YrEcf!6W zkoN>U)cU@^x__rUm;x;ew1!!?@Waf0|3~ci8~gYB(uhaXadDQB=rDo6t#VRV0Dqa^4}-$Oj@D@^+Ol^F9ouN zhZWEElazlSt5WpvL&`{~Q>k39RxZCL!{0K}1NGvk6+`@gA5^LbQvNR$i&P$}@@HuO z-w&ucIA(82%kP@>)?!@JtomYa{S@h~UwXe@F(N;lDxpGtsPdEikn@}g8Ahjs`98G5 zf;EeMeYk!=YB=6Sk}1FH$7!uZ-!D0QTa_GIp_Q18OY`3q?J3L!_5eL0%E&!^dT1T$eq!E+jKsX*p0KKIfRowa zJ(ZcwDz!{YyGh4y&}7fdOb+N9Cid;LzF|YjzwaB6b++9aO6wa;eyv#@n>o@=5|q~e z&G;Y#>}BHv#Hqf|8=t=_UwnM-`GVtfKrQp18J`xTIR^i8G4pD?6nSPmDswziRif066E40d6_EpIde&kD#W1o?B+S zjq>aZR3Gt5NG>+)YZ5eAca>u3=b4?!T~zu%$uo^|-i5(DlgZZCS@W!~+&UK=XijF0 zJ)GvB`6{-ZHq#!=^k-@p<#^8J0Vmp%)`2mjqyt-A3i1j=P()!K=oi}w4$E1R1ax>+TIyX zTa~zKds&P+?5N}0y+Q+vN^vnYNO^|^%|M>-aU{)9Tk zrB`96&dA)I$yZd3TvT~uX21U9`hlL26o2{z?x*>q&@dA8a6_*S9#OV>=#&<$UpL8^ zntwXUm_VHuJ&4dNB?|!TO{^HL>6a`!lM&Qu@M@fx`ls>u@1!+bF=5gZm!Af&Wut8A zwMct!C3}#Vmf@M)^%^0bWw?tc%uL`ehpxn3(6+RW!{jG=DmyBsku=E?79%Slx&4if zn}mJ2hZUn#**V+$Mu%4*J_9SA{7{d((&8w&g}ccshRMzUQk_ds=Yj>7);a%E>YQ~+ zott0Na(HFzehC~)#To*hArrWZ0S9NM*0ptQw@b zWN15WSA2#v7qV&$N4YlDsxbv}A$=#xGRgvM8hNVrqRNH+`U@-^i7|s{>}IOxpVVH! z|I>Q4Ccz!~8*7%Tz6xKjdD5K98e&K3JzvuvHLMDaAFxyhd2VtRHb!wzp%3%M>{Lou|P(0>`cB)+V`>y4RoOsO@fJ5)yQ>rBoaREH+TqXw_0A80)1+bT~TtQ`>Fib97SkmC>k zb+ES1-^_WP+M9oE&W*5R{QROh z@9nzMoG%zu$3HXY?{y8H^SAy&b3Pz!fviz#~QvB_JA`FMW)S6$+cASGP5dikffun#{phLrJp{5`)P?o*WjrfiaHEk z{Aq8TC(PE<`}xz{MKxVZ*j(DqW5#z?z9Xqe>zyX`P|v;$JEOawlX}ns>oQH|8C?4Y zm4mijB<)b|jw!l^mN6`mWrdI8(^T)3WFD(3^Sq>Bgv})LWGrc&Nl~>XX!4GsU*6d; zNZwhQuSq*Qp^xvqm24FmX=h`cH81o^3uoOTG43kC*=brA4G^mvJJ_uZ<#SM}kd4 z1PP)h;NzP(oVdYOD(m#DwCuyVvd)J1vaCnivTXSY{m^60fA?o0YZeEh7tZF}pR)bk ze)_ea!_aL*lDNK)*&tk@9AD(d)nuEvaM*AM@WaW8Cc^ zUuhm9R6S-3z}H#T6DtLhe+u`)er^EOW{vphmXr^9^tvMbe=8Arx)J0dWE!l#kzG%?_RM^x_`ym z71HvR>+W2-cKM3s7!F49CY}zDgtPngbe>G@m=!bzPqte4PkfC&@+v!m&m-X--FFR> z7b@^xvg2;ScRb(r> zn$FMf5$-ARI6c|Eu9!YBEASrtN_m?>U~PI`o{zBY@ooY2L-es|=nzTG&z%MrMFcC2 z8I9L1irc=!SBc-`ZwnMrUqyiY(ctMvqgIX@Coo5G%{9Jac%Xd?9%#rv$2((N+eB8| zhL~heu7}3?DtLrRw_)s_+|nir7EhT6p1``z_$+u_9&ejjz*9zyb%8G0m;63rfW(4D z@Kwu=k(bA)D9xkh6TpI0ZUp70XMkTc13sW+zoPk>Y2!q@KaJCE=tH*8kKabMC%Nbe zd2fim8BvUby%2L<)W$I~BcdffiN@1T<2f1Q8Bxa*IJ>|qiAWC5M2u-NW(ZWG1kp}Z zLZeC1P@546^D?+14tjNN`8c`4GBZ{E~d<>C^&)QH0s;Ro~N;mAKG z?F#`zjdAxj{ANH@lqBxfU6SP)97QieCoq|T&q2Aj;m3WT30chCu8;(choT9KAJR=3 z0&n=TbcT8U@$@%-W&FHY+D1$;^YC? z=;n^Kze3L?9!Mo0=q0XpJ~{Svybu3E!Le-{c7h0bCX0xf$#}{mHh&g#qW=t$rt{fj z=({9zbFl%L-nr|`Xsv|oG%hb<=gf$_L5^XWp@bAIz-4p4Zx90CBN3CkJB@RAr}Zy zUOatggPtdYx@b&w{bNdW zhxaA!hmA$Pz^dT2x;H>q;J4oIxz?9l)0;{j>fxG4?!5EKYgE6L+D6S6yWs)7gJ?DF zja`cOT^!kmW|Wa%AJHuNqCSGppHH@x4TmItNHbcO3~EnZJ=x}>ExgF3i!Pbe#mTsPJX@@ z?JPz<95sUy+PWBYV@4Z`QL4I9Gi^3^L$*Nt#FvQQT8-^iy#!3197IC6Szy1(<%+q& zqL_pbFs)s} zM16CGY~&Z85b39$9 z-t0l>a^@Sux1Rndd+;ROz|&6xq#Wp1C5Y}UsNJQ&toQtv@R)0g8VF$|3o>Li9s>3nmmIL@! z#@o$$<^W2li-)32_t?C1@2`dY#*eh>zq5C#uG3}L0~5x^Jc`*~Rap^efCTN#R(rZ+ zGxF?clv9#pP$@_5I@;>`jv*llx`xq^&u+qQex!9G5K%px=Frf9H?!T96?m7>IVw1P z_u$(HqP~H(8?FBME320^4F_(msE0qVJ`WMZx`H3p+#XbEApQqspEN9w6_^rs+gp$> zA30-!Of)?3mg1WE7IK-q)#{vX>1K@>qcM`(P*0wwg+P5X?8%M4tJoW{?^@|}fhZ81 zi6ntFh#hSN`V7_Mnz4tuw?#fgjL`A^D7|Z=G;e6Lw29^lrwdk~4w?1f z8t`44iTo5)?ij_$mWHiPz5GxgveHC6;1b|P3v`8a2X9mUo6+Tn5u&FDa;b2a(0t$_ z?mlpT7{9~!yTFlFr>Nh?XUyk^uOtiMLGX@;&VA<>d^cKtKXC@Md%^*~L@Q#n7=Fbs zJge<2B6cWi;XFt@?sQG;>C!NLUaZ#Z4(l9x`Tjn)e>3*gWO73{zeb$;(78YV2dzl0 z3|f!*>2qhzGTWE@1o3k%YiP76uAcN@`^!RbZ=zan3Cs@w!H-F>;u{n#BNvw+f1NN_ zf#G^VZlVkT(p|8PBg+qyYx)|ROhsfhq;dG{EKf{oB+1;}c&M3l8)Q(_P;M6>PVr7e z9#*T_yS@&Y3DQjkmrD=qUCmroQ3JAVGWmC??_9E~Pbh}%MI?JW)d=nmSy>0}jhNPU z!|2gU_E5cR1Q6^9C2LyDg*V^pD-Yv4tQ~~VhyYj>;V@zc_j0>K;c+_0x#a)!(p_-G z`P_NLsTNQi^&y;2dZKmk;+=$%J+edP$g(cyj238sb#>+ zUt-_5`VHi6jsaIYH&Bls4k$k|$rc zBgdLvb{!D#yXXMW=Vj*s+F5EF=XQ)(G{nzms#<4>t>kUYaL)0^K>?sr+Bc97f}|_K zQqd778?UfHafF1aIK_!@{C+ZWM-wX^ft(5bZ_L-;;Ffd=^J%Z5G9Uvd3XRC6?ndtP zGS+r0bLH{2dM?TDxJ6i|c^PZB+a+0cSNWb$oOWO~F5QB^Z@+~6&-dwKkO@(UV->B}f%$@qzANoVFy^8-)px)AR(NppC^`WB7E<24BZX4yxl! zu+%uuMb=uXpG;#pKfoyRZp8dL^nlivIryA63;p>Zr{yJzJr5lkK4`U2W;?`F9J0dR zmBG`dj6=kCe8><;`LMc@UxB2FUa9;Cy&}$IC%yG-GOl`$);4D0Ja0q|_pc>w%w?N+ zOr?mS^cK+r^2af0bhpk7dVnRwgS<;lk5I~hT)^?WF0!PF6+yR+_rIZ1(CBW#oGxJj zE7Zymh#sH^+TADzkv)ZMhw`9g_cVIN*bd-*BUb%n6{7p~$k>)0-$C84)JHGEHb|+?_V8MnxOBNs0 zZ~_s-Qhf{(pNgyx$y0=s_eJ~mT)RC$+TLcx$qZ2@(Y$I@z6&ESxQ2tr<-x9yhzX_n zQC?aUec;tgMnYY`Me!=E9lzWkl_Mr-`?t8dz*t=A$51)HiRtm378 zCO^e5mqqVB7~H^xMG8muk;p@a*qq86gI=uM8w1zG-H$MbB#X>lCkL_501sWu1+C5O z@aRjhmwb_VeY6QBl}f;3bl05^>Y@}u3|t+>pjR=cJHUZd z{vd zx2sn!E+1YG>GDZxz}^l_3sz#oPFx6KMIYBE)-#UZb6Gts5Oz6$w$WZ1@^mNfZWc;v zu$Oq;K)5hye9HmLgNGR)-$q+SXs$z|W&4Ga(I|I1BoPLCa9{F<9(|(GC`v^tCWWWd zE@+q(6705znGt9t)FhW?AqMvSd#^aQZpigbg4#ztmM|%H=BgX#VC7f45eJOYk{lsA}VL_ z)$C>AW2-zHYL)8A&#kWAPr1}Vn}|^(el4_fhj`~@?*P{Uo+yw4_O3qA^l(s^JZFQ5 z8P2DSLa^7;PE#a-@-dGroa+;?ny6GNu@;=6OvBFf6n?xLd4uY8k1Mu2G<7@by7yMfKyWU~!A1(9a7{TQ< zS{SQB8n1y9slg-0e?lYn*9!xuPR+1xW}-DI;~Vse_9f$oAl@=({=Bv&BN((g!C?(9 z&d-T)x4vwzS2>X{kLQHB(>Dz{z0cB<^bA>bhx?Y~3sIm`a3RhL$HnvfANqLV&eV@o ze5t2AzBZ5D=_70lOW>xCV{7O=JgrBrG}!-IIwEW-)|?JD$+O9g&`s>fBWt`@@9%^x zWx#o<14tLhECU^-G3f7rHr}D*hPwz6@#O%@lBOZrbNk({CY~r45KDSHFYk^G3CM>A zXBN{i#A+Ki2lakkF-n1Vhz=PuN>t28D%%mxmyiLh5p>=bg9mp5JEnx~9-w$IvUdf3 z7#x1rj{=kllNYclx|EQz;EaUD-gwn|encp*NrGN6E|nY4po5PHKLU$gxygyPFQiso zi}?TByKw48<<3_0R(@S~jK}HQy-nizM?$|~w9v2(P47TMLzW=U3v|fco)6TIYt6!w_L-@+A5 z$lMlU&T7T!E;z`iZTEJapjdr|AEM4Wb#7VsOcU}30)ya}(>#92ce($_<%u6(Y zK0yX&*R^!qkYx$vhj}Tii%Q^~3T4SBz|T4#S#vgK$B8ZU?R#^YG=0!S`-}`d06Q8o zWG8=rAoOzWYF2V>)D|WU*g$qsRfiy&Ft+Qns~*q;qYMbo3A=&24739Q-<^Kn33){C zIGg0FLw?qG>{pPE2+V|^~2kg)brh_+qnRqSUwlS=4j}AYSeL2 zPxvPXQKL~$b7wTRGiTYNg~46HQS|)?MBmfdhd5JMX$=k!fVTw90lri_4cP>YaU-~Qt!++t zyuaRG>-A_^l3`b@nU6fGKSx<5z$e~8Xt2adczX+a)Z<1D0LM=6EwQ&(v6A`GIU68f zF2f8u=Px0hC9x{eG-tztC4X$9^U-MQwUAFnMu9daw3x2OO2jDzY#Q>aj27zIKzgWG z_CO|_h;{d~I5K70kh`@Mxm&NR@WW3I*4%GUK6JDT?Wsq5GPvM;hl*FtheD=0U$=(V zi5Q}DmITg9w#0#P;NbFik%={8vpqc%^wZ5I`nTYl~yios;-5OVXs-&=RyCrAUpk)GMgLV+p1yTYjG)$ zVCRmkrkr5AlqKxgtGi$WYB7zDS$-n^)P?bW7we44HvzBNBi|Jff5s*Z{q4K0`upE) zHQxVkXEp&ThslS#TjQ|0+MYUN1J=!?(WjJO23}UK^PW=51w8vLJnJze4lwlLuuxBL z?CYj_G@E>tKsIXTnij3Xor&;`io13xe-VF}$l(kKxCUu#3F}yieB)fMeLM5-zPJBv z=+MA3&!@ldTZ3<>6j?l_oXa_-DB)Ae8P_T0lk!taPnFhA-Q%g`DCNg-s{d~(caw`w zBS^BsDZ}G&tUNZa%}iD}(b}3Q$7j}zOGFw?1w@$nx zrd>%T|FdTiX#T75OuJpcTl;0N;Q9(l{AJ)huq;VzcAQOF0F)gWeLGjaOF5H6mf7K5 z*U@|Ew|1R0wK-kf&yiQiAh8nQr1>YN>+VW6_Y`6bx`16J#dj$(Mu^`0#N|S(mh_B@ zW0veyDB+`?0g5z_aDiS|1HawKX_jVm+sI0_)gVo2!d&H$jbJnW8eGLuy=y#l`TxNR zNA_WyKe(CIRSpb{40UT|%}$ra9n5()+1W$0l9M8gk?AkK3#}f!4%gdyv{G(DHb+_; zbmrKP*Bs2`0VI7|2OFu9{Cn3+r|ItoB9P8N!303dc_gkz6+M>75dVnJ@3w(>* z0(O&|q2Kl;9lad6L+O(n=gEzpKC<(|Vu|}x_eEHxbnlRR)B^vYj2>?P9TxgCWy z*N^?b?R^h;RK>aXoU>>DBw3OTL&0)@W%B zt@mQoB_2KzZfb1vCq$ zk7aVGZLb)6+&zaqR)09)$dQ-ahEnTTvMP+8?waVAG|Y-OxqGA3NBiYSC@x_({I!pY z{Ho^e$(yhcH|`b9qElKQR@q}U_{w)riv{FTxo$FWffo zn-mwngOk>C^pS;xFJq~V{X7rnp%JSh{DQvsqtkTHUzbAj9N#|?~fAAJG$+qI{TPZchT0YmX zXhp77#h2%}dy5>pwo!&2=vp8!y->UGtqqwrjIZ089tqFgH&>gY`+uBi3vCLo>-s5d z>`Jw98AtV=Ne7>it1I7s>vd{Gv+uQ>ATQhAwoFln=Af4`i2W6e- z!M5-?I?d82mG34LVe?c76pfm(8Yl4s$8rP5za_Wp^OLLlmj0p{_6p5Sh8B*Kzo^vE zy#~;sST*igc%?O?mP)wc!!dm#-3zDv0{1+<{)}gO?!M6Bf^iklm0x!QXQ?3hGS<7j zbR);&P_yyono{HZ(b^mum3t!k`Dz#6(}CW>*%oQV4IQosN|n>uBUOHuzVEolzvxhI zS=GdynMZMdc(Z&3?#R5g@dx@Hnb6?IPOq1OuYS~i@eks!$6x*EC$qngIFMH#p<1_z z6}if_uh*`^sc@;wapI)vT^ym2$XalFpaJcH2DAqn5ZzdoN%tJ1o0F9;S#N)F-x|3W ze}gQ7&_cN*-QU<6@osI2pf(1)%?CcpzY#ssgaaS>evzB_18%>BzJq%3-OTS{D;#Ri z-R#|}*E>RR37bI}VqU%*-|IE*HgkBrJxY1>hDC=I|3a*JzY06y))-FRzwT979lx4s ziM^WH6n!;wcRO@j+!eT%bQt}v)tu%wnjEYHbyo@ zjAs~)`R|7YQiJ-#eF{SN)6 z+I8MVhuBP2ACGx4pRzEM@2`v1UT3&#Zo&Ov(wgh&^t0zMH$m2M8|ap3|93mt^m>c} zaDs2&-FK*Zi_4m2*?}}RM{%NDjBb}f$)+*P6lV`BWb(pWX!L~gg1OG}R8u$?b2gu) zm+F=sc{ufm#xb6ZVGTuNA}oBRkG+t39=0~dE$~YUGnc%9Ji$%y^84d3lJzcnG<+8I zrFuW~rO1^TWzo}^Fa6`)Uz+&A-M_-Qp_TEcaa%FdrbKRvBTug`J?{SCoYf5xgJv}U71AxQKl~_-iOYeE7qdQNuee1@Y1co~tFHDWp6O-!fA#ihNx7`LQb9co zR!W*w7O1Q{?8|pitB#w7F*|W&^^Mham2o;HY{mYwuKqOg?Szas#{Kb$ zAx|h!cPtUfc>S>F#0}H6@v_uE*P=}6R#fZI{sbMD9Bx-+oQ~$kK0b#7q<9m5D4uuQ z{j$`WY-FwPEmL~bX>#kTxU&^=hGouHy1T{ETjZ?6&3sokUbPJGcrfR8^Y}jXF4rTI zy4cjKqE{`Jr=r)2?aL@JdFFAlL5etfZ_QO@rB}(3dmMScj{-Ba^OL_5&g8}x93JC( z<>=tfUH*-)7XNxiN3A=jyku(G9-vE_qRn|ZN;5R+q$TuZClhsE#wd7vH_epd_QKB zrAX~zgY|QfFEIbhNyEL2v8$}97)aY1QZOmQu)+BjG;cjO@N+?yAB;0Tv zRrNSOx(aX1z**9K=6;&y#5rzM+A_KPLd@e=x-ggTW@pcdc)Bi#w8m?n zeJ11ACiSVePe)9ge2hC*D3#~P#>iVeX#QVbA5N*Vyq5Ih>#*8&3-n}+rJ~TzncRw& zqwHw<_b1%2A7^JD*MAY~k(ghpEvv%$V!DMy=x92B2UZlkOnWKfSp|L7;hf=0zJzf^ z2>S+}hWp14905;K!5S9BNzn?ePocj4HF0@L1vJn1-s?aPti`cPj>EV%Z^SXaK}FuSuB zd9Tl#!G3Jx94Y}mpjn(G+fK~Er+#$2JTCjoB2J9TretEPTu0QaO10RamFm34id4vv z7v*pKBi^7HIC{g2HzsyUXVdzEq`8i;t1w4cHXAb~=pAbx?6`bYX=Hpv#Ti;5%$@W5 zGB7i2%yz|#w^!ehOQmHE-Q()=KZ4oWTUJTfqs!#C;+Px3U9T@1GsEs^+#MMgkH%jx z=F)FM-kgtdZZSrN3u#u^Jn0duQgT@b_9~>lFqcjWoC92j^b(AQXf41OZ-Mq6UxV{MWAX+H_hoWb z(yL0lHe|Lj78sK>;=HYH$UNzTW%fLl+O0CYcP#mzI8)Q(gw03}P8fw1-An4{zn=47 z{<2-sy%uf-kB#tC`JMczEdzuwy-vcPE9=`HUs? z_uS0NU%mOh^6t!=(92aX?9ibpFTwfn3cDHW4n~HZ}A#bG2Qw<+h zp#@Q@6sHiY%FFdp>)3c<{a}6QzOvdI%PGD8Qbr>sN~O_A1t)S+SbOc7n_1Z_H{XX_ zT;KEs;)~G^{x~CVG4ka>Tl71{jDR_tB`gM-aA?|0q-5| zTecaav4ie{MEB}@!fU%=T@<-5?0Ne|lwfCa?)svXq9|Q2V}&7bzI5UCr2Od1NXe1B zrStlRe~#qt#$E)r8225sR6_IEJlr~e%pwam1zT1C6HAt$V`eMxY(JH&% zepGuB%eS*5)pu3~v3h&7X6(wKlVn=5Q13li`F(L;^DV2o-FfI&Wc-HX(;4wwR?!Vz zq@%LbEjYv8h4A!=!QmI{dt}$>v&p*FRGpi6V!I39?!t+*9?gYsci~K0hvvffyU;Iw zUgs-SMI(gt9m<{^aiG(I+jMftI{pEC>zHTft$+2C5Ui3ySevd{Tc!8RWpBw?;2T&b!hrRxl5+NUK3>joUHStb+AQ4XiFOqkEV1 z9_3Le^_l8K9|Vi3%pIEKe^#50J8ql>td(Y`t#(VdkqV+ct;p1v))qBuGx5*T_`T2_}1QNpP0c$&3=@eOd+8VP`qgbfh z0V=ChudyoYi?Q(<>ucR*duGMUus>W%DWClTcZ&Z3cZy5;yz^`DvFg|0Z_7N% zs3lnk_lyLs=p9SfVx@1oaSy?w*#~b~wH)iRSVylO2dfujeRZ2iiS(v3$GBA6KmDRqBvW9OT+^Z7 zU2_&JMsSx&zzNBYrO5^q^O?sfPo^Xqj^frvT{C#&a006Z_Ya_4un_Ft+A=@GZjuSf z>SwFs^d(A#G8HS#C&(&g4!#5DM`M)DWQ8!7a-%uWjHY9z>!st0&SBm+_45oNLzdq7 zuj`0$(lZoF3vVg7X1cL96_U!L%#W4I_&|F9@%SnQ?Q1Br=T;4tEU+j>>fFX968$~y ziFXFr;nnJcaear+cx)+JY`4Q{N-Uvuk{ghh6B{%X`8{&^KOn6oabMkz57m%DQZeSf z1gl97lvMhiFItAtNSJmLUIJ?+zPiI?uDM;)No@(WAAjf{+i%219x7GV{E{)Gsz;wqZ=f4J`v}L$hFSGt1kRLmIDN(Q;s? zC22XP-a7#|;~2Y*&;zBO{S4zK#%9SsBD7d3To4Q{q3c}>2jzsQYs~TG-)bA z^>uMr@Rmuv%bC>MnD_a2I?HNPZI0U1CNHI9lsk&omM`^gQl`sniqv|3r#y?kF)w*t zqy)cH7P&JbY0J>JjENOOS8=>6o%?*a=dI^7dDaBPD@|PeB9OSl{{=kjqZkXx{MY63 z+^ErqczT!S0<*$FIRIRM-(uD(ZC;$o^?jw(kvt!xPiYEkz3lL=Rg5&?=@Yb9K5>WT zS&MLc_!8XdRo1s!%E8@S8{$ivYY)k_PDtZSytWYeX#XrA6m2X2E`q#t9Y#(z%zoC!?xS8Tw%)#IRzrW>j`lEfS;N(3}g>7OB~ zFDY$Bih9dfQolQs(5>>kU7-|eSL#!SI85GL6Vb6-G?4yB{dB(vI%*HkcgxfBA|4va zyJsgno2BX3;6G`T-&gT1H`N`UkM(Am+9Aj6xT8m|U{hTi-K`TMbs6Owm9v$N2QsCa zvy~k=`;G%2Dc|aZjQ4}cy%+RyZz#VniTkRLRDWCQUFx_(L#j8-i$Jrx3O2Gw=aYqP zg}X;C+ZuOnd}y(ILl`Se?kz^S!fYAt!gFmr@R4)e%Si1WO3_R?H19}K?u|O!TcA0d zF-=bw=}d9A=s8^xh&Uf!7I(G6-r^h1-bzWq&DpqHOOuXt-Jooyxj+>}?i!FGr@PI$ znWTgcawY7X;+L1Q)T=6cxJ2`8h1}P%sic`f;xhK5#jv_oD%`F9GWTPY%0CZEEp*Y5 zB<#;old#7FXB?PcgIdyvTC&s&+|8OJQw?()6TX6(xY(k*I~N|Vj#2r86oHvoMUNa- z^wf9V{0hz#o1%T1mOfh$!M)BcN+f_AKlbBH>(AeCf8h-^|j|M2OU zUL_wlR!05JGf<0a53vyLCxA=kes+tJL-iWCGW}{`TE5ZG!J|^ z@*do>Z9Lx-y(A;~$6)UGdi>R;$UD>AbrA^w$?eP^v2ZO=L%R06PpZUMR<1 zukE;_YTy7;BB_xF4vYn`ZNh1$N%+I`uSXhA^(AwBE^hqhw1w8~WWD#{!WQ&N7;WnVri! zW$Z7OW{yP*ZOk1gvvbf+KcUx~xwCb9Xq{&=^+Q3Nk-}2=#=yl1#FAfxrid?>zm(Vl zi~DWHua<>i2W|c;JC;5Gn}@|fZZ_`Mc|u06O`$g?YjO{*-*~2Uf87Ub>hVck;*;L( zGT$Aizf13JE0(@d3yXW{2AxZVBRyRKbCHIfb6ERyG*4K1MHkUer{2HH?2+A)gEqfqa-@@ z^6Ew$C(3L9b47s*BB&?jIa(Do0rwGgNuIpB5xa}2X51S-yvgB4t;3A0oA&BE9GF$h z$Gk7KoNlbpR$!g0%t0r4^m=l<6N9K%C=-Ek$p*9<3f34FAk~SH>moB_IeLHW+K+y| zfll;zEu%)~#ia9|3I91szg2tKk1OVpuIw}=qZwDPCLdu-a7zg!^T?sY1BJdu4{WQ* z4oxa6I~0XWr*6!*poBSnCYp7x=sz+E02`7sJl~ zH!!G+YMxPP8N1qYU%HITjYNMa|HAj z;!N`;Xx1u}T6rH&L5d_Y02a0G6}T+*wU^#C{cq_0t6vH>8y2N;iAQ0HrMI1_ z6Br+OVDIuDXsK9g>}RjRrSE<%qqLu+rPCDyyZnV^_!icExIkJH<0BxfCSxp;hq<)+ z#gvQqQru6pi?Cuq*g}hct051Kk|jb8aUX`28MQq3!Q~jXyS;mN#2uBFpw!asZDeDJ z*>!y7XIQzSZwwi-WcK)iuByE+U>;`z@RhJeY@obz?F;cw(tGFlnbi#w8xrh|7h(?ab*h0R&L(DS~-{h zP9j*P|Bf_8q0-=Aiy3c22UcPEOw^GoU1`FGCH^9o;w7z^2%`WH&4{6c&m zS-wo8y%hLHDK}2Jr_VXZr1fPfMUvM3yS}fbHgY0;0dB}kr5`&MLM{E(i4=B@|Mnir z9m*FP57WCdFw?3?Uy4ZnUq>j#D>I(kU&-uYo;Z!m8!sh9rE>gc6=8ZMbV1MUVeEHS zqt~MCD5NjCKrfk9#ET(}fwW_(M=>yzg>VCnY#d&tsF_MTadvrAK} z?}0TR)^yH6|Mm0ZcfIdI*tZ9TJ(RiaeFb6PxQFhnqmwe|4(lriNbcE?UM`rce@SgJ zueX$)qmdoom557ED1Ls@cw_#+`H}N8n+p6`8TvQu$gfc`UsrgYwk9lLH^QUv0Eqr9m3m8fE>t8Wu-uKHC#^CPFmRggSO)p!j{_KT99$ANM|H z0u`*$^e$8g=Sj)b*V{UOlxgrSz#jfu%o^xcu$XUJ+&Hh3R*pPD27BX;bFk0vvuP2` zATB;XvHbdLhA$b9>o6%+T)SA zk#{nlSS`-gW~mEL{2p^~zqe-Oehc4k;hPE#W+7r^(*N{n%{s~D-b*<=kUr}~%{qTd zWi=|zKeHTa10Rq54z`0^Xq5oxtUU;K(a}HMfn79MG$_J-o8_!{ySt6n>?S10vL@P4 zka#ct`s!D)T7#WaxCu6jz6m#F9sT1So)Gd>yC+f`_r|V^)yH70r5V6nrT6#Cjb6fCWfkLY zlxE7wPt$)Kn5Vfh6MAT|a_)DRk=6O9={*C^nKSnh0*cP(~l)z~dyq*GJB_GaQ2rJ8E#t(tl& zC9m9!o#^d^jQhuOC5;%U4-R5S`QJa~c7o+j7oBa@!y?NTDs9x6gzx~T87r*_2UX-5D5dEZI$ z)O=5Y<>{SI4b~e_qMWq){>u|I4-Kw@W}#WC{)D^NBQZbe4L|sFApO>hRIVrKGLF$@ z#NEu$3i5jQQ$OU#%91OuS2O!99>QBnDdG!yXM6OTgmhhmmK4!~`)7~A{e?Ku4rl3N zMeh@LEoRg1jD7OZln1D$l`rmZ@0Fo{{V>jEm2|CYegG@oxoso~W(0Dn_o5Y1LTo(h z>W3_^_n?$-VTSWPfO+LAd+IZ}1h1F(9=2q*;tv(4)KE{)RGOU+B30sEC zsv>ghJd}W@6D0BKzV$yNWJuQ~BtUsmgvCjp^~46!cm3M9$MLg2(s+GM#}-(Sjft$m zx)x?1uv_ovFTS0rj$vM0pOZTiD>xGN-ZB5u#*5=Q&@N_ZZ)fg~k-ZLjXWTF6kn}ic z8<@Plk?eXXte_D)si8@|omon8v!=C>IW>Y^-wh25`gsB{|2_f6Dv-r_3qXx%41h_aWxU9`B}15c?W2dOQ1!#F!T)%pCjV zaoS+1vF1=#n~^)X#Iy#1`@S(_Ye-Aq9EJrQ>A=vK+pj&8%cdrm!X~{U@vo%4MX4Mb z>jGY!H?;vf$;P_fdrw{=cpH7z+g1R03)5OEO#mP zr^>YB19wVe_ZCKjhP?r|s`sINEyHT5U%Fr{cBx~<)K9x*u$Jn39c|I4>8Ic$xoG_q z<6o?wvTA)TSiffzqe#q&U@h2P1C62h_V0%;)OYG(C7>F4Snbwh=b`;jVEyZJNcit@ zY|P9JURmntDv4|fE6JRA3HIImB`HM~#GB%|aXFS7kH&CcXF+Yu6Z>-Pu2=yylk?(o zHLPqvm7NT>AHEvwsjXR2QwBZu>-{f>|C%($x{%S_SIn?el9lTtU993kMtR(NTE82& zc0j*>{R>~@WK;CmPCd4BX5^}j4;H~?*cG3n|1y0!EUB?}@^4s~lknfi3<*y3Uljip z=HmB$q(JAciHSQxit=CUs$D&h1j~3NNt9AA_@GVIS4IGT#I4R&WdR9U59c*a0x_KV*t8`c^|R>?PZL zauxCt@3Sf|Gz|LwpW@3U{P!^9mmRy$ihrx&5Ns)bjI#pudZ*6?{HHk=pzg5!z5~DS z_0sQyTj_Pv?}JXN0?5SB>O7LgS-FI^n5hq!(FHp5B+<7?cus%-oB}8IdmUZac@eyX=>Pkn+x)lKi{0Mkz0qo za(}-0%1nMxnK7wr4|dH_$WFLpx$LMXdf8FmRrQ!{4N`6QgQjjr zuZO!sJ)SOC1nWAvIJd2f_Mm&D@S$9JTzq208y^>c3YJ?P;h70GE%A{u_PUa9_sCMo zTi9U&`y76*P2wZjx9(yI_bBR`O1vZdVUkiu4lz&Hs}b6{f!VG5*(`lV?f#lddg|#a zu4E}CgZqT^r#|c|EbfMkauDsEEWf13@s(laD_@yYSm%vb(CLzXZ~Rf%7eN}SsN`Ec zl2VDgZ+$z|lFhZ|8#^x2*Y?$%(4jRrz1HXhk#-9(xCU4>2638WjTgU^uaNbwz7qw% znEw{eb|bld13N_DG*8!}RI%3xVUEbrW6_u+h7qrC9ojnliZYP?_JAMl0kHd_jt=?`4_3;3q!X8cDsUDsqtMPV$2zEJ6+Q1amp>m5>j zS!Zp0L1*nP^E&UjrK&S0J~rO{kvx`WA8`|Qnf9SvSOklVUfc~h5Y+bqEV{RYcFwPZ z&QTOOldMao{Q+epT(U0wXxH~(UnO1eqwv*lUvP_5byw0Jy6|nf^$6o>wDKXXvxntj zPvF>^u8s9)lt}f_$cs2VIe?r|@}6pF>-ws`ru@+H7jZhhl9(6I?Qvo@@4n*~Ok8yI z#JAkP>pm}Z{kR5O^D*rVw+yzs>veAOaX+|xgq0lE zTn2Z>@pe}uN>6?}*`;Iu-;1nkL2X^#RSOm^^fSil2k~FI^71Q|Ue>T=2_AgK;=nJw zB5H&(rpu&|Of_GS=}-Nd(~#ty{&thw+wTWQG9~&o#o*rPZ&ygBF{Vtv`88w;UwH-p zjp&kwx&@|hkVuS+#Kj?5x*hdh1xWqz{&sLaaF6!KOzx3>zsYUr*CZp}L;dX%{dR%* z+xOwOue`jzA+iA9jt^gO`BhgetzFtc*np4Lfw_E9U6lM+US7L!!Nr$1)WcK1;HvPl zYZ{g;0{{7W3(|JlQ~rJ20N>)p3NF^X8Rpx){&A80nA;$33w9u2J!~A!y-z?W^Aq<2 zgwh!c`Y9FIF=g4*Qp~doVPU!@Jikk>-x4l+%Oj&*MJo$ke&V>sNs%#)_clI@zJm5`E}-_@53S=WYv*Q+ z@7$D{jS+_v`yPIjnKJ##iXUaBzV0}*#Id^sC$*j9IJCi0o_cdmNj+vY&XIe@jxA56 z=3G;^sBho~#9AU_H+rnW`}V1R|K$&Y#$10YKO+a`)4I}*UCBBA?_+1G8%|eBua=^On&}V2fkh-_r%h9Bs9wldeQVVKc=gj&p+h!d?E_2Z9sv}C3%sM@?Gaxdk;bm`~&J2&+|ks{j%$%9d3x)F9p zN765Tx^3~c37+#XF6eis*4Amyv|uKH1v>lJr2m?%+I((3Ml(~VcP={gfK0O&w`R`J z=$zrPIN7Vw_qF~9Q#qI`s6C`I?0)W5L+nT_7|kd%q`&UCG99&hC4Q*A+W7Uq+hf04R+y14#O(qX8gX_%1Kl_y%~&w$_->qhQGOKXvW$!5!ftH>#t$i2 zNcwg#R`8tjGT-x#CzVTa$5!f{jPIqdW{Qq8_SS7GYuWlv5@W7mK-5EuNu*sO5_}891 z7ApN3=5C;`xGrDxr%X+22X5#*WAE>JnKDj8tjbG&Dg~tE?T7Ltxvg*uYSe6KD`9Hk zQjfjS%h;bjKp8FzUAmw++@tRl@r~6q?Ae`zm7)+zQItI77#^-d~%|FLl7GQ_#}m{Uuo51YQf9aGS^v+}@Ysr2prj(wyV zNf9?@D5qRTClaO7J2R>DrTxB2*cMmkzDxI+q|y&$99x5PO0HZniO%jnoLo`r*s`;? z&{0%hxJ9aRV1?RKHzt{@dFn8J@GnXg<`uTw`N24sX7>YUxYkZ^l-;ke7Os^*A=`!C2$u` zE1wq0T#9plH(~y`?#zsIk^e%e-;wf#)5&0SRiH3&duo;=*xcTW``4<@+~?dfQ;JdrYZRm= z>!~?%X5{R1_uTK0d+Hpo6@RDn6H4WK^vuMkyRg|A zqappGT>MvyB>WE*-PwE(&gfT;s72o?rMGViV-%d0Hj^aYEzQo0W zlH|X`#9xixCZOFV^0*!!8 z?@N-c4u!7?_nToylg_qlBkesNH`zOn-@;Ox`UCZ_gmAjGuV~ZX8>5wEq&!1n%zAp# zyRXHlm12&2FRY;yZooGzLCMLLt2_zF@rI*n(V>s;$W4sVrfXGNPOn?SiK_D959L={ zBRN_@|N0a3T&Z#-7nwZv-o2BH8n(Zed9TB0@oen4Dt9V-XOusLei^6CY45wGguguf zK}%$rmRp7yn({H4k5+SXS!*7A#8HXxOk*2hcc}Xf$>b`hE)^?tK)#%lbdZ;4P`j~+KS zNzbL^^={{0BM$X4t0y%El*HV2M@#-Txn+!YUi+~Ru871UY|G!%+df+xakSmDTy6_Z zl3U~^yw6fexy|*Yr-b$Tb7O9KZ)Kl4mub?ps~hA4|JH+3%{9!6;`T$<;%uv}50yAu zG>2;s<;(ajPPC@a9&^?+^oi28Ya-oWHOkuR(u*68zNaW% zor7KSwL>1SoG3WlR6R!f+974Rytm+RyxI+Z=iL+@tCqB19&SQ@4b)WNM7RIQM7wVc zcu~h2P?sWsiKv@jN`6VZDNvlaIq*-(8q7l$&XV3O#B5A+DQ3qd*OU3%VDWY0z()mA z{uW0o=BYQh@oh@$S7??f#2$g(>@#Bhj$+A<4f$IOH?wlw%-GI0DjN#7uPS9dQtq#i zAIhHY-hrV0e#_5rx02LSui+%!cO=}ng5NzrzgrXe{C6K8^t(zc+wkj1ncKU^v3YR= zd*?x%NQu2F2iO*1EiGOi#Ejz$Vfh^&MzOAUB+Tziu;is@AAJDp{{6~ksa|RQSr3zB zt+o^?9C$FIYz~!#O7**{LvoAXt?ZH7q74#G;!#v;H5M_sZA|YXcSkQ^pWh<4 zElSC-JM_L23d=2LBg9ShtnKgV@TbAqa*G=p0Mqf^HO_Y zzf&7;wPd%I@~`RJ&+Efee>odPbq2@}g6@bDsM(ZB*x9&FQT8~sc@e+A1FiOoNyql; z<(F(5%{VQQT@Gn)a2nJ6(-3>FQ>#TAX^+jAw4g72bUV}a8yZha8cvozRs^Y(1uT$( zJ(n+(>+ee+G~+-FhO&q$Po{Wb@=S!?Av)>L@UIenBGWI=1y3~JBpz=e{6sw7a_~ee zOycoY!cWBGtp!iC-XtE6+;)T!Z8M3&#GgPwARrJB2nYlO0s;YnfIvVXAP^W$2uLJM z6yvG{Q&x<@7zlK$NnFmm;U^-0Bi!{SZGub0<2?bMh{t;lJkd)g@px~-PsHQx2Tyd+ zBp#3448n+5zDa{03SJ-}5D*9m1Ox&C0fB%(Kp-Fx5D1I{1oXj84C5+|DKC{^3J)qGKt5lgrA7Vn+u+3zDYbDxlx1>HJUW| zncxKi0s(=5KtLcM5D*9m1Ox&C0fE41K)^vlG+|toVoFf}V<1qeNnE~a_=(8xfji%% zdbmV9-cs;HJl+cMM7Ns6OYM7k(o0`{34_v=A;4kGC8=5s!B(c%qdi@px#wPsHPW44$aZBp#1k&p*Hh5acsy@H4>+1Ox&C z0fB%(Kp-Fx5C{ka1OftqQG-B8Qdr2TZ?*crmC5rBjDJ8rlLn_#i7=vSljg!D;&D{Y z2v;C5N)gcSBls_5vkLPm;^^nYoZ=Y;52^AEN>|8ffFbZ4R4BlT@@dE8zw@0g_2|F* zj{jeudq(QRsbEB*FGYu@FV(DMGEvB+!Qw7O7}0W*R=_3Vaa7I-S0FG-5jb7iPa&sK zfP}teuSiy7YY(=3LZ7#w(3#Vv9@(W9K90bM=}T0RV$hdjL(`Yy|Hx#bCX=|_F7?PRweWESMoeF#gI`;q zFSQI!U&^#GnTTyRi3<+52w_B}CRM^E;!#x22v;C5N)b3++D{>;QGkTLWUok8V`~q# zd_rHcpwOAqr5@R(7Cw%^i0Mmopkq7qrS_reOM#y-nJ8!ymz&&rgb^(?X(?PH9!KSj za0LRR6oJ#F{SXBV);o}I5n7%{@wRJ#W>KK~7 z)c6$c{{h8J;&PL_5@AGlo3s`#5s#yCMz{ijQHsFn(tZj#jRGX}C3{7(8e4m?F7?PRweWESMoM4O%SAWzrS75WOY5FvGEs|3TyAooKp4@}COrq2h{sVmBV2*N zC`I6OX+MRWMgbD~lD#5XjjcV{@(F#(f zF7?PRweWESMoeF#iljkb(uSrlefV1@6QxYza+9mP#$+O|NkwppcpQ~8!W9UNQUp$y z_EX4d6d<85*(;LO*xG|FpU{^qD0Jp@sYiCHg^wdJV)_zQloa%()X?;$;sle4{3da^ z$(@TZqWLD(!zJQzRL%%jATUZ1I9=LLA*WG*guZ02NLFKO54LO~s_=0HMoeF#^OtqVt!6(3gTk)0g)3F_}m+iOWrHAHs-En4}zm z{WplmQ8^=Afxsw5K(zBl#tc_GFYpw2W~=H}r;zO-!i4^L3SdOA4S|u;m-O-(g1!_Q zn!e=ujLAeklLiZ4i7=vSljg!D;&D{Y2v;C5N)ZtKyOA+MU$Pfas}ZvYTRzdhTTtkX zs7D4K!&Q&$=n5Z4V8rw#D!@_bOVOd}OEqpuCJLFvkE3!%xB`Ju zihyY6jf@$tc3$8q@XS`#txh4^Lxc(a^Ax~{U>gD>rY}(ejX__E4NYH)`y`pD$)v%; zuSFQqdXqN6CE{^Z&Inf^FiH^+{kxGdLSM2MP^%HM2U|YTzgtk~jHpKj9>Z0S?C1&~ zM_|PCC92R((3hHqrZ2TkkYu8ElepaEK8G-(mrU9Tmx#wvIU`(wz$isPwDU&B3|BiZ z@DzAvtLj##knJJDg#LL7U_`JDff3V}r~y==FR4S*mv)s)GEu^$!NMOz7}3Wj^}!|L zaa7I-S0FG-5fJ^mkugGFvKLUR5wizdKGDBhQ0R=PM+P3lRgdiG3Li&c#PlUPf2jrf zQp?cvrOXUTCSuhlalzphA&jWhq)NC%Jc`O0;R*ysDFULMH!^0p+IfMez%yG_w>pJv z4-qEx&r<*+f^7(ln7%~kFSSEoY9E@u6gXFsiGn5#7QP-~L<>z?3YUn-Q8^=Afxsw5 zK=kiM#t41MUO=rz%pPp{ME`Cnxh)0gP{r4Hyz9YfQX8ow;b zL@|@N+~lrA7}4D(t%Xa(xRD6Jv4o3-Nlkj)MCnxh)0e0KC!jAShNdsQ5S3)2Zj-p&(qQ40Yb2S-Yf=$hA|6NOjBo`4qZ9$rzZ)4N^d)-%wHh&du;ml| zy9I^Lhq6(dYzLXl8zEpgJBop~f;&PKa7hy#6O{#}W#N()( z5w1XBlp-M7c_U+ntDP5k3Out_b*odz_7Gu0|2zdSBG`t&i0Mmu1L(ki_mG;xOKz29 zqNquOgr(lKH8KE!P z@esc32#lD%MCUL0pfCA`rY|*rTat-XlLmjqCWH|^YSI&MiFh29Gr|=Jj8X(d|88WA z(3k85)M~`+!In?-?-mp~BkGZX$8gmnJG#Qh5g0LjiOyg0LtpX_O<&sfPm)a3VG@^{ z+?@y`defvmaEW*vl{3N>2#it$L_2R}%y6~y0#AWwwyJJ*3fUeaOz5Ad07eAc5EwCi ziOydNLSG6FO<&q~za$fBCJh$84`D2yW3_OOb9@)_qK90ah=}UUPg`h8mhNdrhS|yptXA+m2+)9KIRhu*y zE)kETaz?lUfl-QpXy=WL8LoC-;3@FTR@JReA=^WQ3H|dFz=&WQ0wbm`QNtC5z7!pr zzErbCl8Hhl4HkYW!ibiev;r;>kE3!%xB`Juih$_fjf@fclD&XhjhH>y@`?W4fhZu6krgSNJ#rBc?A=g^xjBiVaO)ivLuSiJDB}a+A9jVMOaq+60$~$5A;WT!FwS zML@LkM#cg=-(|UbVk%81CQaVM|O0D zk0UT*`VwWF3Vlf(n!dE_c}XTpn8f8K_aMTEJ~pWjE)kETaz?lUfl-QpXy=WL8LoC- z;3@FTR@JReA=^WQ3H|dFz=&WQ0wbm`(fLa)(3e_qVt#9 zp)a)$Ok&q@(4?hsiFh29Gr|=Jj8X(dJ8xvnaJBOSPl0E)s%~`( z*&ZTH=%1$mMg-ds7%_c`&R^<)zSJ=^eW@`i$wV=e1`EFuVMKSEv=%NAkE3!%xB`Ju zih$_fjf@fclD&XhjhH>y@`?W4fhZu6krgSNJ#rBc(6VavbZ1zSKQ5eQDi0 zl1$WM5|^9YClE&Tv`NpwCE{^Z&Inf^FiH^+?YxmO!`03UJO!TFs=C!FWP6A(p?{tN z7!hnkV8rw#YPb^6ml8wMmtOd@BolR;G+6jO2qW5W(m}XHJdVm4;R*ysDFUK@H!?=( zOZEb4HDdN)%P0DG3ksbP^~k_uxayG|UE$*hjF`Se6<&kBqzz49`tV~(CQ6yafsXcI4Wm^D-al^2#EgO$QYq7*$b%Eh}nZJ zpXlE$D0D{DBLk1&sz-Kog^wdJV)~MvaSHx>hLnYu3`jCj)Fdu9xhoJxbgM}#;S%vU zDrbZ%5E!Khh<4t{m?1S1gYs73DexRr94yxA6s!SL$ff3V}$l%)teaSa8 zeW}?a%S5V4gTG=E!iXL<=?S<*JdVm4;R*ysDFUK@H!?=(OZEb4HDdN)%P0DG3ksbP z^~k_uxayG|UE$*hjF`Se=P&u8FZqY2FKsK7Wugv~xZLFKL>SSVChdVs#N()(5w1XB zlp-M7c_U+ntDP5k3Out_b*odz_7Gu0|2zdSBG`t&i0Mmo{!$S7QgCSc(!LT|CelnA zEPNlrh)$TKoF&UdJdVm4;R*ysDFUK@H!?=(OZEb4HDdN)%P0DG3ksbP^~k_uxayG| zUE$*hjFi4a(@QJ_eJM0FeaTZP%S1ktxZLDcB8;foq`7d3cpQ~8!W9UNQUpXhZ)D7H zwetc`foHa=ZgmRT9wJQWpQivu1ltf8F@1>|t|;`S=+N|~nzLn@C}h%L;g=$eXt_x% z;1cmTDrbZ%5E!Khi2mKk7@;rO3#iqI*@G>g=-(|UbVk%81CQaVM|O0Dk0UT*`Vv+6 z81$vs(DbGFd9qB@WD=K~+_eZJT5r-OxI{dT${FDb1V$+WqMbJ~X1LmUfv3PTTUEC@ zg=`NICiKr!03(8J2#lD%L6QA4g!M^d(Z4SU2>g?xE>R>u!@}q85|5+~huiFrueTdJZlT zkE3!%xB`JuihyY6jf@$tc3$8q@XS`#txh4^Lxc(a^Ax~{U>gD>rY}*$m4LpK7@EHH z!gpkusN1B$!tX&C(SDN-!X@HyRL%%jATUZ15dFK6F+yLm7f`Davj6QA4g!s^d+kB8uTS?X!_EJt7VxeWfGU0Tt&tGCm^p$MR19D9F;S|6$p${ z1VlS;WXy22^8!zSXSS+tbqd)YB24I?rvOF-+YlHreTfQS3i?uNX!=s|1F}ryH)*i& za}h=~-=uoDL_Chl8Q}^9MkxZKe>XBl=u7qjYBgf^V9O`^cMA%g5%tKxW4P*(9bMt$ z2#lD%q-UHH|8s_vg_mrQWumA_TyAn#AdKi%lUBkd;&D{Y2v;C5N)Zt4ypb_OY9t2b zt-w>@IjA^Ttko%4A$CUSpLRTiFFOJwrZ3U?OFrmJzM<($&0A%eNHuBjS8PHU(W53k z0hfr!Q8^=Afxsw5K=kiM#t41MUO=rz%pPp{ME`Cnxh)0gP{ zB|r2f|IqZMZBNKDQHM!fZgO`bjOb01_P{0Laa7I-S0FG-5fJUXkuk&7&I>#Rp4qCp z)hT3qh%ljlo&p#VY(rqg^d&k_AP9XaI5d4}-_K>4NHb}$@O=m)I$@IX3)p{ycpQ~8 z!W9UNQUpZ*Ze)zmm+S@9YQ*fpmQVEW78E)o>XCuRaMdF_y28g17%6?J`+wmK0MIUz z5^#z5?`q(Qe%h|`Al?1%%DpY}f8h!JN|uR^b*oup#qf;ij#sijKl!DTH-jOgTa$bWKL6qYSwwl*P zlx3o?^{R})<>59L9}&beB8nF{RXn`ih-X9;FM6tY_-GZ+h$vq3sp3J1ZFok+<#_=- z(Y1K5V^BDMuDg&|!!sg^x9?Q(kgDe;d_RcdF}SvLxCinE@r;P#1x^(Y@f-1sh`$;K zPxSoXR2CZ)&Y$ZpnbGc@4Z~@+t5slV>u%#btbt54_Lh z{ows39|RvX`50u=h9F-EX@$(RqTr)EUGOoJZvx+B@+x@MnbGc@4Z~@+t5slV?3xXe_jWaK=!W9Sz1Ox&C0fB%(Kp-Fx5D1(u2>fpincEcr diff --git a/packages/kernel/firmware/libmali_rk3588/package.mk b/packages/kernel/firmware/libmali_rk3588/package.mk deleted file mode 100755 index e439abd20..000000000 --- a/packages/kernel/firmware/libmali_rk3588/package.mk +++ /dev/null @@ -1,24 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS) - -PKG_NAME="libmali_rk3588" -PKG_VERSION="1.0" -PKG_LICENSE="GPLv3" -PKG_ARCH="arm aarch64" -PKG_DEPENDS_TARGET="kernel-firmware" -PKG_TOOLCHAIN="manual" -PKG_LONGDESC="Mali blob needed for RK3588 gpu" -PKG_ACE_FIRMWARE="https://github.com/JeffyCN/mirrors/raw/ca33693a03b2782edc237d1d3b786f94849bed7d/firmware/g610/mali_csffw.bin" - -makeinstall_target() { - mkdir -p ${INSTALL}/$(get_full_firmware_dir) - case ${DEVICE} in - RK3588*) - # RK Linux 6.1 reequires libmali v18 for the moment - curl -Lo ${INSTALL}/$(get_full_firmware_dir)/mali_csffw.bin ${PKG_ACE_FIRMWARE} - ;; - *) - cp -rf ${PKG_DIR}/firmware/* ${INSTALL}/$(get_full_firmware_dir)/ - ;; - esac -} diff --git a/packages/kernel/linux/package.mk b/packages/kernel/linux/package.mk index 765080ce6..40ed37181 100644 --- a/packages/kernel/linux/package.mk +++ b/packages/kernel/linux/package.mk @@ -16,9 +16,9 @@ PKG_PATCH_DIRS="${LINUX} ${DEVICE} default" case ${DEVICE} in RK3588*) - PKG_VERSION="494c0a303537c55971421b5552d98eb55e652cf3" - PKG_URL="https://github.com/armbian/linux-rockchip/archive/${PKG_VERSION}.tar.gz" - PKG_GIT_CLONE_BRANCH="rk-5.10-rkr6" + PKG_VERSION="6a2f44f4d0ac3aa90ac5050138d08b46118da9cd" + PKG_URL="https://github.com/hbiyik/linux-rockchip/archive/${PKG_VERSION}.tar.gz" + PKG_GIT_CLONE_BRANCH="rk-6.1-rkr1-panthor-v6" ;; RK3566*) PKG_VERSION="6.8-rc6" diff --git a/projects/Rockchip/devices/RK3588/linux/linux.aarch64.conf b/projects/Rockchip/devices/RK3588/linux/linux.aarch64.conf index c5416b224..0aa0b3019 100644 --- a/projects/Rockchip/devices/RK3588/linux/linux.aarch64.conf +++ b/projects/Rockchip/devices/RK3588/linux/linux.aarch64.conf @@ -1,19 +1,23 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 5.10.160 Kernel Configuration +# Linux/arm64 6.1.43 Kernel Configuration # -CONFIG_CC_VERSION_TEXT="aarch64-linux-gnueabi-gcc-12.3.1 (GCC) 12.3.1 20240103" +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_LD_VERSION=241000000 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=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 @@ -28,10 +32,10 @@ CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set CONFIG_BUILD_SALT="" CONFIG_DEFAULT_INIT="" -CONFIG_DEFAULT_HOSTNAME="@DEVICENAME@" -CONFIG_SWAP=y +CONFIG_DEFAULT_HOSTNAME="RK3588-ACE" CONFIG_SYSVIPC=y CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYSVIPC_COMPAT=y CONFIG_POSIX_MQUEUE=y CONFIG_POSIX_MQUEUE_SYSCTL=y # CONFIG_WATCH_QUEUE is not set @@ -58,18 +62,19 @@ CONFIG_GENERIC_IRQ_IPI=y CONFIG_GENERIC_MSI_IRQ=y CONFIG_GENERIC_MSI_IRQ_DOMAIN=y CONFIG_IRQ_MSI_IOMMU=y -CONFIG_HANDLE_DOMAIN_IRQ=y -CONFIG_ARCH_WANTS_IRQ_RAW=y CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y # CONFIG_GENERIC_IRQ_DEBUGFS is not set # end of IRQ subsystem -CONFIG_GENERIC_IRQ_MULTI_HANDLER=y 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 @@ -83,9 +88,25 @@ CONFIG_NO_HZ=y 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 is not set +# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set +CONFIG_USERMODE_DRIVER=y +# CONFIG_BPF_PRELOAD is not set +# end of BPF subsystem + +CONFIG_PREEMPT_VOLUNTARY_BUILD=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set +# CONFIG_PREEMPT_DYNAMIC is not set # # CPU/Task time and stats accounting @@ -125,6 +146,7 @@ CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=18 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +# CONFIG_PRINTK_INDEX is not set CONFIG_GENERIC_SCHED_CLOCK=y # @@ -136,11 +158,14 @@ CONFIG_UCLAMP_BUCKETS_COUNT=20 CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=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_ARCH_SUPPORTS_INT128=y CONFIG_CGROUPS=y CONFIG_PAGE_COUNTER=y +# CONFIG_CGROUP_FAVOR_DYNMODS is not set CONFIG_MEMCG=y -CONFIG_MEMCG_SWAP=y CONFIG_MEMCG_KMEM=y CONFIG_BLK_CGROUP=y CONFIG_CGROUP_WRITEBACK=y @@ -159,6 +184,7 @@ 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 @@ -170,11 +196,10 @@ CONFIG_PID_NS=y CONFIG_NET_NS=y CONFIG_CHECKPOINT_RESTORE=y CONFIG_SCHED_AUTOGROUP=y -# CONFIG_RT_SOFTINT_OPTIMIZATION is not set # CONFIG_SYSFS_DEPRECATED is not set CONFIG_RELAY=y CONFIG_BLK_DEV_INITRD=y -CONFIG_INITRAMFS_SOURCE="@INITRAMFS_SOURCE@" +CONFIG_INITRAMFS_SOURCE="/media/storage/5jel/packages/virtual/initramfs/config/initramfs.conf /media/storage/5jel/build.JELOS-RK3588-ACE.aarch64/initramfs" CONFIG_INITRAMFS_ROOT_UID=0 CONFIG_INITRAMFS_ROOT_GID=0 CONFIG_RD_GZIP=y @@ -192,15 +217,14 @@ CONFIG_INITRAMFS_COMPRESSION_GZIP=y # CONFIG_INITRAMFS_COMPRESSION_LZ4 is not set # CONFIG_INITRAMFS_COMPRESSION_ZSTD is not set # CONFIG_INITRAMFS_COMPRESSION_NONE is not set -# CONFIG_INITRD_ASYNC is not set # CONFIG_BOOT_CONFIG 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_SYSCTL=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y -CONFIG_BPF=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_MULTIUSER=y @@ -209,13 +233,11 @@ CONFIG_SYSFS_SYSCALL=y CONFIG_FHANDLE=y CONFIG_POSIX_TIMERS=y CONFIG_PRINTK=y -CONFIG_PRINTK_NMI=y CONFIG_BUG=y CONFIG_ELF_CORE=y CONFIG_BASE_FULL=y CONFIG_FUTEX=y CONFIG_FUTEX_PI=y -CONFIG_HAVE_FUTEX_CMPXCHG=y CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y @@ -228,18 +250,13 @@ CONFIG_MEMBARRIER=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set CONFIG_KALLSYMS_BASE_RELATIVE=y -CONFIG_BPF_SYSCALL=y -CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y -# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set -CONFIG_USERMODE_DRIVER=y -# CONFIG_BPF_PRELOAD is not set -# CONFIG_USERFAULTFD is not set CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y CONFIG_KCMP=y CONFIG_RSEQ=y # CONFIG_DEBUG_RSEQ is not set CONFIG_EMBEDDED=y CONFIG_HAVE_PERF_EVENTS=y +CONFIG_GUEST_PERF_EVENTS=y # CONFIG_PC104 is not set # @@ -249,25 +266,13 @@ CONFIG_PERF_EVENTS=y # CONFIG_DEBUG_PERF_USE_VMALLOC is not set # end of Kernel Performance Events And Counters -CONFIG_VM_EVENT_COUNTERS=y -CONFIG_SLUB_SYSFS=y -CONFIG_SLUB_DEBUG=y -# CONFIG_SLUB_MEMCG_SYSFS_ON is not set -# CONFIG_COMPAT_BRK is not set -# CONFIG_SLAB is not set -CONFIG_SLUB=y -# CONFIG_SLOB is not set -CONFIG_SLAB_MERGE_DEFAULT=y -# CONFIG_SLAB_FREELIST_RANDOM is not set -# CONFIG_SLAB_FREELIST_HARDENED is not set -# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set -CONFIG_SLUB_CPU_PARTIAL=y CONFIG_SYSTEM_DATA_VERIFICATION=y CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y # end of General setup CONFIG_ARM64=y +CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_REGS=y CONFIG_64BIT=y CONFIG_MMU=y CONFIG_ARM64_PAGE_SHIFT=12 @@ -280,16 +285,12 @@ CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 CONFIG_STACKTRACE_SUPPORT=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_LOCKDEP_SUPPORT=y -CONFIG_TRACE_IRQFLAGS_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_ZONE_DMA=y -CONFIG_ZONE_DMA32=y -CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y -CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y CONFIG_SMP=y CONFIG_KERNEL_MODE_NEON=y CONFIG_FIX_EARLYCON_MEM=y @@ -301,32 +302,29 @@ CONFIG_ARCH_PROC_KCORE_TEXT=y # Platform selection # # CONFIG_ARCH_ACTIONS is not set -# CONFIG_ARCH_AGILEX is not set # CONFIG_ARCH_SUNXI is not set # CONFIG_ARCH_ALPINE is not set -# CONFIG_ARCH_BCM2835 is not set -# CONFIG_ARCH_BCM_IPROC 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_BRCMSTB is not set # CONFIG_ARCH_EXYNOS is not set # CONFIG_ARCH_SPARX5 is not set # CONFIG_ARCH_K3 is not set -# CONFIG_ARCH_LAYERSCAPE 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_MXC is not set +# CONFIG_ARCH_NXP is not set +# CONFIG_ARCH_NPCM 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_S32 is not set # CONFIG_ARCH_SEATTLE is not set -# CONFIG_ARCH_STRATIX10 is not set +# CONFIG_ARCH_INTEL_SOCFPGA is not set # CONFIG_ARCH_SYNQUACER is not set # CONFIG_ARCH_TEGRA is not set # CONFIG_ARCH_SPRD is not set @@ -336,7 +334,6 @@ CONFIG_ARCH_ROCKCHIP=y # CONFIG_ARCH_VEXPRESS is not set # CONFIG_ARCH_VISCONTI is not set # CONFIG_ARCH_XGENE is not set -# CONFIG_ARCH_ZX is not set # CONFIG_ARCH_ZYNQMP is not set # end of Platform selection @@ -347,6 +344,7 @@ CONFIG_ARCH_ROCKCHIP=y # # ARM errata workarounds via the alternatives framework # +CONFIG_AMPERE_ERRATUM_AC03_CPU_38=y # CONFIG_ARM64_ERRATUM_826319 is not set # CONFIG_ARM64_ERRATUM_827319 is not set # CONFIG_ARM64_ERRATUM_824069 is not set @@ -356,6 +354,7 @@ CONFIG_ARM64_ERRATUM_834220=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 @@ -363,15 +362,18 @@ 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 is not set +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_2454944 is not set +CONFIG_ARM64_ERRATUM_2441009=y CONFIG_ARM64_ERRATUM_2457168=y # CONFIG_CAVIUM_ERRATUM_22375 is not set # CONFIG_CAVIUM_ERRATUM_23154 is not set @@ -384,6 +386,7 @@ CONFIG_QCOM_FALKOR_ERRATUM_1003=y CONFIG_QCOM_FALKOR_ERRATUM_1009=y CONFIG_QCOM_QDF2400_ERRATUM_0065=y CONFIG_QCOM_FALKOR_ERRATUM_E1041=y +CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y CONFIG_SOCIONEXT_SYNQUACER_PREITS=y # end of ARM errata workarounds via the alternatives framework @@ -398,28 +401,19 @@ 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 is not set CONFIG_NR_CPUS=8 CONFIG_HOTPLUG_CPU=y # CONFIG_NUMA is not set -CONFIG_HOLES_IN_ZONE=y # CONFIG_HZ_100 is not set # CONFIG_HZ_250 is not set CONFIG_HZ_300=y # CONFIG_HZ_1000 is not set CONFIG_HZ=300 CONFIG_SCHED_HRTICK=y -CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y CONFIG_ARCH_SPARSEMEM_ENABLE=y -CONFIG_ARCH_SPARSEMEM_DEFAULT=y -CONFIG_ARCH_SELECT_MEMORY_MODEL=y -CONFIG_ARCH_FLATMEM_ENABLE=y -CONFIG_HAVE_ARCH_PFN_VALID=y CONFIG_HW_PERF_EVENTS=y -CONFIG_SYS_SUPPORTS_HUGETLBFS=y -CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y -CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y -CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y CONFIG_CC_HAVE_SHADOW_CALL_STACK=y # CONFIG_PARAVIRT is not set # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set @@ -427,7 +421,7 @@ CONFIG_CC_HAVE_SHADOW_CALL_STACK=y # CONFIG_KEXEC_FILE is not set # CONFIG_CRASH_DUMP is not set # CONFIG_XEN is not set -CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_ARCH_FORCE_MAX_ORDER=11 CONFIG_UNMAP_KERNEL_AT_EL0=y CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y CONFIG_RODATA_FULL_DEFAULT_ENABLED=y @@ -435,6 +429,7 @@ CONFIG_RODATA_FULL_DEFAULT_ENABLED=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=y CONFIG_CP15_BARRIER_EMULATION=y @@ -447,13 +442,13 @@ CONFIG_ARM64_HW_AFDBM=y CONFIG_ARM64_PAN=y CONFIG_AS_HAS_LDAPR=y CONFIG_AS_HAS_LSE_ATOMICS=y -CONFIG_ARM64_VHE=y # end of ARMv8.1 architectural features # # ARMv8.2 architectural features # -CONFIG_ARM64_UAO=y +CONFIG_AS_HAS_ARMV8_2=y +CONFIG_AS_HAS_SHA3=y # CONFIG_ARM64_PMEM is not set CONFIG_ARM64_RAS_EXTN=y CONFIG_ARM64_CNP=y @@ -463,6 +458,7 @@ CONFIG_ARM64_CNP=y # 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_PAC=y @@ -484,12 +480,18 @@ CONFIG_AS_HAS_ARMV8_5=y CONFIG_ARM64_BTI=y CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y CONFIG_ARM64_E0PD=y -CONFIG_ARCH_RANDOM=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_MODULE_PLTS=y CONFIG_ARM64_PSEUDO_NMI=y # CONFIG_ARM64_DEBUG_PRIORITY_MASKING is not set @@ -498,6 +500,7 @@ CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_MODULE_REGION_FULL=y CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y CONFIG_STACKPROTECTOR_PER_TASK=y +CONFIG_ARCH_NR_GPIO=0 # end of Kernel Features # @@ -509,9 +512,6 @@ CONFIG_EFI=y CONFIG_DMI=y # end of Boot options -CONFIG_SYSVIPC_COMPAT=y -CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y - # # Power management options # @@ -522,6 +522,7 @@ CONFIG_SUSPEND_FREEZER=y CONFIG_PM_SLEEP=y CONFIG_PM_SLEEP_SMP=y # CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_USERSPACE_AUTOSLEEP is not set # CONFIG_PM_WAKELOCKS is not set CONFIG_PM=y CONFIG_PM_DEBUG=y @@ -553,11 +554,11 @@ CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=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_CPUIDLE is not set CONFIG_ARM_PSCI_CPUIDLE=y CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y # end of ARM CPU Idle Drivers @@ -570,7 +571,6 @@ 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_TIMES is not set # 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 @@ -581,7 +581,7 @@ CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=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 is not set +CONFIG_CPU_FREQ_GOV_ONDEMAND=y # CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y # CONFIG_CPU_FREQ_GOV_INTERACTIVE is not set @@ -590,63 +590,15 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y # CPU frequency scaling drivers # CONFIG_CPUFREQ_DT=y -# CONFIG_CPUFREQ_DUMMY is not set CONFIG_ARM_ROCKCHIP_CPUFREQ=y # CONFIG_ARM_SCMI_CPUFREQ is not set # end of CPU Frequency scaling # end of CPU Power Management -# -# Firmware Drivers -# -CONFIG_ARM_SCMI_PROTOCOL=y -CONFIG_ARM_SCMI_POWER_DOMAIN=y -# CONFIG_ARM_SCPI_PROTOCOL is not set -# CONFIG_ARM_SDE_INTERFACE is not set -# CONFIG_FIRMWARE_MEMMAP is not set -CONFIG_DMIID=y -# CONFIG_DMI_SYSFS is not set -# CONFIG_FW_CFG_SYSFS is not set -# CONFIG_QCOM_SCM is not set -CONFIG_ROCKCHIP_SIP=y -# CONFIG_GOOGLE_FIRMWARE is not set - -# -# EFI (Extensible Firmware Interface) Support -# -CONFIG_EFI_ESRT=y -CONFIG_EFI_VARS_PSTORE=y -# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set -CONFIG_EFI_PARAMS_FROM_FDT=y -CONFIG_EFI_RUNTIME_WRAPPERS=y -CONFIG_EFI_GENERIC_STUB=y -CONFIG_EFI_ARMSTUB_DTB_LOADER=y -CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y -# CONFIG_EFI_BOOTLOADER_CONTROL is not set -# CONFIG_EFI_CAPSULE_LOADER is not set -# CONFIG_EFI_TEST is not set -# CONFIG_RESET_ATTACK_MITIGATION is not set -# CONFIG_EFI_DISABLE_PCI_DMA is not set -# end of EFI (Extensible Firmware Interface) Support - -CONFIG_EFI_EARLYCON=y -CONFIG_ARM_PSCI_FW=y -# CONFIG_ARM_PSCI_CHECKER is not set -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_ARCH_SUPPORTS_ACPI=y # CONFIG_ACPI is not set CONFIG_IRQ_BYPASS_MANAGER=y -CONFIG_VIRTUALIZATION=y -CONFIG_KVM=y +CONFIG_HAVE_KVM=y CONFIG_HAVE_KVM_IRQCHIP=y CONFIG_HAVE_KVM_IRQFD=y CONFIG_HAVE_KVM_IRQ_ROUTING=y @@ -659,39 +611,27 @@ CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL=y CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y CONFIG_HAVE_KVM_IRQ_BYPASS=y CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y -CONFIG_ARM64_CRYPTO=y -CONFIG_CRYPTO_SHA256_ARM64=y -# CONFIG_CRYPTO_SHA512_ARM64 is not set -CONFIG_CRYPTO_SHA1_ARM64_CE=y -CONFIG_CRYPTO_SHA2_ARM64_CE=y -# CONFIG_CRYPTO_SHA512_ARM64_CE is not set -# CONFIG_CRYPTO_SHA3_ARM64 is not set -# CONFIG_CRYPTO_SM3_ARM64_CE is not set -# CONFIG_CRYPTO_SM4_ARM64_CE is not set -CONFIG_CRYPTO_GHASH_ARM64_CE=y -# CONFIG_CRYPTO_CRCT10DIF_ARM64_CE is not set -# CONFIG_CRYPTO_AES_ARM64 is not set -CONFIG_CRYPTO_AES_ARM64_CE=y -CONFIG_CRYPTO_AES_ARM64_CE_CCM=y -CONFIG_CRYPTO_AES_ARM64_CE_BLK=y -# CONFIG_CRYPTO_AES_ARM64_NEON_BLK is not set -CONFIG_CRYPTO_CHACHA20_NEON=m -CONFIG_CRYPTO_POLY1305_NEON=m -# CONFIG_CRYPTO_NHPOLY1305_NEON is not set -# CONFIG_CRYPTO_AES_ARM64_BS is not set +CONFIG_KVM_XFER_TO_GUEST_WORK=y +CONFIG_VIRTUALIZATION=y +CONFIG_KVM=y +# CONFIG_NVHE_EL2_DEBUG is not set # # General architecture-dependent options # -CONFIG_SET_FS=y +CONFIG_ARCH_HAS_SUBPAGE_FAULTS=y # CONFIG_KPROBES is not set # CONFIG_JUMP_LABEL is not set CONFIG_UPROBES=y 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 @@ -701,6 +641,7 @@ 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 @@ -721,28 +662,37 @@ 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_HAVE_CONTEXT_TRACKING=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 @@ -750,6 +700,9 @@ 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 @@ -759,7 +712,12 @@ CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y CONFIG_ARCH_USE_MEMREMAP_PROT=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 # # GCOV-based kernel profiling @@ -770,9 +728,7 @@ CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y CONFIG_HAVE_GCC_PLUGINS=y CONFIG_GCC_PLUGINS=y -# CONFIG_GCC_PLUGIN_CYC_COMPLEXITY is not set # CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set -# CONFIG_GCC_PLUGIN_RANDSTRUCT is not set # end of General architecture-dependent options CONFIG_RT_MUTEXES=y @@ -781,25 +737,28 @@ CONFIG_MODULES=y CONFIG_MODULE_FORCE_LOAD=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set CONFIG_MODVERSIONS=y CONFIG_ASM_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_MODULE_SIG is not set -# CONFIG_MODULE_COMPRESS 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_UNUSED_SYMBOLS is not set +CONFIG_MODPROBE_PATH="/sbin/modprobe" # CONFIG_TRIM_UNUSED_KSYMS is not set CONFIG_MODULES_TREE_LOOKUP=y CONFIG_BLOCK=y -CONFIG_BLK_SCSI_REQUEST=y +CONFIG_BLOCK_LEGACY_AUTOLOAD=y CONFIG_BLK_CGROUP_RWSTAT=y -CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSG_COMMON=y CONFIG_BLK_DEV_BSGLIB=y # CONFIG_BLK_DEV_INTEGRITY is not set # CONFIG_BLK_DEV_ZONED is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_DEV_THROTTLING_LOW is not set -CONFIG_BLK_CMDLINE_PARSER=y # CONFIG_BLK_WBT is not set # CONFIG_BLK_CGROUP_IOLATENCY is not set # CONFIG_BLK_CGROUP_IOCOST is not set @@ -836,12 +795,13 @@ CONFIG_CMDLINE_PARTITION=y CONFIG_BLOCK_COMPAT=y 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_DEADLINE_CGROUP=y CONFIG_MQ_IOSCHED_KYBER=y # CONFIG_IOSCHED_BFQ is not set # end of IO Schedulers @@ -885,29 +845,6 @@ 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_GKI_HIDDEN_DRM_CONFIGS is not set -# CONFIG_GKI_HIDDEN_REGMAP_CONFIGS is not set -# CONFIG_GKI_HIDDEN_CRYPTO_CONFIGS is not set -# CONFIG_GKI_HIDDEN_SND_CONFIGS is not set -# CONFIG_GKI_HIDDEN_SND_SOC_CONFIGS is not set -# CONFIG_GKI_HIDDEN_MMC_CONFIGS is not set -# CONFIG_GKI_HIDDEN_GPIO_CONFIGS is not set -# CONFIG_GKI_HIDDEN_QCOM_CONFIGS is not set -# CONFIG_GKI_HIDDEN_MEDIA_CONFIGS is not set -# CONFIG_GKI_HIDDEN_VIRTUAL_CONFIGS is not set -# CONFIG_GKI_LEGACY_WEXT_ALLCONFIG is not set -# CONFIG_GKI_HIDDEN_USB_CONFIGS is not set -# CONFIG_GKI_HIDDEN_SOC_BUS_CONFIGS is not set -# CONFIG_GKI_HIDDEN_RPMSG_CONFIGS is not set -# CONFIG_GKI_HIDDEN_GPU_CONFIGS is not set -# CONFIG_GKI_HIDDEN_IRQ_CONFIGS is not set -# CONFIG_GKI_HIDDEN_HYPERVISOR_CONFIGS is not set -# CONFIG_GKI_HIDDEN_NET_CONFIGS is not set -# CONFIG_GKI_HIDDEN_PHY_CONFIGS is not set -# CONFIG_GKI_HIDDEN_MM_CONFIGS is not set -# CONFIG_GKI_HIDDEN_DMA_CONFIGS is not set -# CONFIG_GKI_HIDDEN_ETHERNET_CONFIGS is not set -# CONFIG_GKI_HACKS_TO_FIX is not set CONFIG_FREEZER=y # @@ -916,6 +853,7 @@ CONFIG_FREEZER=y 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 @@ -928,9 +866,27 @@ CONFIG_COREDUMP=y # # Memory Management options # -CONFIG_SELECT_MEMORY_MODEL=y -# CONFIG_FLATMEM_MANUAL is not set -CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SWAP=y +# CONFIG_ZSWAP is not set +CONFIG_ZSMALLOC=y +# CONFIG_ZSMALLOC_STAT is not set + +# +# SLAB allocator options +# +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +CONFIG_SLUB_SYSFS=y +# CONFIG_SLUB_STATS is not set +CONFIG_SLUB_CPU_PARTIAL=y +# 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 @@ -938,22 +894,25 @@ CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_HAVE_FAST_GUP=y CONFIG_ARCH_KEEP_MEMBLOCK=y CONFIG_MEMORY_ISOLATION=y +CONFIG_EXCLUSIVE_SYSTEM_RAM=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y # CONFIG_MEMORY_HOTPLUG is not set 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_ARCH_ENABLE_HUGEPAGE_MIGRATION=y CONFIG_CONTIG_ALLOC=y CONFIG_PHYS_ADDR_T_64BIT=y -CONFIG_BOUNCE=y CONFIG_MMU_NOTIFIER=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_CLEANCACHE is not set -# CONFIG_FRONTSWAP is not set CONFIG_CMA=y # CONFIG_CMA_INACTIVE is not set # CONFIG_CMA_DEBUG is not set @@ -961,21 +920,24 @@ CONFIG_CMA_DEBUGFS=y CONFIG_CMA_DEBUGFS_BITMAP_HEX=y CONFIG_CMA_SYSFS=y CONFIG_CMA_AREAS=7 -# CONFIG_ZPOOL is not set -# CONFIG_ZBUD is not set -CONFIG_ZSMALLOC=y -# CONFIG_ZSMALLOC_STAT 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_FRAME_VECTOR=y +CONFIG_ARCH_HAS_ZONE_DMA_SET=y +CONFIG_ZONE_DMA=y +CONFIG_ZONE_DMA32=y CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y +CONFIG_VM_EVENT_COUNTERS=y # CONFIG_PERCPU_STATS is not set -CONFIG_ARCH_SUPPORTS_SPECULATIVE_PAGE_FAULT=y -CONFIG_SPECULATIVE_PAGE_FAULT=y -# CONFIG_GUP_BENCHMARK is not set +# CONFIG_GUP_TEST is not set CONFIG_ARCH_HAS_PTE_SPECIAL=y +# CONFIG_ANON_VMA_NAME is not set +# CONFIG_USERFAULTFD is not set +# CONFIG_LRU_GEN is not set +CONFIG_LOCK_MM_AND_FIND_VMA=y # # Data Access Monitoring @@ -987,6 +949,7 @@ CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_NET=y CONFIG_COMPAT_NETLINK_MESSAGES=y CONFIG_NET_INGRESS=y +CONFIG_NET_EGRESS=y CONFIG_NET_REDIRECT=y CONFIG_SKB_EXTENSIONS=y @@ -997,6 +960,7 @@ CONFIG_PACKET=y CONFIG_PACKET_DIAG=m CONFIG_UNIX=y CONFIG_UNIX_SCM=y +CONFIG_AF_UNIX_OOB=y CONFIG_UNIX_DIAG=m CONFIG_TLS=m CONFIG_TLS_DEVICE=y @@ -1102,6 +1066,7 @@ CONFIG_IPV6_PIMSM_V2=y # CONFIG_IPV6_SEG6_LWTUNNEL is not set # CONFIG_IPV6_SEG6_HMAC is not set # CONFIG_IPV6_RPL_LWTUNNEL is not set +# CONFIG_IPV6_IOAM6_LWTUNNEL is not set CONFIG_NETLABEL=y CONFIG_MPTCP=y CONFIG_INET_MPTCP_DIAG=m @@ -1116,16 +1081,18 @@ CONFIG_BRIDGE_NETFILTER=m # Core Netfilter Configuration # CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_EGRESS=y +CONFIG_NETFILTER_SKIP_EGRESS=y CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_FAMILY_BRIDGE=y CONFIG_NETFILTER_FAMILY_ARP=y +# CONFIG_NETFILTER_NETLINK_HOOK is not set CONFIG_NETFILTER_NETLINK_ACCT=m CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NETFILTER_NETLINK_OSF=m CONFIG_NF_CONNTRACK=m -CONFIG_NF_LOG_COMMON=m -# CONFIG_NF_LOG_NETDEV is not set +CONFIG_NF_LOG_SYSLOG=m CONFIG_NETFILTER_CONNCOUNT=m CONFIG_NF_CONNTRACK_MARK=y # CONFIG_NF_CONNTRACK_SECMARK is not set @@ -1168,7 +1135,6 @@ CONFIG_NF_TABLES_NETDEV=y CONFIG_NFT_NUMGEN=m CONFIG_NFT_CT=m CONFIG_NFT_FLOW_OFFLOAD=m -# CONFIG_NFT_COUNTER is not set CONFIG_NFT_CONNLIMIT=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m @@ -1194,9 +1160,12 @@ CONFIG_NF_DUP_NETDEV=m CONFIG_NFT_DUP_NETDEV=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_FIB_NETDEV=m +# CONFIG_NFT_REJECT_NETDEV is not set CONFIG_NF_FLOW_TABLE_INET=m CONFIG_NF_FLOW_TABLE=m +# CONFIG_NF_FLOW_TABLE_PROCFS is not set CONFIG_NETFILTER_XTABLES=y +CONFIG_NETFILTER_XTABLES_COMPAT=y # # Xtables combined modules @@ -1273,7 +1242,6 @@ CONFIG_NETFILTER_XT_MATCH_POLICY=m CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m CONFIG_NETFILTER_XT_MATCH_QUOTA=m -# CONFIG_NETFILTER_XT_MATCH_QUOTA2 is not set CONFIG_NETFILTER_XT_MATCH_RATEEST=m CONFIG_NETFILTER_XT_MATCH_REALM=m CONFIG_NETFILTER_XT_MATCH_RECENT=m @@ -1336,6 +1304,7 @@ CONFIG_IP_VS_SH=m CONFIG_IP_VS_MH=m CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m +# CONFIG_IP_VS_TWOS is not set # # IPVS SH scheduler @@ -1365,7 +1334,6 @@ CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_DUP_IPV4=m CONFIG_NFT_FIB_IPV4=m CONFIG_NF_TABLES_ARP=y -# CONFIG_NF_FLOW_TABLE_IPV4 is not set CONFIG_NF_DUP_IPV4=m CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_IPV4=m @@ -1405,7 +1373,6 @@ CONFIG_NF_TABLES_IPV6=y CONFIG_NFT_REJECT_IPV6=m CONFIG_NFT_DUP_IPV6=m CONFIG_NFT_FIB_IPV6=m -# CONFIG_NF_FLOW_TABLE_IPV6 is not set CONFIG_NF_DUP_IPV6=m CONFIG_NF_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m @@ -1436,7 +1403,6 @@ CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_TABLES_BRIDGE=m CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m -# CONFIG_NF_LOG_BRIDGE is not set CONFIG_NF_CONNTRACK_BRIDGE=m CONFIG_BRIDGE_NF_EBTABLES=m CONFIG_BRIDGE_EBT_BROUTE=m @@ -1511,12 +1477,11 @@ CONFIG_BRIDGE=m CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_BRIDGE_MRP=y -CONFIG_HAVE_NET_DSA=y +# CONFIG_BRIDGE_CFM is not set # CONFIG_NET_DSA is not set CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q_MVRP=y -# CONFIG_DECNET is not set CONFIG_LLC=m CONFIG_LLC2=m CONFIG_ATALK=m @@ -1591,7 +1556,6 @@ CONFIG_NET_SCH_PLUG=m # CONFIG_NET_CLS=y CONFIG_NET_CLS_BASIC=m -# CONFIG_NET_CLS_TCINDEX is not set CONFIG_NET_CLS_ROUTE4=m # CONFIG_NET_CLS_FW is not set CONFIG_NET_CLS_U32=m @@ -1646,9 +1610,7 @@ CONFIG_BATMAN_ADV_BLA=y CONFIG_BATMAN_ADV_DAT=y CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y -# CONFIG_BATMAN_ADV_DEBUGFS is not set CONFIG_BATMAN_ADV_DEBUG=y -# CONFIG_BATMAN_ADV_SYSFS is not set CONFIG_BATMAN_ADV_TRACING=y CONFIG_OPENVSWITCH=m CONFIG_OPENVSWITCH_GRE=m @@ -1671,14 +1633,16 @@ CONFIG_QRTR_TUN=m CONFIG_QRTR_MHI=m CONFIG_NET_NCSI=y CONFIG_NCSI_OEM_CMD_GET_MAC=y +# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set +CONFIG_PCPU_DEV_REFCNT=y 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_JIT is not set CONFIG_BPF_STREAM_PARSER=y CONFIG_NET_FLOW_LIMIT=y @@ -1697,68 +1661,6 @@ CONFIG_CAN_BCM=m CONFIG_CAN_GW=m # CONFIG_CAN_J1939 is not set # CONFIG_CAN_ISOTP is not set - -# -# CAN Device Drivers -# -CONFIG_CAN_VCAN=m -# CONFIG_CAN_VXCAN is not set -CONFIG_CAN_SLCAN=m -CONFIG_CAN_DEV=m -CONFIG_CAN_CALC_BITTIMING=y -# CONFIG_CAN_FLEXCAN is not set -CONFIG_CAN_GRCAN=m -# CONFIG_CAN_KVASER_PCIEFD is not set -CONFIG_CAN_XILINXCAN=m -CONFIG_CAN_C_CAN=m -CONFIG_CAN_C_CAN_PLATFORM=m -CONFIG_CAN_C_CAN_PCI=m -CONFIG_CAN_CC770=m -CONFIG_CAN_CC770_ISA=m -CONFIG_CAN_CC770_PLATFORM=m -# CONFIG_CAN_IFI_CANFD is not set -CONFIG_CAN_M_CAN=m -# CONFIG_CAN_M_CAN_PLATFORM is not set -# CONFIG_CAN_M_CAN_TCAN4X5X is not set -# CONFIG_CAN_PEAK_PCIEFD is not set -# CONFIG_CAN_ROCKCHIP is not set -# CONFIG_CANFD_ROCKCHIP is not set -CONFIG_CAN_SJA1000=m -CONFIG_CAN_EMS_PCI=m -# CONFIG_CAN_F81601 is not set -CONFIG_CAN_KVASER_PCI=m -CONFIG_CAN_PEAK_PCI=m -CONFIG_CAN_PEAK_PCIEC=y -CONFIG_CAN_PLX_PCI=m -CONFIG_CAN_SJA1000_ISA=m -CONFIG_CAN_SJA1000_PLATFORM=m -CONFIG_CAN_SOFTING=m - -# -# CAN SPI interfaces -# -CONFIG_CAN_HI311X=m -CONFIG_CAN_MCP251X=m -CONFIG_CAN_MCP251XFD=m -# CONFIG_CAN_MCP251XFD_SANITY is not set -# end of CAN SPI interfaces - -# -# CAN USB interfaces -# -CONFIG_CAN_8DEV_USB=m -CONFIG_CAN_EMS_USB=m -# CONFIG_CAN_ESD_USB2 is not set -CONFIG_CAN_GS_USB=m -CONFIG_CAN_KVASER_USB=m -# CONFIG_CAN_MCBA_USB is not set -CONFIG_CAN_PEAK_USB=m -# CONFIG_CAN_UCAN is not set -# end of CAN USB interfaces - -CONFIG_CAN_DEBUG_DEVICES=y -# end of CAN Device Drivers - CONFIG_BT=y CONFIG_BT_BREDR=y CONFIG_BT_RFCOMM=m @@ -1772,6 +1674,7 @@ CONFIG_BT_LE=y CONFIG_BT_6LOWPAN=m CONFIG_BT_LEDS=y # CONFIG_BT_MSFTEXT is not set +# CONFIG_BT_AOSPEXT is not set CONFIG_BT_DEBUGFS=y # CONFIG_BT_SELFTEST is not set @@ -1781,6 +1684,7 @@ CONFIG_BT_DEBUGFS=y CONFIG_BT_INTEL=m CONFIG_BT_BCM=m CONFIG_BT_RTL=m +CONFIG_BT_MTK=m CONFIG_BT_HCIBTUSB=m CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y CONFIG_BT_HCIBTUSB_BCM=y @@ -1810,12 +1714,12 @@ CONFIG_BT_MRVL=m CONFIG_BT_ATH3K=m CONFIG_BT_MTKSDIO=m # CONFIG_BT_MTKUART is not set -# CONFIG_BT_HCIBTUSB_RTLBTUSB is not set # end of Bluetooth device drivers # CONFIG_AF_RXRPC is not set # CONFIG_AF_KCM is not set CONFIG_STREAM_PARSER=y +# CONFIG_MCTP is not set CONFIG_FIB_RULES=y CONFIG_WIRELESS=y CONFIG_WIRELESS_EXT=y @@ -1859,7 +1763,6 @@ CONFIG_MAC80211_VERBOSE_DEBUG=y # CONFIG_MAC80211_TDLS_DEBUG is not set # CONFIG_MAC80211_DEBUG_COUNTERS is not set CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 -# CONFIG_WIMAX is not set CONFIG_RFKILL=y CONFIG_RFKILL_LEDS=y # CONFIG_RFKILL_INPUT is not set @@ -1878,11 +1781,12 @@ CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y CONFIG_SOCK_VALIDATE_XMIT=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=y -CONFIG_HAVE_EBPF_JIT=y # # Device Drivers @@ -1917,6 +1821,7 @@ 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 is not set # CONFIG_HOTPLUG_PCI is not set # @@ -1932,6 +1837,7 @@ CONFIG_PCIE_BUS_DEFAULT=y CONFIG_PCIE_ROCKCHIP=y CONFIG_PCIE_ROCKCHIP_HOST=y # CONFIG_ROCKCHIP_PCIE_DMA_OBJ is not set +# CONFIG_PCIE_MICROCHIP_HOST is not set # # DesignWare PCI Core Support @@ -1952,7 +1858,6 @@ CONFIG_PCIE_RK_THREADED_INIT=y # # Mobiveil PCIe Core Support # -# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set # end of Mobiveil PCIe Core Support # @@ -1975,6 +1880,7 @@ CONFIG_PCIE_RK_THREADED_INIT=y # 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 @@ -1984,6 +1890,7 @@ CONFIG_PCIE_RK_THREADED_INIT=y # CONFIG_UEVENT_HELPER is not set CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_DEVTMPFS_SAFE is not set CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y @@ -1995,6 +1902,7 @@ CONFIG_EXTRA_FIRMWARE="" # CONFIG_FW_LOADER_USER_HELPER is not set # 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 @@ -2023,57 +1931,126 @@ CONFIG_GENERIC_ARCH_TOPOLOGY=y # # CONFIG_BRCMSTB_GISB_ARB is not set # CONFIG_MOXTET is not set -# CONFIG_SIMPLE_PM_BUS is not set # CONFIG_VEXPRESS_CONFIG is not set CONFIG_MHI_BUS=m # CONFIG_MHI_BUS_DEBUG is not set +# CONFIG_MHI_BUS_PCI_GENERIC is not set +# CONFIG_MHI_BUS_EP is not set # end of Bus devices CONFIG_CONNECTOR=y CONFIG_PROC_EVENTS=y -# CONFIG_GNSS is not set -CONFIG_MTD=y -# CONFIG_MTD_TESTS is not set # -# Partition parsers +# Firmware Drivers # -# CONFIG_MTD_AR7_PARTS is not set -CONFIG_MTD_CMDLINE_PARTS=y -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 +# ARM System Control and Management Interface Protocol # -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# 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 +CONFIG_ARM_SCMI_PROTOCOL=y +CONFIG_ARM_SCMI_HAVE_TRANSPORT=y +CONFIG_ARM_SCMI_HAVE_SHMEM=y +CONFIG_ARM_SCMI_HAVE_MSG=y +CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y +CONFIG_ARM_SCMI_TRANSPORT_OPTEE=y +CONFIG_ARM_SCMI_TRANSPORT_SMC=y +# CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE is not set +CONFIG_ARM_SCMI_POWER_DOMAIN=y +# CONFIG_ARM_SCMI_POWER_CONTROL is not set +# end of ARM System Control and Management Interface Protocol -# -# 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 +# CONFIG_ARM_SCPI_PROTOCOL is not set +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_DMIID=y +# CONFIG_DMI_SYSFS is not set +# CONFIG_FW_CFG_SYSFS is not set +CONFIG_ROCKCHIP_SIP=y +# CONFIG_SYSFB_SIMPLEFB is not set +# CONFIG_ARM_FFA_TRANSPORT is not set +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# EFI (Extensible Firmware Interface) Support +# +CONFIG_EFI_ESRT=y +CONFIG_EFI_VARS_PSTORE=y +# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set +CONFIG_EFI_PARAMS_FROM_FDT=y +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_GENERIC_STUB=y +# CONFIG_EFI_ZBOOT is not set +CONFIG_EFI_ARMSTUB_DTB_LOADER=y +CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y +# CONFIG_EFI_BOOTLOADER_CONTROL is not set +# CONFIG_EFI_CAPSULE_LOADER is not set +# CONFIG_EFI_TEST is not set +# CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set +CONFIG_EFI_EARLYCON=y +# CONFIG_EFI_DISABLE_RUNTIME is not set +# CONFIG_EFI_COCO_SECRET is not set +# end of EFI (Extensible Firmware Interface) Support + +CONFIG_ARM_PSCI_FW=y +# CONFIG_ARM_PSCI_CHECKER is not set +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_AR7_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y +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 @@ -2089,6 +2066,7 @@ CONFIG_MTD_CFI_I2=y # 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 @@ -2112,6 +2090,10 @@ CONFIG_MTD_SPI_NAND=y # # ECC engine support # +CONFIG_MTD_NAND_ECC=y +# 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 CONFIG_MTD_NAND_BBT_USING_FLASH=y # end of ECC engine support # end of NAND @@ -2125,6 +2107,9 @@ CONFIG_MTD_NAND_BBT_USING_FLASH=y CONFIG_MTD_SPI_NOR=y CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y # CONFIG_MTD_SPI_NOR_MISC is not set +# 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=y CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MTD_UBI_BEB_LIMIT=20 @@ -2142,7 +2127,6 @@ CONFIG_OF_KOBJ=y CONFIG_OF_DYNAMIC=y CONFIG_OF_ADDRESS=y CONFIG_OF_IRQ=y -CONFIG_OF_NET=y CONFIG_OF_RESERVED_MEM=y # CONFIG_OF_OVERLAY is not set # CONFIG_PARPORT is not set @@ -2151,23 +2135,23 @@ CONFIG_BLK_DEV=y 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_LZO is not set +CONFIG_ZRAM_DEF_COMP="lzo-rle" # CONFIG_ZRAM_WRITEBACK is not set # CONFIG_ZRAM_MEMORY_TRACKING is not set -# CONFIG_BLK_DEV_UMEM is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 -# CONFIG_BLK_DEV_CRYPTOLOOP is not set # CONFIG_BLK_DEV_DRBD is not set # CONFIG_BLK_DEV_NBD is not set -# CONFIG_BLK_DEV_SKD is not set -# CONFIG_BLK_DEV_SX8 is not set 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 is not set # CONFIG_BLK_DEV_RBD is not set -# CONFIG_BLK_DEV_RSXX is not set +# CONFIG_BLK_DEV_UBLK is not set # # NVME Support @@ -2175,9 +2159,11 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 CONFIG_NVME_CORE=y CONFIG_BLK_DEV_NVME=y # 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_AUTH is not set # CONFIG_NVME_TARGET is not set # end of NVME Support @@ -2200,6 +2186,7 @@ CONFIG_BLK_DEV_NVME=y # CONFIG_TIFM_CORE is not set # CONFIG_ICS932S401 is not set # CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_HI6421V600_IRQ is not set # CONFIG_HP_ILO is not set # CONFIG_APDS9802ALS is not set # CONFIG_ISL29003 is not set @@ -2211,12 +2198,12 @@ CONFIG_BLK_DEV_NVME=y # 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_UID_SYS_STATS is not set -# CONFIG_PVPANIC is not set # CONFIG_HISI_HIKEY_USB is not set -CONFIG_KHADAS_MCU=y +# CONFIG_OPEN_DICE is not set +# CONFIG_VCPU_STALL_DETECTOR is not set # CONFIG_C2PORT is not set # @@ -2243,13 +2230,17 @@ CONFIG_EEPROM_93CX6=m # 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_HABANA_AI is not set # CONFIG_UACCE is not set +# CONFIG_PVPANIC is not set +# CONFIG_GP_PCI1XXXX is not set # end of Misc devices # @@ -2257,6 +2248,7 @@ CONFIG_EEPROM_93CX6=m # CONFIG_SCSI_MOD=y # CONFIG_RAID_ATTRS is not set +CONFIG_SCSI_COMMON=y CONFIG_SCSI=y CONFIG_SCSI_DMA=y CONFIG_SCSI_PROC_FS=y @@ -2268,6 +2260,7 @@ 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 @@ -2311,15 +2304,15 @@ CONFIG_SCSI_LOWLEVEL=y # CONFIG_MEGARAID_SAS is not set # CONFIG_SCSI_MPT3SAS is not set # CONFIG_SCSI_MPT2SAS is not set +# CONFIG_SCSI_MPI3MR is not set # CONFIG_SCSI_SMARTPQI is not set -# CONFIG_SCSI_UFSHCD 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_GDTH is not set # CONFIG_SCSI_IPS is not set # CONFIG_SCSI_INITIO is not set # CONFIG_SCSI_INIA100 is not set @@ -2337,7 +2330,6 @@ CONFIG_SCSI_LOWLEVEL=y # CONFIG_SCSI_DH is not set # end of SCSI device support -CONFIG_HAVE_PATA_PLATFORM=y CONFIG_ATA=y CONFIG_SATA_HOST=y CONFIG_ATA_VERBOSE_ERROR=y @@ -2350,6 +2342,7 @@ CONFIG_SATA_PMP=y 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_AHCI_QORIQ is not set # CONFIG_SATA_INIC162X is not set @@ -2394,6 +2387,7 @@ CONFIG_DM_MULTIPATH=m CONFIG_DM_MULTIPATH_QL=m CONFIG_DM_MULTIPATH_ST=m # CONFIG_DM_MULTIPATH_HST is not set +# CONFIG_DM_MULTIPATH_IOA is not set CONFIG_DM_DELAY=m # CONFIG_DM_DUST is not set # CONFIG_DM_UEVENT is not set @@ -2404,8 +2398,7 @@ CONFIG_DM_VERITY=m CONFIG_DM_SWITCH=m CONFIG_DM_LOG_WRITES=m # CONFIG_DM_INTEGRITY is not set -# CONFIG_DM_BOW is not set -CONFIG_DM_USER=m +# CONFIG_DM_AUDIT is not set # CONFIG_TARGET_CORE is not set # CONFIG_FUSION is not set @@ -2441,6 +2434,7 @@ CONFIG_VXLAN=m CONFIG_GENEVE=m # CONFIG_BAREUDP is not set # CONFIG_GTP is not set +# CONFIG_AMT is not set # CONFIG_MACSEC is not set CONFIG_NETCONSOLE=m # CONFIG_NETCONSOLE_DYNAMIC is not set @@ -2452,6 +2446,7 @@ CONFIG_TAP=m CONFIG_VETH=m CONFIG_NLMON=m CONFIG_NET_VRF=m +# CONFIG_MHI_NET is not set CONFIG_ARCNET=m # CONFIG_ARCNET_1201 is not set # CONFIG_ARCNET_1051 is not set @@ -2472,12 +2467,6 @@ CONFIG_ATM_DRIVERS=y # CONFIG_ATM_FORE200E is not set # CONFIG_ATM_HE is not set # CONFIG_ATM_SOLOS is not set - -# -# Distributed Switch Architecture drivers -# -# end of Distributed Switch Architecture drivers - CONFIG_ETHERNET=y # CONFIG_NET_VENDOR_3COM is not set # CONFIG_NET_VENDOR_ADAPTEC is not set @@ -2492,11 +2481,10 @@ CONFIG_NET_VENDOR_AMAZON=y 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_AURORA=y -# CONFIG_AURORA_NB8800 is not set # CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_BROCADE is not set CONFIG_NET_VENDOR_CADENCE=y # CONFIG_MACB is not set # CONFIG_NET_VENDOR_CAVIUM is not set @@ -2504,34 +2492,47 @@ CONFIG_NET_VENDOR_CADENCE=y # 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_INTEL is not set +CONFIG_NET_VENDOR_WANGXUN=y +# CONFIG_NGBE is not set +# CONFIG_TXGBE is not set # CONFIG_JME is not set +CONFIG_NET_VENDOR_ADI=y +# CONFIG_ADIN1110 is not set +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_MSCC_OCELOT_SWITCH is not set +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_VXGE is not set CONFIG_NET_VENDOR_NETRONOME=y # CONFIG_NFP is not set -CONFIG_NET_VENDOR_NI=y -# CONFIG_NI_XGE_MANAGEMENT_ENET is not set # CONFIG_NET_VENDOR_NVIDIA is not set # CONFIG_NET_VENDOR_OKI is not set # CONFIG_ETHOC is not set @@ -2541,6 +2542,7 @@ CONFIG_NET_VENDOR_PACKET_ENGINES=y 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=y @@ -2549,16 +2551,16 @@ CONFIG_NET_VENDOR_REALTEK=y CONFIG_R8168=y CONFIG_R8169=y # CONFIG_R8125 is not set -# CONFIG_REALTEK_PGTOOL is not set # 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_NET_VENDOR_SILAN is not set -# CONFIG_NET_VENDOR_SIS 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 @@ -2573,14 +2575,18 @@ CONFIG_DWMAC_GENERIC=y CONFIG_DWMAC_ROCKCHIP=y CONFIG_DWMAC_ROCKCHIP_TOOL=y # CONFIG_DWMAC_INTEL_PLAT is not set +# CONFIG_DWMAC_LOONGSON 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_WIZNET is not set CONFIG_NET_VENDOR_XILINX=y +# CONFIG_XILINX_EMACLITE is not set # CONFIG_XILINX_AXI_EMAC is not set # CONFIG_XILINX_LL_TEMAC is not set # CONFIG_FDDI is not set @@ -2597,6 +2603,7 @@ CONFIG_FIXED_PHY=y # # 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 @@ -2613,12 +2620,16 @@ CONFIG_AX88796B_PHY=y # CONFIG_LSI_ET1011C_PHY is not set # CONFIG_MARVELL_PHY is not set # CONFIG_MARVELL_10G_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_PHY=m # CONFIG_MICROCHIP_T1_PHY is not set # CONFIG_MICROSEMI_PHY is not set CONFIG_MOTORCOMM_PHY=y # CONFIG_NATIONAL_PHY is not set +# CONFIG_NXP_C45_TJA11XX_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set # CONFIG_AT803X_PHY is not set # CONFIG_QSEMI_PHY is not set @@ -2634,11 +2645,77 @@ CONFIG_SMSC_PHY=m # 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_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=m +CONFIG_CAN_VCAN=m +# CONFIG_CAN_VXCAN is not set +CONFIG_CAN_NETLINK=y +CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_RX_OFFLOAD=y +# CONFIG_CAN_CAN327 is not set +# CONFIG_CAN_FLEXCAN is not set +CONFIG_CAN_GRCAN=m +# CONFIG_CAN_KVASER_PCIEFD is not set +CONFIG_CAN_SLCAN=m +CONFIG_CAN_XILINXCAN=m +CONFIG_CAN_C_CAN=m +CONFIG_CAN_C_CAN_PLATFORM=m +CONFIG_CAN_C_CAN_PCI=m +CONFIG_CAN_CC770=m +CONFIG_CAN_CC770_ISA=m +CONFIG_CAN_CC770_PLATFORM=m +# 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=m +# CONFIG_CAN_M_CAN_PCI is not set +# CONFIG_CAN_M_CAN_PLATFORM is not set +# CONFIG_CAN_M_CAN_TCAN4X5X is not set +# CONFIG_CAN_PEAK_PCIEFD is not set +# CONFIG_CAN_ROCKCHIP is not set +# CONFIG_CANFD_ROCKCHIP is not set +CONFIG_CAN_SJA1000=m +CONFIG_CAN_EMS_PCI=m +# CONFIG_CAN_F81601 is not set +CONFIG_CAN_KVASER_PCI=m +CONFIG_CAN_PEAK_PCI=m +CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PLX_PCI=m +CONFIG_CAN_SJA1000_ISA=m +CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_SOFTING=m + +# +# CAN SPI interfaces +# +CONFIG_CAN_HI311X=m +CONFIG_CAN_MCP251X=m +CONFIG_CAN_MCP251XFD=m +# CONFIG_CAN_MCP251XFD_SANITY is not set +# end of CAN SPI interfaces + +# +# CAN USB interfaces +# +CONFIG_CAN_8DEV_USB=m +CONFIG_CAN_EMS_USB=m +# CONFIG_CAN_ESD_USB is not set +# CONFIG_CAN_ETAS_ES58X is not set +CONFIG_CAN_GS_USB=m +CONFIG_CAN_KVASER_USB=m +# CONFIG_CAN_MCBA_USB is not set +CONFIG_CAN_PEAK_USB=m +# CONFIG_CAN_UCAN is not set +# end of CAN USB interfaces + +CONFIG_CAN_DEBUG_DEVICES=y 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 @@ -2723,8 +2800,8 @@ CONFIG_USB_SIERRA_NET=m CONFIG_USB_VL600=m CONFIG_USB_NET_CH9200=m # CONFIG_USB_NET_AQC111 is not set +CONFIG_USB_RTL8153_ECM=m CONFIG_WLAN=y -# CONFIG_WIRELESS_WDS is not set CONFIG_WLAN_VENDOR_ADMTEK=y # CONFIG_ADM8211 is not set CONFIG_ATH_COMMON=m @@ -2783,7 +2860,6 @@ CONFIG_HOSTAP_FIRMWARE_NVRAM=y # CONFIG_HOSTAP_PCI is not set # CONFIG_HERMES is not set # CONFIG_P54_COMMON is not set -# CONFIG_PRISM54 is not set CONFIG_WLAN_VENDOR_MARVELL=y # CONFIG_LIBERTAS is not set CONFIG_LIBERTAS_THINFIRM=y @@ -2805,9 +2881,14 @@ CONFIG_MT7601U=m # 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_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 @@ -2846,13 +2927,24 @@ CONFIG_RTW88_PCI=m CONFIG_RTW88_8822C=m CONFIG_RTW88_8821C=m # CONFIG_RTW88_8822BE is not set +# CONFIG_RTW88_8822BS is not set +# CONFIG_RTW88_8822BU is not set CONFIG_RTW88_8822CE=m +# CONFIG_RTW88_8822CS is not set +# CONFIG_RTW88_8822CU is not set # CONFIG_RTW88_8723DE is not set +# CONFIG_RTW88_8723DS is not set +# CONFIG_RTW88_8723DU is not set CONFIG_RTW88_8821CE=m +# CONFIG_RTW88_8821CS is not set +# CONFIG_RTW88_8821CU is not set # CONFIG_RTW88_DEBUG is not set # CONFIG_RTW88_DEBUGFS is not set +# CONFIG_RTW89 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 @@ -2866,17 +2958,27 @@ CONFIG_USB_ZD1201=m CONFIG_WLAN_VENDOR_QUANTENNA=y # CONFIG_QTNFMAC_PCIE is not set # CONFIG_WL_ROCKCHIP is not set -# CONFIG_SPARD_WLAN_SUPPORT is not set # CONFIG_AIC_WLAN_SUPPORT is not set +# CONFIG_RTL8723DS is not set +# CONFIG_RTL8822BU is not set +# CONFIG_RTL8821CU is not set +# CONFIG_88XXAU is not set +# CONFIG_RTL8192EU is not set +# CONFIG_RTL8189FS is not set +# CONFIG_RTL8189ES is not set +# CONFIG_SPARD_WLAN_SUPPORT is not set # CONFIG_MAC80211_HWSIM is not set CONFIG_USB_NET_RNDIS_WLAN=y # CONFIG_VIRT_WIFI is not set +# CONFIG_WAN is not set +# CONFIG_IEEE802154_DRIVERS is not set # -# Enable WiMAX (Networking options) to see the WiMAX drivers +# Wireless WAN # -# CONFIG_WAN is not set -# CONFIG_IEEE802154_DRIVERS is not set +# 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 @@ -2925,6 +3027,7 @@ CONFIG_KEYBOARD_GPIO_POLLED=y # 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 @@ -2933,6 +3036,7 @@ CONFIG_KEYBOARD_GPIO_POLLED=y # 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 @@ -2975,18 +3079,18 @@ CONFIG_JOYSTICK_XPAD_LEDS=y CONFIG_JOYSTICK_PSXPAD_SPI=y # CONFIG_JOYSTICK_PSXPAD_SPI_FF 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_JELOS_JOYPAD=y CONFIG_INPUT_TABLET=y # CONFIG_TABLET_USB_ACECAD is not set # CONFIG_TABLET_USB_AIPTEK is not set -# CONFIG_TABLET_USB_GTCO 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_PROPERTIES=y # CONFIG_TOUCHSCREEN_ADS7846 is not set # CONFIG_TOUCHSCREEN_AD7877 is not set # CONFIG_TOUCHSCREEN_AD7879 is not set @@ -3001,6 +3105,7 @@ CONFIG_TOUCHSCREEN_PROPERTIES=y # CONFIG_TOUCHSCREEN_CY8CTMG110 is not set # CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set # CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set +# CONFIG_TOUCHSCREEN_CYPRESS_CYTTSP5 is not set # CONFIG_TOUCHSCREEN_DYNAPRO is not set # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set # CONFIG_TOUCHSCREEN_EETI is not set @@ -3016,7 +3121,9 @@ CONFIG_TOUCHSCREEN_GOODIX=y # CONFIG_TOUCHSCREEN_GT1X is not set # CONFIG_TOUCHSCREEN_GT9XX is not set # CONFIG_TOUCHSCREEN_HIDEEP is not set +# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set # 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 @@ -3024,18 +3131,20 @@ CONFIG_TOUCHSCREEN_GOODIX=y # CONFIG_TOUCHSCREEN_ELAN5515 is not set # CONFIG_TOUCHSCREEN_ELO is not set # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TOUCHSCREEN_WACOM_W9013 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_IMAGIS is not set # CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set # CONFIG_TOUCHSCREEN_INEXIO is not set # CONFIG_TOUCHSCREEN_MK712 is not set # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set -# CONFIG_TOUCHSCREEN_RASPITS_FT5426 is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set # CONFIG_TOUCHSCREEN_PIXCIR is not set @@ -3057,6 +3166,7 @@ CONFIG_TOUCHSCREEN_GOODIX=y # 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_ZINITIX is not set @@ -3089,9 +3199,13 @@ CONFIG_INPUT_UINPUT=y # CONFIG_INPUT_PWM_VIBRA is not set 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_IBM_PANEL 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 @@ -3145,11 +3259,11 @@ CONFIG_SERIAL_8250_DMA=y CONFIG_SERIAL_8250_NR_UARTS=10 CONFIG_SERIAL_8250_RUNTIME_UARTS=10 # CONFIG_SERIAL_8250_EXTENDED is not set -# CONFIG_SERIAL_8250_ASPEED_VUART 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 # @@ -3158,20 +3272,17 @@ CONFIG_SERIAL_OF_PLATFORM=y # CONFIG_SERIAL_AMBA_PL010 is not set # CONFIG_SERIAL_AMBA_PL011 is not set # CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set -# CONFIG_SERIAL_SAMSUNG 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_MSM_GENI_EARLY_CONSOLE 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_IFX6X60 is not set # CONFIG_SERIAL_XILINX_PS_UART is not set # CONFIG_SERIAL_ARC is not set # CONFIG_SERIAL_RP2 is not set @@ -3186,7 +3297,6 @@ CONFIG_SERIAL_MCTRL_GPIO=y # CONFIG_N_GSM is not set # CONFIG_NOZOMI is not set # CONFIG_NULL_TTY is not set -# CONFIG_TRACE_SINK is not set # CONFIG_HVC_DCC is not set CONFIG_SERIAL_DEV_BUS=y CONFIG_SERIAL_DEV_CTRL_TTYPORT=y @@ -3200,15 +3310,18 @@ CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM_OPTEE=y # 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_HW_RANDOM_ROCKCHIP=y # CONFIG_APPLICOM is not set CONFIG_DEVMEM=y -# CONFIG_RAW_DRIVER is not set 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=y # CONFIG_TCG_TIS_I2C_NUVOTON is not set @@ -3218,6 +3331,7 @@ CONFIG_TCG_TIS_I2C_INFINEON=y # 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 # CONFIG_RANDOM_TRUST_CPU is not set # CONFIG_RANDOM_TRUST_BOOTLOADER is not set # end of Character devices @@ -3296,6 +3410,8 @@ CONFIG_I2C_XILINX=m # External I2C/SMBus adapter drivers # CONFIG_I2C_DIOLAN_U2C=m +# CONFIG_I2C_CP2615 is not set +# CONFIG_I2C_PCI1XXXX is not set CONFIG_I2C_ROBOTFUZZ_OSIF=m CONFIG_I2C_TAOS_EVM=m CONFIG_I2C_TINY_USB=m @@ -3303,6 +3419,7 @@ CONFIG_I2C_TINY_USB=m # # Other I2C/SMBus bus drivers # +# CONFIG_I2C_VIRTIO is not set # end of I2C Hardware Bus support CONFIG_I2C_STUB=m @@ -3328,16 +3445,20 @@ CONFIG_SPI_MEM=y 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_NXP_FLEXSPI is not set # CONFIG_SPI_GPIO is not set # 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_PL022 is not set # CONFIG_SPI_PXA2XX is not set CONFIG_SPI_ROCKCHIP=y CONFIG_SPI_ROCKCHIP_MISCDEV=y CONFIG_SPI_ROCKCHIP_SFC=y +CONFIG_SPI_ROCKCHIP_SLAVE=y # CONFIG_SPI_SC18IS602 is not set # CONFIG_SPI_SIFIVE is not set # CONFIG_SPI_MXIC is not set @@ -3364,6 +3485,7 @@ CONFIG_SPI_SLAVE=y # CONFIG_SPI_SLAVE_ROCKCHIP_OBJ is not set CONFIG_SPI_DYNAMIC=y CONFIG_SPMI=m +# CONFIG_SPMI_HISI3670 is not set CONFIG_HSI=m CONFIG_HSI_BOARDINFO=y @@ -3393,12 +3515,15 @@ CONFIG_PPS_CLIENT_GPIO=m # 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_OCP is not set # end of PTP clock support CONFIG_PINCTRL=y @@ -3406,14 +3531,16 @@ CONFIG_PINMUX=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_RK806=y CONFIG_PINCTRL_ROCKCHIP=y # CONFIG_PINCTRL_SINGLE is not set -# CONFIG_PINCTRL_SX150X is not set # CONFIG_PINCTRL_STMFX is not set -CONFIG_PINCTRL_RK805=y -CONFIG_PINCTRL_RK806=y -# CONFIG_PINCTRL_OCELOT is not set +# CONFIG_PINCTRL_SX150X is not set # # Renesas pinctrl drivers @@ -3446,7 +3573,6 @@ CONFIG_GPIO_GENERIC_PLATFORM=y # CONFIG_GPIO_MB86S7X is not set # CONFIG_GPIO_PL061 is not set CONFIG_GPIO_ROCKCHIP=y -# CONFIG_GPIO_SAMA5D2_PIOBU is not set # CONFIG_GPIO_SIFIVE is not set # CONFIG_GPIO_SYSCON is not set # CONFIG_GPIO_XGENE is not set @@ -3457,7 +3583,6 @@ CONFIG_GPIO_ROCKCHIP=y # # I2C GPIO expanders # -# CONFIG_GPIO_ADP5588 is not set CONFIG_GPIO_ADNP=m CONFIG_GPIO_AW9110=m CONFIG_GPIO_GW_PLD=m @@ -3502,8 +3627,14 @@ CONFIG_GPIO_XRA1403=m # # end of USB GPIO expanders +# +# Virtual GPIO drivers +# CONFIG_GPIO_AGGREGATOR=m CONFIG_GPIO_MOCKUP=m +# CONFIG_GPIO_SIM is not set +# end of Virtual GPIO drivers + CONFIG_W1=m CONFIG_W1_CON=y @@ -3547,6 +3678,7 @@ 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 is not set @@ -3559,6 +3691,7 @@ CONFIG_POWER_SUPPLY=y CONFIG_POWER_SUPPLY_HWMON=y # CONFIG_PDA_POWER is not set # 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 @@ -3568,6 +3701,7 @@ 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 @@ -3582,9 +3716,11 @@ CONFIG_CHARGER_GPIO=y # CONFIG_CHARGER_MANAGER is not set # CONFIG_ROCKCHIP_CHARGER_MANAGER is not set # CONFIG_CHARGER_LT3651 is not set +# CONFIG_CHARGER_LTC4162L is not set # CONFIG_CHARGER_SC8551 is not set # CONFIG_CHARGER_SC89890 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 @@ -3593,18 +3729,21 @@ CONFIG_CHARGER_BQ24735=y CONFIG_CHARGER_BQ25700=y # CONFIG_CHARGER_BQ25890 is not set # CONFIG_CHARGER_BQ25980 is not set -# CONFIG_CHARGER_SMB347 is not set -# CONFIG_BATTERY_GAUGE_LTC2941 is not set -# CONFIG_BATTERY_RT5033 is not set -# CONFIG_CHARGER_RT9455 is not set -# CONFIG_CHARGER_UCS1002 is not set -# CONFIG_CHARGER_BD99954 is not set +# CONFIG_CHARGER_BQ256XX is not set # CONFIG_BATTERY_RK816 is not set CONFIG_BATTERY_RK817=y CONFIG_CHARGER_RK817=y # CONFIG_BATTERY_RK818 is not set # CONFIG_CHARGER_RK818 is not set # CONFIG_CHARGER_SGM41542 is not set +# 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_UCS1002 is not set +# CONFIG_CHARGER_BD99954 is not set +# CONFIG_BATTERY_UG3105 is not set CONFIG_HWMON=y # CONFIG_HWMON_DEBUG_CHIP is not set @@ -3627,13 +3766,15 @@ CONFIG_HWMON=y # 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_ASPEED 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 @@ -3657,6 +3798,7 @@ CONFIG_SENSORS_GPIO_FAN=y # CONFIG_SENSORS_LTC2947_I2C is not set # CONFIG_SENSORS_LTC2947_SPI is not set # CONFIG_SENSORS_LTC2990 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 @@ -3664,12 +3806,15 @@ CONFIG_SENSORS_GPIO_FAN=y # 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_SENSORS_MAX6620 is not set # CONFIG_SENSORS_MAX6621 is not set # CONFIG_SENSORS_MAX6639 is not set # CONFIG_SENSORS_MAX6642 is not set @@ -3678,6 +3823,7 @@ CONFIG_SENSORS_GPIO_FAN=y # CONFIG_SENSORS_MAX31790 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 @@ -3701,21 +3847,28 @@ CONFIG_SENSORS_GPIO_FAN=y # 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 @@ -3730,6 +3883,7 @@ CONFIG_SENSORS_PWM_FAN=y # 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 @@ -3738,6 +3892,7 @@ CONFIG_SENSORS_PWM_FAN=y # 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 @@ -3782,6 +3937,7 @@ CONFIG_WATCHDOG_CORE=y 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 @@ -3804,6 +3960,7 @@ CONFIG_KHADAS_WATCHDOG=y # 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 # @@ -3849,6 +4006,7 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_MC13XXX_I2C is not set # CONFIG_MFD_MP2629 is not set # CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_MFD_HI6421_SPMI is not set # CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_I2CPLD is not set # CONFIG_LPC_ICH is not set @@ -3864,6 +4022,7 @@ CONFIG_MFD_CORE=y # 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 @@ -3872,15 +4031,21 @@ CONFIG_MFD_CORE=y # CONFIG_MFD_MAX96745 is not set # CONFIG_MFD_MAX96755F 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=m +# 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_RK618 is not set # CONFIG_MFD_RK628 is not set @@ -3888,6 +4053,7 @@ CONFIG_MFD_RDC321X=m # CONFIG_MFD_RK630_I2C is not set # CONFIG_MFD_RK630_SPI is not set CONFIG_MFD_RK806=y +# CONFIG_MFD_RK806_I2C is not set CONFIG_MFD_RK806_SPI=y CONFIG_MFD_RK808=y # CONFIG_MFD_RK1000 is not set @@ -3903,7 +4069,6 @@ CONFIG_MFD_RK808=y # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SM501 is not set # CONFIG_MFD_SKY81452 is not set -# CONFIG_ABX500_CORE is not set # CONFIG_MFD_STMPE is not set CONFIG_MFD_SYSCON=y # CONFIG_MFD_TI_AM335X_TSCADC is not set @@ -3924,7 +4089,6 @@ 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_TPS80031 is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set # CONFIG_MFD_WL1273_CORE is not set @@ -3941,13 +4105,17 @@ CONFIG_MFD_TPS6586X=y # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8994 is not set # CONFIG_MFD_ROHM_BD718XX is not set -# CONFIG_MFD_ROHM_BD70528 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 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 @@ -3959,6 +4127,7 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y CONFIG_REGULATOR_ACT8865=y # CONFIG_REGULATOR_AD5398 is not set # CONFIG_REGULATOR_ARM_SCMI 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 @@ -3976,8 +4145,10 @@ CONFIG_REGULATOR_LP8752=y # CONFIG_REGULATOR_MAX1586 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_MAX77826 is not set # CONFIG_REGULATOR_MCP16502 is not set # CONFIG_REGULATOR_MP5416 is not set @@ -3986,7 +4157,9 @@ CONFIG_REGULATOR_MP8865=y # CONFIG_REGULATOR_MP886X is not set # CONFIG_REGULATOR_MPQ7920 is not set # CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_MT6315 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 @@ -3999,13 +4172,20 @@ CONFIG_REGULATOR_RK806=y CONFIG_REGULATOR_RK808=y CONFIG_REGULATOR_RK860X=y # CONFIG_REGULATOR_RT4801 is not set +# CONFIG_REGULATOR_RT5190A is not set +# CONFIG_REGULATOR_RT5759 is not set +# CONFIG_REGULATOR_RT6160 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_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_TPS65023 is not set # CONFIG_REGULATOR_TPS6507X is not set CONFIG_REGULATOR_TPS65132=y @@ -4016,10 +4196,16 @@ CONFIG_REGULATOR_TPS6586X=y # CONFIG_REGULATOR_QCOM_LABIBB is not set CONFIG_REGULATOR_XZ3216=y # CONFIG_RC_CORE is not set + +# +# CEC support +# CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_CEC_CH7322 is not set # CONFIG_USB_PULSE8_CEC is not set # CONFIG_USB_RAINSHADOW_CEC is not set +# end of CEC support + CONFIG_MEDIA_SUPPORT=y # CONFIG_MEDIA_SUPPORT_FILTER is not set # CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set @@ -4047,13 +4233,13 @@ CONFIG_DVB_CORE=y # # Video4Linux options # -CONFIG_VIDEO_V4L2=y 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_V4L2_MEM2MEM_DEV=y CONFIG_V4L2_FWNODE=y +CONFIG_V4L2_ASYNC=y # end of Video4Linux options # @@ -4073,6 +4259,10 @@ CONFIG_DVB_DYNAMIC_MINORS=y # CONFIG_DVB_ULE_DEBUG is not set # end of Digital TV options +# +# Media drivers +# + # # Media drivers # @@ -4081,23 +4271,20 @@ CONFIG_MEDIA_USB_SUPPORT=y # # Webcam devices # -CONFIG_USB_VIDEO_CLASS=y -# CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV is not set # CONFIG_USB_GSPCA is not set # CONFIG_USB_PWC is not set -# CONFIG_VIDEO_CPIA2 is not set -# CONFIG_USB_ZR364XX is not set -# CONFIG_USB_STKWEBCAM is not set # CONFIG_USB_S2255 is not set # CONFIG_VIDEO_USBTV is not set +CONFIG_USB_VIDEO_CLASS=y +# CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV is not set # # Analog TV USB devices # -# CONFIG_VIDEO_PVRUSB2 is not set +# CONFIG_VIDEO_GO7007 is not set # CONFIG_VIDEO_HDPVR is not set +# CONFIG_VIDEO_PVRUSB2 is not set # CONFIG_VIDEO_STK1160_COMMON is not set -# CONFIG_VIDEO_GO7007 is not set # # Analog/digital TV USB devices @@ -4108,12 +4295,12 @@ CONFIG_USB_VIDEO_CLASS=y # # Digital TV USB devices # +# CONFIG_DVB_AS102 is not set +# CONFIG_DVB_B2C2_FLEXCOP_USB is not set # CONFIG_DVB_USB_V2 is not set +# CONFIG_SMS_USB_DRV is not set # CONFIG_DVB_TTUSB_BUDGET is not set # CONFIG_DVB_TTUSB_DEC is not set -# CONFIG_SMS_USB_DRV is not set -# CONFIG_DVB_B2C2_FLEXCOP_USB is not set -# CONFIG_DVB_AS102 is not set # # Webcam, TV (analog/digital) USB devices @@ -4128,217 +4315,199 @@ CONFIG_USB_VIDEO_CLASS=y # CONFIG_USB_MSI2500 is not set # CONFIG_MEDIA_PCI_SUPPORT is not set CONFIG_RADIO_ADAPTERS=y -# CONFIG_RADIO_SI470X is not set -# CONFIG_RADIO_SI4713 is not set -# CONFIG_USB_MR800 is not set -# CONFIG_USB_DSBR is not set # 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_USB_KEENE is not set -# CONFIG_USB_RAREMONO is not set -# CONFIG_USB_MA901 is not set +# CONFIG_RADIO_SI4713 is not set # CONFIG_RADIO_TEA5764 is not set -# CONFIG_RADIO_SAA7706H is not set # CONFIG_RADIO_TEF6862 is not set # CONFIG_RADIO_WL1273 is not set -CONFIG_VIDEOBUF2_CORE=y -CONFIG_VIDEOBUF2_V4L2=y -CONFIG_VIDEOBUF2_MEMOPS=y -CONFIG_VIDEOBUF2_CMA_SG=y -CONFIG_VIDEOBUF2_VMALLOC=y -CONFIG_VIDEOBUF2_DMA_SG=y +# 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_VIDEO_CAFE_CCIC is not set -# CONFIG_VIDEO_CADENCE is not set -# CONFIG_VIDEO_ASPEED is not set -# CONFIG_VIDEO_MUX is not set -CONFIG_VIDEO_ROCKCHIP_CIF=y -CONFIG_ROCKCHIP_CIF_WORKMODE_PINGPONG=y -# CONFIG_ROCKCHIP_CIF_WORKMODE_ONEFRAME is not set -CONFIG_ROCKCHIP_CIF_USE_DUMMY_BUF=y -# CONFIG_ROCKCHIP_CIF_USE_NONE_DUMMY_BUF is not set -# CONFIG_ROCKCHIP_CIF_USE_MONITOR is not set -# CONFIG_VIDEO_ROCKCHIP_RKISP1 is not set -CONFIG_VIDEO_ROCKCHIP_ISP=y -CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V1X=y -# CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V20 is not set -CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V21=y -CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V30=y -# CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V32 is not set -CONFIG_VIDEO_ROCKCHIP_ISPP=y -# CONFIG_VIDEO_ROCKCHIP_ISPP_FEC is not set -# CONFIG_VIDEO_ROCKCHIP_ISPP_VERSION_V10 is not set -CONFIG_VIDEO_ROCKCHIP_ISPP_VERSION_V20=y -CONFIG_VIDEO_ROCKCHIP_HDMIRX_CLASS=y -# CONFIG_VIDEO_ROCKCHIP_HDMIRX is not set -# CONFIG_VIDEO_XILINX is not set +# CONFIG_SDR_PLATFORM_DRIVERS is not set +# CONFIG_DVB_PLATFORM_DRIVERS is not set CONFIG_V4L_MEM2MEM_DRIVERS=y # CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set -CONFIG_VIDEO_ROCKCHIP_RGA=y -# CONFIG_DVB_PLATFORM_DRIVERS is not set -# CONFIG_SDR_PLATFORM_DRIVERS is not set +# CONFIG_VIDEO_MUX is not set # -# MMC/SDIO DVB adapters +# Allegro DVT media platform drivers # -# CONFIG_SMS_SDIO_DRV is not set -# CONFIG_V4L_TEST_DRIVERS is not set -# CONFIG_DVB_TEST_DRIVERS is not set -# end of Media drivers # -# Media ancillary drivers +# Amlogic media platform drivers # -CONFIG_MEDIA_ATTACH=y # -# Audio decoders, processors and mixers +# Amphion drivers # -# CONFIG_VIDEO_TVAUDIO is not set -# CONFIG_VIDEO_TDA7432 is not set -# CONFIG_VIDEO_TDA9840 is not set -# CONFIG_VIDEO_TDA1997X is not set -# CONFIG_VIDEO_TEA6415C is not set -# CONFIG_VIDEO_TEA6420 is not set -# CONFIG_VIDEO_MSP3400 is not set -# CONFIG_VIDEO_CS3308 is not set -# CONFIG_VIDEO_CS5345 is not set -# CONFIG_VIDEO_CS53L32A is not set -# CONFIG_VIDEO_TLV320AIC23B is not set -# CONFIG_VIDEO_UDA1342 is not set -# CONFIG_VIDEO_WM8775 is not set -# CONFIG_VIDEO_WM8739 is not set -# CONFIG_VIDEO_VP27SMPX is not set -# CONFIG_VIDEO_SONY_BTF_MPX is not set -# end of Audio decoders, processors and mixers # -# RDS decoders +# Aspeed media platform drivers # -# CONFIG_VIDEO_SAA6588 is not set -# end of RDS decoders +# CONFIG_VIDEO_ASPEED is not set # -# Video decoders +# Atmel media platform drivers # -# 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_EP9461E is not set -# CONFIG_VIDEO_KS0127 is not set -# CONFIG_VIDEO_IT6616 is not set -CONFIG_VIDEO_LT6911UXC=y -# CONFIG_VIDEO_LT6911UXE is not set -CONFIG_VIDEO_LT7911D=y -# CONFIG_VIDEO_LT7911UXC is not set -# CONFIG_VIDEO_LT8619C is not set -# CONFIG_VIDEO_ML86V7667 is not set -# CONFIG_VIDEO_NVP6158 is not set -# CONFIG_VIDEO_NVP6188 is not set -# CONFIG_VIDEO_NVP6324 is not set -# CONFIG_VIDEO_OTP_EEPROM is not set -CONFIG_VIDEO_RK628=y -CONFIG_VIDEO_RK628_CSI=y -CONFIG_VIDEO_RK628_BT1120=y -# CONFIG_VIDEO_SAA7110 is not set -# CONFIG_VIDEO_SAA711X is not set -# CONFIG_VIDEO_TC358743 is not set -CONFIG_VIDEO_TC35874X=y -# CONFIG_VIDEO_TECHPOINT is not set -# CONFIG_VIDEO_THCV244 is not set -# CONFIG_VIDEO_TVP514X is not set -# CONFIG_VIDEO_TVP5150 is not set -# CONFIG_VIDEO_TVP7002 is not set -# CONFIG_VIDEO_TW2804 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 -# CONFIG_VIDEO_MAX9286 is not set -# CONFIG_VIDEO_MAX96712 is not set -# CONFIG_VIDEO_MAX96714 is not set -# CONFIG_VIDEO_MAX96722 is not set -# CONFIG_VIDEO_DES_MAXIM4C is not set # -# Video and audio decoders +# Cadence media platform drivers # -# CONFIG_VIDEO_SAA717X is not set -# CONFIG_VIDEO_CX25840 is not set -# CONFIG_VIDEO_IT66353 is not set -# end of Video decoders +# CONFIG_VIDEO_CADENCE_CSI2RX is not set +# CONFIG_VIDEO_CADENCE_CSI2TX is not set # -# Video encoders +# Chips&Media media platform drivers # -# CONFIG_VIDEO_SAA7127 is not set -# CONFIG_VIDEO_SAA7185 is not set -# 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_AD9389B is not set -# CONFIG_VIDEO_AK881X is not set -# CONFIG_VIDEO_THS8200 is not set -# end of Video encoders # -# Video improvement chips +# Intel media platform drivers # -# CONFIG_VIDEO_UPD64031A is not set -# CONFIG_VIDEO_UPD64083 is not set -# end of Video improvement chips # -# Audio/Video compression chips +# Marvell media platform drivers # -# CONFIG_VIDEO_SAA6752HS is not set -# end of Audio/Video compression chips +# CONFIG_VIDEO_CAFE_CCIC is not set # -# SDR tuner chips +# Mediatek media platform drivers # -# CONFIG_SDR_MAX2175 is not set -# end of SDR tuner chips # -# Miscellaneous helper chips +# NVidia media platform drivers # -# CONFIG_VIDEO_THS7303 is not set -# CONFIG_VIDEO_M52790 is not set -# CONFIG_VIDEO_I2C is not set -# CONFIG_VIDEO_ST_MIPID02 is not set -CONFIG_VIDEO_RK_IRCUT=y -# end of Miscellaneous helper chips + +# +# NXP media platform drivers +# + +# +# Qualcomm media platform drivers +# + +# +# Renesas media platform drivers +# + +# +# Rockchip media platform drivers +# +CONFIG_VIDEO_ROCKCHIP_CIF=y +CONFIG_ROCKCHIP_CIF_WORKMODE_PINGPONG=y +# CONFIG_ROCKCHIP_CIF_WORKMODE_ONEFRAME is not set +CONFIG_ROCKCHIP_CIF_USE_DUMMY_BUF=y +# CONFIG_ROCKCHIP_CIF_USE_NONE_DUMMY_BUF is not set +# CONFIG_ROCKCHIP_CIF_USE_MONITOR is not set +# CONFIG_VIDEO_ROCKCHIP_RKISP1 is not set +CONFIG_VIDEO_ROCKCHIP_ISP=y +CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V1X=y +# CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V20 is not set +CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V21=y +CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V30=y +# CONFIG_VIDEO_ROCKCHIP_ISP_VERSION_V32 is not set +CONFIG_VIDEO_ROCKCHIP_ISPP=y +# CONFIG_VIDEO_ROCKCHIP_ISPP_FEC is not set +# CONFIG_VIDEO_ROCKCHIP_ISPP_VERSION_V10 is not set +CONFIG_VIDEO_ROCKCHIP_ISPP_VERSION_V20=y +CONFIG_VIDEO_ROCKCHIP_HDMIRX_CLASS=y +# CONFIG_VIDEO_ROCKCHIP_HDMIRX is not set +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 is not set + +# +# 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_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_V4L2=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_CMA_SG=y +CONFIG_VIDEOBUF2_VMALLOC=y +CONFIG_VIDEOBUF2_DMA_SG=y +# end of Media drivers + +# +# Media ancillary drivers +# +CONFIG_MEDIA_ATTACH=y +# CONFIG_VIDEO_CAM_SLEEP_WAKEUP is not set # # Camera sensor devices # # CONFIG_VIDEO_AR0230 is not set +# CONFIG_VIDEO_AR0521 is not set # CONFIG_VIDEO_AR0822 is not set +# CONFIG_VIDEO_AR2020 is not set +# CONFIG_VIDEO_BF3925 is not set # CONFIG_VIDEO_GC02M2 is not set +# CONFIG_VIDEO_GC0312 is not set +# CONFIG_VIDEO_GC0329 is not set +# CONFIG_VIDEO_GC0403 is not set +# CONFIG_VIDEO_GC05A2 is not set # CONFIG_VIDEO_GC08A3 is not set # CONFIG_VIDEO_GC1084 is not set +# CONFIG_VIDEO_GC2035 is not set # CONFIG_VIDEO_GC2053 is not set # CONFIG_VIDEO_GC2093 is not set # CONFIG_VIDEO_GC2145 is not set +# CONFIG_VIDEO_GC2155 is not set +# CONFIG_VIDEO_GC2355 is not set +# CONFIG_VIDEO_GC2375H is not set # CONFIG_VIDEO_GC2385 is not set # CONFIG_VIDEO_GC3003 is not set # CONFIG_VIDEO_GC4023 is not set # CONFIG_VIDEO_GC4653 is not set # CONFIG_VIDEO_GC4663 is not set # CONFIG_VIDEO_GC4C33 is not set +# CONFIG_VIDEO_GC5024 is not set # CONFIG_VIDEO_GC5025 is not set # CONFIG_VIDEO_GC5035 is not set CONFIG_VIDEO_GC8034=y # 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 is not set # CONFIG_VIDEO_IMX258 is not set @@ -4352,22 +4521,50 @@ CONFIG_VIDEO_GC8034=y # CONFIG_VIDEO_IMX334 is not set # CONFIG_VIDEO_IMX335 is not set # CONFIG_VIDEO_IMX347 is not set +# CONFIG_VIDEO_IMX355 is not set # CONFIG_VIDEO_IMX378 is not set +# CONFIG_VIDEO_IMX412 is not set CONFIG_VIDEO_IMX415=y CONFIG_VIDEO_IMX464=y # CONFIG_VIDEO_IMX492 is not set -# CONFIG_VIDEO_IMX355 is not set # CONFIG_VIDEO_IMX577 is not set # CONFIG_VIDEO_IMX586 is not set +# CONFIG_VIDEO_JX_F37 is not set +# CONFIG_VIDEO_JX_H62 is not set +# CONFIG_VIDEO_JX_H65 is not set # CONFIG_VIDEO_JX_K17 is not set +# CONFIG_VIDEO_MIS2031 is not set +# CONFIG_VIDEO_MIS4001 is not set +# CONFIG_VIDEO_MT9M001 is not set +# CONFIG_VIDEO_MT9M032 is not set +# CONFIG_VIDEO_MT9M111 is not set +# CONFIG_VIDEO_MT9P031 is not set +# CONFIG_VIDEO_MT9T001 is not set +# CONFIG_VIDEO_MT9T112 is not set +# CONFIG_VIDEO_MT9V011 is not set +# CONFIG_VIDEO_MT9V032 is not set +# CONFIG_VIDEO_MT9V111 is not set +# CONFIG_VIDEO_NOON010PC30 is not set +# CONFIG_VIDEO_OG01A10 is not set +# CONFIG_VIDEO_OG01A1B is not set +# CONFIG_VIDEO_OG02B10 is not set # CONFIG_VIDEO_OS02G10 is not set # CONFIG_VIDEO_OS02K10 is not set # CONFIG_VIDEO_OS03B10 is not set CONFIG_VIDEO_OS04A10=y +# CONFIG_VIDEO_OS04D10 is not set # CONFIG_VIDEO_OS05A20 is not set # CONFIG_VIDEO_OS08A20 is not set +# CONFIG_VIDEO_OV02A10 is not set # CONFIG_VIDEO_OV02B10 is not set # CONFIG_VIDEO_OV02K10 is not set +# CONFIG_VIDEO_OV08D10 is not set +# CONFIG_VIDEO_OV12D2Q is not set +CONFIG_VIDEO_OV13850=y +CONFIG_VIDEO_OV13855=y +# CONFIG_VIDEO_OV13858 is not set +# CONFIG_VIDEO_OV13B10 is not set +# CONFIG_VIDEO_OV16885 is not set # CONFIG_VIDEO_OV16A10 is not set # CONFIG_VIDEO_OV16A1Q is not set # CONFIG_VIDEO_OV2640 is not set @@ -4382,34 +4579,36 @@ CONFIG_VIDEO_OV4689=y # CONFIG_VIDEO_OV5640 is not set # CONFIG_VIDEO_OV5645 is not set # CONFIG_VIDEO_OV5647 is not set -# CONFIG_VIDEO_OV6650 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=y +# CONFIG_VIDEO_OV6650 is not set CONFIG_VIDEO_OV7251=y -# CONFIG_VIDEO_OV772X 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_OV9281 is not set +# CONFIG_VIDEO_OV9282 is not set # CONFIG_VIDEO_OV9640 is not set # CONFIG_VIDEO_OV9650 is not set -# CONFIG_VIDEO_OV12D2Q is not set -CONFIG_VIDEO_OV13850=y -CONFIG_VIDEO_OV13855=y -# CONFIG_VIDEO_OV13858 is not set -# CONFIG_VIDEO_VS6624 is not set -# CONFIG_VIDEO_MT9M001 is not set -# CONFIG_VIDEO_MT9M032 is not set -# CONFIG_VIDEO_MT9M111 is not set -# CONFIG_VIDEO_MT9P031 is not set -# CONFIG_VIDEO_MT9T001 is not set -# CONFIG_VIDEO_MT9T112 is not set -# CONFIG_VIDEO_MT9V011 is not set -# CONFIG_VIDEO_MT9V032 is not set -# CONFIG_VIDEO_MT9V111 is not set +# CONFIG_VIDEO_PREISP_DUMMY_SENSOR 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_S5K3L6XX is not set +# CONFIG_VIDEO_S5K3L8XX is not set +# CONFIG_VIDEO_S5K4ECGX is not set +# CONFIG_VIDEO_S5K5BAF is not set +# CONFIG_VIDEO_S5K6A3 is not set +# CONFIG_VIDEO_S5K6AA is not set +# CONFIG_VIDEO_S5KJN1 is not set # CONFIG_VIDEO_SC031GS is not set # CONFIG_VIDEO_SC035GS is not set # CONFIG_VIDEO_SC132GS is not set @@ -4422,6 +4621,7 @@ CONFIG_VIDEO_OV13855=y # CONFIG_VIDEO_SC230AI is not set # CONFIG_VIDEO_SC2310 is not set # CONFIG_VIDEO_SC2336 is not set +# CONFIG_VIDEO_SC2355 is not set # CONFIG_VIDEO_SC301IOT is not set # CONFIG_VIDEO_SC3336 is not set # CONFIG_VIDEO_SC3338 is not set @@ -4430,6 +4630,8 @@ CONFIG_VIDEO_OV13855=y # CONFIG_VIDEO_SC4238 is not set # CONFIG_VIDEO_SC430CS is not set # CONFIG_VIDEO_SC4336 is not set +# CONFIG_VIDEO_SC4336P is not set +# CONFIG_VIDEO_SC450AI is not set # CONFIG_VIDEO_SC500AI is not set # CONFIG_VIDEO_SC501AI is not set # CONFIG_VIDEO_SC530AI is not set @@ -4437,20 +4639,10 @@ CONFIG_VIDEO_OV13855=y # CONFIG_VIDEO_SC850SL is not set # CONFIG_VIDEO_SENSOR_ADAPTER is not set # CONFIG_VIDEO_SR030PC30 is not set -# CONFIG_VIDEO_NOON010PC30 is not set -# CONFIG_VIDEO_M5MOLS is not set -# CONFIG_VIDEO_RDACM20 is not set -# CONFIG_VIDEO_RJ54N1 is not set -# CONFIG_VIDEO_S5K3L6XX is not set -# CONFIG_VIDEO_S5K6AA is not set -# CONFIG_VIDEO_S5K6A3 is not set -# CONFIG_VIDEO_S5K4ECGX is not set -# CONFIG_VIDEO_S5K5BAF is not set -# CONFIG_VIDEO_S5KJN1 is not set -# CONFIG_VIDEO_SMIAPP is not set +# CONFIG_VIDEO_VS6624 is not set +# CONFIG_VIDEO_CCS is not set # CONFIG_VIDEO_ET8EK8 is not set -# CONFIG_VIDEO_S5C73M3 is not set -# CONFIG_VIDEO_PREISP_DUMMY_SENSOR is not set +# CONFIG_VIDEO_M5MOLS is not set # end of Camera sensor devices # @@ -4463,6 +4655,7 @@ CONFIG_VIDEO_CN3927V=m CONFIG_VIDEO_DW9714=m # CONFIG_VIDEO_DW9763 is not set CONFIG_VIDEO_DW9768=m +# CONFIG_VIDEO_DW9800V is not set CONFIG_VIDEO_DW9800W=m CONFIG_VIDEO_DW9807_VCM=m CONFIG_VIDEO_FP5510=m @@ -4479,16 +4672,140 @@ CONFIG_VIDEO_FP5510=m # end of Flash devices # -# SPI helper chips +# Audio decoders, processors and mixers # -# CONFIG_VIDEO_GS1662 is not set -# CONFIG_VIDEO_ROCKCHIP_PREISP is not set -# end of SPI helper chips +# CONFIG_VIDEO_CS3308 is not set +# CONFIG_VIDEO_CS5345 is not set +# CONFIG_VIDEO_CS53L32A is not set +# CONFIG_VIDEO_MSP3400 is not set +# 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_EP9461E is not set +# CONFIG_VIDEO_ISL7998X is not set +# CONFIG_VIDEO_IT6616 is not set +# CONFIG_VIDEO_KS0127 is not set +CONFIG_VIDEO_LT6911UXC=y +# CONFIG_VIDEO_LT6911UXE is not set +CONFIG_VIDEO_LT7911D=y +# CONFIG_VIDEO_LT7911UXC is not set +# CONFIG_VIDEO_LT8619C is not set +# CONFIG_VIDEO_MAX9286 is not set +# CONFIG_VIDEO_MAX96712 is not set +# CONFIG_VIDEO_MAX96714 is not set +# CONFIG_VIDEO_MAX96722 is not set +# CONFIG_VIDEO_MAX96756 is not set +# CONFIG_VIDEO_ML86V7667 is not set +# CONFIG_VIDEO_NVP6158 is not set +# CONFIG_VIDEO_NVP6188 is not set +# CONFIG_VIDEO_NVP6324 is not set +# CONFIG_VIDEO_OTP_EEPROM is not set +# CONFIG_VIDEO_SAA7110 is not set +# CONFIG_VIDEO_SAA711X is not set +# CONFIG_VIDEO_TC358743 is not set +CONFIG_VIDEO_TC35874X=y +# CONFIG_VIDEO_TECHPOINT is not set +# CONFIG_VIDEO_THCV244 is not set +# CONFIG_VIDEO_TVP514X is not set +# CONFIG_VIDEO_TVP5150 is not set +# CONFIG_VIDEO_TVP7002 is not set +# CONFIG_VIDEO_TW2804 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 +CONFIG_VIDEO_RK628=y +CONFIG_VIDEO_RK628_CSI=y +CONFIG_VIDEO_RK628_BT1120=y +# CONFIG_VIDEO_DES_MAXIM2C is not set +# CONFIG_VIDEO_DES_MAXIM4C is not set + +# +# Video and audio decoders +# +# CONFIG_VIDEO_SAA717X is not set +# CONFIG_VIDEO_CX25840 is not set +# CONFIG_VIDEO_IT66353 is not set +# end of Video decoders + +# +# Video encoders +# +# CONFIG_VIDEO_AD9389B is not set +# 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_RK_IRCUT=y +# CONFIG_VIDEO_ST_MIPID02 is not set +# CONFIG_VIDEO_THS7303 is not set +# end of Miscellaneous helper chips # # Media SPI Adapters # CONFIG_CXD2880_SPI_DRV=m +# CONFIG_VIDEO_GS1662 is not set +# CONFIG_VIDEO_ROCKCHIP_PREISP is not set # end of Media SPI Adapters CONFIG_MEDIA_TUNER=y @@ -4496,43 +4813,43 @@ CONFIG_MEDIA_TUNER=y # # Customize TV tuners # -CONFIG_MEDIA_TUNER_SIMPLE=m -CONFIG_MEDIA_TUNER_TDA18250=m -CONFIG_MEDIA_TUNER_TDA8290=m -CONFIG_MEDIA_TUNER_TDA827X=m -CONFIG_MEDIA_TUNER_TDA18271=m -CONFIG_MEDIA_TUNER_TDA9887=m -CONFIG_MEDIA_TUNER_TEA5761=m -CONFIG_MEDIA_TUNER_TEA5767=m +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=m CONFIG_MEDIA_TUNER_MSI001=m -CONFIG_MEDIA_TUNER_MT20XX=m CONFIG_MEDIA_TUNER_MT2060=m CONFIG_MEDIA_TUNER_MT2063=m -CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_MT20XX=m CONFIG_MEDIA_TUNER_MT2131=m -CONFIG_MEDIA_TUNER_QT1010=m -CONFIG_MEDIA_TUNER_XC2028=m -CONFIG_MEDIA_TUNER_XC5000=m -CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_MXL301RF=m CONFIG_MEDIA_TUNER_MXL5005S=m CONFIG_MEDIA_TUNER_MXL5007T=m -CONFIG_MEDIA_TUNER_MC44S803=m -CONFIG_MEDIA_TUNER_MAX2165=m -CONFIG_MEDIA_TUNER_TDA18218=m -CONFIG_MEDIA_TUNER_FC0011=m -CONFIG_MEDIA_TUNER_FC0012=m -CONFIG_MEDIA_TUNER_FC0013=m +CONFIG_MEDIA_TUNER_QM1D1B0004=m +CONFIG_MEDIA_TUNER_QM1D1C0042=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_R820T=m +CONFIG_MEDIA_TUNER_SI2157=m +CONFIG_MEDIA_TUNER_SIMPLE=m CONFIG_MEDIA_TUNER_TDA18212=m -CONFIG_MEDIA_TUNER_E4000=m -CONFIG_MEDIA_TUNER_FC2580=m -CONFIG_MEDIA_TUNER_M88RS6000T=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_TDA18250=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m CONFIG_MEDIA_TUNER_TUA9001=m -CONFIG_MEDIA_TUNER_SI2157=m -CONFIG_MEDIA_TUNER_IT913X=m -CONFIG_MEDIA_TUNER_R820T=m -CONFIG_MEDIA_TUNER_MXL301RF=m -CONFIG_MEDIA_TUNER_QM1D1C0042=m -CONFIG_MEDIA_TUNER_QM1D1B0004=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_XC5000=m # end of Customize TV tuners # @@ -4542,124 +4859,124 @@ CONFIG_MEDIA_TUNER_QM1D1B0004=m # # Multistandard (satellite) frontends # +CONFIG_DVB_M88DS3103=m +CONFIG_DVB_MXL5XX=m CONFIG_DVB_STB0899=m CONFIG_DVB_STB6100=m CONFIG_DVB_STV090x=m CONFIG_DVB_STV0910=m CONFIG_DVB_STV6110x=m CONFIG_DVB_STV6111=m -CONFIG_DVB_MXL5XX=m -CONFIG_DVB_M88DS3103=m # # Multistandard (cable + terrestrial) frontends # CONFIG_DVB_DRXK=m -CONFIG_DVB_TDA18271C2DD=m -CONFIG_DVB_SI2165=m CONFIG_DVB_MN88472=m CONFIG_DVB_MN88473=m +CONFIG_DVB_SI2165=m +CONFIG_DVB_TDA18271C2DD=m # # DVB-S (satellite) frontends # CONFIG_DVB_CX24110=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_CX24117=m +CONFIG_DVB_CX24120=m CONFIG_DVB_CX24123=m +CONFIG_DVB_DS3000=m +CONFIG_DVB_MB86A16=m CONFIG_DVB_MT312=m -CONFIG_DVB_ZL10036=m -CONFIG_DVB_ZL10039=m CONFIG_DVB_S5H1420=m -CONFIG_DVB_STV0288=m +CONFIG_DVB_SI21XX=m CONFIG_DVB_STB6000=m +CONFIG_DVB_STV0288=m CONFIG_DVB_STV0299=m -CONFIG_DVB_STV6110=m CONFIG_DVB_STV0900=m -CONFIG_DVB_TDA8083=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_TDA10071=m CONFIG_DVB_TDA10086=m +CONFIG_DVB_TDA8083=m CONFIG_DVB_TDA8261=m -CONFIG_DVB_VES1X93=m -CONFIG_DVB_TUNER_ITD1000=m -CONFIG_DVB_TUNER_CX24113=m CONFIG_DVB_TDA826X=m -CONFIG_DVB_TUA6100=m -CONFIG_DVB_CX24116=m -CONFIG_DVB_CX24117=m -CONFIG_DVB_CX24120=m -CONFIG_DVB_SI21XX=m CONFIG_DVB_TS2020=m -CONFIG_DVB_DS3000=m -CONFIG_DVB_MB86A16=m -CONFIG_DVB_TDA10071=m +CONFIG_DVB_TUA6100=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TUNER_ITD1000=m +CONFIG_DVB_VES1X93=m +CONFIG_DVB_ZL10036=m +CONFIG_DVB_ZL10039=m # # DVB-T (terrestrial) frontends # -CONFIG_DVB_SP8870=m -CONFIG_DVB_SP887X=m +CONFIG_DVB_AF9013=m CONFIG_DVB_CX22700=m CONFIG_DVB_CX22702=m -CONFIG_DVB_S5H1432=m -CONFIG_DVB_DRXD=m -CONFIG_DVB_L64781=m -CONFIG_DVB_TDA1004X=m -CONFIG_DVB_NXT6000=m -CONFIG_DVB_MT352=m -CONFIG_DVB_ZL10353=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=m -CONFIG_DVB_TDA10048=m -CONFIG_DVB_AF9013=m +CONFIG_DVB_DRXD=m CONFIG_DVB_EC100=m -CONFIG_DVB_STV0367=m -CONFIG_DVB_CXD2820R=m -CONFIG_DVB_CXD2841ER=m +CONFIG_DVB_L64781=m +CONFIG_DVB_MT352=m +CONFIG_DVB_NXT6000=m CONFIG_DVB_RTL2830=m CONFIG_DVB_RTL2832=m CONFIG_DVB_RTL2832_SDR=m +CONFIG_DVB_S5H1432=m CONFIG_DVB_SI2168=m +CONFIG_DVB_SP887X=m +CONFIG_DVB_STV0367=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_TDA1004X=m CONFIG_DVB_ZD1301_DEMOD=m +CONFIG_DVB_ZL10353=m CONFIG_DVB_CXD2880=m # # DVB-C (cable) frontends # -CONFIG_DVB_VES1820=m +CONFIG_DVB_STV0297=m CONFIG_DVB_TDA10021=m CONFIG_DVB_TDA10023=m -CONFIG_DVB_STV0297=m +CONFIG_DVB_VES1820=m # # ATSC (North American/Korean Terrestrial/Cable DTV) frontends # -CONFIG_DVB_NXT200X=m -CONFIG_DVB_OR51211=m -CONFIG_DVB_OR51132=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_AU8522_DTV=m +CONFIG_DVB_AU8522_V4L=m CONFIG_DVB_BCM3510=m -CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LG2160=m CONFIG_DVB_LGDT3305=m CONFIG_DVB_LGDT3306A=m -CONFIG_DVB_LG2160=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_MXL692=m +CONFIG_DVB_NXT200X=m +CONFIG_DVB_OR51132=m +CONFIG_DVB_OR51211=m CONFIG_DVB_S5H1409=m -CONFIG_DVB_AU8522=m -CONFIG_DVB_AU8522_DTV=m -CONFIG_DVB_AU8522_V4L=m CONFIG_DVB_S5H1411=m # # ISDB-T (terrestrial) frontends # -CONFIG_DVB_S921=m CONFIG_DVB_DIB8000=m CONFIG_DVB_MB86A20S=m +CONFIG_DVB_S921=m # # ISDB-S (satellite) & ISDB-T (terrestrial) frontends # -CONFIG_DVB_TC90522=m CONFIG_DVB_MN88443X=m +CONFIG_DVB_TC90522=m # # Digital terrestrial only tuners/PLL @@ -4671,25 +4988,25 @@ CONFIG_DVB_TUNER_DIB0090=m # # SEC control devices for DVB-S # -CONFIG_DVB_DRX39XYJ=m -CONFIG_DVB_LNBH25=m -CONFIG_DVB_LNBH29=m -CONFIG_DVB_LNBP21=m -CONFIG_DVB_LNBP22=m +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_A8293=m +CONFIG_DVB_IX2505V=m CONFIG_DVB_LGS8GL5=m CONFIG_DVB_LGS8GXX=m -CONFIG_DVB_ATBM8830=m -CONFIG_DVB_TDA665x=m -CONFIG_DVB_IX2505V=m +CONFIG_DVB_LNBH25=m +CONFIG_DVB_LNBH29=m +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m CONFIG_DVB_M88RS2000=m -CONFIG_DVB_AF9033=m -CONFIG_DVB_HORUS3A=m -CONFIG_DVB_ASCOT2E=m -CONFIG_DVB_HELENE=m +CONFIG_DVB_TDA665x=m +CONFIG_DVB_DRX39XYJ=m # # Common Interface (EN50221) controller drivers @@ -4707,24 +5024,20 @@ CONFIG_DVB_SP2=m # # Graphics support # -# CONFIG_VGA_ARB is not set CONFIG_DRM=y # CONFIG_DRM_EDID is not set +# CONFIG_DRM_IGNORE_IOTCL_PERMIT is not set CONFIG_DRM_MIPI_DSI=y -# CONFIG_DRM_DP is not set -# CONFIG_DRM_DP_AUX_CHARDEV is not set # CONFIG_DRM_DEBUG_MM is not set -# CONFIG_DRM_DEBUG_SELFTEST is not set CONFIG_DRM_KMS_HELPER=y -CONFIG_DRM_KMS_FB_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=200 # CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set -# CONFIG_DRM_DP_CEC is not set -CONFIG_DRM_GEM_CMA_HELPER=y -CONFIG_DRM_KMS_CMA_HELPER=y +# CONFIG_DRM_DP is not set +CONFIG_DRM_GEM_DMA_HELPER=y CONFIG_DRM_GEM_SHMEM_HELPER=y CONFIG_DRM_SCHED=y @@ -4768,32 +5081,42 @@ CONFIG_ROCKCHIP_RGB=y # CONFIG_ROCKCHIP_VCONN is not set # CONFIG_DRM_ROCKCHIP_VVOP is not set CONFIG_ROCKCHIP_DW_HDCP2=y +# 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_RCAR_DW_HDMI is not set -# CONFIG_DRM_RCAR_LVDS is not set +# CONFIG_DRM_RCAR_USE_LVDS is not set +# CONFIG_DRM_RCAR_USE_MIPI_DSI is not set # CONFIG_DRM_QXL is not set -# CONFIG_DRM_BOCHS is not set +# CONFIG_DRM_VIRTIO_GPU 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_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=y +# CONFIG_DRM_PANEL_EDP is not set +# CONFIG_DRM_PANEL_EBBG_FT8719 is not set # CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set # CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set # CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set # CONFIG_DRM_PANEL_ILITEK_IL9322 is not set +# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set # CONFIG_DRM_PANEL_ILITEK_ILI9881C 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_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 @@ -4801,7 +5124,11 @@ CONFIG_DRM_PANEL_SIMPLE=y # CONFIG_DRM_PANEL_LG_LB035Q02 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set # CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# 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_NT36672A is not set # CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set # CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set # CONFIG_DRM_PANEL_MAXIM_MAX96752F is not set @@ -4810,33 +5137,38 @@ CONFIG_DRM_PANEL_SIMPLE=y # 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_RADXA_DISPLAY_8HD 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_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_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 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set -# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set # CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 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_WIDECHIPS_WS2401 is not set # CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set -# CONFIG_DRM_PANEL_INNOLUX_AFJ101_BA2131 is not set # end of Display Panels CONFIG_DRM_BRIDGE=y @@ -4846,10 +5178,16 @@ CONFIG_DRM_PANEL_BRIDGE=y # Display Interface Bridges # # CONFIG_DRM_CDNS_DSI is not set +# CONFIG_DRM_CHIPONE_ICN6211 is not set # CONFIG_DRM_CHRONTEL_CH7033 is not set # CONFIG_DRM_DISPLAY_CONNECTOR is not set # CONFIG_DRM_ITE_IT6161 is not set +# 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_MAXIM_MAX96745 is not set # CONFIG_DRM_MAXIM_MAX96755F is not set @@ -4870,24 +5208,31 @@ CONFIG_DRM_PANEL_BRIDGE=y # 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_MHDP8546 is not set CONFIG_DRM_DW_MIPI_DSI=y # end of Display Interface Bridges # CONFIG_DRM_ETNAVIV is not set -# CONFIG_DRM_ARCPGU is not set # CONFIG_DRM_HISI_HIBMC is not set # CONFIG_DRM_HISI_KIRIN is not set -# CONFIG_DRM_MXSFB 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 is not set +# 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 @@ -4898,9 +5243,13 @@ CONFIG_DRM_DW_MIPI_DSI=y # CONFIG_DRM_PL111 is not set # CONFIG_DRM_LIMA is not set CONFIG_DRM_PANFROST=y +CONFIG_DRM_PANTHOR=m # CONFIG_DRM_TIDSS is not set +# CONFIG_DRM_GUD is not set +# CONFIG_DRM_SSD130X is not set # CONFIG_DRM_LEGACY is not set CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y +CONFIG_DRM_NOMODESET=y # CONFIG_MALI400 is not set CONFIG_MALI_DEVFREQ=y CONFIG_MALI_MIDGARD=y @@ -4930,6 +5279,8 @@ CONFIG_MALI_REAL_HW=y # # Platform specific options # +# end of Platform specific options + CONFIG_MALI_CSF_SUPPORT=y CONFIG_MALI_BIFROST_DEVFREQ=y CONFIG_MALI_BIFROST_GATOR_SUPPORT=y @@ -5090,6 +5441,12 @@ CONFIG_ROCKCHIP_MPP_JPGDEC=y CONFIG_ROCKCHIP_MPP_AV1DEC=y # CONFIG_ROCKCHIP_MPP_VDPP is not set # CONFIG_ROCKCHIP_DVBM is not set + +# +# Rockchip video tunnel support +# +# CONFIG_ROCKCHIP_VIDEO_TUNNEL is not set +# end of Rockchip video tunnel support # end of Rockchip Misc Video driver CONFIG_VIDEOMODE_HELPERS=y @@ -5132,7 +5489,9 @@ CONFIG_SND_MAX_CARDS=32 CONFIG_SND_PROC_FS=y CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_VERBOSE_PRINTK is not set +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 @@ -5144,6 +5503,7 @@ CONFIG_SND_DRIVERS=y # CONFIG_SND_VIRMIDI is not set # CONFIG_SND_MTPAV is not set # CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_SERIAL_GENERIC is not set # CONFIG_SND_MPU401 is not set # CONFIG_SND_PCI is not set @@ -5168,7 +5528,9 @@ CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y # 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 @@ -5187,15 +5549,15 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y # 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_IMX_AUDMUX is not set # end of SoC Audio for Freescale CPUs # CONFIG_SND_I2S_HI6210_I2S is not set -# CONFIG_SND_I2S_HI3660_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_DLP is not set +# CONFIG_SND_SOC_ROCKCHIP_DLP_PCM is not set CONFIG_SND_SOC_ROCKCHIP_I2S=y CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=y # CONFIG_SND_SOC_ROCKCHIP_I2S_TDM_MULTI_LANES is not set @@ -5222,13 +5584,14 @@ CONFIG_SND_SOC_ROCKCHIP_HDMI=y # 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_ZX_TDM 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 @@ -5237,6 +5600,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=y # 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 @@ -5244,6 +5608,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=y # CONFIG_SND_SOC_AK5386 is not set # CONFIG_SND_SOC_AK5558 is not set # CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_AW8738 is not set # CONFIG_SND_SOC_BD28623 is not set # CONFIG_SND_SOC_BT_SCO is not set # CONFIG_SND_SOC_CS35L32 is not set @@ -5251,11 +5616,16 @@ CONFIG_SND_SOC_I2C_AND_SPI=y # 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_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 @@ -5287,6 +5657,8 @@ CONFIG_SND_SOC_ES8328_I2C=y CONFIG_SND_SOC_ES8328_SPI=y # CONFIG_SND_SOC_ES8396 is not set # CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_HDA is not set +# CONFIG_SND_SOC_ICS43432 is not set # CONFIG_SND_SOC_INNO_RK3036 is not set # CONFIG_SND_SOC_MAX98088 is not set CONFIG_SND_SOC_MAX98090=y @@ -5294,8 +5666,10 @@ CONFIG_SND_SOC_MAX98090=y # 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_MAX98390 is not set +# CONFIG_SND_SOC_MAX98396 is not set # CONFIG_SND_SOC_MAX9860 is not set # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set @@ -5309,6 +5683,7 @@ CONFIG_SND_SOC_MAX98090=y # 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_RK312X is not set @@ -5321,17 +5696,22 @@ CONFIG_SND_SOC_RK817=y CONFIG_SND_SOC_RK_CODEC_DIGITAL=y # CONFIG_SND_SOC_RK_DSM is not set CONFIG_SND_SOC_RL6231=y +# CONFIG_SND_SOC_ROCKCHIP_SPI_CODEC is not set CONFIG_SND_SOC_RT5616=y # CONFIG_SND_SOC_RT5631 is not set CONFIG_SND_SOC_RT5640=y CONFIG_SND_SOC_RT5645=y CONFIG_SND_SOC_RT5651=y +# CONFIG_SND_SOC_RT5659 is not set +# CONFIG_SND_SOC_RT9120 is not set # CONFIG_SND_SOC_RV1106 is not set # CONFIG_SND_SOC_SGTL5000 is not set # CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set -# CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set +# CONFIG_SND_SOC_SIMPLE_MUX 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_SSM4567 is not set @@ -5342,19 +5722,24 @@ CONFIG_SND_SOC_SPDIF=y # 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_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_TDA7803 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 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 @@ -5366,7 +5751,8 @@ CONFIG_SND_SOC_TS3A227E=y # 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 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 @@ -5378,22 +5764,28 @@ CONFIG_SND_SOC_TS3A227E=y # 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_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_ZX_AUD96P22 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 # CONFIG_SND_SOC_AW87XXX is not set # CONFIG_SND_SOC_AW883XX is not set # end of CODEC drivers @@ -5401,6 +5793,8 @@ CONFIG_SND_SOC_TS3A227E=y CONFIG_SND_SIMPLE_CARD_UTILS=y CONFIG_SND_SIMPLE_CARD=y # CONFIG_SND_AUDIO_GRAPH_CARD is not set +# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set +# CONFIG_SND_TEST_COMPONENT is not set # # HID support @@ -5440,6 +5834,7 @@ CONFIG_HID_GENERIC=y # CONFIG_HID_ELECOM is not set # CONFIG_HID_ELO is not set # CONFIG_HID_EZKEY is not set +# CONFIG_HID_FT260 is not set # CONFIG_HID_GEMBIRD is not set # CONFIG_HID_GFRM is not set # CONFIG_HID_GLORIOUS is not set @@ -5451,6 +5846,8 @@ CONFIG_HID_GENERIC=y # CONFIG_HID_UCLOGIC is not set # CONFIG_HID_WALTOP is not set # CONFIG_HID_VIEWSONIC is not set +# CONFIG_HID_VRC2 is not set +# CONFIG_HID_XIAOMI is not set # CONFIG_HID_GYRATION is not set # CONFIG_HID_ICADE is not set # CONFIG_HID_ITE is not set @@ -5460,10 +5857,12 @@ CONFIG_HID_KENSINGTON=y # CONFIG_HID_LCPOWER is not set # CONFIG_HID_LED is not set # CONFIG_HID_LENOVO is not set +# CONFIG_HID_LETSKETCH is not set # CONFIG_HID_LOGITECH is not set # CONFIG_HID_MAGICMOUSE is not set # 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 is not set # CONFIG_HID_MONTEREY is not set @@ -5477,12 +5876,15 @@ CONFIG_HID_MULTITOUCH=y # CONFIG_HID_PETALYNX is not set # CONFIG_HID_PICOLCD is not set # CONFIG_HID_PLANTRONICS is not set -# CONFIG_HID_PLAYSTATION is not set +# CONFIG_HID_PXRC is not set +# CONFIG_HID_RAZER is not set # CONFIG_HID_PRIMAX is not set # CONFIG_HID_RETRODE is not set # CONFIG_HID_ROCCAT is not set # CONFIG_HID_SAITEK is not set # CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SEMITEK is not set +# CONFIG_HID_SIGMAMICRO is not set # CONFIG_HID_SONY is not set # CONFIG_HID_SPEEDLINK is not set # CONFIG_HID_STEAM is not set @@ -5493,6 +5895,7 @@ CONFIG_HID_MULTITOUCH=y # CONFIG_HID_SMARTJOYPLUS is not set # CONFIG_HID_TIVO is not set # CONFIG_HID_TOPSEED is not set +# CONFIG_HID_TOPRE is not set # CONFIG_HID_THINGM is not set # CONFIG_HID_THRUSTMASTER is not set # CONFIG_HID_UDRAW_PS3 is not set @@ -5518,7 +5921,9 @@ CONFIG_USB_HIDDEV=y # # I2C HID support # -# CONFIG_I2C_HID is not set +# CONFIG_I2C_HID_OF is not set +# CONFIG_I2C_HID_OF_ELAN is not set +# CONFIG_I2C_HID_OF_GOODIX is not set # end of I2C HID support # end of HID support @@ -5620,7 +6025,7 @@ CONFIG_USBIP_VHCI_NR_HCS=1 CONFIG_USBIP_HOST=m CONFIG_USBIP_VUDC=m CONFIG_USBIP_DEBUG=y -# CONFIG_USB_CDNS3 is not set +# 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 @@ -5694,7 +6099,6 @@ CONFIG_USB_SERIAL_SIERRAWIRELESS=m CONFIG_USB_SERIAL_SYMBOL=m CONFIG_USB_SERIAL_TI=m CONFIG_USB_SERIAL_CYBERJACK=m -# CONFIG_USB_SERIAL_XIRCOM is not set CONFIG_USB_SERIAL_WWAN=m CONFIG_USB_SERIAL_OPTION=m CONFIG_USB_SERIAL_OMNINET=m @@ -5704,6 +6108,7 @@ CONFIG_USB_SERIAL_WISHBONE=m CONFIG_USB_SERIAL_SSU100=m CONFIG_USB_SERIAL_QT2=m CONFIG_USB_SERIAL_UPD78F0730=m +# CONFIG_USB_SERIAL_XR is not set # CONFIG_USB_SERIAL_DEBUG is not set # @@ -5735,6 +6140,7 @@ CONFIG_USB_EZUSB_FX2=y # 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 CONFIG_USB_ATM=m # CONFIG_USB_SPEEDTOUCH is not set # CONFIG_USB_CXACRU is not set @@ -5772,10 +6178,6 @@ CONFIG_USB_SNP_CORE=m CONFIG_USB_SNP_UDC_PLAT=m CONFIG_USB_M66592=m CONFIG_USB_BDC_UDC=m - -# -# Platform Support -# CONFIG_USB_AMD5536UDC=m CONFIG_USB_NET2272=m CONFIG_USB_NET2272_DMA=y @@ -5823,8 +6225,6 @@ CONFIG_USB_CONFIGFS_EEM=y 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_ACC is not set -# CONFIG_USB_CONFIGFS_F_AUDIO_SRC is not set CONFIG_USB_CONFIGFS_F_UAC1=y CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y CONFIG_USB_CONFIGFS_F_UAC2=y @@ -5877,13 +6277,17 @@ CONFIG_TYPEC_HUSB311=y # CONFIG_TYPEC_TCPCI_MAXIM is not set CONFIG_TYPEC_FUSB302=y # CONFIG_TYPEC_UCSI is not set -# CONFIG_TYPEC_HD3SS3220 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_PI3USB30532 is not set # end of USB Type-C Multiplexer/DeMultiplexer Switch support @@ -5913,7 +6317,6 @@ CONFIG_MMC_SDHCI=y # CONFIG_MMC_SDHCI_PCI is not set CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MMC_SDHCI_OF_ARASAN=y -# CONFIG_MMC_SDHCI_OF_ASPEED is not set # CONFIG_MMC_SDHCI_OF_AT91 is not set CONFIG_MMC_SDHCI_OF_DWCMSHC=y # CONFIG_MMC_SDHCI_CADENCE is not set @@ -5941,6 +6344,7 @@ CONFIG_MMC_HSQ=y # CONFIG_MMC_SDHCI_XENON is not set # CONFIG_MMC_SDHCI_OMAP is not set # CONFIG_MMC_SDHCI_AM654 is not set +# CONFIG_SCSI_UFSHCD is not set # CONFIG_MEMSTICK is not set CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y @@ -5991,6 +6395,14 @@ CONFIG_LEDS_IS31FL32XX=y # CONFIG_LEDS_SPI_BYTE is not set # CONFIG_LEDS_TI_LMU_COMMON is not set +# +# Flash and Torch LED drivers +# + +# +# RGB LED drivers +# + # # LED Triggers # @@ -6015,6 +6427,11 @@ CONFIG_LEDS_TRIGGER_PANIC=y CONFIG_LEDS_TRIGGER_NETDEV=y CONFIG_LEDS_TRIGGER_PATTERN=m CONFIG_LEDS_TRIGGER_AUDIO=m +# CONFIG_LEDS_TRIGGER_TTY is not set + +# +# Simple LED drivers +# # CONFIG_ACCESSIBILITY is not set # CONFIG_INFINIBAND is not set CONFIG_EDAC_SUPPORT=y @@ -6047,6 +6464,7 @@ CONFIG_RTC_INTF_DEV=y # CONFIG_RTC_DRV_DS1672 is not set CONFIG_RTC_DRV_HYM8563=y # CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_NCT3018Y is not set CONFIG_RTC_DRV_RK808=y # CONFIG_RTC_DRV_ROCKCHIP is not set # CONFIG_RTC_DRV_RS5C372 is not set @@ -6086,7 +6504,6 @@ CONFIG_RTC_DRV_RK808=y # CONFIG_RTC_DRV_MAX6916 is not set # CONFIG_RTC_DRV_R9701 is not set # CONFIG_RTC_DRV_RX4581 is not set -# CONFIG_RTC_DRV_RX6110 is not set # CONFIG_RTC_DRV_RS5C348 is not set # CONFIG_RTC_DRV_MAX6902 is not set # CONFIG_RTC_DRV_PCF2123 is not set @@ -6099,6 +6516,7 @@ CONFIG_RTC_I2C_AND_SPI=y # 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 @@ -6118,6 +6536,7 @@ CONFIG_RTC_I2C_AND_SPI=y # CONFIG_RTC_DRV_BQ4802 is not set # CONFIG_RTC_DRV_RP5C01 is not set # CONFIG_RTC_DRV_V3020 is not set +# CONFIG_RTC_DRV_OPTEE is not set # CONFIG_RTC_DRV_ZYNQMP is not set # @@ -6132,6 +6551,7 @@ CONFIG_RTC_I2C_AND_SPI=y # # HID Sensor RTC drivers # +# CONFIG_RTC_DRV_GOLDFISH is not set CONFIG_DMADEVICES=y # CONFIG_DMADEVICES_DEBUG is not set @@ -6146,7 +6566,6 @@ CONFIG_DMA_OF=y # CONFIG_DW_AXI_DMAC is not set # CONFIG_FSL_EDMA is not set # CONFIG_FSL_QDMA is not set -# CONFIG_HISI_DMA is not set # CONFIG_INTEL_IDMA64 is not set # CONFIG_MV_XOR_V2 is not set CONFIG_PL330_DMA=y @@ -6179,11 +6598,11 @@ CONFIG_SW_SYNC=y CONFIG_SW_SYNC_DEBUG=y # CONFIG_UDMABUF is not set # 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=y -# CONFIG_DMABUF_HEAPS_DEFERRED_FREE is not set -# CONFIG_DMABUF_HEAPS_PAGE_POOL is not set +# CONFIG_DMABUF_HEAPS_SYSTEM is not set CONFIG_DMABUF_HEAPS_CMA=y # CONFIG_DMABUF_HEAPS_SRAM is not set # CONFIG_DMABUF_HEAPS_ROCKCHIP is not set @@ -6196,7 +6615,6 @@ CONFIG_DMABUF_HEAPS_CMA=y CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_PCI is not set # CONFIG_VIRTIO_MMIO is not set -# CONFIG_VIRTIO_DMA_SHARED_BUFFER is not set # CONFIG_VDPA is not set CONFIG_VHOST_MENU=y # CONFIG_VHOST_NET is not set @@ -6209,9 +6627,9 @@ CONFIG_VHOST_MENU=y # 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_COMEDI is not set # CONFIG_RTL8192U is not set # CONFIG_RTLLIB is not set # CONFIG_RTL8723BS is not set @@ -6236,7 +6654,6 @@ CONFIG_STAGING=y # Analog to digital converters # # CONFIG_AD7816 is not set -# CONFIG_AD7280 is not set # end of Analog to digital converters # @@ -6245,13 +6662,6 @@ CONFIG_STAGING=y # CONFIG_ADT7316 is not set # end of Analog digital bi-direction converters -# -# Capacitance to digital converters -# -# CONFIG_AD7150 is not set -# CONFIG_AD7746 is not set -# end of Capacitance to digital converters - # # Direct Digital Synthesis # @@ -6280,17 +6690,8 @@ CONFIG_STAGING=y # CONFIG_FB_SM750 is not set # CONFIG_STAGING_MEDIA is not set - -# -# Android -# -# end of Android - # CONFIG_STAGING_BOARD is not set # CONFIG_LTE_GDM724X is not set -# CONFIG_GS_FPGABOOT is not set -# CONFIG_UNISYSSPAR is not set -# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set CONFIG_FB_TFT=y CONFIG_FB_TFT_AGM1264K_FL=m CONFIG_FB_TFT_BD663474=m @@ -6323,27 +6724,17 @@ CONFIG_FB_TFT_TLS8204=m CONFIG_FB_TFT_UC1611=m CONFIG_FB_TFT_UC1701=m CONFIG_FB_TFT_UPD161704=m -# CONFIG_FB_TFT_WATTEROTT is not set # CONFIG_KS7010 is not set # CONFIG_PI433 is not set - -# -# Gasket devices -# -# CONFIG_STAGING_GASKET_FRAMEWORK is not set -# end of Gasket devices - # CONFIG_XIL_AXIS_FIFO is not set # CONFIG_FIELDBUS_DEV is not set # CONFIG_QLGE is not set -# CONFIG_WFX is not set -# CONFIG_SPMI_HISI3670 is not set -# CONFIG_MFD_HI6421_SPMI is not set +# CONFIG_VME_BUS is not set # CONFIG_GOLDFISH is not set # CONFIG_CHROME_PLATFORMS is not set # CONFIG_MELLANOX_PLATFORM is not set +CONFIG_SURFACE_PLATFORMS=y CONFIG_HAVE_CLK=y -CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y # CONFIG_COMMON_CLK_PROCFS is not set @@ -6351,10 +6742,11 @@ CONFIG_COMMON_CLK=y # # Clock driver for ARM Reference designs # -# CONFIG_ICST is not set +# 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 @@ -6366,10 +6758,12 @@ CONFIG_COMMON_CLK_SCMI=y # CONFIG_COMMON_CLK_CDCE706 is not set # CONFIG_COMMON_CLK_CDCE925 is not set # CONFIG_COMMON_CLK_CS2000_CP is not set -# CONFIG_CLK_QORIQ is not set +# CONFIG_COMMON_CLK_AXI_CLKGEN is not set # CONFIG_COMMON_CLK_XGENE is not set CONFIG_COMMON_CLK_PWM=y +# CONFIG_COMMON_CLK_RS9_PCIE is not set # CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_VC7 is not set # CONFIG_COMMON_CLK_FIXED_MMIO is not set CONFIG_COMMON_CLK_ROCKCHIP=y CONFIG_CLK_PX30=y @@ -6390,6 +6784,8 @@ CONFIG_ROCKCHIP_DDRCLK_SIP_V2=y # CONFIG_ROCKCHIP_PLL_RK3066 is not set CONFIG_ROCKCHIP_PLL_RK3399=y CONFIG_ROCKCHIP_PLL_RK3588=y +# CONFIG_XILINX_VCU is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set # CONFIG_HWSPINLOCK is not set # @@ -6399,19 +6795,18 @@ CONFIG_TIMER_OF=y CONFIG_TIMER_PROBE=y CONFIG_CLKSRC_MMIO=y CONFIG_ROCKCHIP_TIMER=y -# CONFIG_SUN4I_TIMER is not set CONFIG_ARM_ARCH_TIMER=y CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y CONFIG_FSL_ERRATUM_A008585=y CONFIG_HISILICON_ERRATUM_161010101=y CONFIG_ARM64_ERRATUM_858921=y -# CONFIG_MTK_TIMER is not set # CONFIG_MICROCHIP_PIT64B is not set # end of Clock Source drivers CONFIG_MAILBOX=y # CONFIG_ARM_MHU is not set +# CONFIG_ARM_MHU_V2 is not set # CONFIG_PLATFORM_MHU is not set # CONFIG_PL320_MBOX is not set # CONFIG_ROCKCHIP_MBOX is not set @@ -6419,7 +6814,6 @@ CONFIG_MAILBOX=y # CONFIG_MAILBOX_TEST is not set CONFIG_IOMMU_IOVA=y CONFIG_IOMMU_API=y -# CONFIG_IOMMU_LIMIT_IOVA_ALIGNMENT is not set CONFIG_IOMMU_SUPPORT=y # @@ -6429,9 +6823,12 @@ 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 @@ -6450,6 +6847,7 @@ CONFIG_ARM_SMMU_V3=y # Rpmsg drivers # # CONFIG_RPMSG_QCOM_GLINK_RPM is not set +# CONFIG_RPMSG_ROCKCHIP_SOFTIRQ is not set # CONFIG_RPMSG_VIRTIO is not set # end of Rpmsg drivers @@ -6464,11 +6862,6 @@ CONFIG_ARM_SMMU_V3=y # # end of Amlogic SoC drivers -# -# Aspeed SoC drivers -# -# end of Aspeed SoC drivers - # # Broadcom SoC drivers # @@ -6482,11 +6875,22 @@ CONFIG_ARM_SMMU_V3=y # 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 + # # Qualcomm SoC drivers # @@ -6513,8 +6917,10 @@ CONFIG_CPU_RK3588=y # end of Rockchip CPU selection CONFIG_NO_GKI=y +# CONFIG_ROCKCHIP_DISABLE_UNUSED is not set # CONFIG_ROCKCHIP_AMP is not set # CONFIG_ROCKCHIP_ARM64_ALIGN_FAULT_FIX is not set +# CONFIG_ROCKCHIP_CSU is not set CONFIG_ROCKCHIP_GRF=y # CONFIG_ROCKCHIP_HW_DECOMPRESS is not set # CONFIG_ROCKCHIP_HW_DECOMPRESS_USER is not set @@ -6525,8 +6931,10 @@ CONFIG_ROCKCHIP_OPP=y # CONFIG_ROCKCHIP_OPTIMIZE_RT_PRIO is not set # CONFIG_ROCKCHIP_PERFORMANCE is not set CONFIG_ROCKCHIP_PM_DOMAINS=y +CONFIG_ROCKCHIP_REGULATOR_COUPLER=y CONFIG_ROCKCHIP_PVTM=y # CONFIG_ROCKCHIP_RAMDISK is not set +# CONFIG_ROCKCHIP_LITE_ULTRA_SUSPEND is not set CONFIG_ROCKCHIP_SUSPEND_MODE=y CONFIG_ROCKCHIP_SYSTEM_MONITOR=y CONFIG_ROCKCHIP_VENDOR_STORAGE=y @@ -6569,7 +6977,6 @@ CONFIG_RK_DMABUF_PROCFS=y # # Xilinx SoC drivers # -# CONFIG_XILINX_VCU is not set # end of Xilinx SoC drivers # end of SOC (System On Chip) specific Drivers @@ -6605,6 +7012,7 @@ CONFIG_EXTCON=y # 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_EXTCON_USBC_VIRTUAL_PD is not set # CONFIG_MEMORY is not set CONFIG_IIO=y @@ -6627,19 +7035,28 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # # 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_IIO_ST_ACCEL_3AXIS is not set # CONFIG_KXSD9 is not set # CONFIG_KXCJK1013 is not set @@ -6650,9 +7067,11 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # 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 @@ -6664,6 +7083,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # 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 @@ -6692,6 +7112,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set # CONFIG_MAX1118 is not set +# CONFIG_MAX11205 is not set # CONFIG_MAX1241 is not set # CONFIG_MAX1363 is not set # CONFIG_MAX9611 is not set @@ -6704,6 +7125,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # CONFIG_QCOM_SPMI_ADC5 is not set CONFIG_ROCKCHIP_SARADC=y # CONFIG_ROCKCHIP_SARADC_TEST_CHN is not set +# 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 @@ -6717,11 +7139,19 @@ CONFIG_TI_ADS1015=y # 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_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_AD74413R is not set +# end of Analog to digital and digital to analog converters + # # Analog Front Ends # @@ -6732,9 +7162,17 @@ CONFIG_TI_ADS1015=y # 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 # @@ -6745,8 +7183,12 @@ CONFIG_TI_ADS1015=y # 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_SPS30 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 @@ -6755,6 +7197,12 @@ CONFIG_TI_ADS1015=y # # end of Hid Sensor IIO Common +# +# IIO SCMI Sensors +# +# CONFIG_IIO_SCMI is not set +# end of IIO SCMI Sensors + # # SSP Sensor Common # @@ -6764,6 +7212,7 @@ CONFIG_TI_ADS1015=y # # Digital to analog converters # +# CONFIG_AD3552R is not set # CONFIG_AD5064 is not set # CONFIG_AD5360 is not set # CONFIG_AD5380 is not set @@ -6774,14 +7223,17 @@ CONFIG_TI_ADS1015=y # 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 @@ -6805,6 +7257,12 @@ CONFIG_TI_ADS1015=y # # end of IIO dummy driver +# +# Filters +# +# CONFIG_ADMV8818 is not set +# end of Filters + # # Frequency Synthesizers DDS/PLL # @@ -6820,6 +7278,10 @@ CONFIG_TI_ADS1015=y # # CONFIG_ADF4350 is not set # CONFIG_ADF4371 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 @@ -6875,6 +7337,8 @@ CONFIG_TI_ADS1015=y # CONFIG_ADIS16480 is not set # CONFIG_BMI160_I2C is not set # CONFIG_BMI160_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 @@ -6884,6 +7348,7 @@ CONFIG_TI_ADS1015=y # CONFIG_INV_MPU6050_SPI is not set # CONFIG_IIO_ST_LSM6DSR is not set # CONFIG_IIO_ST_LSM6DSX is not set +# CONFIG_IIO_ST_LSM9DS0 is not set # end of Inertial measurement units # @@ -6911,6 +7376,7 @@ CONFIG_SENSORS_ISL29018=y # CONFIG_JSA1212 is not set # CONFIG_RPR0521 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 @@ -6925,6 +7391,7 @@ CONFIG_SENSORS_ISL29018=y # 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_UCS12CM0 is not set @@ -6952,6 +7419,7 @@ CONFIG_TSL2583=y # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_RM3100_I2C is not set # CONFIG_SENSORS_RM3100_SPI is not set +# CONFIG_YAMAHA_YAS530 is not set # end of Magnetometer sensors # @@ -6980,6 +7448,7 @@ CONFIG_IIO_SYSFS_TRIGGER=y # # Digital potentiometers # +# CONFIG_AD5110 is not set # CONFIG_AD5272 is not set # CONFIG_DS1803 is not set # CONFIG_MAX5432 is not set @@ -7034,6 +7503,8 @@ CONFIG_IIO_SYSFS_TRIGGER=y # 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 @@ -7056,21 +7527,26 @@ CONFIG_IIO_SYSFS_TRIGGER=y # CONFIG_MLX90632 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_MAX31856 is not set +# CONFIG_MAX31865 is not set # end of Temperature sensors # CONFIG_NTB is not set -# CONFIG_VME_BUS 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_GPIO is not set # CONFIG_PWM_PCA9685 is not set CONFIG_PWM_ROCKCHIP=y # CONFIG_PWM_ROCKCHIP_ONESHOT is not set +# CONFIG_PWM_XILINX is not set # # IRQ chip support @@ -7083,6 +7559,7 @@ 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 @@ -7090,7 +7567,9 @@ CONFIG_PARTITION_PERCPU=y 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 @@ -7098,15 +7577,22 @@ CONFIG_RESET_SCMI=y CONFIG_GENERIC_PHY=y CONFIG_GENERIC_PHY_MIPI_DPHY=y # CONFIG_PHY_XGENE is not set +# 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_FSL_IMX8MQ_USB is not set -# CONFIG_PHY_MIXEL_MIPI_DPHY 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 @@ -7120,6 +7606,7 @@ CONFIG_PHY_ROCKCHIP_EMMC=y CONFIG_PHY_ROCKCHIP_INNO_HDMI=y CONFIG_PHY_ROCKCHIP_INNO_USB2=y CONFIG_PHY_ROCKCHIP_INNO_USB3=y +# CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY is not set CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=y CONFIG_PHY_ROCKCHIP_MIPI_RX=y CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=y @@ -7149,6 +7636,8 @@ CONFIG_PHY_ROCKCHIP_USBDP=y CONFIG_ARM_PMU=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 # end of Performance monitor support # CONFIG_RAS is not set @@ -7157,36 +7646,32 @@ CONFIG_ARM_PMU=y # # Android # -# CONFIG_ANDROID is not set +# 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_SPMI_SDAM is not set -# CONFIG_ROCKCHIP_EFUSE is not set -# CONFIG_ROCKCHIP_OTP is not set +# CONFIG_NVMEM_RMEM is not set +# CONFIG_NVMEM_ROCKCHIP_EFUSE is not set +# CONFIG_NVMEM_ROCKCHIP_OTP is not set # CONFIG_NVMEM_ROCKCHIP_SEC_OTP is not set +# CONFIG_NVMEM_SPMI_SDAM 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=y - -# -# TEE drivers -# CONFIG_OPTEE=y -CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1 -# end of TEE drivers - CONFIG_MULTIPLEXER=m # @@ -7204,6 +7689,8 @@ CONFIG_PM_OPP=y # 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_RK_FLASH is not set # CONFIG_RK_NAND is not set @@ -7282,12 +7769,12 @@ CONFIG_F2FS_FS_SECURITY=y # CONFIG_F2FS_CHECK_FS is not set # CONFIG_F2FS_FAULT_INJECTION is not set # CONFIG_F2FS_FS_COMPRESSION is not set -# CONFIG_FS_DAX is not set +CONFIG_F2FS_IOSTAT=y +# CONFIG_F2FS_UNFAIR_RWSEM is not set CONFIG_FS_POSIX_ACL=y CONFIG_EXPORTFS=y # CONFIG_EXPORTFS_BLOCK_OPS is not set CONFIG_FILE_LOCKING=y -CONFIG_MANDATORY_FILE_LOCKING=y # CONFIG_FS_ENCRYPTION is not set # CONFIG_FS_VERITY is not set CONFIG_FSNOTIFY=y @@ -7314,7 +7801,6 @@ 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_INCREMENTAL_FS is not set # # Caches @@ -7343,6 +7829,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="utf8" 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 # @@ -7359,6 +7846,7 @@ CONFIG_TMPFS=y CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y # CONFIG_TMPFS_INODE64 is not set +CONFIG_ARCH_SUPPORTS_HUGETLBFS=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y CONFIG_MEMFD_CREATE=y @@ -7420,6 +7908,7 @@ CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 # CONFIG_QNX6FS_FS is not set # CONFIG_ROMFS_FS is not set CONFIG_PSTORE=y +CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240 CONFIG_PSTORE_DEFLATE_COMPRESS=y # CONFIG_PSTORE_LZO_COMPRESS is not set # CONFIG_PSTORE_LZ4_COMPRESS is not set @@ -7433,6 +7922,7 @@ CONFIG_PSTORE_CONSOLE=y # CONFIG_PSTORE_PMSG is not set # CONFIG_PSTORE_FTRACE is not set CONFIG_PSTORE_RAM=y +# CONFIG_PSTORE_BLK is not set # CONFIG_PSTORE_BOOT_LOG is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set @@ -7441,7 +7931,6 @@ CONFIG_NETWORK_FILESYSTEMS=y # CONFIG_NFS_FS is not set CONFIG_NFSD=m CONFIG_NFSD_V2_ACL=y -CONFIG_NFSD_V3=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y # CONFIG_NFSD_BLOCKLAYOUT is not set @@ -7460,6 +7949,7 @@ CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_SUNRPC_DEBUG 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 @@ -7526,7 +8016,10 @@ CONFIG_KEYS=y # CONFIG_KEYS_REQUEST_CACHE is not set # CONFIG_PERSISTENT_KEYRINGS is not set CONFIG_TRUSTED_KEYS=m +CONFIG_TRUSTED_KEYS_TPM=y +CONFIG_TRUSTED_KEYS_TEE=y CONFIG_ENCRYPTED_KEYS=m +# CONFIG_USER_DECRYPTED_DATA is not set # CONFIG_KEY_DH_OPERATIONS is not set # CONFIG_SECURITY_DMESG_RESTRICT is not set CONFIG_SECURITY=y @@ -7550,17 +8043,22 @@ CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set CONFIG_SECURITY_APPARMOR=y +# CONFIG_SECURITY_APPARMOR_DEBUG is not set +CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY=y CONFIG_SECURITY_APPARMOR_HASH=y CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y -# CONFIG_SECURITY_APPARMOR_DEBUG is not set +CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y +CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y # 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_INTEGRITY_AUDIT=y # CONFIG_IMA is not set +# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set # CONFIG_EVM is not set # CONFIG_DEFAULT_SECURITY_SELINUX is not set # CONFIG_DEFAULT_SECURITY_APPARMOR is not set @@ -7578,15 +8076,18 @@ 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_GCC_PLUGIN_STRUCTLEAK_USER is not set -# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set -# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is not set # CONFIG_INIT_STACK_ALL_PATTERN is not set # CONFIG_INIT_STACK_ALL_ZERO is not set # CONFIG_GCC_PLUGIN_STACKLEAK is not set # CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set # CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y +# CONFIG_ZERO_CALL_USED_REGS is not set # end of Memory initialization + +CONFIG_RANDSTRUCT_NONE=y +# CONFIG_RANDSTRUCT_FULL is not set +# CONFIG_RANDSTRUCT_PERFORMANCE is not set # end of Kernel hardening options # end of Security options @@ -7601,7 +8102,6 @@ CONFIG_CRYPTO=y # # Crypto core or helper # -CONFIG_CRYPTO_FIPS140=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI2=y CONFIG_CRYPTO_AEAD=y @@ -7629,6 +8129,8 @@ CONFIG_CRYPTO_NULL2=y # CONFIG_CRYPTO_CRYPTD is not set CONFIG_CRYPTO_AUTHENC=m # CONFIG_CRYPTO_TEST is not set +CONFIG_CRYPTO_ENGINE=y +# end of Crypto core or helper # # Public-key cryptography @@ -7637,93 +8139,99 @@ 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 # -# Authenticated Encryption with Associated Data +# Block ciphers # -CONFIG_CRYPTO_CCM=y -CONFIG_CRYPTO_GCM=y -# CONFIG_CRYPTO_CHACHA20POLY1305 is not set -# CONFIG_CRYPTO_AEGIS128 is not set -CONFIG_CRYPTO_SEQIV=m -CONFIG_CRYPTO_ECHAINIV=m +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=y +# 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 # -# Block modes +# Length-preserving ciphers and modes # +# CONFIG_CRYPTO_ADIANTUM is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_CHACHA20 is not set CONFIG_CRYPTO_CBC=y CONFIG_CRYPTO_CFB=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_OFB=y # CONFIG_CRYPTO_PCBC is not set CONFIG_CRYPTO_XTS=y -# CONFIG_CRYPTO_KEYWRAP is not set -# CONFIG_CRYPTO_ADIANTUM is not set -CONFIG_CRYPTO_ESSIV=m +# end of Length-preserving ciphers and modes # -# Hash modes +# AEAD (authenticated encryption with associated data) ciphers # -CONFIG_CRYPTO_CMAC=y -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_VMAC is not set +# CONFIG_CRYPTO_AEGIS128 is not set +# CONFIG_CRYPTO_CHACHA20POLY1305 is not set +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_ESSIV=m +# end of AEAD (authenticated encryption with associated data) ciphers # -# Digest +# Hashes, digests, and MACs # -CONFIG_CRYPTO_CRC32C=y -CONFIG_CRYPTO_CRC32=y -CONFIG_CRYPTO_XXHASH=y CONFIG_CRYPTO_BLAKE2B=y -# CONFIG_CRYPTO_BLAKE2S is not set -CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_CMAC=y CONFIG_CRYPTO_GHASH=y -# CONFIG_CRYPTO_POLY1305 is not set +CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=y CONFIG_CRYPTO_MICHAEL_MIC=m -# CONFIG_CRYPTO_RMD128 is not set +# CONFIG_CRYPTO_POLY1305 is not set # CONFIG_CRYPTO_RMD160 is not set -# CONFIG_CRYPTO_RMD256 is not set -# CONFIG_CRYPTO_RMD320 is not set CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y # CONFIG_CRYPTO_SHA3 is not set CONFIG_CRYPTO_SM3=y +# CONFIG_CRYPTO_SM3_GENERIC is not set # CONFIG_CRYPTO_STREEBOG is not set -# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_VMAC is not set # CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_XCBC is not set +CONFIG_CRYPTO_XXHASH=y +# end of Hashes, digests, and MACs # -# Ciphers +# CRCs (cyclic redundancy checks) # -CONFIG_CRYPTO_AES=y -# CONFIG_CRYPTO_AES_TI is not set -# CONFIG_CRYPTO_ANUBIS is not set -# CONFIG_CRYPTO_ARC4 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_SALSA20 is not set -# CONFIG_CRYPTO_CHACHA20 is not set -# CONFIG_CRYPTO_SEED is not set -# CONFIG_CRYPTO_SERPENT is not set -CONFIG_CRYPTO_SM4=y -# CONFIG_CRYPTO_TEA is not set -CONFIG_CRYPTO_TWOFISH=y -CONFIG_CRYPTO_TWOFISH_COMMON=y +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 @@ -7734,9 +8242,10 @@ CONFIG_CRYPTO_LZO=y # CONFIG_CRYPTO_LZ4 is not set # CONFIG_CRYPTO_LZ4HC is not set CONFIG_CRYPTO_ZSTD=m +# end of Compression # -# Random Number Generation +# Random number generation # CONFIG_CRYPTO_ANSI_CPRNG=y CONFIG_CRYPTO_DRBG_MENU=y @@ -7745,17 +8254,60 @@ CONFIG_CRYPTO_DRBG_HMAC=y # CONFIG_CRYPTO_DRBG_CTR is not set CONFIG_CRYPTO_DRBG=y CONFIG_CRYPTO_JITTERENTROPY=y +# 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 is not set # CONFIG_CRYPTO_USER_API_AEAD is not set CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y +# end of Userspace interface + CONFIG_CRYPTO_HASH_INFO=y +# CONFIG_CRYPTO_NHPOLY1305_NEON is not set +CONFIG_CRYPTO_CHACHA20_NEON=m + +# +# Accelerated Cryptographic Algorithms for CPU (arm64) +# +CONFIG_CRYPTO_GHASH_ARM64_CE=y +CONFIG_CRYPTO_POLY1305_NEON=m +CONFIG_CRYPTO_SHA1_ARM64_CE=y +CONFIG_CRYPTO_SHA256_ARM64=y +CONFIG_CRYPTO_SHA2_ARM64_CE=y +# CONFIG_CRYPTO_SHA512_ARM64 is not set +# CONFIG_CRYPTO_SHA512_ARM64_CE is not set +# 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 is not set +CONFIG_CRYPTO_AES_ARM64_CE=y +CONFIG_CRYPTO_AES_ARM64_CE_BLK=y +# CONFIG_CRYPTO_AES_ARM64_NEON_BLK is not set +# CONFIG_CRYPTO_AES_ARM64_BS is not set +# 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_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_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_DH895xCCVF is not set +# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set +# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set # CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set # CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set CONFIG_CRYPTO_DEV_ROCKCHIP=y @@ -7769,12 +8321,12 @@ CONFIG_CRYPTO_DEV_ROCKCHIP_DEV=y # CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y -# CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE is not set 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 @@ -7808,10 +8360,12 @@ CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_ARCH_HAS_FAST_MULTIPLIER=y CONFIG_ARCH_USE_SYM_ANNOTATIONS=y # CONFIG_INDIRECT_PIO is not set +# CONFIG_TRACE_MMIO_ACCESS is not set # # Crypto library routines # +CONFIG_CRYPTO_LIB_UTILS=y CONFIG_CRYPTO_LIB_AES=y CONFIG_CRYPTO_LIB_ARC4=y CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y @@ -7825,13 +8379,14 @@ CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9 CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m CONFIG_CRYPTO_LIB_POLY1305=m CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m +CONFIG_CRYPTO_LIB_SHA1=y CONFIG_CRYPTO_LIB_SHA256=y # end of Crypto library routines -CONFIG_LIB_MEMNEQ=y 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 @@ -7854,6 +8409,7 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_LZO_COMPRESS=y CONFIG_LZO_DECOMPRESS=y CONFIG_LZ4_DECOMPRESS=y +CONFIG_ZSTD_COMMON=y CONFIG_ZSTD_COMPRESS=y CONFIG_ZSTD_DECOMPRESS=y CONFIG_XZ_DEC=y @@ -7863,6 +8419,7 @@ CONFIG_XZ_DEC=y 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 @@ -7881,6 +8438,7 @@ CONFIG_TEXTSEARCH_KMP=m CONFIG_TEXTSEARCH_BM=m CONFIG_TEXTSEARCH_FSM=m CONFIG_INTERVAL_TREE=y +CONFIG_XARRAY_MULTI=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT_MAP=y @@ -7896,9 +8454,9 @@ 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_DMA_RESTRICTED_POOL is not set CONFIG_DMA_NONCOHERENT_MMAP=y CONFIG_DMA_COHERENT_POOL=y -CONFIG_DMA_REMAP=y CONFIG_DMA_DIRECT_REMAP=y CONFIG_DMA_CMA=y # CONFIG_DMA_PERNUMA_CMA is not set @@ -7913,7 +8471,9 @@ CONFIG_CMA_SIZE_SEL_MBYTES=y # CONFIG_CMA_SIZE_SEL_MAX is not set CONFIG_CMA_ALIGNMENT=8 # 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 @@ -7934,10 +8494,14 @@ CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y CONFIG_SG_POOL=y CONFIG_ARCH_STACKWALK=y +CONFIG_STACKDEPOT=y CONFIG_SBITMAP=y -# CONFIG_STRING_SELFTEST is not set # end of Library routines +CONFIG_GENERIC_IOREMAP=y +CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y +CONFIG_ASN1_ENCODER=m + # # Kernel hacking # @@ -7948,6 +8512,7 @@ CONFIG_SBITMAP=y CONFIG_PRINTK_TIME=y CONFIG_PRINTK_TIME_FROM_ARM_ARCH_TIMER=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=4 @@ -7958,20 +8523,27 @@ CONFIG_SYMBOLIC_ERRNAME=y CONFIG_DEBUG_BUGVERBOSE=y # end of printk and dmesg options +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y + # # Compile-time checks and compiler options # -# CONFIG_DEBUG_INFO is not set -CONFIG_ENABLE_MUST_CHECK=y +CONFIG_AS_HAS_NON_CONST_LEB128=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_32B is not set +# 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 @@ -7990,19 +8562,28 @@ 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 -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_MISC=y +# +# 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=y +# CONFIG_SLUB_DEBUG_ON is not set # CONFIG_PAGE_OWNER is not set -# CONFIG_PAGE_PINNER is not set +# CONFIG_PAGE_TABLE_CHECK is not set # CONFIG_PAGE_POISONING is not set # CONFIG_DEBUG_PAGE_REF is not set # CONFIG_DEBUG_RODATA_TEST is not set @@ -8011,8 +8592,7 @@ CONFIG_ARCH_HAS_DEBUG_WX=y CONFIG_GENERIC_PTDUMP=y # CONFIG_PTDUMP_DEBUGFS is not set # CONFIG_DEBUG_OBJECTS is not set -# CONFIG_SLUB_DEBUG_ON is not set -# CONFIG_SLUB_STATS is not set +# CONFIG_SHRINKER_DEBUG is not set CONFIG_HAVE_DEBUG_KMEMLEAK=y # CONFIG_DEBUG_KMEMLEAK is not set # CONFIG_DEBUG_STACK_USAGE is not set @@ -8082,10 +8662,10 @@ CONFIG_DEBUG_SPINLOCK=y # 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_WARN_ALL_UNSEEDED_RANDOM is not set # CONFIG_DEBUG_KOBJECT is not set -CONFIG_HAVE_DEBUG_BUGVERBOSE=y # # Debug kernel data structures @@ -8095,6 +8675,7 @@ CONFIG_HAVE_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_NOTIFIERS is not set # CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_DEBUG_MAPLE_TREE is not set # end of Debug kernel data structures CONFIG_DEBUG_CREDENTIALS=y @@ -8108,12 +8689,12 @@ CONFIG_DEBUG_CREDENTIALS=y CONFIG_RCU_CPU_STALL_TIMEOUT=60 # CONFIG_BOOTPARAM_RCU_STALL_PANIC is not set CONFIG_BOOTPARAM_RCU_STALL_PANIC_VALUE=0 +CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 CONFIG_RCU_TRACE=y # CONFIG_RCU_EQS_DEBUG is not set # end of RCU Debugging # CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set -# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set # CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set # CONFIG_LATENCYTOP is not set CONFIG_NOP_TRACER=y @@ -8128,8 +8709,6 @@ CONFIG_TRACE_CLOCK=y CONFIG_RING_BUFFER=y CONFIG_EVENT_TRACING=y CONFIG_CONTEXT_SWITCH_TRACER=y -# CONFIG_TRACE_MMIO_ACCESS is not set -# CONFIG_TRACEFS_DISABLE_AUTOMOUNT is not set CONFIG_TRACING=y CONFIG_GENERIC_TRACER=y CONFIG_TRACING_SUPPORT=y @@ -8144,6 +8723,8 @@ CONFIG_DYNAMIC_FTRACE_WITH_REGS=y # CONFIG_IRQSOFF_TRACER is not set # CONFIG_SCHED_TRACER is not set # CONFIG_HWLAT_TRACER is not set +# CONFIG_OSNOISE_TRACER is not set +# CONFIG_TIMERLAT_TRACER is not set # CONFIG_FTRACE_SYSCALLS is not set # CONFIG_TRACER_SNAPSHOT is not set CONFIG_BRANCH_PROFILE_NONE=y @@ -8162,11 +8743,13 @@ CONFIG_FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY=y # CONFIG_TRACEPOINT_BENCHMARK is not set # CONFIG_RING_BUFFER_BENCHMARK is not set # CONFIG_TRACE_EVAL_MAP_FILE is not set +# CONFIG_FTRACE_RECORD_RECURSION is not set # CONFIG_FTRACE_STARTUP_TEST is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set # CONFIG_PREEMPTIRQ_DELAY_TEST is not set +# CONFIG_RV is not set # CONFIG_SAMPLES is not set -CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y CONFIG_STRICT_DEVMEM=y # CONFIG_IO_STRICT_DEVMEM is not set @@ -8189,10 +8772,10 @@ CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set CONFIG_RUNTIME_TESTING_MENU=y CONFIG_LKDTM=y -# CONFIG_TEST_LIST_SORT is not set # CONFIG_TEST_MIN_HEAP is not set -# CONFIG_TEST_SORT is not set +# CONFIG_TEST_DIV64 is not set # CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_TEST_REF_TRACKER is not set # CONFIG_RBTREE_TEST is not set # CONFIG_REED_SOLOMON_TEST is not set # CONFIG_INTERVAL_TREE_TEST is not set @@ -8200,16 +8783,18 @@ CONFIG_LKDTM=y # CONFIG_ATOMIC64_SELFTEST is not set # CONFIG_ASYNC_RAID6_TEST is not set # CONFIG_TEST_HEXDUMP is not set +# CONFIG_STRING_SELFTEST is not set # CONFIG_TEST_STRING_HELPERS is not set # CONFIG_TEST_STRSCPY is not set # CONFIG_TEST_KSTRTOX is not set # CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_SCANF is not set # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set # CONFIG_TEST_XARRAY is not set -# CONFIG_TEST_OVERFLOW is not set +# CONFIG_TEST_MAPLE_TREE is not set # CONFIG_TEST_RHASHTABLE is not set -# CONFIG_TEST_HASH is not set +# CONFIG_TEST_SIPHASH is not set # CONFIG_TEST_IDA is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_BITOPS is not set @@ -8222,11 +8807,17 @@ CONFIG_LKDTM=y # CONFIG_TEST_SYSCTL is not set # CONFIG_TEST_UDELAY is not set # CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_TEST_DYNAMIC_DEBUG is not set # CONFIG_TEST_KMOD is not set # CONFIG_TEST_MEMCAT_P is not set -# CONFIG_TEST_STACKINIT is not set # CONFIG_TEST_MEMINIT is not set # CONFIG_TEST_FREE_PAGES 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/RK3588/options b/projects/Rockchip/devices/RK3588/options index c5a763aad..3f87b866c 100755 --- a/projects/Rockchip/devices/RK3588/options +++ b/projects/Rockchip/devices/RK3588/options @@ -77,7 +77,7 @@ # additional Firmware to use ( ) # Space separated list is supported, # e.g. FIRMWARE="" - FIRMWARE="libmali_rk3588 RTL8821CS-firmware ap6256-firmware" + FIRMWARE="RTL8821CS-firmware ap6256-firmware" # additional drivers to install: # for a list of additional drivers see packages/linux-drivers diff --git a/projects/Rockchip/patches/linux/RK3588/001-hx8399c-panel.patch b/projects/Rockchip/patches/linux/RK3588/001-hx8399c-panel.patch index 0639222c8..43e0974bd 100644 --- a/projects/Rockchip/patches/linux/RK3588/001-hx8399c-panel.patch +++ b/projects/Rockchip/patches/linux/RK3588/001-hx8399c-panel.patch @@ -58,7 +58,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/lcd-hx8399c_mipi.dtsi linux/a + stbyb-delay-ms = <120>; + prepare-delay-ms = <120>; + unprepare-delay-ms = <120>; -+ rotation = <90>; ++ rotation = <270>; + disable-delay-ms = <120>; + dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | + MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>; diff --git a/projects/Rockchip/patches/linux/RK3588/003-audio-fix.patch b/projects/Rockchip/patches/linux/RK3588/003-audio-fix.patch index becdafc32..b0e5c855f 100644 --- a/projects/Rockchip/patches/linux/RK3588/003-audio-fix.patch +++ b/projects/Rockchip/patches/linux/RK3588/003-audio-fix.patch @@ -1,6 +1,18 @@ +diff -rupN linux.orig/Makefile linux/Makefile +--- linux.orig/Makefile 2024-03-12 17:07:07.439910827 +0000 ++++ linux/Makefile 2024-03-12 17:07:54.941476478 +0000 +@@ -1075,7 +1075,7 @@ endif + KBUILD_CFLAGS += -Werror=date-time + + # enforce correct pointer usage +-KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types) ++#KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types) + + # Require designated initializers for all marked structures + KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init) diff -rupN linux.orig/sound/soc/codecs/es8323.c linux/sound/soc/codecs/es8323.c ---- linux.orig/sound/soc/codecs/es8323.c 2024-03-06 21:56:51.358228509 +0000 -+++ linux/sound/soc/codecs/es8323.c 2024-03-06 21:58:44.317922609 +0000 +--- linux.orig/sound/soc/codecs/es8323.c 2024-03-12 17:07:08.999962342 +0000 ++++ linux/sound/soc/codecs/es8323.c 2024-03-12 17:07:39.208958586 +0000 @@ -25,6 +25,11 @@ #include #include @@ -60,7 +72,7 @@ diff -rupN linux.orig/sound/soc/codecs/es8323.c linux/sound/soc/codecs/es8323.c static int es8323_mute(struct snd_soc_dai *dai, int mute, int stream) -{ - return 0; -+{ ++{ + // struct snd_soc_component *component = dai->component; + // struct es8323_priv *es8323 = snd_soc_component_get_drvdata(component); + @@ -73,7 +85,7 @@ diff -rupN linux.orig/sound/soc/codecs/es8323.c linux/sound/soc/codecs/es8323.c + + if (hp) { + // printk("gsy es8323_mute\n"); -+ // gsy add ++ // gsy add + if (mute) { + gpio_direction_output(133, 0);// spk ctl + gpio_set_value(133, 0); @@ -130,13 +142,25 @@ diff -rupN linux.orig/sound/soc/codecs/es8323.c linux/sound/soc/codecs/es8323.c + GPIOD_OUT_LOW); + if (IS_ERR(es8323->spk_ctl_gpio)) + return PTR_ERR(es8323->spk_ctl_gpio); -+ ++ es8323->mclk = devm_clk_get(component->dev, "mclk"); if (IS_ERR(es8323->mclk)) { dev_err(component->dev, "%s mclk is missing or invalid\n", __func__); +@@ -870,9 +918,10 @@ static int es8323_i2c_probe(struct i2c_c + return ret; + } + +-static void es8323_i2c_remove(struct i2c_client *client) ++static int es8323_i2c_remove(struct i2c_client *client) + { + snd_soc_unregister_component(&client->dev); ++ return 0; + } + + static const struct i2c_device_id es8323_i2c_id[] = { diff -rupN linux.orig/sound/soc/codecs/es8323.h linux/sound/soc/codecs/es8323.h ---- linux.orig/sound/soc/codecs/es8323.h 2024-03-06 21:56:51.362228640 +0000 -+++ linux/sound/soc/codecs/es8323.h 2024-03-06 22:01:36.203539209 +0000 +--- linux.orig/sound/soc/codecs/es8323.h 2024-03-12 17:07:08.999962342 +0000 ++++ linux/sound/soc/codecs/es8323.h 2024-03-12 17:07:39.208958586 +0000 @@ -80,7 +80,7 @@ #define ES8323_ADC_MUTE ES8323_ADCCONTROL7 @@ -147,9 +171,9 @@ diff -rupN linux.orig/sound/soc/codecs/es8323.h linux/sound/soc/codecs/es8323.h #define ES8323_IFACE ES8323_MASTERMODE diff -rupN linux.orig/sound/soc/rockchip/rockchip_multicodecs.c linux/sound/soc/rockchip/rockchip_multicodecs.c ---- linux.orig/sound/soc/rockchip/rockchip_multicodecs.c 2024-03-06 21:56:51.478232435 +0000 -+++ linux/sound/soc/rockchip/rockchip_multicodecs.c 2024-03-06 22:04:55.818056848 +0000 -@@ -293,8 +293,11 @@ static int mc_spk_event(struct snd_soc_d +--- linux.orig/sound/soc/rockchip/rockchip_multicodecs.c 2024-03-12 17:07:09.023963134 +0000 ++++ linux/sound/soc/rockchip/rockchip_multicodecs.c 2024-03-12 17:07:39.208958586 +0000 +@@ -272,9 +272,13 @@ static int mc_hp_event(struct snd_soc_da struct snd_soc_card *card = w->dapm->card; struct multicodecs_data *mc_data = snd_soc_card_get_drvdata(card); @@ -157,7 +181,10 @@ diff -rupN linux.orig/sound/soc/rockchip/rockchip_multicodecs.c linux/sound/soc/ + switch (event) { case SND_SOC_DAPM_POST_PMU: +- gpiod_set_value_cansleep(mc_data->hp_ctl_gpio, 1); ++ //gpiod_set_value_cansleep(mc_data->hp_ctl_gpio, 1); + if (!(jack_headset->status & SND_JACK_HEADPHONE)) - gpiod_set_value_cansleep(mc_data->spk_ctl_gpio, 1); ++ gpiod_set_value_cansleep(mc_data->spk_ctl_gpio, 1); break; case SND_SOC_DAPM_PRE_PMD: + gpiod_set_value_cansleep(mc_data->hp_ctl_gpio, 0); diff --git a/projects/Rockchip/patches/linux/RK3588/005-pll-clock.patch b/projects/Rockchip/patches/linux/RK3588/005-pll-clock.patch deleted file mode 100644 index a41e0d9fe..000000000 --- a/projects/Rockchip/patches/linux/RK3588/005-pll-clock.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -rupN linux.orig/drivers/clk/rockchip/clk-rk3588.c linux/drivers/clk/rockchip/clk-rk3588.c ---- linux.orig/drivers/clk/rockchip/clk-rk3588.c 2024-03-06 22:11:33.951046369 +0000 -+++ linux/drivers/clk/rockchip/clk-rk3588.c 2024-03-07 00:00:30.202206013 +0000 -@@ -2065,13 +2065,13 @@ static struct rockchip_clk_branch rk3588 - RK3588_CLKGATE_CON(72), 4, GFLAGS), - GATE(HCLK_VOP, "hclk_vop", "hclk_vop_root", 0, - RK3588_CLKGATE_CON(52), 8, GFLAGS), -- COMPOSITE(DCLK_VOP0_SRC, "dclk_vop0_src", gpll_cpll_v0pll_aupll_p, 0, -+ COMPOSITE(DCLK_VOP0_SRC, "dclk_vop0_src", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_NO_REPARENT, - RK3588_CLKSEL_CON(111), 7, 2, MFLAGS, 0, 7, DFLAGS, - RK3588_CLKGATE_CON(52), 10, GFLAGS), -- COMPOSITE(DCLK_VOP1_SRC, "dclk_vop1_src", gpll_cpll_v0pll_aupll_p, 0, -+ COMPOSITE(DCLK_VOP1_SRC, "dclk_vop1_src", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_NO_REPARENT, - RK3588_CLKSEL_CON(111), 14, 2, MFLAGS, 9, 5, DFLAGS, - RK3588_CLKGATE_CON(52), 11, GFLAGS), -- COMPOSITE(DCLK_VOP2_SRC, "dclk_vop2_src", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT, -+ COMPOSITE(DCLK_VOP2_SRC, "dclk_vop2_src", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_NO_REPARENT, - RK3588_CLKSEL_CON(112), 5, 2, MFLAGS, 0, 5, DFLAGS, - RK3588_CLKGATE_CON(52), 12, GFLAGS), - COMPOSITE_NODIV(DCLK_VOP0, "dclk_vop0", dclk_vop0_p, CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT, -@@ -2083,7 +2083,7 @@ static struct rockchip_clk_branch rk3588 - COMPOSITE_NODIV(DCLK_VOP2, "dclk_vop2", dclk_vop2_p, CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT, - RK3588_CLKSEL_CON(112), 11, 2, MFLAGS, - RK3588_CLKGATE_CON(53), 1, GFLAGS), -- COMPOSITE(DCLK_VOP3, "dclk_vop3", gpll_cpll_v0pll_aupll_p, 0, -+ COMPOSITE(DCLK_VOP3, "dclk_vop3", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_NO_REPARENT, - RK3588_CLKSEL_CON(113), 7, 2, MFLAGS, 0, 7, DFLAGS, - RK3588_CLKGATE_CON(53), 2, GFLAGS), - GATE(PCLK_DSIHOST0, "pclk_dsihost0", "pclk_vop_root", 0, diff --git a/projects/Rockchip/patches/linux/RK3588/005-polldev-driver.patch b/projects/Rockchip/patches/linux/RK3588/005-polldev-driver.patch new file mode 100644 index 000000000..05f7faf52 --- /dev/null +++ b/projects/Rockchip/patches/linux/RK3588/005-polldev-driver.patch @@ -0,0 +1,484 @@ +From bb62799748bd5492d80e9ebee4ac6b5702fb037e Mon Sep 17 00:00:00 2001 +From: brooksytech <1673861+brooksytech@users.noreply.github.com> +Date: Wed, 24 Jan 2024 21:50:05 +0000 +Subject: [PATCH 14/46] input: add input-polldev driver + +--- + drivers/input/Kconfig | 13 ++ + drivers/input/Makefile | 1 + + drivers/input/input-polldev.c | 362 ++++++++++++++++++++++++++++++++++ + include/linux/input-polldev.h | 58 ++++++ + 4 files changed, 434 insertions(+) + create mode 100644 drivers/input/input-polldev.c + create mode 100644 include/linux/input-polldev.h + +diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig +index 3bdbd34314b3..779daf5009c1 100644 +--- a/drivers/input/Kconfig ++++ b/drivers/input/Kconfig +@@ -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. + ++config INPUT_POLLDEV ++ tristate "Polled input device skeleton" ++ help ++ Say Y here if you are using a driver for an input ++ device that periodically polls hardware state. This ++ option is only useful for out-of-tree drivers since ++ in-tree drivers select it automatically. ++ ++ If unsure, say N. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called input-polldev. ++ + config INPUT_SPARSEKMAP + tristate "Sparse keymap support library" + help +diff --git a/drivers/input/Makefile b/drivers/input/Makefile +index c78753274921..e92c29174c36 100644 +--- a/drivers/input/Makefile ++++ b/drivers/input/Makefile +@@ -10,6 +10,7 @@ input-core-y := input.o input-compat.o input-mt.o input-poller.o ff-core.o + input-core-y += touchscreen.o + + obj-$(CONFIG_INPUT_FF_MEMLESS) += ff-memless.o ++obj-$(CONFIG_INPUT_POLLDEV) += input-polldev.o + obj-$(CONFIG_INPUT_SPARSEKMAP) += sparse-keymap.o + obj-$(CONFIG_INPUT_MATRIXKMAP) += matrix-keymap.o + obj-$(CONFIG_INPUT_VIVALDIFMAP) += vivaldi-fmap.o +diff --git a/drivers/input/input-polldev.c b/drivers/input/input-polldev.c +new file mode 100644 +index 000000000000..9bf1c9aeb4c4 +--- /dev/null ++++ b/drivers/input/input-polldev.c +@@ -0,0 +1,362 @@ ++// SPDX-License-Identifier: GPL-2.0-only ++/* ++ * Generic implementation of a polled input device ++ ++ * Copyright (c) 2007 Dmitry Torokhov ++ */ ++ ++#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++MODULE_AUTHOR("Dmitry Torokhov "); ++MODULE_DESCRIPTION("Generic implementation of a polled input device"); ++MODULE_LICENSE("GPL v2"); ++ ++static void input_polldev_queue_work(struct input_polled_dev *dev) ++{ ++ unsigned long delay; ++ ++ delay = msecs_to_jiffies(dev->poll_interval); ++ if (delay >= HZ) ++ delay = round_jiffies_relative(delay); ++ ++ queue_delayed_work(system_freezable_wq, &dev->work, delay); ++} ++ ++static void input_polled_device_work(struct work_struct *work) ++{ ++ struct input_polled_dev *dev = ++ container_of(work, struct input_polled_dev, work.work); ++ ++ dev->poll(dev); ++ input_polldev_queue_work(dev); ++} ++ ++static int input_open_polled_device(struct input_dev *input) ++{ ++ struct input_polled_dev *dev = input_get_drvdata(input); ++ ++ if (dev->open) ++ dev->open(dev); ++ ++ /* Only start polling if polling is enabled */ ++ if (dev->poll_interval > 0) { ++ dev->poll(dev); ++ input_polldev_queue_work(dev); ++ } ++ ++ return 0; ++} ++ ++static void input_close_polled_device(struct input_dev *input) ++{ ++ struct input_polled_dev *dev = input_get_drvdata(input); ++ ++ cancel_delayed_work_sync(&dev->work); ++ ++ if (dev->close) ++ dev->close(dev); ++} ++ ++/* SYSFS interface */ ++ ++static ssize_t input_polldev_get_poll(struct device *dev, ++ struct device_attribute *attr, char *buf) ++{ ++ struct input_polled_dev *polldev = dev_get_drvdata(dev); ++ ++ return sprintf(buf, "%d\n", polldev->poll_interval); ++} ++ ++static ssize_t input_polldev_set_poll(struct device *dev, ++ struct device_attribute *attr, const char *buf, ++ size_t count) ++{ ++ struct input_polled_dev *polldev = dev_get_drvdata(dev); ++ struct input_dev *input = polldev->input; ++ unsigned int interval; ++ int err; ++ ++ err = kstrtouint(buf, 0, &interval); ++ if (err) ++ return err; ++ ++ if (interval < polldev->poll_interval_min) ++ return -EINVAL; ++ ++ if (interval > polldev->poll_interval_max) ++ return -EINVAL; ++ ++ mutex_lock(&input->mutex); ++ ++ polldev->poll_interval = interval; ++ ++ if (input->users) { ++ cancel_delayed_work_sync(&polldev->work); ++ if (polldev->poll_interval > 0) ++ input_polldev_queue_work(polldev); ++ } ++ ++ mutex_unlock(&input->mutex); ++ ++ return count; ++} ++ ++static DEVICE_ATTR(poll, S_IRUGO | S_IWUSR, input_polldev_get_poll, ++ input_polldev_set_poll); ++ ++ ++static ssize_t input_polldev_get_max(struct device *dev, ++ struct device_attribute *attr, char *buf) ++{ ++ struct input_polled_dev *polldev = dev_get_drvdata(dev); ++ ++ return sprintf(buf, "%d\n", polldev->poll_interval_max); ++} ++ ++static DEVICE_ATTR(max, S_IRUGO, input_polldev_get_max, NULL); ++ ++static ssize_t input_polldev_get_min(struct device *dev, ++ struct device_attribute *attr, char *buf) ++{ ++ struct input_polled_dev *polldev = dev_get_drvdata(dev); ++ ++ return sprintf(buf, "%d\n", polldev->poll_interval_min); ++} ++ ++static DEVICE_ATTR(min, S_IRUGO, input_polldev_get_min, NULL); ++ ++static struct attribute *sysfs_attrs[] = { ++ &dev_attr_poll.attr, ++ &dev_attr_max.attr, ++ &dev_attr_min.attr, ++ NULL ++}; ++ ++static struct attribute_group input_polldev_attribute_group = { ++ .attrs = sysfs_attrs ++}; ++ ++static const struct attribute_group *input_polldev_attribute_groups[] = { ++ &input_polldev_attribute_group, ++ NULL ++}; ++ ++/** ++ * input_allocate_polled_device - allocate memory for polled device ++ * ++ * The function allocates memory for a polled device and also ++ * for an input device associated with this polled device. ++ */ ++struct input_polled_dev *input_allocate_polled_device(void) ++{ ++ struct input_polled_dev *dev; ++ ++ dev = kzalloc(sizeof(struct input_polled_dev), GFP_KERNEL); ++ if (!dev) ++ return NULL; ++ ++ dev->input = input_allocate_device(); ++ if (!dev->input) { ++ kfree(dev); ++ return NULL; ++ } ++ ++ return dev; ++} ++EXPORT_SYMBOL(input_allocate_polled_device); ++ ++struct input_polled_devres { ++ struct input_polled_dev *polldev; ++}; ++ ++static int devm_input_polldev_match(struct device *dev, void *res, void *data) ++{ ++ struct input_polled_devres *devres = res; ++ ++ return devres->polldev == data; ++} ++ ++static void devm_input_polldev_release(struct device *dev, void *res) ++{ ++ struct input_polled_devres *devres = res; ++ struct input_polled_dev *polldev = devres->polldev; ++ ++ dev_dbg(dev, "%s: dropping reference/freeing %s\n", ++ __func__, dev_name(&polldev->input->dev)); ++ ++ input_put_device(polldev->input); ++ kfree(polldev); ++} ++ ++static void devm_input_polldev_unregister(struct device *dev, void *res) ++{ ++ struct input_polled_devres *devres = res; ++ struct input_polled_dev *polldev = devres->polldev; ++ ++ dev_dbg(dev, "%s: unregistering device %s\n", ++ __func__, dev_name(&polldev->input->dev)); ++ input_unregister_device(polldev->input); ++ ++ /* ++ * Note that we are still holding extra reference to the input ++ * device so it will stick around until devm_input_polldev_release() ++ * is called. ++ */ ++} ++ ++/** ++ * devm_input_allocate_polled_device - allocate managed polled device ++ * @dev: device owning the polled device being created ++ * ++ * Returns prepared &struct input_polled_dev or %NULL. ++ * ++ * Managed polled input devices do not need to be explicitly unregistered ++ * or freed as it will be done automatically when owner device unbinds ++ * from * its driver (or binding fails). Once such managed polled device ++ * is allocated, it is ready to be set up and registered in the same ++ * fashion as regular polled input devices (using ++ * input_register_polled_device() function). ++ * ++ * If you want to manually unregister and free such managed polled devices, ++ * it can be still done by calling input_unregister_polled_device() and ++ * input_free_polled_device(), although it is rarely needed. ++ * ++ * NOTE: the owner device is set up as parent of input device and users ++ * should not override it. ++ */ ++struct input_polled_dev *devm_input_allocate_polled_device(struct device *dev) ++{ ++ struct input_polled_dev *polldev; ++ struct input_polled_devres *devres; ++ ++ devres = devres_alloc(devm_input_polldev_release, sizeof(*devres), ++ GFP_KERNEL); ++ if (!devres) ++ return NULL; ++ ++ polldev = input_allocate_polled_device(); ++ if (!polldev) { ++ devres_free(devres); ++ return NULL; ++ } ++ ++ polldev->input->dev.parent = dev; ++ polldev->devres_managed = true; ++ ++ devres->polldev = polldev; ++ devres_add(dev, devres); ++ ++ return polldev; ++} ++EXPORT_SYMBOL(devm_input_allocate_polled_device); ++ ++/** ++ * input_free_polled_device - free memory allocated for polled device ++ * @dev: device to free ++ * ++ * The function frees memory allocated for polling device and drops ++ * reference to the associated input device. ++ */ ++void input_free_polled_device(struct input_polled_dev *dev) ++{ ++ if (dev) { ++ if (dev->devres_managed) ++ WARN_ON(devres_destroy(dev->input->dev.parent, ++ devm_input_polldev_release, ++ devm_input_polldev_match, ++ dev)); ++ input_put_device(dev->input); ++ kfree(dev); ++ } ++} ++EXPORT_SYMBOL(input_free_polled_device); ++ ++/** ++ * input_register_polled_device - register polled device ++ * @dev: device to register ++ * ++ * The function registers previously initialized polled input device ++ * with input layer. The device should be allocated with call to ++ * input_allocate_polled_device(). Callers should also set up poll() ++ * method and set up capabilities (id, name, phys, bits) of the ++ * corresponding input_dev structure. ++ */ ++int input_register_polled_device(struct input_polled_dev *dev) ++{ ++ struct input_polled_devres *devres = NULL; ++ struct input_dev *input = dev->input; ++ int error; ++ ++ if (dev->devres_managed) { ++ devres = devres_alloc(devm_input_polldev_unregister, ++ sizeof(*devres), GFP_KERNEL); ++ if (!devres) ++ return -ENOMEM; ++ ++ devres->polldev = dev; ++ } ++ ++ input_set_drvdata(input, dev); ++ INIT_DELAYED_WORK(&dev->work, input_polled_device_work); ++ ++ if (!dev->poll_interval) ++ dev->poll_interval = 500; ++ if (!dev->poll_interval_max) ++ dev->poll_interval_max = dev->poll_interval; ++ ++ input->open = input_open_polled_device; ++ input->close = input_close_polled_device; ++ ++ input->dev.groups = input_polldev_attribute_groups; ++ ++ error = input_register_device(input); ++ if (error) { ++ devres_free(devres); ++ return error; ++ } ++ ++ /* ++ * Take extra reference to the underlying input device so ++ * that it survives call to input_unregister_polled_device() ++ * and is deleted only after input_free_polled_device() ++ * has been invoked. This is needed to ease task of freeing ++ * sparse keymaps. ++ */ ++ input_get_device(input); ++ ++ if (dev->devres_managed) { ++ dev_dbg(input->dev.parent, "%s: registering %s with devres.\n", ++ __func__, dev_name(&input->dev)); ++ devres_add(input->dev.parent, devres); ++ } ++ ++ return 0; ++} ++EXPORT_SYMBOL(input_register_polled_device); ++ ++/** ++ * input_unregister_polled_device - unregister polled device ++ * @dev: device to unregister ++ * ++ * The function unregisters previously registered polled input ++ * device from input layer. Polling is stopped and device is ++ * ready to be freed with call to input_free_polled_device(). ++ */ ++void input_unregister_polled_device(struct input_polled_dev *dev) ++{ ++ if (dev->devres_managed) ++ WARN_ON(devres_destroy(dev->input->dev.parent, ++ devm_input_polldev_unregister, ++ devm_input_polldev_match, ++ dev)); ++ ++ input_unregister_device(dev->input); ++} ++EXPORT_SYMBOL(input_unregister_polled_device); +diff --git a/include/linux/input-polldev.h b/include/linux/input-polldev.h +new file mode 100644 +index 000000000000..14821fd231c0 +--- /dev/null ++++ b/include/linux/input-polldev.h +@@ -0,0 +1,58 @@ ++/* SPDX-License-Identifier: GPL-2.0-only */ ++#ifndef _INPUT_POLLDEV_H ++#define _INPUT_POLLDEV_H ++ ++/* ++ * Copyright (c) 2007 Dmitry Torokhov ++ */ ++ ++#include ++#include ++ ++/** ++ * struct input_polled_dev - simple polled input device ++ * @private: private driver data. ++ * @open: driver-supplied method that prepares device for polling ++ * (enabled the device and maybe flushes device state). ++ * @close: driver-supplied method that is called when device is no ++ * longer being polled. Used to put device into low power mode. ++ * @poll: driver-supplied method that polls the device and posts ++ * input events (mandatory). ++ * @poll_interval: specifies how often the poll() method should be called. ++ * Defaults to 500 msec unless overridden when registering the device. ++ * @poll_interval_max: specifies upper bound for the poll interval. ++ * Defaults to the initial value of @poll_interval. ++ * @poll_interval_min: specifies lower bound for the poll interval. ++ * Defaults to 0. ++ * @input: input device structure associated with the polled device. ++ * Must be properly initialized by the driver (id, name, phys, bits). ++ * ++ * Polled input device provides a skeleton for supporting simple input ++ * devices that do not raise interrupts but have to be periodically ++ * scanned or polled to detect changes in their state. ++ */ ++struct input_polled_dev { ++ void *private; ++ ++ void (*open)(struct input_polled_dev *dev); ++ void (*close)(struct input_polled_dev *dev); ++ void (*poll)(struct input_polled_dev *dev); ++ unsigned int poll_interval; /* msec */ ++ unsigned int poll_interval_max; /* msec */ ++ unsigned int poll_interval_min; /* msec */ ++ ++ struct input_dev *input; ++ ++/* private: */ ++ struct delayed_work work; ++ ++ bool devres_managed; ++}; ++ ++struct input_polled_dev *input_allocate_polled_device(void); ++struct input_polled_dev *devm_input_allocate_polled_device(struct device *dev); ++void input_free_polled_device(struct input_polled_dev *dev); ++int input_register_polled_device(struct input_polled_dev *dev); ++void input_unregister_polled_device(struct input_polled_dev *dev); ++ ++#endif +-- +2.34.1 diff --git a/projects/Rockchip/patches/linux/RK3588/007-dmc-fixes.patch b/projects/Rockchip/patches/linux/RK3588/007-dmc-fixes.patch deleted file mode 100644 index a03b856c7..000000000 --- a/projects/Rockchip/patches/linux/RK3588/007-dmc-fixes.patch +++ /dev/null @@ -1,126 +0,0 @@ -diff -rupN linux.orig/drivers/devfreq/rockchip_dmc.c linux/drivers/devfreq/rockchip_dmc.c ---- linux.orig/drivers/devfreq/rockchip_dmc.c 2024-03-07 18:08:07.755017253 +0000 -+++ linux/drivers/devfreq/rockchip_dmc.c 2024-03-07 18:09:55.570159077 +0000 -@@ -141,6 +141,7 @@ struct rockchip_dmcfreq { - unsigned long hdmirx_rate; - unsigned long idle_rate; - unsigned long suspend_rate; -+ unsigned long deep_suspend_rate; - unsigned long reboot_rate; - unsigned long boost_rate; - unsigned long fixed_rate; -@@ -1996,6 +1997,12 @@ static __maybe_unused int rk3588_dmc_ini - if (of_property_read_u32(pdev->dev.of_node, "wait-mode", &ddr_psci_param->wait_mode)) - ddr_psci_param->wait_mode = 0; - -+ res = sip_smc_dram(SHARE_PAGE_TYPE_DDR, 0, ROCKCHIP_SIP_CONFIG_DRAM_GET_STALL_TIME); -+ if (res.a0) -+ dev_err(dmcfreq->dev, "Current ATF unsupported get_stall_time\n"); -+ else -+ dmcfreq->info.stall_time_ns = (unsigned int)res.a1; -+ - dmcfreq->set_auto_self_refresh = rockchip_ddr_set_auto_self_refresh; - - return 0; -@@ -2248,6 +2255,9 @@ static int rockchip_get_system_status_ra - case SYS_STATUS_SUSPEND: - dmcfreq->suspend_rate = freq * 1000; - break; -+ case SYS_STATUS_DEEP_SUSPEND: -+ dmcfreq->deep_suspend_rate = freq * 1000; -+ break; - case SYS_STATUS_VIDEO_1080P: - dmcfreq->video_1080p_rate = freq * 1000; - break; -@@ -2390,6 +2400,11 @@ static int rockchip_get_system_status_le - dmcfreq->suspend_rate = rockchip_freq_level_2_rate(dmcfreq, level); - dev_info(dmcfreq->dev, "suspend_rate = %ld\n", dmcfreq->suspend_rate); - break; -+ case SYS_STATUS_DEEP_SUSPEND: -+ dmcfreq->deep_suspend_rate = rockchip_freq_level_2_rate(dmcfreq, level); -+ dev_info(dmcfreq->dev, "deep_suspend_rate = %ld\n", -+ dmcfreq->deep_suspend_rate); -+ break; - case SYS_STATUS_VIDEO_1080P: - dmcfreq->video_1080p_rate = rockchip_freq_level_2_rate(dmcfreq, level); - dev_info(dmcfreq->dev, "video_1080p_rate = %ld\n", -@@ -3091,6 +3106,7 @@ static int rockchip_dmcfreq_add_devfreq( - devm_devfreq_register_opp_notifier(dev, devfreq); - - devfreq->last_status.current_frequency = opp_rate; -+ devfreq->suspend_freq = dmcfreq->deep_suspend_rate; - - reset_last_status(devfreq); - -diff -rupN linux.orig/drivers/devfreq/rockchip_dmc_common.c linux/drivers/devfreq/rockchip_dmc_common.c ---- linux.orig/drivers/devfreq/rockchip_dmc_common.c 2024-03-07 18:08:07.755017253 +0000 -+++ linux/drivers/devfreq/rockchip_dmc_common.c 2024-03-07 18:08:56.184571327 +0000 -@@ -166,6 +166,15 @@ int rockchip_dmcfreq_vop_bandwidth_reque - } - EXPORT_SYMBOL(rockchip_dmcfreq_vop_bandwidth_request); - -+unsigned int rockchip_dmcfreq_get_stall_time_ns(void) -+{ -+ if (!common_info) -+ return 0; -+ -+ return common_info->stall_time_ns; -+} -+EXPORT_SYMBOL(rockchip_dmcfreq_get_stall_time_ns); -+ - MODULE_AUTHOR("Finley Xiao "); - MODULE_DESCRIPTION("rockchip dmcfreq driver with devfreq framework"); - MODULE_LICENSE("GPL v2"); -diff -rupN linux.orig/include/dt-bindings/soc/rockchip-system-status.h linux/include/dt-bindings/soc/rockchip-system-status.h ---- linux.orig/include/dt-bindings/soc/rockchip-system-status.h 2024-03-07 18:08:10.371101216 +0000 -+++ linux/include/dt-bindings/soc/rockchip-system-status.h 2024-03-07 18:09:55.570159077 +0000 -@@ -37,6 +37,7 @@ - #define SYS_STATUS_HDMIRX (1 << 18) - #define SYS_STATUS_VIDEO_SVEP (1 << 19) - #define SYS_STATUS_VIDEO_4K_60P (1 << 20) -+#define SYS_STATUS_DEEP_SUSPEND (1 << 21) - - #define SYS_STATUS_VIDEO (SYS_STATUS_VIDEO_4K | \ - SYS_STATUS_VIDEO_1080P | \ -diff -rupN linux.orig/include/soc/rockchip/rockchip_dmc.h linux/include/soc/rockchip/rockchip_dmc.h ---- linux.orig/include/soc/rockchip/rockchip_dmc.h 2024-03-07 18:08:10.527106223 +0000 -+++ linux/include/soc/rockchip/rockchip_dmc.h 2024-03-07 18:08:56.184571327 +0000 -@@ -55,6 +55,7 @@ struct dmcfreq_common_info { - unsigned long vop_req_rate; - unsigned int read_latency; - unsigned int auto_freq_en; -+ unsigned int stall_time_ns; - bool is_msch_rl_work_started; - int (*set_msch_readlatency)(unsigned int rl); - }; -@@ -76,6 +77,7 @@ int rockchip_dmcfreq_wait_complete(void) - int rockchip_dmcfreq_vop_bandwidth_init(struct dmcfreq_common_info *info); - int rockchip_dmcfreq_vop_bandwidth_request(struct dmcfreq_vop_info *vop_info); - void rockchip_dmcfreq_vop_bandwidth_update(struct dmcfreq_vop_info *vop_info); -+unsigned int rockchip_dmcfreq_get_stall_time_ns(void); - #else - static inline void rockchip_dmcfreq_lock(void) - { -@@ -118,6 +120,12 @@ static inline void - rockchip_dmcfreq_vop_bandwidth_init(struct dmcfreq_common_info *info) - { - } -+ -+static inline unsigned int -+rockchip_dmcfreq_get_stall_time_ns(void) -+{ -+ return 0; -+} - #endif - - #endif -diff -rupN linux.orig/include/soc/rockchip/rockchip_sip.h linux/include/soc/rockchip/rockchip_sip.h ---- linux.orig/include/soc/rockchip/rockchip_sip.h 2024-03-07 18:08:10.531106351 +0000 -+++ linux/include/soc/rockchip/rockchip_sip.h 2024-03-07 18:08:56.184571327 +0000 -@@ -23,5 +23,6 @@ - #define ROCKCHIP_SIP_CONFIG_DRAM_ECC 0x0d - #define ROCKCHIP_SIP_CONFIG_DRAM_GET_FREQ_INFO 0x0e - #define ROCKCHIP_SIP_CONFIG_DRAM_ADDRMAP_GET 0x10 -+#define ROCKCHIP_SIP_CONFIG_DRAM_GET_STALL_TIME 0x11 - - #endif diff --git a/projects/Rockchip/patches/linux/RK3588/007-rotation-quirk.patch b/projects/Rockchip/patches/linux/RK3588/007-rotation-quirk.patch new file mode 100644 index 000000000..6ef9017c4 --- /dev/null +++ b/projects/Rockchip/patches/linux/RK3588/007-rotation-quirk.patch @@ -0,0 +1,12 @@ +diff -rupN linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c linux/drivers/gpu/drm/drm_panel_orientation_quirks.c +--- linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c 2024-03-23 01:52:13.930770363 +0000 ++++ linux/drivers/gpu/drm/drm_panel_orientation_quirks.c 2024-03-23 01:53:34.905357358 +0000 +@@ -461,7 +461,7 @@ EXPORT_SYMBOL(drm_get_panel_orientation_ + /* There are no quirks for non x86 devices yet */ + int drm_get_panel_orientation_quirk(int width, int height) + { +- return DRM_MODE_PANEL_ORIENTATION_UNKNOWN; ++ return DRM_MODE_PANEL_ORIENTATION_LEFT_UP; + } + EXPORT_SYMBOL(drm_get_panel_orientation_quirk); + diff --git a/projects/Rockchip/patches/linux/RK3588/008-simple-panel.patch b/projects/Rockchip/patches/linux/RK3588/008-simple-panel.patch new file mode 100644 index 000000000..9c30c94d2 --- /dev/null +++ b/projects/Rockchip/patches/linux/RK3588/008-simple-panel.patch @@ -0,0 +1,4018 @@ +diff -rupN linux.orig/drivers/gpu/drm/panel/panel-simple.c linux/drivers/gpu/drm/panel/panel-simple.c +--- linux.orig/drivers/gpu/drm/panel/panel-simple.c 2024-03-22 18:43:18.858876137 +0000 ++++ linux/drivers/gpu/drm/panel/panel-simple.c 2024-03-22 23:01:29.864153751 +0000 +@@ -24,6 +24,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -43,7 +44,7 @@ + #include + #include + #include +-#include ++#include + + #include "panel-simple.h" + +@@ -68,50 +69,19 @@ struct panel_cmd_seq { + unsigned int cmd_cnt; + }; + +-/** +- * struct panel_desc - Describes a simple panel. +- */ + struct panel_desc { +- /** +- * @modes: Pointer to array of fixed modes appropriate for this panel. +- * +- * If only one mode then this can just be the address of the mode. +- * NOTE: cannot be used with "timings" and also if this is specified +- * then you cannot override the mode in the device tree. +- */ + const struct drm_display_mode *modes; +- +- /** @num_modes: Number of elements in modes array. */ + unsigned int num_modes; +- +- /** +- * @timings: Pointer to array of display timings +- * +- * NOTE: cannot be used with "modes" and also these will be used to +- * validate a device tree override if one is present. +- */ + const struct display_timing *timings; +- +- /** @num_timings: Number of elements in timings array. */ + unsigned int num_timings; + +- /** @bpc: Bits per color. */ + unsigned int bpc; + +- /** @size: Structure containing the physical size of this panel. */ + struct { +- /** +- * @size.width: Width (in mm) of the active display area. +- */ + unsigned int width; +- +- /** +- * @size.height: Height (in mm) of the active display area. +- */ + unsigned int height; + } size; + +- /** @delay: Structure containing various delay values for this panel. */ + /** + * @prepare: the time (in milliseconds) that it takes for the panel to + * become ready and start receiving video data +@@ -130,54 +100,17 @@ struct panel_desc { + * send init command sequence after reset deassert + */ + struct { +- /** +- * @delay.prepare: Time for the panel to become ready. +- * +- * The time (in milliseconds) that it takes for the panel to +- * become ready and start receiving video data +- */ + unsigned int prepare; +- +- /** +- * @delay.enable: Time for the panel to display a valid frame. +- * +- * The time (in milliseconds) that it takes for the panel to +- * display the first valid frame after starting to receive +- * video data. +- */ ++ unsigned int hpd_absent_delay; + unsigned int enable; +- +- /** +- * @delay.disable: Time for the panel to turn the display off. +- * +- * The time (in milliseconds) that it takes for the panel to +- * turn the display off (no content is visible). +- */ + unsigned int disable; +- +- /** +- * @delay.unprepare: Time to power down completely. +- * +- * The time (in milliseconds) that it takes for the panel +- * to power itself down completely. +- * +- * This time is used to prevent a future "prepare" from +- * starting until at least this many milliseconds has passed. +- * If at prepare time less time has passed since unprepare +- * finished, the driver waits for the remaining time. +- */ + unsigned int unprepare; + unsigned int reset; + unsigned int init; + } delay; + +- /** @bus_format: See MEDIA_BUS_FMT_... defines. */ + u32 bus_format; +- +- /** @bus_flags: See DRM_BUS_FLAG_... defines. */ + u32 bus_flags; +- +- /** @connector_type: LVDS, eDP, DSI, DPI, etc. */ + int connector_type; + + struct panel_cmd_seq *init_seq; +@@ -193,16 +126,10 @@ struct panel_simple { + struct drm_panel base; + struct mipi_dsi_device *dsi; + bool enabled; +- + bool prepared; +- /** +- * @power_invert: if power-invert is true meas the panel power control is inverse, +- * that is we need to disable ldo when panel power on and enable ldo when panel power off. +- */ +- bool power_invert; + +- ktime_t prepared_time; +- ktime_t unprepared_time; ++ bool power_invert; ++ bool no_hpd; + + const struct panel_desc *desc; + +@@ -211,6 +138,7 @@ struct panel_simple { + + struct gpio_desc *enable_gpio; + struct gpio_desc *reset_gpio; ++ struct gpio_desc *hpd_gpio; + + struct edid *edid; + +@@ -220,11 +148,6 @@ struct panel_simple { + enum drm_panel_orientation orientation; + }; + +-static inline void panel_simple_msleep(unsigned int msecs) +-{ +- usleep_range(msecs * 1000, msecs * 1000 + 100); +-} +- + static inline struct panel_simple *to_panel_simple(struct drm_panel *panel) + { + return container_of(panel, struct panel_simple, base); +@@ -342,7 +265,7 @@ static int panel_simple_xfer_dsi_cmd_seq + dev_err(dev, "failed to write dcs cmd: %d\n", err); + + if (cmd->header.delay) +- panel_simple_msleep(cmd->header.delay); ++ usleep_range(cmd->header.delay * 1000, cmd->header.delay * 1000 + 100); + } + + return 0; +@@ -365,7 +288,7 @@ static int panel_simple_xfer_spi_cmd_seq + return ret; + + if (cmd->header.delay) +- panel_simple_msleep(cmd->header.delay); ++ usleep_range(cmd->header.delay * 1000, cmd->header.delay * 1000 + 100); + } + + return 0; +@@ -484,20 +407,6 @@ static int panel_simple_get_non_edid_mod + return num; + } + +-static void panel_simple_wait(ktime_t start_ktime, unsigned int min_ms) +-{ +- ktime_t now_ktime, min_ktime; +- +- if (!min_ms) +- return; +- +- min_ktime = ktime_add(start_ktime, ms_to_ktime(min_ms)); +- now_ktime = ktime_get_boottime(); +- +- if (ktime_before(now_ktime, min_ktime)) +- panel_simple_msleep(ktime_to_ms(ktime_sub(min_ktime, now_ktime)) + 1); +-} +- + static int panel_simple_regulator_enable(struct panel_simple *p) + { + int err; +@@ -536,9 +445,9 @@ int panel_simple_loader_protect(struct d + struct panel_simple *p = to_panel_simple(panel); + int err; + +- err = pm_runtime_get_sync(panel->dev); ++ err = panel_simple_regulator_enable(p); + if (err < 0) { +- pm_runtime_put_autosuspend(panel->dev); ++ dev_err(panel->dev, "failed to enable supply: %d\n", err); + return err; + } + +@@ -557,39 +466,17 @@ static int panel_simple_disable(struct d + return 0; + + if (p->desc->delay.disable) +- panel_simple_msleep(p->desc->delay.disable); ++ usleep_range(p->desc->delay.disable * 1000, p->desc->delay.disable * 1000 + 100); + + p->enabled = false; + + return 0; + } + +-static int panel_simple_suspend(struct device *dev) +-{ +- struct panel_simple *p = dev_get_drvdata(dev); +- +- gpiod_set_value_cansleep(p->reset_gpio, 1); +- gpiod_set_value_cansleep(p->enable_gpio, 0); +- +- panel_simple_regulator_disable(p); +- +- if (p->desc->delay.unprepare) +- panel_simple_msleep(p->desc->delay.unprepare); +- +- p->unprepared_time = ktime_get_boottime(); +- +- kfree(p->edid); +- p->edid = NULL; +- +- return 0; +-} +- + static int panel_simple_unprepare(struct drm_panel *panel) + { + struct panel_simple *p = to_panel_simple(panel); +- int ret; + +- /* Unpreparing when already unprepared is a no-op */ + if (!p->prepared) + return 0; + +@@ -605,62 +492,97 @@ static int panel_simple_unprepare(struct + } + } + +- pm_runtime_mark_last_busy(panel->dev); +- ret = pm_runtime_put_autosuspend(panel->dev); +- if (ret < 0) +- return ret; ++ gpiod_direction_output(p->reset_gpio, 1); ++ gpiod_direction_output(p->enable_gpio, 0); ++ ++ panel_simple_regulator_disable(p); ++ ++ if (p->desc->delay.unprepare) ++ usleep_range(p->desc->delay.unprepare * 1000, p->desc->delay.unprepare * 1000 + 100); ++ + p->prepared = false; + + return 0; + } + +-static int panel_simple_resume(struct device *dev) ++static int panel_simple_get_hpd_gpio(struct device *dev, ++ struct panel_simple *p, bool from_probe) + { +- struct panel_simple *p = dev_get_drvdata(dev); + int err; + +- panel_simple_wait(p->unprepared_time, p->desc->delay.unprepare); +- +- err = panel_simple_regulator_enable(p); +- if (err < 0) { +- dev_err(dev, "failed to enable supply: %d\n", err); +- return err; ++ p->hpd_gpio = devm_gpiod_get_optional(dev, "hpd", GPIOD_IN); ++ if (IS_ERR(p->hpd_gpio)) { ++ err = PTR_ERR(p->hpd_gpio); ++ ++ /* ++ * If we're called from probe we won't consider '-EPROBE_DEFER' ++ * to be an error--we'll leave the error code in "hpd_gpio". ++ * When we try to use it we'll try again. This allows for ++ * circular dependencies where the component providing the ++ * hpd gpio needs the panel to init before probing. ++ */ ++ if (err != -EPROBE_DEFER || !from_probe) { ++ dev_err(dev, "failed to get 'hpd' GPIO: %d\n", err); ++ return err; ++ } + } + +- gpiod_set_value_cansleep(p->enable_gpio, 1); +- +- if (p->desc->delay.prepare) +- panel_simple_msleep(p->desc->delay.prepare); +- +- p->prepared_time = ktime_get_boottime(); +- + return 0; + } + + static int panel_simple_prepare(struct drm_panel *panel) + { + struct panel_simple *p = to_panel_simple(panel); +- int ret; ++ unsigned int delay; ++ int err; ++ int hpd_asserted; + +- /* Preparing when already prepared is a no-op */ + if (p->prepared) + return 0; + +- ret = pm_runtime_get_sync(panel->dev); +- if (ret < 0) { +- pm_runtime_put_autosuspend(panel->dev); +- return ret; ++ err = panel_simple_regulator_enable(p); ++ if (err < 0) { ++ dev_err(panel->dev, "failed to enable supply: %d\n", err); ++ return err; ++ } ++ ++ gpiod_direction_output(p->enable_gpio, 1); ++ ++ delay = p->desc->delay.prepare; ++ if (p->no_hpd) ++ delay += p->desc->delay.hpd_absent_delay; ++ if (delay) ++ usleep_range(delay * 1000, delay * 1000 + 100); ++ ++ if (p->hpd_gpio) { ++ if (IS_ERR(p->hpd_gpio)) { ++ err = panel_simple_get_hpd_gpio(panel->dev, p, false); ++ if (err) ++ return err; ++ } ++ ++ err = readx_poll_timeout(gpiod_get_value_cansleep, p->hpd_gpio, ++ hpd_asserted, hpd_asserted, ++ 1000, 2000000); ++ if (hpd_asserted < 0) ++ err = hpd_asserted; ++ ++ if (err) { ++ dev_err(panel->dev, ++ "error waiting for hpd GPIO: %d\n", err); ++ return err; ++ } + } + +- gpiod_set_value_cansleep(p->reset_gpio, 1); ++ gpiod_direction_output(p->reset_gpio, 1); + + if (p->desc->delay.reset) +- panel_simple_msleep(p->desc->delay.reset); ++ usleep_range(p->desc->delay.reset * 1000, p->desc->delay.reset * 1000 + 100); + +- gpiod_set_value_cansleep(p->reset_gpio, 0); ++ gpiod_direction_output(p->reset_gpio, 0); + + if (p->desc->delay.init) +- panel_simple_msleep(p->desc->delay.init); ++ usleep_range(p->desc->delay.init * 1000, p->desc->delay.init * 1000 + 100); + + if (p->desc->init_seq) { + if (p->desc->cmd_type == CMD_TYPE_SPI) { +@@ -687,7 +609,7 @@ static int panel_simple_enable(struct dr + return 0; + + if (p->desc->delay.enable) +- panel_simple_msleep(p->desc->delay.enable); ++ usleep_range(p->desc->delay.enable * 1000, p->desc->delay.enable * 1000 + 100); + + p->enabled = true; + +@@ -702,25 +624,19 @@ static int panel_simple_get_modes(struct + + /* probe EDID if a DDC bus is available */ + if (p->ddc) { +- pm_runtime_get_sync(panel->dev); +- +- if (!p->edid) +- p->edid = drm_get_edid(connector, p->ddc); +- +- if (p->edid) +- num += drm_add_edid_modes(connector, p->edid); ++ struct edid *edid = drm_get_edid(connector, p->ddc); + +- pm_runtime_mark_last_busy(panel->dev); +- pm_runtime_put_autosuspend(panel->dev); ++ drm_connector_update_edid_property(connector, edid); ++ if (edid) { ++ num += drm_add_edid_modes(connector, edid); ++ kfree(edid); ++ } + } + + /* add hard-coded panel modes */ + num += panel_simple_get_non_edid_modes(p, connector); + +- /* +- * TODO: Remove once all drm drivers call +- * drm_connector_set_orientation_from_panel() +- */ ++ /* set up connector's "panel orientation" property */ + drm_connector_set_panel_orientation(connector, p->orientation); + + return num; +@@ -743,20 +659,12 @@ static int panel_simple_get_timings(stru + return p->desc->num_timings; + } + +-static enum drm_panel_orientation panel_simple_get_orientation(struct drm_panel *panel) +-{ +- struct panel_simple *p = to_panel_simple(panel); +- +- return p->orientation; +-} +- + static const struct drm_panel_funcs panel_simple_funcs = { + .disable = panel_simple_disable, + .unprepare = panel_simple_unprepare, + .prepare = panel_simple_prepare, + .enable = panel_simple_enable, + .get_modes = panel_simple_get_modes, +- .get_orientation = panel_simple_get_orientation, + .get_timings = panel_simple_get_timings, + }; + +@@ -915,9 +823,16 @@ static int panel_simple_probe(struct dev + return -ENOMEM; + + panel->enabled = false; +- panel->prepared_time = 0; ++ panel->prepared = false; + panel->desc = desc; + ++ panel->no_hpd = of_property_read_bool(dev->of_node, "no-hpd"); ++ if (!panel->no_hpd) { ++ err = panel_simple_get_hpd_gpio(dev, panel, true); ++ if (err) ++ return err; ++ } ++ + panel->supply = devm_regulator_get(dev, "power"); + if (IS_ERR(panel->supply)) { + err = PTR_ERR(panel->supply); +@@ -976,7 +891,7 @@ static int panel_simple_probe(struct dev + /* Catch common mistakes for panels. */ + switch (connector_type) { + case 0: +- dev_warn(dev, "Specify missing connector_type\n"); ++ dev_dbg(dev, "Specify missing connector_type\n"); + connector_type = DRM_MODE_CONNECTOR_DPI; + break; + case DRM_MODE_CONNECTOR_LVDS: +@@ -995,8 +910,10 @@ static int panel_simple_probe(struct dev + desc->bpc != 8); + break; + case DRM_MODE_CONNECTOR_eDP: +- if (desc->bpc != 6 && desc->bpc != 8 && desc->bpc != 10) +- dev_warn(dev, "Expected bpc in {6,8,10} but got: %u\n", desc->bpc); ++ if (desc->bus_format == 0) ++ dev_warn(dev, "Specify missing bus_format\n"); ++ if (desc->bpc != 6 && desc->bpc != 8) ++ dev_warn(dev, "Expected bpc in {6,8} but got: %u\n", desc->bpc); + break; + case DRM_MODE_CONNECTOR_DSI: + if (desc->bpc != 6 && desc->bpc != 8) +@@ -1026,33 +943,20 @@ static int panel_simple_probe(struct dev + break; + } + +- dev_set_drvdata(dev, panel); +- +- /* +- * We use runtime PM for prepare / unprepare since those power the panel +- * on and off and those can be very slow operations. This is important +- * to optimize powering the panel on briefly to read the EDID before +- * fully enabling the panel. +- */ +- pm_runtime_enable(dev); +- pm_runtime_set_autosuspend_delay(dev, 1000); +- pm_runtime_use_autosuspend(dev); +- + drm_panel_init(&panel->base, dev, &panel_simple_funcs, connector_type); + + err = drm_panel_of_backlight(&panel->base); + if (err) { +- dev_err_probe(dev, err, "Could not find backlight\n"); +- goto disable_pm_runtime; ++ dev_err(dev, "failed to find backlight: %d\n", err); ++ goto free_ddc; + } + + drm_panel_add(&panel->base); + ++ dev_set_drvdata(dev, panel); ++ + return 0; + +-disable_pm_runtime: +- pm_runtime_dont_use_autosuspend(dev); +- pm_runtime_disable(dev); + free_ddc: + if (panel->ddc) + put_device(&panel->ddc->dev); +@@ -1060,7 +964,7 @@ free_ddc: + return err; + } + +-static void panel_simple_remove(struct device *dev) ++static int panel_simple_remove(struct device *dev) + { + struct panel_simple *panel = dev_get_drvdata(dev); + +@@ -1068,10 +972,10 @@ static void panel_simple_remove(struct d + drm_panel_disable(&panel->base); + drm_panel_unprepare(&panel->base); + +- pm_runtime_dont_use_autosuspend(dev); +- pm_runtime_disable(dev); + if (panel->ddc) + put_device(&panel->ddc->dev); ++ ++ return 0; + } + + static void panel_simple_shutdown(struct device *dev) +@@ -1126,8 +1030,8 @@ static const struct panel_desc ampire_am + .num_modes = 1, + .bpc = 8, + .size = { +- .width = 99, +- .height = 58, ++ .width = 105, ++ .height = 67, + }, + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, + }; +@@ -1156,36 +1060,6 @@ static const struct panel_desc ampire_am + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, + }; + +-static const struct display_timing ampire_am800600p5tmqw_tb8h_timing = { +- .pixelclock = { 34500000, 39600000, 50400000 }, +- .hactive = { 800, 800, 800 }, +- .hfront_porch = { 12, 112, 312 }, +- .hback_porch = { 87, 87, 48 }, +- .hsync_len = { 1, 1, 40 }, +- .vactive = { 600, 600, 600 }, +- .vfront_porch = { 1, 21, 61 }, +- .vback_porch = { 38, 38, 19 }, +- .vsync_len = { 1, 1, 20 }, +- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | +- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE | +- DISPLAY_FLAGS_SYNC_POSEDGE, +-}; +- +-static const struct panel_desc ampire_am800600p5tmqwtb8h = { +- .timings = &ire_am800600p5tmqw_tb8h_timing, +- .num_timings = 1, +- .bpc = 6, +- .size = { +- .width = 162, +- .height = 122, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB666_1X18, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH | +- DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE | +- DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, +-}; +- + static const struct display_timing santek_st0700i5y_rbslw_f_timing = { + .pixelclock = { 26400000, 33300000, 46800000 }, + .hactive = { 800, 800, 800 }, +@@ -1332,8 +1206,6 @@ static const struct panel_desc auo_g104s + .width = 211, + .height = 158, + }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, +- .connector_type = DRM_MODE_CONNECTOR_LVDS, + }; + + static const struct drm_display_mode auo_g121ean01_mode = { +@@ -1810,55 +1682,6 @@ static const struct panel_desc chunghwa_ + .connector_type = DRM_MODE_CONNECTOR_LVDS, + }; + +-static const struct display_timing dataimage_fg040346dsswbg04_timing = { +- .pixelclock = { 5000000, 9000000, 12000000 }, +- .hactive = { 480, 480, 480 }, +- .hfront_porch = { 12, 12, 12 }, +- .hback_porch = { 12, 12, 12 }, +- .hsync_len = { 21, 21, 21 }, +- .vactive = { 272, 272, 272 }, +- .vfront_porch = { 4, 4, 4 }, +- .vback_porch = { 4, 4, 4 }, +- .vsync_len = { 8, 8, 8 }, +-}; +- +-static const struct panel_desc dataimage_fg040346dsswbg04 = { +- .timings = &dataimage_fg040346dsswbg04_timing, +- .num_timings = 1, +- .bpc = 8, +- .size = { +- .width = 95, +- .height = 54, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, +-}; +- +-static const struct display_timing dataimage_fg1001l0dsswmg01_timing = { +- .pixelclock = { 68900000, 71110000, 73400000 }, +- .hactive = { 1280, 1280, 1280 }, +- .vactive = { 800, 800, 800 }, +- .hback_porch = { 100, 100, 100 }, +- .hfront_porch = { 100, 100, 100 }, +- .vback_porch = { 5, 5, 5 }, +- .vfront_porch = { 5, 5, 5 }, +- .hsync_len = { 24, 24, 24 }, +- .vsync_len = { 3, 3, 3 }, +- .flags = DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE | +- DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW, +-}; +- +-static const struct panel_desc dataimage_fg1001l0dsswmg01 = { +- .timings = &dataimage_fg1001l0dsswmg01_timing, +- .num_timings = 1, +- .bpc = 8, +- .size = { +- .width = 217, +- .height = 136, +- }, +-}; +- + static const struct drm_display_mode dataimage_scf0700c48ggu18_mode = { + .clock = 33260, + .hdisplay = 800, +@@ -1970,32 +1793,6 @@ static const struct panel_desc edt_et035 + .bus_flags = DRM_BUS_FLAG_DE_LOW | DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE, + }; + +-static const struct drm_display_mode edt_etm0350g0dh6_mode = { +- .clock = 6520, +- .hdisplay = 320, +- .hsync_start = 320 + 20, +- .hsync_end = 320 + 20 + 68, +- .htotal = 320 + 20 + 68, +- .vdisplay = 240, +- .vsync_start = 240 + 4, +- .vsync_end = 240 + 4 + 18, +- .vtotal = 240 + 4 + 18, +- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, +-}; +- +-static const struct panel_desc edt_etm0350g0dh6 = { +- .modes = &edt_etm0350g0dh6_mode, +- .num_modes = 1, +- .bpc = 6, +- .size = { +- .width = 70, +- .height = 53, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, +-}; +- + static const struct drm_display_mode edt_etm043080dh6gp_mode = { + .clock = 10870, + .hdisplay = 480, +@@ -2047,9 +1844,6 @@ static const struct panel_desc edt_etm04 + .width = 95, + .height = 54, + }, +- .bus_format = MEDIA_BUS_FMT_RGB666_1X18, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, + }; + + static const struct drm_display_mode edt_et057090dhu_mode = { +@@ -2101,7 +1895,6 @@ static const struct panel_desc edt_etm07 + }, + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, + }; + + static const struct panel_desc edt_etm0700g0bdh6 = { +@@ -2114,86 +1907,6 @@ static const struct panel_desc edt_etm07 + }, + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, +-}; +- +-static const struct display_timing edt_etml0700y5dha_timing = { +- .pixelclock = { 40800000, 51200000, 67200000 }, +- .hactive = { 1024, 1024, 1024 }, +- .hfront_porch = { 30, 106, 125 }, +- .hback_porch = { 30, 106, 125 }, +- .hsync_len = { 30, 108, 126 }, +- .vactive = { 600, 600, 600 }, +- .vfront_porch = { 3, 12, 67}, +- .vback_porch = { 3, 12, 67 }, +- .vsync_len = { 4, 11, 66 }, +- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | +- DISPLAY_FLAGS_DE_HIGH, +-}; +- +-static const struct panel_desc edt_etml0700y5dha = { +- .timings = &edt_etml0700y5dha_timing, +- .num_timings = 1, +- .bpc = 8, +- .size = { +- .width = 155, +- .height = 86, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, +- .connector_type = DRM_MODE_CONNECTOR_LVDS, +-}; +- +-static const struct drm_display_mode edt_etmv570g2dhu_mode = { +- .clock = 25175, +- .hdisplay = 640, +- .hsync_start = 640, +- .hsync_end = 640 + 16, +- .htotal = 640 + 16 + 30 + 114, +- .vdisplay = 480, +- .vsync_start = 480 + 10, +- .vsync_end = 480 + 10 + 3, +- .vtotal = 480 + 10 + 3 + 35, +- .flags = DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PHSYNC, +-}; +- +-static const struct panel_desc edt_etmv570g2dhu = { +- .modes = &edt_etmv570g2dhu_mode, +- .num_modes = 1, +- .bpc = 6, +- .size = { +- .width = 115, +- .height = 86, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, +-}; +- +-static const struct display_timing eink_vb3300_kca_timing = { +- .pixelclock = { 40000000, 40000000, 40000000 }, +- .hactive = { 334, 334, 334 }, +- .hfront_porch = { 1, 1, 1 }, +- .hback_porch = { 1, 1, 1 }, +- .hsync_len = { 1, 1, 1 }, +- .vactive = { 1405, 1405, 1405 }, +- .vfront_porch = { 1, 1, 1 }, +- .vback_porch = { 1, 1, 1 }, +- .vsync_len = { 1, 1, 1 }, +- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | +- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE, +-}; +- +-static const struct panel_desc eink_vb3300_kca = { +- .timings = &eink_vb3300_kca_timing, +- .num_timings = 1, +- .bpc = 6, +- .size = { +- .width = 157, +- .height = 209, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, + }; + + static const struct display_timing evervision_vgg804821_timing = { +@@ -2411,31 +2124,6 @@ static const struct panel_desc hannstar_ + .connector_type = DRM_MODE_CONNECTOR_LVDS, + }; + +-static const struct display_timing hannstar_hsd101pww2_timing = { +- .pixelclock = { 64300000, 71100000, 82000000 }, +- .hactive = { 1280, 1280, 1280 }, +- .hfront_porch = { 1, 1, 10 }, +- .hback_porch = { 1, 1, 10 }, +- .hsync_len = { 58, 158, 661 }, +- .vactive = { 800, 800, 800 }, +- .vfront_porch = { 1, 1, 10 }, +- .vback_porch = { 1, 1, 10 }, +- .vsync_len = { 1, 21, 203 }, +- .flags = DISPLAY_FLAGS_DE_HIGH, +-}; +- +-static const struct panel_desc hannstar_hsd101pww2 = { +- .timings = &hannstar_hsd101pww2_timing, +- .num_timings = 1, +- .bpc = 8, +- .size = { +- .width = 217, +- .height = 136, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, +- .connector_type = DRM_MODE_CONNECTOR_LVDS, +-}; +- + static const struct drm_display_mode hitachi_tx23d38vm0caa_mode = { + .clock = 33333, + .hdisplay = 800, +@@ -2484,7 +2172,6 @@ static const struct panel_desc innolux_a + .height = 54, + }, + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .connector_type = DRM_MODE_CONNECTOR_DPI, + .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, + }; + +@@ -2542,31 +2229,6 @@ static const struct panel_desc innolux_g + .connector_type = DRM_MODE_CONNECTOR_LVDS, + }; + +-static const struct drm_display_mode innolux_g070y2_t02_mode = { +- .clock = 33333, +- .hdisplay = 800, +- .hsync_start = 800 + 210, +- .hsync_end = 800 + 210 + 20, +- .htotal = 800 + 210 + 20 + 46, +- .vdisplay = 480, +- .vsync_start = 480 + 22, +- .vsync_end = 480 + 22 + 10, +- .vtotal = 480 + 22 + 23 + 10, +-}; +- +-static const struct panel_desc innolux_g070y2_t02 = { +- .modes = &innolux_g070y2_t02_mode, +- .num_modes = 1, +- .bpc = 8, +- .size = { +- .width = 152, +- .height = 92, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, +-}; +- + static const struct display_timing innolux_g101ice_l01_timing = { + .pixelclock = { 60400000, 71100000, 74700000 }, + .hactive = { 1280, 1280, 1280 }, +@@ -2908,70 +2570,6 @@ static const struct panel_desc logictech + .connector_type = DRM_MODE_CONNECTOR_LVDS, + }; + +-static const struct drm_display_mode logictechno_lttd800480070_l2rt_mode = { +- .clock = 33000, +- .hdisplay = 800, +- .hsync_start = 800 + 112, +- .hsync_end = 800 + 112 + 3, +- .htotal = 800 + 112 + 3 + 85, +- .vdisplay = 480, +- .vsync_start = 480 + 38, +- .vsync_end = 480 + 38 + 3, +- .vtotal = 480 + 38 + 3 + 29, +- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, +-}; +- +-static const struct panel_desc logictechno_lttd800480070_l2rt = { +- .modes = &logictechno_lttd800480070_l2rt_mode, +- .num_modes = 1, +- .bpc = 8, +- .size = { +- .width = 154, +- .height = 86, +- }, +- .delay = { +- .prepare = 45, +- .enable = 100, +- .disable = 100, +- .unprepare = 45 +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, +-}; +- +-static const struct drm_display_mode logictechno_lttd800480070_l6wh_rt_mode = { +- .clock = 33000, +- .hdisplay = 800, +- .hsync_start = 800 + 154, +- .hsync_end = 800 + 154 + 3, +- .htotal = 800 + 154 + 3 + 43, +- .vdisplay = 480, +- .vsync_start = 480 + 47, +- .vsync_end = 480 + 47 + 3, +- .vtotal = 480 + 47 + 3 + 20, +- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, +-}; +- +-static const struct panel_desc logictechno_lttd800480070_l6wh_rt = { +- .modes = &logictechno_lttd800480070_l6wh_rt_mode, +- .num_modes = 1, +- .bpc = 8, +- .size = { +- .width = 154, +- .height = 86, +- }, +- .delay = { +- .prepare = 45, +- .enable = 100, +- .disable = 100, +- .unprepare = 45 +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, +-}; +- + static const struct drm_display_mode logicpd_type_28_mode = { + .clock = 9107, + .hdisplay = 480, +@@ -3006,129 +2604,6 @@ static const struct panel_desc logicpd_t + .connector_type = DRM_MODE_CONNECTOR_DPI, + }; + +-static const struct drm_display_mode mitsubishi_aa070mc01_mode = { +- .clock = 30400, +- .hdisplay = 800, +- .hsync_start = 800 + 0, +- .hsync_end = 800 + 1, +- .htotal = 800 + 0 + 1 + 160, +- .vdisplay = 480, +- .vsync_start = 480 + 0, +- .vsync_end = 480 + 48 + 1, +- .vtotal = 480 + 48 + 1 + 0, +- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, +-}; +- +-static const struct panel_desc mitsubishi_aa070mc01 = { +- .modes = &mitsubishi_aa070mc01_mode, +- .num_modes = 1, +- .bpc = 8, +- .size = { +- .width = 152, +- .height = 91, +- }, +- +- .delay = { +- .enable = 200, +- .unprepare = 200, +- .disable = 400, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, +- .connector_type = DRM_MODE_CONNECTOR_LVDS, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH, +-}; +- +-static const struct display_timing multi_inno_mi0700s4t_6_timing = { +- .pixelclock = { 29000000, 33000000, 38000000 }, +- .hactive = { 800, 800, 800 }, +- .hfront_porch = { 180, 210, 240 }, +- .hback_porch = { 16, 16, 16 }, +- .hsync_len = { 30, 30, 30 }, +- .vactive = { 480, 480, 480 }, +- .vfront_porch = { 12, 22, 32 }, +- .vback_porch = { 10, 10, 10 }, +- .vsync_len = { 13, 13, 13 }, +- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | +- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE | +- DISPLAY_FLAGS_SYNC_POSEDGE, +-}; +- +-static const struct panel_desc multi_inno_mi0700s4t_6 = { +- .timings = &multi_inno_mi0700s4t_6_timing, +- .num_timings = 1, +- .bpc = 8, +- .size = { +- .width = 154, +- .height = 86, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH | +- DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE | +- DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, +-}; +- +-static const struct display_timing multi_inno_mi0800ft_9_timing = { +- .pixelclock = { 32000000, 40000000, 50000000 }, +- .hactive = { 800, 800, 800 }, +- .hfront_porch = { 16, 210, 354 }, +- .hback_porch = { 6, 26, 45 }, +- .hsync_len = { 1, 20, 40 }, +- .vactive = { 600, 600, 600 }, +- .vfront_porch = { 1, 12, 77 }, +- .vback_porch = { 3, 13, 22 }, +- .vsync_len = { 1, 10, 20 }, +- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | +- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE | +- DISPLAY_FLAGS_SYNC_POSEDGE, +-}; +- +-static const struct panel_desc multi_inno_mi0800ft_9 = { +- .timings = &multi_inno_mi0800ft_9_timing, +- .num_timings = 1, +- .bpc = 8, +- .size = { +- .width = 162, +- .height = 122, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH | +- DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE | +- DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, +-}; +- +-static const struct display_timing multi_inno_mi1010ait_1cp_timing = { +- .pixelclock = { 68900000, 70000000, 73400000 }, +- .hactive = { 1280, 1280, 1280 }, +- .hfront_porch = { 30, 60, 71 }, +- .hback_porch = { 30, 60, 71 }, +- .hsync_len = { 10, 10, 48 }, +- .vactive = { 800, 800, 800 }, +- .vfront_porch = { 5, 10, 10 }, +- .vback_porch = { 5, 10, 10 }, +- .vsync_len = { 5, 6, 13 }, +- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | +- DISPLAY_FLAGS_DE_HIGH, +-}; +- +-static const struct panel_desc multi_inno_mi1010ait_1cp = { +- .timings = &multi_inno_mi1010ait_1cp_timing, +- .num_timings = 1, +- .bpc = 8, +- .size = { +- .width = 217, +- .height = 136, +- }, +- .delay = { +- .enable = 50, +- .disable = 50, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH, +- .connector_type = DRM_MODE_CONNECTOR_LVDS, +-}; +- + static const struct display_timing nec_nl12880bc20_05_timing = { + .pixelclock = { 67000000, 71000000, 75000000 }, + .hactive = { 1280, 1280, 1280 }, +@@ -3477,7 +2952,6 @@ static const struct drm_display_mode pow + .vsync_start = 480 + 49, + .vsync_end = 480 + 49 + 2, + .vtotal = 480 + 49 + 2 + 22, +- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, + }; + + static const struct panel_desc powertip_ph800480t013_idf02 = { +@@ -3517,46 +2991,6 @@ static const struct panel_desc qd43003c0 + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, + }; + +-static const struct drm_display_mode qishenglong_gopher2b_lcd_modes[] = { +- { /* 60 Hz */ +- .clock = 10800, +- .hdisplay = 480, +- .hsync_start = 480 + 77, +- .hsync_end = 480 + 77 + 41, +- .htotal = 480 + 77 + 41 + 2, +- .vdisplay = 272, +- .vsync_start = 272 + 16, +- .vsync_end = 272 + 16 + 10, +- .vtotal = 272 + 16 + 10 + 2, +- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, +- }, +- { /* 50 Hz */ +- .clock = 10800, +- .hdisplay = 480, +- .hsync_start = 480 + 17, +- .hsync_end = 480 + 17 + 41, +- .htotal = 480 + 17 + 41 + 2, +- .vdisplay = 272, +- .vsync_start = 272 + 116, +- .vsync_end = 272 + 116 + 10, +- .vtotal = 272 + 116 + 10 + 2, +- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, +- }, +-}; +- +-static const struct panel_desc qishenglong_gopher2b_lcd = { +- .modes = qishenglong_gopher2b_lcd_modes, +- .num_modes = ARRAY_SIZE(qishenglong_gopher2b_lcd_modes), +- .bpc = 8, +- .size = { +- .width = 95, +- .height = 54, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, +- .connector_type = DRM_MODE_CONNECTOR_DPI, +-}; +- + static const struct display_timing rocktech_rk070er9427_timing = { + .pixelclock = { 26400000, 33300000, 46800000 }, + .hactive = { 800, 800, 800 }, +@@ -3601,7 +3035,6 @@ static const struct drm_display_mode roc + + static const struct panel_desc rocktech_rk101ii01d_ct = { + .modes = &rocktech_rk101ii01d_ct_mode, +- .bpc = 8, + .num_modes = 1, + .size = { + .width = 217, +@@ -3616,37 +3049,6 @@ static const struct panel_desc rocktech_ + .connector_type = DRM_MODE_CONNECTOR_LVDS, + }; + +-static const struct display_timing samsung_ltl101al01_timing = { +- .pixelclock = { 66663000, 66663000, 66663000 }, +- .hactive = { 1280, 1280, 1280 }, +- .hfront_porch = { 18, 18, 18 }, +- .hback_porch = { 36, 36, 36 }, +- .hsync_len = { 16, 16, 16 }, +- .vactive = { 800, 800, 800 }, +- .vfront_porch = { 4, 4, 4 }, +- .vback_porch = { 16, 16, 16 }, +- .vsync_len = { 3, 3, 3 }, +- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW, +-}; +- +-static const struct panel_desc samsung_ltl101al01 = { +- .timings = &samsung_ltl101al01_timing, +- .num_timings = 1, +- .bpc = 8, +- .size = { +- .width = 217, +- .height = 135, +- }, +- .delay = { +- .prepare = 40, +- .enable = 300, +- .disable = 200, +- .unprepare = 600, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, +- .connector_type = DRM_MODE_CONNECTOR_LVDS, +-}; +- + static const struct drm_display_mode samsung_ltn101nt05_mode = { + .clock = 54030, + .hdisplay = 1024, +@@ -3858,68 +3260,6 @@ static const struct panel_desc starry_kr + .connector_type = DRM_MODE_CONNECTOR_DPI, + }; + +-static const struct display_timing startek_kd070wvfpa_mode = { +- .pixelclock = { 25200000, 27200000, 30500000 }, +- .hactive = { 800, 800, 800 }, +- .hfront_porch = { 19, 44, 115 }, +- .hback_porch = { 5, 16, 101 }, +- .hsync_len = { 1, 2, 100 }, +- .vactive = { 480, 480, 480 }, +- .vfront_porch = { 5, 43, 67 }, +- .vback_porch = { 5, 5, 67 }, +- .vsync_len = { 1, 2, 66 }, +- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | +- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE | +- DISPLAY_FLAGS_SYNC_POSEDGE, +-}; +- +-static const struct panel_desc startek_kd070wvfpa = { +- .timings = &startek_kd070wvfpa_mode, +- .num_timings = 1, +- .bpc = 8, +- .size = { +- .width = 152, +- .height = 91, +- }, +- .delay = { +- .prepare = 20, +- .enable = 200, +- .disable = 200, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .connector_type = DRM_MODE_CONNECTOR_DPI, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH | +- DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE | +- DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE, +-}; +- +-static const struct display_timing tsd_tst043015cmhx_timing = { +- .pixelclock = { 5000000, 9000000, 12000000 }, +- .hactive = { 480, 480, 480 }, +- .hfront_porch = { 4, 5, 65 }, +- .hback_porch = { 36, 40, 255 }, +- .hsync_len = { 1, 1, 1 }, +- .vactive = { 272, 272, 272 }, +- .vfront_porch = { 2, 8, 97 }, +- .vback_porch = { 3, 8, 31 }, +- .vsync_len = { 1, 1, 1 }, +- +- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | +- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE, +-}; +- +-static const struct panel_desc tsd_tst043015cmhx = { +- .timings = &tsd_tst043015cmhx_timing, +- .num_timings = 1, +- .bpc = 8, +- .size = { +- .width = 105, +- .height = 67, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, +-}; +- + static const struct drm_display_mode tfc_s9700rtwv43tr_01b_mode = { + .clock = 30000, + .hdisplay = 800, +@@ -4166,31 +3506,6 @@ static const struct panel_desc urt_umsh_ + .bus_format = MEDIA_BUS_FMT_RGB666_1X18, + }; + +-static const struct drm_display_mode vivax_tpc9150_panel_mode = { +- .clock = 60000, +- .hdisplay = 1024, +- .hsync_start = 1024 + 160, +- .hsync_end = 1024 + 160 + 100, +- .htotal = 1024 + 160 + 100 + 60, +- .vdisplay = 600, +- .vsync_start = 600 + 12, +- .vsync_end = 600 + 12 + 10, +- .vtotal = 600 + 12 + 10 + 13, +-}; +- +-static const struct panel_desc vivax_tpc9150_panel = { +- .modes = &vivax_tpc9150_panel_mode, +- .num_modes = 1, +- .bpc = 6, +- .size = { +- .width = 200, +- .height = 115, +- }, +- .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH, +- .connector_type = DRM_MODE_CONNECTOR_LVDS, +-}; +- + static const struct drm_display_mode vl050_8048nt_c01_mode = { + .clock = 33333, + .hdisplay = 800, +@@ -4240,32 +3555,6 @@ static const struct panel_desc winstar_w + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, + }; + +-static const struct drm_display_mode yes_optoelectronics_ytc700tlag_05_201c_mode = { +- .clock = 51200, +- .hdisplay = 1024, +- .hsync_start = 1024 + 100, +- .hsync_end = 1024 + 100 + 100, +- .htotal = 1024 + 100 + 100 + 120, +- .vdisplay = 600, +- .vsync_start = 600 + 10, +- .vsync_end = 600 + 10 + 10, +- .vtotal = 600 + 10 + 10 + 15, +- .flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC, +-}; +- +-static const struct panel_desc yes_optoelectronics_ytc700tlag_05_201c = { +- .modes = &yes_optoelectronics_ytc700tlag_05_201c_mode, +- .num_modes = 1, +- .bpc = 8, +- .size = { +- .width = 154, +- .height = 90, +- }, +- .bus_flags = DRM_BUS_FLAG_DE_HIGH, +- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, +- .connector_type = DRM_MODE_CONNECTOR_LVDS, +-}; +- + static const struct drm_display_mode arm_rtsm_mode[] = { + { + .clock = 65000, +@@ -4306,9 +3595,6 @@ static const struct of_device_id platfor + .compatible = "ampire,am800480r3tmqwa1h", + .data = &ire_am800480r3tmqwa1h, + }, { +- .compatible = "ampire,am800600p5tmqw-tb8h", +- .data = &ire_am800600p5tmqwtb8h, +- }, { + .compatible = "arm,rtsm-display", + .data = &arm_rtsm, + }, { +@@ -4384,12 +3670,6 @@ static const struct of_device_id platfor + .compatible = "chunghwa,claa101wb01", + .data = &chunghwa_claa101wb01 + }, { +- .compatible = "dataimage,fg040346dsswbg04", +- .data = &dataimage_fg040346dsswbg04, +- }, { +- .compatible = "dataimage,fg1001l0dsswmg01", +- .data = &dataimage_fg1001l0dsswmg01, +- }, { + .compatible = "dataimage,scf0700c48ggu18", + .data = &dataimage_scf0700c48ggu18, + }, { +@@ -4402,9 +3682,6 @@ static const struct of_device_id platfor + .compatible = "edt,et035012dm6", + .data = &edt_et035012dm6, + }, { +- .compatible = "edt,etm0350g0dh6", +- .data = &edt_etm0350g0dh6, +- }, { + .compatible = "edt,etm043080dh6gp", + .data = &edt_etm043080dh6gp, + }, { +@@ -4426,15 +3703,6 @@ static const struct of_device_id platfor + .compatible = "edt,etm0700g0edh6", + .data = &edt_etm0700g0bdh6, + }, { +- .compatible = "edt,etml0700y5dha", +- .data = &edt_etml0700y5dha, +- }, { +- .compatible = "edt,etmv570g2dhu", +- .data = &edt_etmv570g2dhu, +- }, { +- .compatible = "eink,vb3300-kca", +- .data = &eink_vb3300_kca, +- }, { + .compatible = "evervision,vgg804821", + .data = &evervision_vgg804821, + }, { +@@ -4459,9 +3727,6 @@ static const struct of_device_id platfor + .compatible = "hannstar,hsd100pxn1", + .data = &hannstar_hsd100pxn1, + }, { +- .compatible = "hannstar,hsd101pww2", +- .data = &hannstar_hsd101pww2, +- }, { + .compatible = "hit,tx23d38vm0caa", + .data = &hitachi_tx23d38vm0caa + }, { +@@ -4474,9 +3739,6 @@ static const struct of_device_id platfor + .compatible = "innolux,g070y2-l01", + .data = &innolux_g070y2_l01, + }, { +- .compatible = "innolux,g070y2-t02", +- .data = &innolux_g070y2_t02, +- }, { + .compatible = "innolux,g101ice-l01", + .data = &innolux_g101ice_l01 + }, { +@@ -4522,24 +3784,6 @@ static const struct of_device_id platfor + .compatible = "logictechno,lt170410-2whc", + .data = &logictechno_lt170410_2whc, + }, { +- .compatible = "logictechno,lttd800480070-l2rt", +- .data = &logictechno_lttd800480070_l2rt, +- }, { +- .compatible = "logictechno,lttd800480070-l6wh-rt", +- .data = &logictechno_lttd800480070_l6wh_rt, +- }, { +- .compatible = "mitsubishi,aa070mc01-ca1", +- .data = &mitsubishi_aa070mc01, +- }, { +- .compatible = "multi-inno,mi0700s4t-6", +- .data = &multi_inno_mi0700s4t_6, +- }, { +- .compatible = "multi-inno,mi0800ft-9", +- .data = &multi_inno_mi0800ft_9, +- }, { +- .compatible = "multi-inno,mi1010ait-1cp", +- .data = &multi_inno_mi1010ait_1cp, +- }, { + .compatible = "nec,nl12880bc20-05", + .data = &nec_nl12880bc20_05, + }, { +@@ -4588,18 +3832,12 @@ static const struct of_device_id platfor + .compatible = "qiaodian,qd43003c0-40", + .data = &qd43003c0_40, + }, { +- .compatible = "qishenglong,gopher2b-lcd", +- .data = &qishenglong_gopher2b_lcd, +- }, { + .compatible = "rocktech,rk070er9427", + .data = &rocktech_rk070er9427, + }, { + .compatible = "rocktech,rk101ii01d-ct", + .data = &rocktech_rk101ii01d_ct, + }, { +- .compatible = "samsung,ltl101al01", +- .data = &samsung_ltl101al01, +- }, { + .compatible = "samsung,ltn101nt05", + .data = &samsung_ltn101nt05, + }, { +@@ -4624,12 +3862,6 @@ static const struct of_device_id platfor + .compatible = "starry,kr070pe2t", + .data = &starry_kr070pe2t, + }, { +- .compatible = "startek,kd070wvfpa", +- .data = &startek_kd070wvfpa, +- }, { +- .compatible = "team-source-display,tst043015cmhx", +- .data = &tsd_tst043015cmhx, +- }, { + .compatible = "tfc,s9700rtwv43tr-01b", + .data = &tfc_s9700rtwv43tr_01b, + }, { +@@ -4675,18 +3907,12 @@ static const struct of_device_id platfor + .compatible = "urt,umsh-8596md-20t", + .data = &urt_umsh_8596md_parallel, + }, { +- .compatible = "vivax,tpc9150-panel", +- .data = &vivax_tpc9150_panel, +- }, { + .compatible = "vxt,vl050-8048nt-c01", + .data = &vl050_8048nt_c01, + }, { + .compatible = "winstar,wf35ltiacd", + .data = &winstar_wf35ltiacd, + }, { +- .compatible = "yes-optoelectronics,ytc700tlag-05-201c", +- .data = &yes_optoelectronics_ytc700tlag_05_201c, +- }, { + /* Must be the last entry */ + .compatible = "panel-dpi", + .data = &panel_dpi, +@@ -4826,9 +4052,7 @@ static int panel_simple_platform_probe(s + + static int panel_simple_platform_remove(struct platform_device *pdev) + { +- panel_simple_remove(&pdev->dev); +- +- return 0; ++ return panel_simple_remove(&pdev->dev); + } + + static void panel_simple_platform_shutdown(struct platform_device *pdev) +@@ -4836,17 +4060,10 @@ static void panel_simple_platform_shutdo + panel_simple_shutdown(&pdev->dev); + } + +-static const struct dev_pm_ops panel_simple_pm_ops = { +- SET_RUNTIME_PM_OPS(panel_simple_suspend, panel_simple_resume, NULL) +- SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, +- pm_runtime_force_resume) +-}; +- + static struct platform_driver panel_simple_platform_driver = { + .driver = { + .name = "panel-simple", + .of_match_table = platform_of_match, +- .pm = &panel_simple_pm_ops, + }, + .probe = panel_simple_platform_probe, + .remove = panel_simple_platform_remove, +@@ -5175,7 +4392,7 @@ static int panel_simple_dsi_probe(struct + + err = mipi_dsi_attach(dsi); + if (err) { +- struct panel_simple *panel = mipi_dsi_get_drvdata(dsi); ++ struct panel_simple *panel = dev_get_drvdata(&dsi->dev); + + drm_panel_remove(&panel->base); + } +@@ -5183,7 +4400,7 @@ static int panel_simple_dsi_probe(struct + return err; + } + +-static void panel_simple_dsi_remove(struct mipi_dsi_device *dsi) ++static int panel_simple_dsi_remove(struct mipi_dsi_device *dsi) + { + int err; + +@@ -5191,7 +4408,7 @@ static void panel_simple_dsi_remove(stru + if (err < 0) + dev_err(&dsi->dev, "failed to detach from DSI host: %d\n", err); + +- panel_simple_remove(&dsi->dev); ++ return panel_simple_remove(&dsi->dev); + } + + static void panel_simple_dsi_shutdown(struct mipi_dsi_device *dsi) +@@ -5203,7 +4420,6 @@ static struct mipi_dsi_driver panel_simp + .driver = { + .name = "panel-simple-dsi", + .of_match_table = dsi_of_match, +- .pm = &panel_simple_pm_ops, + }, + .probe = panel_simple_dsi_probe, + .remove = panel_simple_dsi_remove, +@@ -5297,9 +4513,9 @@ static int panel_simple_spi_probe(struct + return panel_simple_probe(dev, desc); + } + +-static void panel_simple_spi_remove(struct spi_device *spi) ++static int panel_simple_spi_remove(struct spi_device *spi) + { +- panel_simple_remove(&spi->dev); ++ return panel_simple_remove(&spi->dev); + } + + static void panel_simple_spi_shutdown(struct spi_device *spi) +@@ -5334,15 +4550,10 @@ static int __init panel_simple_init(void + if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) { + err = mipi_dsi_driver_register(&panel_simple_dsi_driver); + if (err < 0) +- goto err_did_platform_register; ++ return err; + } + + return 0; +- +-err_did_platform_register: +- platform_driver_unregister(&panel_simple_platform_driver); +- +- return err; + } + module_init(panel_simple_init); + +diff -rupN linux.orig/include/drm/drm_dp_helper.h linux/include/drm/drm_dp_helper.h +--- linux.orig/include/drm/drm_dp_helper.h 1970-01-01 00:00:00.000000000 +0000 ++++ linux/include/drm/drm_dp_helper.h 2024-03-22 22:45:57.005358291 +0000 +@@ -0,0 +1,1856 @@ ++/* ++ * Copyright © 2008 Keith Packard ++ * ++ * Permission to use, copy, modify, distribute, and sell this software and its ++ * documentation for any purpose is hereby granted without fee, provided that ++ * the above copyright notice appear in all copies and that both that copyright ++ * notice and this permission notice appear in supporting documentation, and ++ * that the name of the copyright holders not be used in advertising or ++ * publicity pertaining to distribution of the software without specific, ++ * written prior permission. The copyright holders make no representations ++ * about the suitability of this software for any purpose. It is provided "as ++ * is" without express or implied warranty. ++ * ++ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, ++ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO ++ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR ++ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER ++ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE ++ * OF THIS SOFTWARE. ++ */ ++ ++#ifndef _DRM_DP_HELPER_H_ ++#define _DRM_DP_HELPER_H_ ++ ++#include ++#include ++#include ++#include ++ ++struct drm_device; ++ ++/* ++ * Unless otherwise noted, all values are from the DP 1.1a spec. Note that ++ * DP and DPCD versions are independent. Differences from 1.0 are not noted, ++ * 1.0 devices basically don't exist in the wild. ++ * ++ * Abbreviations, in chronological order: ++ * ++ * eDP: Embedded DisplayPort version 1 ++ * DPI: DisplayPort Interoperability Guideline v1.1a ++ * 1.2: DisplayPort 1.2 ++ * MST: Multistream Transport - part of DP 1.2a ++ * ++ * 1.2 formally includes both eDP and DPI definitions. ++ */ ++ ++/* MSA (Main Stream Attribute) MISC bits (as MISC1<<8|MISC0) */ ++#define DP_MSA_MISC_SYNC_CLOCK (1 << 0) ++#define DP_MSA_MISC_INTERLACE_VTOTAL_EVEN (1 << 8) ++#define DP_MSA_MISC_STEREO_NO_3D (0 << 9) ++#define DP_MSA_MISC_STEREO_PROG_RIGHT_EYE (1 << 9) ++#define DP_MSA_MISC_STEREO_PROG_LEFT_EYE (3 << 9) ++/* bits per component for non-RAW */ ++#define DP_MSA_MISC_6_BPC (0 << 5) ++#define DP_MSA_MISC_8_BPC (1 << 5) ++#define DP_MSA_MISC_10_BPC (2 << 5) ++#define DP_MSA_MISC_12_BPC (3 << 5) ++#define DP_MSA_MISC_16_BPC (4 << 5) ++/* bits per component for RAW */ ++#define DP_MSA_MISC_RAW_6_BPC (1 << 5) ++#define DP_MSA_MISC_RAW_7_BPC (2 << 5) ++#define DP_MSA_MISC_RAW_8_BPC (3 << 5) ++#define DP_MSA_MISC_RAW_10_BPC (4 << 5) ++#define DP_MSA_MISC_RAW_12_BPC (5 << 5) ++#define DP_MSA_MISC_RAW_14_BPC (6 << 5) ++#define DP_MSA_MISC_RAW_16_BPC (7 << 5) ++/* pixel encoding/colorimetry format */ ++#define _DP_MSA_MISC_COLOR(misc1_7, misc0_21, misc0_3, misc0_4) \ ++ ((misc1_7) << 15 | (misc0_4) << 4 | (misc0_3) << 3 | ((misc0_21) << 1)) ++#define DP_MSA_MISC_COLOR_RGB _DP_MSA_MISC_COLOR(0, 0, 0, 0) ++#define DP_MSA_MISC_COLOR_CEA_RGB _DP_MSA_MISC_COLOR(0, 0, 1, 0) ++#define DP_MSA_MISC_COLOR_RGB_WIDE_FIXED _DP_MSA_MISC_COLOR(0, 3, 0, 0) ++#define DP_MSA_MISC_COLOR_RGB_WIDE_FLOAT _DP_MSA_MISC_COLOR(0, 3, 0, 1) ++#define DP_MSA_MISC_COLOR_Y_ONLY _DP_MSA_MISC_COLOR(1, 0, 0, 0) ++#define DP_MSA_MISC_COLOR_RAW _DP_MSA_MISC_COLOR(1, 1, 0, 0) ++#define DP_MSA_MISC_COLOR_YCBCR_422_BT601 _DP_MSA_MISC_COLOR(0, 1, 1, 0) ++#define DP_MSA_MISC_COLOR_YCBCR_422_BT709 _DP_MSA_MISC_COLOR(0, 1, 1, 1) ++#define DP_MSA_MISC_COLOR_YCBCR_444_BT601 _DP_MSA_MISC_COLOR(0, 2, 1, 0) ++#define DP_MSA_MISC_COLOR_YCBCR_444_BT709 _DP_MSA_MISC_COLOR(0, 2, 1, 1) ++#define DP_MSA_MISC_COLOR_XVYCC_422_BT601 _DP_MSA_MISC_COLOR(0, 1, 0, 0) ++#define DP_MSA_MISC_COLOR_XVYCC_422_BT709 _DP_MSA_MISC_COLOR(0, 1, 0, 1) ++#define DP_MSA_MISC_COLOR_XVYCC_444_BT601 _DP_MSA_MISC_COLOR(0, 2, 0, 0) ++#define DP_MSA_MISC_COLOR_XVYCC_444_BT709 _DP_MSA_MISC_COLOR(0, 2, 0, 1) ++#define DP_MSA_MISC_COLOR_OPRGB _DP_MSA_MISC_COLOR(0, 0, 1, 1) ++#define DP_MSA_MISC_COLOR_DCI_P3 _DP_MSA_MISC_COLOR(0, 3, 1, 0) ++#define DP_MSA_MISC_COLOR_COLOR_PROFILE _DP_MSA_MISC_COLOR(0, 3, 1, 1) ++#define DP_MSA_MISC_COLOR_VSC_SDP (1 << 14) ++ ++#define DP_AUX_MAX_PAYLOAD_BYTES 16 ++ ++#define DP_AUX_I2C_WRITE 0x0 ++#define DP_AUX_I2C_READ 0x1 ++#define DP_AUX_I2C_WRITE_STATUS_UPDATE 0x2 ++#define DP_AUX_I2C_MOT 0x4 ++#define DP_AUX_NATIVE_WRITE 0x8 ++#define DP_AUX_NATIVE_READ 0x9 ++ ++#define DP_AUX_NATIVE_REPLY_ACK (0x0 << 0) ++#define DP_AUX_NATIVE_REPLY_NACK (0x1 << 0) ++#define DP_AUX_NATIVE_REPLY_DEFER (0x2 << 0) ++#define DP_AUX_NATIVE_REPLY_MASK (0x3 << 0) ++ ++#define DP_AUX_I2C_REPLY_ACK (0x0 << 2) ++#define DP_AUX_I2C_REPLY_NACK (0x1 << 2) ++#define DP_AUX_I2C_REPLY_DEFER (0x2 << 2) ++#define DP_AUX_I2C_REPLY_MASK (0x3 << 2) ++ ++/* AUX CH addresses */ ++/* DPCD */ ++#define DP_DPCD_REV 0x000 ++# define DP_DPCD_REV_10 0x10 ++# define DP_DPCD_REV_11 0x11 ++# define DP_DPCD_REV_12 0x12 ++# define DP_DPCD_REV_13 0x13 ++# define DP_DPCD_REV_14 0x14 ++ ++#define DP_MAX_LINK_RATE 0x001 ++ ++#define DP_MAX_LANE_COUNT 0x002 ++# define DP_MAX_LANE_COUNT_MASK 0x1f ++# define DP_TPS3_SUPPORTED (1 << 6) /* 1.2 */ ++# define DP_ENHANCED_FRAME_CAP (1 << 7) ++ ++#define DP_MAX_DOWNSPREAD 0x003 ++# define DP_MAX_DOWNSPREAD_0_5 (1 << 0) ++# define DP_NO_AUX_HANDSHAKE_LINK_TRAINING (1 << 6) ++# define DP_TPS4_SUPPORTED (1 << 7) ++ ++#define DP_NORP 0x004 ++ ++#define DP_DOWNSTREAMPORT_PRESENT 0x005 ++# define DP_DWN_STRM_PORT_PRESENT (1 << 0) ++# define DP_DWN_STRM_PORT_TYPE_MASK 0x06 ++# define DP_DWN_STRM_PORT_TYPE_DP (0 << 1) ++# define DP_DWN_STRM_PORT_TYPE_ANALOG (1 << 1) ++# define DP_DWN_STRM_PORT_TYPE_TMDS (2 << 1) ++# define DP_DWN_STRM_PORT_TYPE_OTHER (3 << 1) ++# define DP_FORMAT_CONVERSION (1 << 3) ++# define DP_DETAILED_CAP_INFO_AVAILABLE (1 << 4) /* DPI */ ++ ++#define DP_MAIN_LINK_CHANNEL_CODING 0x006 ++# define DP_CAP_ANSI_8B10B (1 << 0) ++ ++#define DP_DOWN_STREAM_PORT_COUNT 0x007 ++# define DP_PORT_COUNT_MASK 0x0f ++# define DP_MSA_TIMING_PAR_IGNORED (1 << 6) /* eDP */ ++# define DP_OUI_SUPPORT (1 << 7) ++ ++#define DP_RECEIVE_PORT_0_CAP_0 0x008 ++# define DP_LOCAL_EDID_PRESENT (1 << 1) ++# define DP_ASSOCIATED_TO_PRECEDING_PORT (1 << 2) ++ ++#define DP_RECEIVE_PORT_0_BUFFER_SIZE 0x009 ++ ++#define DP_RECEIVE_PORT_1_CAP_0 0x00a ++#define DP_RECEIVE_PORT_1_BUFFER_SIZE 0x00b ++ ++#define DP_I2C_SPEED_CAP 0x00c /* DPI */ ++# define DP_I2C_SPEED_1K 0x01 ++# define DP_I2C_SPEED_5K 0x02 ++# define DP_I2C_SPEED_10K 0x04 ++# define DP_I2C_SPEED_100K 0x08 ++# define DP_I2C_SPEED_400K 0x10 ++# define DP_I2C_SPEED_1M 0x20 ++ ++#define DP_EDP_CONFIGURATION_CAP 0x00d /* XXX 1.2? */ ++# define DP_ALTERNATE_SCRAMBLER_RESET_CAP (1 << 0) ++# define DP_FRAMING_CHANGE_CAP (1 << 1) ++# define DP_DPCD_DISPLAY_CONTROL_CAPABLE (1 << 3) /* edp v1.2 or higher */ ++ ++#define DP_TRAINING_AUX_RD_INTERVAL 0x00e /* XXX 1.2? */ ++# define DP_TRAINING_AUX_RD_MASK 0x7F /* DP 1.3 */ ++# define DP_EXTENDED_RECEIVER_CAP_FIELD_PRESENT (1 << 7) /* DP 1.3 */ ++ ++#define DP_ADAPTER_CAP 0x00f /* 1.2 */ ++# define DP_FORCE_LOAD_SENSE_CAP (1 << 0) ++# define DP_ALTERNATE_I2C_PATTERN_CAP (1 << 1) ++ ++#define DP_SUPPORTED_LINK_RATES 0x010 /* eDP 1.4 */ ++# define DP_MAX_SUPPORTED_RATES 8 /* 16-bit little-endian */ ++ ++/* Multiple stream transport */ ++#define DP_FAUX_CAP 0x020 /* 1.2 */ ++# define DP_FAUX_CAP_1 (1 << 0) ++ ++#define DP_MSTM_CAP 0x021 /* 1.2 */ ++# define DP_MST_CAP (1 << 0) ++ ++#define DP_NUMBER_OF_AUDIO_ENDPOINTS 0x022 /* 1.2 */ ++ ++/* AV_SYNC_DATA_BLOCK 1.2 */ ++#define DP_AV_GRANULARITY 0x023 ++# define DP_AG_FACTOR_MASK (0xf << 0) ++# define DP_AG_FACTOR_3MS (0 << 0) ++# define DP_AG_FACTOR_2MS (1 << 0) ++# define DP_AG_FACTOR_1MS (2 << 0) ++# define DP_AG_FACTOR_500US (3 << 0) ++# define DP_AG_FACTOR_200US (4 << 0) ++# define DP_AG_FACTOR_100US (5 << 0) ++# define DP_AG_FACTOR_10US (6 << 0) ++# define DP_AG_FACTOR_1US (7 << 0) ++# define DP_VG_FACTOR_MASK (0xf << 4) ++# define DP_VG_FACTOR_3MS (0 << 4) ++# define DP_VG_FACTOR_2MS (1 << 4) ++# define DP_VG_FACTOR_1MS (2 << 4) ++# define DP_VG_FACTOR_500US (3 << 4) ++# define DP_VG_FACTOR_200US (4 << 4) ++# define DP_VG_FACTOR_100US (5 << 4) ++ ++#define DP_AUD_DEC_LAT0 0x024 ++#define DP_AUD_DEC_LAT1 0x025 ++ ++#define DP_AUD_PP_LAT0 0x026 ++#define DP_AUD_PP_LAT1 0x027 ++ ++#define DP_VID_INTER_LAT 0x028 ++ ++#define DP_VID_PROG_LAT 0x029 ++ ++#define DP_REP_LAT 0x02a ++ ++#define DP_AUD_DEL_INS0 0x02b ++#define DP_AUD_DEL_INS1 0x02c ++#define DP_AUD_DEL_INS2 0x02d ++/* End of AV_SYNC_DATA_BLOCK */ ++ ++#define DP_RECEIVER_ALPM_CAP 0x02e /* eDP 1.4 */ ++# define DP_ALPM_CAP (1 << 0) ++ ++#define DP_SINK_DEVICE_AUX_FRAME_SYNC_CAP 0x02f /* eDP 1.4 */ ++# define DP_AUX_FRAME_SYNC_CAP (1 << 0) ++ ++#define DP_GUID 0x030 /* 1.2 */ ++ ++#define DP_DSC_SUPPORT 0x060 /* DP 1.4 */ ++# define DP_DSC_DECOMPRESSION_IS_SUPPORTED (1 << 0) ++ ++#define DP_DSC_REV 0x061 ++# define DP_DSC_MAJOR_MASK (0xf << 0) ++# define DP_DSC_MINOR_MASK (0xf << 4) ++# define DP_DSC_MAJOR_SHIFT 0 ++# define DP_DSC_MINOR_SHIFT 4 ++ ++#define DP_DSC_RC_BUF_BLK_SIZE 0x062 ++# define DP_DSC_RC_BUF_BLK_SIZE_1 0x0 ++# define DP_DSC_RC_BUF_BLK_SIZE_4 0x1 ++# define DP_DSC_RC_BUF_BLK_SIZE_16 0x2 ++# define DP_DSC_RC_BUF_BLK_SIZE_64 0x3 ++ ++#define DP_DSC_RC_BUF_SIZE 0x063 ++ ++#define DP_DSC_SLICE_CAP_1 0x064 ++# define DP_DSC_1_PER_DP_DSC_SINK (1 << 0) ++# define DP_DSC_2_PER_DP_DSC_SINK (1 << 1) ++# define DP_DSC_4_PER_DP_DSC_SINK (1 << 3) ++# define DP_DSC_6_PER_DP_DSC_SINK (1 << 4) ++# define DP_DSC_8_PER_DP_DSC_SINK (1 << 5) ++# define DP_DSC_10_PER_DP_DSC_SINK (1 << 6) ++# define DP_DSC_12_PER_DP_DSC_SINK (1 << 7) ++ ++#define DP_DSC_LINE_BUF_BIT_DEPTH 0x065 ++# define DP_DSC_LINE_BUF_BIT_DEPTH_MASK (0xf << 0) ++# define DP_DSC_LINE_BUF_BIT_DEPTH_9 0x0 ++# define DP_DSC_LINE_BUF_BIT_DEPTH_10 0x1 ++# define DP_DSC_LINE_BUF_BIT_DEPTH_11 0x2 ++# define DP_DSC_LINE_BUF_BIT_DEPTH_12 0x3 ++# define DP_DSC_LINE_BUF_BIT_DEPTH_13 0x4 ++# define DP_DSC_LINE_BUF_BIT_DEPTH_14 0x5 ++# define DP_DSC_LINE_BUF_BIT_DEPTH_15 0x6 ++# define DP_DSC_LINE_BUF_BIT_DEPTH_16 0x7 ++# define DP_DSC_LINE_BUF_BIT_DEPTH_8 0x8 ++ ++#define DP_DSC_BLK_PREDICTION_SUPPORT 0x066 ++# define DP_DSC_BLK_PREDICTION_IS_SUPPORTED (1 << 0) ++ ++#define DP_DSC_MAX_BITS_PER_PIXEL_LOW 0x067 /* eDP 1.4 */ ++ ++#define DP_DSC_MAX_BITS_PER_PIXEL_HI 0x068 /* eDP 1.4 */ ++# define DP_DSC_MAX_BITS_PER_PIXEL_HI_MASK (0x3 << 0) ++# define DP_DSC_MAX_BITS_PER_PIXEL_HI_SHIFT 8 ++ ++#define DP_DSC_DEC_COLOR_FORMAT_CAP 0x069 ++# define DP_DSC_RGB (1 << 0) ++# define DP_DSC_YCbCr444 (1 << 1) ++# define DP_DSC_YCbCr422_Simple (1 << 2) ++# define DP_DSC_YCbCr422_Native (1 << 3) ++# define DP_DSC_YCbCr420_Native (1 << 4) ++ ++#define DP_DSC_DEC_COLOR_DEPTH_CAP 0x06A ++# define DP_DSC_8_BPC (1 << 1) ++# define DP_DSC_10_BPC (1 << 2) ++# define DP_DSC_12_BPC (1 << 3) ++ ++#define DP_DSC_PEAK_THROUGHPUT 0x06B ++# define DP_DSC_THROUGHPUT_MODE_0_MASK (0xf << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_SHIFT 0 ++# define DP_DSC_THROUGHPUT_MODE_0_UNSUPPORTED 0 ++# define DP_DSC_THROUGHPUT_MODE_0_340 (1 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_400 (2 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_450 (3 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_500 (4 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_550 (5 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_600 (6 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_650 (7 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_700 (8 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_750 (9 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_800 (10 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_850 (11 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_900 (12 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_950 (13 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_1000 (14 << 0) ++# define DP_DSC_THROUGHPUT_MODE_0_170 (15 << 0) /* 1.4a */ ++# define DP_DSC_THROUGHPUT_MODE_1_MASK (0xf << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_SHIFT 4 ++# define DP_DSC_THROUGHPUT_MODE_1_UNSUPPORTED 0 ++# define DP_DSC_THROUGHPUT_MODE_1_340 (1 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_400 (2 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_450 (3 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_500 (4 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_550 (5 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_600 (6 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_650 (7 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_700 (8 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_750 (9 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_800 (10 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_850 (11 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_900 (12 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_950 (13 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_1000 (14 << 4) ++# define DP_DSC_THROUGHPUT_MODE_1_170 (15 << 4) ++ ++#define DP_DSC_MAX_SLICE_WIDTH 0x06C ++#define DP_DSC_MIN_SLICE_WIDTH_VALUE 2560 ++#define DP_DSC_SLICE_WIDTH_MULTIPLIER 320 ++ ++#define DP_DSC_SLICE_CAP_2 0x06D ++# define DP_DSC_16_PER_DP_DSC_SINK (1 << 0) ++# define DP_DSC_20_PER_DP_DSC_SINK (1 << 1) ++# define DP_DSC_24_PER_DP_DSC_SINK (1 << 2) ++ ++#define DP_DSC_BITS_PER_PIXEL_INC 0x06F ++# define DP_DSC_BITS_PER_PIXEL_1_16 0x0 ++# define DP_DSC_BITS_PER_PIXEL_1_8 0x1 ++# define DP_DSC_BITS_PER_PIXEL_1_4 0x2 ++# define DP_DSC_BITS_PER_PIXEL_1_2 0x3 ++# define DP_DSC_BITS_PER_PIXEL_1 0x4 ++ ++#define DP_PSR_SUPPORT 0x070 /* XXX 1.2? */ ++# define DP_PSR_IS_SUPPORTED 1 ++# define DP_PSR2_IS_SUPPORTED 2 /* eDP 1.4 */ ++# define DP_PSR2_WITH_Y_COORD_IS_SUPPORTED 3 /* eDP 1.4a */ ++ ++#define DP_PSR_CAPS 0x071 /* XXX 1.2? */ ++# define DP_PSR_NO_TRAIN_ON_EXIT 1 ++# define DP_PSR_SETUP_TIME_330 (0 << 1) ++# define DP_PSR_SETUP_TIME_275 (1 << 1) ++# define DP_PSR_SETUP_TIME_220 (2 << 1) ++# define DP_PSR_SETUP_TIME_165 (3 << 1) ++# define DP_PSR_SETUP_TIME_110 (4 << 1) ++# define DP_PSR_SETUP_TIME_55 (5 << 1) ++# define DP_PSR_SETUP_TIME_0 (6 << 1) ++# define DP_PSR_SETUP_TIME_MASK (7 << 1) ++# define DP_PSR_SETUP_TIME_SHIFT 1 ++# define DP_PSR2_SU_Y_COORDINATE_REQUIRED (1 << 4) /* eDP 1.4a */ ++# define DP_PSR2_SU_GRANULARITY_REQUIRED (1 << 5) /* eDP 1.4b */ ++ ++#define DP_PSR2_SU_X_GRANULARITY 0x072 /* eDP 1.4b */ ++#define DP_PSR2_SU_Y_GRANULARITY 0x074 /* eDP 1.4b */ ++ ++/* ++ * 0x80-0x8f describe downstream port capabilities, but there are two layouts ++ * based on whether DP_DETAILED_CAP_INFO_AVAILABLE was set. If it was not, ++ * each port's descriptor is one byte wide. If it was set, each port's is ++ * four bytes wide, starting with the one byte from the base info. As of ++ * DP interop v1.1a only VGA defines additional detail. ++ */ ++ ++/* offset 0 */ ++#define DP_DOWNSTREAM_PORT_0 0x80 ++# define DP_DS_PORT_TYPE_MASK (7 << 0) ++# define DP_DS_PORT_TYPE_DP 0 ++# define DP_DS_PORT_TYPE_VGA 1 ++# define DP_DS_PORT_TYPE_DVI 2 ++# define DP_DS_PORT_TYPE_HDMI 3 ++# define DP_DS_PORT_TYPE_NON_EDID 4 ++# define DP_DS_PORT_TYPE_DP_DUALMODE 5 ++# define DP_DS_PORT_TYPE_WIRELESS 6 ++# define DP_DS_PORT_HPD (1 << 3) ++# define DP_DS_NON_EDID_MASK (0xf << 4) ++# define DP_DS_NON_EDID_720x480i_60 (1 << 4) ++# define DP_DS_NON_EDID_720x480i_50 (2 << 4) ++# define DP_DS_NON_EDID_1920x1080i_60 (3 << 4) ++# define DP_DS_NON_EDID_1920x1080i_50 (4 << 4) ++# define DP_DS_NON_EDID_1280x720_60 (5 << 4) ++# define DP_DS_NON_EDID_1280x720_50 (7 << 4) ++/* offset 1 for VGA is maximum megapixels per second / 8 */ ++/* offset 1 for DVI/HDMI is maximum TMDS clock in Mbps / 2.5 */ ++/* offset 2 for VGA/DVI/HDMI */ ++# define DP_DS_MAX_BPC_MASK (3 << 0) ++# define DP_DS_8BPC 0 ++# define DP_DS_10BPC 1 ++# define DP_DS_12BPC 2 ++# define DP_DS_16BPC 3 ++/* offset 3 for DVI */ ++# define DP_DS_DVI_DUAL_LINK (1 << 1) ++# define DP_DS_DVI_HIGH_COLOR_DEPTH (1 << 2) ++/* offset 3 for HDMI */ ++# define DP_DS_HDMI_FRAME_SEQ_TO_FRAME_PACK (1 << 0) ++# define DP_DS_HDMI_YCBCR422_PASS_THROUGH (1 << 1) ++# define DP_DS_HDMI_YCBCR420_PASS_THROUGH (1 << 2) ++# define DP_DS_HDMI_YCBCR444_TO_422_CONV (1 << 3) ++# define DP_DS_HDMI_YCBCR444_TO_420_CONV (1 << 4) ++ ++#define DP_MAX_DOWNSTREAM_PORTS 0x10 ++ ++/* DP Forward error Correction Registers */ ++#define DP_FEC_CAPABILITY 0x090 /* 1.4 */ ++# define DP_FEC_CAPABLE (1 << 0) ++# define DP_FEC_UNCORR_BLK_ERROR_COUNT_CAP (1 << 1) ++# define DP_FEC_CORR_BLK_ERROR_COUNT_CAP (1 << 2) ++# define DP_FEC_BIT_ERROR_COUNT_CAP (1 << 3) ++ ++/* DP Extended DSC Capabilities */ ++#define DP_DSC_BRANCH_OVERALL_THROUGHPUT_0 0x0a0 /* DP 1.4a SCR */ ++#define DP_DSC_BRANCH_OVERALL_THROUGHPUT_1 0x0a1 ++#define DP_DSC_BRANCH_MAX_LINE_WIDTH 0x0a2 ++ ++/* link configuration */ ++#define DP_LINK_BW_SET 0x100 ++# define DP_LINK_RATE_TABLE 0x00 /* eDP 1.4 */ ++# define DP_LINK_BW_1_62 0x06 ++# define DP_LINK_BW_2_7 0x0a ++# define DP_LINK_BW_5_4 0x14 /* 1.2 */ ++# define DP_LINK_BW_8_1 0x1e /* 1.4 */ ++ ++#define DP_LANE_COUNT_SET 0x101 ++# define DP_LANE_COUNT_MASK 0x0f ++# define DP_LANE_COUNT_ENHANCED_FRAME_EN (1 << 7) ++ ++#define DP_TRAINING_PATTERN_SET 0x102 ++# define DP_TRAINING_PATTERN_DISABLE 0 ++# define DP_TRAINING_PATTERN_1 1 ++# define DP_TRAINING_PATTERN_2 2 ++# define DP_TRAINING_PATTERN_3 3 /* 1.2 */ ++# define DP_TRAINING_PATTERN_4 7 /* 1.4 */ ++# define DP_TRAINING_PATTERN_MASK 0x3 ++# define DP_TRAINING_PATTERN_MASK_1_4 0xf ++ ++/* DPCD 1.1 only. For DPCD >= 1.2 see per-lane DP_LINK_QUAL_LANEn_SET */ ++# define DP_LINK_QUAL_PATTERN_11_DISABLE (0 << 2) ++# define DP_LINK_QUAL_PATTERN_11_D10_2 (1 << 2) ++# define DP_LINK_QUAL_PATTERN_11_ERROR_RATE (2 << 2) ++# define DP_LINK_QUAL_PATTERN_11_PRBS7 (3 << 2) ++# define DP_LINK_QUAL_PATTERN_11_MASK (3 << 2) ++ ++# define DP_RECOVERED_CLOCK_OUT_EN (1 << 4) ++# define DP_LINK_SCRAMBLING_DISABLE (1 << 5) ++ ++# define DP_SYMBOL_ERROR_COUNT_BOTH (0 << 6) ++# define DP_SYMBOL_ERROR_COUNT_DISPARITY (1 << 6) ++# define DP_SYMBOL_ERROR_COUNT_SYMBOL (2 << 6) ++# define DP_SYMBOL_ERROR_COUNT_MASK (3 << 6) ++ ++#define DP_TRAINING_LANE0_SET 0x103 ++#define DP_TRAINING_LANE1_SET 0x104 ++#define DP_TRAINING_LANE2_SET 0x105 ++#define DP_TRAINING_LANE3_SET 0x106 ++ ++# define DP_TRAIN_VOLTAGE_SWING_MASK 0x3 ++# define DP_TRAIN_VOLTAGE_SWING_SHIFT 0 ++# define DP_TRAIN_MAX_SWING_REACHED (1 << 2) ++# define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) ++# define DP_TRAIN_VOLTAGE_SWING_LEVEL_1 (1 << 0) ++# define DP_TRAIN_VOLTAGE_SWING_LEVEL_2 (2 << 0) ++# define DP_TRAIN_VOLTAGE_SWING_LEVEL_3 (3 << 0) ++ ++# define DP_TRAIN_PRE_EMPHASIS_MASK (3 << 3) ++# define DP_TRAIN_PRE_EMPH_LEVEL_0 (0 << 3) ++# define DP_TRAIN_PRE_EMPH_LEVEL_1 (1 << 3) ++# define DP_TRAIN_PRE_EMPH_LEVEL_2 (2 << 3) ++# define DP_TRAIN_PRE_EMPH_LEVEL_3 (3 << 3) ++ ++# define DP_TRAIN_PRE_EMPHASIS_SHIFT 3 ++# define DP_TRAIN_MAX_PRE_EMPHASIS_REACHED (1 << 5) ++ ++#define DP_DOWNSPREAD_CTRL 0x107 ++# define DP_SPREAD_AMP_0_5 (1 << 4) ++# define DP_MSA_TIMING_PAR_IGNORE_EN (1 << 7) /* eDP */ ++ ++#define DP_MAIN_LINK_CHANNEL_CODING_SET 0x108 ++# define DP_SET_ANSI_8B10B (1 << 0) ++ ++#define DP_I2C_SPEED_CONTROL_STATUS 0x109 /* DPI */ ++/* bitmask as for DP_I2C_SPEED_CAP */ ++ ++#define DP_EDP_CONFIGURATION_SET 0x10a /* XXX 1.2? */ ++# define DP_ALTERNATE_SCRAMBLER_RESET_ENABLE (1 << 0) ++# define DP_FRAMING_CHANGE_ENABLE (1 << 1) ++# define DP_PANEL_SELF_TEST_ENABLE (1 << 7) ++ ++#define DP_LINK_QUAL_LANE0_SET 0x10b /* DPCD >= 1.2 */ ++#define DP_LINK_QUAL_LANE1_SET 0x10c ++#define DP_LINK_QUAL_LANE2_SET 0x10d ++#define DP_LINK_QUAL_LANE3_SET 0x10e ++# define DP_LINK_QUAL_PATTERN_DISABLE 0 ++# define DP_LINK_QUAL_PATTERN_D10_2 1 ++# define DP_LINK_QUAL_PATTERN_ERROR_RATE 2 ++# define DP_LINK_QUAL_PATTERN_PRBS7 3 ++# define DP_LINK_QUAL_PATTERN_80BIT_CUSTOM 4 ++# define DP_LINK_QUAL_PATTERN_HBR2_EYE 5 ++# define DP_LINK_QUAL_PATTERN_MASK 7 ++ ++#define DP_TRAINING_LANE0_1_SET2 0x10f ++#define DP_TRAINING_LANE2_3_SET2 0x110 ++# define DP_LANE02_POST_CURSOR2_SET_MASK (3 << 0) ++# define DP_LANE02_MAX_POST_CURSOR2_REACHED (1 << 2) ++# define DP_LANE13_POST_CURSOR2_SET_MASK (3 << 4) ++# define DP_LANE13_MAX_POST_CURSOR2_REACHED (1 << 6) ++ ++#define DP_MSTM_CTRL 0x111 /* 1.2 */ ++# define DP_MST_EN (1 << 0) ++# define DP_UP_REQ_EN (1 << 1) ++# define DP_UPSTREAM_IS_SRC (1 << 2) ++ ++#define DP_AUDIO_DELAY0 0x112 /* 1.2 */ ++#define DP_AUDIO_DELAY1 0x113 ++#define DP_AUDIO_DELAY2 0x114 ++ ++#define DP_LINK_RATE_SET 0x115 /* eDP 1.4 */ ++# define DP_LINK_RATE_SET_SHIFT 0 ++# define DP_LINK_RATE_SET_MASK (7 << 0) ++ ++#define DP_RECEIVER_ALPM_CONFIG 0x116 /* eDP 1.4 */ ++# define DP_ALPM_ENABLE (1 << 0) ++# define DP_ALPM_LOCK_ERROR_IRQ_HPD_ENABLE (1 << 1) ++ ++#define DP_SINK_DEVICE_AUX_FRAME_SYNC_CONF 0x117 /* eDP 1.4 */ ++# define DP_AUX_FRAME_SYNC_ENABLE (1 << 0) ++# define DP_IRQ_HPD_ENABLE (1 << 1) ++ ++#define DP_UPSTREAM_DEVICE_DP_PWR_NEED 0x118 /* 1.2 */ ++# define DP_PWR_NOT_NEEDED (1 << 0) ++ ++#define DP_FEC_CONFIGURATION 0x120 /* 1.4 */ ++# define DP_FEC_READY (1 << 0) ++# define DP_FEC_ERR_COUNT_SEL_MASK (7 << 1) ++# define DP_FEC_ERR_COUNT_DIS (0 << 1) ++# define DP_FEC_UNCORR_BLK_ERROR_COUNT (1 << 1) ++# define DP_FEC_CORR_BLK_ERROR_COUNT (2 << 1) ++# define DP_FEC_BIT_ERROR_COUNT (3 << 1) ++# define DP_FEC_LANE_SELECT_MASK (3 << 4) ++# define DP_FEC_LANE_0_SELECT (0 << 4) ++# define DP_FEC_LANE_1_SELECT (1 << 4) ++# define DP_FEC_LANE_2_SELECT (2 << 4) ++# define DP_FEC_LANE_3_SELECT (3 << 4) ++ ++#define DP_AUX_FRAME_SYNC_VALUE 0x15c /* eDP 1.4 */ ++# define DP_AUX_FRAME_SYNC_VALID (1 << 0) ++ ++#define DP_DSC_ENABLE 0x160 /* DP 1.4 */ ++# define DP_DECOMPRESSION_EN (1 << 0) ++ ++#define DP_PSR_EN_CFG 0x170 /* XXX 1.2? */ ++# define DP_PSR_ENABLE (1 << 0) ++# define DP_PSR_MAIN_LINK_ACTIVE (1 << 1) ++# define DP_PSR_CRC_VERIFICATION (1 << 2) ++# define DP_PSR_FRAME_CAPTURE (1 << 3) ++# define DP_PSR_SELECTIVE_UPDATE (1 << 4) ++# define DP_PSR_IRQ_HPD_WITH_CRC_ERRORS (1 << 5) ++# define DP_PSR_ENABLE_PSR2 (1 << 6) /* eDP 1.4a */ ++ ++#define DP_ADAPTER_CTRL 0x1a0 ++# define DP_ADAPTER_CTRL_FORCE_LOAD_SENSE (1 << 0) ++ ++#define DP_BRANCH_DEVICE_CTRL 0x1a1 ++# define DP_BRANCH_DEVICE_IRQ_HPD (1 << 0) ++ ++#define DP_PAYLOAD_ALLOCATE_SET 0x1c0 ++#define DP_PAYLOAD_ALLOCATE_START_TIME_SLOT 0x1c1 ++#define DP_PAYLOAD_ALLOCATE_TIME_SLOT_COUNT 0x1c2 ++ ++#define DP_SINK_COUNT 0x200 ++/* prior to 1.2 bit 7 was reserved mbz */ ++# define DP_GET_SINK_COUNT(x) ((((x) & 0x80) >> 1) | ((x) & 0x3f)) ++# define DP_SINK_CP_READY (1 << 6) ++ ++#define DP_DEVICE_SERVICE_IRQ_VECTOR 0x201 ++# define DP_REMOTE_CONTROL_COMMAND_PENDING (1 << 0) ++# define DP_AUTOMATED_TEST_REQUEST (1 << 1) ++# define DP_CP_IRQ (1 << 2) ++# define DP_MCCS_IRQ (1 << 3) ++# define DP_DOWN_REP_MSG_RDY (1 << 4) /* 1.2 MST */ ++# define DP_UP_REQ_MSG_RDY (1 << 5) /* 1.2 MST */ ++# define DP_SINK_SPECIFIC_IRQ (1 << 6) ++ ++#define DP_LANE0_1_STATUS 0x202 ++#define DP_LANE2_3_STATUS 0x203 ++# define DP_LANE_CR_DONE (1 << 0) ++# define DP_LANE_CHANNEL_EQ_DONE (1 << 1) ++# define DP_LANE_SYMBOL_LOCKED (1 << 2) ++ ++#define DP_CHANNEL_EQ_BITS (DP_LANE_CR_DONE | \ ++ DP_LANE_CHANNEL_EQ_DONE | \ ++ DP_LANE_SYMBOL_LOCKED) ++ ++#define DP_LANE_ALIGN_STATUS_UPDATED 0x204 ++ ++#define DP_INTERLANE_ALIGN_DONE (1 << 0) ++#define DP_DOWNSTREAM_PORT_STATUS_CHANGED (1 << 6) ++#define DP_LINK_STATUS_UPDATED (1 << 7) ++ ++#define DP_SINK_STATUS 0x205 ++ ++#define DP_RECEIVE_PORT_0_STATUS (1 << 0) ++#define DP_RECEIVE_PORT_1_STATUS (1 << 1) ++ ++#define DP_ADJUST_REQUEST_LANE0_1 0x206 ++#define DP_ADJUST_REQUEST_LANE2_3 0x207 ++# define DP_ADJUST_VOLTAGE_SWING_LANE0_MASK 0x03 ++# define DP_ADJUST_VOLTAGE_SWING_LANE0_SHIFT 0 ++# define DP_ADJUST_PRE_EMPHASIS_LANE0_MASK 0x0c ++# define DP_ADJUST_PRE_EMPHASIS_LANE0_SHIFT 2 ++# define DP_ADJUST_VOLTAGE_SWING_LANE1_MASK 0x30 ++# define DP_ADJUST_VOLTAGE_SWING_LANE1_SHIFT 4 ++# define DP_ADJUST_PRE_EMPHASIS_LANE1_MASK 0xc0 ++# define DP_ADJUST_PRE_EMPHASIS_LANE1_SHIFT 6 ++ ++#define DP_ADJUST_REQUEST_POST_CURSOR2 0x20c ++# define DP_ADJUST_POST_CURSOR2_LANE0_MASK 0x03 ++# define DP_ADJUST_POST_CURSOR2_LANE0_SHIFT 0 ++# define DP_ADJUST_POST_CURSOR2_LANE1_MASK 0x0c ++# define DP_ADJUST_POST_CURSOR2_LANE1_SHIFT 2 ++# define DP_ADJUST_POST_CURSOR2_LANE2_MASK 0x30 ++# define DP_ADJUST_POST_CURSOR2_LANE2_SHIFT 4 ++# define DP_ADJUST_POST_CURSOR2_LANE3_MASK 0xc0 ++# define DP_ADJUST_POST_CURSOR2_LANE3_SHIFT 6 ++ ++#define DP_TEST_REQUEST 0x218 ++# define DP_TEST_LINK_TRAINING (1 << 0) ++# define DP_TEST_LINK_VIDEO_PATTERN (1 << 1) ++# define DP_TEST_LINK_EDID_READ (1 << 2) ++# define DP_TEST_LINK_PHY_TEST_PATTERN (1 << 3) /* DPCD >= 1.1 */ ++# define DP_TEST_LINK_FAUX_PATTERN (1 << 4) /* DPCD >= 1.2 */ ++# define DP_TEST_LINK_AUDIO_PATTERN (1 << 5) /* DPCD >= 1.2 */ ++# define DP_TEST_LINK_AUDIO_DISABLED_VIDEO (1 << 6) /* DPCD >= 1.2 */ ++ ++#define DP_TEST_LINK_RATE 0x219 ++# define DP_LINK_RATE_162 (0x6) ++# define DP_LINK_RATE_27 (0xa) ++ ++#define DP_TEST_LANE_COUNT 0x220 ++ ++#define DP_TEST_PATTERN 0x221 ++# define DP_NO_TEST_PATTERN 0x0 ++# define DP_COLOR_RAMP 0x1 ++# define DP_BLACK_AND_WHITE_VERTICAL_LINES 0x2 ++# define DP_COLOR_SQUARE 0x3 ++ ++#define DP_TEST_H_TOTAL_HI 0x222 ++#define DP_TEST_H_TOTAL_LO 0x223 ++ ++#define DP_TEST_V_TOTAL_HI 0x224 ++#define DP_TEST_V_TOTAL_LO 0x225 ++ ++#define DP_TEST_H_START_HI 0x226 ++#define DP_TEST_H_START_LO 0x227 ++ ++#define DP_TEST_V_START_HI 0x228 ++#define DP_TEST_V_START_LO 0x229 ++ ++#define DP_TEST_HSYNC_HI 0x22A ++# define DP_TEST_HSYNC_POLARITY (1 << 7) ++# define DP_TEST_HSYNC_WIDTH_HI_MASK (127 << 0) ++#define DP_TEST_HSYNC_WIDTH_LO 0x22B ++ ++#define DP_TEST_VSYNC_HI 0x22C ++# define DP_TEST_VSYNC_POLARITY (1 << 7) ++# define DP_TEST_VSYNC_WIDTH_HI_MASK (127 << 0) ++#define DP_TEST_VSYNC_WIDTH_LO 0x22D ++ ++#define DP_TEST_H_WIDTH_HI 0x22E ++#define DP_TEST_H_WIDTH_LO 0x22F ++ ++#define DP_TEST_V_HEIGHT_HI 0x230 ++#define DP_TEST_V_HEIGHT_LO 0x231 ++ ++#define DP_TEST_MISC0 0x232 ++# define DP_TEST_SYNC_CLOCK (1 << 0) ++# define DP_TEST_COLOR_FORMAT_MASK (3 << 1) ++# define DP_TEST_COLOR_FORMAT_SHIFT 1 ++# define DP_COLOR_FORMAT_RGB (0 << 1) ++# define DP_COLOR_FORMAT_YCbCr422 (1 << 1) ++# define DP_COLOR_FORMAT_YCbCr444 (2 << 1) ++# define DP_TEST_DYNAMIC_RANGE_VESA (0 << 3) ++# define DP_TEST_DYNAMIC_RANGE_CEA (1 << 3) ++# define DP_TEST_YCBCR_COEFFICIENTS (1 << 4) ++# define DP_YCBCR_COEFFICIENTS_ITU601 (0 << 4) ++# define DP_YCBCR_COEFFICIENTS_ITU709 (1 << 4) ++# define DP_TEST_BIT_DEPTH_MASK (7 << 5) ++# define DP_TEST_BIT_DEPTH_SHIFT 5 ++# define DP_TEST_BIT_DEPTH_6 (0 << 5) ++# define DP_TEST_BIT_DEPTH_8 (1 << 5) ++# define DP_TEST_BIT_DEPTH_10 (2 << 5) ++# define DP_TEST_BIT_DEPTH_12 (3 << 5) ++# define DP_TEST_BIT_DEPTH_16 (4 << 5) ++ ++#define DP_TEST_MISC1 0x233 ++# define DP_TEST_REFRESH_DENOMINATOR (1 << 0) ++# define DP_TEST_INTERLACED (1 << 1) ++ ++#define DP_TEST_REFRESH_RATE_NUMERATOR 0x234 ++ ++#define DP_TEST_MISC0 0x232 ++ ++#define DP_TEST_CRC_R_CR 0x240 ++#define DP_TEST_CRC_G_Y 0x242 ++#define DP_TEST_CRC_B_CB 0x244 ++ ++#define DP_TEST_SINK_MISC 0x246 ++# define DP_TEST_CRC_SUPPORTED (1 << 5) ++# define DP_TEST_COUNT_MASK 0xf ++ ++#define DP_PHY_TEST_PATTERN 0x248 ++# define DP_PHY_TEST_PATTERN_SEL_MASK 0x7 ++# define DP_PHY_TEST_PATTERN_NONE 0x0 ++# define DP_PHY_TEST_PATTERN_D10_2 0x1 ++# define DP_PHY_TEST_PATTERN_ERROR_COUNT 0x2 ++# define DP_PHY_TEST_PATTERN_PRBS7 0x3 ++# define DP_PHY_TEST_PATTERN_80BIT_CUSTOM 0x4 ++# define DP_PHY_TEST_PATTERN_CP2520 0x5 ++ ++#define DP_TEST_HBR2_SCRAMBLER_RESET 0x24A ++#define DP_TEST_80BIT_CUSTOM_PATTERN_7_0 0x250 ++#define DP_TEST_80BIT_CUSTOM_PATTERN_15_8 0x251 ++#define DP_TEST_80BIT_CUSTOM_PATTERN_23_16 0x252 ++#define DP_TEST_80BIT_CUSTOM_PATTERN_31_24 0x253 ++#define DP_TEST_80BIT_CUSTOM_PATTERN_39_32 0x254 ++#define DP_TEST_80BIT_CUSTOM_PATTERN_47_40 0x255 ++#define DP_TEST_80BIT_CUSTOM_PATTERN_55_48 0x256 ++#define DP_TEST_80BIT_CUSTOM_PATTERN_63_56 0x257 ++#define DP_TEST_80BIT_CUSTOM_PATTERN_71_64 0x258 ++#define DP_TEST_80BIT_CUSTOM_PATTERN_79_72 0x259 ++ ++#define DP_TEST_RESPONSE 0x260 ++# define DP_TEST_ACK (1 << 0) ++# define DP_TEST_NAK (1 << 1) ++# define DP_TEST_EDID_CHECKSUM_WRITE (1 << 2) ++ ++#define DP_TEST_EDID_CHECKSUM 0x261 ++ ++#define DP_TEST_SINK 0x270 ++# define DP_TEST_SINK_START (1 << 0) ++#define DP_TEST_AUDIO_MODE 0x271 ++#define DP_TEST_AUDIO_PATTERN_TYPE 0x272 ++#define DP_TEST_AUDIO_PERIOD_CH1 0x273 ++#define DP_TEST_AUDIO_PERIOD_CH2 0x274 ++#define DP_TEST_AUDIO_PERIOD_CH3 0x275 ++#define DP_TEST_AUDIO_PERIOD_CH4 0x276 ++#define DP_TEST_AUDIO_PERIOD_CH5 0x277 ++#define DP_TEST_AUDIO_PERIOD_CH6 0x278 ++#define DP_TEST_AUDIO_PERIOD_CH7 0x279 ++#define DP_TEST_AUDIO_PERIOD_CH8 0x27A ++ ++#define DP_FEC_STATUS 0x280 /* 1.4 */ ++# define DP_FEC_DECODE_EN_DETECTED (1 << 0) ++# define DP_FEC_DECODE_DIS_DETECTED (1 << 1) ++ ++#define DP_FEC_ERROR_COUNT_LSB 0x0281 /* 1.4 */ ++ ++#define DP_FEC_ERROR_COUNT_MSB 0x0282 /* 1.4 */ ++# define DP_FEC_ERROR_COUNT_MASK 0x7F ++# define DP_FEC_ERR_COUNT_VALID (1 << 7) ++ ++#define DP_PAYLOAD_TABLE_UPDATE_STATUS 0x2c0 /* 1.2 MST */ ++# define DP_PAYLOAD_TABLE_UPDATED (1 << 0) ++# define DP_PAYLOAD_ACT_HANDLED (1 << 1) ++ ++#define DP_VC_PAYLOAD_ID_SLOT_1 0x2c1 /* 1.2 MST */ ++/* up to ID_SLOT_63 at 0x2ff */ ++ ++#define DP_SOURCE_OUI 0x300 ++#define DP_SINK_OUI 0x400 ++#define DP_BRANCH_OUI 0x500 ++#define DP_BRANCH_ID 0x503 ++#define DP_BRANCH_REVISION_START 0x509 ++#define DP_BRANCH_HW_REV 0x509 ++#define DP_BRANCH_SW_REV 0x50A ++ ++#define DP_SET_POWER 0x600 ++# define DP_SET_POWER_D0 0x1 ++# define DP_SET_POWER_D3 0x2 ++# define DP_SET_POWER_MASK 0x3 ++# define DP_SET_POWER_D3_AUX_ON 0x5 ++ ++#define DP_EDP_DPCD_REV 0x700 /* eDP 1.2 */ ++# define DP_EDP_11 0x00 ++# define DP_EDP_12 0x01 ++# define DP_EDP_13 0x02 ++# define DP_EDP_14 0x03 ++# define DP_EDP_14a 0x04 /* eDP 1.4a */ ++# define DP_EDP_14b 0x05 /* eDP 1.4b */ ++ ++#define DP_EDP_GENERAL_CAP_1 0x701 ++# define DP_EDP_TCON_BACKLIGHT_ADJUSTMENT_CAP (1 << 0) ++# define DP_EDP_BACKLIGHT_PIN_ENABLE_CAP (1 << 1) ++# define DP_EDP_BACKLIGHT_AUX_ENABLE_CAP (1 << 2) ++# define DP_EDP_PANEL_SELF_TEST_PIN_ENABLE_CAP (1 << 3) ++# define DP_EDP_PANEL_SELF_TEST_AUX_ENABLE_CAP (1 << 4) ++# define DP_EDP_FRC_ENABLE_CAP (1 << 5) ++# define DP_EDP_COLOR_ENGINE_CAP (1 << 6) ++# define DP_EDP_SET_POWER_CAP (1 << 7) ++ ++#define DP_EDP_BACKLIGHT_ADJUSTMENT_CAP 0x702 ++# define DP_EDP_BACKLIGHT_BRIGHTNESS_PWM_PIN_CAP (1 << 0) ++# define DP_EDP_BACKLIGHT_BRIGHTNESS_AUX_SET_CAP (1 << 1) ++# define DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT (1 << 2) ++# define DP_EDP_BACKLIGHT_AUX_PWM_PRODUCT_CAP (1 << 3) ++# define DP_EDP_BACKLIGHT_FREQ_PWM_PIN_PASSTHRU_CAP (1 << 4) ++# define DP_EDP_BACKLIGHT_FREQ_AUX_SET_CAP (1 << 5) ++# define DP_EDP_DYNAMIC_BACKLIGHT_CAP (1 << 6) ++# define DP_EDP_VBLANK_BACKLIGHT_UPDATE_CAP (1 << 7) ++ ++#define DP_EDP_GENERAL_CAP_2 0x703 ++# define DP_EDP_OVERDRIVE_ENGINE_ENABLED (1 << 0) ++ ++#define DP_EDP_GENERAL_CAP_3 0x704 /* eDP 1.4 */ ++# define DP_EDP_X_REGION_CAP_MASK (0xf << 0) ++# define DP_EDP_X_REGION_CAP_SHIFT 0 ++# define DP_EDP_Y_REGION_CAP_MASK (0xf << 4) ++# define DP_EDP_Y_REGION_CAP_SHIFT 4 ++ ++#define DP_EDP_DISPLAY_CONTROL_REGISTER 0x720 ++# define DP_EDP_BACKLIGHT_ENABLE (1 << 0) ++# define DP_EDP_BLACK_VIDEO_ENABLE (1 << 1) ++# define DP_EDP_FRC_ENABLE (1 << 2) ++# define DP_EDP_COLOR_ENGINE_ENABLE (1 << 3) ++# define DP_EDP_VBLANK_BACKLIGHT_UPDATE_ENABLE (1 << 7) ++ ++#define DP_EDP_BACKLIGHT_MODE_SET_REGISTER 0x721 ++# define DP_EDP_BACKLIGHT_CONTROL_MODE_MASK (3 << 0) ++# define DP_EDP_BACKLIGHT_CONTROL_MODE_PWM (0 << 0) ++# define DP_EDP_BACKLIGHT_CONTROL_MODE_PRESET (1 << 0) ++# define DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD (2 << 0) ++# define DP_EDP_BACKLIGHT_CONTROL_MODE_PRODUCT (3 << 0) ++# define DP_EDP_BACKLIGHT_FREQ_PWM_PIN_PASSTHRU_ENABLE (1 << 2) ++# define DP_EDP_BACKLIGHT_FREQ_AUX_SET_ENABLE (1 << 3) ++# define DP_EDP_DYNAMIC_BACKLIGHT_ENABLE (1 << 4) ++# define DP_EDP_REGIONAL_BACKLIGHT_ENABLE (1 << 5) ++# define DP_EDP_UPDATE_REGION_BRIGHTNESS (1 << 6) /* eDP 1.4 */ ++ ++#define DP_EDP_BACKLIGHT_BRIGHTNESS_MSB 0x722 ++#define DP_EDP_BACKLIGHT_BRIGHTNESS_LSB 0x723 ++ ++#define DP_EDP_PWMGEN_BIT_COUNT 0x724 ++#define DP_EDP_PWMGEN_BIT_COUNT_CAP_MIN 0x725 ++#define DP_EDP_PWMGEN_BIT_COUNT_CAP_MAX 0x726 ++# define DP_EDP_PWMGEN_BIT_COUNT_MASK (0x1f << 0) ++ ++#define DP_EDP_BACKLIGHT_CONTROL_STATUS 0x727 ++ ++#define DP_EDP_BACKLIGHT_FREQ_SET 0x728 ++# define DP_EDP_BACKLIGHT_FREQ_BASE_KHZ 27000 ++ ++#define DP_EDP_BACKLIGHT_FREQ_CAP_MIN_MSB 0x72a ++#define DP_EDP_BACKLIGHT_FREQ_CAP_MIN_MID 0x72b ++#define DP_EDP_BACKLIGHT_FREQ_CAP_MIN_LSB 0x72c ++ ++#define DP_EDP_BACKLIGHT_FREQ_CAP_MAX_MSB 0x72d ++#define DP_EDP_BACKLIGHT_FREQ_CAP_MAX_MID 0x72e ++#define DP_EDP_BACKLIGHT_FREQ_CAP_MAX_LSB 0x72f ++ ++#define DP_EDP_DBC_MINIMUM_BRIGHTNESS_SET 0x732 ++#define DP_EDP_DBC_MAXIMUM_BRIGHTNESS_SET 0x733 ++ ++#define DP_EDP_REGIONAL_BACKLIGHT_BASE 0x740 /* eDP 1.4 */ ++#define DP_EDP_REGIONAL_BACKLIGHT_0 0x741 /* eDP 1.4 */ ++ ++#define DP_SIDEBAND_MSG_DOWN_REQ_BASE 0x1000 /* 1.2 MST */ ++#define DP_SIDEBAND_MSG_UP_REP_BASE 0x1200 /* 1.2 MST */ ++#define DP_SIDEBAND_MSG_DOWN_REP_BASE 0x1400 /* 1.2 MST */ ++#define DP_SIDEBAND_MSG_UP_REQ_BASE 0x1600 /* 1.2 MST */ ++ ++#define DP_SINK_COUNT_ESI 0x2002 /* 1.2 */ ++/* 0-5 sink count */ ++# define DP_SINK_COUNT_CP_READY (1 << 6) ++ ++#define DP_DEVICE_SERVICE_IRQ_VECTOR_ESI0 0x2003 /* 1.2 */ ++ ++#define DP_DEVICE_SERVICE_IRQ_VECTOR_ESI1 0x2004 /* 1.2 */ ++# define DP_RX_GTC_MSTR_REQ_STATUS_CHANGE (1 << 0) ++# define DP_LOCK_ACQUISITION_REQUEST (1 << 1) ++# define DP_CEC_IRQ (1 << 2) ++ ++#define DP_LINK_SERVICE_IRQ_VECTOR_ESI0 0x2005 /* 1.2 */ ++ ++#define DP_PSR_ERROR_STATUS 0x2006 /* XXX 1.2? */ ++# define DP_PSR_LINK_CRC_ERROR (1 << 0) ++# define DP_PSR_RFB_STORAGE_ERROR (1 << 1) ++# define DP_PSR_VSC_SDP_UNCORRECTABLE_ERROR (1 << 2) /* eDP 1.4 */ ++ ++#define DP_PSR_ESI 0x2007 /* XXX 1.2? */ ++# define DP_PSR_CAPS_CHANGE (1 << 0) ++ ++#define DP_PSR_STATUS 0x2008 /* XXX 1.2? */ ++# define DP_PSR_SINK_INACTIVE 0 ++# define DP_PSR_SINK_ACTIVE_SRC_SYNCED 1 ++# define DP_PSR_SINK_ACTIVE_RFB 2 ++# define DP_PSR_SINK_ACTIVE_SINK_SYNCED 3 ++# define DP_PSR_SINK_ACTIVE_RESYNC 4 ++# define DP_PSR_SINK_INTERNAL_ERROR 7 ++# define DP_PSR_SINK_STATE_MASK 0x07 ++ ++#define DP_SYNCHRONIZATION_LATENCY_IN_SINK 0x2009 /* edp 1.4 */ ++# define DP_MAX_RESYNC_FRAME_COUNT_MASK (0xf << 0) ++# define DP_MAX_RESYNC_FRAME_COUNT_SHIFT 0 ++# define DP_LAST_ACTUAL_SYNCHRONIZATION_LATENCY_MASK (0xf << 4) ++# define DP_LAST_ACTUAL_SYNCHRONIZATION_LATENCY_SHIFT 4 ++ ++#define DP_LAST_RECEIVED_PSR_SDP 0x200a /* eDP 1.2 */ ++# define DP_PSR_STATE_BIT (1 << 0) /* eDP 1.2 */ ++# define DP_UPDATE_RFB_BIT (1 << 1) /* eDP 1.2 */ ++# define DP_CRC_VALID_BIT (1 << 2) /* eDP 1.2 */ ++# define DP_SU_VALID (1 << 3) /* eDP 1.4 */ ++# define DP_FIRST_SCAN_LINE_SU_REGION (1 << 4) /* eDP 1.4 */ ++# define DP_LAST_SCAN_LINE_SU_REGION (1 << 5) /* eDP 1.4 */ ++# define DP_Y_COORDINATE_VALID (1 << 6) /* eDP 1.4a */ ++ ++#define DP_RECEIVER_ALPM_STATUS 0x200b /* eDP 1.4 */ ++# define DP_ALPM_LOCK_TIMEOUT_ERROR (1 << 0) ++ ++#define DP_LANE0_1_STATUS_ESI 0x200c /* status same as 0x202 */ ++#define DP_LANE2_3_STATUS_ESI 0x200d /* status same as 0x203 */ ++#define DP_LANE_ALIGN_STATUS_UPDATED_ESI 0x200e /* status same as 0x204 */ ++#define DP_SINK_STATUS_ESI 0x200f /* status same as 0x205 */ ++ ++#define DP_DP13_DPCD_REV 0x2200 ++#define DP_DP13_MAX_LINK_RATE 0x2201 ++ ++#define DP_DPRX_FEATURE_ENUMERATION_LIST 0x2210 /* DP 1.3 */ ++# define DP_GTC_CAP (1 << 0) /* DP 1.3 */ ++# define DP_SST_SPLIT_SDP_CAP (1 << 1) /* DP 1.4 */ ++# define DP_AV_SYNC_CAP (1 << 2) /* DP 1.3 */ ++# define DP_VSC_SDP_EXT_FOR_COLORIMETRY_SUPPORTED (1 << 3) /* DP 1.3 */ ++# define DP_VSC_EXT_VESA_SDP_SUPPORTED (1 << 4) /* DP 1.4 */ ++# define DP_VSC_EXT_VESA_SDP_CHAINING_SUPPORTED (1 << 5) /* DP 1.4 */ ++# define DP_VSC_EXT_CEA_SDP_SUPPORTED (1 << 6) /* DP 1.4 */ ++# define DP_VSC_EXT_CEA_SDP_CHAINING_SUPPORTED (1 << 7) /* DP 1.4 */ ++ ++/* HDMI CEC tunneling over AUX DP 1.3 section 5.3.3.3.1 DPCD 1.4+ */ ++#define DP_CEC_TUNNELING_CAPABILITY 0x3000 ++# define DP_CEC_TUNNELING_CAPABLE (1 << 0) ++# define DP_CEC_SNOOPING_CAPABLE (1 << 1) ++# define DP_CEC_MULTIPLE_LA_CAPABLE (1 << 2) ++ ++#define DP_CEC_TUNNELING_CONTROL 0x3001 ++# define DP_CEC_TUNNELING_ENABLE (1 << 0) ++# define DP_CEC_SNOOPING_ENABLE (1 << 1) ++ ++#define DP_CEC_RX_MESSAGE_INFO 0x3002 ++# define DP_CEC_RX_MESSAGE_LEN_MASK (0xf << 0) ++# define DP_CEC_RX_MESSAGE_LEN_SHIFT 0 ++# define DP_CEC_RX_MESSAGE_HPD_STATE (1 << 4) ++# define DP_CEC_RX_MESSAGE_HPD_LOST (1 << 5) ++# define DP_CEC_RX_MESSAGE_ACKED (1 << 6) ++# define DP_CEC_RX_MESSAGE_ENDED (1 << 7) ++ ++#define DP_CEC_TX_MESSAGE_INFO 0x3003 ++# define DP_CEC_TX_MESSAGE_LEN_MASK (0xf << 0) ++# define DP_CEC_TX_MESSAGE_LEN_SHIFT 0 ++# define DP_CEC_TX_RETRY_COUNT_MASK (0x7 << 4) ++# define DP_CEC_TX_RETRY_COUNT_SHIFT 4 ++# define DP_CEC_TX_MESSAGE_SEND (1 << 7) ++ ++#define DP_CEC_TUNNELING_IRQ_FLAGS 0x3004 ++# define DP_CEC_RX_MESSAGE_INFO_VALID (1 << 0) ++# define DP_CEC_RX_MESSAGE_OVERFLOW (1 << 1) ++# define DP_CEC_TX_MESSAGE_SENT (1 << 4) ++# define DP_CEC_TX_LINE_ERROR (1 << 5) ++# define DP_CEC_TX_ADDRESS_NACK_ERROR (1 << 6) ++# define DP_CEC_TX_DATA_NACK_ERROR (1 << 7) ++ ++#define DP_CEC_LOGICAL_ADDRESS_MASK 0x300E /* 0x300F word */ ++# define DP_CEC_LOGICAL_ADDRESS_0 (1 << 0) ++# define DP_CEC_LOGICAL_ADDRESS_1 (1 << 1) ++# define DP_CEC_LOGICAL_ADDRESS_2 (1 << 2) ++# define DP_CEC_LOGICAL_ADDRESS_3 (1 << 3) ++# define DP_CEC_LOGICAL_ADDRESS_4 (1 << 4) ++# define DP_CEC_LOGICAL_ADDRESS_5 (1 << 5) ++# define DP_CEC_LOGICAL_ADDRESS_6 (1 << 6) ++# define DP_CEC_LOGICAL_ADDRESS_7 (1 << 7) ++#define DP_CEC_LOGICAL_ADDRESS_MASK_2 0x300F /* 0x300E word */ ++# define DP_CEC_LOGICAL_ADDRESS_8 (1 << 0) ++# define DP_CEC_LOGICAL_ADDRESS_9 (1 << 1) ++# define DP_CEC_LOGICAL_ADDRESS_10 (1 << 2) ++# define DP_CEC_LOGICAL_ADDRESS_11 (1 << 3) ++# define DP_CEC_LOGICAL_ADDRESS_12 (1 << 4) ++# define DP_CEC_LOGICAL_ADDRESS_13 (1 << 5) ++# define DP_CEC_LOGICAL_ADDRESS_14 (1 << 6) ++# define DP_CEC_LOGICAL_ADDRESS_15 (1 << 7) ++ ++#define DP_CEC_RX_MESSAGE_BUFFER 0x3010 ++#define DP_CEC_TX_MESSAGE_BUFFER 0x3020 ++#define DP_CEC_MESSAGE_BUFFER_LENGTH 0x10 ++ ++#define DP_PROTOCOL_CONVERTER_CONTROL_0 0x3050 /* DP 1.3 */ ++# define DP_HDMI_DVI_OUTPUT_CONFIG (1 << 0) /* DP 1.3 */ ++#define DP_PROTOCOL_CONVERTER_CONTROL_1 0x3051 /* DP 1.3 */ ++# define DP_CONVERSION_TO_YCBCR420_ENABLE (1 << 0) /* DP 1.3 */ ++# define DP_HDMI_EDID_PROCESSING_DISABLE (1 << 1) /* DP 1.4 */ ++# define DP_HDMI_AUTONOMOUS_SCRAMBLING_DISABLE (1 << 2) /* DP 1.4 */ ++# define DP_HDMI_FORCE_SCRAMBLING (1 << 3) /* DP 1.4 */ ++#define DP_PROTOCOL_CONVERTER_CONTROL_2 0x3052 /* DP 1.3 */ ++# define DP_CONVERSION_TO_YCBCR422_ENABLE (1 << 0) /* DP 1.3 */ ++ ++#define DP_AUX_HDCP_BKSV 0x68000 ++#define DP_AUX_HDCP_RI_PRIME 0x68005 ++#define DP_AUX_HDCP_AKSV 0x68007 ++#define DP_AUX_HDCP_AN 0x6800C ++#define DP_AUX_HDCP_V_PRIME(h) (0x68014 + h * 4) ++#define DP_AUX_HDCP_BCAPS 0x68028 ++# define DP_BCAPS_REPEATER_PRESENT BIT(1) ++# define DP_BCAPS_HDCP_CAPABLE BIT(0) ++#define DP_AUX_HDCP_BSTATUS 0x68029 ++# define DP_BSTATUS_REAUTH_REQ BIT(3) ++# define DP_BSTATUS_LINK_FAILURE BIT(2) ++# define DP_BSTATUS_R0_PRIME_READY BIT(1) ++# define DP_BSTATUS_READY BIT(0) ++#define DP_AUX_HDCP_BINFO 0x6802A ++#define DP_AUX_HDCP_KSV_FIFO 0x6802C ++#define DP_AUX_HDCP_AINFO 0x6803B ++ ++/* DP HDCP2.2 parameter offsets in DPCD address space */ ++#define DP_HDCP_2_2_REG_RTX_OFFSET 0x69000 ++#define DP_HDCP_2_2_REG_TXCAPS_OFFSET 0x69008 ++#define DP_HDCP_2_2_REG_CERT_RX_OFFSET 0x6900B ++#define DP_HDCP_2_2_REG_RRX_OFFSET 0x69215 ++#define DP_HDCP_2_2_REG_RX_CAPS_OFFSET 0x6921D ++#define DP_HDCP_2_2_REG_EKPUB_KM_OFFSET 0x69220 ++#define DP_HDCP_2_2_REG_EKH_KM_WR_OFFSET 0x692A0 ++#define DP_HDCP_2_2_REG_M_OFFSET 0x692B0 ++#define DP_HDCP_2_2_REG_HPRIME_OFFSET 0x692C0 ++#define DP_HDCP_2_2_REG_EKH_KM_RD_OFFSET 0x692E0 ++#define DP_HDCP_2_2_REG_RN_OFFSET 0x692F0 ++#define DP_HDCP_2_2_REG_LPRIME_OFFSET 0x692F8 ++#define DP_HDCP_2_2_REG_EDKEY_KS_OFFSET 0x69318 ++#define DP_HDCP_2_2_REG_RIV_OFFSET 0x69328 ++#define DP_HDCP_2_2_REG_RXINFO_OFFSET 0x69330 ++#define DP_HDCP_2_2_REG_SEQ_NUM_V_OFFSET 0x69332 ++#define DP_HDCP_2_2_REG_VPRIME_OFFSET 0x69335 ++#define DP_HDCP_2_2_REG_RECV_ID_LIST_OFFSET 0x69345 ++#define DP_HDCP_2_2_REG_V_OFFSET 0x693E0 ++#define DP_HDCP_2_2_REG_SEQ_NUM_M_OFFSET 0x693F0 ++#define DP_HDCP_2_2_REG_K_OFFSET 0x693F3 ++#define DP_HDCP_2_2_REG_STREAM_ID_TYPE_OFFSET 0x693F5 ++#define DP_HDCP_2_2_REG_MPRIME_OFFSET 0x69473 ++#define DP_HDCP_2_2_REG_RXSTATUS_OFFSET 0x69493 ++#define DP_HDCP_2_2_REG_STREAM_TYPE_OFFSET 0x69494 ++#define DP_HDCP_2_2_REG_DBG_OFFSET 0x69518 ++ ++/* Link Training (LT)-tunable PHY Repeaters */ ++#define DP_LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV 0xf0000 /* 1.3 */ ++#define DP_MAX_LINK_RATE_PHY_REPEATER 0xf0001 /* 1.4a */ ++#define DP_PHY_REPEATER_CNT 0xf0002 /* 1.3 */ ++#define DP_PHY_REPEATER_MODE 0xf0003 /* 1.3 */ ++#define DP_MAX_LANE_COUNT_PHY_REPEATER 0xf0004 /* 1.4a */ ++#define DP_Repeater_FEC_CAPABILITY 0xf0004 /* 1.4 */ ++#define DP_PHY_REPEATER_EXTENDED_WAIT_TIMEOUT 0xf0005 /* 1.4a */ ++#define DP_TRAINING_PATTERN_SET_PHY_REPEATER1 0xf0010 /* 1.3 */ ++#define DP_TRAINING_LANE0_SET_PHY_REPEATER1 0xf0011 /* 1.3 */ ++#define DP_TRAINING_LANE1_SET_PHY_REPEATER1 0xf0012 /* 1.3 */ ++#define DP_TRAINING_LANE2_SET_PHY_REPEATER1 0xf0013 /* 1.3 */ ++#define DP_TRAINING_LANE3_SET_PHY_REPEATER1 0xf0014 /* 1.3 */ ++#define DP_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1 0xf0020 /* 1.4a */ ++#define DP_TRANSMITTER_CAPABILITY_PHY_REPEATER1 0xf0021 /* 1.4a */ ++#define DP_LANE0_1_STATUS_PHY_REPEATER1 0xf0030 /* 1.3 */ ++#define DP_LANE2_3_STATUS_PHY_REPEATER1 0xf0031 /* 1.3 */ ++#define DP_LANE_ALIGN_STATUS_UPDATED_PHY_REPEATER1 0xf0032 /* 1.3 */ ++#define DP_ADJUST_REQUEST_LANE0_1_PHY_REPEATER1 0xf0033 /* 1.3 */ ++#define DP_ADJUST_REQUEST_LANE2_3_PHY_REPEATER1 0xf0034 /* 1.3 */ ++#define DP_SYMBOL_ERROR_COUNT_LANE0_PHY_REPEATER1 0xf0035 /* 1.3 */ ++#define DP_SYMBOL_ERROR_COUNT_LANE1_PHY_REPEATER1 0xf0037 /* 1.3 */ ++#define DP_SYMBOL_ERROR_COUNT_LANE2_PHY_REPEATER1 0xf0039 /* 1.3 */ ++#define DP_SYMBOL_ERROR_COUNT_LANE3_PHY_REPEATER1 0xf003b /* 1.3 */ ++#define DP_FEC_STATUS_PHY_REPEATER1 0xf0290 /* 1.4 */ ++#define DP_FEC_ERROR_COUNT_PHY_REPEATER1 0xf0291 /* 1.4 */ ++#define DP_FEC_CAPABILITY_PHY_REPEATER1 0xf0294 /* 1.4a */ ++ ++/* Repeater modes */ ++#define DP_PHY_REPEATER_MODE_TRANSPARENT 0x55 /* 1.3 */ ++#define DP_PHY_REPEATER_MODE_NON_TRANSPARENT 0xaa /* 1.3 */ ++ ++/* DP HDCP message start offsets in DPCD address space */ ++#define DP_HDCP_2_2_AKE_INIT_OFFSET DP_HDCP_2_2_REG_RTX_OFFSET ++#define DP_HDCP_2_2_AKE_SEND_CERT_OFFSET DP_HDCP_2_2_REG_CERT_RX_OFFSET ++#define DP_HDCP_2_2_AKE_NO_STORED_KM_OFFSET DP_HDCP_2_2_REG_EKPUB_KM_OFFSET ++#define DP_HDCP_2_2_AKE_STORED_KM_OFFSET DP_HDCP_2_2_REG_EKH_KM_WR_OFFSET ++#define DP_HDCP_2_2_AKE_SEND_HPRIME_OFFSET DP_HDCP_2_2_REG_HPRIME_OFFSET ++#define DP_HDCP_2_2_AKE_SEND_PAIRING_INFO_OFFSET \ ++ DP_HDCP_2_2_REG_EKH_KM_RD_OFFSET ++#define DP_HDCP_2_2_LC_INIT_OFFSET DP_HDCP_2_2_REG_RN_OFFSET ++#define DP_HDCP_2_2_LC_SEND_LPRIME_OFFSET DP_HDCP_2_2_REG_LPRIME_OFFSET ++#define DP_HDCP_2_2_SKE_SEND_EKS_OFFSET DP_HDCP_2_2_REG_EDKEY_KS_OFFSET ++#define DP_HDCP_2_2_REP_SEND_RECVID_LIST_OFFSET DP_HDCP_2_2_REG_RXINFO_OFFSET ++#define DP_HDCP_2_2_REP_SEND_ACK_OFFSET DP_HDCP_2_2_REG_V_OFFSET ++#define DP_HDCP_2_2_REP_STREAM_MANAGE_OFFSET DP_HDCP_2_2_REG_SEQ_NUM_M_OFFSET ++#define DP_HDCP_2_2_REP_STREAM_READY_OFFSET DP_HDCP_2_2_REG_MPRIME_OFFSET ++ ++#define HDCP_2_2_DP_RXSTATUS_LEN 1 ++#define HDCP_2_2_DP_RXSTATUS_READY(x) ((x) & BIT(0)) ++#define HDCP_2_2_DP_RXSTATUS_H_PRIME(x) ((x) & BIT(1)) ++#define HDCP_2_2_DP_RXSTATUS_PAIRING(x) ((x) & BIT(2)) ++#define HDCP_2_2_DP_RXSTATUS_REAUTH_REQ(x) ((x) & BIT(3)) ++#define HDCP_2_2_DP_RXSTATUS_LINK_FAILED(x) ((x) & BIT(4)) ++ ++/* DP 1.2 Sideband message defines */ ++/* peer device type - DP 1.2a Table 2-92 */ ++#define DP_PEER_DEVICE_NONE 0x0 ++#define DP_PEER_DEVICE_SOURCE_OR_SST 0x1 ++#define DP_PEER_DEVICE_MST_BRANCHING 0x2 ++#define DP_PEER_DEVICE_SST_SINK 0x3 ++#define DP_PEER_DEVICE_DP_LEGACY_CONV 0x4 ++ ++/* DP 1.2 MST sideband request names DP 1.2a Table 2-80 */ ++#define DP_GET_MSG_TRANSACTION_VERSION 0x00 /* DP 1.3 */ ++#define DP_LINK_ADDRESS 0x01 ++#define DP_CONNECTION_STATUS_NOTIFY 0x02 ++#define DP_ENUM_PATH_RESOURCES 0x10 ++#define DP_ALLOCATE_PAYLOAD 0x11 ++#define DP_QUERY_PAYLOAD 0x12 ++#define DP_RESOURCE_STATUS_NOTIFY 0x13 ++#define DP_CLEAR_PAYLOAD_ID_TABLE 0x14 ++#define DP_REMOTE_DPCD_READ 0x20 ++#define DP_REMOTE_DPCD_WRITE 0x21 ++#define DP_REMOTE_I2C_READ 0x22 ++#define DP_REMOTE_I2C_WRITE 0x23 ++#define DP_POWER_UP_PHY 0x24 ++#define DP_POWER_DOWN_PHY 0x25 ++#define DP_SINK_EVENT_NOTIFY 0x30 ++#define DP_QUERY_STREAM_ENC_STATUS 0x38 ++#define DP_QUERY_STREAM_ENC_STATUS_STATE_NO_EXIST 0 ++#define DP_QUERY_STREAM_ENC_STATUS_STATE_INACTIVE 1 ++#define DP_QUERY_STREAM_ENC_STATUS_STATE_ACTIVE 2 ++ ++/* DP 1.2 MST sideband reply types */ ++#define DP_SIDEBAND_REPLY_ACK 0x00 ++#define DP_SIDEBAND_REPLY_NAK 0x01 ++ ++/* DP 1.2 MST sideband nak reasons - table 2.84 */ ++#define DP_NAK_WRITE_FAILURE 0x01 ++#define DP_NAK_INVALID_READ 0x02 ++#define DP_NAK_CRC_FAILURE 0x03 ++#define DP_NAK_BAD_PARAM 0x04 ++#define DP_NAK_DEFER 0x05 ++#define DP_NAK_LINK_FAILURE 0x06 ++#define DP_NAK_NO_RESOURCES 0x07 ++#define DP_NAK_DPCD_FAIL 0x08 ++#define DP_NAK_I2C_NAK 0x09 ++#define DP_NAK_ALLOCATE_FAIL 0x0a ++ ++#define MODE_I2C_START 1 ++#define MODE_I2C_WRITE 2 ++#define MODE_I2C_READ 4 ++#define MODE_I2C_STOP 8 ++ ++/* DP 1.2 MST PORTs - Section 2.5.1 v1.2a spec */ ++#define DP_MST_PHYSICAL_PORT_0 0 ++#define DP_MST_LOGICAL_PORT_0 8 ++ ++#define DP_LINK_CONSTANT_N_VALUE 0x8000 ++#define DP_LINK_STATUS_SIZE 6 ++bool drm_dp_channel_eq_ok(const u8 link_status[DP_LINK_STATUS_SIZE], ++ int lane_count); ++bool drm_dp_clock_recovery_ok(const u8 link_status[DP_LINK_STATUS_SIZE], ++ int lane_count); ++u8 drm_dp_get_adjust_request_voltage(const u8 link_status[DP_LINK_STATUS_SIZE], ++ int lane); ++u8 drm_dp_get_adjust_request_pre_emphasis(const u8 link_status[DP_LINK_STATUS_SIZE], ++ int lane); ++u8 drm_dp_get_adjust_request_post_cursor(const u8 link_status[DP_LINK_STATUS_SIZE], ++ unsigned int lane); ++ ++#define DP_BRANCH_OUI_HEADER_SIZE 0xc ++#define DP_RECEIVER_CAP_SIZE 0xf ++#define DP_DSC_RECEIVER_CAP_SIZE 0xf ++#define EDP_PSR_RECEIVER_CAP_SIZE 2 ++#define EDP_DISPLAY_CTL_CAP_SIZE 3 ++ ++void drm_dp_link_train_clock_recovery_delay(const u8 dpcd[DP_RECEIVER_CAP_SIZE]); ++void drm_dp_link_train_channel_eq_delay(const u8 dpcd[DP_RECEIVER_CAP_SIZE]); ++ ++u8 drm_dp_link_rate_to_bw_code(int link_rate); ++int drm_dp_bw_code_to_link_rate(u8 link_bw); ++ ++#define DP_SDP_AUDIO_TIMESTAMP 0x01 ++#define DP_SDP_AUDIO_STREAM 0x02 ++#define DP_SDP_EXTENSION 0x04 /* DP 1.1 */ ++#define DP_SDP_AUDIO_COPYMANAGEMENT 0x05 /* DP 1.2 */ ++#define DP_SDP_ISRC 0x06 /* DP 1.2 */ ++#define DP_SDP_VSC 0x07 /* DP 1.2 */ ++#define DP_SDP_CAMERA_GENERIC(i) (0x08 + (i)) /* 0-7, DP 1.3 */ ++#define DP_SDP_PPS 0x10 /* DP 1.4 */ ++#define DP_SDP_VSC_EXT_VESA 0x20 /* DP 1.4 */ ++#define DP_SDP_VSC_EXT_CEA 0x21 /* DP 1.4 */ ++/* 0x80+ CEA-861 infoframe types */ ++ ++/** ++ * struct dp_sdp_header - DP secondary data packet header ++ * @HB0: Secondary Data Packet ID ++ * @HB1: Secondary Data Packet Type ++ * @HB2: Secondary Data Packet Specific header, Byte 0 ++ * @HB3: Secondary Data packet Specific header, Byte 1 ++ */ ++struct dp_sdp_header { ++ u8 HB0; ++ u8 HB1; ++ u8 HB2; ++ u8 HB3; ++} __packed; ++ ++#define EDP_SDP_HEADER_REVISION_MASK 0x1F ++#define EDP_SDP_HEADER_VALID_PAYLOAD_BYTES 0x1F ++#define DP_SDP_PPS_HEADER_PAYLOAD_BYTES_MINUS_1 0x7F ++ ++/** ++ * struct dp_sdp - DP secondary data packet ++ * @sdp_header: DP secondary data packet header ++ * @db: DP secondaray data packet data blocks ++ * VSC SDP Payload for PSR ++ * db[0]: Stereo Interface ++ * db[1]: 0 - PSR State; 1 - Update RFB; 2 - CRC Valid ++ * db[2]: CRC value bits 7:0 of the R or Cr component ++ * db[3]: CRC value bits 15:8 of the R or Cr component ++ * db[4]: CRC value bits 7:0 of the G or Y component ++ * db[5]: CRC value bits 15:8 of the G or Y component ++ * db[6]: CRC value bits 7:0 of the B or Cb component ++ * db[7]: CRC value bits 15:8 of the B or Cb component ++ * db[8] - db[31]: Reserved ++ * VSC SDP Payload for Pixel Encoding/Colorimetry Format ++ * db[0] - db[15]: Reserved ++ * db[16]: Pixel Encoding and Colorimetry Formats ++ * db[17]: Dynamic Range and Component Bit Depth ++ * db[18]: Content Type ++ * db[19] - db[31]: Reserved ++ */ ++struct dp_sdp { ++ struct dp_sdp_header sdp_header; ++ u8 db[32]; ++} __packed; ++ ++#define EDP_VSC_PSR_STATE_ACTIVE (1<<0) ++#define EDP_VSC_PSR_UPDATE_RFB (1<<1) ++#define EDP_VSC_PSR_CRC_VALUES_VALID (1<<2) ++ ++/** ++ * enum dp_pixelformat - drm DP Pixel encoding formats ++ * ++ * This enum is used to indicate DP VSC SDP Pixel encoding formats. ++ * It is based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through ++ * DB18] ++ * ++ * @DP_PIXELFORMAT_RGB: RGB pixel encoding format ++ * @DP_PIXELFORMAT_YUV444: YCbCr 4:4:4 pixel encoding format ++ * @DP_PIXELFORMAT_YUV422: YCbCr 4:2:2 pixel encoding format ++ * @DP_PIXELFORMAT_YUV420: YCbCr 4:2:0 pixel encoding format ++ * @DP_PIXELFORMAT_Y_ONLY: Y Only pixel encoding format ++ * @DP_PIXELFORMAT_RAW: RAW pixel encoding format ++ * @DP_PIXELFORMAT_RESERVED: Reserved pixel encoding format ++ */ ++enum dp_pixelformat { ++ DP_PIXELFORMAT_RGB = 0, ++ DP_PIXELFORMAT_YUV444 = 0x1, ++ DP_PIXELFORMAT_YUV422 = 0x2, ++ DP_PIXELFORMAT_YUV420 = 0x3, ++ DP_PIXELFORMAT_Y_ONLY = 0x4, ++ DP_PIXELFORMAT_RAW = 0x5, ++ DP_PIXELFORMAT_RESERVED = 0x6, ++}; ++ ++/** ++ * enum dp_colorimetry - drm DP Colorimetry formats ++ * ++ * This enum is used to indicate DP VSC SDP Colorimetry formats. ++ * It is based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through ++ * DB18] and a name of enum member follows DRM_MODE_COLORIMETRY definition. ++ * ++ * @DP_COLORIMETRY_DEFAULT: sRGB (IEC 61966-2-1) or ++ * ITU-R BT.601 colorimetry format ++ * @DP_COLORIMETRY_RGB_WIDE_FIXED: RGB wide gamut fixed point colorimetry format ++ * @DP_COLORIMETRY_BT709_YCC: ITU-R BT.709 colorimetry format ++ * @DP_COLORIMETRY_RGB_WIDE_FLOAT: RGB wide gamut floating point ++ * (scRGB (IEC 61966-2-2)) colorimetry format ++ * @DP_COLORIMETRY_XVYCC_601: xvYCC601 colorimetry format ++ * @DP_COLORIMETRY_OPRGB: OpRGB colorimetry format ++ * @DP_COLORIMETRY_XVYCC_709: xvYCC709 colorimetry format ++ * @DP_COLORIMETRY_DCI_P3_RGB: DCI-P3 (SMPTE RP 431-2) colorimetry format ++ * @DP_COLORIMETRY_SYCC_601: sYCC601 colorimetry format ++ * @DP_COLORIMETRY_RGB_CUSTOM: RGB Custom Color Profile colorimetry format ++ * @DP_COLORIMETRY_OPYCC_601: opYCC601 colorimetry format ++ * @DP_COLORIMETRY_BT2020_RGB: ITU-R BT.2020 R' G' B' colorimetry format ++ * @DP_COLORIMETRY_BT2020_CYCC: ITU-R BT.2020 Y'c C'bc C'rc colorimetry format ++ * @DP_COLORIMETRY_BT2020_YCC: ITU-R BT.2020 Y' C'b C'r colorimetry format ++ */ ++enum dp_colorimetry { ++ DP_COLORIMETRY_DEFAULT = 0, ++ DP_COLORIMETRY_RGB_WIDE_FIXED = 0x1, ++ DP_COLORIMETRY_BT709_YCC = 0x1, ++ DP_COLORIMETRY_RGB_WIDE_FLOAT = 0x2, ++ DP_COLORIMETRY_XVYCC_601 = 0x2, ++ DP_COLORIMETRY_OPRGB = 0x3, ++ DP_COLORIMETRY_XVYCC_709 = 0x3, ++ DP_COLORIMETRY_DCI_P3_RGB = 0x4, ++ DP_COLORIMETRY_SYCC_601 = 0x4, ++ DP_COLORIMETRY_RGB_CUSTOM = 0x5, ++ DP_COLORIMETRY_OPYCC_601 = 0x5, ++ DP_COLORIMETRY_BT2020_RGB = 0x6, ++ DP_COLORIMETRY_BT2020_CYCC = 0x6, ++ DP_COLORIMETRY_BT2020_YCC = 0x7, ++}; ++ ++/** ++ * enum dp_dynamic_range - drm DP Dynamic Range ++ * ++ * This enum is used to indicate DP VSC SDP Dynamic Range. ++ * It is based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through ++ * DB18] ++ * ++ * @DP_DYNAMIC_RANGE_VESA: VESA range ++ * @DP_DYNAMIC_RANGE_CTA: CTA range ++ */ ++enum dp_dynamic_range { ++ DP_DYNAMIC_RANGE_VESA = 0, ++ DP_DYNAMIC_RANGE_CTA = 1, ++}; ++ ++/** ++ * enum dp_content_type - drm DP Content Type ++ * ++ * This enum is used to indicate DP VSC SDP Content Types. ++ * It is based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through ++ * DB18] ++ * CTA-861-G defines content types and expected processing by a sink device ++ * ++ * @DP_CONTENT_TYPE_NOT_DEFINED: Not defined type ++ * @DP_CONTENT_TYPE_GRAPHICS: Graphics type ++ * @DP_CONTENT_TYPE_PHOTO: Photo type ++ * @DP_CONTENT_TYPE_VIDEO: Video type ++ * @DP_CONTENT_TYPE_GAME: Game type ++ */ ++enum dp_content_type { ++ DP_CONTENT_TYPE_NOT_DEFINED = 0x00, ++ DP_CONTENT_TYPE_GRAPHICS = 0x01, ++ DP_CONTENT_TYPE_PHOTO = 0x02, ++ DP_CONTENT_TYPE_VIDEO = 0x03, ++ DP_CONTENT_TYPE_GAME = 0x04, ++}; ++ ++/** ++ * struct drm_dp_vsc_sdp - drm DP VSC SDP ++ * ++ * This structure represents a DP VSC SDP of drm ++ * It is based on DP 1.4 spec [Table 2-116: VSC SDP Header Bytes] and ++ * [Table 2-117: VSC SDP Payload for DB16 through DB18] ++ * ++ * @sdp_type: secondary-data packet type ++ * @revision: revision number ++ * @length: number of valid data bytes ++ * @pixelformat: pixel encoding format ++ * @colorimetry: colorimetry format ++ * @bpc: bit per color ++ * @dynamic_range: dynamic range information ++ * @content_type: CTA-861-G defines content types and expected processing by a sink device ++ */ ++struct drm_dp_vsc_sdp { ++ unsigned char sdp_type; ++ unsigned char revision; ++ unsigned char length; ++ enum dp_pixelformat pixelformat; ++ enum dp_colorimetry colorimetry; ++ int bpc; ++ enum dp_dynamic_range dynamic_range; ++ enum dp_content_type content_type; ++}; ++ ++void drm_dp_vsc_sdp_log(const char *level, struct device *dev, ++ const struct drm_dp_vsc_sdp *vsc); ++ ++int drm_dp_psr_setup_time(const u8 psr_cap[EDP_PSR_RECEIVER_CAP_SIZE]); ++ ++static inline int ++drm_dp_max_link_rate(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) ++{ ++ return drm_dp_bw_code_to_link_rate(dpcd[DP_MAX_LINK_RATE]); ++} ++ ++static inline u8 ++drm_dp_max_lane_count(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) ++{ ++ return dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK; ++} ++ ++static inline bool ++drm_dp_enhanced_frame_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) ++{ ++ return dpcd[DP_DPCD_REV] >= 0x11 && ++ (dpcd[DP_MAX_LANE_COUNT] & DP_ENHANCED_FRAME_CAP); ++} ++ ++static inline bool ++drm_dp_fast_training_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) ++{ ++ return dpcd[DP_DPCD_REV] >= 0x11 && ++ (dpcd[DP_MAX_DOWNSPREAD] & DP_NO_AUX_HANDSHAKE_LINK_TRAINING); ++} ++ ++static inline bool ++drm_dp_tps3_supported(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) ++{ ++ return dpcd[DP_DPCD_REV] >= 0x12 && ++ dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED; ++} ++ ++static inline bool ++drm_dp_tps4_supported(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) ++{ ++ return dpcd[DP_DPCD_REV] >= 0x14 && ++ dpcd[DP_MAX_DOWNSPREAD] & DP_TPS4_SUPPORTED; ++} ++ ++static inline u8 ++drm_dp_training_pattern_mask(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) ++{ ++ return (dpcd[DP_DPCD_REV] >= 0x14) ? DP_TRAINING_PATTERN_MASK_1_4 : ++ DP_TRAINING_PATTERN_MASK; ++} ++ ++static inline bool ++drm_dp_is_branch(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) ++{ ++ return dpcd[DP_DOWNSTREAMPORT_PRESENT] & DP_DWN_STRM_PORT_PRESENT; ++} ++ ++/* DP/eDP DSC support */ ++u8 drm_dp_dsc_sink_max_slice_count(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE], ++ bool is_edp); ++u8 drm_dp_dsc_sink_line_buf_depth(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]); ++int drm_dp_dsc_sink_supported_input_bpcs(const u8 dsc_dpc[DP_DSC_RECEIVER_CAP_SIZE], ++ u8 dsc_bpc[3]); ++ ++static inline bool ++drm_dp_sink_supports_dsc(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]) ++{ ++ return dsc_dpcd[DP_DSC_SUPPORT - DP_DSC_SUPPORT] & ++ DP_DSC_DECOMPRESSION_IS_SUPPORTED; ++} ++ ++static inline u16 ++drm_edp_dsc_sink_output_bpp(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]) ++{ ++ return dsc_dpcd[DP_DSC_MAX_BITS_PER_PIXEL_LOW - DP_DSC_SUPPORT] | ++ (dsc_dpcd[DP_DSC_MAX_BITS_PER_PIXEL_HI - DP_DSC_SUPPORT] & ++ DP_DSC_MAX_BITS_PER_PIXEL_HI_MASK << ++ DP_DSC_MAX_BITS_PER_PIXEL_HI_SHIFT); ++} ++ ++static inline u32 ++drm_dp_dsc_sink_max_slice_width(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]) ++{ ++ /* Max Slicewidth = Number of Pixels * 320 */ ++ return dsc_dpcd[DP_DSC_MAX_SLICE_WIDTH - DP_DSC_SUPPORT] * ++ DP_DSC_SLICE_WIDTH_MULTIPLIER; ++} ++ ++/* Forward Error Correction Support on DP 1.4 */ ++static inline bool ++drm_dp_sink_supports_fec(const u8 fec_capable) ++{ ++ return fec_capable & DP_FEC_CAPABLE; ++} ++ ++static inline bool ++drm_dp_channel_coding_supported(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) ++{ ++ return dpcd[DP_MAIN_LINK_CHANNEL_CODING] & DP_CAP_ANSI_8B10B; ++} ++ ++static inline bool ++drm_dp_alternate_scrambler_reset_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) ++{ ++ return dpcd[DP_EDP_CONFIGURATION_CAP] & ++ DP_ALTERNATE_SCRAMBLER_RESET_CAP; ++} ++ ++/* Ignore MSA timing for Adaptive Sync support on DP 1.4 */ ++static inline bool ++drm_dp_sink_can_do_video_without_timing_msa(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) ++{ ++ return dpcd[DP_DOWN_STREAM_PORT_COUNT] & ++ DP_MSA_TIMING_PAR_IGNORED; ++} ++ ++/* ++ * DisplayPort AUX channel ++ */ ++ ++/** ++ * struct drm_dp_aux_msg - DisplayPort AUX channel transaction ++ * @address: address of the (first) register to access ++ * @request: contains the type of transaction (see DP_AUX_* macros) ++ * @reply: upon completion, contains the reply type of the transaction ++ * @buffer: pointer to a transmission or reception buffer ++ * @size: size of @buffer ++ */ ++struct drm_dp_aux_msg { ++ unsigned int address; ++ u8 request; ++ u8 reply; ++ void *buffer; ++ size_t size; ++}; ++ ++struct cec_adapter; ++struct edid; ++struct drm_connector; ++ ++/** ++ * struct drm_dp_aux_cec - DisplayPort CEC-Tunneling-over-AUX ++ * @lock: mutex protecting this struct ++ * @adap: the CEC adapter for CEC-Tunneling-over-AUX support. ++ * @connector: the connector this CEC adapter is associated with ++ * @unregister_work: unregister the CEC adapter ++ */ ++struct drm_dp_aux_cec { ++ struct mutex lock; ++ struct cec_adapter *adap; ++ struct drm_connector *connector; ++ struct delayed_work unregister_work; ++}; ++ ++/** ++ * struct drm_dp_aux - DisplayPort AUX channel ++ * @name: user-visible name of this AUX channel and the I2C-over-AUX adapter ++ * @ddc: I2C adapter that can be used for I2C-over-AUX communication ++ * @dev: pointer to struct device that is the parent for this AUX channel ++ * @crtc: backpointer to the crtc that is currently using this AUX channel ++ * @hw_mutex: internal mutex used for locking transfers ++ * @crc_work: worker that captures CRCs for each frame ++ * @crc_count: counter of captured frame CRCs ++ * @transfer: transfers a message representing a single AUX transaction ++ * ++ * The .dev field should be set to a pointer to the device that implements ++ * the AUX channel. ++ * ++ * The .name field may be used to specify the name of the I2C adapter. If set to ++ * NULL, dev_name() of .dev will be used. ++ * ++ * Drivers provide a hardware-specific implementation of how transactions ++ * are executed via the .transfer() function. A pointer to a drm_dp_aux_msg ++ * structure describing the transaction is passed into this function. Upon ++ * success, the implementation should return the number of payload bytes ++ * that were transferred, or a negative error-code on failure. Helpers ++ * propagate errors from the .transfer() function, with the exception of ++ * the -EBUSY error, which causes a transaction to be retried. On a short, ++ * helpers will return -EPROTO to make it simpler to check for failure. ++ * ++ * An AUX channel can also be used to transport I2C messages to a sink. A ++ * typical application of that is to access an EDID that's present in the ++ * sink device. The .transfer() function can also be used to execute such ++ * transactions. The drm_dp_aux_register() function registers an I2C ++ * adapter that can be passed to drm_probe_ddc(). Upon removal, drivers ++ * should call drm_dp_aux_unregister() to remove the I2C adapter. ++ * The I2C adapter uses long transfers by default; if a partial response is ++ * received, the adapter will drop down to the size given by the partial ++ * response for this transaction only. ++ * ++ * Note that the aux helper code assumes that the .transfer() function ++ * only modifies the reply field of the drm_dp_aux_msg structure. The ++ * retry logic and i2c helpers assume this is the case. ++ */ ++struct drm_dp_aux { ++ const char *name; ++ struct i2c_adapter ddc; ++ struct device *dev; ++ struct drm_crtc *crtc; ++ struct mutex hw_mutex; ++ struct work_struct crc_work; ++ u8 crc_count; ++ ssize_t (*transfer)(struct drm_dp_aux *aux, ++ struct drm_dp_aux_msg *msg); ++ /** ++ * @i2c_nack_count: Counts I2C NACKs, used for DP validation. ++ */ ++ unsigned i2c_nack_count; ++ /** ++ * @i2c_defer_count: Counts I2C DEFERs, used for DP validation. ++ */ ++ unsigned i2c_defer_count; ++ /** ++ * @cec: struct containing fields used for CEC-Tunneling-over-AUX. ++ */ ++ struct drm_dp_aux_cec cec; ++ /** ++ * @is_remote: Is this AUX CH actually using sideband messaging. ++ */ ++ bool is_remote; ++}; ++ ++ssize_t drm_dp_dpcd_read(struct drm_dp_aux *aux, unsigned int offset, ++ void *buffer, size_t size); ++ssize_t drm_dp_dpcd_write(struct drm_dp_aux *aux, unsigned int offset, ++ void *buffer, size_t size); ++ ++/** ++ * drm_dp_dpcd_readb() - read a single byte from the DPCD ++ * @aux: DisplayPort AUX channel ++ * @offset: address of the register to read ++ * @valuep: location where the value of the register will be stored ++ * ++ * Returns the number of bytes transferred (1) on success, or a negative ++ * error code on failure. ++ */ ++static inline ssize_t drm_dp_dpcd_readb(struct drm_dp_aux *aux, ++ unsigned int offset, u8 *valuep) ++{ ++ return drm_dp_dpcd_read(aux, offset, valuep, 1); ++} ++ ++/** ++ * drm_dp_dpcd_writeb() - write a single byte to the DPCD ++ * @aux: DisplayPort AUX channel ++ * @offset: address of the register to write ++ * @value: value to write to the register ++ * ++ * Returns the number of bytes transferred (1) on success, or a negative ++ * error code on failure. ++ */ ++static inline ssize_t drm_dp_dpcd_writeb(struct drm_dp_aux *aux, ++ unsigned int offset, u8 value) ++{ ++ return drm_dp_dpcd_write(aux, offset, &value, 1); ++} ++ ++int drm_dp_read_dpcd_caps(struct drm_dp_aux *aux, ++ u8 dpcd[DP_RECEIVER_CAP_SIZE]); ++ ++int drm_dp_dpcd_read_link_status(struct drm_dp_aux *aux, ++ u8 status[DP_LINK_STATUS_SIZE]); ++ ++bool drm_dp_send_real_edid_checksum(struct drm_dp_aux *aux, ++ u8 real_edid_checksum); ++ ++int drm_dp_read_downstream_info(struct drm_dp_aux *aux, ++ const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ u8 downstream_ports[DP_MAX_DOWNSTREAM_PORTS]); ++bool drm_dp_downstream_is_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ const u8 port_cap[4], u8 type); ++bool drm_dp_downstream_is_tmds(const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ const u8 port_cap[4], ++ const struct edid *edid); ++int drm_dp_downstream_max_dotclock(const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ const u8 port_cap[4]); ++int drm_dp_downstream_max_tmds_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ const u8 port_cap[4], ++ const struct edid *edid); ++int drm_dp_downstream_min_tmds_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ const u8 port_cap[4], ++ const struct edid *edid); ++int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ const u8 port_cap[4], ++ const struct edid *edid); ++bool drm_dp_downstream_420_passthrough(const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ const u8 port_cap[4]); ++bool drm_dp_downstream_444_to_420_conversion(const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ const u8 port_cap[4]); ++struct drm_display_mode *drm_dp_downstream_mode(struct drm_device *dev, ++ const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ const u8 port_cap[4]); ++int drm_dp_downstream_id(struct drm_dp_aux *aux, char id[6]); ++void drm_dp_downstream_debug(struct seq_file *m, ++ const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ const u8 port_cap[4], ++ const struct edid *edid, ++ struct drm_dp_aux *aux); ++enum drm_mode_subconnector ++drm_dp_subconnector_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ const u8 port_cap[4]); ++void drm_dp_set_subconnector_property(struct drm_connector *connector, ++ enum drm_connector_status status, ++ const u8 *dpcd, ++ const u8 port_cap[4]); ++ ++struct drm_dp_desc; ++bool drm_dp_read_sink_count_cap(struct drm_connector *connector, ++ const u8 dpcd[DP_RECEIVER_CAP_SIZE], ++ const struct drm_dp_desc *desc); ++int drm_dp_read_sink_count(struct drm_dp_aux *aux); ++ ++void drm_dp_remote_aux_init(struct drm_dp_aux *aux); ++void drm_dp_aux_init(struct drm_dp_aux *aux); ++int drm_dp_aux_register(struct drm_dp_aux *aux); ++void drm_dp_aux_unregister(struct drm_dp_aux *aux); ++ ++int drm_dp_start_crc(struct drm_dp_aux *aux, struct drm_crtc *crtc); ++int drm_dp_stop_crc(struct drm_dp_aux *aux); ++ ++struct drm_dp_dpcd_ident { ++ u8 oui[3]; ++ u8 device_id[6]; ++ u8 hw_rev; ++ u8 sw_major_rev; ++ u8 sw_minor_rev; ++} __packed; ++ ++/** ++ * struct drm_dp_desc - DP branch/sink device descriptor ++ * @ident: DP device identification from DPCD 0x400 (sink) or 0x500 (branch). ++ * @quirks: Quirks; use drm_dp_has_quirk() to query for the quirks. ++ */ ++struct drm_dp_desc { ++ struct drm_dp_dpcd_ident ident; ++ u32 quirks; ++}; ++ ++int drm_dp_read_desc(struct drm_dp_aux *aux, struct drm_dp_desc *desc, ++ bool is_branch); ++u32 drm_dp_get_edid_quirks(const struct edid *edid); ++ ++/** ++ * enum drm_dp_quirk - Display Port sink/branch device specific quirks ++ * ++ * Display Port sink and branch devices in the wild have a variety of bugs, try ++ * to collect them here. The quirks are shared, but it's up to the drivers to ++ * implement workarounds for them. Note that because some devices have ++ * unreliable OUIDs, the EDID of sinks should also be checked for quirks using ++ * drm_dp_get_edid_quirks(). ++ */ ++enum drm_dp_quirk { ++ /** ++ * @DP_DPCD_QUIRK_CONSTANT_N: ++ * ++ * The device requires main link attributes Mvid and Nvid to be limited ++ * to 16 bits. So will give a constant value (0x8000) for compatability. ++ */ ++ DP_DPCD_QUIRK_CONSTANT_N, ++ /** ++ * @DP_DPCD_QUIRK_NO_PSR: ++ * ++ * The device does not support PSR even if reports that it supports or ++ * driver still need to implement proper handling for such device. ++ */ ++ DP_DPCD_QUIRK_NO_PSR, ++ /** ++ * @DP_DPCD_QUIRK_NO_SINK_COUNT: ++ * ++ * The device does not set SINK_COUNT to a non-zero value. ++ * The driver should ignore SINK_COUNT during detection. Note that ++ * drm_dp_read_sink_count_cap() automatically checks for this quirk. ++ */ ++ DP_DPCD_QUIRK_NO_SINK_COUNT, ++ /** ++ * @DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD: ++ * ++ * The device supports MST DSC despite not supporting Virtual DPCD. ++ * The DSC caps can be read from the physical aux instead. ++ */ ++ DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD, ++ /** ++ * @DP_QUIRK_FORCE_DPCD_BACKLIGHT: ++ * ++ * The device is telling the truth when it says that it uses DPCD ++ * backlight controls, even if the system's firmware disagrees. This ++ * quirk should be checked against both the ident and panel EDID. ++ * When present, the driver should honor the DPCD backlight ++ * capabilities advertised. ++ */ ++ DP_QUIRK_FORCE_DPCD_BACKLIGHT, ++ /** ++ * @DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS: ++ * ++ * The device supports a link rate of 3.24 Gbps (multiplier 0xc) despite ++ * the DP_MAX_LINK_RATE register reporting a lower max multiplier. ++ */ ++ DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS, ++}; ++ ++/** ++ * drm_dp_has_quirk() - does the DP device have a specific quirk ++ * @desc: Device descriptor filled by drm_dp_read_desc() ++ * @edid_quirks: Optional quirk bitmask filled by drm_dp_get_edid_quirks() ++ * @quirk: Quirk to query for ++ * ++ * Return true if DP device identified by @desc has @quirk. ++ */ ++static inline bool ++drm_dp_has_quirk(const struct drm_dp_desc *desc, u32 edid_quirks, ++ enum drm_dp_quirk quirk) ++{ ++ return (desc->quirks | edid_quirks) & BIT(quirk); ++} ++ ++#ifdef CONFIG_DRM_DP_CEC ++void drm_dp_cec_irq(struct drm_dp_aux *aux); ++void drm_dp_cec_register_connector(struct drm_dp_aux *aux, ++ struct drm_connector *connector); ++void drm_dp_cec_unregister_connector(struct drm_dp_aux *aux); ++void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid); ++void drm_dp_cec_unset_edid(struct drm_dp_aux *aux); ++#else ++static inline void drm_dp_cec_irq(struct drm_dp_aux *aux) ++{ ++} ++ ++static inline void ++drm_dp_cec_register_connector(struct drm_dp_aux *aux, ++ struct drm_connector *connector) ++{ ++} ++ ++static inline void drm_dp_cec_unregister_connector(struct drm_dp_aux *aux) ++{ ++} ++ ++static inline void drm_dp_cec_set_edid(struct drm_dp_aux *aux, ++ const struct edid *edid) ++{ ++} ++ ++static inline void drm_dp_cec_unset_edid(struct drm_dp_aux *aux) ++{ ++} ++ ++#endif ++ ++/** ++ * struct drm_dp_phy_test_params - DP Phy Compliance parameters ++ * @link_rate: Requested Link rate from DPCD 0x219 ++ * @num_lanes: Number of lanes requested by sing through DPCD 0x220 ++ * @phy_pattern: DP Phy test pattern from DPCD 0x248 ++ * @hbr2_reset: DP HBR2_COMPLIANCE_SCRAMBLER_RESET from DCPD 0x24A and 0x24B ++ * @custom80: DP Test_80BIT_CUSTOM_PATTERN from DPCDs 0x250 through 0x259 ++ * @enhanced_frame_cap: flag for enhanced frame capability. ++ */ ++struct drm_dp_phy_test_params { ++ int link_rate; ++ u8 num_lanes; ++ u8 phy_pattern; ++ u8 hbr2_reset[2]; ++ u8 custom80[10]; ++ bool enhanced_frame_cap; ++}; ++ ++int drm_dp_get_phy_test_pattern(struct drm_dp_aux *aux, ++ struct drm_dp_phy_test_params *data); ++int drm_dp_set_phy_test_pattern(struct drm_dp_aux *aux, ++ struct drm_dp_phy_test_params *data, u8 dp_rev); ++#endif /* _DRM_DP_HELPER_H_ */ +diff -rupN linux.orig/include/drm/drm_dsc.h linux/include/drm/drm_dsc.h +--- linux.orig/include/drm/drm_dsc.h 1970-01-01 00:00:00.000000000 +0000 ++++ linux/include/drm/drm_dsc.h 2024-03-22 22:45:10.311816791 +0000 +@@ -0,0 +1,609 @@ ++/* SPDX-License-Identifier: MIT ++ * Copyright (C) 2018 Intel Corp. ++ * ++ * Authors: ++ * Manasi Navare ++ */ ++ ++#ifndef DRM_DSC_H_ ++#define DRM_DSC_H_ ++ ++#include ++ ++/* VESA Display Stream Compression DSC 1.2 constants */ ++#define DSC_NUM_BUF_RANGES 15 ++#define DSC_MUX_WORD_SIZE_8_10_BPC 48 ++#define DSC_MUX_WORD_SIZE_12_BPC 64 ++#define DSC_RC_PIXELS_PER_GROUP 3 ++#define DSC_SCALE_DECREMENT_INTERVAL_MAX 4095 ++#define DSC_RANGE_BPG_OFFSET_MASK 0x3f ++ ++/* DSC Rate Control Constants */ ++#define DSC_RC_MODEL_SIZE_CONST 8192 ++#define DSC_RC_EDGE_FACTOR_CONST 6 ++#define DSC_RC_TGT_OFFSET_HI_CONST 3 ++#define DSC_RC_TGT_OFFSET_LO_CONST 3 ++ ++/* DSC PPS constants and macros */ ++#define DSC_PPS_VERSION_MAJOR_SHIFT 4 ++#define DSC_PPS_BPC_SHIFT 4 ++#define DSC_PPS_MSB_SHIFT 8 ++#define DSC_PPS_LSB_MASK (0xFF << 0) ++#define DSC_PPS_BPP_HIGH_MASK (0x3 << 8) ++#define DSC_PPS_VBR_EN_SHIFT 2 ++#define DSC_PPS_SIMPLE422_SHIFT 3 ++#define DSC_PPS_CONVERT_RGB_SHIFT 4 ++#define DSC_PPS_BLOCK_PRED_EN_SHIFT 5 ++#define DSC_PPS_INIT_XMIT_DELAY_HIGH_MASK (0x3 << 8) ++#define DSC_PPS_SCALE_DEC_INT_HIGH_MASK (0xF << 8) ++#define DSC_PPS_RC_TGT_OFFSET_HI_SHIFT 4 ++#define DSC_PPS_RC_RANGE_MINQP_SHIFT 11 ++#define DSC_PPS_RC_RANGE_MAXQP_SHIFT 6 ++#define DSC_PPS_NATIVE_420_SHIFT 1 ++#define DSC_1_2_MAX_LINEBUF_DEPTH_BITS 16 ++#define DSC_1_2_MAX_LINEBUF_DEPTH_VAL 0 ++#define DSC_1_1_MAX_LINEBUF_DEPTH_BITS 13 ++ ++/** ++ * struct drm_dsc_rc_range_parameters - DSC Rate Control range parameters ++ * ++ * This defines different rate control parameters used by the DSC engine ++ * to compress the frame. ++ */ ++struct drm_dsc_rc_range_parameters { ++ /** ++ * @range_min_qp: Min Quantization Parameters allowed for this range ++ */ ++ u8 range_min_qp; ++ /** ++ * @range_max_qp: Max Quantization Parameters allowed for this range ++ */ ++ u8 range_max_qp; ++ /** ++ * @range_bpg_offset: ++ * Bits/group offset to apply to target for this group ++ */ ++ u8 range_bpg_offset; ++}; ++ ++/** ++ * struct drm_dsc_config - Parameters required to configure DSC ++ * ++ * Driver populates this structure with all the parameters required ++ * to configure the display stream compression on the source. ++ */ ++struct drm_dsc_config { ++ /** ++ * @line_buf_depth: ++ * Bits per component for previous reconstructed line buffer ++ */ ++ u8 line_buf_depth; ++ /** ++ * @bits_per_component: Bits per component to code (8/10/12) ++ */ ++ u8 bits_per_component; ++ /** ++ * @convert_rgb: ++ * Flag to indicate if RGB - YCoCg conversion is needed ++ * True if RGB input, False if YCoCg input ++ */ ++ bool convert_rgb; ++ /** ++ * @slice_count: Number fo slices per line used by the DSC encoder ++ */ ++ u8 slice_count; ++ /** ++ * @slice_width: Width of each slice in pixels ++ */ ++ u16 slice_width; ++ /** ++ * @slice_height: Slice height in pixels ++ */ ++ u16 slice_height; ++ /** ++ * @simple_422: True if simple 4_2_2 mode is enabled else False ++ */ ++ bool simple_422; ++ /** ++ * @pic_width: Width of the input display frame in pixels ++ */ ++ u16 pic_width; ++ /** ++ * @pic_height: Vertical height of the input display frame ++ */ ++ u16 pic_height; ++ /** ++ * @rc_tgt_offset_high: ++ * Offset to bits/group used by RC to determine QP adjustment ++ */ ++ u8 rc_tgt_offset_high; ++ /** ++ * @rc_tgt_offset_low: ++ * Offset to bits/group used by RC to determine QP adjustment ++ */ ++ u8 rc_tgt_offset_low; ++ /** ++ * @bits_per_pixel: ++ * Target bits per pixel with 4 fractional bits, bits_per_pixel << 4 ++ */ ++ u16 bits_per_pixel; ++ /** ++ * @rc_edge_factor: ++ * Factor to determine if an edge is present based on the bits produced ++ */ ++ u8 rc_edge_factor; ++ /** ++ * @rc_quant_incr_limit1: ++ * Slow down incrementing once the range reaches this value ++ */ ++ u8 rc_quant_incr_limit1; ++ /** ++ * @rc_quant_incr_limit0: ++ * Slow down incrementing once the range reaches this value ++ */ ++ u8 rc_quant_incr_limit0; ++ /** ++ * @initial_xmit_delay: ++ * Number of pixels to delay the initial transmission ++ */ ++ u16 initial_xmit_delay; ++ /** ++ * @initial_dec_delay: ++ * Initial decoder delay, number of pixel times that the decoder ++ * accumulates data in its rate buffer before starting to decode ++ * and output pixels. ++ */ ++ u16 initial_dec_delay; ++ /** ++ * @block_pred_enable: ++ * True if block prediction is used to code any groups within the ++ * picture. False if BP not used ++ */ ++ bool block_pred_enable; ++ /** ++ * @first_line_bpg_offset: ++ * Number of additional bits allocated for each group on the first ++ * line of slice. ++ */ ++ u8 first_line_bpg_offset; ++ /** ++ * @initial_offset: Value to use for RC model offset at slice start ++ */ ++ u16 initial_offset; ++ /** ++ * @rc_buf_thresh: Thresholds defining each of the buffer ranges ++ */ ++ u16 rc_buf_thresh[DSC_NUM_BUF_RANGES - 1]; ++ /** ++ * @rc_range_params: ++ * Parameters for each of the RC ranges defined in ++ * &struct drm_dsc_rc_range_parameters ++ */ ++ struct drm_dsc_rc_range_parameters rc_range_params[DSC_NUM_BUF_RANGES]; ++ /** ++ * @rc_model_size: Total size of RC model ++ */ ++ u16 rc_model_size; ++ /** ++ * @flatness_min_qp: Minimum QP where flatness information is sent ++ */ ++ u8 flatness_min_qp; ++ /** ++ * @flatness_max_qp: Maximum QP where flatness information is sent ++ */ ++ u8 flatness_max_qp; ++ /** ++ * @initial_scale_value: Initial value for the scale factor ++ */ ++ u8 initial_scale_value; ++ /** ++ * @scale_decrement_interval: ++ * Specifies number of group times between decrementing the scale factor ++ * at beginning of a slice. ++ */ ++ u16 scale_decrement_interval; ++ /** ++ * @scale_increment_interval: ++ * Number of group times between incrementing the scale factor value ++ * used at the beginning of a slice. ++ */ ++ u16 scale_increment_interval; ++ /** ++ * @nfl_bpg_offset: Non first line BPG offset to be used ++ */ ++ u16 nfl_bpg_offset; ++ /** ++ * @slice_bpg_offset: BPG offset used to enforce slice bit ++ */ ++ u16 slice_bpg_offset; ++ /** ++ * @final_offset: Final RC linear transformation offset value ++ */ ++ u16 final_offset; ++ /** ++ * @vbr_enable: True if VBR mode is enabled, false if disabled ++ */ ++ bool vbr_enable; ++ /** ++ * @mux_word_size: Mux word size (in bits) for SSM mode ++ */ ++ u8 mux_word_size; ++ /** ++ * @slice_chunk_size: ++ * The (max) size in bytes of the "chunks" that are used in slice ++ * multiplexing. ++ */ ++ u16 slice_chunk_size; ++ /** ++ * @rc_bits: Rate control buffer size in bits ++ */ ++ u16 rc_bits; ++ /** ++ * @dsc_version_minor: DSC minor version ++ */ ++ u8 dsc_version_minor; ++ /** ++ * @dsc_version_major: DSC major version ++ */ ++ u8 dsc_version_major; ++ /** ++ * @native_422: True if Native 4:2:2 supported, else false ++ */ ++ bool native_422; ++ /** ++ * @native_420: True if Native 4:2:0 supported else false. ++ */ ++ bool native_420; ++ /** ++ * @second_line_bpg_offset: ++ * Additional bits/grp for seconnd line of slice for native 4:2:0 ++ */ ++ u8 second_line_bpg_offset; ++ /** ++ * @nsl_bpg_offset: ++ * Num of bits deallocated for each grp that is not in second line of ++ * slice ++ */ ++ u16 nsl_bpg_offset; ++ /** ++ * @second_line_offset_adj: ++ * Offset adjustment for second line in Native 4:2:0 mode ++ */ ++ u16 second_line_offset_adj; ++}; ++ ++/** ++ * struct picture_parameter_set - Represents 128 bytes of Picture Parameter Set ++ * ++ * The VESA DSC standard defines picture parameter set (PPS) which display ++ * stream compression encoders must communicate to decoders. ++ * The PPS is encapsulated in 128 bytes (PPS 0 through PPS 127). The fields in ++ * this structure are as per Table 4.1 in Vesa DSC specification v1.1/v1.2. ++ * The PPS fields that span over more than a byte should be stored in Big Endian ++ * format. ++ */ ++struct drm_dsc_picture_parameter_set { ++ /** ++ * @dsc_version: ++ * PPS0[3:0] - dsc_version_minor: Contains Minor version of DSC ++ * PPS0[7:4] - dsc_version_major: Contains major version of DSC ++ */ ++ u8 dsc_version; ++ /** ++ * @pps_identifier: ++ * PPS1[7:0] - Application specific identifier that can be ++ * used to differentiate between different PPS tables. ++ */ ++ u8 pps_identifier; ++ /** ++ * @pps_reserved: ++ * PPS2[7:0]- RESERVED Byte ++ */ ++ u8 pps_reserved; ++ /** ++ * @pps_3: ++ * PPS3[3:0] - linebuf_depth: Contains linebuffer bit depth used to ++ * generate the bitstream. (0x0 - 16 bits for DSC 1.2, 0x8 - 8 bits, ++ * 0xA - 10 bits, 0xB - 11 bits, 0xC - 12 bits, 0xD - 13 bits, ++ * 0xE - 14 bits for DSC1.2, 0xF - 14 bits for DSC 1.2. ++ * PPS3[7:4] - bits_per_component: Bits per component for the original ++ * pixels of the encoded picture. ++ * 0x0 = 16bpc (allowed only when dsc_version_minor = 0x2) ++ * 0x8 = 8bpc, 0xA = 10bpc, 0xC = 12bpc, 0xE = 14bpc (also ++ * allowed only when dsc_minor_version = 0x2) ++ */ ++ u8 pps_3; ++ /** ++ * @pps_4: ++ * PPS4[1:0] -These are the most significant 2 bits of ++ * compressed BPP bits_per_pixel[9:0] syntax element. ++ * PPS4[2] - vbr_enable: 0 = VBR disabled, 1 = VBR enabled ++ * PPS4[3] - simple_422: Indicates if decoder drops samples to ++ * reconstruct the 4:2:2 picture. ++ * PPS4[4] - Convert_rgb: Indicates if DSC color space conversion is ++ * active. ++ * PPS4[5] - blobk_pred_enable: Indicates if BP is used to code any ++ * groups in picture ++ * PPS4[7:6] - Reseved bits ++ */ ++ u8 pps_4; ++ /** ++ * @bits_per_pixel_low: ++ * PPS5[7:0] - This indicates the lower significant 8 bits of ++ * the compressed BPP bits_per_pixel[9:0] element. ++ */ ++ u8 bits_per_pixel_low; ++ /** ++ * @pic_height: ++ * PPS6[7:0], PPS7[7:0] -pic_height: Specifies the number of pixel rows ++ * within the raster. ++ */ ++ __be16 pic_height; ++ /** ++ * @pic_width: ++ * PPS8[7:0], PPS9[7:0] - pic_width: Number of pixel columns within ++ * the raster. ++ */ ++ __be16 pic_width; ++ /** ++ * @slice_height: ++ * PPS10[7:0], PPS11[7:0] - Slice height in units of pixels. ++ */ ++ __be16 slice_height; ++ /** ++ * @slice_width: ++ * PPS12[7:0], PPS13[7:0] - Slice width in terms of pixels. ++ */ ++ __be16 slice_width; ++ /** ++ * @chunk_size: ++ * PPS14[7:0], PPS15[7:0] - Size in units of bytes of the chunks ++ * that are used for slice multiplexing. ++ */ ++ __be16 chunk_size; ++ /** ++ * @initial_xmit_delay_high: ++ * PPS16[1:0] - Most Significant two bits of initial transmission delay. ++ * It specifies the number of pixel times that the encoder waits before ++ * transmitting data from its rate buffer. ++ * PPS16[7:2] - Reserved ++ */ ++ u8 initial_xmit_delay_high; ++ /** ++ * @initial_xmit_delay_low: ++ * PPS17[7:0] - Least significant 8 bits of initial transmission delay. ++ */ ++ u8 initial_xmit_delay_low; ++ /** ++ * @initial_dec_delay: ++ * ++ * PPS18[7:0], PPS19[7:0] - Initial decoding delay which is the number ++ * of pixel times that the decoder accumulates data in its rate buffer ++ * before starting to decode and output pixels. ++ */ ++ __be16 initial_dec_delay; ++ /** ++ * @pps20_reserved: ++ * ++ * PPS20[7:0] - Reserved ++ */ ++ u8 pps20_reserved; ++ /** ++ * @initial_scale_value: ++ * PPS21[5:0] - Initial rcXformScale factor used at beginning ++ * of a slice. ++ * PPS21[7:6] - Reserved ++ */ ++ u8 initial_scale_value; ++ /** ++ * @scale_increment_interval: ++ * PPS22[7:0], PPS23[7:0] - Number of group times between incrementing ++ * the rcXformScale factor at end of a slice. ++ */ ++ __be16 scale_increment_interval; ++ /** ++ * @scale_decrement_interval_high: ++ * PPS24[3:0] - Higher 4 bits indicating number of group times between ++ * decrementing the rcXformScale factor at beginning of a slice. ++ * PPS24[7:4] - Reserved ++ */ ++ u8 scale_decrement_interval_high; ++ /** ++ * @scale_decrement_interval_low: ++ * PPS25[7:0] - Lower 8 bits of scale decrement interval ++ */ ++ u8 scale_decrement_interval_low; ++ /** ++ * @pps26_reserved: ++ * PPS26[7:0] ++ */ ++ u8 pps26_reserved; ++ /** ++ * @first_line_bpg_offset: ++ * PPS27[4:0] - Number of additional bits that are allocated ++ * for each group on first line of a slice. ++ * PPS27[7:5] - Reserved ++ */ ++ u8 first_line_bpg_offset; ++ /** ++ * @nfl_bpg_offset: ++ * PPS28[7:0], PPS29[7:0] - Number of bits including frac bits ++ * deallocated for each group for groups after the first line of slice. ++ */ ++ __be16 nfl_bpg_offset; ++ /** ++ * @slice_bpg_offset: ++ * PPS30, PPS31[7:0] - Number of bits that are deallocated for each ++ * group to enforce the slice constraint. ++ */ ++ __be16 slice_bpg_offset; ++ /** ++ * @initial_offset: ++ * PPS32,33[7:0] - Initial value for rcXformOffset ++ */ ++ __be16 initial_offset; ++ /** ++ * @final_offset: ++ * PPS34,35[7:0] - Maximum end-of-slice value for rcXformOffset ++ */ ++ __be16 final_offset; ++ /** ++ * @flatness_min_qp: ++ * PPS36[4:0] - Minimum QP at which flatness is signaled and ++ * flatness QP adjustment is made. ++ * PPS36[7:5] - Reserved ++ */ ++ u8 flatness_min_qp; ++ /** ++ * @flatness_max_qp: ++ * PPS37[4:0] - Max QP at which flatness is signalled and ++ * the flatness adjustment is made. ++ * PPS37[7:5] - Reserved ++ */ ++ u8 flatness_max_qp; ++ /** ++ * @rc_model_size: ++ * PPS38,39[7:0] - Number of bits within RC Model. ++ */ ++ __be16 rc_model_size; ++ /** ++ * @rc_edge_factor: ++ * PPS40[3:0] - Ratio of current activity vs, previous ++ * activity to determine presence of edge. ++ * PPS40[7:4] - Reserved ++ */ ++ u8 rc_edge_factor; ++ /** ++ * @rc_quant_incr_limit0: ++ * PPS41[4:0] - QP threshold used in short term RC ++ * PPS41[7:5] - Reserved ++ */ ++ u8 rc_quant_incr_limit0; ++ /** ++ * @rc_quant_incr_limit1: ++ * PPS42[4:0] - QP threshold used in short term RC ++ * PPS42[7:5] - Reserved ++ */ ++ u8 rc_quant_incr_limit1; ++ /** ++ * @rc_tgt_offset: ++ * PPS43[3:0] - Lower end of the variability range around the target ++ * bits per group that is allowed by short term RC. ++ * PPS43[7:4]- Upper end of the variability range around the target ++ * bits per group that i allowed by short term rc. ++ */ ++ u8 rc_tgt_offset; ++ /** ++ * @rc_buf_thresh: ++ * PPS44[7:0] - PPS57[7:0] - Specifies the thresholds in RC model for ++ * the 15 ranges defined by 14 thresholds. ++ */ ++ u8 rc_buf_thresh[DSC_NUM_BUF_RANGES - 1]; ++ /** ++ * @rc_range_parameters: ++ * PPS58[7:0] - PPS87[7:0] ++ * Parameters that correspond to each of the 15 ranges. ++ */ ++ __be16 rc_range_parameters[DSC_NUM_BUF_RANGES]; ++ /** ++ * @native_422_420: ++ * PPS88[0] - 0 = Native 4:2:2 not used ++ * 1 = Native 4:2:2 used ++ * PPS88[1] - 0 = Native 4:2:0 not use ++ * 1 = Native 4:2:0 used ++ * PPS88[7:2] - Reserved 6 bits ++ */ ++ u8 native_422_420; ++ /** ++ * @second_line_bpg_offset: ++ * PPS89[4:0] - Additional bits/group budget for the ++ * second line of a slice in Native 4:2:0 mode. ++ * Set to 0 if DSC minor version is 1 or native420 is 0. ++ * PPS89[7:5] - Reserved ++ */ ++ u8 second_line_bpg_offset; ++ /** ++ * @nsl_bpg_offset: ++ * PPS90[7:0], PPS91[7:0] - Number of bits that are deallocated ++ * for each group that is not in the second line of a slice. ++ */ ++ __be16 nsl_bpg_offset; ++ /** ++ * @second_line_offset_adj: ++ * PPS92[7:0], PPS93[7:0] - Used as offset adjustment for the second ++ * line in Native 4:2:0 mode. ++ */ ++ __be16 second_line_offset_adj; ++ /** ++ * @pps_long_94_reserved: ++ * PPS 94, 95, 96, 97 - Reserved ++ */ ++ u32 pps_long_94_reserved; ++ /** ++ * @pps_long_98_reserved: ++ * PPS 98, 99, 100, 101 - Reserved ++ */ ++ u32 pps_long_98_reserved; ++ /** ++ * @pps_long_102_reserved: ++ * PPS 102, 103, 104, 105 - Reserved ++ */ ++ u32 pps_long_102_reserved; ++ /** ++ * @pps_long_106_reserved: ++ * PPS 106, 107, 108, 109 - reserved ++ */ ++ u32 pps_long_106_reserved; ++ /** ++ * @pps_long_110_reserved: ++ * PPS 110, 111, 112, 113 - reserved ++ */ ++ u32 pps_long_110_reserved; ++ /** ++ * @pps_long_114_reserved: ++ * PPS 114 - 117 - reserved ++ */ ++ u32 pps_long_114_reserved; ++ /** ++ * @pps_long_118_reserved: ++ * PPS 118 - 121 - reserved ++ */ ++ u32 pps_long_118_reserved; ++ /** ++ * @pps_long_122_reserved: ++ * PPS 122- 125 - reserved ++ */ ++ u32 pps_long_122_reserved; ++ /** ++ * @pps_short_126_reserved: ++ * PPS 126, 127 - reserved ++ */ ++ __be16 pps_short_126_reserved; ++} __packed; ++ ++/** ++ * struct drm_dsc_pps_infoframe - DSC infoframe carrying the Picture Parameter ++ * Set Metadata ++ * ++ * This structure represents the DSC PPS infoframe required to send the Picture ++ * Parameter Set metadata required before enabling VESA Display Stream ++ * Compression. This is based on the DP Secondary Data Packet structure and ++ * comprises of SDP Header as defined &struct dp_sdp_header in drm_dp_helper.h ++ * and PPS payload defined in &struct drm_dsc_picture_parameter_set. ++ * ++ * @pps_header: Header for PPS as per DP SDP header format of type ++ * &struct dp_sdp_header ++ * @pps_payload: PPS payload fields as per DSC specification Table 4-1 ++ * as represented in &struct drm_dsc_picture_parameter_set ++ */ ++struct drm_dsc_pps_infoframe { ++ struct dp_sdp_header pps_header; ++ struct drm_dsc_picture_parameter_set pps_payload; ++} __packed; ++ ++void drm_dsc_dp_pps_header_init(struct dp_sdp_header *pps_header); ++void drm_dsc_pps_payload_pack(struct drm_dsc_picture_parameter_set *pps_sdp, ++ const struct drm_dsc_config *dsc_cfg); ++int drm_dsc_compute_rc_parameters(struct drm_dsc_config *vdsc_cfg); ++ ++#endif /* _DRM_DSC_H_ */ diff --git a/projects/Rockchip/patches/linux/RK3588/999-remove-log-spam.patch b/projects/Rockchip/patches/linux/RK3588/999-remove-log-spam.patch deleted file mode 100644 index b6be16ad6..000000000 --- a/projects/Rockchip/patches/linux/RK3588/999-remove-log-spam.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -rupN linux.orig/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c linux/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c ---- linux.orig/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c 2024-03-07 05:53:01.096433183 +0000 -+++ linux/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c 2024-03-07 05:55:10.999624906 +0000 -@@ -4857,8 +4857,8 @@ static int vop2_plane_atomic_check(struc - - if (vop2_cluster_window(win) && !vpstate->afbc_en && - (win->supported_rotations & state->rotation)) { -- DRM_ERROR("Unsupported linear rotation(%d) format at %s\n", -- state->rotation, win->name); -+ //DRM_ERROR("Unsupported linear rotation(%d) format at %s\n", -+ // state->rotation, win->name); - return -EINVAL; - } - } From d1e836d920553bfd10c0c021cde2c971f58296aa Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Sat, 23 Mar 2024 20:07:30 +0000 Subject: [PATCH 08/77] rocknic setup --- CODE_OF_CONDUCT.md | 1 - CONTRIBUTING.md | 1 - LICENSE.md | 17 ++-- Makefile | 5 +- PULL_REQUEST_TEMPLATE.md | 38 -------- distributions/ROCKNIX/splash/splash.png | Bin 79393 -> 0 bytes documentation/DEVEL_ADD_HARDWARE_QUIRKS.md | 1 - documentation/DEVEL_BUILDING_ROCKNIX.md | 1 - documentation/DEVEL_CREATING_PACKAGES.md | 1 - documentation/GENERAL_CUSTOM_SHADERS.md | 1 - documentation/GENERAL_DONATING_TO_ROCKNIX.md | 1 - .../GENERAL_FREQUENTLY_ASKED_QUESTIONS.md | 1 - .../GENERAL_HOTKEYS_AND_BUTTON_CODES.md | 1 - documentation/GENERAL_NETWORK_PLAY.md | 1 - .../GENERAL_PERFORMANCE_AND_BATTERY.md | 1 - documentation/SETUP_BT_AUDIO.md | 23 ----- documentation/SETUP_CLOUD_DRIVES.md | 1 - .../SETUP_GAME_ENGINES_AND_LAUNCH_FILES.md | 91 ------------------ documentation/SETUP_MOONLIGHT_STREAMING.md | 1 - documentation/SETUP_P2P_ZEROTIER.md | 1 - documentation/SETUP_SYNCTHING.md | 1 - documentation/SETUP_VPN_TAILSCALE.md | 1 - documentation/SETUP_VPN_WIREGUARD.md | 1 - .../tools => apps}/control-gen/Makefile | 0 .../control-gen/control-gen.cpp | 0 .../tools => apps}/control-gen/package.mk | 0 .../control-gen/scripts/control-gen_init.sh | 0 .../config/gamecontrollerdb.txt | 0 .../gamecontrollerdb/package.mk | 0 .../tools => apps}/jstest-sdl/package.mk | 0 .../tools => apps}/libgo2/package.mk | 0 .../libgo2/patches/001-libevdev.patch | 0 packages/apps/moonlight/package.mk | 4 +- packages/apps/portmaster/package.mk | 2 +- .../gptokeyb => apps/rocknix-hotkey}/Makefile | 0 .../rocknix-hotkey}/package.mk | 6 +- .../tools => apps}/sdljoytest/package.mk | 0 packages/devel/librga/package.mk | 12 --- .../librga/patches/01-string_not_arr.patch | 12 --- .../{emulators/tools => devel}/xa/package.mk | 0 .../retroarch/autostart/003-logging | 0 .../retroarch/modprobe.d/usbhid.conf | 0 .../retroarch/package.mk | 0 .../patches/0001-Increase-glui-size.patch | 0 .../patches/0001-Increase-ozone-size.patch | 0 .../0001-Increase-ozone-widget_size.patch | 0 .../patches/0002-quit-not-restart.patch | 0 .../patches/0003-fix-oga-no-preferred.patch | 0 .../patches/0004-drm-resolution.patch | 0 .../patches/0006-no-screen-brightness.patch | 0 .../patches/0008-disable_search.patch | 0 .../0009-hide-wayland-checkerboard.patch | 0 .../retroarch/patches/0010-paths.patch | 0 .../patches/RK3566-BSP-X55/0011-librga.patch | 0 .../RK3566-BSP-X55/002-display-tweaks.patch | 0 .../patches/RK3566-BSP/0011-librga.patch | 0 .../RK3566-BSP/002-display-tweaks.patch | 0 .../RK3566-BSP/003-fix-go2-rotation.patch | 0 .../patches/RK3566/0011-librga.patch | 0 .../patches/RK3566/002-display-tweaks.patch | 0 .../patches/RK3566/003-fix-go2-rotation.patch | 0 .../retroarch}/retroarch-assets/package.mk | 0 ...THEC64 Joystick THEC64 Joystick .cfg | 0 .../8Bitdo SF30 Pro 8Bitdo SN30 Pro.cfg | 0 .../gamepads/Atari Classic Controller.cfg | 0 .../gamepads/Atari Game Controller.cfg | 0 .../gamepads/Core (Plus) Wired Controller.cfg | 0 .../gamepads/GO-Super Gamepad.cfg | 0 .../gamepads/GO-Ultra Gamepad.cfg | 0 .../gamepads/Game Controller.cfg | 0 .../gamepads/GameForce ACE Gamepad.cfg | 0 .../gamepads/Microsoft X-Box 360 pad.cfg | 0 .../OpenSimHardware OSH PB Controller.cfg | 0 .../OpenSimHardware OSH PB Controller_SDL.cfg | 0 .../gamepads/RGB20S Gamepad.cfg | 0 .../gamepads/ROCKNIX Gamepad.cfg | 0 .../gamepads/Steam Controller.cfg | 0 .../gamepads/XU10 Gamepad.cfg | 0 .../gamepads/odroidgo2_joypad.cfg | 0 .../gamepads/odroidgo2_v11_joypad.cfg | 0 .../gamepads/odroidgo3_joypad.cfg | 0 .../gamepads/r33s_joypad.cfg | 0 .../gamepads/retrogame_joypad.cfg | 0 .../gamepads/rg552_joypad.cfg | 0 .../gamepads/zed_joystick.cfg | 0 .../retroarch}/retroarch-joypads/package.mk | 0 .../system.d/tmp-joypads.mount | 0 .../retroarch}/retroarch-overlays/package.mk | 0 .../sources/AMD64/TATE-MAME 2003-Plus.rmp | 0 .../sources/AMD64/retroarch-core-options.cfg | 0 .../retroarch/sources/AMD64/retroarch.cfg | 0 .../sources/AMD64/retroarch32bit-append.cfg | 0 .../sources/AMD64/retroarch64bit-append.cfg | 0 .../sources/RK3326/TATE-MAME 2003-Plus.rmp | 0 .../sources/RK3326/retroarch-core-options.cfg | 0 .../retroarch/sources/RK3326/retroarch.cfg | 0 .../sources/RK3326/retroarch32bit-append.cfg | 0 .../sources/RK3326/retroarch64bit-append.cfg | 0 .../sources/RK3399/TATE-MAME 2003-Plus.rmp | 0 .../sources/RK3399/retroarch-core-options.cfg | 0 .../retroarch/sources/RK3399/retroarch.cfg | 0 .../sources/RK3399/retroarch32bit-append.cfg | 0 .../sources/RK3399/retroarch64bit-append.cfg | 0 .../sources/RK3566/TATE-MAME 2003-Plus.rmp | 0 .../sources/RK3566/retroarch-core-options.cfg | 0 .../retroarch/sources/RK3566/retroarch.cfg | 0 .../sources/RK3566/retroarch32bit-append.cfg | 0 .../sources/RK3566/retroarch64bit-append.cfg | 0 .../sources/RK3588/TATE-MAME 2003-Plus.rmp | 0 .../sources/RK3588/retroarch-core-options.cfg | 0 .../retroarch/sources/RK3588/retroarch.cfg | 0 .../sources/RK3588/retroarch32bit-append.cfg | 0 .../sources/RK3588/retroarch64bit-append.cfg | 0 .../sources/S922X/TATE-MAME 2003-Plus.rmp | 0 .../sources/S922X/retroarch-core-options.cfg | 0 .../retroarch/sources/S922X/retroarch.cfg | 0 .../sources/S922X/retroarch32bit-append.cfg | 0 .../sources/S922X/retroarch64bit-append.cfg | 0 .../retroarch/system.d/tmp-assets.mount | 0 .../retroarch/system.d/tmp-cores.mount | 0 .../retroarch/system.d/tmp-database.mount | 0 .../retroarch/system.d/tmp-overlays.mount | 0 .../retroarch/system.d/tmp-shaders.mount | 0 .../tmpfiles.d/retroarch-userdirs.conf | 0 .../99-8bitdo-bluetooth-controllers.rules | 0 .../udev.d/99-ION-iCade-bluetooth.rules | 0 .../udev.d/99-gen-game-s3-controller.rules | 0 .../udev.d/99-nintendo-wii-remote.rules | 0 .../udev.d/99-ninteno-wii-remote.rules | 0 .../udev.d/99-nv-shield-controller.rules | 0 .../retroarch/udev.d/99-ouya-controller.rules | 0 .../retroarch/udev.d/99-terios-t3.rules | 0 .../standalone/drastic-sa/package.mk | 2 +- .../gptokeyb/patches/0001-build_fix.patch | 26 ----- .../tools/virtualcontroller/package.mk | 21 ---- .../system.d/virtualcontroller.service | 14 --- .../udev.d/99-ROCKNIX-not-joysticks.rules | 2 - packages/graphics/SDL2/package.mk | 7 -- .../tools => graphics}/capsimg/package.mk | 0 packages/{devel => graphics}/qt5/package.mk | 0 packages/graphics/qt6/package.mk | 12 --- packages/graphics/qt6/qt6base/package.mk | 63 ------------ packages/graphics/qt6/qt6tools/package.mk | 41 -------- packages/graphics/qt6/qt6wayland/package.mk | 33 ------- packages/kernel/linux/package.mk | 8 +- .../tools => network}/sixaxis/package.mk | 0 .../sixaxis/system.d/sixaxis@.service | 0 .../sixaxis/udev.d/99-sixaxis.rules | 0 .../tools => network}/sixpair/package.mk | 0 packages/virtual/gamesupport/package.mk | 2 +- projects/Rockchip/options | 2 +- projects/Rockchip/packages/u-boot/package.mk | 5 +- scripts/update_packages | 2 +- 153 files changed, 27 insertions(+), 440 deletions(-) delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 PULL_REQUEST_TEMPLATE.md delete mode 100644 distributions/ROCKNIX/splash/splash.png delete mode 100644 documentation/DEVEL_ADD_HARDWARE_QUIRKS.md delete mode 100644 documentation/DEVEL_BUILDING_ROCKNIX.md delete mode 100644 documentation/DEVEL_CREATING_PACKAGES.md delete mode 100644 documentation/GENERAL_CUSTOM_SHADERS.md delete mode 100644 documentation/GENERAL_DONATING_TO_ROCKNIX.md delete mode 100644 documentation/GENERAL_FREQUENTLY_ASKED_QUESTIONS.md delete mode 100644 documentation/GENERAL_HOTKEYS_AND_BUTTON_CODES.md delete mode 100644 documentation/GENERAL_NETWORK_PLAY.md delete mode 100644 documentation/GENERAL_PERFORMANCE_AND_BATTERY.md delete mode 100644 documentation/SETUP_BT_AUDIO.md delete mode 100644 documentation/SETUP_CLOUD_DRIVES.md delete mode 100644 documentation/SETUP_GAME_ENGINES_AND_LAUNCH_FILES.md delete mode 100644 documentation/SETUP_MOONLIGHT_STREAMING.md delete mode 100644 documentation/SETUP_P2P_ZEROTIER.md delete mode 100644 documentation/SETUP_SYNCTHING.md delete mode 100644 documentation/SETUP_VPN_TAILSCALE.md delete mode 100644 documentation/SETUP_VPN_WIREGUARD.md rename packages/{emulators/tools => apps}/control-gen/Makefile (100%) rename packages/{emulators/tools => apps}/control-gen/control-gen.cpp (100%) rename packages/{emulators/tools => apps}/control-gen/package.mk (100%) rename packages/{emulators/tools => apps}/control-gen/scripts/control-gen_init.sh (100%) rename packages/{emulators/tools => apps}/gamecontrollerdb/config/gamecontrollerdb.txt (100%) rename packages/{emulators/tools => apps}/gamecontrollerdb/package.mk (100%) rename packages/{emulators/tools => apps}/jstest-sdl/package.mk (100%) rename packages/{emulators/tools => apps}/libgo2/package.mk (100%) rename packages/{emulators/tools => apps}/libgo2/patches/001-libevdev.patch (100%) rename packages/{emulators/tools/gptokeyb => apps/rocknix-hotkey}/Makefile (100%) rename packages/{emulators/tools/gptokeyb => apps/rocknix-hotkey}/package.mk (83%) rename packages/{emulators/tools => apps}/sdljoytest/package.mk (100%) delete mode 100644 packages/devel/librga/package.mk delete mode 100644 packages/devel/librga/patches/01-string_not_arr.patch rename packages/{emulators/tools => devel}/xa/package.mk (100%) rename packages/emulators/{standalone => libretro}/retroarch/autostart/003-logging (100%) rename packages/emulators/{standalone => libretro}/retroarch/modprobe.d/usbhid.conf (100%) rename packages/emulators/{standalone => libretro}/retroarch/package.mk (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/0001-Increase-glui-size.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/0001-Increase-ozone-size.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/0001-Increase-ozone-widget_size.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/0002-quit-not-restart.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/0003-fix-oga-no-preferred.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/0004-drm-resolution.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/0006-no-screen-brightness.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/0008-disable_search.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/0009-hide-wayland-checkerboard.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/0010-paths.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/RK3566-BSP-X55/0011-librga.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/RK3566-BSP-X55/002-display-tweaks.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/RK3566-BSP/0011-librga.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/RK3566-BSP/002-display-tweaks.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/RK3566-BSP/003-fix-go2-rotation.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/RK3566/0011-librga.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/RK3566/002-display-tweaks.patch (100%) rename packages/emulators/{standalone => libretro}/retroarch/patches/RK3566/003-fix-go2-rotation.patch (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-assets/package.mk (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/ THEC64 Joystick THEC64 Joystick .cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/8Bitdo SF30 Pro 8Bitdo SN30 Pro.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/Atari Classic Controller.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/Atari Game Controller.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/Core (Plus) Wired Controller.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/GO-Super Gamepad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/GO-Ultra Gamepad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/Game Controller.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/GameForce ACE Gamepad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/Microsoft X-Box 360 pad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/OpenSimHardware OSH PB Controller.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/OpenSimHardware OSH PB Controller_SDL.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/RGB20S Gamepad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/ROCKNIX Gamepad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/Steam Controller.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/XU10 Gamepad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/odroidgo2_joypad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/odroidgo2_v11_joypad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/odroidgo3_joypad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/r33s_joypad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/retrogame_joypad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/rg552_joypad.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/gamepads/zed_joystick.cfg (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/package.mk (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-joypads/system.d/tmp-joypads.mount (100%) rename packages/emulators/{tools => libretro/retroarch}/retroarch-overlays/package.mk (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/AMD64/TATE-MAME 2003-Plus.rmp (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/AMD64/retroarch-core-options.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/AMD64/retroarch.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/AMD64/retroarch32bit-append.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/AMD64/retroarch64bit-append.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3326/TATE-MAME 2003-Plus.rmp (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3326/retroarch-core-options.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3326/retroarch.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3326/retroarch32bit-append.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3326/retroarch64bit-append.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3399/TATE-MAME 2003-Plus.rmp (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3399/retroarch-core-options.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3399/retroarch.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3399/retroarch32bit-append.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3399/retroarch64bit-append.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3566/TATE-MAME 2003-Plus.rmp (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3566/retroarch-core-options.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3566/retroarch.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3566/retroarch32bit-append.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3566/retroarch64bit-append.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3588/TATE-MAME 2003-Plus.rmp (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3588/retroarch-core-options.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3588/retroarch.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3588/retroarch32bit-append.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/RK3588/retroarch64bit-append.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/S922X/TATE-MAME 2003-Plus.rmp (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/S922X/retroarch-core-options.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/S922X/retroarch.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/S922X/retroarch32bit-append.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/sources/S922X/retroarch64bit-append.cfg (100%) rename packages/emulators/{standalone => libretro}/retroarch/system.d/tmp-assets.mount (100%) rename packages/emulators/{standalone => libretro}/retroarch/system.d/tmp-cores.mount (100%) rename packages/emulators/{standalone => libretro}/retroarch/system.d/tmp-database.mount (100%) rename packages/emulators/{standalone => libretro}/retroarch/system.d/tmp-overlays.mount (100%) rename packages/emulators/{standalone => libretro}/retroarch/system.d/tmp-shaders.mount (100%) rename packages/emulators/{standalone => libretro}/retroarch/tmpfiles.d/retroarch-userdirs.conf (100%) rename packages/emulators/{standalone => libretro}/retroarch/udev.d/99-8bitdo-bluetooth-controllers.rules (100%) rename packages/emulators/{standalone => libretro}/retroarch/udev.d/99-ION-iCade-bluetooth.rules (100%) rename packages/emulators/{standalone => libretro}/retroarch/udev.d/99-gen-game-s3-controller.rules (100%) rename packages/emulators/{standalone => libretro}/retroarch/udev.d/99-nintendo-wii-remote.rules (100%) rename packages/emulators/{standalone => libretro}/retroarch/udev.d/99-ninteno-wii-remote.rules (100%) rename packages/emulators/{standalone => libretro}/retroarch/udev.d/99-nv-shield-controller.rules (100%) rename packages/emulators/{standalone => libretro}/retroarch/udev.d/99-ouya-controller.rules (100%) rename packages/emulators/{standalone => libretro}/retroarch/udev.d/99-terios-t3.rules (100%) delete mode 100644 packages/emulators/tools/gptokeyb/patches/0001-build_fix.patch delete mode 100644 packages/emulators/tools/virtualcontroller/package.mk delete mode 100644 packages/emulators/tools/virtualcontroller/system.d/virtualcontroller.service delete mode 100644 packages/emulators/tools/virtualcontroller/udev.d/99-ROCKNIX-not-joysticks.rules rename packages/{emulators/tools => graphics}/capsimg/package.mk (100%) rename packages/{devel => graphics}/qt5/package.mk (100%) delete mode 100644 packages/graphics/qt6/package.mk delete mode 100644 packages/graphics/qt6/qt6base/package.mk delete mode 100644 packages/graphics/qt6/qt6tools/package.mk delete mode 100644 packages/graphics/qt6/qt6wayland/package.mk rename packages/{emulators/tools => network}/sixaxis/package.mk (100%) rename packages/{emulators/tools => network}/sixaxis/system.d/sixaxis@.service (100%) rename packages/{emulators/tools => network}/sixaxis/udev.d/99-sixaxis.rules (100%) rename packages/{emulators/tools => network}/sixpair/package.mk (100%) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 2afa4fc72..000000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1 +0,0 @@ -Moved to [https://rocknix.org/contribute/code-of-conduct/](https://rocknix.org/contribute/code-of-conduct/) \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 554ef2939..000000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1 +0,0 @@ -Moved to [https://rocknix.org/contribute/](https://rocknix.org/contribute/) \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md index fa496b1e0..8fbc98b77 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,13 +1,10 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) -# - ## Licenses -JELOS is a Linux distribution that is made up of many open-source components. Components are provided under their respective licenses. This distribution includes components licensed for non-commercial use only. +ROCKNIX is a Linux distribution that is made up of many open-source components. Components are provided under their respective licenses. This distribution includes components licensed for non-commercial use only. -### JELOS Branding +### ROCKNIX Branding -JELOS branding and images are licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). +ROCKNIX branding and images are licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/). You are free to: @@ -20,11 +17,11 @@ Under the following terms: - NonCommercial: You may not use the material for commercial purposes. - ShareAlike: If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. -### JELOS Software +### ROCKNIX Software -Copyright 2023 JELOS (https://github.com/JustEnoughLinuxOS) +Copyright 2024 ROCKNIX (https://github.com/ROCKNIX) -Original software and scripts developed by the JELOS team are licensed under the terms of the [GNU GPL Version 2](https://choosealicense.com/licenses/gpl-2.0/). The full license can be found in this project's licenses folder. +Original software and scripts developed by the ROCKNIX team are licensed under the terms of the [GNU GPL Version 2](https://choosealicense.com/licenses/gpl-2.0/). The full license can be found in this project's licenses folder. ### Bundled Works -All other software is provided under each component's respective license. These licenses can be found in the software sources or in this project's licenses folder. Modifications to bundled software and scripts by the JELOS team are licensed under the terms of the software being modified. +All other software is provided under each component's respective license. These licenses can be found in the software sources or in this project's licenses folder. Modifications to bundled software and scripts by the ROCKNIX team are licensed under the terms of the software being modified. diff --git a/Makefile b/Makefile index d4e31b027..bd499264b 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ BUILD_DIRS=build.* --include $(HOME)/.${DISTRONAME}/options +-include $(HOME)/.ROCKNIX/options all: world @@ -47,6 +47,7 @@ S922X: PROJECT=Amlogic DEVICE=S922X ARCH=aarch64 ./scripts/build_distro RK3566: + unset DEVICE_ROOT DEVICE_ROOT=RK3566 PROJECT=Rockchip DEVICE=RK3566 ARCH=arm ./scripts/build_distro DEVICE_ROOT=RK3566 PROJECT=Rockchip DEVICE=RK3566 ARCH=aarch64 ./scripts/build_distro @@ -74,7 +75,7 @@ package-clean: # For example: make docker-AMD64 will use docker to call: make AMD64 # All variables are scoped to docker-* commands to prevent weird collisions/behavior with non-docker commands -docker-%: DOCKER_IMAGE := "justenoughlinuxos/rocknix-build:latest" +docker-%: DOCKER_IMAGE := "rocknix/rocknix-build:latest" # DOCKER_WORK_DIR is the directory in the Docker image - it is set to /work by default # Anytime this directory changes, you must run `make clean` similarly to moving the distribution directory diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index 39be8557f..000000000 --- a/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,38 +0,0 @@ -# Pull Request Template - -## Description - -Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. - -Fixes # (issue) - -## Type of change - -Please delete options that are not relevant. - -- [ ] Bug fix (non-breaking change which fixes an issue) -- [ ] New feature (non-breaking change which adds functionality) -- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) -- [ ] This change requires a documentation update - -## How Has This Been Tested Locally? - -Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration - -- [ ] Test A -- [ ] Test B - -**Test Configuration**: -* Build OS name and version: -* Docker (Y/N): -* JELOS Branch: -* Any additional information that may be useful: - -## Checklist: - -- [ ] My code follows the style guidelines of this project -- [ ] I have performed a self-review of my own code -- [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] I have made corresponding changes to the documentation - -Note: This PR template is adapted from [embeddedartistry](https://github.com/embeddedartistry/templates/blob/master/oss_docs/PULL_REQUEST_TEMPLATE.md) diff --git a/distributions/ROCKNIX/splash/splash.png b/distributions/ROCKNIX/splash/splash.png deleted file mode 100644 index bd538c1543d133a9fda9de51856fb7ded3576109..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 79393 zcmeEvd035I+xHf3$}K}Gp-~iR64GwephBS#Qb~mjmD)6DLNtg{p^(ymq(Z26lPOBb z&X8zC+9?&K()j(>RhRpI-uL~!@89qE4juP%kiD;Kt#z(*_?^G=TYlb$l7SKifQM(SHafad7FcR$6gnF&R}S0 zd$`!z?RH>EY;)M*=%gvtmRl$#;b^ZZWwF>q$;3s^VW*>!m#c%hm+3k?uibWP_EOqf zd>S51ykM^b%T~f;?;a;NriZ2!^?A?nX}isNKTA_e3ZF}iyxiXI_q$#8yY8XhY;ULN zu*YGqgA>b5QCUG*@!#Kf@NoQRHcoCM;)385$tU=_(tmuN<+%NS^L6scfBU-2PG^?0 z+fHYf-;?@}A%1`S-yVdx|K~?MY+e4RFPoVBpTE9$?|&@Ajb(5Ef*aX{|Ckd!fZIAx z7Y9W%2RG;au67Ov2Oz!Kl;DV5m}?w89QJI~cZ5*gup63EDoYnB{g;n7{p;g}%1i$B zv7YlDXIFD5qJyTCGW8UZ9@BWQ?G6VEM|;-Jf4%RYPgXfN?I0ihei!u-nc<%OL?zZc zIbux<|9RiWe?HTcTBM|;_^+`x{m-BM-Vr7>M-yjzOi_h;*=j=b>8l{2cNl_ z8R|+H8|W=jR$H<}exbtf5ZFE@o^{;rsc*}|w-zcvtCg0@FI=)tc`;K(g}HdKywW13 z(y&aZZ^Mf0ZCSSex9<~MkkGKVW3n7sdmO0WhHYcn9@g-0!@urvBnH9UW9zg-Q_4f$ z-eJ4#{yi)ytv${=oZaLXEmYD_Bo?&CapV=$Z}dAf6#ruY4NTC)glXjH#&UM`{MVS~ z4*ULdOv(@?Bq;S_+S-v_(Ufv=b++Gc=U`7s5wjou)XjN2%iY%1Vc8C7mZsFQ?b{u( zf1VPsamO7_4z3cgR3(MQ|M`&nP6xd3e=kkNf3Jp~ordCnoB#0Q|K(2b-0;7_O~KzO z{&sly<+sapaDtz7g+p}RZ~m6S7twml}+*)Lb6<;7u@3ucQlZwcRKy&ZpIoQ7M+go|Hgw%jfcin|}Q?d$AUua-T1 z-zU$nZhi3E=7zF?-FKAVth-k~Rcr%mww#9KtSu#9mpJpP%9R+c>e0{s5I%vg_MO-5 z;<6<&A^nb-Q}|CD&Rq5`vZsh+b6t9($wq6_z%x(hX?NeWF}rek#}4Vc$FppwZo9w` zn=4{BP2A`2l9q=nwKZ=gtnzi1^a~07Jbz*HXXTA^mqje7PWY0r2z`rsl^75jJF@HY{ejgVy z`kXBP(vOpyAB_=?J+06y{Bx)||HDoV!P2V^f3J;l)iGGM{M%Tc@;CX##;&i+>e)gH z4VSMc=v?d``~S6&{w(f~1pY|ij|Bcm;Ex3UNZ^kI{z%}D1pY|ij|Bcm;Qs{)cznJX zC^|fmdwY2g$ET&GB_}86Aa7|gq&dYn& z*l}mGe9IM{_MQ6=ke|DE?ifg&dQ1IWzI=Jto!)QB+3V&D9xo~_E!DjgUfS@W6^ZWn zxKWF!;qHwV8nevC#s+O$i)MV|a(6mAXRPK*oids{rYx@Z+1X`xHmBinzN6k+ab=B) z3JR_{Rh5;M91f?xzW#*9n0vF|ayX}qr2qQsulFB5G|QM3#ID5rFI}p?;`<@XT&}_O z*T;_^J3AMhe=a5_*4o-C#CO!vixlj;L+B|yeEI%8bIFn=N=h%^y!pA8TUB1}YA)Ak zW1jlvYnFaRAjibwn& z9lv@OOq<#LOQjRp*I@pJR0a!bOFvWuE>XG?!3&inA; z!_1j8Z5y$gs?fmi+6yU>`d^99%5rD176~1HBV6|F+c#U`>d?(;WOuy1y;-cN68pPZ zSrd-xzFW&sm6&nj#q;NLrUuv4)JTkf@Zy(1(KhACl9tw1Cnu-NubOV40fONhJ2H2j z==bm6Z{NOsxuM~>apQ8?><2G$CfwQlt*%ZY*3@sXzjA-lJ-yfE# zb}c@=A}u|AaImkgwtX7fwB~{GpTQ^z`&}et!PDckgc4 zu;Etao_A{ZUSX}+YN=D)uV49c8(J^K#bIm(dHI}ZaRwthi=Lg6frgl0U)NrIv9*;y zx8V|-&4%87sH*C3uh-Lxo1{L@L-$xOKaLnH3oxzo_lul*hZK|Qe$K+~48z7dn zG@t$+$b#!zD3sYZ_S1qu~Kf$E(cE%`cbL!lh{Y_Gf2jN5erlK`|~a zA}{iPlIT{KB~dPVpr|{lqjJl3`IeAzDf#XR$(hMDk>_l+g8@r2P7A@@9ypEgMgs{CUJgSQr2B7 zi!UoHdq@o{J3Q&di(I_!U7?tnDCb-9-C5i6=aAMEt5Xp(hWfvTj~kq2HLBXSJ7TEu z{MaEwmcdld!6B_PHm)|TBE??^I74@Q>W4(EM!l?V&F`);j+{GDTr1DLEy*`#MOb-N zRi0bp3zPFptn$4Uv&R}uT)%$(B(0vh8@3N`-MW=vX;yw`cg2C0cQ>7?+3;J2MBOz{ zDn9y)QUaIUuV25;T@}5?-2Bs;owri1UX9lB>HS<1+1*;5yYJIu^DCwX!lO#$WMp={ zy}s$^&!3me3YWLlzwhV9C;3Yy+M zE-YyOOY`YEa3T2Vza9}0F;3ju<#X|=U%!5F3Hu^xL5Mtf`S^sp@7tD*Lnxq{Dz*Z)-JFq$V*F;C-XJ(`|Bn3UWV%0b?Z9YA5IDr z(`381)!@a+PoF-m%-o^6Xp#5NHx`z6_XNKfCH3a*+ZPu#bMx{vn9_S492^!eTJ$#t zFA5RNb#FWQ0(xA2fp+`aC1quP?f1t$IWe>GtDD!=t5-dKl*mA6*|ralefyAQ*vP1U zUf4$a>QeXq&Tdubnpwn8CdttD8G8Nt^>Jbzh?JMI zvzM}uDzIvOy7PNJ9yc*DX|Bi^YRzp+aPwFA-0pV$!Gi~CZeOsl&ylOO93368axCn` z$b??LGKpE}@bOVF00T#o6$$039qh`&u5Qk9s=lNbh}S%F>rpfQd*+fBo52Pft-+p8 zfCgN63yCy(Cp9aw_kFr-8oPPz+9{&C{>zU1HF4I`_Irm$r*24N?)#|E;ty9++5Rk= zx&PY3GUJ52yngq>zUmM`xg}UxHCok^CXK8tUgp}hYv(ZGy8A~G^@5^eVm4V?s=L(P zlefHkee<1b`T3gc@jdHd2p12w=D`1QCl4AsIkjF;bHkboR%;L3PE4Flsl&JtbYwgo*fn{uB{~_Bf~zL6doD*>fO7gd*0o6lWNgcm7~HOm%Y-bx6`x!sPJEZPoFIM z;Q0wr^}BF7;y#_67?m9fmT+fLI~Wrw1?!Z6C0x|<@!GU$6KlNjmFw4Ael^C4YkGD5 zXeeDBrzILYx+-RHpsy@eJ?r-EMa%#j*S7rb!KT%Iz5N|!g#%q5DDmA988HM+-9q1i z?a$Bc9~$U33=Dt0YxnNmyLLe~d0s!io;-PyJFD*Q>o;#Se|?Vh^z`INR&8Fk?7mx> zrp5a8cf5c7pk8*Aewm|!oZRlmp(1ecIXO8T`6U0Us;U(8EBxYG-fyn0A69KA+pn)v zUR_yT_Vj58fBk`ZV8NDb7hBc@1|$61i1GWgmbiW{7E#&0ZrwWl!0>JJ z=g+tH{$AwM*M%KvX{pTQsNH+6InenEu7o34b>gPolP`^piW_glldS?+G}5H^!3)ox zQ`zw%Xv*vaJtNr7M55olKbs4oxLl#SxM|a-J&RR$Z?C(LHReP423y?=&ujbnLLStl zws{%A(8-UqwUt%1&EOB=<{iHIFgER8Zem8>j}>G`CbYYsK7HD+_f_2WxK}zRCeOtO z+XLZhxRar?MYPU3&QVqEZn_e8QQh5X-@bjU2~Bnwc&ImHXtRxtxG0bP>$h(Uems@K zN>A`hD!1k|UbL|GOult%A#)5?HHThR?{p21cFg1~fX%aK&$vS6CfJ=<&_wtFtVlmg zr;KbYQHC2gl$Zhf^A#0`s@r@mtgJ*uiSGYBqWcmi&!EONd7grTf*i@DOlbE|SMA^j zIQ|5^c$paxR!5n3Eq0JQd1^*>c2C1uoAk7_6Z|k}vm+x09sUCbH2BkI=qEO`_{EEp zPLczs&zu?jqFU(rF<6F*Ao1fwl(ycRpqLjP7bh;NYe9V5;IGDUlf-6G6QW^q+? zhA_W=yP?5>L_O{@sN01Q^!|3&ra(WCGlX?b~hIc|-;>PSYi z=g_NKe>y6vpKRpf-5U^S5-qvG@OgeieYLC4FOg@CDc=I^xAtmEPDn`LPG;*tddC$D zHg4J^LM9``Y{&%HH?4YljBA`CsV@&r?+Ng9BZ;Vnu=; z7a_0Hvnly3+gxjoBE&OFd_I$iOeu!(t`rUwpSmTql;a!$6%CPfJQ-5PkedjfTYv!D0`#+EAENfD&mB{VIDH zI4O+(kUH7dgIz5<;(Xp75O=B_JxN0ez=X>eVY+?$7rQXc?IJkh)Gth{h4G15YCld} zST|K<*kA$qa6rV<&R0-4$$w~?3oH*FS(ANO`tyUr3#+RhtzRhZ_%Haqy7&>N3BPtQ` z0`F{m7Gw99;d@!wHlT_2&X@6c*t$%!`@*M!Dzp9jf2x#e2v|V}9;wiem73$lfGInW zk_GBW!Rqrn%U41TIg;U_L=(=PJICcSdq`sIs+g(d;W57-Hh>zIDi&(^_V;inbEgvh z>8jizV{&eqC{Kw)f6sTKj_DGopG7Mt-o3ko4O0rTr?>1VObyP=0mzIa`SR$k%uJG& z+C2`%oP|dJ^>_5*-DgsVs!l<{p^^#2ZNcY_w;Or>QS*naHsVxAjs8nNQ0FYbiZ}OC z;6>lwChp`Qi#2Q7TQbYKTC3HW0k6%?%zglQP)cV@$CRya-n=2+y0*Y4Q7^vlbwx$l zc~wQkX66_v&AygQDLcPka+E#C2tLoS4vinCItHa130KHSy{m$EHw%;PT_?3z`S-{#2p?KB~w<$?FA&#Sp@C#o&S-86Ug#Vzp8)L@dUmyQg!4M^j+Q%Sn( zJJ3rk9|s;03RJJ9rpl~}hAM_3Q74{|lHmjz-vtBp{RE6e#-)znc^|%+05UFL_DooD z*NW-7uV23o6;YW>%!WIkc5;US0t(>%sYo5J1&B$q4m_m-|DTHpf!XGWdAHx^!qVeY zX_OQk6&E*z;DhBG1nRIw)DN^!>Ror>=eG~;Pow5>1Uq*EBKg!E8b>L;0&S?$t2S(S zyHYWq1s@0};dO4ILx{3?$~J@vf=dNES&=fUyPAQ?$|LBgsHB+Ju8S0gH8v^JP|P!_ zpg@bw<8;YyXb_PuDBV94v`3)0?^3cfBMsUxl`ndIO@Xg4w9q-%jNOHHw|37kZmka# zZ+%lLlW5F`Y^x1umuz16R;@2sA%3RToiY>?(f0LbjqMx{*_UZ_gzj#ZPDALcrA({c z9g2y^!qUmN7pOC-#~4PQCr+F|8hs+&Urbt2(HZf;IsfNdKdSS@mz=5tXXE!&u<8T`xA$)v%RUZZ&5|^KVTwWmwq~J;b zZNt8&u`Ysb?>fDF4jXQK5!?5Ecg8?=Sb#MAV9=q_j z6YwX)`yP@+gw_I|zB6aebTz%Y0(*3>EkLTxn_@BvJS=wpV0X29B0)&MhitWWaA-he z!j8iMYOV!1BdJzatuNGV@V@Yvo>~}FtmeTk5=r5okseIa?hk+Wq>am6N_Ytb;0iyr zt@lVC2rv8-3F-Cg&w{xC^!&hDeQkwd1Po1mIO0>XS3=HZ+C$#UmMvqA@7#jdXKsJK z`R*PhR|KGi&QxtJ=xaTmZX{%pVXevHzD&2ug=F6hv<+}MNX5hkzQ;}Ak0FlP6xyJ}P@NM2`P`S6ID-9=AR*<33PFxou~|+1zdD{je@_1H z+VC`1YcuG{wQJWRV~2E%jg5g<@heaoejq4(YSAy_BD_#VMI4~)%a<>+4NvN4y-YN@ zsF8zR<_Ow4Rb}tP_yc|2ejU$M<>lo$YN{0+&dt3a?&3cO2v!U!E0=R*+@#jEeiyYt zOAv1nE=GrGb+9kl^UN>nTXeD@`Mn^Oot(5he|!#eRmY8(_bX1$IGgZr_f^#Nik_Cjc@;Uz^3?RM-cs;Cy6Exqq(6Dzrix@ zWUs3*VOYv?3sx5XfQZs;3J1TwN#)49H$m6qynmD+zX!xx1S$h7<0dFnynC1JPW=Xwk}fZ6ZsZmTWy8w#s^R#GB@ zBr;r559Grd2oLuBE>A3h&F+oaaq(Brr!XX6`;cY;AtcDL-+;96yPySXK|f1c2kS+Q z0+*+<@8cuF2_+>-v#(AN6c#2Uf*_=f%~x>5Th{R-#m*X6)6=p&HZ~TRKnp4WHv+ge zGuBNNbappECbb3dRzQhl#xoXiVSaJ|)TS%l5N_3x`kb}#6%o}f`%!mfl8~UFfdwma zcSZU)*gj0*tfI|HC*!>5=T-3?$(aRGQ&pcXAPxiRgw8QzPgM_ zV(xHww~;JgyN0|{jw!Ec5~r1)lk@AzPc_yNtO1ERH>CCD+qZY2SuoV(ZkM}hX?rVg zIe-X^fsulcDE|@QXKh_`WRh04$M=uaX0{G17_UoxptE*g;bTJpA*7?n3QA>{0(Q94_A|rSZ)HB4~M!RItum!HadG%%)&X^ z+S=@d(#1IWZJpQiI>nqLS^XJw$^@YW(~;-{p=i3>J|Jh24kl<9QG1uOv~gMj z^|T|-C&-nr*s-JW`==*lIod{lGCxy?fdVhx!VU7#svY=y-sSsjck?7Fe^x z5BXctI9j2E5W_CQHd^+?Z7>Rjh>@?l*Lrt6hkYkneiWsAOrnU02v&kPH)GMxHG~F8 zEMEq!3}2`P@`yXRyb2h(yzk8f0K|=X9^Vl~67;0xH{JUD@{%5a4XQCGoQ#w3&ojW9 z>3sdMY7P~ST_zA9MQ9&`r_Ee$4+=nVCAR<>xM%EdV|x%PkWRd*s0ah2NBq7l`9*c{ z;=Q#6n#=&!5`-*nKzcbGBNPh8Y!E1Y6o>}%X1%ze*2HShg^NdC-JDT)lG58_BXFgC zCDO8m5ED1#HNw#y#lrL$8$Mq>ygF+L;3d9 z2U6+~esR~XU4(VC;>^K-9fV5M@K9n(2V>j?8*kJVpPG#?!bt?bFb>5&&m;l}SvZnL z`ffmS30p{zGkcf3^6UXPQBZ3{39^!+#V6@jynek3Aptp{`iC8NT9<=fK`PpT&6j5e zbS{F^;07ps2bJy(3J6|_BU!Q&+(TnooZpw29efieBw9|5zjkd`PkTKqkRqE}qpyTe z!uLO4`uw>M@_Sb|w?sX&a$tBpX3yWZy?bZ3os zbbvBDcJal)dlwxSZX=OedhCUz`##>Ous-;`NEjS!f~9X7P|VM^+9CKhl3(46Z4w-* zwM!=+J9Z5C!_Xor8p}cUdu8a8U;m`$#&p!A*)To7zAV2Fd7f^TmX<8j`Ax&v)Oz#g z8KSzIQ&Llpn;Ip-L6^m8*Y^JEvdVF7z{nr&?6zPPXPl0SseJctI!PR=l!b?@t^RR< zb6%Ys!$di=k`X6}+<_b3Sy5j8qjE>wUPOHOMMxc3CPZPyL<0i@_|i_l!A8I3f#GwJ zDxt#A3$V})h)X%0lpXgEj}=KNJSM(m4>-3<@OKmhRj=b2uJO08CS*Gn2bR?^FzFaf z$_F)+p)SIW9E=PZT^CKL5J994l}iuwgN)AH-0;_3@Cj|zxvK1s77#i* z8IBV`-|A1y*lYcBE?8meUI6@K`y^zEX&D(|=|-dA&wa5_VTCOofH>SU7fFGk?*phl zu*TMG);#u{N@Sy&-yaD;%ph#Wk5aWj2{()JFAr7%Www^!|$b|l6j~+<^@6|qsc;n+G z*ixQo_-L)k@2edes6{NDR{g*P-o_icg*CQP6_1Gb?e!0zgo%q=ExUGZk)s)L+H$^W zP_De8!9I?lBNx$f>A|i&tRk!V^74Ck?hGPwbvjFDbEi(7;=Fvh#?lhznFmOhwe|jC zqIVyQj&tPuBY;bXerEVpgWg7pkZ2iEfoKNeM!;&>iW!S{tz$jN*bj^U)zL_tNnp|? zmGp0EYCX^gpM<-$vcSQk?1;4@o}1c5-PqUzmy_gdZ9dY|N{dR_r= zu0K9F7oJGZwt}-Kn3l?MkO8W19iiAXH+y>i0^m)Qi+FKb&O!??68@3$=0j1wq z*i^%-p-+Le(siD!ED;B5>^wW<5~PkR=$?|F?*p5`_(0^vjd6Y#r#`uxVU^oOQgTvm zLk6C$GNP3)6QPwd`^W9I`V583DCphA7n}b13^olJLnf(w19c;!Iv{BpCN&qM7`cF1 z-HTz~#W#333rehK5g&u31Ax zfK?2#!aa~ndcn{qiD^t1jo1QgzZM?aYT2#Qr%zFH*$VYW!05KH@e#D*2q4bO#VE?z zz*(bokIJMDHIgblQs6aI+?VX#jGDh1dTQV@auEnn*LVpyi4w63t{Y$D|@ zN(=2(F(@I+LUK9iC4qZcZqd1A<(UO|gEy)1%FeK%^!PM7*-0fr)M zsk?qQVj0~+vjJ5V9cv6Mo_hK6T=qvNfSt#|wJumo zwn--p$)hrmJyhKVf?lol%N|SNNRG*7HI*ZIyo-py4NqDFh8anbp+$HS3Z0Q4bglM1 zK?2i#yGAfJ#2 zz;3>v7n6nbmd*+Yy!oJqrtQxOW zG*W!d$2zR;k2pH7aKgf&L4qw+js0`ZQG!v-&Kb#(=1PLONWLFR)tf&{sqO~4AxUn*kufZPDc zsQx83is9c%vp$+durxPU*95r-x9{Fn0H`KDkYBRW2LKW-G$=i2ow@m|hc*lD`w>Z5 zTU)b=MBf3`fjz_9=YWi8!}u4w@1QssrahQ_utpe!^K;tl4Uu8BP!8t7mI80j!Tw(a z4e?7ZUVt1EI$XVkvr>1GX6G7TUtiYP@55>}ZnLH3S$Rt#tNZfAia?CD9dqw261MS1 zDW|&qB$RgYh?5K-gsxBw{**5uihy#vkeZ_?H;1G+5HGeTL2uhMVd1h1YAWo*TYu|R zU1~-F+ofKYH8u-af~_#{>P}{+8>S?;;X0S?4tx+WQdIKq?B*thor#Llw|KM^IX-X} z3BcURW@T`GcM#$r1;fBc(^a;w+I7OlI2+Z0pJ1Wc9}mPX-M0;yKN2>_qEwj>*ver-fz~OucP;!2EL$W^XZ+o z48rPt5nqFSHUe&_jc`sn%=1dNx_q(itKvyyhA(T0NnAgb0K|iMAM|#r=+v!fu^_-u zaEz>iLi*LKLFw7@@V76tuOuMD2E5f=8%EMbuxCz4Mb}P(E0k8Fmtl!W3SZ%ZWq_Y6 z=y;({++StJLEa@lsU!AhhPx?*HP5EY_RSc{EV3Q93sUT?#XLXHsR-LawC{YfT zl_iew0(xNJ=kEF0DOi~=AgAUx;f)#A`KUt+VFaoeA>dScQdHfm&avzEK0>f#cPca< zAP=ZPS_l!y%tr;rNRVE|MLdhTv49mP%`}$z^M!gF%p5M{MHezRQauA(8^}sUDu-$@ zsNYs##W)K0S>}5Eyw*{c;)Is6|_7WsCW%hD?3sx#p zDEAuA#;2#{pjw5%naDP;lFp+fOU=%gdK_L>9FkEg8>o7ZmGs|?`>J4_myOIfwy7tjv$Gt5KU^BoCZb@o0C(N_g(5!I8E z>G9{+Sy&j#RGsT6bNmE?qTp4WE3#T>eIh7VIWKsSsFz1B_EHrOf3bx0bf>y|hd6@O zjW7zJU2Ov2$7_}X1A=&dUs)+4TJD2}UCLE*`AH3xH;d3_q|wkKoB>3KL?m}W+z-Su z!b}HVV|5m9m)542ph~R6_rsP1Y))4=U)LyXRjGYU9p-i_BKR~%hU>cGb zH+05gr1|sNhZUmwhy37P`i={uX(N0q_|yVeQJGI0kU=dht+fT-JA&>}ObSNV3+Zvg zJNAHheSQv*qTL-cAU+D{Gf|JNhaUggFC9U?<7WZ;qYx?qLa{m@WAP}!x9UK8M&Y0r zpnG){aKJy47C`r2F-e@c{3tIi43MfsqgXvW%FexePw+SKqhy00jvy--MIO>(ZqXkB z69H^qZt-%C6Las-k5WYtzf}Xua10T2z+t(-Tb`V;cs@Hp{Q{690yjs{MF1++*ZFES zN(f@2v@(vH8qG(n@# z7nZ@Gow6YkYqM0x_WtU}Kk{N6bTGz)9ohczVwqG+5=a zn#@>Zt#*P3$HpL41 zGyp29lI9P-sVRWj%=(e7tY9NfBNq^o-~9QtD!_FqZ9I40ync;dCuy+Gdxr~FkaeyQ z=nVjKZis@aV|fyH%+wTgJ#u&plX7xAk?}(gIS8o5<^OK!GTN(I-`@e|OIUvMG^zD7rfB-hG_EX)_9kR4<_PDnvil14UG0R$->u)ab{zW(iId=H$mnmq(Sj4Q~ z;RCeJA-xXLbib96CQ9Gm-pK8Z`%Jow%lkGcXubtk0w{||pJGrILa6h#nxR%mIbx?) zlI4QUBJ7YvPSQ8GMEnJAJsqTX_~XVn9GA&MO3LNqPDNlGRsmhmwjAE7WJKH~A1f2D zI8z|Vx>o6?aW|=l@0A&U>L>#vhT>_y$M2Y{P;0Ta|oTa{Xn5;JUEMNcoRYd1;g2o08-9ARxCHNBb`jVs^H+K#o`4z3s;ow zFv5Hw2zgZKP%+YAC#)n5keOv#=yE;If2j2aTGrDnvk>G?gHSY(ad`rQFj2s%6}9f+ zy_ij_u?VC@HB(q^15ZVKM7n=#CURfWJL&x-+~s{y90>_F&CUUQu*r6j zq?FR0ZY@i(1^l2;Z?HQMmBDc#0}CAj#Hj$8u<~!LSbivPg$29>1Vc_03>#MzE!txQ zD9W&cL7PQqbL;>wy8su0(v9*UZK@dUlKZr@6arC@_j89N!++;UJbTd652DL}}WEw)fh%~hJs^D%AX z&5xu}S}+)voy{HNw9=J7J}nMv&@+}Ew*`$t7h+;WtWIqO4P%KEk~LQPXjfMkki7eW z1Iq)YH$q9kDkR8dlfw`cTXcS@Z@krB?D`EF0TOqGc$3pW$GSsXoS%9{-1AwfgwdD3+auB z!XyxnEli@E#9WyEdGH&QZ~Og{JfQ34CuflbS)^~-#K!&9W2IvOBQtQk1hpPSbt(bt znS)*xs8cZ1$xw!D=W9A(d7_m;jg(2H?!Qg9BIhaKB$pFz7kZ7^T?Ymv+{EFy_3PG6 zi**rzV`v?!9WgqZC+%n@idq;J8A9pi6+e&qZ}y3q}IOGBCV%m_CIme4e;#^*-VSUQDL zW9fIm{`e2wW+hHAAdpPZk6wEypfDL-#iZgG;i`ah=2FF?$FW z9F)}ztR3->SfF5){#5>W6rjW@_jK#`@TB>V8=#LyB37@}?V}2$kPPY%+rJ8#8r6r; zlXCd*Vb~;MBvp&7J40_=6B6Pppm(aLu4USBX@8}IK1Xrns<@MI_>y=vLA zL$hC&%!V~F>#uCyym{E|jiU8@0by%XQ(;uw5lA?^;d7BV`;oX85+FiqF+6@}&!3+e z+ip%hQN>S3AR!zx$@fYwG4IBdL1~&}%rG<|!1tO~Q;29SIsoq>`A8I)x*aJS2H${&4i@rM`0?Ur&n_UNV~s`sfC#Gm9A54Hq^d^% znHg2V!(XJ2qKN~lVSo{_Yb2+!8r8HN@rOXEbfZwhUCR(&_*8(+fjR;QhbNHK=TA;O zq6~PMw5`fWKLhtRC6?jHMe+|q5iMt=2?lRRe{QI7JkD?k|L1ObfTlsgGX!5mbZJF# zfX!3>3Xx|xU_m4vP!{wE-ra}AlavOe*NXIpEv1Z> z`Dh%^u;L`5i+?z!B0V;Dz+{kOR5%Z9Fg3%n`veoC0=qx!F3u8lZVW;Kc5y%zBu^Di(2b$ZKZNl#HJ%Y& zz|`N2x(jL*_>K;WMg%O##c#<&Z8lk1P(DUg#|$++(b#s!xQY3P=Lw%EbR0 z3FsSj4)2=fI4Mq!&2d9`mB7f&S$Rg^B5EFGLFIIn?-X3KP^{7@v@soMs}Z#t)zEN4 zwPw1ANHFAOVYPofOE(6%6;6jbTFZD`Jd#U2KsDwrAuP7>pbc>`bJWups6g_gmSv?p zYQ-nb@M(heW4VMupxo?VBZfQPtw_*9UuKm*Hb6uNrHL9ZIi@WS_?0t{A1bLSpv8m{ zt}ycDpta`aZj}ya4J=mqqkyZ8L0%(oMo=W;BQQ(g>Dnp$@m8cIWoszCYmc#O6wrR$ z42J{??*Mi@1GJe8M%r?q(t#>^I9wS&?j<#z(sEi??9jEu;T6~lBA{#6m`t6Z&F@ zJ=lsGoPpUyI9g?EEZLgH(_Z-3xN#8OO#BPD1_O`C?0|-jU)+GzRFwa{Pg}2@zIXZ+ zPQ`<^hie&n0v4N`mbX$?02^tOdjMckglcS*uo~GQrDR;>0ML;r_qZ7(P>?BOP!W5D zFc*YPB0Qf=)Rg~JaPzMra_Lvm^O8RO?BL)amEbVq;HvL(1HR8c)U7v_IuE479?_ny zD*&6Nn6`Ov8!8$a$o{_~^(6to(jgB#(7>{Ih---^@ttg-Etpmt+%wif@0q|TV7 znN4QqSPR-ua3-k=s>SvCa{Y2bv7N!Ok10~ht>9P|HmiiwUg`-;j z$|Jp6{wa~Y4zGaB2vxulyw~VSx~~Nu?aM?-9a+=?o~oeO9^Bu$c3hC}0pRcr_pgs7p#v{rxt*!GEZ#x3K4{G-G-%S2^E z?+s}jvMj-y@=pHzydsq)%Me3*1!7N+#KoafLf4$3SGU7 zRA^GaJbLtK;6Su4@!bRrfV`CbFYY1v1pFC@GL$8$lR9f?AidR)61<><*nF@uqyQBXliOg(LG52 zvb{YBQXSCU+318#lv}Z3AAdaB50N!arI6oRIz=+RO=!!22b63^MKi!~QR%or{f6rs zr^K$gg?lOz1+>umXGzW3;5jX(Qf&Tq3a-Q>5Mj{SY@X=p)Y@gY5UtiN`TFe}aL^tU zVS`CR8-H~qzTC6ll<&2lrCZNbS0@L}twya1MR5ad(E1kBcA`)Q$H);(ZX&IHym5Q6 z`&5j@E2b%q1oP+xa2O{|WvfUvL%^Tc4HOI-Ey${Kwm4BmgXEOLLaIwkFi!GpDG?Jz z@_eMhN~8l0DRX$oK5gtEW}eQNYgX>On4E}^iMoF1&>?O>*%xhcS|*OpOy(A$*#MPB zF{`!l=&(b3Kgi5zBQ%mvkOJe2DR2 z1aoVsrSqX{IA>c?2t47s+oQQCP+564AY~-N8b)UfM)WjrDOf2JP4f5d>A;PCzw2D< zOU^Ka@DP=fiMmX7U-^`4te@-qXC70GXX=qV?i3hr@(Q{CEmwy`SJugKGI}EmE)o=Z}V+Yw7k1u z*dTvDn?WwsxTJ#~$djgwxoZ&?amN!Dg0jN2*fr<84jxPt7`zOAips=7eh0-H@VQii zJB^?=M61tC(io(B=*#o-!g!E0oW!=P!s~%XU{Y$8Kp!g=K$D0A5w_CenkU{ z5;lC;H!LG?8xKMSah(uVwU8B}v7ar?_wjKmD@msddA#NQoo13(3m%QeS#p*xFDzy! z>wzqCmbZkog1gtbNk@EMDw&X(#zp1|6^UZHw{H0^J}|HfmJQFe47Cc}0Ch5bdJzfa zBy|64bhIdlLnTOQQHEijmYJ!-yfhhxk3t&o;9^LDY_(uwG@8uF!U-)YOP}>tvPHK9 zG%ASrkp24+G0ndbc)~jtx!yiZ`)h0KNz>`oxZz-!V+f&(|Er?07lty^KH?S?_+%ae z;YPNLcz7(BaIp`#cz-78$tEuBBki>x;Y7neij|ebNftPf}-;tHl6ELN@P%Ih;dJ+~G4 zEt`_fgWtwS0xf~%2HWAGao@^XOt%SV9xz=h;6t>e%ksfS+|T3PAZHUy)saF+h}Kp9 zq{e`KLG2FDa|CsgPuKykDoH`!=Z$A(cl9Yg~xfvxZt7!S3N zjVzwYEu>&Yfyqad6JD`KcSr#apvJfF8x}ZZ@Cfl-Y^fu-yQPYr z_`hB-c7hO`TtaH99CMT`AJ8QsRMU%b#gZ?H?t*iub{5I=a_QOIC@PhVPshdS8L%!q z{*l@zotx<6(r4*PQYdN7Vd^YdxCwyx-mK~k;7G_p`g^Zw$Mqdny@91mwwvPE7$HUE zw2uJaDQ=&P0s6Z>QG9FVGaM~wwi)uG0;4(Y>mMg0F(ZVBROZEt7rnLMTc#Z+sVf$f zoID3%m2i(T_6Mr>SD+%efb!V$Xpj8~HM$50c^2{NqhzIk{7OUz(u_J7ep3-Qrp1PD zQaGCn-p1T}4ssiR9$HPaacoW%x{QX-6Q+!iQo;@kEIhAlx15UbyuG-{!MtB?6gCwF zdiUWu(@ET82Lv(>Z_J6%&=x>xHjk_V0zUp>{e}&5y^a+Y|LpF*vNR|Iu?;papH)R& z_HZwW#+v)cy-lXYE%0m@4LZJ0jm1TijU?s9SD3T?Wb2O2blOPuTVkIg>3sMxxdoCb znW^9A#S{4zR*7UUEWLO^kxIXD4`xgNMri|DgTp@-zQBW_^j(3|oL~`zycCR~#K|bS znwzVRH*Lz?ZUE4OQvjWvoiO#QH*bDN9rz?M%B@pr8l-+0Cj{Yap1us8C0Zt#NxC`7b{XjYB=mjH&u_l{REc>?~J{-g$I`AjcQH9i(vEN`}p$f_lVC^C+rW8|zIB6oFy5rA z3}-0~12K1{?;~z3-UZZ4sA=(avffd$X1IM1q+Ku(nq7ZN4>^n}@HqL}wXg7IyPTb= z)0JBf(+fZ3nzMyuxCYy)4c7TizzlSKp4g|=MPNH9ETF6a$)blZV-i$MCz!Si9-IVR zdbZTS!u|l&a}e*5>>;g1M&;rb!C`I%l~mMo-lBL!O`5(@BVGsPvoL4~>WumM=-SZv z{uNE#SOxaKsA8?zP4J`K0E&Oa^Su|a;wbvwA=x#Qzu!JwQ3-jE>KcysPO~~?qHxxd zghhjr_b^b>K?J%FIbIv?LZY1bT>2;+L8WuB!?>c8J0|`roKLKp8_Il{(^mhuvdzPz zhXe#c0Xw7@V5XPQHLwi1Da93C%J2w~cb*5a;La%_!ZPowOkJJIg}O&Jc+Gt4xmlcp%F7bo>_2y%**@^@g(9PkN*6~n1! z#zH#U>4F}{K(An%1Yh$>Oq?ecidzS^gA)QbVaa-s1fcUB_pv-A>!37r!-&AcD* z(TC((?v`<@l3xP)-$i1THsJ`xP1Iad)7kUM@e+Ryy;a-Efg#?Q(_f#PZjF$3U*b!$ zCtip8Z&|fsvu2?lu>j~1KD(O`?$o%lBd$PV*xT73Af9N9#GI1Y6B+2BM4LvstPect z5Za}oVH^|?oY2mx-kMFF_4hBMWgSDZQ5k!cg$pUkj!Kd)%KZM8KsI4Ysxsh)%8i3N5rH z$da5X+d`Xu@wJSMjKV?`;?IA6(Q&02)<#vDqWQosxL56aV&z_ay0n2@lE>)LriFJN zsUV5NREvj%W=Xy}hcc|?)=0C7M^-jK*`*sz#z+crw*>ZVh&Js?(!PslN&ER23EUv( zeG-{78qs9g+rE-Bv4+~c9MEyplCSTem?mG9WW%{W+#Ng zlI18+Wsc(p^`uuBSMd?(IRS1shYq%TB65`=P4%Tqar!dp%5d1DqEgf;xF)obqYjd? zMWMSv(a)1my`WQ^fZt_z(~>tq%wXv*fy)I{h=}_5y$7W@Zom%=pMiEFN%l7MW8d+? z4QPcV0FrHcN*A5%K_!c032=#sUef5K12!g6^(xSy_2S~V(87F`fHk=lVHg+GaL``@B< zRRkRg6>r}Xhe&lZNUSGNgST?J&g%U8_wQ4LeE@n}2A^6KfRa8#b~g*dju8C}M)5F+ zj@j?-4oW;_MQeb!t6}fThj8BKstg^rq4~aUoOaKBbjwrM%&k$NHRZ^#|BozdL?Zle1{cus0qt&v=(I35%bQ}R4vHOENUQYmlo zWt20hBF!w=r6o?e8M6%XFylck6z8i&;S8efYd-#-0NS}AslVe7ea98R#O%<)M^XYo zhp*&nIKrI~+>$-n>eO?zrK0Tg z8ch%AO9K0~0Gj33nJ8Y3lVFrzPNuW2g+@*cAL3TWNbD^Ujc}%%qYc`oJ`z=s3qe=U zH@J=7hvI`S1fY}glj$=w3$NnLs%i1#$rGnv`TW;QLP?m)+Q3DTEAbNLLP|luk(+5y z7g5O(C-ER8W+Z{K53llS!u_yttnVY#rJWg~yHTzJD}ano0X?xe3;k_&n1<`aiK_aP z;ORq7(^GNWdst&|E>R?wk@SspIq_C5LW6@$RIc_w(`pKC$})imvZ@b!z|C~8NJj*D zjda;aw)uD$5j1b*-}vF@$30<=>f~IQ?vj$&uZo)JD)9YuLKW*@XKDF?+!~4-W#@G3 z0SM@e8h8dlMk+5=Z22~_DRR_N%$|EbvTIf3b~tC=O*n0Z&H=` zV$w+hsgUhkQM3`OCieK7vb|0k-2@im)Snqy^4K+exWfa| zFmB#w#ZT5iRY#?_gMA}Szi2xl91QW|oZmV@h!WG{tz<7o$xfkK!;0tT92uB{NHzqB zg8RC|_>ET~NkwVcxBrv4U$bQ`ZUPK?L45gdrfe>tSUT=uOfTL_Y6*B%Npo%Z|z^!`^{0BU;B%^t7tK!e*p2p1ALU;C#`DyP!}= zG$P&ZBo!cnq?3c`k+5=Lm`{)9DjlM9a^cl$*H*M%veH7M!T^FOx^6PyF45fvtzO-l z{fR&B0NB;PN1(*LXz45ks-D4EVYnF;$NBTA{-d7rgMGMPgh~vO<8g%#kkC;3q#+lW zI~7>|AsZqIX%w&rMKko0MV&*YJb4IZUh0U{uIjl>L#ADZW!0Tw>0+JG+^pHx#MO+Sg2)H2Y(qK?4-3vfU4DdHw z%YUyZX|aC+I6A5#u!e~;d!oQCO2%8K0hp1Sj&Q|2%cu#r9OZosk@Lk>w7x%6ZB7uE z5xr#uCMeAX2;lIF0RN*IVa}W!_xYqk5_^wJ4lUt^w=h(70;8fJ|612ldE!oSvkqk` zO7zv-TUV9O&>>y8P|SI_XP%1JS3aV*-VdivQ3J*4`wuu9MNXy>41!((|6sc6W(Us` zl{pL&D1)1xN{SeySpn=1wiFFiC>pn$s8&xS_NjD#BwlW10ryePQ3MEGfRNS012^D^ zk|yE%4IJTzdSM>@-F`#efT&^A(v|3?vvI-FaKH^-tU-QeS)E$8c}HK#|03&4z^Poj z_jgJ~b4Vqn(M)quhLkcTX+RN4A<|%r%CIX^lr+&KLsUvgq;^7sq6xdAfix&Im?Fyb zzt^+vbI$ksyT0rC&gr!6_kD&n-0NQVs``b%Bn5&^Bjhd9zCMq-4MT^%jR0zLqYaf3 z)tVQUGHdyavQjCY<*|}8GF0l4aC%W%+H$6%eFNRrcqafX&@=x^3KcaM&aj*H@QMmk za#IqY(L62Xb$u7OT_=-uG|$d$-M|&kwVvp0{1P{13xYW8&hiz1^kQpjzJ2=($zE^N zdndINdKh52JhK0MMGwhb>=a=_%xZ+&w_%5Q5=E2S(yrwE>O$AfN#LzetdTJGIDp{R z>}I-#zMQ_|M)c>9ZXz=2(X+A?U!i>AU%z)u7A2Z@nk-?O==bHjuj1mJ@iRf;)`$`+ zf{Iye>>qP#B;0cco+q*-uR$6Ux(XM6ngpPecg5YvY|2`!Q9j-J)=Ki^!h z!ZyhRU>~ULhmtNy_YneAb{NZ|e@f&5iYI1DQr*a$W3rg8t*WXVsZS}D;eNUF)R_SW zh*zmy3qYh46pGmeN&4qo>2OHAIg2tM4(1G3J1W~u=9!nH02K}MjgWa^@bMrV0)P?z zRdXun^3Vwx9;Me#)IJX9yr~;UXX?~#6pKp6yrj?oi4;KG>Rt~iKmmKT;%`aj<;(3U zKaH(yY<9d_VMS^|=$?hoawczA_CSn8GA zpjx)=8u;-jhe1`9bOBh1(b}KUn(!di0zPLGc7GpYGj>YNP6EX0XgD0e?Xyz_xHjno zp(Ti#9_W-uZ|Ig{IFH?!O(FmWGkX_J{EBR?L z9s>CYVsTYY_Gb)%{D&NV6MDir(9Jq}`0)J$l{N8IK%nZ-hz!JvEPig6$X!t8+=Qe< z(dk%8ga1PpoK;eL*^WC{9o{$<{`PzFZ4X2aMCYSj`!@l*W`teCZHAeS5gHa-p2i9k zD}YY>5L#jM#?{S@5)i6cP!KK>omdxMGGZw_r18;`&l9gMnso{_udnFb)FbTQ=nZJ~ zw~#B5d8Sw$b}S}IWR7Wdqe={h7#ZQ-&};M4!KLW5%K7^WjXHznEyECDWFuuE3Ic%= zUqoR$I~P7avvDpKyWX)sQgZ&xy>@7``Ta1;(N{-rnn$rI!zq##Juis0jk zs0!<%ftBFIf!Nx|dn*3m|FBQexHuS=14|+}&K`N{%XjbE9!M?8YIrC|gAP2D7a<&_ zCdF@;uTWCU6No&`dBl&%NGBT$c4pn=*xgv;^D)Tz+zz3Q9tC6J2VI@)?p&BRw94C` zzLJBN?OBc6iPLl;J^34-WA~h5jwkk=jZ}pjsJsYPU{=|d`z<+L9fVfV_Bj2sJxAsA zFJ@Tu8j2H@Ctf|Z^u>!`uh$)BvS0CLU^O(|?K8%`8^JX>_V0Txt`@9P5|aSo7y)Fi zxJ%=oc68^oJ<{vk3LC;t7?qKpKDR!%XQ{2{VghX}_6%)%h_A-ag>xW@1+3>R4xv6} zMI@e-Sz%Xh-1rS#F6(pH9JVr+qOAM8QLPx4jxEPz*{V9L2`x<<8c}|p3+Y-)!Gy1f zPV26Zg92UyK4JSgFy~iK`nFu9qi2c|{&_{0&Mt%^(GWugi@5>Cx?=S&F6dw-2^Hjj z?2CsUc|Gd}eU>x18P>XUBls@JRVvTDH``r`)(Ysx+hc6TNL-o?&(HqJ?Kvn3Rc|sc zO5*-iedvR{rDX8}-5Zf6iCLUR0CJo2%o!eWC$zyKG}Ydj#*l*pZVYvP;Ey5<|f*%VrQ9O42#k91>EA}1VfGIHn=6LmMo85&+@Y}>$#HeG3 z_t>tT)AEq41vG@(XQAbda2@sa&S-2zMsOJ|ICOd~zx;cWr1<1@6gdgXSBc7ZFc0e4 z?Kr+%l!1efN5Pf5BdsQEa4g*5(SNse4Gv-Yun>KNg|G-x07Ew%B;Aj~uJ*#sSq=MU z?Z5CE{cq&HS(Y{J!k zMZJrp6`~8f{uBoIV`C6gjw!cXh;5>gGtg3*Nte3N1)y3x}`Wb6OKz*>rjX>5O>5++C=VU; zBV~aaSA)id50;Hlb_Sld3$=WE3?LxtQiLEAMDaSmx?Sv34UOVT>_Z3ftT;Bg6O6xi zNcMD@bRSFj8~Cq36sZb2e8SJdaPoT&fHJ+hvfq4mUO8iruAcn`ccoX%^n@8a^V*ul zDuAv7VC!@t8b(p0hw@hJBEPE>Xf~GD@%Vq1M#64YKSPDFt~zUMc^fR{b$wf}VFV6h z6v~6jEgys2<%x`svHlDnMdvb;fXhh~Uw2zx?@7j_m2J?wcahm{M5j8xo=#(Deu#06%qHOqeH5FXYv29MahPaj4}(o(0nkkw`=(>UEg+c` zzB1l`;RD$i_NmDsm6N!=*%CE4hCE)b?e*;?&A|W#hWJ{U$1hMF2W2xb8UR2UuILVK zrEeoFx@AkD;$pZZ+D$QZ|6u6LZqO4*Gl|%rS_vC)xq(}wmSan|Ww2(#X5ro_EMSg* z676X?g0kws{XwRrbP_h3cX+Zt$83m;o$$1 z$&)ulluO5P#fpTcJ{#^BCtnP*j-Qfm$49nO>&KL5r;cPz~U0J z%*v{ij0GC?kykIuoPg3uEwGtWR1d=TOnxQG2BgVq5s=&yc8M;L^mR%r>5-uiK7I1! z!R1G9AUj3!Q#eQu{?y~2PZp>jbLWxu99^A6?VDkg_QqM zg!E!3ciC5Pt$)K$%*8dK3aN+jtH|u81Wo@2)^nFDEkc}%6EfmV-D3Mrn1C9tq7(EJ z3rI~744%J;?JhR&UDR+BA&!X1WhUMYU=O!jrK-(>$Yvko@5KWGkP){d{im*QaBo5} zA`So(j^PaGi4kW1FAz~J(0*VoG{G@K2pdsQoK%cHY)eOEz@JFjH9l*pd^B+i)e#Wy zQ%#5rd4Z_XLU~qH$$^y$GDI?wcyp7p_!~5H4%xSVl4TKyu^F`0ka$F+z(b!j7I6eA zH@QUpI{6RbrE&pNQ0RfM?kh#2>dLO0HrIGdMO2lUx?c9cKX;CUDYj$ z)1SpZGoN~D!i%B_Wykb~_LlSQ)APoZHK}Tvjd6Yz0fSDvj`VP^(bg8U*ha2Nah6!P zQ*ZL=@ll7ftu|5sCld5eT_rjK;mjDLuUEq_o< zVs`I}s2Upq?RD9xa9)q;sUt0C@lYcQGw02{4gHgx&hI&Z3C?ux)Ldj}m{-yHvw{u6 z`1hj`$^D8F<&?z|A^SWcD*RxOl1(!@SN!24YC*ahXuKQw13F&pS@(RS2sDp~NbbRf zA~=E0;^8wA<@A@Bn=e$%-FORWDWqM0lIoeA=2C;X5btBPI#}Gsr`?cyLhSmajznfk=aO&S6x5>c; zBE*s97>y5GaO*kxqYqYeR5o|j`Jl|76!&sK4ANMn8%f5c;??MKukK|%r>m-~JsNSG zKURdKM?91*0Jy;lRno*3x*Q66CUMLYaumd|83f&$bJ8Z+$;J$bvDpkxNcNv+n@LUy zvU$bo;?S-=M@$LwNR1-4a>Ps>9iX&k{DB!_iAYezJ^cMyI(gW?={%v25e9(If8!Mr z(SJ;FRDRFy%WMq*T%W%ZLh4DRsPh+Nm;PMT>u_DWb}T>P12}Uz81%r*@@P>gC3yJg z(Rrz(Fe8l`cuY)#iIY-*8vRpJZSAa7)T2biLwPn>k=mpH2nUoZ>Q_%qXLM^PLB_IP zlJ@A2#1AS2iMPuJ?eGRQbF<&~)g;F~PvKpP;UV3J76LTwW|3%75F_%7r~ z6>`w{jVC#E`gDjn&*%L4^A&CHTi%0zMynqoW@%&dCr{IV3b{0EVS5k$A%ZI}H3QFn z1tP54W1-~QItIbsSGaoZ>C>gS|1=A`s>Y)WXCFzIYZNo)+2l%c5F;A%XpJ$dx5Qh;`S>5%%zU`Rg@^Lc)EB2s! z0D6){5{rzqM5xAk_F6^`XfaJ(ttu9jMA`G$QwI*9!VLB<6#x*z6V4PY9f~F7c?D@_QHIkyzV{{&tWZ7bs4k*{4w)acXKMjN~^AnPKn)RdsbgL=nvN*^2f# zE#8AuPM{^nX%UJ`T!X2&y=V`-IZ08GzMe#1(RN>~eiv!Y7zlZ?6`LYDSP=yU1=WF0 z)KDkI`vGJbw~QswJtWH^X4kQIOuGX?853SZYaBr}n>jK;lxIFU%J0D>)y2Z)YgYBa z)YydD(3ycCi2fmj77&7A@B)-fb|AhaMi$RWWD;$J$CFeIaFNF2gkHRO@w}A641|SU z5S;u>4PXNgG@*{~@$QB?Et!!Bq>Whb?yklTg@Qd*pdjO{I&?B`-vW$?3;2CKx`W1o zMZ@SHfaK=4zSGeZ94cDvCn(}$jqoNw-4+tBRFU3Bs}%*%dVJJ<+cu~~KLmwJAS)(17rCCl7?|_T1ju;BR7ZfaJS_>4Tp^knjIoV&d!|O#6z!#I!xa9bFNatW?QT`r^ zwE~?4&0j`JK6~)s0TnN)S0K0-K&(Ev6>J2Lnuzcb;kI+9Hl7g-FO-1$^^aLAzY`cf z)eW9Kf4(p{DG|b1kfvk4$5e#UelbCBadI+Z=lnh31mOE7O_~Jz(T_UVqC1-|e*Za3 z5{e$h;8xMiR}&SbBHU>G#-5^70AB}FIa*FG)SP#a7;g3uuxztO)~M zz$`$Y{W2h8*)4bK$}#y>+vyMlI`ohuvCynTbc42mKZ#R-Vjqa~@zh-bUL?#N{4`x0 zneZ8)u~z(f?v1wUA@XSp!3=`N15_KJp?yqru1X0;H<$`&Ru!t*Lt%d&JXpXLbHYH# z*DZJg61fOY5+_P_Os)vB*jAqH2lgYi;8K1esZcI7l}H(0O`9>JnWm9K?5udKTPy}W zlc+wfL94sS+Sy`~&x;o?ie(B|lMJV3B_nw}ZEb~ohtr$(_I65_3F;1C0a3J1bQ7f2 zx^KRbf>*F132aF5xM)9vp!Np3RXx(`kYeN!D@b)E0qc;xXSC7ozBOD!1+Sjf1dH`j zC}(}q@G<)`8YsI5VCKio`?jqY@Nr3zsMUnYWX!_NzL{r=1x>O}JNzKjzQ5y*TJZ_%KTSzn!tq;DS-m3eKE9@o? zXdukg?h}mBX0!qCNUlt*Br3Y&hcjc6=WWEiko!ne*db^a4Z$#Spklz-Qv!j2T393% zt|HkY&xbM0<~*-&fchFhu*SkZL8}mLHJQX55f82x^cvx~tf4xLhzAU}+{TX9M|!n2 zH3yQdWsr4KYEKbGrzk`mdJ;c~3zLl=-ZfBgW*4A4==wWj&YU(#HjyZ>w$ln>KO+v0 z2(&et`X%wp$A~Ky1QJTat9o364qBUe-K@KPpKS}tA&fGN7si6%NZvF`@ z47dvr2_7LYf5@EI>>>1+Yl&%K)Cpt(0QmoYw8{{@+}jwfBm6bx&SDnmuWLLO-9Euf z^HfAS%0}!S0B^k{q8%MIDc@22_U)>5@(O*Jk33L*%M*=$(8^HZBP<0~;0e?cs>6LT z08@|JL$IF~%SETbcmS1nCM>hHJ^OH4vi?o7gMm&+3t<@IRC#)Hko`c@9W#~*vSB(e zAt9o}kcbQ#A1+~P8u3dQ|7vRD?V>@aS^$RM0lrc!^Cul80Gg%>S0QpxL;3z4pi4L= z&iO1UErulQ3n6VSzke^Zs(e8LtJHiVT2U9s&cgih$DMk4b@=Wr*hE$XEudxtMNafb z#CbK)JLej{hYS^lMzF5Ak~yM}yZ_@06R8U<@IhL7YM>f|yFY;FbP+?#A02~VNJ3pW zJG^F5TjfyG@*~CYB|^iqm=RBh%Aty5&e45GEYFVb_L>?R3xg{kQC^EDcDN&Q4-ep^ zajum$G|WFwu~H~PDH!@7x4piDRI-J-SKl-H(YOxuP1p8upd;Ieibw~9`*8z=D;SW) z-JxMr)C}G}u@=%BCL-IoL705TBxP`bzKh5o6Sf1>zzdcsLr#vU2i+FS`YmP6FLjJR zPy5N*b~&69QAdN(4=A69h9ajfh_5}VIv9xg4K#&fu`!~lx|f41=AY*vbhm8L{?-K{ zDi^}qc8m7^8iFH=k_z(pCoB)@oFV3%i0>r3Pgi8>Q9X)X*^GcZlY|CuL;Tw`(O1h7l~UpW zwQ+*_70e3T4;WE`_vLg{R0q}T*s+&E2=$(c%^?66>Zl;L4J9KR_(0$zkm<{0fWocq z?d@S!a;bViTwbdrrj4~g6lK`5TIhs`hsTn0-$LDu(KL+^#s7xF9GKrzA>sHJN$Ppk zl}^}JYMV}l#sf==^fe&*FBcX5njHk5G}vw`%EoWr?MJYWFiQjAN(OWXt3%3Al;l#A zC01+a@w8}L+ykU&yKlm}fBNJI<$C}MWRGO@W8F|gF*ibTY55I%2w~He+`NzzTwFvL~^1ohDsM=0gSyiee`zm5=+dHBEw+l2sJ?@h17TW6R=5S}rMf*F7 z<^~)(b{iB%Ky_R2R)~4fQwasR%Da$^Z6kZQZRv^?Uz!12C5aM*{9-&BnQBAFFln)t z?z2SaS1g=mWNh0s7K=O_BQvV?{oE+Y$Xi@BYLs2G#szBb3Z78dPK1M08#q?@P_*^ip6!{UIP3RuhD+1lSQ#qFY%DNdd%(5Mg6&yZ9*UShxmi zD}5AEvpGm7c1K==kVaPDL0+^#G9y5hFlTQ9XEqxh&lp$(RiPxJwe`r)L9B2XaVHGd zbi4%352HIHYAsVe%J(u~y0jP&J3SPXpe)HyVyCWxe53J7tfxQ$d zkky2lphHIimLXlSXV35lMHD>Kp%k}(#n3%BwU88wOAZ`4P_ADwXxkq5OLTg!GI zCx-+}elBZ15VKHXzHwVI=wNu%WDpSWQytQaux#2=J5d040(zVaxds~S?(z0mV2(O? zMv$ArF%X6uE4(4DSsmER@^9M&SZVElo)Kt@dFlN(U8`B}XE7KBX*c=geW6dLdsn0!gFG{X-Ns%w=+G1{!E7v0b?mVpO9$>Yi7zSSb}=zH5x-czRdF--(cHqyWjg4bjYpgvEY9?gx^wMD0%(z_nk z%Ycos7GLWK!ma=JfswNjsug0(h9~yePjMT4lv1!B)^3m!JYa4efqnYl&mBH~Zu};4 zMVxz3LdswxrDQ?a#UGTsWsTGk2~c-K!!QNPQ$^ub<7Y}ZByPEQcqEfN4abp0M777t z;tdEoOU9>>3lOlb8Zj~9Q8R3rp~#l$kv=-i5mIxebQz;?X@;6FG0BRS@eyY0d1U@+V)ZT zXR0oi)|>SP-MYyly1}0*(?Rr-Y>heItViBSqz+yA3??&9YTHtK`)Gk`YOV=j_i5T= z7eT=eUw034U=)ibOfdq2orHs;laPf*Ahh>{v1TYvQU;|8r z{f4r*L!{n~9Wn)MT#8MX`TV?uI+ooXZ z9Tl=A6==K~wi2C)Oa#tGMAG`hrK(%tDCWsHZk1?{ArL${KM(tZq1Ffh9N-|R3MOMp zCWyB}6o3BV;s#&4b`6Iebcs4reiO5%<{mtWkbEb3kL_E81*DzG+zP)nTs|)^`$Kq-NjLN9>d*M-o29mVdTAacsp3e?5u3vT z#N5m8Fqnl30)`sHhCvY;tqVP*1KIwmt;Gq$LXu|+w_#@R%~Hl$w-}63rD&Kvk4%jb z-5tD`7RuN~IKuK{#z162(qPGw!j~^0n>F+_bOd076|S>`oOWN_1xNsmUTrdOqM4Xv zu$$iRtYeHr$$a5U7csb$!#Ty)D_nl!#B-M=I2KAC<$SdHoX6L}d0n{#)ECa2KW-5u z6p$E78hy+uWAtwvi>D0#%@6x@R6ypUQ+R5KUp1{{cYm7S!^|4JH!t!XgVrOqa+V;haP(tu`u^F5bA-b|(}L`JBt<}dh1L<|aHMx=>{WneI}J!P`6dl( zV-|`5IlLcRKt_z&f?sZKX12hp(nYA|bQx;8sFa~87dI1ezlAlHlWvG=E$et*$-p!H z?b4C%FyWjJn%(dI{JHrq`TTeSs$Ykf)Qtid2BW@*q_U#6=)vw%-2d-}oi53|)`K%u zbjSgUfcAxh*=}0r*8)LIQ2B73#hr-`^wFR8$f22qAx^<0dnNvbW-v+ILR%#$)Zxyk z6+%)Bf%C}W!rCu#OF*Zk!X(CwchfPQM17lg2~UHKO?}|jl38-rqLpAG^zU$ zG?dAXenTQqUvL}6;*c%HSCc?)CZk1F-uz&t!X11a^l9|yUBW8nk65hM+_ zso_kKvm+JpGAlh+))KW#LjU7PBB4JhMc8Zf(3@6 z96Wd!JT3}m#}H#}k!j`dN#~l31ZzZ67;p0AN{Fd%WFL;j7KC22fJ@jNIS-gtsOY5n ziZw9YX6AzsU3+#m$LVcY^$zUrv#<)HZK&NkA1OV`2cU zn=f8$XjQh14kSL(y$1{3lUPjj;X2i&sf0ex8)o^&oN!B;Z?SlBNVF^${CMOJ;=ril zq-qo6AE+S5UKtem7ArC0+O-Q>WNUW`5vE!ggHgNp9oL2v39g>h|nck&Bl3%^72D8Z?)up?vKz_G`t* zgqcY07am_xvPh8?B&;(xI6I@C7zxpB#5U;mhjl1GT_4hohA5&E7R@}FSH3AIL)h^p zk2w4-6=7l=>rL!ns~-J5abnUe=+PtXfv&{Ad-i`mc;!;4x%JymdthdA|1!D7Kp9te z_cDf*q}tM*!3H9v9!M?KoEk@>g{K4*YhG+EKqfjbg`T7?ghn_02|3yojp5Oo{E+EnVw3tW{E9x9elJ@I?jpWKnEl|7p7 z-81;lfgW}|!s??1B~ua6KTT<#V%ZCV z4gS3s!(L9WQ^O?aWb3#0%DDIs`ZTVaCEZCz2(p;5sec2`%u1TIyAu4 zL0;&J_dNcKOklmu$>;-gOuf-KR2?Xztgfy@>MIamWZ^)n<%pa3cCywh{(V4 z03|~D!`zcx4J=IW4t*7r20M!Z~R6hBVR$yK9zX0@}C2U+M<=_Sm^~EAx)sH?^P2 z_e`9DC--dmn&81#K7nHBd8w6XySobaz!z%`rO|7+-F!zw6o|oultVZ2Vc{`iXr9x& z_4A>CnD(@AF{SX*fizfV!=&axk9;5=gXhq@l9W_N!#DCw;4GgP7Si=$1>x`E!j)Y9 zGQ*IbAqoGg4>o5pSO<_SK;2^_&NFo*$gn?#`U9DGywHf7VS@sdaJv4_u~_~R{n~0z z+RGq^fH)~X_xWZN+G!LQy7!hZU)}^JF>MpR07i%!t1Zdk-qX27hx-a^(?S(;8t)vq z1e{hPh;8xk(BL~JK+4vdZeWk^<(N1^vr6$8h@H-yIt3*lOQGuyW}d?`<%UpD1=RJCA9WawzQXC^Rc@K3byN;qVrSLb{0e5nK+})NlKQN9kUZ=F21J zoR^Al+rE+Pd<+i@h&hD_b_WUX?)T+j-#I&P%$}Ha750GsFyx}hPxj`Rc~!j#DzmC zb@_(h0f%*dLqsa6A2=RVsKOHk1qEUAp&(+ENr_V6F2tbtL4w5Lxih0^lzIAVZFS%m z`j?xLbW(^gG;RL0oe2317Q90D|*?V%+Q-NLyIwxV~V1*y*9EVrHAHQrXJkm zO#>*)7(zq86kTu3O7?J?M;`oM2W23fD=Y(5$lJKe(z62=XgV&Vf;fQ6a=;9BM`khe zF6Q(AYXyo4aOhcZq;Tp};|N{(=+CGqxO>8!U$Ak$;U=$j2*|cQTYQM#GX6gGXGMk2 zf~Q$Bw_yR!<-CZ_Wv5S`oK1o-;^9M3WGa?u5t6L_fdN*YY4Oc=n!kg75n3xbYK34v z&zgEPs??mG2!|3w2;Pz80$5WBDl(R#Cr=GWNs?o92<$^vB+DXR1Gt4aN$uc)pg^al74hl_!2k+p`D8_m{vGgU&i@dqWd zC3M##Fq}A1T*qfPtC9nERjsb;gVky^lMl|eUD@!aZr-p9HN|s0mwCKL<1%?LhUWWX zM!Z+Ak+mt%9HL29GCQ`@Me8;6HA+>W5$dg6v7)@Hka*c{B|W2E39XSZtp-OA2cM_L z0BNJ>k~_+04w?xquF(}liBQ@ogz;&B_`(7!{f|2v@??o2s@e#BiCPTJK9KBi3&hzb zVmSh|$m$vctn*QatRVF*s}|KduU-2Qa1O&ag{P|KMS6!dN^-~Mmy(SZd_yl3e&~tY zzul62g$vKP0Idyg-%i&N^eTCJe~?}o5$ujQW5(gr*Hha1qe}Ri+62)<(kTi&^Yt7WIcKFhj8GUNcqjn6&Bma{S$;%MN1!j--+P}9r zmlpgqtR;YgsBlMWjbSJH9ONtl*erDmYwFI#6|4@K3*Arr97=X@Mbk|g%*|?B+pP8g z)ML~EhFpp4)v~npQR5@xFJn={WVHHe@+#Ns4cNFr#h0s{@^liV(u$@)sc7c(t zrrk@D22x>|2Lg})Tq_T*m}wie%%IVtvR-raob76LQ&LCKpe1wbd*oEL*n1~{*~Co9jA(%WVpVB_W?l46z+{WZCMEsAWVR(--&ry^fu!+PEg1oMiTXi< z^v-@hJQ4+cc*4eaJ)bOX4QOCAnSWkE5TC_Q^f!HMzUP@)|F9N&QXDnPM4*W32fn5P zdnueT(?D7zU|+#AR3HsFFLg5-`6}_Yb$#kTnCRX^R2}hXg7pQOyb?H3So{(dffN>N z5A3jWwJ`*l;@EvZGHW(lSkCx#(-<2Jvh&sx!fjpos3`fEL(NB9)mnAciWR4;qgfC(Xe#CI%EahPy?fu=bnZ=>%ftO&3HP-8jXa#$kTm2Q@VsT>grV9bPdR-;2VdfG!YDzE5} zy9bxUF*u9CgBvzX;ybRO_FtAzrEXv2+mJ`6CuBtfn8!_ML$RuN#pUa2TG9ncq}wCM z_~JGKW?OaWaQ|qgfFGCuO<9Vs^nVL4{(NKC9pBGg#2cN7jvATuH-PAjY3p#Hh_fnl zB`!U^32HPdnoBCCEm7!$wjU5x|qfbuRl_p9zKX+RV8)%SgZyNK*b zB#w{-A<<7%0#=aU?ptd=bLA|e4b1pdEz8kA2dQ&Mia#A!fF$Afv0tL^4~Yquc6J?~ zLNz0fJN@$G!#EQv%HNZ-4LZ0vZMSpYfoycyKLUBlq8OV^kh?R>lP#nXVLT3AgF+ojHaZu9Z71Cf5Qv0fg7!=2rYI&Cg;iH$0Z*; zb(&u;bE~(pE`&`$eQ&0&u5Nb_)_wTI+{T{pU@Bbq=fT;JRmJva^h zG_x#F5|kIaLVk@k+gPh3^xR3a4^&%2k+|hR7XY!5+pij$rGdW2j6b$X^AVFFaYjv0 zbS}IYIa@)TKe{cl@$vF=ea;O3K~Qdf3`!n$M8t8-0EsG#o%K`|T+nlVzcIRX1()gM zb$)`y3;24~vZNb2}bn0CJu-;9cu#EX!1SY_?>Dyb55zOKK zxPC}AN`ojkP<#VEbpZNsw^2Nuw{dIdtr+@Z0Eew_1KuN#MPQrKQMF!&Q9P_8gq$Hx zE}sFk7S)fhoH>0v8dcEZ>Z^w-%SuZ`CFTC2n9z_A^oX4z4y0uMMLe-T!SOOzs+kB` z`x~q5#uJ3W`TY+6IOF?WSXyifjk~3VPt{=NMw*{o*kMZGEh?6>U)xf$5D25(MN_p2 znabO!tf|?BzH(bMLdc8#*@`uHub7d8;EC+CsuGy%=!MPRjz7=c2LK;Qws`MwV+3cihcEvs>|l4;gO?Xdo!>>Erex)iD2lm_&sciE}|A@Q19E ziAh@f!?V8%gJRIi4gur8RCSmi!XTesX*3EC$=THDm5bKmeHNy*dqO*a*Za^CpB$HWV|P_3Gr;(+>*XPdf7~ z;`SZ)TTdq4&h#$$>>*V*N$#D5!{k>EA%lkpO2+KbR=E@l=;8d4+CjTY-TL%Ay5Z}z zFU{@u2g#ZK+SReU&*85+6=Tq>xvizHV%DemF<=Iff;r4djikdWX~{f1`@y!^ze-A0 zh6N0(`tX6KZ}E7Xn!#YOO_P<4gr1wRRjyAf3SfW#npkCpqo7iQGsekX-p#hTGc5g+ zmuW(5_Tu+1mMc;4>ri>HbFj;_Y1i>#l(d#$6a*jikR7{rnOeEXKGF;I^zzd2ZB1R% zVUEKx6)ZijD}?*8O#&HB3~07PT!CknVIUhvXJ~4BOhU$9u6R>uVcaHx#IjPGW9saC z+DFgzaVQJcSCuBAl$+r21#^}S0p)h|XbrnqJ7BGdtpzfZo;`W;9oqu+TESTRwdh-1 zd%t&$(d+-TwT+qUQ}pJIjdrCn$t4dStYFt; zFS^gSAs49$k)1ka3YzrPse6HQQYc{08@=`S>Zz*VjEX|m3C0%5{#qAsDRt_>Sw5Xb z4$eQfYz}4LY&;oXi;V;y5avb&-@FGSf)V4MFiGI<-@di|deVmvA5c_!{qCJ<@Z2ba z*bjqU%qjqeCP=MWj(TlTQ8@h~j)MxjY@EOMJZrVx`V8{y7n--Lv*7)BYwbRb(k83B z*0&|7UP#VNSWX*~yBrefx;q*d@D094fZj7?$XL4`S(i}Bhg~(Xaw&(wNRTosh1L-S z!rj)b8!z9ehDoYRm+srSS+#mER@%qMhZZ|5Y@l$l1BFMZDafk&VPV(9hg&yP#@au5 zs6XcE>MlRIN2jplr7x@}u)Q`g`^e4|f`Q)R;>K2-!c1_w!ovsGNM6N)K6&=+MDpaN zm=b`d+>7%@P02=e7;=-?W|jMYe=PI#yiPGD$H74K&YMaiAAR%*dZ=FZcir9L)q8DJ z!;BTpOr5{Fn>!R85F62#hCS;UTRqlvUKXpWUY3S=e>c;g|i+zz0To z`nC=)*DBUo)Py9;SzS3jrXm8tC}*-d2+tccR$-}s{QQX&8E>d6FE-Z>;|t&+9A4+-c-e>a z4?}*Pz5V>{-OqYmAz%8peM#vEH7GdqcaneC%`;*=cU)ZO=s0fTL_<6TkVj1Ng&@DJw$nB>HMQBjMjlJBP=b`9 zrri_?+z|ncJBQ~gq)k?f*NLC$te1`QlT|P83h)}!bL;4_Q%2vtg5#DTI&RXas6%Gi z)T;U(B#@A2;*R+Sq0t7FEQ~3NpU;hri`%o;+-oz1uq%_olTVHtGbS3ap@~&)c+#qj z#{~t(e8-_k1LEPHIGh*4ZjGXT$=Bn~p%>38X9O%u*g6G|+P`&YRx8Eh%P+=Su(K|W zWFPj(#H!i|>efiZ6I6Mc);2bvWMK$^jrIar01Zcv9ZOI(3rk6_t(L0-ayZN#TGE-kL4H2LyaeS#52-@JE~8@6mU)Yj-QmX?dd? zdc)Yt%xclI`Rr~;oj7__@a~)yCNrC~6b?Sbi~ITdV)Ns{P`!1_hJUXTTAXM( zGPN>$g3fQDHMpO;;n_$!`60%`$BcpId^nvbj+wCGMF0KM9db$XbF*tI-fFic`+gta zFUT^|c<^++-@y?kt7}4BmmWSeGtzew*(Ha#Nl9kfYx%HA5F6IC>)}`R=@aH$IM##|KwJ$plK*{*b5<^8*K=}p zTnt|pSA3h)J5Ac;9gmqCx0sHC*IS~QrK@?IpN}@+6UjwGa0flB%wK5jklpEm>49ht z63FnW?W**Vs_qCaEiJk&j{Lau=Rw6vP>m_YIF>8RN4{P=_`27pS0Q zkOALOfP$&;7SIb_fe>CLV{pYV||MJo&I&bq_bk`<-1;#yt2nLXkVVj zKH?B@_Uv3;U3k$s$h{%!aT#mP?Q3R;+W_?z_qA&c>M}rG$Glq;tCM_83f{fDM~&ow z{rmTy)CZ%7B#_ZYi0~V&R3OKi2Isa0?c3+^ zCM|Dpp;A;BavEdBT(heytyZptFXG+0^#^>vO`HCVkj);4YdQGvtIh82$AzX?*xRgs z@_W*y0zbbGY1QY)xG4ADGpz3KE>*Wac#G=ISC$_hXu`f71vxb>tsPwMa=yXExjH%k zH5|ydiLILnG#t1+tb%cH^>UPhjExU)#qsx_f+Y|yHT`};0gVRRANO_Z;D-4fyMC9i0?U&hUEjK0nlhlo8vwSadgEnwy%{@vFoGS}zm87I3F8;Ge zkE&3cG)b`3?)6YvNr^~i7kS<~wf zI(AOY+I)^HUI`9y!Lw(J@dyCrf`fw-kf8pf-WgswL(gMl#ii7)xmDSaxr1<#`bH#f0Z29@l znVe*t8w>y9e{HY5KI3)I^6P0^2bQ;131mjTu#29hU4*CyPm+>fPyjP+i*fGK8}5NGQ$slfm!i3=ei4{qe_a&)U;e^b`PZk_hy;;w)tvRxD1-ghjBtu&gpx3c<w< zq!9SLE9kcHX%Wf1WK>S^1HWgtY}qkke8v~XXO0`5AAXVl*(dP91K+AW3r9<8-|#72 zay3aFzhFb^mF$eUHWZ(5mPDRB`MSJZ-EQptXV1`2z2;YAcm6VuReUL-{hKZufYtp3wNw7w;I&AOW`R?u*qj8Iy{}Q0QF~A4tyb0UX6&`L{ z8Gm8)W9N?%D>ertB`(_Q5t!9vSCKa-0n2dyZ!CM{>|%iOCMF@=py5FCptIMzS1+Sr zgdh-ZguT9ZZ$ZUkv#P9$zDgXUOHAsy^&aPviID$8GDqhldT{vE@%}z^e~E4X)U>j~|xPh^Y4b&ZQ-* zwp+1`snF8GqQ0^~sz!1OkW3&IgCr!54BWkTe`x6H+uN_si#F9>j5CY<7RdMjcS(Ny z*aX(@dS+%t=H_V7y10GQVNuub^Z($D=7fNN9ATQkKlts=c6uV7PmssywRIQXJUaVJ za68ogPoHPHlhW@R#2(acT%B+=l)HaY;-iJ%w`nlb`9TZF?0L(?c-05!OhL)k85@tZ z#v2nM?5{Znaf9N)5IB2w6pm-b{osW@nv>wgkhdtEFsT{ra^%dJcPP{%u6lA@&kBqQ zPIXU);PLvW6j^VY>t1~!r*CPH}_wHBZ+a`OWn>#XPy5kQH!p zb~d##vQ#-i7~1s>hq!&4j^iQ%W`%9m)@aUxKms;5!a( zTjrL;d`S8@*m!V*;6p+H+aRYzsAq+AW6`2u;ob;@*JbKizxx?Y`NJfyB(wz#8NS2F z^zh-D)Rw+suUmjzn$`?{=B5@B$-GIwrB`0Dn5_{sOVC50_^l)_=64O#=3vHdQ4-zv zdrgh8nc4B=+zBwDXh}ido`<~dhWndwc0C4!9y(-~>aZJb8U=V$;e`nkE=R5^_eK9* zvwrGi-+Qc$2*dB*4cEG%Cr@8GU-xeI4p`#%TQ-|6`#6A|@T^NH8GyrHBe?_K5t!Yy zJ@b{O_z`0x!!42-uq+S(ii?-lNSc|iT^q~Yb3+ZNHtKO$kdx?hNwL0Wz&Dr%Kul=I zyQfGE{vb2*%1={kn>k57pKn&3&3KzVc#Umqa`f}Fx6Szms@iU8%!E$H^t3WGR2)qX zuln)B7jRS91K`yWQO&Z`-f%i~NoC{$0ttkVNh<+%mPMIi7Uq#i>>LavB(_jv9vCi!o`VA_o2E{wD8Ge?9m9 z^Tp1Q%ii*ne19!)s2m$*H^hG3_o1m@%T2d?>=ulDD|okjYSD8K-1}SwOpWn$aWUc> z*grips}55VB(VeocWYoa`fr3oh*0q`NX*C0nX?)X1KkJ5vPFVb*47V@mp*u46zm{C zXAq$hW`&t39jV?Nub3p6*4f-Qr?v!UZMdkb}=z^aXd?FWw*M*ktAAHJbIwrSFY2}V{9&~e3a zOMg;U=8L~7H`6_Q;N40LRD4oeYQ;A=_D__4@|3V8kz44sGQL)GV`93^@3*@s5USPO z^jPhxe2H&MT4+EZFrFE*6)cv`eF+?`zCg;Ox?y6F!4N4a&!+07>$I;7?Vkgt4* z=ZT-+WNK+?>Fu4#6~6$^U{XQ?p8oqv3;;&+PmN^OCG<8ukJdx{f9&N(FZ4+<)54iH zO=xawwc7TD+FGqmJovgLR9v%b){!e`6#4~id*-d%(09#5`8d1zI?udrb)Ow|2?+`2 zVg63Uly(T*THo9f%k4XTVXOtp@#~RT!8Zxi|0Y0MNl|eTU+nbSakro5=jWr_!_?}7 z7M_m=wT;~9?rjJ;43sEOkS*spY!D8^D4J3iq*<8id4kUmx;NFgv_ey__1tovu}#NM zPXsOknN_8hrx^^%s{u3G%-lR8xo8dq3R5s12CZN+l0n>l7f?g~PS1A3{S>+WQ2!Cb zha+JLPv$*zTE8AW0R%fBt4CdNyxs22PHt|yP_=*yGYxiGLvcRE9z0DUe#PDRwcYv+ z$I~-Z>w9+Q@59M9Z)QJ<7@m1zvwvl#Pb4=;2^BV>Gez46RxV*q|MH#Heq=^q=d>#GzMGae(7d=TG2Wgvcjy%%CV zFsB=T{W>WNvbDoCi zs@cW%>nZX)rJXnZGW8hw+==B6hM&JnnI~63A~h6o8SEqD+N-gW`_b ztXWokv5^sQqa`H>X2zo%4%YjOmgfa--|WiTTL0GiwVIlmHG{8WmVjmAasir)IGk*u zDnpU7VuhhV!hXvDYkubvk6q7gROKDr$NlbdeEznM02j}KP0V(=n1OJ-ZCe^Q=$xgJ zG^${2C7Ib74tK?BhGh*7GN5Tts3VO0G9-TFl*yCB!^45EUd?~{^f(gtL4ythj>ISh zd+lB*M{Yo)C=Cn2v{UZ>8`8sunJ}-_%1GB7eeW#UY#5{!{75pSEnvA4-#XHZbsl^Sh**8d33swiDIH1R_;1VtyQZl z{;uS5(BLj=0-hX{` zbv+OnEO=3BU|`_gyYp%!JJx%6j2=1iFX;^|TxgQ{LHWmzACL$2`jFd$aLr+Nz=1j) z8L4R3Lmik)xOtH>7TCYzFVI~T3R0wGh7G%ckceeA>hOpxGv(BGWAx=)`@MWLD_>ph zMCkVR!;#tEd2hE~;D*LF+GTlm4AS*%Sgj@>w`_4YrA$I$wFO zyY92os@uT_8XCSGJSJSV5L~9PeSSl5Ey;o+I2`frKtBnI9Z=oO-1P42hYt$nadj^@ zHUn@0_cCFAj2BqK0tqpIUqrndHA+q1QKhWBykh6~tKd?Mz~uVJPoCT|q!>14bGOg= zB!9!u_4_!x2DRU{*Gqj{8t+{VP?vW!iaYFg)2UF;Mr9Ka&Z}2+Gq3Mkw;3NixYEF2 zkHlzsZE-k%ygkj?Lq~*5nWFtSb$j~?63#?tB8sB|^?hS?bne8(8SusU7S`6UU%s4R zH#WDRpa#AY_gFCYp(Z3Kp-9@&(10Togj$#|Sg?P@y8nxgociUMAa$T--SWySKoKZ(Mhu+NpT-k~h54fv z3xGI&wb_1{aYVmb-@Gi*C5qDyjJ({~)byBnc&vpI4ex<~CK}vKGlwhU*rA9ASmpKW zlMiA!@YDcSx_46;W5$g4*!={RjN?mQM;r>+S~15Rc}HjCz;{F2&QB=Ra*Lnuba3GI z74hxBKCo_YUzL?Twb*6}9K96d$nMnnX;Si^m;dJNTVfT|W&L`N(g?YQu)E0DbGH9H z%@yZfzIpRzZ0tO~!NJVT7BDox;8up20surht}xuEpT}~bq}_cFq=j*o{MO(7BF#_s znv-ecmi?wU~*SGr^XYO}ZF|ion#V|4b?`hYsBS=qB z?SBvpg?cEFCos&)By;#!Ik_`fjyvf8#*hswl@kK3eNIsK0RUTGo^^bh7CU%HkDEY< z?MLkV;ImOt39Ao2fa9XT{_{G6may-2b%j(L!BTMQr6U9cFz}4)CEi^~_d1e%a#YZX z=CbC1A9ox)-+$>^8Qpe(8@A@8Y}F~Cw$gLpFV%Sla+{m-2_vl_kqE-sfSf)AaC_(nxp`A9O4hfX6%zCf~~X0S17 zwBbIX(+PBxgw_2|Mn+n}w^@W2MD?|>w7eJnnV!>Ms8&;b@97`8c&Q8dYrmGA+#Ge~ znQrv1kBjE(91>_b&NXn1`0+=vZa}uTt<8SS$+S)tOe~No?=*9MnxoB%g zoT#nMPfeYyqvPk`pwG`&5bxD%fuUhgV4(G?#^e%dj4iL=dm)~61hfx=fz#Tx0`J~8 zu3xAAS(IK7&8|i@!L$EC;5W!kkwH4{DZH<8LS_7TRxaV>zBpB8Dvd|i4F_TU-j&aHz+k^mqy+BiaUvVEju<-HfH>V2vWB_=*Drs``){u zyvYvP_I)>h_p<1UE6=o7b3b21fFsaaHC^?u(Uzx~ItGrjU4Q7gsbp()LwKAX5D!3` zJ9q1pqmeT$r6mm!0OAKh2atXwq*O9IKH4VL;Vxds8KX_tJ?vjIZ2S?NR0{`{=(P{0 zq1hL)1xn~EwHMf9VF8{@gk{B@0F)rm+W81&AhgMZ4pT<}BTzpIF94`Co`Ijfd!uR}nd}pBt@!TUWNnmb_ded0E>_@8X{?L58w{vCnLc#51^e;{c&v3c*Mzw&QMKSq;ldi^t*I)%8xJk($d%% z5*Bt2=a&NB;(kbcwfz33vmA)${P8TkqyG1^ezL}jE>HT;Dcx}`VCZnKn<_tB@SYb& zev8mJEtw*IrYgB@d`i(FNmVyQQx6*oeP)^_s4u!We>{q92~v}_W}3gp|L8@g`3x=E z%t#8OQLa8RaLPkPmm#l1^VHCx-V99Q+)$+ z(|RWFKJxWz+2|^*og+gxj`mk$_kRccKKL91`t}VUIK>>X+*tNQZ-OU)7f4F-ZEwBC zE#_fFF~RblevB21!u|9*}3qgEKF$P*`wt@Otb#SH%ih$NC9W$6%9`<|bgb`kz! z{P^<}${2me%VE$;bUKRvaaD0Sygt>i)i_X!%z2W&g1*A$PVbk`mdw=fEw`a-x zGJe()m1O~Q1QnCyo292!ZK}7+dNF>&!#B=Hf+n^!`7T`|@K*h_P z;NjCeJv~7X0$TzlEreSj>;kMrg#%+JYtl)2LPlD8I*R<*82qh)!(N?2_=iJvBip_pcjT`~nZ z+{b12?g7_y`;Z2I?Dpg{B_7|lX&5a!rTnu@ETZ=yJ)9;l8E!#9{6JT+*hDc!$ zD+@v#Vit&Md_ZLwLD(MH;3~H)5X#YL>&;4Xz>1)M3e^~sQoovCdDjmgJ`C+wJR{UL z4PwK?rfMPff`G`0WZoK66O+@pB2)$3pADCdpLb|Z!8**FH_yu}gImninmt?1CT+s( z*{>fx0u^NLeAGW#NsN3sr@Z z%XeUW@@9{JX_3eUskr5NzQ{9=erl*xI>jI1*w=ii&uDH+c;4pC%(57cm`g1I_G}~S z12-rux3#of=y(%cyIQ>8#*JW8ftv~wfv5yDKU@fDQ7Qr;04_iNw@j%3HO-(r!3DsD zg+f4&3txfj#tlAI`Fz49>Ugu%c+00#FU~nS3R0{j1Re0_Z~?tUo&xAHSXqw-V-pW! zmqHEs7AzS0`7{05v)h$hg&-PaNvH$Zgxdy7OH=Vv=uEk%QN4EAACh3QZ1`S{Z04c~ z52X($npy@epCoxOq8wujZC|80Jxo>hwE)lW)zr$9DJpR1zMr4I~a7FQpvE&YMUK0CkO19b6v=a6uv* zjc`vG4Ht@th)h&@qN5e|wa&&R?B8jBTq(Nv{siag)2F{+w`68&y6oXoXn+^DP)zBJ zRoR1*Ak$N)7737-h)5G83Mx9zP6GpZ`9wjv${!;m{QUeQLqkKqeoa17<{sp=&Xgw; zt#}uf-6)ChB{6~!i6E2 zUS5JFSMeWO^%@d;xq9H#F4fPUPW69UEjkB0zx4Y)Vxw8QWY$K-6QrAy1@6C5_5(Xs zE9G@P@$usq7bZY^B4*Au0;JAubqZ_-$5J2}w!E zk{Xt0--1;^#ur->R;9QQ+o<;SC2*6s@7hIW@L20+4x$n{cc0o)Xl6)G&C7v@V}Qr; z$|`NBQ9<+63rK^kkmBt!!NfyUNr3jI8hq>4*{`n`Ez4LQt0O_~;1+hfKKfasg&vw1 zpc@(L>~$p?y2uLT2+s;8`Ql8jI8?=8J%dZsOX#zFWZ5 z9Hl47UwnPFX@RRPd^G~yCqh!z*W+qj#B%&yE+wNa&k>Rn=za5xh%#wYyk6ohVYR&( z^XYq0w}26z^^J`ZqH~Jx-oCAUlHk^GyCG9Scy{E{&X7wi{YcA7?@6rHQo zz=^=y3Pm6#f>;E%{+nnqiy(9|i}MHyalUbTh9pBv&}o@MA&*gQsH=TL9p58CbZqqN z^u*dJTheUEsG;%Yg814w2Ehn*NX#kb-1k<+h@4aR|KQ;P=1ZOGGXpeKB>;+81nOEcFdnYAGj1U(+(gq96oXcYtHCFz=6@5 zl*xNUH5`mu+TK&s=cp`Xy8jQ=I)l4L!6RTA5;Dp|S``Bfpp0rhv{HC3U(h-pUY|K4 zb<%Kp-Ne9Gb2BrN+d>PWI?s7M&j^lJD45~_D|a!zcfS6NceS<#SpzW10s|Ly3$TPR z!~0|&69I0i^y<~#RjI5ck987JN2X5gtBe^<>Z%DYw3GO@p<6~M^Mpl{!~mJIWHEIx zN)nocCCA4Cd9+0lg+Acf)iNGns>7w$N@}QG?d7b<9E?g$)%bsJD*5y4?z!QawM$t) zu`4=GPJgGCa|d!Pk>IJ1jlIBHJci<-!4xYxuR8SK05N6epi0i1>W8ojsM4i2M;%4B zs7`&E+L#=`R!doam!Bgdrf)#nC#RQOd-`RBjvrO#9>d_B3vgWt!l*#VU8vHJAE1P& zNTTKl9`F{@0ackxA!-Ki$GRHZt32?p3WxQL?T$`rl93iY0|+{^_np*^YF4a!frlLk zW&GZoa?W-9QSK%biRcpq1xyJ$=!5m6Rnw@jY|9d(-wuvt7Wmw{1l{6YogO3ug|-&{ zY6<6ZrbA>}BoWK0(jP+g(RfT=R(6f(9Lrij(qy)fxS1s<<(M9j)yUiS;RMiCh5h?` z>VMc76y!5pg>SNDWP05&*-f(xwoCIw1-|cQx#s&A^n&Y)iEl+L57= zBau`Uz#q|;Q{1rX@T(V-pc&x=Cd*MEqqO5bAeMIPR&wI$z!PuI2q;M}viQl7(aJ!9 z;3Sczqc1A?-4P{{lCKiBbvO3fQup3{>rdoeIz!n`32kHY(dX;tg+#kvu$%O` za(m)b={au(rk|~5KO>)}Zj5jnh%kb)SXJ6V=o19R#$kX9oY}HXn>W8LFQ?qbs2SK? zIKN_jccG{8U-jUV9jn)KkpBLK_+(r}(gI{1s*fV{!wgJMcg!(Mjyxp*TE#IfEo3|L z9^=KyNS^qUMvC7mP^W!Avj2LSNNlc4`6*g!ZSa9v?#>ci66Viz=y`92Dr=6 zc>|bZXSCjmja`Qu_rPgD)(F106zJ9^AoCFEH_FcRQVQt$d3plt|1(aK{uby&ohQ2# zaS1UchQ?eLe8>r_LvUIIR3yQ?Mz!zl;9$@~iCoru0)*k@gjmvES5+0djm{)mjc0Op z^Bc5Ar`ie{+mKY9)4qL&{McZ9mfLb3Xfxr$Ee5;!_HC36z-hD8_Vi>UMkbgKsLhFs6`cWN1 z6S|F)7`YE~!_QEG;cxFozye%GEMM|!X_PXEs{rMFEP`7pWeeM6bFsVqMB6QzFhYq1!9lS1a zNY@w>e9-EgAegDrY|F~ZvOT8cn~te<13Y97t!E5AK$w;Bs297OhDXCz74)G&#+Q``V!fje{lP5-BOY1BGGV&-634@woqK(5V zCES^Qaprw3qoxl2aBIpHSqWiy@j1VXyTCMyjg0w0{L&!2IqWU0VUh0=&e-_)PDC+8 z;J@1ICgg9F!@$gPHTiksW&rd5Z%vs;9qYg9RSr1SN@qDYbl~o*_?#Q!r_D9>jZ?{8 zAGH;j5n(PswZ?Ip2GT4#cn~hfYA+349UY?=XT3LAcL4!@g-ko#adKDDUeD~kwCI8H zuaHS{1&9^i!hMOFQ^Nz5_cxP=gi7&BWe;N3DN!aP@JR#?FlbegI~^WoW$EY47eMn$ zRN$WQV5@RLNACrf1QgAMUdZ?s45jwmLKlaykbDIFMm&koU zi-m-Rvysw;2_@_&VjH5ll7&S)w(C3e6-VSja(xMht`89YUpADb_tyomQbNHYf;t`Za*535-FZ&Tj%kgf|OS$8&LU zQ>TWISK##XucOWxx~=#4y-h^=?C4Xx_;Fp}-Mh{pvXM5F1+s4+dUj*Wq$MQ<@pJsz z4>d;#8s>T6m2}`5pou2o3CFu{aWc>LV>)6(AHZH!Pqt(;T7w4b+{ttQkAmDjJ zm}6J)>=`(|#14#$jSW+};7TMc=2uGt)`{1QOhs7zEJkv)}F~YB0ta7>~U@&xs>WguCC*d16u3j zv-ctdL!5`Pv~%AvS&ksC^&?i02tFh~?`k5zivJK<+?e)@s*7Q<9v|R3*4lLR{#ezY z?d`Qvx8&+uLdHejkxu*xa3zRApRmUM;PYm&#+-oSU_im@)q7I(4rkG>eg^xL;B0kw zgYftn#evEgPDzAF#&^L?!;P36)psZgfQVT zk=~|II=E@*Kk$U8YnUgaSNOc-KQ4d_lnS-LpQ;(^hfGXbK?>QWv;v>P5~I!?p~Ppo zg?aE2d|VA9#1_Qn&R{J${os55fm?NSen4TJ3KT>smcWyaU%@l`cW=TP%U!i zU$sSlx#_8ig)0YzbyQ5@-h!)tzV8FV;B_r?^0)2W2}e8yAT{NCy59IRicr@}a(+V+H` z9i8dy%x7zc+r&#<0^X_l-{9}?9B=zR)ucqK4r@DxID`YdM1NOQoa5V1f~|rvuczSJ z_FAY|fC8^P_URG`en~nKAfq-ShKD1ICN8hXh4Cy_>{+6(9*uscv>|4p=7so_FD9=F zA`N#l)jH`0oV$BhMoin8es&@kl*I(K2FXh7E~PbViU=^D%QZGBNfJE4Cr`AXM@K<+ zk&=`oinDk9(Z~RPgvikX5hUdk@-Czd<~#!s1N(Cco(m>34hb)ffmgp$Oswtw zd&(5ER#A%NuV?RA*3ZtDKh2i@mO3H5?2p#1vg<>v}FGiJ{=+dwFfeObR7f6toM| zPcZiXQN(3j@hWP z{M#_emWzV5Z6?EAJ#BgxVbqbOz85J+Tu7axbPre=gP(z>qCLc(*# zXYTF_V!H{okvTH6<@6)ZCnSu0yWPSTTJclrN^mBFzaY^1McR+niGb9p{tq%))5O~_ zkfvTMDQN>I25c(FvuAHrdSjA8LrbA&AyO>z^H}Nb9!q|~<3T-7tYH)f65AMFgvwHC zb^I|z5Vv8igRM@l@+jOfVT7%aTj6`V^5y#@{sD5!OsWbe^%ZYifjIE-*TD(_RE|k+ z$MapC_U*fjh>fu*gQyyilEU!GeRv`dd>(Xzsz;{+@CY!WBGyr6Ke_-xv*5)6Pb6i175lCob__x@F6xRyhm!2=p1zB!vaYNKo<(I<|y8>ao`L^m8Q^w*$aF3?lmxIgqsTDB*w%pzRz+QZUUe0(Iqu3w{IjCjPrV0okhv5}$_sSmBwbzx6kJ)mFwe5yaWt61;d zO?+tV)Io!n@yd3aj!+wQ&>eCG*hfsDK(;x) zpp2oR**M%V-UUux_ZoLA%xjU9>;b_p|}H4GeGM@ zS+wd@gvL1jAcWKt>E;M}6{P$`L`6{w4qQ(ZoNqhg%juJE;|P;V>*BE}EIDP!ZUhK@ zWxd?OhP>&K#Ku0y^;y%ST`E2d9^Tt-gVtODbihx7IU+o{*4c-D+?%{Nkgn5+NGqo} zh{k&b%m5vodU*9n!^9a5UO{pOsJ+iZF{Iq!rBwd~=L@BqXsYq?!{CqyhjnHS!p<2I zH7Sh*${qhC*?dXg$9C$eewVnTMn%o#>kdwa9hVY+wQCM|u4W3es1o7`{AsiN`w zBni-Y{AnCJiar_g7OZ!Y4=rOfhdPVG5>rx2~ zr^leOzj~p|NX5y85zLsl664}+5}k5?vZw2seZI#DD)AFLfms09@GMa=av%WZf?O@< zyv))+LUtzT?i;9vM{U0cjK&0QGFAp;jbCB^Jeu}iOwpAA`$SOnlNzENi3h$W$_ocG zOHWRfB#0G=guCa*WlDA3%{S{EYOZZ)tD5SNi|cc(hJj-F)ipJ_!91YB5O%Uqwws4< z3B0~9fEl33q70tu`qNK8pv*usQmF+H6Qg{(=J;=ScnM~*!VDf7?QE2=7reTHm#kN# znkFt5znV4oDjv9KXJwsf{g3T*jE^U~|4X5VAo05bv6kCi5jQ~D!9$2L90@oS_lz2W zgW)^662Vc9UWze**l?1kJc05;l0=(& zV%0_#OGcuR^*1wu`^S_w?QFa6+OA)0;Zffz%%8KK9{gpbv^KM0w`aseuiNgDep1Ze z0OS0ns3;on@7h4MYAH9>6g_}3L|y{%n{23h^)6NcvW@a!T7hZgHqKs1K1AGte8@7z znzCd1t%@UWniLO|Ub1tE?ip?zX>@n}9Q4&fEV-FkXi&*zj3cXWJ#vzm$}R8us|!t( zQ7ou*;x^6ylb2bGz%uNav? zRc%ygwjV@U5cKq?{f%&T_owS}{CtttR#trSoi3X?<>c;P zNJ;|wHh}{NLxp}N)w^I}+I%^1deYDT63b=u1xNCQ=bST}41RtyHOkR>PrhE0tHJ}5 zv7IiRmx4vUzfbIl^22VPN&rd#I?E8#9W3IsH0iD|!DxdNgnx>V2x1JJ`7x|~CZ&~6o{L7?c^rrsI)EXC7gJ*i&+$jeOVQ>lqn+zu)&_l^`@JDKuj@mklNM4=ti4 zqEHnta{uGg!}kB0ObwI5t2yn1s9U=*9Ns4j8KNs!%Dcp|Ka>23f{eEPJ6C|ue68d( zaz!YmqtcO|&+hz?&}E%@zpC@+Z}%+>0y(l*_Zlb-IFWge5%V4a|2t-i}59n07BLE`?QINlE& z+bBMViilD=136Z3cX1&xyDhRT)4&!D&Vk!#Cu~;|fwW~q-vX9HET9zG z)>4i`*V3F5QJNVv9L{GF5~S?7HXJBswy zM{eqr@VI_Ed(BE "Audio Device" - your headset should appear in the list of devices. Select "Bluetooth Device" or your paired device from the list and let EmulationStation restart. All audio should now go through your bluetooth device. - -## Known Working Devices -Since bluetooth is infamously unreliable I'm putting together a few test results with various headphones. This list is very outdated at this point so please feel free to submit your own results - it would greatly help to identify issues and fix them. - -| JELOS Device | JELOS Version | Bluetooth Device | Codec(s) | Test Results | -|:-------------:|:-------------:|:----------------:|:-----:|:-------| -| RG353V,
RG351V (+dongle) | 20221114 | Jaybird X3 | AAC | Connects but does not play any audio.
Worked with previous JELOS version. | -| RG353V | 20221114 | Sennheiser PXC 550-II | AAC, aptX | No issues, connects and works fine. | -| RG353V,
RG351V (+dongle) | 20221114 | Sennheiser Momentum TW3 | aptX | No issues, connects and works fine.
Required bluez update to v5.66 to prevent occasional crashes. -| RG353V,
RG351V (+dongle) | 20221114 | Sony WH-1000XM3 | LDAC | **Very** minor audio stutters with "mobile" (330kbps) and "standard" (660kbps) quality profiles. Best results achieved with "standard" and adaptive bit rate.
"High" (990kbps) quality profile has significant impact on emulator performance and is not recommended.
No connectivity issues. | - -## How to change codec settings -If you run into issues playing audio from your headset you can try playing with the codec configuration options for BlueALSA. A list of command line parameters can be found here: https://github.com/Arkq/bluez-alsa/blob/master/doc/bluealsa.8.rst. On the device they are read from `/storage/.cache/services/bluealsa.conf` (restart required after change). - -## Known Issues - -* Disconnects are not handled gracefully by JELOS at this point. If you disconnect your headset without first switching back to the default audio device, you won't get any audio until you reboot. -* Does not work with the PCSX ReARMed32 Retroarch core for unknown reasons (no sound will play from this core).
**Workaround**: Use a different PSX core (e.g. PCSX ReARMed, SwanStation) when you want to play with a bluetooth headset. diff --git a/documentation/SETUP_CLOUD_DRIVES.md b/documentation/SETUP_CLOUD_DRIVES.md deleted file mode 100644 index d87b124f4..000000000 --- a/documentation/SETUP_CLOUD_DRIVES.md +++ /dev/null @@ -1 +0,0 @@ -Moved to [https://rocknix.org/configure/cloud-sync/](https://rocknix.org/configure/cloud-sync/) \ No newline at end of file diff --git a/documentation/SETUP_GAME_ENGINES_AND_LAUNCH_FILES.md b/documentation/SETUP_GAME_ENGINES_AND_LAUNCH_FILES.md deleted file mode 100644 index 467b8571b..000000000 --- a/documentation/SETUP_GAME_ENGINES_AND_LAUNCH_FILES.md +++ /dev/null @@ -1,91 +0,0 @@ -        [![Latest Version](https://img.shields.io/github/release/JustEnoughLinuxOS/distribution.svg?color=5998FF&label=latest%20version&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/releases/latest) [![Activity](https://img.shields.io/github/commit-activity/m/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/commits) [![Pull Requests](https://img.shields.io/github/issues-pr-closed/JustEnoughLinuxOS/distribution?color=5998FF&style=flat-square)](https://github.com/JustEnoughLinuxOS/distribution/pulls) [![Discord Server](https://img.shields.io/discord/948029830325235753?color=5998FF&label=chat&style=flat-square)](https://discord.gg/seTxckZjJy) -# - -# Game Engine Launch Files -Game engines such as Build Engine, GZDoom, LZDoom, ScummVM and ECWolf use launch files for launching the game with the specified files and mods. Most are configurable to enable different configurations of game files and mods per game. -> Note: the extensions for game engine launch files are case-sensitive, so make sure the launch extensions `.build`, `.doom`, `.scummvm` and `.ecwolf` are lower case, and make sure any references to game files match the case of the game files exactly (e.g. if the game file is `DOOM.WAD` then trying to launch it as `doom.wad` won't work). - -## .build files -These files must be created for each build engine game that will be launched with raze. The file contains a `PATH` variable and an optional `GRP` variable. The `PATH` variable points to the subfolder containing the game's **GRP** file. The optional `GRP` variable is used to identify the specific **GRP** file to load for games with multiple **GRP** files. - -Example: `/storage/roms/build/shadow warrior.build` contains -``` -PATH=sw -GRP=SW.GRP --- end -- -``` -where the Shadow Warrior games files are stored in subfolder `sw`, i.e. `/storage/roms/build/sw/` -> Note: don't leave any space between `GRP` or `PATH` and `=` and enclose filenames containing spaces with "quotes" - -> Note: add `-- end --` to the end of the file if it contains multiple lines - -## .doom files -These files must be created for each **WAD** that you want to load with gzdoom or lzdoom. The file contains `IWAD` variables and optional `MOD` variables. Multiple `IWAD` and `MOD` variables can be used in the same file to load multiple wads, mods and packages. Therefore, multiple **.doom** files can be created for the same **WAD** for each configuration of the game. It is recommended to store **WAD** files in a **iwads** subfolder and `MODs` in a **mods** subfolder and include the full path to each file in the **.doom** file. - -Example: `/storage/roms/doom/doom.doom` contains -``` -IWAD=/storage/roms/doom/iwads/doom.wad -``` -to load vanilla doom -> Note: don't leave any space between `GRP` or `PATH` and `=` and enclose filenames containing spaces with "quotes" - -Example: `/storage/roms/doom/heretic-mod.doom` contains -``` -IWAD=/storage/roms/doom/iwads/heretic.wad -IWAD=/storage/roms/doom/iwads/IWMPP_Heretic.wad -MOD=/storage/roms/doom/mods/precise-crosshair-v1.4.1.pk3 -MOD=/storage/roms/doom/mods/target-spy-v2.0.1.pk3 --- end -- -``` -to load Heretic with additional patches and mods. -> Note: add `-- end --` to the end of the file when it contains multiple lines - -## .scummvm or .svm files -These files are created by `_Scan ScummVM Games.sh` script in `/storage/.config/scummvm` folder (which is also displayed in EmuStation). The script scans for game folders and generates the relevant `.scummvm` files to launch those games. The files are stored in `/storage/.config/scummvm/games`. - -`.scummvm` files are named using the common name of the game and the Game Short Name in brackets (e.g. `Beneath a Steel Sky (sky).scummvm`). - -`.scummvm` files contain a single line in the form: -* `--path=` variable and the path to the folder containing the game, *followed by* -* Game Short Name - -Example: `/storage/.config/scummvm/games/Beneath a Steel Sky (sky).scummvm` contains -``` ---path="/storage/roms/scummvm/Beneath a Steel Sky (CD VGA)" sky -``` -> Note: enclose filenames containing spaces with "quotes" - -> Note: `.scummvm` and `.svm` files are identical and interchangeable - -> Note: the `.scummvm` files are **NOT** stored in `/storage/roms/scummvm` and any `.scummvm` files stored there will not be displayed by EmuStation. EmuStation only displays `.scummvm` files that are in `/storage/.config/scummvm/games`. - -> Note: to display metadata and media within EmuStation, put `gamelist.xml` in `/storage/.config/scummvm/games` and media into relevant subfolders (e.g. `/storage/.config/scummvm/games/media` folder with `boxart`, `images` and `videos` subfolders) - -## .ecwolf files -These files must be created for each Wolfenstein 3D compatible game. The file contains `PATH` variable that points to the subfolder containing the game's game files, `DATA` variable with the extension of the game files and `PK3` variables for each separate package file to load. `PK3` variables must be sequentially numbered with **_1**, **_2** etc. - -Example: `/storage/roms/ecwolf/wolfenstein3d.ecwolf` contains -``` -PATH=Wolfenstein 3D -DATA=WL6 -PK3_1=/storage/roms/ecwolf/ecwolf.pk3 --- end -- -``` -where the Wolfenstein 3D game files have extension **.WL6** -> Note: the data value must match the file extension of the game exactly and is case sensitive so `WL6` is not the same as `wl6` - -> Note: don't leave any space between `GRP` or `PATH` and `=` and enclose filenames containing spaces with "quotes" - -> Note: add `-- end --` to the end of the file - -Example: `/storage/roms/ecwolf/spear of destiny.ecwolf` contains -``` -PATH=SOD -DATA=SOD -PK3_1=/storage/roms/ecwolf/SOD/ecwolf.pk3 --- end -- -``` -where the Spear of Destiny game files have extension **.SOD** -> Note: add `-- end --` to the end of the file - - diff --git a/documentation/SETUP_MOONLIGHT_STREAMING.md b/documentation/SETUP_MOONLIGHT_STREAMING.md deleted file mode 100644 index cd5c60513..000000000 --- a/documentation/SETUP_MOONLIGHT_STREAMING.md +++ /dev/null @@ -1 +0,0 @@ -Moved to [https://rocknix.org/systems/moonlight/](https://rocknix.org/systems/moonlight/) \ No newline at end of file diff --git a/documentation/SETUP_P2P_ZEROTIER.md b/documentation/SETUP_P2P_ZEROTIER.md deleted file mode 100644 index 37f2389fa..000000000 --- a/documentation/SETUP_P2P_ZEROTIER.md +++ /dev/null @@ -1 +0,0 @@ -Moved to [https://rocknix.org/configure/vpn/#zerotier](https://rocknix.org/configure/vpn/#zerotier) \ No newline at end of file diff --git a/documentation/SETUP_SYNCTHING.md b/documentation/SETUP_SYNCTHING.md deleted file mode 100644 index d87b124f4..000000000 --- a/documentation/SETUP_SYNCTHING.md +++ /dev/null @@ -1 +0,0 @@ -Moved to [https://rocknix.org/configure/cloud-sync/](https://rocknix.org/configure/cloud-sync/) \ No newline at end of file diff --git a/documentation/SETUP_VPN_TAILSCALE.md b/documentation/SETUP_VPN_TAILSCALE.md deleted file mode 100644 index 60b5157b5..000000000 --- a/documentation/SETUP_VPN_TAILSCALE.md +++ /dev/null @@ -1 +0,0 @@ -Moved to [https://rocknix.org/configure/vpn/#tailscale](https://rocknix.org/configure/vpn/#tailscale) \ No newline at end of file diff --git a/documentation/SETUP_VPN_WIREGUARD.md b/documentation/SETUP_VPN_WIREGUARD.md deleted file mode 100644 index bb593a58f..000000000 --- a/documentation/SETUP_VPN_WIREGUARD.md +++ /dev/null @@ -1 +0,0 @@ -Moved to [https://rocknix.org/configure/vpn/#wireguard](https://rocknix.org/configure/vpn/#wireguard) \ No newline at end of file diff --git a/packages/emulators/tools/control-gen/Makefile b/packages/apps/control-gen/Makefile similarity index 100% rename from packages/emulators/tools/control-gen/Makefile rename to packages/apps/control-gen/Makefile diff --git a/packages/emulators/tools/control-gen/control-gen.cpp b/packages/apps/control-gen/control-gen.cpp similarity index 100% rename from packages/emulators/tools/control-gen/control-gen.cpp rename to packages/apps/control-gen/control-gen.cpp diff --git a/packages/emulators/tools/control-gen/package.mk b/packages/apps/control-gen/package.mk similarity index 100% rename from packages/emulators/tools/control-gen/package.mk rename to packages/apps/control-gen/package.mk diff --git a/packages/emulators/tools/control-gen/scripts/control-gen_init.sh b/packages/apps/control-gen/scripts/control-gen_init.sh similarity index 100% rename from packages/emulators/tools/control-gen/scripts/control-gen_init.sh rename to packages/apps/control-gen/scripts/control-gen_init.sh diff --git a/packages/emulators/tools/gamecontrollerdb/config/gamecontrollerdb.txt b/packages/apps/gamecontrollerdb/config/gamecontrollerdb.txt similarity index 100% rename from packages/emulators/tools/gamecontrollerdb/config/gamecontrollerdb.txt rename to packages/apps/gamecontrollerdb/config/gamecontrollerdb.txt diff --git a/packages/emulators/tools/gamecontrollerdb/package.mk b/packages/apps/gamecontrollerdb/package.mk similarity index 100% rename from packages/emulators/tools/gamecontrollerdb/package.mk rename to packages/apps/gamecontrollerdb/package.mk diff --git a/packages/emulators/tools/jstest-sdl/package.mk b/packages/apps/jstest-sdl/package.mk similarity index 100% rename from packages/emulators/tools/jstest-sdl/package.mk rename to packages/apps/jstest-sdl/package.mk diff --git a/packages/emulators/tools/libgo2/package.mk b/packages/apps/libgo2/package.mk similarity index 100% rename from packages/emulators/tools/libgo2/package.mk rename to packages/apps/libgo2/package.mk diff --git a/packages/emulators/tools/libgo2/patches/001-libevdev.patch b/packages/apps/libgo2/patches/001-libevdev.patch similarity index 100% rename from packages/emulators/tools/libgo2/patches/001-libevdev.patch rename to packages/apps/libgo2/patches/001-libevdev.patch diff --git a/packages/apps/moonlight/package.mk b/packages/apps/moonlight/package.mk index 70b397bd3..90366dc5e 100644 --- a/packages/apps/moonlight/package.mk +++ b/packages/apps/moonlight/package.mk @@ -10,7 +10,7 @@ PKG_SHORTDESC="Moonlight is an open source implementation of NVIDIA's GameStream GET_HANDLER_SUPPORT="git" PKG_PATCH_DIRS+="${DEVICE}" -if [ "${TARGET_ARCH}" = "x86_64" ] +if [ "${TARGET_ARCH}" = "x86_64" ] then PKG_SITE+="qt" PKG_URL="${PKG_SITE}.git" @@ -44,7 +44,7 @@ fi if [ "${PROJECT}" = "Rockchip" ] then - PKG_DEPENDS_TARGET+=" librga rkmpp" + PKG_DEPENDS_TARGET+=" rkmpp" fi if [ ! "${OPENGL}" = "no" ]; then diff --git a/packages/apps/portmaster/package.mk b/packages/apps/portmaster/package.mk index 9ccd1d6f8..65ba1d8c1 100644 --- a/packages/apps/portmaster/package.mk +++ b/packages/apps/portmaster/package.mk @@ -8,7 +8,7 @@ PKG_URL="${PKG_SITE}/releases/download/${PKG_VERSION}/PortMaster.zip" COMPAT_URL="https://github.com/brooksytech/JelosAddOns/raw/main/compat.zip" PKG_LICENSE="MIT" PKG_ARCH="arm aarch64" -PKG_DEPENDS_TARGET="toolchain gptokeyb gamecontrollerdb wget oga_controls control-gen" +PKG_DEPENDS_TARGET="toolchain rocknix-hotkey gamecontrollerdb wget oga_controls control-gen" PKG_TOOLCHAIN="manual" PKG_LONGDESC="Portmaster - a simple tool that allows you to download various game ports" diff --git a/packages/emulators/tools/gptokeyb/Makefile b/packages/apps/rocknix-hotkey/Makefile similarity index 100% rename from packages/emulators/tools/gptokeyb/Makefile rename to packages/apps/rocknix-hotkey/Makefile diff --git a/packages/emulators/tools/gptokeyb/package.mk b/packages/apps/rocknix-hotkey/package.mk similarity index 83% rename from packages/emulators/tools/gptokeyb/package.mk rename to packages/apps/rocknix-hotkey/package.mk index f349141fe..529e5feb3 100644 --- a/packages/emulators/tools/gptokeyb/package.mk +++ b/packages/apps/rocknix-hotkey/package.mk @@ -1,11 +1,11 @@ # SPDX-License-Identifier: GPL-2.0-or-later # Copyright (C) 2021-present Shanti Gilbert (https://github.com/shantigilbert) -PKG_NAME="gptokeyb" -PKG_VERSION="0303b36b5376a9b25cf82a53ed4242509daf14e9" +PKG_NAME="rocknix-hotkey" +PKG_VERSION="14255daccc61dd8f366b3c88292d54cfef1c087a" PKG_ARCH="any" PKG_LICENSE="GPLv3" -PKG_SITE="https://github.com/EmuELEC/gptokeyb" +PKG_SITE="https://github.com/ROCKNIX/rocknix-hotkey" PKG_URL="${PKG_SITE}.git" PKG_DEPENDS_TARGET="toolchain libevdev SDL2 control-gen" PKG_TOOLCHAIN="make" diff --git a/packages/emulators/tools/sdljoytest/package.mk b/packages/apps/sdljoytest/package.mk similarity index 100% rename from packages/emulators/tools/sdljoytest/package.mk rename to packages/apps/sdljoytest/package.mk diff --git a/packages/devel/librga/package.mk b/packages/devel/librga/package.mk deleted file mode 100644 index c20d432e9..000000000 --- a/packages/devel/librga/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert) - -PKG_NAME="librga" -PKG_VERSION="df26244eb0c3991df319d4276ab80e8c0bf91f64" -PKG_ARCH="arm aarch64" -PKG_LICENSE="GNU" -PKG_DEPENDS_TARGET="toolchain libdrm" -PKG_SITE="https://github.com/ROCKNIX/linux-rga" -PKG_URL="${PKG_SITE}.git" -PKG_LONGDESC="The RGA driver userspace " -PKG_TOOLCHAIN="auto" diff --git a/packages/devel/librga/patches/01-string_not_arr.patch b/packages/devel/librga/patches/01-string_not_arr.patch deleted file mode 100644 index 7ce0b0682..000000000 --- a/packages/devel/librga/patches/01-string_not_arr.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rupN librga.orig/meson.build librga/meson.build ---- librga.orig/meson.build 2022-07-08 18:24:31.727555866 -0400 -+++ librga/meson.build 2022-07-08 18:24:47.499517461 -0400 -@@ -28,7 +28,7 @@ libthreads_dep = dependency('threads') - - gen_version = vcs_tag( - command : ['./genversion.sh', 'meson'], -- replace_string : ['$GIT_BUILD_VERSION'], -+ replace_string : '$GIT_BUILD_VERSION', - input : 'version.h.template', output : 'version.h', - ) - add_project_arguments('-DLINUX=1', language : 'cpp') diff --git a/packages/emulators/tools/xa/package.mk b/packages/devel/xa/package.mk similarity index 100% rename from packages/emulators/tools/xa/package.mk rename to packages/devel/xa/package.mk diff --git a/packages/emulators/standalone/retroarch/autostart/003-logging b/packages/emulators/libretro/retroarch/autostart/003-logging similarity index 100% rename from packages/emulators/standalone/retroarch/autostart/003-logging rename to packages/emulators/libretro/retroarch/autostart/003-logging diff --git a/packages/emulators/standalone/retroarch/modprobe.d/usbhid.conf b/packages/emulators/libretro/retroarch/modprobe.d/usbhid.conf similarity index 100% rename from packages/emulators/standalone/retroarch/modprobe.d/usbhid.conf rename to packages/emulators/libretro/retroarch/modprobe.d/usbhid.conf diff --git a/packages/emulators/standalone/retroarch/package.mk b/packages/emulators/libretro/retroarch/package.mk similarity index 100% rename from packages/emulators/standalone/retroarch/package.mk rename to packages/emulators/libretro/retroarch/package.mk diff --git a/packages/emulators/standalone/retroarch/patches/0001-Increase-glui-size.patch b/packages/emulators/libretro/retroarch/patches/0001-Increase-glui-size.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/0001-Increase-glui-size.patch rename to packages/emulators/libretro/retroarch/patches/0001-Increase-glui-size.patch diff --git a/packages/emulators/standalone/retroarch/patches/0001-Increase-ozone-size.patch b/packages/emulators/libretro/retroarch/patches/0001-Increase-ozone-size.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/0001-Increase-ozone-size.patch rename to packages/emulators/libretro/retroarch/patches/0001-Increase-ozone-size.patch diff --git a/packages/emulators/standalone/retroarch/patches/0001-Increase-ozone-widget_size.patch b/packages/emulators/libretro/retroarch/patches/0001-Increase-ozone-widget_size.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/0001-Increase-ozone-widget_size.patch rename to packages/emulators/libretro/retroarch/patches/0001-Increase-ozone-widget_size.patch diff --git a/packages/emulators/standalone/retroarch/patches/0002-quit-not-restart.patch b/packages/emulators/libretro/retroarch/patches/0002-quit-not-restart.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/0002-quit-not-restart.patch rename to packages/emulators/libretro/retroarch/patches/0002-quit-not-restart.patch diff --git a/packages/emulators/standalone/retroarch/patches/0003-fix-oga-no-preferred.patch b/packages/emulators/libretro/retroarch/patches/0003-fix-oga-no-preferred.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/0003-fix-oga-no-preferred.patch rename to packages/emulators/libretro/retroarch/patches/0003-fix-oga-no-preferred.patch diff --git a/packages/emulators/standalone/retroarch/patches/0004-drm-resolution.patch b/packages/emulators/libretro/retroarch/patches/0004-drm-resolution.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/0004-drm-resolution.patch rename to packages/emulators/libretro/retroarch/patches/0004-drm-resolution.patch diff --git a/packages/emulators/standalone/retroarch/patches/0006-no-screen-brightness.patch b/packages/emulators/libretro/retroarch/patches/0006-no-screen-brightness.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/0006-no-screen-brightness.patch rename to packages/emulators/libretro/retroarch/patches/0006-no-screen-brightness.patch diff --git a/packages/emulators/standalone/retroarch/patches/0008-disable_search.patch b/packages/emulators/libretro/retroarch/patches/0008-disable_search.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/0008-disable_search.patch rename to packages/emulators/libretro/retroarch/patches/0008-disable_search.patch diff --git a/packages/emulators/standalone/retroarch/patches/0009-hide-wayland-checkerboard.patch b/packages/emulators/libretro/retroarch/patches/0009-hide-wayland-checkerboard.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/0009-hide-wayland-checkerboard.patch rename to packages/emulators/libretro/retroarch/patches/0009-hide-wayland-checkerboard.patch diff --git a/packages/emulators/standalone/retroarch/patches/0010-paths.patch b/packages/emulators/libretro/retroarch/patches/0010-paths.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/0010-paths.patch rename to packages/emulators/libretro/retroarch/patches/0010-paths.patch diff --git a/packages/emulators/standalone/retroarch/patches/RK3566-BSP-X55/0011-librga.patch b/packages/emulators/libretro/retroarch/patches/RK3566-BSP-X55/0011-librga.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/RK3566-BSP-X55/0011-librga.patch rename to packages/emulators/libretro/retroarch/patches/RK3566-BSP-X55/0011-librga.patch diff --git a/packages/emulators/standalone/retroarch/patches/RK3566-BSP-X55/002-display-tweaks.patch b/packages/emulators/libretro/retroarch/patches/RK3566-BSP-X55/002-display-tweaks.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/RK3566-BSP-X55/002-display-tweaks.patch rename to packages/emulators/libretro/retroarch/patches/RK3566-BSP-X55/002-display-tweaks.patch diff --git a/packages/emulators/standalone/retroarch/patches/RK3566-BSP/0011-librga.patch b/packages/emulators/libretro/retroarch/patches/RK3566-BSP/0011-librga.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/RK3566-BSP/0011-librga.patch rename to packages/emulators/libretro/retroarch/patches/RK3566-BSP/0011-librga.patch diff --git a/packages/emulators/standalone/retroarch/patches/RK3566-BSP/002-display-tweaks.patch b/packages/emulators/libretro/retroarch/patches/RK3566-BSP/002-display-tweaks.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/RK3566-BSP/002-display-tweaks.patch rename to packages/emulators/libretro/retroarch/patches/RK3566-BSP/002-display-tweaks.patch diff --git a/packages/emulators/standalone/retroarch/patches/RK3566-BSP/003-fix-go2-rotation.patch b/packages/emulators/libretro/retroarch/patches/RK3566-BSP/003-fix-go2-rotation.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/RK3566-BSP/003-fix-go2-rotation.patch rename to packages/emulators/libretro/retroarch/patches/RK3566-BSP/003-fix-go2-rotation.patch diff --git a/packages/emulators/standalone/retroarch/patches/RK3566/0011-librga.patch b/packages/emulators/libretro/retroarch/patches/RK3566/0011-librga.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/RK3566/0011-librga.patch rename to packages/emulators/libretro/retroarch/patches/RK3566/0011-librga.patch diff --git a/packages/emulators/standalone/retroarch/patches/RK3566/002-display-tweaks.patch b/packages/emulators/libretro/retroarch/patches/RK3566/002-display-tweaks.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/RK3566/002-display-tweaks.patch rename to packages/emulators/libretro/retroarch/patches/RK3566/002-display-tweaks.patch diff --git a/packages/emulators/standalone/retroarch/patches/RK3566/003-fix-go2-rotation.patch b/packages/emulators/libretro/retroarch/patches/RK3566/003-fix-go2-rotation.patch similarity index 100% rename from packages/emulators/standalone/retroarch/patches/RK3566/003-fix-go2-rotation.patch rename to packages/emulators/libretro/retroarch/patches/RK3566/003-fix-go2-rotation.patch diff --git a/packages/emulators/tools/retroarch-assets/package.mk b/packages/emulators/libretro/retroarch/retroarch-assets/package.mk similarity index 100% rename from packages/emulators/tools/retroarch-assets/package.mk rename to packages/emulators/libretro/retroarch/retroarch-assets/package.mk diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/ THEC64 Joystick THEC64 Joystick .cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/ THEC64 Joystick THEC64 Joystick .cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/ THEC64 Joystick THEC64 Joystick .cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/ THEC64 Joystick THEC64 Joystick .cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/8Bitdo SF30 Pro 8Bitdo SN30 Pro.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/8Bitdo SF30 Pro 8Bitdo SN30 Pro.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/8Bitdo SF30 Pro 8Bitdo SN30 Pro.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/8Bitdo SF30 Pro 8Bitdo SN30 Pro.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/Atari Classic Controller.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/Atari Classic Controller.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/Atari Classic Controller.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/Atari Classic Controller.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/Atari Game Controller.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/Atari Game Controller.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/Atari Game Controller.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/Atari Game Controller.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/Core (Plus) Wired Controller.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/Core (Plus) Wired Controller.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/Core (Plus) Wired Controller.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/Core (Plus) Wired Controller.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/GO-Super Gamepad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/GO-Super Gamepad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/GO-Super Gamepad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/GO-Super Gamepad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/GO-Ultra Gamepad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/GO-Ultra Gamepad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/GO-Ultra Gamepad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/GO-Ultra Gamepad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/Game Controller.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/Game Controller.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/Game Controller.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/Game Controller.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/GameForce ACE Gamepad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/GameForce ACE Gamepad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/GameForce ACE Gamepad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/GameForce ACE Gamepad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/Microsoft X-Box 360 pad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/Microsoft X-Box 360 pad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/Microsoft X-Box 360 pad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/Microsoft X-Box 360 pad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/OpenSimHardware OSH PB Controller.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/OpenSimHardware OSH PB Controller.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/OpenSimHardware OSH PB Controller.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/OpenSimHardware OSH PB Controller.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/OpenSimHardware OSH PB Controller_SDL.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/OpenSimHardware OSH PB Controller_SDL.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/OpenSimHardware OSH PB Controller_SDL.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/OpenSimHardware OSH PB Controller_SDL.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/RGB20S Gamepad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/RGB20S Gamepad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/RGB20S Gamepad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/RGB20S Gamepad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/ROCKNIX Gamepad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/ROCKNIX Gamepad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/ROCKNIX Gamepad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/ROCKNIX Gamepad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/Steam Controller.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/Steam Controller.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/Steam Controller.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/Steam Controller.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/XU10 Gamepad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/XU10 Gamepad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/XU10 Gamepad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/XU10 Gamepad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/odroidgo2_joypad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/odroidgo2_joypad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/odroidgo2_joypad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/odroidgo2_joypad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/odroidgo2_v11_joypad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/odroidgo2_v11_joypad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/odroidgo2_v11_joypad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/odroidgo2_v11_joypad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/odroidgo3_joypad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/odroidgo3_joypad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/odroidgo3_joypad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/odroidgo3_joypad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/r33s_joypad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/r33s_joypad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/r33s_joypad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/r33s_joypad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/retrogame_joypad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/retrogame_joypad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/retrogame_joypad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/retrogame_joypad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/rg552_joypad.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/rg552_joypad.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/rg552_joypad.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/rg552_joypad.cfg diff --git a/packages/emulators/tools/retroarch-joypads/gamepads/zed_joystick.cfg b/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/zed_joystick.cfg similarity index 100% rename from packages/emulators/tools/retroarch-joypads/gamepads/zed_joystick.cfg rename to packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/zed_joystick.cfg diff --git a/packages/emulators/tools/retroarch-joypads/package.mk b/packages/emulators/libretro/retroarch/retroarch-joypads/package.mk similarity index 100% rename from packages/emulators/tools/retroarch-joypads/package.mk rename to packages/emulators/libretro/retroarch/retroarch-joypads/package.mk diff --git a/packages/emulators/tools/retroarch-joypads/system.d/tmp-joypads.mount b/packages/emulators/libretro/retroarch/retroarch-joypads/system.d/tmp-joypads.mount similarity index 100% rename from packages/emulators/tools/retroarch-joypads/system.d/tmp-joypads.mount rename to packages/emulators/libretro/retroarch/retroarch-joypads/system.d/tmp-joypads.mount diff --git a/packages/emulators/tools/retroarch-overlays/package.mk b/packages/emulators/libretro/retroarch/retroarch-overlays/package.mk similarity index 100% rename from packages/emulators/tools/retroarch-overlays/package.mk rename to packages/emulators/libretro/retroarch/retroarch-overlays/package.mk diff --git a/packages/emulators/standalone/retroarch/sources/AMD64/TATE-MAME 2003-Plus.rmp b/packages/emulators/libretro/retroarch/sources/AMD64/TATE-MAME 2003-Plus.rmp similarity index 100% rename from packages/emulators/standalone/retroarch/sources/AMD64/TATE-MAME 2003-Plus.rmp rename to packages/emulators/libretro/retroarch/sources/AMD64/TATE-MAME 2003-Plus.rmp diff --git a/packages/emulators/standalone/retroarch/sources/AMD64/retroarch-core-options.cfg b/packages/emulators/libretro/retroarch/sources/AMD64/retroarch-core-options.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/AMD64/retroarch-core-options.cfg rename to packages/emulators/libretro/retroarch/sources/AMD64/retroarch-core-options.cfg diff --git a/packages/emulators/standalone/retroarch/sources/AMD64/retroarch.cfg b/packages/emulators/libretro/retroarch/sources/AMD64/retroarch.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/AMD64/retroarch.cfg rename to packages/emulators/libretro/retroarch/sources/AMD64/retroarch.cfg diff --git a/packages/emulators/standalone/retroarch/sources/AMD64/retroarch32bit-append.cfg b/packages/emulators/libretro/retroarch/sources/AMD64/retroarch32bit-append.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/AMD64/retroarch32bit-append.cfg rename to packages/emulators/libretro/retroarch/sources/AMD64/retroarch32bit-append.cfg diff --git a/packages/emulators/standalone/retroarch/sources/AMD64/retroarch64bit-append.cfg b/packages/emulators/libretro/retroarch/sources/AMD64/retroarch64bit-append.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/AMD64/retroarch64bit-append.cfg rename to packages/emulators/libretro/retroarch/sources/AMD64/retroarch64bit-append.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3326/TATE-MAME 2003-Plus.rmp b/packages/emulators/libretro/retroarch/sources/RK3326/TATE-MAME 2003-Plus.rmp similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3326/TATE-MAME 2003-Plus.rmp rename to packages/emulators/libretro/retroarch/sources/RK3326/TATE-MAME 2003-Plus.rmp diff --git a/packages/emulators/standalone/retroarch/sources/RK3326/retroarch-core-options.cfg b/packages/emulators/libretro/retroarch/sources/RK3326/retroarch-core-options.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3326/retroarch-core-options.cfg rename to packages/emulators/libretro/retroarch/sources/RK3326/retroarch-core-options.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3326/retroarch.cfg b/packages/emulators/libretro/retroarch/sources/RK3326/retroarch.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3326/retroarch.cfg rename to packages/emulators/libretro/retroarch/sources/RK3326/retroarch.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3326/retroarch32bit-append.cfg b/packages/emulators/libretro/retroarch/sources/RK3326/retroarch32bit-append.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3326/retroarch32bit-append.cfg rename to packages/emulators/libretro/retroarch/sources/RK3326/retroarch32bit-append.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3326/retroarch64bit-append.cfg b/packages/emulators/libretro/retroarch/sources/RK3326/retroarch64bit-append.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3326/retroarch64bit-append.cfg rename to packages/emulators/libretro/retroarch/sources/RK3326/retroarch64bit-append.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3399/TATE-MAME 2003-Plus.rmp b/packages/emulators/libretro/retroarch/sources/RK3399/TATE-MAME 2003-Plus.rmp similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3399/TATE-MAME 2003-Plus.rmp rename to packages/emulators/libretro/retroarch/sources/RK3399/TATE-MAME 2003-Plus.rmp diff --git a/packages/emulators/standalone/retroarch/sources/RK3399/retroarch-core-options.cfg b/packages/emulators/libretro/retroarch/sources/RK3399/retroarch-core-options.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3399/retroarch-core-options.cfg rename to packages/emulators/libretro/retroarch/sources/RK3399/retroarch-core-options.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3399/retroarch.cfg b/packages/emulators/libretro/retroarch/sources/RK3399/retroarch.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3399/retroarch.cfg rename to packages/emulators/libretro/retroarch/sources/RK3399/retroarch.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3399/retroarch32bit-append.cfg b/packages/emulators/libretro/retroarch/sources/RK3399/retroarch32bit-append.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3399/retroarch32bit-append.cfg rename to packages/emulators/libretro/retroarch/sources/RK3399/retroarch32bit-append.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3399/retroarch64bit-append.cfg b/packages/emulators/libretro/retroarch/sources/RK3399/retroarch64bit-append.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3399/retroarch64bit-append.cfg rename to packages/emulators/libretro/retroarch/sources/RK3399/retroarch64bit-append.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3566/TATE-MAME 2003-Plus.rmp b/packages/emulators/libretro/retroarch/sources/RK3566/TATE-MAME 2003-Plus.rmp similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3566/TATE-MAME 2003-Plus.rmp rename to packages/emulators/libretro/retroarch/sources/RK3566/TATE-MAME 2003-Plus.rmp diff --git a/packages/emulators/standalone/retroarch/sources/RK3566/retroarch-core-options.cfg b/packages/emulators/libretro/retroarch/sources/RK3566/retroarch-core-options.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3566/retroarch-core-options.cfg rename to packages/emulators/libretro/retroarch/sources/RK3566/retroarch-core-options.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3566/retroarch.cfg b/packages/emulators/libretro/retroarch/sources/RK3566/retroarch.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3566/retroarch.cfg rename to packages/emulators/libretro/retroarch/sources/RK3566/retroarch.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3566/retroarch32bit-append.cfg b/packages/emulators/libretro/retroarch/sources/RK3566/retroarch32bit-append.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3566/retroarch32bit-append.cfg rename to packages/emulators/libretro/retroarch/sources/RK3566/retroarch32bit-append.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3566/retroarch64bit-append.cfg b/packages/emulators/libretro/retroarch/sources/RK3566/retroarch64bit-append.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3566/retroarch64bit-append.cfg rename to packages/emulators/libretro/retroarch/sources/RK3566/retroarch64bit-append.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3588/TATE-MAME 2003-Plus.rmp b/packages/emulators/libretro/retroarch/sources/RK3588/TATE-MAME 2003-Plus.rmp similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3588/TATE-MAME 2003-Plus.rmp rename to packages/emulators/libretro/retroarch/sources/RK3588/TATE-MAME 2003-Plus.rmp diff --git a/packages/emulators/standalone/retroarch/sources/RK3588/retroarch-core-options.cfg b/packages/emulators/libretro/retroarch/sources/RK3588/retroarch-core-options.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3588/retroarch-core-options.cfg rename to packages/emulators/libretro/retroarch/sources/RK3588/retroarch-core-options.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3588/retroarch.cfg b/packages/emulators/libretro/retroarch/sources/RK3588/retroarch.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3588/retroarch.cfg rename to packages/emulators/libretro/retroarch/sources/RK3588/retroarch.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3588/retroarch32bit-append.cfg b/packages/emulators/libretro/retroarch/sources/RK3588/retroarch32bit-append.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3588/retroarch32bit-append.cfg rename to packages/emulators/libretro/retroarch/sources/RK3588/retroarch32bit-append.cfg diff --git a/packages/emulators/standalone/retroarch/sources/RK3588/retroarch64bit-append.cfg b/packages/emulators/libretro/retroarch/sources/RK3588/retroarch64bit-append.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/RK3588/retroarch64bit-append.cfg rename to packages/emulators/libretro/retroarch/sources/RK3588/retroarch64bit-append.cfg diff --git a/packages/emulators/standalone/retroarch/sources/S922X/TATE-MAME 2003-Plus.rmp b/packages/emulators/libretro/retroarch/sources/S922X/TATE-MAME 2003-Plus.rmp similarity index 100% rename from packages/emulators/standalone/retroarch/sources/S922X/TATE-MAME 2003-Plus.rmp rename to packages/emulators/libretro/retroarch/sources/S922X/TATE-MAME 2003-Plus.rmp diff --git a/packages/emulators/standalone/retroarch/sources/S922X/retroarch-core-options.cfg b/packages/emulators/libretro/retroarch/sources/S922X/retroarch-core-options.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/S922X/retroarch-core-options.cfg rename to packages/emulators/libretro/retroarch/sources/S922X/retroarch-core-options.cfg diff --git a/packages/emulators/standalone/retroarch/sources/S922X/retroarch.cfg b/packages/emulators/libretro/retroarch/sources/S922X/retroarch.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/S922X/retroarch.cfg rename to packages/emulators/libretro/retroarch/sources/S922X/retroarch.cfg diff --git a/packages/emulators/standalone/retroarch/sources/S922X/retroarch32bit-append.cfg b/packages/emulators/libretro/retroarch/sources/S922X/retroarch32bit-append.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/S922X/retroarch32bit-append.cfg rename to packages/emulators/libretro/retroarch/sources/S922X/retroarch32bit-append.cfg diff --git a/packages/emulators/standalone/retroarch/sources/S922X/retroarch64bit-append.cfg b/packages/emulators/libretro/retroarch/sources/S922X/retroarch64bit-append.cfg similarity index 100% rename from packages/emulators/standalone/retroarch/sources/S922X/retroarch64bit-append.cfg rename to packages/emulators/libretro/retroarch/sources/S922X/retroarch64bit-append.cfg diff --git a/packages/emulators/standalone/retroarch/system.d/tmp-assets.mount b/packages/emulators/libretro/retroarch/system.d/tmp-assets.mount similarity index 100% rename from packages/emulators/standalone/retroarch/system.d/tmp-assets.mount rename to packages/emulators/libretro/retroarch/system.d/tmp-assets.mount diff --git a/packages/emulators/standalone/retroarch/system.d/tmp-cores.mount b/packages/emulators/libretro/retroarch/system.d/tmp-cores.mount similarity index 100% rename from packages/emulators/standalone/retroarch/system.d/tmp-cores.mount rename to packages/emulators/libretro/retroarch/system.d/tmp-cores.mount diff --git a/packages/emulators/standalone/retroarch/system.d/tmp-database.mount b/packages/emulators/libretro/retroarch/system.d/tmp-database.mount similarity index 100% rename from packages/emulators/standalone/retroarch/system.d/tmp-database.mount rename to packages/emulators/libretro/retroarch/system.d/tmp-database.mount diff --git a/packages/emulators/standalone/retroarch/system.d/tmp-overlays.mount b/packages/emulators/libretro/retroarch/system.d/tmp-overlays.mount similarity index 100% rename from packages/emulators/standalone/retroarch/system.d/tmp-overlays.mount rename to packages/emulators/libretro/retroarch/system.d/tmp-overlays.mount diff --git a/packages/emulators/standalone/retroarch/system.d/tmp-shaders.mount b/packages/emulators/libretro/retroarch/system.d/tmp-shaders.mount similarity index 100% rename from packages/emulators/standalone/retroarch/system.d/tmp-shaders.mount rename to packages/emulators/libretro/retroarch/system.d/tmp-shaders.mount diff --git a/packages/emulators/standalone/retroarch/tmpfiles.d/retroarch-userdirs.conf b/packages/emulators/libretro/retroarch/tmpfiles.d/retroarch-userdirs.conf similarity index 100% rename from packages/emulators/standalone/retroarch/tmpfiles.d/retroarch-userdirs.conf rename to packages/emulators/libretro/retroarch/tmpfiles.d/retroarch-userdirs.conf diff --git a/packages/emulators/standalone/retroarch/udev.d/99-8bitdo-bluetooth-controllers.rules b/packages/emulators/libretro/retroarch/udev.d/99-8bitdo-bluetooth-controllers.rules similarity index 100% rename from packages/emulators/standalone/retroarch/udev.d/99-8bitdo-bluetooth-controllers.rules rename to packages/emulators/libretro/retroarch/udev.d/99-8bitdo-bluetooth-controllers.rules diff --git a/packages/emulators/standalone/retroarch/udev.d/99-ION-iCade-bluetooth.rules b/packages/emulators/libretro/retroarch/udev.d/99-ION-iCade-bluetooth.rules similarity index 100% rename from packages/emulators/standalone/retroarch/udev.d/99-ION-iCade-bluetooth.rules rename to packages/emulators/libretro/retroarch/udev.d/99-ION-iCade-bluetooth.rules diff --git a/packages/emulators/standalone/retroarch/udev.d/99-gen-game-s3-controller.rules b/packages/emulators/libretro/retroarch/udev.d/99-gen-game-s3-controller.rules similarity index 100% rename from packages/emulators/standalone/retroarch/udev.d/99-gen-game-s3-controller.rules rename to packages/emulators/libretro/retroarch/udev.d/99-gen-game-s3-controller.rules diff --git a/packages/emulators/standalone/retroarch/udev.d/99-nintendo-wii-remote.rules b/packages/emulators/libretro/retroarch/udev.d/99-nintendo-wii-remote.rules similarity index 100% rename from packages/emulators/standalone/retroarch/udev.d/99-nintendo-wii-remote.rules rename to packages/emulators/libretro/retroarch/udev.d/99-nintendo-wii-remote.rules diff --git a/packages/emulators/standalone/retroarch/udev.d/99-ninteno-wii-remote.rules b/packages/emulators/libretro/retroarch/udev.d/99-ninteno-wii-remote.rules similarity index 100% rename from packages/emulators/standalone/retroarch/udev.d/99-ninteno-wii-remote.rules rename to packages/emulators/libretro/retroarch/udev.d/99-ninteno-wii-remote.rules diff --git a/packages/emulators/standalone/retroarch/udev.d/99-nv-shield-controller.rules b/packages/emulators/libretro/retroarch/udev.d/99-nv-shield-controller.rules similarity index 100% rename from packages/emulators/standalone/retroarch/udev.d/99-nv-shield-controller.rules rename to packages/emulators/libretro/retroarch/udev.d/99-nv-shield-controller.rules diff --git a/packages/emulators/standalone/retroarch/udev.d/99-ouya-controller.rules b/packages/emulators/libretro/retroarch/udev.d/99-ouya-controller.rules similarity index 100% rename from packages/emulators/standalone/retroarch/udev.d/99-ouya-controller.rules rename to packages/emulators/libretro/retroarch/udev.d/99-ouya-controller.rules diff --git a/packages/emulators/standalone/retroarch/udev.d/99-terios-t3.rules b/packages/emulators/libretro/retroarch/udev.d/99-terios-t3.rules similarity index 100% rename from packages/emulators/standalone/retroarch/udev.d/99-terios-t3.rules rename to packages/emulators/libretro/retroarch/udev.d/99-terios-t3.rules diff --git a/packages/emulators/standalone/drastic-sa/package.mk b/packages/emulators/standalone/drastic-sa/package.mk index f834ed03b..271d7cf3a 100644 --- a/packages/emulators/standalone/drastic-sa/package.mk +++ b/packages/emulators/standalone/drastic-sa/package.mk @@ -6,7 +6,7 @@ PKG_VERSION="1.0" PKG_LICENSE="Proprietary:DRASTIC.pdf" PKG_ARCH="aarch64" PKG_URL="https://github.com/r3claimer/JelosAddOns/raw/main/drastic.tar.gz" -PKG_DEPENDS_TARGET="toolchain" +PKG_DEPENDS_TARGET="toolchain rocknix-hotkey" PKG_LONGDESC="Install Drastic Launcher script, will dowload bin on first run" PKG_TOOLCHAIN="make" diff --git a/packages/emulators/tools/gptokeyb/patches/0001-build_fix.patch b/packages/emulators/tools/gptokeyb/patches/0001-build_fix.patch deleted file mode 100644 index e7f15ff45..000000000 --- a/packages/emulators/tools/gptokeyb/patches/0001-build_fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/gptokeyb.cpp b/gptokeyb.cpp -old mode 100644 -new mode 100755 -index aa4c0b0..0d62f28 ---- a/gptokeyb.cpp -+++ b/gptokeyb.cpp -@@ -42,8 +42,8 @@ - #include - #include - --#include --#include -+#include -+#include - - #include - #include -@@ -2284,7 +2284,7 @@ int main(int argc, char* argv[]) - const char* config_file = nullptr; - - config_mode = true; -- config_file = "/emuelec/configs/gptokeyb/default.gptk"; -+ config_file = "/usr/config/gptokeyb/default.gptk"; - - // Add hotkey environment variable if available - if (char* env_hotkey = SDL_getenv("HOTKEY")) { diff --git a/packages/emulators/tools/virtualcontroller/package.mk b/packages/emulators/tools/virtualcontroller/package.mk deleted file mode 100644 index ddf25ea4e..000000000 --- a/packages/emulators/tools/virtualcontroller/package.mk +++ /dev/null @@ -1,21 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -PKG_NAME="virtualcontroller" -PKG_VERSION="85f2c70c25230d90781dbddbc97436fa50283530" -PKG_LICENSE="GPLv2" -PKG_SITE="https://github.com/macromorgan/input-wrapper" -PKG_URL="${PKG_SITE}.git" -PKG_DEPENDS_TARGET="toolchain linux" -PKG_TOOLCHAIN="make" -PKG_PATCH_DIRS+="${DEVICE}" - -makeinstall_target() { - mkdir -p ${INSTALL}/usr/bin - cp virtual_controller ${INSTALL}/usr/bin/virtual_controller - chmod 0755 ${INSTALL}/usr/bin/virtual_controller -} - -post_install() { - enable_service virtualcontroller.service -} diff --git a/packages/emulators/tools/virtualcontroller/system.d/virtualcontroller.service b/packages/emulators/tools/virtualcontroller/system.d/virtualcontroller.service deleted file mode 100644 index 105ea15b5..000000000 --- a/packages/emulators/tools/virtualcontroller/system.d/virtualcontroller.service +++ /dev/null @@ -1,14 +0,0 @@ -[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-ROCKNIX-not-joysticks.rules b/packages/emulators/tools/virtualcontroller/udev.d/99-ROCKNIX-not-joysticks.rules deleted file mode 100644 index 95380ad14..000000000 --- a/packages/emulators/tools/virtualcontroller/udev.d/99-ROCKNIX-not-joysticks.rules +++ /dev/null @@ -1,2 +0,0 @@ -SUBSYSTEM=="input", ATTRS{name}=="gpio-keys-control", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}="" -SUBSYSTEM=="input", ATTRS{name}=="adc-joystick", ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_INPUT_JOYSTICK}="" diff --git a/packages/graphics/SDL2/package.mk b/packages/graphics/SDL2/package.mk index ff417003c..a990245c8 100644 --- a/packages/graphics/SDL2/package.mk +++ b/packages/graphics/SDL2/package.mk @@ -61,13 +61,6 @@ else -DSDL_X11=OFF" fi -case ${PROJECT} in - Rockchip) - PKG_DEPENDS_TARGET+=" librga" - PKG_PATCH_DIRS_TARGET+="${DEVICE}" - ;; -esac - pre_configure_target(){ if [ -n "${PKG_PATCH_DIRS_TARGET}" ] diff --git a/packages/emulators/tools/capsimg/package.mk b/packages/graphics/capsimg/package.mk similarity index 100% rename from packages/emulators/tools/capsimg/package.mk rename to packages/graphics/capsimg/package.mk diff --git a/packages/devel/qt5/package.mk b/packages/graphics/qt5/package.mk similarity index 100% rename from packages/devel/qt5/package.mk rename to packages/graphics/qt5/package.mk diff --git a/packages/graphics/qt6/package.mk b/packages/graphics/qt6/package.mk deleted file mode 100644 index b21b9dc03..000000000 --- a/packages/graphics/qt6/package.mk +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2023-present JELOS (https://github.com/JustEnoughLinuxOS) - -PKG_NAME="qt6" -PKG_MAJOR_VERSION="6.6" -PKG_VERSION="${PKG_MAJOR_VERSION}.1" -PKG_LICENSE="GPLv3" -PKG_SITE="https://download.qt.io" -PKG_DEPENDS_TARGET="toolchain" -PKG_LONGDESC="Qt6 - Qt is a full development framework with tools designed to streamline the creation of applications and user interfaces for desktop, embedded, and mobile platforms." - -PKG_DEPENDS_TARGET+=" qt6base qt6tools qt6wayland" diff --git a/packages/graphics/qt6/qt6base/package.mk b/packages/graphics/qt6/qt6base/package.mk deleted file mode 100644 index 6e7075c31..000000000 --- a/packages/graphics/qt6/qt6base/package.mk +++ /dev/null @@ -1,63 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2023-present JELOS (https://github.com/JustEnoughLinuxOS) - -PKG_NAME="qt6base" -PKG_MAJOR_VERSION="6.6" -PKG_VERSION="${PKG_MAJOR_VERSION}.1" -PKG_LICENSE="GPLv3" -PKG_SITE="https://download.qt.io" -PKG_URL="${PKG_SITE}/archive/qt/${PKG_MAJOR_VERSION}/${PKG_VERSION}/submodules/qtbase-everywhere-src-${PKG_VERSION}.tar.xz" -PKG_DEPENDS_HOST="toolchain:host" -PKG_DEPENDS_TARGET="toolchain qt6base:host xorgproto" -PKG_LONGDESC="QT6 base package" - -pre_configure_host() { -PKG_CMAKE_OPTS_HOST+=" - -GNinja \ - -DFEATURE_gui=ON \ - -DFEATURE_openssl_linked=ON \ - -DFEATURE_concurrent=ON \ - -DFEATURE_xml=ON \ - -DFEATURE_sql=ON \ - -DFEATURE_testlib=ON \ - -DFEATURE_network=ON \ - -DFEATURE_dbus=ON \ - -DFEATURE_icu=OFF \ - -DFEATURE_glib=OFF \ - -DFEATURE_system_pcre2=ON \ - -DFEATURE_system_zlib=ON \ - -DQT_BUILD_TESTS_BY_DEFAULT=OFF \ - -DQT_BUILD_EXAMPLES_BY_DEFAULT=OFF \ - -DCMAKE_CROSSCOMPILING=OFF" -} - -pre_configure_target() { - PKG_CMAKE_OPTS_TARGET+=" - -GNinja \ - -DQT_HOST_PATH=${PKG_BUILD}/.x86_64-rocknix-linux-gnu \ - -DFEATURE_gui=ON \ - -DFEATURE_concurrent=OFF \ - -DFEATURE_xml=OFF \ - -DFEATURE_sql=OFF \ - -DFEATURE_testlib=OFF \ - -DFEATURE_network=ON \ - -DFEATURE_icu=OFF \ - -DFEATURE_glib=OFF \ - -DFEATURE_system_doubleconversion=OFF \ - -DFEATURE_system_pcre2=ON \ - -DFEATURE_system_zlib=ON \ - -DFEATURE_libudev=ON\ - -DFEATURE_gui=ON \ - -DFEATURE_freetype=ON \ - -DFEATURE_png=ON\ - -DFEATURE_system_png=ON \ - -DFEATURE_gui=ON \ - -DFEATURE_freetype=ON \ - -DFEATURE_vulkan=OFF \ - -DFEATURE_dbus=ON" - -} - -make_host() { - ninja ${NINJA_OPTS} -} diff --git a/packages/graphics/qt6/qt6tools/package.mk b/packages/graphics/qt6/qt6tools/package.mk deleted file mode 100644 index c1c31b3e2..000000000 --- a/packages/graphics/qt6/qt6tools/package.mk +++ /dev/null @@ -1,41 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2023-present JELOS (https://github.com/JustEnoughLinuxOS) - -PKG_NAME="qt6tools" -PKG_MAJOR_VERSION="6.6" -PKG_VERSION="${PKG_MAJOR_VERSION}.1" -PKG_LICENSE="GPLv3" -PKG_SITE="https://download.qt.io" -PKG_URL="${PKG_SITE}/archive/qt/${PKG_MAJOR_VERSION}/${PKG_VERSION}/submodules/qttools-everywhere-src-${PKG_VERSION}.tar.xz" -PKG_DEPENDS_HOST="toolchain:host qt6base" -PKG_DEPENDS_TARGET="toolchain qt6tools:host qt6base" -PKG_LONGDESC="QT6 Tools package" - -pre_configure_host() { - PKG_CMAKE_OPTS_HOST+=" -GNinja \ - -DQT_FEATURE_linguist=ON \ - -DQT_FEATURE_qdbus=OFF \ - -DQT_FEATURE_qtattributionsscanner=ON \ - -DQT_FEATURE_qtdiag=ON \ - -DQT_FEATURE_qtplugininfo=ON \ - -DCMAKE_CROSSCOMPILING=OFF" -} - -pre_configure_target() { - PKG_CMAKE_OPTS_TARGET+=" -GNinja \ - -DQT_HOST_PATH=${PKG_BUILD}/.x86_64-rocknix-linux-gnu \ - -DQT_FEATURE_linguist=ON \ - -DQT_FEATURE_qdbus=ON \ - -DQT_DEBUG_FIND_PACKAGE=ON - -DQT_FEATURE_qtattributionsscanner=ON \ - -DQT_FEATURE_qtdiag=ON \ - -DQT_FEATURE_qtplugininfo=ON \ - -DQT_BUILD_TESTS_BY_DEFAULT=OFF \ - -DQT_BUILD_EXAMPLES_BY_DEFAULT=OFF \ - -DQT_FEATURE_LinguistTools=OFF" -} - - -make_host() { - ninja ${NINJA_OPTS} -} diff --git a/packages/graphics/qt6/qt6wayland/package.mk b/packages/graphics/qt6/qt6wayland/package.mk deleted file mode 100644 index 57d208517..000000000 --- a/packages/graphics/qt6/qt6wayland/package.mk +++ /dev/null @@ -1,33 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2023-present JELOS (https://github.com/JustEnoughLinuxOS) - -PKG_NAME="qt6wayland" -PKG_MAJOR_VERSION="6.6" -PKG_VERSION="${PKG_MAJOR_VERSION}.1" -PKG_LICENSE="GPLv3" -PKG_SITE="https://download.qt.io" -PKG_URL="${PKG_SITE}/archive/qt/${PKG_MAJOR_VERSION}/${PKG_VERSION}/submodules/qtwayland-everywhere-src-${PKG_VERSION}.tar.xz" -PKG_DEPENDS_HOST="toolchain:host qt6base" -PKG_DEPENDS_TARGET="toolchain qt6wayland:host qt6base" -PKG_LONGDESC="QT6 wayland" - -pre_configure_host() { - PKG_CMAKE_OPTS_HOST+=" -GNinja \ - -DBUILD_WITH_PCH=OFF \ - -DQT_BUILD_EXAMPLES=OFF \ - -DQT_BUILD_TESTS=OFF \ - -DCMAKE_CROSSCOMPILING=OFF" -} - -pre_configure_target() { - PKG_CMAKE_OPTS_TARGET+=" -GNinja \ - -DQT_HOST_PATH=${PKG_BUILD}/.x86_64-rocknix-linux-gnu \ - -DQT_DEBUG_FIND_PACKAGE=ON \ - -DBUILD_WITH_PCH=OFF \ - -DQT_BUILD_EXAMPLES=OFF \ - -DQT_BUILD_TESTS=OFF" -} - -make_host() { - ninja ${NINJA_OPTS} -} diff --git a/packages/kernel/linux/package.mk b/packages/kernel/linux/package.mk index 40ed37181..104870237 100644 --- a/packages/kernel/linux/package.mk +++ b/packages/kernel/linux/package.mk @@ -20,13 +20,13 @@ case ${DEVICE} in PKG_URL="https://github.com/hbiyik/linux-rockchip/archive/${PKG_VERSION}.tar.gz" PKG_GIT_CLONE_BRANCH="rk-6.1-rkr1-panthor-v6" ;; - RK3566*) - PKG_VERSION="6.8-rc6" - PKG_URL="https://git.kernel.org/torvalds/t/${PKG_NAME}-${PKG_VERSION}.tar.gz" + RK3326*) + PKG_VERSION="6.7.9" + PKG_URL="${PKG_SITE}/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz" ;; *) PKG_VERSION="6.8.1" - PKG_URL="https://www.kernel.org/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz" + PKG_URL="${PKG_SITE}/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz" ;; esac diff --git a/packages/emulators/tools/sixaxis/package.mk b/packages/network/sixaxis/package.mk similarity index 100% rename from packages/emulators/tools/sixaxis/package.mk rename to packages/network/sixaxis/package.mk diff --git a/packages/emulators/tools/sixaxis/system.d/sixaxis@.service b/packages/network/sixaxis/system.d/sixaxis@.service similarity index 100% rename from packages/emulators/tools/sixaxis/system.d/sixaxis@.service rename to packages/network/sixaxis/system.d/sixaxis@.service diff --git a/packages/emulators/tools/sixaxis/udev.d/99-sixaxis.rules b/packages/network/sixaxis/udev.d/99-sixaxis.rules similarity index 100% rename from packages/emulators/tools/sixaxis/udev.d/99-sixaxis.rules rename to packages/network/sixaxis/udev.d/99-sixaxis.rules diff --git a/packages/emulators/tools/sixpair/package.mk b/packages/network/sixpair/package.mk similarity index 100% rename from packages/emulators/tools/sixpair/package.mk rename to packages/network/sixpair/package.mk diff --git a/packages/virtual/gamesupport/package.mk b/packages/virtual/gamesupport/package.mk index adccabcfb..bdaf04ca7 100644 --- a/packages/virtual/gamesupport/package.mk +++ b/packages/virtual/gamesupport/package.mk @@ -7,7 +7,7 @@ PKG_SITE="https://rocknix.org" PKG_SECTION="virtual" PKG_LONGDESC="Game support software metapackage." -PKG_GAMESUPPORT="sixaxis gptokeyb jstest-sdl gamecontrollerdb sdljoytest control-gen" +PKG_GAMESUPPORT="sixaxis rocknix-hotkey jstest-sdl gamecontrollerdb sdljoytest control-gen" PKG_DEPENDS_TARGET="${PKG_GAMESUPPORT}" diff --git a/projects/Rockchip/options b/projects/Rockchip/options index 768538701..5587c70a5 100755 --- a/projects/Rockchip/options +++ b/projects/Rockchip/options @@ -72,7 +72,7 @@ # driver addons to install: # for a list of additinoal drivers see packages/linux-driver-addons # Space separated list is supported, - DRIVER_ADDONS="dvb-latest" + DRIVER_ADDONS="" # debug tty path DEBUG_TTY="/dev/ttyS2" diff --git a/projects/Rockchip/packages/u-boot/package.mk b/projects/Rockchip/packages/u-boot/package.mk index 235095cad..2a2f82488 100644 --- a/projects/Rockchip/packages/u-boot/package.mk +++ b/projects/Rockchip/packages/u-boot/package.mk @@ -27,9 +27,9 @@ case ${DEVICE} in PKG_URL="https://ftp.denx.de/pub/u-boot/${PKG_NAME}-${PKG_VERSION}.tar.bz2" ;; RK3326) - PKG_URL="https://github.com/hardkernel/u-boot.git" PKG_VERSION="0e26e35cb18a80005b7de45c95858c86a2f7f41e" - PKG_GIT_CLONE_BRANCH="odroidgoA-v2017.09" + PKG_URL="${PKG_SITE}/hardkernel-uboot/archive/${PKG_VERSION}.tar.gz" + PKG_GIT_CLONE_BRANCH="RK3326" ;; esac @@ -87,6 +87,7 @@ make_target() { DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm64 _python_sysroot="${TOOLCHAIN}" _python_prefix=/ _python_exec_prefix=/ make HOSTCC="${HOST_CC}" HOSTLDFLAGS="-L${TOOLCHAIN}/lib" HOSTCFLAGS="-I${TOOLCHAIN}/include" HOSTSTRIP="true" CONFIG_MKIMAGE_DTC_PATH="scripts/dtc/dtc" elif [[ "${PKG_SOC}" =~ "rk3588" ]] then + # rk3588 devices DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm64 make mrproper DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm64 make ${UBOOT_CONFIG} BL31=${PKG_BL31} ${PKG_LOADER} u-boot.dtb u-boot.itb CONFIG_MKIMAGE_DTC_PATH="scripts/dtc/dtc" DEBUG=${PKG_DEBUG} CROSS_COMPILE="${TARGET_KERNEL_PREFIX}" LDFLAGS="" ARCH=arm64 _python_sysroot="${TOOLCHAIN}" _python_prefix=/ _python_exec_prefix=/ make HOSTCC="${HOST_CC}" HOSTLDFLAGS="-L${TOOLCHAIN}/lib" HOSTSTRIP="true" CONFIG_MKIMAGE_DTC_PATH="scripts/dtc/dtc" diff --git a/scripts/update_packages b/scripts/update_packages index fd9c9ef90..1eeea2a82 100755 --- a/scripts/update_packages +++ b/scripts/update_packages @@ -4,7 +4,7 @@ # Based on work by ToKe79 and Shanti Gilbert -OPTIONS="distributions/${DISTRONAME}/options" +OPTIONS="distributions/rocknix/options" PACKAGES=("packages/virtual/emulators/package.mk" \ "packages/virtual/es-themes/package.mk" \ "packages/virtual/gamesupport/package.mk" ) From b2deffb4793a44f9323d8ba325b3a02aecc7f5b3 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Sat, 23 Mar 2024 20:50:22 +0000 Subject: [PATCH 09/77] Removing more BSP items --- .../themes/es-theme-art-book-next/package.mk | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 packages/ui/themes/es-theme-art-book-next/package.mk diff --git a/packages/ui/themes/es-theme-art-book-next/package.mk b/packages/ui/themes/es-theme-art-book-next/package.mk new file mode 100644 index 000000000..127f266f9 --- /dev/null +++ b/packages/ui/themes/es-theme-art-book-next/package.mk @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: GPL-2.0-or-later +# Copyright (C) 2020 Shanti Gilbert (https://github.com/shantigilbert) +# Copyright (C) 2020 351ELEC team (https://github.com/fewtarius/351ELEC) +# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) + +PKG_NAME="es-theme-art-book-next" +PKG_VERSION="ca90abef8ae88c573e588436490aa2cb366062cd" +PKG_ARCH="any" +PKG_LICENSE="CUSTOM" +PKG_SITE="https://github.com/anthonycaccese/art-book-next-jelos" +PKG_URL="${PKG_SITE}.git" +GET_HANDLER_SUPPORT="git" +PKG_SHORTDESC="Art Book Next" +PKG_LONGDESC="Art Book Next" +PKG_TOOLCHAIN="manual" + +makeinstall_target() { + mkdir -p ${INSTALL}/usr/share/themes/${PKG_NAME} + cp -rf * ${INSTALL}/usr/share/themes/${PKG_NAME} +} From ab20e785a3dc1f57afdfd43f399f19e272e9fdfa Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Sat, 23 Mar 2024 20:55:51 +0000 Subject: [PATCH 10/77] Removing more BSP items --- .../patches/RK3566-BSP-X55/0011-librga.patch | 12 ------- .../RK3566-BSP-X55/002-display-tweaks.patch | 35 ------------------- .../patches/RK3566-BSP/0011-librga.patch | 12 ------- .../RK3566-BSP/002-display-tweaks.patch | 35 ------------------- .../RK3566-BSP/003-fix-go2-rotation.patch | 13 ------- .../themes/es-theme-art-book-next/package.mk | 20 ----------- 6 files changed, 127 deletions(-) delete mode 100644 packages/emulators/libretro/retroarch/patches/RK3566-BSP-X55/0011-librga.patch delete mode 100644 packages/emulators/libretro/retroarch/patches/RK3566-BSP-X55/002-display-tweaks.patch delete mode 100644 packages/emulators/libretro/retroarch/patches/RK3566-BSP/0011-librga.patch delete mode 100644 packages/emulators/libretro/retroarch/patches/RK3566-BSP/002-display-tweaks.patch delete mode 100644 packages/emulators/libretro/retroarch/patches/RK3566-BSP/003-fix-go2-rotation.patch delete mode 100644 packages/themes/es-theme-art-book-next/package.mk diff --git a/packages/emulators/libretro/retroarch/patches/RK3566-BSP-X55/0011-librga.patch b/packages/emulators/libretro/retroarch/patches/RK3566-BSP-X55/0011-librga.patch deleted file mode 100644 index 7f875aea1..000000000 --- a/packages/emulators/libretro/retroarch/patches/RK3566-BSP-X55/0011-librga.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rupN retroarch.orig/gfx/drivers/oga_gfx.c retroarch/gfx/drivers/oga_gfx.c ---- retroarch.orig/gfx/drivers/oga_gfx.c 2022-02-28 19:40:46.222185295 -0500 -+++ retroarch/gfx/drivers/oga_gfx.c 2022-02-28 19:44:14.187909576 -0500 -@@ -22,7 +22,7 @@ - #include "../../verbosity.h" - #include - #include --#include -+#include - #include - #include - #include diff --git a/packages/emulators/libretro/retroarch/patches/RK3566-BSP-X55/002-display-tweaks.patch b/packages/emulators/libretro/retroarch/patches/RK3566-BSP-X55/002-display-tweaks.patch deleted file mode 100644 index bc388cce9..000000000 --- a/packages/emulators/libretro/retroarch/patches/RK3566-BSP-X55/002-display-tweaks.patch +++ /dev/null @@ -1,35 +0,0 @@ -Correct DRM format on Powkiddy x55, extracted from PowKiddy x55 sources. -diff --git a/deps/libgo2/src/display.c b/deps/libgo2/src/display.c -index b91cf0624b..936b677fc4 100644 ---- a/deps/libgo2/src/display.c -+++ b/deps/libgo2/src/display.c -@@ -550,7 +550,7 @@ static uint32_t go2_rkformat_get(uint32_t drm_fourcc) - - case DRM_FORMAT_ARGB8888: - case DRM_FORMAT_XRGB8888: -- return RK_FORMAT_BGRA_8888; -+ return RK_FORMAT_RGBA_8888; - - case DRM_FORMAT_RGB565: - return RK_FORMAT_RGB_565; -@@ -586,6 +586,7 @@ void go2_surface_blit(go2_surface_t* srcSurface, int srcX, int srcY, int srcWidt - dst.rect.hstride = dstSurface->height; - dst.rect.format = go2_rkformat_get(dstSurface->format); - -+ - rga_info_t src = { 0 }; - src.fd = go2_surface_prime_fd(srcSurface); - src.mmuFlag = 1; -diff --git a/gfx/drivers_context/drm_go2_ctx.c b/gfx/drivers_context/drm_go2_ctx.c -index b758137703..dbcb992279 100644 ---- a/gfx/drivers_context/drm_go2_ctx.c -+++ b/gfx/drivers_context/drm_go2_ctx.c -@@ -133,7 +133,7 @@ static void *gfx_ctx_go2_drm_init(void *video_driver) - } - - drm->presenter = go2_presenter_create(drm->display, -- DRM_FORMAT_RGB565, 0xff000000, true); -+ DRM_FORMAT_XRGB8888, 0xff000000, true); - - return drm; - } diff --git a/packages/emulators/libretro/retroarch/patches/RK3566-BSP/0011-librga.patch b/packages/emulators/libretro/retroarch/patches/RK3566-BSP/0011-librga.patch deleted file mode 100644 index 7f875aea1..000000000 --- a/packages/emulators/libretro/retroarch/patches/RK3566-BSP/0011-librga.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rupN retroarch.orig/gfx/drivers/oga_gfx.c retroarch/gfx/drivers/oga_gfx.c ---- retroarch.orig/gfx/drivers/oga_gfx.c 2022-02-28 19:40:46.222185295 -0500 -+++ retroarch/gfx/drivers/oga_gfx.c 2022-02-28 19:44:14.187909576 -0500 -@@ -22,7 +22,7 @@ - #include "../../verbosity.h" - #include - #include --#include -+#include - #include - #include - #include diff --git a/packages/emulators/libretro/retroarch/patches/RK3566-BSP/002-display-tweaks.patch b/packages/emulators/libretro/retroarch/patches/RK3566-BSP/002-display-tweaks.patch deleted file mode 100644 index bc388cce9..000000000 --- a/packages/emulators/libretro/retroarch/patches/RK3566-BSP/002-display-tweaks.patch +++ /dev/null @@ -1,35 +0,0 @@ -Correct DRM format on Powkiddy x55, extracted from PowKiddy x55 sources. -diff --git a/deps/libgo2/src/display.c b/deps/libgo2/src/display.c -index b91cf0624b..936b677fc4 100644 ---- a/deps/libgo2/src/display.c -+++ b/deps/libgo2/src/display.c -@@ -550,7 +550,7 @@ static uint32_t go2_rkformat_get(uint32_t drm_fourcc) - - case DRM_FORMAT_ARGB8888: - case DRM_FORMAT_XRGB8888: -- return RK_FORMAT_BGRA_8888; -+ return RK_FORMAT_RGBA_8888; - - case DRM_FORMAT_RGB565: - return RK_FORMAT_RGB_565; -@@ -586,6 +586,7 @@ void go2_surface_blit(go2_surface_t* srcSurface, int srcX, int srcY, int srcWidt - dst.rect.hstride = dstSurface->height; - dst.rect.format = go2_rkformat_get(dstSurface->format); - -+ - rga_info_t src = { 0 }; - src.fd = go2_surface_prime_fd(srcSurface); - src.mmuFlag = 1; -diff --git a/gfx/drivers_context/drm_go2_ctx.c b/gfx/drivers_context/drm_go2_ctx.c -index b758137703..dbcb992279 100644 ---- a/gfx/drivers_context/drm_go2_ctx.c -+++ b/gfx/drivers_context/drm_go2_ctx.c -@@ -133,7 +133,7 @@ static void *gfx_ctx_go2_drm_init(void *video_driver) - } - - drm->presenter = go2_presenter_create(drm->display, -- DRM_FORMAT_RGB565, 0xff000000, true); -+ DRM_FORMAT_XRGB8888, 0xff000000, true); - - return drm; - } diff --git a/packages/emulators/libretro/retroarch/patches/RK3566-BSP/003-fix-go2-rotation.patch b/packages/emulators/libretro/retroarch/patches/RK3566-BSP/003-fix-go2-rotation.patch deleted file mode 100644 index 1adb62ad5..000000000 --- a/packages/emulators/libretro/retroarch/patches/RK3566-BSP/003-fix-go2-rotation.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/gfx/drivers_context/drm_go2_ctx.c b/gfx/drivers_context/drm_go2_ctx.c -index 856aa0f9a2..baa0ca723a 100644 ---- a/gfx/drivers_context/drm_go2_ctx.c -+++ b/gfx/drivers_context/drm_go2_ctx.c -@@ -122,7 +122,7 @@ static void *gfx_ctx_go2_drm_init(void *video_driver) - drm->native_height = go2_display_width_get(drm->display); - - /* This driver should only be used on rotated screens */ -- if (drm->native_width < drm->native_height) -+ if (drm->native_width <= drm->native_height) - { - /* This should be fixed by using wayland/weston... */ - go2_display_destroy(drm->display); diff --git a/packages/themes/es-theme-art-book-next/package.mk b/packages/themes/es-theme-art-book-next/package.mk deleted file mode 100644 index 127f266f9..000000000 --- a/packages/themes/es-theme-art-book-next/package.mk +++ /dev/null @@ -1,20 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-or-later -# Copyright (C) 2020 Shanti Gilbert (https://github.com/shantigilbert) -# Copyright (C) 2020 351ELEC team (https://github.com/fewtarius/351ELEC) -# Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) - -PKG_NAME="es-theme-art-book-next" -PKG_VERSION="ca90abef8ae88c573e588436490aa2cb366062cd" -PKG_ARCH="any" -PKG_LICENSE="CUSTOM" -PKG_SITE="https://github.com/anthonycaccese/art-book-next-jelos" -PKG_URL="${PKG_SITE}.git" -GET_HANDLER_SUPPORT="git" -PKG_SHORTDESC="Art Book Next" -PKG_LONGDESC="Art Book Next" -PKG_TOOLCHAIN="manual" - -makeinstall_target() { - mkdir -p ${INSTALL}/usr/share/themes/${PKG_NAME} - cp -rf * ${INSTALL}/usr/share/themes/${PKG_NAME} -} From c90267390cfc7e305db16278546426ac0f5242b4 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Sun, 24 Mar 2024 01:02:10 +0000 Subject: [PATCH 11/77] remove more bsp stuff --- packages/emulators/libretro/retroarch/package.mk | 6 ------ 1 file changed, 6 deletions(-) diff --git a/packages/emulators/libretro/retroarch/package.mk b/packages/emulators/libretro/retroarch/package.mk index 0a215f6d6..4b4443af2 100644 --- a/packages/emulators/libretro/retroarch/package.mk +++ b/packages/emulators/libretro/retroarch/package.mk @@ -31,12 +31,6 @@ PKG_CONFIGURE_OPTS_TARGET=" --disable-qt \ --enable-kms \ --enable-ffmpeg" -case ${PROJECT} in - Rockchip) - PKG_DEPENDS_TARGET+=" librga" - ;; -esac - case ${ARCH} in arm) PKG_CONFIGURE_OPTS_TARGET+=" --enable-neon" From ce9defa9ad509977737ba045405d66faf85a7d5d Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Sun, 24 Mar 2024 11:35:49 +0000 Subject: [PATCH 12/77] RGB30 work. Wifi and input drivers --- distributions/ROCKNIX/options | 7 - packages/apps/libgo2/package.mk | 29 - .../apps/libgo2/patches/001-libevdev.patch | 12 - .../quirks/platforms/RK3566/001-device_config | 1 + packages/ui/emulationstation/package.mk | 2 +- .../devices/RK3566/linux/linux.aarch64.conf | 4 +- .../linux/RK3566/003-singleadc-joypad.patch | 1703 +++++++++++++++++ .../linux/RK3566/018-powkiddy-wifi.patch | 343 ++++ 8 files changed, 2051 insertions(+), 50 deletions(-) delete mode 100644 packages/apps/libgo2/package.mk delete mode 100644 packages/apps/libgo2/patches/001-libevdev.patch create mode 100644 projects/Rockchip/patches/linux/RK3566/003-singleadc-joypad.patch create mode 100644 projects/Rockchip/patches/linux/RK3566/018-powkiddy-wifi.patch diff --git a/distributions/ROCKNIX/options b/distributions/ROCKNIX/options index 21e3c8371..b782aa9be 100644 --- a/distributions/ROCKNIX/options +++ b/distributions/ROCKNIX/options @@ -49,13 +49,6 @@ CLEAN_NETWORK="RTL8821CS-firmware" CLEAN_EMU_32BIT="lib32 box86 pcsx_rearmed-lr arm" -# Make sure we clean a minimal number of packages for devices with -# a BSP kernel and a rotated display when using DEVICE_ROOT. - if [ -n "${DEVICE_ROOT}" ] - then - CLEAN_DEVICE_ROOT="busybox systemd initramfs linux u-boot libmali_rk3588 SDL2 SDL2-rotated retroarch mupen64plus-sa-input-sdl flycast-sa duckstation-sa drastic-sa fileman oga_controls portmaster glew-cmake" - fi - # additional drivers to install: # for a list of additional drivers see packages/linux-drivers # Space separated list is supported, diff --git a/packages/apps/libgo2/package.mk b/packages/apps/libgo2/package.mk deleted file mode 100644 index 9efa3cc1c..000000000 --- a/packages/apps/libgo2/package.mk +++ /dev/null @@ -1,29 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2020-present Shanti Gilbert (https://github.com/shantigilbert) - -PKG_NAME="libgo2" -PKG_VERSION="bc992566bb86f2fe0c8d981d4db46e2e2beb5b0e" -PKG_SHA256="89ad1cf229d581fa8e4498f4f4c526215176e79885e935bd7dc48c5872655f92" -PKG_ARCH="arm aarch64" -PKG_LICENSE="LGPL" -PKG_DEPENDS_TARGET="toolchain libevdev librga openal-soft" -PKG_SITE="https://github.com/OtherCrashOverride/libgo2" -PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz" -PKG_LONGDESC="Support library for the ODROID-GO Advance " -PKG_TOOLCHAIN="make" - -PKG_PATCH_DIRS+="${DEVICE}" - -PKG_MAKE_OPTS_TARGET=" config=release ARCH= INCLUDES=-I${SYSROOT_PREFIX}/usr/include/libdrm -I${SYSROOT_PREFIX}/usr/include " - -makeinstall_target() { -mkdir -p ${INSTALL}/usr/lib -cp libgo2.so ${INSTALL}/usr/lib - -mkdir -p ${SYSROOT_PREFIX}/usr/include/go2 -cp src/*.h ${SYSROOT_PREFIX}/usr/include/go2 - -mkdir -p ${SYSROOT_PREFIX}/usr/lib -cp libgo2.so ${SYSROOT_PREFIX}/usr/lib -} - diff --git a/packages/apps/libgo2/patches/001-libevdev.patch b/packages/apps/libgo2/patches/001-libevdev.patch deleted file mode 100644 index 54a826984..000000000 --- a/packages/apps/libgo2/patches/001-libevdev.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rupN libgo2.orig/src/input.c libgo2/src/input.c ---- libgo2.orig/src/input.c 2024-02-04 10:10:05.940094235 +0000 -+++ libgo2/src/input.c 2024-02-04 10:10:41.394393160 +0000 -@@ -33,7 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fi - #include - #include - --#include -+#include - #include - - diff --git a/packages/hardware/quirks/platforms/RK3566/001-device_config b/packages/hardware/quirks/platforms/RK3566/001-device_config index bc5588143..4292d302b 100755 --- a/packages/hardware/quirks/platforms/RK3566/001-device_config +++ b/packages/hardware/quirks/platforms/RK3566/001-device_config @@ -6,4 +6,5 @@ cat </storage/.config/profile.d/001-device_config DEVICE_FAKE_JACKSENSE="false" DEVICE_POWER_LED="false" DEVICE_BRIGHTNESS="128" +DEVICE_BATTERY_LED_STATUS="true" EOF diff --git a/packages/ui/emulationstation/package.mk b/packages/ui/emulationstation/package.mk index d491e61fc..f8e4e46b6 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="86666dc57d4fb25debd90d7830c6f1e75b0cc002" +PKG_VERSION="0feded0e3275440b3c2eaddfd778c2cca515be83" PKG_GIT_CLONE_BRANCH="main" PKG_REV="1" PKG_ARCH="any" diff --git a/projects/Rockchip/devices/RK3566/linux/linux.aarch64.conf b/projects/Rockchip/devices/RK3566/linux/linux.aarch64.conf index 948e59e1b..5c0855579 100644 --- a/projects/Rockchip/devices/RK3566/linux/linux.aarch64.conf +++ b/projects/Rockchip/devices/RK3566/linux/linux.aarch64.conf @@ -1453,7 +1453,7 @@ CONFIG_BT_HCIUART_ATH3K=y # 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_RTL=y # CONFIG_BT_HCIUART_QCA is not set # CONFIG_BT_HCIUART_AG6XX is not set # CONFIG_BT_HCIUART_MRVL is not set @@ -2762,6 +2762,7 @@ CONFIG_ISDN_CAPI=y CONFIG_INPUT=y CONFIG_INPUT_LEDS=y CONFIG_INPUT_FF_MEMLESS=y +CONFIG_INPUT_POLLDEV=y # CONFIG_INPUT_SPARSEKMAP is not set CONFIG_INPUT_MATRIXKMAP=y CONFIG_INPUT_VIVALDIFMAP=y @@ -2824,6 +2825,7 @@ CONFIG_INPUT_JOYSTICK=y # CONFIG_JOYSTICK_ANALOG is not set # CONFIG_JOYSTICK_A3D is not set CONFIG_JOYSTICK_ADC=y +CONFIG_JOYSTICK_SINGLEADCJOY=y # CONFIG_JOYSTICK_ADI is not set # CONFIG_JOYSTICK_COBRA is not set # CONFIG_JOYSTICK_GF2K is not set diff --git a/projects/Rockchip/patches/linux/RK3566/003-singleadc-joypad.patch b/projects/Rockchip/patches/linux/RK3566/003-singleadc-joypad.patch new file mode 100644 index 000000000..c8a413600 --- /dev/null +++ b/projects/Rockchip/patches/linux/RK3566/003-singleadc-joypad.patch @@ -0,0 +1,1703 @@ +diff -rupN linux.orig/drivers/gpio/gpiolib-of.c linux/drivers/gpio/gpiolib-of.c +--- linux.orig/drivers/gpio/gpiolib-of.c 2024-03-24 02:53:55.876805705 +0000 ++++ linux/drivers/gpio/gpiolib-of.c 2024-03-24 03:55:35.622257619 +0000 +@@ -25,21 +25,6 @@ + #include "gpiolib.h" + #include "gpiolib-of.h" + +-/* +- * This is Linux-specific flags. By default controllers' and Linux' mapping +- * match, but GPIO controllers are free to translate their own flags to +- * Linux-specific in their .xlate callback. Though, 1:1 mapping is recommended. +- */ +-enum of_gpio_flags { +- OF_GPIO_ACTIVE_LOW = 0x1, +- OF_GPIO_SINGLE_ENDED = 0x2, +- OF_GPIO_OPEN_DRAIN = 0x4, +- OF_GPIO_TRANSITORY = 0x8, +- OF_GPIO_PULL_UP = 0x10, +- OF_GPIO_PULL_DOWN = 0x20, +- OF_GPIO_PULL_DISABLE = 0x40, +-}; +- + /** + * of_gpio_named_count() - Count GPIOs for a device + * @np: device node to count GPIOs for +@@ -408,6 +393,20 @@ out: + return desc; + } + ++int of_get_named_gpio_flags(const struct device_node *np, const char *list_name, ++ int index, enum of_gpio_flags *flags) ++{ ++ struct gpio_desc *desc; ++ ++ desc = of_get_named_gpiod_flags(np, list_name, index, flags); ++ ++ if (IS_ERR(desc)) ++ return PTR_ERR(desc); ++ else ++ return desc_to_gpio(desc); ++} ++EXPORT_SYMBOL_GPL(of_get_named_gpio_flags); ++ + /** + * 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-03-24 02:53:56.212816531 +0000 ++++ linux/drivers/input/Kconfig 2024-03-24 03:55:35.622257619 +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. + ++config INPUT_POLLDEV ++ tristate "Polled input device skeleton" ++ help ++ Say Y here if you are using a driver for an input ++ device that periodically polls hardware state. This ++ option is only useful for out-of-tree drivers since ++ in-tree drivers select it automatically. ++ ++ If unsure, say N. ++ ++ To compile this driver as a module, choose M here: the ++ module will be called input-polldev. ++ + config INPUT_SPARSEKMAP + tristate "Sparse keymap support library" + help +diff -rupN linux.orig/drivers/input/Makefile linux/drivers/input/Makefile +--- linux.orig/drivers/input/Makefile 2024-03-24 02:53:56.212816531 +0000 ++++ linux/drivers/input/Makefile 2024-03-24 03:55:35.622257619 +0000 +@@ -10,6 +10,7 @@ input-core-y := input.o input-compat.o i + input-core-y += touchscreen.o + + obj-$(CONFIG_INPUT_FF_MEMLESS) += ff-memless.o ++obj-$(CONFIG_INPUT_POLLDEV) += input-polldev.o + obj-$(CONFIG_INPUT_SPARSEKMAP) += sparse-keymap.o + obj-$(CONFIG_INPUT_MATRIXKMAP) += matrix-keymap.o + 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-03-24 03:55:35.622257619 +0000 +@@ -0,0 +1,362 @@ ++// SPDX-License-Identifier: GPL-2.0-only ++/* ++ * Generic implementation of a polled input device ++ ++ * Copyright (c) 2007 Dmitry Torokhov ++ */ ++ ++#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++MODULE_AUTHOR("Dmitry Torokhov "); ++MODULE_DESCRIPTION("Generic implementation of a polled input device"); ++MODULE_LICENSE("GPL v2"); ++ ++static void input_polldev_queue_work(struct input_polled_dev *dev) ++{ ++ unsigned long delay; ++ ++ delay = msecs_to_jiffies(dev->poll_interval); ++ if (delay >= HZ) ++ delay = round_jiffies_relative(delay); ++ ++ queue_delayed_work(system_freezable_wq, &dev->work, delay); ++} ++ ++static void input_polled_device_work(struct work_struct *work) ++{ ++ struct input_polled_dev *dev = ++ container_of(work, struct input_polled_dev, work.work); ++ ++ dev->poll(dev); ++ input_polldev_queue_work(dev); ++} ++ ++static int input_open_polled_device(struct input_dev *input) ++{ ++ struct input_polled_dev *dev = input_get_drvdata(input); ++ ++ if (dev->open) ++ dev->open(dev); ++ ++ /* Only start polling if polling is enabled */ ++ if (dev->poll_interval > 0) { ++ dev->poll(dev); ++ input_polldev_queue_work(dev); ++ } ++ ++ return 0; ++} ++ ++static void input_close_polled_device(struct input_dev *input) ++{ ++ struct input_polled_dev *dev = input_get_drvdata(input); ++ ++ cancel_delayed_work_sync(&dev->work); ++ ++ if (dev->close) ++ dev->close(dev); ++} ++ ++/* SYSFS interface */ ++ ++static ssize_t input_polldev_get_poll(struct device *dev, ++ struct device_attribute *attr, char *buf) ++{ ++ struct input_polled_dev *polldev = dev_get_drvdata(dev); ++ ++ return sprintf(buf, "%d\n", polldev->poll_interval); ++} ++ ++static ssize_t input_polldev_set_poll(struct device *dev, ++ struct device_attribute *attr, const char *buf, ++ size_t count) ++{ ++ struct input_polled_dev *polldev = dev_get_drvdata(dev); ++ struct input_dev *input = polldev->input; ++ unsigned int interval; ++ int err; ++ ++ err = kstrtouint(buf, 0, &interval); ++ if (err) ++ return err; ++ ++ if (interval < polldev->poll_interval_min) ++ return -EINVAL; ++ ++ if (interval > polldev->poll_interval_max) ++ return -EINVAL; ++ ++ mutex_lock(&input->mutex); ++ ++ polldev->poll_interval = interval; ++ ++ if (input->users) { ++ cancel_delayed_work_sync(&polldev->work); ++ if (polldev->poll_interval > 0) ++ input_polldev_queue_work(polldev); ++ } ++ ++ mutex_unlock(&input->mutex); ++ ++ return count; ++} ++ ++static DEVICE_ATTR(poll, S_IRUGO | S_IWUSR, input_polldev_get_poll, ++ input_polldev_set_poll); ++ ++ ++static ssize_t input_polldev_get_max(struct device *dev, ++ struct device_attribute *attr, char *buf) ++{ ++ struct input_polled_dev *polldev = dev_get_drvdata(dev); ++ ++ return sprintf(buf, "%d\n", polldev->poll_interval_max); ++} ++ ++static DEVICE_ATTR(max, S_IRUGO, input_polldev_get_max, NULL); ++ ++static ssize_t input_polldev_get_min(struct device *dev, ++ struct device_attribute *attr, char *buf) ++{ ++ struct input_polled_dev *polldev = dev_get_drvdata(dev); ++ ++ return sprintf(buf, "%d\n", polldev->poll_interval_min); ++} ++ ++static DEVICE_ATTR(min, S_IRUGO, input_polldev_get_min, NULL); ++ ++static struct attribute *sysfs_attrs[] = { ++ &dev_attr_poll.attr, ++ &dev_attr_max.attr, ++ &dev_attr_min.attr, ++ NULL ++}; ++ ++static struct attribute_group input_polldev_attribute_group = { ++ .attrs = sysfs_attrs ++}; ++ ++static const struct attribute_group *input_polldev_attribute_groups[] = { ++ &input_polldev_attribute_group, ++ NULL ++}; ++ ++/** ++ * input_allocate_polled_device - allocate memory for polled device ++ * ++ * The function allocates memory for a polled device and also ++ * for an input device associated with this polled device. ++ */ ++struct input_polled_dev *input_allocate_polled_device(void) ++{ ++ struct input_polled_dev *dev; ++ ++ dev = kzalloc(sizeof(struct input_polled_dev), GFP_KERNEL); ++ if (!dev) ++ return NULL; ++ ++ dev->input = input_allocate_device(); ++ if (!dev->input) { ++ kfree(dev); ++ return NULL; ++ } ++ ++ return dev; ++} ++EXPORT_SYMBOL(input_allocate_polled_device); ++ ++struct input_polled_devres { ++ struct input_polled_dev *polldev; ++}; ++ ++static int devm_input_polldev_match(struct device *dev, void *res, void *data) ++{ ++ struct input_polled_devres *devres = res; ++ ++ return devres->polldev == data; ++} ++ ++static void devm_input_polldev_release(struct device *dev, void *res) ++{ ++ struct input_polled_devres *devres = res; ++ struct input_polled_dev *polldev = devres->polldev; ++ ++ dev_dbg(dev, "%s: dropping reference/freeing %s\n", ++ __func__, dev_name(&polldev->input->dev)); ++ ++ input_put_device(polldev->input); ++ kfree(polldev); ++} ++ ++static void devm_input_polldev_unregister(struct device *dev, void *res) ++{ ++ struct input_polled_devres *devres = res; ++ struct input_polled_dev *polldev = devres->polldev; ++ ++ dev_dbg(dev, "%s: unregistering device %s\n", ++ __func__, dev_name(&polldev->input->dev)); ++ input_unregister_device(polldev->input); ++ ++ /* ++ * Note that we are still holding extra reference to the input ++ * device so it will stick around until devm_input_polldev_release() ++ * is called. ++ */ ++} ++ ++/** ++ * devm_input_allocate_polled_device - allocate managed polled device ++ * @dev: device owning the polled device being created ++ * ++ * Returns prepared &struct input_polled_dev or %NULL. ++ * ++ * Managed polled input devices do not need to be explicitly unregistered ++ * or freed as it will be done automatically when owner device unbinds ++ * from * its driver (or binding fails). Once such managed polled device ++ * is allocated, it is ready to be set up and registered in the same ++ * fashion as regular polled input devices (using ++ * input_register_polled_device() function). ++ * ++ * If you want to manually unregister and free such managed polled devices, ++ * it can be still done by calling input_unregister_polled_device() and ++ * input_free_polled_device(), although it is rarely needed. ++ * ++ * NOTE: the owner device is set up as parent of input device and users ++ * should not override it. ++ */ ++struct input_polled_dev *devm_input_allocate_polled_device(struct device *dev) ++{ ++ struct input_polled_dev *polldev; ++ struct input_polled_devres *devres; ++ ++ devres = devres_alloc(devm_input_polldev_release, sizeof(*devres), ++ GFP_KERNEL); ++ if (!devres) ++ return NULL; ++ ++ polldev = input_allocate_polled_device(); ++ if (!polldev) { ++ devres_free(devres); ++ return NULL; ++ } ++ ++ polldev->input->dev.parent = dev; ++ polldev->devres_managed = true; ++ ++ devres->polldev = polldev; ++ devres_add(dev, devres); ++ ++ return polldev; ++} ++EXPORT_SYMBOL(devm_input_allocate_polled_device); ++ ++/** ++ * input_free_polled_device - free memory allocated for polled device ++ * @dev: device to free ++ * ++ * The function frees memory allocated for polling device and drops ++ * reference to the associated input device. ++ */ ++void input_free_polled_device(struct input_polled_dev *dev) ++{ ++ if (dev) { ++ if (dev->devres_managed) ++ WARN_ON(devres_destroy(dev->input->dev.parent, ++ devm_input_polldev_release, ++ devm_input_polldev_match, ++ dev)); ++ input_put_device(dev->input); ++ kfree(dev); ++ } ++} ++EXPORT_SYMBOL(input_free_polled_device); ++ ++/** ++ * input_register_polled_device - register polled device ++ * @dev: device to register ++ * ++ * The function registers previously initialized polled input device ++ * with input layer. The device should be allocated with call to ++ * input_allocate_polled_device(). Callers should also set up poll() ++ * method and set up capabilities (id, name, phys, bits) of the ++ * corresponding input_dev structure. ++ */ ++int input_register_polled_device(struct input_polled_dev *dev) ++{ ++ struct input_polled_devres *devres = NULL; ++ struct input_dev *input = dev->input; ++ int error; ++ ++ if (dev->devres_managed) { ++ devres = devres_alloc(devm_input_polldev_unregister, ++ sizeof(*devres), GFP_KERNEL); ++ if (!devres) ++ return -ENOMEM; ++ ++ devres->polldev = dev; ++ } ++ ++ input_set_drvdata(input, dev); ++ INIT_DELAYED_WORK(&dev->work, input_polled_device_work); ++ ++ if (!dev->poll_interval) ++ dev->poll_interval = 500; ++ if (!dev->poll_interval_max) ++ dev->poll_interval_max = dev->poll_interval; ++ ++ input->open = input_open_polled_device; ++ input->close = input_close_polled_device; ++ ++ input->dev.groups = input_polldev_attribute_groups; ++ ++ error = input_register_device(input); ++ if (error) { ++ devres_free(devres); ++ return error; ++ } ++ ++ /* ++ * Take extra reference to the underlying input device so ++ * that it survives call to input_unregister_polled_device() ++ * and is deleted only after input_free_polled_device() ++ * has been invoked. This is needed to ease task of freeing ++ * sparse keymaps. ++ */ ++ input_get_device(input); ++ ++ if (dev->devres_managed) { ++ dev_dbg(input->dev.parent, "%s: registering %s with devres.\n", ++ __func__, dev_name(&input->dev)); ++ devres_add(input->dev.parent, devres); ++ } ++ ++ return 0; ++} ++EXPORT_SYMBOL(input_register_polled_device); ++ ++/** ++ * input_unregister_polled_device - unregister polled device ++ * @dev: device to unregister ++ * ++ * The function unregisters previously registered polled input ++ * device from input layer. Polling is stopped and device is ++ * ready to be freed with call to input_free_polled_device(). ++ */ ++void input_unregister_polled_device(struct input_polled_dev *dev) ++{ ++ if (dev->devres_managed) ++ WARN_ON(devres_destroy(dev->input->dev.parent, ++ devm_input_polldev_unregister, ++ devm_input_polldev_match, ++ dev)); ++ ++ input_unregister_device(dev->input); ++} ++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-03-24 02:53:56.212816531 +0000 ++++ linux/drivers/input/joystick/Kconfig 2024-03-24 03:59:42.593817633 +0000 +@@ -393,6 +393,11 @@ config JOYSTICK_FSIA6B + To compile this driver as a module, choose M here: the + module will be called fsia6b. + ++config JOYSTICK_SINGLEADCJOY ++ tristate "Single SARADC dual-joystick gamepad driver" ++ help ++ The 1-in 4-out SARADC joypad driver. ++ + config JOYSTICK_N64 + bool "N64 controller" + depends on MACH_NINTENDO64 +diff -rupN linux.orig/drivers/input/joystick/Makefile linux/drivers/input/joystick/Makefile +--- linux.orig/drivers/input/joystick/Makefile 2024-03-24 02:53:56.212816531 +0000 ++++ linux/drivers/input/joystick/Makefile 2024-03-24 04:00:48.251843236 +0000 +@@ -31,6 +31,7 @@ obj-$(CONFIG_JOYSTICK_QWIIC) += qwiic-j + obj-$(CONFIG_JOYSTICK_SEESAW) += adafruit-seesaw.o + obj-$(CONFIG_JOYSTICK_SENSEHAT) += sensehat-joystick.o + obj-$(CONFIG_JOYSTICK_SIDEWINDER) += sidewinder.o ++obj-$(CONFIG_JOYSTICK_SINGLEADCJOY) += singleadcjoy.o + obj-$(CONFIG_JOYSTICK_SPACEBALL) += spaceball.o + obj-$(CONFIG_JOYSTICK_SPACEORB) += spaceorb.o + obj-$(CONFIG_JOYSTICK_STINGER) += stinger.o +diff -rupN linux.orig/drivers/input/joystick/singleadcjoy.c linux/drivers/input/joystick/singleadcjoy.c +--- linux.orig/drivers/input/joystick/singleadcjoy.c 1970-01-01 00:00:00.000000000 +0000 ++++ linux/drivers/input/joystick/singleadcjoy.c 2024-03-24 04:14:46.986012424 +0000 +@@ -0,0 +1,1087 @@ ++/*----------------------------------------------------------------------------*/ ++ ++/* ++ * Copyright (c) 2008-2021 Anbernic ++ */ ++ ++/* ++ * Single SARADC dual-joystick gamepad driver ++ */ ++ ++/*----------------------------------------------------------------------------*/ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/*----------------------------------------------------------------------------*/ ++#define DRV_NAME "retrogame_joypad" ++#define __LEFT_JOYSTICK_INVERT__ ++#define __MURMUR__ ++/*----------------------------------------------------------------------------*/ ++#define ADC_MAX_VOLTAGE 1800 ++#define ADC_DATA_TUNING(x, p) ((x * p) / 100) ++#define ADC_TUNING_DEFAULT 180 ++ ++struct bt_adc { ++ /* report value (mV) */ ++ int 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; ++ /* amux channel */ ++ int amux_ch; ++ /* adc data tuning value([percent), p = positive, n = negative */ ++ int tuning_p, tuning_n; ++}; ++ ++struct analog_mux { ++ /* IIO ADC Channel : amux connect channel */ ++ struct iio_channel *iio_ch; ++ /* analog mux select(a,b) gpio */ ++ int sel_a_gpio, sel_b_gpio; ++ /* analog mux enable gpio */ ++ int en_gpio; ++}; ++ ++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; ++ ++ /* analog mux & joystick control */ ++ struct analog_mux *amux; ++ /* analog mux max count */ ++ int amux_count; ++ /* analog button */ ++ struct bt_adc *adcs; ++ ++ /* 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; ++ /* adc read value scale */ ++ int bt_adc_scale; ++ /* joystick deadzone control */ ++ int bt_adc_deadzone; ++ ++ struct mutex lock; ++ ++ /* amux debug channel */ ++ int debug_ch; ++}; ++ ++/*----------------------------------------------------------------------------*/ ++// ++// set to the value in the boot.ini file. (if exist) ++// ++/*----------------------------------------------------------------------------*/ ++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 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_amux_select(struct analog_mux *amux, int channel) ++{ ++ /* select mux channel */ ++ gpio_set_value(amux->en_gpio, 0); ++ ++ switch(channel) { ++ case 0: /* EVENT (ABS_RY) */ ++ gpio_set_value(amux->sel_a_gpio, 0); ++ gpio_set_value(amux->sel_b_gpio, 0); ++ break; ++ case 1: /* EVENT (ABS_RX) */ ++ gpio_set_value(amux->sel_a_gpio, 0); ++ gpio_set_value(amux->sel_b_gpio, 1); ++ break; ++ case 2: /* EVENT (ABS_Y) */ ++ gpio_set_value(amux->sel_a_gpio, 1); ++ gpio_set_value(amux->sel_b_gpio, 0); ++ break; ++ case 3: /* EVENT (ABS_X) */ ++ gpio_set_value(amux->sel_a_gpio, 1); ++ gpio_set_value(amux->sel_b_gpio, 1); ++ break; ++ default: ++ /* amux disanle */ ++ gpio_set_value(amux->en_gpio, 1); ++ return -1; ++ } ++ /* mux swtiching speed : 35ns(on) / 9ns(off) */ ++ usleep_range(10, 20); ++ return 0; ++} ++ ++/*----------------------------------------------------------------------------*/ ++static int joypad_adc_read(struct analog_mux *amux, struct bt_adc *adc) ++{ ++ int value; ++ ++ ++ if (joypad_amux_select(amux, adc->amux_ch)) ++ return 0; ++ ++ iio_read_channel_raw(amux->iio_ch, &value); ++ ++ value *= adc->scale; ++#ifdef __LEFT_JOYSTICK_INVERT__ ++ return value; ++#else ++ return (adc->invert ? (adc->max - value) : value); ++#endif ++} ++ ++/*----------------------------------------------------------------------------*/ ++/*----------------------------------------------------------------------------*/ ++/* ++ * ATTRIBUTES: ++ * ++ * /sys/devices/platform/retrogame_joypad/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/retrogame_joypad/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/retrogame_joypad/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/retrogame_joypad/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/retrogame_joypad/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->amux_count; nbtn++) { ++ struct bt_adc *adc = &joypad->adcs[nbtn]; ++ ++ adc->value = joypad_adc_read(joypad->amux, adc); ++ if (!adc->value) { ++ dev_err(joypad->dev, "%s : saradc channels[%d]!\n", ++ __func__, nbtn); ++ continue; ++ } ++ adc->cal = adc->value; ++ } ++ 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->amux_count; nbtn++) { ++ struct bt_adc *adc = &joypad->adcs[nbtn]; ++ pos += sprintf(&buf[pos], "adc[%d]->cal = %d\n", ++ nbtn, adc->cal); ++ } ++ pos += sprintf(&buf[pos], "adc scale = %d\n", joypad->bt_adc_scale); ++ return pos; ++} ++ ++/*----------------------------------------------------------------------------*/ ++static DEVICE_ATTR(adc_cal, S_IWUSR | S_IRUGO, ++ joypad_show_adc_cal, ++ joypad_store_adc_cal); ++ ++/*----------------------------------------------------------------------------*/ ++/* ++ * ATTRIBUTES: ++ * ++ * /sys/devices/platform/retrogame_joypad/amux_debug [rw] ++ * ++ * echo [debug channel] > amux_debug ++ * cat amux_debug : debug channel mux set & adc read ++ */ ++/*----------------------------------------------------------------------------*/ ++static ssize_t joypad_store_amux_debug(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); ++ ++ joypad->debug_ch = simple_strtoul(buf, NULL, 10); ++ ++ /* if error than default setting(debug_ch = 0) */ ++ if (joypad->debug_ch > joypad->amux_count) ++ joypad->debug_ch = 0; ++ ++ return count; ++} ++ ++/*----------------------------------------------------------------------------*/ ++static ssize_t joypad_show_amux_debug(struct device *dev, ++ struct device_attribute *attr, ++ char *buf) ++{ ++ struct platform_device *pdev = to_platform_device(dev); ++ struct joypad *joypad = platform_get_drvdata(pdev); ++ struct analog_mux *amux = joypad->amux; ++ ssize_t pos; ++ int value; ++ ++ mutex_lock(&joypad->lock); ++ ++ /* disable poll driver */ ++ if (joypad->enable) ++ joypad->enable = false; ++ ++ if (joypad_amux_select(amux, joypad->debug_ch)) ++ goto err_out; ++ ++ if (iio_read_channel_processed(amux->iio_ch, &value)) ++ goto err_out; ++ ++ pos = sprintf(buf, "amux ch[%d], adc scale = %d, adc value = %d\n", ++ joypad->debug_ch, joypad->bt_adc_scale, ++ value * joypad->bt_adc_scale); ++ goto out; ++ ++err_out: ++ pos = sprintf(buf, "error : amux setup & adc read!\n"); ++out: ++ mutex_unlock(&joypad->lock); ++ return pos; ++} ++ ++/*----------------------------------------------------------------------------*/ ++static DEVICE_ATTR(amux_debug, S_IWUSR | S_IRUGO, ++ joypad_show_amux_debug, ++ joypad_store_amux_debug); ++ ++/*----------------------------------------------------------------------------*/ ++/*----------------------------------------------------------------------------*/ ++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, ++ &dev_attr_amux_debug.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; ++ ++ for (nbtn = 0; nbtn < joypad->amux_count; nbtn++) { ++ struct bt_adc *adc = &joypad->adcs[nbtn]; ++ ++ adc->value = joypad_adc_read(joypad->amux, adc); ++ if (!adc->value) { ++ //dev_err(joypad->dev, "%s : saradc channels[%d]! adc->value : %d\n",__func__, nbtn, adc->value); ++ continue; ++ } ++ adc->value = adc->value - adc->cal; ++ ++ /* Joystick Deadzone check */ ++ if (joypad->bt_adc_deadzone) { ++ if (abs(adc->value) < joypad->bt_adc_deadzone) ++ adc->value = 0; ++ } ++ ++ /* adc data tuning */ ++ if (adc->tuning_n && adc->value < 0) ++ adc->value = ADC_DATA_TUNING(adc->value, adc->tuning_n); ++ if (adc->tuning_p && adc->value > 0) ++ adc->value = ADC_DATA_TUNING(adc->value, adc->tuning_p); ++ ++ adc->value = adc->value > adc->max ? adc->max : adc->value; ++ adc->value = adc->value < adc->min ? adc->min : adc->value; ++ ++ input_report_abs(poll_dev->input, ++ adc->report_type, ++ adc->invert ? adc->value * (-1) : adc->value); ++ } ++ input_sync(poll_dev->input); ++} ++ ++/*----------------------------------------------------------------------------*/ ++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); ++ } ++ 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->amux_count; nbtn++) { ++ struct bt_adc *adc = &joypad->adcs[nbtn]; ++ ++ adc->value = joypad_adc_read(joypad->amux, adc); ++ if (!adc->value) { ++ dev_err(joypad->dev, "%s : saradc channels[%d]!\n", ++ __func__, nbtn); ++ continue; ++ } ++ adc->cal = adc->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__); ++} ++ ++/*----------------------------------------------------------------------------*/ ++static int joypad_amux_setup(struct device *dev, struct joypad *joypad) ++{ ++ struct analog_mux *amux; ++ enum iio_chan_type type; ++ enum of_gpio_flags flags; ++ int ret; ++ ++ /* analog mux control struct init */ ++ joypad->amux = devm_kzalloc(dev, sizeof(struct analog_mux), ++ GFP_KERNEL); ++ if (!joypad->amux) { ++ dev_err(dev, "%s amux devm_kzmalloc error!", __func__); ++ return -ENOMEM; ++ } ++ amux = joypad->amux; ++ amux->iio_ch = devm_iio_channel_get(dev, "amux_adc"); ++ if (PTR_ERR(amux->iio_ch) == -EPROBE_DEFER) ++ return -EPROBE_DEFER; ++ if (IS_ERR(amux->iio_ch)) { ++ dev_err(dev, "iio channel get error\n"); ++ return -EINVAL; ++ } ++ if (!amux->iio_ch->indio_dev) ++ return -ENXIO; ++ ++ if (iio_get_channel_type(amux->iio_ch, &type)) ++ return -EINVAL; ++ ++ if (type != IIO_VOLTAGE) { ++ dev_err(dev, "Incompatible channel type %d\n", type); ++ return -EINVAL; ++ } ++ ++ amux->sel_a_gpio = of_get_named_gpio_flags(dev->of_node, ++ "amux-a-gpios", 0, &flags); ++ if (gpio_is_valid(amux->sel_a_gpio)) { ++ ret = devm_gpio_request(dev, amux->sel_a_gpio, "amux-sel-a"); ++ if (ret < 0) { ++ dev_err(dev, "%s : failed to request amux-sel-a %d\n", ++ __func__, amux->sel_a_gpio); ++ goto err_out; ++ } ++ ret = gpio_direction_output(amux->sel_a_gpio, 0); ++ if (ret < 0) ++ goto err_out; ++ } ++ ++ amux->sel_b_gpio = of_get_named_gpio_flags(dev->of_node, ++ "amux-b-gpios", 0, &flags); ++ if (gpio_is_valid(amux->sel_b_gpio)) { ++ ret = devm_gpio_request(dev, amux->sel_b_gpio, "amux-sel-b"); ++ if (ret < 0) { ++ dev_err(dev, "%s : failed to request amux-sel-b %d\n", ++ __func__, amux->sel_b_gpio); ++ goto err_out; ++ } ++ ret = gpio_direction_output(amux->sel_b_gpio, 0); ++ if (ret < 0) ++ goto err_out; ++ } ++ ++ amux->en_gpio = of_get_named_gpio_flags(dev->of_node, ++ "amux-en-gpios", 0, &flags); ++ if (gpio_is_valid(amux->en_gpio)) { ++ ret = devm_gpio_request(dev, amux->en_gpio, "amux-en"); ++ if (ret < 0) { ++ dev_err(dev, "%s : failed to request amux-en %d\n", ++ __func__, amux->en_gpio); ++ goto err_out; ++ } ++ ret = gpio_direction_output(amux->en_gpio, 0); ++ if (ret < 0) ++ goto err_out; ++ } ++ return 0; ++err_out: ++ return ret; ++} ++ ++/*----------------------------------------------------------------------------*/ ++static int joypad_adc_setup(struct device *dev, struct joypad *joypad) ++{ ++ int nbtn; ++ ++ /* adc button struct init */ ++ joypad->adcs = devm_kzalloc(dev, joypad->amux_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->amux_count; nbtn++) { ++ struct bt_adc *adc = &joypad->adcs[nbtn]; ++ ++ adc->scale = joypad->bt_adc_scale; ++ ++ adc->max = (ADC_MAX_VOLTAGE / 2); ++ adc->min = (ADC_MAX_VOLTAGE / 2) * (-1); ++ if (adc->scale) { ++ adc->max *= adc->scale; ++ adc->min *= adc->scale; ++ } ++ adc->amux_ch = nbtn; ++ adc->invert = false; ++ ++ switch (nbtn) { ++ case 0: ++ adc->report_type = ABS_RY; ++ if (device_property_read_u32(dev, ++ "abs_ry-p-tuning", ++ &adc->tuning_p)) ++ adc->tuning_p = ADC_TUNING_DEFAULT; ++ if (device_property_read_u32(dev, ++ "abs_ry-n-tuning", ++ &adc->tuning_n)) ++ adc->tuning_n = ADC_TUNING_DEFAULT; ++ break; ++ case 1: ++ adc->report_type = ABS_RX; ++ if (device_property_read_u32(dev, ++ "abs_rx-p-tuning", ++ &adc->tuning_p)) ++ adc->tuning_p = ADC_TUNING_DEFAULT; ++ if (device_property_read_u32(dev, ++ "abs_rx-n-tuning", ++ &adc->tuning_n)) ++ adc->tuning_n = ADC_TUNING_DEFAULT; ++ break; ++ case 2: ++ #ifdef __LEFT_JOYSTICK_INVERT__ ++ adc->invert = true; ++ #endif ++ adc->report_type = ABS_Y; ++ if (device_property_read_u32(dev, ++ "abs_y-p-tuning", ++ &adc->tuning_p)) ++ adc->tuning_p = ADC_TUNING_DEFAULT; ++ if (device_property_read_u32(dev, ++ "abs_y-n-tuning", ++ &adc->tuning_n)) ++ adc->tuning_n = ADC_TUNING_DEFAULT; ++ break; ++ case 3: ++ #ifdef __LEFT_JOYSTICK_INVERT__ ++ adc->invert = true; ++ #endif ++ adc->report_type = ABS_X; ++ if (device_property_read_u32(dev, ++ "abs_x-p-tuning", ++ &adc->tuning_p)) ++ adc->tuning_p = ADC_TUNING_DEFAULT; ++ if (device_property_read_u32(dev, ++ "abs_x-n-tuning", ++ &adc->tuning_n)) ++ adc->tuning_n = ADC_TUNING_DEFAULT; ++ break; ++ default : ++ dev_err(dev, "%s amux count(%d) error!", ++ __func__, nbtn); ++ 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; ++} ++ ++/*----------------------------------------------------------------------------*/ ++struct input_dev * joypad_input_g; ++ ++ ++void rk_send_key_f_key_up(void) ++{ ++ if (!joypad_input_g) ++ return; ++ ++ input_report_key(joypad_input_g, BTN_MODE, 1); ++ input_sync(joypad_input_g); ++} ++EXPORT_SYMBOL(rk_send_key_f_key_up); ++ ++ ++void rk_send_key_f_key_down(void) ++{ ++ if (!joypad_input_g) ++ return; ++ ++ input_report_key(joypad_input_g, BTN_MODE, 0); ++ input_sync(joypad_input_g); ++} ++EXPORT_SYMBOL(rk_send_key_f_key_down); ++ ++ ++static int joypad_input_setup(struct device *dev, struct joypad *joypad) ++{ ++ struct input_polled_dev *poll_dev; ++ struct input_dev *input; ++ int nbtn, error; ++ u32 joypad_revision = 0; ++ u32 joypad_product = 0; ++ ++ 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; ++ joypad_input_g=input; ++ ++ device_property_read_string(dev, "joypad-name", &input->name); ++ input->phys = DRV_NAME"/input0"; ++ ++ device_property_read_u32(dev, "joypad-revision", &joypad_revision); ++ device_property_read_u32(dev, "joypad-product", &joypad_product); ++ input->id.bustype = BUS_HOST; ++ input->id.vendor = 0x484B; ++ input->id.product = (u16)joypad_product; ++ input->id.version = (u16)joypad_revision; ++ ++ /* IIO ADC key setup (0 mv ~ 1800 mv) * adc->scale */ ++ __set_bit(EV_ABS, input->evbit); ++ for(nbtn = 0; nbtn < joypad->amux_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); ++ dev_info(dev, ++ "%s : adc tuning_p = %d, adc_tuning_n = %d\n\n", ++ __func__, adc->tuning_p, adc->tuning_n); ++ } ++ ++ /* 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); ++ } ++ ++ if (joypad->auto_repeat) ++ __set_bit(EV_REP, input->evbit); ++ ++ 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); ++ ++} ++ ++/*----------------------------------------------------------------------------*/ ++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, "amux-count", ++ &joypad->amux_count); ++ ++ device_property_read_u32(dev, "poll-interval", ++ &joypad->poll_interval); ++ ++ joypad->auto_repeat = device_property_present(dev, "autorepeat"); ++ ++ joypad->bt_gpio_count = device_get_child_node_count(dev); ++ ++ if ((joypad->amux_count == 0) || (joypad->bt_gpio_count == 0)) { ++ dev_err(dev, "adc key = %d, gpio key = %d error!", ++ joypad->amux_count, joypad->bt_gpio_count); ++ return -EINVAL; ++ } ++ ++ error = joypad_adc_setup(dev, joypad); ++ if (error) ++ return error; ++ ++ error = joypad_amux_setup(dev, joypad); ++ if (error) ++ return error; ++ ++ error = joypad_gpio_setup(dev, joypad); ++ if (error) ++ return error; ++ ++ dev_info(dev, "%s : adc key cnt = %d, gpio key cnt = %d\n", ++ __func__, joypad->amux_count, joypad->bt_gpio_count); ++ ++ return error; ++} ++ ++/*----------------------------------------------------------------------------*/ ++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; ++ } ++ dev_info(dev, "%s : probe success\n", __func__); ++ return 0; ++} ++ ++/*----------------------------------------------------------------------------*/ ++static const struct of_device_id joypad_of_match[] = { ++ { .compatible = "singleadc-joypad", }, ++ {}, ++}; ++ ++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); +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-03-24 03:55:35.622257619 +0000 +@@ -0,0 +1,58 @@ ++/* SPDX-License-Identifier: GPL-2.0-only */ ++#ifndef _INPUT_POLLDEV_H ++#define _INPUT_POLLDEV_H ++ ++/* ++ * Copyright (c) 2007 Dmitry Torokhov ++ */ ++ ++#include ++#include ++ ++/** ++ * struct input_polled_dev - simple polled input device ++ * @private: private driver data. ++ * @open: driver-supplied method that prepares device for polling ++ * (enabled the device and maybe flushes device state). ++ * @close: driver-supplied method that is called when device is no ++ * longer being polled. Used to put device into low power mode. ++ * @poll: driver-supplied method that polls the device and posts ++ * input events (mandatory). ++ * @poll_interval: specifies how often the poll() method should be called. ++ * Defaults to 500 msec unless overridden when registering the device. ++ * @poll_interval_max: specifies upper bound for the poll interval. ++ * Defaults to the initial value of @poll_interval. ++ * @poll_interval_min: specifies lower bound for the poll interval. ++ * Defaults to 0. ++ * @input: input device structure associated with the polled device. ++ * Must be properly initialized by the driver (id, name, phys, bits). ++ * ++ * Polled input device provides a skeleton for supporting simple input ++ * devices that do not raise interrupts but have to be periodically ++ * scanned or polled to detect changes in their state. ++ */ ++struct input_polled_dev { ++ void *private; ++ ++ void (*open)(struct input_polled_dev *dev); ++ void (*close)(struct input_polled_dev *dev); ++ void (*poll)(struct input_polled_dev *dev); ++ unsigned int poll_interval; /* msec */ ++ unsigned int poll_interval_max; /* msec */ ++ unsigned int poll_interval_min; /* msec */ ++ ++ struct input_dev *input; ++ ++/* private: */ ++ struct delayed_work work; ++ ++ bool devres_managed; ++}; ++ ++struct input_polled_dev *input_allocate_polled_device(void); ++struct input_polled_dev *devm_input_allocate_polled_device(struct device *dev); ++void input_free_polled_device(struct input_polled_dev *dev); ++int input_register_polled_device(struct input_polled_dev *dev); ++void input_unregister_polled_device(struct input_polled_dev *dev); ++ ++#endif +diff -rupN linux.orig/include/linux/of_gpio.h linux/include/linux/of_gpio.h +--- linux.orig/include/linux/of_gpio.h 2024-03-24 02:53:56.716832771 +0000 ++++ linux/include/linux/of_gpio.h 2024-03-24 03:55:35.622257619 +0000 +@@ -17,8 +17,26 @@ + + struct device_node; + ++/* ++ * This is Linux-specific flags. By default controllers' and Linux' mapping ++ * match, but GPIO controllers are free to translate their own flags to ++ * Linux-specific in their .xlate callback. Though, 1:1 mapping is recommended. ++ */ ++enum of_gpio_flags { ++ OF_GPIO_ACTIVE_LOW = 0x1, ++ OF_GPIO_SINGLE_ENDED = 0x2, ++ OF_GPIO_OPEN_DRAIN = 0x4, ++ OF_GPIO_TRANSITORY = 0x8, ++ OF_GPIO_PULL_UP = 0x10, ++ OF_GPIO_PULL_DOWN = 0x20, ++ OF_GPIO_PULL_DISABLE = 0x40, ++}; ++ + #ifdef CONFIG_OF_GPIO + ++extern int of_get_named_gpio_flags(const struct device_node *np, ++ const char *list_name, int index, enum of_gpio_flags *flags); ++ + extern int of_get_named_gpio(const struct device_node *np, + const char *list_name, int index); + +@@ -26,13 +44,30 @@ extern int of_get_named_gpio(const struc + + #include + +-/* Drivers may not strictly depend on the GPIO support, so let them link. */ + static inline int of_get_named_gpio(const struct device_node *np, + const char *propname, int index) + { ++ return -ENOSYS; ++} ++ ++/* Drivers may not strictly depend on the GPIO support, so let them link. */ ++static inline int of_get_named_gpio_flags(const struct device_node *np, ++ const char *list_name, int index, enum of_gpio_flags *flags) ++{ ++ if (flags) ++ *flags = 0; ++ + return -ENOSYS; + } + + #endif /* CONFIG_OF_GPIO */ + ++static inline int of_get_gpio_flags(const struct device_node *np, int index, ++ enum of_gpio_flags *flags) ++{ ++ return of_get_named_gpio_flags(np, "gpios", index, flags); ++} ++ ++//#endif /* CONFIG_OF_GPIO */ ++ + #endif /* __LINUX_OF_GPIO_H */ +diff -rupN linux.orig/include/linux/pwm.h linux/include/linux/pwm.h +--- linux.orig/include/linux/pwm.h 2024-03-24 02:53:56.724833028 +0000 ++++ linux/include/linux/pwm.h 2024-03-24 03:55:35.622257619 +0000 +@@ -110,6 +110,12 @@ static inline bool pwm_is_enabled(const + return state.enabled; + } + ++static inline void pwm_set_period(struct pwm_device *pwm, u64 period) ++{ ++ if (pwm) ++ pwm->state.period = period; ++} ++ + static inline u64 pwm_get_period(const struct pwm_device *pwm) + { + struct pwm_state state; diff --git a/projects/Rockchip/patches/linux/RK3566/018-powkiddy-wifi.patch b/projects/Rockchip/patches/linux/RK3566/018-powkiddy-wifi.patch new file mode 100644 index 000000000..0d5ce37c9 --- /dev/null +++ b/projects/Rockchip/patches/linux/RK3566/018-powkiddy-wifi.patch @@ -0,0 +1,343 @@ +diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi linux/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi +--- linux.orig/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi 2024-03-24 02:53:55.608797070 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rk2023.dtsi 2024-03-24 03:26:25.643228166 +0000 +@@ -16,61 +16,6 @@ + mmc3 = &sdmmc2; + }; + +- adc-joystick { +- compatible = "adc-joystick"; +- io-channels = <&adc_mux 0>, +- <&adc_mux 1>, +- <&adc_mux 2>, +- <&adc_mux 3>; +- pinctrl-0 = <&joy_mux_en>; +- pinctrl-names = "default"; +- poll-interval = <60>; +- #address-cells = <1>; +- #size-cells = <0>; +- +- axis@0 { +- reg = <0>; +- abs-flat = <32>; +- abs-fuzz = <32>; +- abs-range = <1023 15>; +- linux,code = ; +- }; +- +- axis@1 { +- reg = <1>; +- abs-flat = <32>; +- abs-fuzz = <32>; +- abs-range = <15 1023>; +- linux,code = ; +- }; +- +- axis@2 { +- reg = <2>; +- abs-flat = <32>; +- abs-fuzz = <32>; +- abs-range = <15 1023>; +- linux,code = ; +- }; +- +- axis@3 { +- reg = <3>; +- abs-flat = <32>; +- abs-fuzz = <32>; +- abs-range = <1023 15>; +- linux,code = ; +- }; +- }; +- +- adc_mux: adc-mux { +- compatible = "io-channel-mux"; +- channels = "left_x", "right_x", "left_y", "right_y"; +- #io-channel-cells = <1>; +- io-channels = <&saradc 3>; +- io-channel-names = "parent"; +- mux-controls = <&gpio_mux>; +- settle-time-us = <100>; +- }; +- + backlight: backlight { + compatible = "pwm-backlight"; + power-supply = <&vcc_sys>; +@@ -96,108 +41,159 @@ + <3400000 0>; + }; + +- gpio_keys_control: gpio-keys-control { +- compatible = "gpio-keys"; +- pinctrl-0 = <&btn_pins_ctrl>; +- pinctrl-names = "default"; ++ joypad: singleadc-joypad { ++ compatible = "singleadc-joypad"; ++ hw_info = <0x01>; + +- button-a { +- gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; +- label = "EAST"; +- linux,code = ; +- }; ++ joypad-name = "retrogame_joypad"; ++ joypad-product = <0x1101>; ++ joypad-revision = <0x0100>; + +- button-b { +- gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; +- label = "SOUTH"; +- linux,code = ; +- }; +- +- button-down { +- gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; +- label = "DPAD-DOWN"; +- linux,code = ; +- }; ++ status = "okay"; + +- button-l1 { +- gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; +- label = "TL"; +- linux,code = ; +- }; +- +- button-l2 { +- gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; +- label = "TL2"; +- linux,code = ; +- }; +- +- button-left { +- gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; +- label = "DPAD-LEFT"; +- linux,code = ; +- }; +- +- button-r1 { +- gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; +- label = "TR"; +- linux,code = ; +- }; +- +- button-r2 { +- gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; +- label = "TR2"; +- linux,code = ; +- }; +- +- button-right { +- gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; +- label = "DPAD-RIGHT"; +- linux,code = ; +- }; +- +- button-select { +- gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; +- label = "SELECT"; +- linux,code = ; +- }; +- +- button-start { +- gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>; +- label = "START"; +- linux,code = ; +- }; +- +- button-thumbl { +- gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; +- label = "THUMBL"; +- linux,code = ; +- }; +- +- button-thumbr { +- gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; +- label = "THUMBR"; +- linux,code = ; +- }; +- +- button-up { +- gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; +- label = "DPAD-UP"; +- linux,code = ; +- }; ++ /* gpio pincontrol setup */ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&btn_pins_ctrl>; + +- button-x { +- gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; +- label = "NORTH"; +- linux,code = ; +- }; ++ /* Analog mux define */ ++ io-channel-names = "amux_adc"; ++ io-channels = <&saradc 3>; + +- button-y { +- gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; +- label = "WEST"; +- linux,code = ; ++ /* adc mux channel count */ ++ amux-count = <4>; ++ /* adc mux select(a,b) gpio */ ++ amux-a-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>; ++ amux-b-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; ++ /* adc mux enable gpio */ ++ amux-en-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>; ++ ++ /* adc calculate scale */ ++ button-adc-scale = <2>; ++ ++ ++ /* adc deadzone range */ ++ button-adc-deadzone = <64>; ++ ++ /* ++ specifies fuzz value that is used to filter noise from ++ the event stream. ++ */ ++ button-adc-fuzz = <32>; ++ button-adc-flat = <32>; ++ ++ /* ++ Analog Stick data tuning value(precent) ++ p = positive direction, n = negative direction ++ report value = (real_adc_data * tuning_value) / 100 ++ */ ++ abs_x-p-tuning = <245>; ++ abs_x-n-tuning = <245>; ++ ++ abs_y-p-tuning = <245>; ++ abs_y-n-tuning = <245>; ++ ++ abs_rx-p-tuning = <245>; ++ abs_rx-n-tuning = <245>; ++ ++ abs_ry-p-tuning = <245>; ++ abs_ry-n-tuning = <245>; ++ ++ /* poll device interval (ms), adc read interval */ ++ poll-interval = <10>; ++ ++ /* gpio button auto repeat set value : default disable */ ++ /* ++ autorepeat; ++ */ ++ sw1 { ++ gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; ++ label = "GPIO DPAD-UP"; ++ linux,code = ; ++ }; ++ sw2 { ++ gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; ++ label = "GPIO DPAD-DOWN"; ++ linux,code = ; ++ }; ++ sw3 { ++ gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; ++ label = "GPIO DPAD-LEFT"; ++ linux,code = ; ++ }; ++ sw4 { ++ gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; ++ label = "GPIO DPAD-RIGHT"; ++ linux,code = ; ++ }; ++ sw5 { ++ gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; ++ label = "GPIO KEY BTN-A"; ++ linux,code = ; ++ }; ++ sw6 { ++ gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; ++ label = "GPIO BTN-B"; ++ linux,code = ; ++ }; ++ sw7 { ++ gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; ++ label = "GPIO BTN-X"; ++ linux,code = ; ++ }; ++ sw8 { ++ gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; ++ label = "GPIO BTN-Y"; ++ linux,code = ; ++ }; ++ sw9 { ++ gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; ++ label = "GPIO BTN_SELECT"; ++ linux,code = ; ++ }; ++ sw10 { ++ gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>; ++ label = "GPIO BTN_START"; ++ linux,code = ; ++ }; ++ sw11 { ++ gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; ++ label = "GPIO BTN_F"; ++ linux,code = ; ++ }; ++ sw12 { ++ gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; ++ label = "GPIO BTN_TL"; ++ linux,code = ; ++ }; ++ sw13 { ++ gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; ++ label = "GPIO BTN_TR"; ++ linux,code = ; ++ }; ++ sw14 { ++ gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; ++ label = "GPIO BTN_TL2"; ++ linux,code = ; ++ }; ++ sw15 { ++ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; ++ label = "GPIO BTN_TR2"; ++ linux,code = ; ++ }; ++ sw16 { ++ gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; ++ label = "GPIO BTN_THUMBL"; ++ linux,code = ; ++ }; ++ sw17 { ++ gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; ++ label = "GPIO BTN_THUMBR"; ++ linux,code = ; + }; ++ + }; + ++ + gpio_keys_vol: gpio-keys-vol { + compatible = "gpio-keys"; + autorepeat; +@@ -217,13 +213,6 @@ + }; + }; + +- gpio_mux: mux-controller { +- compatible = "gpio-mux"; +- mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>, +- <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; +- #mux-control-cells = <0>; +- }; +- + hdmi-con { + compatible = "hdmi-connector"; + ddc-i2c-bus = <&i2c5>; +@@ -790,6 +779,9 @@ + pinctrl-names = "default"; + vmmc-supply = <&vcc_wifi>; + vqmmc-supply = <&vcca1v8_pmu>; ++ no-mmc; ++ no-sd; ++ sd-uhs-sdr50; + status = "okay"; + }; + From 985b2d8ffc44e75c3d485691c4e57ec50c0cb630 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Sun, 24 Mar 2024 15:06:18 +0000 Subject: [PATCH 13/77] relable scripts to rocknix --- .../rocknix/sources/scripts/batocera-info | 1 - .../{batocera-bluetooth => rocknix-bluetooth} | 12 +++--- ...luetooth-agent => rocknix-bluetooth-agent} | 0 .../{batocera-config => rocknix-config} | 16 ++++---- ...batocera-resolution => rocknix-resolution} | 0 ...ts-info => rocknix-retroachievements-info} | 4 +- .../{batocera-scraper => rocknix-scraper} | 2 +- .../{batocera-settings => rocknix-settings} | 38 +++++++++---------- .../{batocera-systems => rocknix-systems} | 0 packages/rocknix/sources/scripts/runemu.sh | 4 +- .../rocknix/system.d/bluetooth-agent.service | 2 +- packages/ui/emulationstation/package.mk | 2 +- 12 files changed, 40 insertions(+), 41 deletions(-) delete mode 120000 packages/rocknix/sources/scripts/batocera-info rename packages/rocknix/sources/scripts/{batocera-bluetooth => rocknix-bluetooth} (91%) rename packages/rocknix/sources/scripts/{batocera-bluetooth-agent => rocknix-bluetooth-agent} (100%) rename packages/rocknix/sources/scripts/{batocera-config => rocknix-config} (91%) rename packages/rocknix/sources/scripts/{batocera-resolution => rocknix-resolution} (100%) rename packages/rocknix/sources/scripts/{batocera-retroachievements-info => rocknix-retroachievements-info} (98%) rename packages/rocknix/sources/scripts/{batocera-scraper => rocknix-scraper} (97%) rename packages/rocknix/sources/scripts/{batocera-settings => rocknix-settings} (83%) rename packages/rocknix/sources/scripts/{batocera-systems => rocknix-systems} (100%) diff --git a/packages/rocknix/sources/scripts/batocera-info b/packages/rocknix/sources/scripts/batocera-info deleted file mode 120000 index 5be5b25a3..000000000 --- a/packages/rocknix/sources/scripts/batocera-info +++ /dev/null @@ -1 +0,0 @@ -rocknix-info \ No newline at end of file diff --git a/packages/rocknix/sources/scripts/batocera-bluetooth b/packages/rocknix/sources/scripts/rocknix-bluetooth similarity index 91% rename from packages/rocknix/sources/scripts/batocera-bluetooth rename to packages/rocknix/sources/scripts/rocknix-bluetooth index d5b7dce7e..190e4e1f2 100755 --- a/packages/rocknix/sources/scripts/batocera-bluetooth +++ b/packages/rocknix/sources/scripts/rocknix-bluetooth @@ -30,17 +30,17 @@ do_remove() { then return 1 fi - + return 0 } do_trust() { - NPID=$(pgrep -f batocera-bluetooth-agent) + NPID=$(pgrep -f rocknix-bluetooth-agent) test -z "${NPID}" && return 0 touch "/var/run/bt_status" || retrun 1 LAST_MSG=$(cat "/var/run/bt_status") - + # start discovering kill -10 "${NPID}" @@ -61,11 +61,11 @@ do_trust() { # stop discovering kill -12 "${NPID}" - + } do_starttrust() { - NPID=$(pgrep -f batocera-bluetooth-agent) + NPID=$(pgrep -f rocknix-bluetooth-agent) test -z "${NPID}" && exit 0 # start discovering @@ -73,7 +73,7 @@ do_starttrust() { } do_stoptrust() { - NPID=$(pgrep -f batocera-bluetooth-agent) + NPID=$(pgrep -f rocknix-bluetooth-agent) test -z "${NPID}" && exit 0 # stop discovering diff --git a/packages/rocknix/sources/scripts/batocera-bluetooth-agent b/packages/rocknix/sources/scripts/rocknix-bluetooth-agent similarity index 100% rename from packages/rocknix/sources/scripts/batocera-bluetooth-agent rename to packages/rocknix/sources/scripts/rocknix-bluetooth-agent diff --git a/packages/rocknix/sources/scripts/batocera-config b/packages/rocknix/sources/scripts/rocknix-config similarity index 91% rename from packages/rocknix/sources/scripts/batocera-config rename to packages/rocknix/sources/scripts/rocknix-config index 48515c45c..12b43de2e 100755 --- a/packages/rocknix/sources/scripts/batocera-config +++ b/packages/rocknix/sources/scripts/rocknix-config @@ -4,11 +4,11 @@ . /etc/os-release if [ ! "$1" ];then - echo -e "usage : batocera-config [command] [args]\nWith command in\n\toverscan [enable|disable]\n\tlsaudio\n\tgetaudio\n\taudio [hdmi|jack|auto|custom|x,y]\n\tcanupdate\n\tupdate\n\twifi [enable|disable] ssid key\n\tstorage [current|list|INTERNAL|ANYEXTERNAL|RAM|DEV UUID]\n\tsetRootPassword [password]\n\tgetRootPassword\n\ttz [|tz]" + echo -e "usage : rocknix-config [command] [args]\nWith command in\n\toverscan [enable|disable]\n\tlsaudio\n\tgetaudio\n\taudio [hdmi|jack|auto|custom|x,y]\n\tcanupdate\n\tupdate\n\twifi [enable|disable] ssid key\n\tstorage [current|list|INTERNAL|ANYEXTERNAL|RAM|DEV UUID]\n\tsetRootPassword [password]\n\tgetRootPassword\n\ttz [|tz]" exit 1 fi configFile="/storage/.config/system/configs/config.txt" -storageFile="/storage/.config/system/configs/batocera-boot.conf" +storageFile="/storage/.config/system/configs/rocknix-boot.conf" command="$1" mode="$2" extra1="$3" @@ -40,11 +40,11 @@ bato_config_set_value () { fi } -#log=/userdata/system/logs/batocera.log -#systemsetting="python /usr/lib/python2.7/site-packages/configgen/settings/batoceraSettings.py" +#log=/userdata/system/logs/rocknix.log +#systemsetting="python /usr/lib/python2.7/site-packages/configgen/settings/rocknixSettings.py" log=/var/log/systemsettings.log -systemsetting="/usr/bin/batocera-settings" +systemsetting="/usr/bin/rocknix-settings" echo "----config ----" >> $log @@ -62,7 +62,7 @@ if [ "$command" == "getRootPassword" ]; then then exit 1 fi - if ! batocera-encode decode "${ENCPASSWD}" + if ! rocknix-encode decode "${ENCPASSWD}" then exit 1 fi @@ -83,7 +83,7 @@ if [ "$command" == "setRootPassword" ]; then then PASSWD=$(tr -cd _A-Z-a-z-0-9 < /dev/urandom | fold -w8 | head -n1) fi - PASSWDENC=$(batocera-encode encode "${PASSWD}") + PASSWDENC=$(rocknix-encode encode "${PASSWD}") preBootConfig if grep -qE '^[ \t]*rootshadowpassword[ \t]*=' "${storageFile}" @@ -155,7 +155,7 @@ fi if [ "$command" == "lsoutputs" ] then echo "auto" - batocera-resolution listOutputs + rocknix-resolution listOutputs fi if [ "$command" == "lsaudio" ];then diff --git a/packages/rocknix/sources/scripts/batocera-resolution b/packages/rocknix/sources/scripts/rocknix-resolution similarity index 100% rename from packages/rocknix/sources/scripts/batocera-resolution rename to packages/rocknix/sources/scripts/rocknix-resolution diff --git a/packages/rocknix/sources/scripts/batocera-retroachievements-info b/packages/rocknix/sources/scripts/rocknix-retroachievements-info similarity index 98% rename from packages/rocknix/sources/scripts/batocera-retroachievements-info rename to packages/rocknix/sources/scripts/rocknix-retroachievements-info index a36f9008e..41b96ca4f 100755 --- a/packages/rocknix/sources/scripts/batocera-retroachievements-info +++ b/packages/rocknix/sources/scripts/rocknix-retroachievements-info @@ -1,6 +1,6 @@ #!/bin/bash # -# Get RetroAchievements information for Batocera +# Get RetroAchievements information for ROCKNIX # # @lbrpdx on Batocera Forums and Discord # @@ -13,7 +13,7 @@ # 20201104 - retroachievements.org HTML changes, again, again # # Usage: -# batocera-retroachievements-info +# rocknix-retroachievements-info # CONFIGFILE="/storage/.config/system/configs/system.cfg" TIMEOUT=4 # seconds before timeout (>2 sec) diff --git a/packages/rocknix/sources/scripts/batocera-scraper b/packages/rocknix/sources/scripts/rocknix-scraper similarity index 97% rename from packages/rocknix/sources/scripts/batocera-scraper rename to packages/rocknix/sources/scripts/rocknix-scraper index ee407c36c..49004b7a5 100755 --- a/packages/rocknix/sources/scripts/batocera-scraper +++ b/packages/rocknix/sources/scripts/rocknix-scraper @@ -1,6 +1,6 @@ #!/bin/bash -systemsetting="/usr/bin/batocera-settings" +systemsetting="/usr/bin/rocknix-settings" syslang=$($systemsetting -command load -key system.language) IMGSTYLE=$($systemsetting -command load -key scrapper.style) diff --git a/packages/rocknix/sources/scripts/batocera-settings b/packages/rocknix/sources/scripts/rocknix-settings similarity index 83% rename from packages/rocknix/sources/scripts/batocera-settings rename to packages/rocknix/sources/scripts/rocknix-settings index eead7fa0d..118a8cca1 100755 --- a/packages/rocknix/sources/scripts/batocera-settings +++ b/packages/rocknix/sources/scripts/rocknix-settings @@ -1,6 +1,6 @@ #!/bin/bash -# batocera-settings can mimic batoceraSettings.py +# rocknix-settings can mimic rocknixSettings.py # goal: abolish this python script, it's useless for the sake of the load feature only # get a more user friendly environment for setting, getting and saving keys # @@ -22,16 +22,16 @@ # boolean value. # Examples: -# 'batocera-settings --command load --key wifi.enabled' will print out 0 or 1 -# 'batocera-settings --command write --key wifi.ssid -value "This is my NET"' will set 'wlan.ssid=This is my NET' -# 'batocera-settings enable wifi.ssid' will remove # from configfile (activate) -# 'batocera-settings disable wifi.enabled' will set key wifi.enabled=0 -# 'botocera-settings /myown/config.file --command status --key my.key' will output status of own config.file and my.key +# 'rocknix-settings --command load --key wifi.enabled' will print out 0 or 1 +# 'rocknix-settings --command write --key wifi.ssid -value "This is my NET"' will set 'wlan.ssid=This is my NET' +# 'rocknix-settings enable wifi.ssid' will remove # from configfile (activate) +# 'rocknix-settings disable wifi.enabled' will set key wifi.enabled=0 +# 'rocknix-settings /myown/config.file --command status --key my.key' will output status of own config.file and my.key # by cyperghost - 2019/12/30 ##### INITS ##### -BATOCERA_CONFIGFILE="/storage/.config/system/configs/system.cfg" +ROCKNIX_CONFIGFILE="/storage/.config/system/configs/system.cfg" COMMENT_CHAR_SEARCH="[#|;]" COMMENT_CHAR="#" ##### INITS ##### @@ -44,10 +44,10 @@ function get_config() { #Otherwise strip till the equal-char to obtain value local val local ret - val="$(grep -E -m1 "^\s*$1\s*=" $BATOCERA_CONFIGFILE)" + val="$(grep -E -m1 "^\s*$1\s*=" $ROCKNIX_CONFIGFILE)" ret=$? if [[ $ret -eq 1 ]]; then - val="$(grep -E -m1 "^$COMMENT_CHAR_SEARCH\s*$1\s*=" $BATOCERA_CONFIGFILE)" + val="$(grep -E -m1 "^$COMMENT_CHAR_SEARCH\s*$1\s*=" $ROCKNIX_CONFIGFILE)" ret=$? [[ $ret -eq 0 ]] && val=$COMMENT_CHAR else @@ -60,17 +60,17 @@ function get_config() { function set_config() { #Will search for first key.name at beginning of line and write value to it - sed -i "1,/^\(\s*$1\s*=\).*/s//\1$2/" "$BATOCERA_CONFIGFILE" + sed -i "1,/^\(\s*$1\s*=\).*/s//\1$2/" "$ROCKNIX_CONFIGFILE" } function uncomment_config() { #Will search for first Comment Char at beginning of line and remove it - sed -i "1,/^$COMMENT_CHAR_SEARCH\(\s*$1\)/s//\1/" "$BATOCERA_CONFIGFILE" + sed -i "1,/^$COMMENT_CHAR_SEARCH\(\s*$1\)/s//\1/" "$ROCKNIX_CONFIGFILE" } function comment_config() { #Will search for first key.name at beginning of line and add a comment char to it - sed -i "1,/^\(\s*$1\)/s//$COMMENT_CHAR\1/" "$BATOCERA_CONFIGFILE" + sed -i "1,/^\(\s*$1\)/s//$COMMENT_CHAR\1/" "$ROCKNIX_CONFIGFILE" } function check_argument() { @@ -140,10 +140,10 @@ function main() { #Filename parsed? if [[ -f "$1" ]]; then - BATOCERA_CONFIGFILE="$1" - shift + ROCKNIX_CONFIGFILE="$1" + shift else - [[ -f "$BATOCERA_CONFIGFILE" ]] || { echo "not found: $BATOCERA_CONFIGFILE" >&2; exit 2; } + [[ -f "$ROCKNIX_CONFIGFILE" ]] || { echo "not found: $ROCKNIX_CONFIGFILE" >&2; exit 2; } fi #How much arguments are parsed, up to 6 then it is the long format @@ -176,8 +176,8 @@ function main() { "stat"|"status") val="$(get_config $keyvalue)" ret=$? - [[ -f "$BATOCERA_CONFIGFILE" ]] && echo "ok: found '$BATOCERA_CONFIGFILE'" >&2 || echo "error: not found '$BATOCERA_CONFIGFILE'" >&2 - [[ -w "$BATOCERA_CONFIGFILE" ]] && echo "ok: r/w file '$BATOCERA_CONFIGFILE'" >&2 || echo "error: r/o file '$BATOCERA_CONFIGFILE'" >&2 + [[ -f "$ROCKNIX_CONFIGFILE" ]] && echo "ok: found '$ROCKNIX_CONFIGFILE'" >&2 || echo "error: not found '$ROCKNIX_CONFIGFILE'" >&2 + [[ -w "$ROCKNIX_CONFIGFILE" ]] && echo "ok: r/w file '$ROCKNIX_CONFIGFILE'" >&2 || echo "error: r/o file '$ROCKNIX_CONFIGFILE'" >&2 [[ -z "$val" && $ret -eq 1 ]] && echo "error: '$keyvalue' not found!" >&2 [[ -z "$val" && $ret -eq 0 ]] && echo "error: '$keyvalue' is empty - use 'comment' command to retrieve" >&2 [[ "$val" == "$COMMENT_CHAR" ]] && echo "error: '$keyvalue' is commented $COMMENT_CHAR!" >&2 && val= @@ -187,7 +187,7 @@ function main() { "set"|"write"|"save") #Is file write protected? - [[ -w "$BATOCERA_CONFIGFILE" ]] || { echo "r/o file: $BATOCERA_CONFIGFILE" >&2; exit 2; } + [[ -w "$ROCKNIX_CONFIGFILE" ]] || { echo "r/o file: $ROCKNIX_CONFIGFILE" >&2; exit 2; } #We can comment line above to erase keys, it's much saver to check if a value is setted [[ -z "$newvalue" ]] && echo "error: '$keyvalue' needs value to be setted" >&2 && exit 1 @@ -254,7 +254,7 @@ function main() { # Attention the unset is needed to eliminate first argument (python basefile) if [[ "${#@}" -eq 1 && "$1" =~ "mimic_python" ]]; then - #batoceraSettings.py fob + #rocknixSettings.py fob readarray -t arr <<< "$1" unset arr[0] else diff --git a/packages/rocknix/sources/scripts/batocera-systems b/packages/rocknix/sources/scripts/rocknix-systems similarity index 100% rename from packages/rocknix/sources/scripts/batocera-systems rename to packages/rocknix/sources/scripts/rocknix-systems diff --git a/packages/rocknix/sources/scripts/runemu.sh b/packages/rocknix/sources/scripts/runemu.sh index 09822ccdf..1ce3a2437 100755 --- a/packages/rocknix/sources/scripts/runemu.sh +++ b/packages/rocknix/sources/scripts/runemu.sh @@ -105,7 +105,7 @@ function bluetooth() { ${VERBOSE} && log $0 "Disabling BT" if [[ "${BLUETOOTH_STATE}" == "1" ]] then - NPID=$(pgrep -f batocera-bluetooth-agent) + NPID=$(pgrep -f rocknix-bluetooth-agent) if [[ ! -z "$NPID" ]]; then kill "$NPID" fi @@ -115,7 +115,7 @@ function bluetooth() { ${VERBOSE} && log $0 "Enabling BT" if [[ "${BLUETOOTH_STATE}" == "1" ]] then - systemd-run batocera-bluetooth-agent + systemd-run rocknix-bluetooth-agent fi fi } diff --git a/packages/rocknix/system.d/bluetooth-agent.service b/packages/rocknix/system.d/bluetooth-agent.service index dc465e214..5f4514b70 100644 --- a/packages/rocknix/system.d/bluetooth-agent.service +++ b/packages/rocknix/system.d/bluetooth-agent.service @@ -5,7 +5,7 @@ PartOf=bluetooth.service [Service] Type=simple -ExecStart=/usr/bin/batocera-bluetooth-agent +ExecStart=/usr/bin/rocknix-bluetooth-agent [Install] WantedBy=bluetooth.service diff --git a/packages/ui/emulationstation/package.mk b/packages/ui/emulationstation/package.mk index f8e4e46b6..fe8e326da 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="0feded0e3275440b3c2eaddfd778c2cca515be83" +PKG_VERSION="8d58779bbf0c49d364590f6b228b05f5367a7ba9" PKG_GIT_CLONE_BRANCH="main" PKG_REV="1" PKG_ARCH="any" From 2dc81f743e5bf3eb9a2a31b2a1706beee966c7d2 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Sun, 24 Mar 2024 21:07:49 +0000 Subject: [PATCH 14/77] sync S922X build --- projects/Amlogic/devices/S922X/options | 2 +- ...h => 0001-clk-meson-add-vclk-driver.patch} | 4 +- ...clk-g12a-clkc-add-CTS_ENCL-clock-ids.patch | 29 ----- ...12a-add-CTS_ENCL-CTS_ENCL_SEL-clocks.patch | 119 ----------------- ...ke-VCLK2-and-ENCL-clock-path-config.patch} | 6 +- ...meson-gate-px_clk-when-setting-rate.patch} | 6 +- ...n-g12-common-add-the-MIPI-DSI-nodes.patch} | 4 +- ...1-add-odroid-go-ultra-panel-support.patch} | 36 +++--- ...meson-odroid-go-ultra-add-DSI-panel.patch} | 4 +- ...x-mipi-display-output-for-odroid-go.patch} | 4 +- ...k-g12a-clkc-add-MIPI-ISP-CSI-PHY-clo.patch | 33 ----- ...on-odroid-go-ultra-correct-voltages.patch} | 4 +- ...8-clk-meson-g12a-add-MIPI-ISP-clocks.patch | 120 ------------------ ...d-go-ultra-add-over-clocking-freque.patch} | 4 +- ...-meson-g12a-add-CSI-ISP-gates-clocks.patch | 52 -------- ...d-go-ultra-specify-overclocking-fre.patch} | 4 +- ...odroid-go-ultra-remove-adc-joystick.patch} | 4 +- ...CK-panic-when-gamma-is-not-set-corr.patch} | 4 +- ...-api-changes-needed-for-joypad-driv.patch} | 6 +- ...0014-input-add-input-polldev-driver.patch} | 4 +- ...k-add-odroid-go-ultra-joypad-driver.patch} | 8 +- ...64-meson-odroid-go-ultra-add-joypad.patch} | 4 +- ...rm64-meson-odroid-disable-heartbeat.patch} | 4 +- ...64-meson-g12-common-add-mali-to-dts.patch} | 4 +- ...d-go-ultra-increase-vddcpu_a-voltag.patch} | 4 +- ...add-dt-for-powkiddy-rgb10-max-3-pro.patch} | 4 +- ...8-battery-Add-battery-driver-for-RK.patch} | 8 +- ...8-battery-Use-a-more-propper-compat.patch} | 4 +- ...8-charger-Implement-charger-driver-.patch} | 8 +- ...8-charger-Change-charger-type-to-MA.patch} | 4 +- ...8-battery-Report-charging-status-ba.patch} | 4 +- ...8-battery-Drop-dependency-on-frameb.patch} | 4 +- ...8-charger-Unify-rk818-charger-and-r.patch} | 8 +- ...8-battery-Speed-up-battery-current-.patch} | 4 +- ...8-charger-Delay-applying-input-curr.patch} | 4 +- ...8-battery-Don-t-auto-poweroff-the-P.patch} | 4 +- ...8-charger-Add-support-for-POWER_SUP.patch} | 4 +- ...8-battery-Don-t-reset-dsoc-to-0-on-.patch} | 4 +- ...battery-capacity-sanity-check-calcu.patch} | 4 +- ...7-charger-Add-input-current-limit-s.patch} | 4 +- ...7-charger-Take-input-current-limit-.patch} | 4 +- ...817-charger-Propagate-proper-errors.patch} | 4 +- ...8-battery-charger-clear-unused-vari.patch} | 4 +- ...d-go-ultra-add-battery-and-charger-.patch} | 4 +- ...rd-limit-the-volume-to-prevent-clip.patch} | 4 +- ...8_charger-change-syfs-node-name-so-.patch} | 4 +- ...id-go-ultra-add-headphone-detection.patch} | 4 +- ...-odroid-go-ultra-Improve-sound-outp.patch} | 4 +- ...2-common-remove-lower-freq-gpu-opps.patch} | 4 +- ...-internal-PCM-chmap-ELD-IEC958-kctl.patch} | 12 +- ...oid-n2-add-support-for-overclocking.patch} | 4 +- ...18_charger-fix-compiling-driver-on-6.patch | 34 +++++ ...he-Powkiddy-RGB10-Max-3-Pro-to-the-.patch} | 8 +- ...c-meson-g12b-odroid-n2-add-support-f.patch | 35 +++++ 54 files changed, 195 insertions(+), 479 deletions(-) rename projects/Amlogic/patches/linux/S922X/{0003-clk-meson-add-vclk-driver.patch => 0001-clk-meson-add-vclk-driver.patch} (98%) delete mode 100644 projects/Amlogic/patches/linux/S922X/0001-dt-bindings-clk-g12a-clkc-add-CTS_ENCL-clock-ids.patch delete mode 100644 projects/Amlogic/patches/linux/S922X/0002-clk-meson-g12a-add-CTS_ENCL-CTS_ENCL_SEL-clocks.patch rename projects/Amlogic/patches/linux/S922X/{0004-clk-meson-g12a-make-VCLK2-and-ENCL-clock-path-config.patch => 0002-clk-meson-g12a-make-VCLK2-and-ENCL-clock-path-config.patch} (97%) rename projects/Amlogic/patches/linux/S922X/{0005-drm-meson-gate-px_clk-when-setting-rate.patch => 0003-drm-meson-gate-px_clk-when-setting-rate.patch} (87%) rename projects/Amlogic/patches/linux/S922X/{0006-arm64-meson-g12-common-add-the-MIPI-DSI-nodes.patch => 0004-arm64-meson-g12-common-add-the-MIPI-DSI-nodes.patch} (95%) rename projects/Amlogic/patches/linux/S922X/{0010-drm-panel-st7701-add-odroid-go-ultra-panel-support.patch => 0005-drm-panel-st7701-add-odroid-go-ultra-panel-support.patch} (89%) rename projects/Amlogic/patches/linux/S922X/{0011-arm64-meson-odroid-go-ultra-add-DSI-panel.patch => 0006-arm64-meson-odroid-go-ultra-add-DSI-panel.patch} (94%) rename projects/Amlogic/patches/linux/S922X/{0012-clk-meson-g12a-fix-mipi-display-output-for-odroid-go.patch => 0007-clk-meson-g12a-fix-mipi-display-output-for-odroid-go.patch} (91%) delete mode 100644 projects/Amlogic/patches/linux/S922X/0007-dt-bindings-clock-g12a-clkc-add-MIPI-ISP-CSI-PHY-clo.patch rename projects/Amlogic/patches/linux/S922X/{0013-arm64-meson-odroid-go-ultra-correct-voltages.patch => 0008-arm64-meson-odroid-go-ultra-correct-voltages.patch} (94%) delete mode 100644 projects/Amlogic/patches/linux/S922X/0008-clk-meson-g12a-add-MIPI-ISP-clocks.patch rename projects/Amlogic/patches/linux/S922X/{0014-arm64-meson-odroid-go-ultra-add-over-clocking-freque.patch => 0009-arm64-meson-odroid-go-ultra-add-over-clocking-freque.patch} (91%) delete mode 100644 projects/Amlogic/patches/linux/S922X/0009-clk-meson-g12a-add-CSI-ISP-gates-clocks.patch rename projects/Amlogic/patches/linux/S922X/{0015-arm64-meson-odroid-go-ultra-specify-overclocking-fre.patch => 0010-arm64-meson-odroid-go-ultra-specify-overclocking-fre.patch} (88%) rename projects/Amlogic/patches/linux/S922X/{0016-arm64-meson-odroid-go-ultra-remove-adc-joystick.patch => 0011-arm64-meson-odroid-go-ultra-remove-adc-joystick.patch} (92%) rename projects/Amlogic/patches/linux/S922X/{0017-drm-meson-venc-HACK-panic-when-gamma-is-not-set-corr.patch => 0012-drm-meson-venc-HACK-panic-when-gamma-is-not-set-corr.patch} (93%) rename projects/Amlogic/patches/linux/S922X/{0018-gpiolib-of-revert-api-changes-needed-for-joypad-driv.patch => 0013-gpiolib-of-revert-api-changes-needed-for-joypad-driv.patch} (98%) rename projects/Amlogic/patches/linux/S922X/{0019-input-add-input-polldev-driver.patch => 0014-input-add-input-polldev-driver.patch} (99%) rename projects/Amlogic/patches/linux/S922X/{0020-input-joystick-add-odroid-go-ultra-joypad-driver.patch => 0015-input-joystick-add-odroid-go-ultra-joypad-driver.patch} (99%) rename projects/Amlogic/patches/linux/S922X/{0021-arm64-meson-odroid-go-ultra-add-joypad.patch => 0016-arm64-meson-odroid-go-ultra-add-joypad.patch} (97%) rename projects/Amlogic/patches/linux/S922X/{0022-arm64-meson-odroid-disable-heartbeat.patch => 0017-arm64-meson-odroid-disable-heartbeat.patch} (91%) rename projects/Amlogic/patches/linux/S922X/{0023-arm64-meson-g12-common-add-mali-to-dts.patch => 0018-arm64-meson-g12-common-add-mali-to-dts.patch} (93%) rename projects/Amlogic/patches/linux/S922X/{0024-arm64-meson-odroid-go-ultra-increase-vddcpu_a-voltag.patch => 0019-arm64-meson-odroid-go-ultra-increase-vddcpu_a-voltag.patch} (87%) rename projects/Amlogic/patches/linux/S922X/{0025-arm64-meson-add-dt-for-powkiddy-rgb10-max-3-pro.patch => 0020-arm64-meson-add-dt-for-powkiddy-rgb10-max-3-pro.patch} (93%) rename projects/Amlogic/patches/linux/S922X/{0026-power-supply-rk818-battery-Add-battery-driver-for-RK.patch => 0021-power-supply-rk818-battery-Add-battery-driver-for-RK.patch} (99%) rename projects/Amlogic/patches/linux/S922X/{0027-power-supply-rk818-battery-Use-a-more-propper-compat.patch => 0022-power-supply-rk818-battery-Use-a-more-propper-compat.patch} (88%) rename projects/Amlogic/patches/linux/S922X/{0028-power-supply-rk818-charger-Implement-charger-driver-.patch => 0023-power-supply-rk818-charger-Implement-charger-driver-.patch} (98%) rename projects/Amlogic/patches/linux/S922X/{0029-power-supply-rk818-charger-Change-charger-type-to-MA.patch => 0024-power-supply-rk818-charger-Change-charger-type-to-MA.patch} (87%) rename projects/Amlogic/patches/linux/S922X/{0030-power-supply-rk818-battery-Report-charging-status-ba.patch => 0025-power-supply-rk818-battery-Report-charging-status-ba.patch} (94%) rename projects/Amlogic/patches/linux/S922X/{0031-power-supply-rk818-battery-Drop-dependency-on-frameb.patch => 0026-power-supply-rk818-battery-Drop-dependency-on-frameb.patch} (97%) rename projects/Amlogic/patches/linux/S922X/{0032-power-supply-rk818-charger-Unify-rk818-charger-and-r.patch => 0027-power-supply-rk818-charger-Unify-rk818-charger-and-r.patch} (97%) rename projects/Amlogic/patches/linux/S922X/{0033-power-supply-rk818-battery-Speed-up-battery-current-.patch => 0028-power-supply-rk818-battery-Speed-up-battery-current-.patch} (90%) rename projects/Amlogic/patches/linux/S922X/{0034-power-supply-rk818-charger-Delay-applying-input-curr.patch => 0029-power-supply-rk818-charger-Delay-applying-input-curr.patch} (93%) rename projects/Amlogic/patches/linux/S922X/{0035-power-supply-rk818-battery-Don-t-auto-poweroff-the-P.patch => 0030-power-supply-rk818-battery-Don-t-auto-poweroff-the-P.patch} (94%) rename projects/Amlogic/patches/linux/S922X/{0036-power-supply-rk818-charger-Add-support-for-POWER_SUP.patch => 0031-power-supply-rk818-charger-Add-support-for-POWER_SUP.patch} (90%) rename projects/Amlogic/patches/linux/S922X/{0037-power-supply-rk818-battery-Don-t-reset-dsoc-to-0-on-.patch => 0032-power-supply-rk818-battery-Don-t-reset-dsoc-to-0-on-.patch} (86%) rename projects/Amlogic/patches/linux/S922X/{0038-supply-rk817-Fix-battery-capacity-sanity-check-calcu.patch => 0033-supply-rk817-Fix-battery-capacity-sanity-check-calcu.patch} (91%) rename projects/Amlogic/patches/linux/S922X/{0039-power-supply-rk817-charger-Add-input-current-limit-s.patch => 0034-power-supply-rk817-charger-Add-input-current-limit-s.patch} (97%) rename projects/Amlogic/patches/linux/S922X/{0040-power-supply-rk817-charger-Take-input-current-limit-.patch => 0035-power-supply-rk817-charger-Take-input-current-limit-.patch} (95%) rename projects/Amlogic/patches/linux/S922X/{0041-power-supply-rk817-charger-Propagate-proper-errors.patch => 0036-power-supply-rk817-charger-Propagate-proper-errors.patch} (90%) rename projects/Amlogic/patches/linux/S922X/{0042-power-supply-rk818-battery-charger-clear-unused-vari.patch => 0037-power-supply-rk818-battery-charger-clear-unused-vari.patch} (90%) rename projects/Amlogic/patches/linux/S922X/{0043-arm64-meson-odroid-go-ultra-add-battery-and-charger-.patch => 0038-arm64-meson-odroid-go-ultra-add-battery-and-charger-.patch} (95%) rename projects/Amlogic/patches/linux/S922X/{0044-ASoC-meson-axg-card-limit-the-volume-to-prevent-clip.patch => 0039-ASoC-meson-axg-card-limit-the-volume-to-prevent-clip.patch} (87%) rename projects/Amlogic/patches/linux/S922X/{0045-power-supply-rk818_charger-change-syfs-node-name-so-.patch => 0040-power-supply-rk818_charger-change-syfs-node-name-so-.patch} (86%) rename projects/Amlogic/patches/linux/S922X/{0046-arm64-meson-odroid-go-ultra-add-headphone-detection.patch => 0041-arm64-meson-odroid-go-ultra-add-headphone-detection.patch} (87%) rename projects/Amlogic/patches/linux/S922X/{0047-arm64-dts-amlogic-odroid-go-ultra-Improve-sound-outp.patch => 0042-arm64-dts-amlogic-odroid-go-ultra-Improve-sound-outp.patch} (95%) rename projects/Amlogic/patches/linux/S922X/{0048-arm64-meson-g12-common-remove-lower-freq-gpu-opps.patch => 0043-arm64-meson-g12-common-remove-lower-freq-gpu-opps.patch} (88%) rename projects/Amlogic/patches/linux/S922X/{0049-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch => 0044-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch} (84%) rename projects/Amlogic/patches/linux/S922X/{0050-arm64-meson-odroid-n2-add-support-for-overclocking.patch => 0045-arm64-meson-odroid-n2-add-support-for-overclocking.patch} (95%) create mode 100644 projects/Amlogic/patches/linux/S922X/0046-power-supply-rk818_charger-fix-compiling-driver-on-6.patch rename projects/Amlogic/patches/linux/S922X/{0051-power-reset-add-the-Powkiddy-RGB10-Max-3-Pro-to-the-.patch => 0047-power-reset-add-the-Powkiddy-RGB10-Max-3-Pro-to-the-.patch} (86%) create mode 100644 projects/Amlogic/patches/linux/S922X/0048-arm64-dts-amlogic-meson-g12b-odroid-n2-add-support-f.patch diff --git a/projects/Amlogic/devices/S922X/options b/projects/Amlogic/devices/S922X/options index 85ab9d455..507351638 100644 --- a/projects/Amlogic/devices/S922X/options +++ b/projects/Amlogic/devices/S922X/options @@ -74,7 +74,7 @@ # for a list of additional drivers see packages/linux-drivers # Space separated list is supported, # e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2" - ADDITIONAL_DRIVERS="mali-bifrost RTL8812AU RTL8821AU RTL8821CU RTL88x2BU RTL8188EU" + ADDITIONAL_DRIVERS="mali-bifrost RTL8812AU RTL8821AU RTL8821CU RTL88x2BU" # build and install driver addons (yes / no) DRIVER_ADDONS_SUPPORT="no" diff --git a/projects/Amlogic/patches/linux/S922X/0003-clk-meson-add-vclk-driver.patch b/projects/Amlogic/patches/linux/S922X/0001-clk-meson-add-vclk-driver.patch similarity index 98% rename from projects/Amlogic/patches/linux/S922X/0003-clk-meson-add-vclk-driver.patch rename to projects/Amlogic/patches/linux/S922X/0001-clk-meson-add-vclk-driver.patch index 99f845f49..99ba4c546 100644 --- a/projects/Amlogic/patches/linux/S922X/0003-clk-meson-add-vclk-driver.patch +++ b/projects/Amlogic/patches/linux/S922X/0001-clk-meson-add-vclk-driver.patch @@ -1,7 +1,7 @@ -From fa28be8ae20b2a59fc58ed430640b01b5c355bd8 Mon Sep 17 00:00:00 2001 +From 5148f675093813c51517e77adefe40e835fb1d27 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 24 Nov 2023 09:41:18 +0100 -Subject: [PATCH 03/51] clk: meson: add vclk driver +Subject: [PATCH 01/46] clk: meson: add vclk driver The VCLK and VCLK_DIV clocks have supplementary bits. diff --git a/projects/Amlogic/patches/linux/S922X/0001-dt-bindings-clk-g12a-clkc-add-CTS_ENCL-clock-ids.patch b/projects/Amlogic/patches/linux/S922X/0001-dt-bindings-clk-g12a-clkc-add-CTS_ENCL-clock-ids.patch deleted file mode 100644 index ff89d7a51..000000000 --- a/projects/Amlogic/patches/linux/S922X/0001-dt-bindings-clk-g12a-clkc-add-CTS_ENCL-clock-ids.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 8b42e47f330565ba130f86f28d4d7cca513818b5 Mon Sep 17 00:00:00 2001 -From: Neil Armstrong -Date: Fri, 24 Nov 2023 09:41:12 +0100 -Subject: [PATCH 01/51] dt-bindings: clk: g12a-clkc: add CTS_ENCL clock ids - -Add new CLK ids for the CTS_ENCL and CTS_ENCL_SEL clocks -on G12A compatible SoCs. - -Acked-by: Conor Dooley -Signed-off-by: Neil Armstrong ---- - include/dt-bindings/clock/g12a-clkc.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/include/dt-bindings/clock/g12a-clkc.h b/include/dt-bindings/clock/g12a-clkc.h -index 387767f4e298..636d713f95ff 100644 ---- a/include/dt-bindings/clock/g12a-clkc.h -+++ b/include/dt-bindings/clock/g12a-clkc.h -@@ -279,5 +279,7 @@ - #define CLKID_MIPI_DSI_PXCLK_DIV 268 - #define CLKID_MIPI_DSI_PXCLK_SEL 269 - #define CLKID_MIPI_DSI_PXCLK 270 -+#define CLKID_CTS_ENCL 271 -+#define CLKID_CTS_ENCL_SEL 272 - - #endif /* __G12A_CLKC_H */ --- -2.34.1 - diff --git a/projects/Amlogic/patches/linux/S922X/0002-clk-meson-g12a-add-CTS_ENCL-CTS_ENCL_SEL-clocks.patch b/projects/Amlogic/patches/linux/S922X/0002-clk-meson-g12a-add-CTS_ENCL-CTS_ENCL_SEL-clocks.patch deleted file mode 100644 index 24720e2a5..000000000 --- a/projects/Amlogic/patches/linux/S922X/0002-clk-meson-g12a-add-CTS_ENCL-CTS_ENCL_SEL-clocks.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 5e6446c597f7c8881fbb1444d57f9f7e4e27e4d0 Mon Sep 17 00:00:00 2001 -From: Neil Armstrong -Date: Fri, 24 Nov 2023 09:41:17 +0100 -Subject: [PATCH 02/51] clk: meson: g12a: add CTS_ENCL & CTS_ENCL_SEL clocks - -Add new CTS_ENCL & CTS_ENCL_SEL clocks for the G12A compatible -SoCs, they are used to feed the VPU LCD Pixel encoder used for -DSI display purposes. - -Signed-off-by: Neil Armstrong ---- - drivers/clk/meson/g12a.c | 40 ++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 40 insertions(+) - -diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c -index f373a8d48b1d..cadd824336ad 100644 ---- a/drivers/clk/meson/g12a.c -+++ b/drivers/clk/meson/g12a.c -@@ -3549,6 +3549,22 @@ static struct clk_regmap g12a_cts_encp_sel = { - }, - }; - -+static struct clk_regmap g12a_cts_encl_sel = { -+ .data = &(struct clk_regmap_mux_data){ -+ .offset = HHI_VIID_CLK_DIV, -+ .mask = 0xf, -+ .shift = 12, -+ .table = mux_table_cts_sel, -+ }, -+ .hw.init = &(struct clk_init_data){ -+ .name = "cts_encl_sel", -+ .ops = &clk_regmap_mux_ops, -+ .parent_hws = g12a_cts_parent_hws, -+ .num_parents = ARRAY_SIZE(g12a_cts_parent_hws), -+ .flags = CLK_SET_RATE_NO_REPARENT | CLK_GET_RATE_NOCACHE, -+ }, -+}; -+ - static struct clk_regmap g12a_cts_vdac_sel = { - .data = &(struct clk_regmap_mux_data){ - .offset = HHI_VIID_CLK_DIV, -@@ -3628,6 +3644,22 @@ static struct clk_regmap g12a_cts_encp = { - }, - }; - -+static struct clk_regmap g12a_cts_encl = { -+ .data = &(struct clk_regmap_gate_data){ -+ .offset = HHI_VID_CLK_CNTL2, -+ .bit_idx = 3, -+ }, -+ .hw.init = &(struct clk_init_data) { -+ .name = "cts_encl", -+ .ops = &clk_regmap_gate_ops, -+ .parent_hws = (const struct clk_hw *[]) { -+ &g12a_cts_encl_sel.hw -+ }, -+ .num_parents = 1, -+ .flags = CLK_SET_RATE_PARENT | CLK_IGNORE_UNUSED, -+ }, -+}; -+ - static struct clk_regmap g12a_cts_vdac = { - .data = &(struct clk_regmap_gate_data){ - .offset = HHI_VID_CLK_CNTL2, -@@ -4407,10 +4439,12 @@ static struct clk_hw *g12a_hw_clks[] = { - [CLKID_VCLK2_DIV12] = &g12a_vclk2_div12.hw, - [CLKID_CTS_ENCI_SEL] = &g12a_cts_enci_sel.hw, - [CLKID_CTS_ENCP_SEL] = &g12a_cts_encp_sel.hw, -+ [CLKID_CTS_ENCL_SEL] = &g12a_cts_encl_sel.hw, - [CLKID_CTS_VDAC_SEL] = &g12a_cts_vdac_sel.hw, - [CLKID_HDMI_TX_SEL] = &g12a_hdmi_tx_sel.hw, - [CLKID_CTS_ENCI] = &g12a_cts_enci.hw, - [CLKID_CTS_ENCP] = &g12a_cts_encp.hw, -+ [CLKID_CTS_ENCL] = &g12a_cts_encl.hw, - [CLKID_CTS_VDAC] = &g12a_cts_vdac.hw, - [CLKID_HDMI_TX] = &g12a_hdmi_tx.hw, - [CLKID_HDMI_SEL] = &g12a_hdmi_sel.hw, -@@ -4632,10 +4666,12 @@ static struct clk_hw *g12b_hw_clks[] = { - [CLKID_VCLK2_DIV12] = &g12a_vclk2_div12.hw, - [CLKID_CTS_ENCI_SEL] = &g12a_cts_enci_sel.hw, - [CLKID_CTS_ENCP_SEL] = &g12a_cts_encp_sel.hw, -+ [CLKID_CTS_ENCL_SEL] = &g12a_cts_encl_sel.hw, - [CLKID_CTS_VDAC_SEL] = &g12a_cts_vdac_sel.hw, - [CLKID_HDMI_TX_SEL] = &g12a_hdmi_tx_sel.hw, - [CLKID_CTS_ENCI] = &g12a_cts_enci.hw, - [CLKID_CTS_ENCP] = &g12a_cts_encp.hw, -+ [CLKID_CTS_ENCL] = &g12a_cts_encl.hw, - [CLKID_CTS_VDAC] = &g12a_cts_vdac.hw, - [CLKID_HDMI_TX] = &g12a_hdmi_tx.hw, - [CLKID_HDMI_SEL] = &g12a_hdmi_sel.hw, -@@ -4892,10 +4928,12 @@ static struct clk_hw *sm1_hw_clks[] = { - [CLKID_VCLK2_DIV12] = &g12a_vclk2_div12.hw, - [CLKID_CTS_ENCI_SEL] = &g12a_cts_enci_sel.hw, - [CLKID_CTS_ENCP_SEL] = &g12a_cts_encp_sel.hw, -+ [CLKID_CTS_ENCL_SEL] = &g12a_cts_encl_sel.hw, - [CLKID_CTS_VDAC_SEL] = &g12a_cts_vdac_sel.hw, - [CLKID_HDMI_TX_SEL] = &g12a_hdmi_tx_sel.hw, - [CLKID_CTS_ENCI] = &g12a_cts_enci.hw, - [CLKID_CTS_ENCP] = &g12a_cts_encp.hw, -+ [CLKID_CTS_ENCL] = &g12a_cts_encl.hw, - [CLKID_CTS_VDAC] = &g12a_cts_vdac.hw, - [CLKID_HDMI_TX] = &g12a_hdmi_tx.hw, - [CLKID_HDMI_SEL] = &g12a_hdmi_sel.hw, -@@ -5123,10 +5161,12 @@ static struct clk_regmap *const g12a_clk_regmaps[] = { - &g12a_vclk2_div12_en, - &g12a_cts_enci_sel, - &g12a_cts_encp_sel, -+ &g12a_cts_encl_sel, - &g12a_cts_vdac_sel, - &g12a_hdmi_tx_sel, - &g12a_cts_enci, - &g12a_cts_encp, -+ &g12a_cts_encl, - &g12a_cts_vdac, - &g12a_hdmi_tx, - &g12a_hdmi_sel, --- -2.34.1 - diff --git a/projects/Amlogic/patches/linux/S922X/0004-clk-meson-g12a-make-VCLK2-and-ENCL-clock-path-config.patch b/projects/Amlogic/patches/linux/S922X/0002-clk-meson-g12a-make-VCLK2-and-ENCL-clock-path-config.patch similarity index 97% rename from projects/Amlogic/patches/linux/S922X/0004-clk-meson-g12a-make-VCLK2-and-ENCL-clock-path-config.patch rename to projects/Amlogic/patches/linux/S922X/0002-clk-meson-g12a-make-VCLK2-and-ENCL-clock-path-config.patch index cab0c015d..5b7126932 100644 --- a/projects/Amlogic/patches/linux/S922X/0004-clk-meson-g12a-make-VCLK2-and-ENCL-clock-path-config.patch +++ b/projects/Amlogic/patches/linux/S922X/0002-clk-meson-g12a-make-VCLK2-and-ENCL-clock-path-config.patch @@ -1,7 +1,7 @@ -From b89b7cae6c809c69d6d1b3a4893cc2507df97ad9 Mon Sep 17 00:00:00 2001 +From 82025570aabeb66146bd4b9e38f03d9b920ef20d Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 24 Nov 2023 09:41:19 +0100 -Subject: [PATCH 04/51] clk: meson: g12a: make VCLK2 and ENCL clock path +Subject: [PATCH 02/46] clk: meson: g12a: make VCLK2 and ENCL clock path configurable by CCF In order to setup the DSI clock, let's make the unused VCLK2 clock path @@ -57,7 +57,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 47 insertions(+), 21 deletions(-) diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c -index cadd824336ad..fb3d9196a1fd 100644 +index 90f4c6103014..078ef5cd026c 100644 --- a/drivers/clk/meson/g12a.c +++ b/drivers/clk/meson/g12a.c @@ -22,6 +22,7 @@ diff --git a/projects/Amlogic/patches/linux/S922X/0005-drm-meson-gate-px_clk-when-setting-rate.patch b/projects/Amlogic/patches/linux/S922X/0003-drm-meson-gate-px_clk-when-setting-rate.patch similarity index 87% rename from projects/Amlogic/patches/linux/S922X/0005-drm-meson-gate-px_clk-when-setting-rate.patch rename to projects/Amlogic/patches/linux/S922X/0003-drm-meson-gate-px_clk-when-setting-rate.patch index ece788220..7bf595806 100644 --- a/projects/Amlogic/patches/linux/S922X/0005-drm-meson-gate-px_clk-when-setting-rate.patch +++ b/projects/Amlogic/patches/linux/S922X/0003-drm-meson-gate-px_clk-when-setting-rate.patch @@ -1,7 +1,7 @@ -From b54d8667c414363908c50c661b0782e9988fff7c Mon Sep 17 00:00:00 2001 +From c041e0aabb0a55d2887e44fe7c61cb7ead478c36 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 24 Nov 2023 09:41:20 +0100 -Subject: [PATCH 05/51] drm/meson: gate px_clk when setting rate +Subject: [PATCH 03/46] drm/meson: gate px_clk when setting rate Disable the px_clk when setting the rate to recover a fully configured and correctly reset VCLK clock tree after the rate @@ -14,7 +14,7 @@ Signed-off-by: Neil Armstrong 1 file changed, 7 insertions(+) diff --git a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c b/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c -index e5fe4e994f43..72abe2057ec3 100644 +index a6bc1bdb3d0d..a10cff3ca1fe 100644 --- a/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c +++ b/drivers/gpu/drm/meson/meson_dw_mipi_dsi.c @@ -95,6 +95,7 @@ static int dw_mipi_dsi_phy_init(void *priv_data) diff --git a/projects/Amlogic/patches/linux/S922X/0006-arm64-meson-g12-common-add-the-MIPI-DSI-nodes.patch b/projects/Amlogic/patches/linux/S922X/0004-arm64-meson-g12-common-add-the-MIPI-DSI-nodes.patch similarity index 95% rename from projects/Amlogic/patches/linux/S922X/0006-arm64-meson-g12-common-add-the-MIPI-DSI-nodes.patch rename to projects/Amlogic/patches/linux/S922X/0004-arm64-meson-g12-common-add-the-MIPI-DSI-nodes.patch index 0ad48f6d2..fc67cfa7a 100644 --- a/projects/Amlogic/patches/linux/S922X/0006-arm64-meson-g12-common-add-the-MIPI-DSI-nodes.patch +++ b/projects/Amlogic/patches/linux/S922X/0004-arm64-meson-g12-common-add-the-MIPI-DSI-nodes.patch @@ -1,7 +1,7 @@ -From 58e95835e799747d074a5414b6c0b94ed3f60473 Mon Sep 17 00:00:00 2001 +From 421f6f95cd3957a2d50f8207e29922161d26d7e8 Mon Sep 17 00:00:00 2001 From: Neil Armstrong Date: Fri, 24 Nov 2023 09:41:21 +0100 -Subject: [PATCH 06/51] arm64: meson: g12-common: add the MIPI DSI nodes +Subject: [PATCH 04/46] arm64: meson: g12-common: add the MIPI DSI nodes Add the MIPI DSI Analog & Digital PHY nodes and the DSI control nodes with proper port endpoint to the VPU. diff --git a/projects/Amlogic/patches/linux/S922X/0010-drm-panel-st7701-add-odroid-go-ultra-panel-support.patch b/projects/Amlogic/patches/linux/S922X/0005-drm-panel-st7701-add-odroid-go-ultra-panel-support.patch similarity index 89% rename from projects/Amlogic/patches/linux/S922X/0010-drm-panel-st7701-add-odroid-go-ultra-panel-support.patch rename to projects/Amlogic/patches/linux/S922X/0005-drm-panel-st7701-add-odroid-go-ultra-panel-support.patch index 57869d4ca..4e74cd208 100644 --- a/projects/Amlogic/patches/linux/S922X/0010-drm-panel-st7701-add-odroid-go-ultra-panel-support.patch +++ b/projects/Amlogic/patches/linux/S922X/0005-drm-panel-st7701-add-odroid-go-ultra-panel-support.patch @@ -1,14 +1,14 @@ -From 5a1e173f9b6064928f92a0f62f2ff80d25de1829 Mon Sep 17 00:00:00 2001 +From d082804fbe171c98bc5222140b59649eb59716b1 Mon Sep 17 00:00:00 2001 From: adamg Date: Tue, 23 Jan 2024 23:28:55 +0000 -Subject: [PATCH 10/51] drm: panel: st7701: add odroid-go-ultra panel support +Subject: [PATCH 05/46] drm: panel: st7701: add odroid-go-ultra panel support --- drivers/gpu/drm/panel/panel-sitronix-st7701.c | 162 +++++++++++++++++- 1 file changed, 161 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7701.c b/drivers/gpu/drm/panel/panel-sitronix-st7701.c -index 036ac403ed21..6e376dce0eab 100644 +index 421eb4592b61..f6025cb56df1 100644 --- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c +++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c @@ -423,6 +423,66 @@ static void kd50t048a_gip_sequence(struct st7701 *st7701) @@ -75,10 +75,10 @@ index 036ac403ed21..6e376dce0eab 100644 + msleep(50); +} + - static int st7701_prepare(struct drm_panel *panel) + static void rg_arc_gip_sequence(struct st7701 *st7701) { - struct st7701 *st7701 = panel_to_st7701(panel); -@@ -434,7 +494,7 @@ static int st7701_prepare(struct drm_panel *panel) + st7701_switch_cmd_bkx(st7701, true, 3); +@@ -470,7 +530,7 @@ static int st7701_prepare(struct drm_panel *panel) st7701->supplies); if (ret < 0) return ret; @@ -87,8 +87,8 @@ index 036ac403ed21..6e376dce0eab 100644 gpiod_set_value(st7701->reset, 1); msleep(150); -@@ -759,6 +819,25 @@ static const struct drm_display_mode kd50t048a_mode = { - .type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, +@@ -576,6 +636,25 @@ static const struct drm_panel_funcs st7701_funcs = { + .get_orientation = st7701_get_orientation, }; +static const struct drm_display_mode go_ultra_mode = { @@ -110,11 +110,11 @@ index 036ac403ed21..6e376dce0eab 100644 + .type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, +}; + - static const struct st7701_panel_desc kd50t048a_desc = { - .mode = &kd50t048a_mode, - .lanes = 2, -@@ -839,6 +918,86 @@ static const struct st7701_panel_desc kd50t048a_desc = { - .gip_sequence = kd50t048a_gip_sequence, + static const struct drm_display_mode ts8550b_mode = { + .clock = 27500, + +@@ -595,6 +674,86 @@ static const struct drm_display_mode ts8550b_mode = { + .type = DRM_MODE_TYPE_DRIVER | DRM_MODE_TYPE_PREFERRED, }; +static const struct st7701_panel_desc go_ultra_desc = { @@ -197,11 +197,11 @@ index 036ac403ed21..6e376dce0eab 100644 + .gip_sequence = go_ultra_gip_sequence, +}; + - static int st7701_dsi_probe(struct mipi_dsi_device *dsi) - { - const struct st7701_panel_desc *desc; -@@ -919,6 +1078,7 @@ static void st7701_dsi_remove(struct mipi_dsi_device *dsi) - static const struct of_device_id st7701_of_match[] = { + static const struct st7701_panel_desc ts8550b_desc = { + .mode = &ts8550b_mode, + .lanes = 2, +@@ -1055,6 +1214,7 @@ static const struct of_device_id st7701_of_match[] = { + { .compatible = "anbernic,rg-arc-panel", .data = &rg_arc_desc }, { .compatible = "densitron,dmt028vghmcmi-1a", .data = &dmt028vghmcmi_1a_desc }, { .compatible = "elida,kd50t048a", .data = &kd50t048a_desc }, + { .compatible = "odroid,go-ultra-panel", .data = &go_ultra_desc }, diff --git a/projects/Amlogic/patches/linux/S922X/0011-arm64-meson-odroid-go-ultra-add-DSI-panel.patch b/projects/Amlogic/patches/linux/S922X/0006-arm64-meson-odroid-go-ultra-add-DSI-panel.patch similarity index 94% rename from projects/Amlogic/patches/linux/S922X/0011-arm64-meson-odroid-go-ultra-add-DSI-panel.patch rename to projects/Amlogic/patches/linux/S922X/0006-arm64-meson-odroid-go-ultra-add-DSI-panel.patch index f351de9fe..5e725e290 100644 --- a/projects/Amlogic/patches/linux/S922X/0011-arm64-meson-odroid-go-ultra-add-DSI-panel.patch +++ b/projects/Amlogic/patches/linux/S922X/0006-arm64-meson-odroid-go-ultra-add-DSI-panel.patch @@ -1,7 +1,7 @@ -From 1eaaf65151cb369f307896ddd96380ac368d0b64 Mon Sep 17 00:00:00 2001 +From cfaadfa315974aec501a9fe6537737925a5dd24a Mon Sep 17 00:00:00 2001 From: adamg Date: Tue, 23 Jan 2024 23:41:40 +0000 -Subject: [PATCH 11/51] arm64: meson: odroid-go-ultra: add DSI panel +Subject: [PATCH 06/46] arm64: meson: odroid-go-ultra: add DSI panel --- .../amlogic/meson-g12b-odroid-go-ultra.dts | 66 +++++++++++++++++++ diff --git a/projects/Amlogic/patches/linux/S922X/0012-clk-meson-g12a-fix-mipi-display-output-for-odroid-go.patch b/projects/Amlogic/patches/linux/S922X/0007-clk-meson-g12a-fix-mipi-display-output-for-odroid-go.patch similarity index 91% rename from projects/Amlogic/patches/linux/S922X/0012-clk-meson-g12a-fix-mipi-display-output-for-odroid-go.patch rename to projects/Amlogic/patches/linux/S922X/0007-clk-meson-g12a-fix-mipi-display-output-for-odroid-go.patch index 4b93c44cf..ad3812fcb 100644 --- a/projects/Amlogic/patches/linux/S922X/0012-clk-meson-g12a-fix-mipi-display-output-for-odroid-go.patch +++ b/projects/Amlogic/patches/linux/S922X/0007-clk-meson-g12a-fix-mipi-display-output-for-odroid-go.patch @@ -1,7 +1,7 @@ -From ff24679eb9ba909924306c816e5a9a03eff31f80 Mon Sep 17 00:00:00 2001 +From a2cc1f351fae19b8421e03cd5f23fd46dd89147d Mon Sep 17 00:00:00 2001 From: "Mauro (mdrjr) Ribeiro" Date: Tue, 23 Jan 2024 23:56:49 +0000 -Subject: [PATCH 12/51] clk: meson: g12a: fix mipi display output for +Subject: [PATCH 07/46] clk: meson: g12a: fix mipi display output for odroid-go-ultra --- diff --git a/projects/Amlogic/patches/linux/S922X/0007-dt-bindings-clock-g12a-clkc-add-MIPI-ISP-CSI-PHY-clo.patch b/projects/Amlogic/patches/linux/S922X/0007-dt-bindings-clock-g12a-clkc-add-MIPI-ISP-CSI-PHY-clo.patch deleted file mode 100644 index 4bd6349db..000000000 --- a/projects/Amlogic/patches/linux/S922X/0007-dt-bindings-clock-g12a-clkc-add-MIPI-ISP-CSI-PHY-clo.patch +++ /dev/null @@ -1,33 +0,0 @@ -From adbabdcbb838ad38873c3c531cefbfc97593c9c8 Mon Sep 17 00:00:00 2001 -From: Neil Armstrong -Date: Tue, 14 Nov 2023 11:14:43 +0100 -Subject: [PATCH 07/51] dt-bindings: clock: g12a-clkc: add MIPI ISP & CSI PHY - clock ids - -Add MIPI ISP & CSI PHY clock ids to G12A clock bindings header - -Signed-off-by: Neil Armstrong -Acked-by: Conor Dooley ---- - include/dt-bindings/clock/g12a-clkc.h | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/include/dt-bindings/clock/g12a-clkc.h b/include/dt-bindings/clock/g12a-clkc.h -index 636d713f95ff..fd09819da2ec 100644 ---- a/include/dt-bindings/clock/g12a-clkc.h -+++ b/include/dt-bindings/clock/g12a-clkc.h -@@ -281,5 +281,11 @@ - #define CLKID_MIPI_DSI_PXCLK 270 - #define CLKID_CTS_ENCL 271 - #define CLKID_CTS_ENCL_SEL 272 -+#define CLKID_MIPI_ISP_DIV 273 -+#define CLKID_MIPI_ISP_SEL 274 -+#define CLKID_MIPI_ISP 275 -+#define CLKID_MIPI_ISP_GATE 276 -+#define CLKID_MIPI_ISP_CSI_PHY0 277 -+#define CLKID_MIPI_ISP_CSI_PHY1 278 - - #endif /* __G12A_CLKC_H */ --- -2.34.1 - diff --git a/projects/Amlogic/patches/linux/S922X/0013-arm64-meson-odroid-go-ultra-correct-voltages.patch b/projects/Amlogic/patches/linux/S922X/0008-arm64-meson-odroid-go-ultra-correct-voltages.patch similarity index 94% rename from projects/Amlogic/patches/linux/S922X/0013-arm64-meson-odroid-go-ultra-correct-voltages.patch rename to projects/Amlogic/patches/linux/S922X/0008-arm64-meson-odroid-go-ultra-correct-voltages.patch index 45b3423c3..c8bfd2526 100644 --- a/projects/Amlogic/patches/linux/S922X/0013-arm64-meson-odroid-go-ultra-correct-voltages.patch +++ b/projects/Amlogic/patches/linux/S922X/0008-arm64-meson-odroid-go-ultra-correct-voltages.patch @@ -1,7 +1,7 @@ -From 9c9e66be10d71482e6ac73b15739b25b56355fd5 Mon Sep 17 00:00:00 2001 +From a6a3911c184fbc0841ec0e7e6c03f13fd85275a3 Mon Sep 17 00:00:00 2001 From: "Mauro (mdrjr) Ribeiro" Date: Tue, 23 Jan 2024 23:53:24 +0000 -Subject: [PATCH 13/51] arm64: meson: odroid-go-ultra: correct voltages +Subject: [PATCH 08/46] arm64: meson: odroid-go-ultra: correct voltages --- .../dts/amlogic/meson-g12b-odroid-go-ultra.dts | 16 +++++++--------- diff --git a/projects/Amlogic/patches/linux/S922X/0008-clk-meson-g12a-add-MIPI-ISP-clocks.patch b/projects/Amlogic/patches/linux/S922X/0008-clk-meson-g12a-add-MIPI-ISP-clocks.patch deleted file mode 100644 index 76f3731bf..000000000 --- a/projects/Amlogic/patches/linux/S922X/0008-clk-meson-g12a-add-MIPI-ISP-clocks.patch +++ /dev/null @@ -1,120 +0,0 @@ -From ea54add3c26ce9283529ce83aef2d487f2267f6a Mon Sep 17 00:00:00 2001 -From: Neil Armstrong -Date: Tue, 14 Nov 2023 11:14:44 +0100 -Subject: [PATCH 08/51] clk: meson: g12a: add MIPI ISP clocks - -Add the MIPI ISP gate, divider and mux used to feed the MIPI CSI ISP -(Image Signal Processor) IP on the Amlogic G12B SoC. - -Signed-off-by: Neil Armstrong ---- - drivers/clk/meson/g12a.c | 66 ++++++++++++++++++++++++++++++++++++++++ - drivers/clk/meson/g12a.h | 1 + - 2 files changed, 67 insertions(+) - -diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c -index fb3d9196a1fd..b32812bf6d8d 100644 ---- a/drivers/clk/meson/g12a.c -+++ b/drivers/clk/meson/g12a.c -@@ -3780,6 +3780,66 @@ static struct clk_regmap g12a_mipi_dsi_pxclk = { - }, - }; - -+/* MIPI ISP Clocks */ -+ -+static const struct clk_parent_data g12b_mipi_isp_parent_data[] = { -+ { .fw_name = "xtal", }, -+ { .hw = &g12a_gp0_pll.hw }, -+ { .hw = &g12a_hifi_pll.hw }, -+ { .hw = &g12a_fclk_div2p5.hw }, -+ { .hw = &g12a_fclk_div3.hw }, -+ { .hw = &g12a_fclk_div4.hw }, -+ { .hw = &g12a_fclk_div5.hw }, -+ { .hw = &g12a_fclk_div7.hw }, -+}; -+ -+static struct clk_regmap g12b_mipi_isp_sel = { -+ .data = &(struct clk_regmap_mux_data){ -+ .offset = HHI_ISP_CLK_CNTL, -+ .mask = 7, -+ .shift = 9, -+ }, -+ .hw.init = &(struct clk_init_data){ -+ .name = "mipi_isp_sel", -+ .ops = &clk_regmap_mux_ops, -+ .parent_data = g12b_mipi_isp_parent_data, -+ .num_parents = ARRAY_SIZE(g12b_mipi_isp_parent_data), -+ }, -+}; -+ -+static struct clk_regmap g12b_mipi_isp_div = { -+ .data = &(struct clk_regmap_div_data){ -+ .offset = HHI_ISP_CLK_CNTL, -+ .shift = 0, -+ .width = 7, -+ }, -+ .hw.init = &(struct clk_init_data){ -+ .name = "mipi_isp_div", -+ .ops = &clk_regmap_divider_ops, -+ .parent_hws = (const struct clk_hw *[]) { -+ &g12b_mipi_isp_sel.hw -+ }, -+ .num_parents = 1, -+ .flags = CLK_SET_RATE_PARENT, -+ }, -+}; -+ -+static struct clk_regmap g12b_mipi_isp = { -+ .data = &(struct clk_regmap_gate_data){ -+ .offset = HHI_ISP_CLK_CNTL, -+ .bit_idx = 8, -+ }, -+ .hw.init = &(struct clk_init_data) { -+ .name = "mipi_isp", -+ .ops = &clk_regmap_gate_ops, -+ .parent_hws = (const struct clk_hw *[]) { -+ &g12b_mipi_isp_div.hw -+ }, -+ .num_parents = 1, -+ .flags = CLK_SET_RATE_PARENT, -+ }, -+}; -+ - /* HDMI Clocks */ - - static const struct clk_parent_data g12a_hdmi_parent_data[] = { -@@ -4791,6 +4851,9 @@ static struct clk_hw *g12b_hw_clks[] = { - [CLKID_MIPI_DSI_PXCLK_SEL] = &g12a_mipi_dsi_pxclk_sel.hw, - [CLKID_MIPI_DSI_PXCLK_DIV] = &g12a_mipi_dsi_pxclk_div.hw, - [CLKID_MIPI_DSI_PXCLK] = &g12a_mipi_dsi_pxclk.hw, -+ [CLKID_MIPI_ISP_SEL] = &g12b_mipi_isp_sel.hw, -+ [CLKID_MIPI_ISP_DIV] = &g12b_mipi_isp_div.hw, -+ [CLKID_MIPI_ISP] = &g12b_mipi_isp.hw, - }; - - static struct clk_hw *sm1_hw_clks[] = { -@@ -5287,6 +5350,9 @@ static struct clk_regmap *const g12a_clk_regmaps[] = { - &g12a_mipi_dsi_pxclk_sel, - &g12a_mipi_dsi_pxclk_div, - &g12a_mipi_dsi_pxclk, -+ &g12b_mipi_isp_sel, -+ &g12b_mipi_isp_div, -+ &g12b_mipi_isp, - }; - - static const struct reg_sequence g12a_init_regs[] = { -diff --git a/drivers/clk/meson/g12a.h b/drivers/clk/meson/g12a.h -index f11ee3c59849..27df99c4565a 100644 ---- a/drivers/clk/meson/g12a.h -+++ b/drivers/clk/meson/g12a.h -@@ -70,6 +70,7 @@ - #define HHI_MALI_CLK_CNTL 0x1b0 - #define HHI_VPU_CLKC_CNTL 0x1b4 - #define HHI_VPU_CLK_CNTL 0x1bC -+#define HHI_ISP_CLK_CNTL 0x1C0 - #define HHI_NNA_CLK_CNTL 0x1C8 - #define HHI_HDMI_CLK_CNTL 0x1CC - #define HHI_VDEC_CLK_CNTL 0x1E0 --- -2.34.1 - diff --git a/projects/Amlogic/patches/linux/S922X/0014-arm64-meson-odroid-go-ultra-add-over-clocking-freque.patch b/projects/Amlogic/patches/linux/S922X/0009-arm64-meson-odroid-go-ultra-add-over-clocking-freque.patch similarity index 91% rename from projects/Amlogic/patches/linux/S922X/0014-arm64-meson-odroid-go-ultra-add-over-clocking-freque.patch rename to projects/Amlogic/patches/linux/S922X/0009-arm64-meson-odroid-go-ultra-add-over-clocking-freque.patch index b23184827..1cc92c9b4 100644 --- a/projects/Amlogic/patches/linux/S922X/0014-arm64-meson-odroid-go-ultra-add-over-clocking-freque.patch +++ b/projects/Amlogic/patches/linux/S922X/0009-arm64-meson-odroid-go-ultra-add-over-clocking-freque.patch @@ -1,7 +1,7 @@ -From 997f6faaa4474a25a09a48312fd31dfc1cc3e3e8 Mon Sep 17 00:00:00 2001 +From 40f0c572000dc88b972486b1aa5a014f7fb93dd2 Mon Sep 17 00:00:00 2001 From: "Mauro (mdrjr) Ribeiro" Date: Wed, 24 Jan 2024 10:56:00 +0000 -Subject: [PATCH 14/51] arm64: meson: odroid-go-ultra: add over-clocking +Subject: [PATCH 09/46] arm64: meson: odroid-go-ultra: add over-clocking frequencies --- diff --git a/projects/Amlogic/patches/linux/S922X/0009-clk-meson-g12a-add-CSI-ISP-gates-clocks.patch b/projects/Amlogic/patches/linux/S922X/0009-clk-meson-g12a-add-CSI-ISP-gates-clocks.patch deleted file mode 100644 index 308630f6a..000000000 --- a/projects/Amlogic/patches/linux/S922X/0009-clk-meson-g12a-add-CSI-ISP-gates-clocks.patch +++ /dev/null @@ -1,52 +0,0 @@ -From c5dcf032e1accfec06f296231975f50782b483d2 Mon Sep 17 00:00:00 2001 -From: Neil Armstrong -Date: Tue, 14 Nov 2023 11:14:45 +0100 -Subject: [PATCH 09/51] clk: meson: g12a: add CSI & ISP gates clocks - -Add the gates entires for the CSI ISP domain and CSI PHYs. - -Signed-off-by: Neil Armstrong ---- - drivers/clk/meson/g12a.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/drivers/clk/meson/g12a.c b/drivers/clk/meson/g12a.c -index b32812bf6d8d..078ef5cd026c 100644 ---- a/drivers/clk/meson/g12a.c -+++ b/drivers/clk/meson/g12a.c -@@ -4332,9 +4332,12 @@ static MESON_GATE(g12a_htx_hdcp22, HHI_GCLK_MPEG2, 3); - static MESON_GATE(g12a_htx_pclk, HHI_GCLK_MPEG2, 4); - static MESON_GATE(g12a_bt656, HHI_GCLK_MPEG2, 6); - static MESON_GATE(g12a_usb1_to_ddr, HHI_GCLK_MPEG2, 8); -+static MESON_GATE(g12b_mipi_isp_gate, HHI_GCLK_MPEG2, 17); - static MESON_GATE(g12a_mmc_pclk, HHI_GCLK_MPEG2, 11); - static MESON_GATE(g12a_uart2, HHI_GCLK_MPEG2, 15); - static MESON_GATE(g12a_vpu_intr, HHI_GCLK_MPEG2, 25); -+static MESON_GATE(g12b_csi_phy1, HHI_GCLK_MPEG2, 28); -+static MESON_GATE(g12b_csi_phy0, HHI_GCLK_MPEG2, 29); - static MESON_GATE(g12a_gic, HHI_GCLK_MPEG2, 30); - - static MESON_GATE(g12a_vclk2_venci0, HHI_GCLK_OTHER, 1); -@@ -4854,6 +4857,9 @@ static struct clk_hw *g12b_hw_clks[] = { - [CLKID_MIPI_ISP_SEL] = &g12b_mipi_isp_sel.hw, - [CLKID_MIPI_ISP_DIV] = &g12b_mipi_isp_div.hw, - [CLKID_MIPI_ISP] = &g12b_mipi_isp.hw, -+ [CLKID_MIPI_ISP_GATE] = &g12b_mipi_isp_gate.hw, -+ [CLKID_MIPI_ISP_CSI_PHY0] = &g12b_csi_phy0.hw, -+ [CLKID_MIPI_ISP_CSI_PHY1] = &g12b_csi_phy1.hw, - }; - - static struct clk_hw *sm1_hw_clks[] = { -@@ -5353,6 +5359,9 @@ static struct clk_regmap *const g12a_clk_regmaps[] = { - &g12b_mipi_isp_sel, - &g12b_mipi_isp_div, - &g12b_mipi_isp, -+ &g12b_mipi_isp_gate, -+ &g12b_csi_phy1, -+ &g12b_csi_phy0, - }; - - static const struct reg_sequence g12a_init_regs[] = { --- -2.34.1 - diff --git a/projects/Amlogic/patches/linux/S922X/0015-arm64-meson-odroid-go-ultra-specify-overclocking-fre.patch b/projects/Amlogic/patches/linux/S922X/0010-arm64-meson-odroid-go-ultra-specify-overclocking-fre.patch similarity index 88% rename from projects/Amlogic/patches/linux/S922X/0015-arm64-meson-odroid-go-ultra-specify-overclocking-fre.patch rename to projects/Amlogic/patches/linux/S922X/0010-arm64-meson-odroid-go-ultra-specify-overclocking-fre.patch index 6b7ebae93..fb095bfef 100644 --- a/projects/Amlogic/patches/linux/S922X/0015-arm64-meson-odroid-go-ultra-specify-overclocking-fre.patch +++ b/projects/Amlogic/patches/linux/S922X/0010-arm64-meson-odroid-go-ultra-specify-overclocking-fre.patch @@ -1,7 +1,7 @@ -From ec68351a42dbc7ec42ca9f53c84ad2069aa0b1a0 Mon Sep 17 00:00:00 2001 +From b422792a31cab22b2ce9c519246eedc9cde594f9 Mon Sep 17 00:00:00 2001 From: adamg Date: Wed, 24 Jan 2024 11:37:48 +0000 -Subject: [PATCH 15/51] arm64: meson: odroid-go-ultra: specify overclocking +Subject: [PATCH 10/46] arm64: meson: odroid-go-ultra: specify overclocking frequencies as turbo mode --- diff --git a/projects/Amlogic/patches/linux/S922X/0016-arm64-meson-odroid-go-ultra-remove-adc-joystick.patch b/projects/Amlogic/patches/linux/S922X/0011-arm64-meson-odroid-go-ultra-remove-adc-joystick.patch similarity index 92% rename from projects/Amlogic/patches/linux/S922X/0016-arm64-meson-odroid-go-ultra-remove-adc-joystick.patch rename to projects/Amlogic/patches/linux/S922X/0011-arm64-meson-odroid-go-ultra-remove-adc-joystick.patch index 88ecc0815..db94c4737 100644 --- a/projects/Amlogic/patches/linux/S922X/0016-arm64-meson-odroid-go-ultra-remove-adc-joystick.patch +++ b/projects/Amlogic/patches/linux/S922X/0011-arm64-meson-odroid-go-ultra-remove-adc-joystick.patch @@ -1,7 +1,7 @@ -From 73fe96f4ec9cb151d5dea509a2955cea0635a549 Mon Sep 17 00:00:00 2001 +From c74c64709ce2d46e1431558bdfd74f0b3f0a8e40 Mon Sep 17 00:00:00 2001 From: "Mauro (mdrjr) Ribeiro" Date: Wed, 24 Jan 2024 12:08:19 +0000 -Subject: [PATCH 16/51] arm64: meson: odroid-go-ultra: remove adc joystick +Subject: [PATCH 11/46] arm64: meson: odroid-go-ultra: remove adc joystick --- .../amlogic/meson-g12b-odroid-go-ultra.dts | 46 ------------------- diff --git a/projects/Amlogic/patches/linux/S922X/0017-drm-meson-venc-HACK-panic-when-gamma-is-not-set-corr.patch b/projects/Amlogic/patches/linux/S922X/0012-drm-meson-venc-HACK-panic-when-gamma-is-not-set-corr.patch similarity index 93% rename from projects/Amlogic/patches/linux/S922X/0017-drm-meson-venc-HACK-panic-when-gamma-is-not-set-corr.patch rename to projects/Amlogic/patches/linux/S922X/0012-drm-meson-venc-HACK-panic-when-gamma-is-not-set-corr.patch index c80f01906..3bbf9d05f 100644 --- a/projects/Amlogic/patches/linux/S922X/0017-drm-meson-venc-HACK-panic-when-gamma-is-not-set-corr.patch +++ b/projects/Amlogic/patches/linux/S922X/0012-drm-meson-venc-HACK-panic-when-gamma-is-not-set-corr.patch @@ -1,7 +1,7 @@ -From 7e40478e3d3ea45d1c630db187a82c335cc3c8f5 Mon Sep 17 00:00:00 2001 +From 5e6f57c6bcd6d0603e0d9f1e5aa3cc60dc81a2f0 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Wed, 24 Jan 2024 16:18:45 +0000 -Subject: [PATCH 17/51] drm: meson: venc: HACK: panic when gamma is not set +Subject: [PATCH 12/46] drm: meson: venc: HACK: panic when gamma is not set correctly --- diff --git a/projects/Amlogic/patches/linux/S922X/0018-gpiolib-of-revert-api-changes-needed-for-joypad-driv.patch b/projects/Amlogic/patches/linux/S922X/0013-gpiolib-of-revert-api-changes-needed-for-joypad-driv.patch similarity index 98% rename from projects/Amlogic/patches/linux/S922X/0018-gpiolib-of-revert-api-changes-needed-for-joypad-driv.patch rename to projects/Amlogic/patches/linux/S922X/0013-gpiolib-of-revert-api-changes-needed-for-joypad-driv.patch index 889483f64..1655f0b03 100644 --- a/projects/Amlogic/patches/linux/S922X/0018-gpiolib-of-revert-api-changes-needed-for-joypad-driv.patch +++ b/projects/Amlogic/patches/linux/S922X/0013-gpiolib-of-revert-api-changes-needed-for-joypad-driv.patch @@ -1,7 +1,7 @@ -From 7c4381e85244a17c26c4e05290d1276eec896269 Mon Sep 17 00:00:00 2001 +From 5f535c4284b43edb588ac2fd6b8e7ffcdc0696ff Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Wed, 24 Jan 2024 22:12:01 +0000 -Subject: [PATCH 18/51] gpiolib: of: revert api changes needed for joypad +Subject: [PATCH 13/46] gpiolib: of: revert api changes needed for joypad driver --- @@ -11,7 +11,7 @@ Subject: [PATCH 18/51] gpiolib: of: revert api changes needed for joypad create mode 100644 include/linux/of_gpio_legacy.h diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c -index 402f7d99b0c1..c3b5a3aecfc7 100644 +index e7770eedd146..4459226f21d1 100644 --- a/drivers/gpio/gpiolib-of.c +++ b/drivers/gpio/gpiolib-of.c @@ -408,6 +408,20 @@ static struct gpio_desc *of_get_named_gpiod_flags(const struct device_node *np, diff --git a/projects/Amlogic/patches/linux/S922X/0019-input-add-input-polldev-driver.patch b/projects/Amlogic/patches/linux/S922X/0014-input-add-input-polldev-driver.patch similarity index 99% rename from projects/Amlogic/patches/linux/S922X/0019-input-add-input-polldev-driver.patch rename to projects/Amlogic/patches/linux/S922X/0014-input-add-input-polldev-driver.patch index d426708f2..b43d7ca61 100644 --- a/projects/Amlogic/patches/linux/S922X/0019-input-add-input-polldev-driver.patch +++ b/projects/Amlogic/patches/linux/S922X/0014-input-add-input-polldev-driver.patch @@ -1,7 +1,7 @@ -From 2b45c84d16dea8ee0f885c202dfeeea6fc2fce3b Mon Sep 17 00:00:00 2001 +From bb62799748bd5492d80e9ebee4ac6b5702fb037e Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Wed, 24 Jan 2024 21:50:05 +0000 -Subject: [PATCH 19/51] input: add input-polldev driver +Subject: [PATCH 14/46] input: add input-polldev driver --- drivers/input/Kconfig | 13 ++ diff --git a/projects/Amlogic/patches/linux/S922X/0020-input-joystick-add-odroid-go-ultra-joypad-driver.patch b/projects/Amlogic/patches/linux/S922X/0015-input-joystick-add-odroid-go-ultra-joypad-driver.patch similarity index 99% rename from projects/Amlogic/patches/linux/S922X/0020-input-joystick-add-odroid-go-ultra-joypad-driver.patch rename to projects/Amlogic/patches/linux/S922X/0015-input-joystick-add-odroid-go-ultra-joypad-driver.patch index 090983d80..c6aa41f83 100644 --- a/projects/Amlogic/patches/linux/S922X/0020-input-joystick-add-odroid-go-ultra-joypad-driver.patch +++ b/projects/Amlogic/patches/linux/S922X/0015-input-joystick-add-odroid-go-ultra-joypad-driver.patch @@ -1,7 +1,7 @@ -From ad7867cbd76edccc84b6ff1a384ea40b060e8883 Mon Sep 17 00:00:00 2001 +From c120f496cb69a1e0ad9644667f22333421e04e66 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Wed, 24 Jan 2024 21:55:38 +0000 -Subject: [PATCH 20/51] input: joystick: add odroid-go ultra-joypad driver +Subject: [PATCH 15/46] input: joystick: add odroid-go ultra-joypad driver --- drivers/input/joystick/Kconfig | 6 + @@ -13,7 +13,7 @@ Subject: [PATCH 20/51] input: joystick: add odroid-go ultra-joypad driver create mode 100644 drivers/input/joystick/odroid-gou-joypad.c diff --git a/drivers/input/joystick/Kconfig b/drivers/input/joystick/Kconfig -index ac6925ce8366..63dff101c0e6 100644 +index 7755e5b454d2..ad7b5584d3fe 100644 --- a/drivers/input/joystick/Kconfig +++ b/drivers/input/joystick/Kconfig @@ -344,6 +344,12 @@ config JOYSTICK_MAPLE @@ -30,7 +30,7 @@ index ac6925ce8366..63dff101c0e6 100644 tristate "PlayStation 1/2 joypads via SPI interface" depends on SPI diff --git a/drivers/input/joystick/Makefile b/drivers/input/joystick/Makefile -index 3937535f0098..b7e4e471ac32 100644 +index 9976f596a920..b19b42acc573 100644 --- a/drivers/input/joystick/Makefile +++ b/drivers/input/joystick/Makefile @@ -25,6 +25,7 @@ obj-$(CONFIG_JOYSTICK_JOYDUMP) += joydump.o diff --git a/projects/Amlogic/patches/linux/S922X/0021-arm64-meson-odroid-go-ultra-add-joypad.patch b/projects/Amlogic/patches/linux/S922X/0016-arm64-meson-odroid-go-ultra-add-joypad.patch similarity index 97% rename from projects/Amlogic/patches/linux/S922X/0021-arm64-meson-odroid-go-ultra-add-joypad.patch rename to projects/Amlogic/patches/linux/S922X/0016-arm64-meson-odroid-go-ultra-add-joypad.patch index e148b39e7..0c1e605a5 100644 --- a/projects/Amlogic/patches/linux/S922X/0021-arm64-meson-odroid-go-ultra-add-joypad.patch +++ b/projects/Amlogic/patches/linux/S922X/0016-arm64-meson-odroid-go-ultra-add-joypad.patch @@ -1,7 +1,7 @@ -From 6757ba88f75cc586e2fe122157f852a14fd30c18 Mon Sep 17 00:00:00 2001 +From 680d720e515ee3f189f6d0320a2a5070fac02a10 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Wed, 24 Jan 2024 21:57:34 +0000 -Subject: [PATCH 21/51] arm64: meson: odroid-go-ultra: add joypad +Subject: [PATCH 16/46] arm64: meson: odroid-go-ultra: add joypad --- .../amlogic/meson-g12b-odroid-go-ultra.dts | 156 +++++++++++------- diff --git a/projects/Amlogic/patches/linux/S922X/0022-arm64-meson-odroid-disable-heartbeat.patch b/projects/Amlogic/patches/linux/S922X/0017-arm64-meson-odroid-disable-heartbeat.patch similarity index 91% rename from projects/Amlogic/patches/linux/S922X/0022-arm64-meson-odroid-disable-heartbeat.patch rename to projects/Amlogic/patches/linux/S922X/0017-arm64-meson-odroid-disable-heartbeat.patch index ee7399c31..507c7ba53 100644 --- a/projects/Amlogic/patches/linux/S922X/0022-arm64-meson-odroid-disable-heartbeat.patch +++ b/projects/Amlogic/patches/linux/S922X/0017-arm64-meson-odroid-disable-heartbeat.patch @@ -1,7 +1,7 @@ -From 42b5bbcd970e81466a8d2125daeb4992a021df38 Mon Sep 17 00:00:00 2001 +From e64757346ce9b6f92bf0cfcb734ef0e42ad326fe Mon Sep 17 00:00:00 2001 From: adamg Date: Wed, 24 Jan 2024 22:22:49 +0000 -Subject: [PATCH 22/51] arm64: meson: odroid: disable heartbeat +Subject: [PATCH 17/46] arm64: meson: odroid: disable heartbeat --- arch/arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts | 2 +- diff --git a/projects/Amlogic/patches/linux/S922X/0023-arm64-meson-g12-common-add-mali-to-dts.patch b/projects/Amlogic/patches/linux/S922X/0018-arm64-meson-g12-common-add-mali-to-dts.patch similarity index 93% rename from projects/Amlogic/patches/linux/S922X/0023-arm64-meson-g12-common-add-mali-to-dts.patch rename to projects/Amlogic/patches/linux/S922X/0018-arm64-meson-g12-common-add-mali-to-dts.patch index 26d1c13f6..3e3d1e6cc 100644 --- a/projects/Amlogic/patches/linux/S922X/0023-arm64-meson-g12-common-add-mali-to-dts.patch +++ b/projects/Amlogic/patches/linux/S922X/0018-arm64-meson-g12-common-add-mali-to-dts.patch @@ -1,7 +1,7 @@ -From 17a850e6eb39e0a857de3882223bd99c2fd9ebb9 Mon Sep 17 00:00:00 2001 +From 16f5c47a7c9e681ccbd6a8bf0b4d31087b814112 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Wed, 24 Jan 2024 23:56:58 +0000 -Subject: [PATCH 23/51] arm64: meson: g12-common: add mali to dts +Subject: [PATCH 18/46] arm64: meson: g12-common: add mali to dts --- .../arm64/boot/dts/amlogic/meson-g12-common.dtsi | 16 +++++++++++----- diff --git a/projects/Amlogic/patches/linux/S922X/0024-arm64-meson-odroid-go-ultra-increase-vddcpu_a-voltag.patch b/projects/Amlogic/patches/linux/S922X/0019-arm64-meson-odroid-go-ultra-increase-vddcpu_a-voltag.patch similarity index 87% rename from projects/Amlogic/patches/linux/S922X/0024-arm64-meson-odroid-go-ultra-increase-vddcpu_a-voltag.patch rename to projects/Amlogic/patches/linux/S922X/0019-arm64-meson-odroid-go-ultra-increase-vddcpu_a-voltag.patch index 8745c3272..37753b609 100644 --- a/projects/Amlogic/patches/linux/S922X/0024-arm64-meson-odroid-go-ultra-increase-vddcpu_a-voltag.patch +++ b/projects/Amlogic/patches/linux/S922X/0019-arm64-meson-odroid-go-ultra-increase-vddcpu_a-voltag.patch @@ -1,7 +1,7 @@ -From e76128e249024a6bb93726ae4539b313e79e671b Mon Sep 17 00:00:00 2001 +From f458965deba2fe8133b686ec7edae7df42a98e4a Mon Sep 17 00:00:00 2001 From: adamg Date: Thu, 25 Jan 2024 00:32:40 +0000 -Subject: [PATCH 24/51] arm64: meson: odroid-go-ultra: increase vddcpu_a +Subject: [PATCH 19/46] arm64: meson: odroid-go-ultra: increase vddcpu_a voltage for overclock --- diff --git a/projects/Amlogic/patches/linux/S922X/0025-arm64-meson-add-dt-for-powkiddy-rgb10-max-3-pro.patch b/projects/Amlogic/patches/linux/S922X/0020-arm64-meson-add-dt-for-powkiddy-rgb10-max-3-pro.patch similarity index 93% rename from projects/Amlogic/patches/linux/S922X/0025-arm64-meson-add-dt-for-powkiddy-rgb10-max-3-pro.patch rename to projects/Amlogic/patches/linux/S922X/0020-arm64-meson-add-dt-for-powkiddy-rgb10-max-3-pro.patch index 135ddd1bd..399902aef 100644 --- a/projects/Amlogic/patches/linux/S922X/0025-arm64-meson-add-dt-for-powkiddy-rgb10-max-3-pro.patch +++ b/projects/Amlogic/patches/linux/S922X/0020-arm64-meson-add-dt-for-powkiddy-rgb10-max-3-pro.patch @@ -1,7 +1,7 @@ -From e62b5eede45d4ff46b0ada7e34a3946a34638f4e Mon Sep 17 00:00:00 2001 +From b8a3b313627511625e5fa10967687d4f4fe27ae5 Mon Sep 17 00:00:00 2001 From: adamg Date: Fri, 26 Jan 2024 17:55:02 +0000 -Subject: [PATCH 25/51] arm64: meson: add dt for powkiddy-rgb10-max-3-pro +Subject: [PATCH 20/46] arm64: meson: add dt for powkiddy-rgb10-max-3-pro --- .../meson-g12b-powkiddy-rgb10-max-3-pro.dts | 54 +++++++++++++++++++ diff --git a/projects/Amlogic/patches/linux/S922X/0026-power-supply-rk818-battery-Add-battery-driver-for-RK.patch b/projects/Amlogic/patches/linux/S922X/0021-power-supply-rk818-battery-Add-battery-driver-for-RK.patch similarity index 99% rename from projects/Amlogic/patches/linux/S922X/0026-power-supply-rk818-battery-Add-battery-driver-for-RK.patch rename to projects/Amlogic/patches/linux/S922X/0021-power-supply-rk818-battery-Add-battery-driver-for-RK.patch index 750209772..a2637270f 100644 --- a/projects/Amlogic/patches/linux/S922X/0026-power-supply-rk818-battery-Add-battery-driver-for-RK.patch +++ b/projects/Amlogic/patches/linux/S922X/0021-power-supply-rk818-battery-Add-battery-driver-for-RK.patch @@ -1,7 +1,7 @@ -From 68288d44a83c53d0b2b591635f2e53e6fc9f32eb Mon Sep 17 00:00:00 2001 +From b7161f5d7aeee84655312d54bdf0bf70e05a47c6 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Sun, 11 Jun 2023 18:29:24 +0200 -Subject: [PATCH 26/51] power: supply: rk818-battery: Add battery driver for +Subject: [PATCH 21/46] power: supply: rk818-battery: Add battery driver for RK818 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 @@ -94,10 +94,10 @@ index 75b5cf09d5a0..3d9632fb3554 100644 static const struct regmap_config rk805_regmap_config = { diff --git a/drivers/power/supply/Kconfig b/drivers/power/supply/Kconfig -index 3e31375491d5..339949723ff8 100644 +index f21cb05815ec..1722fc1ee7ec 100644 --- a/drivers/power/supply/Kconfig +++ b/drivers/power/supply/Kconfig -@@ -985,4 +985,21 @@ config FUEL_GAUGE_MM8013 +@@ -984,4 +984,21 @@ config FUEL_GAUGE_MM8013 the state of charge, temperature, cycle count, actual and design capacity, etc. diff --git a/projects/Amlogic/patches/linux/S922X/0027-power-supply-rk818-battery-Use-a-more-propper-compat.patch b/projects/Amlogic/patches/linux/S922X/0022-power-supply-rk818-battery-Use-a-more-propper-compat.patch similarity index 88% rename from projects/Amlogic/patches/linux/S922X/0027-power-supply-rk818-battery-Use-a-more-propper-compat.patch rename to projects/Amlogic/patches/linux/S922X/0022-power-supply-rk818-battery-Use-a-more-propper-compat.patch index dce8b5e56..e590cebd2 100644 --- a/projects/Amlogic/patches/linux/S922X/0027-power-supply-rk818-battery-Use-a-more-propper-compat.patch +++ b/projects/Amlogic/patches/linux/S922X/0022-power-supply-rk818-battery-Use-a-more-propper-compat.patch @@ -1,7 +1,7 @@ -From 209e3aa0122f144949cc03b5b67c37ca94a44239 Mon Sep 17 00:00:00 2001 +From 5b7117f8108d7aec2268b3a8cf2fefad394d8e1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Sun, 7 Nov 2021 19:30:07 +0100 -Subject: [PATCH 27/51] power: supply: rk818-battery: Use a more propper +Subject: [PATCH 22/46] power: supply: rk818-battery: Use a more propper compatible string Prefix with vendor name. diff --git a/projects/Amlogic/patches/linux/S922X/0028-power-supply-rk818-charger-Implement-charger-driver-.patch b/projects/Amlogic/patches/linux/S922X/0023-power-supply-rk818-charger-Implement-charger-driver-.patch similarity index 98% rename from projects/Amlogic/patches/linux/S922X/0028-power-supply-rk818-charger-Implement-charger-driver-.patch rename to projects/Amlogic/patches/linux/S922X/0023-power-supply-rk818-charger-Implement-charger-driver-.patch index e15b32a49..40d4c6c13 100644 --- a/projects/Amlogic/patches/linux/S922X/0028-power-supply-rk818-charger-Implement-charger-driver-.patch +++ b/projects/Amlogic/patches/linux/S922X/0023-power-supply-rk818-charger-Implement-charger-driver-.patch @@ -1,7 +1,7 @@ -From d96d0046ae186cf956951bdc9f78583621fbd01c Mon Sep 17 00:00:00 2001 +From 17b6fcf4a10b4f874bc3e82004002f353f6f641d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Sun, 7 Nov 2021 20:09:02 +0100 -Subject: [PATCH 28/51] power: supply: rk818-charger: Implement charger driver +Subject: [PATCH 23/46] power: supply: rk818-charger: Implement charger driver for RK818 PMIC For now this driver is just meant to watch Type-C power supply @@ -17,10 +17,10 @@ Signed-off-by: Ondrej Jirman create mode 100644 drivers/power/supply/rk818_charger.c diff --git a/drivers/power/supply/Kconfig b/drivers/power/supply/Kconfig -index 339949723ff8..cf9e928acc23 100644 +index 1722fc1ee7ec..a8f03555188f 100644 --- a/drivers/power/supply/Kconfig +++ b/drivers/power/supply/Kconfig -@@ -1002,4 +1002,12 @@ config BATTERY_RK818 +@@ -1001,4 +1001,12 @@ config BATTERY_RK818 If you say yes here you will get support for the battery of RK818 PMIC. This driver can give support for Rk818 Battery Charge Interface. diff --git a/projects/Amlogic/patches/linux/S922X/0029-power-supply-rk818-charger-Change-charger-type-to-MA.patch b/projects/Amlogic/patches/linux/S922X/0024-power-supply-rk818-charger-Change-charger-type-to-MA.patch similarity index 87% rename from projects/Amlogic/patches/linux/S922X/0029-power-supply-rk818-charger-Change-charger-type-to-MA.patch rename to projects/Amlogic/patches/linux/S922X/0024-power-supply-rk818-charger-Change-charger-type-to-MA.patch index 1a6d82dc1..57c274c2d 100644 --- a/projects/Amlogic/patches/linux/S922X/0029-power-supply-rk818-charger-Change-charger-type-to-MA.patch +++ b/projects/Amlogic/patches/linux/S922X/0024-power-supply-rk818-charger-Change-charger-type-to-MA.patch @@ -1,7 +1,7 @@ -From 594bc3e6990b43ac7a27b5d2db62a6c69343cc78 Mon Sep 17 00:00:00 2001 +From 33c88091c655b914399d61612dfc72e732bf6aaf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Thu, 13 Jan 2022 13:53:03 +0100 -Subject: [PATCH 29/51] power: supply: rk818-charger: Change charger type to +Subject: [PATCH 24/46] power: supply: rk818-charger: Change charger type to MAINS To un-confuse userspace. diff --git a/projects/Amlogic/patches/linux/S922X/0030-power-supply-rk818-battery-Report-charging-status-ba.patch b/projects/Amlogic/patches/linux/S922X/0025-power-supply-rk818-battery-Report-charging-status-ba.patch similarity index 94% rename from projects/Amlogic/patches/linux/S922X/0030-power-supply-rk818-battery-Report-charging-status-ba.patch rename to projects/Amlogic/patches/linux/S922X/0025-power-supply-rk818-battery-Report-charging-status-ba.patch index 6d627659a..d9abcd9c9 100644 --- a/projects/Amlogic/patches/linux/S922X/0030-power-supply-rk818-battery-Report-charging-status-ba.patch +++ b/projects/Amlogic/patches/linux/S922X/0025-power-supply-rk818-battery-Report-charging-status-ba.patch @@ -1,7 +1,7 @@ -From bd7e714988a81ab44f2143382325ac9b8be89311 Mon Sep 17 00:00:00 2001 +From dd940ddcaad239f4f5ec159e71953c76a6a12ac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Jirman?= Date: Fri, 21 Jan 2022 11:38:00 +0100 -Subject: [PATCH 30/51] power: supply: rk818-battery: Report charging status +Subject: [PATCH 25/46] power: supply: rk818-battery: Report charging status based on charging current If the current is positive, battery is charging, if negative the battery diff --git a/projects/Amlogic/patches/linux/S922X/0031-power-supply-rk818-battery-Drop-dependency-on-frameb.patch b/projects/Amlogic/patches/linux/S922X/0026-power-supply-rk818-battery-Drop-dependency-on-frameb.patch similarity index 97% rename from projects/Amlogic/patches/linux/S922X/0031-power-supply-rk818-battery-Drop-dependency-on-frameb.patch rename to projects/Amlogic/patches/linux/S922X/0026-power-supply-rk818-battery-Drop-dependency-on-frameb.patch index 8824b11de..c5f1bb898 100644 --- a/projects/Amlogic/patches/linux/S922X/0031-power-supply-rk818-battery-Drop-dependency-on-frameb.patch +++ b/projects/Amlogic/patches/linux/S922X/0026-power-supply-rk818-battery-Drop-dependency-on-frameb.patch @@ -1,7 +1,7 @@ -From 5f1535de874d39224235a79c5bcf9a03056c7b1e Mon Sep 17 00:00:00 2001 +From 8e8f25514fa165c84614552edccbee47a2ea5892 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Tue, 17 May 2022 23:30:46 +0200 -Subject: [PATCH 31/51] power: supply: rk818-battery: Drop dependency on +Subject: [PATCH 26/46] power: supply: rk818-battery: Drop dependency on framebuffer It was bizarre anyway. Framebuffer is barely used on Linux anyway, diff --git a/projects/Amlogic/patches/linux/S922X/0032-power-supply-rk818-charger-Unify-rk818-charger-and-r.patch b/projects/Amlogic/patches/linux/S922X/0027-power-supply-rk818-charger-Unify-rk818-charger-and-r.patch similarity index 97% rename from projects/Amlogic/patches/linux/S922X/0032-power-supply-rk818-charger-Unify-rk818-charger-and-r.patch rename to projects/Amlogic/patches/linux/S922X/0027-power-supply-rk818-charger-Unify-rk818-charger-and-r.patch index 018fb24f8..8e488b267 100644 --- a/projects/Amlogic/patches/linux/S922X/0032-power-supply-rk818-charger-Unify-rk818-charger-and-r.patch +++ b/projects/Amlogic/patches/linux/S922X/0027-power-supply-rk818-charger-Unify-rk818-charger-and-r.patch @@ -1,7 +1,7 @@ -From c44ad61fef1fd0b57ff56a468d01467cd06c97cb Mon Sep 17 00:00:00 2001 +From 296659e7939fc45907c35699482261f0cc33d8f0 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Sat, 4 Nov 2023 18:25:03 +0100 -Subject: [PATCH 32/51] power: supply: rk818-charger: Unify rk818-charger and +Subject: [PATCH 27/46] power: supply: rk818-charger: Unify rk818-charger and rk818-battery The BSP driver is still used, but there is now a one device handling @@ -17,10 +17,10 @@ Signed-off-by: Ondrej Jirman 4 files changed, 95 insertions(+), 33 deletions(-) diff --git a/drivers/power/supply/Kconfig b/drivers/power/supply/Kconfig -index cf9e928acc23..d61af21a5bb4 100644 +index a8f03555188f..b058d033fbf4 100644 --- a/drivers/power/supply/Kconfig +++ b/drivers/power/supply/Kconfig -@@ -994,14 +994,6 @@ config FUEL_GAUGE_MM8013 +@@ -993,14 +993,6 @@ config FUEL_GAUGE_MM8013 the state of charge, temperature, cycle count, actual and design capacity, etc. diff --git a/projects/Amlogic/patches/linux/S922X/0033-power-supply-rk818-battery-Speed-up-battery-current-.patch b/projects/Amlogic/patches/linux/S922X/0028-power-supply-rk818-battery-Speed-up-battery-current-.patch similarity index 90% rename from projects/Amlogic/patches/linux/S922X/0033-power-supply-rk818-battery-Speed-up-battery-current-.patch rename to projects/Amlogic/patches/linux/S922X/0028-power-supply-rk818-battery-Speed-up-battery-current-.patch index 47143485c..9cecfaea9 100644 --- a/projects/Amlogic/patches/linux/S922X/0033-power-supply-rk818-battery-Speed-up-battery-current-.patch +++ b/projects/Amlogic/patches/linux/S922X/0028-power-supply-rk818-battery-Speed-up-battery-current-.patch @@ -1,7 +1,7 @@ -From afedaa838fbdff4ac0e152ee5af84fb1b1c33876 Mon Sep 17 00:00:00 2001 +From 01df628df972b57febba04e26bcd74525b02003c Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Fri, 27 May 2022 03:07:54 +0200 -Subject: [PATCH 33/51] power: supply: rk818-battery: Speed up battery current +Subject: [PATCH 28/46] power: supply: rk818-battery: Speed up battery current readout PMIC does averaging, driver does averaging on top of that averaging, diff --git a/projects/Amlogic/patches/linux/S922X/0034-power-supply-rk818-charger-Delay-applying-input-curr.patch b/projects/Amlogic/patches/linux/S922X/0029-power-supply-rk818-charger-Delay-applying-input-curr.patch similarity index 93% rename from projects/Amlogic/patches/linux/S922X/0034-power-supply-rk818-charger-Delay-applying-input-curr.patch rename to projects/Amlogic/patches/linux/S922X/0029-power-supply-rk818-charger-Delay-applying-input-curr.patch index 0a752602a..c12b53af9 100644 --- a/projects/Amlogic/patches/linux/S922X/0034-power-supply-rk818-charger-Delay-applying-input-curr.patch +++ b/projects/Amlogic/patches/linux/S922X/0029-power-supply-rk818-charger-Delay-applying-input-curr.patch @@ -1,7 +1,7 @@ -From 895609bcf198adc693583ccdcba99fdd0c521d3c Mon Sep 17 00:00:00 2001 +From 7eae5e22e808f21aba911c5ddcae545957a02143 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Tue, 2 Aug 2022 09:37:05 +0200 -Subject: [PATCH 34/51] power: supply: rk818-charger: Delay applying input +Subject: [PATCH 29/46] power: supply: rk818-charger: Delay applying input current limit until first BC detection finishes When the phone boots for the first time, we only want to react to diff --git a/projects/Amlogic/patches/linux/S922X/0035-power-supply-rk818-battery-Don-t-auto-poweroff-the-P.patch b/projects/Amlogic/patches/linux/S922X/0030-power-supply-rk818-battery-Don-t-auto-poweroff-the-P.patch similarity index 94% rename from projects/Amlogic/patches/linux/S922X/0035-power-supply-rk818-battery-Don-t-auto-poweroff-the-P.patch rename to projects/Amlogic/patches/linux/S922X/0030-power-supply-rk818-battery-Don-t-auto-poweroff-the-P.patch index ac39332f4..8b64fd361 100644 --- a/projects/Amlogic/patches/linux/S922X/0035-power-supply-rk818-battery-Don-t-auto-poweroff-the-P.patch +++ b/projects/Amlogic/patches/linux/S922X/0030-power-supply-rk818-battery-Don-t-auto-poweroff-the-P.patch @@ -1,7 +1,7 @@ -From c1f45866ba53b34ac647023afcae06455c33fdec Mon Sep 17 00:00:00 2001 +From c579cce2425152fd0b8e4ae2d3d89175fd1fa4b3 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Thu, 10 Nov 2022 20:03:47 +0100 -Subject: [PATCH 35/51] power: supply: rk818-battery: Don't auto-poweroff the +Subject: [PATCH 30/46] power: supply: rk818-battery: Don't auto-poweroff the PMIC on low battery Just raise the interrupt. This avoids undervoltage shutdowns when diff --git a/projects/Amlogic/patches/linux/S922X/0036-power-supply-rk818-charger-Add-support-for-POWER_SUP.patch b/projects/Amlogic/patches/linux/S922X/0031-power-supply-rk818-charger-Add-support-for-POWER_SUP.patch similarity index 90% rename from projects/Amlogic/patches/linux/S922X/0036-power-supply-rk818-charger-Add-support-for-POWER_SUP.patch rename to projects/Amlogic/patches/linux/S922X/0031-power-supply-rk818-charger-Add-support-for-POWER_SUP.patch index cfa13940b..348870f33 100644 --- a/projects/Amlogic/patches/linux/S922X/0036-power-supply-rk818-charger-Add-support-for-POWER_SUP.patch +++ b/projects/Amlogic/patches/linux/S922X/0031-power-supply-rk818-charger-Add-support-for-POWER_SUP.patch @@ -1,7 +1,7 @@ -From 80336f52f40a554f7d7949074c5877d069077256 Mon Sep 17 00:00:00 2001 +From f0ac6909515be6bec3d65d148360ed8045fa876d Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Thu, 10 Nov 2022 20:05:16 +0100 -Subject: [PATCH 36/51] power: supply: rk818-charger: Add support for +Subject: [PATCH 31/46] power: supply: rk818-charger: Add support for POWER_SUPPLY_PROP_ENERGY_FULL_DESIGN Report total battery capacity. diff --git a/projects/Amlogic/patches/linux/S922X/0037-power-supply-rk818-battery-Don-t-reset-dsoc-to-0-on-.patch b/projects/Amlogic/patches/linux/S922X/0032-power-supply-rk818-battery-Don-t-reset-dsoc-to-0-on-.patch similarity index 86% rename from projects/Amlogic/patches/linux/S922X/0037-power-supply-rk818-battery-Don-t-reset-dsoc-to-0-on-.patch rename to projects/Amlogic/patches/linux/S922X/0032-power-supply-rk818-battery-Don-t-reset-dsoc-to-0-on-.patch index c5361300e..927564afe 100644 --- a/projects/Amlogic/patches/linux/S922X/0037-power-supply-rk818-battery-Don-t-reset-dsoc-to-0-on-.patch +++ b/projects/Amlogic/patches/linux/S922X/0032-power-supply-rk818-battery-Don-t-reset-dsoc-to-0-on-.patch @@ -1,7 +1,7 @@ -From 673fec68295275b00200bef4587d3ea9e69a09ce Mon Sep 17 00:00:00 2001 +From 76efdf8fea4958c153da561eccc69911c3bb68c6 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Sun, 11 Dec 2022 10:39:22 +0100 -Subject: [PATCH 37/51] power: supply: rk818-battery: Don't reset dsoc to 0 on +Subject: [PATCH 32/46] power: supply: rk818-battery: Don't reset dsoc to 0 on rk818_vb_low_irq The interrupt fires at 3.4V vbat which is not equivalent to 0% charge. diff --git a/projects/Amlogic/patches/linux/S922X/0038-supply-rk817-Fix-battery-capacity-sanity-check-calcu.patch b/projects/Amlogic/patches/linux/S922X/0033-supply-rk817-Fix-battery-capacity-sanity-check-calcu.patch similarity index 91% rename from projects/Amlogic/patches/linux/S922X/0038-supply-rk817-Fix-battery-capacity-sanity-check-calcu.patch rename to projects/Amlogic/patches/linux/S922X/0033-supply-rk817-Fix-battery-capacity-sanity-check-calcu.patch index 4220ae1fc..c65610dc6 100644 --- a/projects/Amlogic/patches/linux/S922X/0038-supply-rk817-Fix-battery-capacity-sanity-check-calcu.patch +++ b/projects/Amlogic/patches/linux/S922X/0033-supply-rk817-Fix-battery-capacity-sanity-check-calcu.patch @@ -1,7 +1,7 @@ -From 3dfd171f760168d6cc95b4f6259474e691155d42 Mon Sep 17 00:00:00 2001 +From cf94fe4688b273996b71363f1fb231e06d0cb5d8 Mon Sep 17 00:00:00 2001 From: Alexander Warnecke Date: Thu, 29 Jun 2023 19:52:42 +1000 -Subject: [PATCH 38/51] supply: rk817: Fix battery capacity sanity check +Subject: [PATCH 33/46] supply: rk817: Fix battery capacity sanity check calculation If the nvram variable is corrupted in a way that multiplying it by 1000 causes an integer overflow and wraps around to a number within or below the sanity check bounds, the check fails and capacity is reported incorrectly. diff --git a/projects/Amlogic/patches/linux/S922X/0039-power-supply-rk817-charger-Add-input-current-limit-s.patch b/projects/Amlogic/patches/linux/S922X/0034-power-supply-rk817-charger-Add-input-current-limit-s.patch similarity index 97% rename from projects/Amlogic/patches/linux/S922X/0039-power-supply-rk817-charger-Add-input-current-limit-s.patch rename to projects/Amlogic/patches/linux/S922X/0034-power-supply-rk817-charger-Add-input-current-limit-s.patch index ef63d9260..547fd2e40 100644 --- a/projects/Amlogic/patches/linux/S922X/0039-power-supply-rk817-charger-Add-input-current-limit-s.patch +++ b/projects/Amlogic/patches/linux/S922X/0034-power-supply-rk817-charger-Add-input-current-limit-s.patch @@ -1,7 +1,7 @@ -From e1a9514956e1e51446b28fab9a1a32c57f132497 Mon Sep 17 00:00:00 2001 +From 3ba20bb0db91508bc7b31222fff1e4b67b57064b Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Sun, 6 Aug 2023 02:55:22 +0200 -Subject: [PATCH 39/51] power: supply: rk817-charger: Add input current limit +Subject: [PATCH 34/46] power: supply: rk817-charger: Add input current limit setting This is useful for proper USB input current limiting. diff --git a/projects/Amlogic/patches/linux/S922X/0040-power-supply-rk817-charger-Take-input-current-limit-.patch b/projects/Amlogic/patches/linux/S922X/0035-power-supply-rk817-charger-Take-input-current-limit-.patch similarity index 95% rename from projects/Amlogic/patches/linux/S922X/0040-power-supply-rk817-charger-Take-input-current-limit-.patch rename to projects/Amlogic/patches/linux/S922X/0035-power-supply-rk817-charger-Take-input-current-limit-.patch index 19c2f53f5..d046c16f5 100644 --- a/projects/Amlogic/patches/linux/S922X/0040-power-supply-rk817-charger-Take-input-current-limit-.patch +++ b/projects/Amlogic/patches/linux/S922X/0035-power-supply-rk817-charger-Take-input-current-limit-.patch @@ -1,7 +1,7 @@ -From fd2530d2fc3a76c2038b45c02a78f3d0fb4335eb Mon Sep 17 00:00:00 2001 +From 5e811764c0ef6663312887dcef339b3d098740b1 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Thu, 7 Sep 2023 17:37:59 +0200 -Subject: [PATCH 40/51] power: supply: rk817-charger: Take input current limit +Subject: [PATCH 35/46] power: supply: rk817-charger: Take input current limit from parent supply This allows automatic input current limit setting based on USB PD. diff --git a/projects/Amlogic/patches/linux/S922X/0041-power-supply-rk817-charger-Propagate-proper-errors.patch b/projects/Amlogic/patches/linux/S922X/0036-power-supply-rk817-charger-Propagate-proper-errors.patch similarity index 90% rename from projects/Amlogic/patches/linux/S922X/0041-power-supply-rk817-charger-Propagate-proper-errors.patch rename to projects/Amlogic/patches/linux/S922X/0036-power-supply-rk817-charger-Propagate-proper-errors.patch index eb5ff4147..da66de954 100644 --- a/projects/Amlogic/patches/linux/S922X/0041-power-supply-rk817-charger-Propagate-proper-errors.patch +++ b/projects/Amlogic/patches/linux/S922X/0036-power-supply-rk817-charger-Propagate-proper-errors.patch @@ -1,7 +1,7 @@ -From b5dc933273f7c2ef33b2679f462a29c664998a46 Mon Sep 17 00:00:00 2001 +From 115389a51176825c504ff8b14da3989f02a3b8fc Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Thu, 7 Sep 2023 17:43:00 +0200 -Subject: [PATCH 41/51] power: supply: rk817-charger: Propagate proper errors +Subject: [PATCH 36/46] power: supply: rk817-charger: Propagate proper errors Without propagating the correct error code, defered probe doesn't work. diff --git a/projects/Amlogic/patches/linux/S922X/0042-power-supply-rk818-battery-charger-clear-unused-vari.patch b/projects/Amlogic/patches/linux/S922X/0037-power-supply-rk818-battery-charger-clear-unused-vari.patch similarity index 90% rename from projects/Amlogic/patches/linux/S922X/0042-power-supply-rk818-battery-charger-clear-unused-vari.patch rename to projects/Amlogic/patches/linux/S922X/0037-power-supply-rk818-battery-charger-clear-unused-vari.patch index 213bb63c6..f611099f2 100644 --- a/projects/Amlogic/patches/linux/S922X/0042-power-supply-rk818-battery-charger-clear-unused-vari.patch +++ b/projects/Amlogic/patches/linux/S922X/0037-power-supply-rk818-battery-charger-clear-unused-vari.patch @@ -1,7 +1,7 @@ -From f38306f0dec689415dc81d88dc218e63803532d2 Mon Sep 17 00:00:00 2001 +From 57a68c4f0858e698587b8cd580242c16dfaa76a8 Mon Sep 17 00:00:00 2001 From: "Mauro (mdrjr) Ribeiro" Date: Wed, 31 Jan 2024 11:59:50 -0300 -Subject: [PATCH 42/51] power: supply: rk818-battery/charger: clear unused +Subject: [PATCH 37/46] power: supply: rk818-battery/charger: clear unused variables --- diff --git a/projects/Amlogic/patches/linux/S922X/0043-arm64-meson-odroid-go-ultra-add-battery-and-charger-.patch b/projects/Amlogic/patches/linux/S922X/0038-arm64-meson-odroid-go-ultra-add-battery-and-charger-.patch similarity index 95% rename from projects/Amlogic/patches/linux/S922X/0043-arm64-meson-odroid-go-ultra-add-battery-and-charger-.patch rename to projects/Amlogic/patches/linux/S922X/0038-arm64-meson-odroid-go-ultra-add-battery-and-charger-.patch index f06c40c12..956266e6f 100644 --- a/projects/Amlogic/patches/linux/S922X/0043-arm64-meson-odroid-go-ultra-add-battery-and-charger-.patch +++ b/projects/Amlogic/patches/linux/S922X/0038-arm64-meson-odroid-go-ultra-add-battery-and-charger-.patch @@ -1,7 +1,7 @@ -From 55884c4d37fb3913d3c429033acf5fc68f15a251 Mon Sep 17 00:00:00 2001 +From 49332adc404ceffba5c7fb17fcd42b54bd6d8c1e Mon Sep 17 00:00:00 2001 From: "Mauro (mdrjr) Ribeiro" Date: Wed, 31 Jan 2024 18:36:49 +0000 -Subject: [PATCH 43/51] arm64: meson: odroid-go-ultra: add battery and charger +Subject: [PATCH 38/46] arm64: meson: odroid-go-ultra: add battery and charger nodes --- diff --git a/projects/Amlogic/patches/linux/S922X/0044-ASoC-meson-axg-card-limit-the-volume-to-prevent-clip.patch b/projects/Amlogic/patches/linux/S922X/0039-ASoC-meson-axg-card-limit-the-volume-to-prevent-clip.patch similarity index 87% rename from projects/Amlogic/patches/linux/S922X/0044-ASoC-meson-axg-card-limit-the-volume-to-prevent-clip.patch rename to projects/Amlogic/patches/linux/S922X/0039-ASoC-meson-axg-card-limit-the-volume-to-prevent-clip.patch index 446dd4fcb..da04c3569 100644 --- a/projects/Amlogic/patches/linux/S922X/0044-ASoC-meson-axg-card-limit-the-volume-to-prevent-clip.patch +++ b/projects/Amlogic/patches/linux/S922X/0039-ASoC-meson-axg-card-limit-the-volume-to-prevent-clip.patch @@ -1,7 +1,7 @@ -From ca638d69bba78b4c4c42e3938e9f41b9b4d4a972 Mon Sep 17 00:00:00 2001 +From 3d72e4d9763088181128c655100b8c3e75e1058f Mon Sep 17 00:00:00 2001 From: ckkim Date: Thu, 20 Apr 2023 16:18:40 +0900 -Subject: [PATCH 44/51] ASoC: meson: axg-card: limit the volume to prevent +Subject: [PATCH 39/46] ASoC: meson: axg-card: limit the volume to prevent clipping of output signal --- diff --git a/projects/Amlogic/patches/linux/S922X/0045-power-supply-rk818_charger-change-syfs-node-name-so-.patch b/projects/Amlogic/patches/linux/S922X/0040-power-supply-rk818_charger-change-syfs-node-name-so-.patch similarity index 86% rename from projects/Amlogic/patches/linux/S922X/0045-power-supply-rk818_charger-change-syfs-node-name-so-.patch rename to projects/Amlogic/patches/linux/S922X/0040-power-supply-rk818_charger-change-syfs-node-name-so-.patch index cf988f387..32e0bd702 100644 --- a/projects/Amlogic/patches/linux/S922X/0045-power-supply-rk818_charger-change-syfs-node-name-so-.patch +++ b/projects/Amlogic/patches/linux/S922X/0040-power-supply-rk818_charger-change-syfs-node-name-so-.patch @@ -1,7 +1,7 @@ -From fd4655423bb7a7d92622df7f56ba0a08c359b655 Mon Sep 17 00:00:00 2001 +From 8094cad398334bac76e0a3a723c95558c5d28097 Mon Sep 17 00:00:00 2001 From: adamg Date: Wed, 31 Jan 2024 20:18:22 +0000 -Subject: [PATCH 45/51] power: supply: rk818_charger: change syfs node name so +Subject: [PATCH 40/46] power: supply: rk818_charger: change syfs node name so ES can read battery status --- diff --git a/projects/Amlogic/patches/linux/S922X/0046-arm64-meson-odroid-go-ultra-add-headphone-detection.patch b/projects/Amlogic/patches/linux/S922X/0041-arm64-meson-odroid-go-ultra-add-headphone-detection.patch similarity index 87% rename from projects/Amlogic/patches/linux/S922X/0046-arm64-meson-odroid-go-ultra-add-headphone-detection.patch rename to projects/Amlogic/patches/linux/S922X/0041-arm64-meson-odroid-go-ultra-add-headphone-detection.patch index eae7d1c2a..d241cdfcd 100644 --- a/projects/Amlogic/patches/linux/S922X/0046-arm64-meson-odroid-go-ultra-add-headphone-detection.patch +++ b/projects/Amlogic/patches/linux/S922X/0041-arm64-meson-odroid-go-ultra-add-headphone-detection.patch @@ -1,7 +1,7 @@ -From 6e95de6ebc5aacad74539106fd86a259d98a179f Mon Sep 17 00:00:00 2001 +From b5c924f1e9aa06c64d5f4e742bca3cdc6ff3d8fd Mon Sep 17 00:00:00 2001 From: "Mauro (mdrjr) Ribeiro" Date: Wed, 31 Jan 2024 20:56:40 +0000 -Subject: [PATCH 46/51] arm64: meson: odroid-go-ultra: add headphone detection +Subject: [PATCH 41/46] arm64: meson: odroid-go-ultra: add headphone detection --- .../arm64/boot/dts/amlogic/meson-g12b-odroid-go-ultra.dts | 8 ++++++++ diff --git a/projects/Amlogic/patches/linux/S922X/0047-arm64-dts-amlogic-odroid-go-ultra-Improve-sound-outp.patch b/projects/Amlogic/patches/linux/S922X/0042-arm64-dts-amlogic-odroid-go-ultra-Improve-sound-outp.patch similarity index 95% rename from projects/Amlogic/patches/linux/S922X/0047-arm64-dts-amlogic-odroid-go-ultra-Improve-sound-outp.patch rename to projects/Amlogic/patches/linux/S922X/0042-arm64-dts-amlogic-odroid-go-ultra-Improve-sound-outp.patch index dbecb2fe2..460bb6c1a 100644 --- a/projects/Amlogic/patches/linux/S922X/0047-arm64-dts-amlogic-odroid-go-ultra-Improve-sound-outp.patch +++ b/projects/Amlogic/patches/linux/S922X/0042-arm64-dts-amlogic-odroid-go-ultra-Improve-sound-outp.patch @@ -1,7 +1,7 @@ -From 66817d4329aaf4a18c47a459a6c2a4f75aedfceb Mon Sep 17 00:00:00 2001 +From f369984b8aa72b523bcacca4ca8777727f691a32 Mon Sep 17 00:00:00 2001 From: ckkim Date: Thu, 20 Apr 2023 16:21:09 +0900 -Subject: [PATCH 47/51] arm64: dts: amlogic: odroid-go ultra: Improve sound +Subject: [PATCH 42/46] arm64: dts: amlogic: odroid-go ultra: Improve sound output quality --- diff --git a/projects/Amlogic/patches/linux/S922X/0048-arm64-meson-g12-common-remove-lower-freq-gpu-opps.patch b/projects/Amlogic/patches/linux/S922X/0043-arm64-meson-g12-common-remove-lower-freq-gpu-opps.patch similarity index 88% rename from projects/Amlogic/patches/linux/S922X/0048-arm64-meson-g12-common-remove-lower-freq-gpu-opps.patch rename to projects/Amlogic/patches/linux/S922X/0043-arm64-meson-g12-common-remove-lower-freq-gpu-opps.patch index 2b52db6e3..b922291ee 100644 --- a/projects/Amlogic/patches/linux/S922X/0048-arm64-meson-g12-common-remove-lower-freq-gpu-opps.patch +++ b/projects/Amlogic/patches/linux/S922X/0043-arm64-meson-g12-common-remove-lower-freq-gpu-opps.patch @@ -1,7 +1,7 @@ -From 3ab9337f2fdf12e344fed66c63e4f799bf5cd68e Mon Sep 17 00:00:00 2001 +From 02c115905fc0a36a98ff0ebec098112185f61f26 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Thu, 1 Feb 2024 19:03:03 +0000 -Subject: [PATCH 48/51] arm64: meson: g12-common: remove lower freq gpu opps +Subject: [PATCH 43/46] arm64: meson: g12-common: remove lower freq gpu opps --- arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 12 ------------ diff --git a/projects/Amlogic/patches/linux/S922X/0049-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch b/projects/Amlogic/patches/linux/S922X/0044-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch similarity index 84% rename from projects/Amlogic/patches/linux/S922X/0049-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch rename to projects/Amlogic/patches/linux/S922X/0044-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch index 8067e2dbc..a513db408 100644 --- a/projects/Amlogic/patches/linux/S922X/0049-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch +++ b/projects/Amlogic/patches/linux/S922X/0044-LOCAL-ALSA-Assign-internal-PCM-chmap-ELD-IEC958-kctl.patch @@ -1,7 +1,7 @@ -From 84906f650c689fd1d682bc5b1ecf2e29a446a660 Mon Sep 17 00:00:00 2001 +From 20feee211d45148391b0a889ffa91d49bf02335f Mon Sep 17 00:00:00 2001 From: Anssi Hannula Date: Sun, 17 Apr 2022 04:37:48 +0000 -Subject: [PATCH 49/51] LOCAL: ALSA: Assign internal PCM chmap/ELD/IEC958 kctls +Subject: [PATCH 44/46] LOCAL: ALSA: Assign internal PCM chmap/ELD/IEC958 kctls to device 0 On SoC sound devices utilizing codec2codec DAI links with a HDMI codec @@ -25,10 +25,10 @@ Signed-off-by: Anssi Hannula 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c -index a11cd7d6295f..94269e485873 100644 +index 41103e5c43ce..0db7fe63911e 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c -@@ -2547,7 +2547,10 @@ int snd_pcm_add_chmap_ctls(struct snd_pcm *pcm, int stream, +@@ -2581,7 +2581,10 @@ int snd_pcm_add_chmap_ctls(struct snd_pcm *pcm, int stream, knew.name = "Playback Channel Map"; else knew.name = "Capture Channel Map"; @@ -41,10 +41,10 @@ index a11cd7d6295f..94269e485873 100644 knew.private_value = private_value; info->kctl = snd_ctl_new1(&knew, info); diff --git a/sound/soc/codecs/hdmi-codec.c b/sound/soc/codecs/hdmi-codec.c -index 0938671700c6..3131a20f1b21 100644 +index d3abb7ce2153..e06b28c7e5ba 100644 --- a/sound/soc/codecs/hdmi-codec.c +++ b/sound/soc/codecs/hdmi-codec.c -@@ -801,7 +801,8 @@ static int hdmi_codec_pcm_new(struct snd_soc_pcm_runtime *rtd, +@@ -802,7 +802,8 @@ static int hdmi_codec_pcm_new(struct snd_soc_pcm_runtime *rtd, if (!kctl) return -ENOMEM; diff --git a/projects/Amlogic/patches/linux/S922X/0050-arm64-meson-odroid-n2-add-support-for-overclocking.patch b/projects/Amlogic/patches/linux/S922X/0045-arm64-meson-odroid-n2-add-support-for-overclocking.patch similarity index 95% rename from projects/Amlogic/patches/linux/S922X/0050-arm64-meson-odroid-n2-add-support-for-overclocking.patch rename to projects/Amlogic/patches/linux/S922X/0045-arm64-meson-odroid-n2-add-support-for-overclocking.patch index 411c55d85..3251565bb 100644 --- a/projects/Amlogic/patches/linux/S922X/0050-arm64-meson-odroid-n2-add-support-for-overclocking.patch +++ b/projects/Amlogic/patches/linux/S922X/0045-arm64-meson-odroid-n2-add-support-for-overclocking.patch @@ -1,7 +1,7 @@ -From b5d3616c041a19c31bef8cec497e171a217f8acb Mon Sep 17 00:00:00 2001 +From 656950aff1e7958af62a2508d950de486fc2f4ea Mon Sep 17 00:00:00 2001 From: adamg Date: Sun, 4 Feb 2024 09:48:31 +0000 -Subject: [PATCH 50/51] arm64: meson: odroid-n2*: add support for overclocking +Subject: [PATCH 45/46] arm64: meson: odroid-n2*: add support for overclocking --- .../dts/amlogic/meson-g12b-odroid-n2-plus.dts | 24 ++++++++++++++++++ diff --git a/projects/Amlogic/patches/linux/S922X/0046-power-supply-rk818_charger-fix-compiling-driver-on-6.patch b/projects/Amlogic/patches/linux/S922X/0046-power-supply-rk818_charger-fix-compiling-driver-on-6.patch new file mode 100644 index 000000000..c1e59453b --- /dev/null +++ b/projects/Amlogic/patches/linux/S922X/0046-power-supply-rk818_charger-fix-compiling-driver-on-6.patch @@ -0,0 +1,34 @@ +From 5dfbb3c0d3b148c632785e864a108fbce7004541 Mon Sep 17 00:00:00 2001 +From: adamg +Date: Tue, 6 Feb 2024 17:50:09 +0000 +Subject: [PATCH 46/46] power: supply: rk818_charger: fix compiling driver on + 6.8 + +--- + drivers/power/supply/rk818_charger.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/drivers/power/supply/rk818_charger.c b/drivers/power/supply/rk818_charger.c +index 6956d093c672..5cbdc1b46c5c 100644 +--- a/drivers/power/supply/rk818_charger.c ++++ b/drivers/power/supply/rk818_charger.c +@@ -8,7 +8,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +@@ -705,6 +705,7 @@ static const struct of_device_id rk818_charger_of_match[] = { + { .compatible = "rockchip,rk818-charger", }, + { }, + }; ++MODULE_DEVICE_TABLE(of, rk818_charger_of_match); + + static struct platform_driver rk818_charger_driver = { + .probe = rk818_charger_probe, +-- +2.34.1 + diff --git a/projects/Amlogic/patches/linux/S922X/0051-power-reset-add-the-Powkiddy-RGB10-Max-3-Pro-to-the-.patch b/projects/Amlogic/patches/linux/S922X/0047-power-reset-add-the-Powkiddy-RGB10-Max-3-Pro-to-the-.patch similarity index 86% rename from projects/Amlogic/patches/linux/S922X/0051-power-reset-add-the-Powkiddy-RGB10-Max-3-Pro-to-the-.patch rename to projects/Amlogic/patches/linux/S922X/0047-power-reset-add-the-Powkiddy-RGB10-Max-3-Pro-to-the-.patch index c33e219b2..8c6e0a650 100644 --- a/projects/Amlogic/patches/linux/S922X/0051-power-reset-add-the-Powkiddy-RGB10-Max-3-Pro-to-the-.patch +++ b/projects/Amlogic/patches/linux/S922X/0047-power-reset-add-the-Powkiddy-RGB10-Max-3-Pro-to-the-.patch @@ -1,15 +1,15 @@ -From a37e1c62eee9f1a50f7cd4a5482bdebc9c3b97b7 Mon Sep 17 00:00:00 2001 +From db7441026e9bab24e537c74692020270ca61963e Mon Sep 17 00:00:00 2001 From: salty cat Date: Wed, 6 Mar 2024 19:40:45 +0000 -Subject: [PATCH 51/51] power: reset: add the Powkiddy RGB10-Max-3-Pro to the - Odroid Go Ultra poweroff driver +Subject: [PATCH] power: reset: add the Powkiddy RGB10-Max-3-Pro to the Odroid + Go Ultra poweroff driver --- drivers/power/reset/odroid-go-ultra-poweroff.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/power/reset/odroid-go-ultra-poweroff.c b/drivers/power/reset/odroid-go-ultra-poweroff.c -index 9cac7aef77f0..2ec3af0be0a5 100644 +index 9cac7aef77f0..9e48a34cee79 100644 --- a/drivers/power/reset/odroid-go-ultra-poweroff.c +++ b/drivers/power/reset/odroid-go-ultra-poweroff.c @@ -142,7 +142,8 @@ static int __init odroid_go_ultra_poweroff_init(void) diff --git a/projects/Amlogic/patches/linux/S922X/0048-arm64-dts-amlogic-meson-g12b-odroid-n2-add-support-f.patch b/projects/Amlogic/patches/linux/S922X/0048-arm64-dts-amlogic-meson-g12b-odroid-n2-add-support-f.patch new file mode 100644 index 000000000..231917934 --- /dev/null +++ b/projects/Amlogic/patches/linux/S922X/0048-arm64-dts-amlogic-meson-g12b-odroid-n2-add-support-f.patch @@ -0,0 +1,35 @@ +From 7023d5b29957ffaec48c2cf1f5a3a2288c576deb Mon Sep 17 00:00:00 2001 +From: Adam Green +Date: Fri, 15 Mar 2024 19:49:19 +0000 +Subject: [PATCH] arm64: dts: amlogic: meson-g12b-odroid-n2: add support for + gpio power off + +--- + arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +index 91c9769fda20..326f9d8810af 100644 +--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi ++++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid-n2.dtsi +@@ -19,6 +19,17 @@ dio2133: audio-amplifier-0 { + status = "okay"; + }; + ++ gpio-keys { ++ compatible = "gpio-keys-polled"; ++ poll-interval = <100>; ++ ++ power-button { ++ label = "power"; ++ linux,code = ; ++ gpios = <&gpio GPIOX_3 GPIO_ACTIVE_HIGH>; ++ }; ++ }; ++ + hub_5v: regulator-hub_5v { + compatible = "regulator-fixed"; + regulator-name = "HUB_5V"; +-- +2.34.1 + From eb535785fc3b1e411bf450608579cda758c9476c Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Sun, 24 Mar 2024 21:11:33 +0000 Subject: [PATCH 15/77] Set RK3588 back to 5.10 --- .../linux/RK3588/001-hx8399c-panel.patch | 2 +- .../patches/linux/RK3588/003-audio-fix.patch | 49 +- .../patches/linux/RK3588/005-pll-clock.patch | 29 + .../linux/RK3588/005-polldev-driver.patch | 484 -- .../patches/linux/RK3588/007-dmc-fixes.patch | 126 + .../linux/RK3588/007-rotation-quirk.patch | 12 - .../linux/RK3588/008-simple-panel.patch | 4018 ----------------- .../linux/RK3588/999-remove-log-spam.patch | 14 + 8 files changed, 181 insertions(+), 4553 deletions(-) create mode 100644 projects/Rockchip/patches/linux/RK3588/005-pll-clock.patch delete mode 100644 projects/Rockchip/patches/linux/RK3588/005-polldev-driver.patch create mode 100644 projects/Rockchip/patches/linux/RK3588/007-dmc-fixes.patch delete mode 100644 projects/Rockchip/patches/linux/RK3588/007-rotation-quirk.patch delete mode 100644 projects/Rockchip/patches/linux/RK3588/008-simple-panel.patch create mode 100644 projects/Rockchip/patches/linux/RK3588/999-remove-log-spam.patch diff --git a/projects/Rockchip/patches/linux/RK3588/001-hx8399c-panel.patch b/projects/Rockchip/patches/linux/RK3588/001-hx8399c-panel.patch index 43e0974bd..0639222c8 100644 --- a/projects/Rockchip/patches/linux/RK3588/001-hx8399c-panel.patch +++ b/projects/Rockchip/patches/linux/RK3588/001-hx8399c-panel.patch @@ -58,7 +58,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/lcd-hx8399c_mipi.dtsi linux/a + stbyb-delay-ms = <120>; + prepare-delay-ms = <120>; + unprepare-delay-ms = <120>; -+ rotation = <270>; ++ rotation = <90>; + disable-delay-ms = <120>; + dsi,flags = <(MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | + MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_EOT_PACKET)>; diff --git a/projects/Rockchip/patches/linux/RK3588/003-audio-fix.patch b/projects/Rockchip/patches/linux/RK3588/003-audio-fix.patch index b0e5c855f..becdafc32 100644 --- a/projects/Rockchip/patches/linux/RK3588/003-audio-fix.patch +++ b/projects/Rockchip/patches/linux/RK3588/003-audio-fix.patch @@ -1,18 +1,6 @@ -diff -rupN linux.orig/Makefile linux/Makefile ---- linux.orig/Makefile 2024-03-12 17:07:07.439910827 +0000 -+++ linux/Makefile 2024-03-12 17:07:54.941476478 +0000 -@@ -1075,7 +1075,7 @@ endif - KBUILD_CFLAGS += -Werror=date-time - - # enforce correct pointer usage --KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types) -+#KBUILD_CFLAGS += $(call cc-option,-Werror=incompatible-pointer-types) - - # Require designated initializers for all marked structures - KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init) diff -rupN linux.orig/sound/soc/codecs/es8323.c linux/sound/soc/codecs/es8323.c ---- linux.orig/sound/soc/codecs/es8323.c 2024-03-12 17:07:08.999962342 +0000 -+++ linux/sound/soc/codecs/es8323.c 2024-03-12 17:07:39.208958586 +0000 +--- linux.orig/sound/soc/codecs/es8323.c 2024-03-06 21:56:51.358228509 +0000 ++++ linux/sound/soc/codecs/es8323.c 2024-03-06 21:58:44.317922609 +0000 @@ -25,6 +25,11 @@ #include #include @@ -72,7 +60,7 @@ diff -rupN linux.orig/sound/soc/codecs/es8323.c linux/sound/soc/codecs/es8323.c static int es8323_mute(struct snd_soc_dai *dai, int mute, int stream) -{ - return 0; -+{ ++{ + // struct snd_soc_component *component = dai->component; + // struct es8323_priv *es8323 = snd_soc_component_get_drvdata(component); + @@ -85,7 +73,7 @@ diff -rupN linux.orig/sound/soc/codecs/es8323.c linux/sound/soc/codecs/es8323.c + + if (hp) { + // printk("gsy es8323_mute\n"); -+ // gsy add ++ // gsy add + if (mute) { + gpio_direction_output(133, 0);// spk ctl + gpio_set_value(133, 0); @@ -142,25 +130,13 @@ diff -rupN linux.orig/sound/soc/codecs/es8323.c linux/sound/soc/codecs/es8323.c + GPIOD_OUT_LOW); + if (IS_ERR(es8323->spk_ctl_gpio)) + return PTR_ERR(es8323->spk_ctl_gpio); -+ ++ es8323->mclk = devm_clk_get(component->dev, "mclk"); if (IS_ERR(es8323->mclk)) { dev_err(component->dev, "%s mclk is missing or invalid\n", __func__); -@@ -870,9 +918,10 @@ static int es8323_i2c_probe(struct i2c_c - return ret; - } - --static void es8323_i2c_remove(struct i2c_client *client) -+static int es8323_i2c_remove(struct i2c_client *client) - { - snd_soc_unregister_component(&client->dev); -+ return 0; - } - - static const struct i2c_device_id es8323_i2c_id[] = { diff -rupN linux.orig/sound/soc/codecs/es8323.h linux/sound/soc/codecs/es8323.h ---- linux.orig/sound/soc/codecs/es8323.h 2024-03-12 17:07:08.999962342 +0000 -+++ linux/sound/soc/codecs/es8323.h 2024-03-12 17:07:39.208958586 +0000 +--- linux.orig/sound/soc/codecs/es8323.h 2024-03-06 21:56:51.362228640 +0000 ++++ linux/sound/soc/codecs/es8323.h 2024-03-06 22:01:36.203539209 +0000 @@ -80,7 +80,7 @@ #define ES8323_ADC_MUTE ES8323_ADCCONTROL7 @@ -171,9 +147,9 @@ diff -rupN linux.orig/sound/soc/codecs/es8323.h linux/sound/soc/codecs/es8323.h #define ES8323_IFACE ES8323_MASTERMODE diff -rupN linux.orig/sound/soc/rockchip/rockchip_multicodecs.c linux/sound/soc/rockchip/rockchip_multicodecs.c ---- linux.orig/sound/soc/rockchip/rockchip_multicodecs.c 2024-03-12 17:07:09.023963134 +0000 -+++ linux/sound/soc/rockchip/rockchip_multicodecs.c 2024-03-12 17:07:39.208958586 +0000 -@@ -272,9 +272,13 @@ static int mc_hp_event(struct snd_soc_da +--- linux.orig/sound/soc/rockchip/rockchip_multicodecs.c 2024-03-06 21:56:51.478232435 +0000 ++++ linux/sound/soc/rockchip/rockchip_multicodecs.c 2024-03-06 22:04:55.818056848 +0000 +@@ -293,8 +293,11 @@ static int mc_spk_event(struct snd_soc_d struct snd_soc_card *card = w->dapm->card; struct multicodecs_data *mc_data = snd_soc_card_get_drvdata(card); @@ -181,10 +157,7 @@ diff -rupN linux.orig/sound/soc/rockchip/rockchip_multicodecs.c linux/sound/soc/ + switch (event) { case SND_SOC_DAPM_POST_PMU: -- gpiod_set_value_cansleep(mc_data->hp_ctl_gpio, 1); -+ //gpiod_set_value_cansleep(mc_data->hp_ctl_gpio, 1); + if (!(jack_headset->status & SND_JACK_HEADPHONE)) -+ gpiod_set_value_cansleep(mc_data->spk_ctl_gpio, 1); + gpiod_set_value_cansleep(mc_data->spk_ctl_gpio, 1); break; case SND_SOC_DAPM_PRE_PMD: - gpiod_set_value_cansleep(mc_data->hp_ctl_gpio, 0); diff --git a/projects/Rockchip/patches/linux/RK3588/005-pll-clock.patch b/projects/Rockchip/patches/linux/RK3588/005-pll-clock.patch new file mode 100644 index 000000000..a41e0d9fe --- /dev/null +++ b/projects/Rockchip/patches/linux/RK3588/005-pll-clock.patch @@ -0,0 +1,29 @@ +diff -rupN linux.orig/drivers/clk/rockchip/clk-rk3588.c linux/drivers/clk/rockchip/clk-rk3588.c +--- linux.orig/drivers/clk/rockchip/clk-rk3588.c 2024-03-06 22:11:33.951046369 +0000 ++++ linux/drivers/clk/rockchip/clk-rk3588.c 2024-03-07 00:00:30.202206013 +0000 +@@ -2065,13 +2065,13 @@ static struct rockchip_clk_branch rk3588 + RK3588_CLKGATE_CON(72), 4, GFLAGS), + GATE(HCLK_VOP, "hclk_vop", "hclk_vop_root", 0, + RK3588_CLKGATE_CON(52), 8, GFLAGS), +- COMPOSITE(DCLK_VOP0_SRC, "dclk_vop0_src", gpll_cpll_v0pll_aupll_p, 0, ++ COMPOSITE(DCLK_VOP0_SRC, "dclk_vop0_src", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_NO_REPARENT, + RK3588_CLKSEL_CON(111), 7, 2, MFLAGS, 0, 7, DFLAGS, + RK3588_CLKGATE_CON(52), 10, GFLAGS), +- COMPOSITE(DCLK_VOP1_SRC, "dclk_vop1_src", gpll_cpll_v0pll_aupll_p, 0, ++ COMPOSITE(DCLK_VOP1_SRC, "dclk_vop1_src", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_NO_REPARENT, + RK3588_CLKSEL_CON(111), 14, 2, MFLAGS, 9, 5, DFLAGS, + RK3588_CLKGATE_CON(52), 11, GFLAGS), +- COMPOSITE(DCLK_VOP2_SRC, "dclk_vop2_src", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT, ++ COMPOSITE(DCLK_VOP2_SRC, "dclk_vop2_src", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_NO_REPARENT, + RK3588_CLKSEL_CON(112), 5, 2, MFLAGS, 0, 5, DFLAGS, + RK3588_CLKGATE_CON(52), 12, GFLAGS), + COMPOSITE_NODIV(DCLK_VOP0, "dclk_vop0", dclk_vop0_p, CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT, +@@ -2083,7 +2083,7 @@ static struct rockchip_clk_branch rk3588 + COMPOSITE_NODIV(DCLK_VOP2, "dclk_vop2", dclk_vop2_p, CLK_SET_RATE_PARENT | CLK_SET_RATE_NO_REPARENT, + RK3588_CLKSEL_CON(112), 11, 2, MFLAGS, + RK3588_CLKGATE_CON(53), 1, GFLAGS), +- COMPOSITE(DCLK_VOP3, "dclk_vop3", gpll_cpll_v0pll_aupll_p, 0, ++ COMPOSITE(DCLK_VOP3, "dclk_vop3", gpll_cpll_v0pll_aupll_p, CLK_SET_RATE_NO_REPARENT, + RK3588_CLKSEL_CON(113), 7, 2, MFLAGS, 0, 7, DFLAGS, + RK3588_CLKGATE_CON(53), 2, GFLAGS), + GATE(PCLK_DSIHOST0, "pclk_dsihost0", "pclk_vop_root", 0, diff --git a/projects/Rockchip/patches/linux/RK3588/005-polldev-driver.patch b/projects/Rockchip/patches/linux/RK3588/005-polldev-driver.patch deleted file mode 100644 index 05f7faf52..000000000 --- a/projects/Rockchip/patches/linux/RK3588/005-polldev-driver.patch +++ /dev/null @@ -1,484 +0,0 @@ -From bb62799748bd5492d80e9ebee4ac6b5702fb037e Mon Sep 17 00:00:00 2001 -From: brooksytech <1673861+brooksytech@users.noreply.github.com> -Date: Wed, 24 Jan 2024 21:50:05 +0000 -Subject: [PATCH 14/46] input: add input-polldev driver - ---- - drivers/input/Kconfig | 13 ++ - drivers/input/Makefile | 1 + - drivers/input/input-polldev.c | 362 ++++++++++++++++++++++++++++++++++ - include/linux/input-polldev.h | 58 ++++++ - 4 files changed, 434 insertions(+) - create mode 100644 drivers/input/input-polldev.c - create mode 100644 include/linux/input-polldev.h - -diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig -index 3bdbd34314b3..779daf5009c1 100644 ---- a/drivers/input/Kconfig -+++ b/drivers/input/Kconfig -@@ -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. - -+config INPUT_POLLDEV -+ tristate "Polled input device skeleton" -+ help -+ Say Y here if you are using a driver for an input -+ device that periodically polls hardware state. This -+ option is only useful for out-of-tree drivers since -+ in-tree drivers select it automatically. -+ -+ If unsure, say N. -+ -+ To compile this driver as a module, choose M here: the -+ module will be called input-polldev. -+ - config INPUT_SPARSEKMAP - tristate "Sparse keymap support library" - help -diff --git a/drivers/input/Makefile b/drivers/input/Makefile -index c78753274921..e92c29174c36 100644 ---- a/drivers/input/Makefile -+++ b/drivers/input/Makefile -@@ -10,6 +10,7 @@ input-core-y := input.o input-compat.o input-mt.o input-poller.o ff-core.o - input-core-y += touchscreen.o - - obj-$(CONFIG_INPUT_FF_MEMLESS) += ff-memless.o -+obj-$(CONFIG_INPUT_POLLDEV) += input-polldev.o - obj-$(CONFIG_INPUT_SPARSEKMAP) += sparse-keymap.o - obj-$(CONFIG_INPUT_MATRIXKMAP) += matrix-keymap.o - obj-$(CONFIG_INPUT_VIVALDIFMAP) += vivaldi-fmap.o -diff --git a/drivers/input/input-polldev.c b/drivers/input/input-polldev.c -new file mode 100644 -index 000000000000..9bf1c9aeb4c4 ---- /dev/null -+++ b/drivers/input/input-polldev.c -@@ -0,0 +1,362 @@ -+// SPDX-License-Identifier: GPL-2.0-only -+/* -+ * Generic implementation of a polled input device -+ -+ * Copyright (c) 2007 Dmitry Torokhov -+ */ -+ -+#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt -+ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+MODULE_AUTHOR("Dmitry Torokhov "); -+MODULE_DESCRIPTION("Generic implementation of a polled input device"); -+MODULE_LICENSE("GPL v2"); -+ -+static void input_polldev_queue_work(struct input_polled_dev *dev) -+{ -+ unsigned long delay; -+ -+ delay = msecs_to_jiffies(dev->poll_interval); -+ if (delay >= HZ) -+ delay = round_jiffies_relative(delay); -+ -+ queue_delayed_work(system_freezable_wq, &dev->work, delay); -+} -+ -+static void input_polled_device_work(struct work_struct *work) -+{ -+ struct input_polled_dev *dev = -+ container_of(work, struct input_polled_dev, work.work); -+ -+ dev->poll(dev); -+ input_polldev_queue_work(dev); -+} -+ -+static int input_open_polled_device(struct input_dev *input) -+{ -+ struct input_polled_dev *dev = input_get_drvdata(input); -+ -+ if (dev->open) -+ dev->open(dev); -+ -+ /* Only start polling if polling is enabled */ -+ if (dev->poll_interval > 0) { -+ dev->poll(dev); -+ input_polldev_queue_work(dev); -+ } -+ -+ return 0; -+} -+ -+static void input_close_polled_device(struct input_dev *input) -+{ -+ struct input_polled_dev *dev = input_get_drvdata(input); -+ -+ cancel_delayed_work_sync(&dev->work); -+ -+ if (dev->close) -+ dev->close(dev); -+} -+ -+/* SYSFS interface */ -+ -+static ssize_t input_polldev_get_poll(struct device *dev, -+ struct device_attribute *attr, char *buf) -+{ -+ struct input_polled_dev *polldev = dev_get_drvdata(dev); -+ -+ return sprintf(buf, "%d\n", polldev->poll_interval); -+} -+ -+static ssize_t input_polldev_set_poll(struct device *dev, -+ struct device_attribute *attr, const char *buf, -+ size_t count) -+{ -+ struct input_polled_dev *polldev = dev_get_drvdata(dev); -+ struct input_dev *input = polldev->input; -+ unsigned int interval; -+ int err; -+ -+ err = kstrtouint(buf, 0, &interval); -+ if (err) -+ return err; -+ -+ if (interval < polldev->poll_interval_min) -+ return -EINVAL; -+ -+ if (interval > polldev->poll_interval_max) -+ return -EINVAL; -+ -+ mutex_lock(&input->mutex); -+ -+ polldev->poll_interval = interval; -+ -+ if (input->users) { -+ cancel_delayed_work_sync(&polldev->work); -+ if (polldev->poll_interval > 0) -+ input_polldev_queue_work(polldev); -+ } -+ -+ mutex_unlock(&input->mutex); -+ -+ return count; -+} -+ -+static DEVICE_ATTR(poll, S_IRUGO | S_IWUSR, input_polldev_get_poll, -+ input_polldev_set_poll); -+ -+ -+static ssize_t input_polldev_get_max(struct device *dev, -+ struct device_attribute *attr, char *buf) -+{ -+ struct input_polled_dev *polldev = dev_get_drvdata(dev); -+ -+ return sprintf(buf, "%d\n", polldev->poll_interval_max); -+} -+ -+static DEVICE_ATTR(max, S_IRUGO, input_polldev_get_max, NULL); -+ -+static ssize_t input_polldev_get_min(struct device *dev, -+ struct device_attribute *attr, char *buf) -+{ -+ struct input_polled_dev *polldev = dev_get_drvdata(dev); -+ -+ return sprintf(buf, "%d\n", polldev->poll_interval_min); -+} -+ -+static DEVICE_ATTR(min, S_IRUGO, input_polldev_get_min, NULL); -+ -+static struct attribute *sysfs_attrs[] = { -+ &dev_attr_poll.attr, -+ &dev_attr_max.attr, -+ &dev_attr_min.attr, -+ NULL -+}; -+ -+static struct attribute_group input_polldev_attribute_group = { -+ .attrs = sysfs_attrs -+}; -+ -+static const struct attribute_group *input_polldev_attribute_groups[] = { -+ &input_polldev_attribute_group, -+ NULL -+}; -+ -+/** -+ * input_allocate_polled_device - allocate memory for polled device -+ * -+ * The function allocates memory for a polled device and also -+ * for an input device associated with this polled device. -+ */ -+struct input_polled_dev *input_allocate_polled_device(void) -+{ -+ struct input_polled_dev *dev; -+ -+ dev = kzalloc(sizeof(struct input_polled_dev), GFP_KERNEL); -+ if (!dev) -+ return NULL; -+ -+ dev->input = input_allocate_device(); -+ if (!dev->input) { -+ kfree(dev); -+ return NULL; -+ } -+ -+ return dev; -+} -+EXPORT_SYMBOL(input_allocate_polled_device); -+ -+struct input_polled_devres { -+ struct input_polled_dev *polldev; -+}; -+ -+static int devm_input_polldev_match(struct device *dev, void *res, void *data) -+{ -+ struct input_polled_devres *devres = res; -+ -+ return devres->polldev == data; -+} -+ -+static void devm_input_polldev_release(struct device *dev, void *res) -+{ -+ struct input_polled_devres *devres = res; -+ struct input_polled_dev *polldev = devres->polldev; -+ -+ dev_dbg(dev, "%s: dropping reference/freeing %s\n", -+ __func__, dev_name(&polldev->input->dev)); -+ -+ input_put_device(polldev->input); -+ kfree(polldev); -+} -+ -+static void devm_input_polldev_unregister(struct device *dev, void *res) -+{ -+ struct input_polled_devres *devres = res; -+ struct input_polled_dev *polldev = devres->polldev; -+ -+ dev_dbg(dev, "%s: unregistering device %s\n", -+ __func__, dev_name(&polldev->input->dev)); -+ input_unregister_device(polldev->input); -+ -+ /* -+ * Note that we are still holding extra reference to the input -+ * device so it will stick around until devm_input_polldev_release() -+ * is called. -+ */ -+} -+ -+/** -+ * devm_input_allocate_polled_device - allocate managed polled device -+ * @dev: device owning the polled device being created -+ * -+ * Returns prepared &struct input_polled_dev or %NULL. -+ * -+ * Managed polled input devices do not need to be explicitly unregistered -+ * or freed as it will be done automatically when owner device unbinds -+ * from * its driver (or binding fails). Once such managed polled device -+ * is allocated, it is ready to be set up and registered in the same -+ * fashion as regular polled input devices (using -+ * input_register_polled_device() function). -+ * -+ * If you want to manually unregister and free such managed polled devices, -+ * it can be still done by calling input_unregister_polled_device() and -+ * input_free_polled_device(), although it is rarely needed. -+ * -+ * NOTE: the owner device is set up as parent of input device and users -+ * should not override it. -+ */ -+struct input_polled_dev *devm_input_allocate_polled_device(struct device *dev) -+{ -+ struct input_polled_dev *polldev; -+ struct input_polled_devres *devres; -+ -+ devres = devres_alloc(devm_input_polldev_release, sizeof(*devres), -+ GFP_KERNEL); -+ if (!devres) -+ return NULL; -+ -+ polldev = input_allocate_polled_device(); -+ if (!polldev) { -+ devres_free(devres); -+ return NULL; -+ } -+ -+ polldev->input->dev.parent = dev; -+ polldev->devres_managed = true; -+ -+ devres->polldev = polldev; -+ devres_add(dev, devres); -+ -+ return polldev; -+} -+EXPORT_SYMBOL(devm_input_allocate_polled_device); -+ -+/** -+ * input_free_polled_device - free memory allocated for polled device -+ * @dev: device to free -+ * -+ * The function frees memory allocated for polling device and drops -+ * reference to the associated input device. -+ */ -+void input_free_polled_device(struct input_polled_dev *dev) -+{ -+ if (dev) { -+ if (dev->devres_managed) -+ WARN_ON(devres_destroy(dev->input->dev.parent, -+ devm_input_polldev_release, -+ devm_input_polldev_match, -+ dev)); -+ input_put_device(dev->input); -+ kfree(dev); -+ } -+} -+EXPORT_SYMBOL(input_free_polled_device); -+ -+/** -+ * input_register_polled_device - register polled device -+ * @dev: device to register -+ * -+ * The function registers previously initialized polled input device -+ * with input layer. The device should be allocated with call to -+ * input_allocate_polled_device(). Callers should also set up poll() -+ * method and set up capabilities (id, name, phys, bits) of the -+ * corresponding input_dev structure. -+ */ -+int input_register_polled_device(struct input_polled_dev *dev) -+{ -+ struct input_polled_devres *devres = NULL; -+ struct input_dev *input = dev->input; -+ int error; -+ -+ if (dev->devres_managed) { -+ devres = devres_alloc(devm_input_polldev_unregister, -+ sizeof(*devres), GFP_KERNEL); -+ if (!devres) -+ return -ENOMEM; -+ -+ devres->polldev = dev; -+ } -+ -+ input_set_drvdata(input, dev); -+ INIT_DELAYED_WORK(&dev->work, input_polled_device_work); -+ -+ if (!dev->poll_interval) -+ dev->poll_interval = 500; -+ if (!dev->poll_interval_max) -+ dev->poll_interval_max = dev->poll_interval; -+ -+ input->open = input_open_polled_device; -+ input->close = input_close_polled_device; -+ -+ input->dev.groups = input_polldev_attribute_groups; -+ -+ error = input_register_device(input); -+ if (error) { -+ devres_free(devres); -+ return error; -+ } -+ -+ /* -+ * Take extra reference to the underlying input device so -+ * that it survives call to input_unregister_polled_device() -+ * and is deleted only after input_free_polled_device() -+ * has been invoked. This is needed to ease task of freeing -+ * sparse keymaps. -+ */ -+ input_get_device(input); -+ -+ if (dev->devres_managed) { -+ dev_dbg(input->dev.parent, "%s: registering %s with devres.\n", -+ __func__, dev_name(&input->dev)); -+ devres_add(input->dev.parent, devres); -+ } -+ -+ return 0; -+} -+EXPORT_SYMBOL(input_register_polled_device); -+ -+/** -+ * input_unregister_polled_device - unregister polled device -+ * @dev: device to unregister -+ * -+ * The function unregisters previously registered polled input -+ * device from input layer. Polling is stopped and device is -+ * ready to be freed with call to input_free_polled_device(). -+ */ -+void input_unregister_polled_device(struct input_polled_dev *dev) -+{ -+ if (dev->devres_managed) -+ WARN_ON(devres_destroy(dev->input->dev.parent, -+ devm_input_polldev_unregister, -+ devm_input_polldev_match, -+ dev)); -+ -+ input_unregister_device(dev->input); -+} -+EXPORT_SYMBOL(input_unregister_polled_device); -diff --git a/include/linux/input-polldev.h b/include/linux/input-polldev.h -new file mode 100644 -index 000000000000..14821fd231c0 ---- /dev/null -+++ b/include/linux/input-polldev.h -@@ -0,0 +1,58 @@ -+/* SPDX-License-Identifier: GPL-2.0-only */ -+#ifndef _INPUT_POLLDEV_H -+#define _INPUT_POLLDEV_H -+ -+/* -+ * Copyright (c) 2007 Dmitry Torokhov -+ */ -+ -+#include -+#include -+ -+/** -+ * struct input_polled_dev - simple polled input device -+ * @private: private driver data. -+ * @open: driver-supplied method that prepares device for polling -+ * (enabled the device and maybe flushes device state). -+ * @close: driver-supplied method that is called when device is no -+ * longer being polled. Used to put device into low power mode. -+ * @poll: driver-supplied method that polls the device and posts -+ * input events (mandatory). -+ * @poll_interval: specifies how often the poll() method should be called. -+ * Defaults to 500 msec unless overridden when registering the device. -+ * @poll_interval_max: specifies upper bound for the poll interval. -+ * Defaults to the initial value of @poll_interval. -+ * @poll_interval_min: specifies lower bound for the poll interval. -+ * Defaults to 0. -+ * @input: input device structure associated with the polled device. -+ * Must be properly initialized by the driver (id, name, phys, bits). -+ * -+ * Polled input device provides a skeleton for supporting simple input -+ * devices that do not raise interrupts but have to be periodically -+ * scanned or polled to detect changes in their state. -+ */ -+struct input_polled_dev { -+ void *private; -+ -+ void (*open)(struct input_polled_dev *dev); -+ void (*close)(struct input_polled_dev *dev); -+ void (*poll)(struct input_polled_dev *dev); -+ unsigned int poll_interval; /* msec */ -+ unsigned int poll_interval_max; /* msec */ -+ unsigned int poll_interval_min; /* msec */ -+ -+ struct input_dev *input; -+ -+/* private: */ -+ struct delayed_work work; -+ -+ bool devres_managed; -+}; -+ -+struct input_polled_dev *input_allocate_polled_device(void); -+struct input_polled_dev *devm_input_allocate_polled_device(struct device *dev); -+void input_free_polled_device(struct input_polled_dev *dev); -+int input_register_polled_device(struct input_polled_dev *dev); -+void input_unregister_polled_device(struct input_polled_dev *dev); -+ -+#endif --- -2.34.1 diff --git a/projects/Rockchip/patches/linux/RK3588/007-dmc-fixes.patch b/projects/Rockchip/patches/linux/RK3588/007-dmc-fixes.patch new file mode 100644 index 000000000..a03b856c7 --- /dev/null +++ b/projects/Rockchip/patches/linux/RK3588/007-dmc-fixes.patch @@ -0,0 +1,126 @@ +diff -rupN linux.orig/drivers/devfreq/rockchip_dmc.c linux/drivers/devfreq/rockchip_dmc.c +--- linux.orig/drivers/devfreq/rockchip_dmc.c 2024-03-07 18:08:07.755017253 +0000 ++++ linux/drivers/devfreq/rockchip_dmc.c 2024-03-07 18:09:55.570159077 +0000 +@@ -141,6 +141,7 @@ struct rockchip_dmcfreq { + unsigned long hdmirx_rate; + unsigned long idle_rate; + unsigned long suspend_rate; ++ unsigned long deep_suspend_rate; + unsigned long reboot_rate; + unsigned long boost_rate; + unsigned long fixed_rate; +@@ -1996,6 +1997,12 @@ static __maybe_unused int rk3588_dmc_ini + if (of_property_read_u32(pdev->dev.of_node, "wait-mode", &ddr_psci_param->wait_mode)) + ddr_psci_param->wait_mode = 0; + ++ res = sip_smc_dram(SHARE_PAGE_TYPE_DDR, 0, ROCKCHIP_SIP_CONFIG_DRAM_GET_STALL_TIME); ++ if (res.a0) ++ dev_err(dmcfreq->dev, "Current ATF unsupported get_stall_time\n"); ++ else ++ dmcfreq->info.stall_time_ns = (unsigned int)res.a1; ++ + dmcfreq->set_auto_self_refresh = rockchip_ddr_set_auto_self_refresh; + + return 0; +@@ -2248,6 +2255,9 @@ static int rockchip_get_system_status_ra + case SYS_STATUS_SUSPEND: + dmcfreq->suspend_rate = freq * 1000; + break; ++ case SYS_STATUS_DEEP_SUSPEND: ++ dmcfreq->deep_suspend_rate = freq * 1000; ++ break; + case SYS_STATUS_VIDEO_1080P: + dmcfreq->video_1080p_rate = freq * 1000; + break; +@@ -2390,6 +2400,11 @@ static int rockchip_get_system_status_le + dmcfreq->suspend_rate = rockchip_freq_level_2_rate(dmcfreq, level); + dev_info(dmcfreq->dev, "suspend_rate = %ld\n", dmcfreq->suspend_rate); + break; ++ case SYS_STATUS_DEEP_SUSPEND: ++ dmcfreq->deep_suspend_rate = rockchip_freq_level_2_rate(dmcfreq, level); ++ dev_info(dmcfreq->dev, "deep_suspend_rate = %ld\n", ++ dmcfreq->deep_suspend_rate); ++ break; + case SYS_STATUS_VIDEO_1080P: + dmcfreq->video_1080p_rate = rockchip_freq_level_2_rate(dmcfreq, level); + dev_info(dmcfreq->dev, "video_1080p_rate = %ld\n", +@@ -3091,6 +3106,7 @@ static int rockchip_dmcfreq_add_devfreq( + devm_devfreq_register_opp_notifier(dev, devfreq); + + devfreq->last_status.current_frequency = opp_rate; ++ devfreq->suspend_freq = dmcfreq->deep_suspend_rate; + + reset_last_status(devfreq); + +diff -rupN linux.orig/drivers/devfreq/rockchip_dmc_common.c linux/drivers/devfreq/rockchip_dmc_common.c +--- linux.orig/drivers/devfreq/rockchip_dmc_common.c 2024-03-07 18:08:07.755017253 +0000 ++++ linux/drivers/devfreq/rockchip_dmc_common.c 2024-03-07 18:08:56.184571327 +0000 +@@ -166,6 +166,15 @@ int rockchip_dmcfreq_vop_bandwidth_reque + } + EXPORT_SYMBOL(rockchip_dmcfreq_vop_bandwidth_request); + ++unsigned int rockchip_dmcfreq_get_stall_time_ns(void) ++{ ++ if (!common_info) ++ return 0; ++ ++ return common_info->stall_time_ns; ++} ++EXPORT_SYMBOL(rockchip_dmcfreq_get_stall_time_ns); ++ + MODULE_AUTHOR("Finley Xiao "); + MODULE_DESCRIPTION("rockchip dmcfreq driver with devfreq framework"); + MODULE_LICENSE("GPL v2"); +diff -rupN linux.orig/include/dt-bindings/soc/rockchip-system-status.h linux/include/dt-bindings/soc/rockchip-system-status.h +--- linux.orig/include/dt-bindings/soc/rockchip-system-status.h 2024-03-07 18:08:10.371101216 +0000 ++++ linux/include/dt-bindings/soc/rockchip-system-status.h 2024-03-07 18:09:55.570159077 +0000 +@@ -37,6 +37,7 @@ + #define SYS_STATUS_HDMIRX (1 << 18) + #define SYS_STATUS_VIDEO_SVEP (1 << 19) + #define SYS_STATUS_VIDEO_4K_60P (1 << 20) ++#define SYS_STATUS_DEEP_SUSPEND (1 << 21) + + #define SYS_STATUS_VIDEO (SYS_STATUS_VIDEO_4K | \ + SYS_STATUS_VIDEO_1080P | \ +diff -rupN linux.orig/include/soc/rockchip/rockchip_dmc.h linux/include/soc/rockchip/rockchip_dmc.h +--- linux.orig/include/soc/rockchip/rockchip_dmc.h 2024-03-07 18:08:10.527106223 +0000 ++++ linux/include/soc/rockchip/rockchip_dmc.h 2024-03-07 18:08:56.184571327 +0000 +@@ -55,6 +55,7 @@ struct dmcfreq_common_info { + unsigned long vop_req_rate; + unsigned int read_latency; + unsigned int auto_freq_en; ++ unsigned int stall_time_ns; + bool is_msch_rl_work_started; + int (*set_msch_readlatency)(unsigned int rl); + }; +@@ -76,6 +77,7 @@ int rockchip_dmcfreq_wait_complete(void) + int rockchip_dmcfreq_vop_bandwidth_init(struct dmcfreq_common_info *info); + int rockchip_dmcfreq_vop_bandwidth_request(struct dmcfreq_vop_info *vop_info); + void rockchip_dmcfreq_vop_bandwidth_update(struct dmcfreq_vop_info *vop_info); ++unsigned int rockchip_dmcfreq_get_stall_time_ns(void); + #else + static inline void rockchip_dmcfreq_lock(void) + { +@@ -118,6 +120,12 @@ static inline void + rockchip_dmcfreq_vop_bandwidth_init(struct dmcfreq_common_info *info) + { + } ++ ++static inline unsigned int ++rockchip_dmcfreq_get_stall_time_ns(void) ++{ ++ return 0; ++} + #endif + + #endif +diff -rupN linux.orig/include/soc/rockchip/rockchip_sip.h linux/include/soc/rockchip/rockchip_sip.h +--- linux.orig/include/soc/rockchip/rockchip_sip.h 2024-03-07 18:08:10.531106351 +0000 ++++ linux/include/soc/rockchip/rockchip_sip.h 2024-03-07 18:08:56.184571327 +0000 +@@ -23,5 +23,6 @@ + #define ROCKCHIP_SIP_CONFIG_DRAM_ECC 0x0d + #define ROCKCHIP_SIP_CONFIG_DRAM_GET_FREQ_INFO 0x0e + #define ROCKCHIP_SIP_CONFIG_DRAM_ADDRMAP_GET 0x10 ++#define ROCKCHIP_SIP_CONFIG_DRAM_GET_STALL_TIME 0x11 + + #endif diff --git a/projects/Rockchip/patches/linux/RK3588/007-rotation-quirk.patch b/projects/Rockchip/patches/linux/RK3588/007-rotation-quirk.patch deleted file mode 100644 index 6ef9017c4..000000000 --- a/projects/Rockchip/patches/linux/RK3588/007-rotation-quirk.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rupN linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c linux/drivers/gpu/drm/drm_panel_orientation_quirks.c ---- linux.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c 2024-03-23 01:52:13.930770363 +0000 -+++ linux/drivers/gpu/drm/drm_panel_orientation_quirks.c 2024-03-23 01:53:34.905357358 +0000 -@@ -461,7 +461,7 @@ EXPORT_SYMBOL(drm_get_panel_orientation_ - /* There are no quirks for non x86 devices yet */ - int drm_get_panel_orientation_quirk(int width, int height) - { -- return DRM_MODE_PANEL_ORIENTATION_UNKNOWN; -+ return DRM_MODE_PANEL_ORIENTATION_LEFT_UP; - } - EXPORT_SYMBOL(drm_get_panel_orientation_quirk); - diff --git a/projects/Rockchip/patches/linux/RK3588/008-simple-panel.patch b/projects/Rockchip/patches/linux/RK3588/008-simple-panel.patch deleted file mode 100644 index 9c30c94d2..000000000 --- a/projects/Rockchip/patches/linux/RK3588/008-simple-panel.patch +++ /dev/null @@ -1,4018 +0,0 @@ -diff -rupN linux.orig/drivers/gpu/drm/panel/panel-simple.c linux/drivers/gpu/drm/panel/panel-simple.c ---- linux.orig/drivers/gpu/drm/panel/panel-simple.c 2024-03-22 18:43:18.858876137 +0000 -+++ linux/drivers/gpu/drm/panel/panel-simple.c 2024-03-22 23:01:29.864153751 +0000 -@@ -24,6 +24,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -43,7 +44,7 @@ - #include - #include - #include --#include -+#include - - #include "panel-simple.h" - -@@ -68,50 +69,19 @@ struct panel_cmd_seq { - unsigned int cmd_cnt; - }; - --/** -- * struct panel_desc - Describes a simple panel. -- */ - struct panel_desc { -- /** -- * @modes: Pointer to array of fixed modes appropriate for this panel. -- * -- * If only one mode then this can just be the address of the mode. -- * NOTE: cannot be used with "timings" and also if this is specified -- * then you cannot override the mode in the device tree. -- */ - const struct drm_display_mode *modes; -- -- /** @num_modes: Number of elements in modes array. */ - unsigned int num_modes; -- -- /** -- * @timings: Pointer to array of display timings -- * -- * NOTE: cannot be used with "modes" and also these will be used to -- * validate a device tree override if one is present. -- */ - const struct display_timing *timings; -- -- /** @num_timings: Number of elements in timings array. */ - unsigned int num_timings; - -- /** @bpc: Bits per color. */ - unsigned int bpc; - -- /** @size: Structure containing the physical size of this panel. */ - struct { -- /** -- * @size.width: Width (in mm) of the active display area. -- */ - unsigned int width; -- -- /** -- * @size.height: Height (in mm) of the active display area. -- */ - unsigned int height; - } size; - -- /** @delay: Structure containing various delay values for this panel. */ - /** - * @prepare: the time (in milliseconds) that it takes for the panel to - * become ready and start receiving video data -@@ -130,54 +100,17 @@ struct panel_desc { - * send init command sequence after reset deassert - */ - struct { -- /** -- * @delay.prepare: Time for the panel to become ready. -- * -- * The time (in milliseconds) that it takes for the panel to -- * become ready and start receiving video data -- */ - unsigned int prepare; -- -- /** -- * @delay.enable: Time for the panel to display a valid frame. -- * -- * The time (in milliseconds) that it takes for the panel to -- * display the first valid frame after starting to receive -- * video data. -- */ -+ unsigned int hpd_absent_delay; - unsigned int enable; -- -- /** -- * @delay.disable: Time for the panel to turn the display off. -- * -- * The time (in milliseconds) that it takes for the panel to -- * turn the display off (no content is visible). -- */ - unsigned int disable; -- -- /** -- * @delay.unprepare: Time to power down completely. -- * -- * The time (in milliseconds) that it takes for the panel -- * to power itself down completely. -- * -- * This time is used to prevent a future "prepare" from -- * starting until at least this many milliseconds has passed. -- * If at prepare time less time has passed since unprepare -- * finished, the driver waits for the remaining time. -- */ - unsigned int unprepare; - unsigned int reset; - unsigned int init; - } delay; - -- /** @bus_format: See MEDIA_BUS_FMT_... defines. */ - u32 bus_format; -- -- /** @bus_flags: See DRM_BUS_FLAG_... defines. */ - u32 bus_flags; -- -- /** @connector_type: LVDS, eDP, DSI, DPI, etc. */ - int connector_type; - - struct panel_cmd_seq *init_seq; -@@ -193,16 +126,10 @@ struct panel_simple { - struct drm_panel base; - struct mipi_dsi_device *dsi; - bool enabled; -- - bool prepared; -- /** -- * @power_invert: if power-invert is true meas the panel power control is inverse, -- * that is we need to disable ldo when panel power on and enable ldo when panel power off. -- */ -- bool power_invert; - -- ktime_t prepared_time; -- ktime_t unprepared_time; -+ bool power_invert; -+ bool no_hpd; - - const struct panel_desc *desc; - -@@ -211,6 +138,7 @@ struct panel_simple { - - struct gpio_desc *enable_gpio; - struct gpio_desc *reset_gpio; -+ struct gpio_desc *hpd_gpio; - - struct edid *edid; - -@@ -220,11 +148,6 @@ struct panel_simple { - enum drm_panel_orientation orientation; - }; - --static inline void panel_simple_msleep(unsigned int msecs) --{ -- usleep_range(msecs * 1000, msecs * 1000 + 100); --} -- - static inline struct panel_simple *to_panel_simple(struct drm_panel *panel) - { - return container_of(panel, struct panel_simple, base); -@@ -342,7 +265,7 @@ static int panel_simple_xfer_dsi_cmd_seq - dev_err(dev, "failed to write dcs cmd: %d\n", err); - - if (cmd->header.delay) -- panel_simple_msleep(cmd->header.delay); -+ usleep_range(cmd->header.delay * 1000, cmd->header.delay * 1000 + 100); - } - - return 0; -@@ -365,7 +288,7 @@ static int panel_simple_xfer_spi_cmd_seq - return ret; - - if (cmd->header.delay) -- panel_simple_msleep(cmd->header.delay); -+ usleep_range(cmd->header.delay * 1000, cmd->header.delay * 1000 + 100); - } - - return 0; -@@ -484,20 +407,6 @@ static int panel_simple_get_non_edid_mod - return num; - } - --static void panel_simple_wait(ktime_t start_ktime, unsigned int min_ms) --{ -- ktime_t now_ktime, min_ktime; -- -- if (!min_ms) -- return; -- -- min_ktime = ktime_add(start_ktime, ms_to_ktime(min_ms)); -- now_ktime = ktime_get_boottime(); -- -- if (ktime_before(now_ktime, min_ktime)) -- panel_simple_msleep(ktime_to_ms(ktime_sub(min_ktime, now_ktime)) + 1); --} -- - static int panel_simple_regulator_enable(struct panel_simple *p) - { - int err; -@@ -536,9 +445,9 @@ int panel_simple_loader_protect(struct d - struct panel_simple *p = to_panel_simple(panel); - int err; - -- err = pm_runtime_get_sync(panel->dev); -+ err = panel_simple_regulator_enable(p); - if (err < 0) { -- pm_runtime_put_autosuspend(panel->dev); -+ dev_err(panel->dev, "failed to enable supply: %d\n", err); - return err; - } - -@@ -557,39 +466,17 @@ static int panel_simple_disable(struct d - return 0; - - if (p->desc->delay.disable) -- panel_simple_msleep(p->desc->delay.disable); -+ usleep_range(p->desc->delay.disable * 1000, p->desc->delay.disable * 1000 + 100); - - p->enabled = false; - - return 0; - } - --static int panel_simple_suspend(struct device *dev) --{ -- struct panel_simple *p = dev_get_drvdata(dev); -- -- gpiod_set_value_cansleep(p->reset_gpio, 1); -- gpiod_set_value_cansleep(p->enable_gpio, 0); -- -- panel_simple_regulator_disable(p); -- -- if (p->desc->delay.unprepare) -- panel_simple_msleep(p->desc->delay.unprepare); -- -- p->unprepared_time = ktime_get_boottime(); -- -- kfree(p->edid); -- p->edid = NULL; -- -- return 0; --} -- - static int panel_simple_unprepare(struct drm_panel *panel) - { - struct panel_simple *p = to_panel_simple(panel); -- int ret; - -- /* Unpreparing when already unprepared is a no-op */ - if (!p->prepared) - return 0; - -@@ -605,62 +492,97 @@ static int panel_simple_unprepare(struct - } - } - -- pm_runtime_mark_last_busy(panel->dev); -- ret = pm_runtime_put_autosuspend(panel->dev); -- if (ret < 0) -- return ret; -+ gpiod_direction_output(p->reset_gpio, 1); -+ gpiod_direction_output(p->enable_gpio, 0); -+ -+ panel_simple_regulator_disable(p); -+ -+ if (p->desc->delay.unprepare) -+ usleep_range(p->desc->delay.unprepare * 1000, p->desc->delay.unprepare * 1000 + 100); -+ - p->prepared = false; - - return 0; - } - --static int panel_simple_resume(struct device *dev) -+static int panel_simple_get_hpd_gpio(struct device *dev, -+ struct panel_simple *p, bool from_probe) - { -- struct panel_simple *p = dev_get_drvdata(dev); - int err; - -- panel_simple_wait(p->unprepared_time, p->desc->delay.unprepare); -- -- err = panel_simple_regulator_enable(p); -- if (err < 0) { -- dev_err(dev, "failed to enable supply: %d\n", err); -- return err; -+ p->hpd_gpio = devm_gpiod_get_optional(dev, "hpd", GPIOD_IN); -+ if (IS_ERR(p->hpd_gpio)) { -+ err = PTR_ERR(p->hpd_gpio); -+ -+ /* -+ * If we're called from probe we won't consider '-EPROBE_DEFER' -+ * to be an error--we'll leave the error code in "hpd_gpio". -+ * When we try to use it we'll try again. This allows for -+ * circular dependencies where the component providing the -+ * hpd gpio needs the panel to init before probing. -+ */ -+ if (err != -EPROBE_DEFER || !from_probe) { -+ dev_err(dev, "failed to get 'hpd' GPIO: %d\n", err); -+ return err; -+ } - } - -- gpiod_set_value_cansleep(p->enable_gpio, 1); -- -- if (p->desc->delay.prepare) -- panel_simple_msleep(p->desc->delay.prepare); -- -- p->prepared_time = ktime_get_boottime(); -- - return 0; - } - - static int panel_simple_prepare(struct drm_panel *panel) - { - struct panel_simple *p = to_panel_simple(panel); -- int ret; -+ unsigned int delay; -+ int err; -+ int hpd_asserted; - -- /* Preparing when already prepared is a no-op */ - if (p->prepared) - return 0; - -- ret = pm_runtime_get_sync(panel->dev); -- if (ret < 0) { -- pm_runtime_put_autosuspend(panel->dev); -- return ret; -+ err = panel_simple_regulator_enable(p); -+ if (err < 0) { -+ dev_err(panel->dev, "failed to enable supply: %d\n", err); -+ return err; -+ } -+ -+ gpiod_direction_output(p->enable_gpio, 1); -+ -+ delay = p->desc->delay.prepare; -+ if (p->no_hpd) -+ delay += p->desc->delay.hpd_absent_delay; -+ if (delay) -+ usleep_range(delay * 1000, delay * 1000 + 100); -+ -+ if (p->hpd_gpio) { -+ if (IS_ERR(p->hpd_gpio)) { -+ err = panel_simple_get_hpd_gpio(panel->dev, p, false); -+ if (err) -+ return err; -+ } -+ -+ err = readx_poll_timeout(gpiod_get_value_cansleep, p->hpd_gpio, -+ hpd_asserted, hpd_asserted, -+ 1000, 2000000); -+ if (hpd_asserted < 0) -+ err = hpd_asserted; -+ -+ if (err) { -+ dev_err(panel->dev, -+ "error waiting for hpd GPIO: %d\n", err); -+ return err; -+ } - } - -- gpiod_set_value_cansleep(p->reset_gpio, 1); -+ gpiod_direction_output(p->reset_gpio, 1); - - if (p->desc->delay.reset) -- panel_simple_msleep(p->desc->delay.reset); -+ usleep_range(p->desc->delay.reset * 1000, p->desc->delay.reset * 1000 + 100); - -- gpiod_set_value_cansleep(p->reset_gpio, 0); -+ gpiod_direction_output(p->reset_gpio, 0); - - if (p->desc->delay.init) -- panel_simple_msleep(p->desc->delay.init); -+ usleep_range(p->desc->delay.init * 1000, p->desc->delay.init * 1000 + 100); - - if (p->desc->init_seq) { - if (p->desc->cmd_type == CMD_TYPE_SPI) { -@@ -687,7 +609,7 @@ static int panel_simple_enable(struct dr - return 0; - - if (p->desc->delay.enable) -- panel_simple_msleep(p->desc->delay.enable); -+ usleep_range(p->desc->delay.enable * 1000, p->desc->delay.enable * 1000 + 100); - - p->enabled = true; - -@@ -702,25 +624,19 @@ static int panel_simple_get_modes(struct - - /* probe EDID if a DDC bus is available */ - if (p->ddc) { -- pm_runtime_get_sync(panel->dev); -- -- if (!p->edid) -- p->edid = drm_get_edid(connector, p->ddc); -- -- if (p->edid) -- num += drm_add_edid_modes(connector, p->edid); -+ struct edid *edid = drm_get_edid(connector, p->ddc); - -- pm_runtime_mark_last_busy(panel->dev); -- pm_runtime_put_autosuspend(panel->dev); -+ drm_connector_update_edid_property(connector, edid); -+ if (edid) { -+ num += drm_add_edid_modes(connector, edid); -+ kfree(edid); -+ } - } - - /* add hard-coded panel modes */ - num += panel_simple_get_non_edid_modes(p, connector); - -- /* -- * TODO: Remove once all drm drivers call -- * drm_connector_set_orientation_from_panel() -- */ -+ /* set up connector's "panel orientation" property */ - drm_connector_set_panel_orientation(connector, p->orientation); - - return num; -@@ -743,20 +659,12 @@ static int panel_simple_get_timings(stru - return p->desc->num_timings; - } - --static enum drm_panel_orientation panel_simple_get_orientation(struct drm_panel *panel) --{ -- struct panel_simple *p = to_panel_simple(panel); -- -- return p->orientation; --} -- - static const struct drm_panel_funcs panel_simple_funcs = { - .disable = panel_simple_disable, - .unprepare = panel_simple_unprepare, - .prepare = panel_simple_prepare, - .enable = panel_simple_enable, - .get_modes = panel_simple_get_modes, -- .get_orientation = panel_simple_get_orientation, - .get_timings = panel_simple_get_timings, - }; - -@@ -915,9 +823,16 @@ static int panel_simple_probe(struct dev - return -ENOMEM; - - panel->enabled = false; -- panel->prepared_time = 0; -+ panel->prepared = false; - panel->desc = desc; - -+ panel->no_hpd = of_property_read_bool(dev->of_node, "no-hpd"); -+ if (!panel->no_hpd) { -+ err = panel_simple_get_hpd_gpio(dev, panel, true); -+ if (err) -+ return err; -+ } -+ - panel->supply = devm_regulator_get(dev, "power"); - if (IS_ERR(panel->supply)) { - err = PTR_ERR(panel->supply); -@@ -976,7 +891,7 @@ static int panel_simple_probe(struct dev - /* Catch common mistakes for panels. */ - switch (connector_type) { - case 0: -- dev_warn(dev, "Specify missing connector_type\n"); -+ dev_dbg(dev, "Specify missing connector_type\n"); - connector_type = DRM_MODE_CONNECTOR_DPI; - break; - case DRM_MODE_CONNECTOR_LVDS: -@@ -995,8 +910,10 @@ static int panel_simple_probe(struct dev - desc->bpc != 8); - break; - case DRM_MODE_CONNECTOR_eDP: -- if (desc->bpc != 6 && desc->bpc != 8 && desc->bpc != 10) -- dev_warn(dev, "Expected bpc in {6,8,10} but got: %u\n", desc->bpc); -+ if (desc->bus_format == 0) -+ dev_warn(dev, "Specify missing bus_format\n"); -+ if (desc->bpc != 6 && desc->bpc != 8) -+ dev_warn(dev, "Expected bpc in {6,8} but got: %u\n", desc->bpc); - break; - case DRM_MODE_CONNECTOR_DSI: - if (desc->bpc != 6 && desc->bpc != 8) -@@ -1026,33 +943,20 @@ static int panel_simple_probe(struct dev - break; - } - -- dev_set_drvdata(dev, panel); -- -- /* -- * We use runtime PM for prepare / unprepare since those power the panel -- * on and off and those can be very slow operations. This is important -- * to optimize powering the panel on briefly to read the EDID before -- * fully enabling the panel. -- */ -- pm_runtime_enable(dev); -- pm_runtime_set_autosuspend_delay(dev, 1000); -- pm_runtime_use_autosuspend(dev); -- - drm_panel_init(&panel->base, dev, &panel_simple_funcs, connector_type); - - err = drm_panel_of_backlight(&panel->base); - if (err) { -- dev_err_probe(dev, err, "Could not find backlight\n"); -- goto disable_pm_runtime; -+ dev_err(dev, "failed to find backlight: %d\n", err); -+ goto free_ddc; - } - - drm_panel_add(&panel->base); - -+ dev_set_drvdata(dev, panel); -+ - return 0; - --disable_pm_runtime: -- pm_runtime_dont_use_autosuspend(dev); -- pm_runtime_disable(dev); - free_ddc: - if (panel->ddc) - put_device(&panel->ddc->dev); -@@ -1060,7 +964,7 @@ free_ddc: - return err; - } - --static void panel_simple_remove(struct device *dev) -+static int panel_simple_remove(struct device *dev) - { - struct panel_simple *panel = dev_get_drvdata(dev); - -@@ -1068,10 +972,10 @@ static void panel_simple_remove(struct d - drm_panel_disable(&panel->base); - drm_panel_unprepare(&panel->base); - -- pm_runtime_dont_use_autosuspend(dev); -- pm_runtime_disable(dev); - if (panel->ddc) - put_device(&panel->ddc->dev); -+ -+ return 0; - } - - static void panel_simple_shutdown(struct device *dev) -@@ -1126,8 +1030,8 @@ static const struct panel_desc ampire_am - .num_modes = 1, - .bpc = 8, - .size = { -- .width = 99, -- .height = 58, -+ .width = 105, -+ .height = 67, - }, - .bus_format = MEDIA_BUS_FMT_RGB888_1X24, - }; -@@ -1156,36 +1060,6 @@ static const struct panel_desc ampire_am - .bus_format = MEDIA_BUS_FMT_RGB666_1X18, - }; - --static const struct display_timing ampire_am800600p5tmqw_tb8h_timing = { -- .pixelclock = { 34500000, 39600000, 50400000 }, -- .hactive = { 800, 800, 800 }, -- .hfront_porch = { 12, 112, 312 }, -- .hback_porch = { 87, 87, 48 }, -- .hsync_len = { 1, 1, 40 }, -- .vactive = { 600, 600, 600 }, -- .vfront_porch = { 1, 21, 61 }, -- .vback_porch = { 38, 38, 19 }, -- .vsync_len = { 1, 1, 20 }, -- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | -- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE | -- DISPLAY_FLAGS_SYNC_POSEDGE, --}; -- --static const struct panel_desc ampire_am800600p5tmqwtb8h = { -- .timings = &ire_am800600p5tmqw_tb8h_timing, -- .num_timings = 1, -- .bpc = 6, -- .size = { -- .width = 162, -- .height = 122, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB666_1X18, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH | -- DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE | -- DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, --}; -- - static const struct display_timing santek_st0700i5y_rbslw_f_timing = { - .pixelclock = { 26400000, 33300000, 46800000 }, - .hactive = { 800, 800, 800 }, -@@ -1332,8 +1206,6 @@ static const struct panel_desc auo_g104s - .width = 211, - .height = 158, - }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, -- .connector_type = DRM_MODE_CONNECTOR_LVDS, - }; - - static const struct drm_display_mode auo_g121ean01_mode = { -@@ -1810,55 +1682,6 @@ static const struct panel_desc chunghwa_ - .connector_type = DRM_MODE_CONNECTOR_LVDS, - }; - --static const struct display_timing dataimage_fg040346dsswbg04_timing = { -- .pixelclock = { 5000000, 9000000, 12000000 }, -- .hactive = { 480, 480, 480 }, -- .hfront_porch = { 12, 12, 12 }, -- .hback_porch = { 12, 12, 12 }, -- .hsync_len = { 21, 21, 21 }, -- .vactive = { 272, 272, 272 }, -- .vfront_porch = { 4, 4, 4 }, -- .vback_porch = { 4, 4, 4 }, -- .vsync_len = { 8, 8, 8 }, --}; -- --static const struct panel_desc dataimage_fg040346dsswbg04 = { -- .timings = &dataimage_fg040346dsswbg04_timing, -- .num_timings = 1, -- .bpc = 8, -- .size = { -- .width = 95, -- .height = 54, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, --}; -- --static const struct display_timing dataimage_fg1001l0dsswmg01_timing = { -- .pixelclock = { 68900000, 71110000, 73400000 }, -- .hactive = { 1280, 1280, 1280 }, -- .vactive = { 800, 800, 800 }, -- .hback_porch = { 100, 100, 100 }, -- .hfront_porch = { 100, 100, 100 }, -- .vback_porch = { 5, 5, 5 }, -- .vfront_porch = { 5, 5, 5 }, -- .hsync_len = { 24, 24, 24 }, -- .vsync_len = { 3, 3, 3 }, -- .flags = DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE | -- DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW, --}; -- --static const struct panel_desc dataimage_fg1001l0dsswmg01 = { -- .timings = &dataimage_fg1001l0dsswmg01_timing, -- .num_timings = 1, -- .bpc = 8, -- .size = { -- .width = 217, -- .height = 136, -- }, --}; -- - static const struct drm_display_mode dataimage_scf0700c48ggu18_mode = { - .clock = 33260, - .hdisplay = 800, -@@ -1970,32 +1793,6 @@ static const struct panel_desc edt_et035 - .bus_flags = DRM_BUS_FLAG_DE_LOW | DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE, - }; - --static const struct drm_display_mode edt_etm0350g0dh6_mode = { -- .clock = 6520, -- .hdisplay = 320, -- .hsync_start = 320 + 20, -- .hsync_end = 320 + 20 + 68, -- .htotal = 320 + 20 + 68, -- .vdisplay = 240, -- .vsync_start = 240 + 4, -- .vsync_end = 240 + 4 + 18, -- .vtotal = 240 + 4 + 18, -- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, --}; -- --static const struct panel_desc edt_etm0350g0dh6 = { -- .modes = &edt_etm0350g0dh6_mode, -- .num_modes = 1, -- .bpc = 6, -- .size = { -- .width = 70, -- .height = 53, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, --}; -- - static const struct drm_display_mode edt_etm043080dh6gp_mode = { - .clock = 10870, - .hdisplay = 480, -@@ -2047,9 +1844,6 @@ static const struct panel_desc edt_etm04 - .width = 95, - .height = 54, - }, -- .bus_format = MEDIA_BUS_FMT_RGB666_1X18, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, - }; - - static const struct drm_display_mode edt_et057090dhu_mode = { -@@ -2101,7 +1895,6 @@ static const struct panel_desc edt_etm07 - }, - .bus_format = MEDIA_BUS_FMT_RGB666_1X18, - .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, - }; - - static const struct panel_desc edt_etm0700g0bdh6 = { -@@ -2114,86 +1907,6 @@ static const struct panel_desc edt_etm07 - }, - .bus_format = MEDIA_BUS_FMT_RGB666_1X18, - .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, --}; -- --static const struct display_timing edt_etml0700y5dha_timing = { -- .pixelclock = { 40800000, 51200000, 67200000 }, -- .hactive = { 1024, 1024, 1024 }, -- .hfront_porch = { 30, 106, 125 }, -- .hback_porch = { 30, 106, 125 }, -- .hsync_len = { 30, 108, 126 }, -- .vactive = { 600, 600, 600 }, -- .vfront_porch = { 3, 12, 67}, -- .vback_porch = { 3, 12, 67 }, -- .vsync_len = { 4, 11, 66 }, -- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | -- DISPLAY_FLAGS_DE_HIGH, --}; -- --static const struct panel_desc edt_etml0700y5dha = { -- .timings = &edt_etml0700y5dha_timing, -- .num_timings = 1, -- .bpc = 8, -- .size = { -- .width = 155, -- .height = 86, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, -- .connector_type = DRM_MODE_CONNECTOR_LVDS, --}; -- --static const struct drm_display_mode edt_etmv570g2dhu_mode = { -- .clock = 25175, -- .hdisplay = 640, -- .hsync_start = 640, -- .hsync_end = 640 + 16, -- .htotal = 640 + 16 + 30 + 114, -- .vdisplay = 480, -- .vsync_start = 480 + 10, -- .vsync_end = 480 + 10 + 3, -- .vtotal = 480 + 10 + 3 + 35, -- .flags = DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PHSYNC, --}; -- --static const struct panel_desc edt_etmv570g2dhu = { -- .modes = &edt_etmv570g2dhu_mode, -- .num_modes = 1, -- .bpc = 6, -- .size = { -- .width = 115, -- .height = 86, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, --}; -- --static const struct display_timing eink_vb3300_kca_timing = { -- .pixelclock = { 40000000, 40000000, 40000000 }, -- .hactive = { 334, 334, 334 }, -- .hfront_porch = { 1, 1, 1 }, -- .hback_porch = { 1, 1, 1 }, -- .hsync_len = { 1, 1, 1 }, -- .vactive = { 1405, 1405, 1405 }, -- .vfront_porch = { 1, 1, 1 }, -- .vback_porch = { 1, 1, 1 }, -- .vsync_len = { 1, 1, 1 }, -- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | -- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE, --}; -- --static const struct panel_desc eink_vb3300_kca = { -- .timings = &eink_vb3300_kca_timing, -- .num_timings = 1, -- .bpc = 6, -- .size = { -- .width = 157, -- .height = 209, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, - }; - - static const struct display_timing evervision_vgg804821_timing = { -@@ -2411,31 +2124,6 @@ static const struct panel_desc hannstar_ - .connector_type = DRM_MODE_CONNECTOR_LVDS, - }; - --static const struct display_timing hannstar_hsd101pww2_timing = { -- .pixelclock = { 64300000, 71100000, 82000000 }, -- .hactive = { 1280, 1280, 1280 }, -- .hfront_porch = { 1, 1, 10 }, -- .hback_porch = { 1, 1, 10 }, -- .hsync_len = { 58, 158, 661 }, -- .vactive = { 800, 800, 800 }, -- .vfront_porch = { 1, 1, 10 }, -- .vback_porch = { 1, 1, 10 }, -- .vsync_len = { 1, 21, 203 }, -- .flags = DISPLAY_FLAGS_DE_HIGH, --}; -- --static const struct panel_desc hannstar_hsd101pww2 = { -- .timings = &hannstar_hsd101pww2_timing, -- .num_timings = 1, -- .bpc = 8, -- .size = { -- .width = 217, -- .height = 136, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, -- .connector_type = DRM_MODE_CONNECTOR_LVDS, --}; -- - static const struct drm_display_mode hitachi_tx23d38vm0caa_mode = { - .clock = 33333, - .hdisplay = 800, -@@ -2484,7 +2172,6 @@ static const struct panel_desc innolux_a - .height = 54, - }, - .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .connector_type = DRM_MODE_CONNECTOR_DPI, - .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, - }; - -@@ -2542,31 +2229,6 @@ static const struct panel_desc innolux_g - .connector_type = DRM_MODE_CONNECTOR_LVDS, - }; - --static const struct drm_display_mode innolux_g070y2_t02_mode = { -- .clock = 33333, -- .hdisplay = 800, -- .hsync_start = 800 + 210, -- .hsync_end = 800 + 210 + 20, -- .htotal = 800 + 210 + 20 + 46, -- .vdisplay = 480, -- .vsync_start = 480 + 22, -- .vsync_end = 480 + 22 + 10, -- .vtotal = 480 + 22 + 23 + 10, --}; -- --static const struct panel_desc innolux_g070y2_t02 = { -- .modes = &innolux_g070y2_t02_mode, -- .num_modes = 1, -- .bpc = 8, -- .size = { -- .width = 152, -- .height = 92, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, --}; -- - static const struct display_timing innolux_g101ice_l01_timing = { - .pixelclock = { 60400000, 71100000, 74700000 }, - .hactive = { 1280, 1280, 1280 }, -@@ -2908,70 +2570,6 @@ static const struct panel_desc logictech - .connector_type = DRM_MODE_CONNECTOR_LVDS, - }; - --static const struct drm_display_mode logictechno_lttd800480070_l2rt_mode = { -- .clock = 33000, -- .hdisplay = 800, -- .hsync_start = 800 + 112, -- .hsync_end = 800 + 112 + 3, -- .htotal = 800 + 112 + 3 + 85, -- .vdisplay = 480, -- .vsync_start = 480 + 38, -- .vsync_end = 480 + 38 + 3, -- .vtotal = 480 + 38 + 3 + 29, -- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, --}; -- --static const struct panel_desc logictechno_lttd800480070_l2rt = { -- .modes = &logictechno_lttd800480070_l2rt_mode, -- .num_modes = 1, -- .bpc = 8, -- .size = { -- .width = 154, -- .height = 86, -- }, -- .delay = { -- .prepare = 45, -- .enable = 100, -- .disable = 100, -- .unprepare = 45 -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, --}; -- --static const struct drm_display_mode logictechno_lttd800480070_l6wh_rt_mode = { -- .clock = 33000, -- .hdisplay = 800, -- .hsync_start = 800 + 154, -- .hsync_end = 800 + 154 + 3, -- .htotal = 800 + 154 + 3 + 43, -- .vdisplay = 480, -- .vsync_start = 480 + 47, -- .vsync_end = 480 + 47 + 3, -- .vtotal = 480 + 47 + 3 + 20, -- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, --}; -- --static const struct panel_desc logictechno_lttd800480070_l6wh_rt = { -- .modes = &logictechno_lttd800480070_l6wh_rt_mode, -- .num_modes = 1, -- .bpc = 8, -- .size = { -- .width = 154, -- .height = 86, -- }, -- .delay = { -- .prepare = 45, -- .enable = 100, -- .disable = 100, -- .unprepare = 45 -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, --}; -- - static const struct drm_display_mode logicpd_type_28_mode = { - .clock = 9107, - .hdisplay = 480, -@@ -3006,129 +2604,6 @@ static const struct panel_desc logicpd_t - .connector_type = DRM_MODE_CONNECTOR_DPI, - }; - --static const struct drm_display_mode mitsubishi_aa070mc01_mode = { -- .clock = 30400, -- .hdisplay = 800, -- .hsync_start = 800 + 0, -- .hsync_end = 800 + 1, -- .htotal = 800 + 0 + 1 + 160, -- .vdisplay = 480, -- .vsync_start = 480 + 0, -- .vsync_end = 480 + 48 + 1, -- .vtotal = 480 + 48 + 1 + 0, -- .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, --}; -- --static const struct panel_desc mitsubishi_aa070mc01 = { -- .modes = &mitsubishi_aa070mc01_mode, -- .num_modes = 1, -- .bpc = 8, -- .size = { -- .width = 152, -- .height = 91, -- }, -- -- .delay = { -- .enable = 200, -- .unprepare = 200, -- .disable = 400, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, -- .connector_type = DRM_MODE_CONNECTOR_LVDS, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH, --}; -- --static const struct display_timing multi_inno_mi0700s4t_6_timing = { -- .pixelclock = { 29000000, 33000000, 38000000 }, -- .hactive = { 800, 800, 800 }, -- .hfront_porch = { 180, 210, 240 }, -- .hback_porch = { 16, 16, 16 }, -- .hsync_len = { 30, 30, 30 }, -- .vactive = { 480, 480, 480 }, -- .vfront_porch = { 12, 22, 32 }, -- .vback_porch = { 10, 10, 10 }, -- .vsync_len = { 13, 13, 13 }, -- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | -- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE | -- DISPLAY_FLAGS_SYNC_POSEDGE, --}; -- --static const struct panel_desc multi_inno_mi0700s4t_6 = { -- .timings = &multi_inno_mi0700s4t_6_timing, -- .num_timings = 1, -- .bpc = 8, -- .size = { -- .width = 154, -- .height = 86, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH | -- DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE | -- DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, --}; -- --static const struct display_timing multi_inno_mi0800ft_9_timing = { -- .pixelclock = { 32000000, 40000000, 50000000 }, -- .hactive = { 800, 800, 800 }, -- .hfront_porch = { 16, 210, 354 }, -- .hback_porch = { 6, 26, 45 }, -- .hsync_len = { 1, 20, 40 }, -- .vactive = { 600, 600, 600 }, -- .vfront_porch = { 1, 12, 77 }, -- .vback_porch = { 3, 13, 22 }, -- .vsync_len = { 1, 10, 20 }, -- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | -- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE | -- DISPLAY_FLAGS_SYNC_POSEDGE, --}; -- --static const struct panel_desc multi_inno_mi0800ft_9 = { -- .timings = &multi_inno_mi0800ft_9_timing, -- .num_timings = 1, -- .bpc = 8, -- .size = { -- .width = 162, -- .height = 122, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH | -- DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE | -- DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, --}; -- --static const struct display_timing multi_inno_mi1010ait_1cp_timing = { -- .pixelclock = { 68900000, 70000000, 73400000 }, -- .hactive = { 1280, 1280, 1280 }, -- .hfront_porch = { 30, 60, 71 }, -- .hback_porch = { 30, 60, 71 }, -- .hsync_len = { 10, 10, 48 }, -- .vactive = { 800, 800, 800 }, -- .vfront_porch = { 5, 10, 10 }, -- .vback_porch = { 5, 10, 10 }, -- .vsync_len = { 5, 6, 13 }, -- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | -- DISPLAY_FLAGS_DE_HIGH, --}; -- --static const struct panel_desc multi_inno_mi1010ait_1cp = { -- .timings = &multi_inno_mi1010ait_1cp_timing, -- .num_timings = 1, -- .bpc = 8, -- .size = { -- .width = 217, -- .height = 136, -- }, -- .delay = { -- .enable = 50, -- .disable = 50, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH, -- .connector_type = DRM_MODE_CONNECTOR_LVDS, --}; -- - static const struct display_timing nec_nl12880bc20_05_timing = { - .pixelclock = { 67000000, 71000000, 75000000 }, - .hactive = { 1280, 1280, 1280 }, -@@ -3477,7 +2952,6 @@ static const struct drm_display_mode pow - .vsync_start = 480 + 49, - .vsync_end = 480 + 49 + 2, - .vtotal = 480 + 49 + 2 + 22, -- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, - }; - - static const struct panel_desc powertip_ph800480t013_idf02 = { -@@ -3517,46 +2991,6 @@ static const struct panel_desc qd43003c0 - .bus_format = MEDIA_BUS_FMT_RGB888_1X24, - }; - --static const struct drm_display_mode qishenglong_gopher2b_lcd_modes[] = { -- { /* 60 Hz */ -- .clock = 10800, -- .hdisplay = 480, -- .hsync_start = 480 + 77, -- .hsync_end = 480 + 77 + 41, -- .htotal = 480 + 77 + 41 + 2, -- .vdisplay = 272, -- .vsync_start = 272 + 16, -- .vsync_end = 272 + 16 + 10, -- .vtotal = 272 + 16 + 10 + 2, -- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, -- }, -- { /* 50 Hz */ -- .clock = 10800, -- .hdisplay = 480, -- .hsync_start = 480 + 17, -- .hsync_end = 480 + 17 + 41, -- .htotal = 480 + 17 + 41 + 2, -- .vdisplay = 272, -- .vsync_start = 272 + 116, -- .vsync_end = 272 + 116 + 10, -- .vtotal = 272 + 116 + 10 + 2, -- .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, -- }, --}; -- --static const struct panel_desc qishenglong_gopher2b_lcd = { -- .modes = qishenglong_gopher2b_lcd_modes, -- .num_modes = ARRAY_SIZE(qishenglong_gopher2b_lcd_modes), -- .bpc = 8, -- .size = { -- .width = 95, -- .height = 54, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, -- .connector_type = DRM_MODE_CONNECTOR_DPI, --}; -- - static const struct display_timing rocktech_rk070er9427_timing = { - .pixelclock = { 26400000, 33300000, 46800000 }, - .hactive = { 800, 800, 800 }, -@@ -3601,7 +3035,6 @@ static const struct drm_display_mode roc - - static const struct panel_desc rocktech_rk101ii01d_ct = { - .modes = &rocktech_rk101ii01d_ct_mode, -- .bpc = 8, - .num_modes = 1, - .size = { - .width = 217, -@@ -3616,37 +3049,6 @@ static const struct panel_desc rocktech_ - .connector_type = DRM_MODE_CONNECTOR_LVDS, - }; - --static const struct display_timing samsung_ltl101al01_timing = { -- .pixelclock = { 66663000, 66663000, 66663000 }, -- .hactive = { 1280, 1280, 1280 }, -- .hfront_porch = { 18, 18, 18 }, -- .hback_porch = { 36, 36, 36 }, -- .hsync_len = { 16, 16, 16 }, -- .vactive = { 800, 800, 800 }, -- .vfront_porch = { 4, 4, 4 }, -- .vback_porch = { 16, 16, 16 }, -- .vsync_len = { 3, 3, 3 }, -- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW, --}; -- --static const struct panel_desc samsung_ltl101al01 = { -- .timings = &samsung_ltl101al01_timing, -- .num_timings = 1, -- .bpc = 8, -- .size = { -- .width = 217, -- .height = 135, -- }, -- .delay = { -- .prepare = 40, -- .enable = 300, -- .disable = 200, -- .unprepare = 600, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, -- .connector_type = DRM_MODE_CONNECTOR_LVDS, --}; -- - static const struct drm_display_mode samsung_ltn101nt05_mode = { - .clock = 54030, - .hdisplay = 1024, -@@ -3858,68 +3260,6 @@ static const struct panel_desc starry_kr - .connector_type = DRM_MODE_CONNECTOR_DPI, - }; - --static const struct display_timing startek_kd070wvfpa_mode = { -- .pixelclock = { 25200000, 27200000, 30500000 }, -- .hactive = { 800, 800, 800 }, -- .hfront_porch = { 19, 44, 115 }, -- .hback_porch = { 5, 16, 101 }, -- .hsync_len = { 1, 2, 100 }, -- .vactive = { 480, 480, 480 }, -- .vfront_porch = { 5, 43, 67 }, -- .vback_porch = { 5, 5, 67 }, -- .vsync_len = { 1, 2, 66 }, -- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | -- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE | -- DISPLAY_FLAGS_SYNC_POSEDGE, --}; -- --static const struct panel_desc startek_kd070wvfpa = { -- .timings = &startek_kd070wvfpa_mode, -- .num_timings = 1, -- .bpc = 8, -- .size = { -- .width = 152, -- .height = 91, -- }, -- .delay = { -- .prepare = 20, -- .enable = 200, -- .disable = 200, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .connector_type = DRM_MODE_CONNECTOR_DPI, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH | -- DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE | -- DRM_BUS_FLAG_SYNC_SAMPLE_NEGEDGE, --}; -- --static const struct display_timing tsd_tst043015cmhx_timing = { -- .pixelclock = { 5000000, 9000000, 12000000 }, -- .hactive = { 480, 480, 480 }, -- .hfront_porch = { 4, 5, 65 }, -- .hback_porch = { 36, 40, 255 }, -- .hsync_len = { 1, 1, 1 }, -- .vactive = { 272, 272, 272 }, -- .vfront_porch = { 2, 8, 97 }, -- .vback_porch = { 3, 8, 31 }, -- .vsync_len = { 1, 1, 1 }, -- -- .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW | -- DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_POSEDGE, --}; -- --static const struct panel_desc tsd_tst043015cmhx = { -- .timings = &tsd_tst043015cmhx_timing, -- .num_timings = 1, -- .bpc = 8, -- .size = { -- .width = 105, -- .height = 67, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X24, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE, --}; -- - static const struct drm_display_mode tfc_s9700rtwv43tr_01b_mode = { - .clock = 30000, - .hdisplay = 800, -@@ -4166,31 +3506,6 @@ static const struct panel_desc urt_umsh_ - .bus_format = MEDIA_BUS_FMT_RGB666_1X18, - }; - --static const struct drm_display_mode vivax_tpc9150_panel_mode = { -- .clock = 60000, -- .hdisplay = 1024, -- .hsync_start = 1024 + 160, -- .hsync_end = 1024 + 160 + 100, -- .htotal = 1024 + 160 + 100 + 60, -- .vdisplay = 600, -- .vsync_start = 600 + 12, -- .vsync_end = 600 + 12 + 10, -- .vtotal = 600 + 12 + 10 + 13, --}; -- --static const struct panel_desc vivax_tpc9150_panel = { -- .modes = &vivax_tpc9150_panel_mode, -- .num_modes = 1, -- .bpc = 6, -- .size = { -- .width = 200, -- .height = 115, -- }, -- .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH, -- .connector_type = DRM_MODE_CONNECTOR_LVDS, --}; -- - static const struct drm_display_mode vl050_8048nt_c01_mode = { - .clock = 33333, - .hdisplay = 800, -@@ -4240,32 +3555,6 @@ static const struct panel_desc winstar_w - .bus_format = MEDIA_BUS_FMT_RGB888_1X24, - }; - --static const struct drm_display_mode yes_optoelectronics_ytc700tlag_05_201c_mode = { -- .clock = 51200, -- .hdisplay = 1024, -- .hsync_start = 1024 + 100, -- .hsync_end = 1024 + 100 + 100, -- .htotal = 1024 + 100 + 100 + 120, -- .vdisplay = 600, -- .vsync_start = 600 + 10, -- .vsync_end = 600 + 10 + 10, -- .vtotal = 600 + 10 + 10 + 15, -- .flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC, --}; -- --static const struct panel_desc yes_optoelectronics_ytc700tlag_05_201c = { -- .modes = &yes_optoelectronics_ytc700tlag_05_201c_mode, -- .num_modes = 1, -- .bpc = 8, -- .size = { -- .width = 154, -- .height = 90, -- }, -- .bus_flags = DRM_BUS_FLAG_DE_HIGH, -- .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, -- .connector_type = DRM_MODE_CONNECTOR_LVDS, --}; -- - static const struct drm_display_mode arm_rtsm_mode[] = { - { - .clock = 65000, -@@ -4306,9 +3595,6 @@ static const struct of_device_id platfor - .compatible = "ampire,am800480r3tmqwa1h", - .data = &ire_am800480r3tmqwa1h, - }, { -- .compatible = "ampire,am800600p5tmqw-tb8h", -- .data = &ire_am800600p5tmqwtb8h, -- }, { - .compatible = "arm,rtsm-display", - .data = &arm_rtsm, - }, { -@@ -4384,12 +3670,6 @@ static const struct of_device_id platfor - .compatible = "chunghwa,claa101wb01", - .data = &chunghwa_claa101wb01 - }, { -- .compatible = "dataimage,fg040346dsswbg04", -- .data = &dataimage_fg040346dsswbg04, -- }, { -- .compatible = "dataimage,fg1001l0dsswmg01", -- .data = &dataimage_fg1001l0dsswmg01, -- }, { - .compatible = "dataimage,scf0700c48ggu18", - .data = &dataimage_scf0700c48ggu18, - }, { -@@ -4402,9 +3682,6 @@ static const struct of_device_id platfor - .compatible = "edt,et035012dm6", - .data = &edt_et035012dm6, - }, { -- .compatible = "edt,etm0350g0dh6", -- .data = &edt_etm0350g0dh6, -- }, { - .compatible = "edt,etm043080dh6gp", - .data = &edt_etm043080dh6gp, - }, { -@@ -4426,15 +3703,6 @@ static const struct of_device_id platfor - .compatible = "edt,etm0700g0edh6", - .data = &edt_etm0700g0bdh6, - }, { -- .compatible = "edt,etml0700y5dha", -- .data = &edt_etml0700y5dha, -- }, { -- .compatible = "edt,etmv570g2dhu", -- .data = &edt_etmv570g2dhu, -- }, { -- .compatible = "eink,vb3300-kca", -- .data = &eink_vb3300_kca, -- }, { - .compatible = "evervision,vgg804821", - .data = &evervision_vgg804821, - }, { -@@ -4459,9 +3727,6 @@ static const struct of_device_id platfor - .compatible = "hannstar,hsd100pxn1", - .data = &hannstar_hsd100pxn1, - }, { -- .compatible = "hannstar,hsd101pww2", -- .data = &hannstar_hsd101pww2, -- }, { - .compatible = "hit,tx23d38vm0caa", - .data = &hitachi_tx23d38vm0caa - }, { -@@ -4474,9 +3739,6 @@ static const struct of_device_id platfor - .compatible = "innolux,g070y2-l01", - .data = &innolux_g070y2_l01, - }, { -- .compatible = "innolux,g070y2-t02", -- .data = &innolux_g070y2_t02, -- }, { - .compatible = "innolux,g101ice-l01", - .data = &innolux_g101ice_l01 - }, { -@@ -4522,24 +3784,6 @@ static const struct of_device_id platfor - .compatible = "logictechno,lt170410-2whc", - .data = &logictechno_lt170410_2whc, - }, { -- .compatible = "logictechno,lttd800480070-l2rt", -- .data = &logictechno_lttd800480070_l2rt, -- }, { -- .compatible = "logictechno,lttd800480070-l6wh-rt", -- .data = &logictechno_lttd800480070_l6wh_rt, -- }, { -- .compatible = "mitsubishi,aa070mc01-ca1", -- .data = &mitsubishi_aa070mc01, -- }, { -- .compatible = "multi-inno,mi0700s4t-6", -- .data = &multi_inno_mi0700s4t_6, -- }, { -- .compatible = "multi-inno,mi0800ft-9", -- .data = &multi_inno_mi0800ft_9, -- }, { -- .compatible = "multi-inno,mi1010ait-1cp", -- .data = &multi_inno_mi1010ait_1cp, -- }, { - .compatible = "nec,nl12880bc20-05", - .data = &nec_nl12880bc20_05, - }, { -@@ -4588,18 +3832,12 @@ static const struct of_device_id platfor - .compatible = "qiaodian,qd43003c0-40", - .data = &qd43003c0_40, - }, { -- .compatible = "qishenglong,gopher2b-lcd", -- .data = &qishenglong_gopher2b_lcd, -- }, { - .compatible = "rocktech,rk070er9427", - .data = &rocktech_rk070er9427, - }, { - .compatible = "rocktech,rk101ii01d-ct", - .data = &rocktech_rk101ii01d_ct, - }, { -- .compatible = "samsung,ltl101al01", -- .data = &samsung_ltl101al01, -- }, { - .compatible = "samsung,ltn101nt05", - .data = &samsung_ltn101nt05, - }, { -@@ -4624,12 +3862,6 @@ static const struct of_device_id platfor - .compatible = "starry,kr070pe2t", - .data = &starry_kr070pe2t, - }, { -- .compatible = "startek,kd070wvfpa", -- .data = &startek_kd070wvfpa, -- }, { -- .compatible = "team-source-display,tst043015cmhx", -- .data = &tsd_tst043015cmhx, -- }, { - .compatible = "tfc,s9700rtwv43tr-01b", - .data = &tfc_s9700rtwv43tr_01b, - }, { -@@ -4675,18 +3907,12 @@ static const struct of_device_id platfor - .compatible = "urt,umsh-8596md-20t", - .data = &urt_umsh_8596md_parallel, - }, { -- .compatible = "vivax,tpc9150-panel", -- .data = &vivax_tpc9150_panel, -- }, { - .compatible = "vxt,vl050-8048nt-c01", - .data = &vl050_8048nt_c01, - }, { - .compatible = "winstar,wf35ltiacd", - .data = &winstar_wf35ltiacd, - }, { -- .compatible = "yes-optoelectronics,ytc700tlag-05-201c", -- .data = &yes_optoelectronics_ytc700tlag_05_201c, -- }, { - /* Must be the last entry */ - .compatible = "panel-dpi", - .data = &panel_dpi, -@@ -4826,9 +4052,7 @@ static int panel_simple_platform_probe(s - - static int panel_simple_platform_remove(struct platform_device *pdev) - { -- panel_simple_remove(&pdev->dev); -- -- return 0; -+ return panel_simple_remove(&pdev->dev); - } - - static void panel_simple_platform_shutdown(struct platform_device *pdev) -@@ -4836,17 +4060,10 @@ static void panel_simple_platform_shutdo - panel_simple_shutdown(&pdev->dev); - } - --static const struct dev_pm_ops panel_simple_pm_ops = { -- SET_RUNTIME_PM_OPS(panel_simple_suspend, panel_simple_resume, NULL) -- SET_SYSTEM_SLEEP_PM_OPS(pm_runtime_force_suspend, -- pm_runtime_force_resume) --}; -- - static struct platform_driver panel_simple_platform_driver = { - .driver = { - .name = "panel-simple", - .of_match_table = platform_of_match, -- .pm = &panel_simple_pm_ops, - }, - .probe = panel_simple_platform_probe, - .remove = panel_simple_platform_remove, -@@ -5175,7 +4392,7 @@ static int panel_simple_dsi_probe(struct - - err = mipi_dsi_attach(dsi); - if (err) { -- struct panel_simple *panel = mipi_dsi_get_drvdata(dsi); -+ struct panel_simple *panel = dev_get_drvdata(&dsi->dev); - - drm_panel_remove(&panel->base); - } -@@ -5183,7 +4400,7 @@ static int panel_simple_dsi_probe(struct - return err; - } - --static void panel_simple_dsi_remove(struct mipi_dsi_device *dsi) -+static int panel_simple_dsi_remove(struct mipi_dsi_device *dsi) - { - int err; - -@@ -5191,7 +4408,7 @@ static void panel_simple_dsi_remove(stru - if (err < 0) - dev_err(&dsi->dev, "failed to detach from DSI host: %d\n", err); - -- panel_simple_remove(&dsi->dev); -+ return panel_simple_remove(&dsi->dev); - } - - static void panel_simple_dsi_shutdown(struct mipi_dsi_device *dsi) -@@ -5203,7 +4420,6 @@ static struct mipi_dsi_driver panel_simp - .driver = { - .name = "panel-simple-dsi", - .of_match_table = dsi_of_match, -- .pm = &panel_simple_pm_ops, - }, - .probe = panel_simple_dsi_probe, - .remove = panel_simple_dsi_remove, -@@ -5297,9 +4513,9 @@ static int panel_simple_spi_probe(struct - return panel_simple_probe(dev, desc); - } - --static void panel_simple_spi_remove(struct spi_device *spi) -+static int panel_simple_spi_remove(struct spi_device *spi) - { -- panel_simple_remove(&spi->dev); -+ return panel_simple_remove(&spi->dev); - } - - static void panel_simple_spi_shutdown(struct spi_device *spi) -@@ -5334,15 +4550,10 @@ static int __init panel_simple_init(void - if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) { - err = mipi_dsi_driver_register(&panel_simple_dsi_driver); - if (err < 0) -- goto err_did_platform_register; -+ return err; - } - - return 0; -- --err_did_platform_register: -- platform_driver_unregister(&panel_simple_platform_driver); -- -- return err; - } - module_init(panel_simple_init); - -diff -rupN linux.orig/include/drm/drm_dp_helper.h linux/include/drm/drm_dp_helper.h ---- linux.orig/include/drm/drm_dp_helper.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux/include/drm/drm_dp_helper.h 2024-03-22 22:45:57.005358291 +0000 -@@ -0,0 +1,1856 @@ -+/* -+ * Copyright © 2008 Keith Packard -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that copyright -+ * notice and this permission notice appear in supporting documentation, and -+ * that the name of the copyright holders not be used in advertising or -+ * publicity pertaining to distribution of the software without specific, -+ * written prior permission. The copyright holders make no representations -+ * about the suitability of this software for any purpose. It is provided "as -+ * is" without express or implied warranty. -+ * -+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR -+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -+ * OF THIS SOFTWARE. -+ */ -+ -+#ifndef _DRM_DP_HELPER_H_ -+#define _DRM_DP_HELPER_H_ -+ -+#include -+#include -+#include -+#include -+ -+struct drm_device; -+ -+/* -+ * Unless otherwise noted, all values are from the DP 1.1a spec. Note that -+ * DP and DPCD versions are independent. Differences from 1.0 are not noted, -+ * 1.0 devices basically don't exist in the wild. -+ * -+ * Abbreviations, in chronological order: -+ * -+ * eDP: Embedded DisplayPort version 1 -+ * DPI: DisplayPort Interoperability Guideline v1.1a -+ * 1.2: DisplayPort 1.2 -+ * MST: Multistream Transport - part of DP 1.2a -+ * -+ * 1.2 formally includes both eDP and DPI definitions. -+ */ -+ -+/* MSA (Main Stream Attribute) MISC bits (as MISC1<<8|MISC0) */ -+#define DP_MSA_MISC_SYNC_CLOCK (1 << 0) -+#define DP_MSA_MISC_INTERLACE_VTOTAL_EVEN (1 << 8) -+#define DP_MSA_MISC_STEREO_NO_3D (0 << 9) -+#define DP_MSA_MISC_STEREO_PROG_RIGHT_EYE (1 << 9) -+#define DP_MSA_MISC_STEREO_PROG_LEFT_EYE (3 << 9) -+/* bits per component for non-RAW */ -+#define DP_MSA_MISC_6_BPC (0 << 5) -+#define DP_MSA_MISC_8_BPC (1 << 5) -+#define DP_MSA_MISC_10_BPC (2 << 5) -+#define DP_MSA_MISC_12_BPC (3 << 5) -+#define DP_MSA_MISC_16_BPC (4 << 5) -+/* bits per component for RAW */ -+#define DP_MSA_MISC_RAW_6_BPC (1 << 5) -+#define DP_MSA_MISC_RAW_7_BPC (2 << 5) -+#define DP_MSA_MISC_RAW_8_BPC (3 << 5) -+#define DP_MSA_MISC_RAW_10_BPC (4 << 5) -+#define DP_MSA_MISC_RAW_12_BPC (5 << 5) -+#define DP_MSA_MISC_RAW_14_BPC (6 << 5) -+#define DP_MSA_MISC_RAW_16_BPC (7 << 5) -+/* pixel encoding/colorimetry format */ -+#define _DP_MSA_MISC_COLOR(misc1_7, misc0_21, misc0_3, misc0_4) \ -+ ((misc1_7) << 15 | (misc0_4) << 4 | (misc0_3) << 3 | ((misc0_21) << 1)) -+#define DP_MSA_MISC_COLOR_RGB _DP_MSA_MISC_COLOR(0, 0, 0, 0) -+#define DP_MSA_MISC_COLOR_CEA_RGB _DP_MSA_MISC_COLOR(0, 0, 1, 0) -+#define DP_MSA_MISC_COLOR_RGB_WIDE_FIXED _DP_MSA_MISC_COLOR(0, 3, 0, 0) -+#define DP_MSA_MISC_COLOR_RGB_WIDE_FLOAT _DP_MSA_MISC_COLOR(0, 3, 0, 1) -+#define DP_MSA_MISC_COLOR_Y_ONLY _DP_MSA_MISC_COLOR(1, 0, 0, 0) -+#define DP_MSA_MISC_COLOR_RAW _DP_MSA_MISC_COLOR(1, 1, 0, 0) -+#define DP_MSA_MISC_COLOR_YCBCR_422_BT601 _DP_MSA_MISC_COLOR(0, 1, 1, 0) -+#define DP_MSA_MISC_COLOR_YCBCR_422_BT709 _DP_MSA_MISC_COLOR(0, 1, 1, 1) -+#define DP_MSA_MISC_COLOR_YCBCR_444_BT601 _DP_MSA_MISC_COLOR(0, 2, 1, 0) -+#define DP_MSA_MISC_COLOR_YCBCR_444_BT709 _DP_MSA_MISC_COLOR(0, 2, 1, 1) -+#define DP_MSA_MISC_COLOR_XVYCC_422_BT601 _DP_MSA_MISC_COLOR(0, 1, 0, 0) -+#define DP_MSA_MISC_COLOR_XVYCC_422_BT709 _DP_MSA_MISC_COLOR(0, 1, 0, 1) -+#define DP_MSA_MISC_COLOR_XVYCC_444_BT601 _DP_MSA_MISC_COLOR(0, 2, 0, 0) -+#define DP_MSA_MISC_COLOR_XVYCC_444_BT709 _DP_MSA_MISC_COLOR(0, 2, 0, 1) -+#define DP_MSA_MISC_COLOR_OPRGB _DP_MSA_MISC_COLOR(0, 0, 1, 1) -+#define DP_MSA_MISC_COLOR_DCI_P3 _DP_MSA_MISC_COLOR(0, 3, 1, 0) -+#define DP_MSA_MISC_COLOR_COLOR_PROFILE _DP_MSA_MISC_COLOR(0, 3, 1, 1) -+#define DP_MSA_MISC_COLOR_VSC_SDP (1 << 14) -+ -+#define DP_AUX_MAX_PAYLOAD_BYTES 16 -+ -+#define DP_AUX_I2C_WRITE 0x0 -+#define DP_AUX_I2C_READ 0x1 -+#define DP_AUX_I2C_WRITE_STATUS_UPDATE 0x2 -+#define DP_AUX_I2C_MOT 0x4 -+#define DP_AUX_NATIVE_WRITE 0x8 -+#define DP_AUX_NATIVE_READ 0x9 -+ -+#define DP_AUX_NATIVE_REPLY_ACK (0x0 << 0) -+#define DP_AUX_NATIVE_REPLY_NACK (0x1 << 0) -+#define DP_AUX_NATIVE_REPLY_DEFER (0x2 << 0) -+#define DP_AUX_NATIVE_REPLY_MASK (0x3 << 0) -+ -+#define DP_AUX_I2C_REPLY_ACK (0x0 << 2) -+#define DP_AUX_I2C_REPLY_NACK (0x1 << 2) -+#define DP_AUX_I2C_REPLY_DEFER (0x2 << 2) -+#define DP_AUX_I2C_REPLY_MASK (0x3 << 2) -+ -+/* AUX CH addresses */ -+/* DPCD */ -+#define DP_DPCD_REV 0x000 -+# define DP_DPCD_REV_10 0x10 -+# define DP_DPCD_REV_11 0x11 -+# define DP_DPCD_REV_12 0x12 -+# define DP_DPCD_REV_13 0x13 -+# define DP_DPCD_REV_14 0x14 -+ -+#define DP_MAX_LINK_RATE 0x001 -+ -+#define DP_MAX_LANE_COUNT 0x002 -+# define DP_MAX_LANE_COUNT_MASK 0x1f -+# define DP_TPS3_SUPPORTED (1 << 6) /* 1.2 */ -+# define DP_ENHANCED_FRAME_CAP (1 << 7) -+ -+#define DP_MAX_DOWNSPREAD 0x003 -+# define DP_MAX_DOWNSPREAD_0_5 (1 << 0) -+# define DP_NO_AUX_HANDSHAKE_LINK_TRAINING (1 << 6) -+# define DP_TPS4_SUPPORTED (1 << 7) -+ -+#define DP_NORP 0x004 -+ -+#define DP_DOWNSTREAMPORT_PRESENT 0x005 -+# define DP_DWN_STRM_PORT_PRESENT (1 << 0) -+# define DP_DWN_STRM_PORT_TYPE_MASK 0x06 -+# define DP_DWN_STRM_PORT_TYPE_DP (0 << 1) -+# define DP_DWN_STRM_PORT_TYPE_ANALOG (1 << 1) -+# define DP_DWN_STRM_PORT_TYPE_TMDS (2 << 1) -+# define DP_DWN_STRM_PORT_TYPE_OTHER (3 << 1) -+# define DP_FORMAT_CONVERSION (1 << 3) -+# define DP_DETAILED_CAP_INFO_AVAILABLE (1 << 4) /* DPI */ -+ -+#define DP_MAIN_LINK_CHANNEL_CODING 0x006 -+# define DP_CAP_ANSI_8B10B (1 << 0) -+ -+#define DP_DOWN_STREAM_PORT_COUNT 0x007 -+# define DP_PORT_COUNT_MASK 0x0f -+# define DP_MSA_TIMING_PAR_IGNORED (1 << 6) /* eDP */ -+# define DP_OUI_SUPPORT (1 << 7) -+ -+#define DP_RECEIVE_PORT_0_CAP_0 0x008 -+# define DP_LOCAL_EDID_PRESENT (1 << 1) -+# define DP_ASSOCIATED_TO_PRECEDING_PORT (1 << 2) -+ -+#define DP_RECEIVE_PORT_0_BUFFER_SIZE 0x009 -+ -+#define DP_RECEIVE_PORT_1_CAP_0 0x00a -+#define DP_RECEIVE_PORT_1_BUFFER_SIZE 0x00b -+ -+#define DP_I2C_SPEED_CAP 0x00c /* DPI */ -+# define DP_I2C_SPEED_1K 0x01 -+# define DP_I2C_SPEED_5K 0x02 -+# define DP_I2C_SPEED_10K 0x04 -+# define DP_I2C_SPEED_100K 0x08 -+# define DP_I2C_SPEED_400K 0x10 -+# define DP_I2C_SPEED_1M 0x20 -+ -+#define DP_EDP_CONFIGURATION_CAP 0x00d /* XXX 1.2? */ -+# define DP_ALTERNATE_SCRAMBLER_RESET_CAP (1 << 0) -+# define DP_FRAMING_CHANGE_CAP (1 << 1) -+# define DP_DPCD_DISPLAY_CONTROL_CAPABLE (1 << 3) /* edp v1.2 or higher */ -+ -+#define DP_TRAINING_AUX_RD_INTERVAL 0x00e /* XXX 1.2? */ -+# define DP_TRAINING_AUX_RD_MASK 0x7F /* DP 1.3 */ -+# define DP_EXTENDED_RECEIVER_CAP_FIELD_PRESENT (1 << 7) /* DP 1.3 */ -+ -+#define DP_ADAPTER_CAP 0x00f /* 1.2 */ -+# define DP_FORCE_LOAD_SENSE_CAP (1 << 0) -+# define DP_ALTERNATE_I2C_PATTERN_CAP (1 << 1) -+ -+#define DP_SUPPORTED_LINK_RATES 0x010 /* eDP 1.4 */ -+# define DP_MAX_SUPPORTED_RATES 8 /* 16-bit little-endian */ -+ -+/* Multiple stream transport */ -+#define DP_FAUX_CAP 0x020 /* 1.2 */ -+# define DP_FAUX_CAP_1 (1 << 0) -+ -+#define DP_MSTM_CAP 0x021 /* 1.2 */ -+# define DP_MST_CAP (1 << 0) -+ -+#define DP_NUMBER_OF_AUDIO_ENDPOINTS 0x022 /* 1.2 */ -+ -+/* AV_SYNC_DATA_BLOCK 1.2 */ -+#define DP_AV_GRANULARITY 0x023 -+# define DP_AG_FACTOR_MASK (0xf << 0) -+# define DP_AG_FACTOR_3MS (0 << 0) -+# define DP_AG_FACTOR_2MS (1 << 0) -+# define DP_AG_FACTOR_1MS (2 << 0) -+# define DP_AG_FACTOR_500US (3 << 0) -+# define DP_AG_FACTOR_200US (4 << 0) -+# define DP_AG_FACTOR_100US (5 << 0) -+# define DP_AG_FACTOR_10US (6 << 0) -+# define DP_AG_FACTOR_1US (7 << 0) -+# define DP_VG_FACTOR_MASK (0xf << 4) -+# define DP_VG_FACTOR_3MS (0 << 4) -+# define DP_VG_FACTOR_2MS (1 << 4) -+# define DP_VG_FACTOR_1MS (2 << 4) -+# define DP_VG_FACTOR_500US (3 << 4) -+# define DP_VG_FACTOR_200US (4 << 4) -+# define DP_VG_FACTOR_100US (5 << 4) -+ -+#define DP_AUD_DEC_LAT0 0x024 -+#define DP_AUD_DEC_LAT1 0x025 -+ -+#define DP_AUD_PP_LAT0 0x026 -+#define DP_AUD_PP_LAT1 0x027 -+ -+#define DP_VID_INTER_LAT 0x028 -+ -+#define DP_VID_PROG_LAT 0x029 -+ -+#define DP_REP_LAT 0x02a -+ -+#define DP_AUD_DEL_INS0 0x02b -+#define DP_AUD_DEL_INS1 0x02c -+#define DP_AUD_DEL_INS2 0x02d -+/* End of AV_SYNC_DATA_BLOCK */ -+ -+#define DP_RECEIVER_ALPM_CAP 0x02e /* eDP 1.4 */ -+# define DP_ALPM_CAP (1 << 0) -+ -+#define DP_SINK_DEVICE_AUX_FRAME_SYNC_CAP 0x02f /* eDP 1.4 */ -+# define DP_AUX_FRAME_SYNC_CAP (1 << 0) -+ -+#define DP_GUID 0x030 /* 1.2 */ -+ -+#define DP_DSC_SUPPORT 0x060 /* DP 1.4 */ -+# define DP_DSC_DECOMPRESSION_IS_SUPPORTED (1 << 0) -+ -+#define DP_DSC_REV 0x061 -+# define DP_DSC_MAJOR_MASK (0xf << 0) -+# define DP_DSC_MINOR_MASK (0xf << 4) -+# define DP_DSC_MAJOR_SHIFT 0 -+# define DP_DSC_MINOR_SHIFT 4 -+ -+#define DP_DSC_RC_BUF_BLK_SIZE 0x062 -+# define DP_DSC_RC_BUF_BLK_SIZE_1 0x0 -+# define DP_DSC_RC_BUF_BLK_SIZE_4 0x1 -+# define DP_DSC_RC_BUF_BLK_SIZE_16 0x2 -+# define DP_DSC_RC_BUF_BLK_SIZE_64 0x3 -+ -+#define DP_DSC_RC_BUF_SIZE 0x063 -+ -+#define DP_DSC_SLICE_CAP_1 0x064 -+# define DP_DSC_1_PER_DP_DSC_SINK (1 << 0) -+# define DP_DSC_2_PER_DP_DSC_SINK (1 << 1) -+# define DP_DSC_4_PER_DP_DSC_SINK (1 << 3) -+# define DP_DSC_6_PER_DP_DSC_SINK (1 << 4) -+# define DP_DSC_8_PER_DP_DSC_SINK (1 << 5) -+# define DP_DSC_10_PER_DP_DSC_SINK (1 << 6) -+# define DP_DSC_12_PER_DP_DSC_SINK (1 << 7) -+ -+#define DP_DSC_LINE_BUF_BIT_DEPTH 0x065 -+# define DP_DSC_LINE_BUF_BIT_DEPTH_MASK (0xf << 0) -+# define DP_DSC_LINE_BUF_BIT_DEPTH_9 0x0 -+# define DP_DSC_LINE_BUF_BIT_DEPTH_10 0x1 -+# define DP_DSC_LINE_BUF_BIT_DEPTH_11 0x2 -+# define DP_DSC_LINE_BUF_BIT_DEPTH_12 0x3 -+# define DP_DSC_LINE_BUF_BIT_DEPTH_13 0x4 -+# define DP_DSC_LINE_BUF_BIT_DEPTH_14 0x5 -+# define DP_DSC_LINE_BUF_BIT_DEPTH_15 0x6 -+# define DP_DSC_LINE_BUF_BIT_DEPTH_16 0x7 -+# define DP_DSC_LINE_BUF_BIT_DEPTH_8 0x8 -+ -+#define DP_DSC_BLK_PREDICTION_SUPPORT 0x066 -+# define DP_DSC_BLK_PREDICTION_IS_SUPPORTED (1 << 0) -+ -+#define DP_DSC_MAX_BITS_PER_PIXEL_LOW 0x067 /* eDP 1.4 */ -+ -+#define DP_DSC_MAX_BITS_PER_PIXEL_HI 0x068 /* eDP 1.4 */ -+# define DP_DSC_MAX_BITS_PER_PIXEL_HI_MASK (0x3 << 0) -+# define DP_DSC_MAX_BITS_PER_PIXEL_HI_SHIFT 8 -+ -+#define DP_DSC_DEC_COLOR_FORMAT_CAP 0x069 -+# define DP_DSC_RGB (1 << 0) -+# define DP_DSC_YCbCr444 (1 << 1) -+# define DP_DSC_YCbCr422_Simple (1 << 2) -+# define DP_DSC_YCbCr422_Native (1 << 3) -+# define DP_DSC_YCbCr420_Native (1 << 4) -+ -+#define DP_DSC_DEC_COLOR_DEPTH_CAP 0x06A -+# define DP_DSC_8_BPC (1 << 1) -+# define DP_DSC_10_BPC (1 << 2) -+# define DP_DSC_12_BPC (1 << 3) -+ -+#define DP_DSC_PEAK_THROUGHPUT 0x06B -+# define DP_DSC_THROUGHPUT_MODE_0_MASK (0xf << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_SHIFT 0 -+# define DP_DSC_THROUGHPUT_MODE_0_UNSUPPORTED 0 -+# define DP_DSC_THROUGHPUT_MODE_0_340 (1 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_400 (2 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_450 (3 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_500 (4 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_550 (5 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_600 (6 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_650 (7 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_700 (8 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_750 (9 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_800 (10 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_850 (11 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_900 (12 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_950 (13 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_1000 (14 << 0) -+# define DP_DSC_THROUGHPUT_MODE_0_170 (15 << 0) /* 1.4a */ -+# define DP_DSC_THROUGHPUT_MODE_1_MASK (0xf << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_SHIFT 4 -+# define DP_DSC_THROUGHPUT_MODE_1_UNSUPPORTED 0 -+# define DP_DSC_THROUGHPUT_MODE_1_340 (1 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_400 (2 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_450 (3 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_500 (4 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_550 (5 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_600 (6 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_650 (7 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_700 (8 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_750 (9 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_800 (10 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_850 (11 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_900 (12 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_950 (13 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_1000 (14 << 4) -+# define DP_DSC_THROUGHPUT_MODE_1_170 (15 << 4) -+ -+#define DP_DSC_MAX_SLICE_WIDTH 0x06C -+#define DP_DSC_MIN_SLICE_WIDTH_VALUE 2560 -+#define DP_DSC_SLICE_WIDTH_MULTIPLIER 320 -+ -+#define DP_DSC_SLICE_CAP_2 0x06D -+# define DP_DSC_16_PER_DP_DSC_SINK (1 << 0) -+# define DP_DSC_20_PER_DP_DSC_SINK (1 << 1) -+# define DP_DSC_24_PER_DP_DSC_SINK (1 << 2) -+ -+#define DP_DSC_BITS_PER_PIXEL_INC 0x06F -+# define DP_DSC_BITS_PER_PIXEL_1_16 0x0 -+# define DP_DSC_BITS_PER_PIXEL_1_8 0x1 -+# define DP_DSC_BITS_PER_PIXEL_1_4 0x2 -+# define DP_DSC_BITS_PER_PIXEL_1_2 0x3 -+# define DP_DSC_BITS_PER_PIXEL_1 0x4 -+ -+#define DP_PSR_SUPPORT 0x070 /* XXX 1.2? */ -+# define DP_PSR_IS_SUPPORTED 1 -+# define DP_PSR2_IS_SUPPORTED 2 /* eDP 1.4 */ -+# define DP_PSR2_WITH_Y_COORD_IS_SUPPORTED 3 /* eDP 1.4a */ -+ -+#define DP_PSR_CAPS 0x071 /* XXX 1.2? */ -+# define DP_PSR_NO_TRAIN_ON_EXIT 1 -+# define DP_PSR_SETUP_TIME_330 (0 << 1) -+# define DP_PSR_SETUP_TIME_275 (1 << 1) -+# define DP_PSR_SETUP_TIME_220 (2 << 1) -+# define DP_PSR_SETUP_TIME_165 (3 << 1) -+# define DP_PSR_SETUP_TIME_110 (4 << 1) -+# define DP_PSR_SETUP_TIME_55 (5 << 1) -+# define DP_PSR_SETUP_TIME_0 (6 << 1) -+# define DP_PSR_SETUP_TIME_MASK (7 << 1) -+# define DP_PSR_SETUP_TIME_SHIFT 1 -+# define DP_PSR2_SU_Y_COORDINATE_REQUIRED (1 << 4) /* eDP 1.4a */ -+# define DP_PSR2_SU_GRANULARITY_REQUIRED (1 << 5) /* eDP 1.4b */ -+ -+#define DP_PSR2_SU_X_GRANULARITY 0x072 /* eDP 1.4b */ -+#define DP_PSR2_SU_Y_GRANULARITY 0x074 /* eDP 1.4b */ -+ -+/* -+ * 0x80-0x8f describe downstream port capabilities, but there are two layouts -+ * based on whether DP_DETAILED_CAP_INFO_AVAILABLE was set. If it was not, -+ * each port's descriptor is one byte wide. If it was set, each port's is -+ * four bytes wide, starting with the one byte from the base info. As of -+ * DP interop v1.1a only VGA defines additional detail. -+ */ -+ -+/* offset 0 */ -+#define DP_DOWNSTREAM_PORT_0 0x80 -+# define DP_DS_PORT_TYPE_MASK (7 << 0) -+# define DP_DS_PORT_TYPE_DP 0 -+# define DP_DS_PORT_TYPE_VGA 1 -+# define DP_DS_PORT_TYPE_DVI 2 -+# define DP_DS_PORT_TYPE_HDMI 3 -+# define DP_DS_PORT_TYPE_NON_EDID 4 -+# define DP_DS_PORT_TYPE_DP_DUALMODE 5 -+# define DP_DS_PORT_TYPE_WIRELESS 6 -+# define DP_DS_PORT_HPD (1 << 3) -+# define DP_DS_NON_EDID_MASK (0xf << 4) -+# define DP_DS_NON_EDID_720x480i_60 (1 << 4) -+# define DP_DS_NON_EDID_720x480i_50 (2 << 4) -+# define DP_DS_NON_EDID_1920x1080i_60 (3 << 4) -+# define DP_DS_NON_EDID_1920x1080i_50 (4 << 4) -+# define DP_DS_NON_EDID_1280x720_60 (5 << 4) -+# define DP_DS_NON_EDID_1280x720_50 (7 << 4) -+/* offset 1 for VGA is maximum megapixels per second / 8 */ -+/* offset 1 for DVI/HDMI is maximum TMDS clock in Mbps / 2.5 */ -+/* offset 2 for VGA/DVI/HDMI */ -+# define DP_DS_MAX_BPC_MASK (3 << 0) -+# define DP_DS_8BPC 0 -+# define DP_DS_10BPC 1 -+# define DP_DS_12BPC 2 -+# define DP_DS_16BPC 3 -+/* offset 3 for DVI */ -+# define DP_DS_DVI_DUAL_LINK (1 << 1) -+# define DP_DS_DVI_HIGH_COLOR_DEPTH (1 << 2) -+/* offset 3 for HDMI */ -+# define DP_DS_HDMI_FRAME_SEQ_TO_FRAME_PACK (1 << 0) -+# define DP_DS_HDMI_YCBCR422_PASS_THROUGH (1 << 1) -+# define DP_DS_HDMI_YCBCR420_PASS_THROUGH (1 << 2) -+# define DP_DS_HDMI_YCBCR444_TO_422_CONV (1 << 3) -+# define DP_DS_HDMI_YCBCR444_TO_420_CONV (1 << 4) -+ -+#define DP_MAX_DOWNSTREAM_PORTS 0x10 -+ -+/* DP Forward error Correction Registers */ -+#define DP_FEC_CAPABILITY 0x090 /* 1.4 */ -+# define DP_FEC_CAPABLE (1 << 0) -+# define DP_FEC_UNCORR_BLK_ERROR_COUNT_CAP (1 << 1) -+# define DP_FEC_CORR_BLK_ERROR_COUNT_CAP (1 << 2) -+# define DP_FEC_BIT_ERROR_COUNT_CAP (1 << 3) -+ -+/* DP Extended DSC Capabilities */ -+#define DP_DSC_BRANCH_OVERALL_THROUGHPUT_0 0x0a0 /* DP 1.4a SCR */ -+#define DP_DSC_BRANCH_OVERALL_THROUGHPUT_1 0x0a1 -+#define DP_DSC_BRANCH_MAX_LINE_WIDTH 0x0a2 -+ -+/* link configuration */ -+#define DP_LINK_BW_SET 0x100 -+# define DP_LINK_RATE_TABLE 0x00 /* eDP 1.4 */ -+# define DP_LINK_BW_1_62 0x06 -+# define DP_LINK_BW_2_7 0x0a -+# define DP_LINK_BW_5_4 0x14 /* 1.2 */ -+# define DP_LINK_BW_8_1 0x1e /* 1.4 */ -+ -+#define DP_LANE_COUNT_SET 0x101 -+# define DP_LANE_COUNT_MASK 0x0f -+# define DP_LANE_COUNT_ENHANCED_FRAME_EN (1 << 7) -+ -+#define DP_TRAINING_PATTERN_SET 0x102 -+# define DP_TRAINING_PATTERN_DISABLE 0 -+# define DP_TRAINING_PATTERN_1 1 -+# define DP_TRAINING_PATTERN_2 2 -+# define DP_TRAINING_PATTERN_3 3 /* 1.2 */ -+# define DP_TRAINING_PATTERN_4 7 /* 1.4 */ -+# define DP_TRAINING_PATTERN_MASK 0x3 -+# define DP_TRAINING_PATTERN_MASK_1_4 0xf -+ -+/* DPCD 1.1 only. For DPCD >= 1.2 see per-lane DP_LINK_QUAL_LANEn_SET */ -+# define DP_LINK_QUAL_PATTERN_11_DISABLE (0 << 2) -+# define DP_LINK_QUAL_PATTERN_11_D10_2 (1 << 2) -+# define DP_LINK_QUAL_PATTERN_11_ERROR_RATE (2 << 2) -+# define DP_LINK_QUAL_PATTERN_11_PRBS7 (3 << 2) -+# define DP_LINK_QUAL_PATTERN_11_MASK (3 << 2) -+ -+# define DP_RECOVERED_CLOCK_OUT_EN (1 << 4) -+# define DP_LINK_SCRAMBLING_DISABLE (1 << 5) -+ -+# define DP_SYMBOL_ERROR_COUNT_BOTH (0 << 6) -+# define DP_SYMBOL_ERROR_COUNT_DISPARITY (1 << 6) -+# define DP_SYMBOL_ERROR_COUNT_SYMBOL (2 << 6) -+# define DP_SYMBOL_ERROR_COUNT_MASK (3 << 6) -+ -+#define DP_TRAINING_LANE0_SET 0x103 -+#define DP_TRAINING_LANE1_SET 0x104 -+#define DP_TRAINING_LANE2_SET 0x105 -+#define DP_TRAINING_LANE3_SET 0x106 -+ -+# define DP_TRAIN_VOLTAGE_SWING_MASK 0x3 -+# define DP_TRAIN_VOLTAGE_SWING_SHIFT 0 -+# define DP_TRAIN_MAX_SWING_REACHED (1 << 2) -+# define DP_TRAIN_VOLTAGE_SWING_LEVEL_0 (0 << 0) -+# define DP_TRAIN_VOLTAGE_SWING_LEVEL_1 (1 << 0) -+# define DP_TRAIN_VOLTAGE_SWING_LEVEL_2 (2 << 0) -+# define DP_TRAIN_VOLTAGE_SWING_LEVEL_3 (3 << 0) -+ -+# define DP_TRAIN_PRE_EMPHASIS_MASK (3 << 3) -+# define DP_TRAIN_PRE_EMPH_LEVEL_0 (0 << 3) -+# define DP_TRAIN_PRE_EMPH_LEVEL_1 (1 << 3) -+# define DP_TRAIN_PRE_EMPH_LEVEL_2 (2 << 3) -+# define DP_TRAIN_PRE_EMPH_LEVEL_3 (3 << 3) -+ -+# define DP_TRAIN_PRE_EMPHASIS_SHIFT 3 -+# define DP_TRAIN_MAX_PRE_EMPHASIS_REACHED (1 << 5) -+ -+#define DP_DOWNSPREAD_CTRL 0x107 -+# define DP_SPREAD_AMP_0_5 (1 << 4) -+# define DP_MSA_TIMING_PAR_IGNORE_EN (1 << 7) /* eDP */ -+ -+#define DP_MAIN_LINK_CHANNEL_CODING_SET 0x108 -+# define DP_SET_ANSI_8B10B (1 << 0) -+ -+#define DP_I2C_SPEED_CONTROL_STATUS 0x109 /* DPI */ -+/* bitmask as for DP_I2C_SPEED_CAP */ -+ -+#define DP_EDP_CONFIGURATION_SET 0x10a /* XXX 1.2? */ -+# define DP_ALTERNATE_SCRAMBLER_RESET_ENABLE (1 << 0) -+# define DP_FRAMING_CHANGE_ENABLE (1 << 1) -+# define DP_PANEL_SELF_TEST_ENABLE (1 << 7) -+ -+#define DP_LINK_QUAL_LANE0_SET 0x10b /* DPCD >= 1.2 */ -+#define DP_LINK_QUAL_LANE1_SET 0x10c -+#define DP_LINK_QUAL_LANE2_SET 0x10d -+#define DP_LINK_QUAL_LANE3_SET 0x10e -+# define DP_LINK_QUAL_PATTERN_DISABLE 0 -+# define DP_LINK_QUAL_PATTERN_D10_2 1 -+# define DP_LINK_QUAL_PATTERN_ERROR_RATE 2 -+# define DP_LINK_QUAL_PATTERN_PRBS7 3 -+# define DP_LINK_QUAL_PATTERN_80BIT_CUSTOM 4 -+# define DP_LINK_QUAL_PATTERN_HBR2_EYE 5 -+# define DP_LINK_QUAL_PATTERN_MASK 7 -+ -+#define DP_TRAINING_LANE0_1_SET2 0x10f -+#define DP_TRAINING_LANE2_3_SET2 0x110 -+# define DP_LANE02_POST_CURSOR2_SET_MASK (3 << 0) -+# define DP_LANE02_MAX_POST_CURSOR2_REACHED (1 << 2) -+# define DP_LANE13_POST_CURSOR2_SET_MASK (3 << 4) -+# define DP_LANE13_MAX_POST_CURSOR2_REACHED (1 << 6) -+ -+#define DP_MSTM_CTRL 0x111 /* 1.2 */ -+# define DP_MST_EN (1 << 0) -+# define DP_UP_REQ_EN (1 << 1) -+# define DP_UPSTREAM_IS_SRC (1 << 2) -+ -+#define DP_AUDIO_DELAY0 0x112 /* 1.2 */ -+#define DP_AUDIO_DELAY1 0x113 -+#define DP_AUDIO_DELAY2 0x114 -+ -+#define DP_LINK_RATE_SET 0x115 /* eDP 1.4 */ -+# define DP_LINK_RATE_SET_SHIFT 0 -+# define DP_LINK_RATE_SET_MASK (7 << 0) -+ -+#define DP_RECEIVER_ALPM_CONFIG 0x116 /* eDP 1.4 */ -+# define DP_ALPM_ENABLE (1 << 0) -+# define DP_ALPM_LOCK_ERROR_IRQ_HPD_ENABLE (1 << 1) -+ -+#define DP_SINK_DEVICE_AUX_FRAME_SYNC_CONF 0x117 /* eDP 1.4 */ -+# define DP_AUX_FRAME_SYNC_ENABLE (1 << 0) -+# define DP_IRQ_HPD_ENABLE (1 << 1) -+ -+#define DP_UPSTREAM_DEVICE_DP_PWR_NEED 0x118 /* 1.2 */ -+# define DP_PWR_NOT_NEEDED (1 << 0) -+ -+#define DP_FEC_CONFIGURATION 0x120 /* 1.4 */ -+# define DP_FEC_READY (1 << 0) -+# define DP_FEC_ERR_COUNT_SEL_MASK (7 << 1) -+# define DP_FEC_ERR_COUNT_DIS (0 << 1) -+# define DP_FEC_UNCORR_BLK_ERROR_COUNT (1 << 1) -+# define DP_FEC_CORR_BLK_ERROR_COUNT (2 << 1) -+# define DP_FEC_BIT_ERROR_COUNT (3 << 1) -+# define DP_FEC_LANE_SELECT_MASK (3 << 4) -+# define DP_FEC_LANE_0_SELECT (0 << 4) -+# define DP_FEC_LANE_1_SELECT (1 << 4) -+# define DP_FEC_LANE_2_SELECT (2 << 4) -+# define DP_FEC_LANE_3_SELECT (3 << 4) -+ -+#define DP_AUX_FRAME_SYNC_VALUE 0x15c /* eDP 1.4 */ -+# define DP_AUX_FRAME_SYNC_VALID (1 << 0) -+ -+#define DP_DSC_ENABLE 0x160 /* DP 1.4 */ -+# define DP_DECOMPRESSION_EN (1 << 0) -+ -+#define DP_PSR_EN_CFG 0x170 /* XXX 1.2? */ -+# define DP_PSR_ENABLE (1 << 0) -+# define DP_PSR_MAIN_LINK_ACTIVE (1 << 1) -+# define DP_PSR_CRC_VERIFICATION (1 << 2) -+# define DP_PSR_FRAME_CAPTURE (1 << 3) -+# define DP_PSR_SELECTIVE_UPDATE (1 << 4) -+# define DP_PSR_IRQ_HPD_WITH_CRC_ERRORS (1 << 5) -+# define DP_PSR_ENABLE_PSR2 (1 << 6) /* eDP 1.4a */ -+ -+#define DP_ADAPTER_CTRL 0x1a0 -+# define DP_ADAPTER_CTRL_FORCE_LOAD_SENSE (1 << 0) -+ -+#define DP_BRANCH_DEVICE_CTRL 0x1a1 -+# define DP_BRANCH_DEVICE_IRQ_HPD (1 << 0) -+ -+#define DP_PAYLOAD_ALLOCATE_SET 0x1c0 -+#define DP_PAYLOAD_ALLOCATE_START_TIME_SLOT 0x1c1 -+#define DP_PAYLOAD_ALLOCATE_TIME_SLOT_COUNT 0x1c2 -+ -+#define DP_SINK_COUNT 0x200 -+/* prior to 1.2 bit 7 was reserved mbz */ -+# define DP_GET_SINK_COUNT(x) ((((x) & 0x80) >> 1) | ((x) & 0x3f)) -+# define DP_SINK_CP_READY (1 << 6) -+ -+#define DP_DEVICE_SERVICE_IRQ_VECTOR 0x201 -+# define DP_REMOTE_CONTROL_COMMAND_PENDING (1 << 0) -+# define DP_AUTOMATED_TEST_REQUEST (1 << 1) -+# define DP_CP_IRQ (1 << 2) -+# define DP_MCCS_IRQ (1 << 3) -+# define DP_DOWN_REP_MSG_RDY (1 << 4) /* 1.2 MST */ -+# define DP_UP_REQ_MSG_RDY (1 << 5) /* 1.2 MST */ -+# define DP_SINK_SPECIFIC_IRQ (1 << 6) -+ -+#define DP_LANE0_1_STATUS 0x202 -+#define DP_LANE2_3_STATUS 0x203 -+# define DP_LANE_CR_DONE (1 << 0) -+# define DP_LANE_CHANNEL_EQ_DONE (1 << 1) -+# define DP_LANE_SYMBOL_LOCKED (1 << 2) -+ -+#define DP_CHANNEL_EQ_BITS (DP_LANE_CR_DONE | \ -+ DP_LANE_CHANNEL_EQ_DONE | \ -+ DP_LANE_SYMBOL_LOCKED) -+ -+#define DP_LANE_ALIGN_STATUS_UPDATED 0x204 -+ -+#define DP_INTERLANE_ALIGN_DONE (1 << 0) -+#define DP_DOWNSTREAM_PORT_STATUS_CHANGED (1 << 6) -+#define DP_LINK_STATUS_UPDATED (1 << 7) -+ -+#define DP_SINK_STATUS 0x205 -+ -+#define DP_RECEIVE_PORT_0_STATUS (1 << 0) -+#define DP_RECEIVE_PORT_1_STATUS (1 << 1) -+ -+#define DP_ADJUST_REQUEST_LANE0_1 0x206 -+#define DP_ADJUST_REQUEST_LANE2_3 0x207 -+# define DP_ADJUST_VOLTAGE_SWING_LANE0_MASK 0x03 -+# define DP_ADJUST_VOLTAGE_SWING_LANE0_SHIFT 0 -+# define DP_ADJUST_PRE_EMPHASIS_LANE0_MASK 0x0c -+# define DP_ADJUST_PRE_EMPHASIS_LANE0_SHIFT 2 -+# define DP_ADJUST_VOLTAGE_SWING_LANE1_MASK 0x30 -+# define DP_ADJUST_VOLTAGE_SWING_LANE1_SHIFT 4 -+# define DP_ADJUST_PRE_EMPHASIS_LANE1_MASK 0xc0 -+# define DP_ADJUST_PRE_EMPHASIS_LANE1_SHIFT 6 -+ -+#define DP_ADJUST_REQUEST_POST_CURSOR2 0x20c -+# define DP_ADJUST_POST_CURSOR2_LANE0_MASK 0x03 -+# define DP_ADJUST_POST_CURSOR2_LANE0_SHIFT 0 -+# define DP_ADJUST_POST_CURSOR2_LANE1_MASK 0x0c -+# define DP_ADJUST_POST_CURSOR2_LANE1_SHIFT 2 -+# define DP_ADJUST_POST_CURSOR2_LANE2_MASK 0x30 -+# define DP_ADJUST_POST_CURSOR2_LANE2_SHIFT 4 -+# define DP_ADJUST_POST_CURSOR2_LANE3_MASK 0xc0 -+# define DP_ADJUST_POST_CURSOR2_LANE3_SHIFT 6 -+ -+#define DP_TEST_REQUEST 0x218 -+# define DP_TEST_LINK_TRAINING (1 << 0) -+# define DP_TEST_LINK_VIDEO_PATTERN (1 << 1) -+# define DP_TEST_LINK_EDID_READ (1 << 2) -+# define DP_TEST_LINK_PHY_TEST_PATTERN (1 << 3) /* DPCD >= 1.1 */ -+# define DP_TEST_LINK_FAUX_PATTERN (1 << 4) /* DPCD >= 1.2 */ -+# define DP_TEST_LINK_AUDIO_PATTERN (1 << 5) /* DPCD >= 1.2 */ -+# define DP_TEST_LINK_AUDIO_DISABLED_VIDEO (1 << 6) /* DPCD >= 1.2 */ -+ -+#define DP_TEST_LINK_RATE 0x219 -+# define DP_LINK_RATE_162 (0x6) -+# define DP_LINK_RATE_27 (0xa) -+ -+#define DP_TEST_LANE_COUNT 0x220 -+ -+#define DP_TEST_PATTERN 0x221 -+# define DP_NO_TEST_PATTERN 0x0 -+# define DP_COLOR_RAMP 0x1 -+# define DP_BLACK_AND_WHITE_VERTICAL_LINES 0x2 -+# define DP_COLOR_SQUARE 0x3 -+ -+#define DP_TEST_H_TOTAL_HI 0x222 -+#define DP_TEST_H_TOTAL_LO 0x223 -+ -+#define DP_TEST_V_TOTAL_HI 0x224 -+#define DP_TEST_V_TOTAL_LO 0x225 -+ -+#define DP_TEST_H_START_HI 0x226 -+#define DP_TEST_H_START_LO 0x227 -+ -+#define DP_TEST_V_START_HI 0x228 -+#define DP_TEST_V_START_LO 0x229 -+ -+#define DP_TEST_HSYNC_HI 0x22A -+# define DP_TEST_HSYNC_POLARITY (1 << 7) -+# define DP_TEST_HSYNC_WIDTH_HI_MASK (127 << 0) -+#define DP_TEST_HSYNC_WIDTH_LO 0x22B -+ -+#define DP_TEST_VSYNC_HI 0x22C -+# define DP_TEST_VSYNC_POLARITY (1 << 7) -+# define DP_TEST_VSYNC_WIDTH_HI_MASK (127 << 0) -+#define DP_TEST_VSYNC_WIDTH_LO 0x22D -+ -+#define DP_TEST_H_WIDTH_HI 0x22E -+#define DP_TEST_H_WIDTH_LO 0x22F -+ -+#define DP_TEST_V_HEIGHT_HI 0x230 -+#define DP_TEST_V_HEIGHT_LO 0x231 -+ -+#define DP_TEST_MISC0 0x232 -+# define DP_TEST_SYNC_CLOCK (1 << 0) -+# define DP_TEST_COLOR_FORMAT_MASK (3 << 1) -+# define DP_TEST_COLOR_FORMAT_SHIFT 1 -+# define DP_COLOR_FORMAT_RGB (0 << 1) -+# define DP_COLOR_FORMAT_YCbCr422 (1 << 1) -+# define DP_COLOR_FORMAT_YCbCr444 (2 << 1) -+# define DP_TEST_DYNAMIC_RANGE_VESA (0 << 3) -+# define DP_TEST_DYNAMIC_RANGE_CEA (1 << 3) -+# define DP_TEST_YCBCR_COEFFICIENTS (1 << 4) -+# define DP_YCBCR_COEFFICIENTS_ITU601 (0 << 4) -+# define DP_YCBCR_COEFFICIENTS_ITU709 (1 << 4) -+# define DP_TEST_BIT_DEPTH_MASK (7 << 5) -+# define DP_TEST_BIT_DEPTH_SHIFT 5 -+# define DP_TEST_BIT_DEPTH_6 (0 << 5) -+# define DP_TEST_BIT_DEPTH_8 (1 << 5) -+# define DP_TEST_BIT_DEPTH_10 (2 << 5) -+# define DP_TEST_BIT_DEPTH_12 (3 << 5) -+# define DP_TEST_BIT_DEPTH_16 (4 << 5) -+ -+#define DP_TEST_MISC1 0x233 -+# define DP_TEST_REFRESH_DENOMINATOR (1 << 0) -+# define DP_TEST_INTERLACED (1 << 1) -+ -+#define DP_TEST_REFRESH_RATE_NUMERATOR 0x234 -+ -+#define DP_TEST_MISC0 0x232 -+ -+#define DP_TEST_CRC_R_CR 0x240 -+#define DP_TEST_CRC_G_Y 0x242 -+#define DP_TEST_CRC_B_CB 0x244 -+ -+#define DP_TEST_SINK_MISC 0x246 -+# define DP_TEST_CRC_SUPPORTED (1 << 5) -+# define DP_TEST_COUNT_MASK 0xf -+ -+#define DP_PHY_TEST_PATTERN 0x248 -+# define DP_PHY_TEST_PATTERN_SEL_MASK 0x7 -+# define DP_PHY_TEST_PATTERN_NONE 0x0 -+# define DP_PHY_TEST_PATTERN_D10_2 0x1 -+# define DP_PHY_TEST_PATTERN_ERROR_COUNT 0x2 -+# define DP_PHY_TEST_PATTERN_PRBS7 0x3 -+# define DP_PHY_TEST_PATTERN_80BIT_CUSTOM 0x4 -+# define DP_PHY_TEST_PATTERN_CP2520 0x5 -+ -+#define DP_TEST_HBR2_SCRAMBLER_RESET 0x24A -+#define DP_TEST_80BIT_CUSTOM_PATTERN_7_0 0x250 -+#define DP_TEST_80BIT_CUSTOM_PATTERN_15_8 0x251 -+#define DP_TEST_80BIT_CUSTOM_PATTERN_23_16 0x252 -+#define DP_TEST_80BIT_CUSTOM_PATTERN_31_24 0x253 -+#define DP_TEST_80BIT_CUSTOM_PATTERN_39_32 0x254 -+#define DP_TEST_80BIT_CUSTOM_PATTERN_47_40 0x255 -+#define DP_TEST_80BIT_CUSTOM_PATTERN_55_48 0x256 -+#define DP_TEST_80BIT_CUSTOM_PATTERN_63_56 0x257 -+#define DP_TEST_80BIT_CUSTOM_PATTERN_71_64 0x258 -+#define DP_TEST_80BIT_CUSTOM_PATTERN_79_72 0x259 -+ -+#define DP_TEST_RESPONSE 0x260 -+# define DP_TEST_ACK (1 << 0) -+# define DP_TEST_NAK (1 << 1) -+# define DP_TEST_EDID_CHECKSUM_WRITE (1 << 2) -+ -+#define DP_TEST_EDID_CHECKSUM 0x261 -+ -+#define DP_TEST_SINK 0x270 -+# define DP_TEST_SINK_START (1 << 0) -+#define DP_TEST_AUDIO_MODE 0x271 -+#define DP_TEST_AUDIO_PATTERN_TYPE 0x272 -+#define DP_TEST_AUDIO_PERIOD_CH1 0x273 -+#define DP_TEST_AUDIO_PERIOD_CH2 0x274 -+#define DP_TEST_AUDIO_PERIOD_CH3 0x275 -+#define DP_TEST_AUDIO_PERIOD_CH4 0x276 -+#define DP_TEST_AUDIO_PERIOD_CH5 0x277 -+#define DP_TEST_AUDIO_PERIOD_CH6 0x278 -+#define DP_TEST_AUDIO_PERIOD_CH7 0x279 -+#define DP_TEST_AUDIO_PERIOD_CH8 0x27A -+ -+#define DP_FEC_STATUS 0x280 /* 1.4 */ -+# define DP_FEC_DECODE_EN_DETECTED (1 << 0) -+# define DP_FEC_DECODE_DIS_DETECTED (1 << 1) -+ -+#define DP_FEC_ERROR_COUNT_LSB 0x0281 /* 1.4 */ -+ -+#define DP_FEC_ERROR_COUNT_MSB 0x0282 /* 1.4 */ -+# define DP_FEC_ERROR_COUNT_MASK 0x7F -+# define DP_FEC_ERR_COUNT_VALID (1 << 7) -+ -+#define DP_PAYLOAD_TABLE_UPDATE_STATUS 0x2c0 /* 1.2 MST */ -+# define DP_PAYLOAD_TABLE_UPDATED (1 << 0) -+# define DP_PAYLOAD_ACT_HANDLED (1 << 1) -+ -+#define DP_VC_PAYLOAD_ID_SLOT_1 0x2c1 /* 1.2 MST */ -+/* up to ID_SLOT_63 at 0x2ff */ -+ -+#define DP_SOURCE_OUI 0x300 -+#define DP_SINK_OUI 0x400 -+#define DP_BRANCH_OUI 0x500 -+#define DP_BRANCH_ID 0x503 -+#define DP_BRANCH_REVISION_START 0x509 -+#define DP_BRANCH_HW_REV 0x509 -+#define DP_BRANCH_SW_REV 0x50A -+ -+#define DP_SET_POWER 0x600 -+# define DP_SET_POWER_D0 0x1 -+# define DP_SET_POWER_D3 0x2 -+# define DP_SET_POWER_MASK 0x3 -+# define DP_SET_POWER_D3_AUX_ON 0x5 -+ -+#define DP_EDP_DPCD_REV 0x700 /* eDP 1.2 */ -+# define DP_EDP_11 0x00 -+# define DP_EDP_12 0x01 -+# define DP_EDP_13 0x02 -+# define DP_EDP_14 0x03 -+# define DP_EDP_14a 0x04 /* eDP 1.4a */ -+# define DP_EDP_14b 0x05 /* eDP 1.4b */ -+ -+#define DP_EDP_GENERAL_CAP_1 0x701 -+# define DP_EDP_TCON_BACKLIGHT_ADJUSTMENT_CAP (1 << 0) -+# define DP_EDP_BACKLIGHT_PIN_ENABLE_CAP (1 << 1) -+# define DP_EDP_BACKLIGHT_AUX_ENABLE_CAP (1 << 2) -+# define DP_EDP_PANEL_SELF_TEST_PIN_ENABLE_CAP (1 << 3) -+# define DP_EDP_PANEL_SELF_TEST_AUX_ENABLE_CAP (1 << 4) -+# define DP_EDP_FRC_ENABLE_CAP (1 << 5) -+# define DP_EDP_COLOR_ENGINE_CAP (1 << 6) -+# define DP_EDP_SET_POWER_CAP (1 << 7) -+ -+#define DP_EDP_BACKLIGHT_ADJUSTMENT_CAP 0x702 -+# define DP_EDP_BACKLIGHT_BRIGHTNESS_PWM_PIN_CAP (1 << 0) -+# define DP_EDP_BACKLIGHT_BRIGHTNESS_AUX_SET_CAP (1 << 1) -+# define DP_EDP_BACKLIGHT_BRIGHTNESS_BYTE_COUNT (1 << 2) -+# define DP_EDP_BACKLIGHT_AUX_PWM_PRODUCT_CAP (1 << 3) -+# define DP_EDP_BACKLIGHT_FREQ_PWM_PIN_PASSTHRU_CAP (1 << 4) -+# define DP_EDP_BACKLIGHT_FREQ_AUX_SET_CAP (1 << 5) -+# define DP_EDP_DYNAMIC_BACKLIGHT_CAP (1 << 6) -+# define DP_EDP_VBLANK_BACKLIGHT_UPDATE_CAP (1 << 7) -+ -+#define DP_EDP_GENERAL_CAP_2 0x703 -+# define DP_EDP_OVERDRIVE_ENGINE_ENABLED (1 << 0) -+ -+#define DP_EDP_GENERAL_CAP_3 0x704 /* eDP 1.4 */ -+# define DP_EDP_X_REGION_CAP_MASK (0xf << 0) -+# define DP_EDP_X_REGION_CAP_SHIFT 0 -+# define DP_EDP_Y_REGION_CAP_MASK (0xf << 4) -+# define DP_EDP_Y_REGION_CAP_SHIFT 4 -+ -+#define DP_EDP_DISPLAY_CONTROL_REGISTER 0x720 -+# define DP_EDP_BACKLIGHT_ENABLE (1 << 0) -+# define DP_EDP_BLACK_VIDEO_ENABLE (1 << 1) -+# define DP_EDP_FRC_ENABLE (1 << 2) -+# define DP_EDP_COLOR_ENGINE_ENABLE (1 << 3) -+# define DP_EDP_VBLANK_BACKLIGHT_UPDATE_ENABLE (1 << 7) -+ -+#define DP_EDP_BACKLIGHT_MODE_SET_REGISTER 0x721 -+# define DP_EDP_BACKLIGHT_CONTROL_MODE_MASK (3 << 0) -+# define DP_EDP_BACKLIGHT_CONTROL_MODE_PWM (0 << 0) -+# define DP_EDP_BACKLIGHT_CONTROL_MODE_PRESET (1 << 0) -+# define DP_EDP_BACKLIGHT_CONTROL_MODE_DPCD (2 << 0) -+# define DP_EDP_BACKLIGHT_CONTROL_MODE_PRODUCT (3 << 0) -+# define DP_EDP_BACKLIGHT_FREQ_PWM_PIN_PASSTHRU_ENABLE (1 << 2) -+# define DP_EDP_BACKLIGHT_FREQ_AUX_SET_ENABLE (1 << 3) -+# define DP_EDP_DYNAMIC_BACKLIGHT_ENABLE (1 << 4) -+# define DP_EDP_REGIONAL_BACKLIGHT_ENABLE (1 << 5) -+# define DP_EDP_UPDATE_REGION_BRIGHTNESS (1 << 6) /* eDP 1.4 */ -+ -+#define DP_EDP_BACKLIGHT_BRIGHTNESS_MSB 0x722 -+#define DP_EDP_BACKLIGHT_BRIGHTNESS_LSB 0x723 -+ -+#define DP_EDP_PWMGEN_BIT_COUNT 0x724 -+#define DP_EDP_PWMGEN_BIT_COUNT_CAP_MIN 0x725 -+#define DP_EDP_PWMGEN_BIT_COUNT_CAP_MAX 0x726 -+# define DP_EDP_PWMGEN_BIT_COUNT_MASK (0x1f << 0) -+ -+#define DP_EDP_BACKLIGHT_CONTROL_STATUS 0x727 -+ -+#define DP_EDP_BACKLIGHT_FREQ_SET 0x728 -+# define DP_EDP_BACKLIGHT_FREQ_BASE_KHZ 27000 -+ -+#define DP_EDP_BACKLIGHT_FREQ_CAP_MIN_MSB 0x72a -+#define DP_EDP_BACKLIGHT_FREQ_CAP_MIN_MID 0x72b -+#define DP_EDP_BACKLIGHT_FREQ_CAP_MIN_LSB 0x72c -+ -+#define DP_EDP_BACKLIGHT_FREQ_CAP_MAX_MSB 0x72d -+#define DP_EDP_BACKLIGHT_FREQ_CAP_MAX_MID 0x72e -+#define DP_EDP_BACKLIGHT_FREQ_CAP_MAX_LSB 0x72f -+ -+#define DP_EDP_DBC_MINIMUM_BRIGHTNESS_SET 0x732 -+#define DP_EDP_DBC_MAXIMUM_BRIGHTNESS_SET 0x733 -+ -+#define DP_EDP_REGIONAL_BACKLIGHT_BASE 0x740 /* eDP 1.4 */ -+#define DP_EDP_REGIONAL_BACKLIGHT_0 0x741 /* eDP 1.4 */ -+ -+#define DP_SIDEBAND_MSG_DOWN_REQ_BASE 0x1000 /* 1.2 MST */ -+#define DP_SIDEBAND_MSG_UP_REP_BASE 0x1200 /* 1.2 MST */ -+#define DP_SIDEBAND_MSG_DOWN_REP_BASE 0x1400 /* 1.2 MST */ -+#define DP_SIDEBAND_MSG_UP_REQ_BASE 0x1600 /* 1.2 MST */ -+ -+#define DP_SINK_COUNT_ESI 0x2002 /* 1.2 */ -+/* 0-5 sink count */ -+# define DP_SINK_COUNT_CP_READY (1 << 6) -+ -+#define DP_DEVICE_SERVICE_IRQ_VECTOR_ESI0 0x2003 /* 1.2 */ -+ -+#define DP_DEVICE_SERVICE_IRQ_VECTOR_ESI1 0x2004 /* 1.2 */ -+# define DP_RX_GTC_MSTR_REQ_STATUS_CHANGE (1 << 0) -+# define DP_LOCK_ACQUISITION_REQUEST (1 << 1) -+# define DP_CEC_IRQ (1 << 2) -+ -+#define DP_LINK_SERVICE_IRQ_VECTOR_ESI0 0x2005 /* 1.2 */ -+ -+#define DP_PSR_ERROR_STATUS 0x2006 /* XXX 1.2? */ -+# define DP_PSR_LINK_CRC_ERROR (1 << 0) -+# define DP_PSR_RFB_STORAGE_ERROR (1 << 1) -+# define DP_PSR_VSC_SDP_UNCORRECTABLE_ERROR (1 << 2) /* eDP 1.4 */ -+ -+#define DP_PSR_ESI 0x2007 /* XXX 1.2? */ -+# define DP_PSR_CAPS_CHANGE (1 << 0) -+ -+#define DP_PSR_STATUS 0x2008 /* XXX 1.2? */ -+# define DP_PSR_SINK_INACTIVE 0 -+# define DP_PSR_SINK_ACTIVE_SRC_SYNCED 1 -+# define DP_PSR_SINK_ACTIVE_RFB 2 -+# define DP_PSR_SINK_ACTIVE_SINK_SYNCED 3 -+# define DP_PSR_SINK_ACTIVE_RESYNC 4 -+# define DP_PSR_SINK_INTERNAL_ERROR 7 -+# define DP_PSR_SINK_STATE_MASK 0x07 -+ -+#define DP_SYNCHRONIZATION_LATENCY_IN_SINK 0x2009 /* edp 1.4 */ -+# define DP_MAX_RESYNC_FRAME_COUNT_MASK (0xf << 0) -+# define DP_MAX_RESYNC_FRAME_COUNT_SHIFT 0 -+# define DP_LAST_ACTUAL_SYNCHRONIZATION_LATENCY_MASK (0xf << 4) -+# define DP_LAST_ACTUAL_SYNCHRONIZATION_LATENCY_SHIFT 4 -+ -+#define DP_LAST_RECEIVED_PSR_SDP 0x200a /* eDP 1.2 */ -+# define DP_PSR_STATE_BIT (1 << 0) /* eDP 1.2 */ -+# define DP_UPDATE_RFB_BIT (1 << 1) /* eDP 1.2 */ -+# define DP_CRC_VALID_BIT (1 << 2) /* eDP 1.2 */ -+# define DP_SU_VALID (1 << 3) /* eDP 1.4 */ -+# define DP_FIRST_SCAN_LINE_SU_REGION (1 << 4) /* eDP 1.4 */ -+# define DP_LAST_SCAN_LINE_SU_REGION (1 << 5) /* eDP 1.4 */ -+# define DP_Y_COORDINATE_VALID (1 << 6) /* eDP 1.4a */ -+ -+#define DP_RECEIVER_ALPM_STATUS 0x200b /* eDP 1.4 */ -+# define DP_ALPM_LOCK_TIMEOUT_ERROR (1 << 0) -+ -+#define DP_LANE0_1_STATUS_ESI 0x200c /* status same as 0x202 */ -+#define DP_LANE2_3_STATUS_ESI 0x200d /* status same as 0x203 */ -+#define DP_LANE_ALIGN_STATUS_UPDATED_ESI 0x200e /* status same as 0x204 */ -+#define DP_SINK_STATUS_ESI 0x200f /* status same as 0x205 */ -+ -+#define DP_DP13_DPCD_REV 0x2200 -+#define DP_DP13_MAX_LINK_RATE 0x2201 -+ -+#define DP_DPRX_FEATURE_ENUMERATION_LIST 0x2210 /* DP 1.3 */ -+# define DP_GTC_CAP (1 << 0) /* DP 1.3 */ -+# define DP_SST_SPLIT_SDP_CAP (1 << 1) /* DP 1.4 */ -+# define DP_AV_SYNC_CAP (1 << 2) /* DP 1.3 */ -+# define DP_VSC_SDP_EXT_FOR_COLORIMETRY_SUPPORTED (1 << 3) /* DP 1.3 */ -+# define DP_VSC_EXT_VESA_SDP_SUPPORTED (1 << 4) /* DP 1.4 */ -+# define DP_VSC_EXT_VESA_SDP_CHAINING_SUPPORTED (1 << 5) /* DP 1.4 */ -+# define DP_VSC_EXT_CEA_SDP_SUPPORTED (1 << 6) /* DP 1.4 */ -+# define DP_VSC_EXT_CEA_SDP_CHAINING_SUPPORTED (1 << 7) /* DP 1.4 */ -+ -+/* HDMI CEC tunneling over AUX DP 1.3 section 5.3.3.3.1 DPCD 1.4+ */ -+#define DP_CEC_TUNNELING_CAPABILITY 0x3000 -+# define DP_CEC_TUNNELING_CAPABLE (1 << 0) -+# define DP_CEC_SNOOPING_CAPABLE (1 << 1) -+# define DP_CEC_MULTIPLE_LA_CAPABLE (1 << 2) -+ -+#define DP_CEC_TUNNELING_CONTROL 0x3001 -+# define DP_CEC_TUNNELING_ENABLE (1 << 0) -+# define DP_CEC_SNOOPING_ENABLE (1 << 1) -+ -+#define DP_CEC_RX_MESSAGE_INFO 0x3002 -+# define DP_CEC_RX_MESSAGE_LEN_MASK (0xf << 0) -+# define DP_CEC_RX_MESSAGE_LEN_SHIFT 0 -+# define DP_CEC_RX_MESSAGE_HPD_STATE (1 << 4) -+# define DP_CEC_RX_MESSAGE_HPD_LOST (1 << 5) -+# define DP_CEC_RX_MESSAGE_ACKED (1 << 6) -+# define DP_CEC_RX_MESSAGE_ENDED (1 << 7) -+ -+#define DP_CEC_TX_MESSAGE_INFO 0x3003 -+# define DP_CEC_TX_MESSAGE_LEN_MASK (0xf << 0) -+# define DP_CEC_TX_MESSAGE_LEN_SHIFT 0 -+# define DP_CEC_TX_RETRY_COUNT_MASK (0x7 << 4) -+# define DP_CEC_TX_RETRY_COUNT_SHIFT 4 -+# define DP_CEC_TX_MESSAGE_SEND (1 << 7) -+ -+#define DP_CEC_TUNNELING_IRQ_FLAGS 0x3004 -+# define DP_CEC_RX_MESSAGE_INFO_VALID (1 << 0) -+# define DP_CEC_RX_MESSAGE_OVERFLOW (1 << 1) -+# define DP_CEC_TX_MESSAGE_SENT (1 << 4) -+# define DP_CEC_TX_LINE_ERROR (1 << 5) -+# define DP_CEC_TX_ADDRESS_NACK_ERROR (1 << 6) -+# define DP_CEC_TX_DATA_NACK_ERROR (1 << 7) -+ -+#define DP_CEC_LOGICAL_ADDRESS_MASK 0x300E /* 0x300F word */ -+# define DP_CEC_LOGICAL_ADDRESS_0 (1 << 0) -+# define DP_CEC_LOGICAL_ADDRESS_1 (1 << 1) -+# define DP_CEC_LOGICAL_ADDRESS_2 (1 << 2) -+# define DP_CEC_LOGICAL_ADDRESS_3 (1 << 3) -+# define DP_CEC_LOGICAL_ADDRESS_4 (1 << 4) -+# define DP_CEC_LOGICAL_ADDRESS_5 (1 << 5) -+# define DP_CEC_LOGICAL_ADDRESS_6 (1 << 6) -+# define DP_CEC_LOGICAL_ADDRESS_7 (1 << 7) -+#define DP_CEC_LOGICAL_ADDRESS_MASK_2 0x300F /* 0x300E word */ -+# define DP_CEC_LOGICAL_ADDRESS_8 (1 << 0) -+# define DP_CEC_LOGICAL_ADDRESS_9 (1 << 1) -+# define DP_CEC_LOGICAL_ADDRESS_10 (1 << 2) -+# define DP_CEC_LOGICAL_ADDRESS_11 (1 << 3) -+# define DP_CEC_LOGICAL_ADDRESS_12 (1 << 4) -+# define DP_CEC_LOGICAL_ADDRESS_13 (1 << 5) -+# define DP_CEC_LOGICAL_ADDRESS_14 (1 << 6) -+# define DP_CEC_LOGICAL_ADDRESS_15 (1 << 7) -+ -+#define DP_CEC_RX_MESSAGE_BUFFER 0x3010 -+#define DP_CEC_TX_MESSAGE_BUFFER 0x3020 -+#define DP_CEC_MESSAGE_BUFFER_LENGTH 0x10 -+ -+#define DP_PROTOCOL_CONVERTER_CONTROL_0 0x3050 /* DP 1.3 */ -+# define DP_HDMI_DVI_OUTPUT_CONFIG (1 << 0) /* DP 1.3 */ -+#define DP_PROTOCOL_CONVERTER_CONTROL_1 0x3051 /* DP 1.3 */ -+# define DP_CONVERSION_TO_YCBCR420_ENABLE (1 << 0) /* DP 1.3 */ -+# define DP_HDMI_EDID_PROCESSING_DISABLE (1 << 1) /* DP 1.4 */ -+# define DP_HDMI_AUTONOMOUS_SCRAMBLING_DISABLE (1 << 2) /* DP 1.4 */ -+# define DP_HDMI_FORCE_SCRAMBLING (1 << 3) /* DP 1.4 */ -+#define DP_PROTOCOL_CONVERTER_CONTROL_2 0x3052 /* DP 1.3 */ -+# define DP_CONVERSION_TO_YCBCR422_ENABLE (1 << 0) /* DP 1.3 */ -+ -+#define DP_AUX_HDCP_BKSV 0x68000 -+#define DP_AUX_HDCP_RI_PRIME 0x68005 -+#define DP_AUX_HDCP_AKSV 0x68007 -+#define DP_AUX_HDCP_AN 0x6800C -+#define DP_AUX_HDCP_V_PRIME(h) (0x68014 + h * 4) -+#define DP_AUX_HDCP_BCAPS 0x68028 -+# define DP_BCAPS_REPEATER_PRESENT BIT(1) -+# define DP_BCAPS_HDCP_CAPABLE BIT(0) -+#define DP_AUX_HDCP_BSTATUS 0x68029 -+# define DP_BSTATUS_REAUTH_REQ BIT(3) -+# define DP_BSTATUS_LINK_FAILURE BIT(2) -+# define DP_BSTATUS_R0_PRIME_READY BIT(1) -+# define DP_BSTATUS_READY BIT(0) -+#define DP_AUX_HDCP_BINFO 0x6802A -+#define DP_AUX_HDCP_KSV_FIFO 0x6802C -+#define DP_AUX_HDCP_AINFO 0x6803B -+ -+/* DP HDCP2.2 parameter offsets in DPCD address space */ -+#define DP_HDCP_2_2_REG_RTX_OFFSET 0x69000 -+#define DP_HDCP_2_2_REG_TXCAPS_OFFSET 0x69008 -+#define DP_HDCP_2_2_REG_CERT_RX_OFFSET 0x6900B -+#define DP_HDCP_2_2_REG_RRX_OFFSET 0x69215 -+#define DP_HDCP_2_2_REG_RX_CAPS_OFFSET 0x6921D -+#define DP_HDCP_2_2_REG_EKPUB_KM_OFFSET 0x69220 -+#define DP_HDCP_2_2_REG_EKH_KM_WR_OFFSET 0x692A0 -+#define DP_HDCP_2_2_REG_M_OFFSET 0x692B0 -+#define DP_HDCP_2_2_REG_HPRIME_OFFSET 0x692C0 -+#define DP_HDCP_2_2_REG_EKH_KM_RD_OFFSET 0x692E0 -+#define DP_HDCP_2_2_REG_RN_OFFSET 0x692F0 -+#define DP_HDCP_2_2_REG_LPRIME_OFFSET 0x692F8 -+#define DP_HDCP_2_2_REG_EDKEY_KS_OFFSET 0x69318 -+#define DP_HDCP_2_2_REG_RIV_OFFSET 0x69328 -+#define DP_HDCP_2_2_REG_RXINFO_OFFSET 0x69330 -+#define DP_HDCP_2_2_REG_SEQ_NUM_V_OFFSET 0x69332 -+#define DP_HDCP_2_2_REG_VPRIME_OFFSET 0x69335 -+#define DP_HDCP_2_2_REG_RECV_ID_LIST_OFFSET 0x69345 -+#define DP_HDCP_2_2_REG_V_OFFSET 0x693E0 -+#define DP_HDCP_2_2_REG_SEQ_NUM_M_OFFSET 0x693F0 -+#define DP_HDCP_2_2_REG_K_OFFSET 0x693F3 -+#define DP_HDCP_2_2_REG_STREAM_ID_TYPE_OFFSET 0x693F5 -+#define DP_HDCP_2_2_REG_MPRIME_OFFSET 0x69473 -+#define DP_HDCP_2_2_REG_RXSTATUS_OFFSET 0x69493 -+#define DP_HDCP_2_2_REG_STREAM_TYPE_OFFSET 0x69494 -+#define DP_HDCP_2_2_REG_DBG_OFFSET 0x69518 -+ -+/* Link Training (LT)-tunable PHY Repeaters */ -+#define DP_LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV 0xf0000 /* 1.3 */ -+#define DP_MAX_LINK_RATE_PHY_REPEATER 0xf0001 /* 1.4a */ -+#define DP_PHY_REPEATER_CNT 0xf0002 /* 1.3 */ -+#define DP_PHY_REPEATER_MODE 0xf0003 /* 1.3 */ -+#define DP_MAX_LANE_COUNT_PHY_REPEATER 0xf0004 /* 1.4a */ -+#define DP_Repeater_FEC_CAPABILITY 0xf0004 /* 1.4 */ -+#define DP_PHY_REPEATER_EXTENDED_WAIT_TIMEOUT 0xf0005 /* 1.4a */ -+#define DP_TRAINING_PATTERN_SET_PHY_REPEATER1 0xf0010 /* 1.3 */ -+#define DP_TRAINING_LANE0_SET_PHY_REPEATER1 0xf0011 /* 1.3 */ -+#define DP_TRAINING_LANE1_SET_PHY_REPEATER1 0xf0012 /* 1.3 */ -+#define DP_TRAINING_LANE2_SET_PHY_REPEATER1 0xf0013 /* 1.3 */ -+#define DP_TRAINING_LANE3_SET_PHY_REPEATER1 0xf0014 /* 1.3 */ -+#define DP_TRAINING_AUX_RD_INTERVAL_PHY_REPEATER1 0xf0020 /* 1.4a */ -+#define DP_TRANSMITTER_CAPABILITY_PHY_REPEATER1 0xf0021 /* 1.4a */ -+#define DP_LANE0_1_STATUS_PHY_REPEATER1 0xf0030 /* 1.3 */ -+#define DP_LANE2_3_STATUS_PHY_REPEATER1 0xf0031 /* 1.3 */ -+#define DP_LANE_ALIGN_STATUS_UPDATED_PHY_REPEATER1 0xf0032 /* 1.3 */ -+#define DP_ADJUST_REQUEST_LANE0_1_PHY_REPEATER1 0xf0033 /* 1.3 */ -+#define DP_ADJUST_REQUEST_LANE2_3_PHY_REPEATER1 0xf0034 /* 1.3 */ -+#define DP_SYMBOL_ERROR_COUNT_LANE0_PHY_REPEATER1 0xf0035 /* 1.3 */ -+#define DP_SYMBOL_ERROR_COUNT_LANE1_PHY_REPEATER1 0xf0037 /* 1.3 */ -+#define DP_SYMBOL_ERROR_COUNT_LANE2_PHY_REPEATER1 0xf0039 /* 1.3 */ -+#define DP_SYMBOL_ERROR_COUNT_LANE3_PHY_REPEATER1 0xf003b /* 1.3 */ -+#define DP_FEC_STATUS_PHY_REPEATER1 0xf0290 /* 1.4 */ -+#define DP_FEC_ERROR_COUNT_PHY_REPEATER1 0xf0291 /* 1.4 */ -+#define DP_FEC_CAPABILITY_PHY_REPEATER1 0xf0294 /* 1.4a */ -+ -+/* Repeater modes */ -+#define DP_PHY_REPEATER_MODE_TRANSPARENT 0x55 /* 1.3 */ -+#define DP_PHY_REPEATER_MODE_NON_TRANSPARENT 0xaa /* 1.3 */ -+ -+/* DP HDCP message start offsets in DPCD address space */ -+#define DP_HDCP_2_2_AKE_INIT_OFFSET DP_HDCP_2_2_REG_RTX_OFFSET -+#define DP_HDCP_2_2_AKE_SEND_CERT_OFFSET DP_HDCP_2_2_REG_CERT_RX_OFFSET -+#define DP_HDCP_2_2_AKE_NO_STORED_KM_OFFSET DP_HDCP_2_2_REG_EKPUB_KM_OFFSET -+#define DP_HDCP_2_2_AKE_STORED_KM_OFFSET DP_HDCP_2_2_REG_EKH_KM_WR_OFFSET -+#define DP_HDCP_2_2_AKE_SEND_HPRIME_OFFSET DP_HDCP_2_2_REG_HPRIME_OFFSET -+#define DP_HDCP_2_2_AKE_SEND_PAIRING_INFO_OFFSET \ -+ DP_HDCP_2_2_REG_EKH_KM_RD_OFFSET -+#define DP_HDCP_2_2_LC_INIT_OFFSET DP_HDCP_2_2_REG_RN_OFFSET -+#define DP_HDCP_2_2_LC_SEND_LPRIME_OFFSET DP_HDCP_2_2_REG_LPRIME_OFFSET -+#define DP_HDCP_2_2_SKE_SEND_EKS_OFFSET DP_HDCP_2_2_REG_EDKEY_KS_OFFSET -+#define DP_HDCP_2_2_REP_SEND_RECVID_LIST_OFFSET DP_HDCP_2_2_REG_RXINFO_OFFSET -+#define DP_HDCP_2_2_REP_SEND_ACK_OFFSET DP_HDCP_2_2_REG_V_OFFSET -+#define DP_HDCP_2_2_REP_STREAM_MANAGE_OFFSET DP_HDCP_2_2_REG_SEQ_NUM_M_OFFSET -+#define DP_HDCP_2_2_REP_STREAM_READY_OFFSET DP_HDCP_2_2_REG_MPRIME_OFFSET -+ -+#define HDCP_2_2_DP_RXSTATUS_LEN 1 -+#define HDCP_2_2_DP_RXSTATUS_READY(x) ((x) & BIT(0)) -+#define HDCP_2_2_DP_RXSTATUS_H_PRIME(x) ((x) & BIT(1)) -+#define HDCP_2_2_DP_RXSTATUS_PAIRING(x) ((x) & BIT(2)) -+#define HDCP_2_2_DP_RXSTATUS_REAUTH_REQ(x) ((x) & BIT(3)) -+#define HDCP_2_2_DP_RXSTATUS_LINK_FAILED(x) ((x) & BIT(4)) -+ -+/* DP 1.2 Sideband message defines */ -+/* peer device type - DP 1.2a Table 2-92 */ -+#define DP_PEER_DEVICE_NONE 0x0 -+#define DP_PEER_DEVICE_SOURCE_OR_SST 0x1 -+#define DP_PEER_DEVICE_MST_BRANCHING 0x2 -+#define DP_PEER_DEVICE_SST_SINK 0x3 -+#define DP_PEER_DEVICE_DP_LEGACY_CONV 0x4 -+ -+/* DP 1.2 MST sideband request names DP 1.2a Table 2-80 */ -+#define DP_GET_MSG_TRANSACTION_VERSION 0x00 /* DP 1.3 */ -+#define DP_LINK_ADDRESS 0x01 -+#define DP_CONNECTION_STATUS_NOTIFY 0x02 -+#define DP_ENUM_PATH_RESOURCES 0x10 -+#define DP_ALLOCATE_PAYLOAD 0x11 -+#define DP_QUERY_PAYLOAD 0x12 -+#define DP_RESOURCE_STATUS_NOTIFY 0x13 -+#define DP_CLEAR_PAYLOAD_ID_TABLE 0x14 -+#define DP_REMOTE_DPCD_READ 0x20 -+#define DP_REMOTE_DPCD_WRITE 0x21 -+#define DP_REMOTE_I2C_READ 0x22 -+#define DP_REMOTE_I2C_WRITE 0x23 -+#define DP_POWER_UP_PHY 0x24 -+#define DP_POWER_DOWN_PHY 0x25 -+#define DP_SINK_EVENT_NOTIFY 0x30 -+#define DP_QUERY_STREAM_ENC_STATUS 0x38 -+#define DP_QUERY_STREAM_ENC_STATUS_STATE_NO_EXIST 0 -+#define DP_QUERY_STREAM_ENC_STATUS_STATE_INACTIVE 1 -+#define DP_QUERY_STREAM_ENC_STATUS_STATE_ACTIVE 2 -+ -+/* DP 1.2 MST sideband reply types */ -+#define DP_SIDEBAND_REPLY_ACK 0x00 -+#define DP_SIDEBAND_REPLY_NAK 0x01 -+ -+/* DP 1.2 MST sideband nak reasons - table 2.84 */ -+#define DP_NAK_WRITE_FAILURE 0x01 -+#define DP_NAK_INVALID_READ 0x02 -+#define DP_NAK_CRC_FAILURE 0x03 -+#define DP_NAK_BAD_PARAM 0x04 -+#define DP_NAK_DEFER 0x05 -+#define DP_NAK_LINK_FAILURE 0x06 -+#define DP_NAK_NO_RESOURCES 0x07 -+#define DP_NAK_DPCD_FAIL 0x08 -+#define DP_NAK_I2C_NAK 0x09 -+#define DP_NAK_ALLOCATE_FAIL 0x0a -+ -+#define MODE_I2C_START 1 -+#define MODE_I2C_WRITE 2 -+#define MODE_I2C_READ 4 -+#define MODE_I2C_STOP 8 -+ -+/* DP 1.2 MST PORTs - Section 2.5.1 v1.2a spec */ -+#define DP_MST_PHYSICAL_PORT_0 0 -+#define DP_MST_LOGICAL_PORT_0 8 -+ -+#define DP_LINK_CONSTANT_N_VALUE 0x8000 -+#define DP_LINK_STATUS_SIZE 6 -+bool drm_dp_channel_eq_ok(const u8 link_status[DP_LINK_STATUS_SIZE], -+ int lane_count); -+bool drm_dp_clock_recovery_ok(const u8 link_status[DP_LINK_STATUS_SIZE], -+ int lane_count); -+u8 drm_dp_get_adjust_request_voltage(const u8 link_status[DP_LINK_STATUS_SIZE], -+ int lane); -+u8 drm_dp_get_adjust_request_pre_emphasis(const u8 link_status[DP_LINK_STATUS_SIZE], -+ int lane); -+u8 drm_dp_get_adjust_request_post_cursor(const u8 link_status[DP_LINK_STATUS_SIZE], -+ unsigned int lane); -+ -+#define DP_BRANCH_OUI_HEADER_SIZE 0xc -+#define DP_RECEIVER_CAP_SIZE 0xf -+#define DP_DSC_RECEIVER_CAP_SIZE 0xf -+#define EDP_PSR_RECEIVER_CAP_SIZE 2 -+#define EDP_DISPLAY_CTL_CAP_SIZE 3 -+ -+void drm_dp_link_train_clock_recovery_delay(const u8 dpcd[DP_RECEIVER_CAP_SIZE]); -+void drm_dp_link_train_channel_eq_delay(const u8 dpcd[DP_RECEIVER_CAP_SIZE]); -+ -+u8 drm_dp_link_rate_to_bw_code(int link_rate); -+int drm_dp_bw_code_to_link_rate(u8 link_bw); -+ -+#define DP_SDP_AUDIO_TIMESTAMP 0x01 -+#define DP_SDP_AUDIO_STREAM 0x02 -+#define DP_SDP_EXTENSION 0x04 /* DP 1.1 */ -+#define DP_SDP_AUDIO_COPYMANAGEMENT 0x05 /* DP 1.2 */ -+#define DP_SDP_ISRC 0x06 /* DP 1.2 */ -+#define DP_SDP_VSC 0x07 /* DP 1.2 */ -+#define DP_SDP_CAMERA_GENERIC(i) (0x08 + (i)) /* 0-7, DP 1.3 */ -+#define DP_SDP_PPS 0x10 /* DP 1.4 */ -+#define DP_SDP_VSC_EXT_VESA 0x20 /* DP 1.4 */ -+#define DP_SDP_VSC_EXT_CEA 0x21 /* DP 1.4 */ -+/* 0x80+ CEA-861 infoframe types */ -+ -+/** -+ * struct dp_sdp_header - DP secondary data packet header -+ * @HB0: Secondary Data Packet ID -+ * @HB1: Secondary Data Packet Type -+ * @HB2: Secondary Data Packet Specific header, Byte 0 -+ * @HB3: Secondary Data packet Specific header, Byte 1 -+ */ -+struct dp_sdp_header { -+ u8 HB0; -+ u8 HB1; -+ u8 HB2; -+ u8 HB3; -+} __packed; -+ -+#define EDP_SDP_HEADER_REVISION_MASK 0x1F -+#define EDP_SDP_HEADER_VALID_PAYLOAD_BYTES 0x1F -+#define DP_SDP_PPS_HEADER_PAYLOAD_BYTES_MINUS_1 0x7F -+ -+/** -+ * struct dp_sdp - DP secondary data packet -+ * @sdp_header: DP secondary data packet header -+ * @db: DP secondaray data packet data blocks -+ * VSC SDP Payload for PSR -+ * db[0]: Stereo Interface -+ * db[1]: 0 - PSR State; 1 - Update RFB; 2 - CRC Valid -+ * db[2]: CRC value bits 7:0 of the R or Cr component -+ * db[3]: CRC value bits 15:8 of the R or Cr component -+ * db[4]: CRC value bits 7:0 of the G or Y component -+ * db[5]: CRC value bits 15:8 of the G or Y component -+ * db[6]: CRC value bits 7:0 of the B or Cb component -+ * db[7]: CRC value bits 15:8 of the B or Cb component -+ * db[8] - db[31]: Reserved -+ * VSC SDP Payload for Pixel Encoding/Colorimetry Format -+ * db[0] - db[15]: Reserved -+ * db[16]: Pixel Encoding and Colorimetry Formats -+ * db[17]: Dynamic Range and Component Bit Depth -+ * db[18]: Content Type -+ * db[19] - db[31]: Reserved -+ */ -+struct dp_sdp { -+ struct dp_sdp_header sdp_header; -+ u8 db[32]; -+} __packed; -+ -+#define EDP_VSC_PSR_STATE_ACTIVE (1<<0) -+#define EDP_VSC_PSR_UPDATE_RFB (1<<1) -+#define EDP_VSC_PSR_CRC_VALUES_VALID (1<<2) -+ -+/** -+ * enum dp_pixelformat - drm DP Pixel encoding formats -+ * -+ * This enum is used to indicate DP VSC SDP Pixel encoding formats. -+ * It is based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through -+ * DB18] -+ * -+ * @DP_PIXELFORMAT_RGB: RGB pixel encoding format -+ * @DP_PIXELFORMAT_YUV444: YCbCr 4:4:4 pixel encoding format -+ * @DP_PIXELFORMAT_YUV422: YCbCr 4:2:2 pixel encoding format -+ * @DP_PIXELFORMAT_YUV420: YCbCr 4:2:0 pixel encoding format -+ * @DP_PIXELFORMAT_Y_ONLY: Y Only pixel encoding format -+ * @DP_PIXELFORMAT_RAW: RAW pixel encoding format -+ * @DP_PIXELFORMAT_RESERVED: Reserved pixel encoding format -+ */ -+enum dp_pixelformat { -+ DP_PIXELFORMAT_RGB = 0, -+ DP_PIXELFORMAT_YUV444 = 0x1, -+ DP_PIXELFORMAT_YUV422 = 0x2, -+ DP_PIXELFORMAT_YUV420 = 0x3, -+ DP_PIXELFORMAT_Y_ONLY = 0x4, -+ DP_PIXELFORMAT_RAW = 0x5, -+ DP_PIXELFORMAT_RESERVED = 0x6, -+}; -+ -+/** -+ * enum dp_colorimetry - drm DP Colorimetry formats -+ * -+ * This enum is used to indicate DP VSC SDP Colorimetry formats. -+ * It is based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through -+ * DB18] and a name of enum member follows DRM_MODE_COLORIMETRY definition. -+ * -+ * @DP_COLORIMETRY_DEFAULT: sRGB (IEC 61966-2-1) or -+ * ITU-R BT.601 colorimetry format -+ * @DP_COLORIMETRY_RGB_WIDE_FIXED: RGB wide gamut fixed point colorimetry format -+ * @DP_COLORIMETRY_BT709_YCC: ITU-R BT.709 colorimetry format -+ * @DP_COLORIMETRY_RGB_WIDE_FLOAT: RGB wide gamut floating point -+ * (scRGB (IEC 61966-2-2)) colorimetry format -+ * @DP_COLORIMETRY_XVYCC_601: xvYCC601 colorimetry format -+ * @DP_COLORIMETRY_OPRGB: OpRGB colorimetry format -+ * @DP_COLORIMETRY_XVYCC_709: xvYCC709 colorimetry format -+ * @DP_COLORIMETRY_DCI_P3_RGB: DCI-P3 (SMPTE RP 431-2) colorimetry format -+ * @DP_COLORIMETRY_SYCC_601: sYCC601 colorimetry format -+ * @DP_COLORIMETRY_RGB_CUSTOM: RGB Custom Color Profile colorimetry format -+ * @DP_COLORIMETRY_OPYCC_601: opYCC601 colorimetry format -+ * @DP_COLORIMETRY_BT2020_RGB: ITU-R BT.2020 R' G' B' colorimetry format -+ * @DP_COLORIMETRY_BT2020_CYCC: ITU-R BT.2020 Y'c C'bc C'rc colorimetry format -+ * @DP_COLORIMETRY_BT2020_YCC: ITU-R BT.2020 Y' C'b C'r colorimetry format -+ */ -+enum dp_colorimetry { -+ DP_COLORIMETRY_DEFAULT = 0, -+ DP_COLORIMETRY_RGB_WIDE_FIXED = 0x1, -+ DP_COLORIMETRY_BT709_YCC = 0x1, -+ DP_COLORIMETRY_RGB_WIDE_FLOAT = 0x2, -+ DP_COLORIMETRY_XVYCC_601 = 0x2, -+ DP_COLORIMETRY_OPRGB = 0x3, -+ DP_COLORIMETRY_XVYCC_709 = 0x3, -+ DP_COLORIMETRY_DCI_P3_RGB = 0x4, -+ DP_COLORIMETRY_SYCC_601 = 0x4, -+ DP_COLORIMETRY_RGB_CUSTOM = 0x5, -+ DP_COLORIMETRY_OPYCC_601 = 0x5, -+ DP_COLORIMETRY_BT2020_RGB = 0x6, -+ DP_COLORIMETRY_BT2020_CYCC = 0x6, -+ DP_COLORIMETRY_BT2020_YCC = 0x7, -+}; -+ -+/** -+ * enum dp_dynamic_range - drm DP Dynamic Range -+ * -+ * This enum is used to indicate DP VSC SDP Dynamic Range. -+ * It is based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through -+ * DB18] -+ * -+ * @DP_DYNAMIC_RANGE_VESA: VESA range -+ * @DP_DYNAMIC_RANGE_CTA: CTA range -+ */ -+enum dp_dynamic_range { -+ DP_DYNAMIC_RANGE_VESA = 0, -+ DP_DYNAMIC_RANGE_CTA = 1, -+}; -+ -+/** -+ * enum dp_content_type - drm DP Content Type -+ * -+ * This enum is used to indicate DP VSC SDP Content Types. -+ * It is based on DP 1.4 spec [Table 2-117: VSC SDP Payload for DB16 through -+ * DB18] -+ * CTA-861-G defines content types and expected processing by a sink device -+ * -+ * @DP_CONTENT_TYPE_NOT_DEFINED: Not defined type -+ * @DP_CONTENT_TYPE_GRAPHICS: Graphics type -+ * @DP_CONTENT_TYPE_PHOTO: Photo type -+ * @DP_CONTENT_TYPE_VIDEO: Video type -+ * @DP_CONTENT_TYPE_GAME: Game type -+ */ -+enum dp_content_type { -+ DP_CONTENT_TYPE_NOT_DEFINED = 0x00, -+ DP_CONTENT_TYPE_GRAPHICS = 0x01, -+ DP_CONTENT_TYPE_PHOTO = 0x02, -+ DP_CONTENT_TYPE_VIDEO = 0x03, -+ DP_CONTENT_TYPE_GAME = 0x04, -+}; -+ -+/** -+ * struct drm_dp_vsc_sdp - drm DP VSC SDP -+ * -+ * This structure represents a DP VSC SDP of drm -+ * It is based on DP 1.4 spec [Table 2-116: VSC SDP Header Bytes] and -+ * [Table 2-117: VSC SDP Payload for DB16 through DB18] -+ * -+ * @sdp_type: secondary-data packet type -+ * @revision: revision number -+ * @length: number of valid data bytes -+ * @pixelformat: pixel encoding format -+ * @colorimetry: colorimetry format -+ * @bpc: bit per color -+ * @dynamic_range: dynamic range information -+ * @content_type: CTA-861-G defines content types and expected processing by a sink device -+ */ -+struct drm_dp_vsc_sdp { -+ unsigned char sdp_type; -+ unsigned char revision; -+ unsigned char length; -+ enum dp_pixelformat pixelformat; -+ enum dp_colorimetry colorimetry; -+ int bpc; -+ enum dp_dynamic_range dynamic_range; -+ enum dp_content_type content_type; -+}; -+ -+void drm_dp_vsc_sdp_log(const char *level, struct device *dev, -+ const struct drm_dp_vsc_sdp *vsc); -+ -+int drm_dp_psr_setup_time(const u8 psr_cap[EDP_PSR_RECEIVER_CAP_SIZE]); -+ -+static inline int -+drm_dp_max_link_rate(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) -+{ -+ return drm_dp_bw_code_to_link_rate(dpcd[DP_MAX_LINK_RATE]); -+} -+ -+static inline u8 -+drm_dp_max_lane_count(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) -+{ -+ return dpcd[DP_MAX_LANE_COUNT] & DP_MAX_LANE_COUNT_MASK; -+} -+ -+static inline bool -+drm_dp_enhanced_frame_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) -+{ -+ return dpcd[DP_DPCD_REV] >= 0x11 && -+ (dpcd[DP_MAX_LANE_COUNT] & DP_ENHANCED_FRAME_CAP); -+} -+ -+static inline bool -+drm_dp_fast_training_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) -+{ -+ return dpcd[DP_DPCD_REV] >= 0x11 && -+ (dpcd[DP_MAX_DOWNSPREAD] & DP_NO_AUX_HANDSHAKE_LINK_TRAINING); -+} -+ -+static inline bool -+drm_dp_tps3_supported(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) -+{ -+ return dpcd[DP_DPCD_REV] >= 0x12 && -+ dpcd[DP_MAX_LANE_COUNT] & DP_TPS3_SUPPORTED; -+} -+ -+static inline bool -+drm_dp_tps4_supported(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) -+{ -+ return dpcd[DP_DPCD_REV] >= 0x14 && -+ dpcd[DP_MAX_DOWNSPREAD] & DP_TPS4_SUPPORTED; -+} -+ -+static inline u8 -+drm_dp_training_pattern_mask(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) -+{ -+ return (dpcd[DP_DPCD_REV] >= 0x14) ? DP_TRAINING_PATTERN_MASK_1_4 : -+ DP_TRAINING_PATTERN_MASK; -+} -+ -+static inline bool -+drm_dp_is_branch(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) -+{ -+ return dpcd[DP_DOWNSTREAMPORT_PRESENT] & DP_DWN_STRM_PORT_PRESENT; -+} -+ -+/* DP/eDP DSC support */ -+u8 drm_dp_dsc_sink_max_slice_count(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE], -+ bool is_edp); -+u8 drm_dp_dsc_sink_line_buf_depth(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]); -+int drm_dp_dsc_sink_supported_input_bpcs(const u8 dsc_dpc[DP_DSC_RECEIVER_CAP_SIZE], -+ u8 dsc_bpc[3]); -+ -+static inline bool -+drm_dp_sink_supports_dsc(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]) -+{ -+ return dsc_dpcd[DP_DSC_SUPPORT - DP_DSC_SUPPORT] & -+ DP_DSC_DECOMPRESSION_IS_SUPPORTED; -+} -+ -+static inline u16 -+drm_edp_dsc_sink_output_bpp(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]) -+{ -+ return dsc_dpcd[DP_DSC_MAX_BITS_PER_PIXEL_LOW - DP_DSC_SUPPORT] | -+ (dsc_dpcd[DP_DSC_MAX_BITS_PER_PIXEL_HI - DP_DSC_SUPPORT] & -+ DP_DSC_MAX_BITS_PER_PIXEL_HI_MASK << -+ DP_DSC_MAX_BITS_PER_PIXEL_HI_SHIFT); -+} -+ -+static inline u32 -+drm_dp_dsc_sink_max_slice_width(const u8 dsc_dpcd[DP_DSC_RECEIVER_CAP_SIZE]) -+{ -+ /* Max Slicewidth = Number of Pixels * 320 */ -+ return dsc_dpcd[DP_DSC_MAX_SLICE_WIDTH - DP_DSC_SUPPORT] * -+ DP_DSC_SLICE_WIDTH_MULTIPLIER; -+} -+ -+/* Forward Error Correction Support on DP 1.4 */ -+static inline bool -+drm_dp_sink_supports_fec(const u8 fec_capable) -+{ -+ return fec_capable & DP_FEC_CAPABLE; -+} -+ -+static inline bool -+drm_dp_channel_coding_supported(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) -+{ -+ return dpcd[DP_MAIN_LINK_CHANNEL_CODING] & DP_CAP_ANSI_8B10B; -+} -+ -+static inline bool -+drm_dp_alternate_scrambler_reset_cap(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) -+{ -+ return dpcd[DP_EDP_CONFIGURATION_CAP] & -+ DP_ALTERNATE_SCRAMBLER_RESET_CAP; -+} -+ -+/* Ignore MSA timing for Adaptive Sync support on DP 1.4 */ -+static inline bool -+drm_dp_sink_can_do_video_without_timing_msa(const u8 dpcd[DP_RECEIVER_CAP_SIZE]) -+{ -+ return dpcd[DP_DOWN_STREAM_PORT_COUNT] & -+ DP_MSA_TIMING_PAR_IGNORED; -+} -+ -+/* -+ * DisplayPort AUX channel -+ */ -+ -+/** -+ * struct drm_dp_aux_msg - DisplayPort AUX channel transaction -+ * @address: address of the (first) register to access -+ * @request: contains the type of transaction (see DP_AUX_* macros) -+ * @reply: upon completion, contains the reply type of the transaction -+ * @buffer: pointer to a transmission or reception buffer -+ * @size: size of @buffer -+ */ -+struct drm_dp_aux_msg { -+ unsigned int address; -+ u8 request; -+ u8 reply; -+ void *buffer; -+ size_t size; -+}; -+ -+struct cec_adapter; -+struct edid; -+struct drm_connector; -+ -+/** -+ * struct drm_dp_aux_cec - DisplayPort CEC-Tunneling-over-AUX -+ * @lock: mutex protecting this struct -+ * @adap: the CEC adapter for CEC-Tunneling-over-AUX support. -+ * @connector: the connector this CEC adapter is associated with -+ * @unregister_work: unregister the CEC adapter -+ */ -+struct drm_dp_aux_cec { -+ struct mutex lock; -+ struct cec_adapter *adap; -+ struct drm_connector *connector; -+ struct delayed_work unregister_work; -+}; -+ -+/** -+ * struct drm_dp_aux - DisplayPort AUX channel -+ * @name: user-visible name of this AUX channel and the I2C-over-AUX adapter -+ * @ddc: I2C adapter that can be used for I2C-over-AUX communication -+ * @dev: pointer to struct device that is the parent for this AUX channel -+ * @crtc: backpointer to the crtc that is currently using this AUX channel -+ * @hw_mutex: internal mutex used for locking transfers -+ * @crc_work: worker that captures CRCs for each frame -+ * @crc_count: counter of captured frame CRCs -+ * @transfer: transfers a message representing a single AUX transaction -+ * -+ * The .dev field should be set to a pointer to the device that implements -+ * the AUX channel. -+ * -+ * The .name field may be used to specify the name of the I2C adapter. If set to -+ * NULL, dev_name() of .dev will be used. -+ * -+ * Drivers provide a hardware-specific implementation of how transactions -+ * are executed via the .transfer() function. A pointer to a drm_dp_aux_msg -+ * structure describing the transaction is passed into this function. Upon -+ * success, the implementation should return the number of payload bytes -+ * that were transferred, or a negative error-code on failure. Helpers -+ * propagate errors from the .transfer() function, with the exception of -+ * the -EBUSY error, which causes a transaction to be retried. On a short, -+ * helpers will return -EPROTO to make it simpler to check for failure. -+ * -+ * An AUX channel can also be used to transport I2C messages to a sink. A -+ * typical application of that is to access an EDID that's present in the -+ * sink device. The .transfer() function can also be used to execute such -+ * transactions. The drm_dp_aux_register() function registers an I2C -+ * adapter that can be passed to drm_probe_ddc(). Upon removal, drivers -+ * should call drm_dp_aux_unregister() to remove the I2C adapter. -+ * The I2C adapter uses long transfers by default; if a partial response is -+ * received, the adapter will drop down to the size given by the partial -+ * response for this transaction only. -+ * -+ * Note that the aux helper code assumes that the .transfer() function -+ * only modifies the reply field of the drm_dp_aux_msg structure. The -+ * retry logic and i2c helpers assume this is the case. -+ */ -+struct drm_dp_aux { -+ const char *name; -+ struct i2c_adapter ddc; -+ struct device *dev; -+ struct drm_crtc *crtc; -+ struct mutex hw_mutex; -+ struct work_struct crc_work; -+ u8 crc_count; -+ ssize_t (*transfer)(struct drm_dp_aux *aux, -+ struct drm_dp_aux_msg *msg); -+ /** -+ * @i2c_nack_count: Counts I2C NACKs, used for DP validation. -+ */ -+ unsigned i2c_nack_count; -+ /** -+ * @i2c_defer_count: Counts I2C DEFERs, used for DP validation. -+ */ -+ unsigned i2c_defer_count; -+ /** -+ * @cec: struct containing fields used for CEC-Tunneling-over-AUX. -+ */ -+ struct drm_dp_aux_cec cec; -+ /** -+ * @is_remote: Is this AUX CH actually using sideband messaging. -+ */ -+ bool is_remote; -+}; -+ -+ssize_t drm_dp_dpcd_read(struct drm_dp_aux *aux, unsigned int offset, -+ void *buffer, size_t size); -+ssize_t drm_dp_dpcd_write(struct drm_dp_aux *aux, unsigned int offset, -+ void *buffer, size_t size); -+ -+/** -+ * drm_dp_dpcd_readb() - read a single byte from the DPCD -+ * @aux: DisplayPort AUX channel -+ * @offset: address of the register to read -+ * @valuep: location where the value of the register will be stored -+ * -+ * Returns the number of bytes transferred (1) on success, or a negative -+ * error code on failure. -+ */ -+static inline ssize_t drm_dp_dpcd_readb(struct drm_dp_aux *aux, -+ unsigned int offset, u8 *valuep) -+{ -+ return drm_dp_dpcd_read(aux, offset, valuep, 1); -+} -+ -+/** -+ * drm_dp_dpcd_writeb() - write a single byte to the DPCD -+ * @aux: DisplayPort AUX channel -+ * @offset: address of the register to write -+ * @value: value to write to the register -+ * -+ * Returns the number of bytes transferred (1) on success, or a negative -+ * error code on failure. -+ */ -+static inline ssize_t drm_dp_dpcd_writeb(struct drm_dp_aux *aux, -+ unsigned int offset, u8 value) -+{ -+ return drm_dp_dpcd_write(aux, offset, &value, 1); -+} -+ -+int drm_dp_read_dpcd_caps(struct drm_dp_aux *aux, -+ u8 dpcd[DP_RECEIVER_CAP_SIZE]); -+ -+int drm_dp_dpcd_read_link_status(struct drm_dp_aux *aux, -+ u8 status[DP_LINK_STATUS_SIZE]); -+ -+bool drm_dp_send_real_edid_checksum(struct drm_dp_aux *aux, -+ u8 real_edid_checksum); -+ -+int drm_dp_read_downstream_info(struct drm_dp_aux *aux, -+ const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ u8 downstream_ports[DP_MAX_DOWNSTREAM_PORTS]); -+bool drm_dp_downstream_is_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ const u8 port_cap[4], u8 type); -+bool drm_dp_downstream_is_tmds(const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ const u8 port_cap[4], -+ const struct edid *edid); -+int drm_dp_downstream_max_dotclock(const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ const u8 port_cap[4]); -+int drm_dp_downstream_max_tmds_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ const u8 port_cap[4], -+ const struct edid *edid); -+int drm_dp_downstream_min_tmds_clock(const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ const u8 port_cap[4], -+ const struct edid *edid); -+int drm_dp_downstream_max_bpc(const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ const u8 port_cap[4], -+ const struct edid *edid); -+bool drm_dp_downstream_420_passthrough(const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ const u8 port_cap[4]); -+bool drm_dp_downstream_444_to_420_conversion(const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ const u8 port_cap[4]); -+struct drm_display_mode *drm_dp_downstream_mode(struct drm_device *dev, -+ const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ const u8 port_cap[4]); -+int drm_dp_downstream_id(struct drm_dp_aux *aux, char id[6]); -+void drm_dp_downstream_debug(struct seq_file *m, -+ const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ const u8 port_cap[4], -+ const struct edid *edid, -+ struct drm_dp_aux *aux); -+enum drm_mode_subconnector -+drm_dp_subconnector_type(const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ const u8 port_cap[4]); -+void drm_dp_set_subconnector_property(struct drm_connector *connector, -+ enum drm_connector_status status, -+ const u8 *dpcd, -+ const u8 port_cap[4]); -+ -+struct drm_dp_desc; -+bool drm_dp_read_sink_count_cap(struct drm_connector *connector, -+ const u8 dpcd[DP_RECEIVER_CAP_SIZE], -+ const struct drm_dp_desc *desc); -+int drm_dp_read_sink_count(struct drm_dp_aux *aux); -+ -+void drm_dp_remote_aux_init(struct drm_dp_aux *aux); -+void drm_dp_aux_init(struct drm_dp_aux *aux); -+int drm_dp_aux_register(struct drm_dp_aux *aux); -+void drm_dp_aux_unregister(struct drm_dp_aux *aux); -+ -+int drm_dp_start_crc(struct drm_dp_aux *aux, struct drm_crtc *crtc); -+int drm_dp_stop_crc(struct drm_dp_aux *aux); -+ -+struct drm_dp_dpcd_ident { -+ u8 oui[3]; -+ u8 device_id[6]; -+ u8 hw_rev; -+ u8 sw_major_rev; -+ u8 sw_minor_rev; -+} __packed; -+ -+/** -+ * struct drm_dp_desc - DP branch/sink device descriptor -+ * @ident: DP device identification from DPCD 0x400 (sink) or 0x500 (branch). -+ * @quirks: Quirks; use drm_dp_has_quirk() to query for the quirks. -+ */ -+struct drm_dp_desc { -+ struct drm_dp_dpcd_ident ident; -+ u32 quirks; -+}; -+ -+int drm_dp_read_desc(struct drm_dp_aux *aux, struct drm_dp_desc *desc, -+ bool is_branch); -+u32 drm_dp_get_edid_quirks(const struct edid *edid); -+ -+/** -+ * enum drm_dp_quirk - Display Port sink/branch device specific quirks -+ * -+ * Display Port sink and branch devices in the wild have a variety of bugs, try -+ * to collect them here. The quirks are shared, but it's up to the drivers to -+ * implement workarounds for them. Note that because some devices have -+ * unreliable OUIDs, the EDID of sinks should also be checked for quirks using -+ * drm_dp_get_edid_quirks(). -+ */ -+enum drm_dp_quirk { -+ /** -+ * @DP_DPCD_QUIRK_CONSTANT_N: -+ * -+ * The device requires main link attributes Mvid and Nvid to be limited -+ * to 16 bits. So will give a constant value (0x8000) for compatability. -+ */ -+ DP_DPCD_QUIRK_CONSTANT_N, -+ /** -+ * @DP_DPCD_QUIRK_NO_PSR: -+ * -+ * The device does not support PSR even if reports that it supports or -+ * driver still need to implement proper handling for such device. -+ */ -+ DP_DPCD_QUIRK_NO_PSR, -+ /** -+ * @DP_DPCD_QUIRK_NO_SINK_COUNT: -+ * -+ * The device does not set SINK_COUNT to a non-zero value. -+ * The driver should ignore SINK_COUNT during detection. Note that -+ * drm_dp_read_sink_count_cap() automatically checks for this quirk. -+ */ -+ DP_DPCD_QUIRK_NO_SINK_COUNT, -+ /** -+ * @DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD: -+ * -+ * The device supports MST DSC despite not supporting Virtual DPCD. -+ * The DSC caps can be read from the physical aux instead. -+ */ -+ DP_DPCD_QUIRK_DSC_WITHOUT_VIRTUAL_DPCD, -+ /** -+ * @DP_QUIRK_FORCE_DPCD_BACKLIGHT: -+ * -+ * The device is telling the truth when it says that it uses DPCD -+ * backlight controls, even if the system's firmware disagrees. This -+ * quirk should be checked against both the ident and panel EDID. -+ * When present, the driver should honor the DPCD backlight -+ * capabilities advertised. -+ */ -+ DP_QUIRK_FORCE_DPCD_BACKLIGHT, -+ /** -+ * @DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS: -+ * -+ * The device supports a link rate of 3.24 Gbps (multiplier 0xc) despite -+ * the DP_MAX_LINK_RATE register reporting a lower max multiplier. -+ */ -+ DP_DPCD_QUIRK_CAN_DO_MAX_LINK_RATE_3_24_GBPS, -+}; -+ -+/** -+ * drm_dp_has_quirk() - does the DP device have a specific quirk -+ * @desc: Device descriptor filled by drm_dp_read_desc() -+ * @edid_quirks: Optional quirk bitmask filled by drm_dp_get_edid_quirks() -+ * @quirk: Quirk to query for -+ * -+ * Return true if DP device identified by @desc has @quirk. -+ */ -+static inline bool -+drm_dp_has_quirk(const struct drm_dp_desc *desc, u32 edid_quirks, -+ enum drm_dp_quirk quirk) -+{ -+ return (desc->quirks | edid_quirks) & BIT(quirk); -+} -+ -+#ifdef CONFIG_DRM_DP_CEC -+void drm_dp_cec_irq(struct drm_dp_aux *aux); -+void drm_dp_cec_register_connector(struct drm_dp_aux *aux, -+ struct drm_connector *connector); -+void drm_dp_cec_unregister_connector(struct drm_dp_aux *aux); -+void drm_dp_cec_set_edid(struct drm_dp_aux *aux, const struct edid *edid); -+void drm_dp_cec_unset_edid(struct drm_dp_aux *aux); -+#else -+static inline void drm_dp_cec_irq(struct drm_dp_aux *aux) -+{ -+} -+ -+static inline void -+drm_dp_cec_register_connector(struct drm_dp_aux *aux, -+ struct drm_connector *connector) -+{ -+} -+ -+static inline void drm_dp_cec_unregister_connector(struct drm_dp_aux *aux) -+{ -+} -+ -+static inline void drm_dp_cec_set_edid(struct drm_dp_aux *aux, -+ const struct edid *edid) -+{ -+} -+ -+static inline void drm_dp_cec_unset_edid(struct drm_dp_aux *aux) -+{ -+} -+ -+#endif -+ -+/** -+ * struct drm_dp_phy_test_params - DP Phy Compliance parameters -+ * @link_rate: Requested Link rate from DPCD 0x219 -+ * @num_lanes: Number of lanes requested by sing through DPCD 0x220 -+ * @phy_pattern: DP Phy test pattern from DPCD 0x248 -+ * @hbr2_reset: DP HBR2_COMPLIANCE_SCRAMBLER_RESET from DCPD 0x24A and 0x24B -+ * @custom80: DP Test_80BIT_CUSTOM_PATTERN from DPCDs 0x250 through 0x259 -+ * @enhanced_frame_cap: flag for enhanced frame capability. -+ */ -+struct drm_dp_phy_test_params { -+ int link_rate; -+ u8 num_lanes; -+ u8 phy_pattern; -+ u8 hbr2_reset[2]; -+ u8 custom80[10]; -+ bool enhanced_frame_cap; -+}; -+ -+int drm_dp_get_phy_test_pattern(struct drm_dp_aux *aux, -+ struct drm_dp_phy_test_params *data); -+int drm_dp_set_phy_test_pattern(struct drm_dp_aux *aux, -+ struct drm_dp_phy_test_params *data, u8 dp_rev); -+#endif /* _DRM_DP_HELPER_H_ */ -diff -rupN linux.orig/include/drm/drm_dsc.h linux/include/drm/drm_dsc.h ---- linux.orig/include/drm/drm_dsc.h 1970-01-01 00:00:00.000000000 +0000 -+++ linux/include/drm/drm_dsc.h 2024-03-22 22:45:10.311816791 +0000 -@@ -0,0 +1,609 @@ -+/* SPDX-License-Identifier: MIT -+ * Copyright (C) 2018 Intel Corp. -+ * -+ * Authors: -+ * Manasi Navare -+ */ -+ -+#ifndef DRM_DSC_H_ -+#define DRM_DSC_H_ -+ -+#include -+ -+/* VESA Display Stream Compression DSC 1.2 constants */ -+#define DSC_NUM_BUF_RANGES 15 -+#define DSC_MUX_WORD_SIZE_8_10_BPC 48 -+#define DSC_MUX_WORD_SIZE_12_BPC 64 -+#define DSC_RC_PIXELS_PER_GROUP 3 -+#define DSC_SCALE_DECREMENT_INTERVAL_MAX 4095 -+#define DSC_RANGE_BPG_OFFSET_MASK 0x3f -+ -+/* DSC Rate Control Constants */ -+#define DSC_RC_MODEL_SIZE_CONST 8192 -+#define DSC_RC_EDGE_FACTOR_CONST 6 -+#define DSC_RC_TGT_OFFSET_HI_CONST 3 -+#define DSC_RC_TGT_OFFSET_LO_CONST 3 -+ -+/* DSC PPS constants and macros */ -+#define DSC_PPS_VERSION_MAJOR_SHIFT 4 -+#define DSC_PPS_BPC_SHIFT 4 -+#define DSC_PPS_MSB_SHIFT 8 -+#define DSC_PPS_LSB_MASK (0xFF << 0) -+#define DSC_PPS_BPP_HIGH_MASK (0x3 << 8) -+#define DSC_PPS_VBR_EN_SHIFT 2 -+#define DSC_PPS_SIMPLE422_SHIFT 3 -+#define DSC_PPS_CONVERT_RGB_SHIFT 4 -+#define DSC_PPS_BLOCK_PRED_EN_SHIFT 5 -+#define DSC_PPS_INIT_XMIT_DELAY_HIGH_MASK (0x3 << 8) -+#define DSC_PPS_SCALE_DEC_INT_HIGH_MASK (0xF << 8) -+#define DSC_PPS_RC_TGT_OFFSET_HI_SHIFT 4 -+#define DSC_PPS_RC_RANGE_MINQP_SHIFT 11 -+#define DSC_PPS_RC_RANGE_MAXQP_SHIFT 6 -+#define DSC_PPS_NATIVE_420_SHIFT 1 -+#define DSC_1_2_MAX_LINEBUF_DEPTH_BITS 16 -+#define DSC_1_2_MAX_LINEBUF_DEPTH_VAL 0 -+#define DSC_1_1_MAX_LINEBUF_DEPTH_BITS 13 -+ -+/** -+ * struct drm_dsc_rc_range_parameters - DSC Rate Control range parameters -+ * -+ * This defines different rate control parameters used by the DSC engine -+ * to compress the frame. -+ */ -+struct drm_dsc_rc_range_parameters { -+ /** -+ * @range_min_qp: Min Quantization Parameters allowed for this range -+ */ -+ u8 range_min_qp; -+ /** -+ * @range_max_qp: Max Quantization Parameters allowed for this range -+ */ -+ u8 range_max_qp; -+ /** -+ * @range_bpg_offset: -+ * Bits/group offset to apply to target for this group -+ */ -+ u8 range_bpg_offset; -+}; -+ -+/** -+ * struct drm_dsc_config - Parameters required to configure DSC -+ * -+ * Driver populates this structure with all the parameters required -+ * to configure the display stream compression on the source. -+ */ -+struct drm_dsc_config { -+ /** -+ * @line_buf_depth: -+ * Bits per component for previous reconstructed line buffer -+ */ -+ u8 line_buf_depth; -+ /** -+ * @bits_per_component: Bits per component to code (8/10/12) -+ */ -+ u8 bits_per_component; -+ /** -+ * @convert_rgb: -+ * Flag to indicate if RGB - YCoCg conversion is needed -+ * True if RGB input, False if YCoCg input -+ */ -+ bool convert_rgb; -+ /** -+ * @slice_count: Number fo slices per line used by the DSC encoder -+ */ -+ u8 slice_count; -+ /** -+ * @slice_width: Width of each slice in pixels -+ */ -+ u16 slice_width; -+ /** -+ * @slice_height: Slice height in pixels -+ */ -+ u16 slice_height; -+ /** -+ * @simple_422: True if simple 4_2_2 mode is enabled else False -+ */ -+ bool simple_422; -+ /** -+ * @pic_width: Width of the input display frame in pixels -+ */ -+ u16 pic_width; -+ /** -+ * @pic_height: Vertical height of the input display frame -+ */ -+ u16 pic_height; -+ /** -+ * @rc_tgt_offset_high: -+ * Offset to bits/group used by RC to determine QP adjustment -+ */ -+ u8 rc_tgt_offset_high; -+ /** -+ * @rc_tgt_offset_low: -+ * Offset to bits/group used by RC to determine QP adjustment -+ */ -+ u8 rc_tgt_offset_low; -+ /** -+ * @bits_per_pixel: -+ * Target bits per pixel with 4 fractional bits, bits_per_pixel << 4 -+ */ -+ u16 bits_per_pixel; -+ /** -+ * @rc_edge_factor: -+ * Factor to determine if an edge is present based on the bits produced -+ */ -+ u8 rc_edge_factor; -+ /** -+ * @rc_quant_incr_limit1: -+ * Slow down incrementing once the range reaches this value -+ */ -+ u8 rc_quant_incr_limit1; -+ /** -+ * @rc_quant_incr_limit0: -+ * Slow down incrementing once the range reaches this value -+ */ -+ u8 rc_quant_incr_limit0; -+ /** -+ * @initial_xmit_delay: -+ * Number of pixels to delay the initial transmission -+ */ -+ u16 initial_xmit_delay; -+ /** -+ * @initial_dec_delay: -+ * Initial decoder delay, number of pixel times that the decoder -+ * accumulates data in its rate buffer before starting to decode -+ * and output pixels. -+ */ -+ u16 initial_dec_delay; -+ /** -+ * @block_pred_enable: -+ * True if block prediction is used to code any groups within the -+ * picture. False if BP not used -+ */ -+ bool block_pred_enable; -+ /** -+ * @first_line_bpg_offset: -+ * Number of additional bits allocated for each group on the first -+ * line of slice. -+ */ -+ u8 first_line_bpg_offset; -+ /** -+ * @initial_offset: Value to use for RC model offset at slice start -+ */ -+ u16 initial_offset; -+ /** -+ * @rc_buf_thresh: Thresholds defining each of the buffer ranges -+ */ -+ u16 rc_buf_thresh[DSC_NUM_BUF_RANGES - 1]; -+ /** -+ * @rc_range_params: -+ * Parameters for each of the RC ranges defined in -+ * &struct drm_dsc_rc_range_parameters -+ */ -+ struct drm_dsc_rc_range_parameters rc_range_params[DSC_NUM_BUF_RANGES]; -+ /** -+ * @rc_model_size: Total size of RC model -+ */ -+ u16 rc_model_size; -+ /** -+ * @flatness_min_qp: Minimum QP where flatness information is sent -+ */ -+ u8 flatness_min_qp; -+ /** -+ * @flatness_max_qp: Maximum QP where flatness information is sent -+ */ -+ u8 flatness_max_qp; -+ /** -+ * @initial_scale_value: Initial value for the scale factor -+ */ -+ u8 initial_scale_value; -+ /** -+ * @scale_decrement_interval: -+ * Specifies number of group times between decrementing the scale factor -+ * at beginning of a slice. -+ */ -+ u16 scale_decrement_interval; -+ /** -+ * @scale_increment_interval: -+ * Number of group times between incrementing the scale factor value -+ * used at the beginning of a slice. -+ */ -+ u16 scale_increment_interval; -+ /** -+ * @nfl_bpg_offset: Non first line BPG offset to be used -+ */ -+ u16 nfl_bpg_offset; -+ /** -+ * @slice_bpg_offset: BPG offset used to enforce slice bit -+ */ -+ u16 slice_bpg_offset; -+ /** -+ * @final_offset: Final RC linear transformation offset value -+ */ -+ u16 final_offset; -+ /** -+ * @vbr_enable: True if VBR mode is enabled, false if disabled -+ */ -+ bool vbr_enable; -+ /** -+ * @mux_word_size: Mux word size (in bits) for SSM mode -+ */ -+ u8 mux_word_size; -+ /** -+ * @slice_chunk_size: -+ * The (max) size in bytes of the "chunks" that are used in slice -+ * multiplexing. -+ */ -+ u16 slice_chunk_size; -+ /** -+ * @rc_bits: Rate control buffer size in bits -+ */ -+ u16 rc_bits; -+ /** -+ * @dsc_version_minor: DSC minor version -+ */ -+ u8 dsc_version_minor; -+ /** -+ * @dsc_version_major: DSC major version -+ */ -+ u8 dsc_version_major; -+ /** -+ * @native_422: True if Native 4:2:2 supported, else false -+ */ -+ bool native_422; -+ /** -+ * @native_420: True if Native 4:2:0 supported else false. -+ */ -+ bool native_420; -+ /** -+ * @second_line_bpg_offset: -+ * Additional bits/grp for seconnd line of slice for native 4:2:0 -+ */ -+ u8 second_line_bpg_offset; -+ /** -+ * @nsl_bpg_offset: -+ * Num of bits deallocated for each grp that is not in second line of -+ * slice -+ */ -+ u16 nsl_bpg_offset; -+ /** -+ * @second_line_offset_adj: -+ * Offset adjustment for second line in Native 4:2:0 mode -+ */ -+ u16 second_line_offset_adj; -+}; -+ -+/** -+ * struct picture_parameter_set - Represents 128 bytes of Picture Parameter Set -+ * -+ * The VESA DSC standard defines picture parameter set (PPS) which display -+ * stream compression encoders must communicate to decoders. -+ * The PPS is encapsulated in 128 bytes (PPS 0 through PPS 127). The fields in -+ * this structure are as per Table 4.1 in Vesa DSC specification v1.1/v1.2. -+ * The PPS fields that span over more than a byte should be stored in Big Endian -+ * format. -+ */ -+struct drm_dsc_picture_parameter_set { -+ /** -+ * @dsc_version: -+ * PPS0[3:0] - dsc_version_minor: Contains Minor version of DSC -+ * PPS0[7:4] - dsc_version_major: Contains major version of DSC -+ */ -+ u8 dsc_version; -+ /** -+ * @pps_identifier: -+ * PPS1[7:0] - Application specific identifier that can be -+ * used to differentiate between different PPS tables. -+ */ -+ u8 pps_identifier; -+ /** -+ * @pps_reserved: -+ * PPS2[7:0]- RESERVED Byte -+ */ -+ u8 pps_reserved; -+ /** -+ * @pps_3: -+ * PPS3[3:0] - linebuf_depth: Contains linebuffer bit depth used to -+ * generate the bitstream. (0x0 - 16 bits for DSC 1.2, 0x8 - 8 bits, -+ * 0xA - 10 bits, 0xB - 11 bits, 0xC - 12 bits, 0xD - 13 bits, -+ * 0xE - 14 bits for DSC1.2, 0xF - 14 bits for DSC 1.2. -+ * PPS3[7:4] - bits_per_component: Bits per component for the original -+ * pixels of the encoded picture. -+ * 0x0 = 16bpc (allowed only when dsc_version_minor = 0x2) -+ * 0x8 = 8bpc, 0xA = 10bpc, 0xC = 12bpc, 0xE = 14bpc (also -+ * allowed only when dsc_minor_version = 0x2) -+ */ -+ u8 pps_3; -+ /** -+ * @pps_4: -+ * PPS4[1:0] -These are the most significant 2 bits of -+ * compressed BPP bits_per_pixel[9:0] syntax element. -+ * PPS4[2] - vbr_enable: 0 = VBR disabled, 1 = VBR enabled -+ * PPS4[3] - simple_422: Indicates if decoder drops samples to -+ * reconstruct the 4:2:2 picture. -+ * PPS4[4] - Convert_rgb: Indicates if DSC color space conversion is -+ * active. -+ * PPS4[5] - blobk_pred_enable: Indicates if BP is used to code any -+ * groups in picture -+ * PPS4[7:6] - Reseved bits -+ */ -+ u8 pps_4; -+ /** -+ * @bits_per_pixel_low: -+ * PPS5[7:0] - This indicates the lower significant 8 bits of -+ * the compressed BPP bits_per_pixel[9:0] element. -+ */ -+ u8 bits_per_pixel_low; -+ /** -+ * @pic_height: -+ * PPS6[7:0], PPS7[7:0] -pic_height: Specifies the number of pixel rows -+ * within the raster. -+ */ -+ __be16 pic_height; -+ /** -+ * @pic_width: -+ * PPS8[7:0], PPS9[7:0] - pic_width: Number of pixel columns within -+ * the raster. -+ */ -+ __be16 pic_width; -+ /** -+ * @slice_height: -+ * PPS10[7:0], PPS11[7:0] - Slice height in units of pixels. -+ */ -+ __be16 slice_height; -+ /** -+ * @slice_width: -+ * PPS12[7:0], PPS13[7:0] - Slice width in terms of pixels. -+ */ -+ __be16 slice_width; -+ /** -+ * @chunk_size: -+ * PPS14[7:0], PPS15[7:0] - Size in units of bytes of the chunks -+ * that are used for slice multiplexing. -+ */ -+ __be16 chunk_size; -+ /** -+ * @initial_xmit_delay_high: -+ * PPS16[1:0] - Most Significant two bits of initial transmission delay. -+ * It specifies the number of pixel times that the encoder waits before -+ * transmitting data from its rate buffer. -+ * PPS16[7:2] - Reserved -+ */ -+ u8 initial_xmit_delay_high; -+ /** -+ * @initial_xmit_delay_low: -+ * PPS17[7:0] - Least significant 8 bits of initial transmission delay. -+ */ -+ u8 initial_xmit_delay_low; -+ /** -+ * @initial_dec_delay: -+ * -+ * PPS18[7:0], PPS19[7:0] - Initial decoding delay which is the number -+ * of pixel times that the decoder accumulates data in its rate buffer -+ * before starting to decode and output pixels. -+ */ -+ __be16 initial_dec_delay; -+ /** -+ * @pps20_reserved: -+ * -+ * PPS20[7:0] - Reserved -+ */ -+ u8 pps20_reserved; -+ /** -+ * @initial_scale_value: -+ * PPS21[5:0] - Initial rcXformScale factor used at beginning -+ * of a slice. -+ * PPS21[7:6] - Reserved -+ */ -+ u8 initial_scale_value; -+ /** -+ * @scale_increment_interval: -+ * PPS22[7:0], PPS23[7:0] - Number of group times between incrementing -+ * the rcXformScale factor at end of a slice. -+ */ -+ __be16 scale_increment_interval; -+ /** -+ * @scale_decrement_interval_high: -+ * PPS24[3:0] - Higher 4 bits indicating number of group times between -+ * decrementing the rcXformScale factor at beginning of a slice. -+ * PPS24[7:4] - Reserved -+ */ -+ u8 scale_decrement_interval_high; -+ /** -+ * @scale_decrement_interval_low: -+ * PPS25[7:0] - Lower 8 bits of scale decrement interval -+ */ -+ u8 scale_decrement_interval_low; -+ /** -+ * @pps26_reserved: -+ * PPS26[7:0] -+ */ -+ u8 pps26_reserved; -+ /** -+ * @first_line_bpg_offset: -+ * PPS27[4:0] - Number of additional bits that are allocated -+ * for each group on first line of a slice. -+ * PPS27[7:5] - Reserved -+ */ -+ u8 first_line_bpg_offset; -+ /** -+ * @nfl_bpg_offset: -+ * PPS28[7:0], PPS29[7:0] - Number of bits including frac bits -+ * deallocated for each group for groups after the first line of slice. -+ */ -+ __be16 nfl_bpg_offset; -+ /** -+ * @slice_bpg_offset: -+ * PPS30, PPS31[7:0] - Number of bits that are deallocated for each -+ * group to enforce the slice constraint. -+ */ -+ __be16 slice_bpg_offset; -+ /** -+ * @initial_offset: -+ * PPS32,33[7:0] - Initial value for rcXformOffset -+ */ -+ __be16 initial_offset; -+ /** -+ * @final_offset: -+ * PPS34,35[7:0] - Maximum end-of-slice value for rcXformOffset -+ */ -+ __be16 final_offset; -+ /** -+ * @flatness_min_qp: -+ * PPS36[4:0] - Minimum QP at which flatness is signaled and -+ * flatness QP adjustment is made. -+ * PPS36[7:5] - Reserved -+ */ -+ u8 flatness_min_qp; -+ /** -+ * @flatness_max_qp: -+ * PPS37[4:0] - Max QP at which flatness is signalled and -+ * the flatness adjustment is made. -+ * PPS37[7:5] - Reserved -+ */ -+ u8 flatness_max_qp; -+ /** -+ * @rc_model_size: -+ * PPS38,39[7:0] - Number of bits within RC Model. -+ */ -+ __be16 rc_model_size; -+ /** -+ * @rc_edge_factor: -+ * PPS40[3:0] - Ratio of current activity vs, previous -+ * activity to determine presence of edge. -+ * PPS40[7:4] - Reserved -+ */ -+ u8 rc_edge_factor; -+ /** -+ * @rc_quant_incr_limit0: -+ * PPS41[4:0] - QP threshold used in short term RC -+ * PPS41[7:5] - Reserved -+ */ -+ u8 rc_quant_incr_limit0; -+ /** -+ * @rc_quant_incr_limit1: -+ * PPS42[4:0] - QP threshold used in short term RC -+ * PPS42[7:5] - Reserved -+ */ -+ u8 rc_quant_incr_limit1; -+ /** -+ * @rc_tgt_offset: -+ * PPS43[3:0] - Lower end of the variability range around the target -+ * bits per group that is allowed by short term RC. -+ * PPS43[7:4]- Upper end of the variability range around the target -+ * bits per group that i allowed by short term rc. -+ */ -+ u8 rc_tgt_offset; -+ /** -+ * @rc_buf_thresh: -+ * PPS44[7:0] - PPS57[7:0] - Specifies the thresholds in RC model for -+ * the 15 ranges defined by 14 thresholds. -+ */ -+ u8 rc_buf_thresh[DSC_NUM_BUF_RANGES - 1]; -+ /** -+ * @rc_range_parameters: -+ * PPS58[7:0] - PPS87[7:0] -+ * Parameters that correspond to each of the 15 ranges. -+ */ -+ __be16 rc_range_parameters[DSC_NUM_BUF_RANGES]; -+ /** -+ * @native_422_420: -+ * PPS88[0] - 0 = Native 4:2:2 not used -+ * 1 = Native 4:2:2 used -+ * PPS88[1] - 0 = Native 4:2:0 not use -+ * 1 = Native 4:2:0 used -+ * PPS88[7:2] - Reserved 6 bits -+ */ -+ u8 native_422_420; -+ /** -+ * @second_line_bpg_offset: -+ * PPS89[4:0] - Additional bits/group budget for the -+ * second line of a slice in Native 4:2:0 mode. -+ * Set to 0 if DSC minor version is 1 or native420 is 0. -+ * PPS89[7:5] - Reserved -+ */ -+ u8 second_line_bpg_offset; -+ /** -+ * @nsl_bpg_offset: -+ * PPS90[7:0], PPS91[7:0] - Number of bits that are deallocated -+ * for each group that is not in the second line of a slice. -+ */ -+ __be16 nsl_bpg_offset; -+ /** -+ * @second_line_offset_adj: -+ * PPS92[7:0], PPS93[7:0] - Used as offset adjustment for the second -+ * line in Native 4:2:0 mode. -+ */ -+ __be16 second_line_offset_adj; -+ /** -+ * @pps_long_94_reserved: -+ * PPS 94, 95, 96, 97 - Reserved -+ */ -+ u32 pps_long_94_reserved; -+ /** -+ * @pps_long_98_reserved: -+ * PPS 98, 99, 100, 101 - Reserved -+ */ -+ u32 pps_long_98_reserved; -+ /** -+ * @pps_long_102_reserved: -+ * PPS 102, 103, 104, 105 - Reserved -+ */ -+ u32 pps_long_102_reserved; -+ /** -+ * @pps_long_106_reserved: -+ * PPS 106, 107, 108, 109 - reserved -+ */ -+ u32 pps_long_106_reserved; -+ /** -+ * @pps_long_110_reserved: -+ * PPS 110, 111, 112, 113 - reserved -+ */ -+ u32 pps_long_110_reserved; -+ /** -+ * @pps_long_114_reserved: -+ * PPS 114 - 117 - reserved -+ */ -+ u32 pps_long_114_reserved; -+ /** -+ * @pps_long_118_reserved: -+ * PPS 118 - 121 - reserved -+ */ -+ u32 pps_long_118_reserved; -+ /** -+ * @pps_long_122_reserved: -+ * PPS 122- 125 - reserved -+ */ -+ u32 pps_long_122_reserved; -+ /** -+ * @pps_short_126_reserved: -+ * PPS 126, 127 - reserved -+ */ -+ __be16 pps_short_126_reserved; -+} __packed; -+ -+/** -+ * struct drm_dsc_pps_infoframe - DSC infoframe carrying the Picture Parameter -+ * Set Metadata -+ * -+ * This structure represents the DSC PPS infoframe required to send the Picture -+ * Parameter Set metadata required before enabling VESA Display Stream -+ * Compression. This is based on the DP Secondary Data Packet structure and -+ * comprises of SDP Header as defined &struct dp_sdp_header in drm_dp_helper.h -+ * and PPS payload defined in &struct drm_dsc_picture_parameter_set. -+ * -+ * @pps_header: Header for PPS as per DP SDP header format of type -+ * &struct dp_sdp_header -+ * @pps_payload: PPS payload fields as per DSC specification Table 4-1 -+ * as represented in &struct drm_dsc_picture_parameter_set -+ */ -+struct drm_dsc_pps_infoframe { -+ struct dp_sdp_header pps_header; -+ struct drm_dsc_picture_parameter_set pps_payload; -+} __packed; -+ -+void drm_dsc_dp_pps_header_init(struct dp_sdp_header *pps_header); -+void drm_dsc_pps_payload_pack(struct drm_dsc_picture_parameter_set *pps_sdp, -+ const struct drm_dsc_config *dsc_cfg); -+int drm_dsc_compute_rc_parameters(struct drm_dsc_config *vdsc_cfg); -+ -+#endif /* _DRM_DSC_H_ */ diff --git a/projects/Rockchip/patches/linux/RK3588/999-remove-log-spam.patch b/projects/Rockchip/patches/linux/RK3588/999-remove-log-spam.patch new file mode 100644 index 000000000..b6be16ad6 --- /dev/null +++ b/projects/Rockchip/patches/linux/RK3588/999-remove-log-spam.patch @@ -0,0 +1,14 @@ +diff -rupN linux.orig/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c linux/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +--- linux.orig/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c 2024-03-07 05:53:01.096433183 +0000 ++++ linux/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c 2024-03-07 05:55:10.999624906 +0000 +@@ -4857,8 +4857,8 @@ static int vop2_plane_atomic_check(struc + + if (vop2_cluster_window(win) && !vpstate->afbc_en && + (win->supported_rotations & state->rotation)) { +- DRM_ERROR("Unsupported linear rotation(%d) format at %s\n", +- state->rotation, win->name); ++ //DRM_ERROR("Unsupported linear rotation(%d) format at %s\n", ++ // state->rotation, win->name); + return -EINVAL; + } + } From 918aaf83a6fe77dec3ca8a147a5e60e0db2752e7 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Sun, 24 Mar 2024 21:25:36 +0000 Subject: [PATCH 16/77] Setting RK3588 back to 5.10 --- packages/kernel/linux/package.mk | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/kernel/linux/package.mk b/packages/kernel/linux/package.mk index 104870237..6840436ef 100644 --- a/packages/kernel/linux/package.mk +++ b/packages/kernel/linux/package.mk @@ -16,9 +16,9 @@ PKG_PATCH_DIRS="${LINUX} ${DEVICE} default" case ${DEVICE} in RK3588*) - PKG_VERSION="6a2f44f4d0ac3aa90ac5050138d08b46118da9cd" - PKG_URL="https://github.com/hbiyik/linux-rockchip/archive/${PKG_VERSION}.tar.gz" - PKG_GIT_CLONE_BRANCH="rk-6.1-rkr1-panthor-v6" + PKG_VERSION="494c0a303537c55971421b5552d98eb55e652cf3" + PKG_URL="https://github.com/armbian/linux-rockchip/archive/${PKG_VERSION}.tar.gz" + PKG_GIT_CLONE_BRANCH="rk-5.10-rkr6" ;; RK3326*) PKG_VERSION="6.7.9" From 4a1096c718641a1adb18322275520abc2bbae824 Mon Sep 17 00:00:00 2001 From: brooksytech <1673861+brooksytech@users.noreply.github.com> Date: Mon, 25 Mar 2024 00:29:40 +0000 Subject: [PATCH 17/77] RK3326: Update to linux kernel 6.8.1 --- packages/kernel/drivers/RTL8814AU/package.mk | 2 +- packages/kernel/linux/package.mk | 4 - projects/Rockchip/devices/RK3326/options | 2 +- .../patches/linux/RK3326/000-rk3326-dts.patch | 1001 ++--------------- .../linux/RK3326/001-panel-updates.patch | 477 +++----- .../linux/RK3326/004-input-drivers.patch | 16 + .../999-drm-do-not-round-to-megabytes.patch | 52 - 7 files changed, 295 insertions(+), 1259 deletions(-) delete mode 100644 projects/Rockchip/patches/linux/RK3326/999-drm-do-not-round-to-megabytes.patch diff --git a/packages/kernel/drivers/RTL8814AU/package.mk b/packages/kernel/drivers/RTL8814AU/package.mk index ec3a6146f..b6a2986b7 100644 --- a/packages/kernel/drivers/RTL8814AU/package.mk +++ b/packages/kernel/drivers/RTL8814AU/package.mk @@ -4,7 +4,7 @@ # Copyright (C) 2023 JELOS (https://github.com/JustEnoughLinuxOS) PKG_NAME="RTL8814AU" -PKG_VERSION="866a9100c7b3f6508b81b31a22cae19dcacdacb9" +PKG_VERSION="d7945c1e0244c83cbbad4da331648246f12eaee9" PKG_ARCH="aarch64 x86_64" PKG_LICENSE="GPL" PKG_SITE="https://github.com/morrownr/8814au" diff --git a/packages/kernel/linux/package.mk b/packages/kernel/linux/package.mk index 6840436ef..14ebe5c9f 100644 --- a/packages/kernel/linux/package.mk +++ b/packages/kernel/linux/package.mk @@ -20,10 +20,6 @@ case ${DEVICE} in PKG_URL="https://github.com/armbian/linux-rockchip/archive/${PKG_VERSION}.tar.gz" PKG_GIT_CLONE_BRANCH="rk-5.10-rkr6" ;; - RK3326*) - PKG_VERSION="6.7.9" - PKG_URL="${PKG_SITE}/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz" - ;; *) PKG_VERSION="6.8.1" PKG_URL="${PKG_SITE}/pub/linux/kernel/v6.x/${PKG_NAME}-${PKG_VERSION}.tar.xz" diff --git a/projects/Rockchip/devices/RK3326/options b/projects/Rockchip/devices/RK3326/options index 9b151e9dc..7d457d884 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-gameforce-chi" "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-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" diff --git a/projects/Rockchip/patches/linux/RK3326/000-rk3326-dts.patch b/projects/Rockchip/patches/linux/RK3326/000-rk3326-dts.patch index ee9fe6f8e..9a61c7da5 100644 --- a/projects/Rockchip/patches/linux/RK3326/000-rk3326-dts.patch +++ b/projects/Rockchip/patches/linux/RK3326/000-rk3326-dts.patch @@ -1,14 +1,12 @@ 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-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 +--- linux.orig/arch/arm64/boot/dts/rockchip/Makefile 2024-03-24 22:02:58.858657776 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/Makefile 2024-03-24 22:10:14.612168667 +0000 +@@ -10,9 +10,14 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-ro 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-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 @@ -19,9 +17,17 @@ 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-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 @@ +--- linux.orig/arch/arm64/boot/dts/rockchip/px30.dtsi 2024-03-24 22:02:58.858657776 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/px30.dtsi 2024-03-24 22:49:40.352367781 +0000 +@@ -20,6 +20,7 @@ + #size-cells = <2>; + + aliases { ++ ethernet0 = &gmac; + i2c0 = &i2c0; + i2c1 = &i2c1; + i2c2 = &i2c2; +@@ -113,32 +114,22 @@ compatible = "operating-points-v2"; opp-shared; @@ -60,7 +66,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/px30.dtsi linux/arch/arm64/bo }; arm-pmu { -@@ -349,6 +339,32 @@ +@@ -348,6 +339,32 @@ }; }; @@ -93,7 +99,7 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/px30.dtsi linux/arch/arm64/bo pmugrf: syscon@ff010000 { compatible = "rockchip,px30-pmugrf", "syscon", "simple-mfd"; reg = <0x0 0xff010000 0x0 0x1000>; -@@ -1064,21 +1080,9 @@ +@@ -1065,21 +1082,9 @@ gpu_opp_table: opp-table-1 { compatible = "operating-points-v2"; @@ -119,12 +125,19 @@ 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-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 @@ +--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts 2024-03-24 22:02:58.858657776 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts 2024-03-24 22:06:51.745764882 +0000 +@@ -6,16 +6,53 @@ + */ + + /dts-v1/; +-#include "rk3326-anbernic-rg351m.dtsi" ++#include "rk3326-odroid-go.dtsi" + + / { model = "Anbernic RG351M"; compatible = "anbernic,rg351m", "rockchip,rk3326"; - ++ + battery: battery { + compatible = "simple-battery"; + charge-full-design-microamp-hours = <3500000>; @@ -144,51 +157,66 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351m.dts li + <3574170 0>; + }; + - vibrator { - compatible = "pwm-vibrator"; - pwms = <&pwm0 0 1000000 0>; -@@ -19,17 +38,21 @@ - }; ++ vibrator { ++ compatible = "pwm-vibrator"; ++ pwms = <&pwm0 0 1000000 0>; ++ pwm-names = "enable"; ++ }; }; --/delete-node/ &builtin_gamepad; - /delete-node/ &vcc_host; /* conflicts with pwm vibration motor */ - ++/delete-node/ &vcc_host; /* conflicts with pwm vibration motor */ ++ &internal_display { compatible = "elida,kd35t133"; iovcc-supply = <&vcc_lcd>; +- rotation = <270>; vdd-supply = <&vcc_lcd>; + rotation = <270>; - }; - - &pwm0 { - status = "okay"; - }; - --/delete-node/ &rk817_charger; ++}; ++ ++&pwm0 { ++ status = "okay"; ++}; ++ +&rk817_charger { + /* This device does not have a current sense resistor */ + //rockchip,resistor-sense-micro-ohms = <0>; + monitored-battery = <&battery>; -+}; + }; 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-17 06:32:20.483322663 +0000 -@@ -0,0 +1,124 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts 2024-03-24 22:02:58.858657776 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts 2024-03-24 22:06:51.753765132 +0000 +@@ -1,32 +1,76 @@ + // 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 + */ -+ -+/dts-v1/; + + /dts-v1/; +-#include "rk3326-anbernic-rg351m.dtsi" +#include "rk3326-odroid-go.dtsi" -+ -+/ { -+ model = "Anbernic RG351V"; -+ compatible = "anbernic,rg351v", "rockchip,rk3326"; -+ + + / { + model = "Anbernic RG351V"; + compatible = "anbernic,rg351v", "rockchip,rk3326"; + +- gpio_keys_vol: gpio-keys-vol { +- compatible = "gpio-keys"; +- autorepeat; +- +- button-vol-down { +- gpios = <&gpio2 RK_PA1 GPIO_ACTIVE_LOW>; +- label = "VOLUMEDOWN"; +- linux,code = ; +- }; +- +- button-vol-up { +- gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>; +- label = "VOLUMEUP"; +- linux,code = ; +- }; + aliases { + mmc0 = &sdio; + mmc1 = &sdmmc; @@ -236,25 +264,25 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts li + compatible = "pwm-vibrator"; + pwms = <&pwm0 0 1000000 0>; + pwm-names = "enable"; -+ }; -+}; -+ + }; + }; + +/* conflicts with pwm vibration motor */ +/delete-node/ &vcc_host; + +/* Device only has 1 LED compared to Odroid Go Advance */ +/delete-node/ &gpio_led; + -+&internal_display { -+ compatible = "anbernic,rg351v-panel", "newvision,nv3051d"; + &internal_display { + compatible = "anbernic,rg351v-panel", "newvision,nv3051d"; + iovcc-supply = <&vcc_lcd>; -+ vdd-supply = <&vcc_lcd>; -+}; -+ -+&io_domains { -+ vccio1-supply = <&vccio_sd>; -+}; -+ + vdd-supply = <&vcc_lcd>; + }; + +@@ -34,6 +78,33 @@ + vccio1-supply = <&vccio_sd>; + }; + +/delete-node/ &pwm_led; + +&pwm0 { @@ -282,14 +310,13 @@ diff -rupN linux.orig/arch/arm64/boot/dts/rockchip/rk3326-anbernic-rg351v.dts li + status = "okay"; +}; + -+&vcc_sd { -+ regulator-max-microvolt = <3000000>; -+ regulator-min-microvolt = <1800000>; -+}; -+ -+&vccio_sd { -+ regulator-max-microvolt = <1800000>; -+}; + &vcc_sd { + regulator-max-microvolt = <3000000>; + regulator-min-microvolt = <1800000>; +@@ -42,3 +113,12 @@ + &vccio_sd { + regulator-max-microvolt = <1800000>; + }; + +&pinctrl { + btns { @@ -301,7 +328,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-17 06:32:20.483322663 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r33s.dts 2024-03-24 22:06:51.761765381 +0000 @@ -0,0 +1,117 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* @@ -422,7 +449,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-17 06:32:20.483322663 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r36s.dts 2024-03-24 22:06:51.761765381 +0000 @@ -0,0 +1,207 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* @@ -633,7 +660,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-17 06:32:20.483322663 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/rk3326-gameconsole-r3xs.dtsi 2024-03-24 22:46:19.201959013 +0000 @@ -0,0 +1,545 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* @@ -1180,829 +1207,9 @@ 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 1969-12-31 19:00:00.000000000 -0500 -+++ linux/arch/arm64/boot/dts/rockchip/rk3326-magicx-xu10.dts 2024-03-02 10:29:31.858552489 -0500 +--- 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-03-24 22:06:51.765765505 +0000 @@ -0,0 +1,870 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* @@ -2875,8 +2082,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-15 14:44:49.334307319 +0000 -+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi 2024-02-17 06:32:20.487322762 +0000 +--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi 2024-03-24 22:02:58.858657776 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go.dtsi 2024-03-24 22:46:19.201959013 +0000 @@ -25,93 +25,40 @@ compatible = "pwm-backlight"; power-supply = <&vcc_bl>; @@ -3033,8 +2240,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-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 +--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts 2024-03-24 22:02:58.858657776 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2-v11.dts 2024-03-24 22:06:51.769765630 +0000 @@ -16,31 +16,187 @@ mmc1 = &sdio; }; @@ -3316,8 +2523,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-15 14:44:49.334307319 +0000 -+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts 2024-02-17 06:32:20.487322762 +0000 +--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts 2024-03-24 22:02:58.858657776 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go2.dts 2024-03-24 22:06:51.785766128 +0000 @@ -12,30 +12,175 @@ model = "ODROID-GO Advance"; compatible = "hardkernel,rk3326-odroid-go2", "rockchip,rk3326"; @@ -3550,8 +2757,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-15 14:44:49.334307319 +0000 -+++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts 2024-02-17 06:32:20.487322762 +0000 +--- linux.orig/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts 2024-03-24 22:02:58.858657776 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/rk3326-odroid-go3.dts 2024-03-24 22:06:51.789766253 +0000 @@ -12,67 +12,196 @@ model = "ODROID-GO Super"; compatible = "hardkernel,rk3326-odroid-go3", "rockchip,rk3326"; @@ -3861,7 +3068,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-17 06:32:20.487322762 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb10.dts 2024-03-24 22:06:51.793766378 +0000 @@ -0,0 +1,280 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* @@ -4145,7 +3352,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-17 06:32:20.487322762 +0000 ++++ linux/arch/arm64/boot/dts/rockchip/rk3326-powkiddy-rgb20s.dts 2024-03-24 22:06:51.793766378 +0000 @@ -0,0 +1,340 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) +/* diff --git a/projects/Rockchip/patches/linux/RK3326/001-panel-updates.patch b/projects/Rockchip/patches/linux/RK3326/001-panel-updates.patch index 7538dbdd5..76d589cf8 100644 --- a/projects/Rockchip/patches/linux/RK3326/001-panel-updates.patch +++ b/projects/Rockchip/patches/linux/RK3326/001-panel-updates.patch @@ -1,116 +1,166 @@ 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-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 +--- linux.orig/drivers/gpu/drm/panel/panel-elida-kd35t133.c 2024-03-24 22:31:45.518700301 +0000 ++++ linux/drivers/gpu/drm/panel/panel-elida-kd35t133.c 2024-03-24 22:35:50.122871690 +0000 +@@ -1,6 +1,6 @@ + // SPDX-License-Identifier: GPL-2.0 + /* +- * Elida kd35t133 3.5" MIPI-DSI panel driver ++ * Elida kd35t133 5.5" MIPI-DSI panel driver + * Copyright (C) 2020 Theobroma Systems Design und Consulting GmbH + * + * based on +@@ -43,6 +43,7 @@ struct kd35t133 { + struct regulator *vdd; + struct regulator *iovcc; + enum drm_panel_orientation orientation; ++ bool prepared; + }; + + static inline struct kd35t133 *panel_to_kd35t133(struct drm_panel *panel) +@@ -90,6 +91,9 @@ static int kd35t133_unprepare(struct drm + struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); + int ret; + ++ if (!ctx->prepared) ++ return 0; ++ + ret = mipi_dsi_dcs_set_display_off(dsi); + if (ret < 0) + dev_err(ctx->dev, "failed to set display off: %d\n", ret); +@@ -105,6 +109,10 @@ static int kd35t133_unprepare(struct drm regulator_disable(ctx->iovcc); regulator_disable(ctx->vdd); + gpiod_set_value_cansleep(ctx->reset_gpio, 1); + - ctx->prepared = false; ++ ctx->prepared = false; ++ + return 0; + } +@@ -114,6 +122,9 @@ static int kd35t133_prepare(struct drm_p + struct mipi_dsi_device *dsi = to_mipi_dsi_device(ctx->dev); + int ret; + ++ if (ctx->prepared) ++ return 0; ++ + dev_dbg(ctx->dev, "Resetting the panel\n"); + ret = regulator_enable(ctx->vdd); + if (ret < 0) { +@@ -157,6 +168,8 @@ static int kd35t133_prepare(struct drm_p + + msleep(50); + ++ ctx->prepared = true; ++ 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-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; - u32 bus_flags; -+ u32 mode_flags; - }; - struct panel_nv3051d { -@@ -387,15 +388,7 @@ static int panel_nv3051d_probe(struct mi - - dsi->lanes = 4; - dsi->format = MIPI_DSI_FMT_RGB888; -- dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | -- MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET; -- -- /* -- * The panel in the RG351V is identical to the 353P, except it -- * requires MIPI_DSI_CLOCK_NON_CONTINUOUS to operate correctly. -- */ -- if (of_device_is_compatible(dev->of_node, "anbernic,rg351v-panel")) -- dsi->mode_flags |= MIPI_DSI_CLOCK_NON_CONTINUOUS; -+ dsi->mode_flags = ctx->panel_info->mode_flags; - - drm_panel_init(&ctx->panel, &dsi->dev, &panel_nv3051d_funcs, - DRM_MODE_CONNECTOR_DSI); -@@ -483,16 +476,57 @@ static const struct drm_display_mode nv3 + disable_iovcc: +@@ -200,6 +213,11 @@ static int kd35t133_get_modes(struct drm + connector->display_info.width_mm = mode->width_mm; + connector->display_info.height_mm = mode->height_mm; + drm_mode_probed_add(connector, mode); ++ /* ++ * TODO: Remove once all drm drivers call ++ * drm_connector_set_orientation_from_panel() ++ */ ++ drm_connector_set_panel_orientation(connector, ctx->orientation); + + return 1; + } +@@ -285,11 +303,27 @@ static int kd35t133_probe(struct mipi_ds + return 0; + } + ++static void kd35t133_shutdown(struct mipi_dsi_device *dsi) ++{ ++ struct kd35t133 *ctx = mipi_dsi_get_drvdata(dsi); ++ int ret; ++ ++ ret = drm_panel_unprepare(&ctx->panel); ++ if (ret < 0) ++ dev_err(&dsi->dev, "Failed to unprepare panel: %d\n", ret); ++ ++ ret = drm_panel_disable(&ctx->panel); ++ if (ret < 0) ++ dev_err(&dsi->dev, "Failed to disable panel: %d\n", ret); ++} ++ + static void kd35t133_remove(struct mipi_dsi_device *dsi) + { + struct kd35t133 *ctx = mipi_dsi_get_drvdata(dsi); + int ret; + ++ kd35t133_shutdown(dsi); ++ + ret = mipi_dsi_detach(dsi); + if (ret < 0) + dev_err(&dsi->dev, "Failed to detach from DSI host: %d\n", ret); +@@ -310,6 +344,7 @@ static struct mipi_dsi_driver kd35t133_d }, + .probe = kd35t133_probe, + .remove = kd35t133_remove, ++ .shutdown = kd35t133_shutdown, + }; + module_mipi_dsi_driver(kd35t133_driver); + +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-03-24 22:31:45.518700301 +0000 ++++ linux/drivers/gpu/drm/panel/panel-newvision-nv3051d.c 2024-03-24 22:36:35.760177192 +0000 +@@ -477,18 +477,18 @@ static const struct drm_display_mode nv3 }; --static const struct nv3051d_panel_info nv3051d_rgxx3_info = { -+static const struct drm_display_mode nv3051d_rk2023_modes[] = { + static const struct drm_display_mode nv3051d_rk2023_modes[] = { +- { + { -+ .hdisplay = 640, + .hdisplay = 640, +- .hsync_start = 640 + 40, +- .hsync_end = 640 + 40 + 2, +- .htotal = 640 + 40 + 2 + 80, + .hsync_start = 640 + 48, + .hsync_end = 640 + 48 + 2, + .htotal = 640 + 48 + 2 + 47, -+ .vdisplay = 480, + .vdisplay = 480, +- .vsync_start = 480 + 18, +- .vsync_end = 480 + 18 + 2, +- .vtotal = 480 + 18 + 2 + 4, +- .clock = 24150, + .vsync_start = 480 + 2, + .vsync_end = 480 + 2 + 4, + .vtotal = 480 + 2 + 4 + 3, + .clock = 21600, -+ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, + .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC, +- }, + } -+}; -+ -+static const struct nv3051d_panel_info nv3051d_rg351v_info = { -+ .display_modes = nv3051d_rgxx3_modes, -+ .num_modes = ARRAY_SIZE(nv3051d_rgxx3_modes), -+ .width_mm = 70, -+ .height_mm = 57, -+ .bus_flags = DRM_BUS_FLAG_DE_LOW | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, -+ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | -+ MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET | -+ MIPI_DSI_CLOCK_NON_CONTINUOUS, -+}; -+ -+static const struct nv3051d_panel_info nv3051d_rg353p_info = { - .display_modes = nv3051d_rgxx3_modes, - .num_modes = ARRAY_SIZE(nv3051d_rgxx3_modes), - .width_mm = 70, + }; + + static const struct nv3051d_panel_info nv3051d_rg351v_info = { +@@ -519,7 +519,8 @@ static const struct nv3051d_panel_info n .height_mm = 57, .bus_flags = DRM_BUS_FLAG_DE_LOW | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, -+ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | -+ MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET, -+}; -+ -+static const struct nv3051d_panel_info nv3051d_rk2023_info = { -+ .display_modes = nv3051d_rk2023_modes, -+ .num_modes = ARRAY_SIZE(nv3051d_rk2023_modes), -+ .width_mm = 70, -+ .height_mm = 57, -+ .bus_flags = DRM_BUS_FLAG_DE_LOW | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE, -+ .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | + .mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST | +- MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET, + MIPI_DSI_MODE_LPM | MIPI_DSI_MODE_NO_EOT_PACKET | + MIPI_DSI_CLOCK_NON_CONTINUOUS, }; static const struct of_device_id newvision_nv3051d_of_match[] = { -- { .compatible = "newvision,nv3051d", .data = &nv3051d_rgxx3_info }, -+ { .compatible = "anbernic,rg351v-panel", .data = &nv3051d_rg351v_info }, -+ { .compatible = "anbernic,rg353p-panel", .data = &nv3051d_rg353p_info }, -+ { .compatible = "powkiddy,rk2023-panel", .data = &nv3051d_rk2023_info }, - { /* sentinel */ } - }; - 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-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 @@ +--- linux.orig/drivers/gpu/drm/panel/panel-sitronix-st7703.c 2024-03-24 22:31:45.522700434 +0000 ++++ linux/drivers/gpu/drm/panel/panel-sitronix-st7703.c 2024-03-24 23:06:31.765308941 +0000 +@@ -13,8 +13,9 @@ #include #include #include -#include +#include #include ++#include #include