blob: 023a89e2ab3d753cb1cdb8c423766294b0ea3fab [file] [log] [blame]
/** @file
SSDT CMN-600 Template
Copyright (c) 2020, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
@par Reference(s):
- Arm CoreLink CMN-600 Coherent Mesh Network Technical Reference Manual r3p0
- Generic ACPI for Arm Components 1.0 Platform Design Document
@par Glossary:
- {template} - Data fixed up using AML Fixup APIs.
- {codegen} - Data generated using AML Codegen APIs.
**/
DefinitionBlock ("SsdtCmn600.aml", "SSDT", 2, "ARMLTD", "CMN-600", 1) {
Scope (_SB) {
// CMN-600 device object for a X * Y mesh, where (X >= 4) || (Y >= 4).
Device (CMN0) { // {template}
Name (_HID, "ARMHC600")
Name (_UID, 0x0) // {template}
Name (_CRS, ResourceTemplate () {
// Descriptor for 256 MB of the CFG region at offset PERIPHBASE.
QWordMemory (
ResourceConsumer, // bit 0 of general flags is 0.
PosDecode,
MinFixed, // Range is fixed.
MaxFixed, // Range is Fixed.
NonCacheable,
ReadWrite,
0x00000000, // Granularity
0xA0000000, // MinAddress // {template}
0xAFFFFFFF, // MaxAddress // {template}
0x00000000, // Translation
0x10000000, // RangeLength // {template}
, // ResourceSourceIndex
, // ResourceSource
CFGR // DescriptorName
) // QWordMemory
// Descriptor for the root node. This is a 16 KB region at offset
// ROOTNODEBASE. In this example, ROOTNODEBASE starts at the 16 KB
// aligned offset of PERIPHBASE.
QWordMemory (
ResourceConsumer, // bit 0 of general flags is 0.
PosDecode,
MinFixed, // Range is fixed.
MaxFixed, // Range is Fixed.
NonCacheable,
ReadWrite,
0x00000000, // Granularity
0xA0000000, // MinAddress // {template}
0xAFFFFFFF, // MaxAddress // {template}
0x00000000, // Translation
0x10000000, // RangeLength // {template}
, // ResourceSourceIndex
, // ResourceSource
ROOT // DescriptorName
) // QWordMemory
// The Interrupt information is generated using AmlCodegen.
// Interrupt on PMU0 overflow, attached to DTC [0], with GSIV = <gsiv0>.
//
// Interrupt ( // {codegen}
// ResourceConsumer, // ResourceUsage
// Level, // EdgeLevel
// ActiveHigh, // ActiveLevel
// Exclusive, // Shared
// , // ResourceSourceIndex
// , // ResourceSource
// // DescriptorName
// ) {
// 0xA5 // <gsiv0 >
// } // Interrupt
}) // Name
} // Device
} // _SB
} // DefinitionBlock