From 484b23f7a04d68954e73596852074710c08053ce Mon Sep 17 00:00:00 2001
From: Martijn Braam <martijn@brixit.nl>
Date: Wed, 15 Jun 2022 17:38:38 +0200
Subject: [PATCH 1/4] device/pine64-pinephonepro: Move to commmunity (MR 3238)

---
 device/{testing => community}/device-pine64-pinephonepro/APKBUILD | 0
 .../device-pine64-pinephonepro.post-install                       | 0
 .../device-pine64-pinephonepro.post-upgrade                       | 0
 .../{testing => community}/device-pine64-pinephonepro/deviceinfo  | 0
 device/{testing => community}/device-pine64-pinephonepro/grub.cfg | 0
 .../device-pine64-pinephonepro/grub_early.cfg                     | 0
 device/{testing => community}/device-pine64-pinephonepro/ppkb.sh  | 0
 .../device-pine64-pinephonepro/ucm/HiFi.conf                      | 0
 .../device-pine64-pinephonepro/ucm/PinePhonePro.conf              | 0
 .../device-pine64-pinephonepro/ucm/VoiceCall.conf                 | 0
 device/{testing => community}/linux-pine64-pinephonepro/APKBUILD  | 0
 .../linux-pine64-pinephonepro/config-pine64-pinephonepro.aarch64  | 0
 12 files changed, 0 insertions(+), 0 deletions(-)
 rename device/{testing => community}/device-pine64-pinephonepro/APKBUILD (100%)
 rename device/{testing => community}/device-pine64-pinephonepro/device-pine64-pinephonepro.post-install (100%)
 rename device/{testing => community}/device-pine64-pinephonepro/device-pine64-pinephonepro.post-upgrade (100%)
 rename device/{testing => community}/device-pine64-pinephonepro/deviceinfo (100%)
 rename device/{testing => community}/device-pine64-pinephonepro/grub.cfg (100%)
 rename device/{testing => community}/device-pine64-pinephonepro/grub_early.cfg (100%)
 rename device/{testing => community}/device-pine64-pinephonepro/ppkb.sh (100%)
 rename device/{testing => community}/device-pine64-pinephonepro/ucm/HiFi.conf (100%)
 rename device/{testing => community}/device-pine64-pinephonepro/ucm/PinePhonePro.conf (100%)
 rename device/{testing => community}/device-pine64-pinephonepro/ucm/VoiceCall.conf (100%)
 rename device/{testing => community}/linux-pine64-pinephonepro/APKBUILD (100%)
 rename device/{testing => community}/linux-pine64-pinephonepro/config-pine64-pinephonepro.aarch64 (100%)

diff --git a/device/testing/device-pine64-pinephonepro/APKBUILD b/device/community/device-pine64-pinephonepro/APKBUILD
similarity index 100%
rename from device/testing/device-pine64-pinephonepro/APKBUILD
rename to device/community/device-pine64-pinephonepro/APKBUILD
diff --git a/device/testing/device-pine64-pinephonepro/device-pine64-pinephonepro.post-install b/device/community/device-pine64-pinephonepro/device-pine64-pinephonepro.post-install
similarity index 100%
rename from device/testing/device-pine64-pinephonepro/device-pine64-pinephonepro.post-install
rename to device/community/device-pine64-pinephonepro/device-pine64-pinephonepro.post-install
diff --git a/device/testing/device-pine64-pinephonepro/device-pine64-pinephonepro.post-upgrade b/device/community/device-pine64-pinephonepro/device-pine64-pinephonepro.post-upgrade
similarity index 100%
rename from device/testing/device-pine64-pinephonepro/device-pine64-pinephonepro.post-upgrade
rename to device/community/device-pine64-pinephonepro/device-pine64-pinephonepro.post-upgrade
diff --git a/device/testing/device-pine64-pinephonepro/deviceinfo b/device/community/device-pine64-pinephonepro/deviceinfo
similarity index 100%
rename from device/testing/device-pine64-pinephonepro/deviceinfo
rename to device/community/device-pine64-pinephonepro/deviceinfo
diff --git a/device/testing/device-pine64-pinephonepro/grub.cfg b/device/community/device-pine64-pinephonepro/grub.cfg
similarity index 100%
rename from device/testing/device-pine64-pinephonepro/grub.cfg
rename to device/community/device-pine64-pinephonepro/grub.cfg
diff --git a/device/testing/device-pine64-pinephonepro/grub_early.cfg b/device/community/device-pine64-pinephonepro/grub_early.cfg
similarity index 100%
rename from device/testing/device-pine64-pinephonepro/grub_early.cfg
rename to device/community/device-pine64-pinephonepro/grub_early.cfg
diff --git a/device/testing/device-pine64-pinephonepro/ppkb.sh b/device/community/device-pine64-pinephonepro/ppkb.sh
similarity index 100%
rename from device/testing/device-pine64-pinephonepro/ppkb.sh
rename to device/community/device-pine64-pinephonepro/ppkb.sh
diff --git a/device/testing/device-pine64-pinephonepro/ucm/HiFi.conf b/device/community/device-pine64-pinephonepro/ucm/HiFi.conf
similarity index 100%
rename from device/testing/device-pine64-pinephonepro/ucm/HiFi.conf
rename to device/community/device-pine64-pinephonepro/ucm/HiFi.conf
diff --git a/device/testing/device-pine64-pinephonepro/ucm/PinePhonePro.conf b/device/community/device-pine64-pinephonepro/ucm/PinePhonePro.conf
similarity index 100%
rename from device/testing/device-pine64-pinephonepro/ucm/PinePhonePro.conf
rename to device/community/device-pine64-pinephonepro/ucm/PinePhonePro.conf
diff --git a/device/testing/device-pine64-pinephonepro/ucm/VoiceCall.conf b/device/community/device-pine64-pinephonepro/ucm/VoiceCall.conf
similarity index 100%
rename from device/testing/device-pine64-pinephonepro/ucm/VoiceCall.conf
rename to device/community/device-pine64-pinephonepro/ucm/VoiceCall.conf
diff --git a/device/testing/linux-pine64-pinephonepro/APKBUILD b/device/community/linux-pine64-pinephonepro/APKBUILD
similarity index 100%
rename from device/testing/linux-pine64-pinephonepro/APKBUILD
rename to device/community/linux-pine64-pinephonepro/APKBUILD
diff --git a/device/testing/linux-pine64-pinephonepro/config-pine64-pinephonepro.aarch64 b/device/community/linux-pine64-pinephonepro/config-pine64-pinephonepro.aarch64
similarity index 100%
rename from device/testing/linux-pine64-pinephonepro/config-pine64-pinephonepro.aarch64
rename to device/community/linux-pine64-pinephonepro/config-pine64-pinephonepro.aarch64
-- 
GitLab


From b58b7cfbd4e82ab2f2b3d186300914e02fc41a50 Mon Sep 17 00:00:00 2001
From: Martijn Braam <martijn@brixit.nl>
Date: Wed, 15 Jun 2022 17:39:35 +0200
Subject: [PATCH 2/4] device/pine64-pinephonepro: fix calling (MR 3238)

