}
 };
 
+static  iopin_t rev2_silicon_pci_ioregs_init[] = {
+       /* FUNC0=PCI Sets next 54 to PCI pads */
+       {
+               IOCTL_PCI_AD31, 54, 0,
+               IO_PIN_FMUX(0) | IO_PIN_HOLD(0) | IO_PIN_DS(0)
+       }
+};
+
 int checkboard (void)
 {
        ushort brd_rev = *(vu_short *) (CONFIG_SYS_CPLD_BASE + 0x00);
        uchar cpld_rev = *(vu_char *) (CONFIG_SYS_CPLD_BASE + 0x02);
+       volatile immap_t *im = (immap_t *) CONFIG_SYS_IMMR;
 
        printf ("Board: ADS5121 rev. 0x%04x (CPLD rev. 0x%02x)\n",
                brd_rev, cpld_rev);
        /* initialize function mux & slew rate IO inter alia on IO Pins  */
 
-
        iopin_initialize(ioregs_init, sizeof(ioregs_init) / sizeof(ioregs_init[0]));
+       if (SVR_MJREV (im->sysconf.spridr) >= 2) {
+               iopin_initialize(rev2_silicon_pci_ioregs_init, 1);
+       }
 
        return 0;
 }