aboutsummaryrefslogtreecommitdiff
path: root/src/mainboard/aopen/dxplplusu/acpi/scsi.asl
blob: e76deb7bcac2974ef086ce826c7bde8fceeff7ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
 * This file is part of the coreboot project.
 *
 * Copyright (C) 2011 Kyösti Mälkki <kyosti.malkki@gmail.com>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; version 2 of the License.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

/* PCI-X devices 04:04.0 and 04:04.1 : AIC-7902W
 * U320 SCSI dual-channel controller
 */

Device (SCS0)
{
	Name (_ADR, 0x00040000)
	OperationRegion (SCSC, PCI_Config, 0x00, 0x0100)
	Field (SCSC, ByteAcc, NoLock, Preserve)
	{
		Offset (0x2C),   SID,   32,
		Offset (0xE0),   PMC,   8,
		Offset (0xFF),   IDW,   8
	}
}

Device (SCS1)
{
	Name (_ADR, 0x00040001)
	OperationRegion (SCSC, PCI_Config, 0x00, 0x0100)
	Field (SCSC, ByteAcc, NoLock, Preserve)
	{
		Offset (0x2C),   SID,   32,
		Offset (0xE0),   PMC,   8,
		Offset (0xFF),   IDW,   8
	}
}

#if 0
/* Set subsystem id for both SCSI devices.
 * It may require some delay on wake-up before this can be done.
 */
	Method ( )
	{
		Or (\_SB.PCI0.HLIB.P64A.SCS0.IDW, 0x01, \_SB.PCI0.HLIB.P64A.SCS0.IDW)
		Store (0x1106A0A0, \_SB.PCI0.HLIB.P64A.SCS0.SID)
		And (\_SB.PCI0.HLIB.P64A.SCS0.IDW, 0xFE, \_SB.PCI0.HLIB.P64A.SCS0.IDW)

		Or (\_SB.PCI0.HLIB.P64A.SCS1.IDW, 0x01, \_SB.PCI0.HLIB.P64A.SCS1.IDW)
		Store (0x1106A0A0, \_SB.PCI0.HLIB.P64A.SCS1.SID)
		And (\_SB.PCI0.HLIB.P64A.SCS1.IDW, 0xFE, \_SB.PCI0.HLIB.P64A.SCS1.IDW)
	}
#endif