阅读:2058回复:0
pci9054初始化基地址寄存器注意的几点.
9054芯片PCI配置寄存器提供了5个基址寄存器,BAS0固定用于9054芯片的操作寄存器内存映射,BAS1固定用于9054芯片的操作寄存器的I/O映射,BASE2--BASE5分别用于其他本地设备芯片的内存或I/O映射,作用是把本地设备地址通过基址寄存器翻译成PCI端的地址,操作本地地址就相当于操作PCI地址。BASE2为对应pci9054中的本地地址空间0,即Space0。武安河9054驱动的例子是把FPGA认为是I/O映射了,即KIoPortRange m_IoPortRange1,内存映射方式就是KMemory m_MemoryRange1,所以搞错映射类型的话驱动加载不上。关于设备是什么类型的映射,在EEPROM里进行初始化,具体的寄存器是:Local Address Space0 Range Register for PCI-to-Local Bus.0x00h.在EEPROM中把类型改为I/O映射,大小,不能超过64K,因为PC机的I/O地址空间最大为64K,内存为4G。
|
|