u-boot-brain/arch
Timur Tabi 26002826c7 powerpc/85xx: remove SERDES4 soft-reset work-around
Some P4080 rev1 errata work-arounds, notably erratum SERDES4, required a
bank soft-reset after the bank was configured and enabled, even though
enabling a bank causes it to reset.  Because the reset was required for
multiple errata, it was not properly enclosed in an #ifdef, and so was
not removed with all the other rev1 errata work-arounds.

Erratum SERDES-8 says that the clocks for bank 3 needs to be enabled if
bank 2 is enabled, but this was not being done for SERDES protocols 0xF
and 0x10.  The bank reset also happened to enable bank 3 (apparently an
undocumented feature).  Simply removing the reset breaks these two
protocols.

It turns out that every time we call enable_bank(), we do want at least
one lane of the bank enabled, either because the bank is supposed to be
enabled, or because we need the clock from that bank enabled.

For erratum SERDES-A001, we don't want to modify srds_lpd_b[] when we
call enable_bank(), because that array is used elsewhere to determine if
the bank is available.

Note that the side effect of these changes is that the work-arounds for
these two errata are now linked.  Specifically, if SERDES-A001 is
enabled, then we need SERDES-8 enabled as well.

Because this was the only SERDES bank soft-reset, there is no need to
implement a work-around for erratum SERDES-A003.

Also fix an off-by-one error in a printf().

Signed-off-by: Timur Tabi <timur@freescale.com>
Acked-by: Ed Swarthout <swarthou@freescale.com>
Acked-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2011-07-11 13:24:21 -05:00
..
arm arm/kirkwood: if CONFIG_SOFT_I2C is set don't set CONFIG_I2C_MVTWSI 2011-07-04 10:55:28 +02:00
avr32 avr32: add ATAG_BOARDINFO 2011-05-18 07:56:54 +02:00
blackfin Blackfin: use on-chip reset func with newer parts 2011-06-03 13:26:45 -04:00
m68k Merge branch 'master' of git://git.denx.de/u-boot-arm 2011-04-27 21:48:09 +02:00
microblaze Make STANDALONE_LOAD_ADDR configurable per board 2011-04-12 22:58:32 +02:00
mips MIPS: Move timer code to arch/mips/cpu/$(CPU)/ 2011-05-10 00:12:31 +09:00
nios2 nios2: Make STANDALONE_LOAD_ADDR configurable per board 2011-05-16 21:00:43 -04:00
powerpc powerpc/85xx: remove SERDES4 soft-reset work-around 2011-07-11 13:24:21 -05:00
sh Handle most LDSCRIPT setting centrally 2011-04-30 00:59:47 +02:00
sparc Make STANDALONE_LOAD_ADDR configurable per board 2011-04-12 22:58:32 +02:00
x86 Minor coding style cleanup. 2011-05-19 22:22:44 +02:00
.gitignore update include/asm/ gitignore after move 2010-05-07 00:17:30 +02:00