Bug in switching baud rates in burst_ind branch?
vogelchr at vogel.cx
Tue Dec 25 20:35:48 UTC 2012
On Tue, 25 Dec 2012 15:35:03 +0100, Bhaskar11 <niceguy108 at 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
> 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
switch to the highest baudrate that can sensibly be used on the phone uart
is the non-standard 406250. Some USB/Serial converter chips allow to
any baudrate you want out of the box, but CP210x doesn't. If you have a
modify the eeprom in the serial adapter so that when Linux requests the
460k, it actually uses the odd 406k.
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.
More information about the baseband-devel