summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Chiu <kevin.chiu.17802@gmail.com>2021-06-16 16:30:53 +0800
committerWerner Zeh <werner.zeh@siemens.com>2021-06-25 04:20:11 +0000
commitbb0c404e6e1207d58a574c78c63660a7e7b0f368 (patch)
treeb46cfbbe5767734440d5a45710fe32e24d458687
parentf7e8adac7b312326d68df80e24c13c7757e5050b (diff)
downloadcoreboot-bb0c404e6e1207d58a574c78c63660a7e7b0f368.tar.gz
coreboot-bb0c404e6e1207d58a574c78c63660a7e7b0f368.tar.bz2
coreboot-bb0c404e6e1207d58a574c78c63660a7e7b0f368.zip
mb/google/octopus: add audio codec into SSFC support for Garg/Garfour
BUG=b:191213716 BRANCH=octopus TEST=adjust SSFC value of CBI to select RT5682 or DA7219 then check whether device tree is updated correspondingly by disabling unselected one. Signed-off-by: Kevin Chiu <kevin.chiu@quantatw.com> Change-Id: I2d5738442d2c173fd5b4802d8b5dff76b428c6f7 Reviewed-on: https://review.coreboot.org/c/coreboot/+/55564 Reviewed-by: Marco Chen <marcochen@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/mainboard/google/octopus/Kconfig.name1
-rw-r--r--src/mainboard/google/octopus/variants/garg/gpio.c12
-rw-r--r--src/mainboard/google/octopus/variants/garg/overridetree.cb13
3 files changed, 26 insertions, 0 deletions
diff --git a/src/mainboard/google/octopus/Kconfig.name b/src/mainboard/google/octopus/Kconfig.name
index b822d650ed30..41932d71f192 100644
--- a/src/mainboard/google/octopus/Kconfig.name
+++ b/src/mainboard/google/octopus/Kconfig.name
@@ -69,6 +69,7 @@ config BOARD_GOOGLE_GARG
select BASEBOARD_OCTOPUS_LAPTOP
select BOARD_GOOGLE_BASEBOARD_OCTOPUS
select NHLT_DA7219 if INCLUDE_NHLT_BLOBS
+ select NHLT_RT5682 if INCLUDE_NHLT_BLOBS
config BOARD_GOOGLE_DOOD
bool "-> Dood"
diff --git a/src/mainboard/google/octopus/variants/garg/gpio.c b/src/mainboard/google/octopus/variants/garg/gpio.c
index d7affc723483..c285a883f2f6 100644
--- a/src/mainboard/google/octopus/variants/garg/gpio.c
+++ b/src/mainboard/google/octopus/variants/garg/gpio.c
@@ -11,6 +11,10 @@
static const struct pad_config default_override_table[] = {
PAD_NC(GPIO_104, UP_20K),
+ /* GPIO_137 -- HP_INT_ODL and would be amend by SSFC. */
+ PAD_CFG_GPI_APIC_IOS(GPIO_137, NONE, DEEP, LEVEL, INVERT, HIZCRx1,
+ DISPUPD),
+
/* EN_PP3300_TOUCHSCREEN */
PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_146, 0, DEEP, NONE, Tx0RxDCRx0,
DISPUPD),
@@ -28,6 +32,10 @@ static const struct pad_config hdmi_override_table[] = {
PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_127, NONE, DEEP, NF1, HIZCRx1,
DISPUPD),
+ /* GPIO_137 -- HP_INT_ODL and would be amend by SSFC. */
+ PAD_CFG_GPI_APIC_IOS(GPIO_137, NONE, DEEP, LEVEL, INVERT, HIZCRx1,
+ DISPUPD),
+
/* EN_PP3300_TOUCHSCREEN */
PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_146, 0, DEEP, NONE, Tx0RxDCRx0,
DISPUPD),
@@ -40,6 +48,10 @@ static const struct pad_config lte_override_table[] = {
/* Default override table. */
PAD_NC(GPIO_104, UP_20K),
+ /* GPIO_137 -- HP_INT_ODL and would be amend by SSFC. */
+ PAD_CFG_GPI_APIC_IOS(GPIO_137, NONE, DEEP, LEVEL, INVERT, HIZCRx1,
+ DISPUPD),
+
/* EN_PP3300_TOUCHSCREEN */
PAD_CFG_GPO_IOSSTATE_IOSTERM(GPIO_146, 0, DEEP, NONE, Tx0RxDCRx0,
DISPUPD),
diff --git a/src/mainboard/google/octopus/variants/garg/overridetree.cb b/src/mainboard/google/octopus/variants/garg/overridetree.cb
index 38e5cdd1aba8..c2a6997479b0 100644
--- a/src/mainboard/google/octopus/variants/garg/overridetree.cb
+++ b/src/mainboard/google/octopus/variants/garg/overridetree.cb
@@ -128,6 +128,19 @@ chip soc/intel/apollolake
register "mic_amp_in_sel" = ""diff""
device i2c 1a on end
end
+ chip drivers/i2c/generic
+ register "hid" = ""10EC5682""
+ register "name" = ""RT58""
+ register "desc" = ""Realtek RT5682""
+ register "irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_137_IRQ)"
+ register "probed" = "1"
+ register "property_count" = "1"
+ # Set the jd_src to RT5668_JD1 for jack detection
+ 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 end
+ end
end # - I2C 5
device pci 17.2 on
chip drivers/i2c/generic