ASoC: rcar: adg: correct TIMSEL setting for SSI9
authorAndreas Pape <Andreas.Pape4@bosch.com>
Fri, 1 Mar 2024 08:50:03 +0000 (09:50 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 4 Mar 2024 17:25:43 +0000 (17:25 +0000)
commitcbae1a350e3ceff38242a4905805c80ccbcfbba5
tree3dedddaa2b05a0013ca63299e13831f7edd0e57a
parentf8b0127aca8c60826e7354e504a12d4a46b1c3bb
ASoC: rcar: adg: correct TIMSEL setting for SSI9

Timing select registers for SRC and CMD are by default
referring to the corresponding SSI word select.
The calculation rule from HW spec skips SSI8, which has
no clock connection.

>From section 43.2.18 CMD Output Timing Select Register (CMDOUT_TIMSEL),
of R-Car Series, 3rd Generation Hardware User’s Manual Rev.2.20:

CMD0_OUT_DIVCLK_ Output Timing
SEL [4:0] Signal Select
B'0 0110:  ssi_ws0
B'0 0111:  ssi_ws1
B'0 1000:  ssi_ws2
B'0 1001:  ssi_ws3
B'0 1010:  ssi_ws4
B'0 1011:  ssi_ws5
B'0 1100:  ssi_ws6
B'0 1101:  ssi_ws7
<GAP>
B'0 1110:  ssi_ws9
B'0 1111:  Setting prohibited

Fix the erroneous prohibited setting of timsel value 1111 (0xf) for SSI9
by using timsel value 1110 (0xe) instead. This is possible because SSI8
is not connected as shown by <GAP> in the table above.

[21.695055] rcar_sound ec500000.sound: b adg[0]-CMDOUT_TIMSEL (32):00000f00/00000f1f

Correct the timsel assignment.

Fixes: 629509c5bc478c ("ASoC: rsnd: add Gen2 SRC and DMAEngine support")
Suggested-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Andreas Pape <Andreas.Pape4@bosch.com>
Signed-off-by: Yeswanth Rayapati <yeswanth.rayapati@in.bosch.com>
Tested-by: Yeswanth Rayapati <yeswanth.rayapati@in.bosch.com>
[erosca: massage commit description]
Signed-off-by: Eugeniu Rosca <eugeniu.rosca@bosch.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://msgid.link/r/20240301085003.3057-1-erosca@de.adit-jv.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sh/rcar/adg.c