@@ -1439,9 +1439,12 @@ static void rt722_sdca_jack_preset(struct rt722_sdca_priv *rt722)
1439
1439
int loop_check , chk_cnt = 100 , ret ;
1440
1440
unsigned int calib_status = 0 ;
1441
1441
1442
- /* Read eFuse */
1443
- rt722_sdca_index_write (rt722 , RT722_VENDOR_SPK_EFUSE , RT722_DC_CALIB_CTRL ,
1444
- 0x4808 );
1442
+ /* Config analog bias */
1443
+ rt722_sdca_index_write (rt722 , RT722_VENDOR_REG , RT722_ANALOG_BIAS_CTL3 ,
1444
+ 0xa081 );
1445
+ /* GE related settings */
1446
+ rt722_sdca_index_write (rt722 , RT722_VENDOR_HDA_CTL , RT722_GE_RELATED_CTL2 ,
1447
+ 0xa009 );
1445
1448
/* Button A, B, C, D bypass mode */
1446
1449
rt722_sdca_index_write (rt722 , RT722_VENDOR_HDA_CTL , RT722_UMP_HID_CTL4 ,
1447
1450
0xcf00 );
@@ -1475,9 +1478,6 @@ static void rt722_sdca_jack_preset(struct rt722_sdca_priv *rt722)
1475
1478
if ((calib_status & 0x0040 ) == 0x0 )
1476
1479
break ;
1477
1480
}
1478
- /* Release HP-JD, EN_CBJ_TIE_GL/R open, en_osw gating auto done bit */
1479
- rt722_sdca_index_write (rt722 , RT722_VENDOR_REG , RT722_DIGITAL_MISC_CTRL4 ,
1480
- 0x0010 );
1481
1481
/* Set ADC09 power entity floating control */
1482
1482
rt722_sdca_index_write (rt722 , RT722_VENDOR_HDA_CTL , RT722_ADC0A_08_PDE_FLOAT_CTL ,
1483
1483
0x2a12 );
@@ -1490,8 +1490,21 @@ static void rt722_sdca_jack_preset(struct rt722_sdca_priv *rt722)
1490
1490
/* Set DAC03 and HP power entity floating control */
1491
1491
rt722_sdca_index_write (rt722 , RT722_VENDOR_HDA_CTL , RT722_DAC03_HP_PDE_FLOAT_CTL ,
1492
1492
0x4040 );
1493
+ rt722_sdca_index_write (rt722 , RT722_VENDOR_HDA_CTL , RT722_ENT_FLOAT_CTRL_1 ,
1494
+ 0x4141 );
1495
+ rt722_sdca_index_write (rt722 , RT722_VENDOR_HDA_CTL , RT722_FLOAT_CTRL_1 ,
1496
+ 0x0101 );
1493
1497
/* Fine tune PDE40 latency */
1494
1498
regmap_write (rt722 -> regmap , 0x2f58 , 0x07 );
1499
+ regmap_write (rt722 -> regmap , 0x2f03 , 0x06 );
1500
+ /* MIC VRefo */
1501
+ rt722_sdca_index_update_bits (rt722 , RT722_VENDOR_REG ,
1502
+ RT722_COMBO_JACK_AUTO_CTL1 , 0x0200 , 0x0200 );
1503
+ rt722_sdca_index_update_bits (rt722 , RT722_VENDOR_REG ,
1504
+ RT722_VREFO_GAT , 0x4000 , 0x4000 );
1505
+ /* Release HP-JD, EN_CBJ_TIE_GL/R open, en_osw gating auto done bit */
1506
+ rt722_sdca_index_write (rt722 , RT722_VENDOR_REG , RT722_DIGITAL_MISC_CTRL4 ,
1507
+ 0x0010 );
1495
1508
}
1496
1509
1497
1510
int rt722_sdca_io_init (struct device * dev , struct sdw_slave * slave )
0 commit comments