All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eugeniu Rosca <erosca@de.adit-jv.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
	Wolfram Sang <wsa+renesas@sang-engineering.com>,
	Takashi Iwai <tiwai@suse.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>, Jaroslav Kysela <perex@perex.cz>,
	<linux-sound@vger.kernel.org>,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
	Charles Keepax <ckeepax@opensource.cirrus.com>,
	Vincenzo De Michele <vincenzo.michele@davinci.de>
Cc: Dean Jenkins <dean.jenkins@siemens.com>,
	Eugeniu Rosca <erosca@de.adit-jv.com>,
	Eugeniu Rosca <eugeniu.rosca@bosch.com>,
	Andreas Pape <Andreas.Pape4@bosch.com>,
	Yeswanth Rayapati <yeswanth.rayapati@in.bosch.com>
Subject: [PATCH v2] ASoC: rcar: adg: correct TIMSEL setting for SSI9
Date: Fri, 1 Mar 2024 09:50:03 +0100	[thread overview]
Message-ID: <20240301085003.3057-1-erosca@de.adit-jv.com> (raw)

From: Andreas Pape <Andreas.Pape4@bosch.com>

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>
---

Changes v1->v2:
 - Link v1: https://lore.kernel.org/linux-sound/20240223163502.11619-1-erosca@de.adit-jv.com/
 - Employed the proposal from Morimoto-san
 - Kept in mind below mapping/calculation rule:

	W/o pinsharing
	SSI0 -> base+0
	SSI1 -> base+1
	SSI2 -> base+2
	SSI3 -> base+3
	SSI4 -> base+4
	SSI5 -> base+5
	SSI6 -> base+6
	SSI7 -> base+7
	SSI8 ->
	SSI9 -> base+8 =
	--> "SSI8 not connected, so SSI9 uses '8' "

	W/ pinsharing (0,1,2,9 can be combined, 3,4 can be combined, 7,8 can be combined)
	SSI0 -> base+0
	SSI1 -> base+0
	SSI2 -> base+0
	SSI3 -> base+3
	SSI4 -> base+3
	SSI5 -> base+5
	SSI6 -> base+6
	SSI7 -> base+7
	SSI8 -> base+7
	SSI9 -> base+0

 sound/soc/sh/rcar/adg.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c
index 230c48648af359..afd69c6eb6544c 100644
--- a/sound/soc/sh/rcar/adg.c
+++ b/sound/soc/sh/rcar/adg.c
@@ -111,6 +111,13 @@ static u32 rsnd_adg_ssi_ws_timing_gen2(struct rsnd_dai_stream *io)
 			ws = 7;
 			break;
 		}
+	} else {
+		/*
+		 * SSI8 is not connected to ADG.
+		 * Thus SSI9 is using ws = 8
+		 */
+		if (id == 9)
+			ws = 8;
 	}
 
 	return (0x6 + ws) << 8;
-- 
2.43.2


             reply	other threads:[~2024-03-01  8:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-01  8:50 Eugeniu Rosca [this message]
2024-03-03 23:22 ` [PATCH v2] ASoC: rcar: adg: correct TIMSEL setting for SSI9 Kuninori Morimoto
2024-03-04 20:39 ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240301085003.3057-1-erosca@de.adit-jv.com \
    --to=erosca@de.adit-jv.com \
    --cc=Andreas.Pape4@bosch.com \
    --cc=broonie@kernel.org \
    --cc=ckeepax@opensource.cirrus.com \
    --cc=dean.jenkins@siemens.com \
    --cc=eugeniu.rosca@bosch.com \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-sound@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=pierre-louis.bossart@linux.intel.com \
    --cc=tiwai@suse.com \
    --cc=vincenzo.michele@davinci.de \
    --cc=wsa+renesas@sang-engineering.com \
    --cc=yeswanth.rayapati@in.bosch.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.