2.6.x kernels & PCI-to-PCMCIA bridges [again]
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,
>> 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
You can dowonload the PD6729 datasheet from the pcmcia-cs site.
More information about the linux-pcmcia