[U-Boot-Users] Heads up for ppl using the cpu/mpc8xx/spi.c
Wolfgang Denk
wd at denx.de
Wed Jul 28 00:18:59 CEST 2004
Dear David,
in message <OF5D5CE5D0.A860DE7D-ON85256EDE.0042486D-85256EDE.00453798 at nanometrics.ca> you wrote:
>
> I'm current using a MPC852T Part #: 0x08 Mask #: 0x00
Gotcha.
> The problem I have is the SPI transfer never starts, even in the POST SPI
> test.
I bet this code has never been tried on such a processor before, and
I have to admit that I have no idea if the uCode mechanism is still
the same or even compatible to some extend.
> In MPC866UM rev1.1 section 18.7.3 Parameter RAM it states:
>
> The SPI and I2C parameter RAM areas can be relocated to other
> 32-byte aligned parameter areas in dual-port RAM by programming
> their 16-bit base offsets, shown in Table 18-11.
>
> The note from the MPC860UM rev.2 has been removed, an indication that
> relocation of SPI can take place without the uCode patch.
I remember to have seen this, too. But never tried it out before.
> There is no other mention of what value you should initialize it to at any
> time. So I don't understand where u-boot or any driver that relies on the
> testing RPBASE is 0 to indicate uCode patch application.
It may easily be possible that this methoid does not work any more on
the new processors.
> And as I told you before if I change all the statement that clears RPBASE
> to setting it 0x1D80, everything works fine.
...which is an indication that the processors are different enough to
require different code.
But now I finally understand why you see so different results - it
would have been really a good idea to mention earlier that you are on
a 866...
> > Normally, Linux driver code will look like this:
> >
> > ...
> > /* Check for and use a microcode relocation patch. */
> > if (spi->spi_rpbase)
> > spi = (spi_t *)&cpmp->cp_dpmem[spi->spi_rpbase];
> > printk("cpm_spi: using microcode patch (spi_rpbase=0x%p)\n", spi);
> > ...
> >
> > Note that this code requires that spi_rpbase is initialized to 0 when
> > no uCode patch is applied. And it seems to work fine on allour
> > systems that use SPI.
... this will then fail, too.
Best regards,
Wolfgang Denk
--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: wd at denx.de
A meeting is an event at which the minutes are kept and the hours are
lost.
More information about the U-Boot
mailing list