From: James Calligeros <jcalligeros99@gmail.com>
To: Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
Shenghao Ding <shenghao-ding@ti.com>, Kevin Lu <kevin-lu@ti.com>,
Baojun Xu <baojun.xu@ti.com>, Dan Murphy <dmurphy@ti.com>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Shi Fu <shifu0704@thundersoft.com>
Cc: "Alyssa Rosenzweig" <alyssa@rosenzweig.io>,
"Martin Povišer" <povik+lin@cutebit.org>,
"Hector Martin" <marcan@marcan.st>,
linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org,
devicetree@vger.kernel.org, asahi@lists.linux.dev,
"James Calligeros" <jcalligeros99@gmail.com>
Subject: [PATCH 27/27] ASoC: tas2770: Set the SDOUT polarity correctly
Date: Sat, 15 Feb 2025 10:03:00 +1000 [thread overview]
Message-ID: <20250215-apple-codec-changes-v1-27-723569b21b19@gmail.com> (raw)
In-Reply-To: <20250215-apple-codec-changes-v1-0-723569b21b19@gmail.com>
From: Hector Martin <marcan@marcan.st>
TX launch polarity needs to be the opposite of RX capture polarity, to
generate the right bit slot alignment.
Signed-off-by: Hector Martin <marcan@marcan.st>
Signed-off-by: James Calligeros <jcalligeros99@gmail.com>
---
sound/soc/codecs/tas2770.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/sound/soc/codecs/tas2770.c b/sound/soc/codecs/tas2770.c
index a9e65f95ec8600d905c45db4e013d3c2602fa8dc..793a0df499a631d8e4670d4a452572b2dae0c477 100644
--- a/sound/soc/codecs/tas2770.c
+++ b/sound/soc/codecs/tas2770.c
@@ -358,7 +358,7 @@ static int tas2770_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
struct snd_soc_component *component = dai->component;
struct tas2770_priv *tas2770 =
snd_soc_component_get_drvdata(component);
- u8 tdm_rx_start_slot = 0, invert_fpol = 0, fpol_preinv = 0, asi_cfg_1 = 0;
+ u8 tdm_rx_start_slot = 0, invert_fpol = 0, fpol_preinv = 0, asi_cfg_1 = 0, asi_cfg_4 = 0;
int ret;
switch (fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) {
@@ -375,6 +375,7 @@ static int tas2770_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
fallthrough;
case SND_SOC_DAIFMT_NB_NF:
asi_cfg_1 |= TAS2770_TDM_CFG_REG1_RX_RSING;
+ asi_cfg_4 |= TAS2770_TDM_CFG_REG4_TX_EDGE_FALLING;
break;
case SND_SOC_DAIFMT_IB_IF:
invert_fpol = 1;
@@ -393,6 +394,12 @@ static int tas2770_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
if (ret < 0)
return ret;
+ ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG4,
+ TAS2770_TDM_CFG_REG4_TX_EDGE_FALLING,
+ asi_cfg_4);
+ if (ret < 0)
+ return ret;
+
switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
case SND_SOC_DAIFMT_I2S:
tdm_rx_start_slot = 1;
--
2.48.1
next prev parent reply other threads:[~2025-02-15 0:06 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-15 0:02 [PATCH 00/27] ASoC: tas27{64,70}: improve support for Apple codec variants James Calligeros
2025-02-15 0:02 ` [PATCH 01/27] ASoC: dt-bindings: tas27xx: add compatible for SN012776 James Calligeros
2025-02-15 0:02 ` [PATCH 02/27] ASoC: dt-bindings: tas2770: add compatible for TAS5770L James Calligeros
2025-02-15 0:02 ` [PATCH 03/27] ASoC: tas2764: Extend driver to SN012776 James Calligeros
2025-02-16 22:58 ` Alyssa Rosenzweig
2025-02-16 23:54 ` Mark Brown
2025-02-15 0:02 ` [PATCH 04/27] ASoC: tas2764: Add control concerning overcurrent events James Calligeros
2025-02-15 0:16 ` Martin Povišer
2025-02-15 0:02 ` [PATCH 05/27] ASoC: tas2770: Factor out set_ivsense_slots James Calligeros
2025-02-15 0:02 ` [PATCH 06/27] ASoC: tas2770: Fix and redo I/V sense TDM slot setting logic James Calligeros
2025-02-15 0:02 ` [PATCH 07/27] ASoC: tas2764: Reinit cache on part reset James Calligeros
2025-02-15 0:02 ` [PATCH 08/27] ASoC: tas2764: Configure zeroing of SDOUT slots James Calligeros
2025-02-15 0:02 ` [PATCH 09/27] ASoC: tas2764: Apply Apple quirks James Calligeros
2025-02-16 23:01 ` Alyssa Rosenzweig
2025-02-15 0:02 ` [PATCH 10/27] ASoC: tas2764: Raise regmap range maximum James Calligeros
2025-02-15 0:02 ` [PATCH 11/27] ASoC: tas2770: Export 'die_temp' to sysfs James Calligeros
2025-02-16 23:56 ` Mark Brown
2025-02-15 0:02 ` [PATCH 12/27] ASoC: tas2764: " James Calligeros
2025-02-15 0:02 ` [PATCH 13/27] ASoC: tas2764: Crop SDOUT zero-out mask based on BCLK ratio James Calligeros
2025-02-15 0:02 ` [PATCH 14/27] ASoC: tas2764: Enable main IRQs James Calligeros
2025-02-15 0:02 ` [PATCH 15/27] ASoC: tas2764: Power up/down amp on mute ops James Calligeros
2025-02-15 0:02 ` [PATCH 16/27] ASoC: tas2764: Add SDZ regulator James Calligeros
2025-02-15 0:02 ` [PATCH 17/27] ASoC: tas2764: Add reg defaults for TAS2764_INT_CLK_CFG James Calligeros
2025-02-15 0:02 ` [PATCH 18/27] ASoC: tas2764: Mark SW_RESET as volatile James Calligeros
2025-02-15 0:02 ` [PATCH 19/27] ASoC: tas2764: Fix power control mask James Calligeros
2025-02-16 23:58 ` Mark Brown
2025-02-15 0:02 ` [PATCH 20/27] ASoC: tas2764: Wait for ramp-down after shutdown James Calligeros
2025-02-15 0:02 ` [PATCH 21/27] ASoC: tas2770: Add SDZ regulator James Calligeros
2025-02-15 0:02 ` [PATCH 22/27] ASoC: tas2770: Power cycle amp on ISENSE/VSENSE change James Calligeros
2025-02-15 0:02 ` [PATCH 23/27] ASoC: tas2770: Add zero-fill and pull-down controls James Calligeros
2025-02-15 0:02 ` [PATCH 24/27] ASoC: tas2770: Support setting the PDM TX slot James Calligeros
2025-02-15 0:02 ` [PATCH 25/27] ASoC: tas2770: Fix volume scale James Calligeros
2025-02-17 0:00 ` Mark Brown
2025-02-15 0:02 ` [PATCH 26/27] ASoC: tas2764: Set the SDOUT polarity correctly James Calligeros
2025-02-15 0:03 ` James Calligeros [this message]
2025-02-15 0:39 ` [PATCH 00/27] ASoC: tas27{64,70}: improve support for Apple codec variants Neal Gompa
2025-02-16 23:03 ` Alyssa Rosenzweig
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=20250215-apple-codec-changes-v1-27-723569b21b19@gmail.com \
--to=jcalligeros99@gmail.com \
--cc=alyssa@rosenzweig.io \
--cc=asahi@lists.linux.dev \
--cc=baojun.xu@ti.com \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmurphy@ti.com \
--cc=kevin-lu@ti.com \
--cc=krzk+dt@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=marcan@marcan.st \
--cc=perex@perex.cz \
--cc=povik+lin@cutebit.org \
--cc=robh@kernel.org \
--cc=shenghao-ding@ti.com \
--cc=shifu0704@thundersoft.com \
--cc=tiwai@suse.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.