2 * Minimalist ACPI DSDT table for EPIA-N / NL
3 * Basic description of some hardware resources to allow
4 * interrupt assignments to be done. This is expected to be included
5 * into the PATA Device definition in ab_physical.asl
6 * (C) Copyright 2009 Jon Harrison <jon.harrison@blueyonder.co.uk>
10 Name (TIM0, Package (0x07)
14 0x78, 0xB4, 0xF0, 0x017F, 0x0258
19 0x20, 0x22, 0x33, 0x47, 0x5D
24 0x04, 0x03, 0x02, 0x01, 0x00
29 0x02, 0x01, 0x00, 0x00
34 0x78, 0x50, 0x3C, 0x2D, 0x1E, 0x14, 0x0F
39 0x06, 0x05, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02,
40 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,0x00
45 0x0E, 0x08, 0x06, 0x04, 0x02, 0x01, 0x00
50 /* This method sets up the PATA Timing Control*/
51 /* Note that a lot of this is done in the */
52 /* Coreboot VT8237R Init code, but this is */
53 /* already getting very cluttered with board */
54 /* specific code. Using ACPI will allow this */
55 /* to be de-cluttered a bit (so long as we're */
56 /* running a ACPI Capable OS !!!) */
58 Method (PMEX, 0, Serialized)
62 /* Check if these regs are still at defaults */
63 /* Board specific timing improvement if not */
65 If (LEqual (PMPT, 0xA8))
70 If (LEqual (PSPT, 0xA8))
75 If (LEqual (SMPT, 0xA8))
80 If (LEqual (SSPT, 0xA8))
88 /* This Method Provides the method that is used to */
89 /* Reset ATA Drives to POST reset condition */
90 Method (GTF, 4, Serialized)
94 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
98 0x03, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xEF
100 CreateByteField (Local1, 0x01, MODE)
101 CreateByteField (Local2, 0x01, UMOD)
102 CreateByteField (Local1, 0x05, PCHA)
103 CreateByteField (Local2, 0x05, UCHA)
104 And (Arg0, 0x03, Local3)
105 If (LEqual (And (Local3, 0x01), 0x01))
113 Store (DerefOf (Index (DerefOf (Index (TIM0, 0x05)), Arg2)),
115 Or (UMOD, 0x40, UMOD)
119 Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR,
121 Or (0x20, DerefOf (Index (DerefOf (Index (TIM0, 0x03)), Local0
125 Store (Match (DerefOf (Index (TIM0, 0x01)), MEQ, Arg3, MTR,
127 Or (0x08, DerefOf (Index (DerefOf (Index (TIM0, 0x02)), Local0
129 Concatenate (Local1, Local2, Local6)