Speaker quality issue

Hello Team,

Board: based on APQ8016E​
Release: Linaro -18.01​

We have used a speaker (schematics attached) in our custom board connected to PMIC internal codec.​

We feel that the sound quality of the speaker is very low with higher volumes.​
We set the volume to “amixer sset ‘RX3 Digital’ 135” and play the sound file and it sounds noisy.​

Full command to play a file from speaker:​

  1. apply below amixer commands​
    $ amixer sset ‘RX3 MIX1 INP1’ 'RX1’​
    $ amixer sset ‘SPK DAC’ on​
    $ amixer sset ‘RX3 Digital’ 135​

  2. play audio file into speaker​
    $ aplay -D hw:0,1 ​

Is there an analog amplifier for speaker in PMIC that can be configured ? Or the RX3 Digital is the only one ?​

Is there any additional speaker related configurations that may help ?​

Please help to answer the query.​

Parth Y Shah


Any update here?


Any update?

Parth Y Shah

I am a HW engineer so I like to check the HW with the most basic piece of test equipment, an Oscilloscope. Did you look at the waveform while playing a 1kHz sine wave file? Try it with an 8 Ohm resistor instead of a speaker?

What does the waveform look like? missing samples? clipping? This would give us a lot more information than “it sounds noisy”.

When I designed the Audio Mezzanine card I did test the audio output with a small speaker and it looked and sounded fine, but that was a completely different software load.

Thanks for your reply @ljking

Here, we are looking for register details related to internal audio amplifier inside the PMIC PM8916.

Please help us to get the same.

Parth Y Shah

Here, we are looking for register details related to internal audio amplifier inside the PMIC PM8916.

I think you would need to raise such questions with your chip supplier.

If you need the register descriptions why don’t you just download them and read the documentation? Chapters 73-76 should have what you want. https://developer.qualcomm.com/download/sd410/pm8916-hardware-register-description.pdf
An Oscilloscope trace would still give you the biggest hint on the problem. I suspect you are missing interrupts and not feeding it enough data, or possibly you have your data byte swapped, but without a picture it is REALLY hard to diagnose “it sounds noisy”.