will be in use as default, or the big endian mode
will be in use for all the device registers.
+ - fsl,dma-buffer-size: It specify the audio buffer size of playback and
+ capture. If this property is absent, using the default value of audio buffer
+ size.
+
Example:
esai: esai@02024000 {
will be in use as default, or the big endian mode
will be in use for all the device registers.
+ - fsl,dma-buffer-size: It specify the audio buffer size of playback and
+ capture. If this property is absent, using the default value of audio buffer
+ size.
+
Example:
spdif: spdif@02004000 {
"ac97-slave" - AC97 mode, SSI is clock slave
"ac97-master" - AC97 mode, SSI is clock master
+- fsl,dma-buffer-size: It specify the audio buffer size of playback and
+ capture. If this property is absent, using the default value of audio buffer
+ size.
+
Child 'codec' node required properties:
- compatible: Compatible list, contains the name of the codec
/*
* Freescale ESAI ALSA SoC Digital Audio Interface (DAI) driver
*
- * Copyright (C) 2014 Freescale Semiconductor, Inc.
+ * Copyright (C) 2014-2015 Freescale Semiconductor, Inc.
*
* This file is licensed under the terms of the GNU General Public License
* version 2. This program is licensed "as is" without any warranty of any
const uint32_t *iprop;
void __iomem *regs;
int irq, ret;
+ u32 buffer_size;
esai_priv = devm_kzalloc(&pdev->dev, sizeof(*esai_priv), GFP_KERNEL);
if (!esai_priv)
return ret;
}
- ret = imx_pcm_dma_init(pdev, IMX_ESAI_DMABUF_SIZE);
+ if (of_property_read_u32(np, "fsl,dma-buffer-size", &buffer_size))
+ buffer_size = IMX_ESAI_DMABUF_SIZE;
+
+ ret = imx_pcm_dma_init(pdev, buffer_size);
if (ret)
dev_err(&pdev->dev, "failed to init imx pcm dma: %d\n", ret);
char tmp[8];
int irq, ret, i;
int index;
+ u32 buffer_size;
sai = devm_kzalloc(&pdev->dev, sizeof(*sai), GFP_KERNEL);
if (!sai)
if (ret)
return ret;
+ if (of_property_read_u32(np, "fsl,dma-buffer-size", &buffer_size))
+ buffer_size = IMX_SAI_DMABUF_SIZE;
+
if (sai->sai_on_imx)
- return imx_pcm_dma_init(pdev, IMX_SAI_DMABUF_SIZE);
+ return imx_pcm_dma_init(pdev, buffer_size);
else
return devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0);
}
struct resource *res;
void __iomem *regs;
int irq, ret, i;
+ u32 buffer_size;
if (!np)
return -ENODEV;
return ret;
}
- ret = imx_pcm_dma_init(pdev, IMX_SPDIF_DMABUF_SIZE);
+ if (of_property_read_u32(np, "fsl,dma-buffer-size", &buffer_size))
+ buffer_size = IMX_SPDIF_DMABUF_SIZE;
+
+ ret = imx_pcm_dma_init(pdev, buffer_size);
if (ret)
dev_err(&pdev->dev, "imx_pcm_dma_init failed: %d\n", ret);
struct device_node *np = pdev->dev.of_node;
u32 dmas[4];
int ret;
+ u32 buffer_size;
if (ssi_private->has_ipg_clk_name)
ssi_private->clk = devm_clk_get(&pdev->dev, "ipg");
ssi_private->dma_params_rx.maxburst &= ~0x1;
}
+ if (of_property_read_u32(np, "fsl,dma-buffer-size", &buffer_size))
+ buffer_size = IMX_SSI_DMABUF_SIZE;
+
if (!ssi_private->use_dma) {
/*
if (ret)
goto error_pcm;
} else {
- ret = imx_pcm_dma_init(pdev, IMX_SSI_DMABUF_SIZE);
+ ret = imx_pcm_dma_init(pdev, buffer_size);
if (ret)
goto error_pcm;
}