summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAamir Bohra <aamir.bohra@intel.com>2020-03-16 18:57:48 +0530
committerPatrick Georgi <pgeorgi@google.com>2020-03-20 09:40:07 +0000
commita1c82c5ebee830fa28a1962618bba4946e68f3ba (patch)
tree5f083cb609cc6f104cbbc80f286c4617c9328272
parent12b835050f0af9341b257560b60a8060c8fad328 (diff)
drivers/generic/max98357a: Allow custom _HID from config
Add HID field in max98357a_config and allow mainboards to set it. Signed-off-by: Aamir Bohra <aamir.bohra@intel.com> Change-Id: I22d2d078a9a4eb6ab330da8439737ff5133086d4 Reviewed-on: https://review.coreboot.org/c/coreboot/+/39286 Reviewed-by: Furquan Shaikh <furquan@google.com> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Karthik Ramasubramanian <kramasub@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/drivers/generic/max98357a/chip.h4
-rw-r--r--src/drivers/generic/max98357a/max98357a.c9
-rw-r--r--src/mainboard/google/fizz/variants/karma/overridetree.cb1
-rw-r--r--src/mainboard/google/glados/variants/asuka/devicetree.cb1
-rw-r--r--src/mainboard/google/glados/variants/cave/devicetree.cb1
-rw-r--r--src/mainboard/google/glados/variants/lars/devicetree.cb1
-rw-r--r--src/mainboard/google/glados/variants/sentry/devicetree.cb1
-rw-r--r--src/mainboard/google/hatch/variants/akemi/overridetree.cb1
-rw-r--r--src/mainboard/google/hatch/variants/dratini/overridetree.cb1
-rw-r--r--src/mainboard/google/hatch/variants/hatch/overridetree.cb1
-rw-r--r--src/mainboard/google/hatch/variants/helios_diskswap/overridetree.cb1
-rw-r--r--src/mainboard/google/hatch/variants/jinlon/overridetree.cb1
-rw-r--r--src/mainboard/google/hatch/variants/kindred/overridetree.cb1
-rw-r--r--src/mainboard/google/hatch/variants/kohaku/overridetree.cb1
-rw-r--r--src/mainboard/google/hatch/variants/mushu/overridetree.cb1
-rw-r--r--src/mainboard/google/hatch/variants/nightfury/overridetree.cb1
-rw-r--r--src/mainboard/google/hatch/variants/palkia/overridetree.cb1
-rw-r--r--src/mainboard/google/hatch/variants/stryke/overridetree.cb1
-rw-r--r--src/mainboard/google/kahlee/variants/aleena/devicetree.cb1
-rw-r--r--src/mainboard/google/kahlee/variants/careena/devicetree.cb1
-rw-r--r--src/mainboard/google/kahlee/variants/grunt/devicetree.cb1
-rw-r--r--src/mainboard/google/kahlee/variants/liara/devicetree.cb1
-rw-r--r--src/mainboard/google/kahlee/variants/nuwani/devicetree.cb1
-rw-r--r--src/mainboard/google/kahlee/variants/treeya/devicetree.cb1
-rw-r--r--src/mainboard/google/octopus/variants/baseboard/devicetree.cb1
-rw-r--r--src/mainboard/google/poppy/variants/nami/devicetree.cb1
-rw-r--r--src/mainboard/google/poppy/variants/nautilus/devicetree.cb1
-rw-r--r--src/mainboard/google/reef/variants/baseboard/devicetree.cb1
-rw-r--r--src/mainboard/google/reef/variants/coral/devicetree.cb1
-rw-r--r--src/mainboard/google/reef/variants/pyro/devicetree.cb1
-rw-r--r--src/mainboard/google/reef/variants/sand/devicetree.cb1
-rw-r--r--src/mainboard/google/reef/variants/snappy/devicetree.cb1
-rw-r--r--src/mainboard/google/volteer/variants/baseboard/devicetree.cb1
-rw-r--r--src/mainboard/intel/cannonlake_rvp/variants/cnl_y/devicetree.cb1
-rw-r--r--src/mainboard/intel/glkrvp/variants/baseboard/devicetree.cb1
-rw-r--r--src/mainboard/intel/kunimitsu/devicetree.cb1
36 files changed, 45 insertions, 2 deletions
diff --git a/src/drivers/generic/max98357a/chip.h b/src/drivers/generic/max98357a/chip.h
index ec4e94f3e6..f956846b60 100644
--- a/src/drivers/generic/max98357a/chip.h
+++ b/src/drivers/generic/max98357a/chip.h
@@ -14,6 +14,10 @@
#include <arch/acpi_device.h>
struct drivers_generic_max98357a_config {
+
+ /* ACPI _HID */
+ const char *hid;
+
/* SDMODE GPIO */
struct acpi_gpio sdmode_gpio;
diff --git a/src/drivers/generic/max98357a/max98357a.c b/src/drivers/generic/max98357a/max98357a.c
index 2b0ec3ba04..56fd26c3fd 100644
--- a/src/drivers/generic/max98357a/max98357a.c
+++ b/src/drivers/generic/max98357a/max98357a.c
@@ -23,7 +23,6 @@
#if CONFIG(HAVE_ACPI_TABLES)
#define MAX98357A_ACPI_NAME "MAXM"
-#define MAX98357A_ACPI_HID "MX98357A"
static void max98357a_fill_ssdt(struct device *dev)
{
@@ -42,7 +41,13 @@ static void max98357a_fill_ssdt(struct device *dev)
/* Device */
acpigen_write_scope(scope);
acpigen_write_device(name);
- acpigen_write_name_string("_HID", MAX98357A_ACPI_HID);
+
+ if (!config->hid) {
+ printk(BIOS_ERR, "%s: ERROR: _HID required\n", dev_path(dev));
+ return;
+ }
+
+ acpigen_write_name_string("_HID", config->hid);
acpigen_write_name_integer("_UID", 0);
acpigen_write_name_string("_DDN", dev->chip_ops->name);
acpigen_write_STA(acpi_device_status(dev));
diff --git a/src/mainboard/google/fizz/variants/karma/overridetree.cb b/src/mainboard/google/fizz/variants/karma/overridetree.cb
index 0273f78efd..f978240323 100644
--- a/src/mainboard/google/fizz/variants/karma/overridetree.cb
+++ b/src/mainboard/google/fizz/variants/karma/overridetree.cb
@@ -58,6 +58,7 @@ chip soc/intel/skylake
end # USB xHCI
device pci 19.1 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A23)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/glados/variants/asuka/devicetree.cb b/src/mainboard/google/glados/variants/asuka/devicetree.cb
index 27bbebaa57..772584dc3c 100644
--- a/src/mainboard/google/glados/variants/asuka/devicetree.cb
+++ b/src/mainboard/google/glados/variants/asuka/devicetree.cb
@@ -269,6 +269,7 @@ chip soc/intel/skylake
device pci 1f.2 on end # Power Management Controller
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/glados/variants/cave/devicetree.cb b/src/mainboard/google/glados/variants/cave/devicetree.cb
index 22ee80f56d..1d04a8e714 100644
--- a/src/mainboard/google/glados/variants/cave/devicetree.cb
+++ b/src/mainboard/google/glados/variants/cave/devicetree.cb
@@ -284,6 +284,7 @@ chip soc/intel/skylake
device pci 1f.2 on end # Power Management Controller
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/glados/variants/lars/devicetree.cb b/src/mainboard/google/glados/variants/lars/devicetree.cb
index 503cf5a58d..76e614d423 100644
--- a/src/mainboard/google/glados/variants/lars/devicetree.cb
+++ b/src/mainboard/google/glados/variants/lars/devicetree.cb
@@ -267,6 +267,7 @@ chip soc/intel/skylake
device pci 1f.2 on end # Power Management Controller
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B2)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/glados/variants/sentry/devicetree.cb b/src/mainboard/google/glados/variants/sentry/devicetree.cb
index 4c6bbf817a..3e2137bb58 100644
--- a/src/mainboard/google/glados/variants/sentry/devicetree.cb
+++ b/src/mainboard/google/glados/variants/sentry/devicetree.cb
@@ -290,6 +290,7 @@ chip soc/intel/skylake
device pci 1f.2 on end # Power Management Controller
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E3)"
register "device_present_gpio" = "GPP_E3"
register "device_present_gpio_invert" = "1"
diff --git a/src/mainboard/google/hatch/variants/akemi/overridetree.cb b/src/mainboard/google/hatch/variants/akemi/overridetree.cb
index d236cb0c94..27d11ccfb1 100644
--- a/src/mainboard/google/hatch/variants/akemi/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/akemi/overridetree.cb
@@ -236,6 +236,7 @@ chip soc/intel/cannonlake
device pci 1e.3 off end # GSPI #1
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/hatch/variants/dratini/overridetree.cb b/src/mainboard/google/hatch/variants/dratini/overridetree.cb
index 5c30a5a93f..0bd3d8ee93 100644
--- a/src/mainboard/google/hatch/variants/dratini/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/dratini/overridetree.cb
@@ -170,6 +170,7 @@ chip soc/intel/cannonlake
end # GSPI #1
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/hatch/variants/hatch/overridetree.cb b/src/mainboard/google/hatch/variants/hatch/overridetree.cb
index c623fde5ba..a92ef9b899 100644
--- a/src/mainboard/google/hatch/variants/hatch/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/hatch/overridetree.cb
@@ -178,6 +178,7 @@ chip soc/intel/cannonlake
end # GSPI #1
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/hatch/variants/helios_diskswap/overridetree.cb b/src/mainboard/google/hatch/variants/helios_diskswap/overridetree.cb
index 22534f32f9..8a3745d174 100644
--- a/src/mainboard/google/hatch/variants/helios_diskswap/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/helios_diskswap/overridetree.cb
@@ -207,6 +207,7 @@ chip soc/intel/cannonlake
end # GSPI #1
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/hatch/variants/jinlon/overridetree.cb b/src/mainboard/google/hatch/variants/jinlon/overridetree.cb
index f7ca7d5c39..7cf434dd91 100644
--- a/src/mainboard/google/hatch/variants/jinlon/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/jinlon/overridetree.cb
@@ -178,6 +178,7 @@ chip soc/intel/cannonlake
end # GSPI #1
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/hatch/variants/kindred/overridetree.cb b/src/mainboard/google/hatch/variants/kindred/overridetree.cb
index 5067991088..8afae3968b 100644
--- a/src/mainboard/google/hatch/variants/kindred/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/kindred/overridetree.cb
@@ -199,6 +199,7 @@ chip soc/intel/cannonlake
device pci 1e.3 off end # GSPI #1 unused
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/hatch/variants/kohaku/overridetree.cb b/src/mainboard/google/hatch/variants/kohaku/overridetree.cb
index ce8746932d..6a5ce7c004 100644
--- a/src/mainboard/google/hatch/variants/kohaku/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/kohaku/overridetree.cb
@@ -261,6 +261,7 @@ chip soc/intel/cannonlake
end # GSPI #1
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/hatch/variants/mushu/overridetree.cb b/src/mainboard/google/hatch/variants/mushu/overridetree.cb
index f50bab248d..0c8cb5369e 100644
--- a/src/mainboard/google/hatch/variants/mushu/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/mushu/overridetree.cb
@@ -193,6 +193,7 @@ chip soc/intel/cannonlake
end # GSPI #1
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/hatch/variants/nightfury/overridetree.cb b/src/mainboard/google/hatch/variants/nightfury/overridetree.cb
index 6dc3d9f9e1..a35e99df99 100644
--- a/src/mainboard/google/hatch/variants/nightfury/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/nightfury/overridetree.cb
@@ -255,6 +255,7 @@ chip soc/intel/cannonlake
device pci 1e.3 off end # GSPI #1
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/hatch/variants/palkia/overridetree.cb b/src/mainboard/google/hatch/variants/palkia/overridetree.cb
index 0792b9607d..bce58011d3 100644
--- a/src/mainboard/google/hatch/variants/palkia/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/palkia/overridetree.cb
@@ -183,6 +183,7 @@ chip soc/intel/cannonlake
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/hatch/variants/stryke/overridetree.cb b/src/mainboard/google/hatch/variants/stryke/overridetree.cb
index 796e589070..329efa3b2a 100644
--- a/src/mainboard/google/hatch/variants/stryke/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/stryke/overridetree.cb
@@ -212,6 +212,7 @@ chip soc/intel/cannonlake
device pci 1e.3 off end # GSPI #1
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/kahlee/variants/aleena/devicetree.cb b/src/mainboard/google/kahlee/variants/aleena/devicetree.cb
index cf0978fa5f..864e0cd92a 100644
--- a/src/mainboard/google/kahlee/variants/aleena/devicetree.cb
+++ b/src/mainboard/google/kahlee/variants/aleena/devicetree.cb
@@ -118,6 +118,7 @@ chip soc/amd/stoneyridge
device i2c 1a on end
end
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_119)"
register "sdmode_delay" = "5"
device generic 0.1 on end
diff --git a/src/mainboard/google/kahlee/variants/careena/devicetree.cb b/src/mainboard/google/kahlee/variants/careena/devicetree.cb
index ac07aa1e93..6c28d0ffc0 100644
--- a/src/mainboard/google/kahlee/variants/careena/devicetree.cb
+++ b/src/mainboard/google/kahlee/variants/careena/devicetree.cb
@@ -119,6 +119,7 @@ chip soc/amd/stoneyridge
device i2c 1a on end
end
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_119)"
register "sdmode_delay" = "5"
device generic 0.1 on end
diff --git a/src/mainboard/google/kahlee/variants/grunt/devicetree.cb b/src/mainboard/google/kahlee/variants/grunt/devicetree.cb
index 18053d782f..efa4066346 100644
--- a/src/mainboard/google/kahlee/variants/grunt/devicetree.cb
+++ b/src/mainboard/google/kahlee/variants/grunt/devicetree.cb
@@ -118,6 +118,7 @@ chip soc/amd/stoneyridge
device i2c 1a on end
end
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_119)"
register "sdmode_delay" = "5"
device generic 0.1 on end
diff --git a/src/mainboard/google/kahlee/variants/liara/devicetree.cb b/src/mainboard/google/kahlee/variants/liara/devicetree.cb
index 7dd34f3465..0983f7955e 100644
--- a/src/mainboard/google/kahlee/variants/liara/devicetree.cb
+++ b/src/mainboard/google/kahlee/variants/liara/devicetree.cb
@@ -118,6 +118,7 @@ chip soc/amd/stoneyridge
device i2c 1a on end
end
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_119)"
register "sdmode_delay" = "5"
device generic 0.1 on end
diff --git a/src/mainboard/google/kahlee/variants/nuwani/devicetree.cb b/src/mainboard/google/kahlee/variants/nuwani/devicetree.cb
index 6828d363c3..efe92f723e 100644
--- a/src/mainboard/google/kahlee/variants/nuwani/devicetree.cb
+++ b/src/mainboard/google/kahlee/variants/nuwani/devicetree.cb
@@ -121,6 +121,7 @@ chip soc/amd/stoneyridge
device i2c 1a on end
end
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_119)"
register "sdmode_delay" = "5"
device generic 0.1 on end
diff --git a/src/mainboard/google/kahlee/variants/treeya/devicetree.cb b/src/mainboard/google/kahlee/variants/treeya/devicetree.cb
index f92767ff27..efc384fea9 100644
--- a/src/mainboard/google/kahlee/variants/treeya/devicetree.cb
+++ b/src/mainboard/google/kahlee/variants/treeya/devicetree.cb
@@ -121,6 +121,7 @@ chip soc/amd/stoneyridge
device i2c 1a on end
end
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_119)"
register "sdmode_delay" = "5"
device generic 0.1 on end
diff --git a/src/mainboard/google/octopus/variants/baseboard/devicetree.cb b/src/mainboard/google/octopus/variants/baseboard/devicetree.cb
index 5404531c8f..9253f11372 100644
--- a/src/mainboard/google/octopus/variants/baseboard/devicetree.cb
+++ b/src/mainboard/google/octopus/variants/baseboard/devicetree.cb
@@ -122,6 +122,7 @@ chip soc/intel/apollolake
device pci 0d.3 on end # - Shared SRAM
device pci 0e.0 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_91)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/poppy/variants/nami/devicetree.cb b/src/mainboard/google/poppy/variants/nami/devicetree.cb
index 3d37eda207..1b3fdcc410 100644
--- a/src/mainboard/google/poppy/variants/nami/devicetree.cb
+++ b/src/mainboard/google/poppy/variants/nami/devicetree.cb
@@ -401,6 +401,7 @@ chip soc/intel/skylake
end # I2C #2
device pci 15.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A23)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/poppy/variants/nautilus/devicetree.cb b/src/mainboard/google/poppy/variants/nautilus/devicetree.cb
index ef5e8ad921..66ceb2d3ac 100644
--- a/src/mainboard/google/poppy/variants/nautilus/devicetree.cb
+++ b/src/mainboard/google/poppy/variants/nautilus/devicetree.cb
@@ -365,6 +365,7 @@ chip soc/intel/skylake
device pci 19.0 on end # UART #2
device pci 19.1 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A23)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/reef/variants/baseboard/devicetree.cb b/src/mainboard/google/reef/variants/baseboard/devicetree.cb
index da842ba6e6..cbc2e22d37 100644
--- a/src/mainboard/google/reef/variants/baseboard/devicetree.cb
+++ b/src/mainboard/google/reef/variants/baseboard/devicetree.cb
@@ -131,6 +131,7 @@ chip soc/intel/apollolake
device pci 0d.3 on end # - Shared SRAM
device pci 0e.0 on # - Audio
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_76)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/reef/variants/coral/devicetree.cb b/src/mainboard/google/reef/variants/coral/devicetree.cb
index 1608343d3c..00e63bc94c 100644
--- a/src/mainboard/google/reef/variants/coral/devicetree.cb
+++ b/src/mainboard/google/reef/variants/coral/devicetree.cb
@@ -131,6 +131,7 @@ chip soc/intel/apollolake
device pci 0d.3 on end # - Shared SRAM
device pci 0e.0 on # - Audio
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_76)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/reef/variants/pyro/devicetree.cb b/src/mainboard/google/reef/variants/pyro/devicetree.cb
index c2d67aa17e..f62af8a39a 100644
--- a/src/mainboard/google/reef/variants/pyro/devicetree.cb
+++ b/src/mainboard/google/reef/variants/pyro/devicetree.cb
@@ -140,6 +140,7 @@ chip soc/intel/apollolake
device pci 0d.3 on end # - Shared SRAM
device pci 0e.0 on # - Audio
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_76)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/reef/variants/sand/devicetree.cb b/src/mainboard/google/reef/variants/sand/devicetree.cb
index 68f33ae074..b62704a8f5 100644
--- a/src/mainboard/google/reef/variants/sand/devicetree.cb
+++ b/src/mainboard/google/reef/variants/sand/devicetree.cb
@@ -127,6 +127,7 @@ chip soc/intel/apollolake
device pci 0d.3 on end # - Shared SRAM
device pci 0e.0 on # - Audio
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_76)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/reef/variants/snappy/devicetree.cb b/src/mainboard/google/reef/variants/snappy/devicetree.cb
index aaf61de6ae..4edf739805 100644
--- a/src/mainboard/google/reef/variants/snappy/devicetree.cb
+++ b/src/mainboard/google/reef/variants/snappy/devicetree.cb
@@ -136,6 +136,7 @@ chip soc/intel/apollolake
device pci 0d.3 on end # - Shared SRAM
device pci 0e.0 on # - Audio
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_76)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/google/volteer/variants/baseboard/devicetree.cb b/src/mainboard/google/volteer/variants/baseboard/devicetree.cb
index 84d121f2b1..6be69fe2ee 100644
--- a/src/mainboard/google/volteer/variants/baseboard/devicetree.cb
+++ b/src/mainboard/google/volteer/variants/baseboard/devicetree.cb
@@ -363,6 +363,7 @@ chip soc/intel/tigerlake
device pci 1f.2 on end # PMC 0xA0A1
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_A10)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/intel/cannonlake_rvp/variants/cnl_y/devicetree.cb b/src/mainboard/intel/cannonlake_rvp/variants/cnl_y/devicetree.cb
index a6d329be82..53c677b64e 100644
--- a/src/mainboard/intel/cannonlake_rvp/variants/cnl_y/devicetree.cb
+++ b/src/mainboard/intel/cannonlake_rvp/variants/cnl_y/devicetree.cb
@@ -166,6 +166,7 @@ chip soc/intel/cannonlake
device pci 1f.2 on end # Power Management Controller
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_D16)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/intel/glkrvp/variants/baseboard/devicetree.cb b/src/mainboard/intel/glkrvp/variants/baseboard/devicetree.cb
index c5ad27dca6..361a4a30b8 100644
--- a/src/mainboard/intel/glkrvp/variants/baseboard/devicetree.cb
+++ b/src/mainboard/intel/glkrvp/variants/baseboard/devicetree.cb
@@ -112,6 +112,7 @@ chip soc/intel/apollolake
device pci 0d.3 on end # - Shared SRAM
device pci 0e.0 on # - Audio
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_160)"
register "sdmode_delay" = "5"
device generic 0 on end
diff --git a/src/mainboard/intel/kunimitsu/devicetree.cb b/src/mainboard/intel/kunimitsu/devicetree.cb
index ea3578550c..ab306149de 100644
--- a/src/mainboard/intel/kunimitsu/devicetree.cb
+++ b/src/mainboard/intel/kunimitsu/devicetree.cb
@@ -289,6 +289,7 @@ chip soc/intel/skylake
device pci 1f.2 on end # Power Management Controller
device pci 1f.3 on
chip drivers/generic/max98357a
+ register "hid" = ""MX98357A""
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E3)"
register "device_present_gpio" = "GPP_E3"
register "device_present_gpio_invert" = "1"