Lines Matching defs:pAST
95 ASTRecPtr pAST = ASTPTR(pScrn);
98 mmiobase = pAST->MMIOVirtualAddr;
104 ASTRecPtr pAST = ASTPTR(pScrn);
114 ASTRecPtr pAST = ASTPTR(pScrn);
124 ASTRecPtr pAST = ASTPTR(pScrn);
142 ASTRecPtr pAST = ASTPTR(pScrn);
160 ASTRecPtr pAST = ASTPTR(pScrn);
167 ASTRecPtr pAST = ASTPTR(pScrn);
174 ASTRecPtr pAST = ASTPTR(pScrn);
200 ASTRecPtr pAST = ASTPTR(pScrn);
229 ASTRecPtr pAST = ASTPTR(pScrn);
230 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
251 ASTRecPtr pAST = ASTPTR(pScrn);
252 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
267 if (pAST->pDP501FWBufferVirtualAddress)
269 pFWAddr = pAST->pDP501FWBufferVirtualAddress;
332 ASTRecPtr pAST = ASTPTR(pScrn);
337 mmiobase = pAST->MMIOVirtualAddr;
365 ASTRecPtr pAST = ASTPTR(pScrn);
371 mmiobase = pAST->MMIOVirtualAddr;
402 ASTRecPtr pAST = ASTPTR(pScrn);
411 ASTRecPtr pAST = ASTPTR(pScrn);
428 ASTRecPtr pAST = ASTPTR(pScrn);
432 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
433 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
441 *(ULONG *) (pAST->MMIOVirtualAddr + 0x10000) = 0xFC600309;
443 if (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x10000) == 0x01)
448 pAST->ulDRAMBusWidth = 16;
449 pAST->jDRAMType = DRAMTYPE_1Gx16;
450 if (pAST->jChipType == AST2500)
451 pAST->ulMCLK = 800;
453 pAST->ulMCLK = 396;
456 ulData = *(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x10004);
460 pAST->ulDRAMBusWidth = 16;
462 pAST->ulDRAMBusWidth = 32;
465 if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
470 pAST->jDRAMType = DRAMTYPE_512Mx16;
474 pAST->jDRAMType = DRAMTYPE_1Gx16;
477 pAST->jDRAMType = DRAMTYPE_2Gx16;
480 pAST->jDRAMType = DRAMTYPE_4Gx16;
490 pAST->jDRAMType = DRAMTYPE_512Mx16;
495 pAST->jDRAMType = DRAMTYPE_1Gx16;
497 pAST->jDRAMType = DRAMTYPE_512Mx32;
501 pAST->jDRAMType = DRAMTYPE_1Gx32;
507 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x10120);
508 ulData2 = *(ULONG *) (pAST->MMIOVirtualAddr + 0x10170);
530 pAST->ulMCLK = ulRefPLL * (ulNumerator + 2) / ((ulDeNumerator + 2) * ulDivider * 1000);
537 ASTRecPtr pAST = ASTPTR(pScrn);
583 ASTRecPtr pAST = ASTPTR(pScrn);
588 ulMCLK = pAST->ulMCLK;
589 ulDRAMBusWidth = pAST->ulDRAMBusWidth;
593 if ( ((pAST->jChipType == AST2100) || (pAST->jChipType == AST1100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2150)) && (ulDRAMBusWidth == 16) )
595 else if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
601 if (pAST->jChipType == AST1180)
609 if ((jReg & 0x08) && (pAST->jChipType == AST2000))
618 if (pAST->jTxChipType == Tx_DP501)
620 if (ulDCLK > pAST->DP501_MaxVCLK) ulDCLK = pAST->DP501_MaxVCLK;
624 if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST2200) || (pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500) || (pAST->jChipType == AST1180) )
640 ASTRecPtr pAST = ASTPTR(pScrn);
643 pAST->jChipType = AST2100;
645 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
646 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
647 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1207c);
652 pAST->jChipType = AST1100;
656 pAST->jChipType = AST2200;
660 pAST->jChipType = AST2150;
664 pAST->jChipType = AST2100;
672 ASTRecPtr pAST = ASTPTR(pScrn);
679 pAST->VGA2Clone = TRUE;
682 pAST->pDP501FWBufferVirtualAddress = NULL;
683 pAST->jTxChipType = Tx_NONE;
687 pAST->jTxChipType = Tx_Sil164;
689 if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
695 pAST->jTxChipType = Tx_Sil164;
698 pAST->pDP501FWBufferVirtualAddress = (UCHAR*) calloc(1, 32*1024);
699 if (pAST->pDP501FWBufferVirtualAddress)
701 if (BackupM68KFW(pScrn, pAST->pDP501FWBufferVirtualAddress, 32*1024) == FALSE)
703 free(pAST->pDP501FWBufferVirtualAddress);
704 pAST->pDP501FWBufferVirtualAddress = NULL;
708 pAST->jTxChipType = Tx_DP501;
714 switch (pAST->jChipType)
717 pAST->SupportWideScreen = TRUE;
720 pAST->SupportWideScreen = FALSE;
725 pAST->SupportWideScreen = TRUE;
727 pAST->SupportWideScreen = TRUE;
730 pAST->SupportWideScreen = FALSE;
731 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
732 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
733 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1207c);
735 if ((pAST->jChipType == AST2300) && (ulData == 0x0000)) /* AST1300 */
736 pAST->SupportWideScreen = TRUE;
737 if ((pAST->jChipType == AST2400) && (ulData == 0x0100)) /* AST1400 */
738 pAST->SupportWideScreen = TRUE;
745 vASTSetStartAddressCRT1(ASTRecPtr pAST, ULONG base)
749 if (pAST->jChipType == AST1180)
751 addr = pAST->ulVRAMBase + base;
768 ASTRecPtr pAST = ASTPTR(pScrn);
772 if (pAST->jTxChipType == Tx_DP501)
775 if (pAST->jChipType == AST1180)
790 ASTRecPtr pAST = ASTPTR(pScrn);
793 if (pAST->jChipType == AST1180)
803 if (pAST->jTxChipType == Tx_DP501)
820 ASTRecPtr pAST = ASTPTR(pScrn);
883 ASTRecPtr pAST;
887 pAST = ASTPTR(pScrn);
922 if (pAST->jTxChipType == Tx_DP501) SetDP501VideoOutput(pScrn, 0);
925 if (pAST->jChipType == AST1180)
940 if (pAST->jTxChipType == Tx_DP501) SetDP501VideoOutput(pScrn, 1);
958 ASTRecPtr pAST = ASTPTR(pScrn);
966 if (pAST->jChipType == AST1180)
969 offset = pAST->MMIOVirtualAddr + 0x10000 + I2C_OFFSET_AS1180;
975 offset = pAST->MMIOVirtualAddr + 0x10000 + I2C_OFFSET;
979 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
980 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
983 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12000) = 0x1688A8A8;
984 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12004);
986 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12004) = ulData;
991 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = base;
992 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
1061 ASTRecPtr pAST;
1065 pAST = ASTPTR(pScrn);
1067 if (pAST->jChipType == AST1180)
1075 ch = inb(pAST->RelocateIO + 0x43);
1079 outw(pAST->RelocateIO + 0x54, 0xa880);
1080 outb(pAST->RelocateIO + 0x54, 0xb6);
1081 ch = inb(pAST->RelocateIO + 0x55);
1092 ASTRecPtr pAST;
1094 pAST = ASTPTR(pScrn);
1124 ASTRecPtr pAST;
1127 pAST = ASTPTR(pScrn);
1136 if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
1138 if (PCI_DEV_REVISION(pAST->PciInfo) > 0x20)
1155 if (!xf86IsPrimaryPci(pAST->PciInfo))
1164 if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2400))
1172 ASTRecPtr pAST = ASTPTR(pScrn);
1174 if ((pAST->jChipType == AST2500) && (PCI_DEV_REVISION(pAST->PciInfo) == 0x40))
1491 ASTRecPtr pAST = ASTPTR(pScrn);
1500 if (pAST->jChipType == AST2000)
1504 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
1505 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
1506 *(ULONG *) (pAST->MMIOVirtualAddr + 0x10100) = 0xa8;
1510 } while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x10100) != 0xa8);
1515 if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST2200))
1520 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
1521 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
1523 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12000) = 0x1688A8A8;
1526 } while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x12000) != 0x01);
1528 *(ULONG *) (pAST->MMIOVirtualAddr + 0x10000) = 0xFC600309;
1531 } while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x10000) != 0x01);
1542 else if ( (pjDRAMRegInfo->Index == 0x0004) && (pAST->jChipType != AST2000) )
1546 if (pAST->jDRAMType == DRAMTYPE_1Gx16)
1548 else if (pAST->jDRAMType == DRAMTYPE_1Gx32)
1551 ulTemp = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12070);
1554 *(ULONG *) (pAST->MMIOVirtualAddr + 0x10000 + pjDRAMRegInfo->Index) = (ulData | ulTemp);
1558 *(ULONG *) (pAST->MMIOVirtualAddr + 0x10000 + pjDRAMRegInfo->Index) = pjDRAMRegInfo->Data;
1564 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x10120);
1567 param.pjMMIOVirtualAddress = pAST->MMIOVirtualAddr;
1568 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x10004);
1575 switch (pAST->jChipType)
1578 *(ULONG *) (pAST->MMIOVirtualAddr + 0x10140) |= 0x40;
1585 ulTemp = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1200c);
1586 *(ULONG *) (pAST->MMIOVirtualAddr + 0x1200c) = (ulTemp & 0xFFFFFFFD);
1588 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12040) |= 0x40;
2885 ASTRecPtr pAST = ASTPTR(pScrn);
2894 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
2895 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
2897 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12000) = 0x1688A8A8;
2900 } while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x12000) != 0x01);
2902 *(ULONG *) (pAST->MMIOVirtualAddr + 0x10000) = 0xFC600309;
2905 } while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x10000) != 0x01);
2908 ulTemp = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12008);
2910 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12008) = ulTemp;
2912 param.pjMMIOVirtualAddress = pAST->MMIOVirtualAddr;
2917 param.DRAM_ChipID = (ULONG) pAST->jDRAMType;
2918 param.DRAM_Freq = pAST->ulMCLK;
2919 param.VRAM_Size = pAST->ulVRAMSize;
3005 ASTRecPtr pAST = ASTPTR(pScrn);
3006 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
3028 ASTRecPtr pAST = ASTPTR(pScrn);
3029 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
3051 ASTRecPtr pAST = ASTPTR(pScrn);
3052 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
3063 ASTRecPtr pAST = ASTPTR(pScrn);
3064 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
3089 ASTRecPtr pAST = ASTPTR(pScrn);
3090 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
3127 ASTRecPtr pAST = ASTPTR(pScrn);
3128 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
3160 ASTRecPtr pAST = ASTPTR(pScrn);
3161 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
3175 ASTRecPtr pAST = ASTPTR(pScrn);
3176 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
3201 ASTRecPtr pAST = ASTPTR(pScrn);
3202 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
3247 ASTRecPtr pAST = ASTPTR(pScrn);
3248 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
3356 ASTRecPtr pAST = ASTPTR(pScrn);
3357 UCHAR *mmiobase = pAST->MMIOVirtualAddr;
3377 ASTRecPtr pAST = ASTPTR(pScrn);
3385 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
3386 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
3388 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12000) = 0x1688A8A8;
3391 } while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x12000) != 0x01);
3393 *(ULONG *) (pAST->MMIOVirtualAddr + 0x10000) = 0xFC600309;
3396 } while (*(volatile ULONG *) (pAST->MMIOVirtualAddr + 0x10000) != 0x01);
3399 ulTemp = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12008);
3401 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12008) = ulTemp;
3405 ulTemp = MIndwm(pAST->MMIOVirtualAddr, 0x1E6E2040);
3406 MOutdwm(pAST->MMIOVirtualAddr, 0x1E6E2040, ulTemp | 0x40);
3418 ASTRecPtr pAST = ASTPTR(pScrn);
3421 if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
3423 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
3424 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
3425 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12070);
3429 pAST->jDRAMType = DRAMTYPE_512Mx16;
3432 pAST->jDRAMType = DRAMTYPE_1Gx16;
3435 pAST->jDRAMType = DRAMTYPE_2Gx16;
3438 pAST->jDRAMType = DRAMTYPE_4Gx16;
3442 else if ((pAST->jChipType == AST2100) || (pAST->jChipType == AST2200))
3444 pAST->jDRAMType = DRAMTYPE_512Mx32;
3446 else if ((pAST->jChipType == AST1100) || (pAST->jChipType == AST2150))
3448 pAST->jDRAMType = DRAMTYPE_1Gx16;
3455 ASTRecPtr pAST = ASTPTR(pScrn);
3459 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF004) = 0x1e6e0000;
3460 *(ULONG *) (pAST->MMIOVirtualAddr + 0xF000) = 0x1;
3461 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12000) = 0x1688A8A8;
3466 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12008); /* delay phase */
3469 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12008) = ulData;
3471 if (pAST->jChipType == AST2300)
3473 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12084); /* multi-pins for DVO single-edge */
3475 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12084) = ulData;
3477 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12088); /* multi-pins for DVO single-edge */
3479 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12088) = ulData;
3481 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12090); /* multi-pins for DVO single-edge */
3484 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12090) = ulData;
3488 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12088); /* multi-pins for DVO single-edge */
3490 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12088) = ulData;
3492 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1208c); /* multi-pins for DVO single-edge */
3494 *(ULONG *) (pAST->MMIOVirtualAddr + 0x1208c) = ulData;
3496 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x120a4); /* multi-pins for DVO single-edge */
3498 *(ULONG *) (pAST->MMIOVirtualAddr + 0x120a4) = ulData;
3500 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x120a8); /* multi-pins for DVO single-edge */
3502 *(ULONG *) (pAST->MMIOVirtualAddr + 0x120a8) = ulData;
3504 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x12094); /* multi-pins for DVO single-edge */
3506 *(ULONG *) (pAST->MMIOVirtualAddr + 0x12094) = ulData;
3511 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1202c);
3513 *(ULONG *) (pAST->MMIOVirtualAddr + 0x1202c) = ulData;
3523 ASTRecPtr pAST = ASTPTR(pScrn);
3528 if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400) || (pAST->jChipType == AST2500))
3542 if (pAST->jTxChipType == Tx_Sil164)
3546 *(ULONG *)(pAST->MMIOVirtualAddr + 0x12000) = 0x1688A8A8;
3547 ulData = *(ULONG *) (pAST->MMIOVirtualAddr + 0x1202c);
3549 *(ULONG *)(pAST->MMIOVirtualAddr) = ulData;
3562 ASTRecPtr pAST;
3565 pAST = ASTPTR(pScrn);
3569 PCI_READ_LONG(pAST->PciInfo, &ulData, 0x04);
3571 PCI_WRITE_LONG(pAST->PciInfo, ulData, 0x04);
3583 if (pAST->jChipType == AST2500)
3585 else if ((pAST->jChipType == AST2300) || (pAST->jChipType == AST2400))
3598 I2CWriteClock(ASTRecPtr pAST, UCHAR data)
3614 I2CWriteData(ASTRecPtr pAST, UCHAR data)
3630 I2CReadClock(ASTRecPtr pAST)
3641 I2CReadData(ASTRecPtr pAST)
3654 I2CDelay(ASTRecPtr pAST)
3665 I2CStart(ASTRecPtr pAST)
3667 I2CWriteClock(pAST, 0x00); /* Set Clk Low */
3668 I2CDelay(pAST);
3669 I2CWriteData(pAST, 0x01); /* Set Data High */
3670 I2CDelay(pAST);
3671 I2CWriteClock(pAST, 0x01); /* Set Clk High */
3672 I2CDelay(pAST);
3673 I2CWriteData(pAST, 0x00); /* Set Data Low */
3674 I2CDelay(pAST);
3675 I2CWriteClock(pAST, 0x01); /* Set Clk High */
3676 I2CDelay(pAST);
3680 I2CStop(ASTRecPtr pAST)
3682 I2CWriteClock(pAST, 0x00); /* Set Clk Low */
3683 I2CDelay(pAST);
3684 I2CWriteData(pAST, 0x00); /* Set Data Low */
3685 I2CDelay(pAST);
3686 I2CWriteClock(pAST, 0x01); /* Set Clk High */
3687 I2CDelay(pAST);
3688 I2CWriteData(pAST, 0x01); /* Set Data High */
3689 I2CDelay(pAST);
3690 I2CWriteClock(pAST, 0x01); /* Set Clk High */
3691 I2CDelay(pAST);
3696 CheckACK(ASTRecPtr pAST)
3700 I2CWriteClock(pAST, 0x00); /* Set Clk Low */
3701 I2CDelay(pAST);
3702 I2CWriteData(pAST, 0x01); /* Set Data High */
3703 I2CDelay(pAST);
3704 I2CWriteClock(pAST, 0x01); /* Set Clk High */
3705 I2CDelay(pAST);
3706 Data = (UCHAR) I2CReadData(pAST); /* Set Data High */
3714 SendACK(ASTRecPtr pAST)
3717 I2CWriteClock(pAST, 0x00); /* Set Clk Low */
3718 I2CDelay(pAST);
3719 I2CWriteData(pAST, 0x00); /* Set Data low */
3720 I2CDelay(pAST);
3721 I2CWriteClock(pAST, 0x01); /* Set Clk High */
3722 I2CDelay(pAST);
3727 SendNACK(ASTRecPtr pAST)
3730 I2CWriteClock(pAST, 0x00); /* Set Clk Low */
3731 I2CDelay(pAST);
3732 I2CWriteData(pAST, 0x01); /* Set Data high */
3733 I2CDelay(pAST);
3734 I2CWriteClock(pAST, 0x01); /* Set Clk High */
3735 I2CDelay(pAST);
3740 SendI2CDataByte(ASTRecPtr pAST, UCHAR data)
3747 I2CWriteClock(pAST, 0x00); /* Set Clk Low */
3748 I2CDelay(pAST);
3751 I2CWriteData(pAST, jData); /* Set Data Low */
3752 I2CDelay(pAST);
3754 I2CWriteClock(pAST, 0x01); /* Set Clk High */
3755 I2CDelay(pAST);
3760 ReceiveI2CDataByte(ASTRecPtr pAST)
3767 I2CWriteClock(pAST, 0x00); /* Set Clk Low */
3768 I2CDelay(pAST);
3770 I2CWriteData(pAST, 0x01); /* Set Data High */
3771 I2CDelay(pAST);
3773 I2CWriteClock(pAST, 0x01); /* Set Clk High */
3774 I2CDelay(pAST);
3778 if (I2CReadClock(pAST)) break;
3781 jTempData = I2CReadData(pAST);
3784 I2CWriteClock(pAST, 0x0); /* Set Clk Low */
3785 I2CDelay(pAST);
3794 ASTRecPtr pAST;
3799 pAST = ASTPTR(pScrn);
3803 I2CWriteClock(pAST, 0x01); /* Set Clk High */
3804 I2CDelay(pAST);
3805 I2CWriteClock(pAST, 0x00); /* Set Clk Low */
3806 I2CDelay(pAST);
3807 I2CWriteClock(pAST, 0x01); /* Set Clk High */
3808 I2CDelay(pAST);
3811 if (I2CReadClock(pAST) == 0) /* chk SCL failed */
3817 I2CStart(pAST);
3819 SendI2CDataByte(pAST, 0xA0);
3820 if (!CheckACK(pAST))
3826 SendI2CDataByte(pAST, 0x00);
3827 if (!CheckACK(pAST))
3833 I2CStart(pAST);
3835 SendI2CDataByte(pAST, 0xA1);
3836 if (!CheckACK(pAST))
3844 jData = ReceiveI2CDataByte(pAST);
3845 SendACK(pAST);
3850 jData = ReceiveI2CDataByte(pAST);
3851 SendNACK(pAST);
3854 I2CStop(pAST);
3862 ASTRecPtr pAST;
3865 pAST = ASTPTR(pScrn);
3868 PCI_READ_LONG(pAST->PciInfo, &ulData, 0x04);
3870 PCI_WRITE_LONG(pAST->PciInfo, ulData, 0x04);
3899 ASTRecPtr pAST = ASTPTR(pScrn);
3904 pAST->ulDRAMBusWidth = 32;
3906 pAST->ulDRAMBusWidth = 16;
3912 pAST->ulDRAMSize = DRAM_SIZE_032M;
3915 pAST->ulDRAMSize = DRAM_SIZE_064M;
3918 pAST->ulDRAMSize = DRAM_SIZE_128M;
3921 pAST->ulDRAMSize = DRAM_SIZE_256M;
3929 pAST->ulVRAMSize = DRAM_SIZE_016M;
3932 pAST->ulVRAMSize = DRAM_SIZE_032M;
3935 pAST->ulVRAMSize = DRAM_SIZE_064M;
3938 pAST->ulVRAMSize = DRAM_SIZE_128M;
3943 if (pAST->ulVRAMSize >= pAST->ulDRAMSize)
3944 pAST->ulVRAMSize = pAST->ulDRAMSize;
3945 pAST->ulVRAMBase = pAST->ulDRAMSize - pAST->ulVRAMSize;
3948 pAST->ulMCLK = 200;
3954 ASTRecPtr pAST = ASTPTR(pScrn);
3958 jReg = inb(pAST->RelocateIO + 0x43);
3962 PCI_READ_LONG(pAST->PciInfo, &ulData, 0x04);
3964 PCI_WRITE_LONG(pAST->PciInfo, ulData, 0x04);
3966 outb(pAST->RelocateIO + 0x43, 0x01);
3967 outb(pAST->RelocateIO + 0x42, 0x01);
3973 outw(pAST->RelocateIO + 0x54, 0xa880);
3974 outw(pAST->RelocateIO + 0x54, 0x04a1);