public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* Re: [ECOS] IXP435 usb register access issue (Fount it)
@ 2009-02-26 20:34 mukund jampala
  2009-02-26 20:41 ` Gary Thomas
  0 siblings, 1 reply; 2+ messages in thread
From: mukund jampala @ 2009-02-26 20:34 UTC (permalink / raw)
  To: mukund jampala, ecos-discuss

Hi Andrew,

Found the problem.

Thanks for replying.
I did modify the code in the hal_platform_setup.h
hal/arm/xscale/kixrp435/current/include/hal_platform_setup.h
        IXP_MAP_IO      0xCD000000, 0x01000000
        IXP_MAP_IO      0xCE000000, 0x01000000

and printed out the dereferences vale at 0xCD000000.
It is working if I load the image into the flash(RAMROM). It is NOT
work properly when I try to use th RAM image.

After build the respective RAMROM or RAM images, this is what I am doing.

RAMROM image load procedure:
RedBoot>load -r -b 0x01000000 redboot.bin
RedBoot>fis write -b 0x01000000 -l 0x80000 -f 0x50000000
With it Works. I am able to access the USB registers

RAM image load procedure:
RedBoot>load -v redboot.bin
RedBoot>go -w 1

Intersting part is here: (latest findings)
If the underlying ROM image is older(what I got with board) than what
I use, the newly build RAM image is NOT able to acces the 0xCD000000
registers.
If the underlying ROM image is new (I reflashed with above RAMROM
procedure), the newly build RAM image is able to acces the 0xCD000000
registers.

Not sure, but looks to me like the MMU tables in RAM image are not
being used when the RAM image is executing. Instead it is pulling out
the ROM image MMU tables.
Do you know anything about why this is happening?

- Mukund Jampala



On Tue, Feb 24, 2009 at 11:03 PM, Andrew Lunn <andrew@lunn.ch> wrote:
> On Tue, Feb 24, 2009 at 04:25:46PM -0800, mukund jampala wrote:
>> Hi Guys,
>>
>> I am using an IXP435 and trying to program the USB controller on it.
>> The environment is Redboot.
>> In the current redboot, I am NOT able to access the USB base address
>> i.e. 0xCD000000.
>>
>> Actually, I am not able to access any address beyond 0xC80FFFE0.
>> Is there any ixp initialization or redboot initialization that I have
>> to access this registers space.
>
> Sure, look at the code which sets up the MMU. It is in the HAL for
> your target.
>
>     Andrew
>

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ECOS] IXP435 usb register access issue (Fount it)
  2009-02-26 20:34 [ECOS] IXP435 usb register access issue (Fount it) mukund jampala
@ 2009-02-26 20:41 ` Gary Thomas
  0 siblings, 0 replies; 2+ messages in thread
From: Gary Thomas @ 2009-02-26 20:41 UTC (permalink / raw)
  To: mukund jampala; +Cc: ecos-discuss

mukund jampala wrote:
> Hi Andrew,
> 
> Found the problem.
> 
> Thanks for replying.
> I did modify the code in the hal_platform_setup.h
> hal/arm/xscale/kixrp435/current/include/hal_platform_setup.h
>         IXP_MAP_IO      0xCD000000, 0x01000000
>         IXP_MAP_IO      0xCE000000, 0x01000000
> 
> and printed out the dereferences vale at 0xCD000000.
> It is working if I load the image into the flash(RAMROM). It is NOT
> work properly when I try to use th RAM image.
> 
> After build the respective RAMROM or RAM images, this is what I am doing.
> 
> RAMROM image load procedure:
> RedBoot>load -r -b 0x01000000 redboot.bin
> RedBoot>fis write -b 0x01000000 -l 0x80000 -f 0x50000000
> With it Works. I am able to access the USB registers
> 
> RAM image load procedure:
> RedBoot>load -v redboot.bin
> RedBoot>go -w 1
> 
> Intersting part is here: (latest findings)
> If the underlying ROM image is older(what I got with board) than what
> I use, the newly build RAM image is NOT able to acces the 0xCD000000
> registers.
> If the underlying ROM image is new (I reflashed with above RAMROM
> procedure), the newly build RAM image is able to acces the 0xCD000000
> registers.
> 
> Not sure, but looks to me like the MMU tables in RAM image are not
> being used when the RAM image is executing. Instead it is pulling out
> the ROM image MMU tables.
> Do you know anything about why this is happening?

Because of the way the MMU is initialized, the settings in the RAM
version are ignored (it's unsafe to change them).

You'll have to get them right in your ROM/ROMRAM version and move on.

> 
> On Tue, Feb 24, 2009 at 11:03 PM, Andrew Lunn <andrew@lunn.ch> wrote:
>> On Tue, Feb 24, 2009 at 04:25:46PM -0800, mukund jampala wrote:
>>> Hi Guys,
>>>
>>> I am using an IXP435 and trying to program the USB controller on it.
>>> The environment is Redboot.
>>> In the current redboot, I am NOT able to access the USB base address
>>> i.e. 0xCD000000.
>>>
>>> Actually, I am not able to access any address beyond 0xC80FFFE0.
>>> Is there any ixp initialization or redboot initialization that I have
>>> to access this registers space.
>> Sure, look at the code which sets up the MMU. It is in the HAL for
>> your target.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-02-26 20:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-02-26 20:34 [ECOS] IXP435 usb register access issue (Fount it) mukund jampala
2009-02-26 20:41 ` Gary Thomas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).