From 75c83870e51e6bc48a83114c64177432d3204b1f Mon Sep 17 00:00:00 2001 From: Vladimir Serbinenko Date: Fri, 5 Sep 2014 01:01:31 +0200 Subject: azalia: Shrink boilerplate Change-Id: Ib3e09644c0ee71aacb067adaa85653d151b52078 Signed-off-by: Vladimir Serbinenko Reviewed-on: http://review.coreboot.org/6840 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer Reviewed-by: Edward O'Callaghan --- src/mainboard/google/parrot/hda_verb.c | 145 ++++++++++++++++++++++++++++++++ src/mainboard/google/parrot/hda_verb.h | 144 ------------------------------- src/mainboard/google/parrot/mainboard.c | 12 --- 3 files changed, 145 insertions(+), 156 deletions(-) create mode 100644 src/mainboard/google/parrot/hda_verb.c delete mode 100644 src/mainboard/google/parrot/hda_verb.h (limited to 'src/mainboard/google/parrot') diff --git a/src/mainboard/google/parrot/hda_verb.c b/src/mainboard/google/parrot/hda_verb.c new file mode 100644 index 0000000000..f79f69d8e3 --- /dev/null +++ b/src/mainboard/google/parrot/hda_verb.c @@ -0,0 +1,145 @@ +/* + * This file is part of the coreboot project. + * + * Copyright (C) 2011 The ChromiumOS Authors. All rights reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +/* + * Parrot audio ports: + * ALC269: + * out: + * Internal Speaker: PORT D (0x14) + * Headphone: PORT A - (0x21) (SenseA) + * + * in: + * Mic2: PORT F (0x19) (SenseB) + * Line2 (internal Mic): PORT E (0x1B) + * PCBeep + * + * HDMI PatherPoint + */ + +#include + +const u32 cim_verb_data[] = { + /* coreboot specific header */ + 0x10ec0269, // Codec Vendor / Device ID: Realtek ALC269 + 0x10250742, // Subsystem ID + 0x0000000E, // Number of jacks (NID entries) + + + /* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x10250742 */ + AZALIA_SUBVENDOR(0x0, 0x10250742), + + /* Pin Widget Verb Table */ + + /* Pin Complex (NID 0x12) DMIC */ + AZALIA_PIN_CFG(0x0, 0x12, 0x411111f0), + + /* Pin Complex (NID 0x14) SPKR-OUT PORTD */ + // group 1, front left/right + // no connector, no jack detect + // speaker out, analog + // fixed function, internal + AZALIA_PIN_CFG(0x0, 0x14, 0x90170110), + + /* Pin Complex (NID 0x17) */ + AZALIA_PIN_CFG(0x0, 0x17, 0x411111f0), + + /* Pin Complex (NID 0x18) MIC1 PORTB */ + AZALIA_PIN_CFG(0x0, 0x18, 0x411111f0), + + /* Pin Complex (NID 0x19) MIC2 PORTF */ + // group 2, cap 1 + // black, jack detect + // mic in, analog + // connector, right panel + AZALIA_PIN_CFG(0x0, 0x19, 0x04a71021), + + /* Pin Complex (NID 0x1A) LINE1 PORTC */ + AZALIA_PIN_CFG(0x0, 0x1a, 0x411111f0), + + /* Pin Complex (NID 0x1B) LINE2 PORTE */ + // group 2, cap 0 + // no connector, no jack detect + // mic in, analog + // fixed function, internal + AZALIA_PIN_CFG(0x0, 0x1b, 0x90a70120), + + /* Pin Complex (NID 0x1d) PCBeep */ + // eapd low on ex-amp, laptop, custom enable + // mute spkr on hpout + // pcbeep en able, checksum + // no physical, internal + AZALIA_PIN_CFG(0x0, 0x1d, 0x4015812d), + + /* Pin Complex (NID 0x1E) SPDIF-OUT */ + AZALIA_PIN_CFG(0x0, 0x1e, 0x411111f0), + + /* Pin Complex (NID 0x21) HPOUT PORTA? */ + // group1, + // black, jack detect + // HPOut, 1/8 stereo + // connector, right panel + AZALIA_PIN_CFG(0x0, 0x21, 0x0421101f), + + /* Undocumented speaker output volume settings from Compal and Realtek */ + /* Widget node 0x20 */ + 0x02050011, + 0x02040710, + 0x02050012, + 0x02041901, + + 0x02050002, + 0x0204AAB8, + 0x0205000D, + 0x02044440, + + 0x02050008, + 0x02040300, + 0x02050017, + 0x020400AF, + + /* --- Next Codec --- */ + + /* coreboot specific header */ + 0x80862806, // Codec Vendor / Device ID: Intel PantherPoint HDMI + 0x80860101, // Subsystem ID + 0x00000004, // Number of jacks + + /* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x80860101 */ + AZALIA_SUBVENDOR(0x0, 0x80860101), + + /* Pin Complex (NID 0x05) Digital Out at Int HDMI */ + AZALIA_PIN_CFG(0x3, 0x05, 0x18560010), + + /* Pin Complex (NID 0x06) Digital Out at Int HDMI */ + AZALIA_PIN_CFG(0x3, 0x06, 0x18560020), + + /* Pin Complex (NID 0x07) Digital Out at Int HDMI */ + AZALIA_PIN_CFG(0x3, 0x07, 0x18560030) +}; + +const u32 pc_beep_verbs[] = { + 0x00170500, /* power up everything (codec, dac, adc, mixers) */ + 0x01470740, /* enable speaker out */ + 0x01470c02, /* set speaker EAPD pin */ + 0x0143b01f, /* unmute speaker */ + 0x00c37100, /* unmute mixer nid 0xc input 1 */ + 0x00b37410, /* unmute mixer nid 0xb beep input and set volume */ +}; + +AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/google/parrot/hda_verb.h b/src/mainboard/google/parrot/hda_verb.h deleted file mode 100644 index dfa7a817a3..0000000000 --- a/src/mainboard/google/parrot/hda_verb.h +++ /dev/null @@ -1,144 +0,0 @@ -/* - * This file is part of the coreboot project. - * - * Copyright (C) 2011 The ChromiumOS Authors. All rights reserved. - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -/* - * Parrot audio ports: - * ALC269: - * out: - * Internal Speaker: PORT D (0x14) - * Headphone: PORT A - (0x21) (SenseA) - * - * in: - * Mic2: PORT F (0x19) (SenseB) - * Line2 (internal Mic): PORT E (0x1B) - * PCBeep - * - * HDMI PatherPoint - */ - -static const u32 mainboard_cim_verb_data[] = { - /* coreboot specific header */ - 0x10ec0269, // Codec Vendor / Device ID: Realtek ALC269 - 0x10250742, // Subsystem ID - 0x0000000E, // Number of jacks (NID entries) - - - /* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x10250742 */ - AZALIA_SUBVENDOR(0x0, 0x10250742), - - /* Pin Widget Verb Table */ - - /* Pin Complex (NID 0x12) DMIC */ - AZALIA_PIN_CFG(0x0, 0x12, 0x411111f0), - - /* Pin Complex (NID 0x14) SPKR-OUT PORTD */ - // group 1, front left/right - // no connector, no jack detect - // speaker out, analog - // fixed function, internal - AZALIA_PIN_CFG(0x0, 0x14, 0x90170110), - - /* Pin Complex (NID 0x17) */ - AZALIA_PIN_CFG(0x0, 0x17, 0x411111f0), - - /* Pin Complex (NID 0x18) MIC1 PORTB */ - AZALIA_PIN_CFG(0x0, 0x18, 0x411111f0), - - /* Pin Complex (NID 0x19) MIC2 PORTF */ - // group 2, cap 1 - // black, jack detect - // mic in, analog - // connector, right panel - AZALIA_PIN_CFG(0x0, 0x19, 0x04a71021), - - /* Pin Complex (NID 0x1A) LINE1 PORTC */ - AZALIA_PIN_CFG(0x0, 0x1a, 0x411111f0), - - /* Pin Complex (NID 0x1B) LINE2 PORTE */ - // group 2, cap 0 - // no connector, no jack detect - // mic in, analog - // fixed function, internal - AZALIA_PIN_CFG(0x0, 0x1b, 0x90a70120), - - /* Pin Complex (NID 0x1d) PCBeep */ - // eapd low on ex-amp, laptop, custom enable - // mute spkr on hpout - // pcbeep en able, checksum - // no physical, internal - AZALIA_PIN_CFG(0x0, 0x1d, 0x4015812d), - - /* Pin Complex (NID 0x1E) SPDIF-OUT */ - AZALIA_PIN_CFG(0x0, 0x1e, 0x411111f0), - - /* Pin Complex (NID 0x21) HPOUT PORTA? */ - // group1, - // black, jack detect - // HPOut, 1/8 stereo - // connector, right panel - AZALIA_PIN_CFG(0x0, 0x21, 0x0421101f), - - /* Undocumented speaker output volume settings from Compal and Realtek */ - /* Widget node 0x20 */ - 0x02050011, - 0x02040710, - 0x02050012, - 0x02041901, - - 0x02050002, - 0x0204AAB8, - 0x0205000D, - 0x02044440, - - 0x02050008, - 0x02040300, - 0x02050017, - 0x020400AF, - - /* --- Next Codec --- */ - - /* coreboot specific header */ - 0x80862806, // Codec Vendor / Device ID: Intel PantherPoint HDMI - 0x80860101, // Subsystem ID - 0x00000004, // Number of jacks - - /* NID 0x01, HDA Codec Subsystem ID Verb Table: 0x80860101 */ - AZALIA_SUBVENDOR(0x0, 0x80860101), - - /* Pin Complex (NID 0x05) Digital Out at Int HDMI */ - AZALIA_PIN_CFG(0x3, 0x05, 0x18560010), - - /* Pin Complex (NID 0x06) Digital Out at Int HDMI */ - AZALIA_PIN_CFG(0x3, 0x06, 0x18560020), - - /* Pin Complex (NID 0x07) Digital Out at Int HDMI */ - AZALIA_PIN_CFG(0x3, 0x07, 0x18560030) -}; - -static const u32 mainboard_pc_beep_verbs[] = { - 0x00170500, /* power up everything (codec, dac, adc, mixers) */ - 0x01470740, /* enable speaker out */ - 0x01470c02, /* set speaker EAPD pin */ - 0x0143b01f, /* unmute speaker */ - 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); 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 #include #include -#include -#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 = { -- cgit v1.2.3