summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward O'Callaghan <quasisec@google.com>2019-12-23 18:14:23 +1100
committerEdward O'Callaghan <quasisec@chromium.org>2019-12-24 00:08:42 +0000
commitb4177865254742fa7cb675a913a0c5c078cf5968 (patch)
tree35ddad88192de4bc8f25fc87f03b8c2849fd936e
parent295fdbef392e1ab6c8c7e4f0d7a9a01d95bb5bd5 (diff)
mainboard/google/hatch: Remove MAX98357A assumption from baseboard
Generally work towards a more loose baseboard definition by moving out some original assumptions to be board specifics. Specifically Puff does not have the MAX98357A speaker amp and enabling the driver winds up generating incorrect SSDT tables that confuse the kernel. Since devicetree inherits the chip from device node in base and an override will also inherit the chip and thus dispatch the unwanted fill_ssdt fn call. V.2: lean on linker to drop max98357a driver when not in dt. BRANCH=none BUG=b:146519004 TEST=./util/abuild/abuild -p none -t google/hatch -x -a Change-Id: I8e7fed69a4c6d9610ac100da6bae147828ebfa81 Signed-off-by: Edward O'Callaghan <quasisec@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/37909 Reviewed-by: Daniel Kurtz <djkurtz@google.com> Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/mainboard/google/hatch/variants/akemi/overridetree.cb7
-rw-r--r--src/mainboard/google/hatch/variants/baseboard/devicetree.cb8
-rw-r--r--src/mainboard/google/hatch/variants/dratini/overridetree.cb7
-rw-r--r--src/mainboard/google/hatch/variants/hatch/overridetree.cb7
-rw-r--r--src/mainboard/google/hatch/variants/helios/overridetree.cb7
-rw-r--r--src/mainboard/google/hatch/variants/helios_diskswap/overridetree.cb7
-rw-r--r--src/mainboard/google/hatch/variants/jinlon/overridetree.cb7
-rw-r--r--src/mainboard/google/hatch/variants/kindred/overridetree.cb7
-rw-r--r--src/mainboard/google/hatch/variants/kohaku/overridetree.cb7
-rw-r--r--src/mainboard/google/hatch/variants/mushu/overridetree.cb7
-rw-r--r--src/mainboard/google/hatch/variants/stryke/overridetree.cb7
11 files changed, 71 insertions, 7 deletions
diff --git a/src/mainboard/google/hatch/variants/akemi/overridetree.cb b/src/mainboard/google/hatch/variants/akemi/overridetree.cb
index de4a903993..9b0f5f7b60 100644
--- a/src/mainboard/google/hatch/variants/akemi/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/akemi/overridetree.cb
@@ -233,6 +233,13 @@ chip soc/intel/cannonlake
end #I2C #4
device pci 1a.0 on end # eMMC
device pci 1e.3 off end # GSPI #1
+ device pci 1f.3 on
+ chip drivers/generic/max98357a
+ register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
+ register "sdmode_delay" = "5"
+ device generic 0 on end
+ end
+ end # Intel HDA
end
end
diff --git a/src/mainboard/google/hatch/variants/baseboard/devicetree.cb b/src/mainboard/google/hatch/variants/baseboard/devicetree.cb
index 7382209264..d944dcd40f 100644
--- a/src/mainboard/google/hatch/variants/baseboard/devicetree.cb
+++ b/src/mainboard/google/hatch/variants/baseboard/devicetree.cb
@@ -344,13 +344,7 @@ chip soc/intel/cannonlake
end # eSPI Interface
device pci 1f.1 on end # P2SB
device pci 1f.2 on end # Power Management Controller
- device pci 1f.3 on
- chip drivers/generic/max98357a
- register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
- register "sdmode_delay" = "5"
- device generic 0 on end
- end
- end # Intel HDA
+ device pci 1f.3 on end # Intel HDA
device pci 1f.4 on end # SMBus
device pci 1f.5 on end # PCH SPI
device pci 1f.6 off end # GbE
diff --git a/src/mainboard/google/hatch/variants/dratini/overridetree.cb b/src/mainboard/google/hatch/variants/dratini/overridetree.cb
index 564a14d93c..c6a9ed70e3 100644
--- a/src/mainboard/google/hatch/variants/dratini/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/dratini/overridetree.cb
@@ -157,6 +157,13 @@ chip soc/intel/cannonlake
device spi 1 on end
end # FPMCU
end # GSPI #1
+ device pci 1f.3 on
+ chip drivers/generic/max98357a
+ register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
+ register "sdmode_delay" = "5"
+ device generic 0 on end
+ end
+ end # Intel HDA
end
end
diff --git a/src/mainboard/google/hatch/variants/hatch/overridetree.cb b/src/mainboard/google/hatch/variants/hatch/overridetree.cb
index 75c14efad5..c623fde5ba 100644
--- a/src/mainboard/google/hatch/variants/hatch/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/hatch/overridetree.cb
@@ -176,6 +176,13 @@ chip soc/intel/cannonlake
device spi 1 on end
end # FPMCU
end # GSPI #1
+ device pci 1f.3 on
+ chip drivers/generic/max98357a
+ register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
+ register "sdmode_delay" = "5"
+ device generic 0 on end
+ end
+ end # Intel HDA
end
end
diff --git a/src/mainboard/google/hatch/variants/helios/overridetree.cb b/src/mainboard/google/hatch/variants/helios/overridetree.cb
index 94639dcabe..cf86639d7a 100644
--- a/src/mainboard/google/hatch/variants/helios/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/helios/overridetree.cb
@@ -193,5 +193,12 @@ chip soc/intel/cannonlake
device spi 1 on end
end # FPMCU
end # GSPI #1
+ device pci 1f.3 on
+ chip drivers/generic/max98357a
+ register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
+ register "sdmode_delay" = "5"
+ device generic 0 on end
+ end
+ end # Intel HDA
end
end
diff --git a/src/mainboard/google/hatch/variants/helios_diskswap/overridetree.cb b/src/mainboard/google/hatch/variants/helios_diskswap/overridetree.cb
index 3bbf232a93..22534f32f9 100644
--- a/src/mainboard/google/hatch/variants/helios_diskswap/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/helios_diskswap/overridetree.cb
@@ -205,5 +205,12 @@ chip soc/intel/cannonlake
device spi 1 on end
end # FPMCU
end # GSPI #1
+ device pci 1f.3 on
+ chip drivers/generic/max98357a
+ register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
+ register "sdmode_delay" = "5"
+ device generic 0 on end
+ end
+ end # Intel HDA
end
end
diff --git a/src/mainboard/google/hatch/variants/jinlon/overridetree.cb b/src/mainboard/google/hatch/variants/jinlon/overridetree.cb
index 28b18b8b7f..fd2861e5f6 100644
--- a/src/mainboard/google/hatch/variants/jinlon/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/jinlon/overridetree.cb
@@ -154,6 +154,13 @@ chip soc/intel/cannonlake
device spi 1 on end
end # FPMCU
end # GSPI #1
+ device pci 1f.3 on
+ chip drivers/generic/max98357a
+ register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
+ register "sdmode_delay" = "5"
+ device generic 0 on end
+ end
+ end # Intel HDA
end
end
diff --git a/src/mainboard/google/hatch/variants/kindred/overridetree.cb b/src/mainboard/google/hatch/variants/kindred/overridetree.cb
index a000add5b0..5067991088 100644
--- a/src/mainboard/google/hatch/variants/kindred/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/kindred/overridetree.cb
@@ -197,6 +197,13 @@ chip soc/intel/cannonlake
end #I2C #4
device pci 1a.0 on end # eMMC
device pci 1e.3 off end # GSPI #1 unused
+ device pci 1f.3 on
+ chip drivers/generic/max98357a
+ register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
+ register "sdmode_delay" = "5"
+ device generic 0 on end
+ end
+ end # Intel HDA
end
end
diff --git a/src/mainboard/google/hatch/variants/kohaku/overridetree.cb b/src/mainboard/google/hatch/variants/kohaku/overridetree.cb
index cd5ce0e816..158731b8e7 100644
--- a/src/mainboard/google/hatch/variants/kohaku/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/kohaku/overridetree.cb
@@ -259,5 +259,12 @@ chip soc/intel/cannonlake
device spi 1 on end
end # FPMCU
end # GSPI #1
+ device pci 1f.3 on
+ chip drivers/generic/max98357a
+ register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
+ register "sdmode_delay" = "5"
+ device generic 0 on end
+ end
+ end # Intel HDA
end # domain
end
diff --git a/src/mainboard/google/hatch/variants/mushu/overridetree.cb b/src/mainboard/google/hatch/variants/mushu/overridetree.cb
index 75c14efad5..c623fde5ba 100644
--- a/src/mainboard/google/hatch/variants/mushu/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/mushu/overridetree.cb
@@ -176,6 +176,13 @@ chip soc/intel/cannonlake
device spi 1 on end
end # FPMCU
end # GSPI #1
+ device pci 1f.3 on
+ chip drivers/generic/max98357a
+ register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
+ register "sdmode_delay" = "5"
+ device generic 0 on end
+ end
+ end # Intel HDA
end
end
diff --git a/src/mainboard/google/hatch/variants/stryke/overridetree.cb b/src/mainboard/google/hatch/variants/stryke/overridetree.cb
index e04a2e7d11..796e589070 100644
--- a/src/mainboard/google/hatch/variants/stryke/overridetree.cb
+++ b/src/mainboard/google/hatch/variants/stryke/overridetree.cb
@@ -210,6 +210,13 @@ chip soc/intel/cannonlake
end
end #I2C #4
device pci 1e.3 off end # GSPI #1
+ device pci 1f.3 on
+ chip drivers/generic/max98357a
+ register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_H3)"
+ register "sdmode_delay" = "5"
+ device generic 0 on end
+ end
+ end # Intel HDA
end
end