|
@@ -181,6 +181,15 @@ void savagefb_create_i2c_busses(struct fb_info *info)
|
|
par->chan.algo.getscl = prosavage_gpio_getscl;
|
|
par->chan.algo.getscl = prosavage_gpio_getscl;
|
|
break;
|
|
break;
|
|
case FB_ACCEL_SAVAGE4:
|
|
case FB_ACCEL_SAVAGE4:
|
|
|
|
+ par->chan.reg = CR_SERIAL1;
|
|
|
|
+ if (par->pcidev->revision > 1 && !(VGArCR(0xa6, par) & 0x40))
|
|
|
|
+ par->chan.reg = CR_SERIAL2;
|
|
|
|
+ par->chan.ioaddr = par->mmio.vbase;
|
|
|
|
+ par->chan.algo.setsda = prosavage_gpio_setsda;
|
|
|
|
+ par->chan.algo.setscl = prosavage_gpio_setscl;
|
|
|
|
+ par->chan.algo.getsda = prosavage_gpio_getsda;
|
|
|
|
+ par->chan.algo.getscl = prosavage_gpio_getscl;
|
|
|
|
+ break;
|
|
case FB_ACCEL_SAVAGE2000:
|
|
case FB_ACCEL_SAVAGE2000:
|
|
par->chan.reg = 0xff20;
|
|
par->chan.reg = 0xff20;
|
|
par->chan.ioaddr = par->mmio.vbase;
|
|
par->chan.ioaddr = par->mmio.vbase;
|