From 5bcb23ebbb85d9616f8ba2a82e48178559b350e6 Mon Sep 17 00:00:00 2001 From: Naveen Manohar Date: Sat, 4 Nov 2017 04:00:12 +0530 Subject: mb/google/poppy/variants/nautilus: Enable Dialog DA7219 support Enable Dialog DA7219 codec i2c device and add required SSDT parameters BUG=b:68686020 TEST=With req'd driver support in kernel v4.4 verify audio on headset Change-Id: Ic815c929f29bec0d26a2981e9933b752c2d84c70 Signed-off-by: Naveen Manohar Signed-off-by: Shruthi Sudhakar Reviewed-on: https://review.coreboot.org/22264 Tested-by: build bot (Jenkins) Reviewed-by: Furquan Shaikh --- src/mainboard/google/poppy/Kconfig | 1 + .../google/poppy/variants/nautilus/devicetree.cb | 27 +++++++++++++++++++++- .../google/poppy/variants/nautilus/gpio.c | 2 +- 3 files changed, 28 insertions(+), 2 deletions(-) (limited to 'src/mainboard/google') 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 */ -- cgit v1.2.3