aports: add soc-fairphone-fp6-audio (topology, amp config, UCM)
Files copied byte-identical from the tested dev phone; installed to the exact deployed paths (the spaced tplg/UCM filenames come from the machine driver's card name). Wired into the image via extra_packages. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
939e2b84ba
commit
719a10a997
7 changed files with 141 additions and 3 deletions
38
aports/device/soc-fairphone-fp6-audio/APKBUILD
Normal file
38
aports/device/soc-fairphone-fp6-audio/APKBUILD
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
# Audio userspace files for the Fairphone 6 that no upstream package ships
|
||||
# yet: the AudioReach topology (built from Catcrafts/audioreach-topology
|
||||
# branch fp6), the AW88261 amp config blob, and the UCM profile. Files are
|
||||
# byte-identical to the ones deployed and tested on the development FP6.
|
||||
# The tplg/UCM target filenames contain spaces, hence the safe source names.
|
||||
maintainer="Jorijn van der Graaf <jorijnvdgraaf@catcrafts.net>"
|
||||
pkgname=soc-fairphone-fp6-audio
|
||||
pkgver=1
|
||||
pkgrel=0
|
||||
pkgdesc="Fairphone 6 audio topology, amp firmware and UCM profile"
|
||||
url="https://forgejo.catcrafts.net/Catcrafts/audioreach-topology"
|
||||
arch="noarch"
|
||||
license="BSD-3-Clause"
|
||||
options="!check"
|
||||
source="
|
||||
fp6-tplg.bin
|
||||
aw88261_acf.bin
|
||||
ucm-milos-fp6.conf
|
||||
HiFi.conf
|
||||
"
|
||||
|
||||
package() {
|
||||
install -Dm644 "$srcdir"/fp6-tplg.bin \
|
||||
"$pkgdir/usr/lib/firmware/qcom/milos/Fairphone (Gen. 6)-tplg.bin"
|
||||
install -Dm644 "$srcdir"/aw88261_acf.bin \
|
||||
"$pkgdir"/usr/lib/firmware/qcom/milos/fairphone/fp6/aw88261_acf.bin
|
||||
install -Dm644 "$srcdir"/ucm-milos-fp6.conf \
|
||||
"$pkgdir/usr/share/alsa/ucm2/conf.d/milos/Fairphone (Gen. 6).conf"
|
||||
install -Dm644 "$srcdir"/HiFi.conf \
|
||||
"$pkgdir"/usr/share/alsa/ucm2/Fairphone/fp6/HiFi.conf
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
51071c574b9f5899c78ba9fe1b6f3bbda2195e6d274014a05869ae56ed0ff18e15678bd7d78cd68846900d3c579556328e229842152cffd943186d43344ed33c fp6-tplg.bin
|
||||
a84b0595ae71b0bb594034a9f5fd77b984c9086cd917f32524c4b5172bc72a426e5d188d18dbccdb587f66d60fa15cad441fffcd48a3a1ce66335199b61e0350 aw88261_acf.bin
|
||||
3bb268f9fcb8d1c0b42741b67da42b6361bab259e7211d9930919995ebe7dcf67826e6d4f00ff5e4fe5b52067fe90d00212158c3b4879d1bee481e87f0623206 ucm-milos-fp6.conf
|
||||
2a189c3141fedc43f8eb19f4df1e43487223d524e27da3f948556d224cca1f493f6815ada191953fb79a19d5c5abadb21de7b3ece7b74b0929338c216e21e84a HiFi.conf
|
||||
"
|
||||
86
aports/device/soc-fairphone-fp6-audio/HiFi.conf
Normal file
86
aports/device/soc-fairphone-fp6-audio/HiFi.conf
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
SectionVerb {
|
||||
Value {
|
||||
TQ "HiFi"
|
||||
}
|
||||
EnableSequence [
|
||||
cset "name='SEN_MI2S_RX Audio Mixer MultiMedia1' 1"
|
||||
cset "name='MultiMedia2 Mixer TX_CODEC_DMA_TX_3' 1"
|
||||
]
|
||||
}
|
||||
|
||||
SectionDevice."Speaker" {
|
||||
Comment "Internal stereo speakers (2x AW88261)"
|
||||
|
||||
EnableSequence [
|
||||
cset "name='Amplifier L PCM Playback Volume' 352"
|
||||
cset "name='Amplifier R PCM Playback Volume' 352"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='Amplifier L PCM Playback Volume' 0"
|
||||
cset "name='Amplifier R PCM Playback Volume' 0"
|
||||
]
|
||||
|
||||
Value {
|
||||
PlaybackPriority 100
|
||||
PlaybackPCM "hw:${CardId},0"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic" {
|
||||
Comment "Handset microphone (AMIC1, bottom edge)"
|
||||
|
||||
# WCD9378 ADC1 -> SoundWire -> TX macro DEC0 -> TX_CODEC_DMA_TX_3.
|
||||
# 'TX SMIC MUX0' takes the mux item name SWR_MIC0, not the
|
||||
# SWR_INPUT0 widget it routes from.
|
||||
#
|
||||
# The codec-side controls only exist when the stock wcd9378
|
||||
# driver owns the TX slave. With the SDCA-class prototype driver
|
||||
# (sdca-mobile branch) the codec bring-up happens in the kernel
|
||||
# on PDE power-up and the card exposes no codec controls; only
|
||||
# the TX macro half of the sequence applies then.
|
||||
If.codec {
|
||||
Condition {
|
||||
Type ControlExists
|
||||
Control "name='ADC1 MUX'"
|
||||
}
|
||||
True {
|
||||
EnableSequence [
|
||||
cset "name='ADC1 MUX' CH1_AMIC1"
|
||||
cset "name='ADC1 Switch' 1"
|
||||
cset "name='ADC1 Volume' 12"
|
||||
cset "name='TX0 MODE' ADC_NORMAL"
|
||||
cset "name='TX0 SEQUENCER Switch' 1"
|
||||
cset "name='TX SMIC MUX0' SWR_MIC0"
|
||||
cset "name='TX DEC0 MUX' SWR_MIC"
|
||||
cset "name='TX_DEC0 Volume' 84"
|
||||
cset "name='TX_AIF1_CAP Mixer DEC0' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='TX_AIF1_CAP Mixer DEC0' 0"
|
||||
cset "name='TX0 SEQUENCER Switch' 0"
|
||||
cset "name='ADC1 Switch' 0"
|
||||
cset "name='TX SMIC MUX0' ZERO"
|
||||
]
|
||||
}
|
||||
False {
|
||||
EnableSequence [
|
||||
cset "name='TX SMIC MUX0' SWR_MIC0"
|
||||
cset "name='TX DEC0 MUX' SWR_MIC"
|
||||
cset "name='TX_DEC0 Volume' 84"
|
||||
cset "name='TX_AIF1_CAP Mixer DEC0' 1"
|
||||
]
|
||||
|
||||
DisableSequence [
|
||||
cset "name='TX_AIF1_CAP Mixer DEC0' 0"
|
||||
cset "name='TX SMIC MUX0' ZERO"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
Value {
|
||||
CapturePriority 100
|
||||
CapturePCM "hw:${CardId},1"
|
||||
}
|
||||
}
|
||||
BIN
aports/device/soc-fairphone-fp6-audio/aw88261_acf.bin
Normal file
BIN
aports/device/soc-fairphone-fp6-audio/aw88261_acf.bin
Normal file
Binary file not shown.
BIN
aports/device/soc-fairphone-fp6-audio/fp6-tplg.bin
Normal file
BIN
aports/device/soc-fairphone-fp6-audio/fp6-tplg.bin
Normal file
Binary file not shown.
11
aports/device/soc-fairphone-fp6-audio/ucm-milos-fp6.conf
Normal file
11
aports/device/soc-fairphone-fp6-audio/ucm-milos-fp6.conf
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
Syntax 4
|
||||
|
||||
SectionUseCase."HiFi" {
|
||||
File "/Fairphone/fp6/HiFi.conf"
|
||||
Comment "HiFi quality Music"
|
||||
}
|
||||
|
||||
BootSequence [
|
||||
cset "name='Amplifier L PCM Playback Volume' 352"
|
||||
cset "name='Amplifier R PCM Playback Volume' 352"
|
||||
]
|
||||
Loading…
Reference in a new issue