This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: FW: IXDP425 SDRAM CONFIG & Linux ATAGS



I just dug into this today...I put a dump in redboot_linux_exec.c after filling up the ATAGs and before executing kernel and looked at memory at 0x100. It looks perfect to me...ATAGs present are ATAG_CORE, ATAG_MEM and ATAG_CMDLINE.


Just so I am sure I am not missing anything to modify...my understanding of what needs to be changed to accomodate ONLY an SDRAM configuration and size change from a 256MB IXDP425 to a 32MB IXDP425 is:


ixdp425/current/include/ixdp425.h


#define SDRAM_SIZE 0x02000000
#define IXP425_SDRAM_CONFIG_INIT (SDRAM_CONFIG_CAS_3 | SDRAM_CONFIG_2x16Mx16)



ixdp425/current/include/pkgconf/mlt_arm_xscale_ixdp425_rom.ldi


ram : ORIGIN = 0, LENGTH = 0x02000000



ixdp425/current/include/pkgconf/mlt_arm_xscale_ixdp425_rom.h

#define CYGMEM_REGION_ram_SIZE (0x02000000)
#define CYGMEM_SECTION_heap1_SIZE (0x02000000 - (size_t) CYG_LABEL_NAME (__heap1))




ixdp425/current/include/pkgconf/mlt_arm_xscale_ixdp425_rom.h

region ram 0 02000000 0 !


And just to be sure...I took previous advise and modified the ram mlt files as well.



Is there something I am missing that needs to be modified?




Thanks!

-Dave






----- Original Message ----- From: "??????????? ????? ???????????" <kondratenko@tecon.ru>
To: "Dave" <dave@cc0.net>
Cc: <ecos-discuss@sources.redhat.com>
Sent: Friday, September 16, 2005 2:26 AM
Subject: RE: [ECOS] FW: [ECOS] IXDP425 SDRAM CONFIG & Linux ATAGS



OK. Take a look at:


packages\hal\arm\arch\current\src\redboot_linux_exec.c

There are directly used "CYGMEM_REGION_ram_SIZE" define:

#ifndef CYGHWR_REDBOOT_LINUX_ATAG_MEM
#define CYGHWR_REDBOOT_LINUX_ATAG_MEM(_p_) \
CYG_MACRO_START \
/* Next ATAG_MEM. */ \
_p_->hdr.size = (sizeof(struct tag_mem32) + sizeof(struct tag_header))/sizeof(long); \
_p_->hdr.tag = ATAG_MEM; \
/* Round up so there's only one bit set in the memory size. \
* Don't double it if it's already a power of two, though. \
*/ \
_p_->u.mem.size = 1<<hal_msbindex(CYGMEM_REGION_ram_SIZE); \
if (_p_->u.mem.size < CYGMEM_REGION_ram_SIZE) \
_p_->u.mem.size <<= 1; \
_p_->u.mem.start = CYGARC_PHYSICAL_ADDRESS(CYGMEM_REGION_ram); \
CYG_MACRO_END
#endif



And in do exec:


   // Fill in the details of the memory layout
   CYGHWR_REDBOOT_LINUX_ATAG_MEM(params);

So you can diag_printf "CYGMEM_REGION_ram_SIZE" before call to this macro and see
If there are right value. If not - look for what is wrong.















-----Original Message-----
From: Dave [mailto:dave@cc0.net]
Sent: Friday, September 16, 2005 10:57 AM
To: ??????????? ????? ???????????
Cc: ecos-discuss@sources.redhat.com
Subject: Re: [ECOS] FW: [ECOS] IXDP425 SDRAM CONFIG & Linux ATAGS


Probably so...



The only RB differences between the 64MB that does work and the 32MB that does not work is the following:


ixdp425.h:


#define SDRAM_SIZE                         0x02000000
#define IXP425_SDRAM_CONFIG_INIT  (SDRAM_CONFIG_CAS_3 |
SDRAM_CONFIG_2x8Mx16)


mlt_arm_xscale_ixdp425_ram.h:


#define CYGMEM_REGION_ram_SIZE (0x02000000)
#define CYGMEM_SECTION_heap1_SIZE (0x02000000 - (size_t)
CYG_LABEL_NAME
(__heap1))



mlt_arm_xscale_ixdp425_rom.h:

#define CYGMEM_REGION_ram_SIZE (0x02000000)
#define CYGMEM_SECTION_heap1_SIZE (0x02000000 - (size_t)
CYG_LABEL_NAME
(__heap1))


mlt_arm_xscale_ixdp425_rom.ldi:


ram : ORIGIN = 0, LENGTH = 0x02000000








----- Original Message ----- From: "??????????? ????? ???????????" <kondratenko@tecon.ru>
To: "Dave" <dave@cc0.net>
Cc: <ecos-discuss@sources.redhat.com>
Sent: Thursday, September 15, 2005 11:34 PM
Subject: RE: [ECOS] FW: [ECOS] IXDP425 SDRAM CONFIG & Linux ATAGS



You're did something wrong. It works. We have such configuration as you.

