diff options
author | Duncan Laurie <dlaurie@chromium.org> | 2016-02-25 08:45:43 -0800 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2016-03-08 18:43:11 +0100 |
commit | 3d3b76b8321ea2106e2bd2595097accbf6ac9eb9 (patch) | |
tree | 5f85896a076678d696e6a85fa1e4c5b12618d1e6 /src/soc | |
parent | 8951ed8b90532d3016a677b5a9a2fb6d9f97ff6a (diff) |
skylake: Add and fill out CID1 NVS field
Add a country identifier field to NVS and populate it with the
call to wifi_regulatory_domain() which will (by default) do a
lookup for the 'region' identifier in VPD on a Chrome OS device.
BUG=chrome-os-partner:50516
BRANCH=glados
TEST=build and boot on chell
Change-Id: Ie7531848e620095732772c22156a85b7f8a6df5c
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Original-Commit-Id: dafdb3760a0302e3effdc0e83977c1bfd5c9d3b2
Original-Change-Id: Ic83ab008045a469d0e0756f7e4d42f1b3894c529
Original-Signed-off-by: Duncan Laurie <dlaurie@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/329295
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/13839
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/intel/skylake/acpi.c | 4 | ||||
-rw-r--r-- | src/soc/intel/skylake/acpi/globalnvs.asl | 1 | ||||
-rw-r--r-- | src/soc/intel/skylake/include/soc/nvs.h | 3 |
3 files changed, 7 insertions, 1 deletions
diff --git a/src/soc/intel/skylake/acpi.c b/src/soc/intel/skylake/acpi.c index 678e0a9f3f..934d7b53c7 100644 --- a/src/soc/intel/skylake/acpi.c +++ b/src/soc/intel/skylake/acpi.c @@ -41,6 +41,7 @@ #include <string.h> #include <types.h> #include <vendorcode/google/chromeos/gnvs.h> +#include <wrdd.h> /* * List of suported C-states in this processor. @@ -193,6 +194,9 @@ static void acpi_create_gnvs(global_nvs_t *gnvs) /* Enable DPTF based on mainboard configuration */ gnvs->dpte = config->dptf_enable; + + /* Fill in the Wifi Region id */ + gnvs->cid1 = wifi_regulatory_domain(); } unsigned long acpi_fill_mcfg(unsigned long current) diff --git a/src/soc/intel/skylake/acpi/globalnvs.asl b/src/soc/intel/skylake/acpi/globalnvs.asl index 1ea7e53c5f..2bff7d3cf9 100644 --- a/src/soc/intel/skylake/acpi/globalnvs.asl +++ b/src/soc/intel/skylake/acpi/globalnvs.asl @@ -63,6 +63,7 @@ Field (GNVS, ByteAcc, NoLock, Preserve) DPTE, 8, // 0x30 - Enable DPTF NHLA, 64, // 0x31 - NHLT Address NHLL, 32, // 0x39 - NHLT Length + CID1, 16, // 0x3d - Wifi Country Identifier /* ChromeOS specific */ Offset (0x100), diff --git a/src/soc/intel/skylake/include/soc/nvs.h b/src/soc/intel/skylake/include/soc/nvs.h index 032068f484..f9d5b71880 100644 --- a/src/soc/intel/skylake/include/soc/nvs.h +++ b/src/soc/intel/skylake/include/soc/nvs.h @@ -53,7 +53,8 @@ typedef struct { u8 dpte; /* 0x30 - Enable DPTF */ u64 nhla; /* 0x31 - NHLT Address */ u32 nhll; /* 0x39 - NHLT Length */ - u8 unused[195]; + u16 cid1; /* 0x3d - Wifi Country Identifier */ + u8 unused[193]; /* ChromeOS specific (0x100 - 0xfff) */ chromeos_acpi_t chromeos; |