Loading sound/soc/fsl/Kconfig +58 −24 Original line number Diff line number Diff line menu "SoC Audio for Freescale CPUs" comment "Common SoC Audio options for Freescale CPUs:" config SND_SOC_FSL_SAI tristate tristate "Synchronous Audio Interface (SAI) module support" select REGMAP_MMIO select SND_SOC_GENERIC_DMAENGINE_PCM help Say Y if you want to add Synchronous Audio Interface (SAI) support for the Freescale CPUs. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. config SND_SOC_FSL_SSI tristate "Synchronous Serial Interface module support" select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC select REGMAP_MMIO tristate help Say Y if you want to add Synchronous Serial Interface (SSI) support for the Freescale CPUs. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. config SND_SOC_FSL_SPDIF tristate tristate "Sony/Philips Digital Interface module support" select REGMAP_MMIO select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC help Say Y if you want to add Sony/Philips Digital Interface (SPDIF) support for the Freescale CPUs. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. config SND_SOC_FSL_ESAI tristate tristate "Enhanced Serial Audio Interface (ESAI) module support" select REGMAP_MMIO select SND_SOC_FSL_UTILS help Say Y if you want to add Enhanced Synchronous Audio Interface (ESAI) support for the Freescale CPUs. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. config SND_SOC_FSL_UTILS tristate menuconfig SND_POWERPC_SOC config SND_SOC_IMX_PCM_DMA tristate select SND_SOC_GENERIC_DMAENGINE_PCM config SND_SOC_IMX_AUDMUX tristate "Digital Audio Mux module support" help Say Y if you want to add Digital Audio Mux (AUDMUX) support for the ARM i.MX CPUs. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. config SND_POWERPC_SOC tristate "SoC Audio for Freescale PowerPC CPUs" depends on FSL_SOC || PPC_MPC52xx help Say Y or M if you want to add support for codecs attached to the PowerPC CPUs. config SND_IMX_SOC tristate "SoC Audio for Freescale i.MX CPUs" depends on ARCH_MXC || COMPILE_TEST help Say Y or M if you want to add support for codecs attached to the i.MX CPUs. if SND_POWERPC_SOC config SND_MPC52xx_DMA Loading @@ -34,6 +81,8 @@ config SND_MPC52xx_DMA config SND_SOC_POWERPC_DMA tristate comment "SoC Audio support for Freescale PPC boards:" config SND_SOC_MPC8610_HPCD tristate "ALSA SoC support for the Freescale MPC8610 HPCD board" # I2C is necessary for the CS4270 driver Loading Loading @@ -111,13 +160,6 @@ config SND_MPC52xx_SOC_EFIKA endif # SND_POWERPC_SOC menuconfig SND_IMX_SOC tristate "SoC Audio for Freescale i.MX CPUs" depends on ARCH_MXC || COMPILE_TEST help Say Y or M if you want to add support for codecs attached to the i.MX CPUs. if SND_IMX_SOC config SND_SOC_IMX_SSI Loading @@ -128,12 +170,7 @@ config SND_SOC_IMX_PCM_FIQ tristate select FIQ config SND_SOC_IMX_PCM_DMA tristate select SND_SOC_GENERIC_DMAENGINE_PCM config SND_SOC_IMX_AUDMUX tristate comment "SoC Audio support for Freescale i.MX boards:" config SND_MXC_SOC_WM1133_EV1 tristate "Audio on the i.MX31ADS with WM1133-EV1 fitted" Loading Loading @@ -171,12 +208,7 @@ config SND_SOC_PHYCORE_AC97 config SND_SOC_EUKREA_TLV320 tristate "Eukrea TLV320" depends on MACH_EUKREA_MBIMX27_BASEBOARD \ || MACH_EUKREA_MBIMXSD25_BASEBOARD \ || MACH_EUKREA_MBIMXSD35_BASEBOARD \ || MACH_EUKREA_MBIMXSD51_BASEBOARD \ || (OF && ARM) depends on I2C depends on ARCH_MXC && I2C select SND_SOC_TLV320AIC23_I2C select SND_SOC_IMX_AUDMUX select SND_SOC_IMX_SSI Loading Loading @@ -226,3 +258,5 @@ config SND_SOC_IMX_MC13783 select SND_SOC_IMX_PCM_DMA endif # SND_IMX_SOC endmenu sound/soc/fsl/fsl_esai.c +6 −3 Original line number Diff line number Diff line Loading @@ -209,8 +209,9 @@ static int fsl_esai_set_dai_sysclk(struct snd_soc_dai *dai, int clk_id, struct clk *clksrc = esai_priv->extalclk; bool tx = clk_id <= ESAI_HCKT_EXTAL; bool in = dir == SND_SOC_CLOCK_IN; u32 ret, ratio, ecr = 0; u32 ratio, ecr = 0; unsigned long clk_rate; int ret; /* sck_div can be only bypassed if ETO/ERO=0 and SNC_SOC_CLOCK_OUT */ esai_priv->sck_div[tx] = true; Loading Loading @@ -432,8 +433,8 @@ static int fsl_esai_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) static int fsl_esai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { int ret; struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); int ret; /* * Some platforms might use the same bit to gate all three or two of Loading Loading @@ -491,7 +492,8 @@ static int fsl_esai_hw_params(struct snd_pcm_substream *substream, bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK; u32 width = snd_pcm_format_width(params_format(params)); u32 channels = params_channels(params); u32 bclk, mask, val, ret; u32 bclk, mask, val; int ret; bclk = params_rate(params) * esai_priv->slot_width * 2; Loading Loading @@ -816,6 +818,7 @@ static int fsl_esai_probe(struct platform_device *pdev) static const struct of_device_id fsl_esai_dt_ids[] = { { .compatible = "fsl,imx35-esai", }, { .compatible = "fsl,vf610-esai", }, {} }; MODULE_DEVICE_TABLE(of, fsl_esai_dt_ids); Loading sound/soc/fsl/fsl_spdif.c +5 −4 Original line number Diff line number Diff line Loading @@ -13,18 +13,18 @@ * kind, whether express or implied. */ #include <linux/module.h> #include <linux/bitrev.h> #include <linux/clk.h> #include <linux/clk-private.h> #include <linux/bitrev.h> #include <linux/regmap.h> #include <linux/module.h> #include <linux/of_address.h> #include <linux/of_device.h> #include <linux/of_irq.h> #include <linux/regmap.h> #include <sound/asoundef.h> #include <sound/soc.h> #include <sound/dmaengine_pcm.h> #include <sound/soc.h> #include "fsl_spdif.h" #include "imx-pcm.h" Loading Loading @@ -1186,6 +1186,7 @@ static int fsl_spdif_probe(struct platform_device *pdev) static const struct of_device_id fsl_spdif_dt_ids[] = { { .compatible = "fsl,imx35-spdif", }, { .compatible = "fsl,vf610-spdif", }, {} }; MODULE_DEVICE_TABLE(of, fsl_spdif_dt_ids); Loading sound/soc/fsl/fsl_ssi.c +1 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ #include <linux/delay.h> #include <linux/slab.h> #include <linux/spinlock.h> #include <linux/of.h> #include <linux/of_address.h> #include <linux/of_irq.h> #include <linux/of_platform.h> Loading sound/soc/fsl/imx-pcm-dma.c +0 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,6 @@ static const struct snd_pcm_hardware imx_pcm_hardware = { SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME, .formats = SNDRV_PCM_FMTBIT_S16_LE, .buffer_bytes_max = IMX_SSI_DMABUF_SIZE, .period_bytes_min = 128, .period_bytes_max = 65535, /* Limited by SDMA engine */ Loading Loading
sound/soc/fsl/Kconfig +58 −24 Original line number Diff line number Diff line menu "SoC Audio for Freescale CPUs" comment "Common SoC Audio options for Freescale CPUs:" config SND_SOC_FSL_SAI tristate tristate "Synchronous Audio Interface (SAI) module support" select REGMAP_MMIO select SND_SOC_GENERIC_DMAENGINE_PCM help Say Y if you want to add Synchronous Audio Interface (SAI) support for the Freescale CPUs. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. config SND_SOC_FSL_SSI tristate "Synchronous Serial Interface module support" select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC select REGMAP_MMIO tristate help Say Y if you want to add Synchronous Serial Interface (SSI) support for the Freescale CPUs. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. config SND_SOC_FSL_SPDIF tristate tristate "Sony/Philips Digital Interface module support" select REGMAP_MMIO select SND_SOC_IMX_PCM_DMA if SND_IMX_SOC != n select SND_SOC_IMX_PCM_FIQ if SND_IMX_SOC != n && ARCH_MXC help Say Y if you want to add Sony/Philips Digital Interface (SPDIF) support for the Freescale CPUs. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. config SND_SOC_FSL_ESAI tristate tristate "Enhanced Serial Audio Interface (ESAI) module support" select REGMAP_MMIO select SND_SOC_FSL_UTILS help Say Y if you want to add Enhanced Synchronous Audio Interface (ESAI) support for the Freescale CPUs. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. config SND_SOC_FSL_UTILS tristate menuconfig SND_POWERPC_SOC config SND_SOC_IMX_PCM_DMA tristate select SND_SOC_GENERIC_DMAENGINE_PCM config SND_SOC_IMX_AUDMUX tristate "Digital Audio Mux module support" help Say Y if you want to add Digital Audio Mux (AUDMUX) support for the ARM i.MX CPUs. This option is only useful for out-of-tree drivers since in-tree drivers select it automatically. config SND_POWERPC_SOC tristate "SoC Audio for Freescale PowerPC CPUs" depends on FSL_SOC || PPC_MPC52xx help Say Y or M if you want to add support for codecs attached to the PowerPC CPUs. config SND_IMX_SOC tristate "SoC Audio for Freescale i.MX CPUs" depends on ARCH_MXC || COMPILE_TEST help Say Y or M if you want to add support for codecs attached to the i.MX CPUs. if SND_POWERPC_SOC config SND_MPC52xx_DMA Loading @@ -34,6 +81,8 @@ config SND_MPC52xx_DMA config SND_SOC_POWERPC_DMA tristate comment "SoC Audio support for Freescale PPC boards:" config SND_SOC_MPC8610_HPCD tristate "ALSA SoC support for the Freescale MPC8610 HPCD board" # I2C is necessary for the CS4270 driver Loading Loading @@ -111,13 +160,6 @@ config SND_MPC52xx_SOC_EFIKA endif # SND_POWERPC_SOC menuconfig SND_IMX_SOC tristate "SoC Audio for Freescale i.MX CPUs" depends on ARCH_MXC || COMPILE_TEST help Say Y or M if you want to add support for codecs attached to the i.MX CPUs. if SND_IMX_SOC config SND_SOC_IMX_SSI Loading @@ -128,12 +170,7 @@ config SND_SOC_IMX_PCM_FIQ tristate select FIQ config SND_SOC_IMX_PCM_DMA tristate select SND_SOC_GENERIC_DMAENGINE_PCM config SND_SOC_IMX_AUDMUX tristate comment "SoC Audio support for Freescale i.MX boards:" config SND_MXC_SOC_WM1133_EV1 tristate "Audio on the i.MX31ADS with WM1133-EV1 fitted" Loading Loading @@ -171,12 +208,7 @@ config SND_SOC_PHYCORE_AC97 config SND_SOC_EUKREA_TLV320 tristate "Eukrea TLV320" depends on MACH_EUKREA_MBIMX27_BASEBOARD \ || MACH_EUKREA_MBIMXSD25_BASEBOARD \ || MACH_EUKREA_MBIMXSD35_BASEBOARD \ || MACH_EUKREA_MBIMXSD51_BASEBOARD \ || (OF && ARM) depends on I2C depends on ARCH_MXC && I2C select SND_SOC_TLV320AIC23_I2C select SND_SOC_IMX_AUDMUX select SND_SOC_IMX_SSI Loading Loading @@ -226,3 +258,5 @@ config SND_SOC_IMX_MC13783 select SND_SOC_IMX_PCM_DMA endif # SND_IMX_SOC endmenu
sound/soc/fsl/fsl_esai.c +6 −3 Original line number Diff line number Diff line Loading @@ -209,8 +209,9 @@ static int fsl_esai_set_dai_sysclk(struct snd_soc_dai *dai, int clk_id, struct clk *clksrc = esai_priv->extalclk; bool tx = clk_id <= ESAI_HCKT_EXTAL; bool in = dir == SND_SOC_CLOCK_IN; u32 ret, ratio, ecr = 0; u32 ratio, ecr = 0; unsigned long clk_rate; int ret; /* sck_div can be only bypassed if ETO/ERO=0 and SNC_SOC_CLOCK_OUT */ esai_priv->sck_div[tx] = true; Loading Loading @@ -432,8 +433,8 @@ static int fsl_esai_set_dai_fmt(struct snd_soc_dai *dai, unsigned int fmt) static int fsl_esai_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { int ret; struct fsl_esai *esai_priv = snd_soc_dai_get_drvdata(dai); int ret; /* * Some platforms might use the same bit to gate all three or two of Loading Loading @@ -491,7 +492,8 @@ static int fsl_esai_hw_params(struct snd_pcm_substream *substream, bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK; u32 width = snd_pcm_format_width(params_format(params)); u32 channels = params_channels(params); u32 bclk, mask, val, ret; u32 bclk, mask, val; int ret; bclk = params_rate(params) * esai_priv->slot_width * 2; Loading Loading @@ -816,6 +818,7 @@ static int fsl_esai_probe(struct platform_device *pdev) static const struct of_device_id fsl_esai_dt_ids[] = { { .compatible = "fsl,imx35-esai", }, { .compatible = "fsl,vf610-esai", }, {} }; MODULE_DEVICE_TABLE(of, fsl_esai_dt_ids); Loading
sound/soc/fsl/fsl_spdif.c +5 −4 Original line number Diff line number Diff line Loading @@ -13,18 +13,18 @@ * kind, whether express or implied. */ #include <linux/module.h> #include <linux/bitrev.h> #include <linux/clk.h> #include <linux/clk-private.h> #include <linux/bitrev.h> #include <linux/regmap.h> #include <linux/module.h> #include <linux/of_address.h> #include <linux/of_device.h> #include <linux/of_irq.h> #include <linux/regmap.h> #include <sound/asoundef.h> #include <sound/soc.h> #include <sound/dmaengine_pcm.h> #include <sound/soc.h> #include "fsl_spdif.h" #include "imx-pcm.h" Loading Loading @@ -1186,6 +1186,7 @@ static int fsl_spdif_probe(struct platform_device *pdev) static const struct of_device_id fsl_spdif_dt_ids[] = { { .compatible = "fsl,imx35-spdif", }, { .compatible = "fsl,vf610-spdif", }, {} }; MODULE_DEVICE_TABLE(of, fsl_spdif_dt_ids); Loading
sound/soc/fsl/fsl_ssi.c +1 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,7 @@ #include <linux/delay.h> #include <linux/slab.h> #include <linux/spinlock.h> #include <linux/of.h> #include <linux/of_address.h> #include <linux/of_irq.h> #include <linux/of_platform.h> Loading
sound/soc/fsl/imx-pcm-dma.c +0 −1 Original line number Diff line number Diff line Loading @@ -40,7 +40,6 @@ static const struct snd_pcm_hardware imx_pcm_hardware = { SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME, .formats = SNDRV_PCM_FMTBIT_S16_LE, .buffer_bytes_max = IMX_SSI_DMABUF_SIZE, .period_bytes_min = 128, .period_bytes_max = 65535, /* Limited by SDMA engine */ Loading