ppc4xx: Canyonlands: Change EBC bus config to drive always (no high-z)
authorStefan Roese <sr@denx.de>
Thu, 29 Oct 2009 17:37:45 +0000 (18:37 +0100)
committerStefan Roese <sr@denx.de>
Mon, 9 Nov 2009 12:30:19 +0000 (13:30 +0100)
commit916ed9444d3ab7b5cd6312557005f2a764a8baf7
tree2f40b0836f42ef712117662cfaab45611607c1c0
parentb91b8f74fe9ded18344c3d03080a4abc07254502
ppc4xx: Canyonlands: Change EBC bus config to drive always (no high-z)

This patch fixes a problem only seen very occasionally on Canyonlands.
The NOR flash interface (CFI driver) doesn't work reliably in all cases.
Erasing and/or programming sometimes doesn't work. Sometimes with
an error message, like "flash not erased" when trying to program an
area that should have just been erased. And sometimes without any error
messages. As mentioned above, this problem was only seen rarely and with
some PLL configuration (CPU speed, EBC speed).

Now I spotted this problem a few times, when running my Canyonlands with
the following setup (chip_config):

1000-nor         - NOR  CPU:1000 PLB: 200 OPB: 100 EBC: 100

Changing the EBC configuration to not release the bus into high
impedance state inbetween the transfers (ATC, DTC and CTC bits set to 1
in EBC0_CFG) seems to fix this problem. I haven't seen any failure
anymore with this patch applied.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: David Mitchell <dmitchell@amcc.com>
Cc: Jeff Mann <MannJ@embeddedplanet.com>
include/configs/canyonlands.h