GsmBluetooth state file for gta02

Cesar Eduardo Barros cesarb at cesarb.net
Sun Aug 31 18:35:02 CEST 2008


Jim Morris escreveu:
> Cesar Eduardo Barros wrote:
>> Jim Morris escreveu:
>>> One thing that may help, is if someone could provide a mapping of the 
>>> wolfson registers as documented in the WM8753L pdf to the alsa 
>>> controls. Someone had to have written the code that twiddles the 
>>> registers in that chip, and would know which also control matches 
>>> which register.
>> That would be sound/soc/codecs/wm8753.c and 
>> sound/soc/s3c24xx/neo1973_gta02_wm8753.c on the kernel source code. Take 
>> a look:
>>
>> http://git.openmoko.org/?p=kernel.git;a=blob;f=sound/soc/codecs/wm8753.c;hb=stable 
>>
>> http://git.openmoko.org/?p=kernel.git;a=blob;f=sound/soc/s3c24xx/neo1973_gta02_wm8753.c;hb=stable 
>>
>>
>> The mapping is there, you only have to find out how it's described.
>>
> 
> Thanks for the pointers. Thats 2,000 lines of code that is about as clear as mud! (and I've written 
> audio drivers before).
> 
> There is no mention of Bluetooth in these drivers, and no indication how to switch into bluetooth mode.

That's because the Bluetooth is in another chip. For that, you need the 
full schematics:

http://downloads.openmoko.org/schematics/GTA02/Schematics_Freerunner-GTA02_A5-A7cumulative_public_RC0.pdf

The very first diagram (page 2) shows how the chips fit together. There 
you can see how the bluetooth chip is connected to the codec: the PCM 
pins. There seems to be a comment saying something about "BT Codec DAI" 
on neo1973_gta02_wm8753.c, which seems related.

So, you just need to find out:

- How to switch bluetooth audio I/O to these PCM pins (should be 
something in the HCI-USB standard).
- How to route within the codec between the PCM pins and the pins which 
are connected to the GSM chip (these pins are also shown in the diagram).

A possible hint: back when trying to find out why the GTA01 used too 
much power when off, we had to find how to turn off the audio amp 
(another chip). I saw a concept called a "scenario", which is some sort 
of predefined audio routing on the kernel. So perhaps you just have to 
find the correct scenario and how to select it. On neo1973_wm8753.c, 
it's the "Neo Mode" control; for some very strange reason, there's no 
equivalent on neo1973_gta02_wm8753.c, however the defines are still 
there in the top of the file!

> I really don't see how we are supposed to figure this stuff out, without any help from Openmoko. 

With the schematics. That's one of the reasons they were released. With 
them, the detailed datasheet for the chips, and the kernel source code, 
you can do a lot.

-- 
Cesar Eduardo Barros
cesarb at cesarb.net
cesar.barros at gmail.com




More information about the community mailing list