Changeset 2256


Ignore:
Timestamp:
Jun 8, 2011, 2:56:48 AM (4 years ago)
Author:
quozl
Message:

OLPC XO-1.5 trac #10970 - code review comments merged and tested against 11.2.0 os22.

Location:
cpu/x86/pc/olpc/via
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpu/x86/pc/olpc/via/dsdt-c2only.dsl

    r2255 r2256  
    332332    IF (LEqual(Arg0, 0x03))     //S3 
    333333    { 
    334         // Store(0x2,\_SB.PCI0.MEMC.FSEG)  //Set F Segment to Read only 
    335334        // Notify(\_SB.PCI0, 0x00) 
    336335    } 
     
    374373 
    375374    IF (LEqual(Arg0, 0x03)) {       // S3 
    376         // Store(0x0,\_SB.PCI0.MEMC.FSEG)     // Disable F Segment Read/Write 
    377375    } 
    378376 
     
    387385    Return (0x00) 
    388386} 
    389  
    390 //  Method(STRC, 2) {   // Compare two String 
    391 //      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 match 
    410 //  } 
    411387 
    412388// 
     
    576552            Field(MCPS,ByteAcc,NoLock,Preserve) 
    577553            { 
    578                 Offset(0x83), 
    579                     , 4, 
    580                 FSEG, 2,            //Rx83[4:5] 
    581                     , 2, 
    582  
    583554                Offset(0x84), 
    584555                LTMA, 16,           //Rx84 and Rx85. Low Top Address of Memory 
     
    623594            } 
    624595        }//Device(USBD) 
    625  
    626 //        // SDIO Controller 
    627 //        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, functioning 
    648 //                    } 
    649 //                } 
    650 //            } 
    651 //        }//Device(SDIO) 
    652  
    653 //        // SD $ MS Controller 
    654 //        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, functioning 
    675 //                    } 
    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, functioning 
    702 //                    } 
    703 //                } 
    704 //            } 
    705 //        } 
    706 // 
    707 //        Device(IDEC) 
    708 //        { 
    709 // 
    710 //            Name(_ADR, 0x000F0000)  //D15F0: a Pata device 
    711 // 
    712 //            Method(_STA,0,NotSerialized)    //Status of the Pata Device 
    713 //            { 
    714 //                If(LNot(LEqual(\_SB.PCI0.IDEC.VID,0x1106))) 
    715 //                { 
    716 //                    Return(0x00)    //device not exists 
    717 //                } 
    718 //                Else 
    719 //                { 
    720 //                    If(LEqual(\_SB.PCI0.IDEC.CMDR,0x00)) 
    721 //                    { 
    722 //                        Return(0x0D)        //device exists & disable 
    723 //                    } 
    724 //                    Else 
    725 //                    { 
    726 //                        Return(0x0F)        //device exists & enable 
    727 //                    } 
    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 Slave 
    741 //                PMPT, 8,                    // IDE Timings, Primary Master 
    742 //                Offset(0x52), 
    743 //                PSUT, 4,                    // Primary Slave UDMA Timing 
    744 //                PSCT, 1,                    // Primary Drive Slave Cabal Type 
    745 //                PSUE, 3,                    // Primary Slave UDMA Enable 
    746 //                PMUT, 4,                    // Primary Master UDMA Timing 
    747 //                PMCT, 1,                    // Primary Drive Master Cabal Type 
    748 //                PMUE, 3,                    // Primary Master UDMA Enable 
    749 //            } 
    750 // 
    751 //            Name(REGF,0x01)         //accessible OpRegion default 
    752 //            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 timings 
    769 //                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,0 
    771 //                Package(){4, 3, 2, 1, 0},                           // PIO mode (TIM0,0) 
    772 //                Package(){2, 1, 0, 0},                              // Multi-word DMA mode 
    773 //                Package(){120, 80, 60, 45, 30, 20, 15},         // Min UDMA Timings in ns 
    774 //                Package(){6,5,4,4,3,3,2,2,1,1,1,1,1,1,0},   // UDMA mode 
    775 //                Package(){0x0E, 8, 6, 4, 2, 1, 0},          // UDMA timing 
    776 //            }) 
    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 Timings 
    786 //            Name(GMUE, 0)           // Master UDMA enable 
    787 //            Name(GMUT, 0)           // Master UDMA Timings 
    788 //            Name(GSPT, 0)           // Slave PIO Timings 
    789 //            Name(GSUE, 0)           // Slave UDMA enable 
    790 //            Name(GSUT, 0)           // Slave UDMA Timings 
    791 // 
    792 //            Device(CHN0)    //Primary Channel: Pata device 
    793 //            { 
    794 //                Name(_ADR,0x00) 
    795 // 
    796 //                Method(_STA,0,NotSerialized) 
    797 //                { 
    798 //                    If(LNotEqual(\_SB.PCI0.IDEC.EPCH, 0x1)) 
    799 //                    { 
    800 //                        Return(0x00)        //channel disable 
    801 //                    } 
    802 //                    Else 
    803 //                    { 
    804 //                        Return(0x0F)        //channel enable 
    805 //                    } 
    806 //               } 
    807 //                Method(_GTM,0,NotSerialized)        //Get Timing Mode 
    808 //                { 
    809 //                    Return(GTM(PMPT,PMUE,PMUT,PSPT,PSUE,PSUT)) 
    810 //                } 
    811 //                Method(_STM, 3)                     // Set Timing PIO/DMA Mode 
    812 //                { 
    813 //                   Store(Arg0, TMD0)        // Copy Arg0 into TMD0 buffer 
    814 //                   Store(PMPT, GMPT)        // Master PIO Timings 
    815 //                   Store(PMUE, GMUE)        // Master UDMA enable 
    816 //                   Store(PMUT, GMUT)        // Master UDMA Timings 
    817 //                   Store(PSPT, GSPT)        // Slave PIO Timings 
    818 //                   Store(PSUE, GSUE)        // Slave UDMA enable 
    819 //                   Store(PSUT, GSUT)        // Slave UDMA Timings 
    820 //                   STM() 
    821 //                   Store(GMPT, PMPT)        // Master PIO Timings 
    822 //                   Store(GMUE, PMUE)        // Master UDMA enable 
    823 //                   Store(GMUT, PMUT)        // Master UDMA Timings 
    824 //                   Store(GSPT, PSPT)        // Slave PIO Timings 
    825 //                   Store(GSUE, PSUE)        // Slave UDMA enable 
    826 //                   Store(GSUT, PSUT)        // Slave UDMA Timings 
    827 //                }                           // end Method _STM 
    828 // 
    829 //                Device(DRV0)        //Master Device 
    830 //                { 
    831 //                    Name(_ADR,0x00) //0 indicates master drive 
    832 //                    Method(_GTF,0,NotSerialized)    //Get Task File: return a buffer of ATA command used to re-initialize //////the device 
    833 //                    { 
    834 //                            Return(GTF(0,PMUE,PMUT,PMPT)) 
    835 //                    } 
    836 //                } 
    837 //                Device(DRV1)        //Slave Device 
    838 //                { 
    839 //                    Name(_ADR,0x01) //1 indicates slave drive 
    840 //                    Method(_GTF,0,NotSerialized)    //Get Task File: return a buffer of ATA command used to re-initialize //the device 
    841 //                    { 
    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 1 
    850 //                Store(Ones,PIO1)    //default value: all bits set to 1 
    851 //                Store(Ones,DMA0)    //default value: all bits set to 1 
    852 //                Store(Ones,DMA1)    //default value: all bits set to 1 
    853 //                Store(0x10,CHNF)    //default value: 0x10 
    854 //                If(REGF) 
    855 //                { 
    856 //                } 
    857 //                Else 
    858 //                { 
    859 //                    Return(TMD0)    //unable to setup PCI config space as opRegion;return default value 
    860 //                } 
    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 mode 
    888 //            } 
    889 // 
    890 //            Method(STM, 0, Serialized) 
    891 //            { 
    892 // 
    893 //                If(REGF){}                  // PCI space not accessible 
    894 //                Else        {  Return(TMD0)  } 
    895 // 
    896 //                Store(0x00, GMUE)           // Master UDMA Disable 
    897 //                Store(0x00, GSUE)           // Slave UDMA Disable 
    898 //                Store(0x07, GMUT)           // Master UDMA Mode 0 
    899 //                Store(0x07, GSUT)           // Slave UDMA Mode 0 
    900 // 
    901 //                If(And(CHNF, 0x1)) 
    902 //                { 
    903 //                    Store(Match(DeRefOf(Index(TIM0, 4)), MLE, DMA0, MTR,0,0), Local0)    // Get DMA mode 
    904 //                    Store(DeRefOf(Index(DeReFof(Index(TIM0, 6)), Local0)), GMUT)         // Timing bit mask 66Mhz 
    905 //                    Or(GMUE, 0x07, GMUE)                                    // Enable UltraDMA for Device 0 
    906 //                } 
    907 //                Else        // non - UDMA mode. Possible Multi word DMA 
    908 //                { 
    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=DMA0 
    914 //                        } 
    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 66Mhz 
    922 //                    Or(GSUE, 0x07, GSUE)    // Enable UltraDMA for Device 0 
    923 //                } 
    924 //                Else        // non - UDMA mode. Possible Multi word DMA 
    925 //                { 
    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 = DMA1 
    931 //                        } 
    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 STM 
    944 // 
    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 mode 
    950 //                CreateByteField(Local2, 1, UMOD)            // Ultra mode 
    951 //                CreateByteField(Local1, 5, PCHA)            // master or slave 
    952 //                CreateByteField(Local2, 5, UCHA)            // master or slave 
    953 //                And(Arg0,0x03,Local3) 
    954 // 
    955 //                If(Lequal(And(Local3,0x01),0x01)) 
    956 //                { 
    957 //                    Store(0xB0,PCHA)        // drive 1 
    958 //                    Store(0xB0,UCHA)        // drive 1 
    959 //                } 
    960 // 
    961 //                If(Arg1) 
    962 //                { 
    963 //                    Store(DeRefOf(Index(DeReFof(Index(TIM0, 5)), Arg2)), UMOD)     //Programming DMA Mode 
    964 //                    Or( UMOD, 0x40, UMOD) 
    965 //                } 
    966 //                Else 
    967 //                {   // non-UltraDMA 
    968 //                    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 GTF 
    978 //        } 
    979596 
    980597        Device(USB1)        { 
  • cpu/x86/pc/olpc/via/dsdt.dsl

    r2255 r2256  
    334334    IF (LEqual(Arg0, 0x03))     //S3 
    335335    { 
    336         // Store(0x2,\_SB.PCI0.MEMC.FSEG)  //Set F Segment to Read only 
    337336        // Notify(\_SB.PCI0, 0x00) 
    338337    } 
     
    376375 
    377376    IF (LEqual(Arg0, 0x03)) {       // S3 
    378         // Store(0x0,\_SB.PCI0.MEMC.FSEG)     // Disable F Segment Read/Write 
    379377    } 
    380378 
     
    389387    Return (0x00) 
    390388} 
    391  
    392 //  Method(STRC, 2) {   // Compare two String 
    393 //      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 match 
    412 //  } 
    413389 
    414390// 
     
    578554            Field(MCPS,ByteAcc,NoLock,Preserve) 
    579555            { 
    580                 Offset(0x83), 
    581                     , 4, 
    582                 FSEG, 2,            //Rx83[4:5] 
    583                     , 2, 
    584  
    585556                Offset(0x84), 
    586557                LTMA, 16,           //Rx84 and Rx85. Low Top Address of Memory 
     
    625596            } 
    626597        }//Device(USBD) 
    627  
    628 //        // SDIO Controller 
    629 //        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, functioning 
    650 //                    } 
    651 //                } 
    652 //            } 
    653 //        }//Device(SDIO) 
    654  
    655 //        // SD $ MS Controller 
    656 //        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, functioning 
    677 //                    } 
    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, functioning 
    704 //                    } 
    705 //                } 
    706 //            } 
    707 //        } 
    708 // 
    709 //        Device(IDEC) 
    710 //        { 
    711 // 
    712 //            Name(_ADR, 0x000F0000)  //D15F0: a Pata device 
    713 // 
    714 //            Method(_STA,0,NotSerialized)    //Status of the Pata Device 
    715 //            { 
    716 //                If(LNot(LEqual(\_SB.PCI0.IDEC.VID,0x1106))) 
    717 //                { 
    718 //                    Return(0x00)    //device not exists 
    719 //                } 
    720 //                Else 
    721 //                { 
    722 //                    If(LEqual(\_SB.PCI0.IDEC.CMDR,0x00)) 
    723 //                    { 
    724 //                        Return(0x0D)        //device exists & disable 
    725 //                    } 
    726 //                    Else 
    727 //                    { 
    728 //                        Return(0x0F)        //device exists & enable 
    729 //                    } 
    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 Slave 
    743 //                PMPT, 8,                    // IDE Timings, Primary Master 
    744 //                Offset(0x52), 
    745 //                PSUT, 4,                    // Primary Slave UDMA Timing 
    746 //                PSCT, 1,                    // Primary Drive Slave Cabal Type 
    747 //                PSUE, 3,                    // Primary Slave UDMA Enable 
    748 //                PMUT, 4,                    // Primary Master UDMA Timing 
    749 //                PMCT, 1,                    // Primary Drive Master Cabal Type 
    750 //                PMUE, 3,                    // Primary Master UDMA Enable 
    751 //            } 
    752 // 
    753 //            Name(REGF,0x01)         //accessible OpRegion default 
    754 //            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 timings 
    771 //                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,0 
    773 //                Package(){4, 3, 2, 1, 0},                           // PIO mode (TIM0,0) 
    774 //                Package(){2, 1, 0, 0},                              // Multi-word DMA mode 
    775 //                Package(){120, 80, 60, 45, 30, 20, 15},         // Min UDMA Timings in ns 
    776 //                Package(){6,5,4,4,3,3,2,2,1,1,1,1,1,1,0},   // UDMA mode 
    777 //                Package(){0x0E, 8, 6, 4, 2, 1, 0},          // UDMA timing 
    778 //            }) 
    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 Timings 
    788 //            Name(GMUE, 0)           // Master UDMA enable 
    789 //            Name(GMUT, 0)           // Master UDMA Timings 
    790 //            Name(GSPT, 0)           // Slave PIO Timings 
    791 //            Name(GSUE, 0)           // Slave UDMA enable 
    792 //            Name(GSUT, 0)           // Slave UDMA Timings 
    793 // 
    794 //            Device(CHN0)    //Primary Channel: Pata device 
    795 //            { 
    796 //                Name(_ADR,0x00) 
    797 // 
    798 //                Method(_STA,0,NotSerialized) 
    799 //                { 
    800 //                    If(LNotEqual(\_SB.PCI0.IDEC.EPCH, 0x1)) 
    801 //                    { 
    802 //                        Return(0x00)        //channel disable 
    803 //                    } 
    804 //                    Else 
    805 //                    { 
    806 //                        Return(0x0F)        //channel enable 
    807 //                    } 
    808 //               } 
    809 //                Method(_GTM,0,NotSerialized)        //Get Timing Mode 
    810 //                { 
    811 //                    Return(GTM(PMPT,PMUE,PMUT,PSPT,PSUE,PSUT)) 
    812 //                } 
    813 //                Method(_STM, 3)                     // Set Timing PIO/DMA Mode 
    814 //                { 
    815 //                   Store(Arg0, TMD0)        // Copy Arg0 into TMD0 buffer 
    816 //                   Store(PMPT, GMPT)        // Master PIO Timings 
    817 //                   Store(PMUE, GMUE)        // Master UDMA enable 
    818 //                   Store(PMUT, GMUT)        // Master UDMA Timings 
    819 //                   Store(PSPT, GSPT)        // Slave PIO Timings 
    820 //                   Store(PSUE, GSUE)        // Slave UDMA enable 
    821 //                   Store(PSUT, GSUT)        // Slave UDMA Timings 
    822 //                   STM() 
    823 //                   Store(GMPT, PMPT)        // Master PIO Timings 
    824 //                   Store(GMUE, PMUE)        // Master UDMA enable 
    825 //                   Store(GMUT, PMUT)        // Master UDMA Timings 
    826 //                   Store(GSPT, PSPT)        // Slave PIO Timings 
    827 //                   Store(GSUE, PSUE)        // Slave UDMA enable 
    828 //                   Store(GSUT, PSUT)        // Slave UDMA Timings 
    829 //                }                           // end Method _STM 
    830 // 
    831 //                Device(DRV0)        //Master Device 
    832 //                { 
    833 //                    Name(_ADR,0x00) //0 indicates master drive 
    834 //                    Method(_GTF,0,NotSerialized)    //Get Task File: return a buffer of ATA command used to re-initialize //////the device 
    835 //                    { 
    836 //                            Return(GTF(0,PMUE,PMUT,PMPT)) 
    837 //                    } 
    838 //                } 
    839 //                Device(DRV1)        //Slave Device 
    840 //                { 
    841 //                    Name(_ADR,0x01) //1 indicates slave drive 
    842 //                    Method(_GTF,0,NotSerialized)    //Get Task File: return a buffer of ATA command used to re-initialize //the device 
    843 //                    { 
    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 1 
    852 //                Store(Ones,PIO1)    //default value: all bits set to 1 
    853 //                Store(Ones,DMA0)    //default value: all bits set to 1 
    854 //                Store(Ones,DMA1)    //default value: all bits set to 1 
    855 //                Store(0x10,CHNF)    //default value: 0x10 
    856 //                If(REGF) 
    857 //                { 
    858 //                } 
    859 //                Else 
    860 //                { 
    861 //                    Return(TMD0)    //unable to setup PCI config space as opRegion;return default value 
    862 //                } 
    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 mode 
    890 //            } 
    891 // 
    892 //            Method(STM, 0, Serialized) 
    893 //            { 
    894 // 
    895 //                If(REGF){}                  // PCI space not accessible 
    896 //                Else        {  Return(TMD0)  } 
    897 // 
    898 //                Store(0x00, GMUE)           // Master UDMA Disable 
    899 //                Store(0x00, GSUE)           // Slave UDMA Disable 
    900 //                Store(0x07, GMUT)           // Master UDMA Mode 0 
    901 //                Store(0x07, GSUT)           // Slave UDMA Mode 0 
    902 // 
    903 //                If(And(CHNF, 0x1)) 
    904 //                { 
    905 //                    Store(Match(DeRefOf(Index(TIM0, 4)), MLE, DMA0, MTR,0,0), Local0)    // Get DMA mode 
    906 //                    Store(DeRefOf(Index(DeReFof(Index(TIM0, 6)), Local0)), GMUT)         // Timing bit mask 66Mhz 
    907 //                    Or(GMUE, 0x07, GMUE)                                    // Enable UltraDMA for Device 0 
    908 //                } 
    909 //                Else        // non - UDMA mode. Possible Multi word DMA 
    910 //                { 
    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=DMA0 
    916 //                        } 
    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 66Mhz 
    924 //                    Or(GSUE, 0x07, GSUE)    // Enable UltraDMA for Device 0 
    925 //                } 
    926 //                Else        // non - UDMA mode. Possible Multi word DMA 
    927 //                { 
    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 = DMA1 
    933 //                        } 
    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 STM 
    946 // 
    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 mode 
    952 //                CreateByteField(Local2, 1, UMOD)            // Ultra mode 
    953 //                CreateByteField(Local1, 5, PCHA)            // master or slave 
    954 //                CreateByteField(Local2, 5, UCHA)            // master or slave 
    955 //                And(Arg0,0x03,Local3) 
    956 // 
    957 //                If(Lequal(And(Local3,0x01),0x01)) 
    958 //                { 
    959 //                    Store(0xB0,PCHA)        // drive 1 
    960 //                    Store(0xB0,UCHA)        // drive 1 
    961 //                } 
    962 // 
    963 //                If(Arg1) 
    964 //                { 
    965 //                    Store(DeRefOf(Index(DeReFof(Index(TIM0, 5)), Arg2)), UMOD)     //Programming DMA Mode 
    966 //                    Or( UMOD, 0x40, UMOD) 
    967 //                } 
    968 //                Else 
    969 //                {   // non-UltraDMA 
    970 //                    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 GTF 
    980 //        } 
    981598 
    982599        Device(USB1)        { 
Note: See TracChangeset for help on using the changeset viewer.