Am 19.09.2014 um 22:18 schrieb Grazvydas Ignotas:
Hi,
On Fri, Sep 19, 2014 at 3:33 PM, Dr. H. Nikolaus Schaller hns@goldelico.com wrote:
Hi, for evaluating if we should or should not finally consider the TWL6040 for the Pyra audio system, I became aware that the PandaBoard ES (also comes with the TWL6040) is capable to connect a single external speaker and drive it with up to 1.5Watts:
http://e2e.ti.com/support/omap/f/849/t/258083.aspx
So it would be possible to connect the speakers planned for the Pyra and play sounds (the OMAP5432EVM has no access to this amplifier).
I have the GTA04-3.17 Linux running on the Panda ES as well (so we have exactly the same setup as for the OMAP5432EVM except the device tree).
aplayer does something (without complaining). But I don't get sound.
Most likely the amixer settings are not ok (muted).
So you've hit another thing I hate about TWL6040 - it has like a hundred of ALSA controls and is extremely difficult to use as a result.
18 controls. For speakers, headset, microphone, vibramotor.
...
So does anyone know a pointer to a simple (command line) setup for the PandaBoard to get sound on the headset jack and the speaker interface (J6) of the PandaBoard ES?
Most likely it should be the same for OMAP5.
I don't have a PandaBoard, but here's working script for OMAP5 with 3.8 kernel attached, if that helps.
Yes, it gave me some hints how to make one for the 3.17 kernel. Unfortunately the mixer control names are in constant fluctuations...
Still it has problems even with that (besides poor quality), like still outputting audio with volume slider set to lowest setting, but at least it works for me.
If I read the figures correctly the attenuation can be controlled from -28dB to 6dB for the headphone and -50dB to 6dB in steps.
I think the "perceived loudness" we hear is "double as loud" if the signal energy rises by 10dB. So the earphone can be controlled in a range of 32 dB, i.e. gives a factor 8 in perceived loudness.
This is not enough to nullify any full swing signal waveform... So we have to switch off a channel to really mute it.
Probably this is the reason why the TWL6040 should not be operated stand-alone but in combination with the ABE signal processor on the SoC.
On the other hand - if we want to use the ABE I think we are forced to use the TWL6040 since I am not aware of any other compatible codec.
BR, Nikolaus
On 09/22/2014 07:12 PM, Dr. H. Nikolaus Schaller wrote:
Am 19.09.2014 um 22:18 schrieb Grazvydas Ignotas:
Hi,
On Fri, Sep 19, 2014 at 3:33 PM, Dr. H. Nikolaus Schaller hns@goldelico.com wrote:
Hi, for evaluating if we should or should not finally consider the TWL6040 for the Pyra audio system, I became aware that the PandaBoard ES (also comes with the TWL6040) is capable to connect a single external speaker and drive it with up to 1.5Watts:
http://e2e.ti.com/support/omap/f/849/t/258083.aspx
So it would be possible to connect the speakers planned for the Pyra and play sounds (the OMAP5432EVM has no access to this amplifier).
I have the GTA04-3.17 Linux running on the Panda ES as well (so we have exactly the same setup as for the OMAP5432EVM except the device tree).
aplayer does something (without complaining). But I don't get sound.
Most likely the amixer settings are not ok (muted).
So you've hit another thing I hate about TWL6040 - it has like a hundred of ALSA controls and is extremely difficult to use as a result.
18 controls. For speakers, headset, microphone, vibramotor.
On a mixer that shows mux switches I get a lot mere, they don't even fit 2 fullhd worth of screen with. Although I'll admit I haven't tried it on 3.17 yet, it's what I had on 3.8.
Still it has problems even with that (besides poor quality), like still outputting audio with volume slider set to lowest setting, but at least it works for me.
If I read the figures correctly the attenuation can be controlled from -28dB to 6dB for the headphone and -50dB to 6dB in steps.
I think the "perceived loudness" we hear is "double as loud" if the signal energy rises by 10dB. So the earphone can be controlled in a range of 32 dB, i.e. gives a factor 8 in perceived loudness.
This is not enough to nullify any full swing signal waveform... So we have to switch off a channel to really mute it.
Probably this is the reason why the TWL6040 should not be operated stand-alone but in combination with the ABE signal processor on the SoC.
And this (+plus the 'plop' problem) effectively means that you'll need a binary blob to have any kind of working audio on Pyra, which sucks.
I know I sound like a broken record, but I don't like this twl6030 solution at all: binary blob, high complexity and difficulty to use even basic features, driver dependencies on frameworks that we may have no permission to use (if I understood Peter correctly).
On the other hand - if we want to use the ABE I think we are forced to use the TWL6040 since I am not aware of any other compatible codec.
Maybe 256fs clock that's coming from twl4030 on pandora could be generated by some dedicated chip. There still seems to be a external clock input pin on OMAP5 called abe_clks that looks similar to mcbsp_clks in use on OMAP3 pandora. According to OMAP5 TRM, MCBSP1 can be clocked by it.
Of course it's risky to try to use something no other board uses, but we did the same with pandora and it worked out in the end..
Grazvydas