• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2* Copyright (c) 2013, Al Stone <al.stone@linaro.org>
3* All rights reserved.
4*
5* Redistribution and use in source and binary forms, with or without
6* modification, are permitted provided that the following conditions
7* are met:
8*
9* 1. Redistributions of source code must retain the above copyright
10* notice, this list of conditions and the following disclaimer.
11*
12* 2. Redistributions in binary form must reproduce the above copyright
13* notice, this list of conditions and the following disclaimer in the
14* documentation and/or other materials provided with the distribution.
15*
16* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20* HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
22* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
23* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
24* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
25* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27*
28*
29* NB: This License is also known as the "BSD 2-Clause License".
30*
31*
32* [DSDT] Description of the armv8 VE Model
33*
34*/
35
36DefinitionBlock (
37  "dsdt.aml",    // output filename
38  "DSDT",      // table signature
39  2,      // DSDT compliance revision
40  "LINARO",    // OEM ID
41  "RTSMVEV8",    // table ID
42  0x00000004)    // OEM revision
43{
44  Scope (\_SB)
45  {
46    Method (_OSC, 4, NotSerialized)
47    {
48      /* Platform-Wide OSPM Capabilities */
49      If(LEqual(Arg0,ToUUID("0811B06E-4A27-44F9-8D60-3CBBC22E7B48")))
50      {
51        /* APEI support unconditionally */
52        Return (Arg3)
53      } Else {
54        CreateDWordField (Arg3, Zero, CDW1)
55        /* Set invalid UUID error bit */
56        Or (CDW1, 0x04, CDW1)
57        Return (Arg3)
58      }
59    }
60
61    //
62    // Two Emulated aarch64 CPUs each with 4 cores
63    //
64    Device(CPU0) { // Cluster 0, Cpu 0
65      Name(_HID, "ACPI0007")
66      Name(_UID, 0)
67    }
68    Device(CPU1) { // Cluster 0, Cpu 1
69      Name(_HID, "ACPI0007")
70      Name(_UID, 1)
71    }
72    Device(CPU2) { // Cluster 0, Cpu 2
73      Name(_HID, "ACPI0007")
74      Name(_UID, 2)
75    }
76    Device(CPU3) { // Cluster 0, Cpu 3
77      Name(_HID, "ACPI0007")
78      Name(_UID, 3)
79    }
80    Device(CPU4) { // Cluster 1, Cpu 0
81      Name(_HID, "ACPI0007")
82      Name(_UID, 4)
83    }
84    Device(CPU5) { // Cluster 1, Cpu 1
85      Name(_HID, "ACPI0007")
86      Name(_UID, 5)
87    }
88    Device(CPU6) { // Cluster 1, Cpu 2
89      Name(_HID, "ACPI0007")
90      Name(_UID, 6)
91    }
92    Device(CPU7) { // Cluster 1, Cpu 3
93      Name(_HID, "ACPI0007")
94      Name(_UID, 7)
95    }
96
97    // SMC91X
98    Device (NET0) {
99      Name (_HID, "LNRO0003")
100      Name (_UID, 0)
101
102      Name (_CRS, ResourceTemplate () {
103        Memory32Fixed (ReadWrite, 0x1a000000, 0x00010000)
104        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, , , ) {0x2F}
105      })
106    }
107
108    // SYSREG
109    Device (SREG) {
110      Name (_HID, "LNRO0009")
111      Name (_UID, 0)
112
113      Method (_CRS, 0x0, Serialized) {
114        Name (RBUF, ResourceTemplate() {
115          Memory32Fixed (ReadWrite, 0x1c010000, 0x1000)
116        })
117        Return (RBUF)
118      }
119    }
120
121    // VIRTIO
122    Device (VIRT) {
123      Name (_HID, "LNRO0005")
124      Name (_UID, 0)
125
126      Name (_CRS, ResourceTemplate() {
127        Memory32Fixed (ReadWrite, 0x1c130000, 0x1000)
128        Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive) {0x4A}
129      })
130    }
131
132    // UART PL011
133    Device(COM0) {
134      Name(_HID, "ARMH0011")
135      Name(_CID, "PL011")
136      Name(_UID, Zero)
137
138      Name(_CRS, ResourceTemplate() {
139        Memory32Fixed(ReadWrite, 0x1c090000, 0x1000)
140        Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 0x25 }
141      })
142    }
143  }
144}
145