blob: 6641d4b920258a642dfb4508472617115ecdb142 [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{
Uday M Bhat68e38262023-06-22 21:25:55 +053031 if (fw_config_probe(FW_CONFIG(AUDIO, MAX98360_ALC5682I_I2S)) ||
32 fw_config_probe(FW_CONFIG(AUDIO, MAX98363_CS42L42_SNDW))) {
33 config->cnvi_bt_audio_offload = true;
34 }
Caveh Jalali4519c0d2023-05-17 12:50:40 -070035
Caveh Jalali37f4f642023-06-22 17:00:09 -070036 if (fw_config_probe(FW_CONFIG(DB_USB, USB4_KB8010)) ||
37 fw_config_probe(FW_CONFIG(DB_USB, USB4_ANX7452)) ||
Caveh Jalali4519c0d2023-05-17 12:50:40 -070038 fw_config_probe(FW_CONFIG(DB_USB, USB4_ANX7452_V2))) {
39 /*
40 * Configure TCP2 for
41 * "SBU orientation not handled by external retimer"
42 */
43 config->tcss_aux_ori &= ~(TCP_AUX_MASK << TCP2_AUX_SHIFT);
44 config->tcss_aux_ori |= TCP_AUX_FOLLOW_CC1 << TCP2_AUX_SHIFT;
45 }
Ravi Sarawadi9afa18f2023-02-07 09:33:46 -080046}