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>
This commit is contained in:
Edward O'Callaghan 2019-12-23 18:14:23 +11:00 committed by Edward O'Callaghan
parent 295fdbef39
commit b417786525
11 changed files with 71 additions and 7 deletions

View File

@ -233,6 +233,13 @@ chip soc/intel/cannonlake
end #I2C #4 end #I2C #4
device pci 1a.0 on end # eMMC device pci 1a.0 on end # eMMC
device pci 1e.3 off end # GSPI #1 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
end end

View File

@ -344,13 +344,7 @@ chip soc/intel/cannonlake
end # eSPI Interface end # eSPI Interface
device pci 1f.1 on end # P2SB device pci 1f.1 on end # P2SB
device pci 1f.2 on end # Power Management Controller device pci 1f.2 on end # Power Management Controller
device pci 1f.3 on device pci 1f.3 on end # Intel HDA
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.4 on end # SMBus device pci 1f.4 on end # SMBus
device pci 1f.5 on end # PCH SPI device pci 1f.5 on end # PCH SPI
device pci 1f.6 off end # GbE device pci 1f.6 off end # GbE

View File

@ -157,6 +157,13 @@ chip soc/intel/cannonlake
device spi 1 on end device spi 1 on end
end # FPMCU end # FPMCU
end # GSPI #1 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
end end

View File

@ -176,6 +176,13 @@ chip soc/intel/cannonlake
device spi 1 on end device spi 1 on end
end # FPMCU end # FPMCU
end # GSPI #1 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
end end

View File

@ -193,5 +193,12 @@ chip soc/intel/cannonlake
device spi 1 on end device spi 1 on end
end # FPMCU end # FPMCU
end # GSPI #1 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
end end

View File

@ -205,5 +205,12 @@ chip soc/intel/cannonlake
device spi 1 on end device spi 1 on end
end # FPMCU end # FPMCU
end # GSPI #1 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
end end

View File

@ -154,6 +154,13 @@ chip soc/intel/cannonlake
device spi 1 on end device spi 1 on end
end # FPMCU end # FPMCU
end # GSPI #1 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
end end

View File

@ -197,6 +197,13 @@ chip soc/intel/cannonlake
end #I2C #4 end #I2C #4
device pci 1a.0 on end # eMMC device pci 1a.0 on end # eMMC
device pci 1e.3 off end # GSPI #1 unused 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
end end

View File

@ -259,5 +259,12 @@ chip soc/intel/cannonlake
device spi 1 on end device spi 1 on end
end # FPMCU end # FPMCU
end # GSPI #1 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 # domain
end end

View File

@ -176,6 +176,13 @@ chip soc/intel/cannonlake
device spi 1 on end device spi 1 on end
end # FPMCU end # FPMCU
end # GSPI #1 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
end end

View File

@ -210,6 +210,13 @@ chip soc/intel/cannonlake
end end
end #I2C #4 end #I2C #4
device pci 1e.3 off end # GSPI #1 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
end end