Hello again, I got no answers last time I posted this So, the meta-questions are * Should I be asking somewhere else? * Should I be reading something else to find my answers? * Is there a better way to ask these questions? thanks On 21/10/20 10:50 pm, Eliot Blennerhassett wrote: > Greetings, > > First the basic questions, so you can quickly stop reading if this is > not your thing. Background details follow. Specific answers, or > pointers to relevant reading both appreciated. > > 1) How do I force a DAI clock to keep running even when no audio is > streaming? Can I do this with DT, or some runtime switch? OR how do I > disable dapm so everything is powered on all the time? > > 2) Two devices: one DAC, one dumb digital audio transmitter both > connected to same serial audio data - how to model the second one in DT > (or not)? it has some settings needed after clock starts, must keep > clock running. > I have host CPU imx8mm > > DAI is sound/soc/fsl/fsl_sai.c > > The codec is sound/soc/codecs/ak4458.c > > The digital audio transmitter is CS8406 (no driver yet?). > > Both the above are connected to the same DAI signals (MCLK, TXC, TXFS, TXD) --------. imx8mm | | SAI *======+======[ ak4458 ] | I [ ]->Line_Out I2C2 *------I--+---[ ] --------' I | I `---[ cs8406 ] "======[ ]->iec958_out > CS8406 needs MCLK before it can be configured, and loses config if clock > stops. Currently it is configured via I2C from userspace, but this is > completely unaware of stream stop/start. Is there a way to hook into > stream state events so that this setup can be done after the MCLK starts > before audio starts? > > I desire for no discontinuity in analog or digital outputs as streams > stop and start. > > I have read > Documentation/sound/soc/dapm.rst and its brothers. > Documentation/devicetree/* > is there elsewhere I should read to get a newbies intro to this stuff? > > It must be about 8 years since I did any ALSA development, and then I > wasn't in the ASoC space, so quite a learning curve here. > > many thanks > -- Eliot