[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-arm-kernel
Subject: strange io mapping problem
From: henken () seas ! upenn ! edu
Date: 2002-02-28 21:45:20
[Download RAW message or body]
Hello-- I am _still_ working on the pcmcia driver for the inhand Elf. I
have run into a really bizzare problem. I am useing a SANDisk ATA card to
debug the driver. PCMCIA works fine, as long as I do not try to read from
the IO portions that should map to the card, aka when the ide driver tries
to do an identify on the card. This means I am able to read all of the
attribute memory fine to determine which card I have inserted.
I am using 0xf700|0000 as the base address, as inhand has mapped the
pd6722 to 0x3000|0000. The IO space for the sockets has been mapped to
0x3000|0000, and 0x3000|8000 by inhand directly. When I am in the ide
driver and do a loop to print the values from 0xf700|0000 to 0xf700|0007,
the ide registers that should be on the cards, I get the value 0xa1 for
ALL of them. When I use dev2mem to print the values, I get what appear to
be different values. Are there any ideas as to why this might be
happening? I would be much appreciative to anyone who can help as I have
to have this working in the next 2 weeks.!!!
Thanks
P.S To make the message readable, I have place the dev2mem output. Note
that the values I get from the mapped address are the same as the values
when the card is removed.
# dev2mem 0x30000000 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000000 (0x40007000): 0x0
# # dev2mem 0x30000001 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000001 (0x40007001): 0x1
# # dev2mem 0x30000002 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000002 (0x40007002): 0x0
# # dev2mem 0x30000003 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000003 (0x40007003): 0x1
# # dev2mem 0x30000004 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000004 (0x40007004): 0x0
# # dev2mem 0x30000005 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000005 (0x40007005): 0x21
# # dev2mem 0x30000006 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000006 (0x40007006): 0x30
# # dev2mem 0x30000007 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000007 (0x40007007): 0x3B
# # dev2mem 0x30000008 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000008 (0x40007008): 0x30
# # dev2mem 0x30000009 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000009 (0x40007009): 0x39
--------->
Now if I take the card out of the socket, here are the values that dev2mem
prints
# dev2mem 0x30000000 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000000 (0x40007000): 0xA2
# # dev2mem 0x30000001 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000001 (0x40007001): 0xA
# # dev2mem 0x30000002 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000002 (0x40007002): 0xA2
# # dev2mem 0x30000003 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000003 (0x40007003): 0xA
# # dev2mem 0x30000004 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000004 (0x40007004): 0xA2
# # dev2mem 0x30000005 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000005 (0x40007005): 0xA
# # dev2mem 0x30000006 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000006 (0x40007006): 0xA2
# # dev2mem 0x30000007 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000007 (0x40007007): 0xA
# # dev2mem 0x30000008 b
/dev/mem opened.
Memory mapped at address 0x40007000.
Value at address 0x30000008 (0x40007008): 0xA2
Nicholas Henke
Undergraduate - Engineerring 2002
--
Senior Architect and Developer
Liniac Project - University of Pennsylvania
http://clubmask.sourceforge.net
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
There's nothing like good food, good beer, and a bad girl.
_______________________________________________
http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm-kernel
http://www.arm.linux.org.uk/armlinux/mailinglists.php
Please visit the above addresses for information on this list.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic