Hi!
Sebastian, would you have pointer to original Motorola sources you used for inspiration?
With setup like that, how does userland tell kernel that the baseband <-> microphone/speaker connection should be activated?
Audio routing should be done as normal, and ideally the driver for the modem will be able to figure out if there's an active call or not. If userspace has to enable the input and output manually then you can set up SOC_DAPM_PIN_SWITCH()es as normal.
Modem talks AT commands, so the driver is in userspace for now.
I tried SOC_DAPM_PIN_SWITCH(), but it results in alsamixer oopsing, I guess I'm doing something wrong.
Message from syslogd@devuan at Jun 12 13:51:31 ... kernel:[ 743.678588] BUG: spinlock bad magic on CPU#1, alsamixer/2217
Message from syslogd@devuan at Jun 12 13:51:31 ... kernel:[ 743.684417] lock: 0xede423a0, .magic: eee2a6a4, .owner: <none>/-1, .owner_cpu: -287136604
I'm trying to understand how it is supposed to work, but https://www.alsa-project.org/main/index.php/DAPM has TODO's at critical places. If there's better source of information, let me know.
Best regards, Pavel