mb/google/fatcat: Rationalize Wi-Fi and Bluetooth combinations
We aim to support only two Wi-Fi and Bluetooth combinations: - CNVi Wi-Fi paired with CNVi Bluetooth - Discrete Wi-Fi paired with USB Bluetooth The CNVi core settings are configured at runtime based on the firmware configuration for Fatcat and Felino variants. Since Francka only supports CNVi configuration, settings are enforced in the override device tree. Change-Id: Ida95d1898d24898880de567db7c0ac8ac053eeaa Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/85662 Reviewed-by: Ben Kao <ben.kao@intel.com> Reviewed-by: Jayvik Desai <jayvik@google.com> Reviewed-by: Subrata Banik <subratabanik@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Kapil Porwal <kapilporwal@google.com>
This commit is contained in:
parent
51130ebc64
commit
5c0340349e
5 changed files with 43 additions and 12 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
13
src/mainboard/google/fatcat/variants/felino/variant.c
Normal file
13
src/mainboard/google/fatcat/variants/felino/variant.c
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
|
||||
#include <baseboard/variants.h>
|
||||
#include <fw_config.h>
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue