From 1497ae045104145de677fd151da4de6e92be4e5a Mon Sep 17 00:00:00 2001 From: Nicholas Chin Date: Wed, 19 Apr 2023 22:15:06 -0600 Subject: Fix GRUB handling of the E6400 keyboard This introduces a patch to grub which disables the coreboot specific handling, allowing PS/2 keyboards to be handled the same as i386-pc. However this alone breaks the keyboard in Linux, requiring coreboot to perform PS/2 initialization. I think GRUB may be restoring the original configuration of the PS/2 controller once it exits, and if coreboot doesn't initialize the controller then it's restored to the default state which Linux doesn't seem to like. I think the emulated keyboard interface provided by the EC on the E6400 behaves in a non-standard way that is incompatible with the old coreboot specific handling. --- resources/coreboot/e6400_8mb/config/libgfxinit_corebootfb | 15 ++++++++++----- resources/coreboot/e6400_8mb/config/libgfxinit_txtmode | 15 ++++++++++----- 2 files changed, 20 insertions(+), 10 deletions(-) (limited to 'resources/coreboot/e6400_8mb') diff --git a/resources/coreboot/e6400_8mb/config/libgfxinit_corebootfb b/resources/coreboot/e6400_8mb/config/libgfxinit_corebootfb index 7fe58c05..7a3b4b55 100644 --- a/resources/coreboot/e6400_8mb/config/libgfxinit_corebootfb +++ b/resources/coreboot/e6400_8mb/config/libgfxinit_corebootfb @@ -145,6 +145,7 @@ CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y CONFIG_SPI_FLASH_WINBOND=y # CONFIG_DRIVERS_INTEL_WIFI is not set CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +CONFIG_CARDBUS_PLUGIN_SUPPORT=y CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="Latitude E6400" # CONFIG_HAVE_IFD_BIN is not set CONFIG_PCIEXP_HOTPLUG_BUSES=8 @@ -154,6 +155,7 @@ CONFIG_PS2K_EISAID="PNP0303" CONFIG_PS2M_EISAID="PNP0F13" CONFIG_GFX_GMA_PANEL_1_PORT="LVDS" # CONFIG_DEBUG_SMI is not set +# CONFIG_PCIEXP_ASPM is not set # CONFIG_PCIEXP_L1_SUB_STATE is not set # CONFIG_PCIEXP_CLK_PM is not set # CONFIG_DRIVERS_UART_8250IO is not set @@ -198,8 +200,8 @@ CONFIG_ROMSTAGE_ADDR=0x2000000 CONFIG_VERSTAGE_ADDR=0x2000000 CONFIG_SMM_RESERVED_SIZE=0x100000 CONFIG_SMM_MODULE_STACK_SIZE=0x400 -CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X" CONFIG_EHCI_BAR=0xfef00000 +CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X" CONFIG_STACK_SIZE=0x2000 CONFIG_VBT_DATA_SIZE_KB=8 CONFIG_INTEL_GMA_BCLV_OFFSET=0x61254 @@ -210,7 +212,6 @@ CONFIG_BOOTBLOCK_IN_CBFS=y CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000 CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000 CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000 -# CONFIG_PCIEXP_ASPM is not set # CONFIG_PCIEXP_COMMON_CLOCK is not set CONFIG_FIXED_SMBUS_IO_BASE=0x400 CONFIG_HPET_MIN_TICKS=0x80 @@ -239,10 +240,10 @@ CONFIG_UDELAY_TSC=y CONFIG_TSC_MONOTONIC_TIMER=y CONFIG_TSC_SYNC_MFENCE=y CONFIG_SETUP_XIP_CACHE=y -CONFIG_LOGICAL_CPUS=y CONFIG_HAVE_SMI_HANDLER=y CONFIG_SMM_TSEG=y CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8 CONFIG_AP_STACK_SIZE=0x800 CONFIG_SMP=y CONFIG_MMX=y @@ -343,7 +344,6 @@ CONFIG_LINEAR_FRAMEBUFFER=y CONFIG_PCI=y CONFIG_ECAM_MMCONF_SUPPORT=y CONFIG_PCIX_PLUGIN_SUPPORT=y -CONFIG_CARDBUS_PLUGIN_SUPPORT=y CONFIG_AZALIA_PLUGIN_SUPPORT=y CONFIG_PCIEXP_PLUGIN_SUPPORT=y CONFIG_ECAM_MMCONF_LENGTH=0x04000000 @@ -415,7 +415,7 @@ CONFIG_GFX_GMA_PCH="No_PCH" CONFIG_GFX_GMA_PANEL_2_PORT="Disabled" CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC" # CONFIG_DRIVERS_NXP_UWB_SR1XX is not set -# CONFIG_DRIVERS_PS2_KEYBOARD is not set +CONFIG_DRIVERS_PS2_KEYBOARD=y CONFIG_DRIVERS_MC146818=y # CONFIG_USE_PC_CMOS_ALTCENTURY is not set CONFIG_VGA=y @@ -441,6 +441,10 @@ CONFIG_VGA=y # Trusted Platform Module # CONFIG_NO_TPM=y +CONFIG_PCR_BOOT_MODE=1 +CONFIG_PCR_HWID=1 +CONFIG_PCR_SRTM=2 +CONFIG_PCR_RUNTIME_DATA=3 # end of Trusted Platform Module # @@ -460,6 +464,7 @@ CONFIG_BOOTMEDIA_LOCK_NONE=y CONFIG_ACPI_HAVE_PCAT_8259=y CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y CONFIG_ACPI_SOC_NVS=y +CONFIG_ACPI_COMMON_MADT_LAPIC=y CONFIG_HAVE_ACPI_TABLES=y CONFIG_BOOT_DEVICE_SPI_FLASH=y CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y diff --git a/resources/coreboot/e6400_8mb/config/libgfxinit_txtmode b/resources/coreboot/e6400_8mb/config/libgfxinit_txtmode index 758b5bc5..caf7467c 100644 --- a/resources/coreboot/e6400_8mb/config/libgfxinit_txtmode +++ b/resources/coreboot/e6400_8mb/config/libgfxinit_txtmode @@ -143,6 +143,7 @@ CONFIG_SPI_FLASH_INCLUDE_ALL_DRIVERS=y CONFIG_SPI_FLASH_WINBOND=y # CONFIG_DRIVERS_INTEL_WIFI is not set CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x20000 +CONFIG_CARDBUS_PLUGIN_SUPPORT=y CONFIG_MAINBOARD_SMBIOS_PRODUCT_NAME="Latitude E6400" # CONFIG_HAVE_IFD_BIN is not set CONFIG_PCIEXP_HOTPLUG_BUSES=8 @@ -152,6 +153,7 @@ CONFIG_PS2K_EISAID="PNP0303" CONFIG_PS2M_EISAID="PNP0F13" CONFIG_GFX_GMA_PANEL_1_PORT="LVDS" # CONFIG_DEBUG_SMI is not set +# CONFIG_PCIEXP_ASPM is not set # CONFIG_PCIEXP_L1_SUB_STATE is not set # CONFIG_PCIEXP_CLK_PM is not set # CONFIG_DRIVERS_UART_8250IO is not set @@ -196,8 +198,8 @@ CONFIG_ROMSTAGE_ADDR=0x2000000 CONFIG_VERSTAGE_ADDR=0x2000000 CONFIG_SMM_RESERVED_SIZE=0x100000 CONFIG_SMM_MODULE_STACK_SIZE=0x400 -CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X" CONFIG_EHCI_BAR=0xfef00000 +CONFIG_ACPI_CPU_STRING="\\_SB.CP%02X" CONFIG_STACK_SIZE=0x2000 CONFIG_VBT_DATA_SIZE_KB=8 CONFIG_INTEL_GMA_BCLV_OFFSET=0x61254 @@ -208,7 +210,6 @@ CONFIG_BOOTBLOCK_IN_CBFS=y CONFIG_FIXED_MCHBAR_MMIO_BASE=0xfed14000 CONFIG_FIXED_DMIBAR_MMIO_BASE=0xfed18000 CONFIG_FIXED_EPBAR_MMIO_BASE=0xfed19000 -# CONFIG_PCIEXP_ASPM is not set # CONFIG_PCIEXP_COMMON_CLOCK is not set CONFIG_FIXED_SMBUS_IO_BASE=0x400 CONFIG_HPET_MIN_TICKS=0x80 @@ -237,10 +238,10 @@ CONFIG_UDELAY_TSC=y CONFIG_TSC_MONOTONIC_TIMER=y CONFIG_TSC_SYNC_MFENCE=y CONFIG_SETUP_XIP_CACHE=y -CONFIG_LOGICAL_CPUS=y CONFIG_HAVE_SMI_HANDLER=y CONFIG_SMM_TSEG=y CONFIG_SMM_LAPIC_REMAP_MITIGATION=y +CONFIG_SMM_PCI_RESOURCE_STORE_NUM_SLOTS=8 CONFIG_AP_STACK_SIZE=0x800 CONFIG_SMP=y CONFIG_MMX=y @@ -339,7 +340,6 @@ CONFIG_VGA_TEXT_FRAMEBUFFER=y CONFIG_PCI=y CONFIG_ECAM_MMCONF_SUPPORT=y CONFIG_PCIX_PLUGIN_SUPPORT=y -CONFIG_CARDBUS_PLUGIN_SUPPORT=y CONFIG_AZALIA_PLUGIN_SUPPORT=y CONFIG_PCIEXP_PLUGIN_SUPPORT=y CONFIG_ECAM_MMCONF_LENGTH=0x04000000 @@ -411,7 +411,7 @@ CONFIG_GFX_GMA_PCH="No_PCH" CONFIG_GFX_GMA_PANEL_2_PORT="Disabled" CONFIG_GFX_GMA_ANALOG_I2C_PORT="PCH_DAC" # CONFIG_DRIVERS_NXP_UWB_SR1XX is not set -# CONFIG_DRIVERS_PS2_KEYBOARD is not set +CONFIG_DRIVERS_PS2_KEYBOARD=y CONFIG_DRIVERS_MC146818=y # CONFIG_USE_PC_CMOS_ALTCENTURY is not set CONFIG_VGA=y @@ -437,6 +437,10 @@ CONFIG_VGA=y # Trusted Platform Module # CONFIG_NO_TPM=y +CONFIG_PCR_BOOT_MODE=1 +CONFIG_PCR_HWID=1 +CONFIG_PCR_SRTM=2 +CONFIG_PCR_RUNTIME_DATA=3 # end of Trusted Platform Module # @@ -456,6 +460,7 @@ CONFIG_BOOTMEDIA_LOCK_NONE=y CONFIG_ACPI_HAVE_PCAT_8259=y CONFIG_ACPI_INTEL_HARDWARE_SLEEP_VALUES=y CONFIG_ACPI_SOC_NVS=y +CONFIG_ACPI_COMMON_MADT_LAPIC=y CONFIG_HAVE_ACPI_TABLES=y CONFIG_BOOT_DEVICE_SPI_FLASH=y CONFIG_BOOT_DEVICE_MEMORY_MAPPED=y -- cgit v1.2.1