devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] ASoC: codecs: rtq9128: Add TDM input source select
@ 2023-09-28  3:41 cy_huang
  2023-09-28  3:41 ` [PATCH 1/2] ASoC: dt-bindings: rtq9128: Add TDM input source slect property cy_huang
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: cy_huang @ 2023-09-28  3:41 UTC (permalink / raw)
  To: Mark Brown, Krzysztof Kozlowski
  Cc: Conor Dooley, Rob Herring, Liam Girdwood, Jaroslav Kysela,
	Takashi Iwai, ChiYuan Huang, Allen Lin, devicetree, alsa-devel,
	linux-kernel

From: ChiYuan Huang <cy_huang@richtek.com>

This patch series create a TDM source select property and use it to
decide which TDM data source is connected.

Following by the below patch disccuion
https://lore.kernel.org/lkml/1695780376-32301-1-git-send-email-cy_huang@richtek.com/#t
It may not be a good choice to add the user controlable mixer control
item. Since it follows the board design, make it as a device property.

ChiYuan Huang (2):
  ASoC: dt-bindings: rtq9128: Add TDM input source slect property
  ASoC: codecs: rtq9128: Add TDM input source select

 .../bindings/sound/richtek,rtq9128.yaml          |  7 +++++++
 sound/soc/codecs/rtq9128.c                       | 16 +++++++++++++++-
 2 files changed, 22 insertions(+), 1 deletion(-)


base-commit: 3efcb471f871cc095841d411f98c593228ecbac6
-- 
2.34.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] ASoC: dt-bindings: rtq9128: Add TDM input source slect property
  2023-09-28  3:41 [PATCH 0/2] ASoC: codecs: rtq9128: Add TDM input source select cy_huang
@ 2023-09-28  3:41 ` cy_huang
  2023-09-28  3:41 ` [PATCH 2/2] ASoC: codecs: rtq9128: Add TDM input source select cy_huang
  2023-09-28 14:51 ` [PATCH 0/2] " Mark Brown
  2 siblings, 0 replies; 4+ messages in thread
From: cy_huang @ 2023-09-28  3:41 UTC (permalink / raw)
  To: Mark Brown, Krzysztof Kozlowski
  Cc: Conor Dooley, Rob Herring, Liam Girdwood, Jaroslav Kysela,
	Takashi Iwai, ChiYuan Huang, Allen Lin, devicetree, alsa-devel,
	linux-kernel

From: ChiYuan Huang <cy_huang@richtek.com>

Create a boolean property to select TDM input source coms from 'DATA2'.

Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
---
 .../devicetree/bindings/sound/richtek,rtq9128.yaml         | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/Documentation/devicetree/bindings/sound/richtek,rtq9128.yaml b/Documentation/devicetree/bindings/sound/richtek,rtq9128.yaml
index d117f08fff30..d54686a19ab7 100644
--- a/Documentation/devicetree/bindings/sound/richtek,rtq9128.yaml
+++ b/Documentation/devicetree/bindings/sound/richtek,rtq9128.yaml
@@ -28,6 +28,13 @@ properties:
   enable-gpios:
     maxItems: 1
 
+  richtek,tdm-input-data2-select:
+    type: boolean
+    description:
+      By default, if TDM mode is used, TDM data input will select 'DATA1' pin
+      as the data source. This option will configure TDM data input source from
+      'DATA1' to 'DATA2' pin.
+
   '#sound-dai-cells':
     const: 0
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] ASoC: codecs: rtq9128: Add TDM input source select
  2023-09-28  3:41 [PATCH 0/2] ASoC: codecs: rtq9128: Add TDM input source select cy_huang
  2023-09-28  3:41 ` [PATCH 1/2] ASoC: dt-bindings: rtq9128: Add TDM input source slect property cy_huang
@ 2023-09-28  3:41 ` cy_huang
  2023-09-28 14:51 ` [PATCH 0/2] " Mark Brown
  2 siblings, 0 replies; 4+ messages in thread
From: cy_huang @ 2023-09-28  3:41 UTC (permalink / raw)
  To: Mark Brown, Krzysztof Kozlowski
  Cc: Conor Dooley, Rob Herring, Liam Girdwood, Jaroslav Kysela,
	Takashi Iwai, ChiYuan Huang, Allen Lin, devicetree, alsa-devel,
	linux-kernel

From: ChiYuan Huang <cy_huang@richtek.com>

Pase the property to decide the TDM input source comes from 'DATA1' or
'DATA2 pin.

Signed-off-by: ChiYuan Huang <cy_huang@richtek.com>
---
 sound/soc/codecs/rtq9128.c | 16 +++++++++++++++-
 1 file changed, 15 insertions(+), 1 deletion(-)

diff --git a/sound/soc/codecs/rtq9128.c b/sound/soc/codecs/rtq9128.c
index 926b79ed8078..371d622c6214 100644
--- a/sound/soc/codecs/rtq9128.c
+++ b/sound/soc/codecs/rtq9128.c
@@ -14,6 +14,7 @@
 #include <linux/mod_devicetable.h>
 #include <linux/module.h>
 #include <linux/pm_runtime.h>
+#include <linux/property.h>
 #include <linux/regmap.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
@@ -41,6 +42,7 @@
 
 #define RTQ9128_CHSTAT_VAL_MASK	GENMASK(1, 0)
 #define RTQ9128_DOLEN_MASK	GENMASK(7, 6)
+#define RTQ9128_TDMSRCIN_MASK	GENMASK(5, 4)
 #define RTQ9128_AUDBIT_MASK	GENMASK(5, 4)
 #define RTQ9128_AUDFMT_MASK	GENMASK(3, 0)
 #define RTQ9128_MSMUTE_MASK	BIT(0)
@@ -59,6 +61,7 @@ struct rtq9128_data {
 	struct gpio_desc *enable;
 	int tdm_slots;
 	int tdm_slot_width;
+	bool tdm_input_data2_select;
 };
 
 struct rtq9128_init_reg {
@@ -484,7 +487,7 @@ static int rtq9128_dai_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mas
 	struct rtq9128_data *data = snd_soc_dai_get_drvdata(dai);
 	struct snd_soc_component *comp = dai->component;
 	struct device *dev = dai->dev;
-	unsigned int mask, start_loc;
+	unsigned int mask, start_loc, srcin_select;
 	int i, frame_length, ret;
 
 	dev_dbg(dev, "%s: slot %d slot_width %d, tx/rx mask 0x%x 0x%x\n", __func__, slots,
@@ -530,6 +533,14 @@ static int rtq9128_dai_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mas
 		}
 	}
 
+	srcin_select = data->tdm_input_data2_select ? RTQ9128_TDMSRCIN_MASK : 0;
+	ret = snd_soc_component_update_bits(comp, RTQ9128_REG_SDO_SEL, RTQ9128_TDMSRCIN_MASK,
+					    srcin_select);
+	if (ret < 0) {
+		dev_err(dev, "Failed to configure TDM source input select\n");
+		return ret;
+	}
+
 	data->tdm_slots = slots;
 	data->tdm_slot_width = slot_width;
 
@@ -672,6 +683,9 @@ static int rtq9128_probe(struct i2c_client *i2c)
 	else if (data->enable)
 		usleep_range(10000, 11000);
 
+	data->tdm_input_data2_select = device_property_read_bool(dev,
+								 "richtek,tdm-input-data2-select");
+
 	i2c_set_clientdata(i2c, data);
 
 	/*
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 0/2] ASoC: codecs: rtq9128: Add TDM input source select
  2023-09-28  3:41 [PATCH 0/2] ASoC: codecs: rtq9128: Add TDM input source select cy_huang
  2023-09-28  3:41 ` [PATCH 1/2] ASoC: dt-bindings: rtq9128: Add TDM input source slect property cy_huang
  2023-09-28  3:41 ` [PATCH 2/2] ASoC: codecs: rtq9128: Add TDM input source select cy_huang
@ 2023-09-28 14:51 ` Mark Brown
  2 siblings, 0 replies; 4+ messages in thread
From: Mark Brown @ 2023-09-28 14:51 UTC (permalink / raw)
  To: Krzysztof Kozlowski, cy_huang
  Cc: Conor Dooley, Rob Herring, Liam Girdwood, Jaroslav Kysela,
	Takashi Iwai, Allen Lin, devicetree, alsa-devel, linux-kernel

On Thu, 28 Sep 2023 11:41:06 +0800, cy_huang@richtek.com wrote:
> This patch series create a TDM source select property and use it to
> decide which TDM data source is connected.
> 
> Following by the below patch disccuion
> https://lore.kernel.org/lkml/1695780376-32301-1-git-send-email-cy_huang@richtek.com/#t
> It may not be a good choice to add the user controlable mixer control
> item. Since it follows the board design, make it as a device property.
> 
> [...]

Applied to

   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next

Thanks!

[1/2] ASoC: dt-bindings: rtq9128: Add TDM input source slect property
      commit: bf38a0be7c57e43303600b5afc9b740882b3ed87
[2/2] ASoC: codecs: rtq9128: Add TDM input source select
      commit: 54ac512048c98b720a8fbf5899308788dff8def0

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-09-28 14:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-28  3:41 [PATCH 0/2] ASoC: codecs: rtq9128: Add TDM input source select cy_huang
2023-09-28  3:41 ` [PATCH 1/2] ASoC: dt-bindings: rtq9128: Add TDM input source slect property cy_huang
2023-09-28  3:41 ` [PATCH 2/2] ASoC: codecs: rtq9128: Add TDM input source select cy_huang
2023-09-28 14:51 ` [PATCH 0/2] " Mark Brown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).