[PATCH 2/2] spi: fsl-spi: Allow dynamic allocation of CPM1 parameter RAM

Scott Wood scottwood at freescale.com
Tue Oct 7 11:19:44 EST 2014

On Sat, 2014-10-04 at 12:15 +0200, christophe leroy wrote:
> Le 03/10/2014 22:24, Scott Wood a écrit :
> > On Fri, 2014-10-03 at 22:15 +0200, christophe leroy wrote:
> >> Le 03/10/2014 16:44, Mark Brown a écrit :
> >>> On Fri, Oct 03, 2014 at 02:56:09PM +0200, Christophe Leroy wrote:
> >>>
> >>>> +config CPM1_RELOCSPI
> >>>> +	bool "Dynamic SPI relocation"
> >>>> +	default n
> >>>> +	help
> >>>> +	  On recent MPC8xx (at least MPC866 and MPC885) SPI can be relocated
> >>>> +	  without micropatch. This activates relocation to a dynamically
> >>>> +	  allocated area in the CPM Dual port RAM.
> >>>> +	  When combined with SPI relocation patch (for older MPC8xx) it avoids
> >>>> +	  the "loss" of additional Dual port RAM space just above the patch,
> >>>> +	  which might be needed for example when using the CPM QMC.
> >>> Something like this shouldn't be a compile time option.  Either it
> >>> should be unconditional or it should be triggered in some system
> >>> specific manner (from DT, from knowing about other users or similar).
> >> Can't be unconditional as older versions of mpc8xx (eg MPC860) don't
> >> support relocation without a micropatch.
> >> I have therefore submitted a v2 based on a DTS compatible property.
> > So the device tree change is about whether relocation is supported, not
> > whether it is required?
> Indeed no, my intension is to say that relocation is requested. Do you 
> mean that it should then not use a compatible ?

The device tree describes hardware.  It doesn't tell software how to use
that hardware.

Based on one of your other e-mails, I think what you want to say here is
that the old binding didn't describe the registers needed for
relocation, so the new compatible describes the new binding, rather than
requesting that software do a relocation.  Software that sees the new
binding could choose to relocate, or just choose to read the current
offset from the register.

> > How about checking for the existing specific-SoC compatibles?
> What do you mean ?

Look for "fsl,mpc885-cpm-i2c" etc.  Or, if you didn't follow that
pattern (remember, I can't see your device tree!), look for
"fsl,mpc885-cpm" or "fsl,mpc866-cpm" in the parent node.  It's moot
though, if the device tree also needs to be modified to describe the
register used to relocate.


More information about the Linuxppc-dev mailing list