[ARM] 4824/1: pxa: clear RDH bit after any reset
authorDmitry Krivoschekov <dmitry.krivoschekov@gmail.com>
Fri, 8 Feb 2008 14:02:03 +0000 (15:02 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 9 Feb 2008 22:43:14 +0000 (22:43 +0000)
commit86260f987319fb526e920fbe317933e5b3a0691e
tree7ab271f7d98e79b368ec70744a5a20b896c38c8c
parentf13fd3cc9147801bdf56f5964c58c9838a74dd47
[ARM] 4824/1: pxa: clear RDH bit after any reset

According to PXA300/310 and PXA320 Developer manuals,
the ASCR[RDH] "bit needs to be cleared as part of the software
initialization coming out of any reset and coming out of D3".
The latter requirement is addressed by commit
"c4d1fb627ff3072", as for the former (coming out of any reset),
the kernel relies on boot loaders and assumes that RDH bit
is cleared there. Though, not all bootloaders follow the rule
so we have to clear the bit in kernel.

We clear the RDH bit in pxa3xx_init() function since
it is always invoked after any reset. We also preserve D1S, D2S
and D3S bits from being cleared in case we invoke pxa3xx_init()
function not from normal hardware reset (e.g. kexec scenario),
so these bits can be properly referenced later.

Signed-off-by: Dmitry Krivoschekov <dmitry.krivoschekov@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-pxa/pxa3xx.c