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 17DefinitionBlock("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} 195