diff options
Diffstat (limited to 'src/soc/amd')
-rw-r--r-- | src/soc/amd/picasso/acp.c | 56 | ||||
-rw-r--r-- | src/soc/amd/picasso/chip.h | 4 |
2 files changed, 1 insertions, 59 deletions
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 <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; |