Found more info: The corruption happens when cpm_uart_set_termios() is called. I have no idea how to fix it, except for putting in a udelay(10000) right before the smc mode register gets rewritten.
> -----Original Message----- > From: Rune Torgersen > Sent: Tuesday, February 08, 2005 11:46 > To: linuxppc-embedded at ozlabs.org > Subject: RE: 8266 SMC uart corruption > > More Info: > This seems to be related to cpm_uart_stop_tx() > There seems to be an excessive amount of stops and starts going on > In the following, I print an \ for each time stop_tx is > called, and a / for start_tx > > --------- > EXT3-fs: mounted filesystem with ordered data mode. > VFS: Mounted root (ext3 filesystem). > Freeing unused kernel memory: 288k init > \/I\/T\/?\/vers\/i\/on 2\/.\/85 b\/o\/otin\/?/ > \/Acti\/v\/atin\/g\/ all\/ \/swap\/ > \/file\/s\//par\/t\/itio\/n\/s...\<6>Adding 1028152k swap on > /dev/hda2. Priority:1 extents:1 > / \/[ \/OK\/ ]\/ > \/Moun\/t\/ing \/p\/roc \/f\/ile \/s\/yste\/m\/...\/ \/[ > \/OK\/ ]\/ > \/Moun\/t\/ing \/r\/oot \/f\/ile \/s\/yste\/m\/ in > \/r\/ead-\/o\/nly \/m\/ode.\/.\/.\/ > > ---------- > And so on. > > If I put in a udelay(10000) at the end of cpm_uart_stop_tx, > all output prints OK, but slow. > > 2.6.7 and prior does not use the stop at all form what I can see. > > > > -----Original Message----- > > From: Rune Torgersen > > Sent: Tuesday, February 01, 2005 08:42 > > To: linuxppc-embedded at ozlabs.org > > Subject: 8266 SMC uart corruption > > > > Hi > > > > Has anybordy else seen corruption of the output from SMC1 > > when used as serial console? > > This only occurs in in 2.6.8 and later (when the CPM serial > > drivers got moved) > > And it only occurs when init is writing to screen. 2.6.7 and > > earlier works perfectly. > > It happens at all baudrates tested (9600 and 115200) > > > > Anybody seen something similar and/or have a clue where to > > start looking for this? > > I have looked at the serial drivers, and cannot find any > > differences large differences from whenthey still were in > > arch/ppc/8260_io to the ones in drivers/serial/cpm_uart > > > > Capture: > > > > Freeing unused kernel memory: 288k i?t > > I?T: version 2.85 boot?g > > ... > > I?T?Entering runlevel: 3 > > > > > > These lines are the only ones that get corrupted. All other > > output (kernel printouts, console and startup scripts) are normal. >