summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Serbinenko <phcoder@gmail.com>2014-09-05 01:01:31 +0200
committerVladimir Serbinenko <phcoder@gmail.com>2014-09-13 00:42:14 +0200
commit75c83870e51e6bc48a83114c64177432d3204b1f (patch)
tree98284c8843dc1a27a2df4e46b493386934d51a32
parenta812643723419f4fe3f079731a9d10d2dc083aae (diff)
downloadcoreboot-75c83870e51e6bc48a83114c64177432d3204b1f.tar.xz
azalia: Shrink boilerplate
Change-Id: Ib3e09644c0ee71aacb067adaa85653d151b52078 Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com> Reviewed-on: http://review.coreboot.org/6840 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org> Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
-rw-r--r--src/device/Makefile.inc4
-rw-r--r--src/device/azalia_device.c3
-rw-r--r--src/include/device/azalia_device.h19
-rw-r--r--src/mainboard/apple/macbook21/hda_verb.c (renamed from src/mainboard/apple/macbook21/hda_verb.h)8
-rw-r--r--src/mainboard/apple/macbook21/mainboard.c4
-rw-r--r--src/mainboard/asus/m2n-e/hda_verb.c (renamed from src/mainboard/asus/m2n-e/hda_verb.h)5
-rw-r--r--src/mainboard/asus/m2n-e/mainboard.c8
-rw-r--r--src/mainboard/dmp/vortex86ex/hda_verb.c (renamed from src/mainboard/dmp/vortex86ex/hda_verb.h)8
-rw-r--r--src/mainboard/dmp/vortex86ex/mainboard.c8
-rw-r--r--src/mainboard/emulation/qemu-q35/hda_verb.c7
-rw-r--r--src/mainboard/getac/p470/hda_verb.c (renamed from src/mainboard/getac/p470/hda_verb.h)8
-rw-r--r--src/mainboard/getac/p470/mainboard.c8
-rw-r--r--src/mainboard/gigabyte/m57sli/mainboard.c8
-rw-r--r--src/mainboard/google/bolt/hda_verb.c (renamed from src/mainboard/google/bolt/hda_verb.h)8
-rw-r--r--src/mainboard/google/bolt/mainboard.c9
-rw-r--r--src/mainboard/google/butterfly/hda_verb.c (renamed from src/mainboard/google/butterfly/hda_verb.h)9
-rw-r--r--src/mainboard/google/butterfly/mainboard.c12
-rw-r--r--src/mainboard/google/falco/hda_verb.c (renamed from src/mainboard/google/falco/hda_verb.h)9
-rw-r--r--src/mainboard/google/falco/mainboard.c12
-rw-r--r--src/mainboard/google/link/hda_verb.c (renamed from src/mainboard/google/link/hda_verb.h)9
-rw-r--r--src/mainboard/google/link/mainboard.c11
-rw-r--r--src/mainboard/google/panther/hda_verb.c (renamed from src/mainboard/google/panther/hda_verb.h)9
-rw-r--r--src/mainboard/google/panther/mainboard.c12
-rw-r--r--src/mainboard/google/parrot/hda_verb.c (renamed from src/mainboard/google/parrot/hda_verb.h)9
-rw-r--r--src/mainboard/google/parrot/mainboard.c12
-rw-r--r--src/mainboard/google/peppy/hda_verb.c (renamed from src/mainboard/google/peppy/hda_verb.h)9
-rw-r--r--src/mainboard/google/peppy/mainboard.c12
-rw-r--r--src/mainboard/google/samus/hda_verb.c7
-rw-r--r--src/mainboard/google/slippy/hda_verb.c (renamed from src/mainboard/google/slippy/hda_verb.h)9
-rw-r--r--src/mainboard/google/slippy/mainboard.c12
-rw-r--r--src/mainboard/google/stout/hda_verb.c (renamed from src/mainboard/google/stout/hda_verb.h)9
-rw-r--r--src/mainboard/google/stout/mainboard.c11
-rw-r--r--src/mainboard/ibase/mb899/hda_verb.c7
-rw-r--r--src/mainboard/ibase/mb899/mainboard.c9
-rw-r--r--src/mainboard/intel/baskingridge/hda_verb.c (renamed from src/mainboard/intel/emeraldlake2/hda_verb.h)8
-rw-r--r--src/mainboard/intel/baskingridge/mainboard.c9
-rw-r--r--src/mainboard/intel/cougar_canyon2/hda_verb.c (renamed from src/mainboard/intel/cougar_canyon2/hda_verb.h)5
-rw-r--r--src/mainboard/intel/cougar_canyon2/mainboard.c9
-rw-r--r--src/mainboard/intel/d945gclf/hda_verb.c7
-rw-r--r--src/mainboard/intel/emeraldlake2/hda_verb.c (renamed from src/mainboard/intel/baskingridge/hda_verb.h)8
-rw-r--r--src/mainboard/intel/emeraldlake2/mainboard.c9
-rw-r--r--src/mainboard/intel/wtm2/hda_verb.c (renamed from src/mainboard/intel/wtm2/hda_verb.h)8
-rw-r--r--src/mainboard/intel/wtm2/mainboard.c9
-rw-r--r--src/mainboard/iwave/iWRainbowG6/hda_verb.c (renamed from src/mainboard/iwave/iWRainbowG6/hda_verb.h)1
-rw-r--r--src/mainboard/iwave/iWRainbowG6/mainboard.c8
-rw-r--r--src/mainboard/kontron/986lcd-m/hda_verb.c7
-rw-r--r--src/mainboard/kontron/986lcd-m/mainboard.c9
-rw-r--r--src/mainboard/kontron/ktqm77/hda_verb.c (renamed from src/mainboard/kontron/ktqm77/hda_verb.h)8
-rw-r--r--src/mainboard/kontron/ktqm77/mainboard.c9
-rw-r--r--src/mainboard/lenovo/t520/hda_verb.c (renamed from src/mainboard/lenovo/t520/hda_verb.h)9
-rw-r--r--src/mainboard/lenovo/t520/mainboard.c12
-rw-r--r--src/mainboard/lenovo/t530/hda_verb.c (renamed from src/mainboard/lenovo/x230/hda_verb.h)9
-rw-r--r--src/mainboard/lenovo/t530/mainboard.c12
-rw-r--r--src/mainboard/lenovo/t60/hda_verb.c7
-rw-r--r--src/mainboard/lenovo/x200/hda_verb.c (renamed from src/mainboard/lenovo/x200/hda_verb.h)7
-rw-r--r--src/mainboard/lenovo/x200/mainboard.c11
-rw-r--r--src/mainboard/lenovo/x201/hda_verb.c (renamed from src/mainboard/lenovo/x201/hda_verb.h)8
-rw-r--r--src/mainboard/lenovo/x201/mainboard.c9
-rw-r--r--src/mainboard/lenovo/x220/hda_verb.c (renamed from src/mainboard/lenovo/x220/hda_verb.h)9
-rw-r--r--src/mainboard/lenovo/x220/mainboard.c12
-rw-r--r--src/mainboard/lenovo/x230/hda_verb.c (renamed from src/mainboard/lenovo/t530/hda_verb.h)9
-rw-r--r--src/mainboard/lenovo/x230/mainboard.c12
-rw-r--r--src/mainboard/lenovo/x60/hda_verb.c7
-rw-r--r--src/mainboard/msi/ms7260/mainboard.c8
-rw-r--r--src/mainboard/msi/ms9282/mainboard.c8
-rw-r--r--src/mainboard/msi/ms9652_fam10/mainboard.c9
-rw-r--r--src/mainboard/nvidia/l1_2pvv/hda_verb.c (renamed from src/mainboard/nvidia/l1_2pvv/hda_verb.h)1
-rw-r--r--src/mainboard/nvidia/l1_2pvv/mainboard.c8
-rw-r--r--src/mainboard/packardbell/ms2290/hda_verb.c (renamed from src/mainboard/packardbell/ms2290/hda_verb.h)8
-rw-r--r--src/mainboard/packardbell/ms2290/mainboard.c9
-rw-r--r--src/mainboard/roda/rk886ex/hda_verb.c7
-rw-r--r--src/mainboard/roda/rk9/hda_verb.c (renamed from src/mainboard/roda/rk9/hda_verb.h)7
-rw-r--r--src/mainboard/roda/rk9/mainboard.c11
-rw-r--r--src/mainboard/samsung/lumpy/hda_verb.c (renamed from src/mainboard/samsung/lumpy/hda_verb.h)9
-rw-r--r--src/mainboard/samsung/lumpy/mainboard.c11
-rw-r--r--src/mainboard/samsung/stumpy/hda_verb.c (renamed from src/mainboard/samsung/stumpy/hda_verb.h)9
-rw-r--r--src/mainboard/samsung/stumpy/mainboard.c11
-rw-r--r--src/southbridge/intel/bd82x6x/Makefile.inc2
-rw-r--r--src/southbridge/intel/bd82x6x/azalia.c6
-rw-r--r--src/southbridge/intel/i82801gx/Makefile.inc2
-rw-r--r--src/southbridge/intel/i82801gx/azalia.c4
-rw-r--r--src/southbridge/intel/i82801ix/Makefile.inc2
-rw-r--r--src/southbridge/intel/i82801ix/hdaudio.c6
-rw-r--r--src/southbridge/intel/ibexpeak/Makefile.inc2
-rw-r--r--src/southbridge/intel/ibexpeak/azalia.c6
-rw-r--r--src/southbridge/intel/lynxpoint/Makefile.inc2
-rw-r--r--src/southbridge/intel/lynxpoint/azalia.c8
87 files changed, 251 insertions, 456 deletions
diff --git a/src/device/Makefile.inc b/src/device/Makefile.inc
index 0b870952b3..a7f336489d 100644
--- a/src/device/Makefile.inc
+++ b/src/device/Makefile.inc
@@ -14,6 +14,10 @@ ramstage-$(CONFIG_PCI) += pci_ops.c
ramstage-$(CONFIG_PCI) += pci_early.c
ramstage-y += smbus_ops.c
+ifeq ($(CONFIG_AZALIA_PLUGIN_SUPPORT),y)
+ramstage-srcs += src/mainboard/$(MAINBOARDDIR)/hda_verb.c
+endif
+
romstage-y += device_romstage.c
romstage-$(CONFIG_PCI) += pci_early.c
diff --git a/src/device/azalia_device.c b/src/device/azalia_device.c
index cbc878d920..b250f3da7b 100644
--- a/src/device/azalia_device.c
+++ b/src/device/azalia_device.c
@@ -110,9 +110,6 @@ no_codec:
return 0;
}
-const u32 *cim_verb_data = NULL;
-u32 cim_verb_data_size = 0;
-
static u32 find_verb(struct device *dev, u32 viddid, const u32 ** verb)
{
printk(BIOS_DEBUG, "azalia_audio: dev=%s\n", dev_path(dev));
diff --git a/src/include/device/azalia_device.h b/src/include/device/azalia_device.h
index 4940cd238d..0f477a357a 100644
--- a/src/include/device/azalia_device.h
+++ b/src/include/device/azalia_device.h
@@ -20,15 +20,26 @@
#ifndef DEVICE_AZALIA_H
#define DEVICE_AZALIA_H
+#include <types.h>
+#include <string.h>
+#include <console/console.h>
+#include <arch/acpi.h>
+#include <arch/io.h>
+#include <arch/interrupt.h>
+#include <build.h>
+
#include <device/device.h>
void azalia_audio_init(struct device *dev);
extern struct device_operations default_azalia_audio_ops;
-extern const u32 *cim_verb_data;
-extern u32 cim_verb_data_size;
-extern const u32 *pc_beep_verbs;
-extern u32 pc_beep_verbs_size;
+extern const u32 cim_verb_data[];
+extern const u32 cim_verb_data_size;
+extern const u32 pc_beep_verbs[];
+extern const u32 pc_beep_verbs_size;
+
+#define AZALIA_ARRAY_SIZES const u32 pc_beep_verbs_size = ARRAY_SIZE(pc_beep_verbs); \
+ const u32 cim_verb_data_size = sizeof(cim_verb_data)
#define AZALIA_PIN_CFG(codec, pin, val) \
((codec) << 28) | ((pin) << 20) | ( 0x71c << 8) | ((val) & 0xff), \
diff --git a/src/mainboard/apple/macbook21/hda_verb.h b/src/mainboard/apple/macbook21/hda_verb.c
index 07fa6bc81e..1fe188e357 100644
--- a/src/mainboard/apple/macbook21/hda_verb.h
+++ b/src/mainboard/apple/macbook21/hda_verb.c
@@ -18,7 +18,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x83847680, /* Codec Vendor / Device ID: SigmaTel STAC9221 A1 */
0x106b2200, /* Subsystem ID */
@@ -58,3 +60,7 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0x0, 0x1B, 0x400000FB),
};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/apple/macbook21/mainboard.c b/src/mainboard/apple/macbook21/mainboard.c
index 846914cae2..99527c1e75 100644
--- a/src/mainboard/apple/macbook21/mainboard.c
+++ b/src/mainboard/apple/macbook21/mainboard.c
@@ -34,8 +34,6 @@
#include <arch/x86/include/arch/acpigen.h>
#include <smbios.h>
#include <drivers/intel/gma/int15.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
#define PANEL INT15_5F35_CL_DISPLAY_DEFAULT
int get_cst_entries(acpi_cstate_t **entries)
@@ -51,8 +49,6 @@ static void mainboard_init(device_t dev)
static void mainboard_enable(device_t dev)
{
dev->ops->init = mainboard_init;
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/asus/m2n-e/hda_verb.h b/src/mainboard/asus/m2n-e/hda_verb.c
index 9dd3d88ec9..2f8fe87941 100644
--- a/src/mainboard/asus/m2n-e/hda_verb.h
+++ b/src/mainboard/asus/m2n-e/hda_verb.c
@@ -24,7 +24,9 @@
* http://www.analog.com/static/imported-files/data_sheets/AD1988A_1988B.pdf
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x11d4198b, /* Codec Vendor / Device ID: Analog Devices AD1988B */
0x104381f6, /* Subsystem ID (0x1043 == ASUS) */
@@ -76,3 +78,4 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0x0, 0x25, 0x01012014),
};
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/asus/m2n-e/mainboard.c b/src/mainboard/asus/m2n-e/mainboard.c
index 51a44194d8..2c18100ea5 100644
--- a/src/mainboard/asus/m2n-e/mainboard.c
+++ b/src/mainboard/asus/m2n-e/mainboard.c
@@ -19,18 +19,10 @@
*/
#include <device/device.h>
-#include <device/azalia_device.h>
-#include "hda_verb.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 = {
diff --git a/src/mainboard/dmp/vortex86ex/hda_verb.h b/src/mainboard/dmp/vortex86ex/hda_verb.c
index 5402b621ef..79ee44ed15 100644
--- a/src/mainboard/dmp/vortex86ex/hda_verb.h
+++ b/src/mainboard/dmp/vortex86ex/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0262, // Codec Vendor / Device ID: Realtek ALC262
0x10714700, // Subsystem ID
@@ -60,3 +62,7 @@ static const u32 mainboard_cim_verb_data[] = {
/* Pin widget 0x1F - S/PDIF-IN */
AZALIA_PIN_CFG(0x0, 0x1f, 0x411111f0),
};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/dmp/vortex86ex/mainboard.c b/src/mainboard/dmp/vortex86ex/mainboard.c
index edf18c27a0..2761035231 100644
--- a/src/mainboard/dmp/vortex86ex/mainboard.c
+++ b/src/mainboard/dmp/vortex86ex/mainboard.c
@@ -23,18 +23,10 @@
#include <arch/io.h>
#include <boot/tables.h>
#include <device/pci_def.h>
-#include <device/azalia_device.h>
-#include "hda_verb.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 = {
diff --git a/src/mainboard/emulation/qemu-q35/hda_verb.c b/src/mainboard/emulation/qemu-q35/hda_verb.c
new file mode 100644
index 0000000000..072a306131
--- /dev/null
+++ b/src/mainboard/emulation/qemu-q35/hda_verb.c
@@ -0,0 +1,7 @@
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[0] = {};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/getac/p470/hda_verb.h b/src/mainboard/getac/p470/hda_verb.c
index 280d6f2604..2a753421bb 100644
--- a/src/mainboard/getac/p470/hda_verb.h
+++ b/src/mainboard/getac/p470/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0262, // Codec Vendor / Device ID: Realtek ALC262
0x10714700, // Subsystem ID
@@ -64,3 +66,7 @@ static const u32 mainboard_cim_verb_data[] = {
/* Pin Complex (NID 0x1F), S/PDIF-IN */
AZALIA_PIN_CFG(0x0, 0x1F, 0x411111F0),
};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/getac/p470/mainboard.c b/src/mainboard/getac/p470/mainboard.c
index ac235d3b1f..5dcdb39c5a 100644
--- a/src/mainboard/getac/p470/mainboard.c
+++ b/src/mainboard/getac/p470/mainboard.c
@@ -24,9 +24,7 @@
#include <device/pci_def.h>
#include <arch/io.h>
#include <delay.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
#include "ec_oem.c"
@@ -78,11 +76,6 @@ static void pcie_limit_power(void)
#endif
}
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
-}
static void mainboard_init(device_t dev)
{
@@ -95,7 +88,6 @@ static void mainboard_enable(device_t dev)
{
dev->ops->init = mainboard_init;
pcie_limit_power();
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/gigabyte/m57sli/mainboard.c b/src/mainboard/gigabyte/m57sli/mainboard.c
index 3fe4106288..291d4f7b20 100644
--- a/src/mainboard/gigabyte/m57sli/mainboard.c
+++ b/src/mainboard/gigabyte/m57sli/mainboard.c
@@ -24,18 +24,10 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
-// #include "hda_verb.h"
-static void verb_setup(void)
-{
- /* TODO: Add a correct hda_verb.h file for this board. */
- // 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 = {
diff --git a/src/mainboard/google/bolt/hda_verb.h b/src/mainboard/google/bolt/hda_verb.c
index 54f27f13ae..b81da64014 100644
--- a/src/mainboard/google/bolt/hda_verb.h
+++ b/src/mainboard/google/bolt/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0283, // Codec Vendor / Device ID: Realtek ALC283
0x10ec0283, // Subsystem ID
@@ -75,3 +77,7 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0x0, 0x21, 0x0321101f),
};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/google/bolt/mainboard.c b/src/mainboard/google/bolt/mainboard.c
index 961f58d18f..0ccf90da86 100644
--- a/src/mainboard/google/bolt/mainboard.c
+++ b/src/mainboard/google/bolt/mainboard.c
@@ -32,8 +32,6 @@
#include <arch/io.h>
#include <arch/interrupt.h>
#include <boot/coreboot_tables.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
#include <southbridge/intel/lynxpoint/pch.h>
#include "ec.h"
#include "onboard.h"
@@ -44,13 +42,7 @@ void mainboard_suspend_resume(void)
outb(0xcb, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
-}
static void mainboard_init(device_t dev)
{
@@ -100,7 +92,6 @@ static void mainboard_enable(device_t dev)
dev->ops->init = mainboard_init;
dev->ops->get_smbios_data = mainboard_smbios_data;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/google/butterfly/hda_verb.h b/src/mainboard/google/butterfly/hda_verb.c
index e06a1bea49..97ff2f6e19 100644
--- a/src/mainboard/google/butterfly/hda_verb.h
+++ b/src/mainboard/google/butterfly/hda_verb.c
@@ -24,7 +24,9 @@
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x111D76E5, // Codec Vendor / Device ID: IDT 92HD99
0x103C18F9, // Subsystem ID
@@ -223,9 +225,8 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x02177a00, /* Digital PCBEEP Gain: 0h=-9db, 1h=-6db ... 4h=+3db, 5h=+6db */
};
-static const u32 mainboard_pc_beep_verbs_size =
- ARRAY_SIZE(mainboard_pc_beep_verbs);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/google/butterfly/mainboard.c b/src/mainboard/google/butterfly/mainboard.c
index 909ba8c0aa..655fc2fc14 100644
--- a/src/mainboard/google/butterfly/mainboard.c
+++ b/src/mainboard/google/butterfly/mainboard.c
@@ -36,8 +36,6 @@
#include <smbios.h>
#include <device/pci.h>
#include <ec/quanta/ene_kb3940q/ec.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
#if CONFIG_CHROMEOS
#include <vendorcode/google/chromeos/fmap.h>
#else
@@ -194,16 +192,7 @@ void mainboard_suspend_resume(void)
outb(0xcb, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-
-}
static void mainboard_init(device_t dev)
{
@@ -294,7 +283,6 @@ static void mainboard_enable(device_t dev)
dev->ops->init = mainboard_init;
dev->ops->get_smbios_data = butterfly_onboard_smbios_data;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/google/falco/hda_verb.h b/src/mainboard/google/falco/hda_verb.c
index 5c37f510ea..5ea3c7bcca 100644
--- a/src/mainboard/google/falco/hda_verb.h
+++ b/src/mainboard/google/falco/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0283, // Codec Vendor / Device ID: Realtek ALC283
0x10ec0283, // Subsystem ID
@@ -87,7 +89,7 @@ static const u32 mainboard_cim_verb_data[] = {
0x0204081b,
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x00170500, /* power up everything (codec, dac, adc, mixers) */
0x01470740, /* enable speaker out */
0x01470c02, /* set speaker EAPD pin */
@@ -96,5 +98,4 @@ static const u32 mainboard_pc_beep_verbs[] = {
0x00b37410, /* unmute mixer nid 0xb beep input and set volume */
};
-static const u32 mainboard_pc_beep_verbs_size =
- sizeof(mainboard_pc_beep_verbs) / sizeof(mainboard_pc_beep_verbs[0]);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/google/falco/mainboard.c b/src/mainboard/google/falco/mainboard.c
index acb975042b..0ccf90da86 100644
--- a/src/mainboard/google/falco/mainboard.c
+++ b/src/mainboard/google/falco/mainboard.c
@@ -33,8 +33,6 @@
#include <arch/interrupt.h>
#include <boot/coreboot_tables.h>
#include <southbridge/intel/lynxpoint/pch.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
#include "ec.h"
#include "onboard.h"
@@ -44,16 +42,7 @@ void mainboard_suspend_resume(void)
outb(0xcb, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-
-}
static void mainboard_init(device_t dev)
{
@@ -103,7 +92,6 @@ static void mainboard_enable(device_t dev)
dev->ops->init = mainboard_init;
dev->ops->get_smbios_data = mainboard_smbios_data;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/google/link/hda_verb.h b/src/mainboard/google/link/hda_verb.c
index bb5ff106c5..87bcf30a98 100644
--- a/src/mainboard/google/link/hda_verb.h
+++ b/src/mainboard/google/link/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x11020011, // Codec Vendor / Device ID: Creative CA0132
0x144dc0c2, // Subsystem ID
@@ -126,7 +128,7 @@ static const u32 mainboard_cim_verb_data[] = {
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x00170500, /* power up codec */
0x00270500, /* power up DAC */
0x00b70500, /* power up speaker */
@@ -135,5 +137,4 @@ static const u32 mainboard_pc_beep_verbs[] = {
0x00b70c02, /* set EAPD pin */
0x0143b013, /* beep volume */
};
-static const u32 mainboard_pc_beep_verbs_size =
- ARRAY_SIZE(mainboard_pc_beep_verbs);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/google/link/mainboard.c b/src/mainboard/google/link/mainboard.c
index 9d86458912..ed40f8fa32 100644
--- a/src/mainboard/google/link/mainboard.c
+++ b/src/mainboard/google/link/mainboard.c
@@ -39,8 +39,6 @@
#include <smbios.h>
#include <device/pci.h>
#include <ec/google/chromeec/ec.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
/* placeholder for evenual link post. Not sure what we'll
* do but it will look nice
@@ -149,15 +147,7 @@ static int int15_handler(void)
}
#endif
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-}
static void mainboard_init(device_t dev)
{
@@ -222,7 +212,6 @@ static void mainboard_enable(device_t dev)
/* Install custom int15 handler for VGA OPROM */
mainboard_interrupt_handlers(0x15, &int15_handler);
#endif
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/google/panther/hda_verb.h b/src/mainboard/google/panther/hda_verb.c
index 47311e308d..7de91d9f21 100644
--- a/src/mainboard/google/panther/hda_verb.h
+++ b/src/mainboard/google/panther/hda_verb.c
@@ -22,7 +22,9 @@
#include <stdlib.h>
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0283, // Codec Vendor / Device ID: Realtek ALC283
0x10ec0283, // Subsystem ID
@@ -83,7 +85,7 @@ static const u32 mainboard_cim_verb_data[] = {
0x0204081b,
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x00170500, /* power up everything (codec, dac, adc, mixers) */
0x01470740, /* enable speaker out */
0x01470c02, /* set speaker EAPD pin */
@@ -92,7 +94,6 @@ static const u32 mainboard_pc_beep_verbs[] = {
0x00b37410, /* unmute mixer nid 0xb beep input and set volume */
};
-static const u32 mainboard_pc_beep_verbs_size =
- ARRAY_SIZE(mainboard_pc_beep_verbs);
#endif /* HDA_VERB_H */
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/google/panther/mainboard.c b/src/mainboard/google/panther/mainboard.c
index 60baf99c8d..5058eca145 100644
--- a/src/mainboard/google/panther/mainboard.c
+++ b/src/mainboard/google/panther/mainboard.c
@@ -32,9 +32,7 @@
#include <device/pci_ops.h>
#include <pc80/mc146818rtc.h>
#include <southbridge/intel/lynxpoint/pch.h>
-#include <device/azalia_device.h>
#include <drivers/intel/gma/int15.h>
-#include "hda_verb.h"
#include "onboard.h"
@@ -44,16 +42,7 @@ void mainboard_suspend_resume(void)
outb(0xcb, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-
-}
static void mainboard_init(device_t dev)
{
@@ -67,7 +56,6 @@ static void mainboard_enable(device_t dev)
{
dev->ops->init = mainboard_init;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/google/parrot/hda_verb.h b/src/mainboard/google/parrot/hda_verb.c
index dfa7a817a3..f79f69d8e3 100644
--- a/src/mainboard/google/parrot/hda_verb.h
+++ b/src/mainboard/google/parrot/hda_verb.c
@@ -32,7 +32,9 @@
* HDMI PatherPoint
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0269, // Codec Vendor / Device ID: Realtek ALC269
0x10250742, // Subsystem ID
@@ -131,7 +133,7 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x00170500, /* power up everything (codec, dac, adc, mixers) */
0x01470740, /* enable speaker out */
0x01470c02, /* set speaker EAPD pin */
@@ -140,5 +142,4 @@ static const u32 mainboard_pc_beep_verbs[] = {
0x00b37410, /* unmute mixer nid 0xb beep input and set volume */
};
-static const u32 mainboard_pc_beep_verbs_size =
- ARRAY_SIZE(mainboard_pc_beep_verbs);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/google/parrot/mainboard.c b/src/mainboard/google/parrot/mainboard.c
index 440596f730..547680e7e2 100644
--- a/src/mainboard/google/parrot/mainboard.c
+++ b/src/mainboard/google/parrot/mainboard.c
@@ -36,8 +36,6 @@
#include <smbios.h>
#include <device/pci.h>
#include <ec/compal/ene932/ec.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -48,16 +46,7 @@ void mainboard_suspend_resume(void)
outb(0xe1, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-
-}
static void mainboard_init(device_t dev)
{
@@ -101,7 +90,6 @@ static void mainboard_enable(device_t dev)
dev->ops->init = mainboard_init;
dev->ops->get_smbios_data = parrot_onboard_smbios_data;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/google/peppy/hda_verb.h b/src/mainboard/google/peppy/hda_verb.c
index 9203522443..a88d9f8890 100644
--- a/src/mainboard/google/peppy/hda_verb.h
+++ b/src/mainboard/google/peppy/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0283, // Codec Vendor / Device ID: Realtek ALC283
0x10ec0283, // Subsystem ID
@@ -91,7 +93,7 @@ static const u32 mainboard_cim_verb_data[] = {
0x0204081b,
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x00170500, /* power up everything (codec, dac, adc, mixers) */
0x01470740, /* enable speaker out */
0x01470c02, /* set speaker EAPD pin */
@@ -100,5 +102,4 @@ static const u32 mainboard_pc_beep_verbs[] = {
0x00b37410, /* unmute mixer nid 0xb beep input and set volume */
};
-static const u32 mainboard_pc_beep_verbs_size =
- sizeof(mainboard_pc_beep_verbs) / sizeof(mainboard_pc_beep_verbs[0]);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/google/peppy/mainboard.c b/src/mainboard/google/peppy/mainboard.c
index 3fbec40dc8..0ccf90da86 100644
--- a/src/mainboard/google/peppy/mainboard.c
+++ b/src/mainboard/google/peppy/mainboard.c
@@ -33,10 +33,8 @@
#include <arch/interrupt.h>
#include <boot/coreboot_tables.h>
#include <southbridge/intel/lynxpoint/pch.h>
-#include <device/azalia_device.h>
#include "ec.h"
#include "onboard.h"
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -44,16 +42,7 @@ void mainboard_suspend_resume(void)
outb(0xcb, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-
-}
static void mainboard_init(device_t dev)
{
@@ -103,7 +92,6 @@ static void mainboard_enable(device_t dev)
dev->ops->init = mainboard_init;
dev->ops->get_smbios_data = mainboard_smbios_data;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/google/samus/hda_verb.c b/src/mainboard/google/samus/hda_verb.c
new file mode 100644
index 0000000000..072a306131
--- /dev/null
+++ b/src/mainboard/google/samus/hda_verb.c
@@ -0,0 +1,7 @@
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[0] = {};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/google/slippy/hda_verb.h b/src/mainboard/google/slippy/hda_verb.c
index b1f1cb6bf9..68662c644f 100644
--- a/src/mainboard/google/slippy/hda_verb.h
+++ b/src/mainboard/google/slippy/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0283, // Codec Vendor / Device ID: Realtek ALC283
0x10ec0283, // Subsystem ID
@@ -82,7 +84,7 @@ static const u32 mainboard_cim_verb_data[] = {
0x0204081b,
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x00170500, /* power up everything (codec, dac, adc, mixers) */
0x01470740, /* enable speaker out */
0x01470c02, /* set speaker EAPD pin */
@@ -91,5 +93,4 @@ static const u32 mainboard_pc_beep_verbs[] = {
0x00b37410, /* unmute mixer nid 0xb beep input and set volume */
};
-static const u32 mainboard_pc_beep_verbs_size =
- sizeof(mainboard_pc_beep_verbs) / sizeof(mainboard_pc_beep_verbs[0]);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/google/slippy/mainboard.c b/src/mainboard/google/slippy/mainboard.c
index 4ccb5f9a71..0ccf90da86 100644
--- a/src/mainboard/google/slippy/mainboard.c
+++ b/src/mainboard/google/slippy/mainboard.c
@@ -35,8 +35,6 @@
#include <southbridge/intel/lynxpoint/pch.h>
#include "ec.h"
#include "onboard.h"
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -44,16 +42,7 @@ void mainboard_suspend_resume(void)
outb(0xcb, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-
-}
static void mainboard_init(device_t dev)
{
@@ -103,7 +92,6 @@ static void mainboard_enable(device_t dev)
dev->ops->init = mainboard_init;
dev->ops->get_smbios_data = mainboard_smbios_data;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/google/stout/hda_verb.h b/src/mainboard/google/stout/hda_verb.c
index 43dae91f85..3fcd4f5c65 100644
--- a/src/mainboard/google/stout/hda_verb.h
+++ b/src/mainboard/google/stout/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0269, // Codec Vendor / Device ID: Realtek
0x17aa21fe, // Subsystem ID
@@ -82,7 +84,7 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0x3, 0x07, 0x58560030)
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x00170500, /* power up everything (codec, dac, adc, mixers) */
0x01470740, /* enable speaker out */
0x01470c02, /* set speaker EAPD pin */
@@ -90,5 +92,4 @@ static const u32 mainboard_pc_beep_verbs[] = {
0x00c37100, /* unmute mixer nid 0xc input 1 */
0x00b37410, /* unmute mixer nid 0xb beep input and set volume */
};
-static const u32 mainboard_pc_beep_verbs_size =
- ARRAY_SIZE(mainboard_pc_beep_verbs);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/google/stout/mainboard.c b/src/mainboard/google/stout/mainboard.c
index 7562b5f622..9bcbfe4313 100644
--- a/src/mainboard/google/stout/mainboard.c
+++ b/src/mainboard/google/stout/mainboard.c
@@ -36,8 +36,6 @@
#include <smbios.h>
#include <device/pci.h>
#include <ec/quanta/it8518/ec.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -48,15 +46,7 @@ void mainboard_suspend_resume(void)
ec_write_cmd(EC_CMD_NOTIFY_ACPI_ENTER);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-}
static void mainboard_init(device_t dev)
{
@@ -84,7 +74,6 @@ static void mainboard_enable(device_t dev)
{
dev->ops->init = mainboard_init;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/ibase/mb899/hda_verb.c b/src/mainboard/ibase/mb899/hda_verb.c
new file mode 100644
index 0000000000..072a306131
--- /dev/null
+++ b/src/mainboard/ibase/mb899/hda_verb.c
@@ -0,0 +1,7 @@
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[0] = {};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/ibase/mb899/mainboard.c b/src/mainboard/ibase/mb899/mainboard.c
index 6c80b426cf..a2a10a17c1 100644
--- a/src/mainboard/ibase/mb899/mainboard.c
+++ b/src/mainboard/ibase/mb899/mainboard.c
@@ -24,17 +24,9 @@
#include <pc80/mc146818rtc.h>
#include <arch/io.h>
#include <arch/interrupt.h>
-#include <device/azalia_device.h>
#include "superio_hwm.h"
-/* Audio Setup */
-static void verb_setup(void)
-{
- // Default VERB is fine on this mainboard.
- cim_verb_data = NULL;
- cim_verb_data_size = 0;
-}
// mainboard_enable is executed as first thing after
// enumerate_buses().
@@ -42,7 +34,6 @@ static void verb_setup(void)
static void mainboard_enable(device_t dev)
{
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 3);
- verb_setup();
hwm_setup();
}
diff --git a/src/mainboard/intel/emeraldlake2/hda_verb.h b/src/mainboard/intel/baskingridge/hda_verb.c
index 2796e92682..96770de362 100644
--- a/src/mainboard/intel/emeraldlake2/hda_verb.h
+++ b/src/mainboard/intel/baskingridge/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10134210, // Codec Vendor / Device ID: Cirrus Logic CS4210
0x10134210, // Subsystem ID
@@ -63,3 +65,7 @@ static const u32 mainboard_cim_verb_data[] = {
/* Pin Complex (NID 0x07) Digital Out at Int HDMI */
AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)
};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/intel/baskingridge/mainboard.c b/src/mainboard/intel/baskingridge/mainboard.c
index b4982f8625..a6839fc343 100644
--- a/src/mainboard/intel/baskingridge/mainboard.c
+++ b/src/mainboard/intel/baskingridge/mainboard.c
@@ -32,8 +32,6 @@
#include <arch/interrupt.h>
#include <boot/coreboot_tables.h>
#include <southbridge/intel/lynxpoint/pch.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -41,13 +39,7 @@ void mainboard_suspend_resume(void)
outb(0xcb, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
-}
// mainboard_enable is executed as first thing after
// enumerate_buses().
@@ -55,7 +47,6 @@ static void verb_setup(void)
static void mainboard_enable(device_t dev)
{
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/intel/cougar_canyon2/hda_verb.h b/src/mainboard/intel/cougar_canyon2/hda_verb.c
index 381e338c45..c518b781bd 100644
--- a/src/mainboard/intel/cougar_canyon2/hda_verb.h
+++ b/src/mainboard/intel/cougar_canyon2/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x80862805, // Codec Vendor / Device ID: Intel CougarPoint HDMI
0x80860101, // Subsystem ID
@@ -35,3 +37,4 @@ static const u32 mainboard_cim_verb_data[] = {
/* Pin Complex (NID 0x07) Digital Out at Int HDMI */
AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)
};
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/intel/cougar_canyon2/mainboard.c b/src/mainboard/intel/cougar_canyon2/mainboard.c
index bb4806a8f3..0ea03d3cf3 100644
--- a/src/mainboard/intel/cougar_canyon2/mainboard.c
+++ b/src/mainboard/intel/cougar_canyon2/mainboard.c
@@ -32,8 +32,6 @@
#include <arch/interrupt.h>
#include <boot/coreboot_tables.h>
#include <southbridge/intel/fsp_bd82x6x/pch.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
#if IS_ENABLED(CONFIG_HAVE_ACPI_RESUME)
void mainboard_suspend_resume(void)
@@ -43,13 +41,7 @@ void mainboard_suspend_resume(void)
}
#endif
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
-}
// mainboard_enable is executed as first thing after
// enumerate_buses().
@@ -57,7 +49,6 @@ static void verb_setup(void)
static void mainboard_enable(device_t dev)
{
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/intel/d945gclf/hda_verb.c b/src/mainboard/intel/d945gclf/hda_verb.c
new file mode 100644
index 0000000000..072a306131
--- /dev/null
+++ b/src/mainboard/intel/d945gclf/hda_verb.c
@@ -0,0 +1,7 @@
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[0] = {};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/intel/baskingridge/hda_verb.h b/src/mainboard/intel/emeraldlake2/hda_verb.c
index 2796e92682..96770de362 100644
--- a/src/mainboard/intel/baskingridge/hda_verb.h
+++ b/src/mainboard/intel/emeraldlake2/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10134210, // Codec Vendor / Device ID: Cirrus Logic CS4210
0x10134210, // Subsystem ID
@@ -63,3 +65,7 @@ static const u32 mainboard_cim_verb_data[] = {
/* Pin Complex (NID 0x07) Digital Out at Int HDMI */
AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)
};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/intel/emeraldlake2/mainboard.c b/src/mainboard/intel/emeraldlake2/mainboard.c
index 3dc859415c..347ce8a910 100644
--- a/src/mainboard/intel/emeraldlake2/mainboard.c
+++ b/src/mainboard/intel/emeraldlake2/mainboard.c
@@ -32,8 +32,6 @@
#include <arch/interrupt.h>
#include <boot/coreboot_tables.h>
#include <southbridge/intel/bd82x6x/pch.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -41,13 +39,7 @@ void mainboard_suspend_resume(void)
outb(0xcb, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
-}
// mainboard_enable is executed as first thing after
// enumerate_buses().
@@ -55,7 +47,6 @@ static void verb_setup(void)
static void mainboard_enable(device_t dev)
{
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/intel/wtm2/hda_verb.h b/src/mainboard/intel/wtm2/hda_verb.c
index 48750356c0..c18e79b1af 100644
--- a/src/mainboard/intel/wtm2/hda_verb.h
+++ b/src/mainboard/intel/wtm2/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10134210, // Codec Vendor / Device ID: Cirrus Logic CS4210
0x10134210, // Subsystem ID
@@ -63,3 +65,7 @@ static const u32 mainboard_cim_verb_data[] = {
/* Pin Complex (NID 0x07) Digital Out at Int HDMI */
AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)
};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/intel/wtm2/mainboard.c b/src/mainboard/intel/wtm2/mainboard.c
index b4982f8625..a6839fc343 100644
--- a/src/mainboard/intel/wtm2/mainboard.c
+++ b/src/mainboard/intel/wtm2/mainboard.c
@@ -32,8 +32,6 @@
#include <arch/interrupt.h>
#include <boot/coreboot_tables.h>
#include <southbridge/intel/lynxpoint/pch.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -41,13 +39,7 @@ void mainboard_suspend_resume(void)
outb(0xcb, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
-}
// mainboard_enable is executed as first thing after
// enumerate_buses().
@@ -55,7 +47,6 @@ static void verb_setup(void)
static void mainboard_enable(device_t dev)
{
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/iwave/iWRainbowG6/hda_verb.h b/src/mainboard/iwave/iWRainbowG6/hda_verb.c
index 6799c12799..4cb2c9fcee 100644
--- a/src/mainboard/iwave/iWRainbowG6/hda_verb.h
+++ b/src/mainboard/iwave/iWRainbowG6/hda_verb.c
@@ -89,3 +89,4 @@ static u32 mainboard_cim_verb_data[] = {
/* BTL Gain */
0x017F417, /* Gain = 16.79dB */
};
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/iwave/iWRainbowG6/mainboard.c b/src/mainboard/iwave/iWRainbowG6/mainboard.c
index 0b84f6855b..dfc66363a0 100644
--- a/src/mainboard/iwave/iWRainbowG6/mainboard.c
+++ b/src/mainboard/iwave/iWRainbowG6/mainboard.c
@@ -20,18 +20,10 @@
#include <device/device.h>
#include <console/console.h>
-#include <device/azalia_device.h>
-#include "hda_verb.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 = {
diff --git a/src/mainboard/kontron/986lcd-m/hda_verb.c b/src/mainboard/kontron/986lcd-m/hda_verb.c
new file mode 100644
index 0000000000..072a306131
--- /dev/null
+++ b/src/mainboard/kontron/986lcd-m/hda_verb.c
@@ -0,0 +1,7 @@
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[0] = {};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/kontron/986lcd-m/mainboard.c b/src/mainboard/kontron/986lcd-m/mainboard.c
index 10bba69afd..afca796000 100644
--- a/src/mainboard/kontron/986lcd-m/mainboard.c
+++ b/src/mainboard/kontron/986lcd-m/mainboard.c
@@ -24,7 +24,6 @@
#include <pc80/mc146818rtc.h>
#include <arch/io.h>
#include <arch/interrupt.h>
-#include <device/azalia_device.h>
/* Hardware Monitor */
@@ -160,14 +159,7 @@ static void hwm_setup(void)
hwm_write(0x40, 0x01); // Init, but no SMI#
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- // Default VERB is fine on this mainboard.
- cim_verb_data = NULL;
- cim_verb_data_size = 0;
-}
// mainboard_enable is executed as first thing after
// enumerate_buses().
@@ -175,7 +167,6 @@ static void verb_setup(void)
static void mainboard_enable(device_t dev)
{
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 3);
- verb_setup();
hwm_setup();
}
diff --git a/src/mainboard/kontron/ktqm77/hda_verb.h b/src/mainboard/kontron/ktqm77/hda_verb.c
index ccec18c752..c957c25fe1 100644
--- a/src/mainboard/kontron/ktqm77/hda_verb.h
+++ b/src/mainboard/kontron/ktqm77/hda_verb.c
@@ -18,7 +18,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x11060397, // Codec Vendor / Device ID: Via VT1708S
0x11060000, // Subsystem ID
@@ -113,3 +115,7 @@ static const u32 mainboard_cim_verb_data[] = {
/* Pin Complex (NID 0x07) Digital Out at Int HDMI */
AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)
};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/kontron/ktqm77/mainboard.c b/src/mainboard/kontron/ktqm77/mainboard.c
index c09082aa5a..715ec5621c 100644
--- a/src/mainboard/kontron/ktqm77/mainboard.c
+++ b/src/mainboard/kontron/ktqm77/mainboard.c
@@ -34,8 +34,6 @@
#include <arch/interrupt.h>
#include <boot/coreboot_tables.h>
#include <southbridge/intel/bd82x6x/pch.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -169,13 +167,7 @@ static int int15_handler(void)
}
#endif
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
-}
// mainboard_enable is executed as first thing after
// enumerate_buses().
@@ -186,7 +178,6 @@ static void mainboard_enable(device_t dev)
/* Install custom int15 handler for VGA OPROM */
mainboard_interrupt_handlers(0x15, &int15_handler);
#endif
- verb_setup();
unsigned disable = 0;
if ((get_option(&disable, "ethernet1") == CB_SUCCESS) && disable) {
diff --git a/src/mainboard/lenovo/t520/hda_verb.h b/src/mainboard/lenovo/t520/hda_verb.c
index 19eac1bd67..dd776fc026 100644
--- a/src/mainboard/lenovo/t520/hda_verb.h
+++ b/src/mainboard/lenovo/t520/hda_verb.c
@@ -25,7 +25,9 @@
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x14f1506e, // Codec Vendor / Device ID: Conexant CX20590 - Schematic shows CX20672
0x17aa21cf, // Subsystem ID
@@ -181,9 +183,8 @@ static const u32 mainboard_cim_verb_data[] = {
0x00170500, /* Set power state to D0 */
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x02177a00, /* Digital PCBEEP Gain: 0h=-9db, 1h=-6db ... 4h=+3db, 5h=+6db */
};
-static const u32 mainboard_pc_beep_verbs_size =
- ARRAY_SIZE(mainboard_pc_beep_verbs);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/lenovo/t520/mainboard.c b/src/mainboard/lenovo/t520/mainboard.c
index afa0ecf2f7..387bbe0558 100644
--- a/src/mainboard/lenovo/t520/mainboard.c
+++ b/src/mainboard/lenovo/t520/mainboard.c
@@ -37,8 +37,6 @@
#include <cbfs.h>
#include <pc80/keyboard.h>
#include <ec/lenovo/h8/h8.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -46,16 +44,7 @@ void mainboard_suspend_resume(void)
outb(0xcb, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-
-}
static void mainboard_init(device_t dev)
{
@@ -80,7 +69,6 @@ static void mainboard_enable(device_t dev)
{
dev->ops->init = mainboard_init;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
void h8_mainboard_init_dock (void)
diff --git a/src/mainboard/lenovo/x230/hda_verb.h b/src/mainboard/lenovo/t530/hda_verb.c
index f04eae7e71..29f8a4522b 100644
--- a/src/mainboard/lenovo/x230/hda_verb.h
+++ b/src/mainboard/lenovo/t530/hda_verb.c
@@ -25,7 +25,9 @@
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0269, // Codec Vendor / Device ID: Realtek ALC269VC
0x17aa21fa, // Subsystem ID
@@ -243,9 +245,8 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x02177a00, /* Digital PCBEEP Gain: 0h=-9db, 1h=-6db ... 4h=+3db, 5h=+6db */
};
-static const u32 mainboard_pc_beep_verbs_size =
- ARRAY_SIZE(mainboard_pc_beep_verbs);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/lenovo/t530/mainboard.c b/src/mainboard/lenovo/t530/mainboard.c
index e21dc982f0..f8c9daee35 100644
--- a/src/mainboard/lenovo/t530/mainboard.c
+++ b/src/mainboard/lenovo/t530/mainboard.c
@@ -37,8 +37,6 @@
#include <cbfs.h>
#include <pc80/keyboard.h>
#include <ec/lenovo/h8/h8.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -46,16 +44,7 @@ void mainboard_suspend_resume(void)
outb(0xcb, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-
-}
static void mainboard_init(device_t dev)
{
@@ -85,7 +74,6 @@ static void mainboard_enable(device_t dev)
dev->ops->init = mainboard_init;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
void h8_mainboard_init_dock (void)
diff --git a/src/mainboard/lenovo/t60/hda_verb.c b/src/mainboard/lenovo/t60/hda_verb.c
new file mode 100644
index 0000000000..072a306131
--- /dev/null
+++ b/src/mainboard/lenovo/t60/hda_verb.c
@@ -0,0 +1,7 @@
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[0] = {};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/lenovo/x200/hda_verb.h b/src/mainboard/lenovo/x200/hda_verb.c
index 3d922589f8..c1cd5422ee 100644
--- a/src/mainboard/lenovo/x200/hda_verb.h
+++ b/src/mainboard/lenovo/x200/hda_verb.c
@@ -18,7 +18,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x14f15051, // Conexant CX20561 (Hermosa)
0x17aa20ff, // Subsystem ID
@@ -36,7 +38,7 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0, 0x1d, 0x90a601f0)
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x00170500, /* power up codec */
0x01470500, /* power up speakers */
0x01470100, /* select lout1 (input 0x0) for speakers */
@@ -46,3 +48,4 @@ static const u32 mainboard_pc_beep_verbs[] = {
0x00c3b015, /* set lout1 output volume -15dB */
0x0143b000, /* unmute speakers */
};
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/lenovo/x200/mainboard.c b/src/mainboard/lenovo/x200/mainboard.c
index 6c13eed84f..37bd152e27 100644
--- a/src/mainboard/lenovo/x200/mainboard.c
+++ b/src/mainboard/lenovo/x200/mainboard.c
@@ -32,23 +32,13 @@
#include <ec/lenovo/pmh7/pmh7.h>
#include <ec/acpi/ec.h>
#include <ec/lenovo/h8/h8.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
#if CONFIG_GENERATE_ACPI_TABLES
#include "cstates.c" /* Include it, as the linker won't find
the overloaded weak function in there. */
#endif
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = ARRAY_SIZE(mainboard_pc_beep_verbs);
-}
-
const char *smbios_mainboard_bios_version(void)
{
/* Satisfy thinkpad_acpi. */
@@ -68,7 +58,6 @@ static void mainboard_init(device_t dev)
static void mainboard_enable(device_t dev)
{
- verb_setup();
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 2);
dev->ops->init = mainboard_init;
diff --git a/src/mainboard/lenovo/x201/hda_verb.h b/src/mainboard/lenovo/x201/hda_verb.c
index 17069292af..22634f05ff 100644
--- a/src/mainboard/lenovo/x201/hda_verb.h
+++ b/src/mainboard/lenovo/x201/hda_verb.c
@@ -18,7 +18,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x14F15069, /* Codec Vendor / Device ID: Conexant CX20585 */
0x17AA2155, /* Subsystem ID */
@@ -73,3 +75,7 @@ static const u32 mainboard_cim_verb_data[] = {
/* NID 0x06. */
AZALIA_PIN_CFG(0x3, 0x06, 0x58560030),
};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/lenovo/x201/mainboard.c b/src/mainboard/lenovo/x201/mainboard.c
index fb8c1d5626..57ef86dd2a 100644
--- a/src/mainboard/lenovo/x201/mainboard.c
+++ b/src/mainboard/lenovo/x201/mainboard.c
@@ -35,11 +35,9 @@
#include <ec/lenovo/h8/h8.h>
#include <northbridge/intel/nehalem/nehalem.h>
#include <southbridge/intel/bd82x6x/pch.h>
-#include <device/azalia_device.h>
#include <pc80/mc146818rtc.h>
#include "dock.h"
-#include "hda_verb.h"
#include <arch/x86/include/arch/acpigen.h>
#include <drivers/intel/gma/int15.h>
#include <arch/interrupt.h>
@@ -71,13 +69,7 @@ const char *smbios_mainboard_bios_version(void)
return "CBET4000 " COREBOOT_VERSION;
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
-}
static void mainboard_init(device_t dev)
{
@@ -155,7 +147,6 @@ static void mainboard_enable(device_t dev)
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_LFP, 2);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/lenovo/x220/hda_verb.h b/src/mainboard/lenovo/x220/hda_verb.c
index ce980fc2a8..c3d1372da7 100644
--- a/src/mainboard/lenovo/x220/hda_verb.h
+++ b/src/mainboard/lenovo/x220/hda_verb.c
@@ -25,7 +25,9 @@
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x14f1506e, // Codec Vendor / Device ID: Conexant CX20590
0x17aa21db, // Subsystem ID
@@ -205,9 +207,8 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x02177a00, /* Digital PCBEEP Gain: 0h=-9db, 1h=-6db ... 4h=+3db, 5h=+6db */
};
-static const u32 mainboard_pc_beep_verbs_size =
- ARRAY_SIZE(mainboard_pc_beep_verbs);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/lenovo/x220/mainboard.c b/src/mainboard/lenovo/x220/mainboard.c
index ffc99bd4eb..87fedfe30a 100644
--- a/src/mainboard/lenovo/x220/mainboard.c
+++ b/src/mainboard/lenovo/x220/mainboard.c
@@ -38,8 +38,6 @@
#include <pc80/keyboard.h>
#include <ec/lenovo/h8/h8.h>
#include <build.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -56,16 +54,7 @@ const char *smbios_mainboard_bios_version(void)
return "CBET4000 " COREBOOT_VERSION;
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-
-}
static void mainboard_init(device_t dev)
{
@@ -95,7 +84,6 @@ static void mainboard_enable(device_t dev)
dev->ops->init = mainboard_init;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
void h8_mainboard_init_dock (void)
diff --git a/src/mainboard/lenovo/t530/hda_verb.h b/src/mainboard/lenovo/x230/hda_verb.c
index f04eae7e71..29f8a4522b 100644
--- a/src/mainboard/lenovo/t530/hda_verb.h
+++ b/src/mainboard/lenovo/x230/hda_verb.c
@@ -25,7 +25,9 @@
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0269, // Codec Vendor / Device ID: Realtek ALC269VC
0x17aa21fa, // Subsystem ID
@@ -243,9 +245,8 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x02177a00, /* Digital PCBEEP Gain: 0h=-9db, 1h=-6db ... 4h=+3db, 5h=+6db */
};
-static const u32 mainboard_pc_beep_verbs_size =
- ARRAY_SIZE(mainboard_pc_beep_verbs);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/lenovo/x230/mainboard.c b/src/mainboard/lenovo/x230/mainboard.c
index 5da7480492..7d9c4568e2 100644
--- a/src/mainboard/lenovo/x230/mainboard.c
+++ b/src/mainboard/lenovo/x230/mainboard.c
@@ -38,8 +38,6 @@
#include <pc80/keyboard.h>
#include <ec/lenovo/h8/h8.h>
#include <build.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -56,16 +54,7 @@ const char *smbios_mainboard_bios_version(void)
return "CBET4000 " COREBOOT_VERSION;
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-
-}
static void mainboard_init(device_t dev)
{
@@ -95,7 +84,6 @@ static void mainboard_enable(device_t dev)
dev->ops->init = mainboard_init;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
void h8_mainboard_init_dock (void)
diff --git a/src/mainboard/lenovo/x60/hda_verb.c b/src/mainboard/lenovo/x60/hda_verb.c
new file mode 100644
index 0000000000..072a306131
--- /dev/null
+++ b/src/mainboard/lenovo/x60/hda_verb.c
@@ -0,0 +1,7 @@
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[0] = {};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/msi/ms7260/mainboard.c b/src/mainboard/msi/ms7260/mainboard.c
index 226925fd83..492693adc1 100644
--- a/src/mainboard/msi/ms7260/mainboard.c
+++ b/src/mainboard/msi/ms7260/mainboard.c
@@ -19,20 +19,12 @@
*/
#include <device/device.h>
-#include <device/azalia_device.h>
#if 0
-#include "hda_verb.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();
}
#endif
diff --git a/src/mainboard/msi/ms9282/mainboard.c b/src/mainboard/msi/ms9282/mainboard.c
index 5d80b8aad8..c7e459a35d 100644
--- a/src/mainboard/msi/ms9282/mainboard.c
+++ b/src/mainboard/msi/ms9282/mainboard.c
@@ -24,18 +24,10 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
-// #include "hda_verb.h"
-static void verb_setup(void)
-{
- /* TODO: Add a correct hda_verb.h file for this board. */
- // 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 = {
diff --git a/src/mainboard/msi/ms9652_fam10/mainboard.c b/src/mainboard/msi/ms9652_fam10/mainboard.c
index 316a962de5..96760d6577 100644
--- a/src/mainboard/msi/ms9652_fam10/mainboard.c
+++ b/src/mainboard/msi/ms9652_fam10/mainboard.c
@@ -24,19 +24,10 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
-#include <device/azalia_device.h>
-// #include "hda_verb.h"
-static void verb_setup(void)
-{
- /* TODO: Add a correct hda_verb.h file for this board. */
- // 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 = {
diff --git a/src/mainboard/nvidia/l1_2pvv/hda_verb.h b/src/mainboard/nvidia/l1_2pvv/hda_verb.c
index ea3159e53d..780167af29 100644
--- a/src/mainboard/nvidia/l1_2pvv/hda_verb.h
+++ b/src/mainboard/nvidia/l1_2pvv/hda_verb.c
@@ -64,3 +64,4 @@ static u32 mainboard_cim_verb_data[] = {
/* NID 0x1f, S/PDIF-IN */
AZALIA_PIN_CFG(0x0, 0x1f, 0x01c59150),
};
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/nvidia/l1_2pvv/mainboard.c b/src/mainboard/nvidia/l1_2pvv/mainboard.c
index fb7317b3dd..291d4f7b20 100644
--- a/src/mainboard/nvidia/l1_2pvv/mainboard.c
+++ b/src/mainboard/nvidia/l1_2pvv/mainboard.c
@@ -24,18 +24,10 @@
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/pci_ops.h>
-#include <device/azalia_device.h>
-#include "hda_verb.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 = {
diff --git a/src/mainboard/packardbell/ms2290/hda_verb.h b/src/mainboard/packardbell/ms2290/hda_verb.c
index 3cc00dbe9c..4ec3b3601c 100644
--- a/src/mainboard/packardbell/ms2290/hda_verb.h
+++ b/src/mainboard/packardbell/ms2290/hda_verb.c
@@ -18,7 +18,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0272, /* Codec Vendor / Device ID: Realtek ALC272X */
0x10250379, /* Subsystem ID */
@@ -58,3 +60,7 @@ static const u32 mainboard_cim_verb_data[] = {
/* NID 0x06. */
AZALIA_PIN_CFG(0x3, 0x06, 0x58560030),
};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/packardbell/ms2290/mainboard.c b/src/mainboard/packardbell/ms2290/mainboard.c
index 5fff98d5c1..c14e9b7b3d 100644
--- a/src/mainboard/packardbell/ms2290/mainboard.c
+++ b/src/mainboard/packardbell/ms2290/mainboard.c
@@ -43,8 +43,6 @@
#include <cpu/x86/lapic.h>
#include <device/pci.h>
#include <smbios.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
static acpi_cstate_t cst_entries[] = {
{1, 1, 1000, {0x7f, 1, 2, {0}, 1, 0}},
@@ -58,13 +56,7 @@ int get_cst_entries(acpi_cstate_t ** entries)
return ARRAY_SIZE(cst_entries);
}
-/* Audio Setup */
-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)
{
@@ -137,7 +129,6 @@ static void mainboard_enable(device_t dev)
/* This sneaked in here, because EasyNote has no SuperIO chip.
*/
pc_keyboard_init();
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/roda/rk886ex/hda_verb.c b/src/mainboard/roda/rk886ex/hda_verb.c
new file mode 100644
index 0000000000..072a306131
--- /dev/null
+++ b/src/mainboard/roda/rk886ex/hda_verb.c
@@ -0,0 +1,7 @@
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[0] = {};
+
+const u32 pc_beep_verbs[0] = {};
+
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/roda/rk9/hda_verb.h b/src/mainboard/roda/rk9/hda_verb.c
index 64a3c8eec4..8960232089 100644
--- a/src/mainboard/roda/rk9/hda_verb.h
+++ b/src/mainboard/roda/rk9/hda_verb.c
@@ -18,7 +18,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10ec0262, // Codec Vendor / Device ID: Realtek ALC262
0x43528986, // Subsystem ID
@@ -52,7 +54,7 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0, 0x1f, 0x411111f0)
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x00170500, /* power up codec */
0x01470500, /* power up speakers */
0x01470100, /* select lout1 (input 0x0) for speakers */
@@ -62,3 +64,4 @@ static const u32 mainboard_pc_beep_verbs[] = {
0x00c3b015, /* set lout1 output volume -15dB */
0x0143b000, /* unmute speakers */
};
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/roda/rk9/mainboard.c b/src/mainboard/roda/rk9/mainboard.c
index 49db15f2e4..d5d02bf2e4 100644
--- a/src/mainboard/roda/rk9/mainboard.c
+++ b/src/mainboard/roda/rk9/mainboard.c
@@ -26,22 +26,12 @@
#include <drivers/intel/gma/int15.h>
#include <pc80/keyboard.h>
#include <ec/acpi/ec.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
#if CONFIG_GENERATE_ACPI_TABLES
#include "cstates.c" /* Include it, as the linker won't find
the overloaded weak function in there. */
#endif
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = ARRAY_SIZE(mainboard_pc_beep_verbs);
-}
-
static void ec_setup(void)
{
/* Thermal limits? Values are from ectool's ram dump. */
@@ -59,7 +49,6 @@ static void ec_setup(void)
static void mainboard_enable(device_t dev)
{
ec_setup();
- verb_setup();
/* LCD panel type is SIO GPIO40-43.
It's controlled by a DIP switch but was always
set to 4 while only values of 5 and 6 worked. */
diff --git a/src/mainboard/samsung/lumpy/hda_verb.h b/src/mainboard/samsung/lumpy/hda_verb.c
index 4806b75f5b..7ee254b10c 100644
--- a/src/mainboard/samsung/lumpy/hda_verb.h
+++ b/src/mainboard/samsung/lumpy/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10134210, // Codec Vendor / Device ID: Realtek ALC262
0x144db082, // Subsystem ID
@@ -49,12 +51,11 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0x0, 0x0a, 0x434510f0)
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x00170500, /* power up codec */
0x00270500, /* power up DAC */
0x00670500, /* power up speaker */
0x00670740, /* enable speaker output */
0x0023B04B, /* set DAC gain */
};
-static const u32 mainboard_pc_beep_verbs_size =
- ARRAY_SIZE(mainboard_pc_beep_verbs);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/samsung/lumpy/mainboard.c b/src/mainboard/samsung/lumpy/mainboard.c
index 803761c60a..3bdd4d9815 100644
--- a/src/mainboard/samsung/lumpy/mainboard.c
+++ b/src/mainboard/samsung/lumpy/mainboard.c
@@ -35,8 +35,6 @@
#include "onboard.h"
#include <southbridge/intel/bd82x6x/pch.h>
#include <smbios.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -48,15 +46,7 @@ void mainboard_suspend_resume(void)
send_ec_command(EC_ACPI_ENABLE);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-}
static void mainboard_init(device_t dev)
{
@@ -116,7 +106,6 @@ static void mainboard_enable(device_t dev)
dev->ops->init = mainboard_init;
dev->ops->get_smbios_data = lumpy_onboard_smbios_data;
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_INT_LVDS, GMA_INT15_PANEL_FIT_DEFAULT, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/mainboard/samsung/stumpy/hda_verb.h b/src/mainboard/samsung/stumpy/hda_verb.c
index 3992eeec04..1949aaa0f5 100644
--- a/src/mainboard/samsung/stumpy/hda_verb.h
+++ b/src/mainboard/samsung/stumpy/hda_verb.c
@@ -17,7 +17,9 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-static const u32 mainboard_cim_verb_data[] = {
+#include <device/azalia_device.h>
+
+const u32 cim_verb_data[] = {
/* coreboot specific header */
0x10134210, // Codec Vendor / Device ID: Cirrus Logic CS4210
0x10134210, // Subsystem ID
@@ -64,12 +66,11 @@ static const u32 mainboard_cim_verb_data[] = {
AZALIA_PIN_CFG(0x3, 0x07, 0x18560030)
};
-static const u32 mainboard_pc_beep_verbs[] = {
+const u32 pc_beep_verbs[] = {
0x00170500, /* power up codec */
0x00270500, /* power up DAC */
0x00670500, /* power up speaker */
0x00670740, /* enable speaker output */
0x0023B04B, /* set DAC gain */
};
-static const u32 mainboard_pc_beep_verbs_size =
- ARRAY_SIZE(mainboard_pc_beep_verbs);
+AZALIA_ARRAY_SIZES;
diff --git a/src/mainboard/samsung/stumpy/mainboard.c b/src/mainboard/samsung/stumpy/mainboard.c
index d61b808794..347ce8a910 100644
--- a/src/mainboard/samsung/stumpy/mainboard.c
+++ b/src/mainboard/samsung/stumpy/mainboard.c
@@ -32,8 +32,6 @@
#include <arch/interrupt.h>
#include <boot/coreboot_tables.h>
#include <southbridge/intel/bd82x6x/pch.h>
-#include <device/azalia_device.h>
-#include "hda_verb.h"
void mainboard_suspend_resume(void)
{
@@ -41,15 +39,7 @@ void mainboard_suspend_resume(void)
outb(0xcb, 0xb2);
}
-/* Audio Setup */
-static void verb_setup(void)
-{
- cim_verb_data = mainboard_cim_verb_data;
- cim_verb_data_size = sizeof(mainboard_cim_verb_data);
- pc_beep_verbs = mainboard_pc_beep_verbs;
- pc_beep_verbs_size = mainboard_pc_beep_verbs_size;
-}
// mainboard_enable is executed as first thing after
// enumerate_buses().
@@ -57,7 +47,6 @@ static void verb_setup(void)
static void mainboard_enable(device_t dev)
{
install_intel_vga_int15_handler(GMA_INT15_ACTIVE_LFP_EDP, GMA_INT15_PANEL_FIT_CENTERING, GMA_INT15_BOOT_DISPLAY_DEFAULT, 0);
- verb_setup();
}
struct chip_operations mainboard_ops = {
diff --git a/src/southbridge/intel/bd82x6x/Makefile.inc b/src/southbridge/intel/bd82x6x/Makefile.inc
index def9cd2aa2..b79b85a0a9 100644
--- a/src/southbridge/intel/bd82x6x/Makefile.inc
+++ b/src/southbridge/intel/bd82x6x/Makefile.inc
@@ -34,6 +34,8 @@ ramstage-y += me.c
ramstage-y += me_8.x.c
ramstage-y += smbus.c
+ramstage-srcs += src/mainboard/$(MAINBOARDDIR)/hda_verb.c
+
ramstage-y += me_status.c
ramstage-y += reset.c
ramstage-y += watchdog.c
diff --git a/src/southbridge/intel/bd82x6x/azalia.c b/src/southbridge/intel/bd82x6x/azalia.c
index fed6f745be..bef88abea4 100644
--- a/src/southbridge/intel/bd82x6x/azalia.c
+++ b/src/southbridge/intel/bd82x6x/azalia.c
@@ -26,6 +26,7 @@
#include <device/pci_ops.h>
#include <arch/io.h>
#include <delay.h>
+#include <device/azalia_device.h>
#include "pch.h"
#define HDA_ICII_REG 0x68
@@ -90,11 +91,6 @@ no_codec:
return 0;
}
-const u32 * cim_verb_data = NULL;
-u32 cim_verb_data_size = 0;
-const u32 * pc_beep_verbs = NULL;
-u32 pc_beep_verbs_size = 0;
-
static u32 find_verb(struct device *dev, u32 viddid, const u32 ** verb)
{
int idx=0;
diff --git a/src/southbridge/intel/i82801gx/Makefile.inc b/src/southbridge/intel/i82801gx/Makefile.inc
index 94c84ed23e..6e4d42e519 100644
--- a/src/southbridge/intel/i82801gx/Makefile.inc
+++ b/src/southbridge/intel/i82801gx/Makefile.inc
@@ -30,6 +30,8 @@ ramstage-y += smbus.c
ramstage-y += usb.c
ramstage-y += usb_ehci.c
+ramstage-srcs += src/mainboard/$(MAINBOARDDIR)/hda_verb.c
+
ramstage-y += reset.c
ramstage-y += watchdog.c
diff --git a/src/southbridge/intel/i82801gx/azalia.c b/src/southbridge/intel/i82801gx/azalia.c
index 59d812327c..f6628e7c95 100644
--- a/src/southbridge/intel/i82801gx/azalia.c
+++ b/src/southbridge/intel/i82801gx/azalia.c
@@ -25,6 +25,7 @@
#include <device/pci_ops.h>
#include <arch/io.h>
#include <delay.h>
+#include <device/azalia_device.h>
#include "i82801gx.h"
#define HDA_ICII_REG 0x68
@@ -90,9 +91,6 @@ no_codec:
return 0;
}
-const u32 * cim_verb_data = NULL;
-u32 cim_verb_data_size = 0;
-
static u32 find_verb(struct device *dev, u32 viddid, const u32 ** verb)
{
int idx=0;
diff --git a/src/southbridge/intel/i82801ix/Makefile.inc b/src/southbridge/intel/i82801ix/Makefile.inc
index 096533c992..4117263ee7 100644
--- a/src/southbridge/intel/i82801ix/Makefile.inc
+++ b/src/southbridge/intel/i82801ix/Makefile.inc
@@ -28,6 +28,8 @@ ramstage-y += hdaudio.c
ramstage-y += thermal.c
ramstage-y += smbus.c
+ramstage-srcs += src/mainboard/$(MAINBOARDDIR)/hda_verb.c
+
ramstage-y += ../i82801gx/reset.c
ramstage-y += ../i82801gx/watchdog.c
diff --git a/src/southbridge/intel/i82801ix/hdaudio.c b/src/southbridge/intel/i82801ix/hdaudio.c
index 407c0a795f..dd817b9b08 100644
--- a/src/southbridge/intel/i82801ix/hdaudio.c
+++ b/src/southbridge/intel/i82801ix/hdaudio.c
@@ -26,6 +26,7 @@
#include <device/pci_ops.h>
#include <arch/io.h>
#include <delay.h>
+#include <device/azalia_device.h>
#include "i82801ix.h"
#define HDA_ICII_REG 0x68
@@ -91,11 +92,6 @@ no_codec:
return 0;
}
-const u32 * cim_verb_data = NULL;
-u32 cim_verb_data_size = 0;
-const u32 * pc_beep_verbs = NULL;
-u32 pc_beep_verbs_size = 0;
-
static u32 find_verb(struct device *dev, u32 viddid, const u32 ** verb)
{
int idx=0;
diff --git a/src/southbridge/intel/ibexpeak/Makefile.inc b/src/southbridge/intel/ibexpeak/Makefile.inc
index da9f34a8c8..24cbe454a1 100644
--- a/src/southbridge/intel/ibexpeak/Makefile.inc
+++ b/src/southbridge/intel/ibexpeak/Makefile.inc
@@ -34,6 +34,8 @@ ramstage-y += ../bd82x6x/me_8.x.c
ramstage-y += smbus.c
ramstage-y += thermal.c
+ramstage-srcs += src/mainboard/$(MAINBOARDDIR)/hda_verb.c
+
ramstage-y += ../bd82x6x/me_status.c
ramstage-y += ../bd82x6x/reset.c
ramstage-y += ../bd82x6x/watchdog.c
diff --git a/src/southbridge/intel/ibexpeak/azalia.c b/src/southbridge/intel/ibexpeak/azalia.c
index 046d2b68e8..314a1b1d19 100644
--- a/src/southbridge/intel/ibexpeak/azalia.c
+++ b/src/southbridge/intel/ibexpeak/azalia.c
@@ -26,6 +26,7 @@
#include <device/pci_ops.h>
#include <arch/io.h>
#include <delay.h>
+#include <device/azalia_device.h>
#include "pch.h"
#define HDA_ICII_REG 0x68
@@ -88,11 +89,6 @@ no_codec:
return 0;
}
-const u32 * cim_verb_data = NULL;
-u32 cim_verb_data_size = 0;
-const u32 * pc_beep_verbs = NULL;
-u32 pc_beep_verbs_size = 0;
-
static u32 find_verb(struct device *dev, u32 viddid, const u32 ** verb)
{
int idx=0;
diff --git a/src/southbridge/intel/lynxpoint/Makefile.inc b/src/southbridge/intel/lynxpoint/Makefile.inc
index e504db09b7..3b7663ea04 100644
--- a/src/southbridge/intel/lynxpoint/Makefile.inc
+++ b/src/southbridge/intel/lynxpoint/Makefile.inc
@@ -35,6 +35,8 @@ ramstage-y += smbus.c
ramstage-y += hda_verb.c
ramstage-$(CONFIG_INTEL_LYNXPOINT_LP) += serialio.c
+ramstage-srcs += src/mainboard/$(MAINBOARDDIR)/hda_verb.c
+
ramstage-y += rcba.c
ramstage-y += me_status.c
ramstage-y += reset.c
diff --git a/src/southbridge/intel/lynxpoint/azalia.c b/src/southbridge/intel/lynxpoint/azalia.c
index 24c6702c3b..be056be493 100644
--- a/src/southbridge/intel/lynxpoint/azalia.c
+++ b/src/southbridge/intel/lynxpoint/azalia.c
@@ -26,14 +26,10 @@
#include <device/pci_ops.h>
#include <arch/io.h>
#include <delay.h>
+#include <device/azalia_device.h>
#include "pch.h"
#include "hda_verb.h"
-const u32 * cim_verb_data = NULL;
-u32 cim_verb_data_size = 0;
-const u32 * pc_beep_verbs = NULL;
-u32 pc_beep_verbs_size = 0;
-
static void codecs_init(u32 base, u32 codec_mask)
{
int i;
@@ -46,7 +42,7 @@ static void codecs_init(u32 base, u32 codec_mask)
cim_verb_data);
}
- if (pc_beep_verbs_size && pc_beep_verbs)
+ if (pc_beep_verbs_size)
hda_codec_write(base, pc_beep_verbs_size, pc_beep_verbs);
}