Open
Conversation
Add TERTIARY_MI2S_TX capture support for the tizi device (MAX98089 digital mics via DAI1→TERT MI2S on GPIO 74-78), while preserving mici playback. - kernel/patches/0012: add tert MI2S pinctrl states to sdm845.dtsi; fix SECONDARY_MI2S_RX startup/shutdown to use dedicated PLAYBACK clock path (was falling through to TX, causing EINVAL); add TERTIARY_MI2S_TX clock handling - kernel/dts/sdm845-comma-common.dtsi: add sec_mi2s_mclk to mici pinctrl - kernel/dts/sdm845-comma-tizi.dts: override sound node for tizi — route capture to TERTIARY_MI2S_TX, set tert MI2S pinctrl, disable sec SD0 - userspace/sound_watchdog.sh: maintain TERT_MI2S_TX capture route on tizi Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
| diff --git a/arch/arm64/boot/dts/qcom/sdm845.dtsi b/arch/arm64/boot/dts/qcom/sdm845.dtsi | ||
| index 9c0d1a77498f4f..f3f7c334da5395 100644 | ||
| --- a/arch/arm64/boot/dts/qcom/sdm845.dtsi | ||
| +++ b/arch/arm64/boot/dts/qcom/sdm845.dtsi |
Collaborator
There was a problem hiding this comment.
These can go into the mici/tizi dts.
| function = "gpio"; | ||
| diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig | ||
| index 160c07699a8b72..1aff6a6a8ad45d 100644 | ||
| --- a/sound/soc/codecs/Kconfig |
Collaborator
There was a problem hiding this comment.
better to move just the generic codec into its own patch
| }; | ||
|
|
||
| - quat_mi2s_sleep: quat-mi2s-sleep-state { | ||
| + tert_mi2s_mclk_sleep: tert-mi2s-mclk-sleep-state { |
Collaborator
There was a problem hiding this comment.
These can go into the mici/tizi dts.
Co-authored-by: Trey Moen <50057480+greatgitsby@users.noreply.github.com>
Co-Authored-By: Robin Reckmann <robin.reckmann@gmail.com>
vamOS System ProfileChanges vs master
Directory size changes (>1MB)
Top 10 Directories
Category Breakdown
Top 10 Packages by Size
|
| File | Size |
|---|---|
| /usr/lib/llvm/21/lib/libLLVM.so.21.1 | 124.3MB |
| /usr/lib/llvm/21/lib/libMLIR.so.21.1 | 89.7MB |
| /usr/lib/llvm/21/bin/mlir-transform-opt | 82.9MB |
| /usr/lib/llvm/21/lib/libclang-cpp.so.21.1 | 56MB |
| /usr/lib/llvm/21/bin/mlir-translate | 53.2MB |
| /usr/lib/llvm/21/bin/llvm-exegesis | 52MB |
| /usr/lib/llvm/21/bin/llvm-bolt-binary-analysis | 50.6MB |
| /usr/local/venv/lib/python3.12/site-packages/ffmpeg/install/lib/libavcodec.a | 50.5MB |
| /usr/bin/uv | 48.1MB |
| /usr/lib/gcc/aarch64-linux-gnu/14.2/gnat1 | 40.1MB |
| /usr/bin/gdb | 38.1MB |
| /usr/lib/gcc/aarch64-linux-gnu/14.2/cc1plus | 37.3MB |
| /usr/lib/libgallium-25.3.3.so | 35.4MB |
| /usr/lib/libllvm-qcom.so | 35.2MB |
| /usr/lib/gcc/aarch64-linux-gnu/14.2/cc1 | 35.2MB |
| /usr/lib/gcc/aarch64-linux-gnu/14.2/lto1 | 33.9MB |
| /usr/bin/lto-dump | 33.9MB |
| /usr/lib/libRusticlOpenCL.so.1.0.0 | 32.5MB |
| /usr/local/venv/bin/ruff | 31.8MB |
| /usr/share/icu/78.2/icudt78l.dat | 31.5MB |
| /usr/lib/llvm/21/lib/libclang.so.21.1.7 | 30.2MB |
| /usr/lib/llvm/21/bin/c-index-test | 28.6MB |
| /usr/local/venv/lib/python3.12/site-packages/gcc_arm_none_eabi/toolchain/libexec/gcc/arm-none-eabi/13.2.1/cc1 | 28.2MB |
| /usr/lib/libz3.so | 27.9MB |
| /usr/bin/run | 26.6MB |
| /usr/local/venv/lib/python3.12/site-packages/numpy.libs/libscipy_openblas64_-71e1b124.so | 23.6MB |
| /usr/comma/updater | 23.5MB |
| /usr/comma/setup | 23.5MB |
| /usr/comma/reset | 23.5MB |
| /usr/local/uv/python/cpython-3.12.13-linux-aarch64-gnu/bin/python3.12 | 22.1MB |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sound Bringup: mici and tizi
Commit
20cf50d— mici sound bringupThis established the foundational sound infrastructure for the SDM845 platform.
Kernel DTS (
kernel/dts/sdm845-comma-common.dtsi)generic-codecdevice (since the audio path uses the DSP, not a discrete codec)adsp_pas(ADSP peripheral authentication service) pointing toqcom/sdm845/adsp.mdtSECONDARY_MI2S_RX(playback, SD line 1) andSECONDARY_MI2S_TX(capture, SD line 0)SECONDARY_MI2Svia the Q6 routing graphADSP startup (
userspace/root/usr/comma/sound/adsp-start.sh)remoteprocinterface and the legacymsm_subsysinterface, auto-detecting which is presentSound init (
userspace/root/usr/comma/sound/sound_init.sh)sdm845tavilsndccard name check with a generic "wait until any card appears" loopwait_for_tinymix_controlhelper that polls forSEC_MI2S_RX Audio Mixer MultiMedia1Sound watchdog (
userspace/root/usr/comma/sound/sound_watchdog.sh) — new fileuserspace/root/etc/sv/sound/run) was changed from a one-shot to a persistent watchdogsound_init.shCommit
25f7779— tizi sound bringupAdds microphone/capture support specifically for tizi, which uses a MAX98089 amp with digital mics wired through DAI1 → TERTIARY MI2S (GPIO 74–78), rather than the secondary MI2S used for mici.
Kernel patch (
0012)tert_mi2spinctrl states tosdm845.dtsiSECONDARY_MI2S_RXstartup/shutdown fell through to the TX clock path, causingEINVALTERTIARY_MI2S_TXclock handlingDTS (
kernel/dts/sdm845-comma-tizi.dts)main5vfixed regulator (GPIO 25) needed to power the ampqi2s@21Q6AFE DAI node forTERTIARY_MI2S_TXwith SD line 0&soundnode: changes the model name, swaps pinctrl to usetert_mi2spins for capture (dropssec_mi2s_sd0, keepssec_mi2s_sd1for playback), and re-routes thecapture-dai-linkCPU toTERTIARY_MI2S_TXinstead of secondaryCommon DTS (
kernel/dts/sdm845-comma-common.dtsi)sec_mi2s_mclkpinctrl states to the mici pinctrl (needed by both devices)Watchdog (
userspace/root/usr/comma/sound/sound_watchdog.sh)/sys/firmware/devicetree/base/modelMultiMedia1 Mixer TERT_MI2S_TX(the capture route) in addition to the playback route