IMPORTANT: assistance required - QCA6174 HFP audio NVM configuration

@Loic
@danielt
@srini
Or anybody else who perhaps has a line to qualcomm and would be able to help out with this.

There is absolutely no documentation available regarding the NVM file used to set the audio configuration on the QCA6174 bluetooth.

I have a situation where I can configure the Primary MI2S (which is wired into the qca6174) with a bit clock of 512kHz, and a sample rate of 16kHz, and I can transmit audio successfully and have it received intact by the far end of a phone call.

But I cannot receive valid data.
Samples I receive from the bluetooth are always 0x0020 or 0x0000. More sound results in more of the former, silence results in the latter. Connecting a probe at R76 (the only one of 4 wires that is available to probe) confirms that this is actually what is being output by the qca6174. Removing R76 does not affect the data read by the probe, which means that this isn’t affected by anything else.

I suspect that the qca6174 is not configured to be able to cope with the clocks set as they are, resulting in gibberish output. Unfortunately, I have no way to tell how the qca6174 is configured, nor do I have any way to reconfigure it correctly since there is no documentation available for this part.

Note: This bluetooth chip does NOT use VS commands to configure the audio port. It is all configured in the NVM file.

I don’t actually need the documentation or to be able to do the configuration myself. It would be sufficient to have an NVM file with a known configuration, preferable for I2S slave mode with 512k/16k and 256k/8k.

I have found reference to two documents that may contain the key, however they are not available;
QCA6174A/QCA9377 Software Reference Manual 80-WL430-52
QCA6174A/QCA9377 Software Programmer’s Guide 80-WL430-53

I personally don’t have access to these files, AFAIU NVM is based on TLVs (tag-lenght-value) that can be also written independently. The point is to find which tag is responsible for this configuration… maybe there are some indications in downstream aosp qcom bt support… It could be also be worth to ask arrow about such information.

Thanks @Loic. I actually just got past this yesterday with the assistance of @srini – a far more complicated solution than what would be possible by NVM configuration (if documentation was available), but in the long term, actually a much more useful solution since it involves getting the DSP working in what Qualcomm calls “PCM mode”, which matches the default configuration of the QCA.

1 Like