PCI-ISA Bridge not operating

David Brigada brigad at rpi.edu
Fri Jul 11 12:55:40 EDT 2008


Jordan Crouse wrote:
> On 11/07/08 10:58 -0400, David Brigada wrote:
>> Hi,
>>
>> I'm working with the MSM800XEV board from Digital-Logic.  This board 
>> uses a Geode LX800 for a CPU and has the CS5536 companion board also 
>> installed.  The board works with an IT8888G IC that provides a PCI/ISA 
>> bridge to a PC/104 bus that is externally provided.
>>
>> If I boot with FreeDOS, I can twiddle I/O ports, and the proper ISA 
>> signaling comes over the PC/104 bus.  In Linux, the /IOW or /IOR line 
>> goes low as expected, but the address doesn't come over the bus.  The 
>> DOS that I'm running doesn't seem to have any specific drivers for the 
>> chip, I'm guessing that the hardware should "just work" --- the IT8888G 
>> is designed to grab I/O requests in the ISA range off the PCI bus after 
>> a short delay if nothing else grabs them first.
>>
>> I have a feeling that it has something to do with the CS5536 companion 
>> chip, as it seems as though there is a driver for a PCI/ISA bridge on 
>> that chip, though I can't get much detail from AMD's datasheet on that 
>> functionality.  I do know that on the MSM800XEV, any such functionality 
>> is wired to the IT8888G, not the CS5536.
>>
>> There are two kernel config options related to the PCI IDs of the parts 
>> of the device that handle the ISA bus, CONFIG_SCx200_ACB and 
>> CONFIG_CS5535_GPIO.  I've tried disabling both, but it doesn't seem to help.
>>
>> In lspci, the CS5536 PCI/ISA bridge is shown, but not the IT8888G.
>>
>> Any ideas?
> 
> ISA should indeed "just work".  The only thing I'm wondering is if
> the kernel is interfering (it shouldn't).  I assume that since it works
> in FreeDOS that there is no possibility that something on the PCI bus
> is grabbing the cycles instead.

That's what I'm thinking --- that the CS5536 PCI/ISA bridge is claiming 
the cycles.

> How are you trying to access the device in Linux?  Through a kernel module
> or a user application running as root?

I've tried both.  I have a kernel module that I wrote for the hardware. 
  When I couldn't get that working, I tried looping some code that keeps 
touching the same I/O port that I'm using.

> Jordan
> 

Dave



More information about the Linux-geode mailing list