2 * This file is part of the coreboot project.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
17 * NOTE: The layout of the GNVS structure below must match the layout in
18 * soc/intel/apollolake/include/soc/nvs.h !!!
24 OperationRegion (GNVS, SystemMemory, NVSA, 0x1000)
25 Field (GNVS, ByteAcc, NoLock, Preserve)
29 PCNT, 8, // 0x00 - Processor Count
30 PPCM, 8, // 0x01 - Max PPC State
31 LIDS, 8, // 0x02 - LID State
32 PWRS, 8, // 0x03 - AC Power State
33 DPTE, 8, // 0x04 - Enable DPTF
34 CBMC, 32, // 0x05 - 0x08 - coreboot Memory Console
35 PM1I, 64, // 0x09 - 0x10 - System Wake Source - PM1 Index
36 GPEI, 64, // 0x11 - 0x18 - GPE Wake Source
37 NHLA, 64, // 0x19 - 0x20 - NHLT Address
38 NHLL, 32, // 0x21 - 0x24 - NHLT Length
39 PRT0, 32, // 0x25 - 0x28 - PERST_0 Address
40 SCDP, 8, // 0x29 - SD_CD GPIO portid
41 SCDO, 8, // 0x2A - GPIO pad offset relative to the community
42 UIOR, 8, // 0x2B - UART debug controller init on S3 resume
43 EPCS, 8, // 0x2C - SGX Enabled status
44 EMNA, 64, // 0x2D - 0x34 EPC base address
45 ELNG, 64, // 0x35 - 0x3C EPC Length
46 E4GM, 8, // 0x3D - Enable above 4GB MMIO Resource
47 A4GB, 64, // 0x3E - 0x45 Base of above 4GB MMIO Resource
48 A4GS, 64, // 0x46 - 0x4D Length of above 4GB MMIO Resource
50 /* ChromeOS stuff (0x100 -> 0xfff, size 0xeff) */
52 #include <vendorcode/google/chromeos/acpi/gnvs.asl>