[alsa-devel] [PATCH 1/4] pxa2xx-i2s: Proper initialization
Karl Beldan
karl.beldan at gmail.com
Fri May 8 21:20:58 CEST 2009
On Fri, May 8, 2009 at 12:29 PM, Mark Brown <broonie at sirena.org.uk> wrote:
> On Fri, May 08, 2009 at 01:53:39AM +0200, Karl Beldan wrote:
>
>> Reset FIFO logic and registers, and make sure REC and RPL functions and
>> FIFO service are disabled.
>
>> static int __init pxa2xx_i2s_init(void)
>> {
>> clk_i2s = ERR_PTR(-ENOENT);
>> +
>> + /*
>> + * PXA Developer's Manual:
>> + * If SACR0[ENB] is toggled in the middle of a normal operation,
>> + * the SACR0[RST] bit must also be set and cleared to reset all
>> + * I2S controller registers.
>> + */
>> + SACR0 = SACR0_RST;
>> + SACR0 = 0;
>> + SACR1 = SACR1_DRPL | SACR1_DREC;
>> + SAIMR &= ~(SAIMR_RFS | SAIMR_TFS);
>
> I'd expect this to happen when the driver is probed rather than when the
> module is initialised. Otherwise we'll end up writing to the hardware
Indeed, will resend.
--
Karl
More information about the Alsa-devel
mailing list