Dear Andy,

Am 27.11.20 um 12:47 schrieb Andy Pont:

With the stock BIOS in the board I am working on one of the nodes for the ALC256 CODEC is:

What board is this and what chipset?

Node 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out
   Control: name="Headphone Playback Switch", index=0, device=0
     ControlAmp: chs=3, dir=Out, idx=0, ofs=0
   Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
   Amp-Out vals:  [0x80 0x80]
   Pincap 0x0001001c: OUT HP EAPD Detect
   EAPD 0x2: EAPD
   Pin Default 0x02214020: [Jack] HP Out at Ext Front
     Conn = 1/8, Color = Green
     DefAssociation = 0x2, Sequence = 0x0
   Pin-ctls: 0xc0: OUT HP
   Unsolicited: tag=01, enabled=1
   Power states:  D0 D1 D2 D3 EPSS
   Power: setting=D0, actual=D0
   Connection: 2
      0x02 0x03*

In the real world we are finding that the detection of headphones being plugged in aren’t being detected and the audio continues to be played through the onboard speakers.  Based on experimentation the customer has determined that the alc256-asus-mic quirk in the Linux kernel gets it work properly but I want to fix this issue properly in Coreboot.

[Note, the official spelling for coreboot is all lowercase.]

The only change in the output of /proc/asound/card/codec#0 appears to be:

Node 0x21 [Pin Complex] wcaps 0x40058d: Stereo Amp-Out

changes to:

Node 0x21 [Pin Complex] wcaps 0x03211020: Stereo Amp-Out

I’m assuming that this needs me to add some raw 32bit values into cim_verb_data[] as well as the AZALIA_PIN_CFG() definitions that I already have.

Based on what I have seen in files such (src/mainboard/intel/coffeelake_rvp/variants/cml_u/include/variant/hda_verb.h then I guess this is going to be multiple values that will be of the form 0x021xxxxx.  How do I convert the change I need to make to fill in the xxxxx values?

Sorry, I do not know the exact answer, but looking at the quirk implementation in Linux 5.10-rc5, it consists actually of two quirks (also `ALC256_FIXUP_ASUS_HEADSET_MODE`), if `.chain_id` does what I think [1][2].

At you should be able to copy the pin values, the quirk sets. No idea, if that is all.

As this is a commercial undertaking, I recommend you contract support from the companies working on coreboot [3].


Kind regards,

Paul


[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/pci/hda/patch_realtek.c?h=v5.10-rc5#n7111 [2]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/sound/pci/hda/patch_realtek.c?h=v5.10-rc5#n7107
[3]: https://coreboot.org/consulting.html
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to