On Thu, 17 Apr 2008 19:28:17 +0200
Andre Schwarz <andre.schwarz@matrix-vision.de> wrote:
Kim,
Hello Andre,
I can't apply this:
Applying fix system config overwrite @ MPC834x
error: patch failed: cpu/mpc83xx/cpu_init.c:59
error: cpu/mpc83xx/cpu_init.c: patch does not apply
Patch failed at 0001.
When you have resolved this problem run "git-am --resolved".
If you would prefer to skip this patch, instead run "git-am --skip".
during 83xx setup the "System I/O configuration register high" gets
overwritten
with user defined value if CFG_SICRH is defined.
Regarding to the MPC834x manual (Table 5-28 reve.1) bits 28+29 of SICRH
must keep
their reset value regardless of configuration.
On my board (using RGMII) those bits are set after reset - yet it's
unclear where they come from.
The patch keeps both bits on MPC834x.
Cheers,
Andre
Signed-off-by: Andre Schwarz <andre.schwarz@matrix-vision.de>
--
fyi, commit message text you don't want applied in the tree history
(such as "Kim," and "Cheers, Andre") goes here, below the '---' line.
/* System General Purpose Register */
#ifdef CFG_SICRH
- im->sysconf.sicrh = CFG_SICRH;
+#ifdef CONFIG_MPC834X
+ /* regarding to MPC34x manual rev.1 bits 28..29 must be preserved */
+ tmp_sicrh = im->sysconf.sicrh & 0x0000000C;
+#endif
+ im->sysconf.sicrh = CFG_SICRH | tmp_sicrh;
#endif
also, can you extend the ifdef to include CONFIG_MPC8313 in addition to
the MPC834X? That's the only other one that could use this fix.
Thanks,
Kim