mb/google/zork/vilboz: Enable ALC1015 AMP driver

Enable ALC1015 driver for audio support in vilboz

BUG=b:177971830
BRANCH=firmware-zork-13434.B
TEST=emerge-zork coreboot chromeos-bootimage, then verify with ALC1015 AMP

Signed-off-by: Frank Wu <frank_wu@compal.corp-partner.google.com>
Change-Id: If0abfd6570579fe637a7bef31de2f01d58f3bdf6
Reviewed-on: https://review.coreboot.org/c/coreboot/+/51053
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
Reviewed-by: Kangheui Won <khwon@chromium.org>
Reviewed-by: EricR Lai <ericr_lai@compal.corp-partner.google.com>
This commit is contained in:
Frank Wu 2021-03-19 17:06:40 +08:00 committed by Furquan Shaikh
parent a889e2a337
commit fe4c6b8d30
3 changed files with 38 additions and 2 deletions

View file

@ -17,6 +17,7 @@ config BOARD_SPECIFIC_OPTIONS
select DRIVERS_AMD_I2S_MACHINE_DEV
select DISABLE_SPI_FLASH_ROM_SHARING
select DRIVERS_GENERIC_GPIO_KEYS
select DRIVERS_GENERIC_ALC1015
select DRIVERS_I2C_GENERIC
select DRIVERS_I2C_HID
select DRIVERS_I2C_SX9324

View file

@ -52,6 +52,9 @@ enum {
/* WWAN presence */
FW_CONFIG_MASK_WWAN = 0x1,
FW_CONFIG_SHIFT_WWAN = 29,
/* Audio AMP type */
FW_CONFIG_MASK_AUDIO_AMP = 0x1,
FW_CONFIG_SHIFT_AUDIO_AMP = 35,
};
static int get_fw_config(uint64_t *val)

View file

@ -1,5 +1,12 @@
# SPDX-License-Identifier: GPL-2.0-or-later
fw_config
field AUDIO_AMP 35
option AUDIO_AMP_I2C_MODE 0
option AUDIO_AMP_AUTO_MODE 1
end
end
chip soc/amd/picasso
# Start : OPN Performance Configuration
@ -173,7 +180,31 @@ chip soc/amd/picasso
# Set low (0) = Select DMIC0
# Set high (1) = Select DMIC1
register "dmic_select_gpio" = "ACPI_GPIO_OUTPUT(GPIO_67)"
device generic 0.0 on end
device generic 0.0 on
probe AUDIO_AMP AUDIO_AMP_I2C_MODE
end
end
chip drivers/amd/i2s_machine_dev
register "hid" = ""AMDP1015""
# DMIC select GPIO for ACP machine device
# This GPIO is used to select DMIC0 or DMIC1 by the
# kernel driver. It does not really have a polarity
# since low and high control the selection of DMIC and
# hence does not have an active polarity.
# Kernel driver does not use the polarity field and
# instead treats the GPIO selection as follows:
# Set low (0) = Select DMIC0
# Set high (1) = Select DMIC1
register "dmic_select_gpio" = "ACPI_GPIO_OUTPUT(GPIO_67)"
device generic 1.0 on
probe AUDIO_AMP AUDIO_AMP_AUTO_MODE
end
end
chip drivers/generic/alc1015
register "sdb" = "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_91)"
device generic 1.1 on
probe AUDIO_AMP AUDIO_AMP_AUTO_MODE
end
end
end # Audio
end
@ -183,7 +214,7 @@ chip soc/amd/picasso
chip ec/google/chromeec/i2c_tunnel
register "uid" = "1"
register "remote_bus" = "8"
device generic 0.0 on
device generic 0.1 on
chip drivers/i2c/generic
register "hid" = ""10EC1015""
register "desc" = ""RT1015 Tweeter Left Speaker Amp""
@ -198,6 +229,7 @@ chip soc/amd/picasso
register "name" = ""TR""
device i2c 29 on end
end
probe AUDIO_AMP AUDIO_AMP_I2C_MODE
end
end
end