summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorRui Zhou <zhourui@huaqin.corp-partner.google.com>2024-07-01 09:11:14 +0800
committerFelix Held <felix-coreboot@felixheld.de>2024-07-03 14:31:32 +0000
commit16b18a8b3047d4a9fbfe087711e3f3656d90b96d (patch)
tree0c03103b2ce173359f8c5443d87cd5cf48114b4f /src/mainboard
parente301f3934d9ba999042c86c6307ca32b47199e61 (diff)
mb/google/geralt: Replace GERALT_USE_MAX98390 with FW_CONFIG for TAS2563
Use FW_CONFIG to differentiate MAX98390 and TAS2563. Since config GERALT_USE_MAX98390 is no longer needed after using FW_CONFIG, we remove GERALT_USE_MAX98390 from Kconfig. BUG=b:345629159 BRANCH=none TEST=emerge-GERALT coreboot TEST=Verify beep function through deploy in depthcharge successfully. Change-Id: Ie9f0cbc30dd950b85581fc1924fa351efe1e0aab Signed-off-by: Rui Zhou <zhourui@huaqin.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/83287 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com> Reviewed-by: Yidi Lin <yidilin@google.com>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/geralt/Kconfig4
-rw-r--r--src/mainboard/google/geralt/chromeos.c14
-rw-r--r--src/mainboard/google/geralt/devicetree.cb7
-rw-r--r--src/mainboard/google/geralt/mainboard.c8
4 files changed, 21 insertions, 12 deletions
diff --git a/src/mainboard/google/geralt/Kconfig b/src/mainboard/google/geralt/Kconfig
index 282b26222d..42522f581b 100644
--- a/src/mainboard/google/geralt/Kconfig
+++ b/src/mainboard/google/geralt/Kconfig
@@ -9,10 +9,6 @@ if BOARD_GOOGLE_GERALT_COMMON
config GERALT_SDCARD_INIT
def_bool BOARD_GOOGLE_GERALT
-config GERALT_USE_MAX98390
- def_bool BOARD_GOOGLE_CIRI || \
- BOARD_GOOGLE_GERALT
-
config GERALT_USE_NAU8318
def_bool n
diff --git a/src/mainboard/google/geralt/chromeos.c b/src/mainboard/google/geralt/chromeos.c
index d66b7d5233..df606f957b 100644
--- a/src/mainboard/google/geralt/chromeos.c
+++ b/src/mainboard/google/geralt/chromeos.c
@@ -3,6 +3,7 @@
#include <bootmode.h>
#include <boot/coreboot_tables.h>
#include <drivers/tpm/cr50.h>
+#include <fw_config.h>
#include <gpio.h>
#include "gpio.h"
@@ -53,17 +54,18 @@ void fill_lb_gpios(struct lb_gpios *gpios)
lb_add_gpios(gpios, sd_card_gpios, ARRAY_SIZE(sd_card_gpios));
}
- if (CONFIG(GERALT_USE_MAX98390)) {
- struct lb_gpio max98390_gpios[] = {
- {GPIO_RST_SPKR_L.id, ACTIVE_LOW, -1, "speaker reset"},
- };
- lb_add_gpios(gpios, max98390_gpios, ARRAY_SIZE(max98390_gpios));
- } else if (CONFIG(GERALT_USE_NAU8318)) {
+ if (CONFIG(GERALT_USE_NAU8318)) {
struct lb_gpio nau8318_gpios[] = {
{GPIO_EN_SPKR.id, ACTIVE_HIGH, -1, "speaker enable"},
{GPIO_BEEP_ON_OD.id, ACTIVE_HIGH, -1, "beep enable"},
};
lb_add_gpios(gpios, nau8318_gpios, ARRAY_SIZE(nau8318_gpios));
+ } else if (fw_config_probe(FW_CONFIG(AUDIO_AMP, AMP_MAX98390)) ||
+ fw_config_probe(FW_CONFIG(AUDIO_AMP, AMP_TAS2563))) {
+ struct lb_gpio smartamp_gpios[] = {
+ {GPIO_RST_SPKR_L.id, ACTIVE_LOW, -1, "speaker reset"},
+ };
+ lb_add_gpios(gpios, smartamp_gpios, ARRAY_SIZE(smartamp_gpios));
}
}
diff --git a/src/mainboard/google/geralt/devicetree.cb b/src/mainboard/google/geralt/devicetree.cb
index 3e6bec8a72..a03c8ef209 100644
--- a/src/mainboard/google/geralt/devicetree.cb
+++ b/src/mainboard/google/geralt/devicetree.cb
@@ -1,5 +1,12 @@
## SPDX-License-Identifier: GPL-2.0-only
+fw_config
+ field AUDIO_AMP 28 29
+ option AMP_MAX98390 0
+ option AMP_TAS2563 1
+ end
+end
+
chip soc/mediatek/mt8188
device cpu_cluster 0 on end
end
diff --git a/src/mainboard/google/geralt/mainboard.c b/src/mainboard/google/geralt/mainboard.c
index 3f9ab5d0f6..b05e8b4631 100644
--- a/src/mainboard/google/geralt/mainboard.c
+++ b/src/mainboard/google/geralt/mainboard.c
@@ -2,6 +2,7 @@
#include <bootmode.h>
#include <device/device.h>
+#include <fw_config.h>
#include <soc/bl31.h>
#include <soc/display.h>
#include <soc/i2c.h>
@@ -31,8 +32,11 @@ static void configure_i2s(void)
static void configure_audio(void)
{
- if (CONFIG(GERALT_USE_MAX98390)) {
- printk(BIOS_DEBUG, "Configure MAX98390 audio\n");
+ if (CONFIG(GERALT_USE_NAU8318))
+ return;
+
+ if (fw_config_probe(FW_CONFIG(AUDIO_AMP, AMP_MAX98390)) ||
+ fw_config_probe(FW_CONFIG(AUDIO_AMP, AMP_TAS2563))) {
mtk_i2c_bus_init(I2C0, I2C_SPEED_FAST);
configure_i2s();