Hi Bhaskar11,
On Tue, 25 Dec 2012 15:35:03 +0100, Bhaskar11 <niceguy108(a)gmail.com> wrote:
If the first attempt to switch to 406250 succeeds, the
function exits and
never reaches the I_HAVE_A_CP210x code which would switch to a higher
speed!
Is this a bug? Or is the lower speed good enough for
burst_ind? In which
case why bother with the I_HAVE_A_CP210x option?
that logic is correct.
Or have I missed something obvious?
It's not about switching to a slighly higher baudrate of B460800 but
rather to
switch to the highest baudrate that can sensibly be used on the phone uart
which
is the non-standard 406250. Some USB/Serial converter chips allow to
select almost
any baudrate you want out of the box, but CP210x doesn't. If you have a
CP210x you
modify the eeprom in the serial adapter so that when Linux requests the
"Standard"
460k, it actually uses the odd 406k.
http://bb.osmocom.org/trac/wiki/Hardware/CP210xTutorial
In src/target/firmware/calypso/uart.c there's the uint16_t divider[] table
of baudrate dividers, and the two highest speeds supported by the calypso
chipset are 406,250 or 812,500 bits per second.
Silabs Application note AN205 explains the Silabs side of things.
http://www.silabs.com/Support%20Documents/TechnicalDocs/an205.pdf
Greetings,
Chris