diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/801-audio-0031-MLK-13975-ASoC-fsl_sai-Refine-master-flag-handling.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/801-audio-0031-MLK-13975-ASoC-fsl_sai-Refine-master-flag-handling.patch | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0031-MLK-13975-ASoC-fsl_sai-Refine-master-flag-handling.patch b/target/linux/layerscape/patches-5.4/801-audio-0031-MLK-13975-ASoC-fsl_sai-Refine-master-flag-handling.patch deleted file mode 100644 index cc60638f2b..0000000000 --- a/target/linux/layerscape/patches-5.4/801-audio-0031-MLK-13975-ASoC-fsl_sai-Refine-master-flag-handling.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 45ef8360c3ce459342994cdcfbf140e876b5490b Mon Sep 17 00:00:00 2001 -From: Viorel Suman <viorel.suman@nxp.com> -Date: Tue, 11 Jul 2017 08:26:44 +0300 -Subject: [PATCH] MLK-13975: ASoC: fsl_sai: Refine master flag handling - -The patch introduces the master flag handling -as function of direction and the option to provide -the flag value from DTS. - -Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> -Signed-off-by: Viorel Suman <viorel.suman@nxp.com> ---- - sound/soc/fsl/fsl_sai.c | 27 +++++++++++++++++++-------- - sound/soc/fsl/fsl_sai.h | 2 +- - 2 files changed, 20 insertions(+), 9 deletions(-) - ---- a/sound/soc/fsl/fsl_sai.c -+++ b/sound/soc/fsl/fsl_sai.c -@@ -368,9 +368,9 @@ static int fsl_sai_set_dai_fmt(struct sn - struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai); - int ret; - -- if (sai->i2s_xtor) -- fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | -- SND_SOC_DAIFMT_CBS_CFS; -+ if (sai->masterflag[FSL_FMT_TRANSMITTER]) -+ fmt = (fmt & (~SND_SOC_DAIFMT_MASTER_MASK)) | -+ sai->masterflag[FSL_FMT_TRANSMITTER]; - - ret = fsl_sai_set_dai_fmt_tr(cpu_dai, fmt, FSL_FMT_TRANSMITTER); - if (ret) { -@@ -378,9 +378,9 @@ static int fsl_sai_set_dai_fmt(struct sn - return ret; - } - -- if (sai->i2s_xtor) -- fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | -- SND_SOC_DAIFMT_CBM_CFM; -+ if (sai->masterflag[FSL_FMT_RECEIVER]) -+ fmt = (fmt & (~SND_SOC_DAIFMT_MASTER_MASK)) | -+ sai->masterflag[FSL_FMT_RECEIVER]; - - ret = fsl_sai_set_dai_fmt_tr(cpu_dai, fmt, FSL_FMT_RECEIVER); - if (ret) -@@ -1022,8 +1022,19 @@ static int fsl_sai_probe(struct platform - return -EINVAL; - } - -- /* I2S XTOR mode */ -- sai->i2s_xtor = (of_find_property(np, "fsl,i2s-xtor", NULL) != NULL); -+ if ((of_find_property(np, "fsl,i2s-xtor", NULL) != NULL) || -+ (of_find_property(np, "fsl,txm-rxs", NULL) != NULL)) -+ { -+ sai->masterflag[FSL_FMT_TRANSMITTER] = SND_SOC_DAIFMT_CBS_CFS; -+ sai->masterflag[FSL_FMT_RECEIVER] = SND_SOC_DAIFMT_CBM_CFM; -+ } else { -+ if (!of_property_read_u32(np, "fsl,txmasterflag", -+ &sai->masterflag[FSL_FMT_TRANSMITTER])) -+ sai->masterflag[FSL_FMT_TRANSMITTER] <<= 12; -+ if (!of_property_read_u32(np, "fsl,rxmasterflag", -+ &sai->masterflag[FSL_FMT_RECEIVER])) -+ sai->masterflag[FSL_FMT_RECEIVER] <<= 12; -+ } - - irq = platform_get_irq(pdev, 0); - if (irq < 0) { ---- a/sound/soc/fsl/fsl_sai.h -+++ b/sound/soc/fsl/fsl_sai.h -@@ -160,10 +160,10 @@ struct fsl_sai { - bool slave_mode[2]; - bool is_lsb_first; - bool is_dsp_mode; -- bool i2s_xtor; - bool synchronous[2]; - bool is_stream_opened[2]; - unsigned int dataline[2]; -+ unsigned int masterflag[2]; - - unsigned int mclk_id[2]; - unsigned int mclk_streams; |