connecting UC-864-G Telit Modem "Digital Voice"

folks, hi,

i'm doing a smartphone project - http://code.google.com/p/hbpd .
rather than mess about adding audio codec chips, i'm doing the
absolute minimum level of hardware wiring, and relying on the OMAP3530
to do audio routing, in software (BT audio, VoIP, standard BB
headphone/mic socket, recordings, or all four).

the UC-864-G has been picked because they release alllll
documentation, software, app notes and schematics, as open
documentation _without_ needing to sign an NDA (http://www.gm862.com/
en/products/umts-hsdpa.php?p_id=14&p_ac=show&p=14)

so - i'm wiring up a Telit UC-864-G "Digital Voice" PCM channel to a
beagleboard's McBSP: could someone please double-check that i've got
this right:

in Telit_UC864_Digital_Voice_Application_Note_r0.pdf: on the UC-864,
there's PCM_SYNC, PCM_CLOCK, PCM_RX and PCM_TX. PCM_CLOCK does
"falling edge". PCM_SYNC is also "falling edge". the default is for
it to be "Master" mode. also data is 16-bit MSB.

.... sooo... i'm guessing it's as simple as:

snd_soc_dai_set_fmt(...,
SND_SOC_DAI_PCM # PCM mode
SND_SOC_DAIFMT_MSB # MSB first
SND_SOC_DAIFMT_IB_IF # falling edge block, falling edge frame?
SND_SOC_DAIFMT_CBM_CFM # codec clk & frm master

and then:
   ret = snd_soc_dai_set_sysclk(...., OMAP_MCBSP_SYSCLK_CLKS_EXT,
26000000,
                    SND_SOC_CLOCK_IN);

... external because it's the UC-864 that sets the clock, right?

also i'll have to modify omap-mcbsp.c and pick one of the #define
OMAP_MCBSP_DAI_BUILDER(link_id) and replace it with a *mono* 8kbaud
playback/capture channel. interestingly, UC-864-G Digital Voice
supports 8-bit U-Law and A-Law buuut i think i will leave that out for
now :slight_smile:

feedback and double-checking much appreciated.

l.