After carefully checking the result provided by the TDMIN on the g12a and
sm1 SoC families, the TDMIN skew offset appears to be 3 instead of 2 on the
axg.

Fixes: f01bc67f58fd ("ASoC: meson: axg-tdm-formatter: rework quirks settings")
Signed-off-by: Jerome Brunet <jbru...@baylibre.com>
---
 sound/soc/meson/axg-tdmin.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/sound/soc/meson/axg-tdmin.c b/sound/soc/meson/axg-tdmin.c
index 973d4c02ef8d..3d002b4eb939 100644
--- a/sound/soc/meson/axg-tdmin.c
+++ b/sound/soc/meson/axg-tdmin.c
@@ -233,10 +233,26 @@ static const struct axg_tdm_formatter_driver 
axg_tdmin_drv = {
        },
 };
 
+static const struct axg_tdm_formatter_driver g12a_tdmin_drv = {
+       .component_drv  = &axg_tdmin_component_drv,
+       .regmap_cfg     = &axg_tdmin_regmap_cfg,
+       .ops            = &axg_tdmin_ops,
+       .quirks         = &(const struct axg_tdm_formatter_hw) {
+               .invert_sclk    = false,
+               .skew_offset    = 3,
+       },
+};
+
 static const struct of_device_id axg_tdmin_of_match[] = {
        {
                .compatible = "amlogic,axg-tdmin",
                .data = &axg_tdmin_drv,
+       }, {
+               .compatible = "amlogic,g12a-tdmin",
+               .data = &g12a_tdmin_drv,
+       }, {
+               .compatible = "amlogic,sm1-tdmin",
+               .data = &g12a_tdmin_drv,
        }, {}
 };
 MODULE_DEVICE_TABLE(of, axg_tdmin_of_match);
-- 
2.25.4

Reply via email to