changes for reducing DDR size

kuldeep ghan ghankp at gmail.com
Mon Aug 16 09:44:52 EDT 2010


Hi Sascha,
    >> You have to adjust the TEXT_BASE in arch/arm/mach-imx/Kconfig so that
the
resulting link address is is your address space.

        I have changed the TEXT_BASE to 0xA1F000000. Now it is pointing to
31st MB of 1st chip select. I did not understand what do you mean by "
resulting
link address is your address space " ?

According to TEXT_BASE at 0xA1F000000, i have following stack and malloc
area's

                     Malloc space: 0xa1900000 -> 0xa1f00000 (size  6 MB)
                     Stack space : 0xa18f8000 -> 0xa1900000 (size 32 kB)

    >> For Linux you have to adjust the device size of  the device which is
passed to armlinux_add_dram() to 64MB.

 I am adding two device using armlinux_add_dram() each with 32MB size and
map_base address of 0xA0000000 and 0xB0000000 respectively.. Is that fine or
Can I have one device registered with map_base address of 0xA0000000 and
64MB size??

I have enabled MMU in barebox. There also i have a change for
arm_create_section(). Following is section of code i have in
pcm038_mmu_init()

*static void pcm038_mmu_init(void)
{
        mmu_init();

        arm_create_section(0xa0000000, 0xa0000000, 32, PMD_SECT_DEF_CACHED);
        arm_create_section(0xb0000000, 0xa0000000, 32,
PMD_SECT_DEF_UNCACHED);


        setup_dma_coherent(0x10000000);

#if TEXT_BASE & (0x100000 - 1)
#warning cannot create vector section. Adjust TEXT_BASE to a 1M boundary
#else
        arm_create_section(0x0,        TEXT_BASE,   1,
PMD_SECT_DEF_UNCACHED);
#endif
        mmu_enable();
}*

With all these changes, I see ping command hangs.. :(

   If I replace the macro from PMD_SECT_DEF_UNCACHED to PMD_SECT_DEF_CACHED
in the function pcm038_mmu_init(),  the ping command throws some
transmission timeout messages and exits saying the the destination is not
Alive.

It would be great if you can help me out!!

Thanks,
Kuldeep.

On Mon, Aug 16, 2010 at 2:43 PM, Sascha Hauer <s.hauer at pengutronix.de>wrote:

>
> Hi,
>
> On Fri, Aug 13, 2010 at 08:47:38PM +0530, kuldeep ghan wrote:
> > Hi,
> >         I am using PCM038 based custom board with changes in Memory
> > configuration. I want to know what all changes i have to do in barebox
> > source if I am reducing the size of DDR to 64 MB.
> > I have two 32MB DDR chips interfaced on CSD0 and CSD1. I am able to boot
> the
> > board with changes in pcm038 and lowlevel_init.S. I see that both the
> DDRs
> > are initialized properly and able to write and read to DDR address space.
> >          Ping to command is failing with these changes.  And I am not
> sure
> > about the changes required for stack size and malloc size.
>
> You have to adjust the TEXT_BASE in arch/arm/mach-imx/Kconfig so that the
> resulting link address is is your address space. This should be
> sufficient for barebox. For Linux you have to adjust the device size of
> the device which is passed to armlinux_add_dram() to 64MB.
>
> I hope this helps
>
> Sascha
>
>
> --
> Pengutronix e.K.                           |                             |
> Industrial Linux Solutions                 | http://www.pengutronix.de/  |
> Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/barebox/attachments/20100816/7f779f6a/attachment.html>


More information about the barebox mailing list