[coreboot-gerrit] Change in coreboot[master]: mainboard/intel/glkrvp: Add support for Audio AIC

Hannah Williams (Code Review) gerrit at coreboot.org
Fri May 19 20:45:53 CEST 2017


Hannah Williams has uploaded a new change for review. ( https://review.coreboot.org/19799 )

Change subject: mainboard/intel/glkrvp: Add support for Audio AIC
......................................................................

mainboard/intel/glkrvp: Add support for Audio AIC

Change-Id: I32022ddacd79917730080889c040f842e0c9e6b9
Signed-off-by: Hannah Williams <hannah.williams at intel.com>
---
M src/mainboard/intel/glkrvp/Kconfig
M src/mainboard/intel/glkrvp/variants/baseboard/devicetree.cb
M src/mainboard/intel/glkrvp/variants/baseboard/gpio.c
3 files changed, 46 insertions(+), 13 deletions(-)


  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/99/19799/1

diff --git a/src/mainboard/intel/glkrvp/Kconfig b/src/mainboard/intel/glkrvp/Kconfig
index 970781e..b7c5749 100644
--- a/src/mainboard/intel/glkrvp/Kconfig
+++ b/src/mainboard/intel/glkrvp/Kconfig
@@ -3,6 +3,8 @@
 	def_bool n
 	select SOC_INTEL_GLK
 	select BOARD_ROMSIZE_KB_16384
+	select DRIVERS_GENERIC_MAX98357A
+	select DRIVERS_I2C_DA7219
 	select HAVE_ACPI_RESUME
 	select HAVE_ACPI_TABLES
 	select MAINBOARD_HAS_CHROMEOS
@@ -79,6 +81,9 @@
 
 config INCLUDE_NHLT_BLOBS
 	bool "Include blobs for audio."
+	select NHLT_DMIC_4CH_16B
+	select NHLT_DA7219
+	select NHLT_MAX98357
 
 config IS_GLK_RVP_1
 	bool "Is this RVP1?"
diff --git a/src/mainboard/intel/glkrvp/variants/baseboard/devicetree.cb b/src/mainboard/intel/glkrvp/variants/baseboard/devicetree.cb
index 8d5e7e8..23aa6e1 100644
--- a/src/mainboard/intel/glkrvp/variants/baseboard/devicetree.cb
+++ b/src/mainboard/intel/glkrvp/variants/baseboard/devicetree.cb
@@ -77,8 +77,12 @@
 	register "gpe0_dw2" = "PMC_GPE_N_95_64"
 	register "gpe0_dw3" = "PMC_GPE_NW_31_0"
 
-	# Enable I2C2 bus early for TPM access
-	register "i2c[2].early_init" = "1"
+	# Enable I2C0 for audio codec at 400kHz
+	register "i2c[0]" = "{
+		.speed = I2C_SPEED_FAST,
+		.rise_time_ns = 104,
+		.fall_time_ns = 52,
+	}"
 
 	# Minimum SLP S3 assertion width 28ms.
 	register "slp_s3_assertion_width_usecs" = "28000"
@@ -94,7 +98,13 @@
 		device pci 0d.1 on  end	# - PMC
 		device pci 0d.2 on  end	# - SPI
 		device pci 0d.3 on  end	# - Shared SRAM
-		device pci 0e.0 on  end # - Audio
+		device pci 0e.0 on	# - Audio
+			chip drivers/generic/max98357a
+				register "sdmode_gpio" =  "ACPI_GPIO_OUTPUT_ACTIVE_HIGH(GPIO_160)"
+				register "sdmode_delay" = "5"
+				device generic 0 on end
+			end
+		end
 		device pci 0f.0 on  end # - Heci1
 		device pci 0f.1 on  end # - Heci2
 		device pci 0f.2 on  end # - Heci3
@@ -108,7 +118,25 @@
 		device pci 14.1 on  end	# - PCIe-B 1 Onboard M2 Slot(Wifi/BT)
 		device pci 15.0 on  end	# - XHCI
 		device pci 15.1 off end # - XDCI
-		device pci 16.0 on  end	# - I2C 0
+		device pci 16.0 on	# - I2C 0
+			chip drivers/i2c/da7219
+				register "irq" = "ACPI_IRQ_LEVEL_LOW(GPIO_20_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
 		device pci 16.1 off end	# - I2C 1
 		device pci 16.2 off end # - I2C 2
 		device pci 16.3 off end # - I2C 3
