Skip to contentSkip to conversation

fix system config overwrite @ MPC834x

PATCH New Andre Schwarz 3 participants 6 messages Apr 17, 2008 – Apr 19, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix system config overwrite @ MPC834x

Kim,

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

--

 cpu/mpc83xx/cpu_init.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
cpu/mpc83xx/cpu_init.c +7 -1
index fba5b02..66cc1c2 100644
@@ -59,6 +59,8 @@ static void config_qe_ioports(void)
  */
 void cpu_init_f (volatile immap_t * im)
 {
+    u32 tmp_sicrh = 0;
+
     /* Pointer is writable since we allocated a register for it */
     gd = (gd_t *) (CFG_INIT_RAM_ADDR + CFG_GBL_DATA_OFFSET);
 
@@ -181,7 +183,11 @@ void cpu_init_f (volatile immap_t * im)
 
     /* 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
 #ifdef CFG_SICRL
     im->sysconf.sicrl = CFG_SICRL;

MATRIX VISION GmbH, Talstra?e 16, DE-71570 Oppenweiler - Registergericht: Amtsgericht Stuttgart, HRB 271090 Gesch?ftsf?hrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner

#1 lore raw

PATCH 1/1 fix system config overwrite @ MPC834x

Quoted 2 lines · On Thu, 17 Apr 2008 19:28:17 +0200 Andre Schwarz…

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".

Quoted 11 lines

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.

Quoted 8 lines

The patch keeps both bits on MPC834x.

Cheers,
Andre

--

fyi, commit message text you don't want applied in the tree history (such as "Kim," and "Cheers, Andre") goes here, below the '---' line.

cpu/mpc83xx/cpu_init.c void cpu_init_f (volatile immap_t * im) · line 191

Quoted 9 lines
     /* System General Purpose Register */

#ifdef CFG_SICRH

cpu/mpc83xx/cpu_init.c +5 -1
-    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

#2 lore raw

PATCH 1/1 fix system config overwrite @ MPC834x

Kim,

doing a git-pull gives "Already up-to-date." The patch is produced with "git-diff --patch-with-stat cpu/mpc83xx/cpu_init.c"

Am I doing anything wrong ?

Since all my patches have problems in getting applied there's obviously a problem on my side ...

regards,
Andre

Quoted 58 lines · Kim Phillips
Quoted 3 lines · On Thu, 17 Apr 2008 19:28:17 +0200 Andre Schwarz…

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".

Quoted 11 lines

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.

Quoted 9 lines

The patch keeps both bits on MPC834x.

Cheers,
Andre

--

fyi, commit message text you don't want applied in the tree history (such as "Kim," and "Cheers, Andre") goes here, below the '---' line.

cpu/mpc83xx/cpu_init.c void cpu_init_f (volatile immap_t * im) · line 191

Quoted 10 lines
     /* System General Purpose Register */

#ifdef CFG_SICRH

cpu/mpc83xx/cpu_init.c +5 -1
-    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.

Quoted 4 lines

Thanks,

Kim

MATRIX VISION GmbH, Talstra?e 16, DE-71570 Oppenweiler - Registergericht: Amtsgericht Stuttgart, HRB 271090 Gesch?ftsf?hrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.denx.de/pipermail/u-boot/attachments/20080418/d3ae38e5/attachment.htm

#3 lore raw

PATCH 1/1 fix system config overwrite @ MPC834x

Quoted 5 lines · On Fri, 18 Apr 2008 10:48:51 +0200 Andre Schwarz…

Kim,

doing a git-pull gives "Already up-to-date." The patch is produced with "git-diff --patch-with-stat cpu/mpc83xx/cpu_init.c"

using git-commit and git-format-patch is recommended, but that's probably not the problem here. Have you followed the instructions for Thunderbird in linux-2.6/Documentation/email-clients.txt? You can test by using git-am on patches you email yourself.

Kim

#4 lore raw

PATCH 1/1 fix system config overwrite @ MPC834x

Thanks - I'll give it another try on monday.

Cheers,
Andr?

Quoted 11 lines · Kim Phillips
Quoted 6 lines · On Fri, 18 Apr 2008 10:48:51 +0200 Andre Schwarz…

Kim,

doing a git-pull gives "Already up-to-date." The patch is produced with "git-diff --patch-with-stat cpu/mpc83xx/cpu_init.c"

Quoted 7 lines

using git-commit and git-format-patch is recommended, but that's probably not the problem here. Have you followed the instructions for Thunderbird in linux-2.6/Documentation/email-clients.txt? You can test by using git-am on patches you email yourself.

Kim

MATRIX VISION GmbH, Talstra?e 16, DE-71570 Oppenweiler - Registergericht: Amtsgericht Stuttgart, HRB 271090 Gesch?ftsf?hrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.denx.de/pipermail/u-boot/attachments/20080418/6a56cc61/attachment.htm

#5 lore raw

PATCH 1/1 fix system config overwrite @ MPC834x

In reply to Kim Phillips
Quoted 9 lines · Kim Phillips
Quoted 5 lines · On Fri, 18 Apr 2008 10:48:51 +0200 Andre Schwarz…

Kim,

doing a git-pull gives "Already up-to-date." The patch is produced with "git-diff --patch-with-stat cpu/mpc83xx/cpu_init.c"

Quoted 6 lines

using git-commit and git-format-patch is recommended, but that's probably not the problem here. Have you followed the instructions for Thunderbird in linux-2.6/Documentation/email-clients.txt? You can test by using git-am on patches you email yourself.

Kim

Hi Andre,

Another thing I do when something I think should work doesn't is to make a fresh clone of the git repository, apply my new patch to it, and regenerate the patch from that. Sometimes I get confused as to the state of my working directory, what has been applied to it, what I've pulled from, etc. (I used to be really sharp, but then I discovered beer and the edges are a little duller now.)

FWIIW, I keep a local pristine copy of the denx.de master repository (and others I am interested in), doing a nightly pull in a cron job. This allows me to make a new working clone of what should be a clean repository without hammering denx.de. Worst case, I hammer denx.de occasionally. :-/

Best regards,
gvb