ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/target/linux/layerscape/patches-5.4/801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch b/target/linux/layerscape/patches-5.4/801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch
new file mode 100644
index 0000000..d6a8c97
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/801-audio-0011-Revert-ASoC-fsl_sai-add-of_match-data.patch
@@ -0,0 +1,96 @@
+From 6e0abca40338d5078be0e5947c7f9723b40bc7e7 Mon Sep 17 00:00:00 2001
+From: Dong Aisheng <aisheng.dong@nxp.com>
+Date: Mon, 30 Mar 2020 16:17:52 +0800
+Subject: [PATCH] Revert "ASoC: fsl_sai: add of_match data"
+
+This reverts commit 89c9679f699d88986ce552738dc7c5c500c8fc67.
+
+[rebase]
+Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
+---
+ sound/soc/fsl/fsl_sai.c | 22 ++++++++--------------
+ sound/soc/fsl/fsl_sai.h |  6 +-----
+ 2 files changed, 9 insertions(+), 19 deletions(-)
+
+--- a/sound/soc/fsl/fsl_sai.c
++++ b/sound/soc/fsl/fsl_sai.c
+@@ -9,7 +9,6 @@
+ #include <linux/dmaengine.h>
+ #include <linux/module.h>
+ #include <linux/of_address.h>
+-#include <linux/of_device.h>
+ #include <linux/pm_runtime.h>
+ #include <linux/regmap.h>
+ #include <linux/slab.h>
+@@ -790,7 +789,10 @@ static int fsl_sai_probe(struct platform
+ 		return -ENOMEM;
+ 
+ 	sai->pdev = pdev;
+-	sai->soc_data = of_device_get_match_data(&pdev->dev);
++
++	if (of_device_is_compatible(np, "fsl,imx6sx-sai") ||
++	    of_device_is_compatible(np, "fsl,imx6ul-sai"))
++		sai->sai_on_imx = true;
+ 
+ 	sai->is_lsb_first = of_property_read_bool(np, "lsb-first");
+ 
+@@ -902,7 +904,7 @@ static int fsl_sai_probe(struct platform
+ 	if (ret)
+ 		goto err_pm_disable;
+ 
+-	if (sai->soc_data->use_imx_pcm) {
++	if (sai->sai_on_imx)
+ 		ret = imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE);
+ 		if (ret)
+ 			goto err_pm_disable;
+@@ -927,18 +929,10 @@ static int fsl_sai_remove(struct platfor
+ 	return 0;
+ }
+ 
+-static const struct fsl_sai_soc_data fsl_sai_vf610_data = {
+-	.use_imx_pcm = false,
+-};
+-
+-static const struct fsl_sai_soc_data fsl_sai_imx6sx_data = {
+-	.use_imx_pcm = true,
+-};
+-
+ static const struct of_device_id fsl_sai_ids[] = {
+-	{ .compatible = "fsl,vf610-sai", .data = &fsl_sai_vf610_data },
+-	{ .compatible = "fsl,imx6sx-sai", .data = &fsl_sai_imx6sx_data },
+-	{ .compatible = "fsl,imx6ul-sai", .data = &fsl_sai_imx6sx_data },
++	{ .compatible = "fsl,vf610-sai", },
++	{ .compatible = "fsl,imx6sx-sai", },
++	{ .compatible = "fsl,imx6ul-sai", },
+ 	{ /* sentinel */ }
+ };
+ MODULE_DEVICE_TABLE(of, fsl_sai_ids);
+--- a/sound/soc/fsl/fsl_sai.h
++++ b/sound/soc/fsl/fsl_sai.h
+@@ -126,10 +126,6 @@
+ #define FSL_SAI_MAXBURST_TX 6
+ #define FSL_SAI_MAXBURST_RX 6
+ 
+-struct fsl_sai_soc_data {
+-	bool use_imx_pcm;
+-};
+-
+ struct fsl_sai {
+ 	struct platform_device *pdev;
+ 	struct regmap *regmap;
+@@ -139,6 +135,7 @@ struct fsl_sai {
+ 	bool is_slave_mode;
+ 	bool is_lsb_first;
+ 	bool is_dsp_mode;
++	bool sai_on_imx;
+ 	bool synchronous[2];
+ 
+ 	unsigned int mclk_id[2];
+@@ -146,7 +143,6 @@ struct fsl_sai {
+ 	unsigned int slots;
+ 	unsigned int slot_width;
+ 
+-	const struct fsl_sai_soc_data *soc_data;
+ 	struct snd_soc_dai_driver cpu_dai_drv;
+ 	struct snd_dmaengine_dai_dma_data dma_params_rx;
+ 	struct snd_dmaengine_dai_dma_data dma_params_tx;