[...] >>> + >>> &blsp_i2c2 { >>> status = "okay"; >>> >>> @@ -243,6 +258,13 @@ &gpu { >>> status = "okay"; >>> }; >>> >>> +&lpass { >>> + dai-link@3 { >>> + reg = <MI2S_QUATERNARY>; >>> + qcom,playback-sd-lines = <1>; >>> + }; >>> +}; >> Is that not status = reserved? >> > > Correct. This is here to simplify switching to the modem-bypass audio > routing if someone does not need (or want) the modem. The direct audio > path with the LPASS drivers tends to be more reliable and configurable > (especially wrt bit formats, sampling rates, latency, channels etc). > I know that at some point this helped someone who tried to use an old > phone as some kind of portable musical instrument / synthesizer. > > It's not too obvious that these definitions would be needed when making > those changes (because devices using the standard SD lines (i.e <0>) do > not need it). If you forget about this you get non-functional audio with > no error or any hint what could be wrong. > > To simplify switching between the different audio routing options, the > lk2nd bootloader actually has an option to do this transformation in the > DTB automagically during boot. It's sort of like a DTB overlay that > disables the QDSP6 audio path and enables this node instead. The DAI > links are also adjusted where necessary. > > Do you think a comment would help here? I'd say a comment would be necessary here :D While I understand this use-case, I believe this is better suited for an actual DTBO or something entirely kept inside lk2nd. Otherwise this looks very confusing to an outside reader. Konrad