This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
RE: FW: IXDP425 SDRAM CONFIG & Linux ATAGS
- From: "??????????? ????? ???????????" <kondratenko at tecon dot ru>
- To: "Dave" <dave at cc0 dot net>
- Cc: <ecos-discuss at sources dot redhat dot com>
- Date: Fri, 16 Sep 2005 13:26:58 +0400
- 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