Changeset 2256
- Timestamp:
- Jun 8, 2011 2:56:48 AM (2 years ago)
- Location:
- cpu/x86/pc/olpc/via
- Files:
-
- 2 edited
-
dsdt-c2only.dsl (modified) (5 diffs)
-
dsdt.dsl (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
cpu/x86/pc/olpc/via/dsdt-c2only.dsl
r2255 r2256 332 332 IF (LEqual(Arg0, 0x03)) //S3 333 333 { 334 // Store(0x2,\_SB.PCI0.MEMC.FSEG) //Set F Segment to Read only335 334 // Notify(\_SB.PCI0, 0x00) 336 335 } … … 374 373 375 374 IF (LEqual(Arg0, 0x03)) { // S3 376 // Store(0x0,\_SB.PCI0.MEMC.FSEG) // Disable F Segment Read/Write377 375 } 378 376 … … 387 385 Return (0x00) 388 386 } 389 390 // Method(STRC, 2) { // Compare two String391 // If(LNotEqual(Sizeof(Arg0), Sizeof(Arg1))) {392 // Return(1)393 // }394 //395 // Add(Sizeof(Arg0), 1, Local0)396 //397 // Name(BUF0, Buffer(Local0) {})398 // Name(BUF1, Buffer(Local0) {})399 //400 // Store(Arg0, BUF0)401 // Store(Arg1, BUF1)402 //403 // While(Local0) {404 // Decrement(Local0)405 // If(LNotEqual(Derefof(Index(BUF0, Local0)), Derefof(Index(BUF1, Local0)))) {406 // Return(1)407 // }408 // }409 // Return(0) // Str1 & Str2 are match410 // }411 387 412 388 // … … 576 552 Field(MCPS,ByteAcc,NoLock,Preserve) 577 553 { 578 Offset(0x83),579 , 4,580 FSEG, 2, //Rx83[4:5]581 , 2,582 583 554 Offset(0x84), 584 555 LTMA, 16, //Rx84 and Rx85. Low Top Address of Memory … … 623 594 } 624 595 }//Device(USBD) 625 626 // // SDIO Controller627 // Device (SDIO)628 // {629 // Name(_ADR, 0x000C0000)630 //631 // OperationRegion(RSDC,PCI_Config,0x00,0x100)632 // Field(RSDC,ByteAcc,NoLock,Preserve){633 // Offset(0x00),634 // VID, 16,635 // Offset(0x04),636 // CMDR, 3,637 // }638 //639 // Method(_STA, 0)640 // {641 // If(LNotEqual(\_SB.PCI0.SDIO.VID, 0x1106)) {642 // Return(0x00)643 // } Else {644 // If(LEqual(\_SB.PCI0.SDIO.CMDR, 0x00)) {645 // Return(0x0D)646 // } Else {647 // Return(0x0F) // present, enabled, functioning648 // }649 // }650 // }651 // }//Device(SDIO)652 653 // // SD $ MS Controller654 // Device (SDMS)655 // {656 // Name(_ADR, 0x000D0000)657 //658 // OperationRegion(RSDM,PCI_Config,0x00,0x100)659 // Field(RSDM,ByteAcc,NoLock,Preserve){660 // Offset(0x00),661 // VID, 16,662 // Offset(0x04),663 // CMDR, 3,664 // }665 //666 // Method(_STA, 0)667 // {668 // If(LNotEqual(\_SB.PCI0.SDMS.VID, 0x1106)) {669 // Return(0x00)670 // } Else {671 // If(LEqual(\_SB.PCI0.SDMS.CMDR, 0x00)) {672 // Return(0x0D)673 // } Else {674 // Return(0x0F) // present, enabled, functioning675 // }676 // }677 // }678 // }//Device(SDMS)679 //680 // // CE-ATA $ NF Controller(Card Boot)681 // Device(CENF)682 // {683 // Name(_ADR, 0x000E0000)684 //685 // OperationRegion(RENF,PCI_Config,0x00,0x100)686 // Field(RENF,ByteAcc,NoLock,Preserve){687 // Offset(0x00),688 // VID, 16,689 // Offset(0x04),690 // CMDR, 3,691 // }692 //693 // Method(_STA, 0)694 // {695 // If(LNotEqual(\_SB.PCI0.CENF.VID, 0x1106)) {696 // Return(0x00)697 // } Else {698 // If(LEqual(\_SB.PCI0.CENF.CMDR, 0x00)) {699 // Return(0x0D)700 // } Else {701 // Return(0x0F) // present, enabled, functioning702 // }703 // }704 // }705 // }706 //707 // Device(IDEC)708 // {709 //710 // Name(_ADR, 0x000F0000) //D15F0: a Pata device711 //712 // Method(_STA,0,NotSerialized) //Status of the Pata Device713 // {714 // If(LNot(LEqual(\_SB.PCI0.IDEC.VID,0x1106)))715 // {716 // Return(0x00) //device not exists717 // }718 // Else719 // {720 // If(LEqual(\_SB.PCI0.IDEC.CMDR,0x00))721 // {722 // Return(0x0D) //device exists & disable723 // }724 // Else725 // {726 // Return(0x0F) //device exists & enable727 // }728 // }729 // }730 // OperationRegion(SAPR,PCI_Config,0x00,0xC2)731 // Field(SAPR,ByteAcc,NoLock,Preserve)732 // {733 // VID,16,734 // Offset(0x04),735 // CMDR,3,736 // Offset(0x40),737 // , 1,738 // EPCH, 1, // Enable Primary channel.739 // Offset(0x4A),740 // PSPT, 8, // IDE Timings, Primary Slave741 // PMPT, 8, // IDE Timings, Primary Master742 // Offset(0x52),743 // PSUT, 4, // Primary Slave UDMA Timing744 // PSCT, 1, // Primary Drive Slave Cabal Type745 // PSUE, 3, // Primary Slave UDMA Enable746 // PMUT, 4, // Primary Master UDMA Timing747 // PMCT, 1, // Primary Drive Master Cabal Type748 // PMUE, 3, // Primary Master UDMA Enable749 // }750 //751 // Name(REGF,0x01) //accessible OpRegion default752 // Method(_REG,2,NotSerialized) // is PCI Config space accessible as OpRegion?753 // {754 // If(LEqual(Arg0,0x02))755 // {756 // Store(Arg1,REGF)757 // }758 // }759 // /*760 // Name(TIM0,Package(0x04){761 // Package(){0x78,0xB4,0xF0,0x017F,0x0258},762 // Package(){0x20,0x22,0x33,0x47,0x5D},763 // Package(){0x78,0x50,0x3C,0x2D,0x1E,0x14,0x0F},764 // Package(){0x06,0x05,0x04,0x04,0x03,0x03,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x00}765 // })766 // */767 // Name(TIM0, Package()768 // { // Primary / Secondary channels timings769 // Package(){120, 180, 240, 383, 600}, // Timings in ns - Mode 4,3,2,1,0 defined from ATA spec.770 // Package(){0x20, 0x22, 0x33, 0x47, 0x5D }, // PIO Timing - Mode 4,3,2,1,0771 // Package(){4, 3, 2, 1, 0}, // PIO mode (TIM0,0)772 // Package(){2, 1, 0, 0}, // Multi-word DMA mode773 // Package(){120, 80, 60, 45, 30, 20, 15}, // Min UDMA Timings in ns774 // Package(){6,5,4,4,3,3,2,2,1,1,1,1,1,1,0}, // UDMA mode775 // Package(){0x0E, 8, 6, 4, 2, 1, 0}, // UDMA timing776 // })777 //778 // Name(TMD0,Buffer(0x14){})779 // CreateDwordField(TMD0,0x00,PIO0)780 // CreateDwordField(TMD0,0x04,DMA0)781 // CreateDwordField(TMD0,0x08,PIO1)782 // CreateDwordField(TMD0,0x0C,DMA1)783 // CreateDwordField(TMD0,0x10,CHNF)784 //785 // Name(GMPT, 0) // Master PIO Timings786 // Name(GMUE, 0) // Master UDMA enable787 // Name(GMUT, 0) // Master UDMA Timings788 // Name(GSPT, 0) // Slave PIO Timings789 // Name(GSUE, 0) // Slave UDMA enable790 // Name(GSUT, 0) // Slave UDMA Timings791 //792 // Device(CHN0) //Primary Channel: Pata device793 // {794 // Name(_ADR,0x00)795 //796 // Method(_STA,0,NotSerialized)797 // {798 // If(LNotEqual(\_SB.PCI0.IDEC.EPCH, 0x1))799 // {800 // Return(0x00) //channel disable801 // }802 // Else803 // {804 // Return(0x0F) //channel enable805 // }806 // }807 // Method(_GTM,0,NotSerialized) //Get Timing Mode808 // {809 // Return(GTM(PMPT,PMUE,PMUT,PSPT,PSUE,PSUT))810 // }811 // Method(_STM, 3) // Set Timing PIO/DMA Mode812 // {813 // Store(Arg0, TMD0) // Copy Arg0 into TMD0 buffer814 // Store(PMPT, GMPT) // Master PIO Timings815 // Store(PMUE, GMUE) // Master UDMA enable816 // Store(PMUT, GMUT) // Master UDMA Timings817 // Store(PSPT, GSPT) // Slave PIO Timings818 // Store(PSUE, GSUE) // Slave UDMA enable819 // Store(PSUT, GSUT) // Slave UDMA Timings820 // STM()821 // Store(GMPT, PMPT) // Master PIO Timings822 // Store(GMUE, PMUE) // Master UDMA enable823 // Store(GMUT, PMUT) // Master UDMA Timings824 // Store(GSPT, PSPT) // Slave PIO Timings825 // Store(GSUE, PSUE) // Slave UDMA enable826 // Store(GSUT, PSUT) // Slave UDMA Timings827 // } // end Method _STM828 //829 // Device(DRV0) //Master Device830 // {831 // Name(_ADR,0x00) //0 indicates master drive832 // Method(_GTF,0,NotSerialized) //Get Task File: return a buffer of ATA command used to re-initialize //////the device833 // {834 // Return(GTF(0,PMUE,PMUT,PMPT))835 // }836 // }837 // Device(DRV1) //Slave Device838 // {839 // Name(_ADR,0x01) //1 indicates slave drive840 // Method(_GTF,0,NotSerialized) //Get Task File: return a buffer of ATA command used to re-initialize //the device841 // {842 // Return(GTF(0,PSUE,PSUT,PSPT))843 // }844 // }845 // }846 //847 // Method(GTM,6,Serialized)848 // {849 // Store(Ones,PIO0) //default value: all bits set to 1850 // Store(Ones,PIO1) //default value: all bits set to 1851 // Store(Ones,DMA0) //default value: all bits set to 1852 // Store(Ones,DMA1) //default value: all bits set to 1853 // Store(0x10,CHNF) //default value: 0x10854 // If(REGF)855 // {856 // }857 // Else858 // {859 // Return(TMD0) //unable to setup PCI config space as opRegion;return default value860 // }861 // Store(Match(DeRefOf(Index(TIM0,0x01)),MEQ,Arg0,MTR,0x00,0x00),Local6)862 // If(LLess(Local6,Ones))863 // {864 // Store(DeRefOf(Index(DeRefOf(Index(TIM0,0x00)),Local6)),Local7)865 // Store(Local7,DMA0)866 // Store(Local7,PIO0)867 // }868 // Store(Match(DeRefOf(Index(TIM0,0x01)),MEQ,Arg3,MTR,0x00,0x00),Local6)869 // If(LLess(Local6,Ones))870 // {871 // Store(DeRefOf(Index(DeRefOf(Index(TIM0,0x00)),Local6)),Local7)872 // Store(Local7,DMA1)873 // Store(Local7,PIO1)874 // }875 // If(Arg1)876 // {877 // Store(DeRefOf(Index(DeRefOf(Index(TIM0,0x05)),Arg2)),Local5)878 // Store(DeRefOf(Index(DeRefOf(Index(TIM0,0x04)),Local5)),DMA0)879 // Or(CHNF,0x01,CHNF)880 // }881 // If(Arg4)882 // {883 // Store(DeRefOf(Index(DeRefOf(Index(TIM0,0x05)),Arg5)),Local5)884 // Store(DeRefOf(Index(DeRefOf(Index(TIM0,0x04)),Local5)),DMA1)885 // Or(CHNF,0x04,CHNF)886 // }887 // Return(TMD0) //return timing mode888 // }889 //890 // Method(STM, 0, Serialized)891 // {892 //893 // If(REGF){} // PCI space not accessible894 // Else { Return(TMD0) }895 //896 // Store(0x00, GMUE) // Master UDMA Disable897 // Store(0x00, GSUE) // Slave UDMA Disable898 // Store(0x07, GMUT) // Master UDMA Mode 0899 // Store(0x07, GSUT) // Slave UDMA Mode 0900 //901 // If(And(CHNF, 0x1))902 // {903 // Store(Match(DeRefOf(Index(TIM0, 4)), MLE, DMA0, MTR,0,0), Local0) // Get DMA mode904 // Store(DeRefOf(Index(DeReFof(Index(TIM0, 6)), Local0)), GMUT) // Timing bit mask 66Mhz905 // Or(GMUE, 0x07, GMUE) // Enable UltraDMA for Device 0906 // }907 // Else // non - UDMA mode. Possible Multi word DMA908 // {909 // If(Or(LEqual(PIO0,Ones), LEqual(PIO0,0)))910 // {911 // If(And(LLess(DMA0,Ones), LGreater(DMA0,0)))912 // {913 // Store(DMA0, PIO0) // Make PIO0=DMA0914 // }915 // }916 // }917 //918 // If(And(CHNF, 0x4))919 // {920 // Store(Match(DeRefOf(Index(TIM0, 4)), MLE, DMA1, MTR,0,0), Local0)921 // Store(DeRefOf(Index(DeReFof(Index(TIM0, 6)), Local0)), GSUT) // Timing bit mask 66Mhz922 // Or(GSUE, 0x07, GSUE) // Enable UltraDMA for Device 0923 // }924 // Else // non - UDMA mode. Possible Multi word DMA925 // {926 // If(Or(LEqual(PIO1, Ones), LEqual(PIO1,0)))927 // {928 // If(And(LLess(DMA1, Ones), LGreater(DMA1,0)))929 // {930 // Store(DMA1, PIO1) // Make PIO1 = DMA1931 // }932 // }933 // }934 //935 // And(Match(DeRefOf(Index(TIM0, 0)), MGE, PIO0, MTR,0,0), 0x3, Local0)936 // Store(DeRefOf(Index(DeReFof(Index(TIM0, 1)), Local0)), Local1)937 // Store(Local1, GMPT)938 //939 // And(Match(DeRefOf(Index(TIM0, 0)), MGE, PIO1, MTR,0,0), 0x3, Local0)940 // Store(DeRefOf(Index(DeReFof(Index(TIM0, 1)), Local0)), Local1)941 // Store(Local1, GSPT)942 // Return(TMD0)943 // } // end Method STM944 //945 // Method(GTF , 4 , Serialized)946 // {947 // Store(Buffer(7){0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF}, Local1)948 // Store(Buffer(7){0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF}, Local2)949 // CreateByteField(Local1, 1, Mode) // PIO mode950 // CreateByteField(Local2, 1, UMOD) // Ultra mode951 // CreateByteField(Local1, 5, PCHA) // master or slave952 // CreateByteField(Local2, 5, UCHA) // master or slave953 // And(Arg0,0x03,Local3)954 //955 // If(Lequal(And(Local3,0x01),0x01))956 // {957 // Store(0xB0,PCHA) // drive 1958 // Store(0xB0,UCHA) // drive 1959 // }960 //961 // If(Arg1)962 // {963 // Store(DeRefOf(Index(DeReFof(Index(TIM0, 5)), Arg2)), UMOD) //Programming DMA Mode964 // Or( UMOD, 0x40, UMOD)965 // }966 // Else967 // { // non-UltraDMA968 // Store(Match(DeRefOf(Index(TIM0, 1)), MEQ, Arg3, MTR,0,0), Local0)969 // Or(0x20, DeRefOf(Index(DeReFof(Index(TIM0, 3)), Local0)), UMOD)970 // }971 //972 // Store(Match(DeRefOf(Index(TIM0, 1)), MEQ, Arg3, MTR,0,0), Local0)973 // Or(0x08, DeRefOf(Index(DeReFof(Index(TIM0, 2)), Local0)), Mode)974 // Concatenate(Local1, Local2, Local6)975 // Return(Local6)976 //977 // } // end of GTF978 // }979 596 980 597 Device(USB1) { -
cpu/x86/pc/olpc/via/dsdt.dsl
r2255 r2256 334 334 IF (LEqual(Arg0, 0x03)) //S3 335 335 { 336 // Store(0x2,\_SB.PCI0.MEMC.FSEG) //Set F Segment to Read only337 336 // Notify(\_SB.PCI0, 0x00) 338 337 } … … 376 375 377 376 IF (LEqual(Arg0, 0x03)) { // S3 378 // Store(0x0,\_SB.PCI0.MEMC.FSEG) // Disable F Segment Read/Write379 377 } 380 378 … … 389 387 Return (0x00) 390 388 } 391 392 // Method(STRC, 2) { // Compare two String393 // If(LNotEqual(Sizeof(Arg0), Sizeof(Arg1))) {394 // Return(1)395 // }396 //397 // Add(Sizeof(Arg0), 1, Local0)398 //399 // Name(BUF0, Buffer(Local0) {})400 // Name(BUF1, Buffer(Local0) {})401 //402 // Store(Arg0, BUF0)403 // Store(Arg1, BUF1)404 //405 // While(Local0) {406 // Decrement(Local0)407 // If(LNotEqual(Derefof(Index(BUF0, Local0)), Derefof(Index(BUF1, Local0)))) {408 // Return(1)409 // }410 // }411 // Return(0) // Str1 & Str2 are match412 // }413 389 414 390 // … … 578 554 Field(MCPS,ByteAcc,NoLock,Preserve) 579 555 { 580 Offset(0x83),581 , 4,582 FSEG, 2, //Rx83[4:5]583 , 2,584 585 556 Offset(0x84), 586 557 LTMA, 16, //Rx84 and Rx85. Low Top Address of Memory … … 625 596 } 626 597 }//Device(USBD) 627 628 // // SDIO Controller629 // Device (SDIO)630 // {631 // Name(_ADR, 0x000C0000)632 //633 // OperationRegion(RSDC,PCI_Config,0x00,0x100)634 // Field(RSDC,ByteAcc,NoLock,Preserve){635 // Offset(0x00),636 // VID, 16,637 // Offset(0x04),638 // CMDR, 3,639 // }640 //641 // Method(_STA, 0)642 // {643 // If(LNotEqual(\_SB.PCI0.SDIO.VID, 0x1106)) {644 // Return(0x00)645 // } Else {646 // If(LEqual(\_SB.PCI0.SDIO.CMDR, 0x00)) {647 // Return(0x0D)648 // } Else {649 // Return(0x0F) // present, enabled, functioning650 // }651 // }652 // }653 // }//Device(SDIO)654 655 // // SD $ MS Controller656 // Device (SDMS)657 // {658 // Name(_ADR, 0x000D0000)659 //660 // OperationRegion(RSDM,PCI_Config,0x00,0x100)661 // Field(RSDM,ByteAcc,NoLock,Preserve){662 // Offset(0x00),663 // VID, 16,664 // Offset(0x04),665 // CMDR, 3,666 // }667 //668 // Method(_STA, 0)669 // {670 // If(LNotEqual(\_SB.PCI0.SDMS.VID, 0x1106)) {671 // Return(0x00)672 // } Else {673 // If(LEqual(\_SB.PCI0.SDMS.CMDR, 0x00)) {674 // Return(0x0D)675 // } Else {676 // Return(0x0F) // present, enabled, functioning677 // }678 // }679 // }680 // }//Device(SDMS)681 //682 // // CE-ATA $ NF Controller(Card Boot)683 // Device(CENF)684 // {685 // Name(_ADR, 0x000E0000)686 //687 // OperationRegion(RENF,PCI_Config,0x00,0x100)688 // Field(RENF,ByteAcc,NoLock,Preserve){689 // Offset(0x00),690 // VID, 16,691 // Offset(0x04),692 // CMDR, 3,693 // }694 //695 // Method(_STA, 0)696 // {697 // If(LNotEqual(\_SB.PCI0.CENF.VID, 0x1106)) {698 // Return(0x00)699 // } Else {700 // If(LEqual(\_SB.PCI0.CENF.CMDR, 0x00)) {701 // Return(0x0D)702 // } Else {703 // Return(0x0F) // present, enabled, functioning704 // }705 // }706 // }707 // }708 //709 // Device(IDEC)710 // {711 //712 // Name(_ADR, 0x000F0000) //D15F0: a Pata device713 //714 // Method(_STA,0,NotSerialized) //Status of the Pata Device715 // {716 // If(LNot(LEqual(\_SB.PCI0.IDEC.VID,0x1106)))717 // {718 // Return(0x00) //device not exists719 // }720 // Else721 // {722 // If(LEqual(\_SB.PCI0.IDEC.CMDR,0x00))723 // {724 // Return(0x0D) //device exists & disable725 // }726 // Else727 // {728 // Return(0x0F) //device exists & enable729 // }730 // }731 // }732 // OperationRegion(SAPR,PCI_Config,0x00,0xC2)733 // Field(SAPR,ByteAcc,NoLock,Preserve)734 // {735 // VID,16,736 // Offset(0x04),737 // CMDR,3,738 // Offset(0x40),739 // , 1,740 // EPCH, 1, // Enable Primary channel.741 // Offset(0x4A),742 // PSPT, 8, // IDE Timings, Primary Slave743 // PMPT, 8, // IDE Timings, Primary Master744 // Offset(0x52),745 // PSUT, 4, // Primary Slave UDMA Timing746 // PSCT, 1, // Primary Drive Slave Cabal Type747 // PSUE, 3, // Primary Slave UDMA Enable748 // PMUT, 4, // Primary Master UDMA Timing749 // PMCT, 1, // Primary Drive Master Cabal Type750 // PMUE, 3, // Primary Master UDMA Enable751 // }752 //753 // Name(REGF,0x01) //accessible OpRegion default754 // Method(_REG,2,NotSerialized) // is PCI Config space accessible as OpRegion?755 // {756 // If(LEqual(Arg0,0x02))757 // {758 // Store(Arg1,REGF)759 // }760 // }761 // /*762 // Name(TIM0,Package(0x04){763 // Package(){0x78,0xB4,0xF0,0x017F,0x0258},764 // Package(){0x20,0x22,0x33,0x47,0x5D},765 // Package(){0x78,0x50,0x3C,0x2D,0x1E,0x14,0x0F},766 // Package(){0x06,0x05,0x04,0x04,0x03,0x03,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x00}767 // })768 // */769 // Name(TIM0, Package()770 // { // Primary / Secondary channels timings771 // Package(){120, 180, 240, 383, 600}, // Timings in ns - Mode 4,3,2,1,0 defined from ATA spec.772 // Package(){0x20, 0x22, 0x33, 0x47, 0x5D }, // PIO Timing - Mode 4,3,2,1,0773 // Package(){4, 3, 2, 1, 0}, // PIO mode (TIM0,0)774 // Package(){2, 1, 0, 0}, // Multi-word DMA mode775 // Package(){120, 80, 60, 45, 30, 20, 15}, // Min UDMA Timings in ns776 // Package(){6,5,4,4,3,3,2,2,1,1,1,1,1,1,0}, // UDMA mode777 // Package(){0x0E, 8, 6, 4, 2, 1, 0}, // UDMA timing778 // })779 //780 // Name(TMD0,Buffer(0x14){})781 // CreateDwordField(TMD0,0x00,PIO0)782 // CreateDwordField(TMD0,0x04,DMA0)783 // CreateDwordField(TMD0,0x08,PIO1)784 // CreateDwordField(TMD0,0x0C,DMA1)785 // CreateDwordField(TMD0,0x10,CHNF)786 //787 // Name(GMPT, 0) // Master PIO Timings788 // Name(GMUE, 0) // Master UDMA enable789 // Name(GMUT, 0) // Master UDMA Timings790 // Name(GSPT, 0) // Slave PIO Timings791 // Name(GSUE, 0) // Slave UDMA enable792 // Name(GSUT, 0) // Slave UDMA Timings793 //794 // Device(CHN0) //Primary Channel: Pata device795 // {796 // Name(_ADR,0x00)797 //798 // Method(_STA,0,NotSerialized)799 // {800 // If(LNotEqual(\_SB.PCI0.IDEC.EPCH, 0x1))801 // {802 // Return(0x00) //channel disable803 // }804 // Else805 // {806 // Return(0x0F) //channel enable807 // }808 // }809 // Method(_GTM,0,NotSerialized) //Get Timing Mode810 // {811 // Return(GTM(PMPT,PMUE,PMUT,PSPT,PSUE,PSUT))812 // }813 // Method(_STM, 3) // Set Timing PIO/DMA Mode814 // {815 // Store(Arg0, TMD0) // Copy Arg0 into TMD0 buffer816 // Store(PMPT, GMPT) // Master PIO Timings817 // Store(PMUE, GMUE) // Master UDMA enable818 // Store(PMUT, GMUT) // Master UDMA Timings819 // Store(PSPT, GSPT) // Slave PIO Timings820 // Store(PSUE, GSUE) // Slave UDMA enable821 // Store(PSUT, GSUT) // Slave UDMA Timings822 // STM()823 // Store(GMPT, PMPT) // Master PIO Timings824 // Store(GMUE, PMUE) // Master UDMA enable825 // Store(GMUT, PMUT) // Master UDMA Timings826 // Store(GSPT, PSPT) // Slave PIO Timings827 // Store(GSUE, PSUE) // Slave UDMA enable828 // Store(GSUT, PSUT) // Slave UDMA Timings829 // } // end Method _STM830 //831 // Device(DRV0) //Master Device832 // {833 // Name(_ADR,0x00) //0 indicates master drive834 // Method(_GTF,0,NotSerialized) //Get Task File: return a buffer of ATA command used to re-initialize //////the device835 // {836 // Return(GTF(0,PMUE,PMUT,PMPT))837 // }838 // }839 // Device(DRV1) //Slave Device840 // {841 // Name(_ADR,0x01) //1 indicates slave drive842 // Method(_GTF,0,NotSerialized) //Get Task File: return a buffer of ATA command used to re-initialize //the device843 // {844 // Return(GTF(0,PSUE,PSUT,PSPT))845 // }846 // }847 // }848 //849 // Method(GTM,6,Serialized)850 // {851 // Store(Ones,PIO0) //default value: all bits set to 1852 // Store(Ones,PIO1) //default value: all bits set to 1853 // Store(Ones,DMA0) //default value: all bits set to 1854 // Store(Ones,DMA1) //default value: all bits set to 1855 // Store(0x10,CHNF) //default value: 0x10856 // If(REGF)857 // {858 // }859 // Else860 // {861 // Return(TMD0) //unable to setup PCI config space as opRegion;return default value862 // }863 // Store(Match(DeRefOf(Index(TIM0,0x01)),MEQ,Arg0,MTR,0x00,0x00),Local6)864 // If(LLess(Local6,Ones))865 // {866 // Store(DeRefOf(Index(DeRefOf(Index(TIM0,0x00)),Local6)),Local7)867 // Store(Local7,DMA0)868 // Store(Local7,PIO0)869 // }870 // Store(Match(DeRefOf(Index(TIM0,0x01)),MEQ,Arg3,MTR,0x00,0x00),Local6)871 // If(LLess(Local6,Ones))872 // {873 // Store(DeRefOf(Index(DeRefOf(Index(TIM0,0x00)),Local6)),Local7)874 // Store(Local7,DMA1)875 // Store(Local7,PIO1)876 // }877 // If(Arg1)878 // {879 // Store(DeRefOf(Index(DeRefOf(Index(TIM0,0x05)),Arg2)),Local5)880 // Store(DeRefOf(Index(DeRefOf(Index(TIM0,0x04)),Local5)),DMA0)881 // Or(CHNF,0x01,CHNF)882 // }883 // If(Arg4)884 // {885 // Store(DeRefOf(Index(DeRefOf(Index(TIM0,0x05)),Arg5)),Local5)886 // Store(DeRefOf(Index(DeRefOf(Index(TIM0,0x04)),Local5)),DMA1)887 // Or(CHNF,0x04,CHNF)888 // }889 // Return(TMD0) //return timing mode890 // }891 //892 // Method(STM, 0, Serialized)893 // {894 //895 // If(REGF){} // PCI space not accessible896 // Else { Return(TMD0) }897 //898 // Store(0x00, GMUE) // Master UDMA Disable899 // Store(0x00, GSUE) // Slave UDMA Disable900 // Store(0x07, GMUT) // Master UDMA Mode 0901 // Store(0x07, GSUT) // Slave UDMA Mode 0902 //903 // If(And(CHNF, 0x1))904 // {905 // Store(Match(DeRefOf(Index(TIM0, 4)), MLE, DMA0, MTR,0,0), Local0) // Get DMA mode906 // Store(DeRefOf(Index(DeReFof(Index(TIM0, 6)), Local0)), GMUT) // Timing bit mask 66Mhz907 // Or(GMUE, 0x07, GMUE) // Enable UltraDMA for Device 0908 // }909 // Else // non - UDMA mode. Possible Multi word DMA910 // {911 // If(Or(LEqual(PIO0,Ones), LEqual(PIO0,0)))912 // {913 // If(And(LLess(DMA0,Ones), LGreater(DMA0,0)))914 // {915 // Store(DMA0, PIO0) // Make PIO0=DMA0916 // }917 // }918 // }919 //920 // If(And(CHNF, 0x4))921 // {922 // Store(Match(DeRefOf(Index(TIM0, 4)), MLE, DMA1, MTR,0,0), Local0)923 // Store(DeRefOf(Index(DeReFof(Index(TIM0, 6)), Local0)), GSUT) // Timing bit mask 66Mhz924 // Or(GSUE, 0x07, GSUE) // Enable UltraDMA for Device 0925 // }926 // Else // non - UDMA mode. Possible Multi word DMA927 // {928 // If(Or(LEqual(PIO1, Ones), LEqual(PIO1,0)))929 // {930 // If(And(LLess(DMA1, Ones), LGreater(DMA1,0)))931 // {932 // Store(DMA1, PIO1) // Make PIO1 = DMA1933 // }934 // }935 // }936 //937 // And(Match(DeRefOf(Index(TIM0, 0)), MGE, PIO0, MTR,0,0), 0x3, Local0)938 // Store(DeRefOf(Index(DeReFof(Index(TIM0, 1)), Local0)), Local1)939 // Store(Local1, GMPT)940 //941 // And(Match(DeRefOf(Index(TIM0, 0)), MGE, PIO1, MTR,0,0), 0x3, Local0)942 // Store(DeRefOf(Index(DeReFof(Index(TIM0, 1)), Local0)), Local1)943 // Store(Local1, GSPT)944 // Return(TMD0)945 // } // end Method STM946 //947 // Method(GTF , 4 , Serialized)948 // {949 // Store(Buffer(7){0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF}, Local1)950 // Store(Buffer(7){0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF}, Local2)951 // CreateByteField(Local1, 1, Mode) // PIO mode952 // CreateByteField(Local2, 1, UMOD) // Ultra mode953 // CreateByteField(Local1, 5, PCHA) // master or slave954 // CreateByteField(Local2, 5, UCHA) // master or slave955 // And(Arg0,0x03,Local3)956 //957 // If(Lequal(And(Local3,0x01),0x01))958 // {959 // Store(0xB0,PCHA) // drive 1960 // Store(0xB0,UCHA) // drive 1961 // }962 //963 // If(Arg1)964 // {965 // Store(DeRefOf(Index(DeReFof(Index(TIM0, 5)), Arg2)), UMOD) //Programming DMA Mode966 // Or( UMOD, 0x40, UMOD)967 // }968 // Else969 // { // non-UltraDMA970 // Store(Match(DeRefOf(Index(TIM0, 1)), MEQ, Arg3, MTR,0,0), Local0)971 // Or(0x20, DeRefOf(Index(DeReFof(Index(TIM0, 3)), Local0)), UMOD)972 // }973 //974 // Store(Match(DeRefOf(Index(TIM0, 1)), MEQ, Arg3, MTR,0,0), Local0)975 // Or(0x08, DeRefOf(Index(DeReFof(Index(TIM0, 2)), Local0)), Mode)976 // Concatenate(Local1, Local2, Local6)977 // Return(Local6)978 //979 // } // end of GTF980 // }981 598 982 599 Device(USB1) {
Note: See TracChangeset
for help on using the changeset viewer.
