Small issue at init with spi_mpc8xxx.c with CPM1

Scott Wood scottwood at
Wed Sep 8 06:00:38 EST 2010

On Tue, 7 Sep 2010 11:17:17 +0200
LEROY Christophe <christophe.leroy at> wrote:

>   Dear Kumar,
> I have a small issue in the init of spi_mpc8xxx.c with MPC866 (CPM1)
> Unlike cpm_uart that maps the parameter ram directly using 
> of_iomap(np,1), spi_mpc8xxx.c uses cpm_muram_alloc_fixed().
> This has two impacts in the .dts file:
> * The driver must be declared with pram at 1d80 instead of 3d80 whereas 
> it is not a child of muram at 2000 but a child of cpm at 9c0
> * muram at 2000/data at 0 must be declared with reg = <0x0 0x2000>   whereas 
> is should be reg=<0x0 0x1c00> to avoid cpm_muram_alloc() to allocate 
> space from parameters ram.
> Maybe I misunderstood something ?

Don't make the device tree lie, fix the driver instead.

The allocator should not be given any chunks of muram that are
dedicated to a fixed purpose -- it might hand it out to something else
before you reserve it.  I don't think that cpm_muram_alloc_fixed() has
any legitimate use at all.


More information about the Linuxppc-dev mailing list