From mboxrd@z Thu Jan 1 00:00:00 1970 From: Detlev Zundel Date: Wed, 16 Jul 2008 13:15:17 +0200 Subject: [U-Boot-Users] [PATCH] mpc85xx: fix upmconfig In-Reply-To: <20080710123642.GB28927@Chamillionaire.breakpoint.cc> (Sebastian Siewior's message of "Thu, 10 Jul 2008 14:36:42 +0200") References: <20080710123642.GB28927@Chamillionaire.breakpoint.cc> Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, > This actually shouldn't work. Imagina 0xf0000000 base address that > gets translated into 0x1e000 and causes my box to hang. Writing > to 0xf0000000 seems the better way. > Also don't compare against the UPM mask but agaist the MSEL mask. > > Cc: Sergei Poselenov > Cc: Andy Fleming > Signed-off-by: Sebastian Siewior > --- > cpu/mpc85xx/cpu.c | 7 +++---- > 1 files changed, 3 insertions(+), 4 deletions(-) > > diff --git a/cpu/mpc85xx/cpu.c b/cpu/mpc85xx/cpu.c > index 0497422..2373b4a 100644 > --- a/cpu/mpc85xx/cpu.c > +++ b/cpu/mpc85xx/cpu.c > @@ -71,8 +71,7 @@ struct cpu_type *identify_cpu(u32 ver) > > static void set_lcb_clock(uint clkdiv) > { > - volatile immap_t *immap = (immap_t *)CFG_IMMR; > - volatile ccsr_lbc_t *lbc= &immap->im_lbc; > + volatile ccsr_lbc_t *lbc = (void *)(CFG_MPC85xx_LBC_ADDR); > uint lcrr; > > lcrr = lbc->lcrr; This hunk does not apply for me, but the next one unbreaks the socrates board, so > @@ -352,8 +351,8 @@ void upmconfig (uint upm, uint * table, uint size) > i++, brp += 2, orp += 2) { > > /* Look for a valid BR with selected UPM */ > - if ((in_be32(brp) & (BR_V | upmmask)) == (BR_V | upmmask)) { > - dummy = (volatile u8*)(in_be32(brp) >> BR_BA_SHIFT); > + if ((in_be32(brp) & (BR_V | BR_MSEL)) == (BR_V | upmmask)) { > + dummy = (volatile u8*)(in_be32(brp) & BR_BA); > break; > } > } Acked-by: Detlev Zundel Cheers Detlev -- error compiling committee.c: too many arguments to function -- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de