diff options
Diffstat (limited to 'sound/soc/omap/omap-mcbsp.c')
| -rw-r--r-- | sound/soc/omap/omap-mcbsp.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/omap/omap-mcbsp.c b/sound/soc/omap/omap-mcbsp.c index c7eb9dd67f60..fd99d89de6a8 100644 --- a/sound/soc/omap/omap-mcbsp.c +++ b/sound/soc/omap/omap-mcbsp.c | |||
| @@ -530,8 +530,19 @@ static int omap_mcbsp_dai_set_dai_sysclk(struct snd_soc_dai *cpu_dai, | |||
| 530 | 530 | ||
| 531 | case OMAP_MCBSP_SYSCLK_CLKX_EXT: | 531 | case OMAP_MCBSP_SYSCLK_CLKX_EXT: |
| 532 | regs->srgr2 |= CLKSM; | 532 | regs->srgr2 |= CLKSM; |
| 533 | regs->pcr0 |= SCLKME; | ||
| 534 | /* | ||
| 535 | * If McBSP is master but yet the CLKX/CLKR pin drives the SRG, | ||
| 536 | * disable output on those pins. This enables to inject the | ||
| 537 | * reference clock through CLKX/CLKR. For this to work | ||
| 538 | * set_dai_sysclk() _needs_ to be called after set_dai_fmt(). | ||
| 539 | */ | ||
| 540 | regs->pcr0 &= ~CLKXM; | ||
| 541 | break; | ||
| 533 | case OMAP_MCBSP_SYSCLK_CLKR_EXT: | 542 | case OMAP_MCBSP_SYSCLK_CLKR_EXT: |
| 534 | regs->pcr0 |= SCLKME; | 543 | regs->pcr0 |= SCLKME; |
| 544 | /* Disable ouput on CLKR pin in master mode */ | ||
| 545 | regs->pcr0 &= ~CLKRM; | ||
| 535 | break; | 546 | break; |
| 536 | default: | 547 | default: |
| 537 | err = -ENODEV; | 548 | err = -ENODEV; |
