(iobase[5] + VND_TF2_CH0) | ATA_PCI_CTL_OFS;
                port[0].ioaddr.bmdma_addr = iobase[5] + VND_BMDMA_CH0;
                break;
+#if (CONFIG_SYS_SATA_MAX_DEVICE >= 1)
        case 1:
                port[1].port_no = 0;
                port[1].ioaddr.cmd_addr = iobase[5] + VND_TF0_CH1;
                    (iobase[5] + VND_TF2_CH1) | ATA_PCI_CTL_OFS;
                port[1].ioaddr.bmdma_addr = iobase[5] + VND_BMDMA_CH1;
                break;
+#elif (CONFIG_SYS_SATA_MAX_DEVICE >= 2)
        case 2:
                port[2].port_no = 0;
                port[2].ioaddr.cmd_addr = iobase[5] + VND_TF0_CH2;
                    (iobase[5] + VND_TF2_CH2) | ATA_PCI_CTL_OFS;
                port[2].ioaddr.bmdma_addr = iobase[5] + VND_BMDMA_CH2;
                break;
+#elif (CONFIG_SYS_SATA_MAX_DEVICE >= 3)
        case 3:
                port[3].port_no = 0;
                port[3].ioaddr.cmd_addr = iobase[5] + VND_TF0_CH3;
                    (iobase[5] + VND_TF2_CH3) | ATA_PCI_CTL_OFS;
                port[3].ioaddr.bmdma_addr = iobase[5] + VND_BMDMA_CH3;
                break;
+#endif
        default:
                printf ("Tried to scan unknown port: ata%d\n", dev);
                return 1;