summaryrefslogtreecommitdiff
path: root/src/mainboard/nvidia/l1_2pvv
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/nvidia/l1_2pvv')
-rw-r--r--src/mainboard/nvidia/l1_2pvv/hda_verb.h99
-rw-r--r--src/mainboard/nvidia/l1_2pvv/mainboard.c17
2 files changed, 114 insertions, 2 deletions
diff --git a/src/mainboard/nvidia/l1_2pvv/hda_verb.h b/src/mainboard/nvidia/l1_2pvv/hda_verb.h
new file mode 100644
index 0000000000..c18cab3c0a
--- /dev/null
+++ b/src/mainboard/nvidia/l1_2pvv/hda_verb.h
@@ -0,0 +1,99 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright (C) 2004 Tyan Computer
+ * Copyright (C) 2006-2007 AMD
+ * Copyright (C) 2007-2009 coresystems GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; version 2 of
+ * the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+ * MA 02110-1301 USA
+ */
+
+static u32 mainboard_cim_verb_data[] = {
+ /* coreboot specific header */
+ 0x10ec0880, // Codec Vendor ID / Device ID
+ 0x00000000, // Subsystem ID
+ 0x0000000d, // Number of jacks
+
+ /* HDA Codec Subsystem ID Verb Table: 0x0000e601 */
+ 0x00172001,
+ 0x001721e6,
+ 0x00172200,
+ 0x00172300,
+
+ 0x01471c10,
+ 0x01471d44,
+ 0x01471e01,
+ 0x01471f01,
+ // 1
+ 0x01571c12,
+ 0x01571d14,
+ 0x01571e01,
+ 0x01571f01,
+ // 2
+ 0x01671c11,
+ 0x01671d60,
+ 0x01671e01,
+ 0x01671f01,
+ // 3
+ 0x01771c14,
+ 0x01771d20,
+ 0x01771e01,
+ 0x01771f01,
+ // 4
+ 0x01871c30,
+ 0x01871d9c,
+ 0x01871ea1,
+ 0x01871f01,
+ // 5
+ 0x01971c40,
+ 0x01971d9c,
+ 0x01971ea1,
+ 0x01971f02,
+ // 6
+ 0x01a71c31,
+ 0x01a71d34,
+ 0x01a71e81,
+ 0x01a71f01,
+ // 7
+ 0x01b71c1f,
+ 0x01b71d44,
+ 0x01b71e21,
+ 0x01b71f02,
+ // 8
+ 0x01c71cf0,
+ 0x01c71d11,
+ 0x01c71e11,
+ 0x01c71f41,
+ // 9
+ 0x01d71c3e,
+ 0x01d71d01,
+ 0x01d71e83,
+ 0x01d71f99,
+ // 10
+ 0x01e71c20,
+ 0x01e71d41,
+ 0x01e71e45,
+ 0x01e71f01,
+ // 11
+ 0x01f71c50,
+ 0x01f71d91,
+ 0x01f71ec5,
+ 0x01f71f01,
+};
+
+extern u32 * cim_verb_data;
+extern u32 cim_verb_data_size;
+
diff --git a/src/mainboard/nvidia/l1_2pvv/mainboard.c b/src/mainboard/nvidia/l1_2pvv/mainboard.c
index 697fc7ce1d..4c6f0c0290 100644
--- a/src/mainboard/nvidia/l1_2pvv/mainboard.c
+++ b/src/mainboard/nvidia/l1_2pvv/mainboard.c
@@ -3,11 +3,11 @@
*
* Copyright (C) 2007 AMD
* Written by Yinghai Lu <yinghailu@amd.com> for AMD.
+ * Copyright (C) 2010 coresystems GmbH
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -24,8 +24,21 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
+#include "hda_verb.h"
#include "chip.h"
+static void verb_setup(void)
+{
+ cim_verb_data = mainboard_cim_verb_data;
+ cim_verb_data_size = sizeof(mainboard_cim_verb_data);
+}
+
+static void mainboard_enable(device_t dev)
+{
+ verb_setup();
+}
+
struct chip_operations mainboard_ops = {
CHIP_NAME("NVIDIA l1_2pvv Mainboard")
+ .enable_dev = mainboard_enable,
};