9
0
Fork 0
barebox/drivers
Fabio Estevam f20bcf91f6 serial: imx: Fix buggy transmissions when baudrate mismatches
Bit 7 of UCR3 is described in the i.MX reference manuals (with the exception
of i.MX1) as follows:

ADNIMP: Autobaud Detection Not Improved-. Disables new features of
	autobaud detection (See Baud Rate Automatic Detection
	Protocol, for more details).

	0 Autobaud detection new features selected
	1 Keep old autobaud detection mechanism

The "new features" mechanism occasionally causes the receiver to get out of sync
and continuously produces received characters of '0xff'.

In order to reproduce the problem:

$ cs0.baudrate=19200
- Change the terminal baudrate to 19200
- Type in the console and it should look good
- Change the terminal baudrate back to 115200
- Type 'b' in the console, then a stream of '0xff' is transmitted in loop

Setting the ADNIMP bit avoids the transmission of '0xff' in loop.

Also rename the bit definition as per the reference manual.

Tested on mx6q.

Based on a patch from Eric Nelson for U-boot.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2014-06-03 08:41:50 +02:00
..
amba treewide: Use dev_add_param_int_ro where possible 2013-04-11 11:48:35 +02:00
ata Merge branch 'for-next/misc' 2014-05-05 13:32:37 +02:00
base common: Allow for I/O mapped I/O 2014-04-08 08:17:55 +02:00
bus bus: mvebu: add mbus driver 2014-02-10 09:08:51 +01:00
clk Merge branch 'for-next/tegra' 2014-05-05 13:34:21 +02:00
clocksource clocksource: add dummy software-only clocksource 2014-03-19 21:43:43 +01:00
dma mtd: nand: mxs-nand: Add i.MX6 support 2013-07-23 16:25:14 +02:00
eeprom remove redundant NULL check on free 2014-02-10 08:49:55 +01:00
gpio Merge branch 'for-next/tegra' 2014-05-05 13:34:21 +02:00
i2c i2c: implement of_find_i2c_adapter_by_node 2014-03-28 08:45:11 +01:00
input imx_keypad: Fix error handling 2014-04-23 14:01:45 +02:00
led led: Add default-on trigger 2014-03-03 08:06:04 +01:00
mci Merge branch 'for-next/tegra' 2014-05-05 13:34:21 +02:00
mfd Merge branch 'for-next/rockchip' 2014-05-05 13:33:09 +02:00
misc Merge branch 'for-next/ioresource' 2014-05-05 11:05:51 +02:00
mtd mtd: nand: mxs: Fix 2k nand with oob size of 224 bytes 2014-05-20 07:36:03 +02:00
net net: fec_imx: check return value of registration functions 2014-05-21 14:40:56 +02:00
of Merge branch 'for-next/of' 2014-05-05 13:32:37 +02:00
pinctrl Merge branch 'for-next/tegra' 2014-05-05 13:34:21 +02:00
pwm PWM: Implement devicetree support 2014-02-28 15:05:46 +01:00
regulator Add initial regulator support 2014-04-29 08:01:32 +02:00
serial serial: imx: Fix buggy transmissions when baudrate mismatches 2014-06-03 08:41:50 +02:00
spi Merge branch 'for-next/misc' 2014-05-05 13:32:37 +02:00
usb Fix AT91 UDC driver on boards without vbus. 2014-04-23 09:24:06 +02:00
video video: i.MX IPUv3: Print error as string 2014-05-08 09:55:06 +02:00
w1 w1: Fix compiler warning 2013-03-06 09:04:26 +01:00
watchdog reset_source: rename set_reset_source to reset_source_set 2014-01-29 12:12:17 +01:00
Kconfig Add initial regulator support 2014-04-29 08:01:32 +02:00
Makefile Add initial regulator support 2014-04-29 08:01:32 +02:00