diff --git a/src/mainboard/google/fatcat/Kconfig b/src/mainboard/google/fatcat/Kconfig index d66905ab67..b38a4e90b9 100644 --- a/src/mainboard/google/fatcat/Kconfig +++ b/src/mainboard/google/fatcat/Kconfig @@ -147,6 +147,7 @@ config BOARD_GOOGLE_LAPIS config BOARD_GOOGLE_MOONSTONE select BOARD_GOOGLE_BASEBOARD_FATCAT select DRIVERS_SOUNDWIRE_ALC1320 + select EC_GOOGLE_CHROMEEC_FW_CONFIG_FROM_UFSC select FSP_UGOP_EARLY_SIGN_OF_LIFE select HAVE_SLP_S0_GATE select MAINBOARD_HAS_GOOGLE_STRAUSS_KEYBOARD diff --git a/src/mainboard/google/fatcat/variants/moonstone/fw_config.c b/src/mainboard/google/fatcat/variants/moonstone/fw_config.c index 22168413ba..baff0bd640 100644 --- a/src/mainboard/google/fatcat/variants/moonstone/fw_config.c +++ b/src/mainboard/google/fatcat/variants/moonstone/fw_config.c @@ -77,17 +77,6 @@ static const struct pad_config pre_mem_fp_spi_enable_pads[] = { PAD_CFG_GPO(GPP_C15, 0, DEEP), }; -static const struct pad_config touchscreen_disable_pads[] = { - /* GPP_F08: EN_TCHSCR_PWR => NC */ - PAD_NC(GPP_F08, NONE), - /* GPP_F16: TCHSCR_RST_L => NC */ - PAD_NC(GPP_F16, NONE), - /* GPP_F18: TCHSCR_INT_L => NC */ - PAD_NC(GPP_F18, NONE), - /* GPP_E05: TCHSCR_RPT_EN => NC */ - PAD_NC(GPP_E05, NONE), -}; - void fw_config_configure_pre_mem_gpio(void) { if (!fw_config_is_provisioned()) { @@ -95,7 +84,7 @@ void fw_config_configure_pre_mem_gpio(void) return; } - if (fw_config_probe(FW_CONFIG(FPMCU, FP_SPI))) + if (fw_config_probe(FW_CONFIG(FINGERPRINT_INTERFACE, FINGERPRINT_INTERFACE_SPI))) GPIO_CONFIGURE_PADS(pre_mem_fp_spi_enable_pads); } @@ -113,7 +102,7 @@ void fw_config_gpio_padbased_override(struct pad_config *padbased_table) *| FPMCU | GSPI0 | usb2_port6 | *+-------+--------+-------------+ */ - if (fw_config_probe(FW_CONFIG(FPMCU, FP_SPI))) { + if (fw_config_probe(FW_CONFIG(FINGERPRINT_INTERFACE, FINGERPRINT_INTERFACE_SPI))) { GPIO_PADBASED_OVERRIDE(padbased_table, fp_spi_enable_pads); } else { GPIO_PADBASED_OVERRIDE(padbased_table, fp_spi_disable_pads); @@ -121,10 +110,10 @@ void fw_config_gpio_padbased_override(struct pad_config *padbased_table) /* Probe fw_config : "IO_PORT" to reconfigure port settings accordingly. * proto0 : IO_PORT => "USB2A2C_HDMI:0" * porot1.5: IO_PORT => "USB3C:1" - * +-----------------+------------------+------------------+ + *+-----------------+------------------+------------------+ *| IO_PORT | USB2A2C_HDMI | USB3C | *+-----------------+------------------+------------------+ - *| tcss_usb3_port0 | USB4_C0 (MB-TBT) | USB4_C0 (MB-TBT) | + *| tcss_usb3_port0 | USB4_C0 (MB-TBT) | USB4_C0 (MB) | *+-----------------+------------------+------------------+ *| tcss_usb3_port1 | N/A | USB3.2 C2 (DB) | *+-----------------+------------------+------------------+ @@ -141,11 +130,8 @@ void fw_config_gpio_padbased_override(struct pad_config *padbased_table) *| usb2_port6 | USB2_A1 | USB_FP | *+-----------------+------------------+------------------+ */ - if (fw_config_probe(FW_CONFIG(IO_PORT, USB3C))) + if (fw_config_probe(FW_CONFIG(AP_OEM_2BIT_FIELD0, IO_BOARD_USB3C))) GPIO_PADBASED_OVERRIDE(padbased_table, use_usb3c_enable_pads); else GPIO_PADBASED_OVERRIDE(padbased_table, use_usb2a2c_hdmi_enable_pads); - - if (fw_config_probe(FW_CONFIG(TOUCH_SCREEN, ABSENCE))) - GPIO_PADBASED_OVERRIDE(padbased_table, touchscreen_disable_pads); } diff --git a/src/mainboard/google/fatcat/variants/moonstone/overridetree.cb b/src/mainboard/google/fatcat/variants/moonstone/overridetree.cb index 8f02787cb2..17d461248c 100644 --- a/src/mainboard/google/fatcat/variants/moonstone/overridetree.cb +++ b/src/mainboard/google/fatcat/variants/moonstone/overridetree.cb @@ -1,24 +1,45 @@ fw_config - field WIFI 2 2 - option WIFI_CNVI_7 0 + field AUDIO_CODEC 0 2 + option AUDIO_CODEC_UNKNOWN 0 + option AUDIO_CODEC_ALC721 1 end - field AUDIO 3 5 - option AUDIO_UNKNOWN 0 - option AUDIO_ALC721_SNDW 1 - option AUDIO_ALC1320_ALC721_SNDW 2 + field AUDIO_AMPLIFIER 3 5 + option AUDIO_AMPLIFIER_UNKNOWN 0 + option AUDIO_AMPLIFIER_ALC1320 1 end - field FPMCU 6 7 - option FP_ABSENT 0 - option FP_SPI 1 - option FP_USB 2 + field STORAGE_TYPE 12 14 + option STORAGE_TYPE_UNKNOWN 0 + option STORAGE_TYPE_NVME_GEN4 1 end - field IO_PORT 12 12 - option USB2A2C_HDMI 0 - option USB3C 1 + field SENSOR_HUB_PRESENT 23 23 + option ISH_ABSENT 0 + option ISH_PRESENT 1 end - field TOUCH_SCREEN 13 13 - option ABSENCE 0 - option PRESENCE 1 + field FINGERPRINT_INTERFACE 24 25 + option FINGERPRINT_INTERFACE_UNKNOWN 0 + option FINGERPRINT_INTERFACE_SPI 1 + option FINGERPRINT_INTERFACE_USB 2 + end + field WIFI_INTERFACE 26 27 + option WIFI_INTERFACE_UNKNOWN 0 + option WIFI_INTERFACE_CNVI 1 + end + field FORM_FACTOR 30 31 + option FORM_FACTOR_UNKNOWN 0 + option FORM_FACTOR_CLAMSHELL 1 + option FORM_FACTOR_CONVERTIBLE 2 + end + field KB_BACKLIGHT_PRESENT 43 43 + option KB_BACKLIGHT_ABSENT 0 + option KB_BACKLIGHT_PRESENT 1 + end + field KEYBOARD_LAYOUT 45 47 + option KEYBOARD_LAYOUT_DEFAULT 0 + option KEYBOARD_LAYOUT_CA_FR 1 + end + field AP_OEM_2BIT_FIELD0 59 60 + option IO_BOARD_USB2A2C_HDMI 0 + option IO_BOARD_USB3C 1 end end @@ -222,9 +243,11 @@ chip soc/intel/pantherlake device ref iaa off end device ref tbt_pcie_rp2 on - probe IO_PORT USB2A2C_HDMI + probe AP_OEM_2BIT_FIELD0 IO_BOARD_USB2A2C_HDMI + end + device ref tbt_pcie_rp3 on + probe AP_OEM_2BIT_FIELD0 IO_BOARD_USB3C end - device ref tbt_pcie_rp3 on end device ref tcss_xhci on chip drivers/usb/acpi device ref tcss_root_hub on @@ -239,7 +262,7 @@ chip soc/intel/pantherlake register "type" = "UPC_TYPE_C_USB2_SS_SWITCH" register "group" = "ACPI_PLD_GROUP(3, 2)" device ref tcss_usb3_port1 on - probe IO_PORT USB3C + probe AP_OEM_2BIT_FIELD0 IO_BOARD_USB3C end end chip drivers/usb/acpi @@ -247,7 +270,7 @@ chip soc/intel/pantherlake register "type" = "UPC_TYPE_C_USB2_SS_SWITCH" register "group" = "ACPI_PLD_GROUP(2, 2)" device ref tcss_usb3_port2 on - probe IO_PORT USB2A2C_HDMI + probe AP_OEM_2BIT_FIELD0 IO_BOARD_USB2A2C_HDMI end end chip drivers/usb/acpi @@ -255,7 +278,7 @@ chip soc/intel/pantherlake register "type" = "UPC_TYPE_C_USB2_SS_SWITCH" register "group" = "ACPI_PLD_GROUP(2, 2)" device ref tcss_usb3_port3 on - probe IO_PORT USB3C + probe AP_OEM_2BIT_FIELD0 IO_BOARD_USB3C end end end @@ -267,14 +290,14 @@ chip soc/intel/pantherlake register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B21)" use tcss_usb3_port2 as dfp[0].typec_port device generic 0 on - probe IO_PORT USB2A2C_HDMI + probe AP_OEM_2BIT_FIELD0 IO_BOARD_USB2A2C_HDMI end end chip drivers/intel/usb4/retimer register "dfp[0].power_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_B21)" use tcss_usb3_port3 as dfp[0].typec_port device generic 0 on - probe IO_PORT USB3C + probe AP_OEM_2BIT_FIELD0 IO_BOARD_USB3C end end end @@ -306,7 +329,7 @@ chip soc/intel/pantherlake register "type" = "UPC_TYPE_C_USB2_SS_SWITCH" register "group" = "ACPI_PLD_GROUP(3, 1)" device ref usb2_port5 on - probe IO_PORT USB3C + probe AP_OEM_2BIT_FIELD0 IO_BOARD_USB3C end end chip drivers/usb/acpi @@ -321,7 +344,7 @@ chip soc/intel/pantherlake register "type" = "UPC_TYPE_A" register "group" = "ACPI_PLD_GROUP(3, 1)" device ref usb2_port5 on - probe IO_PORT USB2A2C_HDMI + probe AP_OEM_2BIT_FIELD0 IO_BOARD_USB2A2C_HDMI end end chip drivers/usb/acpi @@ -329,7 +352,7 @@ chip soc/intel/pantherlake register "type" = "UPC_TYPE_A" register "group" = "ACPI_PLD_GROUP(4, 1)" device ref usb2_port6 on - probe IO_PORT USB2A2C_HDMI + probe AP_OEM_2BIT_FIELD0 IO_BOARD_USB2A2C_HDMI end end chip drivers/usb/acpi @@ -338,7 +361,7 @@ chip soc/intel/pantherlake register "has_power_resource" = "true" register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E19)" device ref usb2_port6 on - probe FPMCU FP_USB + probe FINGERPRINT_INTERFACE FINGERPRINT_INTERFACE_USB end end chip drivers/usb/acpi @@ -346,7 +369,7 @@ chip soc/intel/pantherlake register "type" = "UPC_TYPE_USB3_A" register "group" = "ACPI_PLD_GROUP(3, 2)" device ref usb3_port1 on - probe IO_PORT USB2A2C_HDMI + probe AP_OEM_2BIT_FIELD0 IO_BOARD_USB2A2C_HDMI end end chip drivers/usb/acpi @@ -354,7 +377,7 @@ chip soc/intel/pantherlake register "type" = "UPC_TYPE_USB3_A" register "group" = "ACPI_PLD_GROUP(4, 2)" device ref usb3_port2 on - probe IO_PORT USB2A2C_HDMI + probe AP_OEM_2BIT_FIELD0 IO_BOARD_USB2A2C_HDMI end end end @@ -432,7 +455,6 @@ chip soc/intel/pantherlake end end # I2C4 device ref i2c5 on - probe TOUCH_SCREEN PRESENCE chip drivers/i2c/hid register "generic.hid" = ""ELAN9004"" register "generic.desc" = ""ELAN Touchscreen"" @@ -467,7 +489,7 @@ chip soc/intel/pantherlake end end # I2C5 device ref gspi0 on - probe FPMCU FP_SPI + probe FINGERPRINT_INTERFACE FINGERPRINT_INTERFACE_SPI chip drivers/spi/acpi register "name" = ""CRFP"" register "hid" = "ACPI_DT_NAMESPACE_HID" @@ -481,15 +503,15 @@ chip soc/intel/pantherlake register "enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E19)" register "enable_delay_ms" = "3" device spi 0 on - probe FPMCU FP_SPI + probe FINGERPRINT_INTERFACE FINGERPRINT_INTERFACE_SPI end end end device ref smbus on end device ref hda on - probe AUDIO AUDIO_ALC721_SNDW - probe AUDIO AUDIO_ALC1320_ALC721_SNDW + probe AUDIO_CODEC AUDIO_CODEC_ALC721 + probe AUDIO_AMPLIFIER AUDIO_AMPLIFIER_ALC1320 chip drivers/intel/soundwire device generic 0 on chip drivers/soundwire/alc711 @@ -500,8 +522,8 @@ chip soc/intel/pantherlake register "disable_clkstop_sm_support" = "true" # SoundWire Link 3 ID 1 device generic 3.1 on - probe AUDIO AUDIO_ALC721_SNDW - probe AUDIO AUDIO_ALC1320_ALC721_SNDW + probe AUDIO_CODEC AUDIO_CODEC_ALC721 + probe AUDIO_AMPLIFIER AUDIO_AMPLIFIER_ALC1320 end end chip drivers/soundwire/alc1320 @@ -511,7 +533,7 @@ chip soc/intel/pantherlake register "alc1320_address.part_id" = "MIPI_DEV_ID_REALTEK_ALC1320" # SoundWire Link 3 ID 2 device generic 3.2 on - probe AUDIO AUDIO_ALC1320_ALC721_SNDW + probe AUDIO_AMPLIFIER AUDIO_AMPLIFIER_ALC1320 end # ALC1320 Smart Amp end end diff --git a/src/mainboard/google/fatcat/variants/moonstone/variant.c b/src/mainboard/google/fatcat/variants/moonstone/variant.c index bf159c7e76..17ce4d2c2f 100644 --- a/src/mainboard/google/fatcat/variants/moonstone/variant.c +++ b/src/mainboard/google/fatcat/variants/moonstone/variant.c @@ -8,7 +8,7 @@ const char *get_wifi_sar_cbfs_filename(void) { - return get_wifi_sar_fw_config_filename(FW_CONFIG_FIELD(WIFI)); + return get_wifi_sar_fw_config_filename(FW_CONFIG_FIELD(WIFI_INTERFACE)); } void variant_update_soc_chip_config(struct soc_intel_pantherlake_config *config) @@ -20,7 +20,7 @@ void variant_update_soc_chip_config(struct soc_intel_pantherlake_config *config) *| FPMCU | GSPI0 | usb2_port6 | *+-------+--------+-------------+ */ - if (fw_config_probe(FW_CONFIG(FPMCU, FP_USB))) { + if (fw_config_probe(FW_CONFIG(FINGERPRINT_INTERFACE, FINGERPRINT_INTERFACE_USB))) { printk(BIOS_INFO, "Disable GSPI\n"); config->serial_io_gspi_mode[PchSerialIoIndexGSPI0] = PchSerialIoDisabled; printk(BIOS_INFO, "usb2_port6 to FP\n"); @@ -29,10 +29,10 @@ void variant_update_soc_chip_config(struct soc_intel_pantherlake_config *config) /* Probe fw_config : "IO_PORT" to reconfigure port settings accordingly. * proto0 : IO_PORT => "USB2A2C_HDMI:0" * porot1.5: IO_PORT => "USB3C:1" - * +-----------------+------------------+------------------+ + *+-----------------+------------------+------------------+ *| IO_PORT | USB2A2C_HDMI | USB3C | *+-----------------+------------------+------------------+ - *| tcss_usb3_port0 | USB4_C0 (MB-TBT) | USB4_C0 (MB-TBT) | + *| tcss_usb3_port0 | USB4_C0 (MB-TBT) | USB4_C0 (MB) | *+-----------------+------------------+------------------+ *| tcss_usb3_port1 | N/A | USB3.2 C2 (DB) | *+-----------------+------------------+------------------+ @@ -50,7 +50,7 @@ void variant_update_soc_chip_config(struct soc_intel_pantherlake_config *config) *+-----------------+------------------+------------------+ */ - if (fw_config_probe(FW_CONFIG(IO_PORT, USB3C))) { + if (fw_config_probe(FW_CONFIG(AP_OEM_2BIT_FIELD0, IO_BOARD_USB3C))) { printk(BIOS_INFO, "Disable Type-A Port A0/A1\n"); config->usb3_ports[0] = (struct usb3_port_config) USB3_PORT_EMPTY; config->usb3_ports[1] = (struct usb3_port_config) USB3_PORT_EMPTY;