From 8951ed8b90532d3016a677b5a9a2fb6d9f97ff6a Mon Sep 17 00:00:00 2001 From: Duncan Laurie Date: Thu, 25 Feb 2016 08:44:06 -0800 Subject: intel/wifi: Add WRDD ACPI method Add an ACPI file containing a generic WRDD method that is used by Intel wireless kernel drivers to determine the country code to be used for regulatory domain configuration of the wireless radios. This requires an NVS variable called 'CID1' to provide an ISO-3166-2 alpha-2 country code or it will just return 0 instead. This is implemented as a bare method because this needs to be included directly into the wifi device that is defined by the mainboard as it may have board-specific settings like _PRW that need to be provided as well. BUG=chrome-os-partner:50516 BRANCH=glados TEST=boot on chell with 'region'='us' in VPD and see that it is properly read out by calling WRDD method on the WiFi device. Change-Id: I27a5e27f65d05ff62a0e79a87a32c1ef0c5d0ef3 Signed-off-by: Patrick Georgi Original-Commit-Id: 2da0cf76ca3cc5e3dfbc4a0859733523de780cf5 Original-Change-Id: I9d83c3938cceafc77ef8747a5c47f586ee84437e Original-Signed-off-by: Duncan Laurie Original-Reviewed-on: https://chromium-review.googlesource.com/329294 Original-Reviewed-by: Aaron Durbin Reviewed-on: https://review.coreboot.org/13838 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Stefan Reinauer --- src/drivers/intel/wifi/acpi/wrdd.asl | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/drivers/intel/wifi/acpi/wrdd.asl (limited to 'src/drivers/intel') diff --git a/src/drivers/intel/wifi/acpi/wrdd.asl b/src/drivers/intel/wifi/acpi/wrdd.asl new file mode 100644 index 0000000000..6f071ad976 --- /dev/null +++ b/src/drivers/intel/wifi/acpi/wrdd.asl @@ -0,0 +1,37 @@ +/* + * This file is part of the coreboot project. + * + * Copyright (C) 2016 Google Inc. + * Copyright (C) 2016 Intel Corporation + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +/* + * This method is used by the Intel wireless kernel drivers to determine + * the proper country code for regulatory domain configuration. + * + * It requires an NVS field called CID1 to be present that provides the + * ISO-3166-2 alpha-2 country code. + */ +Method (WRDD, 0, Serialized) +{ + Name (WRDX, Package () { + 0, /* Revision */ + Package () { + 0x00000007, /* Domain Type, 0x7:WiFi */ + 0x00000000, /* No Default Country Identifier */ + } + }) + + /* Replace Country Identifier with value from NVS */ + Store (\CID1, Index (DeRefOf (Index (WRDX, 1)), 1)) + Return (WRDX) +} -- cgit v1.2.3