diff --git a/src/mainboard/google/fatcat/variants/fatcat/overridetree.cb b/src/mainboard/google/fatcat/variants/fatcat/overridetree.cb index bc0b9e26a3..741b5a46c8 100644 --- a/src/mainboard/google/fatcat/variants/fatcat/overridetree.cb +++ b/src/mainboard/google/fatcat/variants/fatcat/overridetree.cb @@ -77,7 +77,7 @@ chip soc/intel/pantherlake register "usb2_ports[3]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C3 register "usb2_ports[4]" = "USB2_PORT_MID(OC0)" # Type-A Port A0 register "usb2_ports[5]" = "USB2_PORT_MID(OC0)" # Type-A Port A1 / WWAN with rework - register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # CNVi BT or discrete BT + register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Discrete Bluetooth register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC0)" # USB3.2 x1 Type-A Con #1 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC0)" # USB3.2 x1 Type-A Con #2 / M.2 WWAN with rework @@ -444,7 +444,10 @@ chip soc/intel/pantherlake register "desc" = ""USB2 Bluetooth"" register "type" = "UPC_TYPE_INTERNAL" register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A16)" - device ref usb2_port8 on end + device ref usb2_port8 on + probe WIFI WIFI_PCIE_6 + probe WIFI WIFI_PCIE_7 + end end chip drivers/usb/acpi register "desc" = ""USB3 Type-A Port 1"" @@ -570,9 +573,16 @@ chip soc/intel/pantherlake register "wake" = "GPE0_PME_B0" register "add_acpi_dma_property" = "true" register "enable_cnvi_ddr_rfim" = "true" + use cnvi_bluetooth as bluetooth_companion device generic 0 on end end end # CNVi + + device ref cnvi_bluetooth on + probe WIFI WIFI_CNVI_6 + probe WIFI WIFI_CNVI_7 + end + # NOTE: i2c0 is function 0; hence it needs to be enabled when any of i2c1-5 is enabled. # TPM device is under i2c3. Therefore, i2c0 needs to be enabled anyways. device ref i2c0 on end diff --git a/src/mainboard/google/fatcat/variants/felino/Makefile.mk b/src/mainboard/google/fatcat/variants/felino/Makefile.mk index dcd5ec7202..80d4f6236b 100644 --- a/src/mainboard/google/fatcat/variants/felino/Makefile.mk +++ b/src/mainboard/google/fatcat/variants/felino/Makefile.mk @@ -6,3 +6,4 @@ romstage-y += memory.c ramstage-y += gpio.c romstage-$(CONFIG_FW_CONFIG) += fw_config.c ramstage-$(CONFIG_FW_CONFIG) += fw_config.c +ramstage-$(CONFIG_FW_CONFIG) += variant.c diff --git a/src/mainboard/google/fatcat/variants/felino/overridetree.cb b/src/mainboard/google/fatcat/variants/felino/overridetree.cb index aa8c16b949..b3b63e7b5c 100644 --- a/src/mainboard/google/fatcat/variants/felino/overridetree.cb +++ b/src/mainboard/google/fatcat/variants/felino/overridetree.cb @@ -67,7 +67,7 @@ chip soc/intel/pantherlake register "usb2_ports[1]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C1 register "usb2_ports[4]" = "USB2_PORT_MID(OC_SKIP)" # Type-A Port A0 # USB HUB (USB2 Camera) register "usb2_ports[5]" = "USB2_PORT_LONG(OC3)" # Type-A Port A1 / - register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # CNVi BT or discrete BT + register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # Discrete Bluetooth register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC_SKIP)" # USB3.2 x1 Type-A Con #2 / @@ -187,7 +187,10 @@ device ref tbt_pcie_rp0 on end register "desc" = ""USB2 Bluetooth"" register "type" = "UPC_TYPE_INTERNAL" register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A16)" - device ref usb2_port8 on end + device ref usb2_port8 on + probe WIFI WIFI_PCIE_6 + probe WIFI WIFI_PCIE_7 + end end chip drivers/usb/acpi register "desc" = ""USB3 Type-A Port 1"" @@ -266,10 +269,16 @@ device ref tbt_pcie_rp0 on end register "wake" = "GPE0_PME_B0" register "add_acpi_dma_property" = "true" register "enable_cnvi_ddr_rfim" = "true" + use cnvi_bluetooth as bluetooth_companion device generic 0 on end end end # CNVi + device ref cnvi_bluetooth on + probe WIFI WIFI_CNVI_6 + probe WIFI WIFI_CNVI_7 + end + device ref i2c0 on end device ref i2c1 on diff --git a/src/mainboard/google/fatcat/variants/felino/variant.c b/src/mainboard/google/fatcat/variants/felino/variant.c new file mode 100644 index 0000000000..76089ed577 --- /dev/null +++ b/src/mainboard/google/fatcat/variants/felino/variant.c @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include + +void variant_update_soc_chip_config(struct soc_intel_pantherlake_config *config) +{ + if (fw_config_probe(FW_CONFIG(WIFI, WIFI_CNVI_6)) || /* CNVi Wi-Fi */ + fw_config_probe(FW_CONFIG(WIFI, WIFI_CNVI_7))) { + config->cnvi_wifi_core = true; + config->cnvi_bt_core = true; + } +} diff --git a/src/mainboard/google/fatcat/variants/francka/overridetree.cb b/src/mainboard/google/fatcat/variants/francka/overridetree.cb index f9ae720e0f..f9e172c8cf 100644 --- a/src/mainboard/google/fatcat/variants/francka/overridetree.cb +++ b/src/mainboard/google/fatcat/variants/francka/overridetree.cb @@ -33,7 +33,6 @@ chip soc/intel/pantherlake register "usb2_ports[4]" = "USB2_PORT_SHORT(OC0)" # Type-A Port A1 register "usb2_ports[5]" = "USB2_PORT_TYPE_C(OC_SKIP)" # USB2_C1 register "usb2_ports[6]" = "USB2_PORT_MID(OC_SKIP)" # USB HUB (USB2 Camera) - register "usb2_ports[7]" = "USB2_PORT_MID(OC_SKIP)" # CNVi BT or discrete BT register "usb3_ports[0]" = "USB3_PORT_DEFAULT(OC0)" # USB3.2 x1 Type-A Con #0 register "usb3_ports[1]" = "USB3_PORT_DEFAULT(OC0)" # USB3.2 x1 Type-A Con #1 @@ -53,8 +52,9 @@ chip soc/intel/pantherlake # TCSS USB3 register "tcss_aux_ori" = "1" - # Enable CNVi WiFi + # Enable CNVi Wi-Fi and Bluetooth register "cnvi_wifi_core" = "true" + register "cnvi_bt_core" = "true" register "serial_io_i2c_mode" = "{ [PchSerialIoIndexI2C0] = PchSerialIoPci, @@ -161,12 +161,6 @@ chip soc/intel/pantherlake register "group" = "ACPI_PLD_GROUP(5, 1)" device ref usb2_port7 on end end - chip drivers/usb/acpi - register "desc" = ""USB2 Bluetooth"" - register "type" = "UPC_TYPE_INTERNAL" - register "reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_A16)" - device ref usb2_port8 on end - end chip drivers/usb/acpi register "desc" = ""USB3 Type-A Port 0"" register "type" = "UPC_TYPE_USB3_A" @@ -188,9 +182,13 @@ chip soc/intel/pantherlake register "wake" = "GPE0_PME_B0" register "add_acpi_dma_property" = "true" register "enable_cnvi_ddr_rfim" = "true" + use cnvi_bluetooth as bluetooth_companion device generic 0 on end end end # CNVi + + device ref cnvi_bluetooth on end + # NOTE: i2c0 is function 0; hence it needs to be enabled when any of i2c1-5 is enabled. # TPM device is under i2c1. Therefore, i2c0 needs to be enabled anyways. device ref i2c0 on end