mb/google/ocelot: update FW_CONFIG
Update the FW_CONFIG to correspond to the Google Ocelot hardware SKUs and remove code that is no longer needed due to the FW_CONFIG changes. Removed support for AUDIO_ALC722_SNDW, AUDIO_MAX98360_ALC56821_I2S, AUDIO_MAX98373_ALC5682_SNDW, TOUCHSCREEN_LPSS_I2C, UFC_MIPI, UFC_USB, WFC_MIPI and WFC_USB. Added support for AUDIO_ALC721_SNDW, DISPLAY_TOUCH_PRESENT, and DISPLAY_NO_TOUCH_PRESENT. BUG=b:412736286 BRANCH=None TEST=`emerge-ocelot coreboot` and verify it compiles without error. Change-Id: I5fd7010230a3f17005f5ca395ffaca0724a615e9 Signed-off-by: Nick Vaccaro <nvaccaro@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/87310 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subratabanik@google.com>
This commit is contained in:
parent
49bf8f94a0
commit
92f9c8a985
3 changed files with 37 additions and 436 deletions
|
|
@ -11,37 +11,6 @@
|
|||
/* t: table */
|
||||
#define GPIO_CONFIGURE_PADS(t) gpio_configure_pads(t, ARRAY_SIZE(t))
|
||||
|
||||
static const struct pad_config i2s_enable_pads[] = {
|
||||
/* I2S_MCLK1_OUT */
|
||||
PAD_CFG_NF(GPP_D09, NONE, DEEP, NF2),
|
||||
/* I2S0_SCLK_HDR */
|
||||
PAD_CFG_NF(GPP_D10, NONE, DEEP, NF2),
|
||||
/* I2S0_SFRM_HDR */
|
||||
PAD_CFG_NF(GPP_D11, NONE, DEEP, NF2),
|
||||
/* I2S0_TXD_HDR */
|
||||
PAD_CFG_NF(GPP_D12, NONE, DEEP, NF2),
|
||||
/* I2S0_RXD_HDR */
|
||||
PAD_CFG_NF(GPP_D13, NONE, DEEP, NF2),
|
||||
/* I2S1_SCLK_HDR */
|
||||
PAD_CFG_NF(GPP_S00, NONE, DEEP, NF6),
|
||||
/* I2S1_SFRM_HDR */
|
||||
PAD_CFG_NF(GPP_S01, NONE, DEEP, NF6),
|
||||
/* I2S1_TXD_HDR */
|
||||
PAD_CFG_NF(GPP_S02, NONE, DEEP, NF6),
|
||||
/* I2S1_RXD_HDR */
|
||||
PAD_CFG_NF(GPP_S03, NONE, DEEP, NF6),
|
||||
|
||||
/* DMIC_CLK */
|
||||
PAD_CFG_NF(GPP_D16, NONE, DEEP, NF3),
|
||||
/* DMIC_DATA */
|
||||
PAD_CFG_NF(GPP_D17, NONE, DEEP, NF3),
|
||||
|
||||
/* DMIC_CLK */
|
||||
PAD_CFG_NF(GPP_S04, NONE, DEEP, NF5),
|
||||
/* DMIC_DATA */
|
||||
PAD_CFG_NF(GPP_S05, NONE, DEEP, NF5),
|
||||
};
|
||||
|
||||
static const struct pad_config hda_enable_pads[] = {
|
||||
/* HDA_BCLK */
|
||||
PAD_CFG_NF(GPP_D10, NONE, DEEP, NF1),
|
||||
|
|
@ -62,29 +31,6 @@ static const struct pad_config hda_enable_pads[] = {
|
|||
PAD_CFG_NF(GPP_S05, NONE, DEEP, NF5),
|
||||
};
|
||||
|
||||
static const struct pad_config sndw_external_codec_enable_pads[] = {
|
||||
/* Soundwire - External codec - JE Header */
|
||||
/* SNDW3_CLK */
|
||||
PAD_CFG_NF(GPP_S00, NONE, DEEP, NF1),
|
||||
/* SNDW3_DATA0 */
|
||||
PAD_CFG_NF(GPP_S01, NONE, DEEP, NF1),
|
||||
/* SNDW0_CLK */
|
||||
PAD_CFG_NF(GPP_S02, NONE, DEEP, NF3),
|
||||
/* SNDW0_DATA */
|
||||
PAD_CFG_NF(GPP_S03, NONE, DEEP, NF3),
|
||||
/* SNDW2_CLK */
|
||||
PAD_CFG_NF(GPP_S04, NONE, DEEP, NF2),
|
||||
/* SNDW2_DATA */
|
||||
PAD_CFG_NF(GPP_S05, NONE, DEEP, NF2),
|
||||
/* SNDW1_CLK */
|
||||
PAD_CFG_NF(GPP_S06, NONE, DEEP, NF3),
|
||||
/* SNDW1_DATA */
|
||||
PAD_CFG_NF(GPP_S07, NONE, DEEP, NF3),
|
||||
|
||||
/* GPP_D13: RST_HP_L */
|
||||
PAD_CFG_GPO(GPP_D13, 1, PLTRST),
|
||||
};
|
||||
|
||||
static const struct pad_config bt_i2s_enable_pads[] = {
|
||||
/* GPP_V30 : [] ==> BT_I2S_BCLK - SSP2 */
|
||||
PAD_CFG_NF(GPP_VGPIO30, NONE, DEEP, NF3),
|
||||
|
|
@ -123,7 +69,7 @@ static const struct pad_config bt_i2s_disable_pads[] = {
|
|||
PAD_NC(GPP_VGPIO37, NONE),
|
||||
};
|
||||
|
||||
static const struct pad_config sndw_alc722_enable_pads[] = {
|
||||
static const struct pad_config sndw_alc721_enable_pads[] = {
|
||||
/* SNDW3_CLK */
|
||||
PAD_CFG_NF(GPP_S00, NONE, DEEP, NF1),
|
||||
/* SNDW3_DATA0 */
|
||||
|
|
@ -353,25 +299,6 @@ static const struct pad_config touchscreen_disable_pads[] = {
|
|||
PAD_NC(GPP_E18, NONE),
|
||||
};
|
||||
|
||||
static const struct pad_config touchscreen_lpss_i2c_enable_pads[] = {
|
||||
/* GPP_E11: THC0_SPI1_CLK_TCH_PNL1 */
|
||||
PAD_NC(GPP_E11, NONE),
|
||||
/* GPP_E12: THC0_SPI1_IO_0_I2C4_SCL_TCH_PNL1 NF8: I2C4_SCL */
|
||||
PAD_CFG_NF(GPP_E12, NONE, DEEP, NF8),
|
||||
/* GPP_E13: THC0_SPI1_IO_1_I2C4_SDA_TCH_PNL1 NF8: I2C4 SDA */
|
||||
PAD_CFG_NF(GPP_E13, NONE, DEEP, NF8),
|
||||
/* GPP_E14: THC0_SPI1_IO_2_TCH_PNL1 */
|
||||
PAD_NC(GPP_E14, NONE),
|
||||
/* GPP_E15: THC0_SPI1_IO_3_TCH_PNL1 */
|
||||
PAD_NC(GPP_E15, NONE),
|
||||
/* GPP_E16: THC0_SPI1_RST_N_TCH_PNL1 */
|
||||
PAD_CFG_GPO(GPP_E16, 1, DEEP),
|
||||
/* GPP_E17: THC0_SPI1_CS0_N_TCH_PNL1 */
|
||||
PAD_NC(GPP_E17, NONE),
|
||||
/* GPP_E18: THC0_SPI1_INT_N_TCH_PNL1 */
|
||||
PAD_CFG_GPI_APIC(GPP_E18, NONE, PLTRST, LEVEL, NONE),
|
||||
};
|
||||
|
||||
static const struct pad_config touchscreen_thc_i2c_enable_pads[] = {
|
||||
/* GPP_E11: THC0_SPI1_CLK_TCH_PNL1 */
|
||||
PAD_NC(GPP_E11, NONE),
|
||||
|
|
@ -391,25 +318,6 @@ static const struct pad_config touchscreen_thc_i2c_enable_pads[] = {
|
|||
PAD_CFG_GPI_APIC(GPP_E18, NONE, PLTRST, LEVEL, NONE),
|
||||
};
|
||||
|
||||
static const struct pad_config touchscreen_gspi_enable_pads[] = {
|
||||
/* GPP_E11: THC0_SPI1_CLK_TCH_PNL1 NF5: GSPI0 */
|
||||
PAD_CFG_NF(GPP_E11, NONE, DEEP, NF5),
|
||||
/* GPP_E12: THC0_SPI1_IO_0_I2C4_SCL_TCH_PNL1 NF5: GSPI0 */
|
||||
PAD_CFG_NF(GPP_E12, NONE, DEEP, NF5),
|
||||
/* GPP_E13: THC0_SPI1_IO_1_I2C4_SDA_TCH_PNL1 NF5: GSPI0 */
|
||||
PAD_CFG_NF(GPP_E13, NONE, DEEP, NF5),
|
||||
/* GPP_E14: THC0_SPI1_IO_2_TCH_PNL1 */
|
||||
PAD_NC(GPP_E14, NONE),
|
||||
/* GPP_E15: THC0_SPI1_IO_3_TCH_PNL1 */
|
||||
PAD_NC(GPP_E15, NONE),
|
||||
/* GPP_E16: THC0_SPI1_RST_N_TCH_PNL1 */
|
||||
PAD_CFG_GPO(GPP_E16, 1, DEEP),
|
||||
/* GPP_E17: THC0_SPI1_CS0_N_TCH_PNL1 NF5: GSPI0 */
|
||||
PAD_CFG_NF(GPP_E17, NONE, DEEP, NF5),
|
||||
/* GPP_E18: THC0_SPI1_INT_N_TCH_PNL1 */
|
||||
PAD_CFG_GPI_APIC(GPP_E18, NONE, PLTRST, EDGE_SINGLE, INVERT)
|
||||
};
|
||||
|
||||
static const struct pad_config touchscreen_thc_spi_enable_pads[] = {
|
||||
/* GPP_E11: THC0_SPI1_CLK_TCH_PNL1 NF3: THC HID-SPI */
|
||||
PAD_CFG_NF(GPP_E11, NONE, DEEP, NF3),
|
||||
|
|
@ -576,18 +484,9 @@ void fw_config_gpio_padbased_override(struct pad_config *padbased_table)
|
|||
if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_NONE))) {
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, audio_disable_pads);
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, bt_i2s_disable_pads);
|
||||
} else if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_MAX98360_ALC5682I_I2S))) {
|
||||
printk(BIOS_INFO, "Configure GPIOs for I2S MAX98360 ALC5682 audio.\n");
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, i2s_enable_pads);
|
||||
printk(BIOS_INFO, "Configure GPIOs for BT offload mode.\n");
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, bt_i2s_enable_pads);
|
||||
} else if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_MAX98373_ALC5682_SNDW))) {
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, sndw_external_codec_enable_pads);
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, bt_i2s_disable_pads);
|
||||
} else if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_ALC722_SNDW)) ||
|
||||
fw_config_probe(FW_CONFIG(AUDIO, AUDIO_ALC721_SNDW))) {
|
||||
} else if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_ALC721_SNDW))) {
|
||||
printk(BIOS_INFO, "Configure GPIOs for Soundwire audio.\n");
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, sndw_alc722_enable_pads);
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, sndw_alc721_enable_pads);
|
||||
printk(BIOS_INFO, "Configure GPIOs for BT offload mode.\n");
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, bt_i2s_enable_pads);
|
||||
} else if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_ALC256_HDA))) {
|
||||
|
|
@ -625,12 +524,8 @@ void fw_config_gpio_padbased_override(struct pad_config *padbased_table)
|
|||
else
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, touchpad_i2c_disable_pads);
|
||||
|
||||
if (fw_config_probe(FW_CONFIG(TOUCHSCREEN, TOUCHSCREEN_LPSS_I2C)))
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, touchscreen_lpss_i2c_enable_pads);
|
||||
else if (fw_config_probe(FW_CONFIG(TOUCHSCREEN, TOUCHSCREEN_THC_I2C)))
|
||||
if (fw_config_probe(FW_CONFIG(TOUCHSCREEN, TOUCHSCREEN_THC_I2C)))
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, touchscreen_thc_i2c_enable_pads);
|
||||
else if (fw_config_probe(FW_CONFIG(TOUCHSCREEN, TOUCHSCREEN_GSPI)))
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, touchscreen_gspi_enable_pads);
|
||||
else if (fw_config_probe(FW_CONFIG(TOUCHSCREEN, TOUCHSCREEN_THC_SPI)))
|
||||
GPIO_PADBASED_OVERRIDE(padbased_table, touchscreen_thc_spi_enable_pads);
|
||||
else
|
||||
|
|
|
|||
|
|
@ -1,72 +1,59 @@
|
|||
fw_config
|
||||
field AUDIO 0 3
|
||||
option AUDIO_NONE 0
|
||||
option AUDIO_MAX98373_ALC5682_SNDW 1
|
||||
option AUDIO_ALC722_SNDW 2
|
||||
option AUDIO_ALC256_HDA 3
|
||||
option AUDIO_MAX98360_ALC5682I_I2S 4
|
||||
option AUDIO_ALC721_SNDW 5
|
||||
field AUDIO 0 1
|
||||
option AUDIO_NONE 0
|
||||
option AUDIO_ALC721_SNDW 1
|
||||
option AUDIO_ALC256_HDA 2
|
||||
end
|
||||
field WIFI 4 5
|
||||
option WIFI_CNVI_6 0
|
||||
option WIFI_CNVI_7 1
|
||||
field WIFI 2 4
|
||||
option WIFI_NONE 0
|
||||
option WIFI_CNVI_6 1
|
||||
option WIFI_PCIE_6 2
|
||||
option WIFI_PCIE_7 3
|
||||
option WIFI_CNVI_7 3
|
||||
option WIFI_PCIE_7 4
|
||||
end
|
||||
field CELLULAR 6 7
|
||||
field CELLULAR 5 6
|
||||
option CELLULAR_ABSENT 0
|
||||
option CELLULAR_USB 1
|
||||
option CELLULAR_PCIE 2
|
||||
end
|
||||
field TOUCHSCREEN 8 10
|
||||
field TOUCHSCREEN 7 8
|
||||
option TOUCHSCREEN_NONE 0
|
||||
option TOUCHSCREEN_LPSS_I2C 1
|
||||
option TOUCHSCREEN_GSPI 2
|
||||
option TOUCHSCREEN_THC_SPI 3
|
||||
option TOUCHSCREEN_THC_I2C 4
|
||||
option TOUCHSCREEN_THC_SPI 1
|
||||
option TOUCHSCREEN_THC_I2C 2
|
||||
end
|
||||
field TOUCHPAD 11 12
|
||||
field TOUCHPAD 9 10
|
||||
option TOUCHPAD_NONE 0
|
||||
option TOUCHPAD_THC_I2C 1
|
||||
option TOUCHPAD_LPSS_I2C 2
|
||||
end
|
||||
field SD 13 14
|
||||
field SD 11 12
|
||||
option SD_NONE 0
|
||||
option SD_GENSYS 1
|
||||
option SD_BAYHUB 2
|
||||
end
|
||||
field STORAGE 15 16
|
||||
field STORAGE 13 14
|
||||
option STORAGE_UNKNOWN 0
|
||||
option STORAGE_NVME_GEN4 1
|
||||
option STORAGE_NVME_GEN5 2
|
||||
option STORAGE_UFS 3
|
||||
end
|
||||
field FP 17
|
||||
field FP 15
|
||||
option FP_ABSENT 0
|
||||
option FP_PRESENT 1
|
||||
end
|
||||
field DISPLAY 18
|
||||
field DISPLAY 16 17
|
||||
option DISPLAY_ABSENT 0
|
||||
option DISPLAY_PRESENT 1
|
||||
option DISPLAY_TOUCH_PRESENT 1
|
||||
option DISPLAY_NO_TOUCH_PRESENT 2
|
||||
end
|
||||
field ISH 18
|
||||
option ISH_DISABLE 0
|
||||
option ISH_ENABLE 1
|
||||
end
|
||||
field KB 19
|
||||
option KB_ABSENT 0
|
||||
option KB_PRESENT 1
|
||||
end
|
||||
field UFC 20 21
|
||||
option UFC_ABSENT 0
|
||||
option UFC_MIPI 1
|
||||
option UFC_USB 2
|
||||
end
|
||||
field WFC 22 23
|
||||
option WFC_ABSENT 0
|
||||
option WFC_MIPI 1
|
||||
option WFC_USB 2
|
||||
end
|
||||
field ISH 24
|
||||
option ISH_DISABLE 0
|
||||
option ISH_ENABLE 1
|
||||
end
|
||||
end
|
||||
|
||||
chip soc/intel/pantherlake
|
||||
|
|
@ -145,7 +132,8 @@ chip soc/intel/pantherlake
|
|||
|
||||
device domain 0 on
|
||||
device ref igpu on
|
||||
probe DISPLAY DISPLAY_PRESENT
|
||||
probe DISPLAY DISPLAY_TOUCH_PRESENT
|
||||
probe DISPLAY DISPLAY_NO_TOUCH_PRESENT
|
||||
chip drivers/gfx/generic
|
||||
register "device_count" = "5"
|
||||
# DDIA for eDP
|
||||
|
|
@ -296,24 +284,7 @@ chip soc/intel/pantherlake
|
|||
end
|
||||
end
|
||||
|
||||
device ref ipu on
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_uid" = "0x50000"
|
||||
register "acpi_name" = ""IPU0""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_CIO2"
|
||||
register "cio2_num_ports" = "2"
|
||||
register "cio2_lanes_used" = "{4,2}" # 4 and 2 CSI Camera lanes are used
|
||||
register "cio2_lane_endpoint[0]" = ""^I2C1.CAM0""
|
||||
register "cio2_lane_endpoint[1]" = ""^I2C2.CAM1""
|
||||
register "cio2_prt[0]" = "0"
|
||||
register "cio2_prt[1]" = "2"
|
||||
device generic 0 on
|
||||
probe UFC UFC_MIPI
|
||||
probe WFC WFC_MIPI
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
device ref ipu off end
|
||||
device ref iaa off end
|
||||
|
||||
device ref thc0 on
|
||||
|
|
@ -576,246 +547,16 @@ chip soc/intel/pantherlake
|
|||
# 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
|
||||
device ref i2c1 on
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_hid" = ""OVTIDB10""
|
||||
register "acpi_uid" = "0"
|
||||
register "acpi_name" = ""CAM0""
|
||||
register "chip_name" = ""Ov 13b10 Camera""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
|
||||
|
||||
register "ssdb.vcm_type" = "0x0C"
|
||||
register "vcm_name" = ""VCM1""
|
||||
|
||||
register "ssdb.lanes_used" = "4"
|
||||
register "num_freq_entries" = "1"
|
||||
register "link_freq[0]" = "560 * MHz" # 560 MHz
|
||||
register "remote_name" = ""IPU0""
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
|
||||
|
||||
register "has_power_resource" = "true"
|
||||
#Controls
|
||||
register "clk_panel.clks[0].clknum" = "0" # IMGCLKOUT_0
|
||||
register "clk_panel.clks[0].freq" = "1" #19.2 Mhz
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_C05" #power_enable
|
||||
register "gpio_panel.gpio[1].gpio_num" = "GPP_E10" #reset
|
||||
|
||||
#_ON
|
||||
register "on_seq.ops_cnt" = "4"
|
||||
register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
|
||||
register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 2)"
|
||||
register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 1)"
|
||||
register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 1)"
|
||||
|
||||
#_OFF
|
||||
register "off_seq.ops_cnt" = "3"
|
||||
register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
|
||||
register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
|
||||
register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
|
||||
|
||||
device i2c 36 on
|
||||
probe WFC WFC_MIPI
|
||||
end
|
||||
end
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_uid" = "3"
|
||||
register "acpi_name" = ""VCM1""
|
||||
register "chip_name" = ""DW AF VCM""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_VCM"
|
||||
|
||||
register "vcm_compat" = ""dongwoon,dw9714""
|
||||
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
register "has_power_resource" = "true"
|
||||
|
||||
#Controls
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_C05" #power_enable
|
||||
|
||||
#_ON
|
||||
register "on_seq.ops_cnt" = "1"
|
||||
register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
|
||||
|
||||
#_OFF
|
||||
register "off_seq.ops_cnt" = "1"
|
||||
register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
|
||||
|
||||
device i2c 0C on
|
||||
probe WFC WFC_MIPI
|
||||
end
|
||||
end
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_uid" = "1"
|
||||
register "acpi_name" = ""NVM1""
|
||||
register "chip_name" = ""BRCA016GWZ""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
|
||||
|
||||
register "nvm_compat" = ""atmel,24c16""
|
||||
|
||||
register "nvm_size" = "0x800"
|
||||
register "nvm_pagesize" = "0x01"
|
||||
register "nvm_readonly" = "0x01"
|
||||
register "nvm_width" = "0x08"
|
||||
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
register "has_power_resource" = "true"
|
||||
|
||||
#Controls
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_C05" #power_enable
|
||||
|
||||
#_ON
|
||||
register "on_seq.ops_cnt" = "1"
|
||||
register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
|
||||
|
||||
#_OFF
|
||||
register "off_seq.ops_cnt" = "1"
|
||||
register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
|
||||
|
||||
device i2c 50 on
|
||||
probe WFC WFC_MIPI
|
||||
end
|
||||
end
|
||||
end # I2C1
|
||||
device ref i2c2 on
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_hid" = ""OVTIDB10""
|
||||
register "acpi_uid" = "0"
|
||||
register "acpi_name" = ""CAM1""
|
||||
register "chip_name" = ""Ov 13b10 Camera""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_SENSOR"
|
||||
|
||||
register "ssdb.vcm_type" = "0x0C"
|
||||
register "vcm_name" = ""VCM1""
|
||||
|
||||
register "ssdb.lanes_used" = "2"
|
||||
register "num_freq_entries" = "1"
|
||||
register "link_freq[0]" = "560 * MHz" # 560 MHz
|
||||
register "remote_name" = ""IPU0""
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D3_COLD"
|
||||
|
||||
register "has_power_resource" = "true"
|
||||
#Controls
|
||||
register "clk_panel.clks[0].clknum" = "1" # IMGCLKOUT_1
|
||||
register "clk_panel.clks[0].freq" = "1" #19.2 Mhz
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_C08" #power_enable
|
||||
register "gpio_panel.gpio[1].gpio_num" = "GPP_E01" #reset
|
||||
|
||||
#_ON
|
||||
register "on_seq.ops_cnt" = "4"
|
||||
register "on_seq.ops[0]" = "SEQ_OPS_CLK_ENABLE(0, 0)"
|
||||
register "on_seq.ops[1]" = "SEQ_OPS_GPIO_ENABLE(0, 2)"
|
||||
register "on_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(1, 1)"
|
||||
register "on_seq.ops[3]" = "SEQ_OPS_GPIO_ENABLE(1, 1)"
|
||||
|
||||
#_OFF
|
||||
register "off_seq.ops_cnt" = "3"
|
||||
register "off_seq.ops[0]" = "SEQ_OPS_CLK_DISABLE(0, 0)"
|
||||
register "off_seq.ops[1]" = "SEQ_OPS_GPIO_DISABLE(1, 0)"
|
||||
register "off_seq.ops[2]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
|
||||
|
||||
device i2c 36 on
|
||||
probe UFC UFC_MIPI
|
||||
end
|
||||
end
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_uid" = "3"
|
||||
register "acpi_name" = ""VCM1""
|
||||
register "chip_name" = ""DW AF VCM""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_VCM"
|
||||
|
||||
register "vcm_compat" = ""dongwoon,dw9714""
|
||||
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
register "has_power_resource" = "true"
|
||||
|
||||
#Controls
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_C08" #power_enable
|
||||
|
||||
#_ON
|
||||
register "on_seq.ops_cnt" = "1"
|
||||
register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
|
||||
|
||||
#_OFF
|
||||
register "off_seq.ops_cnt" = "1"
|
||||
register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
|
||||
|
||||
device i2c 0C on
|
||||
probe UFC UFC_MIPI
|
||||
end
|
||||
end
|
||||
chip drivers/intel/mipi_camera
|
||||
register "acpi_uid" = "1"
|
||||
register "acpi_name" = ""NVM1""
|
||||
register "chip_name" = ""BRCA016GWZ""
|
||||
register "device_type" = "INTEL_ACPI_CAMERA_NVM"
|
||||
|
||||
register "nvm_compat" = ""atmel,24c16""
|
||||
|
||||
register "nvm_size" = "0x800"
|
||||
register "nvm_pagesize" = "0x01"
|
||||
register "nvm_readonly" = "0x01"
|
||||
register "nvm_width" = "0x08"
|
||||
|
||||
register "max_dstate_for_probe" = "ACPI_DEVICE_SLEEP_D0"
|
||||
|
||||
register "has_power_resource" = "true"
|
||||
|
||||
#Controls
|
||||
register "gpio_panel.gpio[0].gpio_num" = "GPP_C08" #power_enable
|
||||
|
||||
#_ON
|
||||
register "on_seq.ops_cnt" = "1"
|
||||
register "on_seq.ops[0]" = "SEQ_OPS_GPIO_ENABLE(0, 0)"
|
||||
|
||||
#_OFF
|
||||
register "off_seq.ops_cnt" = "1"
|
||||
register "off_seq.ops[0]" = "SEQ_OPS_GPIO_DISABLE(0, 0)"
|
||||
|
||||
device i2c 50 on
|
||||
probe UFC UFC_MIPI
|
||||
end
|
||||
end
|
||||
end # I2C2
|
||||
device ref i2c1 on end
|
||||
device ref i2c2 on end
|
||||
device ref i2c3 on
|
||||
chip drivers/i2c/generic
|
||||
register "hid" = ""RTL5682""
|
||||
register "name" = ""RT58""
|
||||
register "desc" = ""Headset Codec""
|
||||
register "irq_gpio" = "ACPI_GPIO_IRQ_EDGE_BOTH(GPP_F17)"
|
||||
# Set the jd_src to RT5668_JD1 for jack detection
|
||||
register "property_count" = "1"
|
||||
register "property_list[0].type" = "ACPI_DP_TYPE_INTEGER"
|
||||
register "property_list[0].name" = ""realtek,jd-src""
|
||||
register "property_list[0].integer" = "1"
|
||||
device i2c 1a on
|
||||
probe AUDIO AUDIO_MAX98360_ALC5682I_I2S
|
||||
end
|
||||
end
|
||||
chip drivers/i2c/tpm
|
||||
register "hid" = ""GOOG0005""
|
||||
register "irq" = "ACPI_IRQ_EDGE_LOW(GPP_D15_IRQ)"
|
||||
device i2c 50 on end
|
||||
end
|
||||
end # I2C3
|
||||
device ref i2c4 on
|
||||
chip drivers/i2c/hid
|
||||
register "generic.hid" = ""ELAN6918""
|
||||
register "generic.desc" = ""ELAN Touchscreen""
|
||||
register "generic.irq" = "ACPI_IRQ_LEVEL_LOW(GPP_E18_IRQ)"
|
||||
register "generic.probed" = "1"
|
||||
register "generic.reset_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_LOW(GPP_E16)"
|
||||
register "generic.reset_delay_ms" = "20"
|
||||
register "generic.reset_off_delay_ms" = "2"
|
||||
register "generic.enable_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_F08)"
|
||||
register "generic.enable_delay_ms" = "1"
|
||||
register "generic.has_power_resource" = "1"
|
||||
register "hid_desc_reg_offset" = "0x01"
|
||||
device i2c 16 on
|
||||
probe TOUCHSCREEN TOUCHSCREEN_LPSS_I2C
|
||||
end
|
||||
end
|
||||
device ref i2c4 off
|
||||
end # I2C4
|
||||
device ref i2c5 on
|
||||
chip drivers/i2c/hid
|
||||
|
|
@ -852,39 +593,6 @@ chip soc/intel/pantherlake
|
|||
|
||||
device ref smbus on end
|
||||
device ref npk on end
|
||||
device ref hda on
|
||||
chip drivers/intel/soundwire
|
||||
device generic 0 on
|
||||
chip drivers/soundwire/alc711
|
||||
register "desc" = ""Headset Codec""
|
||||
register "alc711_address.version" = "SOUNDWIRE_VERSION_1_2"
|
||||
register "alc711_address.class" = "MIPI_CLASS_SDCA"
|
||||
register "alc711_address.part_id" = "MIPI_DEV_ID_REALTEK_ALC722"
|
||||
# SoundWire Link 1 ID 1
|
||||
device generic 1.1 on
|
||||
probe AUDIO AUDIO_ALC722_SNDW
|
||||
end
|
||||
end
|
||||
chip drivers/soundwire/alc711
|
||||
register "desc" = ""Headset Codec""
|
||||
register "alc711_address.version" = "SOUNDWIRE_VERSION_1_2"
|
||||
register "alc711_address.class" = "MIPI_CLASS_SDCA"
|
||||
register "alc711_address.part_id" = "MIPI_DEV_ID_REALTEK_ALC721"
|
||||
# SoundWire Link 3 ID 1
|
||||
device generic 3.1 on
|
||||
probe AUDIO AUDIO_ALC721_SNDW
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
chip drivers/generic/max98357a
|
||||
register "hid" = ""MX98360A""
|
||||
register "sdmode_gpio" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPP_E19)"
|
||||
register "sdmode_delay" = "5"
|
||||
device generic 0 on
|
||||
probe AUDIO AUDIO_MAX98360_ALC5682I_I2S
|
||||
end
|
||||
end
|
||||
end
|
||||
device ref hda off end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
|
|
@ -16,13 +16,11 @@ void variant_update_soc_chip_config(struct soc_intel_pantherlake_config *config)
|
|||
config->cnvi_bt_core = false;
|
||||
/* CNVi */
|
||||
if (fw_config_probe(FW_CONFIG(WIFI, WIFI_CNVI_6)) ||
|
||||
fw_config_probe(FW_CONFIG(WIFI, WIFI_CNVI_7))) {
|
||||
fw_config_probe(FW_CONFIG(WIFI, WIFI_CNVI_7))) {
|
||||
config->cnvi_wifi_core = true;
|
||||
config->cnvi_bt_core = true;
|
||||
|
||||
if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_MAX98360_ALC5682I_I2S)) ||
|
||||
fw_config_probe(FW_CONFIG(AUDIO, AUDIO_ALC722_SNDW)) ||
|
||||
fw_config_probe(FW_CONFIG(AUDIO, AUDIO_ALC721_SNDW))) {
|
||||
if (fw_config_probe(FW_CONFIG(AUDIO, AUDIO_ALC721_SNDW))) {
|
||||
printk(BIOS_INFO, "BT audio offload configured.\n");
|
||||
config->cnvi_bt_audio_offload = true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue