diff options
| author | Michael Sevakis <jethead71@rockbox.org> | 2008-11-19 03:12:34 +0000 |
|---|---|---|
| committer | Michael Sevakis <jethead71@rockbox.org> | 2008-11-19 03:12:34 +0000 |
| commit | 20477d024e2f65e601cca3365e0d967e5ce9b5c1 (patch) | |
| tree | 67cbc7cccf2c8aee6f2da7a84290918e4e89e227 | |
| parent | 77934cbc961a69e7d18588276f0e64a692854125 (diff) | |
| download | rockbox-20477d024e2f65e601cca3365e0d967e5ce9b5c1.zip rockbox-20477d024e2f65e601cca3365e0d967e5ce9b5c1.tar.gz rockbox-20477d024e2f65e601cca3365e0d967e5ce9b5c1.tar.bz2 rockbox-20477d024e2f65e601cca3365e0d967e5ce9b5c1.tar.xz | |
Gigabeat S: Fix PCM being cut off at the beginning. The DAC L-R swapping isn't needed now either. Fixes voice clips on the Gigabeat S.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19141 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/drivers/audio/wm8978.c | 3 | ||||
| -rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/pcm-imx31.c | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/firmware/drivers/audio/wm8978.c b/firmware/drivers/audio/wm8978.c index 31248db..c505003 100644 --- a/firmware/drivers/audio/wm8978.c +++ b/firmware/drivers/audio/wm8978.c @@ -223,8 +223,7 @@ void audiohw_postinit(void) /* 8. Enable other outputs as required */ /* 9. Set remaining registers */ - wmc_write(WMC_AUDIO_INTERFACE, WMC_WL_16 | WMC_FMT_I2S - | WMC_DACLRSWAP | WMC_ADCLRSWAP); + wmc_write(WMC_AUDIO_INTERFACE, WMC_WL_16 | WMC_FMT_I2S); wmc_write(WMC_DAC_CONTROL, WMC_DACOSR_128 | WMC_AMUTE); /* Specific to HW clocking */ diff --git a/firmware/target/arm/imx31/gigabeat-s/pcm-imx31.c b/firmware/target/arm/imx31/gigabeat-s/pcm-imx31.c index 3820f2b..ed3650c 100644 --- a/firmware/target/arm/imx31/gigabeat-s/pcm-imx31.c +++ b/firmware/target/arm/imx31/gigabeat-s/pcm-imx31.c @@ -215,11 +215,13 @@ static void play_start_pcm(void) dma_play_data.state = 1; /* Fill the FIFO or start when data is used up */ + SSI_SCR1 |= SSI_SCR_SSIEN; /* Enable SSI */ + while (1) { if (SSI_SFCSR_TFCNT0r(SSI_SFCSR1) > 6 || dma_play_data.size == 0) { - SSI_SCR1 |= (SSI_SCR_TE | SSI_SCR_SSIEN); /* Start transmitting */ + SSI_SCR1 |= SSI_SCR_TE; /* Start transmitting */ return; } |