From nobody Mon Feb 9 00:11:58 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+98437+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+98437+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1673583938879504.848664359433; Thu, 12 Jan 2023 20:25:38 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 9MoFYY1788612x1TF5LOjnYE; Thu, 12 Jan 2023 20:25:38 -0800 X-Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.129]) by mx.groups.io with SMTP id smtpd.web11.78727.1673583937498415151 for ; Thu, 12 Jan 2023 20:25:37 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fls18ViVPjX9+a55UAoQwLrtUFu+yi0KvrZMYRG3pQJKqZIqy1AFQ7lpARIaj9RwNuGY188zSUpv33CPGledo6RVkjGgELyT4rbk/RdD+1e05MQfdekIOu2p8WUGtalBA7aYjyMsPNjW8NFknS0Bi7mjH95/LgOidyV2lOB4Ql/YgE3YQc+x3bkhyO2PYnZV2T6uZ2A4ttzMgbNXub0+MHxKVcSurm5AOBKau771Ev+oOQZXtQFlYqrpK3jBXg2/YLjbNja6qpLMBi+Ua2y8FAr8N5Y4E7Tw9HvTr/hKcb/gKY3DydMDQa5iveQZN5w26CGaTzzvg1pvqr2F09ltcg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=YPfWWRCRJVIKEO5pG6Jfe08WEyWLGHgEXYdCMb1n9+o=; b=oUkusilFvWql4aalzB5ya4TCnn8yf61flsgFCtdBTY1IniizytwggEArZ0XgMPNkfwtGVIK/7RpVwOjUzPPxz2nMo8WDquE4Z672cS486do8DGs5u2tYeMKrjqmYZCanMM2ovDWmHDKmFk03qXoPhgCHzaESdfOFqLrm+/wt8yVRs5FC+hgCdzhlDRf+f2amHvYRWwm84fJiNXo8NyCFm+lAMA4i3WVqCPEHaTAdVGdqmJaGPL2TiByBAc8y4A79P2gMDetUzAmRWeDqQF87WmqkmzeinYkQId8tH5sFho46CsYq4ucYc3WS3qch6yicKGZsPuAYAV8NuCOM6FuF9w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none X-Received: from PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) by BL0PR01MB4017.prod.exchangelabs.com (2603:10b6:208:27::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.13; Fri, 13 Jan 2023 04:25:34 +0000 X-Received: from PH0PR01MB7287.prod.exchangelabs.com ([fe80::d70e:926e:41bb:a73a]) by PH0PR01MB7287.prod.exchangelabs.com ([fe80::d70e:926e:41bb:a73a%5]) with mapi id 15.20.6002.013; Fri, 13 Jan 2023 04:25:34 +0000 From: "Nhi Pham via groups.io" To: devel@edk2.groups.io CC: patches@amperecomputing.com, quic_llindhol@quicinc.com, ardb+tianocore@kernel.org, Vu Nguyen , Nhi Pham Subject: [edk2-devel] [edk2-platforms][PATCH 1/2] Ampere: PCIe: Add support for Ampere Altra Max Date: Fri, 13 Jan 2023 11:25:16 +0700 Message-ID: <20230113042517.3107802-2-nhi@os.amperecomputing.com> In-Reply-To: <20230113042517.3107802-1-nhi@os.amperecomputing.com> References: <20230113042517.3107802-1-nhi@os.amperecomputing.com> X-ClientProxiedBy: SI2PR04CA0001.apcprd04.prod.outlook.com (2603:1096:4:197::12) To PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR01MB7287:EE_|BL0PR01MB4017:EE_ X-MS-Office365-Filtering-Correlation-Id: a9997619-e3a1-4c6e-c213-08daf51e3683 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: aVR6dNsy+Q+NUBB2xqu41kT4/9dGO8OipoIOFiDpzdMj98cmL9w8ZJlS6nLjgp3WXnRFZ8KfgqCT38BoYRnIZZG1CI/Dt5RMM1gErTtRQxUp34/nFmsY1jCeVI4SQljOoX944Ah3JMBkc5ejrAIfw1FSt2xMPcotwyc98muyYxFuXZjwll2EZ/ZJHcPFzGzuXeCxrOpuvVvtcfMILH+y+bbdTn8MWktbRkMHK6usIJv8mCZMH7MYpB0hW5TV6vubIqb+RIcCaYGufMSuD94E6XXhceg6gw9cmAP48sI/OwxT5zoTl8JSVNGkln43Hz3mmfLmZLEFWDna/6RQdPopoTqJEoEnGDTevMIPZlQsIPSAM3W6XPgI4UE/jeFS+hL0tSITML1HXDLQKFbJURixpBgmITwTq8mqVxLO/0W8Pd1qhXdJb40/X03t7xVclkjIFXIo6T4ywBEqfMjv3WHCuqvpKO3CzB4f+uRmh1ZP8FimOh3ybNU+6oXGfmHGtM08ydBScQZPuxwvcBtR+gau1Mj6YNwxzTEQe4Ph8+uAOM5GICmyfo0IfTgh6PFLCZCLDgA3HEZGIN7Q/p7aqZL76WTgt7HyqyfWfJw6DqAGwEM7jchxI90uehHLNEAlq8M/NOVmJ+UBbQd2h0trn/4kRyeOTvgtnWIUgcsMMr9pts689YaUVyBIgn4Ra5RZg8KLFfsPC+VV9g7bNWcwvpDI6w== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GV6zPpe6krhzQBIJHNqQU30XHsqKAJFRjAiB4lfDMCml8lcncl9nPfoBzBya?= =?us-ascii?Q?sbDDzCqPo+wzk8gH8a0arRLda8z3fmefR0Vd2QyCanIYBMov0jLjIxeUe+P7?= =?us-ascii?Q?xsRsAn2TsFZ7UV91n3IZ9IAoxvyVP9ii1iQbKnxtiWfv3QSkHu1OZoixciUn?= =?us-ascii?Q?XE0jM9Gh6hGx0wyqlgNzxfdT6VnDqJry+8rMu5kq2gc35fDanOlYWJkx0R57?= =?us-ascii?Q?k34J7pU02yo4fSB51vxZLVOm+001YDoQrtgaPG/TjpKBhQFb8rIyxhFcnrlx?= =?us-ascii?Q?hGjN5051cGO7qIUWmlxpAjQgEoUNRly3So+/ES1hHGyL/HTI3Gqw8JC9U2bO?= =?us-ascii?Q?uhWFzO2O8s4zZ9qQ4ZZh6j4NaWVV58lv2fV3dj8EYiSBGRX89dsKzWDAjP+g?= =?us-ascii?Q?d3lW6mGmJz/s94uwfeK++KZxIw7KS6+OrkoxWrnpErqeG2B4bY0mwMs84vei?= =?us-ascii?Q?jXBENsIFWyO07l6nYjn9YSCZ33siz6Y5qsPBKOvjyPPsyjeiDaT2uy/gJs1+?= =?us-ascii?Q?0pZShYmU716YusXw8XdflRv18yTGslacXo5HUwABXnTgFIEwL+S8I6FQhvo5?= =?us-ascii?Q?J5jU7lpbTG4yZWXkHhZjGvNN0ClCcV/+5DtBnXP4VgRSezSNUHhjnk4Z8JmB?= =?us-ascii?Q?KXtK+PpALvx9WN4Y35R0YyNJPJDCtFJQE83TWNzZSKrzFgBhANy0fYiFxR1F?= =?us-ascii?Q?/lbfiSE5gCe4XtAzb83Olki5gRCk4PedXhosRW42HxRh4nMcQlwHG+HekGeM?= =?us-ascii?Q?LF2WPnZPIQFpRPA2rPZtoLwr+nykDZjeHPdvUZEmSOugJYlTCTw0jZwBMsNP?= =?us-ascii?Q?Dp43jVHv5g+NGZgsssioGAukAFomiZazK0nSZvEhMOP+vLY1CTYINYRhpf09?= =?us-ascii?Q?OroGbiikFpYQ9yeV8nWB1mAqg3EhkhMaAL0EdnkTka7Ekx5xaaWrv7BsNTg8?= =?us-ascii?Q?7dBKeqSUtdtwUIGXyaG2EOwcioXiaTxvg4bU0IAc3fwl2/Wf5xgTa+P8GS8i?= =?us-ascii?Q?q6NsbHwQfNtwaYxDTGifOzaub8clpUP95lQpfern3SBvX1AGsklrXNDa6adu?= =?us-ascii?Q?XvbpeDFylPoLqQGeqZShbn52gpV1pqQ8UFmo5FVOmJbArK2+FNukpe65rETU?= =?us-ascii?Q?GDlA94Ro0RjoPrwZqxImtbOUoy4qZuQp3czPufh4cGHBUy6s8l/jvxheCY/0?= =?us-ascii?Q?6gvC+UvCkn8lSOmTT6OAzR3vMrCzERp23B34j/ha/aMmjyb63fyK+YF2hEJF?= =?us-ascii?Q?OwfNk7rAC1U45bvuDMCZOeGGGxNXII7puoOd8/RhkTnoZhpEu/iU3kcy3XaC?= =?us-ascii?Q?Oa9GMYwjId45+tEuyS32Cyg8bpdPgwz2yQs4j+6D21uoDrUn55jjUC0iilNz?= =?us-ascii?Q?DprqIGKKUO+fvFuWx3lOXdE3ej6xrt+wK+Jf7EHwOvmKd6dgA9TU6Bk1mNEO?= =?us-ascii?Q?3SG5laE+2QS/+j/wpp0MgBxIN9+uOkiA1aZL7fVn8vrgsMNx6B2IXQWogKes?= =?us-ascii?Q?bXsNhcghyO3/qZdhXtRJzRJ/M8kHzAenIU9aJoJRJ7PLcnD1Pki5lo83oWXX?= =?us-ascii?Q?DzIklii+/3D4S112GAQvX74u7LYmQQoDPAxfSZnl8AYXWxA5RLjxxDULQZ9E?= =?us-ascii?Q?qKr29vUNuG/LTGDPiiIrC+0=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9997619-e3a1-4c6e-c213-08daf51e3683 X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB7287.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2023 04:25:34.3005 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: xN9PfvqoB1oWYMRLn/jhP2J2ChKXxP3SIiAGK4RAXoEWbaKQhlciYXUh+TsD7266q3iOlS9riJbIW7EvE6WwouZ8GXAboTgKUFaaXVb1IRQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR01MB4017 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,nhi@os.amperecomputing.com X-Gm-Message-State: 9rVYYy5L6NL48NGcKzMx0jWFx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1673583938; bh=jwPALlfEnklN1RuUbOmsUD/bzSMIhnFN6f/vZWAcMd0=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=TqUI7cuTKg/S6i3A1KhBGA/J7fpeDKXFQ7f7FzOy6daJRwjGxrn1GPgp43a2hLt1UXb bq8ot5necZ7zqcWSmnaArYMqTfH0jhTJ/cf4LQ93BqEoJIXxjvH3LuUDhbeAKa/THRLyP 9c1pfGuheRw7ExpNr0szjaFAaZNr0lbm/fY= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1673583940674100005 Content-Type: text/plain; charset="utf-8" From: Vu Nguyen This updates the PCIe modules to add support for Ampere Altra Max processor which features 128 PCIe Gen4 lanes (distributed across eight x16 RCAs) using 32 controllers. Signed-off-by: Nhi Pham --- .../AmpereAltraPkg/Include/NVParamDef.h | 64 ++++++-- .../Library/Ac01PcieLib/PcieCore.h | 8 +- .../Library/BoardPcieLib/BoardPcieLib.c | 63 +++++++- .../Drivers/PcieInitPei/PcieInitPei.c | 16 +- .../Drivers/PcieInitPei/RootComplexNVParam.c | 101 +++++++++--- .../Library/Ac01PcieLib/PcieCore.c | 150 +++++++++++++++--- 6 files changed, 333 insertions(+), 69 deletions(-) diff --git a/Silicon/Ampere/AmpereAltraPkg/Include/NVParamDef.h b/Silicon/A= mpere/AmpereAltraPkg/Include/NVParamDef.h index 3259fa1ea45c..4dfc353d2340 100644 --- a/Silicon/Ampere/AmpereAltraPkg/Include/NVParamDef.h +++ b/Silicon/Ampere/AmpereAltraPkg/Include/NVParamDef.h @@ -29,7 +29,7 @@ As each non-volatile parameter requires 8 bytes, there is a total of 8K parameters. =20 - Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.
+ Copyright (c) 2020 - 2023, Ampere Computing LLC. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -425,10 +425,10 @@ #define NV_SI_RO_BOARD_S0_RCA5_CFG ((107 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x02020202 */ #define NV_SI_RO_BOARD_S0_RCA6_CFG ((108 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x02020202 */ #define NV_SI_RO_BOARD_S0_RCA7_CFG ((109 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x02020003 */ -#define NV_SI_RO_BOARD_S0_RCA0_TXRX_G3PRESET ((110 * 8) + NV_= BOARD_PARAM_START) -#define NV_SI_RO_BOARD_S0_RCA1_TXRX_G3PRESET ((111 * 8) + NV_= BOARD_PARAM_START) -#define NV_SI_RO_BOARD_S0_RCA2_TXRX_G3PRESET ((112 * 8) + NV_= BOARD_PARAM_START) -#define NV_SI_RO_BOARD_S0_RCA3_TXRX_G3PRESET ((113 * 8) + NV_= BOARD_PARAM_START) +#define NV_SI_RO_BOARD_S0_RCA0_TXRX_G3PRESET ((110 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_S0_RCA1_TXRX_G3PRESET ((111 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_S0_RCA2_TXRX_G3PRESET ((112 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_S0_RCA3_TXRX_G3PRESET ((113 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ #define NV_SI_RO_BOARD_S0_RCB0A_TXRX_G3PRESET ((114 * 8) + NV_= BOARD_PARAM_START) #define NV_SI_RO_BOARD_S0_RCB0B_TXRX_G3PRESET ((115 * 8) + NV_= BOARD_PARAM_START) #define NV_SI_RO_BOARD_S0_RCB1A_TXRX_G3PRESET ((116 * 8) + NV_= BOARD_PARAM_START) @@ -437,10 +437,10 @@ #define NV_SI_RO_BOARD_S0_RCB2B_TXRX_G3PRESET ((119 * 8) + NV_= BOARD_PARAM_START) #define NV_SI_RO_BOARD_S0_RCB3A_TXRX_G3PRESET ((120 * 8) + NV_= BOARD_PARAM_START) #define NV_SI_RO_BOARD_S0_RCB3B_TXRX_G3PRESET ((121 * 8) + NV_= BOARD_PARAM_START) -#define NV_SI_RO_BOARD_S0_RCA4_TXRX_G3PRESET ((122 * 8) + NV_= BOARD_PARAM_START) -#define NV_SI_RO_BOARD_S0_RCA5_TXRX_G3PRESET ((123 * 8) + NV_= BOARD_PARAM_START) -#define NV_SI_RO_BOARD_S0_RCA6_TXRX_G3PRESET ((124 * 8) + NV_= BOARD_PARAM_START) -#define NV_SI_RO_BOARD_S0_RCA7_TXRX_G3PRESET ((125 * 8) + NV_= BOARD_PARAM_START) +#define NV_SI_RO_BOARD_S0_RCA4_TXRX_G3PRESET ((122 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_S0_RCA5_TXRX_G3PRESET ((123 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_S0_RCA6_TXRX_G3PRESET ((124 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_S0_RCA7_TXRX_G3PRESET ((125 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ #define NV_SI_RO_BOARD_S0_RCA0_TXRX_G4PRESET ((126 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ #define NV_SI_RO_BOARD_S0_RCA1_TXRX_G4PRESET ((127 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ #define NV_SI_RO_BOARD_S0_RCA2_TXRX_G4PRESET ((128 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ @@ -462,8 +462,8 @@ #define NV_SI_RO_BOARD_S1_RCA5_CFG ((144 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x02020202 */ #define NV_SI_RO_BOARD_S1_RCA6_CFG ((145 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x02020202 */ #define NV_SI_RO_BOARD_S1_RCA7_CFG ((146 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x02020003 */ -#define NV_SI_RO_BOARD_S1_RCA2_TXRX_G3PRESET ((147 * 8) + NV_= BOARD_PARAM_START) -#define NV_SI_RO_BOARD_S1_RCA3_TXRX_G3PRESET ((148 * 8) + NV_= BOARD_PARAM_START) +#define NV_SI_RO_BOARD_S1_RCA2_TXRX_G3PRESET ((147 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_S1_RCA3_TXRX_G3PRESET ((148 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ #define NV_SI_RO_BOARD_S1_RCB0A_TXRX_G3PRESET ((149 * 8) + NV_= BOARD_PARAM_START) #define NV_SI_RO_BOARD_S1_RCB0B_TXRX_G3PRESET ((150 * 8) + NV_= BOARD_PARAM_START) #define NV_SI_RO_BOARD_S1_RCB1A_TXRX_G3PRESET ((151 * 8) + NV_= BOARD_PARAM_START) @@ -472,10 +472,10 @@ #define NV_SI_RO_BOARD_S1_RCB2B_TXRX_G3PRESET ((154 * 8) + NV_= BOARD_PARAM_START) #define NV_SI_RO_BOARD_S1_RCB3A_TXRX_G3PRESET ((155 * 8) + NV_= BOARD_PARAM_START) #define NV_SI_RO_BOARD_S1_RCB3B_TXRX_G3PRESET ((156 * 8) + NV_= BOARD_PARAM_START) -#define NV_SI_RO_BOARD_S1_RCA4_TXRX_G3PRESET ((157 * 8) + NV_= BOARD_PARAM_START) -#define NV_SI_RO_BOARD_S1_RCA5_TXRX_G3PRESET ((158 * 8) + NV_= BOARD_PARAM_START) -#define NV_SI_RO_BOARD_S1_RCA6_TXRX_G3PRESET ((159 * 8) + NV_= BOARD_PARAM_START) -#define NV_SI_RO_BOARD_S1_RCA7_TXRX_G3PRESET ((160 * 8) + NV_= BOARD_PARAM_START) +#define NV_SI_RO_BOARD_S1_RCA4_TXRX_G3PRESET ((157 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_S1_RCA5_TXRX_G3PRESET ((158 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_S1_RCA6_TXRX_G3PRESET ((159 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_S1_RCA7_TXRX_G3PRESET ((160 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ #define NV_SI_RO_BOARD_S1_RCA2_TXRX_G4PRESET ((161 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ #define NV_SI_RO_BOARD_S1_RCA3_TXRX_G4PRESET ((162 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ #define NV_SI_RO_BOARD_S1_RCB0A_TXRX_G4PRESET ((163 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ @@ -523,7 +523,39 @@ #define NV_SI_RO_BOARD_RAS_DDR_CE_TH1 ((205 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x000001F4 */ #define NV_SI_RO_BOARD_RAS_DDR_CE_TH2 ((206 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x00001388 */ #define NV_SI_RO_BOARD_RAS_DDR_CE_THC ((207 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x00000000 */ -#define NV_PMPRO_REGION4_LOAD_END (NV_SI_RO_BOARD_= RAS_DDR_CE_THC) +#define NV_SI_RO_BOARD_MQ_SX_RCA0_TXRX_20GPRESET ((208 * 8) + NV_= BOARD_PARAM_START) +#define NV_SI_RO_BOARD_MQ_SX_RCA1_TXRX_20GPRESET ((209 * 8) + NV_= BOARD_PARAM_START) +#define NV_SI_RO_BOARD_MQ_SX_RCA0_TXRX_25GPRESET ((210 * 8) + NV_= BOARD_PARAM_START) +#define NV_SI_RO_BOARD_MQ_SX_RCA1_TXRX_25GPRESET ((211 * 8) + NV_= BOARD_PARAM_START) +#define NV_SI_RO_BOARD_MQ_S0_RCA0_TXRX_G3PRESET ((212 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S0_RCA1_TXRX_G3PRESET ((213 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S0_RCA2_TXRX_G3PRESET ((214 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S0_RCA3_TXRX_G3PRESET ((215 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S0_RCA4_TXRX_G3PRESET ((216 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S0_RCA5_TXRX_G3PRESET ((217 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S0_RCA6_TXRX_G3PRESET ((218 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S0_RCA7_TXRX_G3PRESET ((219 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S1_RCA2_TXRX_G3PRESET ((220 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S1_RCA3_TXRX_G3PRESET ((221 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S1_RCA4_TXRX_G3PRESET ((222 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S1_RCA5_TXRX_G3PRESET ((223 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S1_RCA6_TXRX_G3PRESET ((224 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S1_RCA7_TXRX_G3PRESET ((225 * 8) + NV_= BOARD_PARAM_START) /* Default: 0xFFFFFFFF */ +#define NV_SI_RO_BOARD_MQ_S0_RCA0_TXRX_G4PRESET ((226 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S0_RCA1_TXRX_G4PRESET ((227 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S0_RCA2_TXRX_G4PRESET ((228 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S0_RCA3_TXRX_G4PRESET ((229 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S0_RCA4_TXRX_G4PRESET ((230 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S0_RCA5_TXRX_G4PRESET ((231 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S0_RCA6_TXRX_G4PRESET ((232 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S0_RCA7_TXRX_G4PRESET ((233 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S1_RCA2_TXRX_G4PRESET ((234 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S1_RCA3_TXRX_G4PRESET ((235 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S1_RCA4_TXRX_G4PRESET ((236 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S1_RCA5_TXRX_G4PRESET ((237 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S1_RCA6_TXRX_G4PRESET ((238 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_SI_RO_BOARD_MQ_S1_RCA7_TXRX_G4PRESET ((239 * 8) + NV_= BOARD_PARAM_START) /* Default: 0x57575757 */ +#define NV_PMPRO_REGION4_LOAD_END (NV_SI_RO_BOARD_= MQ_S1_RCA7_TXRX_G4PRESET) // // NOTE: Add before NV_BOARD_PARAM_MAX and increase its value // diff --git a/Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.h b= /Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.h index 1db8a68b3df4..a18fff7dbb75 100644 --- a/Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.h +++ b/Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.h @@ -1,6 +1,6 @@ /** @file =20 - Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.
+ Copyright (c) 2020 - 2023, Ampere Computing LLC. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -39,6 +39,7 @@ #define PIPE_CLOCK_TIMEOUT 20000 // 20,000 us #define LTSSM_TRANSITION_TIMEOUT 100000 // 100 ms in total #define EP_LINKUP_TIMEOUT (10 * 1000) // 10ms +#define EP_LINKUP_EXTRA_TIMEOUT (500 * 1000) // 500ms #define LINK_WAIT_INTERVAL_US 50 =20 #define PFA_MODE_ENABLE 0 @@ -80,6 +81,7 @@ #define AC01_PCIE_CORE_IRQ_ENABLE_REG 0x30 #define AC01_PCIE_CORE_IRQ_EVENT_STAT_REG 0x38 #define AC01_PCIE_CORE_BLOCK_EVENT_STAT_REG 0x3C +#define AC01_PCIE_CORE_BUS_CONTROL_REG 0x40 #define AC01_PCIE_CORE_RESET_REG 0xC000 #define AC01_PCIE_CORE_CLOCK_REG 0xC004 #define AC01_PCIE_CORE_MEM_READY_REG 0xC104 @@ -87,6 +89,7 @@ =20 // AC01_PCIE_CORE_LINK_CTRL_REG #define LTSSMENB_SET(dst, src) (((dst) & ~0x1) | (((UINT32) (= src)) & 0x1)) +#define LTSSMENB_GET(dst) ((dst) & (BIT0)) #define HOLD_LINK_TRAINING 0 #define START_LINK_TRAINING 1 #define DEVICETYPE_SET(dst, src) (((dst) & ~0xF0) | (((UINT32) = (src) << 4) & 0xF0)) @@ -120,6 +123,9 @@ // AC01_PCIE_CORE_BLOCK_EVENT_STAT_REG #define LINKUP_MASK 0x1 =20 +// AC01_PCIE_CORE_BUS_CONTROL_REG +#define BUS_CTL_CFG_UR_MASK 0x8 + // AC01_PCIE_CORE_RESET_REG #define DWC_PCIE_SET(dst, src) (((dst) & ~0x1) | (((UINT32) (src)) & 0x1= )) #define RESET_MASK 0x1 diff --git a/Platform/Ampere/JadePkg/Library/BoardPcieLib/BoardPcieLib.c b/= Platform/Ampere/JadePkg/Library/BoardPcieLib/BoardPcieLib.c index f49764097219..4e0ba551e09b 100644 --- a/Platform/Ampere/JadePkg/Library/BoardPcieLib/BoardPcieLib.c +++ b/Platform/Ampere/JadePkg/Library/BoardPcieLib/BoardPcieLib.c @@ -2,7 +2,7 @@ Pcie board specific driver to handle asserting PERST signal to Endpoint card. PERST asserting is via group of GPIO pins to CPLD as Platform Spec= ification. =20 - Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.
+ Copyright (c) 2020 - 2023, Ampere Computing LLC. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -20,6 +20,8 @@ #define RCB_MAX_PERST_GROUPVAL 46 #define DEFAULT_SEGMENT_NUMBER 0x0F =20 +#define PCIE_PERST_DELAY (100 * 1000) // 100ms + VOID BoardPcieReleaseAllPerst ( IN UINT8 SocketId @@ -32,6 +34,8 @@ BoardPcieReleaseAllPerst ( for (GpioIndex =3D 0; GpioIndex < 6; GpioIndex++) { GpioModeConfig (GpioPin + GpioIndex, GpioConfigOutHigh); } + + MicroSecondDelay (PCIE_PERST_DELAY); } =20 /** @@ -56,11 +60,54 @@ BoardPcieAssertPerst ( =20 if (!IsPullToHigh) { if (RootComplex->Type =3D=3D RootComplexTypeA) { - // - // RootComplexTypeA: RootComplex->ID: 0->3 ; PcieIndex: 0->3 - // - GpioGroupVal =3D RCA_MAX_PERST_GROUPVAL - PcieIndex - - RootComplex->ID * MaxPcieControllerOfRootComplexA; + if (RootComplex->ID < MaxPcieControllerOfRootComplexA) { + /* Ampere Altra: 4 */ + // + // RootComplexTypeA: RootComplex->ID: 0->3 ; PcieIndex: 0->3 + // + GpioGroupVal =3D RCA_MAX_PERST_GROUPVAL - PcieIndex + - RootComplex->ID * MaxPcieControllerOfRootComplexA; + } else { + /* Ampere Altra Max RootComplex->ID: 4:7 */ + if (PcieIndex < 2) { + switch (RootComplex->ID) { + case 4: + GpioGroupVal =3D 34 - (PcieIndex * 2); + break; + case 5: + GpioGroupVal =3D 38 - (PcieIndex * 2); + break; + case 6: + GpioGroupVal =3D 30 - (PcieIndex * 2); + break; + case 7: + GpioGroupVal =3D 26 - (PcieIndex * 2); + break; + } + } else { + /* PcieIndex 2:3 */ + switch (RootComplex->ID) { + case 4: + GpioGroupVal =3D 46 - ((PcieIndex - 2) * 2); + break; + + case 5: + GpioGroupVal =3D 42 - ((PcieIndex - 2) * 2); + break; + + case 6: + GpioGroupVal =3D 18 - ((PcieIndex - 2) * 2); + break; + + case 7: + GpioGroupVal =3D 22 - ((PcieIndex - 2) * 2); + break; + + default: + DEBUG ((DEBUG_ERROR, "Invalid Root Complex ID %d\n", RootCom= plex->ID)); + } + } + } } else { // // RootComplexTypeB: RootComplex->ID: 4->7 ; PcieIndex: 0->7 @@ -81,7 +128,7 @@ BoardPcieAssertPerst ( } =20 // Keep reset as low as 100 ms as specification - MicroSecondDelay (100 * 1000); + MicroSecondDelay (PCIE_PERST_DELAY); } else { BoardPcieReleaseAllPerst (RootComplex->Socket); } @@ -113,5 +160,5 @@ BoardPcieGetSegmentNumber ( return Ac01BoardSegment[RootComplex->Socket][RootComplex->ID]; } =20 - return DEFAULT_SEGMENT_NUMBER; + return (RootComplex->ID - 2); } diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/PcieInitPei/PcieInitPei.= c b/Silicon/Ampere/AmpereAltraPkg/Drivers/PcieInitPei/PcieInitPei.c index 17f6112ea207..a69193b07005 100644 --- a/Silicon/Ampere/AmpereAltraPkg/Drivers/PcieInitPei/PcieInitPei.c +++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/PcieInitPei/PcieInitPei.c @@ -1,6 +1,6 @@ /** @file =20 - Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.
+ Copyright (c) 2020 - 2023, Ampere Computing LLC. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -94,7 +94,7 @@ BuildRootComplexData ( RootComplex =3D &mRootComplexList[RCIndex]; RootComplex->Active =3D ConfigFound ? RootComplexConfig.RCStatus[RCInd= ex] : TRUE; RootComplex->DevMapLow =3D ConfigFound ? RootComplexConfig.RCBifurcati= onLow[RCIndex] : 0; - RootComplex->DevMapHigh =3D ConfigFound ? RootComplexConfig.RCBifurcat= ionLow[RCIndex] : 0; + RootComplex->DevMapHigh =3D ConfigFound ? RootComplexConfig.RCBifurcat= ionHigh[RCIndex] : 0; RootComplex->Socket =3D RCIndex / AC01_PCIE_MAX_RCS_PER_SOCKET; RootComplex->ID =3D RCIndex % AC01_PCIE_MAX_RCS_PER_SOCKET; RootComplex->CsrBase =3D mCsrBase[RCIndex]; @@ -106,7 +106,12 @@ BuildRootComplexData ( RootComplex->MmioSize =3D mMmioSize[RCIndex]; RootComplex->Mmio32Base =3D mMmio32Base[RCIndex]; RootComplex->Mmio32Size =3D mMmio32Size[RCIndex]; - RootComplex->Type =3D (RootComplex->ID < MaxRootComplexA) ? RootComple= xTypeA : RootComplexTypeB; + if (IsAc01Processor ()) { + RootComplex->Type =3D (RootComplex->ID < MaxRootComplexA) ? RootComp= lexTypeA : RootComplexTypeB; + } else { + RootComplex->Type =3D RootComplexTypeA; + } + RootComplex->MaxPcieController =3D (RootComplex->Type =3D=3D RootCompl= exTypeB) ? MaxPcieControllerOfRootComplexB : M= axPcieControllerOfRootComplexA; RootComplex->Logical =3D BoardPcieGetSegmentNumber (RootComplex); @@ -168,11 +173,14 @@ PcieInitEntry ( continue; } =20 + DEBUG ((DEBUG_INIT, "Initializing S%d-RC%d...", RootComplex->Socket, R= ootComplex->ID)); Status =3D Ac01PcieCoreSetupRC (RootComplex, FALSE, 0); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "RootComplex[%d]: Init Failed\n", Index)); + DEBUG ((DEBUG_ERROR, "Failed\n")); RootComplex->Active =3D FALSE; continue; + } else { + DEBUG ((DEBUG_INIT, "Done + DevMapLow/High: %d/%d\n", RootComplex->D= evMapLow, RootComplex->DevMapHigh)); } } =20 diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/PcieInitPei/RootComplexN= VParam.c b/Silicon/Ampere/AmpereAltraPkg/Drivers/PcieInitPei/RootComplexNVP= aram.c index aa34a90b44c6..1346fa616ab3 100644 --- a/Silicon/Ampere/AmpereAltraPkg/Drivers/PcieInitPei/RootComplexNVParam.c +++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/PcieInitPei/RootComplexNVParam.c @@ -37,7 +37,7 @@ | Y | Y | Y | Y | 3 | ---------------------------------------- =20 - Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.
+ Copyright (c) 2020 - 2023, Ampere Computing LLC. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -149,6 +149,10 @@ GetDefaultDevMap ( AC01_ROOT_COMPLEX *RootComplex ) { + BOOLEAN IsAc01; + + IsAc01 =3D IsAc01Processor (); + if (RootComplex->Pcie[PcieController0].Active && RootComplex->Pcie[PcieController1].Active && RootComplex->Pcie[PcieController2].Active @@ -169,14 +173,20 @@ GetDefaultDevMap ( && RootComplex->Pcie[PcieController5].Active && RootComplex->Pcie[PcieController6].Active && RootComplex->Pcie[PcieController7].Active) { - RootComplex->DefaultDevMapHigh =3D DevMapMode4; + if (IsAc01) { + RootComplex->DefaultDevMapHigh =3D DevMapMode4; + } } else if (RootComplex->Pcie[PcieController4].Active && RootComplex->Pcie[PcieController6].Active && RootComplex->Pcie[PcieController7].Active) { - RootComplex->DefaultDevMapHigh =3D DevMapMode3; + if (IsAc01) { + RootComplex->DefaultDevMapHigh =3D DevMapMode3; + } } else if (RootComplex->Pcie[PcieController4].Active && RootComplex->Pcie[PcieController6].Active) { - RootComplex->DefaultDevMapHigh =3D DevMapMode2; + if (IsAc01) { + RootComplex->DefaultDevMapHigh =3D DevMapMode2; + } } else { RootComplex->DefaultDevMapHigh =3D DevMapMode1; } @@ -203,12 +213,17 @@ GetLaneAllocation ( EFI_STATUS Status; INTN RPIndex; NVPARAM NvParamOffset; - UINT32 Value, Width; + UINT32 Value, Width, Controller; =20 // Retrieve lane allocation and capabilities for each controller if (RootComplex->Type =3D=3D RootComplexTypeA) { - NvParamOffset =3D (RootComplex->Socket =3D=3D 0) ? NV_SI_RO_BOARD_S0_R= CA0_CFG : NV_SI_RO_BOARD_S1_RCA0_CFG; - NvParamOffset +=3D RootComplex->ID * NV_PARAM_ENTRYSIZE; + if (RootComplex->ID < MaxPcieControllerOfRootComplexA) { + NvParamOffset =3D (RootComplex->Socket =3D=3D 0) ? NV_SI_RO_BOARD_S= 0_RCA0_CFG : NV_SI_RO_BOARD_S1_RCA0_CFG; + NvParamOffset +=3D RootComplex->ID * NV_PARAM_ENTRYSIZE; + } else { + NvParamOffset =3D (RootComplex->Socket =3D=3D 0) ? NV_SI_RO_BOARD_S= 0_RCA4_CFG : NV_SI_RO_BOARD_S1_RCA4_CFG; + NvParamOffset +=3D (RootComplex->ID - MaxPcieControllerOfRootComplex= A) * NV_PARAM_ENTRYSIZE; + } } else { // // There're two NVParam entries per RootComplexTypeB @@ -222,7 +237,13 @@ GetLaneAllocation ( Value =3D 0; } =20 - for (RPIndex =3D 0; RPIndex < MaxPcieControllerOfRootComplexA; RPIndex++= ) { + if (IsAc01Processor ()) { + Controller =3D MaxPcieControllerOfRootComplexA; + } else { + Controller =3D RootComplex->MaxPcieController; + } + + for (RPIndex =3D PcieController0; RPIndex < Controller; RPIndex++) { Width =3D (Value >> (RPIndex * BITS_PER_BYTE)) & BYTE_MASK; switch (Width) { case 1: @@ -245,7 +266,7 @@ GetLaneAllocation ( =20 if (RootComplex->Type =3D=3D RootComplexTypeB) { NvParamOffset +=3D NV_PARAM_ENTRYSIZE; - Status =3D NVParamGet (NvParamOffset, NV_PERM_ALL, &Value); + Status =3D NVParamGet (NvParamOffset, NV_PERM_ALL, &Value); if (EFI_ERROR (Status)) { Value =3D 0; } @@ -288,9 +309,17 @@ GetGen3PresetNvParamOffset ( if (RootComplex->Socket =3D=3D 0) { if (RootComplex->Type =3D=3D RootComplexTypeA) { if (RootComplex->ID < MaxRootComplexA) { - NvParamOffset =3D NV_SI_RO_BOARD_S0_RCA0_TXRX_G3PRESET + RootCompl= ex->ID * NV_PARAM_ENTRYSIZE; + if (IsAc01Processor ()) { + NvParamOffset =3D NV_SI_RO_BOARD_S0_RCA0_TXRX_G3PRESET + RootCom= plex->ID * NV_PARAM_ENTRYSIZE; + } else { + NvParamOffset =3D NV_SI_RO_BOARD_MQ_S0_RCA0_TXRX_G3PRESET + Root= Complex->ID * NV_PARAM_ENTRYSIZE; + } } else { - NvParamOffset =3D NV_SI_RO_BOARD_S0_RCA4_TXRX_G3PRESET + (RootComp= lex->ID - MaxRootComplexA) * NV_PARAM_ENTRYSIZE; + if (IsAc01Processor ()) { + NvParamOffset =3D NV_SI_RO_BOARD_S0_RCA4_TXRX_G3PRESET + (RootCo= mplex->ID - MaxRootComplexA) * NV_PARAM_ENTRYSIZE; + } else { + NvParamOffset =3D NV_SI_RO_BOARD_MQ_S0_RCA4_TXRX_G3PRESET + (Roo= tComplex->ID - MaxRootComplexA) * NV_PARAM_ENTRYSIZE; + } } } else { // @@ -300,9 +329,17 @@ GetGen3PresetNvParamOffset ( } } else if (RootComplex->Type =3D=3D RootComplexTypeA) { if (RootComplex->ID < MaxRootComplexA) { - NvParamOffset =3D NV_SI_RO_BOARD_S1_RCA2_TXRX_G3PRESET + (RootComple= x->ID - 2) * NV_PARAM_ENTRYSIZE; + if (IsAc01Processor ()) { + NvParamOffset =3D NV_SI_RO_BOARD_S1_RCA2_TXRX_G3PRESET + (RootComp= lex->ID - 2) * NV_PARAM_ENTRYSIZE; + } else { + NvParamOffset =3D NV_SI_RO_BOARD_MQ_S1_RCA2_TXRX_G3PRESET + (RootC= omplex->ID - 2) * NV_PARAM_ENTRYSIZE; + } } else { - NvParamOffset =3D NV_SI_RO_BOARD_S1_RCA4_TXRX_G3PRESET + (RootComple= x->ID - MaxRootComplexA) * NV_PARAM_ENTRYSIZE; + if (IsAc01Processor ()) { + NvParamOffset =3D NV_SI_RO_BOARD_S1_RCA4_TXRX_G3PRESET + (RootComp= lex->ID - MaxRootComplexA) * NV_PARAM_ENTRYSIZE; + } else { + NvParamOffset =3D NV_SI_RO_BOARD_MQ_S1_RCA4_TXRX_G3PRESET + (RootC= omplex->ID - MaxRootComplexA) * NV_PARAM_ENTRYSIZE; + } } } else { // @@ -324,9 +361,17 @@ GetGen4PresetNvParamOffset ( if (RootComplex->Socket =3D=3D 0) { if (RootComplex->Type =3D=3D RootComplexTypeA) { if (RootComplex->ID < MaxRootComplexA) { - NvParamOffset =3D NV_SI_RO_BOARD_S0_RCA0_TXRX_G4PRESET + RootCompl= ex->ID * NV_PARAM_ENTRYSIZE; + if (IsAc01Processor ()) { + NvParamOffset =3D NV_SI_RO_BOARD_S0_RCA0_TXRX_G4PRESET + RootCom= plex->ID * NV_PARAM_ENTRYSIZE; + } else { + NvParamOffset =3D NV_SI_RO_BOARD_MQ_S0_RCA0_TXRX_G4PRESET + Root= Complex->ID * NV_PARAM_ENTRYSIZE; + } } else { - NvParamOffset =3D NV_SI_RO_BOARD_S0_RCA4_TXRX_G4PRESET + (RootComp= lex->ID - MaxRootComplexA) * NV_PARAM_ENTRYSIZE; + if (IsAc01Processor ()) { + NvParamOffset =3D NV_SI_RO_BOARD_S0_RCA4_TXRX_G4PRESET + (RootCo= mplex->ID - MaxRootComplexA) * NV_PARAM_ENTRYSIZE; + } else { + NvParamOffset =3D NV_SI_RO_BOARD_MQ_S0_RCA4_TXRX_G4PRESET + (Roo= tComplex->ID - MaxRootComplexA) * NV_PARAM_ENTRYSIZE; + } } } else { // @@ -336,9 +381,17 @@ GetGen4PresetNvParamOffset ( } } else if (RootComplex->Type =3D=3D RootComplexTypeA) { if (RootComplex->ID < MaxRootComplexA) { - NvParamOffset =3D NV_SI_RO_BOARD_S1_RCA2_TXRX_G4PRESET + (RootComple= x->ID - 2) * NV_PARAM_ENTRYSIZE; + if (IsAc01Processor ()) { + NvParamOffset =3D NV_SI_RO_BOARD_S1_RCA2_TXRX_G4PRESET + (RootComp= lex->ID - 2) * NV_PARAM_ENTRYSIZE; + } else { + NvParamOffset =3D NV_SI_RO_BOARD_MQ_S1_RCA2_TXRX_G4PRESET + (RootC= omplex->ID - 2) * NV_PARAM_ENTRYSIZE; + } } else { - NvParamOffset =3D NV_SI_RO_BOARD_S1_RCA4_TXRX_G4PRESET + (RootComple= x->ID - MaxRootComplexA) * NV_PARAM_ENTRYSIZE; + if (IsAc01Processor ()) { + NvParamOffset =3D NV_SI_RO_BOARD_S1_RCA4_TXRX_G4PRESET + (RootComp= lex->ID - MaxRootComplexA) * NV_PARAM_ENTRYSIZE; + } else { + NvParamOffset =3D NV_SI_RO_BOARD_MQ_S1_RCA4_TXRX_G4PRESET + (RootC= omplex->ID - MaxRootComplexA) * NV_PARAM_ENTRYSIZE; + } } } else { // @@ -352,7 +405,7 @@ GetGen4PresetNvParamOffset ( =20 VOID GetPresetSetting ( - AC01_ROOT_COMPLEX *RootComplex + AC01_ROOT_COMPLEX *RootComplex ) { EFI_STATUS Status; @@ -377,7 +430,7 @@ GetPresetSetting ( =20 if (RootComplex->Type =3D=3D RootComplexTypeB) { NvParamOffset +=3D NV_PARAM_ENTRYSIZE; - Status =3D NVParamGet (NvParamOffset, NV_PERM_ALL, &Value); + Status =3D NVParamGet (NvParamOffset, NV_PERM_ALL, &Value); if (!EFI_ERROR (Status)) { for (Index =3D MaxPcieControllerOfRootComplexA; Index < MaxPcieContr= oller; Index++) { RootComplex->PresetGen3[Index] =3D (Value >> ((Index - MaxPcieCont= rollerOfRootComplexA) * BITS_PER_BYTE)) & BYTE_MASK; @@ -414,7 +467,7 @@ GetMaxSpeedGen ( UINT8 ErrataSpeedDevMap3[MaxPcieControllerOfRootComplexA] =3D { LINK_SPE= ED_GEN4, LINK_SPEED_GEN4, LINK_SPEED_GEN1, LINK_SPEED_GEN1 }; // Bifurcati= on 2: x8 x4 x4 (PCIE_ERRATA_SPEED1) UINT8 ErrataSpeedDevMap4[MaxPcieControllerOfRootComplexA] =3D { LINK_SPE= ED_GEN1, LINK_SPEED_GEN1, LINK_SPEED_GEN1, LINK_SPEED_GEN1 }; // Bifurcati= on 3: x4 x4 x4 x4 (PCIE_ERRATA_SPEED1) UINT8 ErrataSpeedRcb[MaxPcieControllerOfRootComplexA] =3D { LINK_SPEED_G= EN1, LINK_SPEED_GEN1, LINK_SPEED_GEN1, LINK_SPEED_GEN1 }; // RootCompl= exTypeB PCIE_ERRATA_SPEED1 - UINT8 Idx; + UINT8 Idx, Controller; UINT8 *MaxGen; =20 ASSERT (MaxPcieControllerOfRootComplexA =3D=3D 4); @@ -452,7 +505,13 @@ GetMaxSpeedGen ( } } =20 - for (Idx =3D 0; Idx < MaxPcieControllerOfRootComplexA; Idx++) { + if (IsAc01Processor ()) { + Controller =3D MaxPcieControllerOfRootComplexA; + } else { + Controller =3D RootComplex->MaxPcieController; + } + + for (Idx =3D 0; Idx < Controller; Idx++) { RootComplex->Pcie[Idx].MaxGen =3D RootComplex->Pcie[Idx].Active ? MaxG= en[Idx] : LINK_SPEED_NONE; } =20 diff --git a/Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.c b= /Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.c index ad648b1b9efd..12bd2c14544e 100644 --- a/Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.c +++ b/Silicon/Ampere/AmpereAltraPkg/Library/Ac01PcieLib/PcieCore.c @@ -1,6 +1,6 @@ /** @file =20 - Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.
+ Copyright (c) 2020 - 2023, Ampere Computing LLC. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -10,8 +10,10 @@ =20 #include #include +#include #include #include +#include #include #include #include @@ -22,6 +24,25 @@ =20 #include "PcieCore.h" =20 +VOID +EnableDbiAccess ( + AC01_ROOT_COMPLEX *RootComplex, + UINT32 PcieIndex, + BOOLEAN EnableDbi + ); + +BOOLEAN +EndpointCfgReady ( + IN AC01_ROOT_COMPLEX *RootComplex, + IN UINT8 PcieIndex, + IN UINT32 Timeout + ); + +BOOLEAN +PcieLinkUpCheck ( + IN AC01_PCIE_CONTROLLER *Pcie + ); + /** Return the next extended capability base address =20 @@ -41,14 +62,38 @@ GetCapabilityBase ( { BOOLEAN IsExtCapability =3D FALSE; PHYSICAL_ADDRESS CfgBase; + PHYSICAL_ADDRESS Ret =3D 0; + PHYSICAL_ADDRESS RootComplexCfgBase; UINT32 CapabilityId; UINT32 NextCapabilityPtr; UINT32 Val; + UINT32 RestoreVal; =20 - if (IsRootComplex) { - CfgBase =3D RootComplex->MmcfgBase + (RootComplex->Pcie[PcieIndex].Dev= Num << DEV_SHIFT); - } else { + RootComplexCfgBase =3D RootComplex->MmcfgBase + (RootComplex->Pcie[PcieI= ndex].DevNum << DEV_SHIFT); + if (!IsRootComplex) { + // Allow programming to config space + EnableDbiAccess (RootComplex, PcieIndex, TRUE); + + Val =3D MmioRead32 (RootComplexCfgBase + SEC_LAT_TIMER_SUB_BUS_= SEC_BUS_PRI_BUS_REG); + RestoreVal =3D Val; + Val =3D SUB_BUS_SET (Val, DEFAULT_SUB_BUS); + Val =3D SEC_BUS_SET (Val, RootComplex->Pcie[PcieIndex].DevNum); + Val =3D PRIM_BUS_SET (Val, 0x0); + MmioWrite32 (RootComplexCfgBase + SEC_LAT_TIMER_SUB_BUS_SEC_BUS_PRI_BU= S_REG, Val); CfgBase =3D RootComplex->MmcfgBase + (RootComplex->Pcie[PcieIndex].Dev= Num << BUS_SHIFT); + + if (!EndpointCfgReady (RootComplex, PcieIndex, EP_LINKUP_TIMEOUT)) { + goto _CheckCapEnd; + } + } else { + CfgBase =3D RootComplexCfgBase; + } + + // Check if device provide capability + Val =3D MmioRead32 (CfgBase + PCI_COMMAND_OFFSET); + Val =3D GET_HIGH_16_BITS (Val); /* Status */ + if (!(Val & EFI_PCI_STATUS_CAPABILITY)) { + goto _CheckCapEnd; } =20 Val =3D MmioRead32 (CfgBase + TYPE1_CAP_PTR_REG); @@ -58,7 +103,8 @@ GetCapabilityBase ( while (1) { if ((NextCapabilityPtr & WORD_ALIGN_MASK) !=3D 0) { // Not alignment, just return - return 0; + Ret =3D 0; + goto _CheckCapEnd; } =20 Val =3D MmioRead32 (CfgBase + NextCapabilityPtr); @@ -69,7 +115,8 @@ GetCapabilityBase ( } =20 if (CapabilityId =3D=3D ExtCapabilityId) { - return (CfgBase + NextCapabilityPtr); + Ret =3D (CfgBase + NextCapabilityPtr); + goto _CheckCapEnd; } =20 if (NextCapabilityPtr < EXT_CAPABILITY_START_BASE) { @@ -84,9 +131,20 @@ GetCapabilityBase ( } =20 if ((NextCapabilityPtr =3D=3D 0) && IsExtCapability) { - return 0; + Ret =3D 0; + goto _CheckCapEnd; } } + +_CheckCapEnd: + if (!IsRootComplex) { + MmioWrite32 (RootComplexCfgBase + SEC_LAT_TIMER_SUB_BUS_SEC_BUS_PRI_BU= S_REG, RestoreVal); + + // Disable programming to config space + EnableDbiAccess (RootComplex, PcieIndex, FALSE); + } + + return Ret; } =20 /** @@ -677,6 +735,14 @@ Ac01PcieCoreSetupRC ( // Hold link training StartLinkTraining (RootComplex, PcieIndex, FALSE); =20 + // Clear BUSCTRL.CfgUrMask to set CRS (Configuration Request Retry Sta= tus) to 0xFFFF.FFFF + // rather than 0xFFFF.0001 as per PCIe specification requirement. Othe= rwise, this causes + // device drivers respond incorrectly on timeout due to long device op= erations. + TargetAddress =3D CsrBase + AC01_PCIE_CORE_BUS_CONTROL_REG; + Val =3D MmioRead32 (TargetAddress); + Val &=3D ~BUS_CTL_CFG_UR_MASK; + MmioWrite32 (TargetAddress, Val); + if (!EnableAxiPipeClock (RootComplex, PcieIndex)) { DEBUG ((DEBUG_ERROR, "- Pcie[%d] - PIPE clock is not stable\n", Pcie= Index)); return RETURN_DEVICE_ERROR; @@ -688,9 +754,14 @@ Ac01PcieCoreSetupRC ( // Allow programming to config space EnableDbiAccess (RootComplex, PcieIndex, TRUE); =20 - // Program the power limit TargetAddress =3D CfgBase + PCIE_CAPABILITY_BASE + SLOT_CAPABILITIES_R= EG; Val =3D MmioRead32 (TargetAddress); + // In order to detect the NVMe disk for booting without disk, + // need to set Hot-Plug Slot Capable during port initialization. + // It will help PCI Linux driver to initialize its slot iomem resource, + // the one is used for detecting the disk when it is inserted. + Val =3D SLOT_HPC_SET (Val, 1); + // Program the power limit Val =3D SLOT_CAP_SLOT_POWER_LIMIT_VALUE_SET (Val, SLOT_POWER_LIMIT_75W= ); MmioWrite32 (TargetAddress, Val); =20 @@ -755,6 +826,7 @@ Ac01PcieCoreSetupRC ( // Link timeout after 1ms SetLinkTimeout (RootComplex, PcieIndex, 1); =20 + // Mask Completion Timeout DisableCompletionTimeOut (RootComplex, PcieIndex, TRUE); =20 ProgramRootPortInfo (RootComplex, PcieIndex); @@ -1067,21 +1139,20 @@ Ac01PFACommand ( return Ret; } =20 -UINT32 +BOOLEAN EndpointCfgReady ( IN AC01_ROOT_COMPLEX *RootComplex, - IN UINT8 PcieIndex + IN UINT8 PcieIndex, + IN UINT32 TimeOut ) { PHYSICAL_ADDRESS CfgBase; - UINT32 TimeOut; UINT32 Val; =20 CfgBase =3D RootComplex->MmcfgBase + (RootComplex->Pcie[PcieIndex].DevNu= m << BUS_SHIFT); =20 // Loop read CfgBase value until got valid value or - // reach to timeout EP_LINKUP_TIMEOUT (or more depend on card) - TimeOut =3D EP_LINKUP_TIMEOUT; + // reach to Timeout (or more depend on card) do { Val =3D MmioRead32 (CfgBase); if (Val !=3D 0xFFFF0001 && Val !=3D 0xFFFFFFFF) { @@ -1111,7 +1182,7 @@ Ac01PcieCoreGetEndpointInfo ( OUT UINT8 *EpMaxGen ) { - PHYSICAL_ADDRESS CfgBase; + PHYSICAL_ADDRESS CfgBase, EpCfgAddr; PHYSICAL_ADDRESS PcieCapBase; PHYSICAL_ADDRESS SecLatTimerAddr; PHYSICAL_ADDRESS TargetAddress; @@ -1133,8 +1204,23 @@ Ac01PcieCoreGetEndpointInfo ( Val =3D SEC_BUS_SET (Val, RootComplex->Pcie[PcieIndex].DevNum); Val =3D PRIM_BUS_SET (Val, DEFAULT_PRIM_BUS); MmioWrite32 (SecLatTimerAddr, Val); + EpCfgAddr =3D RootComplex->MmcfgBase + (RootComplex->Pcie[PcieIndex].Dev= Num << BUS_SHIFT); =20 - if (EndpointCfgReady (RootComplex, PcieIndex)) { + if (!EndpointCfgReady (RootComplex, PcieIndex, EP_LINKUP_EXTRA_TIMEOUT))= { + goto Exit; + } + + Val =3D MmioRead32 (EpCfgAddr); + // Check whether EP config space is accessible or not + if (Val =3D=3D 0xFFFFFFFF) { + *EpMaxWidth =3D 0; // Invalid Width + *EpMaxGen =3D 0; // Invalid Speed + DEBUG ((DEBUG_ERROR, "PCIE%d.%d Cannot access EP config space!\n", Roo= tComplex->ID, PcieIndex)); + } else if (Val =3D=3D 0xFFFF0001) { + *EpMaxWidth =3D 0; // Invalid Width + *EpMaxGen =3D 0; // Invalid Speed + DEBUG ((DEBUG_ERROR, "PCIE%d.%d EP config space still not ready to acc= ess, need poll more time!!!\n", RootComplex->ID, PcieIndex)); + } else { PcieCapBase =3D GetCapabilityBase (RootComplex, PcieIndex, FALSE, PCIE= _CAPABILITY_ID); if (PcieCapBase =3D=3D 0) { DEBUG (( @@ -1164,6 +1250,7 @@ Ac01PcieCoreGetEndpointInfo ( } } =20 +Exit: // Restore value in order to not affect enumeration process MmioWrite32 (SecLatTimerAddr, RestoreVal); =20 @@ -1280,6 +1367,30 @@ Ac01PcieCoreQoSLinkCheckRecovery ( return LINK_CHECK_SUCCESS; } =20 +BOOLEAN +Ac01PcieCoreCheckCardPresent ( + IN AC01_PCIE_CONTROLLER *PcieController + ) +{ + EFI_PHYSICAL_ADDRESS TargetAddress; + UINT32 ControlValue; + + ControlValue =3D 0; + + TargetAddress =3D PcieController->CsrBase; + + ControlValue =3D MmioRead32 (TargetAddress + AC01_PCIE_CORE_LINK_CTRL_RE= G); + + if (0 =3D=3D LTSSMENB_GET (ControlValue)) { + // + // LTSSMENB is clear to 0x00 by Hardware -> link partner is connected. + // + return TRUE; + } + + return FALSE; +} + VOID Ac01PcieCoreUpdateLink ( IN AC01_ROOT_COMPLEX *RootComplex, @@ -1328,16 +1439,17 @@ Ac01PcieCoreUpdateLink ( // Doing link checking and recovery if needed Ac01PcieCoreQoSLinkCheckRecovery (RootComplex, PcieIndex); =20 - // Link timeout after 32ms - SetLinkTimeout (RootComplex, PcieIndex, 32); - // Un-mask Completion Timeout DisableCompletionTimeOut (RootComplex, PcieIndex, FALSE); =20 } else { - *IsNextRoundNeeded =3D FALSE; FailedPciePtr[*FailedPcieCount] =3D PcieIndex; *FailedPcieCount +=3D 1; + + if (Ac01PcieCoreCheckCardPresent (Pcie)) { + *IsNextRoundNeeded =3D TRUE; + DEBUG ((DEBUG_INFO, "PCIE%d.%d Link retry\n", RootComplex->ID, P= cieIndex)); + } } } } --=20 2.25.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#98437): https://edk2.groups.io/g/devel/message/98437 Mute This Topic: https://groups.io/mt/96240128/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Mon Feb 9 00:11:58 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+98438+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+98438+1787277+3901457@groups.io; arc=fail (BodyHash is different from the expected one) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1673583964145547.5126760757013; Thu, 12 Jan 2023 20:26:04 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id IHiOYY1788612xb1bn4qfmid; Thu, 12 Jan 2023 20:26:03 -0800 X-Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.132]) by mx.groups.io with SMTP id smtpd.web11.78729.1673583960381044390 for ; Thu, 12 Jan 2023 20:26:01 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jm4NZH9Z31G82Td4i6HFSeK1oxisH4cY3TFfZKsgEkhepGowmMil4dq0w7aUAi1UrKB84VBNPycDGOgSNSVIpVPElLnKHbJjIg2NA2hu5YmJVQIbeNyYMMLq2xBrDcwPe0o3qVgrXuDpQiyD6o5oIAIhWQYmDinC2X3b1SUx/eDG9qNXqLHpjGoTC8qV0H8fGCUk3PeteZJU1c80AvFcmb5ZJA86JuizILknF8udAKCuCjzv31SGoNgTz46cHW35DM7/uc/i32KKIGak5kt0LJjXdyHICxcX5037ahQUCeDNU47WgIYfk4iOnGhHCDQcO27P3ImuZ96mNnqgWwh3EQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lw6yNabbbbJwZDpvT3uSBk8ICbgDGHkldS+x67VRYa8=; b=WrzZ8m3odOpTmzEGtyfxE6sTeqPrzxJQIHK/Q6/3dQS5zvg+72+rRlOk96fU5eGVKZ7m6Jcd2fNbUy12ay7oIYImAbpVGxaQvMngPjFBgeK++SfgwuzxaFCRPhSIZGjlh5nEVlXMn1JtUbKS/RilnXqq3QgSFkU+LKxWaOGKjDk2m+EChDtNMz97XlYB/6xN/B38QTDf0CqKyJ1he+pHDOWC3vL+imFfKJyvoKxeQ71POQrbo5hDSo4iR7etq2V8MzvHcWbfFSplW49878nB3yVZs+UjieJle8pW+SYjR/K38MWUCsOrlO0afVcvOXsmpluYUS2GPDqKBG77hneoJw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none X-Received: from PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) by BL0PR01MB4017.prod.exchangelabs.com (2603:10b6:208:27::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6002.13; Fri, 13 Jan 2023 04:25:37 +0000 X-Received: from PH0PR01MB7287.prod.exchangelabs.com ([fe80::d70e:926e:41bb:a73a]) by PH0PR01MB7287.prod.exchangelabs.com ([fe80::d70e:926e:41bb:a73a%5]) with mapi id 15.20.6002.013; Fri, 13 Jan 2023 04:25:37 +0000 From: "Nhi Pham via groups.io" To: devel@edk2.groups.io CC: patches@amperecomputing.com, quic_llindhol@quicinc.com, ardb+tianocore@kernel.org, Tinh Nguyen , Nhi Pham Subject: [edk2-devel] [edk2-platforms][PATCH 2/2] JadePkg: ACPI: Support ACPI tables for Ampere Altra Max Date: Fri, 13 Jan 2023 11:25:17 +0700 Message-ID: <20230113042517.3107802-3-nhi@os.amperecomputing.com> In-Reply-To: <20230113042517.3107802-1-nhi@os.amperecomputing.com> References: <20230113042517.3107802-1-nhi@os.amperecomputing.com> X-ClientProxiedBy: SI2PR04CA0001.apcprd04.prod.outlook.com (2603:1096:4:197::12) To PH0PR01MB7287.prod.exchangelabs.com (2603:10b6:510:10a::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR01MB7287:EE_|BL0PR01MB4017:EE_ X-MS-Office365-Filtering-Correlation-Id: 29b17e7e-01b3-4b24-c7ca-08daf51e37e4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Message-Info: UOejxtNrgzAyzRaiqvCxBI6XyhopPul6JnISeTCXB+CjYjW7KHbjxSsTDn0kWG0k119Fs2abaKdTUpfnec9GAq7+urGl325wnlqZxy7koEaKNqTDaFH9R46KghmhIVvaCA1dBigMzAumUVafLOtuRtULcO/Ub9yuSP5qvBgxNgMjU5jjS98SkDyHm9xZuE/SK62MPx6xIMuH467Id3ZQn312TE3VSvvD0YmjXeEQj20rDQn11EyKHmL4NXnM06ow/7XzCtbZ1dnWs8aNzYA/29g/pj55xueAZMZzOvLgJER/oXqmNQG7jFVPaPg4rcCBSqC8XwaNG8+my15VaS3hCNW9WHkeH/TuualEHaChGOWsS1Ap6Hu87+gOvhpj6X0FtdeG0jmnwgPxs4/qZOmroMjz6paaJgJkEQippuQhRmzfrDibUEcM1Zs8WVc7QlSrta7rdsJ6ixwV77SKrzY3FwY1qVn40UyU04Qn1W18Ap4H0YdvLr95qEFC5/LV786kpVuq4wow21HRSBN1QE7TrfdSjAGxC2r7mfnU8Zz/JqhiUcM9z3AYxnY46LStGhBcWVvl9mES77u97VFmbqOUPFt0dskNUB6ckFeyTzWWTARy4Szj+u9EOetRoGpkrT/VQRqQfn2rh/wRwMNg7NspvHx1uvMMmV2SMmOFrDdvFQAe/y0sMQd9aTc4ubXUjKlRsEha+LH0/C60SRExV2fqe5vd+TCgDLz/TsyXDonA7uv5u7mqAJ66UnTYk0kuRjYX+lQ1DTTH7S5criti4sfV+Q== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?/akY5rbh3NVpahIlAyeV3RtIMWjHjXAq09EtIinpGFlB6aCCsnhTnY1WNOJE?= =?us-ascii?Q?0AYbtPmldTUt3UVvzUVg7CFhiuhFjGzxTTtrKNvSNE6FqeIKVa7Vn/ND/ISa?= =?us-ascii?Q?kD8672qJiCuPz2MrG3GpMD/7ZLqAFXwmOxSfx+3TRQbWhE+wTwSg0Rni6NMu?= =?us-ascii?Q?Oj6cO2AAiSEU3JJbJ6wR4NieMjRS04FZTB3ECv2Wgosh/5UfUPKRa5ISIK8M?= =?us-ascii?Q?Lp0ooogKVBmfg5fFYBe7N278sVssqwh+429KX8GmkY4FyCiXTYBntu4NLiKf?= =?us-ascii?Q?lkQ9a4bw8NxVc3Guf4FuuajuWGtuLzXy7M6ry8LUD5Rpm3EgVvRNeOKXcR3j?= =?us-ascii?Q?poZTetWcbZkwtFlQfxxE3jcsT/Ppjj0UXmAliEnuZR1gavdIlWrKRBVS46HR?= =?us-ascii?Q?Ql7HJTluDoNt5hhfRqiOAtPl5fw6BONZB2d3lSLRrCDUK3C4NKyxclrH6Omd?= =?us-ascii?Q?f7tnPj0hm5MGjVzWVdjHMIq8BcE+wfu7O+fAo0gKhHwf8RE4y/76NNi1nMxN?= =?us-ascii?Q?te87tmXFHXC2T7olnPBwEvlV27T7O/8ZOmvscao1Mg/v4xiVniqOnLoxLhZh?= =?us-ascii?Q?Zp0CJ4mbIYmlXWZLI5VawFY5rmvqKX78mgshiJgn6dOHR+RWDeNtMJdUClId?= =?us-ascii?Q?M4mBlZESw0XyqDUMRYRvz+25Nwqa9laaoUc1lL/ywfOgyhlNQW1P9EGCtmbL?= =?us-ascii?Q?HmrW0T+cj9Y82sRC5Ihn6AL2ey2y5ShYljJyTDLZreD+jlZkLDpdpJXXD3EW?= =?us-ascii?Q?oAi/Vu+vzY85r2TVTwwSlZkog6+1+pp/6rM6xa2wRFA7YyO2+z75is2EANlC?= =?us-ascii?Q?AMdrZtpK25f6if9AKnxIxq00622vvHbbvdPu0rAIk5+UYTN94nBTJWV9+RMs?= =?us-ascii?Q?1K+h8QfPauOcPSzd4TLKV7KB5lZtHNbcv1RyxP4ttzOefqNtrRpvfylwPDX9?= =?us-ascii?Q?0CDpb6/aZo2N7kwnkb/NJFQBe+la0Yi64xjsRMleJb7b0nH8xHRz1D/Qs6kv?= =?us-ascii?Q?RbbPQ5+Inacn5XBe08KSnbSfJh0LwT+kJ2dBrpmTCuY5yUawBdNLREl4a45K?= =?us-ascii?Q?CE7f1pdE1e+PIZzG/f0q9YhBBsrZElsJp4QOJpjbZNSXNfHKVnUbb1I3Bb8R?= =?us-ascii?Q?EgUjQs5QLbCgVIrTFmZeD6AnGWA9wy7hHD9SN2tgkT1klgiJz0LRiU0vCgQH?= =?us-ascii?Q?HV+MhdoPpeE77f/ah9FwA9YivF7BILKXhG09qVb8HvfrUHWRMY+UPTSw/0cf?= =?us-ascii?Q?wJqke3rsG5QfSW1PLoF4qjcRWwfPVkC8Oc402EJBFgSET0ldDCXWVN6nYLI5?= =?us-ascii?Q?nUMV+yy+GPzV5/wKyG8i9qwokU21WJbwBakqAWfqfW2q2tiKYfT4Uk5YR3Bo?= =?us-ascii?Q?0RMptMU8S3oM2wI4TQWmyLm0NkRCVa3MhGGjAJu5kzvNnU0HdkHUgpOooPKE?= =?us-ascii?Q?EJtxwOPDOU/kUNLxlblNNmTDahe4TC3rfl8yMNw+KQ7EVcYBOi+RZHSQalOL?= =?us-ascii?Q?i3IYZdtXZ7uTQqRRcdiuPZANU5srvRwIBV5ZxcH6fZQI0yWa5v/JecCZYMgg?= =?us-ascii?Q?DoUonk0tLdTV9fnWgEizvj8Lm9Jl4HwLDDvojZ7L9NFtefZVuPvoG5/xZBCt?= =?us-ascii?Q?xTDLOCqR9SdPjYKOLCHuK+U=3D?= X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 29b17e7e-01b3-4b24-c7ca-08daf51e37e4 X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB7287.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2023 04:25:37.2377 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: lW5Y37zTlsJc4H4g3xCvVKPkmUIJU4jpP6kCTJ1gqXZRggzcrtY6Y4sBqGJsjrMX2mPHUssExRmq2UrI0IWwLjum629X+AkJFje+pcjtAso= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR01MB4017 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,nhi@os.amperecomputing.com X-Gm-Message-State: m7mepUGF8p6vifTwbyzhYVrjx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1673583963; bh=xxFJJzGtBiBSJ71o975KC/gIWgYAQnSPQZSKCkZwWno=; h=CC:Content-Type:Date:From:Reply-To:Subject:To; b=AYzQafPLweD2C3f2B7zvI+9FyxqvPq4dyhj8F9lb4AtDbSqF6vNsNU8MSRHxCSgY3so KQyXosjOD0/32uI1QsSytOCgDoLyPXUH8BRHKWb/9KDxgQQYYoLAPiAWYxBmwdPWoARIf HrpWECCqnrPoNMxRaeWev3w+g/zw4WaqQx0= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1673583965335100002 Content-Type: text/plain; charset="utf-8" From: Tinh Nguyen This adds ACPI DSDT tables and updates ACPI MADT table to support Ampere Altra Max processor. Signed-off-by: Nhi Pham --- .../AmpereAltraPkg/AmpereAltraPkg.dsc.inc | 6 +- Platform/Ampere/JadePkg/Jade.dsc | 3 +- Platform/Ampere/JadePkg/Jade.fdf | 3 +- .../JadePkg/Ac02AcpiTables/Ac02AcpiTables.inf | 20 + .../Include/Library/AmpereCpuLib.h | 31 +- .../AmpereAltraPkg/Include/Platform/Ac01.h | 5 +- .../Drivers/AcpiPlatformDxe/AcpiMadt.c | 103 +- .../Drivers/AcpiPlatformDxe/AcpiPlatformDxe.c | 10 +- .../Library/AmpereCpuLib/AmpereCpuLibCommon.c | 243 +- .../Ampere/JadePkg/Ac02AcpiTables/CPU-S0.asi | 6345 +++++++++++++++++ .../Ampere/JadePkg/Ac02AcpiTables/CPU-S1.asi | 6345 +++++++++++++++++ .../Ampere/JadePkg/Ac02AcpiTables/CPU.asi | 152 + .../JadePkg/Ac02AcpiTables/CommonDevices.asi | 670 ++ .../Ampere/JadePkg/Ac02AcpiTables/Dsdt.asl | 39 + .../JadePkg/Ac02AcpiTables/PCI-PDRC.asi | 217 + .../JadePkg/Ac02AcpiTables/PCI-S0.Rca01.asi | 669 ++ .../Ampere/JadePkg/Ac02AcpiTables/PCI-S0.asi | 2041 ++++++ .../Ampere/JadePkg/Ac02AcpiTables/PCI-S1.asi | 2051 ++++++ .../Ampere/JadePkg/Ac02AcpiTables/PMU-S0.asi | 1292 ++++ .../Ampere/JadePkg/Ac02AcpiTables/PMU-S1.asi | 1292 ++++ .../Ampere/JadePkg/Ac02AcpiTables/PMU.asi | 10 + 21 files changed, 21366 insertions(+), 181 deletions(-) create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/Ac02AcpiTables.i= nf create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/CPU-S0.asi create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/CPU-S1.asi create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/CPU.asi create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/CommonDevices.asi create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/Dsdt.asl create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/PCI-PDRC.asi create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/PCI-S0.Rca01.asi create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/PCI-S0.asi create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/PCI-S1.asi create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/PMU-S0.asi create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/PMU-S1.asi create mode 100644 Platform/Ampere/JadePkg/Ac02AcpiTables/PMU.asi diff --git a/Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc b/Silicon= /Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc index bf23edc50349..9275e0053af6 100644 --- a/Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc +++ b/Silicon/Ampere/AmpereAltraPkg/AmpereAltraPkg.dsc.inc @@ -1,6 +1,6 @@ ## @file # -# Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.
+# Copyright (c) 2020 - 2023, Ampere Computing LLC. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -410,8 +410,8 @@ [PcdsFixedAtBuild.common] # # Ampere Altra Core-Cluster profile # - gArmPlatformTokenSpaceGuid.PcdCoreCount|80 - gArmPlatformTokenSpaceGuid.PcdClusterCount|40 + gArmPlatformTokenSpaceGuid.PcdCoreCount|128 + gArmPlatformTokenSpaceGuid.PcdClusterCount|64 =20 # # PL011 - Serial Terminal diff --git a/Platform/Ampere/JadePkg/Jade.dsc b/Platform/Ampere/JadePkg/Jad= e.dsc index 980f431fc4de..f14d286cdfb8 100644 --- a/Platform/Ampere/JadePkg/Jade.dsc +++ b/Platform/Ampere/JadePkg/Jade.dsc @@ -1,6 +1,6 @@ ## @file # -# Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.
+# Copyright (c) 2020 - 2023, Ampere Computing LLC. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -163,6 +163,7 @@ [Components.common] Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf Silicon/Ampere/AmpereAltraPkg/AcpiCommonTables/AcpiCommonTables.inf Platform/Ampere/JadePkg/AcpiTables/AcpiTables.inf + Platform/Ampere/JadePkg/Ac02AcpiTables/Ac02AcpiTables.inf =20 # # PCIe diff --git a/Platform/Ampere/JadePkg/Jade.fdf b/Platform/Ampere/JadePkg/Jad= e.fdf index e88c95c57abe..a578d05330ec 100644 --- a/Platform/Ampere/JadePkg/Jade.fdf +++ b/Platform/Ampere/JadePkg/Jade.fdf @@ -1,6 +1,6 @@ ## @file # -# Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.
+# Copyright (c) 2020 - 2023, Ampere Computing LLC. All rights reserved.
# # SPDX-License-Identifier: BSD-2-Clause-Patent # @@ -339,6 +339,7 @@ [FV.FvMain] INF Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf INF RuleOverride=3DACPITABLE Silicon/Ampere/AmpereAltraPkg/AcpiCommonTab= les/AcpiCommonTables.inf INF RuleOverride=3DACPITABLE Platform/Ampere/JadePkg/AcpiTables/AcpiTabl= es.inf + INF RuleOverride=3DACPITABLE Platform/Ampere/JadePkg/Ac02AcpiTables/Ac02= AcpiTables.inf =20 # # SMBIOS diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/Ac02AcpiTables.inf b/Pl= atform/Ampere/JadePkg/Ac02AcpiTables/Ac02AcpiTables.inf new file mode 100644 index 000000000000..2c96eaa00168 --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/Ac02AcpiTables.inf @@ -0,0 +1,20 @@ +## @file +# +# Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +[Defines] + INF_VERSION =3D 0x0001001B + BASE_NAME =3D Ac02AcpiTables + FILE_GUID =3D 5CA064B6-5AA4-4E29-ABDC-8BF3B34DBF9E + MODULE_TYPE =3D USER_DEFINED + VERSION_STRING =3D 1.0 + +[Sources] + Dsdt.asl + +[Packages] + MdePkg/MdePkg.dec diff --git a/Silicon/Ampere/AmpereAltraPkg/Include/Library/AmpereCpuLib.h b= /Silicon/Ampere/AmpereAltraPkg/Include/Library/AmpereCpuLib.h index 9355e6cc7c62..94944cbe3abe 100644 --- a/Silicon/Ampere/AmpereAltraPkg/Include/Library/AmpereCpuLib.h +++ b/Silicon/Ampere/AmpereAltraPkg/Include/Library/AmpereCpuLib.h @@ -1,6 +1,6 @@ /** @file =20 - Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.
+ Copyright (c) 2020 - 2023, Ampere Computing LLC. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -16,11 +16,6 @@ #define MONOLITIC_NUM_OF_REGION 1 #define HEMISPHERE_NUM_OF_REGION 2 #define QUADRANT_NUM_OF_REGION 4 -#define SUBNUMA_CPM_REGION_SIZE 4 -#define NUM_OF_CPM_PER_MESH_ROW 8 - -#define CPM_PER_ROW_OFFSET(CpmId) ((CpmId) % NUM_OF_CPM_PER_MESH_ROW) -#define CPM_ROW_NUMBER(CpmId) ((CpmId) / NUM_OF_CPM_PER_MESH_ROW) =20 #define SOCKET_ID(CpuId) ((CpuId) / (PLATFORM_CPU_MAX_CPM * = PLATFORM_CPU_NUM_CORES_PER_CPM)) #define CLUSTER_ID(CpuId) (((CpuId) / PLATFORM_CPU_NUM_CORES_= PER_CPM) % PLATFORM_CPU_MAX_CPM) @@ -65,6 +60,17 @@ CpuGetVoltage ( UINT8 Socket ); =20 +/** + Get CPU Core order number. + + @return UINT8 The order number. + +**/ +UINT32 * +CpuGetCoreOrder ( + VOID + ); + /** Get the SubNUMA mode. =20 @@ -183,19 +189,6 @@ GetMaximumNumberOfCores ( VOID ); =20 -/** - Get the maximum number of CPM per socket. This number - should be the same for all sockets. - - @return UINT32 Maximum number of CPM. - -**/ -UINT16 -EFIAPI -GetMaximumNumberOfCPMs ( - VOID - ); - /** Get the number of active cores of a sockets. =20 diff --git a/Silicon/Ampere/AmpereAltraPkg/Include/Platform/Ac01.h b/Silico= n/Ampere/AmpereAltraPkg/Include/Platform/Ac01.h index 563dd5ef242d..2af9b33924ef 100644 --- a/Silicon/Ampere/AmpereAltraPkg/Include/Platform/Ac01.h +++ b/Silicon/Ampere/AmpereAltraPkg/Include/Platform/Ac01.h @@ -29,6 +29,9 @@ // #define PLATFORM_CPU_MAX_NUM_CORES (PLATFORM_CPU_MAX_SOCKET * PLATF= ORM_CPU_MAX_CPM * PLATFORM_CPU_NUM_CORES_PER_CPM) =20 +#define MAX_AMPERE_ALTRA_CORES 80 +#define MAX_AMPERE_ALTRA_MAX_CORES 128 + // // Maximum number of memory region // @@ -301,7 +304,7 @@ // // DSDT RCB0 PCIe MMIO32 Attribute // -#define AC01_PCIE_RCB0_QMEM_LIST 0x0000000000000000, 0x00000000010= 00000, 0x000000000FFFFFFF, 0x0000000000000000, 0x000000000F000000 +#define AC01_PCIE_RCB0_QMEM_LIST 0x0000000000000000, 0x00000000080= 00000, 0x000000000FFFFFFF, 0x0000000000000000, 0x0000000008000000 =20 // // DSDT RCB1 PCIe MMIO32 Attribute diff --git a/Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiMadt.c b/P= latform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiMadt.c index 4db1f9a383a9..cb37e5b427fb 100644 --- a/Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiMadt.c +++ b/Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiMadt.c @@ -65,74 +65,8 @@ EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER MADT= TableHeaderTemplate =3D { ), }; =20 -UINT32 Ac01CoreOrderMonolithic[PLATFORM_CPU_MAX_CPM * PLATFORM_CPU_NUM_COR= ES_PER_CPM] =3D { - 36, 52, 40, 56, 32, 48, 44, 60, - 20, 68, 24, 72, 16, 64, 28, 76, - 4, 8, 0, 12, 38, 54, 42, 58, - 34, 50, 46, 62, 22, 70, 26, 74, - 18, 66, 30, 78, 6, 10, 2, 14, - 37, 53, 41, 57, 33, 49, 45, 61, - 21, 69, 25, 73, 17, 65, 29, 77, - 5, 9, 1, 13, 39, 55, 43, 59, - 35, 51, 47, 63, 23, 71, 27, 75, - 19, 67, 31, 79, 7, 11, 3, 15, -}; - -UINT32 Ac01CoreOrderHemisphere[PLATFORM_CPU_MAX_CPM * PLATFORM_CPU_NUM_COR= ES_PER_CPM] =3D { - 32, 48, 16, 64, 36, 52, 0, 20, - 68, 4, 34, 50, 18, 66, 38, 54, - 2, 22, 70, 6, 33, 49, 17, 65, - 37, 53, 1, 21, 69, 5, 35, 51, - 19, 67, 39, 55, 3, 23, 71, 7, - 44, 60, 28, 76, 40, 56, 12, 24, - 72, 8, 46, 62, 30, 78, 42, 58, - 14, 26, 74, 10, 45, 61, 29, 77, - 41, 57, 13, 25, 73, 9, 47, 63, - 31, 79, 43, 59, 15, 27, 75, 11, -}; - -UINT32 Ac01CoreOrderQuadrant[PLATFORM_CPU_MAX_CPM * PLATFORM_CPU_NUM_CORES= _PER_CPM] =3D { - 16, 32, 0, 20, 4, 18, 34, 2, - 22, 6, 17, 33, 1, 21, 5, 19, - 35, 3, 23, 7, 48, 64, 52, 68, - 36, 50, 66, 54, 70, 38, 49, 65, - 53, 69, 37, 51, 67, 55, 71, 39, - 28, 44, 12, 24, 8, 30, 46, 14, - 26, 10, 29, 45, 13, 25, 9, 31, - 47, 15, 27, 11, 60, 76, 56, 72, - 40, 62, 78, 58, 74, 42, 61, 77, - 57, 73, 41, 63, 79, 59, 75, 43, -}; - EFI_ACPI_6_3_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *MadtTablePointer; =20 -UINT32 * -CpuGetCoreOrder ( - VOID - ) -{ - UINT8 SubNumaMode; - - SubNumaMode =3D CpuGetSubNumaMode (); - switch (SubNumaMode) { - case SUBNUMA_MODE_MONOLITHIC: - return (UINT32 *)&Ac01CoreOrderMonolithic; - - case SUBNUMA_MODE_HEMISPHERE: - return (UINT32 *)&Ac01CoreOrderHemisphere; - - case SUBNUMA_MODE_QUADRANT: - return (UINT32 *)&Ac01CoreOrderQuadrant; - - default: - // Should never reach here - ASSERT (FALSE); - return NULL; - } - - return NULL; -} - UINT32 AcpiInstallMadtProcessorNode ( VOID *EntryPointer, @@ -244,6 +178,7 @@ AcpiInstallMadtTable ( INTN Index; EFI_STATUS Status; UINTN Size; + UINTN Length; UINT32 *CoreOrder; UINT32 SktMaxCoreNum; =20 @@ -257,14 +192,14 @@ AcpiInstallMadtTable ( } =20 Size =3D sizeof (MADTTableHeaderTemplate) + - (PLATFORM_CPU_MAX_NUM_CORES * sizeof (GiccTemplate)) + - sizeof (GicDTemplate) + - (PLATFORM_CPU_MAX_SOCKET * sizeof (GicRTemplate)) + - ((SOCKET0_LAST_RC - SOCKET0_FIRST_RC + 1) * sizeof (GicItsTempl= ate)); + sizeof (GiccTemplate) * GetNumberOfActiveCores () + + sizeof (GicDTemplate) + + sizeof (GicRTemplate) * GetNumberOfActiveSockets () + + sizeof (GicItsTemplate) * (SOCKET0_LAST_RC - SOCKET0_FIRST_RC + = 1); if (IsSlaveSocketActive ()) { - Size +=3D ((SOCKET1_LAST_RC - SOCKET1_FIRST_RC + 1) * sizeof (GicItsT= emplate)); + Size +=3D (sizeof (GicItsTemplate) * (SOCKET1_LAST_RC - SOCKET1_FIRST_= RC + 1)); } else if (!IsSlaveSocketAvailable ()) { - Size +=3D 2 * sizeof (GicItsTemplate); /* RCA0/1 */ + Size +=3D sizeof (GicItsTemplate) * 2; /* RCA0/1 */ } =20 MadtTablePointer =3D @@ -278,52 +213,56 @@ AcpiInstallMadtTable ( sizeof (MADTTableHeaderTemplate)); =20 /* Install Gic interface for each processor */ - Size =3D 0; + Length =3D 0; CoreOrder =3D CpuGetCoreOrder (); ASSERT (CoreOrder !=3D NULL); SktMaxCoreNum =3D PLATFORM_CPU_MAX_CPM * PLATFORM_CPU_NUM_CORES_PER_CPM; for (Index =3D 0; Index < SktMaxCoreNum; Index++) { if (IsCpuEnabled (CoreOrder[Index])) { - Size +=3D AcpiInstallMadtProcessorNode ((VOID *)((UINT64)GiccEntryPo= inter + Size), CoreOrder[Index]); + Length +=3D AcpiInstallMadtProcessorNode ((VOID *)((UINT64)GiccEntry= Pointer + Length), CoreOrder[Index]); } } =20 for (Index =3D 0; Index < SktMaxCoreNum; Index++) { if (IsCpuEnabled (CoreOrder[Index] + SktMaxCoreNum)) { - Size +=3D AcpiInstallMadtProcessorNode ((VOID *)((UINT64)GiccEntryPo= inter + Size), CoreOrder[Index] + SktMaxCoreNum); + Length +=3D AcpiInstallMadtProcessorNode ((VOID *)((UINT64)GiccEntry= Pointer + Length), CoreOrder[Index] + SktMaxCoreNum); } } =20 /* Install Gic Distributor */ - Size +=3D AcpiInstallMadtGicD ((VOID *)((UINT64)GiccEntryPointer + Size)= ); + Length +=3D AcpiInstallMadtGicD ((VOID *)((UINT64)GiccEntryPointer + Len= gth)); =20 /* Install Gic Redistributor */ for (Index =3D 0; Index < PLATFORM_CPU_MAX_SOCKET; Index++) { - Size +=3D AcpiInstallMadtGicR ((VOID *)((UINT64)GiccEntryPointer + Siz= e), Index); + Length +=3D AcpiInstallMadtGicR ((VOID *)((UINT64)GiccEntryPointer + L= ength), Index); } =20 /* Install Gic ITS */ if (!IsSlaveSocketAvailable ()) { for (Index =3D 0; Index <=3D 1; Index++) { /* RCA0/1 */ - Size +=3D AcpiInstallMadtGicIts ((VOID *)((UINT64)GiccEntryPointer += Size), Index); + Length +=3D AcpiInstallMadtGicIts ((VOID *)((UINT64)GiccEntryPointer= + Length), Index); } } for (Index =3D SOCKET0_FIRST_RC; Index <=3D SOCKET0_LAST_RC; Index++) { - Size +=3D AcpiInstallMadtGicIts ((VOID *)((UINT64)GiccEntryPointer + S= ize), Index); + Length +=3D AcpiInstallMadtGicIts ((VOID *)((UINT64)GiccEntryPointer += Length), Index); } if (IsSlaveSocketActive ()) { for (Index =3D SOCKET1_FIRST_RC; Index <=3D SOCKET1_LAST_RC; Index++) { - Size +=3D AcpiInstallMadtGicIts ((VOID *)((UINT64)GiccEntryPointer += Size), Index); + Length +=3D AcpiInstallMadtGicIts ((VOID *)((UINT64)GiccEntryPointer= + Length), Index); } } + CopyMem ( MadtTablePointer, &MADTTableHeaderTemplate, sizeof (MADTTableHeaderTemplate) ); =20 - Size +=3D sizeof (MADTTableHeaderTemplate); - MadtTablePointer->Header.Length =3D Size; + Length +=3D sizeof (MADTTableHeaderTemplate); + MadtTablePointer->Header.Length =3D Length; + + ASSERT (Size =3D=3D Length); + CopyMem ( MadtTablePointer->Header.OemId, PcdGetPtr (PcdAcpiDefaultOemId), diff --git a/Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiPlatformDx= e.c b/Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.c index 117f3872a84a..28c422dff166 100644 --- a/Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.c +++ b/Platform/Ampere/JadePkg/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.c @@ -1,6 +1,6 @@ /** @file =20 - Copyright (c) 2020 - 2021, Ampere Computing LLC. All rights reserved.
+ Copyright (c) 2020 - 2023, Ampere Computing LLC. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -16,6 +16,8 @@ STATIC EFI_EVENT mAcpiRegistration =3D NULL; */ STATIC CONST EFI_GUID mAcpiCommonTableFile =3D { 0xCEFA2AEB, 0x357E, 0x4F4= 8, { 0x80, 0x66, 0xEA, 0x95, 0x08, 0x53, 0x05, 0x6E } } ; STATIC CONST EFI_GUID mJadeAcpiTableFile =3D { 0x5addbc13, 0x8634, 0x480c,= { 0x9b, 0x94, 0x67, 0x1b, 0x78, 0x55, 0xcd, 0xb8 } }; +STATIC CONST EFI_GUID mJadeAcpiTableAc02File =3D { 0x5CA064B6 , 0x5AA4, 0x= 4E29, { 0xAB, 0xDC, 0x8B, 0xF3, 0xB3, 0x4D, 0xBF, 0x9E } }; + /** * Callback called when ACPI Protocol is installed */ @@ -31,7 +33,11 @@ AcpiNotificationEvent ( Status =3D LocateAndInstallAcpiFromFv (&mAcpiCommonTableFile); ASSERT_EFI_ERROR (Status); =20 - Status =3D LocateAndInstallAcpiFromFv (&mJadeAcpiTableFile); + if (IsAc01Processor ()) { + Status =3D LocateAndInstallAcpiFromFv (&mJadeAcpiTableFile); + } else { + Status =3D LocateAndInstallAcpiFromFv (&mJadeAcpiTableAc02File); + } ASSERT_EFI_ERROR (Status); =20 // diff --git a/Silicon/Ampere/AmpereAltraPkg/Library/AmpereCpuLib/AmpereCpuLi= bCommon.c b/Silicon/Ampere/AmpereAltraPkg/Library/AmpereCpuLib/AmpereCpuLib= Common.c index 9eebea3de1b5..10c241834b81 100644 --- a/Silicon/Ampere/AmpereAltraPkg/Library/AmpereCpuLib/AmpereCpuLibCommon= .c +++ b/Silicon/Ampere/AmpereAltraPkg/Library/AmpereCpuLib/AmpereCpuLibCommon= .c @@ -1,6 +1,6 @@ /** @file =20 - Copyright (c) 2021, Ampere Computing LLC. All rights reserved.
+ Copyright (c) 2021 2023, Ampere Computing LLC. All rights reserved.
=20 SPDX-License-Identifier: BSD-2-Clause-Patent =20 @@ -19,6 +19,108 @@ #include #include =20 +UINT32 Ac01CoreOrderMonolithic[PLATFORM_CPU_MAX_CPM * PLATFORM_CPU_NUM_COR= ES_PER_CPM] =3D { + 36, 37, 40, 41, 52, 53, 56, 57, 32, 33, + 44, 45, 48, 49, 60, 61, 20, 21, 24, 25, + 68, 69, 72, 73, 16, 17, 28, 29, 64, 65, + 76, 77, 4, 5, 8, 9, 0, 1, 12, 13, + 38, 39, 42, 43, 54, 55, 58, 59, 34, 35, + 46, 47, 50, 51, 62, 63, 22, 23, 26, 27, + 70, 71, 74, 75, 18, 19, 30, 31, 66, 67, + 78, 79, 6, 7, 10, 11, 2, 3, 14, 15, + 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, +}; + +UINT32 Ac01CoreOrderHemisphere[PLATFORM_CPU_MAX_CPM * PLATFORM_CPU_NUM_COR= ES_PER_CPM] =3D { + 32, 33, 48, 49, 16, 17, 64, 65, 36, 37, + 52, 53, 0, 1, 20, 21, 68, 69, 4, 5, + 34, 35, 50, 51, 18, 19, 66, 67, 38, 39, + 54, 55, 2, 3, 22, 23, 70, 71, 6, 7, + 44, 45, 60, 61, 28, 29, 76, 77, 40, 41, + 56, 57, 12, 13, 24, 25, 72, 73, 8, 9, + 46, 47, 62, 63, 30, 31, 78, 79, 42, 43, + 58, 59, 14, 15, 26, 27, 74, 75, 10, 11, + 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, +}; + +UINT32 Ac01CoreOrderQuadrant[PLATFORM_CPU_MAX_CPM * PLATFORM_CPU_NUM_CORES= _PER_CPM] =3D { + 16, 17, 32, 33, 0, 1, 20, 21, 4, 5, + 18, 19, 34, 35, 2, 3, 22, 23, 6, 7, + 48, 49, 64, 65, 52, 53, 68, 69, 36, 37, + 50, 51, 66, 67, 54, 55, 70, 71, 38, 39, + 28, 29, 44, 45, 12, 13, 24, 25, 8, 9, + 30, 31, 46, 47, 14, 15, 26, 27, 10, 11, + 60, 61, 76, 77, 56, 57, 72, 73, 40, 41, + 62, 63, 78, 79, 58, 59, 74, 75, 42, 43, + 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, + 120, 121, 122, 123, 124, 125, 126, 127, +}; + +UINT32 Ac02CoreOrderMonolithic[PLATFORM_CPU_MAX_CPM * PLATFORM_CPU_NUM_COR= ES_PER_CPM] =3D { + 36, 37, 40, 41, 52, 53, 56, 57, 32, 33, + 44, 45, 48, 49, 60, 61, 20, 21, 24, 25, + 68, 69, 72, 73, 16, 17, 28, 29, 64, 65, + 76, 77, 4, 5, 8, 9, 84, 85, 88, 89, + 0, 1, 12, 13, 80, 81, 92, 93, 100, 101, + 104, 105, 96, 97, 108, 109, 116, 117, 120, 121, + 112, 113, 124, 125, 38, 39, 42, 43, 54, 55, + 58, 59, 34, 35, 46, 47, 50, 51, 62, 63, + 22, 23, 26, 27, 70, 71, 74, 75, 18, 19, + 30, 31, 66, 67, 78, 79, 6, 7, 10, 11, + 86, 87, 90, 91, 2, 3, 14, 15, 82, 83, + 94, 95, 102, 103, 106, 107, 98, 99, 110, 111, + 118, 119, 122, 123, 114, 115, 126, 127, +}; + +UINT32 Ac02CoreOrderHemisphere[PLATFORM_CPU_MAX_CPM * PLATFORM_CPU_NUM_COR= ES_PER_CPM] =3D { + 32, 33, 48, 49, 16, 17, 64, 65, 36, 37, + 52, 53, 0, 1, 20, 21, 68, 69, 80, 81, + 4, 5, 84, 85, 96, 97, 100, 101, 112, 113, + 116, 117, 34, 35, 50, 51, 18, 19, 66, 67, + 38, 39, 54, 55, 2, 3, 22, 23, 70, 71, + 82, 83, 6, 7, 86, 87, 98, 99, 102, 103, + 114, 115, 118, 119, 44, 45, 60, 61, 28, 29, + 76, 77, 40, 41, 56, 57, 12, 13, 24, 25, + 72, 73, 92, 93, 8, 9, 88, 89, 108, 109, + 104, 105, 124, 125, 120, 121, 46, 47, 62, 63, + 30, 31, 78, 79, 42, 43, 58, 59, 14, 15, + 26, 27, 74, 75, 94, 95, 10, 11, 90, 91, + 110, 111, 106, 107, 126, 127, 122, 123, +}; + +UINT32 Ac02CoreOrderQuadrant[PLATFORM_CPU_MAX_CPM * PLATFORM_CPU_NUM_CORES= _PER_CPM] =3D { + 16, 17, 32, 33, 0, 1, 20, 21, + 36, 37, 4, 5, 84, 85, 96, 97, + 18, 19, 34, 35, 2, 3, 22, 23, + 38, 39, 6, 7, 86, 87, 98, 99, + 48, 49, 64, 65, 52, 53, 68, 69, + 80, 81, 100, 101, 112, 113, 116, 117, + 50, 51, 66, 67, 54, 55, 70, 71, + 82, 83, 102, 103, 114, 115, 118, 119, + 28, 29, 44, 45, 12, 13, 24, 25, + 40, 41, 8, 9, 88, 89, 108, 109, + 30, 31, 46, 47, 14, 15, 26, 27, + 42, 43, 10, 11, 90, 91, 110, 111, + 60, 61, 76, 77, 56, 57, 72, 73, + 92, 93, 104, 105, 124, 125, 120, 121, + 62, 63, 78, 79, 58, 59, 74, 75, + 94, 95, 106, 107, 126, 127, 122, 123, +}; + PLATFORM_INFO_HOB * GetPlatformHob ( VOID @@ -94,6 +196,42 @@ CpuGetVoltage ( return Voltage; } =20 +/** + Get CPU Core order number. + + @return UINT8 The order number. + +**/ +UINT32 * +CpuGetCoreOrder ( + VOID + ) +{ + UINT32 *CoreOrder; + UINT8 SubNumaMode; + BOOLEAN IsAc01; + + SubNumaMode =3D CpuGetSubNumaMode (); + IsAc01 =3D IsAc01Processor (); + + switch (SubNumaMode) { + case SUBNUMA_MODE_MONOLITHIC: + default: + CoreOrder =3D IsAc01 ? Ac01CoreOrderMonolithic : Ac02CoreOrderMonolith= ic; + break; + + case SUBNUMA_MODE_HEMISPHERE: + CoreOrder =3D IsAc01 ? Ac01CoreOrderHemisphere : Ac02CoreOrderHemisphe= re; + break; + + case SUBNUMA_MODE_QUADRANT: + CoreOrder =3D IsAc01 ? Ac01CoreOrderQuadrant : Ac02CoreOrderQuadrant; + break; + } + + return CoreOrder; +} + /** Get the SubNUMA mode. =20 @@ -157,14 +295,28 @@ CpuGetNumberOfSubNumaRegion ( return NumberOfSubNumaRegion; } =20 -/** - Get the SubNUMA node of a CPM. +STATIC +UINT8 +CpuGetLogicCoreId ( + UINT32 PhyCoreId + ) +{ + UINT32 *CoreOrder; + UINT8 LogicCoreId; + UINT8 SktMaxCoreNum ; =20 - @param SocketId Socket index. - @param Cpm CPM index. - @return UINT8 The SubNUMA node of a CPM. + CoreOrder =3D CpuGetCoreOrder(); + SktMaxCoreNum =3D PLATFORM_CPU_MAX_CPM * PLATFORM_CPU_NUM_CORES_PER_CPM; + + for (LogicCoreId =3D 0; LogicCoreId < SktMaxCoreNum; LogicCoreId++) { + if (CoreOrder[LogicCoreId] =3D=3D PhyCoreId) { + return LogicCoreId; + } + } + + return 0; +} =20 -**/ UINT8 EFIAPI CpuGetSubNumNode ( @@ -172,67 +324,30 @@ CpuGetSubNumNode ( UINT16 Cpm ) { - BOOLEAN IsAsymMesh; - UINT8 SubNumaNode; - UINT16 MaxNumberOfCPM; - UINT8 MiddleRow; - UINT8 QuadrantHigherRowNodeNumber[NUM_OF_CPM_PER_MESH_ROW] =3D {1, 1, = 1, 1, 3, 3, 3, 3}; - UINT8 QuadrantLowerRowNodeNumber[NUM_OF_CPM_PER_MESH_ROW] =3D {0, 0, = 0, 0, 2, 2, 2, 2}; - UINT8 QuadrantMiddleRowNodeNumber[NUM_OF_CPM_PER_MESH_ROW] =3D {0, 0, = 1, 1, 3, 3, 2, 2}; - UINT8 SubNumaMode; + UINT8 LogicCoreId; + UINT8 MaxFamliyCore; + UINT8 MaxNumCorePerNode; + UINT8 SubNumaNode; =20 - MaxNumberOfCPM =3D GetMaximumNumberOfCPMs (); - SubNumaMode =3D CpuGetSubNumaMode (); - ASSERT (SubNumaMode <=3D SUBNUMA_MODE_QUADRANT); + LogicCoreId =3D CpuGetLogicCoreId (Cpm * PLATFORM_CPU_NUM_CORES_PER_CPM); + MaxFamliyCore =3D IsAc01Processor () ? MAX_AMPERE_ALTRA_CORES : MAX_AMPE= RE_ALTRA_MAX_CORES; =20 - switch (SubNumaMode) { + switch (CpuGetSubNumaMode ()) { case SUBNUMA_MODE_MONOLITHIC: SubNumaNode =3D (SocketId =3D=3D 0) ? 0 : 1; break; =20 case SUBNUMA_MODE_HEMISPHERE: - if (CPM_PER_ROW_OFFSET (Cpm) >=3D SUBNUMA_CPM_REGION_SIZE) { - SubNumaNode =3D 1; - } else { - SubNumaNode =3D 0; - } - + MaxNumCorePerNode =3D MaxFamliyCore / HEMISPHERE_NUM_OF_REGION; + SubNumaNode =3D LogicCoreId / MaxNumCorePerNode; if (SocketId =3D=3D 1) { SubNumaNode +=3D HEMISPHERE_NUM_OF_REGION; } break; =20 case SUBNUMA_MODE_QUADRANT: - // - // CPM Mesh Rows - // - // |---------------------------------------| - // | 00 ----------- 03 | 04 ----------- 07 | Row 0 - // |-------------------|-------------------| - // | 08 ----------- 11 | 12 ----------- 15 | Row 1 - // |-------------------|-------------------| - // | 16 - 17 | 18 - 19 | 20 - 21 | 22 - 23 | Middle Row - // |-------------------|-------------------| - // | 24 ----------- 27 | 28 ----------- 31 | Row 3 - // |-------------------|-------------------| - // | 32 ----------- 35 | 36 ----------- 39 | Row 4 - // |---------------------------------------| - // - - IsAsymMesh =3D (BOOLEAN)(CPM_ROW_NUMBER (MaxNumberOfCPM) % 2 !=3D 0); - MiddleRow =3D CPM_ROW_NUMBER (MaxNumberOfCPM) / 2; - if (IsAsymMesh - && CPM_ROW_NUMBER (Cpm) =3D=3D MiddleRow) - { - SubNumaNode =3D QuadrantMiddleRowNodeNumber[CPM_PER_ROW_OFFSET (Cpm)= ]; - - } else if (CPM_ROW_NUMBER (Cpm) >=3D MiddleRow) { - SubNumaNode =3D QuadrantHigherRowNodeNumber[CPM_PER_ROW_OFFSET (Cpm)= ]; - - } else { - SubNumaNode =3D QuadrantLowerRowNodeNumber[CPM_PER_ROW_OFFSET (Cpm)]; - } - + MaxNumCorePerNode =3D MaxFamliyCore / QUADRANT_NUM_OF_REGION; + SubNumaNode =3D LogicCoreId / MaxNumCorePerNode; if (SocketId =3D=3D 1) { SubNumaNode +=3D QUADRANT_NUM_OF_REGION; } @@ -240,7 +355,7 @@ CpuGetSubNumNode ( =20 default: // Should never reach there. - SubNumaNode =3D 0; + SubNumaNode =3D (SocketId =3D=3D 0) ? 0 : 1; ASSERT (FALSE); break; } @@ -479,22 +594,6 @@ GetMaximumNumberOfCores ( return PlatformHob->MaxNumOfCore[0]; } =20 -/** - Get the maximum number of CPM per socket. This number - should be the same for all sockets. - - @return UINT16 Maximum number of CPM. - -**/ -UINT16 -EFIAPI -GetMaximumNumberOfCPMs ( - VOID - ) -{ - return GetMaximumNumberOfCores () / PLATFORM_CPU_NUM_CORES_PER_CPM; -} - /** Get the number of active cores of a sockets. =20 diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/CPU-S0.asi b/Platform/A= mpere/JadePkg/Ac02AcpiTables/CPU-S0.asi new file mode 100644 index 000000000000..80b8ad86e86b --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/CPU-S0.asi @@ -0,0 +1,6345 @@ +/** @file + + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +Scope (\_SB.SYST) { + Device (CL00) { + Name(_HID, "ACPI0010") + Name(_UID, 0x1) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL01) { + Name(_HID, "ACPI0010") + Name(_UID, 0x2) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL02) { + Name(_HID, "ACPI0010") + Name(_UID, 0x3) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL03) { + Name(_HID, "ACPI0010") + Name(_UID, 0x4) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL04) { + Name(_HID, "ACPI0010") + Name(_UID, 0x5) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL05) { + Name(_HID, "ACPI0010") + Name(_UID, 0x6) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL06) { + Name(_HID, "ACPI0010") + Name(_UID, 0x7) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL07) { + Name(_HID, "ACPI0010") + Name(_UID, 0x8) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL08) { + Name(_HID, "ACPI0010") + Name(_UID, 0x9) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL09) { + Name(_HID, "ACPI0010") + Name(_UID, 0xA) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL0A) { + Name(_HID, "ACPI0010") + Name(_UID, 0xB) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL0B) { + Name(_HID, "ACPI0010") + Name(_UID, 0xC) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL0C) { + Name(_HID, "ACPI0010") + Name(_UID, 0xD) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL0D) { + Name(_HID, "ACPI0010") + Name(_UID, 0xE) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL0E) { + Name(_HID, "ACPI0010") + Name(_UID, 0xF) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL0F) { + Name(_HID, "ACPI0010") + Name(_UID, 0x10) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL10) { + Name(_HID, "ACPI0010") + Name(_UID, 0x11) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL11) { + Name(_HID, "ACPI0010") + Name(_UID, 0x12) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL12) { + Name(_HID, "ACPI0010") + Name(_UID, 0x13) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL13) { + Name(_HID, "ACPI0010") + Name(_UID, 0x14) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL14) { + Name(_HID, "ACPI0010") + Name(_UID, 0x15) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL15) { + Name(_HID, "ACPI0010") + Name(_UID, 0x16) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL16) { + Name(_HID, "ACPI0010") + Name(_UID, 0x17) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL17) { + Name(_HID, "ACPI0010") + Name(_UID, 0x18) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL18) { + Name(_HID, "ACPI0010") + Name(_UID, 0x19) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL19) { + Name(_HID, "ACPI0010") + Name(_UID, 0x1A) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL1A) { + Name(_HID, "ACPI0010") + Name(_UID, 0x1B) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL1B) { + Name(_HID, "ACPI0010") + Name(_UID, 0x1C) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL1C) { + Name(_HID, "ACPI0010") + Name(_UID, 0x1D) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL1D) { + Name(_HID, "ACPI0010") + Name(_UID, 0x1E) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL1E) { + Name(_HID, "ACPI0010") + Name(_UID, 0x1F) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL1F) { + Name(_HID, "ACPI0010") + Name(_UID, 0x20) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL20) { + Name(_HID, "ACPI0010") + Name(_UID, 0x21) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL21) { + Name(_HID, "ACPI0010") + Name(_UID, 0x22) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL22) { + Name(_HID, "ACPI0010") + Name(_UID, 0x23) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL23) { + Name(_HID, "ACPI0010") + Name(_UID, 0x24) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL24) { + Name(_HID, "ACPI0010") + Name(_UID, 0x25) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL25) { + Name(_HID, "ACPI0010") + Name(_UID, 0x26) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL26) { + Name(_HID, "ACPI0010") + Name(_UID, 0x27) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL27) { + Name(_HID, "ACPI0010") + Name(_UID, 0x28) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL28) { + Name(_HID, "ACPI0010") + Name(_UID, 0x29) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL29) { + Name(_HID, "ACPI0010") + Name(_UID, 0x2A) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL2A) { + Name(_HID, "ACPI0010") + Name(_UID, 0x2B) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL2B) { + Name(_HID, "ACPI0010") + Name(_UID, 0x2C) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL2C) { + Name(_HID, "ACPI0010") + Name(_UID, 0x2D) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL2D) { + Name(_HID, "ACPI0010") + Name(_UID, 0x2E) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL2E) { + Name(_HID, "ACPI0010") + Name(_UID, 0x2F) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL2F) { + Name(_HID, "ACPI0010") + Name(_UID, 0x30) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL30) { + Name(_HID, "ACPI0010") + Name(_UID, 0x31) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL31) { + Name(_HID, "ACPI0010") + Name(_UID, 0x32) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL32) { + Name(_HID, "ACPI0010") + Name(_UID, 0x33) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL33) { + Name(_HID, "ACPI0010") + Name(_UID, 0x34) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL34) { + Name(_HID, "ACPI0010") + Name(_UID, 0x35) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL35) { + Name(_HID, "ACPI0010") + Name(_UID, 0x36) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL36) { + Name(_HID, "ACPI0010") + Name(_UID, 0x37) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL37) { + Name(_HID, "ACPI0010") + Name(_UID, 0x38) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL38) { + Name(_HID, "ACPI0010") + Name(_UID, 0x39) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL39) { + Name(_HID, "ACPI0010") + Name(_UID, 0x3A) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL3A) { + Name(_HID, "ACPI0010") + Name(_UID, 0x3B) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL3B) { + Name(_HID, "ACPI0010") + Name(_UID, 0x3C) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL3C) { + Name(_HID, "ACPI0010") + Name(_UID, 0x3D) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL3D) { + Name(_HID, "ACPI0010") + Name(_UID, 0x3E) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL3E) { + Name(_HID, "ACPI0010") + Name(_UID, 0x3F) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL3F) { + Name(_HID, "ACPI0010") + Name(_UID, 0x40) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } +} + +Scope (\_SB.SYST.CL00) { + Device(C000) { + Name(_HID, "ACPI0007") + Name(_UID, 0x0) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x000, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x004, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x008, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x00c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x010, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x014, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2c, 2)}, // Refere= nce Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x34, 2)}, // Delive= red Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c, 2)}, // Perfor= mance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x050, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x054, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x058, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 0, 0xFD, 2} + }) // Domain 0 + } + + Device(C001) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x080, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x084, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x088, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x08c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x090, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x094, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xac, 2)}, // Refere= nce Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xb4, 2)}, // Delive= red Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xbc, 2)}, // Perfor= mance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x0d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x0d4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x0d8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 1, 0xFD, 2} + }) // Domain 1 + } +} + +Scope (\_SB.SYST.CL01) { + Device(C002) { + Name(_HID, "ACPI0007") + Name(_UID, 0x100) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x100, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x104, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x108, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x10c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x110, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x114, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x12c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x134, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x13c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x150, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x154, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x158, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 2, 0xFD, 2} + }) // Domain 2 + } + + Device(C003) { + Name(_HID, "ACPI0007") + Name(_UID, 0x101) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x180, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x184, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x188, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x18c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x190, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x194, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1ac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1b4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1bc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 3, 0xFD, 2} + }) // Domain 3 + } +} + +Scope (\_SB.SYST.CL02) { + Device(C004) { + Name(_HID, "ACPI0007") + Name(_UID, 0x200) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x200, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x204, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x208, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x20c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x210, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x214, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x22c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x234, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x23c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x250, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x254, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x258, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 4, 0xFD, 2} + }) // Domain 4 + } + + Device(C005) { + Name(_HID, "ACPI0007") + Name(_UID, 0x201) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x280, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x284, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x288, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x28c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x290, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x294, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2ac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2b4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2bc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 5, 0xFD, 2} + }) // Domain 5 + } +} + +Scope (\_SB.SYST.CL03) { + Device(C006) { + Name(_HID, "ACPI0007") + Name(_UID, 0x300) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x300, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x304, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x308, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x30c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x310, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x314, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x32c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x334, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x33c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x350, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x354, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x358, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 6, 0xFD, 2} + }) // Domain 6 + } + + Device(C007) { + Name(_HID, "ACPI0007") + Name(_UID, 0x301) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x380, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x384, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x388, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x38c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x390, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x394, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3ac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3b4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3bc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 7, 0xFD, 2} + }) // Domain 7 + } +} + +Scope (\_SB.SYST.CL04) { + Device(C008) { + Name(_HID, "ACPI0007") + Name(_UID, 0x400) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x400, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x404, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x408, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x40c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x410, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x414, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x42c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x434, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x43c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x450, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x454, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x458, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 8, 0xFD, 2} + }) // Domain 8 + } + + Device(C009) { + Name(_HID, "ACPI0007") + Name(_UID, 0x401) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x480, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x484, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x488, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x48c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x490, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x494, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x4ac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x4b4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x4bc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x4d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x4d4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x4d8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 9, 0xFD, 2} + }) // Domain 9 + } +} + +Scope (\_SB.SYST.CL05) { + Device(C010) { + Name(_HID, "ACPI0007") + Name(_UID, 0x500) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x500, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x504, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x508, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x50c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x510, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x514, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x52c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x534, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x53c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x550, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x554, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x558, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 10, 0xFD, 2} + }) // Domain 10 + } + + Device(C011) { + Name(_HID, "ACPI0007") + Name(_UID, 0x501) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x580, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x584, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x588, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x58c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x590, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x594, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x5ac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x5b4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x5bc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x5d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x5d4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x5d8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 11, 0xFD, 2} + }) // Domain 11 + } +} + +Scope (\_SB.SYST.CL06) { + Device(C012) { + Name(_HID, "ACPI0007") + Name(_UID, 0x600) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x600, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x604, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x608, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x60c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x610, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x614, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x62c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x634, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x63c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x650, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x654, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x658, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 12, 0xFD, 2} + }) // Domain 12 + } + + Device(C013) { + Name(_HID, "ACPI0007") + Name(_UID, 0x601) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x680, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x684, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x688, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x68c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x690, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x694, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x6ac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x6b4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x6bc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x6d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x6d4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x6d8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 13, 0xFD, 2} + }) // Domain 13 + } +} + +Scope (\_SB.SYST.CL07) { + Device(C014) { + Name(_HID, "ACPI0007") + Name(_UID, 0x700) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x700, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x704, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x708, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x70c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x710, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x714, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x72c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x734, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x73c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x750, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x754, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x758, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 14, 0xFD, 2} + }) // Domain 14 + } + + Device(C015) { + Name(_HID, "ACPI0007") + Name(_UID, 0x701) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x780, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x784, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x788, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x78c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x790, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x794, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x7ac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x7b4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x7bc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x7d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x7d4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x7d8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 15, 0xFD, 2} + }) // Domain 15 + } +} + +Scope (\_SB.SYST.CL08) { + Device(C016) { + Name(_HID, "ACPI0007") + Name(_UID, 0x800) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x800, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x804, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x808, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x80c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x810, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x814, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x82c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x834, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x83c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x850, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x854, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x858, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 16, 0xFD, 2} + }) // Domain 16 + } + + Device(C017) { + Name(_HID, "ACPI0007") + Name(_UID, 0x801) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x880, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x884, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x888, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x88c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x890, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x894, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x8ac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x8b4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x8bc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x8d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x8d4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x8d8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 17, 0xFD, 2} + }) // Domain 17 + } +} + +Scope (\_SB.SYST.CL09) { + Device(C018) { + Name(_HID, "ACPI0007") + Name(_UID, 0x900) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x900, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x904, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x908, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x90c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x910, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x914, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x92c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x934, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x93c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x950, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x954, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x958, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 18, 0xFD, 2} + }) // Domain 18 + } + + Device(C019) { + Name(_HID, "ACPI0007") + Name(_UID, 0x901) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x980, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x984, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x988, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x98c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x990, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x994, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x9ac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x9b4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x9bc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x9d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x9d4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x9d8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 19, 0xFD, 2} + }) // Domain 19 + } +} + +Scope (\_SB.SYST.CL0A) { + Device(C020) { + Name(_HID, "ACPI0007") + Name(_UID, 0xa00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xa00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xa14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xa2c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xa34, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xa3c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xa50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xa54, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xa58, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 20, 0xFD, 2} + }) // Domain 20 + } + + Device(C021) { + Name(_HID, "ACPI0007") + Name(_UID, 0xa01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xa80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xa94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xaac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xab4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xabc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xad0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xad4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xad8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 21, 0xFD, 2} + }) // Domain 21 + } +} + +Scope (\_SB.SYST.CL0B) { + Device(C022) { + Name(_HID, "ACPI0007") + Name(_UID, 0xb00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xb00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xb14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xb2c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xb34, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xb3c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xb50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xb54, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xb58, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 22, 0xFD, 2} + }) // Domain 22 + } + + Device(C023) { + Name(_HID, "ACPI0007") + Name(_UID, 0xb01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xb80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xb94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xbac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xbb4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xbbc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xbd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xbd4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xbd8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 23, 0xFD, 2} + }) // Domain 23 + } +} + +Scope (\_SB.SYST.CL0C) { + Device(C024) { + Name(_HID, "ACPI0007") + Name(_UID, 0xc00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xc00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xc14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xc2c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xc34, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xc3c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xc50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xc54, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xc58, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 24, 0xFD, 2} + }) // Domain 24 + } + + Device(C025) { + Name(_HID, "ACPI0007") + Name(_UID, 0xc01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xc80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xc94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xcac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xcb4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xcbc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xcd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xcd4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xcd8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 25, 0xFD, 2} + }) // Domain 25 + } +} + +Scope (\_SB.SYST.CL0D) { + Device(C026) { + Name(_HID, "ACPI0007") + Name(_UID, 0xd00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xd00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xd14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xd2c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xd34, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xd3c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xd50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xd54, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xd58, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 26, 0xFD, 2} + }) // Domain 26 + } + + Device(C027) { + Name(_HID, "ACPI0007") + Name(_UID, 0xd01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xd80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xd94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xdac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xdb4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xdbc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xdd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xdd4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xdd8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 27, 0xFD, 2} + }) // Domain 27 + } +} + +Scope (\_SB.SYST.CL0E) { + Device(C028) { + Name(_HID, "ACPI0007") + Name(_UID, 0xe00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xe00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xe14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xe2c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xe34, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xe3c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xe50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xe54, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xe58, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 28, 0xFD, 2} + }) // Domain 28 + } + + Device(C029) { + Name(_HID, "ACPI0007") + Name(_UID, 0xe01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xe80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xe94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xeac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xeb4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xebc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xed0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xed4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xed8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 29, 0xFD, 2} + }) // Domain 29 + } +} + +Scope (\_SB.SYST.CL0F) { + Device(C030) { + Name(_HID, "ACPI0007") + Name(_UID, 0xf00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xf00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xf14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xf2c, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xf34, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xf3c, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xf50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xf54, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xf58, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 30, 0xFD, 2} + }) // Domain 30 + } + + Device(C031) { + Name(_HID, "ACPI0007") + Name(_UID, 0xf01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xf80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xf94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xfac, 2)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xfb4, 2)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xfbc, 2)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xfd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xfd4, 2)}, // Lowes= t Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xfd8, 2)}, // Nomin= al Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 31, 0xFD, 2} + }) // Domain 31 + } +} + +Scope (\_SB.SYST.CL10) { + Device(C032) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1000) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1000, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1004, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1008, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x100c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1010, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1014, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x102c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1034, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x103c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1050, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1054, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1058, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 32, 0xFD, 2} + }) // Domain 32 + } + + Device(C033) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1001) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1080, 2)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1084, 2)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1088, 2)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x108c, 2)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1090, 2)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1094, 2)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x10ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x10b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x10bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x10d0, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x10d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x10d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 33, 0xFD, 2} + }) // Domain 33 + } +} + +Scope (\_SB.SYST.CL11) { + Device(C034) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1100) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1100, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1104, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1108, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x110c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1110, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1114, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x112c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1134, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x113c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1150, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1154, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1158, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 34, 0xFD, 2} + }) // Domain 34 + } + + Device(C035) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1101) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1180, 2)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1184, 2)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1188, 2)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x118c, 2)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1190, 2)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1194, 2)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x11ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x11b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x11bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x11d0, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x11d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x11d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 35, 0xFD, 2} + }) // Domain 35 + } +} + +Scope (\_SB.SYST.CL12) { + Device(C036) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1200) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1200, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1204, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1208, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x120c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1210, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1214, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x122c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1234, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x123c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1250, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1254, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1258, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 36, 0xFD, 2} + }) // Domain 36 + } + + Device(C037) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1201) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1280, 2)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1284, 2)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1288, 2)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x128c, 2)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1290, 2)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1294, 2)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x12ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x12b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x12bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x12d0, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x12d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x12d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 37, 0xFD, 2} + }) // Domain 37 + } +} + +Scope (\_SB.SYST.CL13) { + Device(C038) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1300) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1300, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1304, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1308, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x130c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1310, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1314, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x132c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1334, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x133c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1350, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1354, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1358, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 38, 0xFD, 2} + }) // Domain 38 + } + + Device(C039) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1301) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1380, 2)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1384, 2)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1388, 2)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x138c, 2)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1390, 2)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1394, 2)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x13ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x13b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x13bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x13d0, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x13d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x13d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 39, 0xFD, 2} + }) // Domain 39 + } +} + +Scope (\_SB.SYST.CL14) { + Device(C040) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1400) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1400, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1404, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1408, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x140c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1410, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1414, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x142c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1434, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x143c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1450, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1454, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1458, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 40, 0xFD, 2} + }) // Domain 40 + } + + Device(C041) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1401) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1480, 2)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1484, 2)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1488, 2)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x148c, 2)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1490, 2)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1494, 2)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x14ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x14b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x14bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x14d0, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x14d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x14d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 41, 0xFD, 2} + }) // Domain 41 + } +} + +Scope (\_SB.SYST.CL15) { + Device(C042) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1500) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1500, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1504, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1508, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x150c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1510, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1514, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x152c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1534, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x153c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1550, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1554, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1558, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 42, 0xFD, 2} + }) // Domain 42 + } + + Device(C043) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1501) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1580, 2)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1584, 2)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1588, 2)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x158c, 2)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1590, 2)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1594, 2)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x15ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x15b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x15bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x15d0, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x15d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x15d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 43, 0xFD, 2} + }) // Domain 43 + } +} + +Scope (\_SB.SYST.CL16) { + Device(C044) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1600) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1600, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1604, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1608, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x160c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1610, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1614, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x162c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1634, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x163c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1650, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1654, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1658, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 44, 0xFD, 2} + }) // Domain 44 + } + + Device(C045) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1601) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1680, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1684, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1688, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x168c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1690, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1694, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x16ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x16b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x16bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x16d0, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x16d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x16d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 45, 0xFD, 2} + }) // Domain 45 + } +} + +Scope (\_SB.SYST.CL17) { + Device(C046) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1700) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1700, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1704, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1708, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x170c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1710, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1714, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x172c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1734, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x173c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1750, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1754, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1758, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 46, 0xFD, 2} + }) // Domain 46 + } + + Device(C047) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1701) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1780, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1784, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1788, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x178c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1790, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1794, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x17ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x17b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x17bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x17d0, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x17d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x17d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 47, 0xFD, 2} + }) // Domain 47 + } +} + +Scope (\_SB.SYST.CL18) { + Device(C048) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1800) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1800, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1804, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1808, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x180c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1810, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1814, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x182c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1834, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x183c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1850, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1854, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1858, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 48, 0xFD, 2} + }) // Domain 48 + } + + Device(C049) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1801) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1880, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1884, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1888, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x188c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1890, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1894, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x18ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x18b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x18bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x18d0, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x18d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x18d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 49, 0xFD, 2} + }) // Domain 49 + } +} + +Scope (\_SB.SYST.CL19) { + Device(C050) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1900) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1900, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1904, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1908, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x190c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1910, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1914, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x192c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1934, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x193c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1950, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1954, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1958, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 50, 0xFD, 2} + }) // Domain 50 + } + + Device(C051) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1901) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1980, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1984, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1988, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x198c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1990, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1994, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x19ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x19b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x19bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x19d0, 2)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x19d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x19d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 51, 0xFD, 2} + }) // Domain 51 + } +} + +Scope (\_SB.SYST.CL1A) { + Device(C052) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1a00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1a00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1a14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1a2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1a34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1a3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1a50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1a54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1a58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 52, 0xFD, 2} + }) // Domain 52 + } + + Device(C053) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1a01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1a80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1a94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1aac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1ab4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1abc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ad0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ad4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ad8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 53, 0xFD, 2} + }) // Domain 53 + } +} + +Scope (\_SB.SYST.CL1B) { + Device(C054) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1b00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1b00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1b14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1b2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1b34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1b3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1b50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1b54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1b58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 54, 0xFD, 2} + }) // Domain 54 + } + + Device(C055) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1b01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1b80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1b94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1bac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1bb4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1bbc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1bd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1bd4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1bd8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 55, 0xFD, 2} + }) // Domain 5 + } +} + +Scope (\_SB.SYST.CL1C) { + Device(C056) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1c00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1c00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1c14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1c2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1c34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1c3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1c50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1c54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1c58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 56, 0xFD, 2} + }) // Domain 56 + } + + Device(C057) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1c01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1c80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1c94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1cac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1cb4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1cbc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1cd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1cd4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1cd8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 57, 0xFD, 2} + }) // Domain 57 + } +} + +Scope (\_SB.SYST.CL1D) { + Device(C058) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1d00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1d00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1d2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1d34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 58, 0xFD, 2} + }) // Domain 58 + } + + Device(C059) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1d01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1d80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1dac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1db4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1dbc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1dd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1dd4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1dd8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 59, 0xFD, 2} + }) // Domain 59 + } +} + +Scope (\_SB.SYST.CL1E) { + Device(C060) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1e00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1e00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1e14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1e2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1e34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1e3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1e50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1e54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1e58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 60, 0xFD, 2} + }) // Domain 60 + } + + Device(C061) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1e01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1e80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1e94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1eac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1eb4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ebc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ed0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ed4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ed8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 61, 0xFD, 2} + }) // Domain 61 + } +} + +Scope (\_SB.SYST.CL1F) { + Device(C062) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1f00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1f00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1f14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1f2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1f34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1f3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1f50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1f54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1f58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 62, 0xFD, 2} + }) // Domain 62 + } + + Device(C063) { + Name(_HID, "ACPI0007") + Name(_UID, 0x1f01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1f80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1f94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1fac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1fb4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1fbc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1fd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1fd4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1fd8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 63, 0xFD, 2} + }) // Domain 63 + } +} + +Scope (\_SB.SYST.CL20) { + Device(C064) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2000) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2000, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2004, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2008, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x200c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2010, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2014, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x202c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2034, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x203c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2050, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2054, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2058, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 64, 0xFD, 2} + }) // Domain 64 + } + + Device(C065) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2001) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2080, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2084, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2088, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x208c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2090, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2094, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x20ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x20b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x20bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x20d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x20d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x20d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 65, 0xFD, 2} + }) // Domain 65 + } +} + +Scope (\_SB.SYST.CL21) { + Device(C066) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2100) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2100, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2104, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2108, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x210c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2110, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2114, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x212c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2134, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x213c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2150, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2154, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2158, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 66, 0xFD, 2} + }) // Domain 66 + } + + Device(C067) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2101) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2180, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2184, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2188, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x218c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2190, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2194, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x21ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x21b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x21bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x21d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x21d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x21d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 67, 0xFD, 2} + }) // Domain 67 + } +} + +Scope (\_SB.SYST.CL22) { + Device(C068) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2200) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2200, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2204, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2208, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x220c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2210, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2214, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x222c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2234, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x223c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2250, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2254, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2258, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 68, 0xFD, 2} + }) // Domain 68 + } + + Device(C069) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2201) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2280, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2284, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2288, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x228c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2290, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2294, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x22ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x22b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x22bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x22d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x22d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x22d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 69, 0xFD, 2} + }) // Domain 69 + } +} + +Scope (\_SB.SYST.CL23) { + Device(C070) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2300) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2300, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2304, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2308, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x230c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2310, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2314, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x232c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2334, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x233c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2350, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2354, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2358, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 70, 0xFD, 2} + }) // Domain 70 + } + + Device(C071) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2301) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2380, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2384, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2388, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x238c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2390, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2394, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x23ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x23b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x23bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x23d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x23d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x23d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 71, 0xFD, 2} + }) // Domain 71 + } +} + +Scope (\_SB.SYST.CL24) { + Device(C072) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2400) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2400, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2404, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2408, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x240c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2410, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2414, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x242c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2434, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x243c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2450, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2454, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2458, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 72, 0xFD, 2} + }) // Domain 72 + } + + Device(C073) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2401) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2480, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2484, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2488, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x248c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2490, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2494, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x24ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x24b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x24bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x24d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x24d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x24d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 73, 0xFD, 2} + }) // Domain 73 + } +} + +Scope (\_SB.SYST.CL25) { + Device(C074) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2500) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2500, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2504, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2508, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x250c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2510, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2514, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x252c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2534, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x253c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2550, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2554, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2558, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 74, 0xFD, 2} + }) // Domain 74 + } + + Device(C075) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2501) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2580, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2584, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2588, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x258c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2590, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2594, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x25ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x25b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x25bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x25d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x25d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x25d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 75, 0xFD, 2} + }) // Domain 75 + } +} + +Scope (\_SB.SYST.CL26) { + Device(C076) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2600) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2600, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2604, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2608, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x260c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2610, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2614, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x262c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2634, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x263c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2650, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2654, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2658, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 76, 0xFD, 2} + }) // Domain 76 + } + + Device(C077) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2601) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2680, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2684, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2688, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x268c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2690, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2694, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x26ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x26b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x26bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x26d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x26d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x26d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 77, 0xFD, 2} + }) // Domain 77 + } +} + +Scope (\_SB.SYST.CL27) { + Device(C078) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2700) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2700, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2704, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2708, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x270c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2710, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2714, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x272c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2734, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x273c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2750, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2754, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2758, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 78, 0xFD, 2} + }) // Domain 78 + } + + Device(C079) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2701) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2780, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2784, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2788, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x278c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2790, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2794, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x27ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x27b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x27bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x27d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x27d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x27d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 79, 0xFD, 2} + }) // Domain 79 + } +} + +Scope (\_SB.SYST.CL28) { + Device(C080) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2800) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2800, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2804, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2808, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x280c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2810, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2814, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x282c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2834, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x283c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2850, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2854, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2858, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 80, 0xFD, 2} + }) // Domain 80 + } + + Device(C081) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2801) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2880, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2884, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2888, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x288c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2890, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2894, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x28ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x28b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x28bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x28d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x28d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x28d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 81, 0xFD, 2} + }) // Domain 81 + } +} + +Scope (\_SB.SYST.CL29) { + Device(C082) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2900) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2900, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2904, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2908, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x290c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2910, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2914, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x292c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2934, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x293c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2950, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2954, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2958, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 82, 0xFD, 2} + }) // Domain 82 + } + + Device(C083) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2901) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2980, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2984, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2988, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x298c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2990, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2994, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x29ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x29b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x29bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x29d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x29d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x29d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 83, 0xFD, 2} + }) // Domain 83 + } +} + +Scope (\_SB.SYST.CL2A) { + Device(C084) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2a00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2a00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2a14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2a2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2a34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2a3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2a50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2a54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2a58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 84, 0xFD, 2} + }) // Domain 84 + } + + Device(C085) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2a01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2a80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2a94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2aac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2ab4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2abc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ad0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ad4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ad8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 85, 0xFD, 2} + }) // Domain 85 + } +} + +Scope (\_SB.SYST.CL2B) { + Device(C086) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2b00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2b00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2b14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2b2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2b34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2b3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2b50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2b54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2b58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 86, 0xFD, 2} + }) // Domain 86 + } + + Device(C087) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2b01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2b80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2b94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2bac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2bb4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2bbc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2bd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2bd4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2bd8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 87, 0xFD, 2} + }) // Domain 87 + } +} + +Scope (\_SB.SYST.CL2C) { + Device(C088) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2c00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2c00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2c14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2c2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2c34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2c3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2c50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2c54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2c58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 88, 0xFD, 2} + }) // Domain 88 + } + + Device(C089) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2c01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2c80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2c94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2cac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2cb4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2cbc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2cd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2cd4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2cd8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 89, 0xFD, 2} + }) // Domain 89 + } +} + +Scope (\_SB.SYST.CL2D) { + Device(C090) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2d00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2d00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2d2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2d34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 90, 0xFD, 2} + }) // Domain 90 + } + + Device(C091) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2d01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2d80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2dac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2db4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2dbc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2dd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2dd4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2dd8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 91, 0xFD, 2} + }) // Domain 91 + } +} + +Scope (\_SB.SYST.CL2E) { + Device(C092) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2e00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2e00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2e14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2e2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2e34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2e3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2e50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2e54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2e58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 92, 0xFD, 2} + }) // Domain 92 + } + + Device(C093) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2e01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2e80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2e94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2eac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2eb4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ebc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ed0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ed4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ed8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 93, 0xFD, 2} + }) // Domain 93 + } +} + +Scope (\_SB.SYST.CL2F) { + Device(C094) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2f00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2f00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2f14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2f2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2f34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2f3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2f50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2f54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2f58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 94, 0xFD, 2} + }) // Domain 94 + } + + Device(C095) { + Name(_HID, "ACPI0007") + Name(_UID, 0x2f01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2f80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2f94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2fac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2fb4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2fbc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2fd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2fd4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2fd8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 95, 0xFD, 2} + }) // Domain 95 + } +} + +Scope (\_SB.SYST.CL30) { + Device(C096) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3000) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3000, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3004, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3008, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x300c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3010, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3014, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x302c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3034, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x303c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3050, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3054, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3058, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 96, 0xFD, 2} + }) // Domain 96 + } + + Device(C097) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3001) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3080, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3084, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3088, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x308c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3090, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3094, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x30ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x30b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x30bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x30d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x30d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x30d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 97, 0xFD, 2} + }) // Domain 97 + } +} + +Scope (\_SB.SYST.CL31) { + Device(C098) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3100) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3100, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3104, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3108, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x310c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3110, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3114, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x312c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3134, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x313c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3150, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3154, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3158, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 98, 0xFD, 2} + }) // Domain 98 + } + + Device(C099) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3101) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3180, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3184, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3188, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x318c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3190, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3194, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x31ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x31b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x31bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x31d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x31d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x31d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 99, 0xFD, 2} + }) // Domain 99 + } +} + +Scope (\_SB.SYST.CL32) { + Device(C100) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3200) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3200, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3204, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3208, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x320c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3210, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3214, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x322c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3234, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x323c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3250, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3254, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3258, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 100, 0xFD, 2} + }) // Domain 100 + } + + Device(C101) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3201) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3280, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3284, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3288, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x328c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3290, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3294, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x32ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x32b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x32bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x32d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x32d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x32d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 101, 0xFD, 2} + }) // Domain 101 + } +} + +Scope (\_SB.SYST.CL33) { + Device(C102) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3300) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3300, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3304, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3308, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x330c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3310, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3314, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x332c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3334, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x333c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3350, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3354, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3358, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 102, 0xFD, 2} + }) // Domain 102 + } + + Device(C103) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3301) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3380, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3384, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3388, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x338c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3390, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3394, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x33ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x33b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x33bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x33d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x33d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x33d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 103, 0xFD, 2} + }) // Domain 103 + } +} + +Scope (\_SB.SYST.CL34) { + Device(C104) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3400) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3400, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3404, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3408, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x340c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3410, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3414, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x342c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3434, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x343c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3450, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3454, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3458, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 104, 0xFD, 2} + }) // Domain 104 + } + + Device(C105) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3401) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3480, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3484, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3488, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x348c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3490, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3494, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x34ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x34b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x34bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x34d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x34d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x34d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 105, 0xFD, 2} + }) // Domain 105 + } +} + +Scope (\_SB.SYST.CL35) { + Device(C106) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3500) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3500, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3504, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3508, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x350c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3510, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3514, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x352c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3534, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x353c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3550, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3554, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3558, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 106, 0xFD, 2} + }) // Domain 106 + } + + Device(C107) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3501) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3580, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3584, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3588, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x358c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3590, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3594, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x35ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x35b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x35bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x35d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x35d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x35d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 107, 0xFD, 2} + }) // Domain 107 + } +} + +Scope (\_SB.SYST.CL36) { + Device(C108) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3600) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3600, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3604, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3608, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x360c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3610, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3614, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x362c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3634, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x363c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3650, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3654, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3658, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 108, 0xFD, 2} + }) // Domain 108 + } + + Device(C109) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3601) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3680, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3684, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3688, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x368c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3690, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3694, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x36ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x36b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x36bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x36d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x36d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x36d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 109, 0xFD, 2} + }) // Domain 109 + } +} + +Scope (\_SB.SYST.CL37) { + Device(C110) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3700) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3700, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3704, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3708, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x370c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3710, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3714, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x372c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3734, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x373c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3750, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3754, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3758, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 110, 0xFD, 2} + }) // Domain 110 + } + + Device(C111) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3701) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3780, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3784, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3788, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x378c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3790, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3794, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x37ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x37b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x37bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x37d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x37d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x37d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 111, 0xFD, 2} + }) // Domain 111 + } +} + +Scope (\_SB.SYST.CL38) { + Device(C112) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3800) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3800, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3804, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3808, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x380c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3810, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3814, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x382c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3834, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x383c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3850, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3854, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3858, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 112, 0xFD, 2} + }) // Domain 112 + } + + Device(C113) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3801) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3880, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3884, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3888, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x388c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3890, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3894, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x38ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x38b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x38bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x38d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x38d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x38d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 113, 0xFD, 2} + }) // Domain 113 + } +} + +Scope (\_SB.SYST.CL39) { + Device(C114) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3900) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3900, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3904, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3908, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x390c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3910, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3914, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x392c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3934, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x393c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3950, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3954, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3958, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 114, 0xFD, 2} + }) // Domain 114 + } + + Device(C115) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3901) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3980, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3984, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3988, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x398c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3990, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3994, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x39ac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x39b4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x39bc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x39d0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x39d4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x39d8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 115, 0xFD, 2} + }) // Domain 115 + } +} + +Scope (\_SB.SYST.CL3A) { + Device(C116) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3a00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3a00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3a14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3a2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3a34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3a3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3a50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3a54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3a58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 116, 0xFD, 2} + }) // Domain 116 + } + + Device(C117) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3a01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3a80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3a94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3aac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3ab4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3abc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ad0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ad4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ad8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 117, 0xFD, 2} + }) // Domain 117 + } +} + +Scope (\_SB.SYST.CL3B) { + Device(C118) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3b00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3b00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3b14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3b2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3b34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3b3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3b50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3b54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3b58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 118, 0xFD, 2} + }) // Domain 118 + } + + Device(C119) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3b01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3b80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3b94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3bac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3bb4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3bbc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3bd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3bd4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3bd8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 119, 0xFD, 2} + }) // Domain 119 + } +} + +Scope (\_SB.SYST.CL3C) { + Device(C120) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3c00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3c00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3c2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3c34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 120, 0xFD, 2} + }) // Domain 120 + } + + Device(C121) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3c01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3c80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3cac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3cb4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3cbc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3cd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3cd4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3cd8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 121, 0xFD, 2} + }) // Domain 121 + } +} + +Scope (\_SB.SYST.CL3D) { + Device(C122) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3d00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3d00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3d2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3d34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 122, 0xFD, 2} + }) // Domain 122 + } + + Device(C123) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3d01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3d80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3dac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3db4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3dbc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3dd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3dd4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3dd8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 123, 0xFD, 2} + }) // Domain 123 + } +} + +Scope (\_SB.SYST.CL3E) { + Device(C124) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3e00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3e00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3e14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3e2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3e34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3e3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3e50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3e54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3e58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 124, 0xFD, 2} + }) // Domain 124 + } + + Device(C125) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3e01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3e80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3e94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3eac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3eb4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ebc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ed0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ed4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ed8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 125, 0xFD, 2} + }) // Domain 125 + } +} + +Scope (\_SB.SYST.CL3F) { + Device(C126) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3f00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3f00, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f04, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f08, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f0c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f10, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3f14, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3f2c, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3f34, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3f3c, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3f50, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3f54, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3f58, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 126, 0xFD, 2} + }) // Domain 126 + } + + Device(C127) { + Name(_HID, "ACPI0007") + Name(_UID, 0x3f01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3f80, 2)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f84, 2)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f88, 2)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f8c, 2)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f90, 2)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3f94, 2)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3fac, 2)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3fb4, 2)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3fbc, 2)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3fd0, 2)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3fd4, 2)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3fd8, 2)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 127, 0xFD, 2} + }) // Domain 127 + } +} diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/CPU-S1.asi b/Platform/A= mpere/JadePkg/Ac02AcpiTables/CPU-S1.asi new file mode 100644 index 000000000000..09a93e9b8199 --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/CPU-S1.asi @@ -0,0 +1,6345 @@ +/** @file + + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +Scope (\_SB.SYST) { + Device (CL40) { + Name(_HID, "ACPI0010") + Name(_UID, 0x41) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL41) { + Name(_HID, "ACPI0010") + Name(_UID, 0x42) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL42) { + Name(_HID, "ACPI0010") + Name(_UID, 0x43) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL43) { + Name(_HID, "ACPI0010") + Name(_UID, 0x44) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL44) { + Name(_HID, "ACPI0010") + Name(_UID, 0x45) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL45) { + Name(_HID, "ACPI0010") + Name(_UID, 0x46) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL46) { + Name(_HID, "ACPI0010") + Name(_UID, 0x47) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL47) { + Name(_HID, "ACPI0010") + Name(_UID, 0x48) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL48) { + Name(_HID, "ACPI0010") + Name(_UID, 0x49) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL49) { + Name(_HID, "ACPI0010") + Name(_UID, 0x4A) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL4A) { + Name(_HID, "ACPI0010") + Name(_UID, 0x4B) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL4B) { + Name(_HID, "ACPI0010") + Name(_UID, 0x4C) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL4C) { + Name(_HID, "ACPI0010") + Name(_UID, 0x4D) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL4D) { + Name(_HID, "ACPI0010") + Name(_UID, 0x4E) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL4E) { + Name(_HID, "ACPI0010") + Name(_UID, 0x4F) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL4F) { + Name(_HID, "ACPI0010") + Name(_UID, 0x50) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL50) { + Name(_HID, "ACPI0010") + Name(_UID, 0x51) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL51) { + Name(_HID, "ACPI0010") + Name(_UID, 0x52) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL52) { + Name(_HID, "ACPI0010") + Name(_UID, 0x53) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL53) { + Name(_HID, "ACPI0010") + Name(_UID, 0x54) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL54) { + Name(_HID, "ACPI0010") + Name(_UID, 0x55) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL55) { + Name(_HID, "ACPI0010") + Name(_UID, 0x56) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL56) { + Name(_HID, "ACPI0010") + Name(_UID, 0x57) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL57) { + Name(_HID, "ACPI0010") + Name(_UID, 0x58) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL58) { + Name(_HID, "ACPI0010") + Name(_UID, 0x59) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL59) { + Name(_HID, "ACPI0010") + Name(_UID, 0x5A) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL5A) { + Name(_HID, "ACPI0010") + Name(_UID, 0x5B) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL5B) { + Name(_HID, "ACPI0010") + Name(_UID, 0x5C) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL5C) { + Name(_HID, "ACPI0010") + Name(_UID, 0x5D) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL5D) { + Name(_HID, "ACPI0010") + Name(_UID, 0x5E) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL5E) { + Name(_HID, "ACPI0010") + Name(_UID, 0x5F) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL5F) { + Name(_HID, "ACPI0010") + Name(_UID, 0x60) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL60) { + Name(_HID, "ACPI0010") + Name(_UID, 0x61) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL61) { + Name(_HID, "ACPI0010") + Name(_UID, 0x62) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL62) { + Name(_HID, "ACPI0010") + Name(_UID, 0x63) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL63) { + Name(_HID, "ACPI0010") + Name(_UID, 0x64) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL64) { + Name(_HID, "ACPI0010") + Name(_UID, 0x65) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL65) { + Name(_HID, "ACPI0010") + Name(_UID, 0x66) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL66) { + Name(_HID, "ACPI0010") + Name(_UID, 0x67) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL67) { + Name(_HID, "ACPI0010") + Name(_UID, 0x68) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL68) { + Name(_HID, "ACPI0010") + Name(_UID, 0x69) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL69) { + Name(_HID, "ACPI0010") + Name(_UID, 0x6A) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL6A) { + Name(_HID, "ACPI0010") + Name(_UID, 0x6B) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL6B) { + Name(_HID, "ACPI0010") + Name(_UID, 0x6C) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL6C) { + Name(_HID, "ACPI0010") + Name(_UID, 0x6D) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL6D) { + Name(_HID, "ACPI0010") + Name(_UID, 0x6E) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL6E) { + Name(_HID, "ACPI0010") + Name(_UID, 0x6F) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL6F) { + Name(_HID, "ACPI0010") + Name(_UID, 0x70) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL70) { + Name(_HID, "ACPI0010") + Name(_UID, 0x71) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL71) { + Name(_HID, "ACPI0010") + Name(_UID, 0x72) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL72) { + Name(_HID, "ACPI0010") + Name(_UID, 0x73) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL73) { + Name(_HID, "ACPI0010") + Name(_UID, 0x74) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL74) { + Name(_HID, "ACPI0010") + Name(_UID, 0x75) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL75) { + Name(_HID, "ACPI0010") + Name(_UID, 0x76) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL76) { + Name(_HID, "ACPI0010") + Name(_UID, 0x77) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL77) { + Name(_HID, "ACPI0010") + Name(_UID, 0x78) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL78) { + Name(_HID, "ACPI0010") + Name(_UID, 0x79) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL79) { + Name(_HID, "ACPI0010") + Name(_UID, 0x7A) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL7A) { + Name(_HID, "ACPI0010") + Name(_UID, 0x7B) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL7B) { + Name(_HID, "ACPI0010") + Name(_UID, 0x7C) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL7C) { + Name(_HID, "ACPI0010") + Name(_UID, 0x7D) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL7D) { + Name(_HID, "ACPI0010") + Name(_UID, 0x7E) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL7E) { + Name(_HID, "ACPI0010") + Name(_UID, 0x7F) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } + + Device (CL7F) { + Name(_HID, "ACPI0010") + Name(_UID, 0x80) + + Method (_LPI, 0, NotSerialized) { + return(CLPI) + } + } +} + +Scope (\_SB.SYST.CL40) { + Device(C128) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10000) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x000, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x004, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x008, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x00c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x010, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x014, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2c, 17)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x34, 17)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c, 17)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x050, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x054, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x058, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 128, 0xFD, 2} + }) // Domain 128 + } + + Device(C129) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10001) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x080, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x084, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x088, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x08c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x090, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x094, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xac, 17)}, // Refer= ence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xb4, 17)}, // Deliv= ered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xbc, 17)}, // Perfo= rmance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x0d0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x0d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x0d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 1219, 0xFD, 2} + }) // Domain 129 + } +} + +Scope (\_SB.SYST.CL41) { + Device(C130) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10100) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x100, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x104, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x108, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x10c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x110, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x114, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x12c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x134, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x13c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x150, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x154, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x158, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 130, 0xFD, 2} + }) // Domain 130 + } + + Device(C131) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10101) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x180, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x184, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x188, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x18c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x190, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x194, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1bc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 131, 0xFD, 2} + }) // Domain 131 + } +} + +Scope (\_SB.SYST.CL42) { + Device(C132) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10200) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x200, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x204, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x208, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x20c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x210, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x214, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x22c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x234, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x23c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x250, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x254, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x258, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 132, 0xFD, 2} + }) // Domain 132 + } + + Device(C133) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10201) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x280, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x284, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x288, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x28c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x290, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x294, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2bc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 133, 0xFD, 2} + }) // Domain 133 + } +} + +Scope (\_SB.SYST.CL43) { + Device(C134) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10300) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x300, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x304, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x308, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x30c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x310, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x314, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x32c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x334, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x33c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x350, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x354, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x358, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 134, 0xFD, 2} + }) // Domain 134 + } + + Device(C135) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10301) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x380, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x384, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x388, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x38c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x390, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x394, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3bc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 135, 0xFD, 2} + }) // Domain 135 + } +} + +Scope (\_SB.SYST.CL44) { + Device(C136) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10400) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x400, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x404, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x408, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x40c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x410, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x414, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x42c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x434, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x43c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x450, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x454, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x458, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 136, 0xFD, 2} + }) // Domain 136 + } + + Device(C137) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10401) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x480, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x484, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x488, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x48c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x490, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x494, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x4ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x4b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x4bc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x4d0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x4d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x4d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 137, 0xFD, 2} + }) // Domain 137 + } +} + +Scope (\_SB.SYST.CL45) { + Device(C138) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10500) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x500, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x504, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x508, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x50c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x510, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x514, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x52c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x534, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x53c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x550, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x554, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x558, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 138, 0xFD, 2} + }) // Domain 138 + } + + Device(C139) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10501) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x580, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x584, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x588, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x58c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x590, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x594, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x5ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x5b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x5bc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x5d0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x5d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x5d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 139, 0xFD, 2} + }) // Domain 139 + } +} + +Scope (\_SB.SYST.CL46) { + Device(C140) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10600) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x600, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x604, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x608, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x60c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x610, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x614, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x62c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x634, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x63c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x650, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x654, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x658, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 140, 0xFD, 2} + }) // Domain 140 + } + + Device(C141) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10601) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x680, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x684, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x688, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x68c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x690, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x694, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x6ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x6b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x6bc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x6d0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x6d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x6d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 141, 0xFD, 2} + }) // Domain 141 + } +} + +Scope (\_SB.SYST.CL47) { + Device(C142) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10700) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x700, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x704, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x708, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x70c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x710, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x714, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x72c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x734, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x73c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x750, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x754, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x758, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 142, 0xFD, 2} + }) // Domain 142 + } + + Device(C143) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10701) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x780, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x784, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x788, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x78c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x790, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x794, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x7ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x7b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x7bc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x7d0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x7d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x7d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 143, 0xFD, 2} + }) // Domain 143 + } +} + +Scope (\_SB.SYST.CL48) { + Device(C144) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10800) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x800, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x804, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x808, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x80c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x810, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x814, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x82c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x834, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x83c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x850, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x854, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x858, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 144, 0xFD, 2} + }) // Domain 144 + } + + Device(C145) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10801) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x880, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x884, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x888, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x88c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x890, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x894, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x8ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x8b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x8bc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x8d0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x8d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x8d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 145, 0xFD, 2} + }) // Domain 145 + } +} + +Scope (\_SB.SYST.CL49) { + Device(C146) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10900) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x900, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x904, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x908, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x90c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x910, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x914, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x92c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x934, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x93c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x950, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x954, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x958, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 146, 0xFD, 2} + }) // Domain 146 + } + + Device(C147) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10901) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x980, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x984, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x988, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x98c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x990, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x994, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x9ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x9b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x9bc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x9d0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x9d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x9d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 147, 0xFD, 2} + }) // Domain 147 + } +} + +Scope (\_SB.SYST.CL4A) { + Device(C148) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10a00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xa00, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa04, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa08, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa0c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa10, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xa14, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xa2c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xa34, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xa3c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xa50, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xa54, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xa58, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 148, 0xFD, 2} + }) // Domain 148 + } + + Device(C149) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10a01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xa80, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa84, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa88, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa8c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xa90, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xa94, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xaac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xab4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xabc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xad0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xad4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xad8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 149, 0xFD, 2} + }) // Domain 149 + } +} + +Scope (\_SB.SYST.CL4B) { + Device(C150) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10b00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xb00, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb04, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb08, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb0c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb10, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xb14, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xb2c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xb34, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xb3c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xb50, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xb54, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xb58, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 150, 0xFD, 2} + }) // Domain 150 + } + + Device(C151) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10b01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xb80, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb84, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb88, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb8c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xb90, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xb94, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xbac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xbb4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xbbc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xbd0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xbd4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xbd8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 151, 0xFD, 2} + }) // Domain 151 + } +} + +Scope (\_SB.SYST.CL4C) { + Device(C152) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10c00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xc00, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc04, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc08, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc0c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc10, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xc14, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xc2c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xc34, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xc3c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xc50, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xc54, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xc58, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 152, 0xFD, 2} + }) // Domain 152 + } + + Device(C153) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10c01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xc80, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc84, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc88, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc8c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xc90, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xc94, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xcac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xcb4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xcbc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xcd0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xcd4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xcd8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 153, 0xFD, 2} + }) // Domain 153 + } +} + +Scope (\_SB.SYST.CL4D) { + Device(C154) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10d00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xd00, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd04, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd08, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd0c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd10, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xd14, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xd2c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xd34, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xd3c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xd50, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xd54, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xd58, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 154, 0xFD, 2} + }) // Domain 154 + } + + Device(C155) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10d01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xd80, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd84, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd88, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd8c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xd90, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xd94, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xdac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xdb4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xdbc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xdd0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xdd4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xdd8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 155, 0xFD, 2} + }) // Domain 155 + } +} + +Scope (\_SB.SYST.CL4E) { + Device(C156) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10e00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xe00, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe04, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe08, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe0c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe10, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xe14, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xe2c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xe34, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xe3c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xe50, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xe54, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xe58, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 156, 0xFD, 2} + }) // Domain 156 + } + + Device(C157) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10e01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xe80, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe84, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe88, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe8c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xe90, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xe94, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xeac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xeb4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xebc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xed0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xed4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xed8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 157, 0xFD, 2} + }) // Domain 157 + } +} + +Scope (\_SB.SYST.CL4F) { + Device(C158) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10f00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xf00, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf04, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf08, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf0c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf10, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xf14, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xf2c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xf34, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xf3c, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xf50, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xf54, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xf58, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 158, 0xFD, 2} + }) // Domain 158 + } + + Device(C159) { + Name(_HID, "ACPI0007") + Name(_UID, 0x10f01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0xf80, 17)}, // High= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf84, 17)}, // Nomi= nal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf88, 17)}, // Lowe= st Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf8c, 17)}, // Lowe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0xf90, 17)}, // Guar= anteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xf94, 17)}, // Desi= red Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0xfac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0xfb4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0xfbc, 17)}, // Perf= ormance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0xfd0, 17)}, // Refe= rence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0xfd4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0xfd8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 159, 0xFD, 2} + }) // Domain 159 + } +} + +Scope (\_SB.SYST.CL50) { + Device(C160) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11000) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1000, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1004, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1008, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x100c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1010, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1014, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x102c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1034, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x103c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1050, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1054, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1058, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 160, 0xFD, 2} + }) // Domain 160 + } + + Device(C161) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11001) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1080, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1084, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1088, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x108c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1090, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1094, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x10ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x10b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x10bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x10d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x10d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x10d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 161, 0xFD, 2} + }) // Domain 161 + } +} + +Scope (\_SB.SYST.CL51) { + Device(C162) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11100) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1100, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1104, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1108, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x110c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1110, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1114, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x112c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1134, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x113c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1150, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1154, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1158, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 162, 0xFD, 2} + }) // Domain 162 + } + + Device(C163) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11101) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1180, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1184, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1188, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x118c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1190, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1194, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x11ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x11b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x11bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x11d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x11d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x11d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 163, 0xFD, 2} + }) // Domain 163 + } +} + +Scope (\_SB.SYST.CL52) { + Device(C164) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11200) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1200, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1204, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1208, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x120c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1210, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1214, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x122c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1234, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x123c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1250, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1254, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1258, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 164, 0xFD, 2} + }) // Domain 164 + } + + Device(C165) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11201) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1280, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1284, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1288, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x128c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1290, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1294, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x12ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x12b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x12bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x12d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x12d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x12d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 165, 0xFD, 2} + }) // Domain 165 + } +} + +Scope (\_SB.SYST.CL53) { + Device(C166) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11300) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1300, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1304, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1308, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x130c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1310, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1314, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x132c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1334, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x133c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1350, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1354, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1358, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 166, 0xFD, 2} + }) // Domain 166 + } + + Device(C167) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11301) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1380, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1384, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1388, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x138c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1390, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1394, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x13ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x13b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x13bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x13d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x13d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x13d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 167, 0xFD, 2} + }) // Domain 167 + } +} + +Scope (\_SB.SYST.CL54) { + Device(C168) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11400) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1400, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1404, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1408, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x140c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1410, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1414, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x142c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1434, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x143c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1450, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1454, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1458, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 168, 0xFD, 2} + }) // Domain 168 + } + + Device(C169) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11401) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1480, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1484, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1488, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x148c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1490, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1494, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x14ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x14b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x14bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x14d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x14d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x14d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 169, 0xFD, 2} + }) // Domain 169 + } +} + +Scope (\_SB.SYST.CL55) { + Device(C170) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11500) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1500, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1504, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1508, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x150c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1510, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1514, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x152c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1534, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x153c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1550, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1554, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1558, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 170, 0xFD, 2} + }) // Domain 170 + } + + Device(C171) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11501) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1580, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1584, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1588, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x158c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1590, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1594, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x15ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x15b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x15bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x15d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x15d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x15d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 171, 0xFD, 2} + }) // Domain 171 + } +} + +Scope (\_SB.SYST.CL56) { + Device(C172) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11600) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1600, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1604, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1608, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x160c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1610, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1614, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x162c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1634, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x163c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1650, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1654, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1658, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 172, 0xFD, 2} + }) // Domain 172 + } + + Device(C173) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11601) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1680, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1684, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1688, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x168c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1690, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1694, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x16ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x16b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x16bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x16d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x16d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x16d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 173, 0xFD, 2} + }) // Domain 173 + } +} + +Scope (\_SB.SYST.CL57) { + Device(C174) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11700) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1700, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1704, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1708, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x170c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1710, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1714, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x172c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1734, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x173c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1750, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1754, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1758, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 174, 0xFD, 2} + }) // Domain 174 + } + + Device(C175) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11701) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1780, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1784, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1788, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x178c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1790, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1794, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x17ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x17b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x17bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x17d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x17d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x17d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 175, 0xFD, 2} + }) // Domain 175 + } +} + +Scope (\_SB.SYST.CL58) { + Device(C176) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11800) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1800, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1804, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1808, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x180c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1810, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1814, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x182c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1834, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x183c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1850, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1854, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1858, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 176, 0xFD, 2} + }) // Domain 176 + } + + Device(C177) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11801) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1880, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1884, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1888, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x188c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1890, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1894, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x18ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x18b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x18bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x18d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x18d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x18d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 177, 0xFD, 2} + }) // Domain 177 + } +} + +Scope (\_SB.SYST.CL59) { + Device(C178) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11900) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1900, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1904, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1908, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x190c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1910, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1914, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x192c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1934, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x193c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1950, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1954, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1958, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 178, 0xFD, 2} + }) // Domain 178 + } + + Device(C179) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11901) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1980, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1984, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1988, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x198c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1990, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1994, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x19ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x19b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x19bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x19d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x19d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x19d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 179, 0xFD, 2} + }) // Domain 179 + } +} + +Scope (\_SB.SYST.CL5A) { + Device(C180) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11a00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1a00, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a04, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a08, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a0c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a10, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1a14, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1a2c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1a34, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1a3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1a50, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1a54, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1a58, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 180, 0xFD, 2} + }) // Domain 180 + } + + Device(C181) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11a01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1a80, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a84, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a88, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a8c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1a90, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1a94, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1aac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1ab4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1abc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ad0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ad4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ad8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 181, 0xFD, 2} + }) // Domain 181 + } +} + +Scope (\_SB.SYST.CL5B) { + Device(C182) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11b00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1b00, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b04, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b08, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b0c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b10, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1b14, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1b2c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1b34, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1b3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1b50, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1b54, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1b58, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 182, 0xFD, 2} + }) // Domain 182 + } + + Device(C183) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11b01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1b80, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b84, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b88, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b8c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1b90, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1b94, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1bac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1bb4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1bbc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1bd0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1bd4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1bd8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 183, 0xFD, 2} + }) // Domain 183 + } +} + +Scope (\_SB.SYST.CL5C) { + Device(C184) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11c00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1c00, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c04, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c08, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c0c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c10, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1c14, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1c2c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1c34, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1c3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1c50, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1c54, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1c58, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 184, 0xFD, 2} + }) // Domain 184 + } + + Device(C185) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11c01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1c80, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c84, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c88, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c8c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1c90, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1c94, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1cac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1cb4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1cbc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1cd0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1cd4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1cd8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 185, 0xFD, 2} + }) // Domain 185 + } +} + +Scope (\_SB.SYST.CL5D) { + Device(C186) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11d00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1d00, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d04, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d08, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d0c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d10, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d14, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1d2c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1d34, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d50, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d54, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d58, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 186, 0xFD, 2} + }) // Domain 186 + } + + Device(C187) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11d01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1d80, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d84, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d88, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d8c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1d90, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1d94, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1dac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1db4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1dbc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1dd0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1dd4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1dd8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 187, 0xFD, 2} + }) // Domain 187 + } +} + +Scope (\_SB.SYST.CL5E) { + Device(C188) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11e00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1e00, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e04, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e08, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e0c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e10, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1e14, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1e2c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1e34, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1e3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1e50, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1e54, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1e58, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 188, 0xFD, 2} + }) // Domain 188 + } + + Device(C189) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11e01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1e80, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e84, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e88, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e8c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1e90, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1e94, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1eac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1eb4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ebc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ed0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ed4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1ed8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 189, 0xFD, 2} + }) // Domain 189 + } +} + +Scope (\_SB.SYST.CL5F) { + Device(C190) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11f00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1f00, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f04, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f08, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f0c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f10, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1f14, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1f2c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1f34, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1f3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1f50, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1f54, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1f58, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 190, 0xFD, 2} + }) // Domain 190 + } + + Device(C191) { + Name(_HID, "ACPI0007") + Name(_UID, 0x11f01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x1f80, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f84, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f88, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f8c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x1f90, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1f94, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x1fac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x1fb4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1fbc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1fd0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1fd4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x1fd8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 191, 0xFD, 2} + }) // Domain 191 + } +} + +Scope (\_SB.SYST.CL60) { + Device(C192) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12000) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2000, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2004, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2008, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x200c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2010, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2014, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x202c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2034, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x203c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2050, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2054, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2058, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 192, 0xFD, 2} + }) // Domain 192 + } + + Device(C193) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12001) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2080, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2084, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2088, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x208c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2090, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2094, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x20ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x20b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x20bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x20d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x20d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x20d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 193, 0xFD, 2} + }) // Domain 193 + } +} + +Scope (\_SB.SYST.CL61) { + Device(C194) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12100) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2100, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2104, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2108, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x210c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2110, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2114, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x212c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2134, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x213c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2150, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2154, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2158, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 194, 0xFD, 2} + }) // Domain 194 + } + + Device(C195) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12101) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2180, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2184, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2188, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x218c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2190, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2194, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x21ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x21b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x21bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x21d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x21d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x21d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 195, 0xFD, 2} + }) // Domain 195 + } +} + +Scope (\_SB.SYST.CL62) { + Device(C196) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12200) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2200, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2204, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2208, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x220c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2210, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2214, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x222c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2234, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x223c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2250, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2254, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2258, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 196, 0xFD, 2} + }) // Domain 196 + } + + Device(C197) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12201) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2280, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2284, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2288, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x228c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2290, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2294, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x22ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x22b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x22bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x22d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x22d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x22d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 197, 0xFD, 2} + }) // Domain 197 + } +} + +Scope (\_SB.SYST.CL63) { + Device(C198) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12300) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2300, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2304, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2308, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x230c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2310, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2314, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x232c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2334, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x233c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2350, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2354, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2358, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 198, 0xFD, 2} + }) // Domain 198 + } + + Device(C199) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12301) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2380, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2384, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2388, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x238c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2390, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2394, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x23ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x23b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x23bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x23d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x23d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x23d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 199, 0xFD, 2} + }) // Domain 199 + } +} + +Scope (\_SB.SYST.CL64) { + Device(C200) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12400) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2400, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2404, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2408, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x240c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2410, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2414, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x242c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2434, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x243c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2450, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2454, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2458, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 200, 0xFD, 2} + }) // Domain 200 + } + + Device(C201) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12401) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2480, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2484, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2488, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x248c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2490, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2494, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x24ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x24b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x24bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x24d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x24d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x24d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 201, 0xFD, 2} + }) // Domain 201 + } +} + +Scope (\_SB.SYST.CL65) { + Device(C202) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12500) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2500, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2504, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2508, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x250c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2510, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2514, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x252c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2534, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x253c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2550, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2554, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2558, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 202, 0xFD, 2} + }) // Domain 202 + } + + Device(C203) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12501) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2580, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2584, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2588, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x258c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2590, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2594, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x25ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x25b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x25bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x25d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x25d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x25d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 203, 0xFD, 2} + }) // Domain 203 + } +} + +Scope (\_SB.SYST.CL66) { + Device(C204) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12600) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2600, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2604, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2608, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x260c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2610, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2614, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x262c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2634, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x263c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2650, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2654, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2658, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 204, 0xFD, 2} + }) // Domain 204 + } + + Device(C205) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12601) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2680, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2684, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2688, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x268c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2690, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2694, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x26ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x26b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x26bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x26d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x26d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x26d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 205, 0xFD, 2} + }) // Domain 205 + } +} + +Scope (\_SB.SYST.CL67) { + Device(C206) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12700) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2700, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2704, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2708, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x270c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2710, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2714, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x272c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2734, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x273c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2750, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2754, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2758, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 206, 0xFD, 2} + }) // Domain 206 + } + + Device(C207) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12701) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2780, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2784, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2788, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x278c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2790, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2794, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x27ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x27b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x27bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x27d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x27d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x27d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 207, 0xFD, 2} + }) // Domain 207 + } +} + +Scope (\_SB.SYST.CL68) { + Device(C208) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12800) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2800, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2804, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2808, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x280c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2810, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2814, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x282c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2834, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x283c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2850, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2854, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2858, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 208, 0xFD, 2} + }) // Domain 208 + } + + Device(C209) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12801) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2880, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2884, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2888, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x288c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2890, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2894, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x28ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x28b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x28bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x28d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x28d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x28d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 209, 0xFD, 2} + }) // Domain 209 + } +} + +Scope (\_SB.SYST.CL69) { + Device(C210) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12900) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2900, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2904, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2908, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x290c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2910, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2914, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x292c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2934, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x293c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2950, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2954, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2958, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 210, 0xFD, 2} + }) // Domain 210 + } + + Device(C211) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12901) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2980, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2984, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2988, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x298c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2990, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2994, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x29ac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x29b4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x29bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x29d0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x29d4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x29d8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 211, 0xFD, 2} + }) // Domain 211 + } +} + +Scope (\_SB.SYST.CL6A) { + Device(C212) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12a00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2a00, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a04, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a08, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a0c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a10, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2a14, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2a2c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2a34, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2a3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2a50, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2a54, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2a58, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 212, 0xFD, 2} + }) // Domain 212 + } + + Device(C213) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12a01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2a80, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a84, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a88, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a8c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2a90, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2a94, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2aac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2ab4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2abc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ad0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ad4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ad8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 213, 0xFD, 2} + }) // Domain 213 + } +} + +Scope (\_SB.SYST.CL6B) { + Device(C214) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12b00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2b00, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b04, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b08, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b0c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b10, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2b14, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2b2c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2b34, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2b3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2b50, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2b54, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2b58, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 214, 0xFD, 2} + }) // Domain 214 + } + + Device(C215) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12b01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2b80, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b84, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b88, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b8c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2b90, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2b94, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2bac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2bb4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2bbc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2bd0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2bd4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2bd8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 215, 0xFD, 2} + }) // Domain 215 + } +} + +Scope (\_SB.SYST.CL6C) { + Device(C216) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12c00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2c00, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c04, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c08, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c0c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c10, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2c14, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2c2c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2c34, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2c3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2c50, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2c54, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2c58, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 216, 0xFD, 2} + }) // Domain 216 + } + + Device(C217) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12c01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2c80, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c84, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c88, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c8c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2c90, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2c94, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2cac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2cb4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2cbc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2cd0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2cd4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2cd8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 217, 0xFD, 2} + }) // Domain 217 + } +} + +Scope (\_SB.SYST.CL6D) { + Device(C218) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12d00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2d00, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d04, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d08, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d0c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d10, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d14, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2d2c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2d34, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d50, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d54, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d58, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 218, 0xFD, 2} + }) // Domain 218 + } + + Device(C219) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12d01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2d80, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d84, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d88, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d8c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2d90, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2d94, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2dac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2db4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2dbc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2dd0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2dd4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2dd8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 219, 0xFD, 2} + }) // Domain 219 + } +} + +Scope (\_SB.SYST.CL6E) { + Device(C220) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12e00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2e00, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e04, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e08, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e0c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e10, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2e14, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2e2c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2e34, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2e3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2e50, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2e54, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2e58, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 220, 0xFD, 2} + }) // Domain 220 + } + + Device(C221) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12e01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2e80, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e84, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e88, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e8c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2e90, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2e94, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2eac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2eb4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ebc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ed0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ed4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2ed8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 221, 0xFD, 2} + }) // Domain 221 + } +} + +Scope (\_SB.SYST.CL6F) { + Device(C222) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12f00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2f00, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f04, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f08, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f0c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f10, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2f14, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2f2c, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2f34, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2f3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2f50, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2f54, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2f58, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 222, 0xFD, 2} + }) // Domain 222 + } + + Device(C223) { + Name(_HID, "ACPI0007") + Name(_UID, 0x12f01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x2f80, 17)}, // Hig= hest Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f84, 17)}, // Nom= inal Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f88, 17)}, // Low= est Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f8c, 17)}, // Low= est Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x2f90, 17)}, // Gua= ranteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2f94, 17)}, // Des= ired Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x2fac, 17)}, // Ref= erence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x2fb4, 17)}, // Del= ivered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2fbc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2fd0, 17)}, // Ref= erence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2fd4, 17)}, // Low= est Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x2fd8, 17)}, // Nom= inal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 223, 0xFD, 2} + }) // Domain 223 + } +} + +Scope (\_SB.SYST.CL70) { + Device(C224) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13000) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3000, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3004, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3008, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x300c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3010, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3014, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x302c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3034, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x303c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3050, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3054, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3058, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 224, 0xFD, 2} + }) // Domain 224 + } + + Device(C225) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13001) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3080, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3084, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3088, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x308c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3090, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3094, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x30ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x30b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x30bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x30d0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x30d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x30d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 225, 0xFD, 2} + }) // Domain 225 + } +} + +Scope (\_SB.SYST.CL71) { + Device(C226) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13100) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3100, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3104, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3108, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x310c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3110, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3114, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x312c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3134, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x313c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3150, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3154, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3158, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 226, 0xFD, 2} + }) // Domain 226 + } + + Device(C227) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13101) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3180, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3184, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3188, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x318c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3190, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3194, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x31ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x31b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x31bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x31d0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x31d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x31d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 227, 0xFD, 2} + }) // Domain 227 + } +} + +Scope (\_SB.SYST.CL72) { + Device(C228) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13200) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3200, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3204, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3208, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x320c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3210, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3214, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x322c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3234, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x323c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3250, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3254, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3258, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 228, 0xFD, 2} + }) // Domain 228 + } + + Device(C229) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13201) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3280, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3284, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3288, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x328c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3290, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3294, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x32ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x32b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x32bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x32d0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x32d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x32d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 229, 0xFD, 2} + }) // Domain 229 + } +} + +Scope (\_SB.SYST.CL73) { + Device(C230) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13300) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3300, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3304, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3308, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x330c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3310, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3314, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x332c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3334, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x333c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3350, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3354, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3358, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 230, 0xFD, 2} + }) // Domain 230 + } + + Device(C231) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13301) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3380, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3384, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3388, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x338c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3390, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3394, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x33ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x33b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x33bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x33d0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x33d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x33d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 231, 0xFD, 2} + }) // Domain 231 + } +} + +Scope (\_SB.SYST.CL74) { + Device(C232) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13400) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3400, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3404, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3408, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x340c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3410, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3414, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x342c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3434, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x343c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3450, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3454, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3458, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 232, 0xFD, 2} + }) // Domain 232 + } + + Device(C233) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13401) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3480, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3484, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3488, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x348c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3490, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3494, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x34ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x34b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x34bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x34d0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x34d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x34d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 233, 0xFD, 2} + }) // Domain 233 + } +} + +Scope (\_SB.SYST.CL75) { + Device(C234) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13500) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3500, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3504, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3508, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x350c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3510, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3514, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x352c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3534, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x353c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3550, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3554, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3558, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 234, 0xFD, 2} + }) // Domain 234 + } + + Device(C235) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13501) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3580, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3584, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3588, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x358c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3590, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3594, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x35ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x35b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x35bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x35d0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x35d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x35d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 235, 0xFD, 2} + }) // Domain 235 + } +} + +Scope (\_SB.SYST.CL76) { + Device(C236) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13600) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3600, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3604, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3608, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x360c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3610, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3614, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x362c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3634, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x363c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3650, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3654, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3658, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 236, 0xFD, 2} + }) // Domain 236 + } + + Device(C237) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13601) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3680, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3684, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3688, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x368c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3690, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3694, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x36ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x36b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x36bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x36d0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x36d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x36d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 237, 0xFD, 2} + }) // Domain 237 + } +} + +Scope (\_SB.SYST.CL77) { + Device(C238) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13700) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3700, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3704, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3708, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x370c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3710, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3714, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x372c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3734, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x373c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3750, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3754, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3758, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 238, 0xFD, 2} + }) // Domain 238 + } + + Device(C239) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13701) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3780, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3784, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3788, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x378c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3790, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3794, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x37ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x37b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x37bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x37d0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x37d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x37d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 239, 0xFD, 2} + }) // Domain 239 + } +} + +Scope (\_SB.SYST.CL78) { + Device(C240) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13800) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3800, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3804, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3808, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x380c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3810, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3814, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x382c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3834, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x383c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3850, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3854, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3858, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 240, 0xFD, 2} + }) // Domain 240 + } + + Device(C241) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13801) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3880, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3884, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3888, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x388c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3890, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3894, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x38ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x38b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x38bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x38d0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x38d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x38d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 241, 0xFD, 2} + }) // Domain 241 + } +} + +Scope (\_SB.SYST.CL79) { + Device(C242) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13900) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3900, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3904, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3908, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x390c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3910, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3914, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x392c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3934, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x393c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3950, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3954, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3958, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 242, 0xFD, 2} + }) // Domain 242 + } + + Device(C243) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13901) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3980, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3984, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3988, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x398c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3990, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3994, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x39ac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x39b4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x39bc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x39d0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x39d4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x39d8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 243, 0xFD, 2} + }) // Domain 243 + } +} + +Scope (\_SB.SYST.CL7A) { + Device(C244) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13a00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3a00, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a04, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a08, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a0c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a10, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3a14, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3a2c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3a34, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3a3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3a50, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3a54, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3a58, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 244, 0xFD, 2} + }) // Domain 244 + } + + Device(C245) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13a01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3a80, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a84, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a88, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a8c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3a90, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3a94, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3aac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3ab4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3abc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ad0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ad4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ad8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 245, 0xFD, 2} + }) // Domain 245 + } +} + +Scope (\_SB.SYST.CL7B) { + Device(C246) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13b00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3b00, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b04, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b08, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b0c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b10, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3b14, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3b2c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3b34, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3b3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3b50, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3b54, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3b58, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 246, 0xFD, 2} + }) // Domain 246 + } + + Device(C247) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13b01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3b80, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b84, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b88, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b8c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3b90, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3b94, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3bac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3bb4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3bbc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3bd0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3bd4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3bd8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 247, 0xFD, 2} + }) // Domain 247 + } +} + +Scope (\_SB.SYST.CL7C) { + Device(C248) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13c00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3c00, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c04, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c08, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c0c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c10, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c14, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3c2c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3c34, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c50, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c54, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c58, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 248, 0xFD, 2} + }) // Domain 248 + } + + Device(C249) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13c01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3c80, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c84, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c88, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c8c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3c90, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3c94, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3cac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3cb4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3cbc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3cd0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3cd4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3cd8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 249, 0xFD, 2} + }) // Domain 249 + } +} + +Scope (\_SB.SYST.CL7D) { + Device(C250) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13d00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3d00, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d04, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d08, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d0c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d10, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d14, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3d2c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3d34, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d50, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d54, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d58, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 250, 0xFD, 2} + }) // Domain 250 + } + + Device(C251) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13d01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3d80, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d84, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d88, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d8c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3d90, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3d94, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3dac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3db4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3dbc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3dd0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3dd4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3dd8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 251, 0xFD, 2} + }) // Domain 251 + } +} + +Scope (\_SB.SYST.CL7E) { + Device(C252) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13e00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3e00, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e04, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e08, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e0c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e10, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3e14, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3e2c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3e34, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3e3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3e50, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3e54, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3e58, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 252, 0xFD, 2} + }) // Domain 252 + } + + Device(C253) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13e01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3e80, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e84, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e88, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e8c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3e90, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3e94, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3eac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3eb4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ebc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ed0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ed4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3ed8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 253, 0xFD, 2} + }) // Domain 253 + } +} + +Scope (\_SB.SYST.CL7F) { + Device(C254) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13f00) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3f00, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f04, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f08, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f0c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f10, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3f14, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3f2c, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3f34, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3f3c, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3f50, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3f54, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3f58, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package() { + Package() {5, 0, 254, 0xFD, 2} + }) // Domain 254 + } + + Device(C255) { + Name(_HID, "ACPI0007") + Name(_UID, 0x13f01) + + Method (_LPI, 0, NotSerialized) { + return(PLPI) + } + + Name(PCPC, Package() { + 23, // NumEn= tries + 3, // Revis= ion + ResourceTemplate(){Register(PCC, 32, 0, 0x3f80, 17)}, // Highe= st Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f84, 17)}, // Nomin= al Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f88, 17)}, // Lowes= t Nonlinear Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f8c, 17)}, // Lowes= t Performance + ResourceTemplate(){Register(PCC, 32, 0, 0x3f90, 17)}, // Guara= nteed Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3f94, 17)}, // Desir= ed Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Minim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Maxim= um Performance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Perfo= rmance Reduction Tolerance Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Time = Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Count= er Wraparound Time + ResourceTemplate(){Register(PCC, 64, 0, 0x3fac, 17)}, // Refe= rence Counter Register + ResourceTemplate(){Register(PCC, 64, 0, 0x3fb4, 17)}, // Deli= vered Counter Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3fbc, 17)}, // Per= formance Limited Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Enabl= e Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Selection Enable + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Auton= omous Activity Window Register + ResourceTemplate(){Register(SystemMemory, 0, 0, 0, 0)}, // Energ= y Performance Preference Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3fd0, 17)}, // Refer= ence Performance Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3fd4, 17)}, // Lowe= st Frequency Register + ResourceTemplate(){Register(PCC, 32, 0, 0x3fd8, 17)}, // Nomi= nal Frequency Register + }) + If (LEqual(CPCE, 0x1)) { + Method (_CPC, 0, NotSerialized) { + return(PCPC) + } + } + //Performance State dependency + Name(_PSD, Package(){ + Package() {5, 0, 255, 0xFD, 2} + }) // Domain 255 + } +} diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/CPU.asi b/Platform/Ampe= re/JadePkg/Ac02AcpiTables/CPU.asi new file mode 100644 index 000000000000..338b1aa03cfb --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/CPU.asi @@ -0,0 +1,152 @@ +/** @file + + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +Scope(\_SB) { + Name (CPCE, 1) // CPPC Enable + Name (LPIE, 0) // LPI Enable + + Method (_OSC, 4, Serialized) { // _OSC: Operating System Capabil= ities + CreateDWordField (Arg3, 0x00, STS0) + CreateDWordField (Arg3, 0x04, CAP0) + If (LEqual(Arg0, ToUUID ("0811b06e-4a27-44f9-8d60-3cbbc22e7b48")) /* P= latform-wide Capabilities */) { + If (LNotEqual(Arg1, One)) { + And(STS0, 0xFFFFFFE0, STS0) + Or(STS0, 0x0A, STS0) // Unrecognized Revision, OSC failure + } Else { + If (LEqual(And(CAP0, 0x100), 0x100)) { + And(CAP0, 0xFFFFFEFF, CAP0) // No support for OS Initiated LPI + And(STS0, 0xFFFFFFE0, STS0) + Or(STS0, 0x12, STS0) + } + If (LEqual(LPIE, 0x1)) { + Or(CAP0, 0x80, CAP0) // Support for LPI + } Else { + And(CAP0, 0xFFFFFF7F, CAP0) // No support for LPI + } + If (LEqual(CPCE, 0x1)) { + Or(CAP0, 0x40, CAP0) // Support for CPPCv2 + } Else { + And(CAP0, 0xFFFFFFBF, CAP0) // No support for CPPCv2 + } + } + } Else { + And(STS0, 0xFFFFFFE0, STS0) + Or(STS0, 0x06, STS0) // Unrecognized Revision, Unrecogniz= ed UUID + } + Return (Arg3) + } + + Name(CLPI, Package() { + 0, // Version + 1, // Level Index + 1, // Count + Package() { + 1, // Min residency (uS) + 1, // Wake latency (uS) + 1, // Flags + 0, // Arch Context Flags + 0, // Residency Counter Frequency + 1, // No parent state + 0x01000000, // Integer Entry method + ResourceTemplate() { // Null Residency Counter + Register (SystemMemory, 0, 0, 0, 0) + }, + ResourceTemplate() { // Null Usage Counter + Register (SystemMemory, 0, 0, 0, 0) + }, + "Standby", + }, + }) + + Name(PLPI, Package() { + 0, // Version + 2, // Level Index + 2, // Count + // WFI for CPU (NS-WFI) + Package() { + 1, // Min residency (uS) + 1, // Wake latency (uS) + 1, // Flags + 0, // Arch Context Flags + 0, // Residency Counter Frequency + 0, // No parent state + ResourceTemplate () { + // Register Entry method + Register (FFixedHW, + 0x20, // Bit Width + 0x00, // Bit Offset + 0xFFFFFFFF, // Address + 0x03, // Access Size + ) + }, + ResourceTemplate() { // Null Residency Counter + Register (SystemMemory, 0, 0, 0, 0) + }, + ResourceTemplate() { // Null Usage Counter + Register (SystemMemory, 0, 0, 0, 0) + }, + "WFI", + }, + + // WFI for CPU (S-WFI) + Package() { + 1, // Min residency (uS) + 2900, // Wake latency (uS) + 1, // Flags + 0, // Arch Context Flags + 0, // Residency Counter Frequency + 1, // No parent state + ResourceTemplate () { + // Register Entry method + Register (FFixedHW, + 0x20, // Bit Width + 0x00, // Bit Offset + 0x01, // Address + 0x03, // Access Size + ) + }, + ResourceTemplate() { // Null Residency Counter + Register (SystemMemory, 0, 0, 0, 0) + }, + ResourceTemplate() { // Null Usage Counter + Register (SystemMemory, 0, 0, 0, 0) + }, + "Standby", + }, + }) + + Device (SYST) { // System state + Name(_HID, "ACPI0010") + Name(_UID, 0) + Name (_LPI, Package() { + 0, // Version + 0, // Level Index + 1, // Count + // Retention state for Cluster + Package() { + 100, // Min residency (uS) + 99, // Wake latency (uS) + 1, // Flags + 0, // Arch Context Flags + 100, // Residency Counter Frequency + 0, // No Parent State + 0x01000100, // Integer Entry method + ResourceTemplate() { // Null Residency Counter + Register (SystemMemory, 0, 0, 0, 0) + }, + ResourceTemplate() { // Null Usage Counter + Register (SystemMemory, 0, 0, 0, 0) + }, + "System Standby" + }, + }) + } +} + +Include ("CPU-S0.asi") +Include ("CPU-S1.asi") diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/CommonDevices.asi b/Pla= tform/Ampere/JadePkg/Ac02AcpiTables/CommonDevices.asi new file mode 100644 index 000000000000..aa6524ef2bb4 --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/CommonDevices.asi @@ -0,0 +1,670 @@ +/** @file + + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +// +// Hardware Monitor +Device(HM00) { + Name(_HID, "APMC0D29") + Name(_UID, "HWM0") + Name(_DDN, "HWM0") + Name(_CCA, ONE) + Name(_STR, Unicode("Hardware Monitor Device")) + Method(_STA, 0, NotSerialized) { + return (0xF) + } + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package() { + Package() {"pcc-channel", 14} + } + }) +} + +// +// Hardware Monitor +Device(HM01) { + Name(_HID, "APMC0D29") + Name(_UID, "HWM1") + Name(_DDN, "HWM1") + Name(_CCA, ONE) + Name(_STR, Unicode("Hardware Monitor Device")) + Method(_STA, 0, NotSerialized) { + return (0xF) + } + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package() { + Package() {"pcc-channel", 29} + } + }) +} + +// +// Hardware Monitor +Device(HM02) { + Name(_HID, "AMPC0005") + Name(_UID, "HWM2") + Name(_DDN, "HWM2") + Name(_CCA, ONE) + Name(_STR, Unicode("Altra SoC Hardware Monitor Device")) + Method(_STA, 0, NotSerialized) { + return (0xF) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000088900000, // AddressMinimum - MIN + 0x000000008891FFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000020000 // RangeLength - LEN + ) + }) +} + +// +// Hardware Monitor +Device(HM03) { + Name(_HID, "AMPC0005") + Name(_UID, "HWM3") + Name(_DDN, "HWM3") + Name(_CCA, ONE) + Name(_STR, Unicode("Altra SoC Hardware Monitor Device")) + Method(_STA, 0, NotSerialized) { + return (0xF) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00000000C0000000, // AddressMinimum - MIN + 0x00000000C001FFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000020000 // RangeLength - LEN + ) + }) +} + +// +// DesignWare I2C on AHBC bus +Device(I2C4) { + Name(_HID, "APMC0D0F") + Name(_UID, 4) + Name(_STR, Unicode("Altra Max I2C Device")) + Method(_STA, 0, NotSerialized) { + return (0x0f) + } + Name(_CCA, ONE) + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00001000026B0000, // AddressMinimum - MIN + 0x00001000026BFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000010000 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 105 } + }) + Device (IPI) { + Name(_HID, "AMPC0004") + Name(_CID, "IPI0001") + Name(_STR, Unicode("IPMI_SSIF")) + Name(_UID, 0) + Name(_CCA, ONE) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Method(_IFT) { + Return(0x04) // IPMI SSIF + } + Method(_ADR) { + Return(0x10) // SSIF slave address + } + Method(_SRV) { + Return(0x0200) // IPMI Specification Revision + } + Name(_CRS, ResourceTemplate () + { + I2cSerialBusV2 (0x0010, ControllerInitiated, 0x00061A80, + AddressingMode7Bit, "\\_SB.I2C4", + 0x00, ResourceConsumer,, Exclusive, + // Vendor specific data: + // "BMC0", + // Flags (2 bytes): SMBUS variable length (Bit 0), Read Checksum (= Bit 1), Verify Checksum (Bit 2) + RawDataBuffer () { 0x42, 0x4D, 0x43, 0x30, 0x7, 0x0 } + ) + }) + } + Name(SSCN, Package() { 427, 499, 0 }) + Name(FMCN, Package() { 164, 319, 0 }) +} + +// +// Report APEI Errors to GHES via SCI notification. +// SCI notification requires one GED and one HED Device +// GED =3D Generic Event Device (ACPI0013) +// HED =3D Hardware Error Device (PNP0C33) +// +Device(GED0) { + Name(_HID, "ACPI0013") + Name(_UID, Zero) + Method(_STA) { + Return (0xF) + } + Name(_CRS, ResourceTemplate () { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 84 } /= / GHES + }) +} + +// Shutdown button using GED. +Device(GED1) { + Name(_HID, "ACPI0013") + Name(_CID, "ACPI0013") + Name(_UID, One) + Method(_STA) { + Return (0xF) + } + Name(_CRS, ResourceTemplate () { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 327 } + }) + OperationRegion(PDDR, SystemMemory, 0x1000027B0004, 4) + Field(PDDR, DWordAcc, NoLock, Preserve) { + STDI, 8 + } + + OperationRegion(INTE, SystemMemory, 0x1000027B0030, 4) + Field(INTE, DWordAcc, NoLock, Preserve) { + STDE, 8 + } + + OperationRegion(INTT, SystemMemory, 0x1000027B0034, 4) + Field(INTT, DWordAcc, NoLock, Preserve) { + TYPE, 8 + } + + OperationRegion(INTP, SystemMemory, 0x1000027B0038, 4) + Field(INTP, DWordAcc, NoLock, Preserve) { + POLA, 8 + } + + OperationRegion(INTS, SystemMemory, 0x1000027B003c, 4) + Field(INTS, DWordAcc, NoLock, Preserve) { + STDS, 8 + } + + OperationRegion(INTC, SystemMemory, 0x1000027B0040, 4) + Field(INTC, DWordAcc, NoLock, Preserve) { + SINT, 8 + } + + OperationRegion(INTM, SystemMemory, 0x1000027B0044, 4) + Field(INTM, DWordAcc, NoLock, Preserve) { + MASK, 8 + } + + Method(_INI, 0, NotSerialized) { + // Set level type, low active (shutdown) + Store (0x00, TYPE) + Store (0x00, POLA) + // Set Input type (shutdown) + Store (0x00, STDI) + // Enable interrupt (shutdown) + Store (0x80, STDE) + // Unmask the interrupt. + Store (0x00, MASK) + } + Method(_EVT, 1) { + Switch (ToInteger(Arg0)) { + Case (327) { + if (And (STDS, 0x80)) { + //Clear the interrupt. + Store (0x80, SINT) + // Notify OSPM the power button is pressed + Notify (\_SB.PWRB, 0x80) + } + } + } + } +} + +// Power button device description +Device(PWRB) { + Name(_HID, EISAID("PNP0C0C")) + Name(_ADR, 0) + Name(_UID, 0) + Name(_CCA, ONE) + Method(_STA, 0, Notserialized) { + Return (0x0b) + } +} + +// +// UART0 PL011 +Device(URT0) { + Name(_HID, "ARMH0011") + Name(_UID, 0) + Name(_CCA, ONE) + Method(_STA, 0, NotSerialized) { + return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000100002600000, // AddressMinimum - MIN + 0x0000100002600FFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000001000 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 98 } + }) +} // UART0 + +// +// UART2 PL011 +Device(URT2) { + Name(_HID, "ARMH0011") + Name(_UID, 1) + Name(_CCA, ONE) + Method(_STA, 0, NotSerialized) { + return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000100002620000, // AddressMinimum - MIN + 0x0000100002620FFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000001000 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 100 } + }) +} // UART1 + +Device(HED0) +{ + Name(_HID, EISAID("PNP0C33")) + Name(_UID, Zero) +} + +Device(NVDR) { + Name(_HID, "ACPI0012") + Method(_STA, 0, NotSerialized) { + return (0xf) + } + Method (_DSM, 0x4, Serialized) { + // Not support any functions for now + Return (Buffer() {0}) + } + Device (NVD1) { + Name(_ADR, 0x0330) //NFIT Device Handle (SK0, MCU3, Channel 3, Slot 0) + Name(SMRT, Buffer(13) {0}) + CreateDWordField(SMRT, 0, BSTA) + CreateWordField(SMRT, 4, BHTH) + CreateWordField(SMRT, 6, BTMP) + CreateByteField(SMRT, 8, BETH) + CreateByteField(SMRT, 9, BWTH) + CreateByteField(SMRT, 10, BNLF) + OperationRegion(BUF1, SystemMemory, 0x88980000, 16) + Field (BUF1, DWordAcc, NoLock, Preserve) { + STAT, 32, //Status + HLTH, 16, //Module Health + CTMP, 16, //Module Current Status + ETHS, 8, //Error Threshold Status + WTHS, 8, //Warning Threshold Status + NVLF, 8, //NVM Lifetime + , 40 //Reserve + } + Method (_DSM, 0x4, Serialized) { + //Accept only MSF Family type NVDIMM DSM functions + If(LEqual(Arg0, ToUUID ("1ee68b36-d4bd-4a1a-9a16-4f8e53d46e05"))) { + //Handle Func 0 query implemented commands + If(LEqual(Arg2, 0)) { + //Check revision and returned proper implemented commands + //Support only health check for now + Return (Buffer() {0x01, 0x08}) //Byte 0: 0x1 + } + //Handle MSF DSM Func 11 Get Smart and Health Info + If(LEqual(Arg2, 11)) { + Store(\_SB.NVDR.NVD1.STAT, BSTA) + Store(\_SB.NVDR.NVD1.HLTH, BHTH) + Store(\_SB.NVDR.NVD1.CTMP, BTMP) + Store(\_SB.NVDR.NVD1.ETHS, BETH) + Store(\_SB.NVDR.NVD1.WTHS, BWTH) + Store(\_SB.NVDR.NVD1.NVLF, BNLF) + Return (SMRT) + } + } + + Return (Buffer() {0}) + } + Method(_STA, 0, NotSerialized) { + return (0xf) + } + } + Device (NVD2) { + Name(_ADR, 0x0770) //NFIT Device Handle (SK0, MCU7, Channel 7, Slot 0) + Name(SMRT, Buffer(13) {0}) + CreateDWordField(SMRT, 0, BSTA) + CreateWordField(SMRT, 4, BHTH) + CreateWordField(SMRT, 6, BTMP) + CreateByteField(SMRT, 8, BETH) + CreateByteField(SMRT, 9, BWTH) + CreateByteField(SMRT, 10, BNLF) + OperationRegion(BUF1, SystemMemory, 0x88988000, 16) + Field (BUF1, DWordAcc, NoLock, Preserve) { + STAT, 32, //Status + HLTH, 16, //Module Health + CTMP, 16, //Module Current Status + ETHS, 8, //Error Threshold Status + WTHS, 8, //Warning Threshold Status + NVLF, 8, //NVM Lifetime + , 40 //Reserve + } + Method (_DSM, 0x4, Serialized) { + //Accept only MSF Family type NVDIMM DSM functions + If(LEqual(Arg0, ToUUID ("1ee68b36-d4bd-4a1a-9a16-4f8e53d46e05"))) { + //Handle Func 0 query implemented commands + If(LEqual(Arg2, 0)) { + //Check revision and returned proper implemented commands + //Support only health check for now + Return (Buffer() {0x01, 0x08}) //Byte 0: 0x1 + } + //Handle MSF DSM Func 11 Get Smart and Health Info + If(LEqual(Arg2, 11)) { + Store(\_SB.NVDR.NVD2.STAT, BSTA) + Store(\_SB.NVDR.NVD2.HLTH, BHTH) + Store(\_SB.NVDR.NVD2.CTMP, BTMP) + Store(\_SB.NVDR.NVD2.ETHS, BETH) + Store(\_SB.NVDR.NVD2.WTHS, BWTH) + Store(\_SB.NVDR.NVD2.NVLF, BNLF) + Return (SMRT) + } + } + + Return (Buffer() {0}) + } + Method(_STA, 0, NotSerialized) { + return (0xf) + } + } + Device (NVD3) { + Name(_ADR, 0x1330) //NFIT Device Handle (SK1, MCU3, Channel 3, Slot 0) + Name(SMRT, Buffer(13) {0}) + CreateDWordField(SMRT, 0, BSTA) + CreateWordField(SMRT, 4, BHTH) + CreateWordField(SMRT, 6, BTMP) + CreateByteField(SMRT, 8, BETH) + CreateByteField(SMRT, 9, BWTH) + CreateByteField(SMRT, 10, BNLF) + OperationRegion(BUF1, SystemMemory, 0xC0080000, 16) + Field (BUF1, DWordAcc, NoLock, Preserve) { + STAT, 32, //Status + HLTH, 16, //Module Health + CTMP, 16, //Module Current Status + ETHS, 8, //Error Threshold Status + WTHS, 8, //Warning Threshold Status + NVLF, 8, //NVM Lifetime + , 40 //Reserve + } + Method (_DSM, 0x4, Serialized) { + //Accept only MSF Family type NVDIMM DSM functions + If(LEqual(Arg0, ToUUID ("1ee68b36-d4bd-4a1a-9a16-4f8e53d46e05"))) { + //Handle Func 0 query implemented commands + If(LEqual(Arg2, 0)) { + //Check revision and returned proper implemented commands + //Support only health check for now + Return (Buffer() {0x01, 0x08}) //Byte 0: 0x1 + } + //Handle MSF DSM Func 11 Get Smart and Health Info + If(LEqual(Arg2, 11)) { + Store(\_SB.NVDR.NVD3.STAT, BSTA) + Store(\_SB.NVDR.NVD3.HLTH, BHTH) + Store(\_SB.NVDR.NVD3.CTMP, BTMP) + Store(\_SB.NVDR.NVD3.ETHS, BETH) + Store(\_SB.NVDR.NVD3.WTHS, BWTH) + Store(\_SB.NVDR.NVD3.NVLF, BNLF) + Return (SMRT) + } + } + Return (Buffer() {0}) + } + Method(_STA, 0, NotSerialized) { + return (0xf) + } + } + Device (NVD4) { + Name(_ADR, 0x1770) //NFIT Device Handle (SK1, MCU7, Channel 7, Slot 0) + Name(SMRT, Buffer(13) {0}) + CreateDWordField(SMRT, 0, BSTA) + CreateWordField(SMRT, 4, BHTH) + CreateWordField(SMRT, 6, BTMP) + CreateByteField(SMRT, 8, BETH) + CreateByteField(SMRT, 9, BWTH) + CreateByteField(SMRT, 10, BNLF) + OperationRegion(BUF1, SystemMemory, 0xC0088000, 16) + Field (BUF1, DWordAcc, NoLock, Preserve) { + STAT, 32, //Status + HLTH, 16, //Module Health + CTMP, 16, //Module Current Status + ETHS, 8, //Error Threshold Status + WTHS, 8, //Warning Threshold Status + NVLF, 8, //NVM Lifetime + , 40 //Reserve + } + Method (_DSM, 0x4, Serialized) { + //Accept only MSF Family type NVDIMM DSM functions + If(LEqual(Arg0, ToUUID ("1ee68b36-d4bd-4a1a-9a16-4f8e53d46e05"))) { + //Handle Func 0 query implemented commands + If(LEqual(Arg2, 0)) { + //Check revision and returned proper implemented commands + //Support only health check for now + Return (Buffer() {0x01, 0x08}) //Byte 0: 0x1 + } + //Handle MSF DSM Func 11 Get Smart and Health Info + If(LEqual(Arg2, 11)) { + Store(\_SB.NVDR.NVD4.STAT, BSTA) + Store(\_SB.NVDR.NVD4.HLTH, BHTH) + Store(\_SB.NVDR.NVD4.CTMP, BTMP) + Store(\_SB.NVDR.NVD4.ETHS, BETH) + Store(\_SB.NVDR.NVD4.WTHS, BWTH) + Store(\_SB.NVDR.NVD4.NVLF, BNLF) + Return (SMRT) + } + } + Return (Buffer() {0}) + } + Method(_STA, 0, NotSerialized) { + return (0xf) + } + } +} + +Device(TPM0) { + Name (_HID, "NNNN0000") + Name (_CID, "MSFT0101") + Name (_UID, 0) + Name (CRBB, 0x10000000) + Name (CRBL, 0x10000000) + + Name (RBUF, ResourceTemplate () + { + Memory32Fixed (ReadWrite, 0x88500000, 0x1000, PCRE) + }) + + Method (_CRS, 0x0, Serialized) { + + // Declare fields in PCRE + CreateDWordField(RBUF, ^PCRE._BAS, BASE) + CreateDWordField(RBUF, ^PCRE._LEN, LENG) + + // Store Updatable values into them + Store(CRBB, BASE) + Store(CRBL, LENG) + + Return (RBUF) + } + + Method(_STR,0) + { + Return (Unicode ("TPM 2.0 Device")) + } + + Method (_STA, 0) + { + if(TPMF) + { + Return (0x0f) //Enable resources + } + Return (0x0) + } + + // + // Add opregions for doorbell and PPI CRB + // The addresses for these operation regions should be patched + // with information from HOB + // + OperationRegion (TPMD, SystemMemory, 0x100000542010, 0x04) + Field (TPMD, DWordAcc, NoLock, Preserve) { + DBB0, 32 // Doorbell out register + } + + // PPI request CRB + OperationRegion (TPMC, SystemMemory, 0x88542038, 0x0C) + Field (TPMC, DWordAcc, NoLock, Preserve) { + PPIO, 32, // current PPI request + PPIR, 32, // last PPI request + PPIS, 32, // last PPI request status + } + + // Create objects to hold return values + Name (PKG2, Package (2) { Zero, Zero }) + Name (PKG3, Package (3) { Zero, Zero, Zero }) + + Method (_DSM, 0x4, Serialized) { + // Handle Physical Presence Interface(PPI) DSM method + If (LEqual (Arg0, ToUUID ("3DDDFAA6-361B-4eb4-A424-8D10089D1653"))) { + Switch (ToInteger (Arg2)) { + // + // Standard DSM query + // + Case (0) { + Return (Buffer () { 0xFF, 0x01 }) + } + + // + // Get Physical Presence Interface Version - support 1.3 + // + Case (1) { + Return ("1.3") + } + + // + // Submit TPM operation to pre-OS (Deprecated) + // + Case (2) { + Return (One) // Not supported + } + + // + // Get pending TPM operation requested by OS + // + Case (3) { + PKG2[Zero] =3D Zero // Success + PKG2[One] =3D PPIO // current PPI request + Return (PKG2) + } + + // + // Platform-specific action to transition to Pre-OS env + // + Case (4) { + Return (0x2) // Reboot + } + + // + // TPM operation Response to OS + // + Case (5) { + PKG3[Zero] =3D Zero // Success + PKG3[One] =3D PPIR // last PPI request + PKG3[2] =3D PPIS // last PPI request status + Return (PKG3) + } + + // + // Preferred language code (Deprecated) + // + Case (6) { + Return (0x3) // Not implemented + } + + // + // Submit TPM operation to pre-OS env 2 + // + Case (7) { + Local0 =3D DerefOf (Arg3 [Zero]) + // Write current PPI request and then to the doorbell + Store (Local0, PPIO) + Store (0x6a000000, DBB0) // MsgType: 6, Handler: 0xa (TPM-PPI) + Return (Zero) + } + + // + // Get User confirmation status for op + // + Case (8) { + Return (0x4) // Allowed and physically present user not required + } + } + } + Return (Buffer () {0}) + } +} + +// +// LED Device +Device(LED) { + Name(_HID, "AMPC0008") + Name(_CCA, ONE) + Name(_STR, Unicode("Altra LED Device")) + + Name (_DSD, Package () { + ToUUID("daffd814-6eba-4d8c-8a91-bc9bbf4aa301"), + Package () { + Package () { "uuid", Package (4) { 0x5598273c, 0xa49611ea, 0xbb37024= 2, 0xac130002 }}, + } + }) +} diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/Dsdt.asl b/Platform/Amp= ere/JadePkg/Ac02AcpiTables/Dsdt.asl new file mode 100644 index 000000000000..bc83b3ca42ba --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/Dsdt.asl @@ -0,0 +1,39 @@ +/** @file + + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +DefinitionBlock("Dsdt.aml", "DSDT", 0x02, "Ampere", "Jade", 1) { + // + // Board Model + Name(\BDMD, "Altra Max Jade Board") + Name(TPMF, 0) // TPM presence + Name(AERF, 0) // PCIe AER Firmware-First + + Scope(\_SB) { + + Include ("CommonDevices.asi") + + Scope(\_SB.GED0) { + Method(_EVT, 1, Serialized) { + Switch (ToInteger(Arg0)) { + Case (84) { // GHES interrupt + Notify (HED0, 0x80) + } + } + } + } + + Include ("PCI-S0.Rca01.asi") + Include ("PCI-S0.asi") + Include ("PCI-S1.asi") + Include ("PCI-PDRC.asi") + } + + Include ("CPU.asi") + Include ("PMU.asi") + +} // DSDT diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/PCI-PDRC.asi b/Platform= /Ampere/JadePkg/Ac02AcpiTables/PCI-PDRC.asi new file mode 100644 index 000000000000..7c51c1546b53 --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/PCI-PDRC.asi @@ -0,0 +1,217 @@ +/** @file + + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + // Motherboard resource consumption for PCIE resource reservation + // as upstream discussion "ACPI namespace details for ARM64" + Device (PDRC) { + Name (_HID, EISAID("PNP0C02")) + Name (_UID, 1) + // S0 Start here + Name (PDRS, ResourceTemplate() { + QWordMemory ( // PCIE0 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00003BFFF0000000, // AddressMinimum - MIN + 0x00003BFFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( // PCIE1 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00003FFFF0000000, // AddressMinimum - MIN + 0x00003FFFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( // PCIE2 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x000023FFF0000000, // AddressMinimum - MIN + 0x000023FFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( // PCIE3 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x000027FFF0000000, // AddressMinimum - MIN + 0x000027FFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( // PCIE4 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00002BFFF0000000, // AddressMinimum - MIN + 0x00002BFFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( // PCIE5 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00002FFFF0000000, // AddressMinimum - MIN + 0x00002FFFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + // S1 Start here + QWordMemory ( // PCIE6 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00007BFFF0000000, // AddressMinimum - MIN + 0x00007BFFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( // PCIE7 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00007FFFF0000000, // AddressMinimum - MIN + 0x00007FFFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( // PCIE8 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x000063FFF0000000, // AddressMinimum - MIN + 0x000063FFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( // PCIE9 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x000067FFF0000000, // AddressMinimum - MIN + 0x000067FFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + QWordMemory ( // PCIEA 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00006BFFF0000000, // AddressMinimum - MIN + 0x00006BFFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( // PCIEB 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00006FFFF0000000, // AddressMinimum - MIN + 0x00006FFFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( // PCIEC 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x000033FFF0000000, // AddressMinimum - MIN + 0x000033FFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( // PCIED 256M CFG region for ECAM + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x000037FFF0000000, // AddressMinimum - MIN + 0x000037FFFFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + }) + + // Current Resource Settings + Method (_CRS, 0, Serialized) { + Return (PDRS) + } + } diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/PCI-S0.Rca01.asi b/Plat= form/Ampere/JadePkg/Ac02AcpiTables/PCI-S0.Rca01.asi new file mode 100644 index 000000000000..7d8c21f5a1de --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/PCI-S0.Rca01.asi @@ -0,0 +1,669 @@ +/** @file + + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + // PCI0 RCA0 + Device (PCI0) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID, "PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) // The default value is 0x0. Unfor= tunately, it breaks + // run-time patching as the repres= entation of 0 is special + // encoding and cannot be patched = to expand with extra bytes + // easily. As such, we default to = 0xF and patch this based + // on whether the port was enabled= or not by the BIOS. + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID, "PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 12) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCI0") + Name (_STR, Unicode("PCIe 0 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 128/129/130/131 respectively. PCI0 RCA0 + // + Package() {0x0001FFFF, 0, 0, 128}, + Package() {0x0001FFFF, 1, 0, 129}, + Package() {0x0001FFFF, 2, 0, 130}, + Package() {0x0001FFFF, 3, 0, 131}, + Package() {0x0002FFFF, 0, 0, 128}, + Package() {0x0002FFFF, 1, 0, 129}, + Package() {0x0002FFFF, 2, 0, 130}, + Package() {0x0002FFFF, 3, 0, 131}, + Package() {0x0003FFFF, 0, 0, 128}, + Package() {0x0003FFFF, 1, 0, 129}, + Package() {0x0003FFFF, 2, 0, 130}, + Package() {0x0003FFFF, 3, 0, 131}, + Package() {0x0004FFFF, 0, 0, 128}, + Package() {0x0004FFFF, 1, 0, 129}, + Package() {0x0004FFFF, 2, 0, 130}, + Package() {0x0004FFFF, 3, 0, 131}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x33FFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FE40000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000040000000, // AddressMinimum - MIN + 0x000000004FFFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000300000000000, // AddressMinimum - MIN + 0x000033FFDFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP,0) // PCI _OSC Support Field value + Name (CTRL,0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3, 0, CDW1) + If (LEqual (Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3, 4, CDW2) + CreateDWordField (Arg3, 8, CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2, SUPP) + Store (CDW3, CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL, 0x1E, CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1, One)) { + Or (CDW1, 0x08, CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3, CTRL)) { + Or (CDW1, 0x10, CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL, CDW3) + Return (Arg3) + + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1, 4, CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0, ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCI0 RCA0 + + // PCI1 RCA1 + Device (PCI1) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID, "PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) // The default value is 0x0. Unfor= tunately, it breaks + // run-time patching as the repres= entation of 0 is special + // encoding and cannot be patched = to expand with extra bytes + // easily. As such, we default to = 0xF and patch this based + // on whether the port was enabled= or not by the BIOS. + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID, "PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 13) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCI1") + Name (_STR, Unicode("PCIe 1 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 132/133/134/135 respectively. PCI1 RCA1 + // + Package() {0x0001FFFF, 0, 0, 132}, + Package() {0x0001FFFF, 1, 0, 133}, + Package() {0x0001FFFF, 2, 0, 134}, + Package() {0x0001FFFF, 3, 0, 135}, + Package() {0x0002FFFF, 0, 0, 132}, + Package() {0x0002FFFF, 1, 0, 133}, + Package() {0x0002FFFF, 2, 0, 134}, + Package() {0x0002FFFF, 3, 0, 135}, + Package() {0x0003FFFF, 0, 0, 132}, + Package() {0x0003FFFF, 1, 0, 133}, + Package() {0x0003FFFF, 2, 0, 134}, + Package() {0x0003FFFF, 3, 0, 135}, + Package() {0x0004FFFF, 0, 0, 132}, + Package() {0x0004FFFF, 1, 0, 133}, + Package() {0x0004FFFF, 2, 0, 134}, + Package() {0x0004FFFF, 3, 0, 135}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x37FFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FE40000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000050000000, // AddressMinimum - MIN + 0x000000005FFFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000010000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + Cacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000340000000000, // AddressMinimum - MIN + 0x000037FFDFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP,0) // PCI _OSC Support Field value + Name (CTRL,0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3, 0, CDW1) + If (LEqual (Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3, 4, CDW2) + CreateDWordField (Arg3, 8, CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2, SUPP) + Store (CDW3, CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL, 0x1E, CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1, One)) { + Or (CDW1, 0x08, CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3, CTRL)) { + Or (CDW1, 0x10, CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL, CDW3) + Return (Arg3) + + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1, 4, CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0, ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCI1 RCA1 diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/PCI-S0.asi b/Platform/A= mpere/JadePkg/Ac02AcpiTables/PCI-S0.asi new file mode 100644 index 000000000000..6dcf8b7170be --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/PCI-S0.asi @@ -0,0 +1,2041 @@ +/** @file + + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + // PCI2 RCA2 + Device (PCI2) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID, "PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID, "PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 1) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCI2") + Name (_STR, Unicode("PCIe 2 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 136/137/138/139 respectively. PCI2 RCA2 + // + Package() {0x0001FFFF, 0, 0, 136}, + Package() {0x0001FFFF, 1, 0, 137}, + Package() {0x0001FFFF, 2, 0, 138}, + Package() {0x0001FFFF, 3, 0, 139}, + Package() {0x0002FFFF, 0, 0, 136}, + Package() {0x0002FFFF, 1, 0, 137}, + Package() {0x0002FFFF, 2, 0, 138}, + Package() {0x0002FFFF, 3, 0, 139}, + Package() {0x0003FFFF, 0, 0, 136}, + Package() {0x0003FFFF, 1, 0, 137}, + Package() {0x0003FFFF, 2, 0, 138}, + Package() {0x0003FFFF, 3, 0, 139}, + Package() {0x0004FFFF, 0, 0, 136}, + Package() {0x0004FFFF, 1, 0, 137}, + Package() {0x0004FFFF, 2, 0, 138}, + Package() {0x0004FFFF, 3, 0, 139}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x3BFFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FE80000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000030000000, // AddressMinimum - MIN + 0x0000000037FFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000008000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000380000000000, // AddressMinimum - MIN + 0x00003BFFDFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP, 0) // PCI _OSC Support Field value + Name (CTRL, 0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3,0,CDW1) + If (LEqual (Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3, 4, CDW2) + CreateDWordField (Arg3, 8, CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2, SUPP) + Store (CDW3, CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL, 0x1E, CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1, One)) { + Or (CDW1, 0x08, CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3, CTRL)) { + Or (CDW1, 0x10, CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL, CDW3) + Return (Arg3) + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1, 4, CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0, ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCI2 RCA2 + + // PCI3 RCA3 + Device (PCI3) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID, "PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID, "PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 0) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCI3") + Name (_STR, Unicode("PCIe 3 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 140/141/142/143 respectively. PCI3 RCA3 + // + Package() {0x0001FFFF, 0, 0, 140}, + Package() {0x0001FFFF, 1, 0, 141}, + Package() {0x0001FFFF, 2, 0, 142}, + Package() {0x0001FFFF, 3, 0, 143}, + Package() {0x0002FFFF, 0, 0, 140}, + Package() {0x0002FFFF, 1, 0, 141}, + Package() {0x0002FFFF, 2, 0, 142}, + Package() {0x0002FFFF, 3, 0, 143}, + Package() {0x0003FFFF, 0, 0, 140}, + Package() {0x0003FFFF, 1, 0, 141}, + Package() {0x0003FFFF, 2, 0, 142}, + Package() {0x0003FFFF, 3, 0, 143}, + Package() {0x0004FFFF, 0, 0, 140}, + Package() {0x0004FFFF, 1, 0, 141}, + Package() {0x0004FFFF, 2, 0, 142}, + Package() {0x0004FFFF, 3, 0, 143}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x3FFFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FE00000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000038000000, // AddressMinimum - MIN + 0x000000003FFFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000008000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00003C0000000000, // AddressMinimum - MIN + 0x00003FFFDFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP, 0) // PCI _OSC Support Field value + Name (CTRL, 0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3, 0, CDW1) + If (LEqual (Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3, 4, CDW2) + CreateDWordField (Arg3, 8, CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2, SUPP) + Store (CDW3, CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL, 0x1E, CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1, One)) { + Or (CDW1, 0x08, CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3, CTRL)) { + Or (CDW1, 0x10, CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL, CDW3) + Return (Arg3) + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1, 4, CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0, ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCI3 RCA3 + + // PCI4 RCA4 + Device (PCI4) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID, "PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) // The default value is 0x0. Unfor= tunately, it breaks + // run-time patching as the repres= entation of 0 is special + // encoding and cannot be patched = to expand with extra bytes + // easily. As such, we default to = 0xF and patch this based + // on whether the port was enabled= or not by the BIOS. + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID, "PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 2) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCI4") + Name (_STR, Unicode("PCIe 4 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 144/145/146/147 respectively. PCI4 RCA4 + // + Package() {0x0001FFFF, 0, 0, 144}, + Package() {0x0001FFFF, 1, 0, 145}, + Package() {0x0001FFFF, 2, 0, 146}, + Package() {0x0001FFFF, 3, 0, 147}, + Package() {0x0002FFFF, 0, 0, 144}, + Package() {0x0002FFFF, 1, 0, 145}, + Package() {0x0002FFFF, 2, 0, 146}, + Package() {0x0002FFFF, 3, 0, 147}, + Package() {0x0003FFFF, 0, 0, 144}, + Package() {0x0003FFFF, 1, 0, 145}, + Package() {0x0003FFFF, 2, 0, 146}, + Package() {0x0003FFFF, 3, 0, 147}, + Package() {0x0004FFFF, 0, 0, 144}, + Package() {0x0004FFFF, 1, 0, 145}, + Package() {0x0004FFFF, 2, 0, 146}, + Package() {0x0004FFFF, 3, 0, 147}, + Package() {0x0005FFFF, 0, 0, 144}, + Package() {0x0005FFFF, 1, 0, 145}, + Package() {0x0005FFFF, 2, 0, 146}, + Package() {0x0005FFFF, 3, 0, 147}, + Package() {0x0006FFFF, 0, 0, 144}, + Package() {0x0006FFFF, 1, 0, 145}, + Package() {0x0006FFFF, 2, 0, 146}, + Package() {0x0006FFFF, 3, 0, 147}, + Package() {0x0007FFFF, 0, 0, 144}, + Package() {0x0007FFFF, 1, 0, 145}, + Package() {0x0007FFFF, 2, 0, 146}, + Package() {0x0007FFFF, 3, 0, 147}, + Package() {0x0008FFFF, 0, 0, 144}, + Package() {0x0008FFFF, 1, 0, 145}, + Package() {0x0008FFFF, 2, 0, 146}, + Package() {0x0008FFFF, 3, 0, 147}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x23FFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FEC0000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000004000000, // AddressMinimum - MIN + 0x0000000007FFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000004000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000200000000000, // AddressMinimum - MIN + 0x000023FFDFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP,0) // PCI _OSC Support Field value + Name (CTRL,0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3, 0, CDW1) + If (LEqual (Arg0,ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3, 4, CDW2) + CreateDWordField (Arg3, 8, CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2, SUPP) + Store (CDW3, CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL, 0x1E, CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1, One)) { + Or (CDW1, 0x08, CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3, CTRL)) { + Or (CDW1, 0x10, CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL, CDW3) + Return (Arg3) + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1, 4, CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0, ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) + { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCI4 RCA4 + + // PCI5 RCA5 + Device (PCI5) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID, "PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID,"PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 3) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCI5") + Name (_STR, Unicode("PCIe 5 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 148/149/150/151 respectively. PCI5 RCA5 + // + Package() {0x0001FFFF, 0, 0, 148}, + Package() {0x0001FFFF, 1, 0, 149}, + Package() {0x0001FFFF, 2, 0, 150}, + Package() {0x0001FFFF, 3, 0, 151}, + Package() {0x0002FFFF, 0, 0, 148}, + Package() {0x0002FFFF, 1, 0, 149}, + Package() {0x0002FFFF, 2, 0, 150}, + Package() {0x0002FFFF, 3, 0, 151}, + Package() {0x0003FFFF, 0, 0, 148}, + Package() {0x0003FFFF, 1, 0, 149}, + Package() {0x0003FFFF, 2, 0, 150}, + Package() {0x0003FFFF, 3, 0, 151}, + Package() {0x0004FFFF, 0, 0, 148}, + Package() {0x0004FFFF, 1, 0, 149}, + Package() {0x0004FFFF, 2, 0, 150}, + Package() {0x0004FFFF, 3, 0, 151}, + Package() {0x0005FFFF, 0, 0, 148}, + Package() {0x0005FFFF, 1, 0, 149}, + Package() {0x0005FFFF, 2, 0, 150}, + Package() {0x0005FFFF, 3, 0, 151}, + Package() {0x0006FFFF, 0, 0, 148}, + Package() {0x0006FFFF, 1, 0, 149}, + Package() {0x0006FFFF, 2, 0, 150}, + Package() {0x0006FFFF, 3, 0, 151}, + Package() {0x0007FFFF, 0, 0, 148}, + Package() {0x0007FFFF, 1, 0, 149}, + Package() {0x0007FFFF, 2, 0, 150}, + Package() {0x0007FFFF, 3, 0, 151}, + Package() {0x0008FFFF, 0, 0, 148}, + Package() {0x0008FFFF, 1, 0, 149}, + Package() {0x0008FFFF, 2, 0, 150}, + Package() {0x0008FFFF, 3, 0, 151}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x27FFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FF00000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000008000000, // AddressMinimum - MIN + 0x000000000FFFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000008000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000240000000000, // AddressMinimum - MIN + 0x000027FFDFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP, 0) // PCI _OSC Support Field value + Name (CTRL, 0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3, 0, CDW1) + If (LEqual (Arg0,ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3, 4, CDW2) + CreateDWordField (Arg3, 8, CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2, SUPP) + Store (CDW3, CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL, 0x1E, CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1, One)) { + Or (CDW1, 0x08, CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3, CTRL)) { + Or (CDW1, 0x10, CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL, CDW3) + Return (Arg3) + + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1, 4, CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0, ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) + { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCI5 RCA5 + + + // PCI6 RCA6 + Device (PCI6) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID,"PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) // The default value is 0x0. Unfor= tunately, it breaks + // run-time patching as the repres= entation of 0 is special + // encoding and cannot be patched = to expand with extra bytes + // easily. As such, we default to = 0xF and patch this based + // on whether the port was enabled= or not by the BIOS. + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID,"PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 4) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCI6") + Name (_STR, Unicode("PCIe 6 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 152/153/154/155 respectively. PCI6 RCA6 + // + Package() {0x0001FFFF, 0, 0, 152}, + Package() {0x0001FFFF, 1, 0, 153}, + Package() {0x0001FFFF, 2, 0, 154}, + Package() {0x0001FFFF, 3, 0, 155}, + Package() {0x0002FFFF, 0, 0, 152}, + Package() {0x0002FFFF, 1, 0, 153}, + Package() {0x0002FFFF, 2, 0, 154}, + Package() {0x0002FFFF, 3, 0, 155}, + Package() {0x0003FFFF, 0, 0, 152}, + Package() {0x0003FFFF, 1, 0, 153}, + Package() {0x0003FFFF, 2, 0, 154}, + Package() {0x0003FFFF, 3, 0, 155}, + Package() {0x0004FFFF, 0, 0, 152}, + Package() {0x0004FFFF, 1, 0, 153}, + Package() {0x0004FFFF, 2, 0, 154}, + Package() {0x0004FFFF, 3, 0, 155}, + Package() {0x0005FFFF, 0, 0, 152}, + Package() {0x0005FFFF, 1, 0, 153}, + Package() {0x0005FFFF, 2, 0, 154}, + Package() {0x0005FFFF, 3, 0, 155}, + Package() {0x0006FFFF, 0, 0, 152}, + Package() {0x0006FFFF, 1, 0, 153}, + Package() {0x0006FFFF, 2, 0, 154}, + Package() {0x0006FFFF, 3, 0, 155}, + Package() {0x0007FFFF, 0, 0, 152}, + Package() {0x0007FFFF, 1, 0, 153}, + Package() {0x0007FFFF, 2, 0, 154}, + Package() {0x0007FFFF, 3, 0, 155}, + Package() {0x0008FFFF, 0, 0, 152}, + Package() {0x0008FFFF, 1, 0, 153}, + Package() {0x0008FFFF, 2, 0, 154}, + Package() {0x0008FFFF, 3, 0, 155}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x2BFFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FF40000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000010000000, // AddressMinimum - MIN + 0x0000000017FFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000008000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000280000000000, // AddressMinimum - MIN + 0x00002BFFDFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP,0) // PCI _OSC Support Field value + Name (CTRL,0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3,0,CDW1) + If (LEqual (Arg0,ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3,4,CDW2) + CreateDWordField (Arg3,8,CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2,SUPP) + Store (CDW3,CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL,0x1E,CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1,One)) { + Or (CDW1,0x08,CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3,CTRL)) { + Or (CDW1,0x10,CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL,CDW3) + Return (Arg3) + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1,4,CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0,ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCI6 RCA6 + + // PCI7 RCA7 + Device (PCI7) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID,"PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) // The default value is 0x0. Unfor= tunately, it breaks + // run-time patching as the repres= entation of 0 is special + // encoding and cannot be patched = to expand with extra bytes + // easily. As such, we default to = 0xF and patch this based + // on whether the port was enabled= or not by the BIOS. + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID,"PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 5) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCI7") + Name (_STR, Unicode("PCIe 7 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 156/157/158/159 respectively. PCI7 RCA7 + // + Package() {0x0001FFFF, 0, 0, 156}, + Package() {0x0001FFFF, 1, 0, 157}, + Package() {0x0001FFFF, 2, 0, 158}, + Package() {0x0001FFFF, 3, 0, 159}, + Package() {0x0002FFFF, 0, 0, 156}, + Package() {0x0002FFFF, 1, 0, 157}, + Package() {0x0002FFFF, 2, 0, 158}, + Package() {0x0002FFFF, 3, 0, 159}, + Package() {0x0003FFFF, 0, 0, 156}, + Package() {0x0003FFFF, 1, 0, 157}, + Package() {0x0003FFFF, 2, 0, 158}, + Package() {0x0003FFFF, 3, 0, 159}, + Package() {0x0004FFFF, 0, 0, 156}, + Package() {0x0004FFFF, 1, 0, 157}, + Package() {0x0004FFFF, 2, 0, 158}, + Package() {0x0004FFFF, 3, 0, 159}, + Package() {0x0005FFFF, 0, 0, 156}, + Package() {0x0005FFFF, 1, 0, 157}, + Package() {0x0005FFFF, 2, 0, 158}, + Package() {0x0005FFFF, 3, 0, 159}, + Package() {0x0006FFFF, 0, 0, 156}, + Package() {0x0006FFFF, 1, 0, 157}, + Package() {0x0006FFFF, 2, 0, 158}, + Package() {0x0006FFFF, 3, 0, 159}, + Package() {0x0007FFFF, 0, 0, 156}, + Package() {0x0007FFFF, 1, 0, 157}, + Package() {0x0007FFFF, 2, 0, 158}, + Package() {0x0007FFFF, 3, 0, 159}, + Package() {0x0008FFFF, 0, 0, 156}, + Package() {0x0008FFFF, 1, 0, 157}, + Package() {0x0008FFFF, 2, 0, 158}, + Package() {0x0008FFFF, 3, 0, 159}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x2FFFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FF40000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000018000000, // AddressMinimum - MIN + 0x000000001FFFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000008000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00002C0000000000, // AddressMinimum - MIN + 0x00002FFFDFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP,0) // PCI _OSC Support Field value + Name (CTRL,0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3,0,CDW1) + If (LEqual (Arg0,ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3,4,CDW2) + CreateDWordField (Arg3,8,CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2,SUPP) + Store (CDW3,CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL,0x1E,CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1,One)) { + Or (CDW1,0x08,CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3,CTRL)) { + Or (CDW1,0x10,CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL,CDW3) + Return (Arg3) + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1,4,CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0,ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCI7 RCA7 diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/PCI-S1.asi b/Platform/A= mpere/JadePkg/Ac02AcpiTables/PCI-S1.asi new file mode 100644 index 000000000000..17c66051a06e --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/PCI-S1.asi @@ -0,0 +1,2051 @@ +/** @file + + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + + // + // S1 Start here + // + + // PCIE6 S1 RCA2 + Device (PCIA) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID,"PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID,"PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 6) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCIA") + Name (_STR, Unicode("PCIe 10 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 136/137/138/139 + 320 respectively. PCIA RCA2 + // + Package() {0x0001FFFF, 0, 0, 456}, + Package() {0x0001FFFF, 1, 0, 457}, + Package() {0x0001FFFF, 2, 0, 458}, + Package() {0x0001FFFF, 3, 0, 459}, + Package() {0x0002FFFF, 0, 0, 456}, + Package() {0x0002FFFF, 1, 0, 457}, + Package() {0x0002FFFF, 2, 0, 458}, + Package() {0x0002FFFF, 3, 0, 459}, + Package() {0x0003FFFF, 0, 0, 456}, + Package() {0x0003FFFF, 1, 0, 457}, + Package() {0x0003FFFF, 2, 0, 458}, + Package() {0x0003FFFF, 3, 0, 459}, + Package() {0x0004FFFF, 0, 0, 456}, + Package() {0x0004FFFF, 1, 0, 457}, + Package() {0x0004FFFF, 2, 0, 458}, + Package() {0x0004FFFF, 3, 0, 459}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x7BFFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FF80000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000070000000, // AddressMinimum - MIN + 0x0000000077FFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000008000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000780000000000, // AddressMinimum - MIN + 0x00007BFFDFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP,0) // PCI _OSC Support Field value + Name (CTRL,0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3,0,CDW1) + If (LEqual (Arg0,ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3,4,CDW2) + CreateDWordField (Arg3,8,CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2,SUPP) + Store (CDW3,CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL,0x1E,CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1,One)) { + Or (CDW1,0x08,CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3,CTRL)) { + Or (CDW1,0x10,CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL,CDW3) + Return (Arg3) + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1,4,CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0,ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCIA RCA2 + + // PCIEB RCA3 + Device (PCIB) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID,"PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID,"PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 7) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCIB") + Name (_STR, Unicode("PCIe 11 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 140/141/142/143 + 320 respectively. PCIB RCA3 + // + Package() {0x0001FFFF, 0, 0, 460}, + Package() {0x0001FFFF, 1, 0, 461}, + Package() {0x0001FFFF, 2, 0, 462}, + Package() {0x0001FFFF, 3, 0, 463}, + Package() {0x0002FFFF, 0, 0, 460}, + Package() {0x0002FFFF, 1, 0, 461}, + Package() {0x0002FFFF, 2, 0, 462}, + Package() {0x0002FFFF, 3, 0, 463}, + Package() {0x0003FFFF, 0, 0, 460}, + Package() {0x0003FFFF, 1, 0, 461}, + Package() {0x0003FFFF, 2, 0, 462}, + Package() {0x0003FFFF, 3, 0, 463}, + Package() {0x0004FFFF, 0, 0, 460}, + Package() {0x0004FFFF, 1, 0, 461}, + Package() {0x0004FFFF, 2, 0, 462}, + Package() {0x0004FFFF, 3, 0, 463}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x7FFFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FFC0000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000078000000, // AddressMinimum - MIN + 0x000000007FFFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000008000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00007C0000000000, // AddressMinimum - MIN + 0x00007FFFDFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP,0) // PCI _OSC Support Field value + Name (CTRL,0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3,0,CDW1) + If (LEqual (Arg0,ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3,4,CDW2) + CreateDWordField (Arg3,8,CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2,SUPP) + Store (CDW3,CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL,0x1E,CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1,One)) { + Or (CDW1,0x08,CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3,CTRL)) { + Or (CDW1,0x10,CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL,CDW3) + Return (Arg3) + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1,4,CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0,ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCIB RCA3 + + // PCIC RCA4 + Device (PCIC) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID, "PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) // The default value is 0x0. Unfor= tunately, it breaks + // run-time patching as the repres= entation of 0 is special + // encoding and cannot be patched = to expand with extra bytes + // easily. As such, we default to = 0xF and patch this based + // on whether the port was enabled= or not by the BIOS. + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID, "PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 8) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCIC") + Name (_STR, Unicode("PCIe 12 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 144/145/146/147 + 320 respectively. PCIC RCA4 + // + Package() {0x0001FFFF, 0, 0, 464}, + Package() {0x0001FFFF, 1, 0, 465}, + Package() {0x0001FFFF, 2, 0, 466}, + Package() {0x0001FFFF, 3, 0, 467}, + Package() {0x0002FFFF, 0, 0, 464}, + Package() {0x0002FFFF, 1, 0, 465}, + Package() {0x0002FFFF, 2, 0, 466}, + Package() {0x0002FFFF, 3, 0, 467}, + Package() {0x0003FFFF, 0, 0, 464}, + Package() {0x0003FFFF, 1, 0, 465}, + Package() {0x0003FFFF, 2, 0, 466}, + Package() {0x0003FFFF, 3, 0, 467}, + Package() {0x0004FFFF, 0, 0, 464}, + Package() {0x0004FFFF, 1, 0, 465}, + Package() {0x0004FFFF, 2, 0, 466}, + Package() {0x0004FFFF, 3, 0, 467}, + Package() {0x0005FFFF, 0, 0, 464}, + Package() {0x0005FFFF, 1, 0, 465}, + Package() {0x0005FFFF, 2, 0, 466}, + Package() {0x0005FFFF, 3, 0, 467}, + Package() {0x0006FFFF, 0, 0, 464}, + Package() {0x0006FFFF, 1, 0, 465}, + Package() {0x0006FFFF, 2, 0, 466}, + Package() {0x0006FFFF, 3, 0, 467}, + Package() {0x0007FFFF, 0, 0, 464}, + Package() {0x0007FFFF, 1, 0, 465}, + Package() {0x0007FFFF, 2, 0, 466}, + Package() {0x0007FFFF, 3, 0, 467}, + Package() {0x0008FFFF, 0, 0, 464}, + Package() {0x0008FFFF, 1, 0, 465}, + Package() {0x0008FFFF, 2, 0, 466}, + Package() {0x0008FFFF, 3, 0, 467}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x63FFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FE40000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000040000000, // AddressMinimum - MIN + 0x0000000047FFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000008000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000600000000000, // AddressMinimum - MIN + 0x000063FFDFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP,0) // PCI _OSC Support Field value + Name (CTRL,0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3, 0, CDW1) + If (LEqual (Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3, 4, CDW2) + CreateDWordField (Arg3, 8, CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2, SUPP) + Store (CDW3, CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL, 0x1E, CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1, One)) { + Or (CDW1, 0x08, CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3, CTRL)) { + Or (CDW1, 0x10, CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL, CDW3) + Return (Arg3) + + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1, 4, CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0, ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCIC RCA4 + + // PCID RCA5 + Device (PCID) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID, "PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) // The default value is 0x0. Unfor= tunately, it breaks + // run-time patching as the repres= entation of 0 is special + // encoding and cannot be patched = to expand with extra bytes + // easily. As such, we default to = 0xF and patch this based + // on whether the port was enabled= or not by the BIOS. + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID, "PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 9) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCID") + Name (_STR, Unicode("PCIe 13 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 148/149/150/151 + 320 respectively. PCID RCA5 + // + Package() {0x0001FFFF, 0, 0, 468}, + Package() {0x0001FFFF, 1, 0, 469}, + Package() {0x0001FFFF, 2, 0, 470}, + Package() {0x0001FFFF, 3, 0, 471}, + Package() {0x0002FFFF, 0, 0, 468}, + Package() {0x0002FFFF, 1, 0, 469}, + Package() {0x0002FFFF, 2, 0, 470}, + Package() {0x0002FFFF, 3, 0, 471}, + Package() {0x0003FFFF, 0, 0, 468}, + Package() {0x0003FFFF, 1, 0, 469}, + Package() {0x0003FFFF, 2, 0, 470}, + Package() {0x0003FFFF, 3, 0, 471}, + Package() {0x0004FFFF, 0, 0, 468}, + Package() {0x0004FFFF, 1, 0, 469}, + Package() {0x0004FFFF, 2, 0, 470}, + Package() {0x0004FFFF, 3, 0, 471}, + Package() {0x0005FFFF, 0, 0, 468}, + Package() {0x0005FFFF, 1, 0, 469}, + Package() {0x0005FFFF, 2, 0, 470}, + Package() {0x0005FFFF, 3, 0, 471}, + Package() {0x0006FFFF, 0, 0, 468}, + Package() {0x0006FFFF, 1, 0, 469}, + Package() {0x0006FFFF, 2, 0, 470}, + Package() {0x0006FFFF, 3, 0, 471}, + Package() {0x0007FFFF, 0, 0, 468}, + Package() {0x0007FFFF, 1, 0, 469}, + Package() {0x0007FFFF, 2, 0, 470}, + Package() {0x0007FFFF, 3, 0, 471}, + Package() {0x0008FFFF, 0, 0, 468}, + Package() {0x0008FFFF, 1, 0, 469}, + Package() {0x0008FFFF, 2, 0, 470}, + Package() {0x0008FFFF, 3, 0, 471}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x67FFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FE40000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000048000000, // AddressMinimum - MIN + 0x000000004FFFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000008000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000640000000000, // AddressMinimum - MIN + 0x000067FFDFFFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP,0) // PCI _OSC Support Field value + Name (CTRL,0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3, 0, CDW1) + If (LEqual (Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3, 4, CDW2) + CreateDWordField (Arg3, 8, CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2, SUPP) + Store (CDW3, CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL, 0x1E, CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1, One)) { + Or (CDW1, 0x08, CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3, CTRL)) { + Or (CDW1, 0x10, CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL, CDW3) + Return (Arg3) + + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1, 4, CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0, ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCID RCA5 + + // PCIE RCA6 + Device (PCIE) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID, "PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) // The default value is 0x0. Unfor= tunately, it breaks + // run-time patching as the repres= entation of 0 is special + // encoding and cannot be patched = to expand with extra bytes + // easily. As such, we default to = 0xF and patch this based + // on whether the port was enabled= or not by the BIOS. + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID, "PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 10) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCIE") + Name (_STR, Unicode("PCIe 14 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 152/153/154/155 + 320 respectively. PCIE RCA6 + // + Package() {0x0001FFFF, 0, 0, 472}, + Package() {0x0001FFFF, 1, 0, 473}, + Package() {0x0001FFFF, 2, 0, 474}, + Package() {0x0001FFFF, 3, 0, 475}, + Package() {0x0002FFFF, 0, 0, 472}, + Package() {0x0002FFFF, 1, 0, 473}, + Package() {0x0002FFFF, 2, 0, 474}, + Package() {0x0002FFFF, 3, 0, 475}, + Package() {0x0003FFFF, 0, 0, 472}, + Package() {0x0003FFFF, 1, 0, 473}, + Package() {0x0003FFFF, 2, 0, 474}, + Package() {0x0003FFFF, 3, 0, 475}, + Package() {0x0004FFFF, 0, 0, 472}, + Package() {0x0004FFFF, 1, 0, 473}, + Package() {0x0004FFFF, 2, 0, 474}, + Package() {0x0004FFFF, 3, 0, 475}, + Package() {0x0005FFFF, 0, 0, 472}, + Package() {0x0005FFFF, 1, 0, 473}, + Package() {0x0005FFFF, 2, 0, 474}, + Package() {0x0005FFFF, 3, 0, 475}, + Package() {0x0006FFFF, 0, 0, 472}, + Package() {0x0006FFFF, 1, 0, 473}, + Package() {0x0006FFFF, 2, 0, 474}, + Package() {0x0006FFFF, 3, 0, 475}, + Package() {0x0007FFFF, 0, 0, 472}, + Package() {0x0007FFFF, 1, 0, 473}, + Package() {0x0007FFFF, 2, 0, 474}, + Package() {0x0007FFFF, 3, 0, 475}, + Package() {0x0008FFFF, 0, 0, 472}, + Package() {0x0008FFFF, 1, 0, 473}, + Package() {0x0008FFFF, 2, 0, 474}, + Package() {0x0008FFFF, 3, 0, 475}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x6BFFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FE40000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000050000000, // AddressMinimum - MIN + 0x0000000057FFFFFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000008000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000680000000000, // AddressMinimum - MIN + 0x00006BFFDFFFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP,0) // PCI _OSC Support Field value + Name (CTRL,0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3, 0, CDW1) + If (LEqual (Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3, 4, CDW2) + CreateDWordField (Arg3, 8, CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2, SUPP) + Store (CDW3, CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL, 0x1E, CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1, One)) { + Or (CDW1, 0x08, CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3, CTRL)) { + Or (CDW1, 0x10, CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL, CDW3) + Return (Arg3) + + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1, 4, CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0, ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCIE RCA6 + + // PCIF RCA7 + Device (PCIF) { + // + // Hardware ID must be PNP0A08, which maps to a PCIe root complex. + // Section 6.1.5 + // + + Name (_HID, "PNP0A08") + Name (_CCA, ONE) + + Method (_STA, 0, NotSerialized) { + Return (0xF) // The default value is 0x0. Unfor= tunately, it breaks + // run-time patching as the repres= entation of 0 is special + // encoding and cannot be patched = to expand with extra bytes + // easily. As such, we default to = 0xF and patch this based + // on whether the port was enabled= or not by the BIOS. + } + + // + // Optionally, include a compatible ID of PNP0A03, which maps to a PCI + // root complex for use with pre-PCIe operating systems. + // Section 6.1.2 + // + + Name (_CID, "PNP0A03") + + // + // Declare the segment number of this root complex. Most systems only + // have one segment, which is numbered 0. + // Section 6.5.6 + // + + Name (_SEG, 11) + + // + // Declare the base bus number, which is the bus number of the root + // bus in this root complex. This is usually 0, but need not be. + // For root complexes supporting multiple root busses, this should + // be the lowest numbered root bus. + // Section 6.5.5 + // + + Name (_BBN, 0) + + // + // The _UID value provides a way of uniquely identifying a device + // in the case where more than one instance of a specific device + // is implemented with the same _HID/_CID. For systems with a + // single root complex, this is usually just 0. For systems with + // multiple root complexes, this should be different for each + // root complex. + // Section 6.1.12 + // + + Name (_UID, "PCIF") + Name (_STR, Unicode("PCIe 15 Device")) + + // + // Declare the PCI Routing Table. + // This defines SPI mappings of the four line-based interrupts + // associated with the root complex and hierarchy below it. + // Section 6.2.12 + // + + Name (_PRT, Package() { + + // + // Routing for device 0, all functions. + // Note: ARM doesn't support LNK nodes, so the third param + // is 0 and the fourth param is the SPI number of the interrupt + // line. In this example, the A/B/C/D interrupts are wired to + // SPI lines 156/157/158/159 + 320 respectively. PCIF RCA7 + // + Package() {0x0001FFFF, 0, 0, 476}, + Package() {0x0001FFFF, 1, 0, 477}, + Package() {0x0001FFFF, 2, 0, 478}, + Package() {0x0001FFFF, 3, 0, 479}, + Package() {0x0002FFFF, 0, 0, 476}, + Package() {0x0002FFFF, 1, 0, 477}, + Package() {0x0002FFFF, 2, 0, 478}, + Package() {0x0002FFFF, 3, 0, 479}, + Package() {0x0003FFFF, 0, 0, 476}, + Package() {0x0003FFFF, 1, 0, 477}, + Package() {0x0003FFFF, 2, 0, 478}, + Package() {0x0003FFFF, 3, 0, 479}, + Package() {0x0004FFFF, 0, 0, 476}, + Package() {0x0004FFFF, 1, 0, 477}, + Package() {0x0004FFFF, 2, 0, 478}, + Package() {0x0004FFFF, 3, 0, 479}, + Package() {0x0005FFFF, 0, 0, 476}, + Package() {0x0005FFFF, 1, 0, 477}, + Package() {0x0005FFFF, 2, 0, 478}, + Package() {0x0005FFFF, 3, 0, 479}, + Package() {0x0006FFFF, 0, 0, 476}, + Package() {0x0006FFFF, 1, 0, 477}, + Package() {0x0006FFFF, 2, 0, 478}, + Package() {0x0006FFFF, 3, 0, 479}, + Package() {0x0007FFFF, 0, 0, 476}, + Package() {0x0007FFFF, 1, 0, 477}, + Package() {0x0007FFFF, 2, 0, 478}, + Package() {0x0007FFFF, 3, 0, 479}, + Package() {0x0008FFFF, 0, 0, 476}, + Package() {0x0008FFFF, 1, 0, 477}, + Package() {0x0008FFFF, 2, 0, 478}, + Package() {0x0008FFFF, 3, 0, 479}, + }) + + // + // Declare the resources assigned to this root complex. + // Section 6.2.2 + // + Method (_CBA, 0, Serialized) { + Return (0x6FFFF0000000) + } + + Name (RBUF, ResourceTemplate () { + + // + // Declare the range of bus numbers assigned to this root + // complex. In this example, the minimum bus number will be + // 0, the maximum bus number will be 0xFF, supporting + // 256 busses total. + // Section 19.5.141 + // + + WordBusNumber ( + ResourceProducer, + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + PosDecode, // Decode + 0, // AddressGranularity + 0, // AddressMinimum - Minimum Bus Number + 255, // AddressMaximum - Maximum Bus Number + 0, // AddressTranslation - Set to 0 + 256) // RangeLength - Number of Busses + + // + // Declare the memory range to be used for BAR memory + // windows. This declares a 4GB region starting at + // 0x4000000000. + // Section 19.5.80 + // + // Memory32Fixed (ReadWrite, 0x1FE40000, 0x10000, ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000000058000000, // AddressMinimum - MIN + 0x000000005FFFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000008000000 // RangeLength - LEN + ) + + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // NonCacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x00006C0000000000, // AddressMinimum - MIN + 0x00006FFFDFFFFFFF, // AddressMinimum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x000003FFE0000000 // RangeLength - LEN + ) + }) + + Method (_CRS, 0, Serialized) { + Return (RBUF) + } + + // + // Declare an _OSC (OS Control Handoff) method which takes 4 arguments. + // + // Argments: + // Arg0 A Buffer containing a UUID + // Arg1 An Integer containing a Revision ID of the buffer format + // Arg2 An Integer containing a count of entries in Arg3 + // Arg3 A Buffer containing a list of DWORD capabilities + // Return Value: + // A Buffer containing a list of capabilities + // See the APCI spec, Section 6.2.10, + // and the PCI FW spec, Section 4.5. + // + // The following is an example, and may need modification for + // specific implementations. + // + + Name (SUPP,0) // PCI _OSC Support Field value + Name (CTRL,0) // PCI _OSC Control Field value + + Method (_OSC, 4) { + + // + // Look for the PCI Host Bridge Interface UUID. + // Section 6.2.10.3 + // + + // + // Create DWord-adressable fields from the Capabilities Buffer + // Create CDW1 outside the test as it's used in the else clause. + // + + CreateDWordField (Arg3, 0, CDW1) + If (LEqual (Arg0, ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766"))) { + + CreateDWordField (Arg3, 4, CDW2) + CreateDWordField (Arg3, 8, CDW3) + + // + // Save Capabilities DWord 2 & 3 + // + + Store (CDW2, SUPP) + Store (CDW3, CTRL) + + // + // Only allow native hot plug control if OS supports: + // ASPM + // Clock PM + // MSI/MSI-X + // + + If (LNotEqual (And (SUPP, 0x16), 0x16)) { + + // + // Mask bit 0 (and undefined bits) + // + + And (CTRL, 0x1E, CTRL) + } + + // + // Never allow native Hot plug, PME. + // Never allow SHPC (no SHPC controller in this system). + // Only allow PCIe AER control if PCIe AER Firmware-First is disab= led + // Allows PCI Express Capability Structure control + // + + if (AERF) { + And (CTRL, 0x10, CTRL) + } Else { + And (CTRL, 0x18, CTRL) + } + + // + // Check for unknown revision. + // + + If (LNotEqual (Arg1, One)) { + Or (CDW1, 0x08, CDW1) + } + + // + // Check if capabilities bits were masked. + // + + If (LNotEqual (CDW3, CTRL)) { + Or (CDW1, 0x10, CDW1) + } + + // + // Update DWORD3 in the buffer. + // + + Store (CTRL, CDW3) + Return (Arg3) + + } Else { + + // + // Unrecognized UUID + // + + Or (CDW1, 4, CDW1) + Return (Arg3) + } + } // End _OSC + + // + // Declare a _DSM method for various functions called by the OS. + // See the APCI spec, Section 9.14.1, + // and the PCI FW spec, Section 4.6. + // See also: + // http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fd= e-d599bac8184a/PCI-rsc.doc + // + + Method (_DSM, 0x4, Serialized) { + + // + // Match against the _DSM PCI GUID. + // + + If (LEqual (Arg0, ToUUID("E5C937D0-3553-4d7a-9117-EA4D19C3434D"))) { + + Switch (ToInteger(Arg2)) { + // + // Function 0: Return supported functions as a bitfield + // with one bit for each supported function. + // Bit 0 must always be set, as that represents + // function 0 (which is what is being called here). + // Support for different functions may depend on + // the revision ID of the interface, passed as Arg1. + // + + Case (0) { + + // + // Functions 0-7 are supported. + // + + Return (Buffer() {0x01}) + } + } + } + + // + // If not one of the function identifiers we recognize, then return = a buffer + // with bit 0 set to 0 indicating no functions supported. + // + + Return (Buffer() {0}) + } + + // + // Root Port 0 Device within the Root Complex. + // + Device (RP0) { + // + // Device 0, Function 0. + // + + Name (_ADR, 0x00000000) + } + + Method (_PXM, 0, NotSerialized) { + // Patch by code + Return(0xFF) + } + } // PCIF RCA7 diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/PMU-S0.asi b/Platform/A= mpere/JadePkg/Ac02AcpiTables/PMU-S0.asi new file mode 100644 index 000000000000..9a3444e468e8 --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/PMU-S0.asi @@ -0,0 +1,1292 @@ +/** @file + + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +Scope(\_SB) { + Device(CMN0) { + Name(_HID, "ARMHC600") // Device Identification Objects + Name(_CID, "ARMHC600") + Name(_UID, 0) + Name(_CCA, ONE) + Name(_STR, Unicode("CMN0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceConsumer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000100010000000, // AddressMinimum - MIN + 0x0000100013ffffff, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000004000000 // RangeLength - LEN + ) + QWordMemory ( + ResourceConsumer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000100012f00000, // AddressMinimum - MIN + 0x0000100013ffffff, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000001100000 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 314 } + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 314 } + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 314 } + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 314 } + }) + } + + Device(MC00) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 0) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 0: MCU0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000100090000A00, // AddressMinimum - MIN + 0x0000100090000BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 248 } + }) + } + + Device(MC01) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 1) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 0: MCU1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000100090400A00, // AddressMinimum - MIN + 0x0000100090400BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 249 } + }) + } + + Device(MC02) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 2) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 0: MCU2")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000100090800A00, // AddressMinimum - MIN + 0x0000100090800BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 250 } + }) + } + + Device(MC03) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 3) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 0: MCU3")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000100090C00A00, // AddressMinimum - MIN + 0x0000100090C00BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 251 } + }) + } + + Device(MC04) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 4) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 0: MCU4")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000100091000A00, // AddressMinimum - MIN + 0x0000100091000BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 252 } + }) + } + + Device(MC05) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 5) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 0: MCU5")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000100091400A00, // AddressMinimum - MIN + 0x0000100091400BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 253 } + }) + } + + Device(MC06) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 6) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 0: MCU6")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000100091800A00, // AddressMinimum - MIN + 0x0000100091800BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 254 } + }) + } + + Device(MC07) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 7) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 0: MCU7")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000100091C00A00, // AddressMinimum - MIN + 0x0000100091C00BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 255 } + }) + } +} + +Scope (\_SB.SYST.CL00) { + Device(DU00) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 64 } + }) + } +} + +Scope (\_SB.SYST.CL01) { + Device(DU01) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x1) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x1 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 65 } + }) + } +} + +Scope (\_SB.SYST.CL02) { + Device(DU02) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x2) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x2 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 66 } + }) + } +} + +Scope (\_SB.SYST.CL03) { + Device(DU03) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x3) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x3 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 67 } + }) + } +} + +Scope (\_SB.SYST.CL04) { + Device(DU04) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x4) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x4 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 68 } + }) + } +} + +Scope (\_SB.SYST.CL05) { + Device(DU05) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x5) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x5 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 69 } + }) + } +} + +Scope (\_SB.SYST.CL06) { + Device(DU06) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x6) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x6 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 71 } + }) + } +} + +Scope (\_SB.SYST.CL07) { + Device(DU07) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x7) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x7 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 80 } + }) + } +} + +Scope (\_SB.SYST.CL08) { + Device(DU08) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x8) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x8 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 81 } + }) + } +} + +Scope (\_SB.SYST.CL09) { + Device(DU09) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x9) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x9 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 82 } + }) + } +} + +Scope (\_SB.SYST.CL0A) { + Device(DU0A) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0xA) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0xA Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 83 } + }) + } +} + +Scope (\_SB.SYST.CL0B) { + Device(DU0B) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0xB) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0xB Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 115 } + }) + } +} + +Scope (\_SB.SYST.CL0C) { + Device(DU0C) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0xC) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0xC Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 116 } + }) + } +} + +Scope (\_SB.SYST.CL0D) { + Device(DU0D) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0xD) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0xD Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 120 } + }) + } +} + +Scope (\_SB.SYST.CL0E) { + Device(DU0E) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0xE) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0xE Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 121 } + }) + } +} + +Scope (\_SB.SYST.CL0F) { + Device(DU0F) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0xF) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0xF Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 122 } + }) + } +} + +Scope (\_SB.SYST.CL10) { + Device(DU10) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x10) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x10 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 123 } + }) + } +} + +Scope (\_SB.SYST.CL11) { + Device(DU11) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x11) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x11 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 124 } + }) + } +} + +Scope (\_SB.SYST.CL12) { + Device(DU12) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x12) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x12 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 125 } + }) + } +} + +Scope (\_SB.SYST.CL13) { + Device(DU13) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x13) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x13 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 126 } + }) + } +} + +Scope (\_SB.SYST.CL14) { + Device(DU14) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x14) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x14 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 127 } + }) + } +} + +Scope (\_SB.SYST.CL15) { + Device(DU15) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x15) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x15 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 166 } + }) + } +} + +Scope (\_SB.SYST.CL16) { + Device(DU16) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x16) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x16 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 167 } + }) + } +} + +Scope (\_SB.SYST.CL17) { + Device(DU17) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x17) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x17 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 168 } + }) + } +} + +Scope (\_SB.SYST.CL18) { + Device(DU18) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x18) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x18 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 169 } + }) + } +} + +Scope (\_SB.SYST.CL19) { + Device(DU19) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x19) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x19 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 176 } + }) + } +} + +Scope (\_SB.SYST.CL1A) { + Device(DU1A) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x1A) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x1A Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 177 } + }) + } +} + +Scope (\_SB.SYST.CL1B) { + Device(DU1B) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x1B) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x1B Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 178 } + }) + } +} + +Scope (\_SB.SYST.CL1C) { + Device(DU1C) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x1C) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x1C Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 179 } + }) + } +} + +Scope (\_SB.SYST.CL1D) { + Device(DU1D) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x1D) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x1D Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 186 } + }) + } +} + +Scope (\_SB.SYST.CL1E) { + Device(DU1E) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x1E) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x1E Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 187 } + }) + } +} + +Scope (\_SB.SYST.CL1F) { + Device(DU1F) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x1F) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x1F Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 188 } + }) + } +} + +Scope (\_SB.SYST.CL20) { + Device(DU20) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x20) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x20 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 189 } + }) + } +} + +Scope (\_SB.SYST.CL21) { + Device(DU21) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x21) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x21 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 196 } + }) + } +} + +Scope (\_SB.SYST.CL22) { + Device(DU22) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x22) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x22 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 197 } + }) + } +} + +Scope (\_SB.SYST.CL23) { + Device(DU23) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x23) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x23 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 198 } + }) + } +} + +Scope (\_SB.SYST.CL24) { + Device(DU24) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x24) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x24 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 199 } + }) + } +} + +Scope (\_SB.SYST.CL25) { + Device(DU25) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x25) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x25 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 200 } + }) + } +} + +Scope (\_SB.SYST.CL26) { + Device(DU26) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x26) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x26 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 201 } + }) + } +} + +Scope (\_SB.SYST.CL27) { + Device(DU27) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x27) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x27 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 202 } + }) + } +} + +Scope (\_SB.SYST.CL28) { + Device(DU28) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x28) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x28 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 203 } + }) + } +} + +Scope (\_SB.SYST.CL29) { + Device(DU29) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x29) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x29 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 204 } + }) + } +} + +Scope (\_SB.SYST.CL2A) { + Device(DU2A) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x2A) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x2A Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 205 } + }) + } +} + +Scope (\_SB.SYST.CL2B) { + Device(DU2B) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x2B) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x2B Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 206 } + }) + } +} + +Scope (\_SB.SYST.CL2C) { + Device(DU2C) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x2C) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x2C Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 207 } + }) + } +} + +Scope (\_SB.SYST.CL2D) { + Device(DU2D) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x2D) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x2D Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 221 } + }) + } +} + +Scope (\_SB.SYST.CL2E) { + Device(DU2E) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x2E) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x2E Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 222 } + }) + } +} + +Scope (\_SB.SYST.CL2F) { + Device(DU2F) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x2F) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x2F Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 223 } + }) + } +} + +Scope (\_SB.SYST.CL30) { + Device(DU30) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x30) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x30 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 264 } + }) + } +} + +Scope (\_SB.SYST.CL31) { + Device(DU31) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x31) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x31 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 265 } + }) + } +} + +Scope (\_SB.SYST.CL32) { + Device(DU32) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x32) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x32 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 266 } + }) + } +} + +Scope (\_SB.SYST.CL33) { + Device(DU33) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x33) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x33 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 267 } + }) + } +} + +Scope (\_SB.SYST.CL34) { + Device(DU34) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x34) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x34 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 268 } + }) + } +} + +Scope (\_SB.SYST.CL35) { + Device(DU35) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x35) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x35 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 269 } + }) + } +} + +Scope (\_SB.SYST.CL36) { + Device(DU36) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x36) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x36 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 270 } + }) + } +} + +Scope (\_SB.SYST.CL37) { + Device(DU37) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x37) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x37 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 271 } + }) + } +} + +Scope (\_SB.SYST.CL38) { + Device(DU38) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x38) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x38 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 297 } + }) + } +} + +Scope (\_SB.SYST.CL39) { + Device(DU39) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x39) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x39 Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 298 } + }) + } +} + +Scope (\_SB.SYST.CL3A) { + Device(DU3A) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x3A) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x3A Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 299 } + }) + } +} + +Scope (\_SB.SYST.CL3B) { + Device(DU3B) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x3B) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x3B Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 300 } + }) + } +} + +Scope (\_SB.SYST.CL3C) { + Device(DU3C) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x3C) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x3C Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 301 } + }) + } +} + +Scope (\_SB.SYST.CL3D) { + Device(DU3D) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x3D) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x3D Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 312 } + }) + } +} + +Scope (\_SB.SYST.CL3E) { + Device(DU3E) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x3E) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x3E Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 313 } + }) + } +} + +Scope (\_SB.SYST.CL3F) { + Device(DU3F) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x3F) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x3F Socket 0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 316 } + }) + } +} diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/PMU-S1.asi b/Platform/A= mpere/JadePkg/Ac02AcpiTables/PMU-S1.asi new file mode 100644 index 000000000000..9806278dc86e --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/PMU-S1.asi @@ -0,0 +1,1292 @@ +/** @file + + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +Scope(\_SB) { + Device(CMN1) { + Name(_HID, "ARMHC600") // Device Identification Objects + Name(_CID, "ARMHC600") + Name(_UID, 1) + Name(_CCA, ONE) + Name(_STR, Unicode("CMN1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceConsumer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000500010000000, // AddressMinimum - MIN + 0x0000500013ffffff, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000004000000 // RangeLength - LEN + ) + QWordMemory ( + ResourceConsumer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000500012f00000, // AddressMinimum - MIN + 0x0000500013ffffff, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000001100000 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 634 } + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 634 } + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 634 } + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 634 } + }) + } + + Device(MC10) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 8) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 1: MCU0")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000500090000A00, // AddressMinimum - MIN + 0x0000500090000BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 568 } + }) + } + + Device(MC11) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 9) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 1: MCU1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000500090400A00, // AddressMinimum - MIN + 0x0000500090400BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 569 } + }) + } + + Device(MC12) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 0xa) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 1: MCU2")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000500090800A00, // AddressMinimum - MIN + 0x0000500090800BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 570 } + }) + } + + Device(MC13) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 0xb) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 1: MCU3")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000500090C00A00, // AddressMinimum - MIN + 0x0000500090C00BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 571 } + }) + } + + Device(MC14) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 0xc) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 1: MCU4")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000500091000A00, // AddressMinimum - MIN + 0x0000500091000BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 572 } + }) + } + + Device(MC15) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 0xd) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 1: MCU5")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000500091400A00, // AddressMinimum - MIN + 0x0000500091400BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 573 } + }) + } + + Device(MC16) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 0xe) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 1: MCU6")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000500091800A00, // AddressMinimum - MIN + 0x0000500091800BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 574 } + }) + } + + Device(MC17) { + Name(_HID, "ARMHD620") + Name(_CID, "ARMHD620") + Name(_UID, 0xf) + Name(_CCA, ONE) + Name(_STR, Unicode("Socket 1: MCU7")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + QWordMemory ( + ResourceProducer, // ResourceUsage + PosDecode, // Decode + MinFixed, // IsMinFixed + MaxFixed, // IsMaxFixed + NonCacheable, // Cacheable + ReadWrite, // ReadAndWrite + 0x0000000000000000, // AddressGranularity - GRA + 0x0000500091C00A00, // AddressMinimum - MIN + 0x0000500091C00BFF, // AddressMaximum - MAX + 0x0000000000000000, // AddressTranslation - TRA + 0x0000000000000200 // RangeLength - LEN + ) + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 575 } + }) + } +} + +Scope (\_SB.SYST.CL40) { + Device(DU40) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x40) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x40 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 384 } + }) + } +} + +Scope (\_SB.SYST.CL41) { + Device(DU41) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x41) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x41 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 385 } + }) + } +} + +Scope (\_SB.SYST.CL42) { + Device(DU42) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x42) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x42 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 386 } + }) + } +} + +Scope (\_SB.SYST.CL43) { + Device(DU43) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x43) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x43 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 387 } + }) + } +} + +Scope (\_SB.SYST.CL44) { + Device(DU44) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x44) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x44 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 388 } + }) + } +} + +Scope (\_SB.SYST.CL45) { + Device(DU45) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x45) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x45 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 389 } + }) + } +} + +Scope (\_SB.SYST.CL46) { + Device(DU46) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x46) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x46 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 391 } + }) + } +} + +Scope (\_SB.SYST.CL47) { + Device(DU47) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x47) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x47 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 400 } + }) + } +} + +Scope (\_SB.SYST.CL48) { + Device(DU48) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x48) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x48 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 401 } + }) + } +} + +Scope (\_SB.SYST.CL49) { + Device(DU49) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x49) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x49 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 402 } + }) + } +} + +Scope (\_SB.SYST.CL4A) { + Device(DU4A) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x4A) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x4A Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 403 } + }) + } +} + +Scope (\_SB.SYST.CL4B) { + Device(DU4B) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x4B) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x4B Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 435 } + }) + } +} + +Scope (\_SB.SYST.CL4C) { + Device(DU4C) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x4C) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x4C Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 436 } + }) + } +} + +Scope (\_SB.SYST.CL4D) { + Device(DU4D) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x4D) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x4D Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 440 } + }) + } +} + +Scope (\_SB.SYST.CL4E) { + Device(DU4E) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x4E) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x4E Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 441 } + }) + } +} + +Scope (\_SB.SYST.CL4F) { + Device(DU4F) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x4F) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x4F Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 442 } + }) + } +} + +Scope (\_SB.SYST.CL50) { + Device(DU50) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x50) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x50 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 443 } + }) + } +} + +Scope (\_SB.SYST.CL51) { + Device(DU51) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x51) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x51 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 444 } + }) + } +} + +Scope (\_SB.SYST.CL52) { + Device(DU52) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x52) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x52 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 445 } + }) + } +} + +Scope (\_SB.SYST.CL53) { + Device(DU53) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x53) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x53 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 446 } + }) + } +} + +Scope (\_SB.SYST.CL54) { + Device(DU54) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x54) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x54 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 447 } + }) + } +} + +Scope (\_SB.SYST.CL55) { + Device(DU55) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x55) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x55 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 486 } + }) + } +} + +Scope (\_SB.SYST.CL56) { + Device(DU56) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x56) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x56 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 487 } + }) + } +} + +Scope (\_SB.SYST.CL57) { + Device(DU57) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x57) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x57 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 488 } + }) + } +} + +Scope (\_SB.SYST.CL58) { + Device(DU58) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x58) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x58 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 489 } + }) + } +} + +Scope (\_SB.SYST.CL59) { + Device(DU59) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x59) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x59 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 496 } + }) + } +} + +Scope (\_SB.SYST.CL5A) { + Device(DU5A) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x5A) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x5A Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 497 } + }) + } +} + +Scope (\_SB.SYST.CL5B) { + Device(DU5B) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x5B) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x5B Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 498 } + }) + } +} + +Scope (\_SB.SYST.CL5C) { + Device(DU5C) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x5C) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x5C Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 499 } + }) + } +} + +Scope (\_SB.SYST.CL5D) { + Device(DU5D) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x5D) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x5D Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 506 } + }) + } +} + +Scope (\_SB.SYST.CL5E) { + Device(DU5E) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x5E) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x5E Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 507 } + }) + } +} + +Scope (\_SB.SYST.CL5F) { + Device(DU5F) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x5F) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x5F Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 508 } + }) + } +} + +Scope (\_SB.SYST.CL60) { + Device(DU60) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x60) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x60 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 509 } + }) + } +} + +Scope (\_SB.SYST.CL61) { + Device(DU61) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x61) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x61 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 516 } + }) + } +} + +Scope (\_SB.SYST.CL62) { + Device(DU62) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x62) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x62 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 517 } + }) + } +} + +Scope (\_SB.SYST.CL63) { + Device(DU63) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x63) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x63 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 518 } + }) + } +} + +Scope (\_SB.SYST.CL64) { + Device(DU64) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x64) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x64 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 519 } + }) + } +} + +Scope (\_SB.SYST.CL65) { + Device(DU65) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x65) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x65 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 520 } + }) + } +} + +Scope (\_SB.SYST.CL66) { + Device(DU66) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x66) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x66 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 521 } + }) + } +} + +Scope (\_SB.SYST.CL67) { + Device(DU67) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x67) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x67 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 522 } + }) + } +} + +Scope (\_SB.SYST.CL69) { + Device(DU68) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x68) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x68 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 523 } + }) + } +} + +Scope (\_SB.SYST.CL69) { + Device(DU69) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x69) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x69 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 524 } + }) + } +} + +Scope (\_SB.SYST.CL6A) { + Device(DU6A) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x6A) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x6A Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 525 } + }) + } +} + +Scope (\_SB.SYST.CL6B) { + Device(DU6B) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x6B) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x6B Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 526 } + }) + } +} + +Scope (\_SB.SYST.CL6C) { + Device(DU6C) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x6C) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x6C Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 527 } + }) + } +} + +Scope (\_SB.SYST.CL6D) { + Device(DU6D) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x6D) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x6D Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 541 } + }) + } +} + +Scope (\_SB.SYST.CL6E) { + Device(DU6E) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x6E) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x6E Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 542 } + }) + } +} + +Scope (\_SB.SYST.CL6F) { + Device(DU6F) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x6F) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x6F Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 543 } + }) + } +} + +Scope (\_SB.SYST.CL70) { + Device(DU70) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x70) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x70 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 584 } + }) + } +} + +Scope (\_SB.SYST.CL71) { + Device(DU71) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x71) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x71 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 585 } + }) + } +} + +Scope (\_SB.SYST.CL72) { + Device(DU72) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x72) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x72 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 586 } + }) + } +} + +Scope (\_SB.SYST.CL73) { + Device(DU73) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x73) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x73 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 587 } + }) + } +} + +Scope (\_SB.SYST.CL74) { + Device(DU74) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x74) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x74 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 588 } + }) + } +} + +Scope (\_SB.SYST.CL75) { + Device(DU75) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x75) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x75 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 589 } + }) + } +} + +Scope (\_SB.SYST.CL76) { + Device(DU76) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x76) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x76 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 590 } + }) + } +} + +Scope (\_SB.SYST.CL77) { + Device(DU77) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x77) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x77 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 591 } + }) + } +} + +Scope (\_SB.SYST.CL78) { + Device(DU78) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x78) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x78 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 617 } + }) + } +} + +Scope (\_SB.SYST.CL79) { + Device(DU79) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x79) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x79 Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 618 } + }) + } +} + +Scope (\_SB.SYST.CL7A) { + Device(DU7A) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x7A) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x7A Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 619 } + }) + } +} + +Scope (\_SB.SYST.CL7B) { + Device(DU7B) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x7B) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x7B Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 620 } + }) + } +} + +Scope (\_SB.SYST.CL7C) { + Device(DU7C) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x7C) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x7C Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 621 } + }) + } +} + +Scope (\_SB.SYST.CL7D) { + Device(DU7D) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x7D) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x7D Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 632 } + }) + } +} + +Scope (\_SB.SYST.CL7E) { + Device(DU7E) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x7E) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x7E Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 633 } + }) + } +} + +Scope (\_SB.SYST.CL7F) { + Device(DU7F) { + Name(_HID, "ARMHD500") + Name(_CID, "ARMHD500") + Name(_UID, 0x7F) + Name(_CCA, ONE) + Name(_STR, Unicode("DSU CPM 0x7F Socket 1")) + Method(_STA, 0, NotSerialized) { + Return (0x0f) + } + Name(_CRS, ResourceTemplate() { + Interrupt(ResourceConsumer, Level, ActiveHigh, Exclusive) { 636 } + }) + } +} diff --git a/Platform/Ampere/JadePkg/Ac02AcpiTables/PMU.asi b/Platform/Ampe= re/JadePkg/Ac02AcpiTables/PMU.asi new file mode 100644 index 000000000000..21eb42dca243 --- /dev/null +++ b/Platform/Ampere/JadePkg/Ac02AcpiTables/PMU.asi @@ -0,0 +1,10 @@ +/** @file + + Copyright (c) 2023, Ampere Computing LLC. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +Include ("PMU-S0.asi") +Include ("PMU-S1.asi") --=20 2.25.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#98438): https://edk2.groups.io/g/devel/message/98438 Mute This Topic: https://groups.io/mt/96240133/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-