#define TAS571X_SDI_REG 0x04 #define TAS571X_SDI_FMT_MASK 0x0f #define TAS571X_SYS_CTRL_2_REG 0x05 #define TAS571X_SYS_CTRL_2_SDN_MASK 0x40 #define TAS571X_SOFT_MUTE_REG 0x06 #define TAS571X_SOFT_MUTE_CH1_SHIFT 0 #define TAS571X_SOFT_MUTE_CH2_SHIFT 1 #define TAS571X_SOFT_MUTE_CH3_SHIFT 2 #define TAS571X_MVOL_REG 0x07 #define TAS571X_CH1_VOL_REG 0x08 #define TAS571X_CH2_VOL_REG 0x09 #define TAS571X_OSC_TRIM_REG 0x1b static u8 tas5717_2reg_0x08[2]={0x00,0x98}; static u8 tas5717_2reg_0x09[2]={0x00,0x98}; static u8 tas5717_4reg_0x25[4]={0x01,0x02,0x13,0x45}; static u8 tas5717_4reg_0x4F[4]={0x00 , 0x00, 0x00, 0x08}; static u8 tas5717_4reg_0x56[4]={0x00 , 0x40, 0x00, 0x00}; static u8 tas5717_4reg_0x57[4]={0x00 ,0x02, 0x00, 0x00}; static u8 tas5717_4reg_0x50[4]={0x00 ,0x00, 0x00, 0x10};//EQ control static u8 tas5717_4reg_0x46[4]={0x00, 0x02, 0x06, 0x23};//DRC 0x23->0x20 to turn off DRC static u8 tas5717_8reg_0x3E[8]={0x00, 0x00, 0x01, 0x00 , 0x00, 0x7F, 0xFF, 0x00 }; static u8 tas5717_8reg_0x3F[8]={0x00 , 0x08 , 0x00 , 0x00 , 0xFF , 0xF8 , 0x00 , 0x00}; static u8 tas5717_8reg_0x43[8]={0x00 , 0x08 , 0x00 , 0x00 , 0x00 , 0x07 , 0xFF , 0xFF}; static u8 tas5717_8reg_0x3C[8]={0x00 , 0x00 , 0x01 , 0x00 , 0xFF , 0xFF , 0xFF , 0xF0}; static u8 tas5717_8reg_0x3B[8]={0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x7F , 0x00 , 0x00}; static u8 tas5717_8reg_0x40[8]={0x0C, 0x57 , 0x00 , 0x00 , 0x0C , 0x56 , 0xFF , 0xFF}; static u8 tas5717_4reg_0x70[4]={0x00, 0x80, 0x00, 0x00}; static u8 tas5717_4reg_0x71[4]={0x00 , 0x00, 0x00, 0x00}; static u8 tas5717_4reg_0x75[4]={0x00 , 0x00, 0x00, 0x00}; static u8 tas5717_4reg_0x74[4]={0x00 ,0x80, 0x00, 0x00}; static u8 tas5717_4reg_0x73[4]={0x00 ,0x80, 0x00, 0x00}; static u8 tas5717_4reg_0x72[4]={0x00 ,0x00, 0x00, 0x00}; static u8 tas5717_4reg_0x76[4]={0x00 ,0x00, 0x00, 0x00}; static u8 tas5717_4reg_0x77[4]={0x00 ,0x80, 0x00, 0x00}; static u8 tas5717_8reg_0x51[8]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_8reg_0x52[8]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_8reg_0x6A[8]={0x00 ,0x0C, 0xCC, 0xCC,0x00,0x73,0x33,0x34}; //ch1_bq static u8 tas5717_20reg_0x26[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x27[20]={0x00 , 0x7B, 0x8C , 0xF2 , 0x0F, 0x84 , 0x73 , 0x0E , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x77 , 0x19 ,0xE5 , 0x00 , 0x00 , 0x00 , 0x00 }; static u8 tas5717_20reg_0x28[20]={0x00 , 0x7B, 0x3E, 0xC6, 0x0F, 0xC1, 0xD4, 0xDF, 0x00 , 0x74, 0xF4, 0x91, 0x00, 0x3E, 0x2B, 0x21, 0x0F, 0x8F, 0xCC, 0xA9}; static u8 tas5717_20reg_0x29[20]={0x00 , 0x7A, 0x25 , 0x68, 0x0F, 0x14, 0x71, 0xA2, 0x00, 0x72, 0x66, 0xFF, 0x00, 0xEB, 0x8E, 0x5E, 0x0F, 0x93, 0x73, 0x98 }; static u8 tas5717_20reg_0x2A[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x2B[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x2C[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x2D[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x2E[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x2F[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x58[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x59[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x5A[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x5B[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; //ch2_bq static u8 tas5717_20reg_0x30[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x31[20]={0x00, 0x7B, 0x8C, 0xF2, 0x0F, 0x84, 0x73, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x19, 0xE5, 0x00, 0x00, 0x00 ,0x00}; static u8 tas5717_20reg_0x32[20]={0x00, 0x7B, 0x3E, 0xC6, 0x0F, 0xC1, 0xD4, 0xDF , 0x00 , 0x74 , 0xF4, 0x91 , 0x00 , 0x3E, 0x2B , 0x21, 0x0F , 0x8F , 0xCC , 0xA9 }; static u8 tas5717_20reg_0x33[20]={0x00, 0x7A, 0x25, 0x68, 0x0F, 0x14, 0x71, 0xA2, 0x00, 0x72, 0x66, 0xFF, 0x00, 0xEB, 0x8E, 0x5E, 0x0F, 0x93, 0x73, 0x98}; static u8 tas5717_20reg_0x34[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x35[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x36[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x37[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x38[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x39[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x5C[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; static u8 tas5717_20reg_0x5D[20]={0x00 ,0x80, 0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; regmap_write(priv->regmap, TAS571X_OSC_TRIM_REG, 0); regmap_update_bits(priv->regmap, TAS571X_SYS_CTRL_2_REG, TAS571X_SYS_CTRL_2_SDN_MASK, 0); regmap_update_bits(priv->regmap, TAS571X_SYS_CTRL_2_REG, TAS571X_SYS_CTRL_2_SDN_MASK, 0); regmap_write(priv->regmap, 0x03, 0x80); regmap_write(priv->regmap, 0x1C, 0x07); regmap_write(priv->regmap, 0x0e, 0xf1); regmap_write(priv->regmap, 0x05, 0x00); regmap_write(priv->regmap, 0x1a, 0x68); regmap_write(priv->regmap, 0x10, 0x01); regmap_bulk_write(priv->regmap,0x56,tas5717_4reg_0x56,4); regmap_bulk_write(priv->regmap,0x57,tas5717_4reg_0x57,4); regmap_bulk_write(priv->regmap,0x3E,tas5717_8reg_0x3E,8); regmap_bulk_write(priv->regmap,0x3F,tas5717_8reg_0x3F,8); regmap_bulk_write(priv->regmap,0x70,tas5717_4reg_0x70,4); regmap_bulk_write(priv->regmap,0x71,tas5717_4reg_0x71,4); regmap_bulk_write(priv->regmap,0x72,tas5717_4reg_0x72,4); regmap_bulk_write(priv->regmap,0x73,tas5717_4reg_0x73,4); regmap_bulk_write(priv->regmap,0x74,tas5717_4reg_0x74,4); regmap_bulk_write(priv->regmap,0x75,tas5717_4reg_0x75,4); regmap_bulk_write(priv->regmap,0x76,tas5717_4reg_0x76,4); regmap_bulk_write(priv->regmap,0x77,tas5717_4reg_0x77,4); regmap_bulk_write(priv->regmap,0x50,tas5717_4reg_0x50,4); regmap_bulk_write(priv->regmap,0x46,tas5717_4reg_0x46,4); regmap_bulk_write(priv->regmap,0x40,tas5717_8reg_0x40,8); regmap_bulk_write(priv->regmap,0x3B,tas5717_8reg_0x3B,8); regmap_bulk_write(priv->regmap,0x3C,tas5717_8reg_0x3C,8); regmap_bulk_write(priv->regmap,0x43,tas5717_8reg_0x43,8); regmap_write(priv->regmap, 0x06, 0x00); regmap_bulk_write(priv->regmap,0x4f,tas5717_4reg_0x4F,4); regmap_bulk_write(priv->regmap,0x07,tas5717_2reg_0x07,2); regmap_bulk_write(priv->regmap,0x08,tas5717_2reg_0x08,2); regmap_bulk_write(priv->regmap,0x09,tas5717_2reg_0x09,2); regmap_bulk_write(priv->regmap,0x25,tas5717_4reg_0x25,4); regmap_bulk_write(priv->regmap,0x51,tas5717_8reg_0x51,8); regmap_bulk_write(priv->regmap,0x52,tas5717_8reg_0x52,8); regmap_bulk_write(priv->regmap,0x6a,tas5717_8reg_0x6A,8); regmap_bulk_write(priv->regmap,0x26,tas5717_20reg_0x26,20); regmap_bulk_write(priv->regmap,0x27,tas5717_20reg_0x27,20); regmap_bulk_write(priv->regmap,0x28,tas5717_20reg_0x28,20); regmap_bulk_write(priv->regmap,0x29,tas5717_20reg_0x29,20); regmap_bulk_write(priv->regmap,0x2a,tas5717_20reg_0x2A,20); regmap_bulk_write(priv->regmap,0x2b,tas5717_20reg_0x2B,20); regmap_bulk_write(priv->regmap,0x2c,tas5717_20reg_0x2C,20); regmap_bulk_write(priv->regmap,0x2d,tas5717_20reg_0x2D,20); regmap_bulk_write(priv->regmap,0x2e,tas5717_20reg_0x2E,20); regmap_bulk_write(priv->regmap,0x2f,tas5717_20reg_0x2F,20); regmap_bulk_write(priv->regmap,0x58,tas5717_20reg_0x58,20); regmap_bulk_write(priv->regmap,0x59,tas5717_20reg_0x59,20); regmap_bulk_write(priv->regmap,0x5a,tas5717_20reg_0x5A,20); regmap_bulk_write(priv->regmap,0x5b,tas5717_20reg_0x5B,20); regmap_bulk_write(priv->regmap,0x30,tas5717_20reg_0x30,20); regmap_bulk_write(priv->regmap,0x31,tas5717_20reg_0x31,20); regmap_bulk_write(priv->regmap,0x32,tas5717_20reg_0x32,20); regmap_bulk_write(priv->regmap,0x33,tas5717_20reg_0x33,20); regmap_bulk_write(priv->regmap,0x34,tas5717_20reg_0x34,20); regmap_bulk_write(priv->regmap,0x35,tas5717_20reg_0x35,20); regmap_bulk_write(priv->regmap,0x36,tas5717_20reg_0x36,20); regmap_bulk_write(priv->regmap,0x37,tas5717_20reg_0x37,20); regmap_bulk_write(priv->regmap,0x38,tas5717_20reg_0x38,20); regmap_bulk_write(priv->regmap,0x39,tas5717_20reg_0x39,20); regmap_bulk_write(priv->regmap,0x5c,tas5717_20reg_0x5C,20); regmap_bulk_write(priv->regmap,0x5d,tas5717_20reg_0x5D,20);