blob: a7e26e69e5d7b349131f5e70cc807740698d92ac [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{
Subrata Banik0c602b62023-08-25 11:07:29 +053015 return get_wifi_sar_fw_config_filename(FW_CONFIG_FIELD(WIFI));
Subrata Banik8d70cf72022-10-13 10:19:04 +053016}
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)) ||
Anil Kumar9acaa2b2023-08-09 11:20:14 -070032 fw_config_probe(FW_CONFIG(AUDIO, MAX98363_CS42L42_SNDW)) ||
33 fw_config_probe(FW_CONFIG(AUDIO, MAX98360_ALC5682I_DISCRETE_I2S_BT))) {
Uday M Bhat68e38262023-06-22 21:25:55 +053034 config->cnvi_bt_audio_offload = true;
35 }
Caveh Jalali4519c0d2023-05-17 12:50:40 -070036
Caveh Jalali37f4f642023-06-22 17:00:09 -070037 if (fw_config_probe(FW_CONFIG(DB_USB, USB4_KB8010)) ||
38 fw_config_probe(FW_CONFIG(DB_USB, USB4_ANX7452)) ||
Caveh Jalali4519c0d2023-05-17 12:50:40 -070039 fw_config_probe(FW_CONFIG(DB_USB, USB4_ANX7452_V2))) {
40 /*
41 * Configure TCP2 for
42 * "SBU orientation not handled by external retimer"
43 */
44 config->tcss_aux_ori &= ~(TCP_AUX_MASK << TCP2_AUX_SHIFT);
45 config->tcss_aux_ori |= TCP_AUX_FOLLOW_CC1 << TCP2_AUX_SHIFT;
46 }
Ravi Sarawadi9afa18f2023-02-07 09:33:46 -080047}