El Fri, Jan 05, 2018 at 12:04:55PM +0000 Mark Brown ha dit: > On Fri, Jan 05, 2018 at 11:45:43AM +0100, Arnaud Pouliquen wrote: > > > >> + num-channels = <1>; > > > In your implementation seems not linked to hardware but software... > > > DMIC driver description specifies the channels_max to 8 channels. > > I suppose that it is used for DMIC codecs that integrate filters and are > > connected to CPU DAI with I2S/PCM links. But it can be also used for > > DMIC connected to CPU DAI with a SPI link (in this case decimation > > filter in on Soc side). > > The intention with the DMIC CODEC is that it's used when the CPU > directly has PDM inputs and the DMICs are just directly wired to it > (stereo is obviously the norm here but some SoCs may bunch things up > further for use with mic arrays). > > > If we continue to support both use cases, specify the number of channels > > seems reasonable but this should be use to change the max channel > > constraint, not to declare a control. > > Yes, that would seem the most obvious thing - it's how we handle things > like CPU DAIs that support very high channel counts when connected to > stereo CODECs for example. It's not obvious why we'd use a channel map > here instead. Thanks for the feedback! I experimented initially with changing channels_max, but overwriting dmic_dai.capture.channels_max didn't seem right since it would affect other possible instances of the codec. I overlooked that this can be avoided by passing a *copy* with adjusted channels_max to snd_soc_register_codec(). Matthias -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html