forked from len0rd/rockbox
Philips SA9200: initialize i2c, i2s, and as3514 as the OF does. Fixes clicks/pops heard when reading the adc.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22101 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
4e7517dfb1
commit
fc570147e6
3 changed files with 20 additions and 0 deletions
|
@ -182,8 +182,13 @@ void audiohw_preinit(void)
|
||||||
as3514_write(AS3514_HPH_OUT_L,
|
as3514_write(AS3514_HPH_OUT_L,
|
||||||
HPH_OUT_L_HP_ON | HPH_OUT_L_HP_MUTE | 0x00);
|
HPH_OUT_L_HP_ON | HPH_OUT_L_HP_MUTE | 0x00);
|
||||||
|
|
||||||
|
#ifdef PHILIPS_SA9200
|
||||||
|
/* LRCK 8-23kHz (there are audible clicks while reading the ADC otherwise) */
|
||||||
|
as3514_write(AS3514_PLLMODE, PLLMODE_LRCK_8_23);
|
||||||
|
#else
|
||||||
/* LRCK 24-48kHz */
|
/* LRCK 24-48kHz */
|
||||||
as3514_write(AS3514_PLLMODE, PLLMODE_LRCK_24_48);
|
as3514_write(AS3514_PLLMODE, PLLMODE_LRCK_24_48);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* DAC_Mute_off */
|
/* DAC_Mute_off */
|
||||||
as3514_set(AS3514_DAC_L, DAC_L_DAC_MUTE_off);
|
as3514_set(AS3514_DAC_L, DAC_L_DAC_MUTE_off);
|
||||||
|
|
|
@ -299,6 +299,13 @@ void i2c_init(void)
|
||||||
outl(0x1e, 0x600060a4);
|
outl(0x1e, 0x600060a4);
|
||||||
|
|
||||||
ascodec_write(AS3514_SUPERVISOR, 5);
|
ascodec_write(AS3514_SUPERVISOR, 5);
|
||||||
|
#elif defined(PHILIPS_SA9200)
|
||||||
|
outl(0x0, 0x600060a4);
|
||||||
|
outl(inl(0x600060a4) | 0x20, 0x600060a4);
|
||||||
|
|
||||||
|
outl(inl(0x7000c020) | 0x3, 0x7000c020);
|
||||||
|
outl(0x55, 0x7000c02c);
|
||||||
|
outl(0x54, 0x7000c030);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -63,9 +63,17 @@ void i2s_reset(void)
|
||||||
#ifdef HAVE_AS3514
|
#ifdef HAVE_AS3514
|
||||||
/* AS3514 can only operate as I2S Slave */
|
/* AS3514 can only operate as I2S Slave */
|
||||||
IISCONFIG |= IIS_MASTER;
|
IISCONFIG |= IIS_MASTER;
|
||||||
|
|
||||||
/* Set I2S to 44.1kHz */
|
/* Set I2S to 44.1kHz */
|
||||||
|
#ifdef PHILIPS_SA9200
|
||||||
|
/* values taken from the SA9200 OF */
|
||||||
|
IISCLK = (IISCLK & ~0x1ff) | 31;
|
||||||
|
IISDIV = (IISDIV & ~0xc0000000) | (2 << 30);
|
||||||
|
IISDIV = (IISDIV & ~0x3f) | 16;
|
||||||
|
#else
|
||||||
IISCLK = (IISCLK & ~0x1ff) | 33;
|
IISCLK = (IISCLK & ~0x1ff) | 33;
|
||||||
IISDIV = 7;
|
IISDIV = 7;
|
||||||
|
#endif
|
||||||
#endif /* HAVE_AS3514 */
|
#endif /* HAVE_AS3514 */
|
||||||
|
|
||||||
IISCONFIG = ((IISCONFIG & ~IIS_FIFO_FORMAT_MASK) | IIS_FIFO_FORMAT_LE16_2);
|
IISCONFIG = ((IISCONFIG & ~IIS_FIFO_FORMAT_MASK) | IIS_FIFO_FORMAT_LE16_2);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue