2.6.x kernels & PCI-to-PCMCIA bridges [again]

Komuro komurojun at mbn.nifty.com
Tue Jun 29 08:53:14 EDT 2004

>> I've fixed card_start problem.
>> Most client driver set card_start=0,
>> So
>> mem->card_start - mem->sys_start equals -mem->sys_start.  wrong!    
>Actually, its right.  You've programmed the memory start/stop registers
>with sys_start and sys_stop.  Since card_start = 0, you want accesses
>to physical address "sys_start" to correspond with card address
>"card_start".  So, if card_start = 0, you need to program the offset
>register (I365_W_OFF) with -sys_start to achieve the required address
>on the PCMCIA bus.

I think I365_W_OFF value is greater than or equal to 0.

I365_W_OFF specifies the offset in PCMCIA Memory Address Space(MAX 64Mbytes).
I365_W_START specifies the address in PCI Memory Address Space(MAX 4Gbytes)

Please see "Figure 3-1 Memory Window Organization" in the PD6729 datasheet
(page 18).
You can dowonload the PD6729 datasheet from the pcmcia-cs site.

Best Regards

More information about the linux-pcmcia mailing list