Thread (7 messages) 7 messages, 2 authors, 2011-02-01

iMX31 MBX registers Porting problem

From: Chris <hidden>
Date: 2011-01-31 17:37:52

On Mon, Jan 31, 2011 at 8:45 AM, Russell King - ARM Linux
[off-list ref] wrote:
On Sun, Jan 30, 2011 at 10:08:02PM -0700, Chris wrote:
quoted
Ok, I did that and it inserts and removes an entry I am not sure about
what would be wrong.

0x7f000000-0x7f002000 ? ?8192 module_alloc_update_bounds+0x18/0x68
pages=1 vmalloc
...
0x848a0000-0x848a5000 ? 20480 reg_probe+0x94/0x12c [reg] ioremap

0x7f006000-0x7f008000 ? ?8192 module_alloc_update_bounds+0x18/0x68
pages=1 vmalloc
...
0x848a8000-0x848ad000 ? 20480 reg_probe+0x94/0x12c [reg] ioremap

here are two insertions, also showing the module bounds update, not
sure what to make of this information.
The 'module_alloc_update_bounds+0x18/0x68' entry is the space used for
your module. ?As it is free'd lazily, each time you insert it you'll
get different virtual addresses.
quoted
when I cat /proc/iomem I can see my entry:
? ?c0000000-c0003fff : mx3_mbx_regs.0

how can I know that the mapping is pointing me to my location?
ioremap() always gives you a cookie for use with readl() et.al. or NULL.
If it's successful, the mapping will have been created and pointing at
the requested bus address.
Ok, understood, so no tool to currently view what memory is being pointed at
is available in the filesystem?

My final question to you if I could would be,
I see dynamic returns on the mapped address on 2.6.30 - 2.6.38-rc2
where on 2.6.19.2 I see the same address always gets mapped.
can I get a brief explanation on this?

I also notice that the address is within different ranges for a few kernels.
I assume it is not relevant, but I have to turn over every rock here.
I can't see anything wrong with your code, so I suspect you're missing
something with the hardware - maybe a clock which isn't running or an
enable bit somewhere?
  I have gone the extra distance in turning off support in the working kernel
2.6.19.2, I have removed nearly everything. I am down to the gpio_port
initialization code.
and that is all I have left, I will continue to look for more running clocks.

 I cannot think of anyone who would be twiddling bits on this thing
that I have not removed.
anything is possible and I am still looking.

for now I have paused moving forward, and am trying to break it on 2.6.19.2
so far it turns out I don't need very much support to talk to this device.
any suggested ways to turn off more stuff hidden somewhere perhaps?
I've no idea how MBX works on the MX platforms, so I can't really suggest
anything further.
Me neither! and that is making this really hard to figure out. trying
to find any information is impossible I think.
being a propriety chip from PowerVR with no available information
aside from how it is connected to the iMX.

Any tips for learning how to operate this device or one like it
connected in this fashion would bring great happiness.

Thank you for your comments.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help