From 0fba23bc6489ba33a10bdc2677c108f6b5587f96 Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Thu, 16 Jul 2020 13:52:14 -0700 Subject: 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 Reviewed-on: https://review.coreboot.org/c/coreboot/+/43544 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/soc/amd/picasso/acp.c | 56 +--------------------------------------------- src/soc/amd/picasso/chip.h | 4 ---- 2 files changed, 1 insertion(+), 59 deletions(-) (limited to 'src/soc') diff --git a/src/soc/amd/picasso/acp.c b/src/soc/amd/picasso/acp.c index 89bdd4ed0a..8e6f4cfbbb 100644 --- a/src/soc/amd/picasso/acp.c +++ b/src/soc/amd/picasso/acp.c @@ -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 = { diff --git a/src/soc/amd/picasso/chip.h b/src/soc/amd/picasso/chip.h index 4891b22392..1950691c89 100644 --- a/src/soc/amd/picasso/chip.h +++ b/src/soc/amd/picasso/chip.h @@ -11,7 +11,6 @@ #include #include #include -#include #include /* 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; -- cgit v1.2.3