diff --git a/src/mainboard/asrock/b75m-itx/Kconfig b/src/mainboard/asrock/b75m-itx/Kconfig index 47634047a2..b882d6b8fc 100644 --- a/src/mainboard/asrock/b75m-itx/Kconfig +++ b/src/mainboard/asrock/b75m-itx/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_B75M_ITX config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/asrock/b75m-itx/hda_verb.c b/src/mainboard/asrock/b75m-itx/hda_verb.c index 37f763ed65..b06bb37a5b 100644 --- a/src/mainboard/asrock/b75m-itx/hda_verb.c +++ b/src/mainboard/asrock/b75m-itx/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0892, /* Codec Vendor / Device ID: Realtek */ - 0x18498892, /* Subsystem ID */ - 15, /* Number of 4 dword sets */ +static const u32 realtek_alc892_verbs[] = { AZALIA_SUBVENDOR(0, 0x18498892), AZALIA_PIN_CFG(0, 0x11, AZALIA_PIN_CFG_NC(0)), AZALIA_PIN_CFG(0, 0x12, AZALIA_PIN_CFG_NC(0)), @@ -21,10 +18,9 @@ const u32 cim_verb_data[] = { AZALIA_PIN_CFG(0, 0x1d, 0x4005e601), AZALIA_PIN_CFG(0, 0x1e, 0x01452130), AZALIA_PIN_CFG(0, 0x1f, AZALIA_PIN_CFG_NC(0)), +}; - 0x80862806, /* Codec Vendor / Device ID: Intel */ - 0x80860101, /* Subsystem ID */ - 4, /* Number of 4 dword sets */ +static const u32 intel_display_audio_verbs[] = { AZALIA_SUBVENDOR(3, 0x80860101), AZALIA_PIN_CFG(3, 0x05, 0x18560010), AZALIA_PIN_CFG(3, 0x06, 0x18560020), @@ -33,4 +29,24 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC892", + .vendor_id = 0x10ec0892, + .subsystem_id = 0x18498892, + .address = 0, + .verbs = realtek_alc892_verbs, + .verb_count = ARRAY_SIZE(realtek_alc892_verbs), + }, + { + .name = "Intel Display Audio (HDMI/DP)", + .vendor_id = 0x80862806, + .subsystem_id = 0x80860101, + .address = 3, + .verbs = intel_display_audio_verbs, + .verb_count = ARRAY_SIZE(intel_display_audio_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/b75pro3-m/Kconfig b/src/mainboard/asrock/b75pro3-m/Kconfig index f7231c14d9..17d737f196 100644 --- a/src/mainboard/asrock/b75pro3-m/Kconfig +++ b/src/mainboard/asrock/b75pro3-m/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_B75PRO3_M config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select DRIVERS_ASMEDIA_ASM1061 select HAVE_ACPI_RESUME diff --git a/src/mainboard/asrock/b75pro3-m/hda_verb.c b/src/mainboard/asrock/b75pro3-m/hda_verb.c index a3d894d6a1..d4250c185b 100644 --- a/src/mainboard/asrock/b75pro3-m/hda_verb.c +++ b/src/mainboard/asrock/b75pro3-m/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0892, /* Codec Vendor / Device ID: Realtek */ - 0x18498892, /* Subsystem ID */ - 15, /* Number of 4 dword sets */ +static const u32 realtek_alc892_verbs[] = { AZALIA_SUBVENDOR(0, 0x18498892), AZALIA_PIN_CFG(0, 0x11, AZALIA_PIN_CFG_NC(0)), AZALIA_PIN_CFG(0, 0x12, AZALIA_PIN_CFG_NC(0)), @@ -21,10 +18,9 @@ const u32 cim_verb_data[] = { AZALIA_PIN_CFG(0, 0x1d, 0x4005e601), AZALIA_PIN_CFG(0, 0x1e, 0x01452130), AZALIA_PIN_CFG(0, 0x1f, AZALIA_PIN_CFG_NC(0)), +}; - 0x80862806, /* Codec Vendor / Device ID: Intel */ - 0x80860101, /* Subsystem ID */ - 4, /* Number of 4 dword sets */ +static const u32 intel_display_audio_verbs[] = { AZALIA_SUBVENDOR(3, 0x80860101), AZALIA_PIN_CFG(3, 0x05, 0x18560010), AZALIA_PIN_CFG(3, 0x06, 0x18560020), @@ -33,4 +29,24 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC892", + .vendor_id = 0x10ec0892, + .subsystem_id = 0x18498892, + .address = 0, + .verbs = realtek_alc892_verbs, + .verb_count = ARRAY_SIZE(realtek_alc892_verbs), + }, + { + .name = "Intel Display Audio (HDMI/DP)", + .vendor_id = 0x80862806, + .subsystem_id = 0x80860101, + .address = 3, + .verbs = intel_display_audio_verbs, + .verb_count = ARRAY_SIZE(intel_display_audio_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/b85m_pro4/Kconfig b/src/mainboard/asrock/b85m_pro4/Kconfig index 883547fdd1..65da20d4e0 100644 --- a/src/mainboard/asrock/b85m_pro4/Kconfig +++ b/src/mainboard/asrock/b85m_pro4/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_B85M_PRO4 config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/asrock/b85m_pro4/hda_verb.c b/src/mainboard/asrock/b85m_pro4/hda_verb.c index 8b908c516c..39425d2e41 100644 --- a/src/mainboard/asrock/b85m_pro4/hda_verb.c +++ b/src/mainboard/asrock/b85m_pro4/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0892, /* Codec Vendor / Device ID: Realtek ALC892 */ - 0x1849c892, /* Subsystem ID */ - 11, /* Number of 4 dword sets */ +static const u32 realtek_alc892_verbs[] = { AZALIA_SUBVENDOR(0, 0x1849c892), AZALIA_PIN_CFG(0, 0x12, AZALIA_PIN_CFG_NC(0)), AZALIA_PIN_CFG(0, 0x14, 0x01014020), @@ -17,10 +14,9 @@ const u32 cim_verb_data[] = { AZALIA_PIN_CFG(0, 0x1d, 0x598301f0), AZALIA_PIN_CFG(0, 0x1e, AZALIA_PIN_CFG_NC(0)), AZALIA_PIN_CFG(0, 0x21, 0x0221102f), +}; - 0x10ec0887, /* Codec Vendor / Device ID: Realtek ALC887 */ - 0x1458a002, /* Subsystem ID */ - 15, /* Number of 4 dword sets */ +static const u32 realtek_alc887_verbs[] = { AZALIA_SUBVENDOR(2, 0x1458a002), AZALIA_PIN_CFG(2, 0x11, 0x411110f0), AZALIA_PIN_CFG(2, 0x12, AZALIA_PIN_CFG_NC(0)), @@ -36,10 +32,9 @@ const u32 cim_verb_data[] = { AZALIA_PIN_CFG(2, 0x1d, 0x4004c601), AZALIA_PIN_CFG(2, 0x1e, AZALIA_PIN_CFG_NC(0)), AZALIA_PIN_CFG(2, 0x1f, 0x41c46060), +}; - 0x80862806, /* Codec Vendor / Device ID: Intel Haswell HDMI */ - 0x80860101, /* Subsystem ID */ - 4, /* Number of 4 dword sets */ +static const u32 intel_display_audio_verbs[] = { AZALIA_SUBVENDOR(3, 0x80860101), AZALIA_PIN_CFG(3, 0x05, 0x58560010), AZALIA_PIN_CFG(3, 0x06, 0x18560020), @@ -48,4 +43,32 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC892", + .vendor_id = 0x10ec0892, + .subsystem_id = 0x1849c892, + .address = 0, + .verbs = realtek_alc892_verbs, + .verb_count = ARRAY_SIZE(realtek_alc892_verbs), + }, + { + .name = "Realtek ALC887", + .vendor_id = 0x10ec0887, + .subsystem_id = 0x1458a002, + .address = 2, + .verbs = realtek_alc887_verbs, + .verb_count = ARRAY_SIZE(realtek_alc887_verbs), + }, + { + .name = "Intel Display Audio (HDMI/DP)", + .vendor_id = 0x80862806, + .subsystem_id = 0x80860101, + .address = 3, + .verbs = intel_display_audio_verbs, + .verb_count = ARRAY_SIZE(intel_display_audio_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/fatal1ty_z87_professional/Kconfig b/src/mainboard/asrock/fatal1ty_z87_professional/Kconfig index 0081c11934..56bdad2d40 100644 --- a/src/mainboard/asrock/fatal1ty_z87_professional/Kconfig +++ b/src/mainboard/asrock/fatal1ty_z87_professional/Kconfig @@ -3,7 +3,6 @@ if BOARD_ASROCK_FATAL1TY_Z87_PROFESSIONAL config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select DRIVERS_ASMEDIA_ASM1061 select HAVE_ACPI_RESUME diff --git a/src/mainboard/asrock/fatal1ty_z87_professional/hda_verb.c b/src/mainboard/asrock/fatal1ty_z87_professional/hda_verb.c index 9c381e650d..9566ac3d07 100644 --- a/src/mainboard/asrock/fatal1ty_z87_professional/hda_verb.c +++ b/src/mainboard/asrock/fatal1ty_z87_professional/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x11020011, /* Codec Vendor / Device ID: Creative */ - 0x18491020, /* Subsystem ID */ - 11, /* Number of 4 dword sets */ +static const u32 creative_ca0132_verbs[] = { AZALIA_SUBVENDOR(0, 0x18491020), AZALIA_PIN_CFG(0, 0x0b, 0x01014010), AZALIA_PIN_CFG(0, 0x0c, 0x014580f0), @@ -17,9 +14,20 @@ const u32 cim_verb_data[] = { AZALIA_PIN_CFG(0, 0x12, 0x37a791f0), AZALIA_PIN_CFG(0, 0x13, 0x908700f0), AZALIA_PIN_CFG(0, 0x18, 0x500000f0), - }; const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Creative CA0132", + .vendor_id = 0x11020011, + .subsystem_id = 0x18491020, + .address = 0, + .verbs = creative_ca0132_verbs, + .verb_count = ARRAY_SIZE(creative_ca0132_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/g41c-gs/Kconfig b/src/mainboard/asrock/g41c-gs/Kconfig index 11f7d4f1a9..7ae84614a2 100644 --- a/src/mainboard/asrock/g41c-gs/Kconfig +++ b/src/mainboard/asrock/g41c-gs/Kconfig @@ -6,7 +6,6 @@ if BOARD_ASROCK_G41C_GS || BOARD_ASROCK_G41C_GS_R2_0 || \ config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select CPU_INTEL_SOCKET_LGA775 select NORTHBRIDGE_INTEL_X4X select SOUTHBRIDGE_INTEL_I82801GX diff --git a/src/mainboard/asrock/g41c-gs/hda_verb.c b/src/mainboard/asrock/g41c-gs/hda_verb.c index 134c34092f..467e9b3543 100644 --- a/src/mainboard/asrock/g41c-gs/hda_verb.c +++ b/src/mainboard/asrock/g41c-gs/hda_verb.c @@ -2,15 +2,7 @@ #include -const u32 cim_verb_data[] = { - /* coreboot specific header */ - /* Realtek ALC662 rev1 */ - 0x10ec0662, /* Vendor ID */ - 0x18493662, /* Subsystem ID */ - 10, /* Number of entries */ - - /* Pin Widget Verb Table */ - +static const u32 realtek_alc662_verbs_1[] = { AZALIA_PIN_CFG(0, 0x14, 0x01014010), AZALIA_PIN_CFG(0, 0x15, AZALIA_PIN_CFG_NC(0)), AZALIA_PIN_CFG(0, 0x16, AZALIA_PIN_CFG_NC(0)), @@ -21,24 +13,13 @@ const u32 cim_verb_data[] = { AZALIA_PIN_CFG(0, 0x1c, 0x593301f0), AZALIA_PIN_CFG(0, 0x1d, 0x4004c601), AZALIA_PIN_CFG(0, 0x1e, AZALIA_PIN_CFG_NC(0)), +}; - /* coreboot specific header */ - /* Intel Eaglelake HDMI */ - 0x80862803, /* Vendor ID */ - 0x80860101, /* Subsystem ID */ - 0x00000001, /* Number of entries */ - - /* Pin Widget Verb Table */ - +static const u32 intel_display_audio_verbs[] = { AZALIA_PIN_CFG(1, 0x03, 0x18560010), +}; - /* coreboot specific header */ - /* Realtek ALC662 rev1 */ - 0x10ec0662, /* Vendor ID */ - 0x1565821e, /* Subsystem ID */ - 10, /* Number of entries */ - - /* Pin Widget Verb Table */ +static const u32 realtek_alc662_verbs_2[] = { AZALIA_PIN_CFG(2, 0x14, 0x01014410), AZALIA_PIN_CFG(2, 0x15, AZALIA_PIN_CFG_NC(0)), AZALIA_PIN_CFG(2, 0x16, AZALIA_PIN_CFG_NC(0)), @@ -53,4 +34,32 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC662", + .vendor_id = 0x10ec0662, + .subsystem_id = 0x18493662, + .address = 0, + .verbs = realtek_alc662_verbs_1, + .verb_count = ARRAY_SIZE(realtek_alc662_verbs_1), + }, + { + .name = "Intel Display Audio (HDMI/DP)", + .vendor_id = 0x80862803, + .subsystem_id = 0x80860101, + .address = 1, + .verbs = intel_display_audio_verbs, + .verb_count = ARRAY_SIZE(intel_display_audio_verbs), + }, + { + .name = "Realtek ALC662", + .vendor_id = 0x10ec0662, + .subsystem_id = 0x1565821e, + .address = 2, + .verbs = realtek_alc662_verbs_2, + .verb_count = ARRAY_SIZE(realtek_alc662_verbs_2), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/h110m/Kconfig b/src/mainboard/asrock/h110m/Kconfig index 344831f03a..a470b6628d 100644 --- a/src/mainboard/asrock/h110m/Kconfig +++ b/src/mainboard/asrock/h110m/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_H110M_DVS config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/asrock/h110m/hda_verb.c b/src/mainboard/asrock/h110m/hda_verb.c index a19634e6f4..cf346a82d2 100644 --- a/src/mainboard/asrock/h110m/hda_verb.c +++ b/src/mainboard/asrock/h110m/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0887, /* Codec Vendor / Device ID: Realtek ALC887 */ - 0x10438445, /* Subsystem ID */ - 15, /* Number of 4 dword sets */ +static const u32 realtek_alc887_verbs[] = { AZALIA_SUBVENDOR(0, 0x10438445), AZALIA_PIN_CFG(0, 0x11, 0x40000000), AZALIA_PIN_CFG(0, 0x12, AZALIA_PIN_CFG_NC(0)), @@ -21,10 +18,9 @@ const u32 cim_verb_data[] = { AZALIA_PIN_CFG(0, 0x1d, 0x4026c629), AZALIA_PIN_CFG(0, 0x1e, AZALIA_PIN_CFG_NC(0)), AZALIA_PIN_CFG(0, 0x1f, AZALIA_PIN_CFG_NC(0)), +}; - 0x80862809, /* Codec Vendor / Device ID: Intel Skylake HDMI */ - 0x80860101, /* Subsystem ID */ - 4, /* Number of 4 dword sets */ +static const u32 intel_display_audio_verbs[] = { AZALIA_SUBVENDOR(2, 0x80860101), AZALIA_PIN_CFG(2, 0x05, 0x18560010), AZALIA_PIN_CFG(2, 0x06, 0x18560020), @@ -33,4 +29,25 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[] = { }; + +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC887", + .vendor_id = 0x10ec0887, + .subsystem_id = 0x10438445, + .address = 0, + .verbs = realtek_alc887_verbs, + .verb_count = ARRAY_SIZE(realtek_alc887_verbs), + }, + { + .name = "Intel Display Audio (HDMI/DP)", + .vendor_id = 0x80862809, + .subsystem_id = 0x80860101, + .address = 2, + .verbs = intel_display_audio_verbs, + .verb_count = ARRAY_SIZE(intel_display_audio_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/h77pro4-m/Kconfig b/src/mainboard/asrock/h77pro4-m/Kconfig index ab5d7b706a..a9918b5214 100644 --- a/src/mainboard/asrock/h77pro4-m/Kconfig +++ b/src/mainboard/asrock/h77pro4-m/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_H77PRO4_M config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select DRIVERS_ASMEDIA_ASM1061 select HAVE_ACPI_RESUME diff --git a/src/mainboard/asrock/h77pro4-m/hda_verb.c b/src/mainboard/asrock/h77pro4-m/hda_verb.c index 7fbb3310a8..912ff52cf3 100644 --- a/src/mainboard/asrock/h77pro4-m/hda_verb.c +++ b/src/mainboard/asrock/h77pro4-m/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0892, /* Codec Vendor / Device ID: Realtek ALC892 */ - 0x18498892, /* Subsystem ID */ - 15, /* Number of 4 dword sets */ +static const u32 realtek_alc892_verbs[] = { AZALIA_SUBVENDOR(0, 0x18498892), AZALIA_PIN_CFG(0, 0x11, AZALIA_PIN_CFG_NC(0)), AZALIA_PIN_CFG(0, 0x12, AZALIA_PIN_CFG_NC(0)), @@ -21,10 +18,9 @@ const u32 cim_verb_data[] = { AZALIA_PIN_CFG(0, 0x1d, 0x4005e601), AZALIA_PIN_CFG(0, 0x1e, 0x01452130), AZALIA_PIN_CFG(0, 0x1f, AZALIA_PIN_CFG_NC(0)), +}; - 0x80862806, /* Codec Vendor / Device ID: Intel */ - 0x80860101, /* Subsystem ID */ - 4, /* Number of 4 dword sets */ +static const u32 intel_display_audio_verbs[] = { AZALIA_SUBVENDOR(3, 0x80860101), AZALIA_PIN_CFG(3, 0x05, 0x18560010), AZALIA_PIN_CFG(3, 0x06, 0x58560020), @@ -33,4 +29,24 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC892", + .vendor_id = 0x10ec0892, + .subsystem_id = 0x18498892, + .address = 0, + .verbs = realtek_alc892_verbs, + .verb_count = ARRAY_SIZE(realtek_alc892_verbs), + }, + { + .name = "Intel Display Audio (HDMI/DP)", + .vendor_id = 0x80862806, + .subsystem_id = 0x80860101, + .address = 3, + .verbs = intel_display_audio_verbs, + .verb_count = ARRAY_SIZE(intel_display_audio_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/h81m-hds/Kconfig b/src/mainboard/asrock/h81m-hds/Kconfig index a3aff28514..4edd2bc387 100644 --- a/src/mainboard/asrock/h81m-hds/Kconfig +++ b/src/mainboard/asrock/h81m-hds/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_H81M_HDS config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_4096 select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/asrock/h81m-hds/hda_verb.c b/src/mainboard/asrock/h81m-hds/hda_verb.c index eea210d1d0..1a5620fd29 100644 --- a/src/mainboard/asrock/h81m-hds/hda_verb.c +++ b/src/mainboard/asrock/h81m-hds/hda_verb.c @@ -3,10 +3,7 @@ #include #include -const u32 cim_verb_data[] = { - 0x10ec0662, /* Realtek ALC662 rev1 */ - 0x18497662, /* Subsystem ID */ - 11, /* Number of entries */ +static const u32 realtek_alc662_verbs[] = { AZALIA_SUBVENDOR(1, 0x18497662), AZALIA_PIN_CFG(1, 0x14, 0x01014010), AZALIA_PIN_CFG(1, 0x15, 0x40000000), @@ -22,4 +19,16 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC662", + .vendor_id = 0x10ec0662, + .subsystem_id = 0x18497662, + .address = 1, + .verbs = realtek_alc662_verbs, + .verb_count = ARRAY_SIZE(realtek_alc662_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/imb-1222/Kconfig b/src/mainboard/asrock/imb-1222/Kconfig index dc40a3bc4a..93fe111acd 100644 --- a/src/mainboard/asrock/imb-1222/Kconfig +++ b/src/mainboard/asrock/imb-1222/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_IMB_1222 config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_32768 select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/asrock/imb-1222/hda_verb.c b/src/mainboard/asrock/imb-1222/hda_verb.c index c058d5e9ea..9997db894c 100644 --- a/src/mainboard/asrock/imb-1222/hda_verb.c +++ b/src/mainboard/asrock/imb-1222/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0887, /* Realtek ALC887-VD */ - 0x1849588a, /* Subsystem ID */ - 15, /* Number of 4 dword sets */ +static const u32 realtek_alc887_vd_verbs[] = { AZALIA_SUBVENDOR(0, 0x1849588a), AZALIA_PIN_CFG(0, 0x11, 0x40000000), AZALIA_PIN_CFG(0, 0x12, AZALIA_PIN_CFG_NC(0)), @@ -21,10 +18,9 @@ const u32 cim_verb_data[] = { AZALIA_PIN_CFG(0, 0x1d, 0x4024c601), AZALIA_PIN_CFG(0, 0x1e, 0x01451140), AZALIA_PIN_CFG(0, 0x1f, AZALIA_PIN_CFG_NC(0)), +}; - 0x8086280b, /* Intel Kabylake HDMI */ - 0x80860101, /* Subsystem ID */ - 4, /* Number of 4 dword sets */ +static const u32 intel_display_audio_verbs[] = { AZALIA_SUBVENDOR(2, 0x80860101), AZALIA_PIN_CFG(2, 0x05, 0x18560010), AZALIA_PIN_CFG(2, 0x06, 0x18560020), @@ -34,4 +30,24 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[] = { }; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC887-VD", + .vendor_id = 0x10ec0887, + .subsystem_id = 0x1849588a, + .address = 0, + .verbs = realtek_alc887_vd_verbs, + .verb_count = ARRAY_SIZE(realtek_alc887_vd_verbs), + }, + { + .name = "Intel Display Audio (HDMI/DP)", + .vendor_id = 0x8086280b, + .subsystem_id = 0x80860101, + .address = 2, + .verbs = intel_display_audio_verbs, + .verb_count = ARRAY_SIZE(intel_display_audio_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/z87_extreme3/Kconfig b/src/mainboard/asrock/z87_extreme3/Kconfig index 42d10ccd2e..0b03123a7d 100644 --- a/src/mainboard/asrock/z87_extreme3/Kconfig +++ b/src/mainboard/asrock/z87_extreme3/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_Z87_EXTREME3 config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/asrock/z87_extreme3/hda_verb.c b/src/mainboard/asrock/z87_extreme3/hda_verb.c index 8c07b9822b..550c58923d 100644 --- a/src/mainboard/asrock/z87_extreme3/hda_verb.c +++ b/src/mainboard/asrock/z87_extreme3/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0892, /* Codec Vendor / Device ID: Realtek */ - 0x1849c892, /* Subsystem ID */ - 15, /* Number of 4 dword sets */ +static const u32 realtek_alc892_verbs[] = { AZALIA_SUBVENDOR(0, 0x1849c892), AZALIA_PIN_CFG(0, 0x11, 0x411111f0), AZALIA_PIN_CFG(0, 0x12, 0x411111f0), @@ -25,4 +22,16 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC892", + .vendor_id = 0x10ec0892, + .subsystem_id = 0x1849c892, + .address = 0, + .verbs = realtek_alc892_verbs, + .verb_count = ARRAY_SIZE(realtek_alc892_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/z87_extreme4/Kconfig b/src/mainboard/asrock/z87_extreme4/Kconfig index 518ddc8b21..f2a2e7c723 100644 --- a/src/mainboard/asrock/z87_extreme4/Kconfig +++ b/src/mainboard/asrock/z87_extreme4/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_Z87_EXTREME4 config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select DRIVERS_ASMEDIA_ASM1061 select HAVE_ACPI_RESUME diff --git a/src/mainboard/asrock/z87_extreme4/hda_verb.c b/src/mainboard/asrock/z87_extreme4/hda_verb.c index ab7da869de..1399a3f3fb 100644 --- a/src/mainboard/asrock/z87_extreme4/hda_verb.c +++ b/src/mainboard/asrock/z87_extreme4/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0900, /* Codec Vendor / Device ID: Realtek */ - 0x18491151, /* Subsystem ID */ - 11, /* Number of 4 dword sets */ +static const u32 realtek_alc1150_verbs[] = { AZALIA_SUBVENDOR(0, 0x18491151), AZALIA_PIN_CFG(0, 0x11, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x01014010), @@ -21,4 +18,16 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC1150", + .vendor_id = 0x10ec0900, + .subsystem_id = 0x18491151, + .address = 0, + .verbs = realtek_alc1150_verbs, + .verb_count = ARRAY_SIZE(realtek_alc1150_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/z87_pro4/Kconfig b/src/mainboard/asrock/z87_pro4/Kconfig index f65674a2b7..dee318d726 100644 --- a/src/mainboard/asrock/z87_pro4/Kconfig +++ b/src/mainboard/asrock/z87_pro4/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_Z87_PRO4 config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/asrock/z87_pro4/hda_verb.c b/src/mainboard/asrock/z87_pro4/hda_verb.c index 038ad1f01f..2ac4972e4b 100644 --- a/src/mainboard/asrock/z87_pro4/hda_verb.c +++ b/src/mainboard/asrock/z87_pro4/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0892, /* Codec Vendor / Device ID: Realtek */ - 0x18498892, /* Subsystem ID */ - 15, /* Number of 4 dword sets */ +static const u32 realtek_alc892_verbs[] = { AZALIA_SUBVENDOR(0, 0x18498892), AZALIA_PIN_CFG(0, 0x11, 0x40000000), AZALIA_PIN_CFG(0, 0x12, 0x411111f0), @@ -25,4 +22,16 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC892", + .vendor_id = 0x10ec0892, + .subsystem_id = 0x18498892, + .address = 0, + .verbs = realtek_alc892_verbs, + .verb_count = ARRAY_SIZE(realtek_alc892_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/z87e-itx/Kconfig b/src/mainboard/asrock/z87e-itx/Kconfig index 3e1b308cf2..9eebc90e68 100644 --- a/src/mainboard/asrock/z87e-itx/Kconfig +++ b/src/mainboard/asrock/z87e-itx/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_Z87E_ITX config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select GFX_GMA_ANALOG_I2C_HDMI_B select HAVE_ACPI_RESUME diff --git a/src/mainboard/asrock/z87e-itx/hda_verb.c b/src/mainboard/asrock/z87e-itx/hda_verb.c index 7164c57149..ff58f69989 100644 --- a/src/mainboard/asrock/z87e-itx/hda_verb.c +++ b/src/mainboard/asrock/z87e-itx/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0900, /* Codec Vendor / Device ID: Realtek */ - 0x18491150, /* Subsystem ID */ - 11, /* Number of 4 dword sets */ +static const u32 realtek_alc1150_verbs[] = { AZALIA_SUBVENDOR(0, 0x18491150), AZALIA_PIN_CFG(0, 0x11, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x01014010), @@ -21,4 +18,16 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC1150", + .vendor_id = 0x10ec0900, + .subsystem_id = 0x18491150, + .address = 0, + .verbs = realtek_alc1150_verbs, + .verb_count = ARRAY_SIZE(realtek_alc1150_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/z87m_extreme4/Kconfig b/src/mainboard/asrock/z87m_extreme4/Kconfig index 8b172fb62b..e02ac39cf0 100644 --- a/src/mainboard/asrock/z87m_extreme4/Kconfig +++ b/src/mainboard/asrock/z87m_extreme4/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_Z87M_EXTREME4 config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/asrock/z87m_extreme4/hda_verb.c b/src/mainboard/asrock/z87m_extreme4/hda_verb.c index 912961cb09..b9d9e9d889 100644 --- a/src/mainboard/asrock/z87m_extreme4/hda_verb.c +++ b/src/mainboard/asrock/z87m_extreme4/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0900, /* Codec Vendor / Device ID: Realtek */ - 0x18491151, /* Subsystem ID */ - 11, /* Number of 4 dword sets */ +static const u32 realtek_alc1150_verbs[] = { AZALIA_SUBVENDOR(0, 0x18491151), AZALIA_PIN_CFG(0, 0x11, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x01014010), @@ -21,4 +18,16 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC1150", + .vendor_id = 0x10ec0900, + .subsystem_id = 0x18491151, + .address = 0, + .verbs = realtek_alc1150_verbs, + .verb_count = ARRAY_SIZE(realtek_alc1150_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/z87m_oc_formula/Kconfig b/src/mainboard/asrock/z87m_oc_formula/Kconfig index 05f1536c00..c05f2fd85a 100644 --- a/src/mainboard/asrock/z87m_oc_formula/Kconfig +++ b/src/mainboard/asrock/z87m_oc_formula/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_Z87M_OC_FORMULA config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES diff --git a/src/mainboard/asrock/z87m_oc_formula/hda_verb.c b/src/mainboard/asrock/z87m_oc_formula/hda_verb.c index ab7da869de..1399a3f3fb 100644 --- a/src/mainboard/asrock/z87m_oc_formula/hda_verb.c +++ b/src/mainboard/asrock/z87m_oc_formula/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0900, /* Codec Vendor / Device ID: Realtek */ - 0x18491151, /* Subsystem ID */ - 11, /* Number of 4 dword sets */ +static const u32 realtek_alc1150_verbs[] = { AZALIA_SUBVENDOR(0, 0x18491151), AZALIA_PIN_CFG(0, 0x11, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x01014010), @@ -21,4 +18,16 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC1150", + .vendor_id = 0x10ec0900, + .subsystem_id = 0x18491151, + .address = 0, + .verbs = realtek_alc1150_verbs, + .verb_count = ARRAY_SIZE(realtek_alc1150_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/z97_extreme6/Kconfig b/src/mainboard/asrock/z97_extreme6/Kconfig index 2a9162c81e..3cef429d04 100644 --- a/src/mainboard/asrock/z97_extreme6/Kconfig +++ b/src/mainboard/asrock/z97_extreme6/Kconfig @@ -4,7 +4,6 @@ if BOARD_ASROCK_Z97_EXTREME6 config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select GFX_GMA_ANALOG_I2C_HDMI_B select HAVE_ACPI_RESUME diff --git a/src/mainboard/asrock/z97_extreme6/hda_verb.c b/src/mainboard/asrock/z97_extreme6/hda_verb.c index db4364c4e3..1399a3f3fb 100644 --- a/src/mainboard/asrock/z97_extreme6/hda_verb.c +++ b/src/mainboard/asrock/z97_extreme6/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0900, /* Codec Vendor / Device ID: Realtek ALC1150 */ - 0x18491151, /* Subsystem ID */ - 11, /* Number of 4 dword sets */ +static const u32 realtek_alc1150_verbs[] = { AZALIA_SUBVENDOR(0, 0x18491151), AZALIA_PIN_CFG(0, 0x11, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x01014010), @@ -21,4 +18,16 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC1150", + .vendor_id = 0x10ec0900, + .subsystem_id = 0x18491151, + .address = 0, + .verbs = realtek_alc1150_verbs, + .verb_count = ARRAY_SIZE(realtek_alc1150_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/asrock/z97e-itx_ac/Kconfig b/src/mainboard/asrock/z97e-itx_ac/Kconfig index 7e20680253..810bfd0814 100644 --- a/src/mainboard/asrock/z97e-itx_ac/Kconfig +++ b/src/mainboard/asrock/z97e-itx_ac/Kconfig @@ -3,7 +3,6 @@ if BOARD_ASROCK_Z97E_ITX_AC config BOARD_SPECIFIC_OPTIONS def_bool y - select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 select GFX_GMA_ANALOG_I2C_HDMI_B select HAVE_ACPI_RESUME diff --git a/src/mainboard/asrock/z97e-itx_ac/hda_verb.c b/src/mainboard/asrock/z97e-itx_ac/hda_verb.c index 1eeed4cdf9..ff58f69989 100644 --- a/src/mainboard/asrock/z97e-itx_ac/hda_verb.c +++ b/src/mainboard/asrock/z97e-itx_ac/hda_verb.c @@ -2,10 +2,7 @@ #include -const u32 cim_verb_data[] = { - 0x10ec0900, /* Codec Vendor / Device ID: Realtek ALC1150 */ - 0x18491150, /* Subsystem ID */ - 11, /* Number of 4 dword sets */ +static const u32 realtek_alc1150_verbs[] = { AZALIA_SUBVENDOR(0, 0x18491150), AZALIA_PIN_CFG(0, 0x11, 0x40000000), AZALIA_PIN_CFG(0, 0x14, 0x01014010), @@ -21,4 +18,16 @@ const u32 cim_verb_data[] = { const u32 pc_beep_verbs[0] = {}; +struct azalia_codec mainboard_azalia_codecs[] = { + { + .name = "Realtek ALC1150", + .vendor_id = 0x10ec0900, + .subsystem_id = 0x18491150, + .address = 0, + .verbs = realtek_alc1150_verbs, + .verb_count = ARRAY_SIZE(realtek_alc1150_verbs), + }, + { /* terminator */ } +}; + AZALIA_ARRAY_SIZES;