From cddd4591404fb4c53dc0b3c0b15b942cdbed4356 Mon Sep 17 00:00:00 2001 From: Yangbo Lu Date: Fri, 10 Apr 2020 10:47:05 +0800 Subject: layerscape: add patches-5.4 Add patches for linux-5.4. The patches are from NXP LSDK-20.04 release which was tagged LSDK-20.04-V5.4. https://source.codeaurora.org/external/qoriq/qoriq-components/linux/ For boards LS1021A-IOT, and Traverse-LS1043 which are not involved in LSDK, port the dts patches from 4.14. The patches are sorted into the following categories: 301-arch-xxxx 302-dts-xxxx 303-core-xxxx 701-net-xxxx 801-audio-xxxx 802-can-xxxx 803-clock-xxxx 804-crypto-xxxx 805-display-xxxx 806-dma-xxxx 807-gpio-xxxx 808-i2c-xxxx 809-jailhouse-xxxx 810-keys-xxxx 811-kvm-xxxx 812-pcie-xxxx 813-pm-xxxx 814-qe-xxxx 815-sata-xxxx 816-sdhc-xxxx 817-spi-xxxx 818-thermal-xxxx 819-uart-xxxx 820-usb-xxxx 821-vfio-xxxx Signed-off-by: Yangbo Lu --- ...SoC-fsl_sai-set-specific-fmt-for-I2S-XTOR.patch | 62 ++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 target/linux/layerscape/patches-5.4/801-audio-0022-ASoC-fsl_sai-set-specific-fmt-for-I2S-XTOR.patch (limited to 'target/linux/layerscape/patches-5.4/801-audio-0022-ASoC-fsl_sai-set-specific-fmt-for-I2S-XTOR.patch') diff --git a/target/linux/layerscape/patches-5.4/801-audio-0022-ASoC-fsl_sai-set-specific-fmt-for-I2S-XTOR.patch b/target/linux/layerscape/patches-5.4/801-audio-0022-ASoC-fsl_sai-set-specific-fmt-for-I2S-XTOR.patch new file mode 100644 index 0000000000..84bf81ae64 --- /dev/null +++ b/target/linux/layerscape/patches-5.4/801-audio-0022-ASoC-fsl_sai-set-specific-fmt-for-I2S-XTOR.patch @@ -0,0 +1,62 @@ +From 307e37122cc14b5b305639c18ea575ebe623da2f Mon Sep 17 00:00:00 2001 +From: Viorel Suman +Date: Sun, 30 Apr 2017 17:05:52 +0300 +Subject: [PATCH] ASoC: fsl_sai: set specific fmt for I2S XTOR + +Set specific fmt, for i2s xtor receiver is +in slave mode and i2s xtor transmitter is in master mode. + +Signed-off-by: Shengjiu Wang +Signed-off-by: Viorel Suman +--- + sound/soc/fsl/fsl_sai.c | 12 ++++++++++++ + sound/soc/fsl/fsl_sai.h | 2 +- + 2 files changed, 13 insertions(+), 1 deletion(-) + +--- a/sound/soc/fsl/fsl_sai.c ++++ b/sound/soc/fsl/fsl_sai.c +@@ -335,14 +335,23 @@ static int fsl_sai_set_dai_fmt_tr(struct + + static int fsl_sai_set_dai_fmt(struct snd_soc_dai *cpu_dai, unsigned int fmt) + { ++ 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; ++ + ret = fsl_sai_set_dai_fmt_tr(cpu_dai, fmt, FSL_FMT_TRANSMITTER); + if (ret) { + dev_err(cpu_dai->dev, "Cannot set tx format: %d\n", ret); + return ret; + } + ++ if (sai->i2s_xtor) ++ fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | ++ SND_SOC_DAIFMT_CBM_CFM; ++ + ret = fsl_sai_set_dai_fmt_tr(cpu_dai, fmt, FSL_FMT_RECEIVER); + if (ret) + dev_err(cpu_dai->dev, "Cannot set rx format: %d\n", ret); +@@ -974,6 +983,9 @@ static int fsl_sai_probe(struct platform + return -EINVAL; + } + ++ /* I2S XTOR mode */ ++ sai->i2s_xtor = (of_find_property(np, "fsl,i2s-xtor", NULL) != NULL); ++ + irq = platform_get_irq(pdev, 0); + if (irq < 0) { + dev_err(&pdev->dev, "no irq for node %s\n", pdev->name); +--- a/sound/soc/fsl/fsl_sai.h ++++ b/sound/soc/fsl/fsl_sai.h +@@ -160,7 +160,7 @@ struct fsl_sai { + bool slave_mode[2]; + bool is_lsb_first; + bool is_dsp_mode; +- bool sai_on_imx; ++ bool i2s_xtor; + bool synchronous[2]; + bool is_stream_opened[2]; + unsigned int dataline[2]; -- cgit v1.2.3