mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-01-11 20:07:00 +00:00
ASoC: pxa2xx-i2s: remove I2S pin setup
This removes the calls to pxa_gpio_mode from the pxa2xx-i2s driver. Pin setup should be done during board init via pxa2xx_mfp_config instead. Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com> Acked-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
772885c1dc
commit
44dd2b9168
@ -25,20 +25,11 @@
|
|||||||
|
|
||||||
#include <mach/hardware.h>
|
#include <mach/hardware.h>
|
||||||
#include <mach/pxa-regs.h>
|
#include <mach/pxa-regs.h>
|
||||||
#include <mach/pxa2xx-gpio.h>
|
|
||||||
#include <mach/audio.h>
|
#include <mach/audio.h>
|
||||||
|
|
||||||
#include "pxa2xx-pcm.h"
|
#include "pxa2xx-pcm.h"
|
||||||
#include "pxa2xx-i2s.h"
|
#include "pxa2xx-i2s.h"
|
||||||
|
|
||||||
struct pxa2xx_gpio {
|
|
||||||
u32 sys;
|
|
||||||
u32 rx;
|
|
||||||
u32 tx;
|
|
||||||
u32 clk;
|
|
||||||
u32 frm;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* I2S Controller Register and Bit Definitions
|
* I2S Controller Register and Bit Definitions
|
||||||
*/
|
*/
|
||||||
@ -106,21 +97,6 @@ static struct pxa2xx_pcm_dma_params pxa2xx_i2s_pcm_stereo_in = {
|
|||||||
DCMD_BURST32 | DCMD_WIDTH4,
|
DCMD_BURST32 | DCMD_WIDTH4,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct pxa2xx_gpio gpio_bus[] = {
|
|
||||||
{ /* I2S SoC Slave */
|
|
||||||
.rx = GPIO29_SDATA_IN_I2S_MD,
|
|
||||||
.tx = GPIO30_SDATA_OUT_I2S_MD,
|
|
||||||
.clk = GPIO28_BITCLK_IN_I2S_MD,
|
|
||||||
.frm = GPIO31_SYNC_I2S_MD,
|
|
||||||
},
|
|
||||||
{ /* I2S SoC Master */
|
|
||||||
.rx = GPIO29_SDATA_IN_I2S_MD,
|
|
||||||
.tx = GPIO30_SDATA_OUT_I2S_MD,
|
|
||||||
.clk = GPIO28_BITCLK_OUT_I2S_MD,
|
|
||||||
.frm = GPIO31_SYNC_I2S_MD,
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
static int pxa2xx_i2s_startup(struct snd_pcm_substream *substream,
|
static int pxa2xx_i2s_startup(struct snd_pcm_substream *substream,
|
||||||
struct snd_soc_dai *dai)
|
struct snd_soc_dai *dai)
|
||||||
{
|
{
|
||||||
@ -181,9 +157,6 @@ static int pxa2xx_i2s_set_dai_sysclk(struct snd_soc_dai *cpu_dai,
|
|||||||
if (clk_id != PXA2XX_I2S_SYSCLK)
|
if (clk_id != PXA2XX_I2S_SYSCLK)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
if (pxa_i2s.master && dir == SND_SOC_CLOCK_OUT)
|
|
||||||
pxa_gpio_mode(gpio_bus[pxa_i2s.master].sys);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -194,10 +167,6 @@ static int pxa2xx_i2s_hw_params(struct snd_pcm_substream *substream,
|
|||||||
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
struct snd_soc_pcm_runtime *rtd = substream->private_data;
|
||||||
struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
|
struct snd_soc_dai *cpu_dai = rtd->dai->cpu_dai;
|
||||||
|
|
||||||
pxa_gpio_mode(gpio_bus[pxa_i2s.master].rx);
|
|
||||||
pxa_gpio_mode(gpio_bus[pxa_i2s.master].tx);
|
|
||||||
pxa_gpio_mode(gpio_bus[pxa_i2s.master].frm);
|
|
||||||
pxa_gpio_mode(gpio_bus[pxa_i2s.master].clk);
|
|
||||||
BUG_ON(IS_ERR(clk_i2s));
|
BUG_ON(IS_ERR(clk_i2s));
|
||||||
clk_enable(clk_i2s);
|
clk_enable(clk_i2s);
|
||||||
pxa_i2s_wait();
|
pxa_i2s_wait();
|
||||||
@ -398,11 +367,6 @@ static struct platform_driver pxa2xx_i2s_driver = {
|
|||||||
|
|
||||||
static int __init pxa2xx_i2s_init(void)
|
static int __init pxa2xx_i2s_init(void)
|
||||||
{
|
{
|
||||||
if (cpu_is_pxa27x())
|
|
||||||
gpio_bus[1].sys = GPIO113_I2S_SYSCLK_MD;
|
|
||||||
else
|
|
||||||
gpio_bus[1].sys = GPIO32_SYSCLK_I2S_MD;
|
|
||||||
|
|
||||||
clk_i2s = ERR_PTR(-ENOENT);
|
clk_i2s = ERR_PTR(-ENOENT);
|
||||||
return platform_driver_register(&pxa2xx_i2s_driver);
|
return platform_driver_register(&pxa2xx_i2s_driver);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user