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>
This commit is contained in:
Duncan Laurie 2016-02-25 08:45:43 -08:00 committed by Patrick Georgi
parent 8951ed8b90
commit 3d3b76b832
3 changed files with 7 additions and 1 deletions

View File

@ -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)

View File

@ -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),

View File

@ -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;