blob: 032eef97c6b307c90377301314e7590a85fa0ed2 [file] [log] [blame]
Subrata Banik8d70cf72022-10-13 10:19:04 +05301/* SPDX-License-Identifier: GPL-2.0-only */
2
Ivy Jian665c58b2023-03-16 17:18:35 +08003#include <acpi/acpigen.h>
4#include <baseboard/variants.h>
5#include <fw_config.h>
Subrata Banik8d70cf72022-10-13 10:19:04 +05306#include <sar.h>
Ivy Jian665c58b2023-03-16 17:18:35 +08007#include <variant/gpio.h>
Subrata Banik8d70cf72022-10-13 10:19:04 +05308
Caveh Jalali4519c0d2023-05-17 12:50:40 -07009#define TCP2_AUX_SHIFT 4
10#define TCP_AUX_MASK 0x03
11#define TCP_AUX_FOLLOW_CC1 0x01
12
Subrata Banik8d70cf72022-10-13 10:19:04 +053013const char *get_wifi_sar_cbfs_filename(void)
14{
15 return "wifi_sar_0.hex";
16}
Ivy Jian665c58b2023-03-16 17:18:35 +080017
18void variant_generate_s0ix_hook(enum s0ix_entry entry)
19{
20 if (entry == S0IX_ENTRY) {
21 if (fw_config_probe(FW_CONFIG(UFC, UFC_USB)))
22 acpigen_soc_clear_tx_gpio(GPP_B09);
23 } else if (entry == S0IX_EXIT) {
24 if (fw_config_probe(FW_CONFIG(UFC, UFC_USB)))
25 acpigen_soc_set_tx_gpio(GPP_B09);
26 }
27}
Ravi Sarawadi9afa18f2023-02-07 09:33:46 -080028
29void variant_update_soc_chip_config(struct soc_intel_meteorlake_config *config)
30{
31 config->cnvi_bt_audio_offload = fw_config_probe(FW_CONFIG(AUDIO,
32 MAX98360_ALC5682I_I2S));
Caveh Jalali4519c0d2023-05-17 12:50:40 -070033
34 if (fw_config_probe(FW_CONFIG(DB_USB, USB4_ANX7452)) ||
35 fw_config_probe(FW_CONFIG(DB_USB, USB4_ANX7452_V2))) {
36 /*
37 * Configure TCP2 for
38 * "SBU orientation not handled by external retimer"
39 */
40 config->tcss_aux_ori &= ~(TCP_AUX_MASK << TCP2_AUX_SHIFT);
41 config->tcss_aux_ori |= TCP_AUX_FOLLOW_CC1 << TCP2_AUX_SHIFT;
42 }
Ravi Sarawadi9afa18f2023-02-07 09:33:46 -080043}