summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/poppy/Kconfig1
-rw-r--r--src/mainboard/google/poppy/variants/nautilus/devicetree.cb27
-rw-r--r--src/mainboard/google/poppy/variants/nautilus/gpio.c2
3 files changed, 28 insertions, 2 deletions
diff --git a/src/mainboard/google/poppy/Kconfig b/src/mainboard/google/poppy/Kconfig
index f186daac61..f725113fdc 100644
--- a/src/mainboard/google/poppy/Kconfig
+++ b/src/mainboard/google/poppy/Kconfig
@@ -3,6 +3,7 @@ config BOARD_GOOGLE_BASEBOARD_POPPY
def_bool n
select BOARD_ID_AUTO
select BOARD_ROMSIZE_KB_16384
+ select DRIVERS_I2C_DA7219 if BOARD_GOOGLE_NAUTILUS
select DRIVERS_I2C_GENERIC
select DRIVERS_I2C_HID
select DRIVERS_I2C_MAX98927 if !BOARD_GOOGLE_NAUTILUS
diff --git a/src/mainboard/google/poppy/variants/nautilus/devicetree.cb b/src/mainboard/google/poppy/variants/nautilus/devicetree.cb
index bc4d7682fd..2721218659 100644
--- a/src/mainboard/google/poppy/variants/nautilus/devicetree.cb
+++ b/src/mainboard/google/poppy/variants/nautilus/devicetree.cb
@@ -204,6 +204,13 @@ chip soc/intel/skylake
[PchSerialIoIndexUart2] = PchSerialIoSkipInit,
}"
+ # Enable I2C5 for audio codec at 400kHz
+ register "i2c[5]" = "{
+ .speed = I2C_SPEED_FAST,
+ .rise_time_ns = 104,
+ .fall_time_ns = 52,
+ }"
+
register "speed_shift_enable" = "1"
# PL2 override 15W for KBL-Y
register "tdp_pl2_override" = "15"
@@ -241,7 +248,25 @@ chip soc/intel/skylake
device pci 16.4 off end # Management Engine Interface 3
device pci 17.0 off end # SATA
device pci 19.0 on end # UART #2
- device pci 19.1 on end # I2C #5
+ device pci 19.1 on
+ chip drivers/i2c/da7219
+ register "irq" = "ACPI_IRQ_LEVEL_LOW(GPP_D9_IRQ)"
+ register "btn_cfg" = "50"
+ register "mic_det_thr" = "500"
+ register "jack_ins_deb" = "20"
+ register "jack_det_rate" = ""32ms_64ms""
+ register "jack_rem_deb" = "1"
+ register "a_d_btn_thr" = "0xa"
+ register "d_b_btn_thr" = "0x16"
+ register "b_c_btn_thr" = "0x21"
+ register "c_mic_btn_thr" = "0x3e"
+ register "btn_avg" = "4"
+ register "adc_1bit_rpt" = "1"
+ register "micbias_lvl" = "2600"
+ register "mic_amp_in_sel" = ""diff""
+ device i2c 1A on end
+ end
+ end # I2C #5
device pci 19.2 on
chip drivers/i2c/generic
register "hid" = ""ELAN0000""
diff --git a/src/mainboard/google/poppy/variants/nautilus/gpio.c b/src/mainboard/google/poppy/variants/nautilus/gpio.c
index 713309539f..51d3b77032 100644
--- a/src/mainboard/google/poppy/variants/nautilus/gpio.c
+++ b/src/mainboard/google/poppy/variants/nautilus/gpio.c
@@ -179,7 +179,7 @@ static const struct pad_config gpio_table[] = {
/* D8 : ISH_I2C1_SCL ==> NC */
PAD_CFG_NC(GPP_D8),
/* D9 : ISH_SPI_CS# ==> CHP1_HEADSET_INT_L */
- PAD_CFG_GPI_APIC_INVERT(GPP_D9, NONE, DEEP),
+ PAD_CFG_GPI_APIC(GPP_D9, 20K_PU, DEEP),
/* D10 : ISH_SPI_CLK ==> NC */
PAD_CFG_NC(GPP_D10),
/* D11 : ISH_SPI_MISO ==> NC */