hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/sound/soc/codecs/rt711.c
....@@ -389,6 +389,36 @@
389389 RT711_HP_JD_FINAL_RESULT_CTL_JD12,
390390 RT711_HP_JD_FINAL_RESULT_CTL_JD12);
391391 break;
392
+ case RT711_JD2_100K:
393
+ rt711_index_update_bits(rt711->regmap, RT711_VENDOR_REG,
394
+ RT711_JD_CTL2, RT711_JD2_2PORT_100K_DECODE | RT711_JD2_1PORT_TYPE_DECODE |
395
+ RT711_HP_JD_SEL_JD2 | RT711_JD1_2PORT_TYPE_100K_DECODE,
396
+ RT711_JD2_2PORT_100K_DECODE_HP | RT711_JD2_1PORT_JD_HP |
397
+ RT711_HP_JD_SEL_JD2 | RT711_JD1_2PORT_JD_RESERVED);
398
+ rt711_index_update_bits(rt711->regmap, RT711_VENDOR_REG,
399
+ RT711_CC_DET1,
400
+ RT711_HP_JD_FINAL_RESULT_CTL_JD12,
401
+ RT711_HP_JD_FINAL_RESULT_CTL_JD12);
402
+ break;
403
+ case RT711_JD2_1P8V_1PORT:
404
+ rt711_index_update_bits(rt711->regmap, RT711_VENDOR_REG,
405
+ RT711_JD_CTL1, RT711_JD2_DIGITAL_JD_MODE_SEL,
406
+ RT711_JD2_1_JD_MODE);
407
+ rt711_index_update_bits(rt711->regmap, RT711_VENDOR_REG,
408
+ RT711_JD_CTL2, RT711_JD2_1PORT_TYPE_DECODE |
409
+ RT711_HP_JD_SEL_JD2,
410
+ RT711_JD2_1PORT_JD_HP |
411
+ RT711_HP_JD_SEL_JD2);
412
+ rt711_index_update_bits(rt711->regmap, RT711_VENDOR_REG,
413
+ RT711_JD_CTL4, RT711_JD2_PAD_PULL_UP_MASK |
414
+ RT711_JD2_MODE_SEL_MASK,
415
+ RT711_JD2_PAD_PULL_UP |
416
+ RT711_JD2_MODE2_1P8V_1PORT);
417
+ rt711_index_update_bits(rt711->regmap, RT711_VENDOR_REG,
418
+ RT711_CC_DET1,
419
+ RT711_HP_JD_FINAL_RESULT_CTL_JD12,
420
+ RT711_HP_JD_FINAL_RESULT_CTL_JD12);
421
+ break;
392422 default:
393423 dev_warn(rt711->component->dev, "Wrong JD source\n");
394424 break;