> -----Original Message-----
> From: Dave [mailto:dave@cc0.net]
> Sent: Thursday, September 15, 2005 7:02 PM
> To: ??????????? ????? ???????????
> Cc: ecos-discuss@sources.redhat.com
> Subject: Re: [ECOS] FW: [ECOS] IXDP425 SDRAM CONFIG & Linux ATAGS
>
>
>
> It did not resolve the issue. I changed it to reflect 32MB
> however ATAGs are still not passed to kernel.
>
>
>
>
>
>
>
> Thanks!
>
> -Dave
>
>
>
>
> ----- Original Message ----- > From: "??????????? ????? ???????????" <kondratenko@tecon.ru>
> To: "Dave" <dave@cc0.net>
> Cc: <ecos-discuss@sources.redhat.com>
> Sent: Thursday, September 15, 2005 12:43 AM
> Subject: RE: [ECOS] FW: [ECOS] IXDP425 SDRAM CONFIG & Linux ATAGS
>
>
> For all. (since RAM is needed for any configuration)
>
> > -----Original Message-----
> > From: Dave [mailto:dave@cc0.net]
> > Sent: Wednesday, September 14, 2005 7:24 PM
> > To: ??????????? ????? ???????????; ecos-discuss@sources.redhat.com
> > Subject: Re: [ECOS] FW: [ECOS] IXDP425 SDRAM CONFIG & Linux ATAGS
> >
> >
> >
> > Isn't that for a RAM or ROMRAM RedBoot and not a ROM RedBoot?
> >
> >
> >
> > Thanks!
> >
> >
> > -Dave
> >
> >
> >
> >
> > -----Original Message-----
> > From: ??????????? ????? ???????????
> > Sent: Wednesday, September 14, 2005 4:46 PM
> > To: 'Dave'
> > Subject: RE: [ECOS] IXDP425 SDRAM CONFIG & Linux ATAGS
> >
> > packages\hal\arm\xscale\ixdp425\current\include\pkgconf\mlt_ar
> > m_xscale_ixdp425_ram.h
> >
> > #define CYGMEM_REGION_ram (0)
> > #define CYGMEM_REGION_ram_SIZE (0x10000000)
> >
> > > -----Original Message-----
> > > From: ecos-discuss-owner@ecos.sourceware.org
> > > [mailto:ecos-discuss-owner@ecos.sourceware.org] On
Behalf Of Dave
> > > Sent: Wednesday, September 14, 2005 9:20 AM
> > > To: ecos-discuss@sources.redhat.com
> > > Subject: [ECOS] IXDP425 SDRAM CONFIG & Linux ATAGS
> > >
> > > Hello all,
> > >
> > > I am working on a custom IXP425 board which is wired
> identical to an
> > > IXDP425 except using different flash and SDRAM sizes/configs.
> > >
> > > I am running into an interesting problem regarding
passing of ATAG
> > > values from RedBoot to a Linux kernel (2.4.27) and was
> > hoping someone
> > > might have some insight and pointers on where to look. I
> > have reviewed
> > > the several similar messages on the ecos-discuss mailing list
> > > regarding SDRAM config on IXP boards but nothing that
> > helped with my
> > > issue. I have also been googling a bit to no avail.
> > >
> > > One of our boards is a 64MB SDRAM board and when using
> RedBoot 2.01
> > > and setting SDRAM size appropriately and
> SDRAM_CONFIG_2x16Mx16, etc
> > > all seems well. ATAGs are passed correctly from RB to the
> > kernel, in
> > > particular ATAG_CMDLINE gets passed correctly via exec -c
> > ""...and the
> > > kernel picks it up just fine.
> > >
> > > A new board is a 32MB SDRAM board and using same RB 2.01 except
> > > changing SDRAM size and SDRAM_CONFIG_2x8Mx16, etc to
> > reflect the 32MB
> > > layout. This board boots fine and most all seems ok however
> > ATAGs are
> > > not being passed down to the kernel. Specifically
> > ATAG_CMDLINE is not
> > > being recognized and I would presume the others are not as well.
> > >
> > > I suspect I am missing something that needs to be modified
> > in RB with
> > > regard to the SDRAM changes between boards however I
cannot locate
> > > anything that I may be missing. I have read that
> > hal_platform_extras.
> > > needs to be fixed up for SDRAM changes however it has
> > apparently been
> > > replaced with hal_platform_setup.h and it seems it uses
all macros
> > > from ixdp425.h thus leading me to believe no change is needed.
> > >
> > > Anyone have any ideas on what I may be missing?
> > >
> > >
> > > Thanks!
> > >
> > > -Dave
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > > Before posting, please read the FAQ:
> > > http://ecos.sourceware.org/fom/ecos
> > > and search the list archive:
> > > http://ecos.sourceware.org/ml/ecos-discuss
> > >
> > >
> >
> > --
> > Before posting, please read the FAQ:
> > http://ecos.sourceware.org/fom/ecos
> > and search the list archive:
> > http://ecos.sourceware.org/ml/ecos-discuss
> >
> >
> >
>
> -- > Before posting, please read the FAQ:
> http://ecos.sourceware.org/fom/ecos
> and search the list archive:
> http://ecos.sourceware.org/ml/ecos-discuss
>
>
>


--
Before posting, please read the FAQ:
http://ecos.sourceware.org/fom/ecos
and search the list archive:
http://ecos.sourceware.org/ml/ecos-discuss





--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]