powerpc/5200: improve uart baud rate calculation (reach high baud rates, better accuracy)
authorAlbrecht Dreß <albrecht.dress@arcor.de>
Mon, 26 Apr 2010 11:18:12 +0000 (11:18 +0000)
committerGrant Likely <grant.likely@secretlab.ca>
Sun, 25 Jul 2010 00:27:57 +0000 (18:27 -0600)
commit0d1f22e4907fec330ef0e475cb0dad48419498f2
tree85a5da2e1c59ddba4f186fcf8b8eae6605f87729
parentb37fa16e78d6f9790462b3181602a26b5af36260
powerpc/5200: improve uart baud rate calculation (reach high baud rates, better accuracy)

On the MPC5200B, make very high baud rates (e.g. 3 MBaud) accessible and
achieve a higher precision for high baud rates in general.  This is done by
selecting the appropriate prescaler (/4 or /32).  As to keep the code clean,
the getuartclk method has been dropped, and all calculations are done in a
new set_baudrate method.

Notes: only "fsl,mpc5200b-psc-uart" compatible devices benefit from these
improvements.

Tested on a custom 5200B based board, from 110 baud up to 3 MBaud, and with
both "fsl,mpc5200b-psc-uart" and "fsl,mpc5200-psc-uart" devices.
Also tested on the mpc5121ads board.

Signed-off-by: Albrecht Dreß <albrecht.dress@arcor.de>
[agust: fixed mpc5121 prescaler comment]
Signed-off-by: Anatolij Gustschin <agust@denx.de>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/serial/mpc52xx_uart.c