mirror of https://github.com/acidanthera/audk.git
195 lines
6.7 KiB
Plaintext
195 lines
6.7 KiB
Plaintext
/** @file
|
|
Differentiated System Description Table Fields (DSDT)
|
|
|
|
Copyright (c) 2014-2015, ARM Ltd. All rights reserved.<BR>
|
|
This program and the accompanying materials
|
|
are licensed and made available under the terms and conditions of the BSD License
|
|
which accompanies this distribution. The full text of the license may be found at
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
**/
|
|
|
|
#include "ArmPlatform.h"
|
|
|
|
DefinitionBlock("DsdtTable.aml", "DSDT", 1, "ARMLTD", "ARM-JUNO", EFI_ACPI_ARM_OEM_REVISION) {
|
|
Scope(_SB) {
|
|
//
|
|
// A57x2-A53x4 Processor declaration
|
|
//
|
|
Device(CPU0) { // A53-0: Cluster 1, Cpu 0
|
|
Name(_HID, "ACPI0007")
|
|
Name(_UID, 0)
|
|
}
|
|
Device(CPU1) { // A53-1: Cluster 1, Cpu 1
|
|
Name(_HID, "ACPI0007")
|
|
Name(_UID, 1)
|
|
}
|
|
Device(CPU2) { // A53-2: Cluster 1, Cpu 2
|
|
Name(_HID, "ACPI0007")
|
|
Name(_UID, 2)
|
|
}
|
|
Device(CPU3) { // A53-3: Cluster 1, Cpu 3
|
|
Name(_HID, "ACPI0007")
|
|
Name(_UID, 3)
|
|
}
|
|
Device(CPU4) { // A57-0: Cluster 0, Cpu 0
|
|
Name(_HID, "ACPI0007")
|
|
Name(_UID, 4)
|
|
}
|
|
Device(CPU5) { // A57-1: Cluster 0, Cpu 1
|
|
Name(_HID, "ACPI0007")
|
|
Name(_UID, 5)
|
|
}
|
|
|
|
//
|
|
// Keyboard and Mouse
|
|
//
|
|
Device(KMI0) {
|
|
Name(_HID, "ARMH0501")
|
|
Name(_CID, "PL050_KBD")
|
|
Name(_CRS, ResourceTemplate() {
|
|
Memory32Fixed(ReadWrite, 0x1C060008, 0x4)
|
|
Memory32Fixed(ReadWrite, 0x1C060000, 0x4)
|
|
Memory32Fixed(ReadOnly, 0x1C060004, 0x4)
|
|
Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 197 }
|
|
})
|
|
}
|
|
|
|
//
|
|
// LAN9118 Ethernet
|
|
//
|
|
Device(ETH0) {
|
|
Name(_HID, "ARMH9118")
|
|
Name(_UID, Zero)
|
|
Name(_CRS, ResourceTemplate() {
|
|
Memory32Fixed(ReadWrite, 0x1A000000, 0x1000)
|
|
Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 192 }
|
|
})
|
|
Name(_DSD, Package() {
|
|
ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"),
|
|
Package() {
|
|
Package(2) {"phy-mode", "mii"},
|
|
Package(2) {"reg-io-width", 4 },
|
|
Package(2) {"smsc,irq-active-high",1},
|
|
Package(2) {"smsc,irq-push-pull",1}
|
|
}
|
|
}) // _DSD()
|
|
}
|
|
|
|
// UART PL011
|
|
Device(COM0) {
|
|
Name(_HID, "ARMH0011")
|
|
Name(_CID, "PL011")
|
|
Name(_UID, Zero)
|
|
Name(_CRS, ResourceTemplate() {
|
|
Memory32Fixed(ReadWrite, 0x7FF80000, 0x1000)
|
|
Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 115 }
|
|
})
|
|
}
|
|
|
|
//
|
|
// USB EHCI Host Controller
|
|
//
|
|
Device(USB0){
|
|
Name(_HID, "ARMH0D20")
|
|
Name(_CID, "PNP0D20")
|
|
Name(_UID, 2)
|
|
Name(_CCA, 0) //EHCI on this platform is not coherent!
|
|
|
|
Method(_CRS, 0x0, Serialized){
|
|
Name(RBUF, ResourceTemplate(){
|
|
Memory32Fixed(ReadWrite, 0x7FFC0000, 0x10000)
|
|
Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) {149} // INT ID=149 GIC IRQ ID=117 for Juno SoC USB EHCI Controller
|
|
})
|
|
Return(RBUF)
|
|
}
|
|
|
|
//
|
|
// Root Hub
|
|
//
|
|
Device(RHUB){
|
|
Name(_ADR, 0x00000000) // Address of Root Hub should be 0 as per ACPI 5.0 spec
|
|
|
|
//
|
|
// Ports connected to Root Hub
|
|
//
|
|
Device(HUB1){
|
|
Name(_ADR, 0x00000001)
|
|
Name(_UPC, Package(){
|
|
0x00, // Port is NOT connectable
|
|
0xFF, // Don't care
|
|
0x00000000, // Reserved 0 must be zero
|
|
0x00000000 // Reserved 1 must be zero
|
|
})
|
|
|
|
Device(PRT1){
|
|
Name(_ADR, 0x00000001)
|
|
Name(_UPC, Package(){
|
|
0xFF, // Port is connectable
|
|
0x00, // Port connector is A
|
|
0x00000000,
|
|
0x00000000
|
|
})
|
|
Name(_PLD, Package(){
|
|
Buffer(0x10){
|
|
0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
}
|
|
})
|
|
} // USB0_RHUB_HUB1_PRT1
|
|
Device(PRT2){
|
|
Name(_ADR, 0x00000002)
|
|
Name(_UPC, Package(){
|
|
0xFF, // Port is connectable
|
|
0x00, // Port connector is A
|
|
0x00000000,
|
|
0x00000000
|
|
})
|
|
Name(_PLD, Package(){
|
|
Buffer(0x10){
|
|
0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
}
|
|
})
|
|
} // USB0_RHUB_HUB1_PRT2
|
|
|
|
Device(PRT3){
|
|
Name(_ADR, 0x00000003)
|
|
Name(_UPC, Package(){
|
|
0xFF, // Port is connectable
|
|
0x00, // Port connector is A
|
|
0x00000000,
|
|
0x00000000
|
|
})
|
|
Name(_PLD, Package(){
|
|
Buffer(0x10){
|
|
0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
}
|
|
})
|
|
} // USB0_RHUB_HUB1_PRT3
|
|
|
|
Device(PRT4){
|
|
Name(_ADR, 0x00000004)
|
|
Name(_UPC, Package(){
|
|
0xFF, // Port is connectable
|
|
0x00, // Port connector is A
|
|
0x00000000,
|
|
0x00000000
|
|
})
|
|
Name(_PLD, Package(){
|
|
Buffer(0x10){
|
|
0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
|
0x31, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
|
}
|
|
})
|
|
} // USB0_RHUB_HUB1_PRT4
|
|
} // USB0_RHUB_HUB1
|
|
} // USB0_RHUB
|
|
} // USB0
|
|
} // Scope(_SB)
|
|
}
|