---
 .../90-modem-eg25.rules                       |  12 ++
 .../device-pine64-pinephonepro/APKBUILD       |  26 ++-
 .../device-pine64-pinephonepro/setup-modem.sh |  32 ++++
 .../device-pine64-pinephonepro/ucm/HiFi.conf  | 120 ++++++++++++--
 ...honePro.conf => PINE64-PinePhonePro-.conf} |   2 +-
 .../ucm/VoiceCall.conf                        | 154 +++++++++++-------
 6 files changed, 264 insertions(+), 82 deletions(-)
 create mode 100644 device/community/device-pine64-pinephonepro/90-modem-eg25.rules
 create mode 100644 device/community/device-pine64-pinephonepro/setup-modem.sh
 rename device/community/device-pine64-pinephonepro/ucm/{PinePhonePro.conf => PINE64-PinePhonePro-.conf} (90%)

diff --git a/device/community/device-pine64-pinephonepro/90-modem-eg25.rules b/device/community/device-pine64-pinephonepro/90-modem-eg25.rules
new file mode 100644
index 00000000000..2f62b3e0f0e
--- /dev/null
+++ b/device/community/device-pine64-pinephonepro/90-modem-eg25.rules
@@ -0,0 +1,12 @@
+SUBSYSTEMS=="usb", ENV{.LOCAL_ifNum}="$attr{bInterfaceNumber}"
+
+SUBSYSTEMS=="usb", KERNEL=="ttyUSB[0-9]*", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ENV{.LOCAL_ifNum}=="01", SYMLINK+="EG25.NMEA", MODE="0660"
+SUBSYSTEMS=="usb", KERNEL=="ttyUSB[0-9]*", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ENV{.LOCAL_ifNum}=="02", SYMLINK+="EG25.AT", MODE="0660"
+SUBSYSTEMS=="usb", KERNEL=="ttyUSB[0-9]*", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ENV{.LOCAL_ifNum}=="03", SYMLINK+="EG25.MODEM", MODE="0660"
+
+ACTION=="add", SUBSYSTEM=="tty", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ENV{.LOCAL_ifNum}=="02", RUN+="/usr/bin/pinephone_setup-modem '%E{DEVNAME}'"
+
+ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ATTRS{serial}=="0123456789ABCDEF", ATTR{power/persist}="1", ATTR{power/control}="on"
+
+ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ATTRS{serial}=="community_fw", ATTR{power/persist}="1", ATTR{power/control}="on"
+
diff --git a/device/community/device-pine64-pinephonepro/APKBUILD b/device/community/device-pine64-pinephonepro/APKBUILD
index 186708a0e1a..f4f8fed6099 100644
--- a/device/community/device-pine64-pinephonepro/APKBUILD
+++ b/device/community/device-pine64-pinephonepro/APKBUILD
@@ -2,8 +2,8 @@
 # Maintainer: Martijn Braam <martijn@brixit.nl>
 pkgname=device-pine64-pinephonepro
 pkgdesc="PINE64 PinePhone Pro"
-pkgver=2.1
-pkgrel=2
+pkgver=3.0
+pkgrel=0
 url="https://postmarketos.org"
 license="MIT"
 arch="aarch64"
@@ -31,13 +31,15 @@ install="
 	$pkgname.post-upgrade
 	"
 source="
+	90-modem-eg25.rules
 	deviceinfo
 	grub.cfg
 	grub_early.cfg
 	ucm/HiFi.conf
-	ucm/PinePhonePro.conf
+	ucm/PINE64-PinePhonePro-.conf
 	ucm/VoiceCall.conf
 	ppkb.sh
