[ECOS] IXP435 usb register access issue (Fount it)

Gary Thomas gary@mlbassoc.com
Thu Feb 26 20:41:00 GMT 2009


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



More information about the Ecos-discuss mailing list