mb/google/sarien: Enable MAC address passthru support

Enable the support for providing a MAC address for a dock to use based on
the VPD values set in the platform.

BUG=b:123925776
TEST=tested on sarien by setting VPD values and observing the string
returned by the AMAC() method:

> vpd -i RO_VPD -s "ethernet_mac0"="AA:AA:AA:AA:AA:AA"
> vpd -i RO_VPD -s "dock_mac"="BB:BB:BB:BB:BB:BB"

1) Test with no policy set, returns "dock_mac"
ACPI Debug:  "VPD region RW did not verify"
ACPI Debug:  "Found VPD KEY dock_mac = BB:BB:BB:BB:BB:BB"
ACPI Debug:  "MAC address returned from VPD: BB:BB:BB:BB:BB:BB"
ACPI Debug:  "AMAC = _AUXMAC_#BBBBBBBBBBBB#"

2) Test with policy set to "builtin", returns nothing
> vpd -i RW_VPD -s "dock_passthru"="builtin"
ACPI Debug:  "Found VPD KEY dock_passthru = builtin" [AMAC returns Zero]

3) Test with policy set to "ethernet_mac0"
> vpd -i RW_VPD -s "dock_passthru"="ethernet_mac0"
ACPI Debug:  "Found VPD KEY dock_passthru = ethernet_mac0"
ACPI Debug:  "Found VPD KEY ethernet_mac0 = AA:AA:AA:AA:AA:AA"
ACPI Debug:  "MAC address returned from VPD: AA:AA:AA:AA:AA:AA"
ACPI Debug:  "AMAC = _AUXMAC_#AAAAAAAAAAAA#"

4) Test with policy set to "dock_mac"
> vpd -i RW_VPD -s "dock_passthru"="dock_mac"
ACPI Debug:  "Found VPD KEY dock_passthru = dock_mac"
ACPI Debug:  "Found VPD KEY dock_mac = BB:BB:BB:BB:BB:BB"
ACPI Debug:  "MAC address returned from VPD: BB:BB:BB:BB:BB:BB"
ACPI Debug:  "AMAC = _AUXMAC_#BBBBBBBBBBBB#"

Change-Id: I90474e264cc433c0fd1a4b0dbaf98e5f74180d54
Signed-off-by: Duncan Laurie <dlaurie@google.com>
Reviewed-on: https://review.coreboot.org/c/31670
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lijian Zhao <lijian.zhao@intel.com>
This commit is contained in:
Duncan Laurie 2019-03-01 16:00:17 +08:00 committed by Patrick Georgi
parent 57d5e47694
commit 71a652c774
1 changed files with 4 additions and 0 deletions

View File

@ -45,6 +45,10 @@ DefinitionBlock(
#if IS_ENABLED(CONFIG_CHROMEOS)
/* Chrome OS specific */
#include <vendorcode/google/chromeos/acpi/chromeos.asl>
/* VPD support */
#include <vendorcode/google/chromeos/acpi/vpd.asl>
/* MAC address passthru */
#include <vendorcode/google/chromeos/acpi/amac.asl>
#endif
/* Chipset specific sleep states */