Hi Morimoto-san,
On Tue, 5 Apr 2022, Kuninori Morimoto wrote:
From: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
AK4613 has STEREO/TDM512/TDM256/TDM128 mode. Renesas is the only user of ak4613 on upstream for now, and is using it as STEREO mode, because of board connection. Thus, current driver is supporting STEREO mode only, and other modes are not supported.
But I noticed that I can try first 2ch out of TDM256 mode 8ch Playback even in such a situation.
But because of board connection, I can't test full TDM256 mode, and/or other TDM mode. Thus I don't want to add new DT propaty for now. This patch enables TDM256 mode test by "ifdef style", but it has no effect to current supported STEREO mode. You can define AK4613_ENABLE_TDM_TEST to try TDM256 mode.
Please don't hesitate to break current code if you can add full TDM256 and/or other TDM mode. You don't need to care compatibility with Renesas.
Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
Thanks for your patch, which is now commit f28dbaa958fbd8fb ("ASoC: ak4613: add TDM256 support") in v5.19-rc1.
--- a/sound/soc/codecs/ak4613.c +++ b/sound/soc/codecs/ak4613.c @@ -645,6 +851,29 @@ static void ak4613_parse_of(struct ak4613_priv *priv, if (!of_get_property(np, prop, NULL)) priv->oc |= 1 << i; }
- /*
* enable TDM256 test
*
* !!! FIXME !!!
*
* It should be configured by DT or other way
* if it was full supported.
* But it is using ifdef style for now for test
* purpose.
*/
+#if defined(AK4613_ENABLE_TDM_TEST)
- AK4613_CONFIG_SET(priv, MODE_TDM256);
+#endif
- /*
* connected STDI
*/
- sdti_num = of_graph_get_endpoint_count(np);
- if (WARN_ON((sdti_num > 3) || (sdti_num < 1)))
This WARN_ON() is triggered on Ebisu-4D, as sdti_num = 0. It can be reproduced by booting renesas-devel-2022-06-07-v5.19-rc1 using renesas_defconfig.
Sorry for not noticing before.
return;
- AK4613_CONFIG_SDTI_set(priv, sdti_num);
}
static int ak4613_i2c_probe(struct i2c_client *i2c,
Gr{oetje,eeting}s,
Geert
-- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds