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/roda/rk9/hda_verb.c | 67 ++++++++++++++++++++++++++++++++++++++ src/mainboard/roda/rk9/hda_verb.h | 64 ------------------------------------ src/mainboard/roda/rk9/mainboard.c | 11 ------- 3 files changed, 67 insertions(+), 75 deletions(-) create mode 100644 src/mainboard/roda/rk9/hda_verb.c delete mode 100644 src/mainboard/roda/rk9/hda_verb.h (limited to 'src/mainboard/roda/rk9') diff --git a/src/mainboard/roda/rk9/hda_verb.c b/src/mainboard/roda/rk9/hda_verb.c new file mode 100644 index 0000000000..8960232089 --- /dev/null +++ b/src/mainboard/roda/rk9/hda_verb.c @@ -0,0 +1,67 @@ +/* + * This file is part of the coreboot project. + * + * Copyright (C) 2007-2009 coresystems GmbH + * 2012 secunet Security Networks AG + * + * 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 + */ + +#include + +const u32 cim_verb_data[] = { + /* coreboot specific header */ + 0x10ec0262, // Codec Vendor / Device ID: Realtek ALC262 + 0x43528986, // Subsystem ID + 0x0000000c, // Number of entries + + /* Pin Widget Verb Table */ + + /* Pin Complex (NID 0x11), S/PDIF-OUT2: not connected */ + AZALIA_PIN_CFG(0, 0x11, 0x411111f0), + /* Pin Complex (NID 0x14), LINE_OUT (port D): Speakers */ + AZALIA_PIN_CFG(0, 0x14, 0x99130110), + /* Pin Complex (NID 0x15), HP_OUT (port A): Head phones */ + AZALIA_PIN_CFG(0, 0x15, 0x0121411f), + /* Pin Complex (NID 0x16), MONO-OUT: not connected */ + AZALIA_PIN_CFG(0, 0x16, 0x411111f0), + /* Pin Complex (NID 0x18), MIC1 (port B): Microphone */ + AZALIA_PIN_CFG(0, 0x18, 0x01a19920), + /* Pin Complex (NID 0x19), MIC2 (port F): not connected */ + AZALIA_PIN_CFG(0, 0x19, 0x411111f0), + /* Pin Complex (NID 0x1a), LINE1 (port C): Line-In */ + AZALIA_PIN_CFG(0, 0x1a, 0x01813121), + /* Pin Complex (NID 0x1b), LINE2 (port E): MDC */ + AZALIA_PIN_CFG(0, 0x1b, 0x9983012f), + /* Pin Complex (NID 0x1c), CD_IN */ + AZALIA_PIN_CFG(0, 0x1c, 0x593301f0), + /* Pin Complex (NID 0x1d), PCBEEP */ + AZALIA_PIN_CFG(0, 0x1d, 0x4014022d), + /* Pin Complex (NID 0x1e), S/PDIF-OUT: not connected */ + AZALIA_PIN_CFG(0, 0x1e, 0x411111f0), + /* Pin Complex (NID 0x1f), S/PDIF-IN: not connected */ + AZALIA_PIN_CFG(0, 0x1f, 0x411111f0) +}; + +const u32 pc_beep_verbs[] = { + 0x00170500, /* power up codec */ + 0x01470500, /* power up speakers */ + 0x01470100, /* select lout1 (input 0x0) for speakers */ + 0x01470740, /* enable speakers output */ + 0x00b37517, /* unmute beep (mixer's input 0x5), set amp 0dB */ + 0x00c37100, /* unmute mixer in lout1 (lout1 input 0x1) */ + 0x00c3b015, /* set lout1 output volume -15dB */ + 0x0143b000, /* unmute speakers */ +}; +AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/roda/rk9/hda_verb.h b/src/mainboard/roda/rk9/hda_verb.h deleted file mode 100644 index 64a3c8eec4..0000000000 --- a/src/mainboard/roda/rk9/hda_verb.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * This file is part of the coreboot project. - * - * Copyright (C) 2007-2009 coresystems GmbH - * 2012 secunet Security Networks AG - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; version 2 of the License. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -static const u32 mainboard_cim_verb_data[] = { - /* coreboot specific header */ - 0x10ec0262, // Codec Vendor / Device ID: Realtek ALC262 - 0x43528986, // Subsystem ID - 0x0000000c, // Number of entries - - /* Pin Widget Verb Table */ - - /* Pin Complex (NID 0x11), S/PDIF-OUT2: not connected */ - AZALIA_PIN_CFG(0, 0x11, 0x411111f0), - /* Pin Complex (NID 0x14), LINE_OUT (port D): Speakers */ - AZALIA_PIN_CFG(0, 0x14, 0x99130110), - /* Pin Complex (NID 0x15), HP_OUT (port A): Head phones */ - AZALIA_PIN_CFG(0, 0x15, 0x0121411f), - /* Pin Complex (NID 0x16), MONO-OUT: not connected */ - AZALIA_PIN_CFG(0, 0x16, 0x411111f0), - /* Pin Complex (NID 0x18), MIC1 (port B): Microphone */ - AZALIA_PIN_CFG(0, 0x18, 0x01a19920), - /* Pin Complex (NID 0x19), MIC2 (port F): not connected */ - AZALIA_PIN_CFG(0, 0x19, 0x411111f0), - /* Pin Complex (NID 0x1a), LINE1 (port C): Line-In */ - AZALIA_PIN_CFG(0, 0x1a, 0x01813121), - /* Pin Complex (NID 0x1b), LINE2 (port E): MDC */ - AZALIA_PIN_CFG(0, 0x1b, 0x9983012f), - /* Pin Complex (NID 0x1c), CD_IN */ - AZALIA_PIN_CFG(0, 0x1c, 0x593301f0), - /* Pin Complex (NID 0x1d), PCBEEP */ - AZALIA_PIN_CFG(0, 0x1d, 0x4014022d), - /* Pin Complex (NID 0x1e), S/PDIF-OUT: not connected */ - AZALIA_PIN_CFG(0, 0x1e, 0x411111f0), - /* Pin Complex (NID 0x1f), S/PDIF-IN: not connected */ - AZALIA_PIN_CFG(0, 0x1f, 0x411111f0) -}; - -static const u32 mainboard_pc_beep_verbs[] = { - 0x00170500, /* power up codec */ - 0x01470500, /* power up speakers */ - 0x01470100, /* select lout1 (input 0x0) for speakers */ - 0x01470740, /* enable speakers output */ - 0x00b37517, /* unmute beep (mixer's input 0x5), set amp 0dB */ - 0x00c37100, /* unmute mixer in lout1 (lout1 input 0x1) */ - 0x00c3b015, /* set lout1 output volume -15dB */ - 0x0143b000, /* unmute speakers */ -}; 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 #include #include -#include -#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. */ -- cgit v1.2.3