ASoC: meson: axg-tdmin: fix g12a skew
authorJerome Brunet <jbrunet@baylibre.com>
Wed, 29 Jul 2020 15:44:54 +0000 (17:44 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 30 Jul 2020 18:45:00 +0000 (19:45 +0100)
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 <jbrunet@baylibre.com>
Link: https://lore.kernel.org/r/20200729154456.1983396-3-jbrunet@baylibre.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/meson/axg-tdmin.c

index 973d4c0..3d002b4 100644 (file)
@@ -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);