Author: uwe Date: Wed Dec 15 09:56:19 2010 New Revision: 6180 URL: https://tracker.coreboot.org/trac/coreboot/changeset/6180
Log: 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 uwe@hermann-uwe.de Acked-by: Peter Stuge peter@stuge.se Acked-by: Stefan Reinauer stepan@coreboot.org
Deleted: trunk/src/mainboard/msi/ms7260/hda_verb.h trunk/src/mainboard/supermicro/h8dme/hda_verb.h trunk/src/mainboard/supermicro/h8dmr/hda_verb.h trunk/src/mainboard/supermicro/h8dmr_fam10/hda_verb.h trunk/src/mainboard/supermicro/h8qme_fam10/hda_verb.h trunk/src/mainboard/tyan/s2912/hda_verb.h trunk/src/mainboard/tyan/s2912_fam10/hda_verb.h Modified: trunk/src/mainboard/gigabyte/m57sli/hda_verb.h trunk/src/mainboard/msi/ms7260/mainboard.c trunk/src/mainboard/msi/ms9282/hda_verb.h trunk/src/mainboard/msi/ms9652_fam10/hda_verb.h trunk/src/mainboard/supermicro/h8dme/mainboard.c trunk/src/mainboard/supermicro/h8dmr/mainboard.c trunk/src/mainboard/supermicro/h8dmr_fam10/mainboard.c trunk/src/mainboard/supermicro/h8qme_fam10/mainboard.c trunk/src/mainboard/tyan/s2912/mainboard.c trunk/src/mainboard/tyan/s2912_fam10/mainboard.c
Modified: trunk/src/mainboard/gigabyte/m57sli/hda_verb.h ============================================================================== --- trunk/src/mainboard/gigabyte/m57sli/hda_verb.h Tue Dec 14 03:02:34 2010 (r6179) +++ trunk/src/mainboard/gigabyte/m57sli/hda_verb.h Wed Dec 15 09:56:19 2010 (r6180) @@ -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;
Modified: trunk/src/mainboard/msi/ms7260/mainboard.c ============================================================================== --- trunk/src/mainboard/msi/ms7260/mainboard.c Tue Dec 14 03:02:34 2010 (r6179) +++ trunk/src/mainboard/msi/ms7260/mainboard.c Wed Dec 15 09:56:19 2010 (r6180) @@ -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,
Modified: trunk/src/mainboard/msi/ms9282/hda_verb.h ============================================================================== --- trunk/src/mainboard/msi/ms9282/hda_verb.h Tue Dec 14 03:02:34 2010 (r6179) +++ trunk/src/mainboard/msi/ms9282/hda_verb.h Wed Dec 15 09:56:19 2010 (r6180) @@ -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;
Modified: trunk/src/mainboard/msi/ms9652_fam10/hda_verb.h ============================================================================== --- trunk/src/mainboard/msi/ms9652_fam10/hda_verb.h Tue Dec 14 03:02:34 2010 (r6179) +++ trunk/src/mainboard/msi/ms9652_fam10/hda_verb.h Wed Dec 15 09:56:19 2010 (r6180) @@ -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;
Modified: trunk/src/mainboard/supermicro/h8dme/mainboard.c ============================================================================== --- trunk/src/mainboard/supermicro/h8dme/mainboard.c Tue Dec 14 03:02:34 2010 (r6179) +++ trunk/src/mainboard/supermicro/h8dme/mainboard.c Wed Dec 15 09:56:19 2010 (r6180) @@ -19,22 +19,8 @@ */
#include <device/device.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("Supermicro H8DME Mainboard") - .enable_dev = mainboard_enable, }; -
Modified: trunk/src/mainboard/supermicro/h8dmr/mainboard.c ============================================================================== --- trunk/src/mainboard/supermicro/h8dmr/mainboard.c Tue Dec 14 03:02:34 2010 (r6179) +++ trunk/src/mainboard/supermicro/h8dmr/mainboard.c Wed Dec 15 09:56:19 2010 (r6180) @@ -19,26 +19,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
-#include <console/console.h> #include <device/device.h> -#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("Supermicro H8DMR Mainboard") - .enable_dev = mainboard_enable, };
Modified: trunk/src/mainboard/supermicro/h8dmr_fam10/mainboard.c ============================================================================== --- trunk/src/mainboard/supermicro/h8dmr_fam10/mainboard.c Tue Dec 14 03:02:34 2010 (r6179) +++ trunk/src/mainboard/supermicro/h8dmr_fam10/mainboard.c Wed Dec 15 09:56:19 2010 (r6180) @@ -19,26 +19,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
-#include <console/console.h> #include <device/device.h> -#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("Supermicro H8DMR Mainboard (Family 10)") - .enable_dev = mainboard_enable, };
Modified: trunk/src/mainboard/supermicro/h8qme_fam10/mainboard.c ============================================================================== --- trunk/src/mainboard/supermicro/h8qme_fam10/mainboard.c Tue Dec 14 03:02:34 2010 (r6179) +++ trunk/src/mainboard/supermicro/h8qme_fam10/mainboard.c Wed Dec 15 09:56:19 2010 (r6180) @@ -19,26 +19,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
-#include <console/console.h> #include <device/device.h> -#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("Supermicro H8QME-2+ Mainboard (Family 10)") - .enable_dev = mainboard_enable, };
Modified: trunk/src/mainboard/tyan/s2912/mainboard.c ============================================================================== --- trunk/src/mainboard/tyan/s2912/mainboard.c Tue Dec 14 03:02:34 2010 (r6179) +++ trunk/src/mainboard/tyan/s2912/mainboard.c Wed Dec 15 09:56:19 2010 (r6180) @@ -19,26 +19,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
-#include <console/console.h> #include <device/device.h> -#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("Tyan S2912 Mainboard") - .enable_dev = mainboard_enable, };
Modified: trunk/src/mainboard/tyan/s2912_fam10/mainboard.c ============================================================================== --- trunk/src/mainboard/tyan/s2912_fam10/mainboard.c Tue Dec 14 03:02:34 2010 (r6179) +++ trunk/src/mainboard/tyan/s2912_fam10/mainboard.c Wed Dec 15 09:56:19 2010 (r6180) @@ -19,26 +19,9 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
-#include <console/console.h> #include <device/device.h> -#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("Tyan S2912 Mainboard (Family 10)") - .enable_dev = mainboard_enable, };