samsung-t0lte: add speaker and mic audio (MR 2913)

[ci:skip-build] already built successfully in CI
This commit is contained in:
Jack Knightly 2022-02-06 13:51:21 +00:00 committed by Clayton Craft
parent 6e018c204d
commit ecdc62030c
No known key found for this signature in database
GPG key ID: 4A4CED6D7EDF950A
3 changed files with 222 additions and 3 deletions

View file

@ -1,20 +1,25 @@
# Reference: <https://postmarketos.org/devicepkg>
pkgname=device-samsung-t0lte
pkgdesc="Samsung Galaxy Note II LTE"
pkgver=0.1
pkgrel=1
pkgver=0.2
pkgrel=0
url="https://postmarketos.org"
license="MIT"
arch="armv7"
options="!check !archcheck"
depends="
alsa-ucm-conf
linux-postmarketos-exynos4
mesa-dri-gallium
mkbootimg
postmarketos-base
"
makedepends="devicepkg-dev"
source="deviceinfo"
source="
deviceinfo
ucm/Midas.conf
ucm/HiFi.conf
"
build() {
devicepkg_build $startdir $pkgname
@ -22,8 +27,16 @@ build() {
package() {
devicepkg_package $startdir $pkgname
# Alsa UCM configs
install -Dm644 "$srcdir"/Midas.conf \
"$pkgdir"/usr/share/alsa/ucm2/conf.d/Midas/Midas.conf
install -Dm644 "$srcdir"/HiFi.conf \
"$pkgdir"/usr/share/alsa/ucm2/conf.d/Midas/HiFi.conf
}
sha512sums="
a2a1742e4868fb153b538c2340f3b5e25e31dae761bf07c8713a1b845b3c49a730d82c78636a998789fcbcc947ad819a9919ac9d3dc88b18c7ffb80419d18551 deviceinfo
caa81e8ab6753c0ca24c22fb6742288765dfbf2469b8b8c35c5789edfcee546ef1c3b14ad6e540c417f434258399300f17d312b58157635eafab134587ef94cc Midas.conf
a56ce19331a8997b1cc493b8ab6b16ecfc423254a380e13a9461ec94ec5bc124cb3283256ef8cc014db60937a5e7404c6f7728bc2cc2494a70c612ccb3fd4105 HiFi.conf
"

View file

@ -0,0 +1,200 @@
# Based on https://github.com/LineageOS/android_device_samsung_t0lte/blob/cm-14.1/configs/tiny_hw.xml
SectionVerb {
EnableSequence [
cdev "hw:Midas"
# do not change the adc & dac source of AIF2
cset "name='AIF2DACL Source' 0"
cset "name='AIF2DACR Source' 0"
cset "name='AIF2ADCL Source' 0"
cset "name='AIF2ADCR Source' 1"
# AIF1->DAC1
cset "name='DAC1 Switch' 1"
# general
cset "name='IN1L ZC Switch' 0"
cset "name='IN1R ZC Switch' 0"
cset "name='IN2L ZC Switch' 0"
cset "name='IN2R ZC Switch' 0"
cset "name='Output ZC Switch' 0"
cset "name='Speaker ZC Switch' 0"
cset "name='Headphone ZC Switch' 0"
# AIF1->DAC1
cset "name='DAC1L Mixer AIF1.1 Switch' 1"
cset "name='DAC1R Mixer AIF1.1 Switch' 1"
cset "name='DAC1 Switch' 1"
# ADC->AIF2
cset "name='AIF2DAC2L Mixer Left Sidetone Switch' 1"
cset "name='AIF2DAC2L Mixer Right Sidetone Switch' 0"
cset "name='AIF2DAC2R Mixer Left Sidetone Switch' 0"
cset "name='AIF2DAC2R Mixer Right Sidetone Switch' 1"
cset "name='DAC2 Left Sidetone Volume' 12"
cset "name='DAC2 Right Sidetone Volume' 12"
cset "name='DAC2 Switch' 1"
# DAC1->HP
cset "name='Left Headphone Mux' Mixer"
cset "name='Right Headphone Mux' Mixer"
# DAC1->SPKL/R->SPKL/R Boost->SPK
cset "name='SPKL DAC1 Switch' 1"
cset "name='SPKR DAC1 Switch' 1"
cset "name='SPKL Boost SPKL Switch' 1"
cset "name='SPKL Boost SPKR Switch' 1"
cset "name='SPKR Boost SPKL Switch' 0"
cset "name='SPKR Boost SPKR Switch' 0"
cset "name='Speaker Mixer Volume' 3"
# DAC->Output mixer->Earpiece
cset "name='Left Output Mixer DAC Switch' 1"
cset "name='Right Output Mixer DAC Switch' 1"
cset "name='Earpiece Mixer Left Output Switch' 1"
cset "name='Earpiece Mixer Right Output Switch' 1"
cset "name='Earpiece Switch' 1"
# LINEOUT
cset "name='LINEOUT2N Mixer Left Output Switch' 1"
cset "name='LINEOUT2P Mixer Right Output Switch' 1"
cset "name='LINEOUT1N Mixer Right Output Switch' 1"
cset "name='LINEOUT1P Mixer Left Output Switch' 1"
# Input mixer->ADC->AIF1.1
cset "name='AIF1ADC1L Mixer ADC/DMIC Switch' 1"
cset "name='AIF1ADC1R Mixer ADC/DMIC Switch' 1"
# Main Mic->IN1LP/N->Input Mixer with +30dB at mixer
cset "name='IN1L PGA IN1LP Switch' 1"
cset "name='IN1L PGA IN1LN Switch' 1"
cset "name='MIXINL IN1L Volume' 1"
cset "name='IN1L Switch' 1"
# Sub Mic->IN1RP/N->Input Mixer with +30dB at mixer
cset "name='IN1R PGA IN1RP Switch' 1"
cset "name='IN1R PGA IN1RN Switch' 1"
cset "name='MIXINR IN1R Volume' 1"
cset "name='IN1R Switch' 1"
# FM Radio->IN2RP/N->Input Mixer with +30dB at mixer
cset "name='IN2R PGA IN2RP Switch' 1"
cset "name='IN2R PGA IN2RN Switch' 1"
cset "name='MIXINR IN2R Volume' 1"
cset "name='IN2R Switch' 1"
# Ear Mic->IN2LP/N->Input Mixer with +30dB at mixer
cset "name='IN2L PGA IN2LP Switch' 1"
cset "name='IN2L PGA IN2LN Switch' 1"
cset "name='MIXINL IN2L Volume' 1"
cset "name='IN2L Switch' 1"
# Input mixer->ADC->AIF1
cset "name='AIF1ADC1L Mixer ADC/DMIC Switch' 1"
cset "name='AIF1ADC1R Mixer ADC/DMIC Switch' 1"
cset "name='ADCL Mux' ADC"
# HPF on to take out some bounce
cset "name='Sidetone HPF Switch' 0"
# Work around core issue
cset "name='ADCL Mux' DMIC"
cset "name='ADCL Mux' ADC"
cset "name='ADCR Mux' DMIC"
cset "name='ADCR Mux' ADC"
# AIF2ADCDAT to AIF3ADC mux
cset "name='AIF3ADC Mux' 1"
# Default all outputs off
cset "name='HP Switch' 0"
cset "name='SPK Switch' 0"
cset "name='RCV Switch' 0"
cset "name='LINE Switch' 0"
cset "name='HDMI Switch' 0"
# Default all inputs off
cset "name='Main Mic Switch' 0"
cset "name='Sub Mic Switch' 0"
cset "name='Headset Mic Switch' 0"
cset "name='FM In Switch' 0"
]
DisableSequence [
]
}
SectionDevice."Speaker" {
Comment "Built-in speaker"
EnableSequence [
cset "name='SPK Switch' 1"
cset "name='AIF1DAC1 Volume' 96"
cset "name='AIF1 Boost Volume' 0"
cset "name='DAC1 Volume' 96"
cset "name='SPKL DAC1 Volume' 1"
cset "name='SPKR DAC1 Volume' 1"
cset "name='Speaker Mixer Volume' 3"
cset "name='Speaker Boost Volume' 6"
cset "name='Speaker Volume' 57"
cset "name='AIF1DAC1 EQ Switch' 1"
cset "name='AIF1DAC1 EQ1 Volume' 9"
cset "name='AIF1DAC1 EQ2 Volume' 7"
cset "name='AIF1DAC1 EQ3 Volume' 10"
cset "name='AIF1DAC1 EQ4 Volume' 13"
cset "name='AIF1DAC1 EQ5 Volume' 12"
]
DisableSequence [
cset "name='SPK Switch' 0"
cset "name='AIF1DAC1 Volume' 96"
cset "name='AIF1 Boost Volume' 0"
cset "name='DAC1 Volume' 96"
cset "name='SPKL DAC1 Volume' 1"
cset "name='SPKR DAC1 Volume' 1"
cset "name='Speaker Mixer Volume' 0"
cset "name='Speaker Volume' 0"
cset "name='Speaker Boost Volume' 0"
cset "name='AIF1DAC1 EQ Switch' 0"
]
Value {
PlaybackVolume "Speaker Volume"
PlaybackSwitch "SPK Switch"
PlaybackChannels 2
PlaybackPCM "hw:${CardId}"
}
}
SectionDevice."MainInternalMicrophone" {
Comment "Main Internal Microphone"
EnableSequence [
cset "name='Main Mic Switch' 1"
cset "name='IN2L Volume' 26"
cset "name='MIXINL IN2L Switch' 1"
cset "name='MIXINL IN2L Volume' 0"
cset "name='AIF1ADCL Source' 0"
cset "name='AIF1ADC1 HPF Mode' 0"
cset "name='AIF1ADC1 HPF Switch' 1"
cset "name='AIF1ADC1 Volume' 96"
]
DisableSequence [
cset "name='Main Mic Switch' 0"
cset "name='MIXINL IN2L Switch' 0"
cset "name='MIXINL IN2L Volume' 0"
cset "name='IN2L Volume' 4"
]
Value {
CapturePCM "hw:${CardId}"
CaptureChannels 2
CaptureVolume "IN2L Volume"
}
}

View file

@ -0,0 +1,6 @@
Syntax 2
SectionUseCase."HiFi" {
File "HiFi.conf"
Comment "Play high quality music"
}