<p>Lijian Zhao has uploaded this change for <strong>review</strong>.</p><p><a href="https://review.coreboot.org/29484">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">[wip]mb/google/sarien: Add HD Audio verb table<br><br>Implement HD Audio verb table for RealTek ALC 3204 codec on google<br>sarien and arcada board.<br><br>BUG=N/A<br><br>Change-Id: Icedbb510c7668d96c99c657091fc865f03bf7783<br>Signed-off-by: Lijian Zhao <lijian.zhao@intel.com><br>---<br>M src/mainboard/google/sarien/Kconfig<br>M src/mainboard/google/sarien/Makefile.inc<br>A src/mainboard/google/sarien/hda_verb.c<br>A src/mainboard/google/sarien/variants/arcada/include/variant/hda_verb.h<br>A src/mainboard/google/sarien/variants/sarien/include/variant/hda_verb.h<br>5 files changed, 374 insertions(+), 0 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://review.coreboot.org:29418/coreboot refs/changes/84/29484/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/mainboard/google/sarien/Kconfig b/src/mainboard/google/sarien/Kconfig</span><br><span>index fcf9f44..ccea12a 100644</span><br><span>--- a/src/mainboard/google/sarien/Kconfig</span><br><span>+++ b/src/mainboard/google/sarien/Kconfig</span><br><span>@@ -18,6 +18,7 @@</span><br><span>       select SPD_READ_BY_WORD</span><br><span>      select SYSTEM_TYPE_LAPTOP</span><br><span>    select TPM2</span><br><span style="color: hsl(120, 100%, 40%);">+   select SOC_INTEL_COMMON_BLOCK_HDA_VERB</span><br><span> </span><br><span> if BOARD_GOOGLE_BASEBOARD_SARIEN</span><br><span> </span><br><span>diff --git a/src/mainboard/google/sarien/Makefile.inc b/src/mainboard/google/sarien/Makefile.inc</span><br><span>index 3370900..5b8fdca 100644</span><br><span>--- a/src/mainboard/google/sarien/Makefile.inc</span><br><span>+++ b/src/mainboard/google/sarien/Makefile.inc</span><br><span>@@ -26,5 +26,7 @@</span><br><span> romstage-$(CONFIG_CHROMEOS) += chromeos.c</span><br><span> verstage-$(CONFIG_CHROMEOS) += chromeos.c</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+ramstage-$(CONFIG_SOC_INTEL_COMMON_BLOCK_HDA_VERB) += hda_verb.c</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> subdirs-y += variants/$(VARIANT_DIR)</span><br><span> CPPFLAGS_common += -I$(src)/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/include</span><br><span>diff --git a/src/mainboard/google/sarien/hda_verb.c b/src/mainboard/google/sarien/hda_verb.c</span><br><span>new file mode 100644</span><br><span>index 0000000..9ab4778</span><br><span>--- /dev/null</span><br><span>+++ b/src/mainboard/google/sarien/hda_verb.c</span><br><span>@@ -0,0 +1,16 @@</span><br><span style="color: hsl(120, 100%, 40%);">+/*</span><br><span style="color: hsl(120, 100%, 40%);">+ * This file is part of the coreboot project.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * Copyright (C) 2018 Intel Corporation</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is free software; you can redistribute it and/or</span><br><span style="color: hsl(120, 100%, 40%);">+ * modify it under the terms of the GNU General Public License as</span><br><span style="color: hsl(120, 100%, 40%);">+ * published by the Free Software Foundation; version 2 of the License.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(120, 100%, 40%);">+ * but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(120, 100%, 40%);">+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span><br><span style="color: hsl(120, 100%, 40%);">+ * GNU General Public License for more details.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#include "variant/hda_verb.h"</span><br><span>diff --git a/src/mainboard/google/sarien/variants/arcada/include/variant/hda_verb.h b/src/mainboard/google/sarien/variants/arcada/include/variant/hda_verb.h</span><br><span>new file mode 100644</span><br><span>index 0000000..75fd336</span><br><span>--- /dev/null</span><br><span>+++ b/src/mainboard/google/sarien/variants/arcada/include/variant/hda_verb.h</span><br><span>@@ -0,0 +1,206 @@</span><br><span style="color: hsl(120, 100%, 40%);">+/*</span><br><span style="color: hsl(120, 100%, 40%);">+ * This file is part of the coreboot project.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * Copyright 2018 Google LLC</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is free software; you can redistribute it and/or</span><br><span style="color: hsl(120, 100%, 40%);">+ * modify it under the terms of the GNU General Public License as</span><br><span style="color: hsl(120, 100%, 40%);">+ * published by the Free Software Foundation; version 2 of the License.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(120, 100%, 40%);">+ * but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(120, 100%, 40%);">+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span><br><span style="color: hsl(120, 100%, 40%);">+ * GNU General Public License for more details.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#ifndef MAINBOARD_HDA_VERB_H</span><br><span style="color: hsl(120, 100%, 40%);">+#define MAINBOARD_HDA_VERB_H</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#include <device/azalia_device.h></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+const u32 cim_verb_data[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+ /* coreboot specific header */</span><br><span style="color: hsl(120, 100%, 40%);">+        0x10ec0295,     // Codec Vendor / Device ID: Realtek ALC3204</span><br><span style="color: hsl(120, 100%, 40%);">+  0x102808b6,     // Subsystem ID</span><br><span style="color: hsl(120, 100%, 40%);">+       0x0000000b,     // Number of jacks (NID entries)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    /* NID 0x01, HDA Codec Subsystem ID Verb Table */</span><br><span style="color: hsl(120, 100%, 40%);">+     AZALIA_SUBVENDOR(0x0, 0x102808b6),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  /* Pin Widget Verb Table */</span><br><span style="color: hsl(120, 100%, 40%);">+   AZALIA_PIN_CFG(0x0, 0x12, 0xb7a60130),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x13, 0x411111f0),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x14, 0x90170110),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x16, 0x40000000),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x17, 0x411111f0),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x18, 0x411111f0),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x19, 0x411111f0),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x1a, 0x411111f0),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x1b, 0x411111f0),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x1d, 0x40c00001),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x1e, 0x421212f2),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x21, 0x04211020),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      /* D reset */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x0205003C,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204F254,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0205003C,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204F214,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* JD1 - 2port JD mode */</span><br><span style="color: hsl(120, 100%, 40%);">+     0x02050009,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204E003,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0205000A,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02047770,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Set TRS type-1 */</span><br><span style="color: hsl(120, 100%, 40%);">+  0x02050045,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02045289,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050049,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02040049,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Set TRS type-2 + Set UAJ Line2 vref(ALC3254) */</span><br><span style="color: hsl(120, 100%, 40%);">+    0x0205004A,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204A830,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050063,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204CF00,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* NID 0x20 set class-D to 2W@4ohm (+12dB gain) + Set sine tone gain(0x34) */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x02050038,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02043909,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05C50000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05C43482,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* AGC-1 Disable + (Front Gain=0dB ) */</span><br><span style="color: hsl(120, 100%, 40%);">+       0x05D50006,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05D44C50,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05D50002,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05D44004,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* AGC-2   (Backt Boost Gain= -0.375dB  ,Limiter = -3dB) */</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05D50003,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05D45E5E,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05D50001,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05D4D788,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* AGC-3 + AGC Enable */</span><br><span style="color: hsl(120, 100%, 40%);">+      0x05D50009,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05D451FF,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05D50006,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05D44E50,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* HP-JD Enable +Nokia type */</span><br><span style="color: hsl(120, 100%, 40%);">+        0x0205004A,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02042010,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050008,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02046A0C,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* EAPD set to verb-control + I2C Un-use+ DVDD3.3V */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x02050010,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02040020,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050034,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204A23D,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Class D silent detection Enable -84dB threshold */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x02050030,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02049000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050037,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204FE15,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Disable EQ + set 250Hz 3rd High Pass filter */</span><br><span style="color: hsl(120, 100%, 40%);">+     0x05350000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0534203A,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05350000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0534203A,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Left Channel-1 */</span><br><span style="color: hsl(120, 100%, 40%);">+  0x0535001d,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05340800,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0535001e,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05340800,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Left Channel-2 */</span><br><span style="color: hsl(120, 100%, 40%);">+  0x05350003,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05341EF8,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05350004,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05340000,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Left Channel-3 */</span><br><span style="color: hsl(120, 100%, 40%);">+  0x05350005,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x053403EE,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05350006,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0534FA60,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Left Channel-4 */</span><br><span style="color: hsl(120, 100%, 40%);">+  0x05350007,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05341E10,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05350008,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05347B86,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Left Channel-5 */</span><br><span style="color: hsl(120, 100%, 40%);">+  0x05350009,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x053401F7,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0535000A,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05349FB6,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Left Channel-6 */</span><br><span style="color: hsl(120, 100%, 40%);">+  0x0535000B,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05341C00,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0535000C,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05340000,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Left Channel-7 */</span><br><span style="color: hsl(120, 100%, 40%);">+  0x0535000D,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05340200,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0535000E,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05340000,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Right Channel-1 */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x05450000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05442000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0545001d,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05440800,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Right Channel-2 */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x0545001e,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05440800,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05450003,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05441EF8,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Right Channel-3 */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x05450004,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05440000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05450005,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x054403EE,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Right Channel-4 */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x05450006,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0544FA60,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05450007,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05441E10,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Right Channel-5 */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x05450008,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05447B86,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05450009,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x054401F7,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Right Channel-6 */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x0545000A,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05449FB6,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0545000B,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05441C00,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Right Channel-7 */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x0545000C,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05440000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0545000D,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05440200,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Right Channel-8 + EQ Update & Enable */</span><br><span style="color: hsl(120, 100%, 40%);">+        0x0545000E,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05440000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05350000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0534E03A,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Enable all Microphone */</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0205000D,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204A023,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0205000D,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204A023,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Enable Internal Speaker (NID14) */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x0205000F,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02040000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0205000F,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02040000,</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+const u32 pc_beep_verbs[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+      /* PCBeep pass through to NID14 for ePSA test-1 */</span><br><span style="color: hsl(120, 100%, 40%);">+    0x02050036,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x020477D7,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0143B000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x01470740,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* PCBeep pass through to NID14 for ePSA test-2 */</span><br><span style="color: hsl(120, 100%, 40%);">+    0x01470C02,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x01470C02,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x01470C02,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x01470C02,</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+AZALIA_ARRAY_SIZES;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span>diff --git a/src/mainboard/google/sarien/variants/sarien/include/variant/hda_verb.h b/src/mainboard/google/sarien/variants/sarien/include/variant/hda_verb.h</span><br><span>new file mode 100644</span><br><span>index 0000000..423c7f4</span><br><span>--- /dev/null</span><br><span>+++ b/src/mainboard/google/sarien/variants/sarien/include/variant/hda_verb.h</span><br><span>@@ -0,0 +1,149 @@</span><br><span style="color: hsl(120, 100%, 40%);">+/*</span><br><span style="color: hsl(120, 100%, 40%);">+ * This file is part of the coreboot project.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * Copyright 2018 Google LLC</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is free software; you can redistribute it and/or</span><br><span style="color: hsl(120, 100%, 40%);">+ * modify it under the terms of the GNU General Public License as</span><br><span style="color: hsl(120, 100%, 40%);">+ * published by the Free Software Foundation; version 2 of the License.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This program is distributed in the hope that it will be useful,</span><br><span style="color: hsl(120, 100%, 40%);">+ * but WITHOUT ANY WARRANTY; without even the implied warranty of</span><br><span style="color: hsl(120, 100%, 40%);">+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span><br><span style="color: hsl(120, 100%, 40%);">+ * GNU General Public License for more details.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#ifndef MAINBOARD_HDA_VERB_H</span><br><span style="color: hsl(120, 100%, 40%);">+#define MAINBOARD_HDA_VERB_H</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#include <device/azalia_device.h></span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+const u32 cim_verb_data[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+        /* coreboot specific header */</span><br><span style="color: hsl(120, 100%, 40%);">+        0x10ec0236,     // Codec Vendor / Device ID: Realtek ALC3204</span><br><span style="color: hsl(120, 100%, 40%);">+  0x102808b8,     // Subsystem ID</span><br><span style="color: hsl(120, 100%, 40%);">+       0x0000000b,     // Number of jacks (NID entries)</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+    /* NID 0x01, HDA Codec Subsystem ID Verb Table */</span><br><span style="color: hsl(120, 100%, 40%);">+     AZALIA_SUBVENDOR(0x0, 0x102808b8),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+  /* Pin Widget Verb Table */</span><br><span style="color: hsl(120, 100%, 40%);">+   AZALIA_PIN_CFG(0x0, 0x12, 0x90a60140),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x13, 0x40000000),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x14, 0x90170110),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x18, 0x411111f0),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x19, 0x02a11030),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x1a, 0x411111f0),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x1b, 0x411111f0),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x1d, 0x40700001),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x1e, 0x421212f2),</span><br><span style="color: hsl(120, 100%, 40%);">+        AZALIA_PIN_CFG(0x0, 0x21, 0x02211020),</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+      /* ALC3204 default-1 */</span><br><span style="color: hsl(120, 100%, 40%);">+       0x02050040,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02049800,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050034,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204023C,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* ALC3204 default-2 */</span><br><span style="color: hsl(120, 100%, 40%);">+       0x0205003C,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02040354,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0205003C,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02040314,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* ALC3204 Speaker output power - 4 ohm 2W (+12dB gain)  + Combo Jack TRS setting */</span><br><span style="color: hsl(120, 100%, 40%);">+  0x02050038,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02043901,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050045,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02045089,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* H/W AGC setting-1 */</span><br><span style="color: hsl(120, 100%, 40%);">+       0x02050016,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02040C50,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050012,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204EBC2,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* H/W AGC setting-2 */</span><br><span style="color: hsl(120, 100%, 40%);">+       0x02050013,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204401D,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050016,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02044E50,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Zero data  + EAPD to verb-control */</span><br><span style="color: hsl(120, 100%, 40%);">+       0x02050037,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204FE15,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050010,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02040020,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Zero data */</span><br><span style="color: hsl(120, 100%, 40%);">+       0x02050030,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02048000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050030,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02048000,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* ALC3204 default-3 */</span><br><span style="color: hsl(120, 100%, 40%);">+       0x05750003,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05740DA3,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050046,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02040004,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* ALC3204 default-4 */</span><br><span style="color: hsl(120, 100%, 40%);">+       0x0205001B,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02040A4B,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050008,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02046A6C,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* JD1 */</span><br><span style="color: hsl(120, 100%, 40%);">+     0x02050009,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204E003,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0205000A,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02047770,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Microphone + Array MIC  security Disable  +ADC clock Enable */</span><br><span style="color: hsl(120, 100%, 40%);">+     0x0205000D,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0204A020,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050005,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02040700,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* Speaker Enable */</span><br><span style="color: hsl(120, 100%, 40%);">+  0x0205000C,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x020401EF,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0205000C,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x020401EF,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* EQ Bypass + EQ HPF cutoff 250Hz */</span><br><span style="color: hsl(120, 100%, 40%);">+ 0x05350000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0534201A,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0535001d,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05340800,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* EQ-2 */</span><br><span style="color: hsl(120, 100%, 40%);">+    0x0535001e,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05340800,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05350003,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05341EF8,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* EQ-3 */</span><br><span style="color: hsl(120, 100%, 40%);">+    0x05350004,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05340000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05450000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05442000,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* EQ-4 */</span><br><span style="color: hsl(120, 100%, 40%);">+    0x0545001d,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05440800,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0545001e,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05440800,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* EQ-5 */</span><br><span style="color: hsl(120, 100%, 40%);">+    0x05450003,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05441EF8,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05450004,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05440000,</span><br><span style="color: hsl(120, 100%, 40%);">+   /* EQ Update */</span><br><span style="color: hsl(120, 100%, 40%);">+       0x05350000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0534E01A,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x05350000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0534E01A,</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+const u32 pc_beep_verbs[] = {</span><br><span style="color: hsl(120, 100%, 40%);">+/* PCBeep pass through to NID14 for ePSA test-1 */</span><br><span style="color: hsl(120, 100%, 40%);">+  0x02050036,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02047717,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02050036,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x02047717,</span><br><span style="color: hsl(120, 100%, 40%);">+/* PCBeep pass through to NID14 for ePSA test-2 */</span><br><span style="color: hsl(120, 100%, 40%);">+       0x01470740,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x0143B000,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x01470C02,</span><br><span style="color: hsl(120, 100%, 40%);">+   0x01470C02,</span><br><span style="color: hsl(120, 100%, 40%);">+};</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+AZALIA_ARRAY_SIZES;</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+#endif</span><br><span></span><br></pre><p>To view, visit <a href="https://review.coreboot.org/29484">change 29484</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://review.coreboot.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://review.coreboot.org/29484"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: coreboot </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: Icedbb510c7668d96c99c657091fc865f03bf7783 </div>
<div style="display:none"> Gerrit-Change-Number: 29484 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Lijian Zhao <lijian.zhao@intel.com> </div>