c80f46a4ce64467b7ce4eece0a551691627a98cd
[mirror_edk2.git] / ArmPlatformPkg / ArmJunoPkg / AcpiTables / Dsdt.asl
1 /** @file
2 Differentiated System Description Table Fields (DSDT)
3
4 Copyright (c) 2014-2015, ARM Ltd. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #include "ArmPlatform.h"
16
17 DefinitionBlock("DsdtTable.aml", "DSDT", 1, "ARMLTD", "ARM-JUNO", EFI_ACPI_ARM_OEM_REVISION) {
18 Scope(_SB) {
19 //
20 // A57x2-A53x4 Processor declaration
21 //
22 Device(CPU0) { // A53-0: Cluster 1, Cpu 0
23 Name(_HID, "ACPI0007")
24 Name(_UID, 0)
25 }
26 Device(CPU1) { // A53-1: Cluster 1, Cpu 1
27 Name(_HID, "ACPI0007")
28 Name(_UID, 1)
29 }
30 Device(CPU2) { // A53-2: Cluster 1, Cpu 2
31 Name(_HID, "ACPI0007")
32 Name(_UID, 2)
33 }
34 Device(CPU3) { // A53-3: Cluster 1, Cpu 3
35 Name(_HID, "ACPI0007")
36 Name(_UID, 3)
37 }
38 Device(CPU4) { // A57-0: Cluster 0, Cpu 0
39 Name(_HID, "ACPI0007")
40 Name(_UID, 4)
41 }
42 Device(CPU5) { // A57-1: Cluster 0, Cpu 1
43 Name(_HID, "ACPI0007")
44 Name(_UID, 5)
45 }
46
47 //
48 // Keyboard and Mouse
49 //
50 Device(KMI0) {
51 Name(_HID, "ARMH0501")
52 Name(_CID, "PL050_KBD")
53 Name(_CRS, ResourceTemplate() {
54 Memory32Fixed(ReadWrite, 0x1C060008, 0x4)
55 Memory32Fixed(ReadWrite, 0x1C060000, 0x4)
56 Memory32Fixed(ReadOnly, 0x1C060004, 0x4)
57 Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 197 }
58 })
59 }
60
61 //
62 // LAN9118 Ethernet
63 //
64 Device(ETH0) {
65 Name(_HID, "ARMH9118")
66 Name(_UID, Zero)
67 Name(_CRS, ResourceTemplate() {
68 Memory32Fixed(ReadWrite, 0x1A000000, 0x1000)
69 Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 192 }
70 })
71 Name(_DSD, Package() {
72 ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
73 Package() {
74 Package(2) {"phy-mode", "mii"},
75 Package(2) {"reg-io-width", 4 },
76 Package(2) {"smsc,irq-active-high",1},
77 Package(2) {"smsc,irq-push-pull",1}
78 }
79 }) // _DSD()
80 }
81
82 // UART PL011
83 Device(COM0) {
84 Name(_HID, "ARMH0011")
85 Name(_CID, "PL011")
86 Name(_UID, Zero)
87 Name(_CRS, ResourceTemplate() {
88 Memory32Fixed(ReadWrite, 0x7FF80000, 0x1000)
89 Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 115 }
90 })
91 }
92
93 //
94 // USB EHCI Host Controller
95 //
96 Device(USB0){
97 Name(_HID, "ARMH0D20")
98 Name(_CID, "PNP0D20")
99 Name(_UID, 2)
100 Name(_CCA, 0) //EHCI on this platform is not coherent!
101
102 Method(_CRS, 0x0, Serialized){
103 Name(RBUF, ResourceTemplate(){
104 Memory32Fixed(ReadWrite, 0x7FFC0000, 0x10000)
105 Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) {149} // INT ID=149 GIC IRQ ID=117 for Juno SoC USB EHCI Controller
106 })
107 Return(RBUF)
108 }
109
110 //
111 // Root Hub
112 //
113 Device(RHUB){
114 Name(_ADR, 0x00000000) // Address of Root Hub should be 0 as per ACPI 5.0 spec
115
116 //
117 // Ports connected to Root Hub
118 //
119 Device(HUB1){
120 Name(_ADR, 0x00000001)
121 Name(_UPC, Package(){
122 0x00, // Port is NOT connectable
123 0xFF, // Don't care
124 0x00000000, // Reserved 0 must be zero
125 0x00000000 // Reserved 1 must be zero
126 })
127
128 Device(PRT1){
129 Name(_ADR, 0x00000001)
130 Name(_UPC, Package(){
131 0xFF, // Port is connectable
132 0x00, // Port connector is A
133 0x00000000,
134 0x00000000
135 })
136 Name(_PLD, Package(){
137 Buffer(0x10){
138 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
139 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
140 }
141 })
142 } // USB0_RHUB_HUB1_PRT1
143 Device(PRT2){
144 Name(_ADR, 0x00000002)
145 Name(_UPC, Package(){
146 0xFF, // Port is connectable
147 0x00, // Port connector is A
148 0x00000000,
149 0x00000000
150 })
151 Name(_PLD, Package(){
152 Buffer(0x10){
153 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
154 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
155 }
156 })
157 } // USB0_RHUB_HUB1_PRT2
158
159 Device(PRT3){
160 Name(_ADR, 0x00000003)
161 Name(_UPC, Package(){
162 0xFF, // Port is connectable
163 0x00, // Port connector is A
164 0x00000000,
165 0x00000000
166 })
167 Name(_PLD, Package(){
168 Buffer(0x10){
169 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
170 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
171 }
172 })
173 } // USB0_RHUB_HUB1_PRT3
174
175 Device(PRT4){
176 Name(_ADR, 0x00000004)
177 Name(_UPC, Package(){
178 0xFF, // Port is connectable
179 0x00, // Port connector is A
180 0x00000000,
181 0x00000000
182 })
183 Name(_PLD, Package(){
184 Buffer(0x10){
185 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
186 0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
187 }
188 })
189 } // USB0_RHUB_HUB1_PRT4
190 } // USB0_RHUB_HUB1
191 } // USB0_RHUB
192 } // USB0
193 } // Scope(_SB)
194 }