alsa-project/alsa-ucm-conf pull request #134 was edited from tomfitzhenry: Fixes https://github.com/alsa-project/alsa-ucm-conf/issues/124. This PR adds support for the https://wiki.pine64.org/index.php/PinePhone This PR contains: * This UCM config copied from https://gitlab.com/pine64-org/pine64-alsa-ucm/, which was developed by many developers ( https://gitlab.com/pine64-org/pine64-alsa-ucm/-/merge_requests/1 ) and is BSD-3-Clause licensed. * Fix paths to be relative to alsa-ucm-conf root. * Some refactoring of the UCM config, incl. removing duplicate directives, and moving volume directives to BootSequence. * Updating the routing/playback/boost volumes, in response to comments on this PR. I have tested: * HiFi * Record audio via the headset. * Record audio via the internal mic. * Play audio on the headphones. * Play audio on the speaker. * Play audio on the internal speaker. * Voice Call * Speak on the headset. * Speak on the internal mic. * Listen on the headphones. * Listen on the speaker. This induces an echo, and given the audio routing is entirely on chip, and the chip doesn't advertise echo cancellation, I don't see how this is avoidable. * Listen on the internal speaker. See also: * `alsa-info`: https://alsa-project.org/db/?f=5e331f5ef10bd167b3bd7640bfcf0e879100f80d * `pa-info`: [pa-info.txt](https://github.com/alsa-project/alsa-ucm-conf/files/8015083/pa-info.txt) * https://gitlab.com/pine64-org/pine64-alsa-ucm/-/issues/3 * Schematics/code * The device-tree configuration has had a unique audio card name since 5.14: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi?h=v5.14#n436 * http://files.pine64.org/doc/PinePhone/PinePhone%20v1.2%20Released%20Schematic.pdf * https://xnux.eu/devices/feature/audio-pp.html * https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/allwinner/sun50i-a64-pinephone.dtsi * https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi * https://github.com/torvalds/linux/blob/master/sound/soc/sunxi/sun50i-codec-analog.c * https://files.pine64.org/doc/datasheet/pine64/Allwinner_A64_User_Manual_V1.0.pdf * https://static.chipdip.ru/lib/126/DOC001126567.pdf Request URL : https://github.com/alsa-project/alsa-ucm-conf/pull/134 Patch URL : https://github.com/alsa-project/alsa-ucm-conf/pull/134.patch Repository URL: https://github.com/alsa-project/alsa-ucm-conf