+	setup-modem.sh
 	"
 
 build() {
@@ -74,16 +76,24 @@ build() {
 package() {
 	devicepkg_package $startdir $pkgname
 
+	# Grub / bootloader
 	install -Dm644 -t "$pkgdir"/boot/grub \
 		"$srcdir"/grub.cfg
 	install -Dm644 -t "$pkgdir"/boot/EFI/Boot \
 		"$srcdir"/bootaa64.efi
 
+	# Alsa usecase manager config
 	install -Dm644 -t "$pkgdir"/usr/share/alsa/ucm2/conf.d/simple-card \
-		"$srcdir"/PinePhonePro.conf \
+		"$srcdir"/PINE64-PinePhonePro-.conf \
 		"$srcdir"/HiFi.conf \
 		"$srcdir"/VoiceCall.conf
 
+	# Modem
+	install -Dm755 "$srcdir"/setup-modem.sh \
+		"$pkgdir"/usr/bin/pinephone_setup-modem
+	install -Dm644 "$srcdir"/90-modem-eg25.rules -t \
+		"$pkgdir"/usr/lib/udev/rules.d/
+
 	# Keyboard config
 	install -Dm755 "$srcdir"/ppkb.sh "$pkgdir"/etc/profile.d/ppkb.sh
 }
@@ -101,11 +111,13 @@ nonfree_firmware() {
 }
 
 sha512sums="
+fdfa807c0de33aee3deb09ee25c37a58fa970ce71483e52f21793717cb89adeb74f251ff1a2c2086361e3e58877f8b2e5643f24186b1a537acf9c16e3419313c  90-modem-eg25.rules
 195ea87f346e09b781d7925bcb7752a25d27f4396e1512ae15582526c062261516f918703c633730f56becb9f5c94020cc46ef6dc9d960b4a29208f03e3b70b8  deviceinfo
 e69752fc7f2b8552ba2e1e6da5b6bec0e284c7f14bc09576c862faeb5154a44522535a919ae5aca33a22fd14557e802595a7c96c59b9362c5ac5b991a8eac5fc  grub.cfg
 0f9357d4eea089628fbceb1e3e96d21a3f4329aeb6743158a6f877f967ef274506404eba949d5f01b7e1adea149f9a3aef992a5e8cd4181f93ab00909b1c5ecd  grub_early.cfg
-ac22c856af81d00aa6a349b68cf9e8645bf38277d9aafd07f1f46f5f932f48d37b9dfdcc8772fff4027f914c9b4c3b4a11c51bd9f2aa1abbc53abd3f54adb818  HiFi.conf
-c57dae885c9a5f366f18b38a3ce3e21627baaf014724537eced9e8d6ac3ca61ade42b9fcf84db350b1e64742760e8cf4fe10639d41052387927238e85c3c4769  PinePhonePro.conf
-e978876bda8874e30df75c80554ccbbc0dd202c852ecae0b5c1a0d845402a630962afc2691c6f7d5f478fb0e4be045af4ef62ad0b1ce77f62fe2f155dc0a9cff  VoiceCall.conf
+1684514a6b814a83473e9da8855fd776cf3f31a2be1f8834c370f710428b4ee305559e275be52894d167ccd1e32f8f1c8586f8a072f19e44b46caec9f504d453  HiFi.conf
+71786596492f3ec176806a2f85b974cb13ca1482cd695a2ebc480c29a86d2ff47b0386776b8d7f8ed56c1f8c48886e15f583c4bb9811240ef8b486527b4bbd89  PINE64-PinePhonePro-.conf
+deb360baf914e1c917403d5e26291b9e9d27426876232ab753e4ebfe367423206f1fc01b85d195aa69fb4b51bcaed023423d0fcc0d73fa1bedd5fbe7b17f0fb5  VoiceCall.conf
 43f67e94491791685cdbb4874bb3034b1d297bdf3d23e7405c45ba8c58de72b4fb6a9943b79f46ef7b8f4dbc4d9db254ebec8eb3453d720a5a8fad277c6a9d88  ppkb.sh
+420ee1d7522d4d56c2909580fd6ba7580483ca5455b13eb6d22e700063ce0c1a5c6d2f5b161dfce0d777636fe9a712aa82f38a0585f2feabea3785b02bae7515  setup-modem.sh
 "
diff --git a/device/community/device-pine64-pinephonepro/setup-modem.sh b/device/community/device-pine64-pinephonepro/setup-modem.sh
new file mode 100644
index 00000000000..71c894a3006
--- /dev/null
+++ b/device/community/device-pine64-pinephonepro/setup-modem.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+log() {
+	echo "$@" | logger -t "postmarketOS:modem-setup"
+}
+
+QMBNCFG_CONFIG="1"
+
+if [ -z "$1" ]
+then
+	DEV="/dev/EG25.AT"
+else
+	DEV="$1"
+fi
+
+# Read current config
+QMBNCFG_ACTUAL_CONFIG=$(echo 'AT+QMBNCFG="AutoSel"' | atinout - $DEV -)
+
+if echo $QMBNCFG_ACTUAL_CONFIG | grep -q $QMBNCFG_CONFIG
+then
+	log "Modem already configured"
+	exit 0
+fi
+
+
+# Configure VoLTE auto selecting profile
+RET=$(echo "AT+QMBNCFG=\"AutoSel\",$QMBNCFG_CONFIG" | atinout - $DEV -)
+if ! echo $RET | grep -q OK
+then
+	log "Failed to enable VoLTE profile auto selecting: $RET"
+	exit 1
+fi
diff --git a/device/community/device-pine64-pinephonepro/ucm/HiFi.conf b/device/community/device-pine64-pinephonepro/ucm/HiFi.conf
index 5de545bb483..3a125a905e6 100644
--- a/device/community/device-pine64-pinephonepro/ucm/HiFi.conf
+++ b/device/community/device-pine64-pinephonepro/ucm/HiFi.conf
@@ -1,10 +1,15 @@
 SectionVerb {
 	EnableSequence [
-		### Default rt5640 configuration, copied from /codecs/rt5640/EnableSeq.conf ###
+		# First of all, disable the internal speaker amplifier
+		cset "name='Internal Speaker Switch' off"
+
+		### Based on /codecs/rt5640/EnableSeq.conf ###
 
 		# RT5640 default output routing
 		cset "name='DAC MIXL INF1 Switch' on"
 		cset "name='DAC MIXR INF1 Switch' on"
+		cset "name='DAC MIXL Stereo ADC Switch' off"
+		cset "name='DAC MIXR Stereo ADC Switch' off"
 		cset "name='Stereo DAC MIXL DAC L1 Switch' on"
 		cset "name='Stereo DAC MIXR DAC R1 Switch' on"
 		cset "name='Stereo DAC MIXL DAC L2 Switch' on"
@@ -34,23 +39,29 @@ SectionVerb {
 		cset "name='Mono ADC R2 Mux' DMIC R1"
 		cset "name='Mono ADC Capture Switch' on"
 
+		# Set capture volume to 0dB so modem audio doesn't overdrive the ADC
+		cset "name='ADC Capture Volume' 47"
+		cset "name='Mono ADC Capture Volume' 47"
+
 		# The second 'Mono ADC' path does not have a 'Boost Gain',
 		# set this to 0dB so that the volume of the AIF1 and AIF2 paths is equal.
 		cset "name='ADC Boost Gain' 0"
 
-		# Set IN1/IN3 internal mic boost to 8 (max)
+		# Set IN1 internal mic boost to 8 (max)
 		# Set IN2 headset-mic boost to 1, headset mics are quite loud
+		# Set IN3 (modem audio) boost to 0 as it's already loud enough
 		cset "name='IN1 Boost' 8"
 		cset "name='IN2 Boost' 1"
-		# cset "name='IN3 Boost' 8"
+		cset "name='IN3 Boost' 0"
 
 		# Start with all controls which are used by the individual
 		# input/output Enable/DisableSequences off
 
 		cset "name='RECMIXL BST1 Switch' off"
 		cset "name='RECMIXR BST1 Switch' off"
-		cset "name='RECMIXL BST2 Switch' off"
-		cset "name='RECMIXR BST2 Switch' off"
+		# IN2 is headset mic, make sure its route is enabled
+		cset "name='RECMIXL BST2 Switch' on"
+		cset "name='RECMIXR BST2 Switch' on"
 		cset "name='RECMIXL BST3 Switch' off"
 		cset "name='RECMIXR BST3 Switch' off"
 
@@ -63,6 +74,9 @@ SectionVerb {
 		cset "name='Mono ADC MIXL ADC2 Switch' off"
 		cset "name='Mono ADC MIXR ADC2 Switch' off"
 
+		# Limit amplification factor of earpiece amplifier so sound stays clear
+		cset "name='Class D SPK Ratio Control' 1.66x"
+
 		# Turn off playback switches by default, otherwise both Speaker
 		# and headphones are playing audio initially until headphones are
 		# re-inserted.
@@ -71,26 +85,27 @@ SectionVerb {
 		cset "name='Speaker L Playback Switch' off"
 		cset "name='Speaker R Playback Switch' off"
 
-		### PinePhonePro specific configuration ###
-
-		# Set capture volume to 0dB so modem audio doesn't overdrive the ADC
-		cset "name='ADC Capture Volume' 47"
-		cset "name='Mono ADC Capture Volume' 47"
-		# Modem audio is line level, no need to boost this signal
-		cset "name='IN3 Boost' 0"
-
 		# MONO output is used as IN3 here, so make sure it's disabled
 		cset "name='Mono Playback Switch' off"
 
 		# Set playback volumes to 0dB
 		cset "name='HP Playback Volume' 31"
 		cset "name='Speaker Playback Volume' 31"
-
-		# Limit amplification factor of earpiece amplifier so sound stays clear
-		cset "name='Class D SPK Ratio Control' 1.66x"
 	]
 
 	DisableSequence [
+		# Turn off all output channels
+		cset "name='HP L Playback Switch' off"
+		cset "name='HP R Playback Switch' off"
+		cset "name='HP Channel Switch' off"
+		cset "name='HPO MIX HPVOL Switch'  off"
+		cset "name='Speaker L Playback Switch' off"
+		cset "name='Speaker R Playback Switch' off"
+		cset "name='Speaker Channel Switch' off"
+		cset "name='SPOL MIX SPKVOL L Switch' off"
+		cset "name='SPOL MIX SPKVOL R Switch' off"
+
+
 		# Reset output routing
 		cset "name='DAC MIXL INF1 Switch' off"
 		cset "name='DAC MIXR INF1 Switch' off"
@@ -109,6 +124,7 @@ SectionDevice."Earpiece" {
 	Comment "Internal Earpiece"
 
 	ConflictingDevice [
+		"Headphones"
 		"Speaker"
 	]
 
@@ -142,6 +158,39 @@ SectionDevice."Speaker" {
 
 	ConflictingDevice [
 		"Earpiece"
+		"Headphones"
+	]
+
+	EnableSequence [
+		cset "name='HPO MIX HPVOL Switch'  on"
+		cset "name='HP Channel Switch' on"
+		cset "name='HP L Playback Switch' on"
+		cset "name='HP R Playback Switch' on"
+		cset "name='Internal Speaker Switch' on"
+	]
+
+	DisableSequence [
+		cset "name='Internal Speaker Switch' off"
+		cset "name='HP Channel Switch' off"
+		cset "name='HP L Playback Switch' off"
+		cset "name='HP R Playback Switch' off"
+	]
+
+	Value {
+		PlaybackPriority 200
+		PlaybackPCM "hw:${CardId}"
+		PlaybackMixerElem "HP"
+		PlaybackVolume "HP Playback Volume"
+		PlaybackMasterElem "DAC1"
+	}
+}
+
+SectionDevice."Headphones" {
+	Comment "Headphones"
+
+	ConflictingDevice [
+		"Earpiece"
+		"Speaker"
 	]
 
 	EnableSequence [
@@ -160,16 +209,20 @@ SectionDevice."Speaker" {
 	Value {
 		PlaybackPriority 300
 		PlaybackPCM "hw:${CardId}"
-		JackControl "Headphone Jack"
+		JackControl "Headphones Jack"
 		PlaybackMixerElem "HP"
 		PlaybackVolume "HP Playback Volume"
 		PlaybackMasterElem "DAC1"
 	}
 }
 
-SectionDevice."DigitalMic" {
+SectionDevice."Mic" {
 	Comment "Internal Microphone"
 
+	ConflictingDevice [
+		"Headset"
+	]
+
 	EnableSequence [
 		cset "name='Mono ADC MIXL ADC2 Switch' on"
 		cset "name='Mono ADC MIXR ADC2 Switch' on"
@@ -184,9 +237,40 @@ SectionDevice."DigitalMic" {
 		cset "name='Stereo ADC MIXR ADC2 Switch' off"
 	]
 
+	Value {
+		CapturePriority 100
+		CapturePCM "hw:${CardId}"
+		CaptureMixerElem "ADC"
+		CaptureVolume "ADC Capture Volume"
+		CaptureSwitch "ADC Capture Switch"
+	}
+}
+
+SectionDevice."Headset" {
+	Comment "Headset Microphone"
+
+	ConflictingDevice [
+		"Mic"
+	]
+
+	EnableSequence [
+		cset "name='Mono ADC MIXL ADC1 Switch' on"
+		cset "name='Mono ADC MIXR ADC1 Switch' on"
+		cset "name='Stereo ADC MIXL ADC1 Switch' on"
+		cset "name='Stereo ADC MIXR ADC1 Switch' on"
+	]
+
+	DisableSequence [
+		cset "name='Mono ADC MIXL ADC1 Switch' off"
+		cset "name='Mono ADC MIXR ADC1 Switch' off"
+		cset "name='Stereo ADC MIXL ADC1 Switch' off"
+		cset "name='Stereo ADC MIXR ADC1 Switch' off"
+	]
+
 	Value {
 		CapturePriority 200
 		CapturePCM "hw:${CardId}"
+		JackControl "Headphones Jack"
 		CaptureMixerElem "ADC"
 		CaptureVolume "ADC Capture Volume"
 		CaptureSwitch "ADC Capture Switch"
diff --git a/device/community/device-pine64-pinephonepro/ucm/PinePhonePro.conf b/device/community/device-pine64-pinephonepro/ucm/PINE64-PinePhonePro-.conf
similarity index 90%
rename from device/community/device-pine64-pinephonepro/ucm/PinePhonePro.conf
rename to device/community/device-pine64-pinephonepro/ucm/PINE64-PinePhonePro-.conf
index c183543d894..18b544a8f48 100644
--- a/device/community/device-pine64-pinephonepro/ucm/PinePhonePro.conf
+++ b/device/community/device-pine64-pinephonepro/ucm/PINE64-PinePhonePro-.conf
@@ -6,7 +6,7 @@ SectionUseCase."HiFi" {
 	Comment "Default"
 }
 
-SectionUseCase."VoiceCall" {
+SectionUseCase."Voice Call" {
 	File "VoiceCall.conf"
 	Comment "Phone call"
 }
diff --git a/device/community/device-pine64-pinephonepro/ucm/VoiceCall.conf b/device/community/device-pine64-pinephonepro/ucm/VoiceCall.conf
index ea37145cc49..25bceade5a2 100644
--- a/device/community/device-pine64-pinephonepro/ucm/VoiceCall.conf
+++ b/device/community/device-pine64-pinephonepro/ucm/VoiceCall.conf
@@ -1,18 +1,23 @@
 SectionVerb {
 	EnableSequence [
-		### Default rt5640 configuration, copied from /codecs/rt5640/EnableSeq.conf ###
+		# First of all, disable the internal speaker amplifier
+		cset "name='Internal Speaker Switch' off"
 
-		# RT5640 default output routing
-		# cset "name='DAC MIXL INF1 Switch' on"
-		# cset "name='DAC MIXR INF1 Switch' on"
+		### Based on /codecs/rt5640/EnableSeq.conf ###
+
+		# Get audio only from the microphones, not the system
+		cset "name='DAC MIXL INF1 Switch' off"
+		cset "name='DAC MIXR INF1 Switch' off"
+		cset "name='DAC MIXL Stereo ADC Switch' on"
+		cset "name='DAC MIXR Stereo ADC Switch' on"
 		cset "name='Stereo DAC MIXL DAC L1 Switch' on"
 		cset "name='Stereo DAC MIXR DAC R1 Switch' on"
 		cset "name='Stereo DAC MIXL DAC L2 Switch' on"
 		cset "name='Stereo DAC MIXR DAC R2 Switch' on"
-		# cset "name='OUT MIXL DAC L1 Switch' on"
-		# cset "name='OUT MIXR DAC R1 Switch' on"
-		# cset "name='SPK MIXL DAC L1 Switch' on"
-		# cset "name='SPK MIXR DAC R1 Switch' on"
+		cset "name='OUT MIXL DAC L1 Switch' off"
+		cset "name='OUT MIXR DAC R1 Switch' off"
+		cset "name='SPK MIXL DAC L1 Switch' off"
+		cset "name='SPK MIXR DAC R1 Switch' off"
 
 		# uncomment to enable swap between AIF1 and AIF2
 		# warning: can only work with SSP0 firmware enabled
@@ -34,25 +39,32 @@ SectionVerb {
 		cset "name='Mono ADC R2 Mux' DMIC R1"
 		cset "name='Mono ADC Capture Switch' on"
 
+		# Set capture volume to 0dB so modem audio doesn't overdrive the ADC
+		cset "name='ADC Capture Volume' 47"
+		cset "name='Mono ADC Capture Volume' 47"
+
 		# The second 'Mono ADC' path does not have a 'Boost Gain',
 		# set this to 0dB so that the volume of the AIF1 and AIF2 paths is equal.
 		cset "name='ADC Boost Gain' 0"
 
-		# Set IN1/IN3 internal mic boost to 8 (max)
+		# Set IN1 internal mic boost to 8 (max)
 		# Set IN2 headset-mic boost to 1, headset mics are quite loud
+		# Set IN3 (modem audio) boost to 0 as it's already loud enough
 		cset "name='IN1 Boost' 8"
 		cset "name='IN2 Boost' 1"
-		# cset "name='IN3 Boost' 8"
+		cset "name='IN3 Boost' 0"
 
 		# Start with all controls which are used by the individual
 		# input/output Enable/DisableSequences off
 
 		cset "name='RECMIXL BST1 Switch' off"
 		cset "name='RECMIXR BST1 Switch' off"
-		# cset "name='RECMIXL BST2 Switch' off"
+		# IN2 is headset mic, make sure its routed to the left channel
+		cset "name='RECMIXL BST2 Switch' on"
 		cset "name='RECMIXR BST2 Switch' off"
+		# IN3 is modem audio, route it to the right channel
 		cset "name='RECMIXL BST3 Switch' off"
-		# cset "name='RECMIXR BST3 Switch' off"
+		cset "name='RECMIXR BST3 Switch' on"
 
 		cset "name='Stereo ADC MIXL ADC1 Switch' off"
 		cset "name='Stereo ADC MIXR ADC1 Switch' off"
@@ -63,40 +75,6 @@ SectionVerb {
 		cset "name='Mono ADC MIXL ADC2 Switch' off"
 		cset "name='Mono ADC MIXR ADC2 Switch' off"
 
-		# Turn off playback switches by default, otherwise both Speaker
-		# and headphones are playing audio initially until headphones are
-		# re-inserted.
-		cset "name='HP L Playback Switch' off"
-		cset "name='HP R Playback Switch' off"
-		cset "name='Speaker L Playback Switch' off"
-		cset "name='Speaker R Playback Switch' off"
-
-		### PinePhonePro specific configuration ###
-
-		# Get audio only from the microphones, not the system
-		cset "name='DAC MIXL INF1 Switch' off"
-		cset "name='DAC MIXR INF1 Switch' off"
-		cset "name='DAC MIXL Stereo ADC Switch' on"
-		cset "name='DAC MIXR Stereo ADC Switch' on"
-
-		# Route headset mic to the left channel and modem audio
-		# to the right channel
-		cset "name='RECMIXL BST2 Switch' on"
-		cset "name='RECMIXR BST3 Switch' on"
-
-		# Set capture volume to 0dB so modem audio doesn't overdrive the ADC
-		cset "name='ADC Capture Volume' 47"
-		cset "name='Mono ADC Capture Volume' 47"
-		# Modem audio is line level, no need to boost this signal
-		cset "name='IN3 Boost' 0"
-
-		# MONO output is used as IN3 here, so make sure it's disabled
-		cset "name='Mono Playback Switch' off"
-
-		# Set playback volumes to 0dB
-		cset "name='HP Playback Volume' 31"
-		cset "name='Speaker Playback Volume' 31"
-
 		# Limit amplification factor of earpiece amplifier so sound stays clear
 		cset "name='Class D SPK Ratio Control' 1.66x"
 
@@ -112,13 +90,35 @@ SectionVerb {
 		cset "name='LOUT MIX OUTVOL L Switch' off"
 		cset "name='LOUT MIX OUTVOL R Switch' off"
 
-		# Disable left channel for SPK (earpiece) and HP (speaker/headphones)
-		# outputs as we're only routing modem audio to the right channel
-		cset "name='SPOL MIX SPKVOL L Switch' off"
+		# Disable left channel for HP (speaker/headphones) output
+		# as we're only routing modem audio to the right channel
+		cset "name='HP L Playback Switch' off"
+
+		# Turn off playback switches by default, otherwise both Speaker
+		# and headphones are playing audio initially until headphones are
+		# re-inserted.
 		cset "name='HP L Playback Switch' off"
+		cset "name='HP R Playback Switch' off"
+		cset "name='Speaker L Playback Switch' off"
+		cset "name='Speaker R Playback Switch' off"
+
+		# MONO output is used as IN3 here, so make sure it's disabled
+		cset "name='Mono Playback Switch' off"
+
+		# Set playback volumes to 0dB
+		cset "name='HP Playback Volume' 31"
+		cset "name='Speaker Playback Volume' 31"
 	]
 
 	DisableSequence [
+		# Turn off all output channels
+		cset "name='HP L Playback Switch' off"
+		cset "name='HP R Playback Switch' off"
+		cset "name='HP Channel Switch' off"
+		cset "name='Speaker L Playback Switch' off"
+		cset "name='Speaker R Playback Switch' off"
+		cset "name='Speaker Channel Switch' off"
+
 		# Reset output routing
 		cset "name='DAC MIXL Stereo ADC Switch' off"
 		cset "name='DAC MIXR Stereo ADC Switch' off"
@@ -140,10 +140,12 @@ SectionDevice."Earpiece" {
 	Comment "Internal Earpiece"
 
 	ConflictingDevice [
+		"Headphones"
 		"Speaker"
 	]
 
 	EnableSequence [
+		cset "name='SPOL MIX SPKVOL L Switch' on"
 		# Send right channel to left as it's mono only
 		cset "name='SPOL MIX SPKVOL R Switch' on"
 		cset "name='Speaker Channel Switch' on"
@@ -156,7 +158,7 @@ SectionDevice."Earpiece" {
 	]
 
 	Value {
-		PlaybackPriority 300
+		PlaybackPriority 200
 		PlaybackPCM "hw:${CardId}"
 		PlaybackMixerElem "Speaker"
 		PlaybackVolume "Speaker Playback Volume"
@@ -169,15 +171,18 @@ SectionDevice."Speaker" {
 
 	ConflictingDevice [
 		"Earpiece"
+		"Headphones"
 	]
 
 	EnableSequence [
- 		cset "name='HPO MIX HPVOL Switch'  on"
+ 		cset "name='HPO MIX HPVOL Switch' on"
 		cset "name='HP Channel Switch' on"
 		cset "name='HP R Playback Switch' on"
+		cset "name='Internal Speaker Switch' on"
 	]
 
 	DisableSequence [
+		cset "name='Internal Speaker Switch' off"
 		cset "name='HP Channel Switch' off"
 		cset "name='HP R Playback Switch' off"
 	]
@@ -185,16 +190,48 @@ SectionDevice."Speaker" {
 	Value {
 		PlaybackPriority 100
 		PlaybackPCM "hw:${CardId}"
-		JackControl "Headphone Jack"
 		PlaybackMixerElem "HP"
 		PlaybackVolume "HP Playback Volume"
 		PlaybackMasterElem "DAC1"
 	}
 }
 
-SectionDevice."DigitalMic" {
+SectionDevice."Headphones" {
+	Comment "Headphones"
+
+	ConflictingDevice [
+		"Earpiece"
+		"Speaker"
+	]
+
+	EnableSequence [
+		cset "name='HPO MIX HPVOL Switch' on"
+		cset "name='HP Channel Switch' on"
+		cset "name='HP R Playback Switch' on"
+	]
+
+	DisableSequence [
+		cset "name='HP Channel Switch' off"
+		cset "name='HP R Playback Switch' off"
+	]
+
+	Value {
+		PlaybackPriority 300
+		PlaybackPCM "hw:${CardId}"
+		JackControl "Headphones Jack"
+		PlaybackMixerElem "HP"
+		PlaybackVolume "HP Playback Volume"
+		PlaybackMasterElem "DAC1"
+	}
+}
+
+SectionDevice."Mic" {
 	Comment "Internal Microphone"
 
+	ConflictingDevice [
+		"Headset"
+	]
+
 	EnableSequence [
 		cset "name='Stereo ADC MIXL ADC2 Switch' on"
 	]
@@ -204,7 +241,7 @@ SectionDevice."DigitalMic" {
 	]
 
 	Value {
-		CapturePriority 200
+		CapturePriority 100
 		CapturePCM "hw:${CardId}"
 		CaptureMixerElem "ADC"
 		CaptureVolume "ADC Capture Volume"
@@ -212,9 +249,13 @@ SectionDevice."DigitalMic" {
 	}
 }
 
-SectionDevice."HeadsetMic" {
+SectionDevice."Headset" {
 	Comment "Headset Microphone"
 
+	ConflictingDevice [
+		"Mic"
+	]
+
 	EnableSequence [
 		cset "name='Stereo ADC MIXL ADC1 Switch' on"
 	]
@@ -224,8 +265,9 @@ SectionDevice."HeadsetMic" {
 	]
 
 	Value {
-		CapturePriority 100
+		CapturePriority 200
 		CapturePCM "hw:${CardId}"
+		JackControl "Headphones Jack"
 		CaptureMixerElem "ADC"
 		CaptureVolume "ADC Capture Volume"
 		CaptureSwitch "ADC Capture Switch"
-- 
GitLab


From 11e959cc01e28852ef3b083d75d3edeb6e62996d Mon Sep 17 00:00:00 2001
From: Martijn Braam <martijn@brixit.nl>
Date: Thu, 16 Jun 2022 00:28:33 +0200
Subject: [PATCH 3/4] device/pine64-pinephonepro: fix up firmware (MR 3238)

Remove the firmware that was copied from the pine64-pinephone and add
the cdn-dp firmware for the rockchip platform.

[ci:skip-vercheck]
---
 device/community/device-pine64-pinephonepro/APKBUILD | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/device/community/device-pine64-pinephonepro/APKBUILD b/device/community/device-pine64-pinephonepro/APKBUILD
index f4f8fed6099..b7968f287be 100644
--- a/device/community/device-pine64-pinephonepro/APKBUILD
+++ b/device/community/device-pine64-pinephonepro/APKBUILD
@@ -12,7 +12,6 @@ options="!check !archcheck pmb:strict"
 depends="
 	alsa-ucm-conf>=1.2.6.2
 	eg25-manager>=0.4.2
-	iw
 	linux-pine64-pinephonepro
 	mesa-dri-gallium
 	postmarketos-base
@@ -102,10 +101,7 @@ nonfree_firmware() {
 	pkgdesc="Wifi, Bluetooth and video-out firmware"
 	depends="
 		firmware-pine64-pinebookpro
-		linux-firmware-rtlwifi
-		linux-firmware-rtl_bt
-		firmware-pine64-rtl8723bt
-		firmware-pine64-ov5640
+		linux-firmware-rockchip
 		"
 	mkdir "$subpkgdir"
 }
-- 
GitLab


From 560c92cff3cd55d4452a404d3f1d683b222371c8 Mon Sep 17 00:00:00 2001
From: Martijn Braam <martijn@brixit.nl>
Date: Thu, 16 Jun 2022 15:12:00 +0200
Subject: [PATCH 4/4] device/pine64-pinephonepro: clean up kconfig (MR 3238)

[ci:skip-vercheck]
[ci:skip-build]: already built successfully in CI
---
 .../linux-pine64-pinephonepro/APKBUILD        |   4 +-
 .../config-pine64-pinephonepro.aarch64        | 137 ++++++------------
 2 files changed, 47 insertions(+), 94 deletions(-)

diff --git a/device/community/linux-pine64-pinephonepro/APKBUILD b/device/community/linux-pine64-pinephonepro/APKBUILD
index b9f0b835220..d28b2955d0d 100644
--- a/device/community/linux-pine64-pinephonepro/APKBUILD
+++ b/device/community/linux-pine64-pinephonepro/APKBUILD
@@ -2,7 +2,7 @@
 
 pkgname=linux-pine64-pinephonepro
 pkgver=5.16.7
-pkgrel=1
+pkgrel=2
 pkgdesc="Mainline kernel for the pinephone pro"
 arch="aarch64"
 _flavor="${pkgname#linux-}"
@@ -78,5 +78,5 @@ package() {
 
 sha512sums="
 365697049c59f2d0baf27becd6d00da030ab931b16ef075ca9a227302adf741de55137a349d589edd8bd028f95f6e23417858cfefb9d9748ec5e36fc3b4205de  linux-ppp-5.16.7.tar.gz
-786b64241a720e7f174ccde3c04fc5c53b0b26858bfd654ac387c84b9398cb4e235f33b0e6d6a0173e6c208d1b5e1deb610d0f5d6645a82878c19e1ee81860dc  config-pine64-pinephonepro.aarch64
+caaf55702a8bc240b05f8148c02245fa0070d25511212a703590478fe66e6fc9e99e909379a8cc6027c9a58785f32e463e490193aec5f3de92f06338c32317d7  config-pine64-pinephonepro.aarch64
 "
diff --git a/device/community/linux-pine64-pinephonepro/config-pine64-pinephonepro.aarch64 b/device/community/linux-pine64-pinephonepro/config-pine64-pinephonepro.aarch64
index f4eacc81e9c..15cd6fa90a9 100644
--- a/device/community/linux-pine64-pinephonepro/config-pine64-pinephonepro.aarch64
+++ b/device/community/linux-pine64-pinephonepro/config-pine64-pinephonepro.aarch64
@@ -2,7 +2,7 @@
 # Automatically generated file; DO NOT EDIT.
 # Linux/arm64 5.16.7 Kernel Configuration
 #
-CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 11.2.1_git20220117) 11.2.1 20220117"
+CONFIG_CC_VERSION_TEXT="aarch64-alpine-linux-musl-gcc (Alpine 11.2.1_git20220219) 11.2.1 20220219"
 CONFIG_CC_IS_GCC=y
 CONFIG_GCC_VERSION=110201
 CONFIG_CLANG_VERSION=0
@@ -813,7 +813,7 @@ CONFIG_BLOCK_HOLDER_DEPRECATED=y
 # IO Schedulers
 #
 CONFIG_MQ_IOSCHED_DEADLINE=y
-CONFIG_MQ_IOSCHED_KYBER=m
+# CONFIG_MQ_IOSCHED_KYBER is not set
 CONFIG_IOSCHED_BFQ=m
 CONFIG_BFQ_GROUP_IOSCHED=y
 # CONFIG_BFQ_CGROUP_DEBUG is not set
@@ -1469,12 +1469,9 @@ CONFIG_NET_ACT_MPLS=m
 CONFIG_NET_ACT_VLAN=m
 CONFIG_NET_ACT_BPF=m
 CONFIG_NET_ACT_SKBMOD=m
-CONFIG_NET_ACT_IFE=m
+# CONFIG_NET_ACT_IFE is not set
 CONFIG_NET_ACT_TUNNEL_KEY=m
 CONFIG_NET_ACT_GATE=m
-CONFIG_NET_IFE_SKBMARK=m
-CONFIG_NET_IFE_SKBPRIO=m
-CONFIG_NET_IFE_SKBTCINDEX=m
 # CONFIG_NET_TC_SKB_EXT is not set
 CONFIG_NET_SCH_FIFO=y
 # CONFIG_DCB is not set
@@ -1601,16 +1598,12 @@ CONFIG_RFKILL=m
 CONFIG_RFKILL_LEDS=y
 CONFIG_RFKILL_INPUT=y
 CONFIG_RFKILL_GPIO=m
-CONFIG_NET_9P=m
-CONFIG_NET_9P_VIRTIO=m
-# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_NET_9P is not set
 # CONFIG_CAIF is not set
-CONFIG_CEPH_LIB=m
-# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
-# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+# CONFIG_CEPH_LIB is not set
 # CONFIG_NFC is not set
 CONFIG_PSAMPLE=m
-CONFIG_NET_IFE=m
+# CONFIG_NET_IFE is not set
 CONFIG_LWTUNNEL=y
 CONFIG_LWTUNNEL_BPF=y
 CONFIG_DST_CACHE=y
@@ -1722,7 +1715,7 @@ 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_CAPSULE_LOADER=m
 # CONFIG_EFI_TEST is not set
 # CONFIG_RESET_ATTACK_MITIGATION is not set
 # CONFIG_EFI_DISABLE_PCI_DMA is not set
@@ -1741,10 +1734,7 @@ CONFIG_ARM_SMCCC_SOC_ID=y
 # end of Tegra firmware driver
 # end of Firmware Drivers
 
-CONFIG_GNSS=m
-# CONFIG_GNSS_MTK_SERIAL is not set
-# CONFIG_GNSS_SIRF_SERIAL is not set
-# CONFIG_GNSS_UBX_SERIAL is not set
+# CONFIG_GNSS is not set
 # CONFIG_MTD is not set
 CONFIG_DTC=y
 CONFIG_OF=y
@@ -1772,16 +1762,15 @@ CONFIG_ZRAM_WRITEBACK=y
 CONFIG_ZRAM_MEMORY_TRACKING=y
 CONFIG_BLK_DEV_LOOP=m
 CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
-CONFIG_BLK_DEV_DRBD=m
-# CONFIG_DRBD_FAULT_INJECTION is not set
+# CONFIG_BLK_DEV_DRBD is not set
 CONFIG_BLK_DEV_NBD=m
 CONFIG_BLK_DEV_RAM=m
 CONFIG_BLK_DEV_RAM_COUNT=16
 CONFIG_BLK_DEV_RAM_SIZE=16384
 # CONFIG_CDROM_PKTCDVD is not set
-CONFIG_ATA_OVER_ETH=m
-CONFIG_VIRTIO_BLK=m
-CONFIG_BLK_DEV_RBD=m
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_VIRTIO_BLK is not set
+# CONFIG_BLK_DEV_RBD is not set
 
 #
 # NVME Support
@@ -1850,7 +1839,6 @@ CONFIG_RAID_ATTRS=m
 CONFIG_SCSI_COMMON=y
 CONFIG_SCSI=y
 CONFIG_SCSI_DMA=y
-CONFIG_SCSI_NETLINK=y
 # CONFIG_SCSI_PROC_FS is not set
 
 #
@@ -1861,7 +1849,7 @@ CONFIG_BLK_DEV_SD=m
 # CONFIG_BLK_DEV_SR is not set
 CONFIG_CHR_DEV_SG=m
 CONFIG_BLK_DEV_BSG=y
-CONFIG_CHR_DEV_SCH=m
+# CONFIG_CHR_DEV_SCH is not set
 CONFIG_SCSI_CONSTANTS=y
 CONFIG_SCSI_LOGGING=y
 CONFIG_SCSI_SCAN_ASYNC=y
@@ -1870,7 +1858,7 @@ CONFIG_SCSI_SCAN_ASYNC=y
 # SCSI Transports
 #
 CONFIG_SCSI_SPI_ATTRS=m
-CONFIG_SCSI_FC_ATTRS=m
+# CONFIG_SCSI_FC_ATTRS is not set
 CONFIG_SCSI_ISCSI_ATTRS=m
 CONFIG_SCSI_SAS_ATTRS=m
 CONFIG_SCSI_SAS_LIBSAS=m
@@ -1879,11 +1867,7 @@ CONFIG_SCSI_SRP_ATTRS=m
 # end of SCSI Transports
 
 # CONFIG_SCSI_LOWLEVEL is not set
-CONFIG_SCSI_DH=y
-CONFIG_SCSI_DH_RDAC=m
-CONFIG_SCSI_DH_HP_SW=m
-CONFIG_SCSI_DH_EMC=m
-CONFIG_SCSI_DH_ALUA=m
+# CONFIG_SCSI_DH is not set
 # end of SCSI device support
 
 CONFIG_HAVE_PATA_PLATFORM=y
@@ -1897,11 +1881,7 @@ CONFIG_MD_RAID10=m
 CONFIG_MD_RAID456=m
 CONFIG_MD_MULTIPATH=m
 CONFIG_MD_FAULTY=m
-CONFIG_MD_CLUSTER=m
-CONFIG_BCACHE=m
-# CONFIG_BCACHE_DEBUG is not set
-# CONFIG_BCACHE_CLOSURES_DEBUG is not set
-# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
+# CONFIG_BCACHE is not set
 CONFIG_BLK_DEV_DM_BUILTIN=y
 CONFIG_BLK_DEV_DM=m
 # CONFIG_DM_DEBUG is not set
@@ -1909,38 +1889,29 @@ CONFIG_DM_BUFIO=m
 # CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
 CONFIG_DM_BIO_PRISON=m
 CONFIG_DM_PERSISTENT_DATA=m
-CONFIG_DM_UNSTRIPED=m
+# CONFIG_DM_UNSTRIPED is not set
 CONFIG_DM_CRYPT=m
 CONFIG_DM_SNAPSHOT=m
 CONFIG_DM_THIN_PROVISIONING=m
-CONFIG_DM_CACHE=m
-CONFIG_DM_CACHE_SMQ=m
-CONFIG_DM_WRITECACHE=m
+# CONFIG_DM_CACHE is not set
+# CONFIG_DM_WRITECACHE is not set
 # CONFIG_DM_EBS is not set
-CONFIG_DM_ERA=m
-CONFIG_DM_CLONE=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_LOG_USERSPACE=m
-CONFIG_DM_RAID=m
-CONFIG_DM_ZERO=m
-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_ERA is not set
+# CONFIG_DM_CLONE is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_RAID is not set
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+# CONFIG_DM_DELAY is not set
 # CONFIG_DM_DUST is not set
 CONFIG_DM_UEVENT=y
-CONFIG_DM_FLAKEY=m
-CONFIG_DM_VERITY=m
-CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y
-# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING is not set
-# CONFIG_DM_VERITY_FEC is not set
-CONFIG_DM_SWITCH=m
-CONFIG_DM_LOG_WRITES=m
-CONFIG_DM_INTEGRITY=m
-CONFIG_DM_ZONED=m
-CONFIG_DM_AUDIT=y
+# CONFIG_DM_FLAKEY is not set
+# CONFIG_DM_VERITY is not set
+# CONFIG_DM_SWITCH is not set
+# CONFIG_DM_LOG_WRITES is not set
+# CONFIG_DM_INTEGRITY is not set
+# CONFIG_DM_ZONED is not set
+# CONFIG_DM_AUDIT is not set
 CONFIG_TARGET_CORE=m
 CONFIG_TCM_IBLOCK=m
 CONFIG_TCM_FILEIO=m
@@ -1982,7 +1953,7 @@ CONFIG_TUN=m
 CONFIG_TAP=m
 # CONFIG_TUN_VNET_CROSS_LE is not set
 CONFIG_VETH=m
-CONFIG_VIRTIO_NET=m
+# CONFIG_VIRTIO_NET is not set
 CONFIG_NLMON=m
 CONFIG_NET_VRF=m
 CONFIG_ETHERNET=y
@@ -2636,7 +2607,7 @@ CONFIG_SPI_DYNAMIC=y
 CONFIG_SPMI=m
 # CONFIG_SPMI_HISI3670 is not set
 # CONFIG_HSI is not set
-CONFIG_PPS=m
+CONFIG_PPS=y
 # CONFIG_PPS_DEBUG is not set
 
 #
@@ -3226,8 +3197,8 @@ CONFIG_CEC_NOTIFIER=y
 CONFIG_MEDIA_CEC_SUPPORT=y
 # CONFIG_CEC_CH7322 is not set
 # CONFIG_CEC_GPIO is not set
-CONFIG_USB_PULSE8_CEC=m
-CONFIG_USB_RAINSHADOW_CEC=m
+# CONFIG_USB_PULSE8_CEC is not set
+# CONFIG_USB_RAINSHADOW_CEC is not set
 # end of CEC support
 
 CONFIG_MEDIA_SUPPORT=m
@@ -3782,8 +3753,6 @@ CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y
 # end of Graphics support
 
 CONFIG_SOUND=m
-CONFIG_SOUND_OSS_CORE=y
-# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set
 CONFIG_SND=m
 CONFIG_SND_TIMER=m
 CONFIG_SND_PCM=m
@@ -3795,10 +3764,7 @@ CONFIG_SND_SEQ_DEVICE=m
 CONFIG_SND_RAWMIDI=m
 CONFIG_SND_JACK=y
 CONFIG_SND_JACK_INPUT_DEV=y
-CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=m
-CONFIG_SND_PCM_OSS=m
-CONFIG_SND_PCM_OSS_PLUGINS=y
+# CONFIG_SND_OSSEMUL is not set
 CONFIG_SND_PCM_TIMER=y
 CONFIG_SND_HRTIMER=m
 CONFIG_SND_DYNAMIC_MINORS=y
@@ -3810,7 +3776,6 @@ CONFIG_SND_VERBOSE_PRINTK=y
 # CONFIG_SND_DEBUG is not set
 CONFIG_SND_SEQUENCER=m
 CONFIG_SND_SEQ_DUMMY=m
-# CONFIG_SND_SEQUENCER_OSS is not set
 CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
 CONFIG_SND_SEQ_MIDI_EVENT=m
 CONFIG_SND_SEQ_MIDI=m
@@ -5757,9 +5722,7 @@ CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
 # end of Android
 
 # CONFIG_LIBNVDIMM is not set
-CONFIG_DAX=y
-CONFIG_DEV_DAX=m
-CONFIG_DEV_DAX_KMEM=m
+# CONFIG_DAX is not set
 CONFIG_NVMEM=y
 CONFIG_NVMEM_SYSFS=y
 # CONFIG_NVMEM_SPMI_SDAM is not set
@@ -5847,16 +5810,14 @@ CONFIG_F2FS_FS_LZ4HC=y
 CONFIG_F2FS_FS_ZSTD=y
 CONFIG_F2FS_IOSTAT=y
 # CONFIG_ZONEFS_FS is not set
-CONFIG_FS_DAX=y
+# 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_FS_ENCRYPTION=y
 CONFIG_FS_ENCRYPTION_ALGS=m
-CONFIG_FS_VERITY=y
-# CONFIG_FS_VERITY_DEBUG is not set
-CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
+# CONFIG_FS_VERITY is not set
 CONFIG_FSNOTIFY=y
 CONFIG_DNOTIFY=y
 CONFIG_INOTIFY_USER=y
@@ -5874,7 +5835,7 @@ CONFIG_QUOTACTL=y
 CONFIG_AUTOFS_FS=m
 CONFIG_FUSE_FS=m
 CONFIG_CUSE=m
-CONFIG_VIRTIO_FS=m
+# CONFIG_VIRTIO_FS is not set
 CONFIG_OVERLAY_FS=m
 CONFIG_OVERLAY_FS_REDIRECT_DIR=y
 # CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set
@@ -6033,10 +5994,6 @@ CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
 CONFIG_SMBFS_COMMON=m
 # CONFIG_CODA_FS is not set
 # CONFIG_AFS_FS is not set
-CONFIG_9P_FS=m
-# CONFIG_9P_FSCACHE is not set
-# CONFIG_9P_FS_POSIX_ACL is not set
-# CONFIG_9P_FS_SECURITY is not set
 CONFIG_NLS=y
 CONFIG_NLS_DEFAULT="utf8"
 CONFIG_NLS_CODEPAGE_437=m
@@ -6088,8 +6045,7 @@ CONFIG_NLS_MAC_INUIT=m
 CONFIG_NLS_MAC_ROMANIAN=m
 CONFIG_NLS_MAC_TURKISH=m
 CONFIG_NLS_UTF8=y
-CONFIG_DLM=m
-CONFIG_DLM_DEBUG=y
+# CONFIG_DLM is not set
 CONFIG_UNICODE=y
 # CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set
 CONFIG_IO_WQ=y
@@ -6475,7 +6431,6 @@ CONFIG_DQL=y
 CONFIG_GLOB=y
 # CONFIG_GLOB_SELFTEST is not set
 CONFIG_NLATTR=y
-CONFIG_LRU_CACHE=m
 CONFIG_CLZ_TAB=y
 CONFIG_IRQ_POLL=y
 CONFIG_MPILIB=y
@@ -6549,9 +6504,7 @@ CONFIG_FRAME_POINTER=y
 #
 # Generic Kernel Debugging Instruments
 #
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01b6
-# CONFIG_MAGIC_SYSRQ_SERIAL is not set
+# CONFIG_MAGIC_SYSRQ is not set
 CONFIG_DEBUG_FS=y
 CONFIG_DEBUG_FS_ALLOW_ALL=y
 # CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
@@ -6634,7 +6587,7 @@ CONFIG_SCHEDSTATS=y
 # end of Scheduler Debugging
 
 # CONFIG_DEBUG_TIMEKEEPING is not set
-CONFIG_DEBUG_PREEMPT=y
+# CONFIG_DEBUG_PREEMPT is not set
 
 #
 # Lock Debugging (spinlocks, mutexes, etc...)
-- 
GitLab