A22: make wm8310 exit suspend
authorxsf@rock-chips.com <root@xxx-desktop.(none)>
Fri, 24 Jun 2011 07:43:10 +0000 (15:43 +0800)
committerxsf@rock-chips.com <root@xxx-desktop.(none)>
Fri, 24 Jun 2011 07:43:10 +0000 (15:43 +0800)
arch/arm/mach-rk29/spi_sram.c

index 430b7e7b3192744eb8f94a2986c6a329655d194c..fcbab25c09afa223b8e0df81f41204cef5e2ec52 100755 (executable)
@@ -285,6 +285,8 @@ static void __sramfunc sram_spi_init(void)
        sram_spi_dis();// disable spi
        
        spi_data[SPI_CTRLR0] = spi_readl(SPIM_CTRLR0); 
+       spi_data[SPI_BAUDR] = spi_readl(SPIM_BAUDR);
+       
        spi_writel((spi_data[SPI_CTRLR0]&~0x1fffc3)|0x1<<11|(SRAM_SPI_DATA_BYTE),SPIM_CTRLR0);//spi setting
        spi_writel((spi_data[SPI_BAUDR]&(~0xffff))|SRAM_SPI_DIV,SPIM_BAUDR);//setting spi speed
        spi_data[SPI_SER]=spi_readl(SPIM_SER);//spi cs
@@ -449,12 +451,15 @@ void __sramfunc rk29_suspend_voltage_resume(unsigned int vol)
        sram_printch('G');
        data_4003&=~(0x1<<14);
        sram_spi_write(addr_4003,data_4003);// sleep
-
+       
+       
        data_4003=sram_spi_read(addr_4003|wm831x_RD_MSK,wm831x_RD_VOID);
        sram_printHX(data_4003);//sleep ctr
 
        
        sram_spi_deinit();
        
+       sram_udelay(100000,24);
+       
 }