Support Intel SCH (Poulsbo) and add iwave/iWRainbowG6 board
[coreboot.git] / src / southbridge / intel / sch / acpi / pata.asl
1 /*
2  * This file is part of the coreboot project.
3  *
4  * Copyright (C) 2007-2009 coresystems GmbH
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License as
8  * published by the Free Software Foundation; version 2 of
9  * the License.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
19  * MA 02110-1301 USA
20  */
21
22 // Intel PATA Controller 0:1f.1
23
24 Device (PATA)
25 {
26         Name (_ADR, 0x001f0001)
27
28         Device (PRID)
29         {
30                 Name (_ADR, 0)
31
32                 // Get Timing Mode
33                 Method (_GTM)
34                 {
35                         Name(PBUF, Buffer(20) {
36                                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
37                                 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
38                                 0x00,0x00,0x00,0x00 })
39
40                         CreateDwordField (PBUF,  0, PIO0)
41                         CreateDwordField (PBUF,  4, DMA0)
42                         CreateDwordField (PBUF,  8, PIO1)
43                         CreateDwordField (PBUF, 12, DMA1)
44                         CreateDwordField (PBUF, 16, FLAG)
45
46                         // TODO fill return structure
47
48                         Return (PBUF)
49                 }
50
51                 // Set Timing Mode
52                 Method (_STM, 3)
53                 {
54                         CreateDwordField (Arg0,  0, PIO0)
55                         CreateDwordField (Arg0,  4, DMA0)
56                         CreateDwordField (Arg0,  8, PIO1)
57                         CreateDwordField (Arg0, 12, DMA1)
58                         CreateDwordField (Arg0, 16, FLAG)
59
60                         // TODO: Do the deed
61                 }
62
63                 Device (DSK0)
64                 {
65                         Name (_ADR, 0)
66                         // TODO: _RMV ?
67                         // TODO: _GTF ?
68                 }
69
70                 Device (DSK1)
71                 {
72                         Name (_ADR, 1)
73
74                         // TODO: _RMV ?
75                         // TODO: _GTF ?
76                 }
77
78         }
79 }
80