@@ -1378,6 +1378,9 @@ static void rt722_sdca_dmic_preset(struct rt722_sdca_priv *rt722)
13781378 /* PHYtiming TDZ/TZD control */
13791379 regmap_write (rt722 -> regmap , 0x2f03 , 0x06 );
13801380
1381+ if (rt722 -> hw_vid == RT722_VB )
1382+ regmap_write (rt722 -> regmap , 0x2f52 , 0x00 );
1383+
13811384 /* clear flag */
13821385 regmap_write (rt722 -> regmap ,
13831386 SDW_SDCA_CTL (FUNC_NUM_MIC_ARRAY , RT722_SDCA_ENT0 , RT722_SDCA_CTL_FUNC_STATUS , 0 ),
@@ -1415,6 +1418,9 @@ static void rt722_sdca_amp_preset(struct rt722_sdca_priv *rt722)
14151418 SDW_SDCA_CTL (FUNC_NUM_AMP , RT722_SDCA_ENT_OT23 ,
14161419 RT722_SDCA_CTL_VENDOR_DEF , CH_08 ), 0x04 );
14171420
1421+ if (rt722 -> hw_vid == RT722_VB )
1422+ regmap_write (rt722 -> regmap , 0x2f54 , 0x00 );
1423+
14181424 /* clear flag */
14191425 regmap_write (rt722 -> regmap ,
14201426 SDW_SDCA_CTL (FUNC_NUM_AMP , RT722_SDCA_ENT0 , RT722_SDCA_CTL_FUNC_STATUS , 0 ),
@@ -1506,6 +1512,9 @@ static void rt722_sdca_jack_preset(struct rt722_sdca_priv *rt722)
15061512 rt722_sdca_index_write (rt722 , RT722_VENDOR_REG , RT722_DIGITAL_MISC_CTRL4 ,
15071513 0x0010 );
15081514
1515+ if (rt722 -> hw_vid == RT722_VB )
1516+ regmap_write (rt722 -> regmap , 0x2f51 , 0x00 );
1517+
15091518 /* clear flag */
15101519 regmap_write (rt722 -> regmap ,
15111520 SDW_SDCA_CTL (FUNC_NUM_JACK_CODEC , RT722_SDCA_ENT0 , RT722_SDCA_CTL_FUNC_STATUS , 0 ),
@@ -1516,6 +1525,7 @@ static void rt722_sdca_jack_preset(struct rt722_sdca_priv *rt722)
15161525int rt722_sdca_io_init (struct device * dev , struct sdw_slave * slave )
15171526{
15181527 struct rt722_sdca_priv * rt722 = dev_get_drvdata (dev );
1528+ unsigned int val ;
15191529
15201530 rt722 -> disable_irq = false;
15211531
@@ -1545,6 +1555,10 @@ int rt722_sdca_io_init(struct device *dev, struct sdw_slave *slave)
15451555
15461556 pm_runtime_get_noresume (& slave -> dev );
15471557
1558+ rt722_sdca_index_read (rt722 , RT722_VENDOR_REG , RT722_JD_PRODUCT_NUM , & val );
1559+ rt722 -> hw_vid = (val & 0x0f00 ) >> 8 ;
1560+ dev_dbg (& slave -> dev , "%s hw_vid=0x%x\n" , __func__ , rt722 -> hw_vid );
1561+
15481562 rt722_sdca_dmic_preset (rt722 );
15491563 rt722_sdca_amp_preset (rt722 );
15501564 rt722_sdca_jack_preset (rt722 );
0 commit comments