diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2012-08-16 09:41:04 -0400 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-08-22 15:17:05 -0400 |
commit | 8fef6263ea68f6160637f370a5864d0a455c620d (patch) | |
tree | 20b29e74932c3f7d8430fc663d44cb3a16f3d2ef /sound/soc/omap | |
parent | fca04aea36a82bc451ddc33dee6f9a48bb0f8a2a (diff) |
ARM/ASoC: omap-mcbsp: Remove CLKR/FSR mux configuration code
Remove the feature to configure the CLKR/FSR mux on McBSP port with 6pin
configuration.
When moving to devicetree these callback can no longer be used in a clean
way anymore.
If a board require to change the 6pin port to work in 4pin setup it needs
to set up the mux in the board file.
For OMAP2/3:
u32 devconf0;
/* McBSP1 CLKR/FSR signal to be connected to CLKX/FSX pin */
devconf0 = omap_ctrl_readl(OMAP2_CONTROL_DEVCONF0);
devconf0 |= OMAP2_MCBSP1_CLKR_MASK | OMAP2_MCBSP1_FSR_MASK;
omap_ctrl_writel(devconf0, OMAP2_CONTROL_DEVCONF0);
For OMAP4:
u32 mcbsp_pad;
/* McBSP4 CLKR/FSR signal to be connected to CLKX/FSX pin */
mcbsp_pad = omap4_ctrl_pad_readl(OMAP2_CONTROL_DEVCONF0);
mcbsp_pad |= ((1 << 31) | (1 << 30));
omap4_ctrl_pad_writel(mcbsp_pad, OMAP2_CONTROL_DEVCONF0);
In case when the kernel is booted with DT blob the pinctrl-single will be
provided as soon as it is enabled on the platform.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/omap')
-rw-r--r-- | sound/soc/omap/mcbsp.h | 3 | ||||
-rw-r--r-- | sound/soc/omap/omap-mcbsp.c | 32 | ||||
-rw-r--r-- | sound/soc/omap/omap-mcbsp.h | 4 |
3 files changed, 3 insertions, 36 deletions
diff --git a/sound/soc/omap/mcbsp.h b/sound/soc/omap/mcbsp.h index 262a6152111f..49a67259ce5a 100644 --- a/sound/soc/omap/mcbsp.h +++ b/sound/soc/omap/mcbsp.h | |||
@@ -334,9 +334,6 @@ void omap_mcbsp_stop(struct omap_mcbsp *mcbsp, int tx, int rx); | |||
334 | /* McBSP functional clock source changing function */ | 334 | /* McBSP functional clock source changing function */ |
335 | int omap2_mcbsp_set_clks_src(struct omap_mcbsp *mcbsp, u8 fck_src_id); | 335 | int omap2_mcbsp_set_clks_src(struct omap_mcbsp *mcbsp, u8 fck_src_id); |
336 | 336 | ||
337 | /* McBSP signal muxing API */ | ||
338 | int omap_mcbsp_6pin_src_mux(struct omap_mcbsp *mcbsp, u8 mux); | ||
339 | |||
340 | /* Sidetone specific API */ | 337 | /* Sidetone specific API */ |
341 | int omap_st_set_chgain(struct omap_mcbsp *mcbsp, int channel, s16 chgain); | 338 | int omap_st_set_chgain(struct omap_mcbsp *mcbsp, int channel, s16 chgain); |
342 | int omap_st_get_chgain(struct omap_mcbsp *mcbsp, int channel, s16 *chgain); | 339 | int omap_st_get_chgain(struct omap_mcbsp *mcbsp, int channel, s16 *chgain); |
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c index 1046083e90a0..506159493a9d 100644 --- a/sound/soc/omap/omap-mcbsp.c +++ b/sound/soc/omap/omap-mcbsp.c | |||
@@ -516,21 +516,9 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, | |||
516 | return -EBUSY; | 516 | return -EBUSY; |
517 | } | 517 | } |
518 | 518 | ||
519 | if (clk_id == OMAP_MCBSP_SYSCLK_CLK || | 519 | mcbsp->in_freq = freq; |
520 | clk_id == OMAP_MCBSP_SYSCLK_CLKS_FCLK || | 520 | regs->srgr2 &= ~CLKSM; |
521 | clk_id == OMAP_MCBSP_SYSCLK_CLKS_EXT || | 521 | regs->pcr0 &= ~SCLKME; |
522 | clk_id == OMAP_MCBSP_SYSCLK_CLKX_EXT || | ||
523 | clk_id == OMAP_MCBSP_SYSCLK_CLKR_EXT) { | ||
524 | mcbsp->in_freq = freq; | ||
525 | regs->srgr2 &= ~CLKSM; | ||
526 | regs->pcr0 &= ~SCLKME; | ||
527 | } else if (cpu_class_is_omap1()) { | ||
528 | /* | ||
529 | * McBSP CLKR/FSR signal muxing functions are only available on | ||
530 | * OMAP2 or newer versions | ||
531 | */ | ||
532 | return -EINVAL; | ||
533 | } | ||
534 | 522 | ||
535 | switch (clk_id) { | 523 | switch (clk_id) { |
536 | case OMAP_MCBSP_SYSCLK_CLK: | 524 | case OMAP_MCBSP_SYSCLK_CLK: |
@@ -558,20 +546,6 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, | |||
558 | case OMAP_MCBSP_SYSCLK_CLKR_EXT: | 546 | case OMAP_MCBSP_SYSCLK_CLKR_EXT: |
559 | regs->pcr0 |= SCLKME; | 547 | regs->pcr0 |= SCLKME; |
560 | break; | 548 | break; |
561 | |||
562 | |||
563 | case OMAP_MCBSP_CLKR_SRC_CLKR: | ||
564 | err = omap_mcbsp_6pin_src_mux(mcbsp, CLKR_SRC_CLKR); | ||
565 | break; | ||
566 | case OMAP_MCBSP_CLKR_SRC_CLKX: | ||
567 | err = omap_mcbsp_6pin_src_mux(mcbsp, CLKR_SRC_CLKX); | ||
568 | break; | ||
569 | case OMAP_MCBSP_FSR_SRC_FSR: | ||
570 | err = omap_mcbsp_6pin_src_mux(mcbsp, FSR_SRC_FSR); | ||
571 | break; | ||
572 | case OMAP_MCBSP_FSR_SRC_FSX: | ||
573 | err = omap_mcbsp_6pin_src_mux(mcbsp, FSR_SRC_FSX); | ||
574 | break; | ||
575 | default: | 549 | default: |
576 | err = -ENODEV; | 550 | err = -ENODEV; |
577 | } | 551 | } |
diff --git a/sound/soc/omap/omap-mcbsp.h b/sound/soc/omap/omap-mcbsp.h index f877b16f19c9..baebcee30e30 100644 --- a/sound/soc/omap/omap-mcbsp.h +++ b/sound/soc/omap/omap-mcbsp.h | |||
@@ -32,10 +32,6 @@ enum omap_mcbsp_clksrg_clk { | |||
32 | OMAP_MCBSP_SYSCLK_CLK, /* Internal ICLK */ | 32 | OMAP_MCBSP_SYSCLK_CLK, /* Internal ICLK */ |
33 | OMAP_MCBSP_SYSCLK_CLKX_EXT, /* External CLKX pin */ | 33 | OMAP_MCBSP_SYSCLK_CLKX_EXT, /* External CLKX pin */ |
34 | OMAP_MCBSP_SYSCLK_CLKR_EXT, /* External CLKR pin */ | 34 | OMAP_MCBSP_SYSCLK_CLKR_EXT, /* External CLKR pin */ |
35 | OMAP_MCBSP_CLKR_SRC_CLKR, /* CLKR from CLKR pin */ | ||
36 | OMAP_MCBSP_CLKR_SRC_CLKX, /* CLKR from CLKX pin */ | ||
37 | OMAP_MCBSP_FSR_SRC_FSR, /* FSR from FSR pin */ | ||
38 | OMAP_MCBSP_FSR_SRC_FSX, /* FSR from FSX pin */ | ||
39 | }; | 35 | }; |
40 | 36 | ||
41 | /* McBSP dividers */ | 37 | /* McBSP dividers */ |