diff --git a/src/mainboard/intel/glkrvp/variants/baseboard/gpio.c b/src/mainboard/intel/glkrvp/variants/baseboard/gpio.c
index 76a6f4d..5fbf48f 100644
--- a/src/mainboard/intel/glkrvp/variants/baseboard/gpio.c
+++ b/src/mainboard/intel/glkrvp/variants/baseboard/gpio.c
@@ -190,20 +190,20 @@
 	PAD_CFG_GPO_1(GPIO_157, HI, DEEP, UP_20K, IGNORE, SAME),/*WWAN_Reset/dGPS Reset*/
 	PAD_CFG_GPO_1(GPIO_158, LO, DEEP, DN_20K, IGNORE, SAME),/*NFC_DFU*/
 	PAD_CFG_GPO_1(GPIO_159, HI, DEEP, UP_20K, TxDRxE, ENPD),/*NFC reset*/
-	PAD_CFG_GPO_1(GPIO_160, HI, DEEP, UP_20K, IGNORE, SAME),/*MDSI reset*/
+	PAD_CFG_GPO_1(GPIO_160, LO, DEEP, UP_20K, IGNORE, SAME),/*MDSI reset*/
 	PAD_CFG_GPO_1(GPIO_161, HI, DEEP, UP_20K, IGNORE, SAME),/*Touch panel reset*/
-	PAD_CFG_GPO_1(GPIO_162, HI, DEEP, UP_20K, IGNORE, SAME),/*AVS_I2S1_BCLK*/
-	PAD_CFG_GPO_1(GPIO_163, HI, DEEP, UP_20K, IGNORE, SAME),/*M.2 WiFi Reset*/
+	PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_162, DN_20K, DEEP, NF1, HIZCRx1, SAME),/*AVS_I2S1_BCLK*/
+	PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_163, DN_20K, DEEP, NF1, HIZCRx1, SAME),/*AVS_I2S1_WS_SYNC*/
 	PAD_CFG_GPO_1(GPIO_164, HI, DEEP, UP_20K, TxDRxE, ENPD),/*Touch Panel Power Enable*/
-	PAD_CFG_GPO_1(GPIO_165, HI, DEEP, UP_20K, IGNORE, SAME),/*WWAN PWR EN/Full card power off*/
+	PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_165, DN_20K, DEEP, NF1, HIZCRx1, SAME),/*AVS_I2S1_SDO*/
 
 /* AUDIO COMMUNITY GPIOS*/
 
-	PAD_CFG_NF_IOSSTATE(GPIO_166, DN_20K, DEEP, NF1, HIZCRx1),/*AVS_HDA_BCLK*/
-	PAD_CFG_NF_IOSSTATE(GPIO_167, DN_20K, DEEP, NF1, HIZCRx1),/*AVS_HDA_WS_SYNC*/
-	PAD_CFG_NF_IOSSTATE(GPIO_168, DN_20K, DEEP, NF1, HIZCRx1),/*AVS_HDA_SDI*/
-	PAD_CFG_NF_IOSSTATE(GPIO_169, DN_20K, DEEP, NF1, HIZCRx1),/*AVS_HDA_SDO*/
-	PAD_CFG_NF_IOSSTATE(GPIO_170, DN_20K, DEEP, NF1, HIZCRx1),/*AVS_HDA_RSTB*/
+	PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_166, DN_20K, DEEP, NF2, HIZCRx1, SAME),/*AVS_I2S2_BCLK*/
+	PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_167, DN_20K, DEEP, NF2, HIZCRx1, SAME),/*AVS_I2S2_WS_SYNC*/
+	PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_168, DN_20K, DEEP, NF2, HIZCRx1, SAME),/* AVS_I2S2_SDI*/
+	PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_169, DN_20K, DEEP, NF2, HIZCRx1, SAME),/*AVS_I2S2_SD0*/
+	PAD_CFG_NF_IOSSTATE_IOSTERM(GPIO_170, DN_20K, DEEP, NF2, HIZCRx1, SAME),/*AVS_I2S1_MCLK*/
 	PAD_CFG_NF_IOSSTATE(GPIO_171, DN_20K, DEEP, NF1, HIZCRx1),/*AVS_M_CLK_A1*/
 	PAD_CFG_NF_IOSSTATE(GPIO_172, DN_20K, DEEP, NF1, HIZCRx1),/*AVS_M_CLK_B1*/
 	PAD_CFG_NF_IOS(GPIO_173, DN_20K, DEEP, NF1, HIZCRx1, ENPD),/*AVS_M_DATA_1*/

-- 
To view, visit https://review.coreboot.org/19799
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I32022ddacd79917730080889c040f842e0c9e6b9
Gerrit-PatchSet: 1
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Owner: Hannah Williams <hannah.williams at intel.com>



More information about the coreboot-gerrit mailing list