
Rx-URME-031 Rev -
- DRAFT -
PMC551 Hardware Reference and Installation Manual
Page 10
They perform 16 bit (word) or 32 bit (dword) PCI configuration transfers.
#define PMC551_SDRAM_MA 0x60
#define PMC551_SDRAM_CMD 0x62
#define PMC551_DRAM_CFG 0x64
#define PMC551_COMMAND_DONE 0x01
/*
* Initialization for the PMC551
* PCI device ID 0x020011b0
*/
void initPMC551 (struct pci_dev *dev) {
int cmd;
int i,k;
pci_write_config_word( dev, PMC551_SDRAM_MA, 0x0400);
pci_write_config_word( dev, PMC551_SDRAM_CMD, 0x00bf );
do { pci_read_config_word( dev, PMC551_SDRAM_CMD, &cmd ); }
while ( PMC551_COMMAND_DONE & cmd );
for ( i = 1; i<=8 ; i++) {
pci_write_config_word ( dev, PMC551_SDRAM_CMD, 0x0df );
do { pci_read_config_word( dev, PMC551_SDRAM_CMD, &cmd ); }
while ( PMC551_COMMAND_DONE & cmd );
}
pci_write_config_word ( dev, PMC551_SDRAM_MA, 0x0020 );
pci_write_config_word ( dev, PMC551_SDRAM_CMD, 0x0ff );
do { pci_read_config_word ( dev, PMC551_SDRAM_CMD, &cmd ); }
while ( PMC551_COMMAND_DONE & cmd );
pci_read_config_dword ( dev, PMC551_DRAM_CFG, &k );
k |= 0x02000000;
pci_write_config_dword ( dev, PMC551_DRAM_CFG, k );