coreboot/src
Duncan Laurie e8189b7426 acpi/soundwire: Add functions to generate SoundWire properties
This change uses the previously added SoundWire definitions to provide
functions that generate ACPI Device Properties for SoundWire
controllers and codecs.

A SoundWire controller driver should populate
`struct soundwire_controller` and pass it to
soundwire_gen_controller().  This will add all of the defined master
links provided by the controller.

A SoundWire codec driver should populate the necessary members in
struct soundwire_codec and pass it to soundwire_gen_codec().
Several properties are optional and depend on whether the codec itself
supports certain features and behaviors.

The goal of this interface is to handle all of the properties defined
in the SoundWire Discovery and Configuration Specification Version
1.0 so that controller and codec drivers do not need to all have code
for writing standard properties.

Both of these functions also provide a callback method for adding
custom properties that are not defined by the SoundWire DisCo
Specification.  These properties may be required by OS drivers but are
outside of the scope of the SoundWire specification itself.

This code is tested with controller, codec, and mainboard
implementations in subsequent commits.

BUG=b:146482091

Signed-off-by: Duncan Laurie <dlaurie@google.com>
Change-Id: Ib185eaacf3c4914087497ed65479a772c155502b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/40884
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
2020-05-21 08:04:02 +00:00
..
acpi acpi/soundwire: Add functions to generate SoundWire properties 2020-05-21 08:04:02 +00:00
arch src: Remove unused 'include <string.h>' 2020-05-18 07:41:24 +00:00
commonlib src: Remove leading blank lines from SPDX header 2020-05-18 07:00:27 +00:00
console treewide: Remove "this file is part of" lines 2020-05-11 17:11:40 +00:00
cpu src: Remove leading blank lines from SPDX header 2020-05-18 07:00:27 +00:00
device device/pci_device: Add notion of "hidden" PCI devices 2020-05-20 09:47:35 +00:00
drivers drivers/intel/gma: Add override for presence straps 2020-05-20 23:38:05 +00:00
ec src: Remove leading blank lines from SPDX header 2020-05-18 07:00:27 +00:00
include acpi/soundwire: Add functions to generate SoundWire properties 2020-05-21 08:04:02 +00:00
lib Remove new additions of "this file is part of" lines 2020-05-18 07:12:03 +00:00
mainboard mb/lenovo/x230: Turn X230 into a variant 2020-05-21 03:05:38 +00:00
northbridge nb/intel/sandybridge: Do not hardcode resource indices 2020-05-19 07:58:43 +00:00
security security/tpm/tspi: Fix handling of white space delimited list 2020-05-19 07:57:23 +00:00
soc tigerlake: enable DPTF functionality for volteer 2020-05-20 16:36:28 +00:00
southbridge src: Remove leading blank lines from SPDX header 2020-05-18 07:00:27 +00:00
superio superio/winbond/w83977tf: Scope UART configuration defines more locally 2020-05-20 08:44:36 +00:00
vendorcode vendorcode/intel/fsp: Update Tiger Lake FSP Headers for FSP v3163 2020-05-18 07:33:51 +00:00
Kconfig src: Remove leading blank lines from SPDX header 2020-05-18 07:00:27 +00:00