Home | History | Annotate | Download | only in AcpiTables
      1 /*
      2 * Copyright (c) 2013, Al Stone <al.stone (at) 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 
     36 DefinitionBlock (
     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