1/* SPDX-License-Identifier: GPL-2.0-only */ 2 3// Note: Some BIOSes put the S-ATA code into an SSDT to make it easily 4// pluggable 5 6// Intel SATA Controller 0:1f.2 7 8Device (AHC1) 9{ 10 Name (_ADR, 0x001f0002) 11 12 Device (PRID) 13 { 14 Name (_ADR, 0) 15 16 // Get Timing Mode 17 Method (_GTM, 0, Serialized) 18 { 19 Name(PBUF, Buffer(20) { 20 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 21 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 22 0x00,0x00,0x00,0x00 }) 23 24 CreateDwordField (PBUF, 0, PIO0) 25 CreateDwordField (PBUF, 4, DMA0) 26 CreateDwordField (PBUF, 8, PIO1) 27 CreateDwordField (PBUF, 12, DMA1) 28 CreateDwordField (PBUF, 16, FLAG) 29 30 // TODO fill return structure 31 32 Return (PBUF) 33 } 34 35 // Set Timing Mode 36 Method (_STM, 3) 37 { 38 CreateDwordField (Arg0, 0, PIO0) 39 CreateDwordField (Arg0, 4, DMA0) 40 CreateDwordField (Arg0, 8, PIO1) 41 CreateDwordField (Arg0, 12, DMA1) 42 CreateDwordField (Arg0, 16, FLAG) 43 44 // TODO: Do the deed 45 } 46 47 Device (DSK0) 48 { 49 Name (_ADR, 0) 50 // TODO: _RMV ? 51 // TODO: _GTF ? 52 } 53 54 Device (DSK1) 55 { 56 Name (_ADR, 1) 57 58 // TODO: _RMV ? 59 // TODO: _GTF ? 60 } 61 62 } 63} 64 65// Intel SATA Controller 0:1f.5 66 67Device (AHC2) 68{ 69 Name (_ADR, 0x001f0005) 70 71 Device (PRID) 72 { 73 Name (_ADR, 0) 74 75 // Get Timing Mode 76 Method (_GTM, 0, Serialized) 77 { 78 Name(PBUF, Buffer(20) { 79 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 80 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 81 0x00,0x00,0x00,0x00 }) 82 83 CreateDwordField (PBUF, 0, PIO0) 84 CreateDwordField (PBUF, 4, DMA0) 85 CreateDwordField (PBUF, 8, PIO1) 86 CreateDwordField (PBUF, 12, DMA1) 87 CreateDwordField (PBUF, 16, FLAG) 88 89 // TODO fill return structure 90 91 Return (PBUF) 92 } 93 94 // Set Timing Mode 95 Method (_STM, 3) 96 { 97 CreateDwordField (Arg0, 0, PIO0) 98 CreateDwordField (Arg0, 4, DMA0) 99 CreateDwordField (Arg0, 8, PIO1) 100 CreateDwordField (Arg0, 12, DMA1) 101 CreateDwordField (Arg0, 16, FLAG) 102 103 // TODO: Do the deed 104 } 105 106 Device (DSK0) 107 { 108 Name (_ADR, 0) 109 // TODO: _RMV ? 110 // TODO: _GTF ? 111 } 112 113 Device (DSK1) 114 { 115 Name (_ADR, 1) 116 117 // TODO: _RMV ? 118 // TODO: _GTF ? 119 } 120 121 } 122} 123