Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(426)

Issue 6715017: Fix Seaboard UART corruption on SPI activity (Closed)

Created:
9 years, 9 months ago by sjg
Modified:
9 years, 7 months ago
CC:
chromium-os-reviews_chromium.org, dneiss, Olof Johansson, chromeboy, amoljadi
Visibility:
Public.

Description

Fix Seaboard UART corruption on SPI activity On Seaboard the UART and SPI interfere with each other. This causes the UART to receive spurious zero bytes after SPI transactions and also means that SPI can corrupt a few output characters when it starts up if they are still in the UART buffer. This hack corrects this by making SPI record that it may have corrupted the UART, and making the UART take evasive action. BUG=chromium-os:13228 TEST=Try developer U-Boot on Seaboard, make sure it auto-boots OK now Change-Id: I130f5e8bdf1be48b20015c8b2228d972409cc135 Committed: http://chrome-svn/viewvc/chromeos?view=rev&revision=030faed

Patch Set 1 : Fixed my fix #

Patch Set 2 : Moved the hack to SPI only #

Total comments: 2

Patch Set 3 : Chopped back a little #

Unified diffs Side-by-side diffs Delta from patch set Stats (+35 lines, -12 lines) Patch
M drivers/serial/ns16550.c View 1 2 1 chunk +22 lines, -0 lines 0 comments Download
M drivers/spi/tegra2_spi.c View 1 2 3 chunks +8 lines, -12 lines 0 comments Download
M include/configs/chromeos/tegra2/seaboard/parts/uart.h View 1 chunk +3 lines, -0 lines 0 comments Download
M include/ns16550.h View 1 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
sjg
Better ideas welcome.
9 years, 9 months ago (2011-03-22 00:36:27 UTC) #1
sjg
Have changed this to keep the hack in SPI. PTAL, thanks.
9 years, 9 months ago (2011-03-25 00:14:27 UTC) #2
robotboy
LGTM, a couple of questions that probably don't matter, but might make it even simpler. ...
9 years, 9 months ago (2011-03-25 00:18:23 UTC) #3
sjg
One problem with this approach is that it does slow down SPI. For example erasing ...
9 years, 9 months ago (2011-03-25 17:03:43 UTC) #4
robotboy
On 2011/03/25 17:03:43, sjg wrote: > One problem with this approach is that it does ...
9 years, 9 months ago (2011-03-25 17:12:25 UTC) #5
sjg
On 2011/03/25 17:12:25, robotboy wrote: > On 2011/03/25 17:03:43, sjg wrote: > > One problem ...
9 years, 9 months ago (2011-03-25 17:24:38 UTC) #6
Tom Warren
Simon, Can you include me in CLs like this in the future? Thanks! Tom
9 years, 8 months ago (2011-03-31 15:20:47 UTC) #7
sjg
Yes will do. Sorry I didn't think of it in this case - Simon On ...
9 years, 8 months ago (2011-03-31 16:38:16 UTC) #8
Tom Warren
9 years, 8 months ago (2011-03-31 17:57:05 UTC) #9
When you fix the warnings (I'm seeing them for the 2 new NS16550 funcs, too, now
that I've turned on CONFIG_SPI_CORRUPTS_UART in my tegra2_seaboard_build), could
you also add a #define CONFIG_SPI_CORRUPTS_UART to the tegra2_seaboard.h config
file? That appears to work OK - I'm not seeing the comms corruption I was before
(that was happening because you removed the 2 udelay(1000) calls in
cs_activate/deactivate, and w/o CONFIG_SPI_CORRUPTS_UART defined, your new UART
code wasn't run).

Thanks,

Tom

Powered by Google App Engine
This is Rietveld 408576698