]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - tas256xsw-android/tas2560-android-driver.git/commitdiff
update for DOUT
authorPeter Li <peter-li@ti.com>
Mon, 27 Feb 2017 00:25:15 +0000 (08:25 +0800)
committerPeter Li <peter-li@ti.com>
Mon, 27 Feb 2017 00:25:15 +0000 (08:25 +0800)
tas2560-core.c

index 46658e2bdcdeb636dd45d19804e541b4d700063d..7f9f8226774e733cba248bd3db32e3b3df03aee2 100755 (executable)
 static unsigned int p_tas2560_startup_data[] =
 {
        /* reg address                  size    values  */
+       TAS2560_DEV_MODE_REG,   0x01,   0x02,
        TAS2560_CLK_SEL,                0x01,   0x01,
        TAS2560_SET_FREQ,               0x01,   0x10,
        TAS2560_MUTE_REG,               0x01,   0x41,
        TAS2560_MDELAY,                 0x01,   0x10,
+       0xFFFFFFFF, 0xFFFFFFFF
+};
 
+static unsigned int p_tas2560_shutdown_data[] =
+{
+       /* reg address                  size    values  */
+       TAS2560_MUTE_REG,               0x01,   0x41,
+       TAS2560_MUTE_REG,               0x01,   0x01,
+       TAS2560_MDELAY,                 0x01,   0x1e,   /* delay 30ms */
+       TAS2560_DEV_MODE_REG,   0x01,   0x01,
        0xFFFFFFFF, 0xFFFFFFFF
 };
 
@@ -360,8 +370,8 @@ int tas2560_set_ASI_fmt(struct tas2560_priv *pTAS2560, unsigned int fmt)
                ret = -EINVAL;
        }
        
-       pTAS2560->update_bits(pTAS2560, TAS2560_ASI_CFG_1, TAS2560_DIRINV_MASK,
-                           asi_cfg_1);
+       pTAS2560->update_bits(pTAS2560, TAS2560_ASI_CFG_1, TAS2560_DIRINV_MASK | 0x02,
+                           asi_cfg_1 | 0x02);
        
        switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK ){
        case (SND_SOC_DAIFMT_I2S ):
@@ -664,10 +674,7 @@ void tas2560_enable(struct tas2560_priv *pTAS2560, bool bEnable)
        } else {
                if (pTAS2560->mbPowerUp) {
                        dev_dbg(pTAS2560->dev,"%s power down\n",__func__);
-                       
-                       pTAS2560->write(pTAS2560, TAS2560_MUTE_REG, 0x41);
-                       pTAS2560->write(pTAS2560, TAS2560_MUTE_REG, 0x01);                      
-                       mdelay(30);
+                       tas2560_i2c_load_data(pTAS2560,p_tas2560_shutdown_data);
                        pTAS2560->mbPowerUp = false;
                }
        }