soc/amd/picasso: Drop the addition of I2S machine device from ACP driver

I2S machine device has its own driver now. So, this change drops the
support for adding I2S machine device ACPI node from ACP driver.

BUG=b:157708581

Change-Id: I9069d92ae991e05fddcc7d45a2fd21e98c3b0de8
Signed-off-by: Furquan Shaikh <furquan@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/43544
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Furquan Shaikh 2020-07-16 13:52:14 -07:00
parent 24ec79c39b
commit 0fba23bc64
2 changed files with 1 additions and 59 deletions

View File

@ -56,60 +56,6 @@ static const char *acp_acpi_name(const struct device *dev)
return "ACPD";
}
#define AMD_I2S_ACPI_NAME "I2SM"
#define AMD_I2S_ACPI_HID "AMDI5682"
#define AMD_I2S_ACPI_DESC "I2S machine driver"
static void acp_fill_i2s_machine_dev(const struct device *dev)
{
const char *scope = acpi_device_path(dev);
const struct soc_amd_picasso_config *cfg = config_of_soc();
const struct acpi_gpio *dmic_select_gpio = &cfg->dmic_select_gpio;
struct acpi_dp *dsd;
if (dmic_select_gpio->pin_count == 0)
return;
acpigen_write_scope(scope); /* Scope */
acpigen_write_device(AMD_I2S_ACPI_NAME); /* Device */
acpigen_write_name_string("_HID", AMD_I2S_ACPI_HID);
acpigen_write_name_integer("_UID", 1);
acpigen_write_name_string("_DDN", AMD_I2S_ACPI_DESC);
acpigen_write_STA(ACPI_STATUS_DEVICE_ALL_ON);
/* Resources */
acpigen_write_name("_CRS");
acpigen_write_resourcetemplate_header();
acpi_device_write_gpio(dmic_select_gpio);
acpigen_write_resourcetemplate_footer();
dsd = acpi_dp_new_table("_DSD");
/*
* This GPIO is used to select DMIC0 or DMIC1 by the kernel driver. It does not
* really have a polarity since low and high control the selection of DMIC and
* hence does not have an active polarity.
* Kernel driver does not use the polarity field and instead treats the GPIO
* selection as follows:
* Set low (0) = Select DMIC0
* Set high (1) = Select DMIC1
*/
acpi_dp_add_gpio(dsd, "dmic-gpios", acpi_device_path_join(dev, AMD_I2S_ACPI_NAME),
0, /* Index = 0 (There is a single GPIO entry in _CRS). */
0, /* Pin = 0 (There is a single pin in the GPIO resource). */
0); /* Active low = 0 (Kernel driver does not use active polarity). */
acpi_dp_write(dsd);
acpigen_pop_len(); /* Device */
acpigen_pop_len(); /* Scope */
}
static void acp_fill_ssdt(const struct device *dev)
{
acpi_device_write_pci_dev(dev);
acp_fill_i2s_machine_dev(dev);
}
static struct device_operations acp_ops = {
.read_resources = pci_dev_read_resources,
.set_resources = pci_dev_set_resources,
@ -118,7 +64,7 @@ static struct device_operations acp_ops = {
.ops_pci = &pci_dev_ops_pci,
.scan_bus = scan_static_bus,
.acpi_name = acp_acpi_name,
.acpi_fill_ssdt = acp_fill_ssdt,
.acpi_fill_ssdt = acpi_device_write_pci_dev,
};
static const struct pci_driver acp_driver __pci_driver = {

View File

@ -11,7 +11,6 @@
#include <soc/i2c.h>
#include <soc/iomap.h>
#include <soc/southbridge.h>
#include <acpi/acpi_device.h>
#include <arch/x86/include/arch/smp/mpspec.h> /* point from top level */
/*
@ -75,9 +74,6 @@ struct soc_amd_picasso_config {
uint8_t flags;
} irq_override[16];
/* DMIC select GPIO for I2S machine driver AMDI5682 */
struct acpi_gpio dmic_select_gpio;
/* Options for these are in src/arch/x86/include/acpi/acpi.h */
uint16_t fadt_boot_arch;
uint32_t fadt_flags;