AIC3204_rset( 0, 0 ); // Select page 0 AIC3204_rset( 1, 1 ); // Reset codec AIC3204_rset( 0, 1 ); // Point to page 1 AIC3204_rset( 1, 8 ); // Disable crude AVDD generation from DVDD AIC3204_rset( 2, 1 ); // Enable Analog Blocks, use LDO power AIC3204_rset( 0, 0 ); /* PLL and Clocks config and Power Up */ AIC3204_rset( 27, 0x1d ); // BCLK and WCLK is set as o/p to AIC3204(Master) AIC3204_rset( 28, 0x00 ); // Data ofset = 0 AIC3204_rset( 4, 3 ); // PLL setting: PLLCLK <- MCLK, CODEC_CLKIN <-PLL CLK AIC3204_rset( 6, 7 ); // PLL setting: J=7 AIC3204_rset( 7, 0x06 ); // PLL setting: HI_BYTE(D) AIC3204_rset( 8, 0x90 ); // PLL setting: LO_BYTE(D) AIC3204_rset( 30, 0x88 ); // For 32 bit clocks per frame in Master mode ONLY // BCLK=DAC_CLK/N =(12288000/8) = 1.536MHz = 32*fs AIC3204_rset( 5, PLLPR ); //PLL setting: Power up PLL, P=1 and R=1 AIC3204_rset( 13, 0 ); // Hi_Byte(DOSR) for DOSR = 128 decimal or 0x0080 DAC oversamppling AIC3204_rset( 14, 0x80 ); // Lo_Byte(DOSR) for DOSR = 128 decimal or 0x0080 AIC3204_rset( 20, 0x80 ); // AOSR for AOSR = 128 decimal or 0x0080 for decimation filters 1 to 6 AIC3204_rset( 11, 0x87 ); // Power up NDAC and set NDAC value to 7 AIC3204_rset( 12, 0x82 ); // Power up MDAC and set MDAC value to 2 AIC3204_rset( 18, 0x87 ); // Power up NADC and set NADC value to 7 AIC3204_rset( 19, 0x82 ); // Power up MADC and set MADC value to 2