Commit 6dad9758 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown
Browse files

ASoC: rsrc-card: enable to use tdm_slot on DT



Renesas sound driver will use tdm slot on TDM Multi Mode support.
This patch enables tdm slot on rsrc card driver on DT.

Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 2b235a3d
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -50,6 +50,10 @@ MODULE_DEVICE_TABLE(of, rsrc_card_of_match);
struct rsrc_card_dai {
	unsigned int fmt;
	unsigned int sysclk;
	unsigned int tx_slot_mask;
	unsigned int rx_slot_mask;
	int slots;
	int slot_width;
	struct clk *clk;
	char dai_name[DAI_NAME_NUM];
};
@@ -126,6 +130,18 @@ static int rsrc_card_dai_init(struct snd_soc_pcm_runtime *rtd)
		}
	}

	if (dai_props->slots) {
		ret = snd_soc_dai_set_tdm_slot(dai,
					       dai_props->tx_slot_mask,
					       dai_props->rx_slot_mask,
					       dai_props->slots,
					       dai_props->slot_width);
		if (ret && ret != -ENOTSUPP) {
			dev_err(dai->dev, "set_tdm_slot error\n");
			goto err;
		}
	}

	ret = 0;

err:
@@ -198,6 +214,15 @@ static int rsrc_card_parse_links(struct device_node *np,
	if (ret)
		return ret;

	/* Parse TDM slot */
	ret = snd_soc_of_parse_tdm_slot(np,
					&dai_props->tx_slot_mask,
					&dai_props->rx_slot_mask,
					&dai_props->slots,
					&dai_props->slot_width);
	if (ret)
		return ret;

	if (is_fe) {
		/* BE is dummy */
		dai_link->codec_of_node		= NULL;