| From 84c77c049e79831e3d7433cdb6f3ad2707bed00f Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Wed, 29 Jul 2020 17:44:54 +0200 |
| Subject: ASoC: meson: axg-tdmin: fix g12a skew |
| |
| From: Jerome Brunet <jbrunet@baylibre.com> |
| |
| [ Upstream commit 80a254394fcfe55450b0351da298ca7231889219 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| 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 973d4c02ef8db..3d002b4eb939e 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.1 |
| |