[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