From 41dc1c0656a60484464834fb5b05290035af280a Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Wed, 15 Dec 2010 08:56:19 +0000 Subject: Cleanup up HD audio codec / hda_verb.h files. Most of the current hda_verb.h files are identical (same MD5 sum) and are intended for a specific MCP55 board with the Realtek ALC880 audio codec, which has the vendor/device ID of 0x10ec0880. They were splitted out from the MCP55 southbridge code and put into board dirs a long time ago (which is correct, as those settings are indeed board-specific), but they were never adapted to those boards. Here's the table of which codec is soldered onto which board, based on checking the vendor website board spec pages, and the board manuals: - GIGABYTE GA-M57SLI-S4: Realtek ALC883 - MSI MS-7260: Realtek ALC883 - MSI MS-9652: Realtek ALC888 - MSI MS-9282: Server board, doesn't have audio at all - Tyan S2912: Server board, doesn't have audio at all - All Supermicro boards: Server boards, don't have audio at all - NVIDIA l1_2pvv: No public info to be found, but I assume this was the original MCP55 eval board for the port and it's probably has the Realtek ALC880 codec used in the original hda_verb.h. These are the codec vendor device/IDs involved: Realtek ALC880: 0x10ec0880 Realtek ALC883: 0x10ec0883 Realtek ALC888: 0x10ec0888 The following files are marked as incorrect / TODO, as the ID of the codec doesn't match and thus will never get actually used (you'll see "HDA: no verb!" or similar in the coreboot logs). Even if the ID matched, the rest of the table would be incorrect anyway because the values are highly board-specific. ./src/mainboard/gigabyte/m57sli/hda_verb.h ./src/mainboard/msi/ms9652_fam10/hda_verb.h ./src/mainboard/msi/ms9282/hda_verb.h The following files can be safely dropped as these are server boards and don't have HD audio (or other audio) at all: ./src/mainboard/supermicro/h8dmr/hda_verb.h ./src/mainboard/supermicro/h8qme_fam10/hda_verb.h ./src/mainboard/supermicro/h8dme/hda_verb.h ./src/mainboard/supermicro/h8dmr_fam10/hda_verb.h ./src/mainboard/tyan/s2912/hda_verb.h ./src/mainboard/tyan/s2912_fam10/hda_verb.h The following two are correct and can stay: ./src/mainboard/nvidia/l1_2pvv/hda_verb.h ./src/mainboard/getac/p470/hda_verb.h Abuild-tested. Signed-off-by: Uwe Hermann Acked-by: Peter Stuge Acked-by: Stefan Reinauer git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6180 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1 --- src/mainboard/msi/ms7260/hda_verb.h | 99 ------------------------------- src/mainboard/msi/ms7260/mainboard.c | 9 ++- src/mainboard/msi/ms9282/hda_verb.h | 51 ++++++++++------ src/mainboard/msi/ms9652_fam10/hda_verb.h | 51 ++++++++++------ 4 files changed, 70 insertions(+), 140 deletions(-) delete mode 100644 src/mainboard/msi/ms7260/hda_verb.h (limited to 'src/mainboard/msi') diff --git a/src/mainboard/msi/ms7260/hda_verb.h b/src/mainboard/msi/ms7260/hda_verb.h deleted file mode 100644 index c18cab3c0a..0000000000 --- a/src/mainboard/msi/ms7260/hda_verb.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * 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/msi/ms7260/mainboard.c b/src/mainboard/msi/ms7260/mainboard.c index 9424352e0c..55b4cb90c9 100644 --- a/src/mainboard/msi/ms7260/mainboard.c +++ b/src/mainboard/msi/ms7260/mainboard.c @@ -24,16 +24,15 @@ static void verb_setup(void) { - cim_verb_data = mainboard_cim_verb_data; - cim_verb_data_size = sizeof(mainboard_cim_verb_data); + // cim_verb_data = mainboard_cim_verb_data; + // cim_verb_data_size = sizeof(mainboard_cim_verb_data); } -static void mainboard_enable(device_t dev) +static void mainboard_enable(device_t dev) { - verb_setup(); + // verb_setup(); } - struct chip_operations mainboard_ops = { CHIP_NAME("MSI K9N Neo (MS-7260) Mainboard") .enable_dev = mainboard_enable, diff --git a/src/mainboard/msi/ms9282/hda_verb.h b/src/mainboard/msi/ms9282/hda_verb.h index c18cab3c0a..d725c62a50 100644 --- a/src/mainboard/msi/ms9282/hda_verb.h +++ b/src/mainboard/msi/ms9282/hda_verb.h @@ -7,8 +7,7 @@ * * 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. + * 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 @@ -17,83 +16,99 @@ * * 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 + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * FIXME: This file is currently unused and incorrect for this board. + * Someone who owns the board should replace it with a correct one. */ static u32 mainboard_cim_verb_data[] = { /* coreboot specific header */ - 0x10ec0880, // Codec Vendor ID / Device ID + 0x10ec0880, // Codec Vendor / Device ID: Realtek ALC880 0x00000000, // Subsystem ID 0x0000000d, // Number of jacks - /* HDA Codec Subsystem ID Verb Table: 0x0000e601 */ + /* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x0000e601 */ 0x00172001, 0x001721e6, 0x00172200, 0x00172300, + /* NID 0x14, FRONT-OUT-L/R */ 0x01471c10, 0x01471d44, 0x01471e01, 0x01471f01, - // 1 + + /* NID 0x15, SURR-OUT-L/R */ 0x01571c12, 0x01571d14, 0x01571e01, 0x01571f01, - // 2 + + /* NID 0x16, CEN/LFE-OUT */ 0x01671c11, 0x01671d60, 0x01671e01, 0x01671f01, - // 3 + + /* NID 0x17, SIDE-SURR-L/R */ 0x01771c14, 0x01771d20, 0x01771e01, 0x01771f01, - // 4 + + /* NID 0x18, MIC1-L/R, VREFO */ 0x01871c30, 0x01871d9c, 0x01871ea1, 0x01871f01, - // 5 + + /* NID 0x19, MIC2-L/R, VREFO */ 0x01971c40, 0x01971d9c, 0x01971ea1, 0x01971f02, - // 6 + + /* NID 0x1a, LINE1-L/R, VREFO */ 0x01a71c31, 0x01a71d34, 0x01a71e81, 0x01a71f01, - // 7 + + /* NID 0x1b, LINE2-L/R, VREFO */ 0x01b71c1f, 0x01b71d44, 0x01b71e21, 0x01b71f02, - // 8 + + /* NID 0x1c, CD-L/R / GND */ 0x01c71cf0, 0x01c71d11, 0x01c71e11, 0x01c71f41, - // 9 + + /* NID 0x1d, PCBEEP */ 0x01d71c3e, 0x01d71d01, 0x01d71e83, 0x01d71f99, - // 10 + + /* NID 0x1e, S/PDIF-OUT */ 0x01e71c20, 0x01e71d41, 0x01e71e45, 0x01e71f01, - // 11 + + /* NID 0x1f, S/PDIF-IN */ 0x01f71c50, 0x01f71d91, 0x01f71ec5, 0x01f71f01, }; -extern u32 * cim_verb_data; +extern u32 *cim_verb_data; extern u32 cim_verb_data_size; diff --git a/src/mainboard/msi/ms9652_fam10/hda_verb.h b/src/mainboard/msi/ms9652_fam10/hda_verb.h index c18cab3c0a..d725c62a50 100644 --- a/src/mainboard/msi/ms9652_fam10/hda_verb.h +++ b/src/mainboard/msi/ms9652_fam10/hda_verb.h @@ -7,8 +7,7 @@ * * 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. + * 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 @@ -17,83 +16,99 @@ * * 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 + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * FIXME: This file is currently unused and incorrect for this board. + * Someone who owns the board should replace it with a correct one. */ static u32 mainboard_cim_verb_data[] = { /* coreboot specific header */ - 0x10ec0880, // Codec Vendor ID / Device ID + 0x10ec0880, // Codec Vendor / Device ID: Realtek ALC880 0x00000000, // Subsystem ID 0x0000000d, // Number of jacks - /* HDA Codec Subsystem ID Verb Table: 0x0000e601 */ + /* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x0000e601 */ 0x00172001, 0x001721e6, 0x00172200, 0x00172300, + /* NID 0x14, FRONT-OUT-L/R */ 0x01471c10, 0x01471d44, 0x01471e01, 0x01471f01, - // 1 + + /* NID 0x15, SURR-OUT-L/R */ 0x01571c12, 0x01571d14, 0x01571e01, 0x01571f01, - // 2 + + /* NID 0x16, CEN/LFE-OUT */ 0x01671c11, 0x01671d60, 0x01671e01, 0x01671f01, - // 3 + + /* NID 0x17, SIDE-SURR-L/R */ 0x01771c14, 0x01771d20, 0x01771e01, 0x01771f01, - // 4 + + /* NID 0x18, MIC1-L/R, VREFO */ 0x01871c30, 0x01871d9c, 0x01871ea1, 0x01871f01, - // 5 + + /* NID 0x19, MIC2-L/R, VREFO */ 0x01971c40, 0x01971d9c, 0x01971ea1, 0x01971f02, - // 6 + + /* NID 0x1a, LINE1-L/R, VREFO */ 0x01a71c31, 0x01a71d34, 0x01a71e81, 0x01a71f01, - // 7 + + /* NID 0x1b, LINE2-L/R, VREFO */ 0x01b71c1f, 0x01b71d44, 0x01b71e21, 0x01b71f02, - // 8 + + /* NID 0x1c, CD-L/R / GND */ 0x01c71cf0, 0x01c71d11, 0x01c71e11, 0x01c71f41, - // 9 + + /* NID 0x1d, PCBEEP */ 0x01d71c3e, 0x01d71d01, 0x01d71e83, 0x01d71f99, - // 10 + + /* NID 0x1e, S/PDIF-OUT */ 0x01e71c20, 0x01e71d41, 0x01e71e45, 0x01e71f01, - // 11 + + /* NID 0x1f, S/PDIF-IN */ 0x01f71c50, 0x01f71d91, 0x01f71ec5, 0x01f71f01, }; -extern u32 * cim_verb_data; +extern u32 *cim_verb_data; extern u32 cim_verb_data_size; -- cgit v1.2.3